gun-eth 1.5.3 → 1.5.5
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/gun-eth.browser.mjs +1 -0
- package/dist/gun-eth.cjs +3467 -0
- package/dist/gun-eth.mjs +3454 -0
- package/dist/index-0399263c.browser.mjs +26599 -0
- package/dist/index-7a06fa4c.browser.mjs +26599 -0
- package/dist/util-9498b6fc.browser.mjs +2258 -0
- package/dist/util-9975059a.browser.mjs +2258 -0
- package/package.json +17 -7
- package/dist/537.gun-eth.esm.js +0 -1
- package/dist/537.gun-eth.min.js +0 -1
- package/dist/gun-eth.esm.js +0 -1
- package/dist/gun-eth.min.js +0 -1
package/dist/gun-eth.esm.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
var t,e,n,r,s,i,o,a,c={9229:(t,e,n)=>{t.exports=n(4827)},4827:(t,e,n)=>{t=n.nmd(t),function(){function e(t,r){return r?n(5736)(t):t.slice?e[s(t)]:function(n,r){t(n={exports:{}}),e[s(r)]=n.exports};function s(t){return t.split("/").slice(-1).toString().replace(".js","")}}var r=t;e((function(t){String.random=function(t,e){var n="";for(t=t||24,e=e||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";t-- >0;)n+=e.charAt(Math.floor(Math.random()*e.length));return n},String.match=function(t,e){var n,r;return"string"==typeof t&&("string"==typeof e&&(e={"=":e}),t===(n=(e=e||{})["="]||e["*"]||e[">"]||e["<"])||r===e["="]&&(n=e["*"]||e[">"],t.slice(0,(n||"").length)===n||r===e["*"]&&(r!==e[">"]&&r!==e["<"]?t>=e[">"]&&t<=e["<"]:r!==e[">"]&&t>=e[">"]||r!==e["<"]&&t<=e["<"])))},String.hash=function(t,e){if("string"==typeof t){if(e=e||0,!t.length)return e;for(var n=0,r=t.length;n<r;++n)e=(e<<5)-e+t.charCodeAt(n),e|=0;return e}};var e,n,r,s,i,o,a=Object.prototype.hasOwnProperty;Object.plain=function(t){return!!t&&(t instanceof Object&&t.constructor===Object||"Object"===Object.prototype.toString.call(t).match(/^\[object (\w+)\]$/)[1])},Object.empty=function(t,e){for(var n in t)if(a.call(t,n)&&(!e||-1==e.indexOf(n)))return!1;return!0},Object.keys=Object.keys||function(t){var e=[];for(var n in t)a.call(t,n)&&e.push(n);return e},n=setTimeout,r=0,s=0,i=typeof setImmediate!=""+e&&setImmediate||function(t,r){return typeof MessageChannel==""+e?n:((t=new MessageChannel).port1.onmessage=function(t){""==t.data&&r()},function(e){r=e,t.port2.postMessage("")})}(),o=n.check=n.check||typeof performance!=""+e&&performance||{now:function(){return+new Date}},n.hold=n.hold||9,n.poll=n.poll||function(t){n.hold>=o.now()-r&&s++<3333?t():i((function(){r=o.now(),t()}),s=0)},function(){var t,e=setTimeout,n=e.turn=e.turn||function(t){1==r.push(t)&&s(o)},r=n.s=[],s=e.poll,i=0,o=function(){(t=r[i++])&&t(),i!=r.length&&99!=i||(r=n.s=r.slice(i),i=0),r.length&&s(o)}}(),function(){var t,e=setTimeout,n=e.turn;(e.each=e.each||function(e,r,s,i){i=i||9,function o(a,c,u){if(c=(a=(e||[]).splice(0,i)).length){for(var l=0;l<c&&t===(u=r(a[l]));l++);if(t===u)return void n(o)}s&&s(u)}()})()}()}))(e,"./shim"),e((function(t){t.exports=function t(e,n,r){if(!e)return{to:t};var s="function"==typeof n;e=(this.tag||(this.tag={}))[e]||s&&(this.tag[e]={tag:e,to:t._={next:function(t){var e;(e=this.to)&&e.next(t)}}});if(s){var i={off:t.off||(t.off=function(){if(this.next===t._.next)return!0;this===this.the.last&&(this.the.last=this.back),this.to.back=this.back,this.next=t._.next,this.back.to=this.to,this.the.last===this.the&&delete this.on.tag[this.the.tag]}),to:t._,next:n,the:e,on:this,as:r};return(i.back=e.last||e).to=i,e.last=i}return(e=e.to)&&undefined!==n&&e.next(n),e}}))(e,"./onto"),e((function(t){t.exports=function(t){return null===t||"string"==typeof t||"boolean"==typeof t||"number"==typeof t&&t!=1/0&&t!=-1/0&&t==t||!!t&&"string"==typeof t["#"]&&1===Object.keys(t).length&&t["#"]}}))(e,"./valid"),e((function(t){function n(){var t=+new Date;return a<t?(i=0,a=t+n.drift):a=t+(i+=1)/o+n.drift}e("./shim"),n.drift=0;var r,s=-1/0,i=0,o=999,a=s;n.is=function(t,e,n){var r=e&&t&&t._&&t._[">"]||n;if(r)return"number"==typeof(r=r[e])?r:s},n.ify=function(t,e,n,s,i){(t=t||{})._=t._||{},i&&(t._["#"]=i);var o=t._[">"]||(t._[">"]={});return r!==e&&"_"!==e&&("number"==typeof n&&(o[e]=n),r!==s&&(t[e]=s)),t},t.exports=n}))(e,"./state"),e((function(t){e("./shim"),t.exports=function(t){var e={s:{}},n=e.s;t=t||{max:999,age:9e3},e.check=function(t){return!!n[t]&&r(t)};var r=e.track=function(s){var i=n[s]||(n[s]={});return i.was=e.now=+new Date,e.to||(e.to=setTimeout(e.drop,t.age+9)),r.ed&&r.ed(s),i};return e.drop=function(r){e.to=null,e.now=+new Date;var s=Object.keys(n);console.STAT&&console.STAT(e.now,+new Date-e.now,"dup drop keys"),setTimeout.each(s,(function(s){var i=n[s];i&&(r||t.age)>e.now-i.was||delete n[s]}),0,99)},e}}))(e,"./dup"),e((function(t){e("./onto"),t.exports=function(t,e){if(this.on){var r=(this.opt||{}).lack||9e3;if("function"!=typeof t){if(!t)return;var s=t["#"]||t,i=(this.tag||"")[s];if(!i)return;return e&&(i=this.on(s,e),clearTimeout(i.err),i.err=setTimeout((function(){i.off()}),r)),!0}s=e&&e["#"]||n(9);if(!t)return s;var o=this.on(s,t,e);return o.err=o.err||setTimeout((function(){o.off(),o.next({err:"Error: No ACK yet.",lack:!0})}),r),s}};var n=String.random||function(){return Math.random().toString(36).slice(2)}}))(e,"./ask"),e((function(t){function n(t){return t instanceof n?(this._={$:this}).$:this instanceof n?n.create(this._={$:this,opt:t}):new n(t)}n.is=function(t){return t instanceof n||t&&t._&&t===t._.$||!1},n.version=.202,n.chain=n.prototype,n.chain.toJSON=function(){},e("./shim"),n.valid=e("./valid"),n.state=e("./state"),n.on=e("./onto"),n.dup=e("./dup"),n.ask=e("./ask"),function(){function t(r){if(r)if(r.out!==t){var s,i=this.as,c=i.at||i,u=c.$,l=c.dup,h=r.DBG;if((s=r["#"])||(s=r["#"]=a(9)),!l.check(s)){if(l.track(s),s=r._,r._="function"==typeof s?s:function(){},r.$&&r.$===(r.$._||"").$||(r.$=u),r["@"]&&!r.put&&function(t){var e,n=t["@"]||"";if(!(e=n._)){var r=(r=t.$)&&(r=r._)&&(r=r.root)&&(r=r.dup);if(!(r=r.check(n)))return;return void(t["@"]=r["#"]||t["@"])}e.acks=(e.acks||0)+1,(e.err=t.err)&&(t["@"]=e["#"],o(e));e.ok=t.ok||e.ok,e.stop||e.crack||(e.crack=e.match&&e.match.push((function(){p(e)})));p(e)}(r),!c.ask(r["@"],r)){if(h&&(h.u=+new Date),r.put)return void e(r);r.get&&n.on.get(r,u)}h&&(h.uc=+new Date),this.to.next(r),h&&(h.ua=+new Date),r.nts||r.NTS||(r.out=t,c.on("out",r),h&&(h.ue=+new Date))}}else this.to.next(r)}function e(e){if(e){var n=e._||"",i=n.root=((n.$=e.$||"")._||"").root;if(e["@"]&&n.faith&&!n.miss)return e.out=t,void i.on("out",e);n.latch=i.hatch,n.match=i.hatch=[];var a=e.put,l=n.DBG=e.DBG,h=+new Date;if(d=d||h,!a["#"]||!a["."]){l&&(l.p=h),n["#"]=e["#"],n.msg=e,n.all=0,n.stun=1;var f=Object.keys(a);console.STAT&&console.STAT(h,((l||n).pk=+new Date)-h,"put sort");var p,m,w,b,v,E,k,x=0;!function t(i){if(p!=x){if(p=x,!(w=f[x]))return console.STAT&&console.STAT(h,((l||n).pd=+new Date)-h,"put"),void o(n);(b=a[w])?(k=b._)?w!==k["#"]?E=g+y(w)+"soul not same.":(v=k[">"])||(E=g+y(w)+"no state."):E=g+y(w)+"no meta.":E=g+y(w)+"no node.",m=Object.keys(b||{})}if(E)return e.err=n.err=E,void o(n);var d,R=0;for(i=i||0;i++<9&&(d=m[R++]);)if("_"!==d){var S=b[d],O=v[d];if(s===O){E=g+y(d)+"on"+y(w)+"no state.";break}if(!u(S)){E=g+y(d)+"on"+y(w)+"bad "+typeof S+y(S);break}r(S,d,w,O,e),++A}(m=m.slice(R)).length?c(t):(++x,m=null,t(i))}()}}}function r(t,e,n,s,i){var o,a=i._||"",c=a.root,u=c.graph,h=u[n]||f,p=l(h,e,1),d=h[e],g=a.DBG;(o=console.STAT)&&(u[n]&&d||(o.has=(o.has||0)+1));var y=b();if(s>y)return setTimeout((function(){r(t,e,n,s,i)}),(o=s-y)>w?w:o),void(console.STAT&&console.STAT((g||a).Hf=+new Date,o,"future"));if(!(s<p)&&(a.faith||s!==p||!(t===d||m(t)<=m(d))||a.miss)){a.stun++;var A=i["#"]+a.all++,v={toString:function(){return A},_:a};v.toJSON=v.toString,c.dup.track(v)["#"]=i["#"],g&&(g.ph=g.ph||+new Date),c.on("put",{"#":v,"@":i["@"],put:{"#":n,".":e,":":t,">":s},ok:i.ok,_:a})}}function i(t){var e;(e=(t._||"").DBG)&&(e.pa=+new Date,e.pm=e.pm||+new Date);var n,r=this.as,s=r.graph,i=t._,a=t.put,c=a["#"],u=a["."],l=a[":"],f=a[">"];t["#"];(n=i.msg)&&(n=n.put)&&(n=n[c])&&h(n,u,f,l,c),s[c]=h(s[c],u,f,l,c),(n=(r.next||"")[c])&&n.on("in",t),o(i),this.to.next(t)}function o(e,n){var r;if(!e.stop&&(e.err||!(0<--e.stun))&&(e.stop=1,r=e.root)){var s=e.match;s.end=1,s===r.hatch&&(!(s=e.latch)||s.end?delete r.hatch:r.hatch=s),e.hatch&&e.hatch(),setTimeout.each(e.match,(function(t){t&&t()})),!(n=e.msg)||e.err||n.err||(n.out=t,e.root.on("out",n),v())}}function p(t){t&&t.root&&(t.stun||t.acks!==t.all||t.root.on("in",{"@":t["#"],err:t.err,ok:t.err?s:t.ok||{"":1}}))}n.create=function(e){e.root=e.root||e,e.graph=e.graph||{},e.on=e.on||n.on,e.ask=e.ask||n.ask,e.dup=e.dup||n.dup();var r=e.$.opt(e.opt);return e.once||(e.on("in",t,e),e.on("out",t,e),e.on("put",i,e),n.on("create",e),e.on("create",e)),e.once=1,r},n.on.put=e;var d,g="Error: Invalid graph!",y=function(t){return" '"+(""+t).slice(0,9)+"...' "},m=JSON.stringify,w=2147483647,b=n.state,A=0,v=function(){A>999&&A/-(d-(d=+new Date))>1&&(n.window&&console.log("Warning: You're syncing 1K+ records a second, faster than DOM can update - consider limiting query."),v=function(){A=0})}}(),function(){function t(t,e){var n=+new Date,r=t._||{},i=r.DBG=t.DBG,o=t["#"],c=a(9),u=Object.keys(e||"").sort(),f=((e||"")._||"")["#"],p=(u.length,t.$._.root),d=e===p.graph[f];console.STAT&&console.STAT(n,((i||r).gk=+new Date)-n,"got keys"),e&&function t(){n=+new Date;for(var r,g,y,m=0,w={};m<9&&(r=u[m++]);)h(w,r,l(e,r),e[r],f);u=u.slice(m),(g={})[f]=w,w=g,d&&((y=function(){}).ram=y.faith=!0),g=u.length,console.STAT&&console.STAT(n,-(n-(n=+new Date)),"got copied some"),i&&(i.ga=+new Date),p.on("in",{"@":o,"#":c,put:w,"%":g?c=a(9):s,$:p.$,_:y,DBG:i,FOO:1}),console.STAT&&console.STAT(n,+new Date-n,"got in"),g&&setTimeout.turn(t)}(),e||p.on("in",{"@":t["#"]})}n.on.get=function(e,n){var r=n._,i=e.get,o=i["#"],a=r.graph[o],c=i["."],u=(r.next||(r.next={}))[o],f=(e._||{}).DBG=e.DBG;if(f&&(f.g=+new Date),!a)return r.on("get",e);if(c){if(("string"!=typeof c||s===a[c])&&!((u||"").next||"")[c])return void r.on("get",e);a=h({},c,l(a,c),a[c],o)}a&&t(e,a),r.on("get",e)},n.on.get.ack=t}(),n.chain.opt=function(t){t=t||{};var e=this._,r=t.peers||t;return Object.plain(t)||(t={}),Object.plain(e.opt)||(e.opt=t),"string"==typeof r&&(r=[r]),Object.plain(e.opt.peers)||(e.opt.peers={}),r instanceof Array&&(t.peers={},r.forEach((function(n){var r={};r.id=r.url=n,t.peers[n]=e.opt.peers[n]=e.opt.peers[n]||r}))),o(t,(function t(e){var n=this[e];this&&this.hasOwnProperty(e)||"string"==typeof n||Object.empty(n)?this[e]=n:(!n||n.constructor===Object||n instanceof Array)&&o(n,t)})),e.opt.from=t,n.on("opt",e),e.opt.uuid=e.opt.uuid||function(t){return n.state().toString(36).replace(".","")+String.random(t||12)},this};var s,i,o=function(t,e){Object.keys(t).forEach(e,t)},a=String.random,c=setTimeout.turn,u=n.valid,l=n.state.is,h=n.state.ify,f={};n.log=function(){return!n.log.off&&i.log.apply(i,arguments),[].slice.call(arguments).join(" ")},n.log.once=function(t,e,r){return(r=n.log.once)[t]=r[t]||0,r[t]++||n.log(e)},"undefined"!=typeof window&&((window.GUN=window.Gun=n).window=window);try{void 0!==r&&(r.exports=n)}catch(t){}t.exports=n,(n.window||{}).console=(n.window||{}).console||{log:function(){}},(i=console).only=function(t,e){return i.only.i&&t===i.only.i&&i.only.i++&&(i.log.apply(i,arguments)||e)},n.log.once("welcome","Hello wonderful person! :) Thanks for using GUN, please ask for help on http://chat.gun.eco if anything takes you longer than 5min to figure out!")}))(e,"./root"),e((function(t){e("./root").chain.back=function(t,e){if(-1===(t=t||1)||1/0===t)return this._.root.$;if(1===t)return(this._.back||this._).$;var s=this._;if("string"==typeof t&&(t=t.split(".")),t instanceof Array){for(var i=0,o=t.length,a=s;i<o;i++)a=(a||r)[t[i]];return n!==a?e?this:a:(a=s.back)?a.$.back(t,e):void 0}if("function"==typeof t){var c;for(a={back:s};(a=a.back)&&n===(c=t(a,e)););return c}return"number"==typeof t?(s.back||s).$.back(t-1):this};var n,r={}}))(e,"./back"),e((function(t){var n=e("./root");function r(t,e){if(e=e||this.as||t.$._,(!t.$$||this===n.on)&&t.put&&!e.soul){var r=t.put||"",s=r["="]||r[":"],i=e.root,o=i.$.get(r["#"]).get(r["."])._;if("string"==typeof(s=u(s))){if(!(o.echo||(o.echo={}))[e.id]||(i.pass||"")[e.id]){if(a=i.pass){if(a[s+e.id])return;a[s+e.id]=1}(o.echo||(o.echo={}))[e.id]=e,e.has&&(e.link=s);var a,c=i.$.get(o.link=s)._;(c.echo||(c.echo={}))[o.id]=o,((a=e.ask||"")[""]||e.lex)&&c.on("out",{get:{"#":s}}),setTimeout.each(Object.keys(a),(function(t,e){t&&(e=a[t])&&e.on("out",{get:{"#":s,".":t}})}),0,99)}}else this===n.on&&((o.echo||(o.echo={}))[e.id]=e)}}function s(t,e){var n,r,i=t.put||"",a=o!==i["="]?i["="]:i[":"],c=e.root;if(o===a){if(e.soul&&o!==e.put)return;if(r=(t.$$||t.$||"")._||"",t["@"]&&(o!==r.put||o!==e.put))return;return(n=e.link||t.linked)&&delete(c.$.get(n)._.echo||"")[e.id],e.has&&(e.link=null),e.put=o,void setTimeout.each(Object.keys(e.next||""),(function(t,r){(r=e.next[t])&&(n&&delete(c.$.get(n).get(t)._.echo||"")[r.id],r.on("in",{get:t,put:o,$:r.$}))}),0,99)}e.soul||t.$$||(n=u(a),r=t.$._||"",(n!==r.link&&(!e.has||r.link)||(c.pass||"")[e.id]&&"string"!=typeof n)&&(delete(r.echo||"")[e.id],s({get:e.get,put:o,$:t.$,linked:t.linked=t.linked||r.link},e)))}function i(t,e){var r=this.as,s=r.$._,i=(s.root,r.get||""),a=(t.put||"")[i["#"]]||"";if(!t.put||"string"==typeof i["."]&&o===a[i["."]]){if(o!==s.put)return;if(!s.soul&&!s.has)return;return s.ack=(s.ack||0)+1,void s.on("in",{get:s.get,put:s.put=o,$:s.$,"@":t["@"]})}(t._||{}).miss=1,n.on.put(t)}n.chain.chain=function(t){var e,r=this,s=r._,i=new(t||r).constructor(r),o=i._;return o.root=e=s.root,o.id=++e.once,o.back=r._,o.on=n.on,o.on("in",n.on.in,o),o.on("out",n.on.out,o),i},n.on.out=function(t){var e,n,r=this.as,s=r.back,a=r.root;if(t.$||(t.$=r.$),this.to.next(t),!r.err){if(e=t.get){if(a.pass&&(a.pass[r.id]=r),r.lex&&Object.keys(r.lex).forEach((function(t){n[t]=r.lex[t]}),n=t.get=t.get||{}),e["#"]||r.soul){if(e["#"]=e["#"]||r.soul,t["#"]||(t["#"]=c(9)),s=a.$.get(e["#"])._,e=e["."]){if(l(s.put,e)&&(n=s.ask&&s.ask[e],(s.ask||(s.ask={}))[e]=s.$.get(e)._,s.on("in",{get:e,put:{"#":s.soul,".":e,":":s.put[e],">":f(a.graph[s.soul],e)}}),n))return}else{if(n=s.ask&&s.ask[""],(s.ask||(s.ask={}))[""]=s,o!==s.put&&(s.on("in",s),n))return;t.$=s.$}return a.ask(i,t),a.on("in",t)}if(e["."])return r.get?(t={get:{".":r.get},$:r.$},(s.ask||(s.ask={}))[r.get]=t.$._,s.on("out",t)):(t={get:r.lex?t.get:{},$:r.$},s.on("out",t));if((r.ask||(r.ask={}))[""]=r,r.get)return e["."]=r.get,(s.ask||(s.ask={}))[r.get]=t.$._,s.on("out",t)}return s.on("out",t)}r.on("in",{put:r.put=o,$:r.$})},n.on.in=function(t,e){var n,i=(e=e||this.as).root,c=t.$||(t.$=e.$),l=(c||"")._||a,h=t.put||"",d=h["#"],g=h["."],y=o!==h["="]?h["="]:h[":"],m=h[">"]||-1/0;if(o!==t.put&&(o===h["#"]||o===h["."]||o===h[":"]&&o===h["="]||o===h[">"]))return u(h)?void e.on("in",{$:l.back.$,put:{"#":d=l.back.soul,".":g=l.has||l.get,"=":h,">":f(l.back.put,g)},via:t}):(d=((h||"")._||"")["#"])?(c=e.root.$.get(d),setTimeout.each(Object.keys(h).sort(),(function(n){"_"!=n&&o!==(m=f(h,n))&&e.on("in",{$:c,put:{"#":d,".":n,"=":h[n],">":m},VIA:t})}))):void console.log("chain not yet supported for",h,"...",t,e);(t.seen||"")[e.id]||((t.seen||(t.seen=function(){}))[e.id]=e,e!==l&&(Object.keys(t).forEach((function(e){h[e]=t[e]}),h={}),h.get=e.get||h.get,e.soul||e.has?l.soul&&(h.$=e.$,h.$$=h.$$||l.$):h.$$$=h.$$$||e.$,t=h),s(t,e),(e.soul||t.$$)&&m>=f(i.graph[d],g)&&((h=i.$.get(d)._).put=p(h.put,g,m,y,d)),!l.soul&&m>=f(i.graph[d],g)&&(n=(i.$.get(d)._.next||"")[g])&&(n.put=y,"string"==typeof(h=u(y))&&(n.put=i.$.get(h)._.put||y)),this.to&&this.to.next(t),e.any&&setTimeout.each(Object.keys(e.any),(function(n){(n=e.any[n])&&n(t)}),0,99),e.echo&&setTimeout.each(Object.keys(e.echo),(function(n){(n=e.echo[n])&&n.on("in",t)}),0,99),((t.$$||"")._||l).soul&&(n=e.next)&&(n=n[g])&&(h={},Object.keys(t).forEach((function(e){h[e]=t[e]})),h.$=(t.$$||t.$).get(h.get=g),delete h.$$,delete h.$$$,n.on("in",h)),r(t,e))},n.on.link=r,n.on.unlink=s;var o,a={},c=String.random,u=n.valid,l=function(t,e){return t&&Object.prototype.hasOwnProperty.call(t,e)},h=n.state,f=h.is,p=h.ify}))(e,"./chain"),e((function(t){var n=e("./root");function r(t){var e=this.at||this.on;if(!t||e.soul||e.has)return this.off();if(t=(t=(t=t.$||t)._||t).id){var n;e.map;if((n=this.seen||(this.seen={}))[t])return!0;n[t]=!0}}n.chain.get=function(t,e,a){var c,u;if("string"==typeof t){if(0==t.length)return(c=this.chain())._.err={err:n.log("0 length key!",t)},e&&e.call(c,c._.err),c;(c=((h=this._).next||i)[t])||(c=t&&function(t,e){var n=e._,r=n.next,s=e.chain(),i=s._;r||(r=n.next={});r[i.get=t]=i,e===n.root.$?i.soul=t:(n.soul||n.has)&&(i.has=t);return i}(t,this)),c=c&&c.$}else{if("function"==typeof t){if(!0===e)return function(t,e,r,i){var o,a=t._,c=0;if(o=a.soul||a.link)return e(o,i,a);if(a.jam)return a.jam.push([e,i]);a.jam=[[e,i]],t.get((function(t,e){if(!(s===t.put&&!a.root.opt.super&&(o=Object.keys(a.root.opt.peers).length)&&++c<=o)){e.rid(t);var r,i=(i=t.$)&&i._||{},u=0;for(o=a.jam,delete a.jam;r=o[u++];){var l=r[0];r=r[1],l&&l(i.link||i.soul||n.valid(t.put)||((t.put||{})._||{})["#"],r,t,e)}}}),{out:{get:{".":!0}}})}(this,t,0,a),this;var l,h=(c=this)._,f=e||{},p=h.root;f.at=h,f.ok=t;var d={};function g(t,e,r){if(!g.stun&&(!(i=p.pass)||i[l])){var i,o=t.$._,a=(t.$$||"")._,c=(a||o).put,u=!o.has&&!o.soul,y={};if((u||s===c)&&(c=s===((i=t.put)||"")["="]?s===(i||"")[":"]?i:i[":"]:i["="]),"string"==typeof(i=n.valid(c))&&(c=s===(i=p.$.get(i)._.put)?f.not?s:c:i),!f.not||s!==c){if(s===f.stun){if((i=p.stun)&&i.on&&(h.$.back((function(t){if(i.on(""+t.id,y={}),(y.run||0)<g.id)return y})),!y.run&&i.on(""+o.id,y={}),!y.run&&a&&i.on(""+a.id,y={}),g.id>y.run&&(y.stun&&!y.stun.end||(y.stun=i.on("stun"),y.stun=y.stun&&y.stun.last),y.stun&&!y.stun.end)))return void((y.stun.add||(y.stun.add={}))[l]=function(){g(t,e,1)});if(s===c&&(r=0),(i=p.hatch)&&!i.end&&s===f.hatch&&!r){if(d[o.$._.id])return;return d[o.$._.id]=1,void i.push((function(){g(t,e,1)}))}d={}}if(p.pass){if(p.pass[l+o.id])return;p.pass[l+o.id]=1}f.on?f.ok.call(o.$,c,o.get,t,e||g):f.v2020?f.ok(t,e||g):(Object.keys(t).forEach((function(e){i[e]=t[e]}),i={}),(t=i).put=c,f.ok.call(f.as,t,e||g))}}}return g.at=h,(h.any||(h.any={}))[l=String.random(7)]=g,g.off=function(){g.stun=1,h.any&&delete h.any[l]},g.rid=r,g.id=f.run||++p.once,u=p.pass,(p.pass={})[l]=1,f.out=f.out||{get:{}},h.on("out",f.out),p.pass=u,c}if("number"==typeof t)return this.get(""+t,e,a);if("string"==typeof(u=o(t)))return this.get(u,e,a);(u=this.get.next)&&(c=u(this,t))}return c?(e&&"function"==typeof e&&c.get(e,a),c):((c=this.chain())._.err={err:n.log("Invalid get request!",t)},e&&e.call(c,c._.err),c)};var s,i={},o=n.valid}))(e,"./get"),e((function(t){var n=e("./root");function r(t,e){if(e){e=(e._||"").id||e;var r,s=t.root.stun||(t.root.stun={on:n.on}),i={};t.stun||(t.stun=s.on("stun",(function(){}))),(r=s.on(""+e))&&r.the.last.next(i),i.run>=t.run||s.on(""+e,(function(e){if(t.stun.end)return this.off(),void this.to.next(e);e.run=e.run||t.run,e.stun=e.stun||t.stun}))}}function s(t){if(t.err)s.end(t.stun,t.root);else if(!t.todo.length&&!t.end&&Object.empty(t.wait)){t.end=1;var e,r=t.$.back(-1)._,i=r.root,o=r.ask((function(e){i.on("ack",e),e.err&&!e.lack&&n.log(e),++a>(t.acks||0)&&this.off(),t.ack&&t.ack(e,this)}),t.opt),a=0,c=t.stun;(e=function(){c&&(s.end(c,i),setTimeout.each(Object.keys(c=c.add||""),(function(t){(t=c[t])&&t()})))}).hatch=e,t.ack&&!t.ok&&(t.ok=t.acks||9),t.via._.on("out",{put:t.out=t.graph,ok:t.ok&&{"@":t.ok+1},opt:t.opt,"#":o,_:e})}}n.chain.put=function(t,e,o){var l=this,h=l._,f=h.root;(o=o||{}).root=h.root,o.run||(o.run=f.once),r(o,h.id),o.ack=o.ack||e,o.via=o.via||l,o.data=o.data||t,o.soul||(o.soul=h.soul||"string"==typeof e&&e);var p=o.state=o.state||n.state();return"function"==typeof t?(t((function(t){o.data=t,l.put(i,i,o)})),l):o.soul?(o.$=f.$.get(o.soul),o.todo=[{it:o.data,ref:o.$}],o.turn=o.turn||a,o.ran=o.ran||s,function t(){var e,i,a,l,h,f=o.todo,d=f.pop(),g=d.it;d.ref&&d.ref._.id;if(r(o,d.ref),(l=d.todo)&&(g=g[i=l.pop()],l.length&&f.push(d)),i&&(f.path||(f.path=[])).push(i),!(e=c(g))&&!(h=n.is(g))){if(!Object.plain(g))return void s.err(o,"Invalid data: "+function(t,e){return t&&(e=t.constructor)&&e.name||typeof t}(g)+" at "+(o.via.back((function(t){t.get&&l.push(t.get)}),l=[])||l.join("."))+"."+(f.path||[]).join("."));for(var y=o.seen||(o.seen=[]),m=y.length;m--;)if(g===(l=y[m]).it){e=g=l.link;break}}if(i&&e)d.node=u(d.node,i,p,g);else{if(!o.seen)return void s.err(o,"Data at root of graph must be a node (an object).");o.seen.push(a={it:g,link:{},todo:h?[]:Object.keys(g).sort().reverse(),path:(f.path||[]).slice(),up:d}),d.node=u(d.node,i,p,a.link),!h&&a.todo.length&&f.push(a);var w=o.seen.length;function b(t,e){var n=a.link["#"];e&&(e.off(),e.rid(t));var s=n||t.soul||(l=(t.$$||t.$)._||"").soul||l.link||((l=l.put||"")._||"")["#"]||l["#"]||((l=t.put||"")&&t.$$?l["#"]:(l["="]||l[":"]||"")["#"]);!n&&r(o,t.$),s||d.link["#"]?(s||(s=[],(t.$$||t.$).back((function(t){if(l=t.soul||t.link)return s.push(l);s.push(t.get)})),s=s.reverse().join("/")),a.link["#"]=s,!h&&(((o.graph||(o.graph={}))[s]=a.node||(a.node={_:{}}))._["#"]=s),delete o.wait[w],a.wait&&setTimeout.each(a.wait,(function(t){t&&t()})),o.ran(o)):(d.wait||(d.wait=[])).push((function(){b(t,e)}))}(o.wait||(o.wait={}))[w]="",l=(a.ref=h?g:i?d.ref.get(i):d.ref)._,(l=g&&(g._||"")["#"]||l.soul||l.link)?b({soul:l}):a.ref.get(b,{run:o.run,v2020:1,out:{get:{".":" "}}})}if(!f.length)return o.ran(o);o.turn(t)}(),l):(function(t){var e,n=t.via._;t.via=t.via.back((function(n){if(n.soul||!n.get)return n.$;e=t.data,(t.data={})[n.get]=e})),t.via&&t.via._.soul||(t.via=n.root.$.get(((t.data||"")._||"")["#"]||n.$.back("opt.uuid")()));t.via.put(t.data,t.ack,t)}(o),l)},s.end=function(t,e){t.end=o,t.the.to===t&&t===t.the.last&&delete e.stun,t.off()},s.err=function(t,e){(t.ack||o).call(t,t.out={err:t.err=n.log(e)}),t.ran(t)};var i,o=function(){},a=setTimeout.turn,c=n.valid,u=n.state.ify}))(e,"./put"),e((function(t){var n=e("./root");e("./chain"),e("./back"),e("./put"),e("./get"),t.exports=n}))(e,"./index"),e((function(t){var n=e("./index");n.chain.on=function(t,e,n,r){var s,i=this,o=i._;o.root;if("string"==typeof t)return e?(s=o.on(t,e,n||o,r),n&&n.$&&(n.subs||(n.subs=[])).push(s),i):o.on(t);var a=e;return(a=!0===a?{change:!0}:a||{}).not=1,a.on=1,i.get(t,a),i},n.chain.once=function(t,e){if(e=e||{},!t)return function(t,e,r){return n.log.once("valonce","Chainable val is experimental, its behavior and API may change moving forward. Please play with it and report bugs and ideas on how to improve it."),(r=t.chain())._.nix=t.once((function(t,e){r._.on("in",this._)})),r._.lex=t._.lex,r}(this);var s,i=this,o=i._,a=o.root,c=(o.put,String.random(7));return i.get((function(i,u,l,h){var f=this,p=f._,d=p.one||(p.one={});function g(y){p.has||p.soul||(p={put:i,get:u}),r===(s=p.put)&&(s=((l.$$||"")._||"").put),"string"!=typeof n.valid(s)||(s=a.$.get(s)._.put)!==r||y?h.stun||""!==d[c]&&(d[c]="",(o.soul||o.has)&&h.off(),t.call(f,s,p.get),clearTimeout(d[c])):d[c]=setTimeout((function(){g(1)}),e.wait||99)}h.stun||""!==d[c]&&(!0!==(s=n.valid(i))?"string"!=typeof s&&(clearTimeout((o.one||"")[c]),clearTimeout(d[c]),d[c]=setTimeout(g,e.wait||99)):g())}),{on:1}),i},n.chain.off=function(){var t,e=this._,n=e.back;if(n)return e.ack=0,(t=n.next)&&t[e.get]&&delete t[e.get],(t=n.any)&&(delete n.any,n.any={}),(t=n.ask)&&delete t[e.get],(t=n.put)&&delete t[e.get],(t=e.soul)&&delete n.root.graph[t],(t=e.map)&&Object.keys(t).forEach((function(e,r){(r=t[e]).link&&n.root.$.get(r.link).off()})),(t=e.next)&&Object.keys(t).forEach((function(e,n){t[e].$.off()})),e.on("off",{}),this};var r}))(e,"./on"),e((function(t){var n=e("./index"),r=n.chain.get.next;function s(t){this.to.next(t);var e,r=this.as,s=t.$._,i=t.put;(s.soul||t.$$)&&((e=r.lex)&&!String.match(t.get||(i||"")["."],e["."]||e["#"]||e)||n.on.link(t,r))}n.chain.get.next=function(t,e){var n;return Object.plain(e)?(n=((n=e["#"])||"")["="]||n)?t.get(n):((n=t.chain()._).lex=e,t.on("in",(function(t){String.match(t.get||(t.put||"")["."],e["."]||e["#"]||e)&&n.on("in",t),this.to.next(t)})),n.$):(r||o)(t,e)},n.chain.map=function(t,e,r){var a,c,u=this,l=u._;return Object.plain(t)&&(a=t["."]?t:{".":t},t=i),t?(n.log.once("mapfn","Map functions are experimental, their behavior and API may change moving forward. Please play with it and report bugs and ideas on how to improve it."),c=u.chain(),u.map().on((function(e,r,s,a){var u=(t||o).call(this,e,r,s,a);if(i!==u){if(e===u)return c._.on("in",s);if(n.is(u))return c._.on("in",u._);var l={};Object.keys(s.put).forEach((function(t){l[t]=s.put[t]}),l),l["="]=u,c._.on("in",{get:r,put:l})}})),c):((c=l.each)||((l.each=c=u.chain())._.lex=a||c._.lex||l.lex,c._.nix=u.back("nix"),u.on("in",s,c._)),c)};var i,o=function(){}}))(e,"./map"),e((function(t){var n=e("./index");n.chain.set=function(t,e,r){var s,i,o=this,a=o.back(-1);return e=e||function(){},(r=r||{}).item=r.item||t,(s=((t||"")._||"")["#"])&&((t={})["#"]=s),"string"==typeof(i=n.valid(t))?o.get(s=i).put(t,e,r):n.is(t)?(o.put((function(r){t.get((function(t,s,a){if(!t)return e.call(o,{err:n.log('Only a node can be linked! Not "'+a.put+'"!')});(i={})[t]={"#":t},r(i)}),!0)})),t):(Object.plain(t)&&(t=a.get(s=o.back("opt.uuid")()).put(t)),o.get(s||a.back("opt.uuid")(7)).put(t,e,r))}}))(e,"./set"),e((function(t){e("./shim");var n=function(){},r=JSON.parseAsync||function(t,e,n){var r=+new Date;try{e(undefined,JSON.parse(t,n),s.sucks(+new Date-r))}catch(t){e(t)}},s=JSON.stringifyAsync||function(t,e,n,r){var i=+new Date;try{e(undefined,JSON.stringify(t,n,r),s.sucks(+new Date-i))}catch(t){e(t)}};s.sucks=function(t){t>99&&(console.log("Warning: JSON blocking CPU detected. Add `gun/lib/yson.js` to fix."),s.sucks=n)};var i;try{t.exports=function(t){var e=function(){},n=t.opt||{};n.log=n.log||console.log,n.gap=n.gap||n.wait||0,n.max=n.max||.3*(n.memory?999*n.memory*999:3e8),n.pack=n.pack||.01*n.max*.01,n.puff=n.puff||9;var o=setTimeout.turn||setTimeout,a=t.dup,c=a.check,u=a.track,l=(new Date,e.hear=function(t,s){if(t){if(n.max<=t.length)return e.say({dam:"!",err:"Message too big!"},s);e===this&&(l.d+=t.length||0,++l.c);var i,a=s.SH=+new Date,c=t[0];return"["===c?(r(t,(function(t,r){if(t||!r)return e.say({dam:"!",err:"DAM JSON parse error."},s);console.STAT&&console.STAT(+new Date,r.length,"# on hear batch");var i=n.puff;!function t(){for(var n,a=+new Date,c=0;c<i&&(n=r[c++]);)e.hear(n,s);r=r.slice(c),console.STAT&&console.STAT(a,+new Date-a,"hear loop"),h(s),r.length&&o(t,0)}()})),void(t="")):"{"===c||(t["#"]||Object.plain(t))&&(i=t)?i?l.one(i,s,a):void r(t,(function(t,n){if(t||!n)return e.say({dam:"!",err:"DAM JSON parse error."},s);l.one(n,s,a)})):void 0}});function h(t){var e=t.batch,r="string"==typeof e;if(r&&(e+="]"),t.batch=t.tail=null,e&&!(r?3>e.length:!e.length)){if(!r)try{e=1===e.length?e[0]:JSON.stringify(e)}catch(t){return n.log("DAM JSON stringify error",t)}e&&f(e,t)}}function f(t,n){try{var r=n.wire;n.say?n.say(t):r.send&&r.send(t),e.say.d+=t.length||0,++e.say.c}catch(e){(n.queue=n.queue||[]).push(t)}}l.one=function(n,r,s){var i,o,l,h,f;if(n.DBG&&(n.DBG=f={DBG:n.DBG}),f&&(f.h=s),f&&(f.hp=+new Date),(i=n["#"])||(i=n["#"]=String.random(9)),!((l=c(i))||(o=n["##"])&&(l=n["@"]||n.get&&i)&&a.check(h=l+o))){if((n._=function(){}).via=e.leap=r,(l=n["><"])&&"string"==typeof l&&l.slice(0,99).split(",").forEach((function(t){this[t]=1}),n._.yo={}),l=n.dam)return(l=e.hear[l])&&l(n,r,t),void u(i);(l=n.ok)&&(n._.near=l["/"]),s=+new Date,f&&(f.is=s),r.SI=i,u.ed=function(t){i===t&&(u.ed=0,(t=a.s[i])&&(t.via=r,n.get&&(t.it=n)))},t.on("in",e.last=n),f&&(f.hd=+new Date),console.STAT&&console.STAT(s,+new Date-s,n.get?"msg get":n.put?"msg put":"msg"),u(i),h&&u(h),e.leap=e.last=null}},l.c=l.d=0,function(){var t,r=0;function l(t,e){var n;return e instanceof Object?(Object.keys(e).sort().forEach(p,{to:n={},on:e}),n):e}function p(t){this.to[t]=this.on[t]}e.hash=function(t,n){var r,i,a,c=+new Date;s(t.put,(function s(u,l){var h=(i||(i=a=l||"")).slice(0,32768);r=String.hash(h,r),(i=i.slice(32768))?o(s,0):(console.STAT&&console.STAT(c,+new Date-c,"say json+hash"),t._.$put=a,t["##"]=r,e.say(t,n),delete t._.$put)}),l)},e.say=function(s,c){var l;if((l=this)&&(l=l.to)&&l.next&&l.next(s),!s)return!1;var p,d,g,y=s["@"],m=s._||(s._=function(){}),w=s.DBG,b=+new Date;if(m.y=m.y||b,c||w&&(w.y=b),(p=s["#"])||(p=s["#"]=String.random(9)),!t&&u(p),(d=s["##"])||i===s.put||m.via||!y){if(!c&&y&&(c=(l=a.s[y])&&(l.via||(l=l.it)&&(l=l._)&&l.via)||(l=e.last)&&y===l["#"]&&e.leap),!c&&y){if(a.s[y])return;return console.STAT&&console.STAT(+new Date,++r,"total no peer to ack to"),!1}if(y&&!s.put&&!d&&((a.s[y]||"").it||"")["##"])return!1;if(!c&&e.way)return e.way(s);if(w&&(w.yh=+new Date),g=m.raw){if(w&&(w.yr=+new Date),!c||!c.id){if(!Object.plain(c||n.peers))return!1;b=+new Date,n.puff;var A=n.peers,v=Object.keys(c||n.peers||{});return console.STAT&&console.STAT(b,+new Date-b,"peer keys"),void function n(){var r=+new Date;t=1;var i=m.raw;m.raw=g;for(var a,l=0;l<9&&(a=(v||"")[l++]);)(a=A[a]||(c||"")[a])&&e.say(s,a);m.raw=i,t=0,v=v.slice(l),console.STAT&&console.STAT(r,+new Date-r,"say loop"),v.length&&(o(n,0),y&&u(y))}()}if(!c.wire&&e.wire&&e.wire(c),p!==c.last){if(c.last=p,c===m.via)return!1;if((l=m.yo)&&(l[c.url]||l[c.pid]||l[c.id]))return!1;if(console.STAT&&console.STAT(b,((w||m).yp=+new Date)-(m.y||b),"say prep"),!t&&y&&u(y),c.batch){if(c.tail=(l=c.tail||0)+g.length,c.tail<=n.pack)return void(c.batch+=(l?",":"")+g);h(c)}c.batch="[";var E=+new Date;setTimeout((function(){console.STAT&&console.STAT(E,+new Date-E,"0ms TO"),h(c)}),n.gap),f(g,c),console.STAT&&y===c.SI&&console.STAT(b,+new Date-c.SH,"say ack")}}else e.raw(s,c)}else e.hash(s,c)},e.say.c=e.say.d=0,e.raw=function(t,r){if(!t)return"";var o,u,l=t._||{};if(u=l.raw)return u;if("string"==typeof t)return t;var h=t["##"],f=t["@"];if(h&&f){if(!l.via&&c(f+h))return!1;if(u=(a.s[f]||"").it){if(h===u["##"])return!1;u["##"]||(u["##"]=h)}}if(!t.dam&&!t["@"]){var p=0,d=[];for(var g in u=n.peers){var y=u[g];if(d.push(y.url||y.pid||y.id),++p>6)break}p>1&&(t["><"]=d.join())}if(t.put&&(u=t.ok)&&(t.ok={"@":(u["@"]||1)-1,"/":u["/"]==t._.near?e.near:u["/"]}),o=l.$put)return u={},Object.keys(t).forEach((function(e){u[e]=t[e]})),u.put=":])([:",void s(u,(function(t,e){if(!t){var n=+new Date;u=e.indexOf('"put":":])([:"'),m(i,e=e.slice(0,u+6)+o+e.slice(u+14)),console.STAT&&console.STAT(n,+new Date-n,"say slice")}}));function m(n,s){n||(l.raw=s,e.say(t,r))}s(t,m)}}(),e.near=0,e.hi=function(r){var s;r.wire?(r.id?n.peers[r.url||r.id]=r:(s=r.id=r.id||r.url||String.random(9),e.say({dam:"?",pid:t.opt.pid},n.peers[s]=r),delete a.s[r.last]),r.met||(e.near++,r.met=+new Date,t.on("hi",r)),s=r.queue,r.queue=[],setTimeout.each(s||[],(function(t){f(t,r)}),0,9)):e.wire(r.length&&{url:r,id:r}||r)},e.bye=function(n){n.met&&--e.near,delete n.met,t.on("bye",n);var r=+new Date;r-=n.met||r,e.bye.time=((e.bye.time||r)+r)/2},e.hear["!"]=function(t,e){n.log("Error:",t.err)},e.hear["?"]=function(t,r){t.pid&&(r.pid||(r.pid=t.pid),t["@"])||(e.say({dam:"?",pid:n.pid,"@":t["#"]},r),delete a.s[r.last])},e.hear.mob=function(t,n){if(t.peers){var r=Object.keys(t.peers),s=r[Math.random()*r.length|0];s&&(e.bye(n),e.hi(s))}},t.on("create",(function(t){t.opt.pid=t.opt.pid||String.random(9),this.to.next(t),t.on("out",e.say)})),t.on("bye",(function(t,e){t=n.peers[t.id||t]||t,this.to.next(t),t.bye?t.bye():(e=t.wire)&&e.close&&e.close(),delete n.peers[t.id],t.wire=null}));var p={};return t.on("bye",(function(t,r){this.to.next(t),(r=console.STAT)&&(r.peers=e.near),(r=t.url)&&(p[r]=!0,setTimeout((function(){delete p[r]}),n.lack||9e3))})),t.on("hi",(function(r,s){if(this.to.next(r),(s=console.STAT)&&(s.peers=e.near),!n.super){var i=Object.keys(t.next||"");i.length>9999&&!console.SUBS&&console.log(console.SUBS="Warning: You have more than 10K live GETs, which might use more bandwidth than your screen can show - consider `.off()`."),setTimeout.each(i,(function(s){var i=t.next[s];n.super||(i.ask||"")[""]?e.say({get:{"#":s}},r):setTimeout.each(Object.keys(i.ask||""),(function(n){n&&e.say({"##":String.hash((t.graph[s]||"")[n]),get:{"#":s,".":n}},r)}))}))}})),e}}catch(t){}}))(e,"./mesh"),e((function(t){var n=e("./index");n.Mesh=e("./mesh"),n.on("opt",(function(t){if(this.to.next(t),!t.once){var e=t.opt;if(!1!==e.WebSocket){var r=n.window||{},s=e.WebSocket||r.WebSocket||r.webkitWebSocket||r.mozWebSocket;if(s){e.WebSocket=s;var i=e.mesh=e.mesh||n.Mesh(t);i.wire||e.wire;i.wire=e.wire=c,setTimeout((function(){!e.super&&t.on("out",{dam:"hi"})}),1);var o=1998,a=""+undefined!=typeof document&&document}}}function c(t){try{if(!t||!t.url)return r&&r(t);var n=t.url.replace(/^http/,"ws"),r=t.wire=new e.WebSocket(n);return r.onclose=function(){u(t),e.mesh.bye(t)},r.onerror=function(e){u(t)},r.onopen=function(){e.mesh.hi(t)},r.onmessage=function(n){n&&e.mesh.hear(n.data||n,t)},r}catch(n){e.mesh.bye(t)}}function u(t){clearTimeout(t.defer),e.peers[t.url]&&(a&&t.retry<=0||(t.retry=(t.retry||e.retry+1||60)-(-t.tried+(t.tried=+new Date)<4*o?1:0),t.defer=setTimeout((function e(){if(a&&a.hidden)return setTimeout(e,o);c(t)}),o)))}}))}))(e,"./websocket"),e((function(t){if("undefined"!=typeof Gun){var e;try{e=(Gun.window||function(){}).localStorage}catch(t){}e||(Gun.log("Warning: No localStorage exists to persist data to!"),e={setItem:function(t,e){this[t]=e},removeItem:function(t){delete this[t]},getItem:function(t){return this[t]}});JSON.parseAsync;var n=JSON.stringifyAsync||function(t,e,n,r){try{e(undefined,JSON.stringify(t,n,r))}catch(t){e(t)}};Gun.on("create",(function t(r){this.to.next(r);var s,i,o,a,c=r.opt,u=(r.graph,[]);if(!1!==c.localStorage){c.prefix=c.file||"gun/";try{s=t[c.prefix]=t[c.prefix]||JSON.parse(o=e.getItem(c.prefix))||{}}catch(e){s=t[c.prefix]={}}o=(o||"").length,r.on("get",(function(t){this.to.next(t);var e,n,r,i=t.get;i&&(e=i["#"])&&((n=s[e]||undefined)&&(r=i["."])&&!Object.plain(r)&&(n=Gun.state.ify({},r,Gun.state.is(n,r),n[r],e)),Gun.on.get.ack(t,n))})),r.on("put",(function(t){this.to.next(t);var e=t.put,n=e["#"],c=e["."],h=t["#"],f=t.ok||"";s[n]=Gun.state.ify(s[n],c,e[">"],e[":"],n),a&&o>4999880?r.on("in",{"@":h,err:"localStorage max!"}):(t["@"]||t._.via&&!(Math.random()<f["@"]/f["/"])||u.push(h),i||(i=setTimeout(l,9+o/333)))}))}function l(){if(u.length||!((setTimeout.turn||"").s||"").length){var t=u;clearTimeout(i),i=!1,u=[],n(s,(function(n,i){try{!n&&e.setItem(c.prefix,i)}catch(t){n=a=t||"localStorage failure"}n&&(Gun.log(n+" Consider using GUN's IndexedDB plugin for RAD for more storage space, https://gun.eco/docs/RAD#install"),r.on("localStorage:error",{err:n,get:c.prefix,put:s})),o=i.length,setTimeout.each(t,(function(t){r.on("in",{"@":t,err:n,ok:0})}),0,99)}))}else setTimeout(l,99)}}))}}))(e,"./localStorage")}(),function(){if(""+E!=typeof Gun){var t=function(t){console.warn("Warning! Deprecated internal utility will break in next version:",t)},e=Gun;e.fn=e.fn||{is:function(e){return t("fn"),!!e&&"function"==typeof e}},e.bi=e.bi||{is:function(e){return t("bi"),e instanceof Boolean||"boolean"==typeof e}},e.num=e.num||{is:function(e){return t("num"),!r(e)&&(e-parseFloat(e)+1>=0||1/0===e||-1/0===e)}},e.text=e.text||{is:function(e){return t("text"),"string"==typeof e}},e.text.ify=e.text.ify||function(n){return t("text.ify"),e.text.is(n)?n:"undefined"!=typeof JSON?JSON.stringify(n):n&&n.toString?n.toString():n},e.text.random=e.text.random||function(e,n){t("text.random");var r="";for(e=e||24,n=n||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";e>0;)r+=n.charAt(Math.floor(Math.random()*n.length)),e--;return r},e.text.match=e.text.match||function(e,n){var r,s;return t("text.match"),"string"==typeof e&&("string"==typeof n&&(n={"=":n}),e===(r=(n=n||{})["="]||n["*"]||n[">"]||n["<"])||s===n["="]&&(r=n["*"]||n[">"]||n["<"],e.slice(0,(r||"").length)===r||s===n["*"]&&(s!==n[">"]&&s!==n["<"]?e>=n[">"]&&e<=n["<"]:s!==n[">"]&&e>=n[">"]||s!==n["<"]&&e<=n["<"])))},e.text.hash=e.text.hash||function(e,n){if(t("text.hash"),"string"==typeof e){if(n=n||0,!e.length)return n;for(var r=0,s=e.length;r<s;++r)n=(n<<5)-n+e.charCodeAt(r),n|=0;return n}},e.list=e.list||{is:function(e){return t("list"),e instanceof Array}},e.list.slit=e.list.slit||Array.prototype.slice,e.list.sort=e.list.sort||function(e){return t("list.sort"),function(t,n){return t&&n?(t=t[e])<(n=n[e])?-1:t>n?1:0:0}},e.list.map=e.list.map||function(e,n,r){return t("list.map"),o(e,n,r)},e.list.index=1,e.obj=e.boj||{is:function(e){return t("obj"),!!e&&(e instanceof Object&&e.constructor===Object||"Object"===Object.prototype.toString.call(e).match(/^\[object (\w+)\]$/)[1])}},e.obj.put=e.obj.put||function(e,n,r){return t("obj.put"),(e||{})[n]=r,e},e.obj.has=e.obj.has||function(e,n){return t("obj.has"),e&&Object.prototype.hasOwnProperty.call(e,n)},e.obj.del=e.obj.del||function(e,n){if(t("obj.del"),e)return e[n]=null,delete e[n],e},e.obj.as=e.obj.as||function(e,n,r,s){return t("obj.as"),e[n]=e[n]||(s===r?{}:r)},e.obj.ify=e.obj.ify||function(e){if(t("obj.ify"),s(e))return e;try{e=JSON.parse(e)}catch(t){e={}}return e},function(){function n(t,e){i(this,e)&&undefined!==this[e]||(this[e]=t)}e.obj.to=e.obj.to||function(e,r){return t("obj.to"),o(e,n,r=r||{}),r}}(),e.obj.copy=e.obj.copy||function(e){return t("obj.copy"),e?JSON.parse(JSON.stringify(e)):e},function(){function n(t,e){var n=this.n;if(!n||!(e===n||s(n)&&i(n,e)))return undefined!==e||void 0}e.obj.empty=e.obj.empty||function(e,r){return t("obj.empty"),!e||!o(e,n,{n:r})}}(),function(){function n(t,e){if(2===arguments.length)return n.r=n.r||{},void(n.r[t]=e);n.r=n.r||[],n.r.push(t)}var o,a=Object.keys;Object.keys=Object.keys||function(t){return o(t,(function(t,e,n){n(e)}))},e.obj.map=o=e.obj.map||function(o,c,u){t("obj.map");var l,h,f,p,d,g=0,y="function"==typeof c;if(n.r=l,a&&s(o)&&(p=a(o),d=!0),u=u||{},r(o)||p)for(h=(p||o).length;g<h;g++){var m=g+e.list.index;if(y){if((f=d?c.call(u,o[p[g]],p[g],n):c.call(u,o[g],m,n))!==l)return f}else if(c===o[d?p[g]:g])return p?p[g]:m}else for(g in o)if(y){if(i(o,g)&&(f=u?c.call(u,o[g],g,n):c(o[g],g,n))!==l)return f}else if(c===o[g])return g;return y?n.r:e.list.index?0:-1}}(),e.time=e.time||{},e.time.is=e.time.is||function(e){return t("time"),e?e instanceof Date:+(new Date).getTime()};var n=e.fn.is,r=e.list.is,s=(v=e.obj).is,i=v.has,o=v.map,a={is:function(e){return t("val.is"),e!==E&&(null===e||e!==1/0&&(!!(h(e)||u(e)||l(e))||(a.link.is(e)||!1)))}};a.link=a.rel={_:"#"},function(){function e(t,e){var n=this;return n.id?n.id=!1:e==c&&h(t)?void(n.id=t):n.id=!1}a.link.is=function(n){if(t("val.link.is"),n&&n[c]&&!n._&&s(n)){var r={};if(o(n,e,r),r.id)return r.id}return!1}}(),a.link.ify=function(e){return t("val.link.ify"),f({},c,e)},e.obj.has._=".";var c=a.link._,u=e.bi.is,l=e.num.is,h=e.text.is,f=(s=(v=e.obj).is,v.put);o=v.map;e.val=e.val||a;var p={_:"_",soul:function(e,n){return t("node.soul"),e&&e._&&e._[n||y]}};p.soul.ify=function(e,n){return t("node.soul.ify"),n="string"==typeof n?{soul:n}:n||{},(e=e||{})._=e._||{},e._[y]=n.soul||e._[y]||g(),e},p.soul._=a.link._,function(){function e(t,e){if(e!==p._)return!a.is(t)||void(this.cb&&this.cb.call(this.as,t,e,this.n,this.s))}p.is=function(n,r,i){var a;return t("node.is"),!!s(n)&&(!!(a=p.soul(n))&&!o(n,e,{as:i,cb:r,s:a,n}))}}(),function(){function e(t,e){var n,r=this.o;r.map?undefined===(n=r.map.call(this.as,t,""+e,r.node))?d(r.node,e):r.node&&(r.node[e]=n):a.is(t)&&(r.node[e]=t)}p.ify=function(n,r,s){return t("node.ify"),r?"string"==typeof r?r={soul:r}:"function"==typeof r&&(r={map:r}):r={},r.map&&(r.node=r.map.call(s,n,E,r.node||{})),(r.node=p.soul.ify(r.node||{},r))&&o(n,e,{o:r,as:s}),r.node}}();s=(v=e.obj).is;var d=v.del,g=(o=v.map,e.text.random),y=p.soul._;e.node=e.node||p;var m=e.state;m.lex=function(){return t("state.lex"),m().toString(36).replace(".","")},m.to=function(e,n,r){t("state.to");var i=(e||{})[n];return s(i)&&(i=w(i)),m.ify(r,n,m.is(e,n),i,p.soul(e))},function(){function e(t,e){b!==e&&m.ify(this.o,e,this.s)}m.map=function(r,a,c){var u;t("state.map");var h=s(h=r||a)?h:null;return r=n(r=r||a)?r:null,h&&!r?(a=l(a)?a:m(),h[b]=h[b]||{},o(h,e,{o:h,s:a}),h):(c=c||s(a)?a:u,a=l(a)?a:m(),function(t,n,s,o){if(!r)return e.call({o:s,s:a},t,n),t;r.call(c||this||{},t,n,s,o),i(s,n)&&u===s[n]||e.call({o:s,s:a},t,n)})}}();(v=e.obj).as,i=v.has,s=v.is,o=v.map;var w=v.copy,b=(l=e.num.is,n=e.fn.is,p._),A={};!function(){function e(t,e){if(!t||e!==p.soul(t)||!p.is(t,this.fn,this.as))return!0;this.cb&&(n.n=t,n.as=this.as,this.cb.call(n.as,t,e,n))}function n(t){t&&p.is(n.n,t,n.as)}A.is=function(n,r,i,a){return t("graph.is"),!(!n||!s(n)||k(n))&&!o(n,e,{cb:r,fn:i,as:a})}}(),function(){function n(t,e){var n;return(n=function(t,e){var n,r=t.seen,s=r.length;for(;s--;)if(n=r[s],e.obj===n.obj)return n;r.push(e)}(t,e))?n:(e.env=t,e.soul=o,p.ify(e.obj,r,e)&&(e.link=e.link||a.link.ify(p.soul(e.node)),e.obj!==t.shell&&(t.graph[a.link.is(e.link)]=e.node)),e)}function r(t,e,r){var s,o,u=this,l=u.env;if(p._===e&&i(t,a.link._))return r._;if(s=c(t,e,r,u,l)){if(e||(u.node=u.node||r||{},i(t,p._)&&p.soul(t)&&(u.node._=w(t._)),u.node=p.soul.ify(u.node,a.link.is(u.link)),u.link=u.link||a.link.ify(p.soul(u.node))),(o=l.map)&&(o.call(l.as||{},t,e,r,u),i(r,e))){if(t=r[e],E===t)return void d(r,e);if(!(s=c(t,e,r,u,l)))return}if(!e)return u.node;if(!0===s)return t;if((o=n(l,{obj:t,path:u.path.concat(e)})).node)return o.link}}function o(t){var e=this,n=a.link.is(e.link),r=e.env.graph;e.link=e.link||a.link.ify(t),e.link[a.link._]=t,e.node&&e.node[p._]&&(e.node[p._][a.link._]=t),i(r,n)&&(r[t]=r[n],d(r,n))}function c(t,n,r,i,o){var u;return!!a.is(t)||(s(t)?1:(u=o.invalid)?c(t=u.call(o.as||{},t,n,r),n,r,i,o):(o.err="Invalid value at '"+i.path.concat(n).join(".")+"'!",void(e.list.is(t)&&(o.err+=" Use `.set(item)` instead of an Array."))))}A.ify=function(e,r,s){t("graph.ify");var i={path:[],obj:e};return r?"string"==typeof r?r={soul:r}:"function"==typeof r&&(r.map=r):r={},"string"==typeof s&&(r.soul=r.soul||s,s=E),r.soul&&(i.link=a.link.ify(r.soul)),r.shell=(s||{}).shell,r.graph=r.graph||{},r.seen=r.seen||[],r.as=r.as||s,n(r,i),r.root=i.node,r.graph}}(),A.node=function(e){t("graph.node");var n=p.soul(e);if(n)return f({},n,e)},function(){function e(t,e){var n,r;if(p._!==e)(n=a.link.is(t))?(r=this.opt.seen[n])?this.obj[e]=r:this.obj[e]=this.opt.seen[n]=A.to(this.graph,n,this.opt):this.obj[e]=t;else{if(k(t,a.link._))return;this.obj[e]=w(t)}}A.to=function(n,r,s){if(t("graph.to"),n){var i={};return s=s||{seen:{}},o(n[r],e,{obj:i,graph:n,opt:s}),i}}}();n=e.fn.is,s=(v=e.obj).is,d=v.del,i=v.has;var v,E,k=v.empty;f=v.put,o=v.map,w=v.copy;e.graph=e.graph||A}}()},8030:(t,e,n)=>{t=n.nmd(t),function(){function e(t,r){return r?n(5736)(t):t.slice?e[s(t)]:function(n,r){t(n={exports:{}}),e[s(r)]=n.exports};function s(t){return t.split("/").slice(-1).toString().replace(".js","")}}var r=t;e((function(t){"undefined"!=typeof self&&(t.window=self),"undefined"!=typeof window&&(t.window=window);var e=(t.window||t).SEA||{};(e.window=t.window)&&(e.window.SEA=e);try{undefined+""!=typeof r&&(r.exports=e)}catch(t){}t.exports=e}))(e,"./root"),e((function(t){var n=e("./root");try{n.window&&location.protocol.indexOf("s")<0&&location.host.indexOf("localhost")<0&&!/^127\.\d+\.\d+\.\d+$/.test(location.hostname)&&location.protocol.indexOf("file:")<0&&(console.warn("HTTPS needed for WebCrypto in SEA, redirecting..."),location.protocol="https:")}catch(t){}}))(e,"./https"),e((function(t){var r;if(r+""==typeof btoa){if(r+""==typeof Buffer)try{n.g.Buffer=e("buffer",1).Buffer}catch(t){console.log("Please `npm install buffer` or add it to your package.json !")}n.g.btoa=function(t){return Buffer.from(t,"binary").toString("base64")},n.g.atob=function(t){return Buffer.from(t,"base64").toString("binary")}}}))(e,"./base64"),e((function(t){function n(){}e("./base64"),Object.assign(n,{from:Array.from}),n.prototype=Object.create(Array.prototype),n.prototype.toString=function(t,e,n){t=t||"utf8",e=e||0;const r=this.length;if("hex"===t){const t=new Uint8Array(this);return[...Array((n&&n+1||r)-e).keys()].map((n=>t[n+e].toString(16).padStart(2,"0"))).join("")}return"utf8"===t?Array.from({length:(n||r)-e},((t,n)=>String.fromCharCode(this[n+e]))).join(""):"base64"===t?btoa(this):void 0},t.exports=n}))(e,"./array"),e((function(t){e("./base64");var n=e("./array");function r(...t){return console.warn("new SafeBuffer() is depreciated, please use SafeBuffer.from()"),r.from(...t)}r.prototype=Object.create(Array.prototype),Object.assign(r,{from(){if(!Object.keys(arguments).length||null==arguments[0])throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.");const t=arguments[0];let e;if("string"==typeof t){const r=arguments[1]||"utf8";if("hex"===r){const r=t.match(/([\da-fA-F]{2})/g).map((t=>parseInt(t,16)));if(!r||!r.length)throw new TypeError("Invalid first argument for type 'hex'.");e=n.from(r)}else if("utf8"===r||"binary"===r){const r=t.length,s=new Uint16Array(r);Array.from({length:r},((e,n)=>s[n]=t.charCodeAt(n))),e=n.from(s)}else if("base64"===r){const r=atob(t),s=r.length,i=new Uint8Array(s);Array.from({length:s},((t,e)=>i[e]=r.charCodeAt(e))),e=n.from(i)}else"binary"===r?e=n.from(t):console.info("SafeBuffer.from unknown encoding: "+r);return e}t.byteLength;if(t.byteLength?t.byteLength:t.length){let e;return t instanceof ArrayBuffer&&(e=new Uint8Array(t)),n.from(e||t)}},alloc:(t,e=0)=>n.from(new Uint8Array(Array.from({length:t},(()=>e)))),allocUnsafe:t=>n.from(new Uint8Array(Array.from({length:t}))),concat(t){if(!Array.isArray(t))throw new TypeError("First argument must be Array containing ArrayBuffer or Uint8Array instances.");return n.from(t.reduce(((t,e)=>t.concat(Array.from(e))),[]))}}),r.prototype.from=r.from,r.prototype.toString=n.prototype.toString,t.exports=r}))(e,"./buffer"),e((function(t){const n=e("./root"),s={Buffer:e("./buffer")};var i={};if(JSON.parseAsync=JSON.parseAsync||function(t,e,n){try{e(undefined,JSON.parse(t,n))}catch(t){e(t)}},JSON.stringifyAsync=JSON.stringifyAsync||function(t,e,n,r){try{e(undefined,JSON.stringify(t,n,r))}catch(t){e(t)}},s.parse=function(t,e){return new Promise((function(n,r){JSON.parseAsync(t,(function(t,e){t?r(t):n(e)}),e)}))},s.stringify=function(t,e,n){return new Promise((function(r,s){JSON.stringifyAsync(t,(function(t,e){t?s(t):r(e)}),e,n)}))},n.window&&(s.crypto=n.window.crypto||n.window.msCrypto,s.subtle=(s.crypto||i).subtle||(s.crypto||i).webkitSubtle,s.TextEncoder=n.window.TextEncoder,s.TextDecoder=n.window.TextDecoder,s.random=t=>s.Buffer.from(s.crypto.getRandomValues(new Uint8Array(s.Buffer.alloc(t))))),!s.TextDecoder){const{TextEncoder:t,TextDecoder:n}=e((undefined+""==typeof r?".":"")+"./lib/text-encoding",1);s.TextDecoder=n,s.TextEncoder=t}if(!s.crypto)try{var o=e("crypto",1);Object.assign(s,{crypto:o,random:t=>s.Buffer.from(o.randomBytes(t))});const{Crypto:t}=e("@peculiar/webcrypto",1);s.ossl=s.subtle=new t({directory:"ossl"}).subtle}catch(t){console.log("Please `npm install @peculiar/webcrypto` or add it to your package.json !")}t.exports=s}))(e,"./shim"),e((function(t){var n=e("./root"),r=e("./shim"),s={pbkdf2:{hash:{name:"SHA-256"},iter:1e5,ks:64},ecdsa:{pair:{name:"ECDSA",namedCurve:"P-256"},sign:{name:"ECDSA",hash:{name:"SHA-256"}}},ecdh:{name:"ECDH",namedCurve:"P-256"},jwk:function(t,e){var n={kty:"EC",crv:"P-256",x:(t=t.split("."))[0],y:t[1],ext:!0};return n.key_ops=e?["sign"]:["verify"],e&&(n.d=e),n},keyToJwk:function(t){return{kty:"oct",k:t.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,""),ext:!1,alg:"A256GCM"}},recall:{validity:43200,hook:function(t){return t}},check:function(t){return"string"==typeof t&&"SEA{"===t.slice(0,4)},parse:async function(t){try{var e="string"==typeof t;return e&&"SEA{"===t.slice(0,4)&&(t=t.slice(3)),e?await r.parse(t):t}catch(t){}return t}};n.opt=s,t.exports=s}))(e,"./settings"),e((function(t){var n=e("./shim");t.exports=async function(t,e){var r="string"==typeof t?t:await n.stringify(t),s=await n.subtle.digest({name:e||"SHA-256"},(new n.TextEncoder).encode(r));return n.Buffer.from(s)}}))(e,"./sha256"),e((function(t){const n=e("./shim"),r=n.subtle,s=n.ossl?n.ossl:r;t.exports=t=>s.digest({name:"SHA-1"},new ArrayBuffer(t))}))(e,"./sha1"),e((function(t){var n=e("./root"),r=e("./shim"),s=e("./settings"),i=e("./sha256");n.work=n.work||(async(t,e,o,a)=>{try{var c=(e||{}).epub||e;if(a=a||{},c instanceof Function&&(o=c,c=undefined),t="string"==typeof t?t:await r.stringify(t),"sha"===(a.name||"").toLowerCase().slice(0,3)){var u=r.Buffer.from(await i(t,a.name),"binary").toString(a.encode||"base64");if(o)try{o(u)}catch(t){console.log(t)}return u}c=c||r.random(9);var l=await(r.ossl||r.subtle).importKey("raw",(new r.TextEncoder).encode(t),{name:a.name||"PBKDF2"},!1,["deriveBits"]),h=await(r.ossl||r.subtle).deriveBits({name:a.name||"PBKDF2",iterations:a.iterations||s.pbkdf2.iter,salt:(new r.TextEncoder).encode(a.salt||c),hash:a.hash||s.pbkdf2.hash},l,a.length||8*s.pbkdf2.ks);t=r.random(t.length);var f=r.Buffer.from(h,"binary").toString(a.encode||"base64");if(o)try{o(f)}catch(t){console.log(t)}return f}catch(t){if(console.log(t),n.err=t,n.throw)throw t;return void(o&&o())}}),t.exports=n.work}))(e,"./work"),e((function(t){var n=e("./root"),r=e("./shim");e("./settings");n.name=n.name||(async(t,e)=>{try{if(t)try{t()}catch(t){console.log(t)}return}catch(e){if(console.log(e),n.err=e,n.throw)throw e;return void(t&&t())}}),n.pair=n.pair||(async(t,e)=>{try{var s=r.ossl||r.subtle,i=await r.subtle.generateKey({name:"ECDSA",namedCurve:"P-256"},!0,["sign","verify"]).then((async t=>{var e={};e.priv=(await r.subtle.exportKey("jwk",t.privateKey)).d;var n=await r.subtle.exportKey("jwk",t.publicKey);return e.pub=n.x+"."+n.y,e}));try{var o=await s.generateKey({name:"ECDH",namedCurve:"P-256"},!0,["deriveKey"]).then((async t=>{var e={};e.epriv=(await s.exportKey("jwk",t.privateKey)).d;var n=await s.exportKey("jwk",t.publicKey);return e.epub=n.x+"."+n.y,e}))}catch(t){if(n.window)throw t;if("Error: ECDH is not a supported algorithm"!=t)throw t;console.log("Ignoring ECDH...")}o=o||{};var a={pub:i.pub,priv:i.priv,epub:o.epub,epriv:o.epriv};if(t)try{t(a)}catch(t){console.log(t)}return a}catch(e){if(console.log(e),n.err=e,n.throw)throw e;return void(t&&t())}}),t.exports=n.pair}))(e,"./pair"),e((function(t){var n,r=e("./root"),s=e("./shim"),i=e("./settings"),o=e("./sha256");r.sign=r.sign||(async(t,e,a,c)=>{try{if(c=c||{},!(e||c).priv){if(!r.I)throw"No signing key.";e=await r.I(null,{what:t,how:"sign",why:c.why})}if(n===t)throw"`undefined` not allowed.";var u=await i.parse(t),l=c.check=c.check||u;if(r.verify&&(r.opt.check(l)||l&&l.s&&l.m)&&n!==await r.verify(l,e)){var h=await i.parse(l);if(c.raw||(h="SEA"+await s.stringify(h)),a)try{a(h)}catch(t){console.log(t)}return h}var f=e.pub,p=e.priv,d=i.jwk(f,p),g=await o(u),y=await(s.ossl||s.subtle).importKey("jwk",d,{name:"ECDSA",namedCurve:"P-256"},!1,["sign"]).then((t=>(s.ossl||s.subtle).sign({name:"ECDSA",hash:{name:"SHA-256"}},t,new Uint8Array(g))));h={m:u,s:s.Buffer.from(y,"binary").toString(c.encode||"base64")};if(c.raw||(h="SEA"+await s.stringify(h)),a)try{a(h)}catch(t){console.log(t)}return h}catch(t){if(console.log(t),r.err=t,r.throw)throw t;return void(a&&a())}}),t.exports=r.sign}))(e,"./sign"),e((function(t){var n,r=e("./root"),s=e("./shim"),i=e("./settings"),o=e("./sha256");r.verify=r.verify||(async(t,e,a,c)=>{try{var u=await i.parse(t);if(!1===e){var l=await i.parse(u.m);if(a)try{a(l)}catch(t){console.log(t)}return l}c=c||{};var h,f,p,d=e.pub||e,g=r.opt.slow_leak?await r.opt.slow_leak(d):await(s.ossl||s.subtle).importKey("jwk",i.jwk(d),{name:"ECDSA",namedCurve:"P-256"},!1,["verify"]),y=await o(u.m);try{if(h=s.Buffer.from(u.s,c.encode||"base64"),f=new Uint8Array(h),!(p=await(s.ossl||s.subtle).verify({name:"ECDSA",hash:{name:"SHA-256"}},g,f,new Uint8Array(y))))throw"Signature did not match."}catch(n){if(r.opt.fallback)return await r.opt.fall_verify(t,e,a,c)}var m=p?await i.parse(u.m):n;if(a)try{a(m)}catch(t){console.log(t)}return m}catch(t){if(console.log(t),r.err=t,r.throw)throw t;return void(a&&a())}}),t.exports=r.verify;var a={},c=(r.opt.slow_leak=t=>{if(a[t])return a[t];var e=i.jwk(t);return a[t]=(s.ossl||s.subtle).importKey("jwk",e,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"]),a[t]},r.opt);r.opt.fall_verify=async function(t,e,a,u,l){if(l===r.opt.fallback)throw"Signature did not match";l=l||1;var h=t||"";t=r.opt.unpack(t)||t;var f,p,d,g=await i.parse(t),y=e.pub||e,m=await r.opt.slow_leak(y),w=l<=r.opt.fallback?s.Buffer.from(await s.subtle.digest({name:"SHA-256"},(new s.TextEncoder).encode(await i.parse(g.m)))):await o(g.m);try{if(f=s.Buffer.from(g.s,u.encode||"base64"),p=new Uint8Array(f),!(d=await(s.ossl||s.subtle).verify({name:"ECDSA",hash:{name:"SHA-256"}},m,p,new Uint8Array(w))))throw"Signature did not match."}catch(t){try{f=s.Buffer.from(g.s,"utf8"),p=new Uint8Array(f),d=await(s.ossl||s.subtle).verify({name:"ECDSA",hash:{name:"SHA-256"}},m,p,new Uint8Array(w))}catch(t){if(!d)throw"Signature did not match."}}var b=d?await i.parse(g.m):n;if(c.fall_soul=h["#"],c.fall_key=h["."],c.fall_val=t,c.fall_state=h[">"],a)try{a(b)}catch(t){console.log(t)}return b},r.opt.fallback=2}))(e,"./verify"),e((function(t){var n=e("./shim"),r=e("./settings"),s=e("./sha256");t.exports=async(t,e,i)=>{i=i||{};const o=t+(e||n.random(8)).toString("utf8"),a=n.Buffer.from(await s(o),"binary"),c=r.keyToJwk(a);return await n.subtle.importKey("jwk",c,{name:"AES-GCM"},!1,["encrypt","decrypt"])}}))(e,"./aeskey"),e((function(t){var n=e("./root"),r=e("./shim"),s=(e("./settings"),e("./aeskey"));n.encrypt=n.encrypt||(async(t,e,i,o)=>{try{o=o||{};var a=(e||o).epriv||e;if(undefined===t)throw"`undefined` not allowed.";if(!a){if(!n.I)throw"No encryption key.";a=(e=await n.I(null,{what:t,how:"encrypt",why:o.why})).epriv||e}var c="string"==typeof t?t:await r.stringify(t),u={s:r.random(9),iv:r.random(15)},l=await s(a,u.s,o).then((t=>r.subtle.encrypt({name:o.name||"AES-GCM",iv:new Uint8Array(u.iv)},t,(new r.TextEncoder).encode(c)))),h={ct:r.Buffer.from(l,"binary").toString(o.encode||"base64"),iv:u.iv.toString(o.encode||"base64"),s:u.s.toString(o.encode||"base64")};if(o.raw||(h="SEA"+await r.stringify(h)),i)try{i(h)}catch(t){console.log(t)}return h}catch(t){if(console.log(t),n.err=t,n.throw)throw t;return void(i&&i())}}),t.exports=n.encrypt}))(e,"./encrypt"),e((function(t){var n=e("./root"),r=e("./shim"),s=e("./settings"),i=e("./aeskey");n.decrypt=n.decrypt||(async(t,e,o,a)=>{try{a=a||{};var c=(e||a).epriv||e;if(!c){if(!n.I)throw"No decryption key.";c=(e=await n.I(null,{what:t,how:"decrypt",why:a.why})).epriv||e}var u,l,h,f=await s.parse(t);try{u=r.Buffer.from(f.s,a.encode||"base64"),l=r.Buffer.from(f.iv,a.encode||"base64"),h=r.Buffer.from(f.ct,a.encode||"base64");var p=await i(c,u,a).then((t=>r.subtle.decrypt({name:a.name||"AES-GCM",iv:new Uint8Array(l),tagLength:128},t,new Uint8Array(h))))}catch(r){if("utf8"===a.encode)throw"Could not decrypt";if(n.opt.fallback)return a.encode="utf8",await n.decrypt(t,e,o,a)}var d=await s.parse(new r.TextDecoder("utf8").decode(p));if(o)try{o(d)}catch(t){console.log(t)}return d}catch(t){if(console.log(t),n.err=t,n.throw)throw t;return void(o&&o())}}),t.exports=n.decrypt}))(e,"./decrypt"),e((function(t){var n=e("./root"),r=e("./shim");e("./settings");n.secret=n.secret||(async(t,e,i,o)=>{try{if(o=o||{},!e||!e.epriv||!e.epub){if(!n.I)throw"No secret mix.";e=await n.I(null,{what:t,how:"secret",why:o.why})}var a=t.epub||t,c=e.epub,u=e.epriv,l=r.ossl||r.subtle,h=s(a),f=Object.assign({public:await l.importKey(...h,!0,[])},{name:"ECDH",namedCurve:"P-256"}),p=s(c,u),d=await l.importKey(...p,!1,["deriveBits"]).then((async t=>{var e=await l.deriveBits(f,t,256),n=new Uint8Array(e),r=await l.importKey("raw",n,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"]);return l.exportKey("jwk",r).then((({k:t})=>t))}));if(i)try{i(d)}catch(t){console.log(t)}return d}catch(t){if(console.log(t),n.err=t,n.throw)throw t;return void(i&&i())}});var s=(t,e)=>{var[n,r]=t.split("."),s=e?{d:e}:{};return["jwk",Object.assign(s,{x:n,y:r,kty:"EC",crv:"P-256",ext:!0}),{name:"ECDH",namedCurve:"P-256"}]};t.exports=n.secret}))(e,"./secret"),e((function(t){var n=e("./root");n.certify=n.certify||(async(t,e={},r,s,i={})=>{try{if(console.log("SEA.certify() is an early experimental community supported method that may change API behavior without warning in any future version."),t=(()=>{var e=[];if(t){if(("string"==typeof t||Array.isArray(t))&&t.indexOf("*")>-1)return"*";if("string"==typeof t)return t;if(Array.isArray(t)){if(1===t.length&&t[0])return"object"==typeof t[0]&&t[0].pub?t[0].pub:"string"==typeof t[0]?t[0]:null;t.map((t=>{"string"==typeof t?e.push(t):"object"==typeof t&&t.pub&&e.push(t.pub)}))}return"object"==typeof t&&t.pub?t.pub:e.length>0?e:null}})(),!t)return console.log("No certificant found.");const a=!i.expiry||"number"!=typeof i.expiry&&"string"!=typeof i.expiry?null:parseFloat(i.expiry),c=(e||{}).read?e.read:null,u=(e||{}).write?e.write:"string"==typeof e||Array.isArray(e)||e["+"]||e["#"]||e["."]||e["="]||e["*"]||e[">"]||e["<"]?e:null,l=(i||{}).block||(i||{}).blacklist||(i||{}).ban||{},h=l.read&&("string"==typeof l.read||(l.read||{})["#"])?l.read:null,f="string"==typeof l?l:l.write&&("string"==typeof l.write||l.write["#"])?l.write:null;if(!c&&!u)return console.log("No policy found.");const p=JSON.stringify({c:t,...a?{e:a}:{},...c?{r:c}:{},...u?{w:u}:{},...h?{rb:h}:{},...f?{wb:f}:{}});var o=await n.sign(p,r,null,{raw:1});if(i.raw||(o="SEA"+JSON.stringify(o)),s)try{s(o)}catch(t){console.log(t)}return o}catch(t){if(n.err=t,n.throw)throw t;return void(s&&s())}}),t.exports=n.certify}))(e,"./certify"),e((function(t){var n=e("./shim"),r=e("./root");r.work=e("./work"),r.sign=e("./sign"),r.verify=e("./verify"),r.encrypt=e("./encrypt"),r.decrypt=e("./decrypt"),r.certify=e("./certify"),r.random=r.random||n.random,r.Buffer=r.Buffer||e("./buffer"),r.keyid=r.keyid||(async t=>{try{const e=n.Buffer.concat(t.replace(/-/g,"+").replace(/_/g,"/").split(".").map((t=>n.Buffer.from(t,"base64")))),r=n.Buffer.concat([n.Buffer.from([153,e.length/256,e.length%256]),e]),s=await sha1hash(r),i=n.Buffer.from(s,"binary");return i.toString("hex",i.length-8)}catch(t){throw console.log(t),t}}),((r.window||{}).GUN||{}).SEA=r,t.exports=r}))(e,"./sea"),e((function(t){var n,s=e("./sea");function i(t){this._={$:this}}function o(){return n.state().toString(36).replace(".","")}n=s.window?s.window.GUN||{chain:{}}:e((undefined+""==typeof r?".":"")+"./gun",1),s.GUN=n,i.prototype=function(){function t(){}return t.prototype=n.chain,new t}(),i.prototype.constructor=i,n.chain.user=function(t){var e,n=this.back(-1);if(t)return t=s.opt.pub((t._||"")["#"])||t,n.get("~"+t);if(e=n.back("user"))return e;var r=n=n._,a=r.opt.uuid||o;return(r=(e=r.user=this.chain(new i))._).opt={},r.opt.uuid=function(t){var e=a(),r=n.user;return r&&(r=r.is)&&(r=r.pub)?(e="~"+r+"/"+e,t&&t.call&&t(null,e),e):e},e},n.User=i,i.GUN=n,i.SEA=n.SEA=s,t.exports=i}))(e,"./user"),e((function(t){var n;(""+n!=typeof GUN?GUN||{chain:{}}:e((""+n==typeof r?".":"")+"./gun",1)).chain.then=function(t,e){var n=this,r=new Promise((function(t,r){n.once(t,e)}));return t?r.then(t):r}}))(e,"./then"),e((function(t){var n=e("./user"),r=n.SEA,s=n.GUN,i=function(){};n.prototype.create=function(...t){var e,n="object"==typeof t[0]&&(t[0].pub||t[0].epub)?t[0]:"object"==typeof t[1]&&(t[1].pub||t[1].epub)?t[1]:null,o=n&&(n.pub||n.epub)?n.pub:"string"==typeof t[0]?t[0]:null,a=n&&(n.pub||n.epub)?n:o&&"string"==typeof t[1]?t[1]:null,c=t.filter((t=>"function"==typeof t))[0]||null,u=t&&t.length>1&&"object"==typeof t[t.length-1]?t[t.length-1]:{},l=this,h=l._,f=l.back(-1);if((c=c||i,!1!==(u=u||{}).check)&&(o||(e="No user."),(a||"").length<8&&(e="Password too short!"),e))return c({err:s.log(e)}),l;if(h.ing)return(c||i)({err:s.log("User is already being created or authenticated!"),wait:!0}),l;h.ing=!0;var p={};return p.a=function(t){if(p.pubs=t,t&&!u.already){var e={err:s.log("User already created!")};return h.ing=!1,(c||i)(e),void l.leave()}p.salt=String.random(64),r.work(a,p.salt,p.b)},p.b=function(t){p.proof=t,n?p.c(n):r.pair(p.c)},p.c=function(t){var e;p.pair=t||{},(e=h.root.user)&&(e._.sea=t,e.is={pub:t.pub,epub:t.epub,alias:o}),p.data={pub:t.pub},p.d()},p.d=function(){p.data.alias=o,p.e()},p.e=function(){p.data.epub=p.pair.epub,r.encrypt({priv:p.pair.priv,epriv:p.pair.epriv},p.proof,p.f,{raw:1})},p.f=function(t){p.data.auth=JSON.stringify({ek:t,s:p.salt}),p.g(p.data.auth)},p.g=function(t){var e;p.data.auth=p.data.auth||t,f.get(e="~"+p.pair.pub).put(p.data).on(p.h);var n={};n[e]={"#":e},f.get("~@"+o).put(n).get(e).on(p.i)},p.h=function(t,e,n,r){r.off(),p.h.ok=1,p.i()},p.i=function(t,e,r,s){s&&(p.i.ok=1,s.off()),p.h.ok&&p.i.ok&&(h.ing=!1,c({ok:0,pub:p.pair.pub}),i===c&&(n?l.auth(n):l.auth(o,a)))},f.get("~@"+o).once(p.a),l},n.prototype.leave=function(t,e){var n=this.back(-1)._.user;if(n&&(delete n.is,delete n._.is,delete n._.sea),r.window)try{var s={};delete(s=r.window.sessionStorage).recall,delete s.pair}catch(t){}return this}}))(e,"./create"),e((function(t){var n=e("./user"),r=n.SEA,s=n.GUN,i=function(){};function o(t){if("string"!=typeof t)return t;try{t=JSON.parse(t)}catch(e){t={}}return t}n.prototype.auth=function(...t){var e="object"==typeof t[0]&&(t[0].pub||t[0].epub)?t[0]:"object"==typeof t[1]&&(t[1].pub||t[1].epub)?t[1]:null,n=e||"string"!=typeof t[0]?null:t[0],a=!n&&(!e||e.priv&&e.epriv)||"string"!=typeof t[1]?null:t[1],c=t.filter((t=>"function"==typeof t))[0]||null,u=t&&t.length>1&&"object"==typeof t[t.length-1]?t[t.length-1]:{},l=this,h=l._,f=l.back(-1);if(h.ing)return(c||i)({err:s.log("User is already being created or authenticated!"),wait:!0}),l;h.ing=!0;var p,d={},g=9;return d.a=function(t){if(!t)return d.b();if(!t.pub){var e=[];return Object.keys(t).forEach((function(n){"_"!=n&&e.push(t[n])})),d.b(e)}if(d.name)return d.f(t);d.c((d.data=t).auth)},d.b=function(t){var e=(d.list=(d.list||[]).concat(t||[])).shift();if(p===e)return d.name?d.err("Your user account is not published for dApps to access, please consider syncing it online, or allowing local access by adding your device as a peer."):n&&g--?void f.get("~@"+n).once(d.a):d.err("Wrong user or password.");f.get(e).once(d.a)},d.c=function(t){return p===t?d.b():"string"==typeof t?d.c(o(t)):void r.work(a,(d.auth=t).s,d.d,d.enc)},d.d=function(t){r.decrypt(d.auth.ek,t,d.e,d.enc)},d.e=function(t){if(p===t)return d.enc?(d.enc=null,d.b()):(d.enc={encode:"utf8"},d.c(d.auth));d.half=t,d.f(d.data)},d.f=function(t){var e=d.half||{},n=d.data||{};d.g(d.lol={pub:t.pub||n.pub,epub:t.epub||n.epub,priv:t.priv||e.priv,epriv:t.epriv||e.epriv})},d.g=function(t){if(!t||!t.pub||!t.epub)return d.b();d.pair=t;var e=f._.user,g=e._,y=(g.tag,g.opt);(g=e._=f.get("~"+t.pub)._).opt=y,e.is={pub:t.pub,epub:t.epub,alias:n||t.pub},g.sea=d.pair,h.ing=!1;try{a&&p==(o(h.root.graph["~"+t.pub].auth)||"")[":"]&&(u.shuffle=u.change=a)}catch(t){}if(u.change?d.z():(c||i)(g),r.window&&(l.back("user")._.opt||u).remember)try{var m={};(m=r.window.sessionStorage).recall=!0,m.pair=JSON.stringify(t)}catch(t){}try{f._.tag.auth?f._.on("auth",g):setTimeout((function(){f._.on("auth",g)}),1)}catch(t){s.log("Your 'auth' callback crashed with:",t)}},d.h=function(t){return t?((n=t.alias)||(n=t.alias="~"+e.pub),t.auth?(e=null,void d.c((d.data=t).auth)):d.g(e)):d.b()},d.z=function(){d.salt=String.random(64),r.work(u.change,d.salt,d.y)},d.y=function(t){r.encrypt({priv:d.pair.priv,epriv:d.pair.epriv},t,d.x,{raw:1})},d.x=function(t){d.w(JSON.stringify({ek:t,s:d.salt}))},d.w=function(t){if(u.shuffle){console.log("migrate core account from UTF8 & shuffle");var e={};Object.keys(d.data).forEach((function(t){e[t]=d.data[t]})),delete e._,e.auth=t,f.get("~"+d.pair.pub).put(e)}f.get("~"+d.pair.pub).get("auth").put(t,c||i)},d.err=function(t){var e={err:s.log(t||"User cannot be found!")};h.ing=!1,(c||i)(e)},d.plugin=function(t){if(!(d.name=t))return d.err();var e=[t];"~"!==t[0]&&(e[1]="~"+t,e[2]="~@"+t),d.b(e)},e?e.priv&&e.epriv?d.g(e):f.get("~"+e.pub).once(d.h):n?f.get("~@"+n).once(d.a):n||a||r.name(d.plugin),l}}))(e,"./auth"),e((function(t){var n=e("./user"),r=n.SEA;n.GUN;n.prototype.recall=function(t,e){var n=this,s=n.back(-1);if((t=t||{})&&t.sessionStorage){if(r.window)try{var i;(i=r.window.sessionStorage)&&(s._.opt.remember=!0,(n.back("user")._.opt||t).remember=!0,(i.recall||i.pair)&&s.user().auth(JSON.parse(i.pair),e))}catch(t){}return n}return n}}))(e,"./recall"),e((function(t){var n=e("./user"),r=n.SEA,s=n.GUN,i=function(){};n.prototype.pair=function(){var t,e=this;try{t=new Proxy({DANGER:"☠"},{get:function(t,n,r){if(e.is&&(e._||"").sea)return e._.sea[n]}})}catch(t){}return t},n.prototype.delete=async function(t,e,n){console.log("user.delete() IS DEPRECATED AND WILL BE MOVED TO A MODULE!!!");var r=this,o=(r.back(-1),r.back("user"));try{o.auth(t,e,(function(t){(o.is||{}).pub;o.map().once((function(){this.put(null)})),o.leave(),(n||i)({ok:0})}))}catch(t){s.log("User.delete failed! Error:",t)}return r},n.prototype.alive=async function(){console.log("user.alive() IS DEPRECATED!!!");const t=this.back(-1);try{return await authRecall(t),t._.user._}catch(t){const e="No session!";throw s.log(e),{err:e}}},n.prototype.trust=async function(t){console.log("`.trust` API MAY BE DELETED OR CHANGED OR RENAMED, DO NOT USE!"),s.is(t)&&t.get("pub").get(((t,e)=>{console.log(t,e)})),t.get("trust").get(path).put(theirPubkey)},n.prototype.grant=function(t,e){console.log("`.grant` API MAY BE DELETED OR CHANGED OR RENAMED, DO NOT USE!");var n=this,s=n.back(-1).user(),i=s._.sea,o="";return n.back((function(t){t.is||(o+=t.get||"")})),async function(){var n,a=await s.get("grant").get(i.pub).get(o).then();(a=await r.decrypt(a,i))||(a=r.random(16).toString(),n=await r.encrypt(a,i),s.get("grant").get(i.pub).get(o).put(n));var c=t.get("pub").then(),u=t.get("epub").then();c=await c,u=await u;var l=await r.secret(u,i);n=await r.encrypt(a,l),s.get("grant").get(c).get(o).put(n,e)}(),n},n.prototype.secret=function(t,e){console.log("`.secret` API MAY BE DELETED OR CHANGED OR RENAMED, DO NOT USE!");var n=this,s=n.back(-1).user(),i=s.pair(),o="";return n.back((function(t){t.is||(o+=t.get||"")})),async function(){var a,c=await s.get("trust").get(i.pub).get(o).then();(c=await r.decrypt(c,i))||(c=r.random(16).toString(),a=await r.encrypt(c,i),s.get("trust").get(i.pub).get(o).put(a)),a=await r.encrypt(t,c),n.put(a,e)}(),n},t.exports=n}))(e,"./share"),e((function(t){var n,s=e("./sea"),i=e("./settings"),o=(s.window||"").GUN||e((""+n==typeof r?".":"")+"./gun",1);function a(t){var e,n=this,r=n.as,i=t.put,c=i["#"],u=i["."],l=i[":"],h=i[">"],f=t["#"];if(c&&u)if((t._||"").faith&&(r.opt||"").faith&&"function"==typeof t._)s.opt.pack(i,(function(e){s.verify(e,!1,(function(e){i["="]=s.opt.unpack(e),n.to.next(t)}))}));else{var p=function(e){r.on("in",{"@":f,err:t.err=e})};(t._||"").DBG&&((t._||"").DBG.c=+new Date),0<=c.indexOf("<?")&&(e=parseFloat(c.split("<?")[1]||""))&&h<o.state()-1e3*e?(e=t._)&&e.stun&&e.stun--:"~@"!==c?"~@"!==c.slice(0,2)?(e=s.opt.pub(c))?a.pub(n,t,l,u,c,r,p,r.user||"",e):0<=c.indexOf("#")?a.hash(n,t,l,u,c,r,p):a.any(n,t,l,u,c,r,p,r.user||""):a.pubs(n,t,l,u,c,r,p):a.alias(n,t,l,u,c,r,p)}}o.on("opt",(function(t){t.sea||(t.sea={own:{}},t.on("put",a,t)),this.to.next(t)})),a.hash=function(t,e,n,r,i,o,a){s.work(n,null,(function(n){return n&&n===r.split("#").slice(-1)[0]||n&&n===function(t){let e="";for(let n=0;n<t.length;n++)e+=n-1&1?"":String.fromCharCode(parseInt(t.substring(n-1,n+1),16));return btoa(e)}(r.split("#").slice(-1)[0])?t.to.next(e):void a("Data hash not same as hash!")}),{name:"SHA-256"})},a.alias=function(t,e,n,r,s,i,o){return n?"~@"+r===u(n)?t.to.next(e):void o("Alias not same!"):o("Data must exist!")},a.pubs=function(t,e,n,r,s,i,o){return n?r===u(n)?t.to.next(e):void o("Alias not same!"):o("Alias must exist!")},a.pub=async function(t,e,r,a,c,l,h,f,p){var d;const g=await i.parse(r)||{},y=(r,i,u)=>{if(r.m&&r.s&&i&&p)return s.verify(r,p,(r=>{if(n!==r&&n!==r.e&&e.put[">"]&&e.put[">"]>parseFloat(r.e))return h("Certificate expired.");if(n!==r&&r.c&&r.w&&(r.c===i||r.c.indexOf("*")>-1)){let e=c.indexOf("/")>-1?c.replace(c.substring(0,c.indexOf("/")+1),""):"";String.match=String.match||o.text.match;const n=Array.isArray(r.w)?r.w:"object"==typeof r.w||"string"==typeof r.w?[r.w]:[];for(const o of n)if(String.match(e,o["#"])&&String.match(a,o["."])||!o["."]&&String.match(e,o["#"])||!o["#"]&&String.match(a,o["."])||String.match(e?e+"/"+a:a,o["#"]||o)){if(o["+"]&&o["+"].indexOf("*")>-1&&e&&-1==e.indexOf(i)&&-1==a.indexOf(i))return h(`Path "${e}" or key "${a}" must contain string "${i}".`);if(r.wb&&("string"==typeof r.wb||(r.wb||{})["#"])){var s=t.as.root.$.back(-1);return"string"==typeof r.wb&&"~"!==r.wb.slice(0,1)&&(s=s.get("~"+p)),s.get(r.wb).get(i).once((t=>!t||1!==t&&!0!==t?u(r):h(`Certificant ${i} blocked.`)))}return u(r)}return h("Certificate verification fail.")}}))};if("pub"===a&&"~"+p===c)return r===p?t.to.next(e):h("Account not same!");(d=f.is)&&d.pub&&!g["*"]&&!g["+"]&&(p===d.pub||p!==d.pub&&((e._.msg||{}).opt||{}).cert)?s.opt.pack(e.put,(o=>{s.sign(o,f._.sea,(async function(o){if(n===o)return h(s.err||"Signature fail.");if(e.put[":"]={":":d=s.opt.unpack(o.m),"~":o.s},e.put["="]=d,p===f.is.pub)return(d=u(r))&&((l.sea.own[d]=l.sea.own[d]||{})[p]=1),void JSON.stringifyAsync(e.put[":"],(function(n,r){return n?h(n||"Stringify error."):(e.put[":"]=r,t.to.next(e))}));if(p!==f.is.pub&&((e._.msg||{}).opt||{}).cert){const n=await i.parse(e._.msg.opt.cert);n&&n.m&&n.s&&y(n,f.is.pub,(r=>{e.put[":"]["+"]=n,e.put[":"]["*"]=f.is.pub,JSON.stringifyAsync(e.put[":"],(function(n,r){return n?h(n||"Stringify error."):(e.put[":"]=r,t.to.next(e))}))}))}}),{raw:1})})):s.opt.pack(e.put,(r=>{s.verify(r,g["*"]||p,(function(r){var i;return r=s.opt.unpack(r),n===r?h("Unverified data."):((i=u(r))&&p===s.opt.pub(i)&&((l.sea.own[i]=l.sea.own[i]||{})[p]=1),g["+"]&&g["+"].m&&g["+"].s&&g["*"]?void y(g["+"],g["*"],(n=>(e.put["="]=r,t.to.next(e)))):(e.put["="]=r,t.to.next(e)))}))}))},a.any=function(t,e,n,r,s,i,o,a){if(i.opt.secure)return o("Soul missing public key at '"+r+"'.");i.on("secure",(function(e){if(this.off(),!i.opt.secure)return t.to.next(e);o("Data cannot be changed.")})).on.on("secure",e)};var c=o.valid,u=function(t,e){return"string"==typeof(e=c(t))&&e},l=((o.state||"").ify,/[^\w_-]/);s.opt.pub=function(t){if(t&&(t=t.split("~"))&&(t=t[1])&&(t=t.split(l).slice(0,2))&&2==t.length&&"@"!==(t[0]||"")[0])return t=t.slice(0,2).join(".")},s.opt.stringy=function(t){},s.opt.pack=function(t,e,r,i,a){var c,u;if(s.opt.check(t))return e(t);t&&t["#"]&&t["."]&&t[">"]&&(c=t[":"],u=1),JSON.parseAsync(u?c:t,(function(s,c){var u=n!==(c||"")[":"]&&(c||"")["~"];e(u?{m:{"#":a||t["#"],".":r||t["."],":":(c||"")[":"],">":t[">"]||o.state.is(i,r)},s:u}:t)}))};var h=s.opt;s.opt.unpack=function(t,e,r){var i;if(n!==t){if(t&&n!==(i=t[":"]))return i;if(e=e||h.fall_key,!r&&h.fall_val&&((r={})[e]=h.fall_val),e&&r){if(t===r[e])return t;if(!s.opt.check(r[e]))return t;var a=r&&r._&&r._["#"]||h.fall_soul,c=o.state.is(r,e)||h.fall_state;return t&&4===t.length&&a===t[0]&&e===t[1]&&f(c)===f(t[3])?t[2]:c<s.opt.shuffle_attack?t:void 0}}},s.opt.shuffle_attack=15463296e5;var f=Math.floor}))(e,"./index")}()},5736:t=>{function e(t){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}e.keys=()=>[],e.resolve=e,e.id=5736,t.exports=e},5463:(t,e,n)=>{n.d(e,{aT:()=>w,A7:()=>d,Jo:()=>m,dh:()=>g,ts:()=>y});var r={PROOF_OF_INTEGRITY_ADDRESS:"0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512",STEALTH_ANNOUNCER_ADDRESS:"0x5FbDB2315678afecb367f032d93F642f64180aa3"};if("undefined"==typeof window){var s=require("url").fileURLToPath,i=require("path").dirname,o=require("fs").readFileSync,a=require("path").join;try{var c=o(a(i(s("file:///D:/gun-eth/src/config/local.js")),"contract-address.json"),"utf8");r=JSON.parse(c),console.log("Loaded contract addresses:",r)}catch(t){console.warn("Warning: contract-address.json not found or invalid")}}r.PROOF_OF_INTEGRITY_ADDRESS,r.STEALTH_ANNOUNCER_ADDRESS;function u(t){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u(t)}function l(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function h(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?l(Object(n),!0).forEach((function(e){f(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function f(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=u(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=u(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==u(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var p={optimismSepolia:{STEALTH_ANNOUNCER_ADDRESS:"0xD0F2e9DA59d2DFECFdE67CcF17300BB6093A72f8",PROOF_OF_INTEGRITY_ADDRESS:"0x...",RPC_URL:"https://sepolia.optimism.io",CHAIN_ID:11155420},arbitrumSepolia:{STEALTH_ANNOUNCER_ADDRESS:"0x...",PROOF_OF_INTEGRITY_ADDRESS:"0x...",RPC_URL:"https://sepolia-rollup.arbitrum.io/rpc",CHAIN_ID:421614},localhost:{RPC_URL:"http://127.0.0.1:8545",CHAIN_ID:1337}},d=p.optimismSepolia.PROOF_OF_INTEGRITY_ADDRESS,g=p.optimismSepolia.STEALTH_ANNOUNCER_ADDRESS;function y(t){var e;if("localhost"===t)try{var n=require("../config/contract-address.json");return e=h(h({},p.localhost),n),console.log("Using local addresses:",e),e}catch(t){throw console.warn("No local addresses found"),new Error("No local addresses found. Did you run local deployment?")}if(!(e=p[t]))throw new Error("Chain ".concat(t," not supported. Supported chains: ").concat(Object.keys(p).join(", ")));return e}var m=[{inputs:[{internalType:"address",name:"_devAddress",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{internalType:"string",name:"senderPublicKey",type:"string"},{internalType:"string",name:"spendingPublicKey",type:"string"},{internalType:"address",name:"stealthAddress",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"StealthPaymentAnnounced",type:"event"},{anonymous:!1,inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"DevAddressUpdated",type:"event"},{anonymous:!1,inputs:[{internalType:"uint256",name:"newFee",type:"uint256"}],name:"DevFeeUpdated",type:"event"},{inputs:[{internalType:"string",name:"senderPublicKey",type:"string"},{internalType:"string",name:"spendingPublicKey",type:"string"},{internalType:"address",name:"stealthAddress",type:"address"}],name:"announcePayment",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"devAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"devFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAnnouncementsCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"fromIndex",type:"uint256"},{internalType:"uint256",name:"toIndex",type:"uint256"}],name:"getAnnouncementsInRange",outputs:[{components:[{internalType:"string",name:"senderPublicKey",type:"string"},{internalType:"string",name:"spendingPublicKey",type:"string"},{internalType:"address",name:"stealthAddress",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],internalType:"struct StealthAnnouncer.StealthAnnouncement[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_newFee",type:"uint256"}],name:"updateDevFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_newAddress",type:"address"}],name:"updateDevAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"withdrawStuckETH",outputs:[],stateMutability:"nonpayable",type:"function"}],w=[{inputs:[{internalType:"bytes[]",name:"nodeIds",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes",name:"nodeId",type:"bytes"},{indexed:!1,internalType:"bytes32",name:"contentHash",type:"bytes32"},{indexed:!1,internalType:"address",name:"updater",type:"address"}],name:"DataUpdated",type:"event"},{inputs:[{internalType:"bytes",name:"nodeId",type:"bytes"}],name:"getLatestRecord",outputs:[{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"nodeId",type:"bytes"},{internalType:"bytes32",name:"contentHash",type:"bytes32"}],name:"updateData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"nodeId",type:"bytes"},{internalType:"bytes32",name:"contentHash",type:"bytes32"}],name:"verifyData",outputs:[{internalType:"bool",name:"",type:"bool"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}]},103:(t,e,n)=>{n.a(t,(async(t,r)=>{try{n.d(e,{Ay:()=>et,MZ:()=>Z,Nd:()=>tt,bk:()=>Y,gv:()=>b,hS:()=>O,i6:()=>N,kA:()=>X});var s,i=n(9229),o=(n(8030),n(6212)),a=n(7761),c=n(5539),u=n(6211),l=n(5642),h=n(6525),f=n(7649),p=n(2724),d=n(7303),g=n(5463);function T(t){return T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},T(t)}function P(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,Q(r.key),r)}}function I(t,e,n){return e&&P(t.prototype,e),n&&P(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function C(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function B(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function D(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function M(t){if(Array.isArray(t))return H(t)}function U(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=_(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,s=function(){};return{s,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,a=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return o=t.done,t},e:function(t){a=!0,i=t},f:function(){try{o||null==n.return||n.return()}finally{if(a)throw i}}}}function L(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function F(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?L(Object(n),!0).forEach((function(e){J(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):L(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function G(t,e){return V(t)||K(t,e)||_(t,e)||j()}function j(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _(t,e){if(t){if("string"==typeof t)return H(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?H(t,e):void 0}}function H(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function K(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,s,i,o,a=[],c=!0,u=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(a.push(r.value),a.length!==e);c=!0);}catch(t){u=!0,s=t}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw s}}return a}}function V(t){if(Array.isArray(t))return t}function J(t,e,n){return(e=Q(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Q(t){var e=z(t,"string");return"symbol"==T(e)?e:e+""}function z(t,e){if("object"!=T(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=T(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}function $(){$=function(){return e};var t,e={},n=Object.prototype,r=n.hasOwnProperty,s=Object.defineProperty||function(t,e,n){t[e]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,n){return t[e]=n}}function l(t,e,n,r){var i=e&&e.prototype instanceof m?e:m,o=Object.create(i.prototype),a=new I(r||[]);return s(o,"_invoke",{value:S(t,n,a)}),o}function h(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var f="suspendedStart",p="suspendedYield",d="executing",g="completed",y={};function m(){}function w(){}function b(){}var A={};u(A,o,(function(){return this}));var v=Object.getPrototypeOf,E=v&&v(v(C([])));E&&E!==n&&r.call(E,o)&&(A=E);var k=b.prototype=m.prototype=Object.create(A);function x(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function R(t,e){function n(s,i,o,a){var c=h(t[s],t,i);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==T(l)&&r.call(l,"__await")?e.resolve(l.__await).then((function(t){n("next",t,o,a)}),(function(t){n("throw",t,o,a)})):e.resolve(l).then((function(t){u.value=t,o(u)}),(function(t){return n("throw",t,o,a)}))}a(c.arg)}var i;s(this,"_invoke",{value:function(t,r){function s(){return new e((function(e,s){n(t,r,e,s)}))}return i=i?i.then(s,s):s()}})}function S(e,n,r){var s=f;return function(i,o){if(s===d)throw Error("Generator is already running");if(s===g){if("throw"===i)throw o;return{value:t,done:!0}}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var c=O(a,r);if(c){if(c===y)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(s===f)throw s=g,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);s=d;var u=h(e,n,r);if("normal"===u.type){if(s=r.done?g:p,u.arg===y)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(s=g,r.method="throw",r.arg=u.arg)}}}function O(e,n){var r=n.method,s=e.iterator[r];if(s===t)return n.delegate=null,"throw"===r&&e.iterator.return&&(n.method="return",n.arg=t,O(e,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),y;var i=h(s,e.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,y;var o=i.arg;return o?o.done?(n[e.resultName]=o.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,y):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,y)}function N(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function I(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,this),this.reset(!0)}function C(e){if(e||""===e){var n=e[o];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var s=-1,i=function n(){for(;++s<e.length;)if(r.call(e,s))return n.value=e[s],n.done=!1,n;return n.value=t,n.done=!0,n};return i.next=i}}throw new TypeError(T(e)+" is not iterable")}return w.prototype=b,s(k,"constructor",{value:b,configurable:!0}),s(b,"constructor",{value:w,configurable:!0}),w.displayName=u(b,c,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===w||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,u(t,c,"GeneratorFunction")),t.prototype=Object.create(k),t},e.awrap=function(t){return{__await:t}},x(R.prototype),u(R.prototype,a,(function(){return this})),e.AsyncIterator=R,e.async=function(t,n,r,s,i){void 0===i&&(i=Promise);var o=new R(l(t,n,r,s),i);return e.isGeneratorFunction(n)?o:o.next().then((function(t){return t.done?t.value:o.next()}))},x(k),u(k,c,"Generator"),u(k,o,(function(){return this})),u(k,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},e.values=C,I.prototype={constructor:I,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(P),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function s(r,s){return a.type="throw",a.arg=e,n.next=r,s&&(n.method="next",n.arg=t),!!s}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return s("end");if(o.tryLoc<=this.prev){var c=r.call(o,"catchLoc"),u=r.call(o,"finallyLoc");if(c&&u){if(this.prev<o.catchLoc)return s(o.catchLoc,!0);if(this.prev<o.finallyLoc)return s(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return s(o.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return s(o.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var s=this.tryEntries[n];if(s.tryLoc<=this.prev&&r.call(s,"finallyLoc")&&this.prev<s.finallyLoc){var i=s;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=t,o.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(o)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),P(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var s=r.arg;P(n)}return s}}throw Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:C(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),y}},e}function W(t,e,n,r,s,i,o){try{var a=t[i](o),c=a.value}catch(t){return void n(t)}a.done?e(c):Promise.resolve(c).then(r,s)}function q(t){return function(){var e=this,n=arguments;return new Promise((function(r,s){var i=t.apply(e,n);function o(t){W(i,r,s,o,a,"next",t)}function a(t){W(i,r,s,o,a,"throw",t)}o(void 0)}))}}if("undefined"==typeof window){var y=await n.e(537).then(n.t.bind(n,537,19));global.TextEncoder=y.TextEncoder,global.TextDecoder=y.TextDecoder}var m="",w="",b="Access GunDB with Ethereum",A={PROOF_OF_INTEGRITY_ADDRESS:g.A7,STEALTH_ANNOUNCER_ADDRESS:g.dh};if("undefined"==typeof window){var v=require("url").fileURLToPath,E=require("path").dirname,k=require("fs").readFileSync,x=require("path"),R=E(v("file:///D:/gun-eth/src/index.js"));try{var S=k(x.join(R,"contract-address.json"),"utf8");A=JSON.parse(S),console.log("Loaded contract addresses:",A)}catch(nt){console.warn("Warning: contract-address.json not found or invalid")}}function Z(){return o.c$(a.p(32)).slice(2)}function Y(t){try{var e=o.c$(t),n=c.S(e);return console.log("Generated password:",n),n}catch(t){return console.error("Error generating password:",t),null}}function X(t){var e,n,r,s,i="0x"+(n="=".repeat((4-(e=t).length%4)%4),r=e.replace(/-/g,"+").replace(/_/g,"/")+n,s=atob(r),Array.from(s,(function(t){return t.charCodeAt(0).toString(16).padStart(2,"0")})).join("")),o=new u.u(i);return{account:o,publicKey:o.address,privateKey:i}}var O=function(){var t=q($().mark((function t(){var e,n;return $().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!m||!w){t.next=5;break}return e=new l.FR(m,{chainId:LOCAL_CONFIG.CHAIN_ID,name:"localhost"}),t.abrupt("return",new u.u(w,e));case 5:if("undefined"==typeof window||void 0===window.ethereum){t.next=12;break}return t.next=8,window.ethereum.request({method:"eth_requestAccounts"});case 8:return n=new h.k(window.ethereum),t.abrupt("return",n.getSigner());case 12:throw new Error("No valid Ethereum provider found");case 13:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}();function tt(t,e){try{var n=Buffer.from(t,"base64"),r=c.S(o.xW([n,o.q5(e)])),s=new u.u(r);return console.log("Debug deriveStealthAddress:",{sharedSecretHex:o.c$(n),spendingPublicKey:e,stealthPrivateKey:r,stealthAddress:s.address}),{stealthPrivateKey:r,stealthAddress:s.address,wallet:s}}catch(t){throw console.error("Error in deriveStealthAddress:",t),t}}i.chain.MESSAGE_TO_SIGN=b,i.chain.setSigner=function(t,e){return m=t,w=e,console.log("Standalone configuration set"),this},i.chain.getSigner=O(),i.chain.verifySignature=function(){var t=q($().mark((function t(e,n){var r;return $().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,r=f.l(e,n),t.abrupt("return",r);case 5:return t.prev=5,t.t0=t.catch(0),console.error("Error verifying signature:",t.t0),t.abrupt("return",null);case 9:case"end":return t.stop()}}),t,null,[[0,5]])})));return function(e,n){return t.apply(this,arguments)}}(),i.chain.generatePassword=function(t){return Y(t)},i.chain.createSignature=function(){var t=q($().mark((function t(e){var n,r;return $().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.prev=0,e===b){t.next=3;break}throw new Error("Invalid message, valid message is: "+b);case 3:return t.next=5,O();case 5:return n=t.sent,t.next=8,n.signMessage(e);case 8:return r=t.sent,console.log("Signature created:",r),t.abrupt("return",r);case 13:return t.prev=13,t.t0=t.catch(0),console.error("Error creating signature:",t.t0),t.abrupt("return",null);case 17:case"end":return t.stop()}}),t,null,[[0,13]])})));return function(e){return t.apply(this,arguments)}}(),i.chain.createAndStoreEncryptedPair=function(){var t=q($().mark((function t(e,n){var r,s,i,o,a,c,u,l,h,f;return $().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,r=this,t.next=4,SEA.pair();case 4:return s=t.sent,t.next=7,SEA.pair();case 7:return i=t.sent,t.next=10,SEA.pair();case 10:return o=t.sent,a=Y(n),t.next=14,SEA.encrypt(JSON.stringify(s),a);case 14:return c=t.sent,t.next=17,SEA.encrypt(JSON.stringify(i),a);case 17:return u=t.sent,t.next=20,SEA.encrypt(JSON.stringify(o),a);case 20:l=t.sent,h=X(i.priv),f=X(o.priv),r.get("gun-eth").get("users").get(e).put({pair:c,v_pair:u,s_pair:l,publicKeys:J(J(J({viewingPublicKey:i.epub},"viewingPublicKey",i.epub),"spendingPublicKey",f.publicKey),"ethViewingAddress",h.publicKey)}),console.log("Encrypted pairs and public keys stored for:",e),t.next=31;break;case 27:throw t.prev=27,t.t0=t.catch(0),console.error("Error creating and storing encrypted pair:",t.t0),t.t0;case 31:case"end":return t.stop()}}),t,this,[[0,27]])})));return function(e,n){return t.apply(this,arguments)}}(),i.chain.getAndDecryptPair=function(){var t=q($().mark((function t(e,n){var r,s,i,o;return $().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,r=this,t.next=4,r.get("gun-eth").get("users").get(e).get("pair").then();case 4:if(s=t.sent){t.next=7;break}throw new Error("No encrypted data found for this address");case 7:return i=Y(n),t.next=10,SEA.decrypt(s,i);case 10:return o=t.sent,console.log(o),t.abrupt("return",o);case 15:return t.prev=15,t.t0=t.catch(0),console.error("Error retrieving and decrypting pair:",t.t0),t.abrupt("return",null);case 19:case"end":return t.stop()}}),t,this,[[0,15]])})));return function(e,n){return t.apply(this,arguments)}}(),i.chain.proof=function(t,e,n,r){if(console.log("Proof plugin called with:",{chain:t,nodeId:e,data:n}),"function"!=typeof r)return console.error("Callback must be a function"),this;try{var i=isLocalEnvironment()?"localhost":t,o=(0,g.ts)(i);console.log("Using ".concat(i," configuration:"),o);new p.NZ(o.PROOF_OF_INTEGRITY_ADDRESS,g.aT,signer);var a=function(){var t=q($().mark((function t(e,n){var r,i,o,a,c,u,l;return $().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return console.log("Verifying on chain:",{nodeId:e,contentHash:n}),t.next=3,O();case 3:return r=t.sent,i=new p.NZ(s,g.aT,r),t.next=7,i.verifyData(d.YW(e),n);case 7:return o=t.sent,a=G(o,3),c=a[0],u=a[1],l=a[2],console.log("Verification result:",{isValid:c,timestamp:u,updater:l}),t.abrupt("return",{isValid:c,timestamp:u,updater:l});case 14:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}(),u=function(){var t=q($().mark((function t(e,n){var r,i,o,a;return $().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return console.log("Writing on chain:",{nodeId:e,contentHash:n}),t.next=3,O();case 3:return r=t.sent,i=new p.NZ(s,g.aT,r),t.next=7,i.updateData(d.YW(e),n);case 7:return o=t.sent,console.log("Transaction sent:",o.hash),t.next=11,o.wait();case 11:return a=t.sent,console.log("Transaction confirmed:",a),t.abrupt("return",o);case 14:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}(),l=function(){var t=q($().mark((function t(e){var n,r,i,o,a,c,u;return $().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,O();case 2:return n=t.sent,r=new p.NZ(s,g.aT,n),t.next=6,r.getLatestRecord(d.YW(e));case 6:return i=t.sent,o=G(i,3),a=o[0],c=o[1],u=o[2],console.log("Latest record from blockchain:",{nodeId:e,contentHash:a,timestamp:c,updater:u}),t.abrupt("return",{contentHash:a,timestamp:c,updater:u});case 13:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}();if(e&&!n)gun.get(e).once(function(){var t=q($().mark((function t(n){var s,i,o,c,u,h;return $().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n){t.next=3;break}return r&&r({err:"Node not found in GunDB"}),t.abrupt("return");case 3:if(console.log("existingData",n),s=n._contentHash,console.log("contentHash",s),s){t.next=9;break}return r&&r({err:"No content hash found for this node"}),t.abrupt("return");case 9:return t.prev=9,t.next=12,a(e,s);case 12:return i=t.sent,o=i.isValid,c=i.timestamp,u=i.updater,t.next=18,l(e);case 18:h=t.sent,o?r&&r({ok:!0,message:"Data verified on blockchain",timestamp:c,updater:u,latestRecord:h}):r&&r({ok:!1,message:"Data not verified on blockchain",latestRecord:h}),t.next=25;break;case 22:t.prev=22,t.t0=t.catch(9),r&&r({err:t.t0.message});case 25:case"end":return t.stop()}}),t,null,[[9,22]])})));return function(e){return t.apply(this,arguments)}}());else if(n&&!e){var h=Z(),f=JSON.stringify(n),y=c.S(d.YW(f));gun.get(h).put(F(F({},n),{},{_contentHash:y}),function(){var t=q($().mark((function t(e){var n;return $().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(console.log("ack",e),!e.err){t.next=4;break}return r&&r({err:"Error saving data to GunDB"}),t.abrupt("return");case 4:return t.prev=4,t.next=7,u(h,y);case 7:n=t.sent,r&&r({ok:!0,message:"Data written to GunDB and blockchain",nodeId:h,txHash:n.hash}),t.next=14;break;case 11:t.prev=11,t.t0=t.catch(4),r&&r({err:t.t0.message});case 14:case"end":return t.stop()}}),t,null,[[4,11]])})));return function(e){return t.apply(this,arguments)}}())}else r&&r({err:"Invalid input. Provide either nodeId or data, not both."});return gun}catch(t){return r({err:t.message}),this}},i.chain.gunToEthAccount=function(t){return X(t)},i.chain.generateStealthAddress=function(){var t=q($().mark((function t(e,n){var r,s,i,o,a,c,u,l,h,f;return $().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,r=this,t.next=4,r.get("gun-eth").get("users").get(e).get("publicKeys").then();case 4:if((s=t.sent)&&s.viewingPublicKey&&s.spendingPublicKey){t.next=7;break}throw new Error("Recipient's public keys not found");case 7:return t.next=9,this.verifySignature(b,n);case 9:return i=t.sent,o=Y(n),t.next=13,r.get("gun-eth").get("users").get(i).then();case 13:if((a=t.sent)&&a.s_pair){t.next=16;break}throw new Error("Sender's keys not found");case 16:return t.prev=16,t.next=19,SEA.decrypt(a.s_pair,o);case 19:u=t.sent,c="string"==typeof u?JSON.parse(u):u,t.next=27;break;case 23:throw t.prev=23,t.t0=t.catch(16),console.error("Error decrypting spending pair:",t.t0),new Error("Unable to decrypt spending pair");case 27:return t.next=29,SEA.secret(s.viewingPublicKey,c);case 29:if(l=t.sent){t.next=32;break}throw new Error("Unable to generate shared secret");case 32:return console.log("Generate shared secret:",l),h=tt(l,s.spendingPublicKey),f=h.stealthAddress,t.abrupt("return",{stealthAddress:f,senderPublicKey:c.epub,spendingPublicKey:s.spendingPublicKey});case 37:throw t.prev=37,t.t1=t.catch(0),console.error("Error generating stealth address:",t.t1),t.t1;case 41:case"end":return t.stop()}}),t,this,[[0,37],[16,23]])})));return function(e,n){return t.apply(this,arguments)}}(),i.chain.publishStealthKeys=function(){var t=q($().mark((function t(e){var n,r,s,i,o,a,c,u;return $().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,n=this,t.next=4,this.verifySignature(b,e);case 4:return r=t.sent,s=Y(e),t.next=8,n.get("gun-eth").get("users").get(r).then();case 8:if((i=t.sent)&&i.v_pair&&i.s_pair){t.next=11;break}throw new Error("Keys not found");case 11:return t.t0=JSON,t.next=14,SEA.decrypt(i.v_pair,s);case 14:return t.t1=t.sent,o=t.t0.parse.call(t.t0,t.t1),t.t2=JSON,t.next=19,SEA.decrypt(i.s_pair,s);case 19:t.t3=t.sent,a=t.t2.parse.call(t.t2,t.t3),c=X(o.priv),u=X(a.priv),n.get("gun-eth").get("users").get(r).get("publicKeys").put({viewingPublicKey:c.publicKey,spendingPublicKey:u.publicKey}),console.log("Stealth public keys published successfully"),t.next=31;break;case 27:throw t.prev=27,t.t4=t.catch(0),console.error("Error publishing stealth keys:",t.t4),t.t4;case 31:case"end":return t.stop()}}),t,this,[[0,27]])})));return function(e){return t.apply(this,arguments)}}(),i.chain.recoverStealthFunds=function(){var t=q($().mark((function t(e,n,r,s){var i,o,a,c,u,l,h,f,p,d;return $().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,i=this,o=Y(r),t.next=5,this.verifySignature(b,r);case 5:return a=t.sent,t.next=8,i.get("gun-eth").get("users").get(a).then();case 8:if((c=t.sent)&&c.v_pair&&c.s_pair){t.next=11;break}throw new Error("Keys not found");case 11:return t.prev=11,t.next=14,SEA.decrypt(c.v_pair,o);case 14:l=t.sent,u="string"==typeof l?JSON.parse(l):l,t.next=22;break;case 18:throw t.prev=18,t.t0=t.catch(11),console.error("Error decrypting keys:",t.t0),new Error("Unable to decrypt keys");case 22:return t.next=24,SEA.secret(n,u);case 24:if(h=t.sent){t.next=27;break}throw new Error("Unable to generate shared secret");case 27:if(console.log("Recover shared secret:",h),f=tt(h,s),p=f.wallet,(d=f.stealthAddress).toLowerCase()===e.toLowerCase()){t.next=32;break}throw console.error("Mismatch:",{recovered:d,expected:e,sharedSecret:h}),new Error("Recovered stealth address does not match");case 32:return t.abrupt("return",{wallet:p,address:d});case 35:throw t.prev=35,t.t1=t.catch(0),console.error("Error recovering stealth funds:",t.t1),t.t1;case 39:case"end":return t.stop()}}),t,this,[[0,35],[11,18]])})));return function(e,n,r,s){return t.apply(this,arguments)}}(),i.chain.announceStealthPayment=function(){var t=q($().mark((function t(e,n,r,s){var i,o,a,c,u,l,h,f,d,y,m=arguments;return $().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=m.length>4&&void 0!==m[4]?m[4]:{onChain:!1,chain:"optimismSepolia"},t.prev=1,o=this,t.next=5,this.verifySignature(b,s);case 5:if(a=t.sent,!i.onChain){t.next=29;break}return t.next=9,O();case 9:return c=t.sent,u=(0,g.ts)(i.chain),l=u.STEALTH_ANNOUNCER_ADDRESS,console.log("Using contract address:",l),h=new p.NZ(l,g.Jo,c),t.next=16,h.devFee();case 16:return f=t.sent,console.log("Dev fee:",f.toString()),t.next=20,h.announcePayment(n,r,e,{value:f});case 20:return d=t.sent,console.log("Transaction sent:",d.hash),t.next=24,d.wait();case 24:y=t.sent,console.log("Transaction confirmed:",y.hash),console.log("Stealth payment announced on-chain (dev fee paid)"),t.next=31;break;case 29:o.get("gun-eth").get("stealth-payments").set({stealthAddress:e,senderAddress:a,senderPublicKey:n,spendingPublicKey:r,timestamp:Date.now()}),console.log("Stealth payment announced off-chain");case 31:t.next=38;break;case 33:throw t.prev=33,t.t0=t.catch(1),console.error("Error announcing stealth payment:",t.t0),console.error("Error details:",t.t0.stack),t.t0;case 38:case"end":return t.stop()}}),t,this,[[1,33]])})));return function(e,n,r,s){return t.apply(this,arguments)}}(),i.chain.getStealthPayments=function(){var t=q($().mark((function t(e){var n,r,s,i,o,a,c,u,l,h,f,d,y,m,w,b,A,v,E=arguments;return $().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=E.length>1&&void 0!==E[1]?E[1]:{source:"both"},t.prev=1,r=[],"onChain"!==n.source&&"both"!==n.source){t.next=61;break}return t.next=6,O();case 6:return s=t.sent,i=g.dh,o=new p.NZ(i,g.Jo,s),t.prev=9,t.next=12,o.getAnnouncementsCount();case 12:if(a=t.sent,c=Number(a.toString()),console.log("Total on-chain announcements:",c),!(c>0)){t.next=56;break}u=100,l=c-1,h=0;case 19:if(!(h<=l)){t.next=56;break}return f=Math.min(h+u-1,l),t.next=23,o.getAnnouncementsInRange(h,f);case 23:d=t.sent,y=U(d),t.prev=25,y.s();case 27:if((m=y.n()).done){t.next=45;break}if(w=m.value,t.prev=29,w&&w.stealthAddress&&w.senderPublicKey&&w.spendingPublicKey){t.next=33;break}return console.log("Invalid announcement:",w),t.abrupt("continue",43);case 33:return t.next=35,this.recoverStealthFunds(w.stealthAddress,w.senderPublicKey,e,w.spendingPublicKey);case 35:b=t.sent,r.push({stealthAddress:w.stealthAddress,senderPublicKey:w.senderPublicKey,spendingPublicKey:w.spendingPublicKey,timestamp:Number(w.timestamp),source:"onChain",wallet:b}),t.next=43;break;case 39:return t.prev=39,t.t0=t.catch(29),console.log("Announcement not for us: ".concat(w.stealthAddress)),t.abrupt("continue",43);case 43:t.next=27;break;case 45:t.next=50;break;case 47:t.prev=47,t.t1=t.catch(25),y.e(t.t1);case 50:return t.prev=50,y.f(),t.finish(50);case 53:h+=u,t.next=19;break;case 56:t.next=61;break;case 58:t.prev=58,t.t2=t.catch(9),console.error("Error retrieving on-chain announcements:",t.t2);case 61:if("offChain"!==n.source&&"both"!==n.source){t.next=67;break}return A=this,t.next=65,new Promise((function(t){var e=[];A.get("gun-eth").get("stealth-payments").get(recipientAddress).map().once((function(t,n){null!=t&&t.stealthAddress&&e.push(F(F({},t),{},{id:n,source:"offChain"}))})),setTimeout((function(){return t(e)}),2e3)}));case 65:v=t.sent,r.push.apply(r,M(k=v)||D(k)||_(k)||B());case 67:return console.log("Found ".concat(r.length," stealth payments")),t.abrupt("return",r);case 71:throw t.prev=71,t.t3=t.catch(1),console.error("Error retrieving stealth payments:",t.t3),t.t3;case 75:case"end":return t.stop()}var k}),t,this,[[1,71],[9,58],[25,47,50,53],[29,39]])})));return function(e){return t.apply(this,arguments)}}(),i.chain.cleanStealthPayments=function(){var t=q($().mark((function t(e){var n,r;return $().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,n=this,t.next=4,n.get("gun-eth").get("stealth-payments").get(e).map().once().then();case 4:(r=t.sent)&&Object.keys(r).forEach(function(){var t=q($().mark((function t(s){var i;return $().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if((i=r[s])&&i.stealthAddress&&i.senderPublicKey&&i.spendingPublicKey){t.next=4;break}return t.next=4,n.get("gun-eth").get("stealth-payments").get(e).get(s).put(null);case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),t.next=11;break;case 8:t.prev=8,t.t0=t.catch(0),console.error("Error cleaning stealth payments:",t.t0);case 11:case"end":return t.stop()}}),t,this,[[0,8]])})));return function(e){return t.apply(this,arguments)}}();var N=I((function t(){C(this,t)}));J(N,"generateRandomId",Z),J(N,"generatePassword",Y),J(N,"gunToEthAccount",X),J(N,"getSigner",O),J(N,"deriveStealthAddress",tt),J(N,"chainMethods",{setSigner:i.chain.setSigner,getSigner:i.chain.getSigner,verifySignature:i.chain.verifySignature,generatePassword:i.chain.generatePassword,createSignature:i.chain.createSignature,createAndStoreEncryptedPair:i.chain.createAndStoreEncryptedPair,getAndDecryptPair:i.chain.getAndDecryptPair,proof:i.chain.proof,gunToEthAccount:i.chain.gunToEthAccount,generateStealthAddress:i.chain.generateStealthAddress,publishStealthKeys:i.chain.publishStealthKeys,recoverStealthFunds:i.chain.recoverStealthFunds,announceStealthPayment:i.chain.announceStealthPayment,getStealthPayments:i.chain.getStealthPayments,cleanStealthPayments:i.chain.cleanStealthPayments}),J(N,"MESSAGE_TO_SIGN",b),J(N,"PROOF_CONTRACT_ADDRESS",s),J(N,"LOCAL_CONFIG",LOCAL_CONFIG);const et=N;r()}catch(rt){r(rt)}}),1)},9529:(t,e,n)=>{n.d(e,{r:()=>r});const r="6.13.4"},5273:(t,e,n)=>{n.d(e,{y:()=>D});var r=n(7339),s=n(1228),i=n(31),o=n(7033),a=n(9353);class c extends s.Ue{constructor(t){super("address","address",t,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(t,e){let n=a.V.dereference(e,"string");try{n=(0,i.b)(n)}catch(t){return this._throwError(t.message,e)}return t.writeValue(n)}decode(t){return(0,i.b)((0,o.up)(t.readValue(),20))}}var u=n(8081);class l extends s.Ue{coder;constructor(t){super(t.name,t.type,"_",t.dynamic),this.coder=t}defaultValue(){return this.coder.defaultValue()}encode(t,e){return this.coder.encode(t,e)}decode(t){return this.coder.decode(t)}}function h(t,e,n){let i=[];if(Array.isArray(n))i=n;else if(n&&"object"==typeof n){let t={};i=e.map((e=>{const s=e.localName;return(0,r.vA)(s,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:e},value:n}),(0,r.vA)(!t[s],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:e},value:n}),t[s]=!0,n[s]}))}else(0,r.MR)(!1,"invalid tuple value","tuple",n);(0,r.MR)(e.length===i.length,"types/value length mismatch","tuple",n);let o=new s.AU,a=new s.AU,c=[];e.forEach(((t,e)=>{let n=i[e];if(t.dynamic){let e=a.length;t.encode(a,n);let r=o.writeUpdatableValue();c.push((t=>{r(t+e)}))}else t.encode(o,n)})),c.forEach((t=>{t(o.length)}));let u=t.appendWriter(o);return u+=t.appendWriter(a),u}function f(t,e){let n=[],i=[],o=t.subReader(0);return e.forEach((e=>{let s=null;if(e.dynamic){let n=t.readIndex(),i=o.subReader(n);try{s=e.decode(i)}catch(t){if((0,r.bJ)(t,"BUFFER_OVERRUN"))throw t;s=t,s.baseType=e.name,s.name=e.localName,s.type=e.type}}else try{s=e.decode(t)}catch(t){if((0,r.bJ)(t,"BUFFER_OVERRUN"))throw t;s=t,s.baseType=e.name,s.name=e.localName,s.type=e.type}if(null==s)throw new Error("investigate");n.push(s),i.push(e.localName||null)})),s.Q7.fromItems(n,i)}class p extends s.Ue{coder;length;constructor(t,e,n){super("array",t.type+"["+(e>=0?e:"")+"]",n,-1===e||t.dynamic),(0,u.n)(this,{coder:t,length:e})}defaultValue(){const t=this.coder.defaultValue(),e=[];for(let n=0;n<this.length;n++)e.push(t);return e}encode(t,e){const n=a.V.dereference(e,"array");Array.isArray(n)||this._throwError("expected array value",n);let s=this.length;-1===s&&(s=n.length,t.writeValue(n.length)),(0,r.dd)(n.length,s,"coder array"+(this.localName?" "+this.localName:""));let i=[];for(let t=0;t<n.length;t++)i.push(this.coder);return h(t,i,n)}decode(t){let e=this.length;-1===e&&(e=t.readIndex(),(0,r.vA)(e*s.Yx<=t.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:t.bytes,offset:e*s.Yx,length:t.dataLength}));let n=[];for(let t=0;t<e;t++)n.push(new l(this.coder));return f(t,n)}}class d extends s.Ue{constructor(t){super("bool","bool",t,!1)}defaultValue(){return!1}encode(t,e){const n=a.V.dereference(e,"bool");return t.writeValue(n?1:0)}decode(t){return!!t.readValue()}}var g=n(6212);class y extends s.Ue{constructor(t,e){super(t,t,e,!0)}defaultValue(){return"0x"}encode(t,e){e=(0,g.Lm)(e);let n=t.writeValue(e.length);return n+=t.writeBytes(e),n}decode(t){return t.readBytes(t.readIndex(),!0)}}class m extends y{constructor(t){super("bytes",t)}decode(t){return(0,g.c$)(super.decode(t))}}class w extends s.Ue{size;constructor(t,e){let n="bytes"+String(t);super(n,n,e,!1),(0,u.n)(this,{size:t},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+2*this.size)}encode(t,e){let n=(0,g.Lm)(a.V.dereference(e,this.type));return n.length!==this.size&&this._throwError("incorrect data length",e),t.writeBytes(n)}decode(t){return(0,g.c$)(t.readBytes(this.size))}}const b=new Uint8Array([]);class A extends s.Ue{constructor(t){super("null","",t,!1)}defaultValue(){return null}encode(t,e){return null!=e&&this._throwError("not null",e),t.writeBytes(b)}decode(t){return t.readBytes(0),null}}const v=BigInt(0),E=BigInt(1),k=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class x extends s.Ue{size;signed;constructor(t,e,n){const r=(e?"int":"uint")+8*t;super(r,r,n,!1),(0,u.n)(this,{size:t,signed:e},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(t,e){let n=(0,o.Ab)(a.V.dereference(e,this.type)),r=(0,o.dK)(k,8*s.Yx);if(this.signed){let t=(0,o.dK)(r,8*this.size-1);(n>t||n<-(t+E))&&this._throwError("value out-of-bounds",e),n=(0,o.JJ)(n,8*s.Yx)}else(n<v||n>(0,o.dK)(r,8*this.size))&&this._throwError("value out-of-bounds",e);return t.writeValue(n)}decode(t){let e=(0,o.dK)(t.readValue(),8*this.size);return this.signed&&(e=(0,o.ST)(e,8*this.size)),e}}var R=n(7303);class S extends y{constructor(t){super("string",t)}defaultValue(){return""}encode(t,e){return super.encode(t,(0,R.YW)(a.V.dereference(e,"string")))}decode(t){return(0,R._v)(super.decode(t))}}class O extends s.Ue{coders;constructor(t,e){let n=!1;const r=[];t.forEach((t=>{t.dynamic&&(n=!0),r.push(t.type)}));super("tuple","tuple("+r.join(",")+")",e,n),(0,u.n)(this,{coders:Object.freeze(t.slice())})}defaultValue(){const t=[];this.coders.forEach((e=>{t.push(e.defaultValue())}));const e=this.coders.reduce(((t,e)=>{const n=e.localName;return n&&(t[n]||(t[n]=0),t[n]++),t}),{});return this.coders.forEach(((n,r)=>{let s=n.localName;s&&1===e[s]&&("length"===s&&(s="_length"),null==t[s]&&(t[s]=t[r]))})),Object.freeze(t)}encode(t,e){const n=a.V.dereference(e,"tuple");return h(t,this.coders,n)}decode(t){return f(t,this.coders)}}var N=n(6124);const T=new Map;T.set(0,"GENERIC_PANIC"),T.set(1,"ASSERT_FALSE"),T.set(17,"OVERFLOW"),T.set(18,"DIVIDE_BY_ZERO"),T.set(33,"ENUM_RANGE_ERROR"),T.set(34,"BAD_STORAGE_DATA"),T.set(49,"STACK_UNDERFLOW"),T.set(50,"ARRAY_RANGE_ERROR"),T.set(65,"OUT_OF_MEMORY"),T.set(81,"UNINITIALIZED_FUNCTION_CALL");const P=new RegExp(/^bytes([0-9]*)$/),I=new RegExp(/^(u?int)([0-9]*)$/);let C=null,B=1024;class D{#t(t){if(t.isArray())return new p(this.#t(t.arrayChildren),t.arrayLength,t.name);if(t.isTuple())return new O(t.components.map((t=>this.#t(t))),t.name);switch(t.baseType){case"address":return new c(t.name);case"bool":return new d(t.name);case"string":return new S(t.name);case"bytes":return new m(t.name);case"":return new A(t.name)}let e=t.type.match(I);if(e){let n=parseInt(e[2]||"256");return(0,r.MR)(0!==n&&n<=256&&n%8==0,"invalid "+e[1]+" bit length","param",t),new x(n/8,"int"===e[1],t.name)}if(e=t.type.match(P),e){let n=parseInt(e[1]);return(0,r.MR)(0!==n&&n<=32,"invalid bytes length","param",t),new w(n,t.name)}(0,r.MR)(!1,"invalid type","type",t.type)}getDefaultValue(t){const e=t.map((t=>this.#t(N.aX.from(t))));return new O(e,"_").defaultValue()}encode(t,e){(0,r.dd)(e.length,t.length,"types/values length mismatch");const n=t.map((t=>this.#t(N.aX.from(t)))),i=new O(n,"_"),o=new s.AU;return i.encode(o,e),o.data}decode(t,e,n){const r=t.map((t=>this.#t(N.aX.from(t))));return new O(r,"_").decode(new s.mP(e,n,B))}static _setDefaultMaxInflation(t){(0,r.MR)("number"==typeof t&&Number.isInteger(t),"invalid defaultMaxInflation factor","value",t),B=t}static defaultAbiCoder(){return null==C&&(C=new D),C}static getBuiltinCallException(t,e,n){return function(t,e,n,s){let o="missing revert data",a=null,c=null;if(n){o="execution reverted";const t=(0,g.q5)(n);if(n=(0,g.c$)(n),0===t.length)o+=" (no data present; likely require(false) occurred",a="require(false)";else if(t.length%32!=4)o+=" (could not decode reason; invalid data length)";else if("0x08c379a0"===(0,g.c$)(t.slice(0,4)))try{a=s.decode(["string"],t.slice(4))[0],c={signature:"Error(string)",name:"Error",args:[a]},o+=`: ${JSON.stringify(a)}`}catch(t){o+=" (could not decode reason; invalid string data)"}else if("0x4e487b71"===(0,g.c$)(t.slice(0,4)))try{const e=Number(s.decode(["uint256"],t.slice(4))[0]);c={signature:"Panic(uint256)",name:"Panic",args:[e]},a=`Panic due to ${T.get(e)||"UNKNOWN"}(${e})`,o+=`: ${a}`}catch(t){o+=" (could not decode panic code)"}else o+=" (unknown custom error)"}const u={to:e.to?(0,i.b)(e.to):null,data:e.data||"0x"};return e.from&&(u.from=(0,i.b)(e.from)),(0,r.xz)(o,"CALL_EXCEPTION",{action:t,data:n,reason:a,transaction:u,invocation:null,revert:c})}(t,e,n,D.defaultAbiCoder())}}},1228:(t,e,n)=>{n.d(e,{AU:()=>b,Q7:()=>y,Ue:()=>w,Yx:()=>a,mP:()=>A});var r=n(7033),s=n(7339),i=n(6212),o=n(8081);const a=32,c=new Uint8Array(a),u=["then"],l={},h=new WeakMap;function f(t){return h.get(t)}function p(t,e){h.set(t,e)}function d(t,e){const n=new Error(`deferred error during ABI decoding triggered accessing ${t}`);throw n.error=e,n}function g(t,e,n){return t.indexOf(null)>=0?e.map(((t,e)=>t instanceof y?g(f(t),t,n):t)):t.reduce(((t,r,s)=>{let i=e.getValue(r);return r in t||(n&&i instanceof y&&(i=g(f(i),i,n)),t[r]=i),t}),{})}class y extends Array{#e;constructor(...t){const e=t[0];let n=t[1],s=(t[2]||[]).slice(),i=!0;e!==l&&(n=t,s=[],i=!1),super(n.length),n.forEach(((t,e)=>{this[e]=t}));const o=s.reduce(((t,e)=>("string"==typeof e&&t.set(e,(t.get(e)||0)+1),t)),new Map);if(p(this,Object.freeze(n.map(((t,e)=>{const n=s[e];return null!=n&&1===o.get(n)?n:null})))),this.#e=[],null==this.#e&&this.#e,!i)return;Object.freeze(this);const a=new Proxy(this,{get:(t,e,n)=>{if("string"==typeof e){if(e.match(/^[0-9]+$/)){const n=(0,r.WZ)(e,"%index");if(n<0||n>=this.length)throw new RangeError("out of result range");const s=t[n];return s instanceof Error&&d(`index ${n}`,s),s}if(u.indexOf(e)>=0)return Reflect.get(t,e,n);const s=t[e];if(s instanceof Function)return function(...e){return s.apply(this===n?t:this,e)};if(!(e in t))return t.getValue.apply(this===n?t:this,[e])}return Reflect.get(t,e,n)}});return p(a,f(this)),a}toArray(t){const e=[];return this.forEach(((n,r)=>{n instanceof Error&&d(`index ${r}`,n),t&&n instanceof y&&(n=n.toArray(t)),e.push(n)})),e}toObject(t){const e=f(this);return e.reduce(((n,r,i)=>((0,s.vA)(null!=r,`value at index ${i} unnamed`,"UNSUPPORTED_OPERATION",{operation:"toObject()"}),g(e,this,t))),{})}slice(t,e){null==t&&(t=0),t<0&&(t+=this.length)<0&&(t=0),null==e&&(e=this.length),e<0&&(e+=this.length)<0&&(e=0),e>this.length&&(e=this.length);const n=f(this),r=[],s=[];for(let i=t;i<e;i++)r.push(this[i]),s.push(n[i]);return new y(l,r,s)}filter(t,e){const n=f(this),r=[],s=[];for(let i=0;i<this.length;i++){const o=this[i];o instanceof Error&&d(`index ${i}`,o),t.call(e,o,i,this)&&(r.push(o),s.push(n[i]))}return new y(l,r,s)}map(t,e){const n=[];for(let r=0;r<this.length;r++){const s=this[r];s instanceof Error&&d(`index ${r}`,s),n.push(t.call(e,s,r,this))}return n}getValue(t){const e=f(this).indexOf(t);if(-1===e)return;const n=this[e];return n instanceof Error&&d(`property ${JSON.stringify(t)}`,n.error),n}static fromItems(t,e){return new y(l,t,e)}}function m(t){let e=(0,r.c4)(t);return(0,s.vA)(e.length<=a,"value out-of-bounds","BUFFER_OVERRUN",{buffer:e,length:a,offset:e.length}),e.length!==a&&(e=(0,i.Lm)((0,i.xW)([c.slice(e.length%a),e]))),e}class w{name;type;localName;dynamic;constructor(t,e,n,r){(0,o.n)(this,{name:t,type:e,localName:n,dynamic:r},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(t,e){(0,s.MR)(!1,t,this.localName,e)}}class b{#n;#r;constructor(){this.#n=[],this.#r=0}get data(){return(0,i.xW)(this.#n)}get length(){return this.#r}#s(t){return this.#n.push(t),this.#r+=t.length,t.length}appendWriter(t){return this.#s((0,i.Lm)(t.data))}writeBytes(t){let e=(0,i.Lm)(t);const n=e.length%a;return n&&(e=(0,i.Lm)((0,i.xW)([e,c.slice(n)]))),this.#s(e)}writeValue(t){return this.#s(m(t))}writeUpdatableValue(){const t=this.#n.length;return this.#n.push(c),this.#r+=a,e=>{this.#n[t]=m(e)}}}class A{allowLoose;#n;#i;#o;#a;#c;constructor(t,e,n){(0,o.n)(this,{allowLoose:!!e}),this.#n=(0,i.Lm)(t),this.#o=0,this.#a=null,this.#c=null!=n?n:1024,this.#i=0}get data(){return(0,i.c$)(this.#n)}get dataLength(){return this.#n.length}get consumed(){return this.#i}get bytes(){return new Uint8Array(this.#n)}#u(t){if(this.#a)return this.#a.#u(t);this.#o+=t,(0,s.vA)(this.#c<1||this.#o<=this.#c*this.dataLength,`compressed ABI data exceeds inflation ratio of ${this.#c} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:(0,i.Lm)(this.#n),offset:this.#i,length:t,info:{bytesRead:this.#o,dataLength:this.dataLength}})}#l(t,e,n){let r=Math.ceil(e/a)*a;return this.#i+r>this.#n.length&&(this.allowLoose&&n&&this.#i+e<=this.#n.length?r=e:(0,s.vA)(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:(0,i.Lm)(this.#n),length:this.#n.length,offset:this.#i+r})),this.#n.slice(this.#i,this.#i+r)}subReader(t){const e=new A(this.#n.slice(this.#i+t),this.allowLoose,this.#c);return e.#a=this,e}readBytes(t,e){let n=this.#l(0,t,!!e);return this.#u(t),this.#i+=n.length,n.slice(0,t)}readValue(){return(0,r.Dg)(this.readBytes(a))}readIndex(){return(0,r.Ro)(this.readBytes(a))}}},6124:(t,e,n)=>{n.d(e,{FK:()=>K,Pw:()=>$,Zp:()=>z,aX:()=>H,bp:()=>Q,hc:()=>q});var r=n(7033),s=n(7339),i=n(8081),o=n(8264);function a(t){const e=new Set;return t.forEach((t=>e.add(t))),Object.freeze(e)}const c=a("external public payable override".split(" ")),u="constant external internal payable private public pure view override",l=a(u.split(" ")),h="constructor error event fallback function receive struct",f=a(h.split(" ")),p="calldata memory storage payable indexed",d=a(p.split(" ")),g=a([h,p,"tuple returns",u].join(" ").split(" ")),y={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},m=new RegExp("^(\\s*)"),w=new RegExp("^([0-9]+)"),b=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),A=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),v=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$");class E{#i;#h;get offset(){return this.#i}get length(){return this.#h.length-this.#i}constructor(t){this.#i=0,this.#h=t.slice()}clone(){return new E(this.#h)}reset(){this.#i=0}#f(t=0,e=0){return new E(this.#h.slice(t,e).map((e=>Object.freeze(Object.assign({},e,{match:e.match-t,linkBack:e.linkBack-t,linkNext:e.linkNext-t})))))}popKeyword(t){const e=this.peek();if("KEYWORD"!==e.type||!t.has(e.text))throw new Error(`expected keyword ${e.text}`);return this.pop().text}popType(t){if(this.peek().type!==t){const e=this.peek();throw new Error(`expected ${t}; got ${e.type} ${JSON.stringify(e.text)}`)}return this.pop().text}popParen(){const t=this.peek();if("OPEN_PAREN"!==t.type)throw new Error("bad start");const e=this.#f(this.#i+1,t.match+1);return this.#i=t.match+1,e}popParams(){const t=this.peek();if("OPEN_PAREN"!==t.type)throw new Error("bad start");const e=[];for(;this.#i<t.match-1;){const t=this.peek().linkNext;e.push(this.#f(this.#i+1,t)),this.#i=t}return this.#i=t.match+1,e}peek(){if(this.#i>=this.#h.length)throw new Error("out-of-bounds");return this.#h[this.#i]}peekKeyword(t){const e=this.peekType("KEYWORD");return null!=e&&t.has(e)?e:null}peekType(t){if(0===this.length)return null;const e=this.peek();return e.type===t?e.text:null}pop(){const t=this.peek();return this.#i++,t}toString(){const t=[];for(let e=this.#i;e<this.#h.length;e++){const n=this.#h[e];t.push(`${n.type}:${n.text}`)}return`<TokenString ${t.join(" ")}>`}}function k(t){const e=[],n=e=>{const n=o<t.length?JSON.stringify(t[o]):"$EOI";throw new Error(`invalid token ${n} at ${o}: ${e}`)};let s=[],i=[],o=0;for(;o<t.length;){let a=t.substring(o),c=a.match(m);c&&(o+=c[1].length,a=t.substring(o));const u={depth:s.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:o,value:-1};e.push(u);let l=y[a[0]]||"";if(l){if(u.type=l,u.text=a[0],o++,"OPEN_PAREN"===l)s.push(e.length-1),i.push(e.length-1);else if("CLOSE_PAREN"==l)0===s.length&&n("no matching open bracket"),u.match=s.pop(),e[u.match].match=e.length-1,u.depth--,u.linkBack=i.pop(),e[u.linkBack].linkNext=e.length-1;else if("COMMA"===l)u.linkBack=i.pop(),e[u.linkBack].linkNext=e.length-1,i.push(e.length-1);else if("OPEN_BRACKET"===l)u.type="BRACKET";else if("CLOSE_BRACKET"===l){let t=e.pop().text;if(e.length>0&&"NUMBER"===e[e.length-1].type){const n=e.pop().text;t=n+t,e[e.length-1].value=(0,r.WZ)(n)}if(0===e.length||"BRACKET"!==e[e.length-1].type)throw new Error("missing opening bracket");e[e.length-1].text+=t}}else if(c=a.match(b),c){if(u.text=c[1],o+=u.text.length,g.has(u.text)){u.type="KEYWORD";continue}if(u.text.match(v)){u.type="TYPE";continue}u.type="ID"}else{if(c=a.match(w),!c)throw new Error(`unexpected token ${JSON.stringify(a[0])} at position ${o}`);u.text=c[1],u.type="NUMBER",o+=u.text.length}}return new E(e.map((t=>Object.freeze(t))))}function x(t,e){let n=[];for(const r in e.keys())t.has(r)&&n.push(r);if(n.length>1)throw new Error(`conflicting types: ${n.join(", ")}`)}function R(t,e){if(e.peekKeyword(f)){const n=e.pop().text;if(n!==t)throw new Error(`expected ${t}, got ${n}`)}return e.popType("ID")}function S(t,e){const n=new Set;for(;;){const r=t.peekType("KEYWORD");if(null==r||e&&!e.has(r))break;if(t.pop(),n.has(r))throw new Error(`duplicate keywords: ${JSON.stringify(r)}`);n.add(r)}return Object.freeze(n)}function O(t){let e=S(t,l);return x(e,a("constant payable nonpayable".split(" "))),x(e,a("pure view payable nonpayable".split(" "))),e.has("view")?"view":e.has("pure")?"pure":e.has("payable")?"payable":e.has("nonpayable")?"nonpayable":e.has("constant")?"view":"nonpayable"}function N(t,e){return t.popParams().map((t=>H.from(t,e)))}function T(t){if(t.peekType("AT")){if(t.pop(),t.peekType("NUMBER"))return(0,r.Ab)(t.pop().text);throw new Error("invalid gas")}return null}function P(t){if(t.length)throw new Error(`unexpected tokens at offset ${t.offset}: ${t.toString()}`)}const I=new RegExp(/^(.*)\[([0-9]*)\]$/);function C(t){const e=t.match(v);if((0,s.MR)(e,"invalid type","type",t),"uint"===t)return"uint256";if("int"===t)return"int256";if(e[2]){const n=parseInt(e[2]);(0,s.MR)(0!==n&&n<=32,"invalid bytes length","type",t)}else if(e[3]){const n=parseInt(e[3]);(0,s.MR)(0!==n&&n<=256&&n%8==0,"invalid numeric width","type",t)}return t}const B={},D=Symbol.for("_ethers_internal"),M="_ParamTypeInternal",U="_ErrorInternal",L="_EventInternal",F="_ConstructorInternal",G="_FallbackInternal",j="_FunctionInternal",_="_StructInternal";class H{name;type;baseType;indexed;components;arrayLength;arrayChildren;constructor(t,e,n,r,o,a,c,u){if((0,s.gk)(t,B,"ParamType"),Object.defineProperty(this,D,{value:M}),a&&(a=Object.freeze(a.slice())),"array"===r){if(null==c||null==u)throw new Error("")}else if(null!=c||null!=u)throw new Error("");if("tuple"===r){if(null==a)throw new Error("")}else if(null!=a)throw new Error("");(0,i.n)(this,{name:e,type:n,baseType:r,indexed:o,components:a,arrayLength:c,arrayChildren:u})}format(t){if(null==t&&(t="sighash"),"json"===t){const e=this.name||"";if(this.isArray()){const t=JSON.parse(this.arrayChildren.format("json"));return t.name=e,t.type+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`,JSON.stringify(t)}const n={type:"tuple"===this.baseType?"tuple":this.type,name:e};return"boolean"==typeof this.indexed&&(n.indexed=this.indexed),this.isTuple()&&(n.components=this.components.map((e=>JSON.parse(e.format(t))))),JSON.stringify(n)}let e="";return this.isArray()?(e+=this.arrayChildren.format(t),e+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`):this.isTuple()?e+="("+this.components.map((e=>e.format(t))).join("full"===t?", ":",")+")":e+=this.type,"sighash"!==t&&(!0===this.indexed&&(e+=" indexed"),"full"===t&&this.name&&(e+=" "+this.name)),e}isArray(){return"array"===this.baseType}isTuple(){return"tuple"===this.baseType}isIndexable(){return null!=this.indexed}walk(t,e){if(this.isArray()){if(!Array.isArray(t))throw new Error("invalid array value");if(-1!==this.arrayLength&&t.length!==this.arrayLength)throw new Error("array is wrong length");const n=this;return t.map((t=>n.arrayChildren.walk(t,e)))}if(this.isTuple()){if(!Array.isArray(t))throw new Error("invalid tuple value");if(t.length!==this.components.length)throw new Error("array is wrong length");const n=this;return t.map(((t,r)=>n.components[r].walk(t,e)))}return e(this.type,t)}#p(t,e,n,r){if(this.isArray()){if(!Array.isArray(e))throw new Error("invalid array value");if(-1!==this.arrayLength&&e.length!==this.arrayLength)throw new Error("array is wrong length");const s=this.arrayChildren,i=e.slice();return i.forEach(((e,r)=>{s.#p(t,e,n,(t=>{i[r]=t}))})),void r(i)}if(this.isTuple()){const s=this.components;let i;if(Array.isArray(e))i=e.slice();else{if(null==e||"object"!=typeof e)throw new Error("invalid tuple value");i=s.map((t=>{if(!t.name)throw new Error("cannot use object value with unnamed components");if(!(t.name in e))throw new Error(`missing value for component ${t.name}`);return e[t.name]}))}if(i.length!==this.components.length)throw new Error("array is wrong length");return i.forEach(((e,r)=>{s[r].#p(t,e,n,(t=>{i[r]=t}))})),void r(i)}const s=n(this.type,e);s.then?t.push(async function(){r(await s)}()):r(s)}async walkAsync(t,e){const n=[],r=[t];return this.#p(n,t,e,(t=>{r[0]=t})),n.length&&await Promise.all(n),r[0]}static from(t,e){if(H.isParamType(t))return t;if("string"==typeof t)try{return H.from(k(t),e)}catch(e){(0,s.MR)(!1,"invalid param type","obj",t)}else if(t instanceof E){let n="",r="",s=null;S(t,a(["tuple"])).has("tuple")||t.peekType("OPEN_PAREN")?(r="tuple",s=t.popParams().map((t=>H.from(t))),n=`tuple(${s.map((t=>t.format())).join(",")})`):(n=C(t.popType("TYPE")),r=n);let i=null,o=null;for(;t.length&&t.peekType("BRACKET");){const e=t.pop();i=new H(B,"",n,r,null,s,o,i),o=e.value,n+=e.text,r="array",s=null}let c=null;if(S(t,d).has("indexed")){if(!e)throw new Error("");c=!0}const u=t.peekType("ID")?t.pop().text:"";if(t.length)throw new Error("leftover tokens");return new H(B,u,n,r,c,s,o,i)}const n=t.name;(0,s.MR)(!n||"string"==typeof n&&n.match(A),"invalid name","obj.name",n);let r=t.indexed;null!=r&&((0,s.MR)(e,"parameter cannot be indexed","obj.indexed",t.indexed),r=!!r);let i=t.type,o=i.match(I);if(o){const e=parseInt(o[2]||"-1"),s=H.from({type:o[1],components:t.components});return new H(B,n||"",i,"array",r,null,e,s)}if("tuple"===i||i.startsWith("tuple(")||i.startsWith("(")){const e=null!=t.components?t.components.map((t=>H.from(t))):null;return new H(B,n||"",i,"tuple",r,e,null,null)}return i=C(t.type),new H(B,n||"",i,i,r,null,null,null)}static isParamType(t){return t&&t[D]===M}}class K{type;inputs;constructor(t,e,n){(0,s.gk)(t,B,"Fragment"),n=Object.freeze(n.slice()),(0,i.n)(this,{type:e,inputs:n})}static from(t){if("string"==typeof t){try{K.from(JSON.parse(t))}catch(t){}return K.from(k(t))}if(t instanceof E){switch(t.peekKeyword(f)){case"constructor":return $.from(t);case"error":return Q.from(t);case"event":return z.from(t);case"fallback":case"receive":return W.from(t);case"function":return q.from(t);case"struct":return Z.from(t)}}else if("object"==typeof t){switch(t.type){case"constructor":return $.from(t);case"error":return Q.from(t);case"event":return z.from(t);case"fallback":case"receive":return W.from(t);case"function":return q.from(t);case"struct":return Z.from(t)}(0,s.vA)(!1,`unsupported type: ${t.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}(0,s.MR)(!1,"unsupported frgament object","obj",t)}static isConstructor(t){return $.isFragment(t)}static isError(t){return Q.isFragment(t)}static isEvent(t){return z.isFragment(t)}static isFunction(t){return q.isFragment(t)}static isStruct(t){return Z.isFragment(t)}}class V extends K{name;constructor(t,e,n,r){super(t,e,r),(0,s.MR)("string"==typeof n&&n.match(A),"invalid identifier","name",n),r=Object.freeze(r.slice()),(0,i.n)(this,{name:n})}}function J(t,e){return"("+e.map((e=>e.format(t))).join("full"===t?", ":",")+")"}class Q extends V{constructor(t,e,n){super(t,"error",e,n),Object.defineProperty(this,D,{value:U})}get selector(){return(0,o.id)(this.format("sighash")).substring(0,10)}format(t){if(null==t&&(t="sighash"),"json"===t)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map((e=>JSON.parse(e.format(t))))});const e=[];return"sighash"!==t&&e.push("error"),e.push(this.name+J(t,this.inputs)),e.join(" ")}static from(t){if(Q.isFragment(t))return t;if("string"==typeof t)return Q.from(k(t));if(t instanceof E){const e=R("error",t),n=N(t);return P(t),new Q(B,e,n)}return new Q(B,t.name,t.inputs?t.inputs.map(H.from):[])}static isFragment(t){return t&&t[D]===U}}class z extends V{anonymous;constructor(t,e,n,r){super(t,"event",e,n),Object.defineProperty(this,D,{value:L}),(0,i.n)(this,{anonymous:r})}get topicHash(){return(0,o.id)(this.format("sighash"))}format(t){if(null==t&&(t="sighash"),"json"===t)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map((e=>JSON.parse(e.format(t))))});const e=[];return"sighash"!==t&&e.push("event"),e.push(this.name+J(t,this.inputs)),"sighash"!==t&&this.anonymous&&e.push("anonymous"),e.join(" ")}static getTopicHash(t,e){e=(e||[]).map((t=>H.from(t)));return new z(B,t,e,!1).topicHash}static from(t){if(z.isFragment(t))return t;if("string"==typeof t)try{return z.from(k(t))}catch(e){(0,s.MR)(!1,"invalid event fragment","obj",t)}else if(t instanceof E){const e=R("event",t),n=N(t,!0),r=!!S(t,a(["anonymous"])).has("anonymous");return P(t),new z(B,e,n,r)}return new z(B,t.name,t.inputs?t.inputs.map((t=>H.from(t,!0))):[],!!t.anonymous)}static isFragment(t){return t&&t[D]===L}}class $ extends K{payable;gas;constructor(t,e,n,r,s){super(t,e,n),Object.defineProperty(this,D,{value:F}),(0,i.n)(this,{payable:r,gas:s})}format(t){if((0,s.vA)(null!=t&&"sighash"!==t,"cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),"json"===t)return JSON.stringify({type:"constructor",stateMutability:this.payable?"payable":"undefined",payable:this.payable,gas:null!=this.gas?this.gas:void 0,inputs:this.inputs.map((e=>JSON.parse(e.format(t))))});const e=[`constructor${J(t,this.inputs)}`];return this.payable&&e.push("payable"),null!=this.gas&&e.push(`@${this.gas.toString()}`),e.join(" ")}static from(t){if($.isFragment(t))return t;if("string"==typeof t)try{return $.from(k(t))}catch(e){(0,s.MR)(!1,"invalid constuctor fragment","obj",t)}else if(t instanceof E){S(t,a(["constructor"]));const e=N(t),n=!!S(t,c).has("payable"),r=T(t);return P(t),new $(B,"constructor",e,n,r)}return new $(B,"constructor",t.inputs?t.inputs.map(H.from):[],!!t.payable,null!=t.gas?t.gas:null)}static isFragment(t){return t&&t[D]===F}}class W extends K{payable;constructor(t,e,n){super(t,"fallback",e),Object.defineProperty(this,D,{value:G}),(0,i.n)(this,{payable:n})}format(t){const e=0===this.inputs.length?"receive":"fallback";if("json"===t){const t=this.payable?"payable":"nonpayable";return JSON.stringify({type:e,stateMutability:t})}return`${e}()${this.payable?" payable":""}`}static from(t){if(W.isFragment(t))return t;if("string"==typeof t)try{return W.from(k(t))}catch(e){(0,s.MR)(!1,"invalid fallback fragment","obj",t)}else if(t instanceof E){const e=t.toString(),n=t.peekKeyword(a(["fallback","receive"]));(0,s.MR)(n,"type must be fallback or receive","obj",e);if("receive"===t.popKeyword(a(["fallback","receive"]))){const e=N(t);return(0,s.MR)(0===e.length,"receive cannot have arguments","obj.inputs",e),S(t,a(["payable"])),P(t),new W(B,[],!0)}let r=N(t);r.length?(0,s.MR)(1===r.length&&"bytes"===r[0].type,"invalid fallback inputs","obj.inputs",r.map((t=>t.format("minimal"))).join(", ")):r=[H.from("bytes")];const i=O(t);if((0,s.MR)("nonpayable"===i||"payable"===i,"fallback cannot be constants","obj.stateMutability",i),S(t,a(["returns"])).has("returns")){const e=N(t);(0,s.MR)(1===e.length&&"bytes"===e[0].type,"invalid fallback outputs","obj.outputs",e.map((t=>t.format("minimal"))).join(", "))}return P(t),new W(B,r,"payable"===i)}if("receive"===t.type)return new W(B,[],!0);if("fallback"===t.type){const e=[H.from("bytes")],n="payable"===t.stateMutability;return new W(B,e,n)}(0,s.MR)(!1,"invalid fallback description","obj",t)}static isFragment(t){return t&&t[D]===G}}class q extends V{constant;outputs;stateMutability;payable;gas;constructor(t,e,n,r,s,o){super(t,"function",e,r),Object.defineProperty(this,D,{value:j}),s=Object.freeze(s.slice());const a="view"===n||"pure"===n,c="payable"===n;(0,i.n)(this,{constant:a,gas:o,outputs:s,payable:c,stateMutability:n})}get selector(){return(0,o.id)(this.format("sighash")).substring(0,10)}format(t){if(null==t&&(t="sighash"),"json"===t)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:null!=this.gas?this.gas:void 0,inputs:this.inputs.map((e=>JSON.parse(e.format(t)))),outputs:this.outputs.map((e=>JSON.parse(e.format(t))))});const e=[];return"sighash"!==t&&e.push("function"),e.push(this.name+J(t,this.inputs)),"sighash"!==t&&("nonpayable"!==this.stateMutability&&e.push(this.stateMutability),this.outputs&&this.outputs.length&&(e.push("returns"),e.push(J(t,this.outputs))),null!=this.gas&&e.push(`@${this.gas.toString()}`)),e.join(" ")}static getSelector(t,e){e=(e||[]).map((t=>H.from(t)));return new q(B,t,"view",e,[],null).selector}static from(t){if(q.isFragment(t))return t;if("string"==typeof t)try{return q.from(k(t))}catch(e){(0,s.MR)(!1,"invalid function fragment","obj",t)}else if(t instanceof E){const e=R("function",t),n=N(t),r=O(t);let s=[];S(t,a(["returns"])).has("returns")&&(s=N(t));const i=T(t);return P(t),new q(B,e,r,n,s,i)}let e=t.stateMutability;return null==e&&(e="payable","boolean"==typeof t.constant?(e="view",t.constant||(e="payable","boolean"!=typeof t.payable||t.payable||(e="nonpayable"))):"boolean"!=typeof t.payable||t.payable||(e="nonpayable")),new q(B,t.name,e,t.inputs?t.inputs.map(H.from):[],t.outputs?t.outputs.map(H.from):[],null!=t.gas?t.gas:null)}static isFragment(t){return t&&t[D]===j}}class Z extends V{constructor(t,e,n){super(t,"struct",e,n),Object.defineProperty(this,D,{value:_})}format(){throw new Error("@TODO")}static from(t){if("string"==typeof t)try{return Z.from(k(t))}catch(e){(0,s.MR)(!1,"invalid struct fragment","obj",t)}else if(t instanceof E){const e=R("struct",t),n=N(t);return P(t),new Z(B,e,n)}return new Z(B,t.name,t.inputs?t.inputs.map(H.from):[])}static isFragment(t){return t&&t[D]===_}}},9353:(t,e,n)=>{n.d(e,{V:()=>u});var r=n(7339),s=n(8081);const i={};function o(t,e){let n=!1;return e<0&&(n=!0,e*=-1),new u(i,`${n?"":"u"}int${e}`,t,{signed:n,width:e})}function a(t,e){return new u(i,`bytes${e||""}`,t,{size:e})}const c=Symbol.for("_ethers_typed");class u{type;value;#d;_typedSymbol;constructor(t,e,n,o){null==o&&(o=null),(0,r.gk)(i,t,"Typed"),(0,s.n)(this,{_typedSymbol:c,type:e,value:n}),this.#d=o,this.format()}format(){if("array"===this.type)throw new Error("");if("dynamicArray"===this.type)throw new Error("");return"tuple"===this.type?`tuple(${this.value.map((t=>t.format())).join(",")})`:this.type}defaultValue(){return 0}minValue(){return 0}maxValue(){return 0}isBigInt(){return!!this.type.match(/^u?int[0-9]+$/)}isData(){return this.type.startsWith("bytes")}isString(){return"string"===this.type}get tupleName(){if("tuple"!==this.type)throw TypeError("not a tuple");return this.#d}get arrayLength(){if("array"!==this.type)throw TypeError("not an array");return!0===this.#d?-1:!1===this.#d?this.value.length:null}static from(t,e){return new u(i,t,e)}static uint8(t){return o(t,8)}static uint16(t){return o(t,16)}static uint24(t){return o(t,24)}static uint32(t){return o(t,32)}static uint40(t){return o(t,40)}static uint48(t){return o(t,48)}static uint56(t){return o(t,56)}static uint64(t){return o(t,64)}static uint72(t){return o(t,72)}static uint80(t){return o(t,80)}static uint88(t){return o(t,88)}static uint96(t){return o(t,96)}static uint104(t){return o(t,104)}static uint112(t){return o(t,112)}static uint120(t){return o(t,120)}static uint128(t){return o(t,128)}static uint136(t){return o(t,136)}static uint144(t){return o(t,144)}static uint152(t){return o(t,152)}static uint160(t){return o(t,160)}static uint168(t){return o(t,168)}static uint176(t){return o(t,176)}static uint184(t){return o(t,184)}static uint192(t){return o(t,192)}static uint200(t){return o(t,200)}static uint208(t){return o(t,208)}static uint216(t){return o(t,216)}static uint224(t){return o(t,224)}static uint232(t){return o(t,232)}static uint240(t){return o(t,240)}static uint248(t){return o(t,248)}static uint256(t){return o(t,256)}static uint(t){return o(t,256)}static int8(t){return o(t,-8)}static int16(t){return o(t,-16)}static int24(t){return o(t,-24)}static int32(t){return o(t,-32)}static int40(t){return o(t,-40)}static int48(t){return o(t,-48)}static int56(t){return o(t,-56)}static int64(t){return o(t,-64)}static int72(t){return o(t,-72)}static int80(t){return o(t,-80)}static int88(t){return o(t,-88)}static int96(t){return o(t,-96)}static int104(t){return o(t,-104)}static int112(t){return o(t,-112)}static int120(t){return o(t,-120)}static int128(t){return o(t,-128)}static int136(t){return o(t,-136)}static int144(t){return o(t,-144)}static int152(t){return o(t,-152)}static int160(t){return o(t,-160)}static int168(t){return o(t,-168)}static int176(t){return o(t,-176)}static int184(t){return o(t,-184)}static int192(t){return o(t,-192)}static int200(t){return o(t,-200)}static int208(t){return o(t,-208)}static int216(t){return o(t,-216)}static int224(t){return o(t,-224)}static int232(t){return o(t,-232)}static int240(t){return o(t,-240)}static int248(t){return o(t,-248)}static int256(t){return o(t,-256)}static int(t){return o(t,-256)}static bytes1(t){return a(t,1)}static bytes2(t){return a(t,2)}static bytes3(t){return a(t,3)}static bytes4(t){return a(t,4)}static bytes5(t){return a(t,5)}static bytes6(t){return a(t,6)}static bytes7(t){return a(t,7)}static bytes8(t){return a(t,8)}static bytes9(t){return a(t,9)}static bytes10(t){return a(t,10)}static bytes11(t){return a(t,11)}static bytes12(t){return a(t,12)}static bytes13(t){return a(t,13)}static bytes14(t){return a(t,14)}static bytes15(t){return a(t,15)}static bytes16(t){return a(t,16)}static bytes17(t){return a(t,17)}static bytes18(t){return a(t,18)}static bytes19(t){return a(t,19)}static bytes20(t){return a(t,20)}static bytes21(t){return a(t,21)}static bytes22(t){return a(t,22)}static bytes23(t){return a(t,23)}static bytes24(t){return a(t,24)}static bytes25(t){return a(t,25)}static bytes26(t){return a(t,26)}static bytes27(t){return a(t,27)}static bytes28(t){return a(t,28)}static bytes29(t){return a(t,29)}static bytes30(t){return a(t,30)}static bytes31(t){return a(t,31)}static bytes32(t){return a(t,32)}static address(t){return new u(i,"address",t)}static bool(t){return new u(i,"bool",!!t)}static bytes(t){return new u(i,"bytes",t)}static string(t){return new u(i,"string",t)}static array(t,e){throw new Error("not implemented yet")}static tuple(t,e){throw new Error("not implemented yet")}static overrides(t){return new u(i,"overrides",Object.assign({},t))}static isTyped(t){return t&&"object"==typeof t&&"_typedSymbol"in t&&t._typedSymbol===c}static dereference(t,e){if(u.isTyped(t)){if(t.type!==e)throw new Error(`invalid type: expecetd ${e}, got ${t.type}`);return t.value}return t}}},31:(t,e,n)=>{n.d(e,{b:()=>p});var r=n(5539),s=n(6212),i=n(7339);const o=BigInt(0),a=BigInt(36);function c(t){const e=(t=t.toLowerCase()).substring(2).split(""),n=new Uint8Array(40);for(let t=0;t<40;t++)n[t]=e[t].charCodeAt(0);const i=(0,s.q5)((0,r.S)(n));for(let t=0;t<40;t+=2)i[t>>1]>>4>=8&&(e[t]=e[t].toUpperCase()),(15&i[t>>1])>=8&&(e[t+1]=e[t+1].toUpperCase());return"0x"+e.join("")}const u={};for(let t=0;t<10;t++)u[String(t)]=String(t);for(let t=0;t<26;t++)u[String.fromCharCode(65+t)]=String(10+t);const l=15;function h(t){let e=(t=(t=t.toUpperCase()).substring(4)+t.substring(0,2)+"00").split("").map((t=>u[t])).join("");for(;e.length>=l;){let t=e.substring(0,l);e=parseInt(t,10)%97+e.substring(t.length)}let n=String(98-parseInt(e,10)%97);for(;n.length<2;)n="0"+n;return n}const f=function(){const t={};for(let e=0;e<36;e++){t["0123456789abcdefghijklmnopqrstuvwxyz"[e]]=BigInt(e)}return t}();function p(t){if((0,i.MR)("string"==typeof t,"invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/)){t.startsWith("0x")||(t="0x"+t);const e=c(t);return(0,i.MR)(!t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||e===t,"bad address checksum","address",t),e}if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){(0,i.MR)(t.substring(2,4)===h(t),"bad icap checksum","address",t);let e=function(t){t=t.toLowerCase();let e=o;for(let n=0;n<t.length;n++)e=e*a+f[t[n]];return e}(t.substring(4)).toString(16);for(;e.length<40;)e="0"+e;return c("0x"+e)}(0,i.MR)(!1,"invalid address","address",t)}},1442:(t,e,n)=>{n.d(e,{$C:()=>i,tG:()=>a});var r=n(7339),s=n(31);function i(t){return t&&"function"==typeof t.getAddress}async function o(t,e){const n=await e;return null!=n&&"0x0000000000000000000000000000000000000000"!==n||((0,r.vA)("string"!=typeof t,"unconfigured name","UNCONFIGURED_NAME",{value:t}),(0,r.MR)(!1,"invalid AddressLike value; did not resolve to a value address","target",t)),(0,s.b)(n)}function a(t,e){return"string"==typeof t?t.match(/^0x[0-9a-f]{40}$/i)?(0,s.b)(t):((0,r.vA)(null!=e,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),o(t,e.resolveName(t))):i(t)?o(t,t.getAddress()):t&&"function"==typeof t.then?o(t,t):void(0,r.MR)(!1,"unsupported addressable value","target",t)}},8982:(t,e,n)=>{n.d(e,{j:()=>r});const r="0x0000000000000000000000000000000000000000"},2724:(t,e,n)=>{n.d(e,{NZ:()=>Z});var r=n(9353),s=n(5539),i=n(8264),o=n(8081),a=n(7339),c=n(6212),u=n(7033),l=n(5273),h=n(1228),f=n(6124);class p{fragment;name;signature;topic;args;constructor(t,e,n){const r=t.name,s=t.format();(0,o.n)(this,{fragment:t,name:r,signature:s,topic:e,args:n})}}class d{fragment;name;args;signature;selector;value;constructor(t,e,n,r){const s=t.name,i=t.format();(0,o.n)(this,{fragment:t,name:s,args:n,signature:i,selector:e,value:r})}}class g{fragment;name;args;signature;selector;constructor(t,e,n){const r=t.name,s=t.format();(0,o.n)(this,{fragment:t,name:r,args:n,signature:s,selector:e})}}class y{hash;_isIndexed;static isIndexed(t){return!(!t||!t._isIndexed)}constructor(t){(0,o.n)(this,{hash:t,_isIndexed:!0})}}const m={0:"generic panic",1:"assert(false)",17:"arithmetic overflow",18:"division or modulo by zero",33:"enum overflow",34:"invalid encoded storage byte array accessed",49:"out-of-bounds array access; popping on an empty array",50:"out-of-bounds access of an array or bytesN",65:"out of memory",81:"uninitialized function"},w={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:t=>`reverted with reason string ${JSON.stringify(t)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:t=>{let e="unknown panic code";return t>=0&&t<=255&&m[t.toString()]&&(e=m[t.toString()]),`reverted with panic code 0x${t.toString(16)} (${e})`}}};class b{fragments;deploy;fallback;receive;#g;#y;#m;#w;constructor(t){let e=[];e="string"==typeof t?JSON.parse(t):t,this.#m=new Map,this.#g=new Map,this.#y=new Map;const n=[];for(const t of e)try{n.push(f.FK.from(t))}catch(e){console.log(`[Warning] Invalid Fragment ${JSON.stringify(t)}:`,e.message)}(0,o.n)(this,{fragments:Object.freeze(n)});let r=null,s=!1;this.#w=this.getAbiCoder(),this.fragments.forEach(((t,e)=>{let n;switch(t.type){case"constructor":return this.deploy?void console.log("duplicate definition - constructor"):void(0,o.n)(this,{deploy:t});case"fallback":return void(0===t.inputs.length?s=!0:((0,a.MR)(!r||t.payable!==r.payable,"conflicting fallback fragments",`fragments[${e}]`,t),r=t,s=r.payable));case"function":n=this.#m;break;case"event":n=this.#y;break;case"error":n=this.#g;break;default:return}const i=t.format();n.has(i)||n.set(i,t)})),this.deploy||(0,o.n)(this,{deploy:f.Pw.from("constructor()")}),(0,o.n)(this,{fallback:r,receive:s})}format(t){const e=t?"minimal":"full";return this.fragments.map((t=>t.format(e)))}formatJson(){const t=this.fragments.map((t=>t.format("json")));return JSON.stringify(t.map((t=>JSON.parse(t))))}getAbiCoder(){return l.y.defaultAbiCoder()}#b(t,e,n){if((0,c.Lo)(t)){const e=t.toLowerCase();for(const t of this.#m.values())if(e===t.selector)return t;return null}if(-1===t.indexOf("(")){const s=[];for(const[e,n]of this.#m)e.split("(")[0]===t&&s.push(n);if(e){const t=e.length>0?e[e.length-1]:null;let n=e.length,i=!0;r.V.isTyped(t)&&"overrides"===t.type&&(i=!1,n--);for(let t=s.length-1;t>=0;t--){const e=s[t].inputs.length;e===n||i&&e===n-1||s.splice(t,1)}for(let t=s.length-1;t>=0;t--){const n=s[t].inputs;for(let i=0;i<e.length;i++)if(r.V.isTyped(e[i])){if(i>=n.length){if("overrides"===e[i].type)continue;s.splice(t,1);break}if(e[i].type!==n[i].baseType){s.splice(t,1);break}}}}if(1===s.length&&e&&e.length!==s[0].inputs.length){const t=e[e.length-1];(null==t||Array.isArray(t)||"object"!=typeof t)&&s.splice(0,1)}if(0===s.length)return null;if(s.length>1&&n){const e=s.map((t=>JSON.stringify(t.format()))).join(", ");(0,a.MR)(!1,`ambiguous function description (i.e. matches ${e})`,"key",t)}return s[0]}const s=this.#m.get(f.hc.from(t).format());return s||null}getFunctionName(t){const e=this.#b(t,null,!1);return(0,a.MR)(e,"no matching function","key",t),e.name}hasFunction(t){return!!this.#b(t,null,!1)}getFunction(t,e){return this.#b(t,e||null,!0)}forEachFunction(t){const e=Array.from(this.#m.keys());e.sort(((t,e)=>t.localeCompare(e)));for(let n=0;n<e.length;n++){const r=e[n];t(this.#m.get(r),n)}}#A(t,e,n){if((0,c.Lo)(t)){const e=t.toLowerCase();for(const t of this.#y.values())if(e===t.topicHash)return t;return null}if(-1===t.indexOf("(")){const s=[];for(const[e,n]of this.#y)e.split("(")[0]===t&&s.push(n);if(e){for(let t=s.length-1;t>=0;t--)s[t].inputs.length<e.length&&s.splice(t,1);for(let t=s.length-1;t>=0;t--){const n=s[t].inputs;for(let i=0;i<e.length;i++)if(r.V.isTyped(e[i])&&e[i].type!==n[i].baseType){s.splice(t,1);break}}}if(0===s.length)return null;if(s.length>1&&n){const e=s.map((t=>JSON.stringify(t.format()))).join(", ");(0,a.MR)(!1,`ambiguous event description (i.e. matches ${e})`,"key",t)}return s[0]}const s=this.#y.get(f.Zp.from(t).format());return s||null}getEventName(t){const e=this.#A(t,null,!1);return(0,a.MR)(e,"no matching event","key",t),e.name}hasEvent(t){return!!this.#A(t,null,!1)}getEvent(t,e){return this.#A(t,e||null,!0)}forEachEvent(t){const e=Array.from(this.#y.keys());e.sort(((t,e)=>t.localeCompare(e)));for(let n=0;n<e.length;n++){const r=e[n];t(this.#y.get(r),n)}}getError(t,e){if((0,c.Lo)(t)){const e=t.toLowerCase();if(w[e])return f.bp.from(w[e].signature);for(const t of this.#g.values())if(e===t.selector)return t;return null}if(-1===t.indexOf("(")){const e=[];for(const[n,r]of this.#g)n.split("(")[0]===t&&e.push(r);if(0===e.length)return"Error"===t?f.bp.from("error Error(string)"):"Panic"===t?f.bp.from("error Panic(uint256)"):null;if(e.length>1){const n=e.map((t=>JSON.stringify(t.format()))).join(", ");(0,a.MR)(!1,`ambiguous error description (i.e. ${n})`,"name",t)}return e[0]}if("Error(string)"===(t=f.bp.from(t).format()))return f.bp.from("error Error(string)");if("Panic(uint256)"===t)return f.bp.from("error Panic(uint256)");const n=this.#g.get(t);return n||null}forEachError(t){const e=Array.from(this.#g.keys());e.sort(((t,e)=>t.localeCompare(e)));for(let n=0;n<e.length;n++){const r=e[n];t(this.#g.get(r),n)}}_decodeParams(t,e){return this.#w.decode(t,e)}_encodeParams(t,e){return this.#w.encode(t,e)}encodeDeploy(t){return this._encodeParams(this.deploy.inputs,t||[])}decodeErrorResult(t,e){if("string"==typeof t){const e=this.getError(t);(0,a.MR)(e,"unknown error","fragment",t),t=e}return(0,a.MR)((0,c.ZG)(e,0,4)===t.selector,`data signature does not match error ${t.name}.`,"data",e),this._decodeParams(t.inputs,(0,c.ZG)(e,4))}encodeErrorResult(t,e){if("string"==typeof t){const e=this.getError(t);(0,a.MR)(e,"unknown error","fragment",t),t=e}return(0,c.xW)([t.selector,this._encodeParams(t.inputs,e||[])])}decodeFunctionData(t,e){if("string"==typeof t){const e=this.getFunction(t);(0,a.MR)(e,"unknown function","fragment",t),t=e}return(0,a.MR)((0,c.ZG)(e,0,4)===t.selector,`data signature does not match function ${t.name}.`,"data",e),this._decodeParams(t.inputs,(0,c.ZG)(e,4))}encodeFunctionData(t,e){if("string"==typeof t){const e=this.getFunction(t);(0,a.MR)(e,"unknown function","fragment",t),t=e}return(0,c.xW)([t.selector,this._encodeParams(t.inputs,e||[])])}decodeFunctionResult(t,e){if("string"==typeof t){const e=this.getFunction(t);(0,a.MR)(e,"unknown function","fragment",t),t=e}let n="invalid length for result data";const r=(0,c.Lm)(e);if(r.length%32==0)try{return this.#w.decode(t.outputs,r)}catch(t){n="could not decode result data"}(0,a.vA)(!1,n,"BAD_DATA",{value:(0,c.c$)(r),info:{method:t.name,signature:t.format()}})}makeError(t,e){const n=(0,c.q5)(t,"data"),r=l.y.getBuiltinCallException("call",e,n);if(r.message.startsWith("execution reverted (unknown custom error)")){const t=(0,c.c$)(n.slice(0,4)),e=this.getError(t);if(e)try{const t=this.#w.decode(e.inputs,n.slice(4));r.revert={name:e.name,signature:e.format(),args:t},r.reason=r.revert.signature,r.message=`execution reverted: ${r.reason}`}catch(t){r.message="execution reverted (coult not decode custom error)"}}const s=this.parseTransaction(e);return s&&(r.invocation={method:s.name,signature:s.signature,args:s.args}),r}encodeFunctionResult(t,e){if("string"==typeof t){const e=this.getFunction(t);(0,a.MR)(e,"unknown function","fragment",t),t=e}return(0,c.c$)(this.#w.encode(t.outputs,e||[]))}encodeFilterTopics(t,e){if("string"==typeof t){const e=this.getEvent(t);(0,a.MR)(e,"unknown event","eventFragment",t),t=e}(0,a.vA)(e.length<=t.inputs.length,`too many arguments for ${t.format()}`,"UNEXPECTED_ARGUMENT",{count:e.length,expectedCount:t.inputs.length});const n=[];t.anonymous||n.push(t.topicHash);const r=(t,e)=>"string"===t.type?(0,i.id)(e):"bytes"===t.type?(0,s.S)((0,c.c$)(e)):("bool"===t.type&&"boolean"==typeof e?e=e?"0x01":"0x00":t.type.match(/^u?int/)?e=(0,u.up)(e):t.type.match(/^bytes/)?e=(0,c.X_)(e,32):"address"===t.type&&this.#w.encode(["address"],[e]),(0,c.nx)((0,c.c$)(e),32));for(e.forEach(((e,s)=>{const i=t.inputs[s];i.indexed?null==e?n.push(null):"array"===i.baseType||"tuple"===i.baseType?(0,a.MR)(!1,"filtering with tuples or arrays not supported","contract."+i.name,e):Array.isArray(e)?n.push(e.map((t=>r(i,t)))):n.push(r(i,e)):(0,a.MR)(null==e,"cannot filter non-indexed parameters; must be null","contract."+i.name,e)}));n.length&&null===n[n.length-1];)n.pop();return n}encodeEventLog(t,e){if("string"==typeof t){const e=this.getEvent(t);(0,a.MR)(e,"unknown event","eventFragment",t),t=e}const n=[],r=[],o=[];return t.anonymous||n.push(t.topicHash),(0,a.MR)(e.length===t.inputs.length,"event arguments/values mismatch","values",e),t.inputs.forEach(((t,a)=>{const c=e[a];if(t.indexed)if("string"===t.type)n.push((0,i.id)(c));else if("bytes"===t.type)n.push((0,s.S)(c));else{if("tuple"===t.baseType||"array"===t.baseType)throw new Error("not implemented");n.push(this.#w.encode([t.type],[c]))}else r.push(t),o.push(c)})),{data:this.#w.encode(r,o),topics:n}}decodeEventLog(t,e,n){if("string"==typeof t){const e=this.getEvent(t);(0,a.MR)(e,"unknown event","eventFragment",t),t=e}if(null!=n&&!t.anonymous){const e=t.topicHash;(0,a.MR)((0,c.Lo)(n[0],32)&&n[0].toLowerCase()===e,"fragment/topic mismatch","topics[0]",n[0]),n=n.slice(1)}const r=[],s=[],i=[];t.inputs.forEach(((t,e)=>{t.indexed?"string"===t.type||"bytes"===t.type||"tuple"===t.baseType||"array"===t.baseType?(r.push(f.aX.from({type:"bytes32",name:t.name})),i.push(!0)):(r.push(t),i.push(!1)):(s.push(t),i.push(!1))}));const o=null!=n?this.#w.decode(r,(0,c.xW)(n)):null,u=this.#w.decode(s,e,!0),l=[],p=[];let d=0,g=0;return t.inputs.forEach(((t,e)=>{let n=null;if(t.indexed)if(null==o)n=new y(null);else if(i[e])n=new y(o[g++]);else try{n=o[g++]}catch(t){n=t}else try{n=u[d++]}catch(t){n=t}l.push(n),p.push(t.name||null)})),h.Q7.fromItems(l,p)}parseTransaction(t){const e=(0,c.q5)(t.data,"tx.data"),n=(0,u.Ab)(null!=t.value?t.value:0,"tx.value"),r=this.getFunction((0,c.c$)(e.slice(0,4)));if(!r)return null;const s=this.#w.decode(r.inputs,e.slice(4));return new d(r,r.selector,s,n)}parseCallResult(t){throw new Error("@TODO")}parseLog(t){const e=this.getEvent(t.topics[0]);return!e||e.anonymous?null:new p(e,e.topicHash,this.decodeEventLog(e,t.data,t.topics))}parseError(t){const e=(0,c.c$)(t),n=this.getError((0,c.ZG)(e,0,4));if(!n)return null;const r=this.#w.decode(n.inputs,(0,c.ZG)(e,4));return new g(n,n.selector,r)}static from(t){return t instanceof b?t:"string"==typeof t?new b(JSON.parse(t)):"function"==typeof t.formatJson?new b(t.formatJson()):"function"==typeof t.format?new b(t.format("json")):new b(t)}}var A=n(1442),v=n(3948),E=n(9381);class k extends v.tG{interface;fragment;args;constructor(t,e,n){super(t,t.provider);const r=e.decodeEventLog(n,t.data,t.topics);(0,o.n)(this,{args:r,fragment:n,interface:e})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}class x extends v.tG{error;constructor(t,e){super(t,t.provider),(0,o.n)(this,{error:e})}}class R extends v.z5{#v;constructor(t,e,n){super(n,e),this.#v=t}get logs(){return super.logs.map((t=>{const e=t.topics.length?this.#v.getEvent(t.topics[0]):null;if(e)try{return new k(t,this.#v,e)}catch(e){return new x(t,e)}return t}))}}class S extends v.uI{#v;constructor(t,e,n){super(n,e),this.#v=t}async wait(t,e){const n=await super.wait(t,e);return null==n?null:new R(this.#v,this.provider,n)}}class O extends E.z{log;constructor(t,e,n,r){super(t,e,n),(0,o.n)(this,{log:r})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}}class N extends O{constructor(t,e,n,r,s){super(t,e,n,new k(s,t.interface,r));const i=t.interface.decodeEventLog(r,this.log.data,this.log.topics);(0,o.n)(this,{args:i,fragment:r})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}const T=BigInt(0);function P(t){return t&&"function"==typeof t.call}function I(t){return t&&"function"==typeof t.estimateGas}function C(t){return t&&"function"==typeof t.resolveName}function B(t){return t&&"function"==typeof t.sendTransaction}function D(t){if(null!=t){if(C(t))return t;if(t.provider)return t.provider}}class M{#E;fragment;constructor(t,e,n){if((0,o.n)(this,{fragment:e}),e.inputs.length<n.length)throw new Error("too many arguments");const r=U(t.runner,"resolveName"),s=C(r)?r:null;this.#E=async function(){const r=await Promise.all(e.inputs.map(((t,e)=>null==n[e]?null:t.walkAsync(n[e],((t,e)=>"address"===t?Array.isArray(e)?Promise.all(e.map((t=>(0,A.tG)(t,s)))):(0,A.tG)(e,s):e)))));return t.interface.encodeFilterTopics(e,r)}()}getTopicFilter(){return this.#E}}function U(t,e){return null==t?null:"function"==typeof t[e]?t:t.provider&&"function"==typeof t.provider[e]?t.provider:null}function L(t){return null==t?null:t.provider||null}async function F(t,e){const n=r.V.dereference(t,"overrides");(0,a.MR)("object"==typeof n,"invalid overrides parameter","overrides",t);const s=(0,v.VS)(n);return(0,a.MR)(null==s.to||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",s.to),(0,a.MR)(null==s.data||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",s.data),s.from&&(s.from=s.from),s}function G(t){const e=async function(e){const n=await F(e,["data"]);n.to=await t.getAddress(),n.from&&(n.from=await(0,A.tG)(n.from,D(t.runner)));const r=t.interface,s=(0,u.Ab)(n.value||T,"overrides.value")===T,i="0x"===(n.data||"0x");!r.fallback||r.fallback.payable||!r.receive||i||s||(0,a.MR)(!1,"cannot send data to receive or send value to non-payable fallback","overrides",e),(0,a.MR)(r.fallback||i,"cannot send data to receive-only contract","overrides.data",n.data);const o=r.receive||r.fallback&&r.fallback.payable;return(0,a.MR)(o||s,"cannot send value to non-payable fallback","overrides.value",n.value),(0,a.MR)(r.fallback||i,"cannot send data to receive-only contract","overrides.data",n.data),n},n=async function(n){const r=t.runner;(0,a.vA)(B(r),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const s=await r.sendTransaction(await e(n)),i=L(t.runner);return new S(t.interface,i,s)},r=async t=>await n(t);return(0,o.n)(r,{_contract:t,estimateGas:async function(n){const r=U(t.runner,"estimateGas");return(0,a.vA)(I(r),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await r.estimateGas(await e(n))},populateTransaction:e,send:n,staticCall:async function(n){const r=U(t.runner,"call");(0,a.vA)(P(r),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const s=await e(n);try{return await r.call(s)}catch(e){if((0,a.E)(e)&&e.data)throw t.interface.makeError(e.data,s);throw e}}}),r}function j(t,e){const n=function(...n){const r=t.interface.getFunction(e,n);return(0,a.vA)(r,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:n}}),r},s=async function(...e){const s=n(...e);let i={};if(s.inputs.length+1===e.length&&(i=await F(e.pop()),i.from&&(i.from=await(0,A.tG)(i.from,D(t.runner)))),s.inputs.length!==e.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");const a=await async function(t,e,n){const s=U(t,"resolveName"),i=C(s)?s:null;return await Promise.all(e.map(((t,e)=>t.walkAsync(n[e],((t,e)=>(e=r.V.dereference(e,t),"address"===t?(0,A.tG)(e,i):e))))))}(t.runner,s.inputs,e);return Object.assign({},i,await(0,o.k)({to:t.getAddress(),data:t.interface.encodeFunctionData(s,a)}))},i=async function(...t){const e=await u(...t);return 1===e.length?e[0]:e},c=async function(...e){const n=t.runner;(0,a.vA)(B(n),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});const r=await n.sendTransaction(await s(...e)),i=L(t.runner);return new S(t.interface,i,r)},u=async function(...e){const r=U(t.runner,"call");(0,a.vA)(P(r),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});const i=await s(...e);let o="0x";try{o=await r.call(i)}catch(e){if((0,a.E)(e)&&e.data)throw t.interface.makeError(e.data,i);throw e}const c=n(...e);return t.interface.decodeFunctionResult(c,o)},l=async(...t)=>n(...t).constant?await i(...t):await c(...t);return(0,o.n)(l,{name:t.interface.getFunctionName(e),_contract:t,_key:e,getFragment:n,estimateGas:async function(...e){const n=U(t.runner,"estimateGas");return(0,a.vA)(I(n),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await n.estimateGas(await s(...e))},populateTransaction:s,send:c,staticCall:i,staticCallResult:u}),Object.defineProperty(l,"fragment",{configurable:!1,enumerable:!0,get:()=>{const n=t.interface.getFunction(e);return(0,a.vA)(n,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),n}}),l}const _=Symbol.for("_ethersInternal_contract"),H=new WeakMap;function K(t){return H.get(t[_])}async function V(t,e){let n,r=null;if(Array.isArray(e)){const r=function(e){if((0,c.Lo)(e,32))return e;const n=t.interface.getEvent(e);return(0,a.MR)(n,"unknown fragment","name",e),n.topicHash};n=e.map((t=>null==t?null:Array.isArray(t)?t.map(r):r(t)))}else"*"===e?n=[null]:"string"==typeof e?(0,c.Lo)(e,32)?n=[e]:(r=t.interface.getEvent(e),(0,a.MR)(r,"unknown fragment","event",e),n=[r.topicHash]):(s=e)&&"object"==typeof s&&"getTopicFilter"in s&&"function"==typeof s.getTopicFilter&&s.fragment?n=await e.getTopicFilter():"fragment"in e?(r=e.fragment,n=[r.topicHash]):(0,a.MR)(!1,"unknown event name","event",e);var s;n=n.map((t=>{if(null==t)return null;if(Array.isArray(t)){const e=Array.from(new Set(t.map((t=>t.toLowerCase()))).values());return 1===e.length?e[0]:(e.sort(),e)}return t.toLowerCase()}));return{fragment:r,tag:n.map((t=>null==t?"null":Array.isArray(t)?t.join("|"):t)).join("&"),topics:n}}async function J(t,e){const{subs:n}=K(t);return n.get((await V(t,e)).tag)||null}async function Q(t,e,n){const r=L(t.runner);(0,a.vA)(r,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});const{fragment:s,tag:i,topics:o}=await V(t,n),{addr:c,subs:u}=K(t);let l=u.get(i);if(!l){const e={address:c||t,topics:o},a=e=>{let r=s;if(null==r)try{r=t.interface.getEvent(e.topics[0])}catch(t){}if(r){const i=r,o=s?t.interface.decodeEventLog(s,e.data,e.topics):[];$(t,n,o,(r=>new N(t,r,n,i,e)))}else $(t,n,[],(r=>new O(t,r,n,e)))};let h=[];l={tag:i,listeners:[],start:()=>{h.length||h.push(r.on(e,a))},stop:async()=>{if(0==h.length)return;let t=h;h=[],await Promise.all(t),r.off(e,a)}},u.set(i,l)}return l}let z=Promise.resolve();async function $(t,e,n,r){try{await z}catch(t){}const s=async function(t,e,n,r){await z;const s=await J(t,e);if(!s)return!1;const i=s.listeners.length;return s.listeners=s.listeners.filter((({listener:e,once:s})=>{const i=Array.from(n);r&&i.push(r(s?null:e));try{e.call(t,...i)}catch(t){}return!s})),0===s.listeners.length&&(s.stop(),K(t).subs.delete(s.tag)),i>0}(t,e,n,r);return z=s,await s}const W=["then"];class q{target;interface;runner;filters;[_];fallback;constructor(t,e,n,r){(0,a.MR)("string"==typeof t||(0,A.$C)(t),"invalid value for Contract target","target",t),null==n&&(n=null);const s=b.from(e);let i;(0,o.n)(this,{target:t,runner:n,interface:s}),Object.defineProperty(this,_,{value:{}});let u=null,l=null;if(r){const t=L(n);l=new S(this.interface,t,r)}let h=new Map;if("string"==typeof t)if((0,c.Lo)(t))u=t,i=Promise.resolve(t);else{const e=U(n,"resolveName");if(!C(e))throw(0,a.xz)("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});i=e.resolveName(t).then((e=>{if(null==e)throw(0,a.xz)("an ENS name used for a contract target must be correctly configured","UNCONFIGURED_NAME",{value:t});return K(this).addr=e,e}))}else i=t.getAddress().then((t=>{if(null==t)throw new Error("TODO");return K(this).addr=t,t}));var f,p;f=this,p={addrPromise:i,addr:u,deployTx:l,subs:h},H.set(f[_],p);const d=new Proxy({},{get:(t,e,n)=>{if("symbol"==typeof e||W.indexOf(e)>=0)return Reflect.get(t,e,n);try{return this.getEvent(e)}catch(t){if(!(0,a.bJ)(t,"INVALID_ARGUMENT")||"key"!==t.argument)throw t}},has:(t,e)=>W.indexOf(e)>=0?Reflect.has(t,e):Reflect.has(t,e)||this.interface.hasEvent(String(e))});return(0,o.n)(this,{filters:d}),(0,o.n)(this,{fallback:s.receive||s.fallback?G(this):null}),new Proxy(this,{get:(t,e,n)=>{if("symbol"==typeof e||e in t||W.indexOf(e)>=0)return Reflect.get(t,e,n);try{return t.getFunction(e)}catch(t){if(!(0,a.bJ)(t,"INVALID_ARGUMENT")||"key"!==t.argument)throw t}},has:(t,e)=>"symbol"==typeof e||e in t||W.indexOf(e)>=0?Reflect.has(t,e):t.interface.hasFunction(e)})}connect(t){return new q(this.target,this.interface,t)}attach(t){return new q(t,this.interface,this.runner)}async getAddress(){return await K(this).addrPromise}async getDeployedCode(){const t=L(this.runner);(0,a.vA)(t,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});const e=await t.getCode(await this.getAddress());return"0x"===e?null:e}async waitForDeployment(){const t=this.deploymentTransaction();if(t)return await t.wait(),this;if(null!=await this.getDeployedCode())return this;const e=L(this.runner);return(0,a.vA)(null!=e,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise(((t,n)=>{const r=async()=>{try{if(null!=await this.getDeployedCode())return t(this);e.once("block",r)}catch(t){n(t)}};r()}))}deploymentTransaction(){return K(this).deployTx}getFunction(t){"string"!=typeof t&&(t=t.format());return j(this,t)}getEvent(t){return"string"!=typeof t&&(t=t.format()),function(t,e){const n=function(...n){const r=t.interface.getEvent(e,n);return(0,a.vA)(r,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:n}}),r},r=function(...e){return new M(t,n(...e),e)};return(0,o.n)(r,{name:t.interface.getEventName(e),_contract:t,_key:e,getFragment:n}),Object.defineProperty(r,"fragment",{configurable:!1,enumerable:!0,get:()=>{const n=t.interface.getEvent(e);return(0,a.vA)(n,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),n}}),r}(this,t)}async queryTransaction(t){throw new Error("@TODO")}async queryFilter(t,e,n){null==e&&(e=0),null==n&&(n="latest");const{addr:r,addrPromise:s}=K(this),i=r||await s,{fragment:o,topics:c}=await V(this,t),u={address:i,topics:c,fromBlock:e,toBlock:n},l=L(this.runner);return(0,a.vA)(l,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await l.getLogs(u)).map((t=>{let e=o;if(null==e)try{e=this.interface.getEvent(t.topics[0])}catch(t){}if(e)try{return new k(t,this.interface,e)}catch(e){return new x(t,e)}return new v.tG(t,l)}))}async on(t,e){const n=await Q(this,"on",t);return n.listeners.push({listener:e,once:!1}),n.start(),this}async once(t,e){const n=await Q(this,"once",t);return n.listeners.push({listener:e,once:!0}),n.start(),this}async emit(t,...e){return await $(this,t,e,null)}async listenerCount(t){if(t){const e=await J(this,t);return e?e.listeners.length:0}const{subs:e}=K(this);let n=0;for(const{listeners:t}of e.values())n+=t.length;return n}async listeners(t){if(t){const e=await J(this,t);return e?e.listeners.map((({listener:t})=>t)):[]}const{subs:e}=K(this);let n=[];for(const{listeners:t}of e.values())n=n.concat(t.map((({listener:t})=>t)));return n}async off(t,e){const n=await J(this,t);if(!n)return this;if(e){const t=n.listeners.map((({listener:t})=>t)).indexOf(e);t>=0&&n.listeners.splice(t,1)}return null!=e&&0!==n.listeners.length||(n.stop(),K(this).subs.delete(n.tag)),this}async removeAllListeners(t){if(t){const e=await J(this,t);if(!e)return this;e.stop(),K(this).subs.delete(e.tag)}else{const{subs:t}=K(this);for(const{tag:e,stop:n}of t.values())n(),t.delete(e)}return this}async addListener(t,e){return await this.on(t,e)}async removeListener(t,e){return await this.off(t,e)}static buildClass(t){return class extends q{constructor(e,n=null){super(e,t,n)}}}static from(t,e,n){null==n&&(n=null);return new this(t,e,n)}}class Z extends(function(){return q}()){}},8180:(t,e,n)=>{n.d(e,{n1:()=>w,Gz:()=>b,T_:()=>A,po:()=>v});var r=n(4655),s=n(4877),i=n(3439),o=n(7171),a=n(6558),c=n(750);const[u,l]=(()=>a.Ay.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map((t=>BigInt(t)))))(),h=new Uint32Array(80),f=new Uint32Array(80);class p extends o.D{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:t,Al:e,Bh:n,Bl:r,Ch:s,Cl:i,Dh:o,Dl:a,Eh:c,El:u,Fh:l,Fl:h,Gh:f,Gl:p,Hh:d,Hl:g}=this;return[t,e,n,r,s,i,o,a,c,u,l,h,f,p,d,g]}set(t,e,n,r,s,i,o,a,c,u,l,h,f,p,d,g){this.Ah=0|t,this.Al=0|e,this.Bh=0|n,this.Bl=0|r,this.Ch=0|s,this.Cl=0|i,this.Dh=0|o,this.Dl=0|a,this.Eh=0|c,this.El=0|u,this.Fh=0|l,this.Fl=0|h,this.Gh=0|f,this.Gl=0|p,this.Hh=0|d,this.Hl=0|g}process(t,e){for(let n=0;n<16;n++,e+=4)h[n]=t.getUint32(e),f[n]=t.getUint32(e+=4);for(let t=16;t<80;t++){const e=0|h[t-15],n=0|f[t-15],r=a.Ay.rotrSH(e,n,1)^a.Ay.rotrSH(e,n,8)^a.Ay.shrSH(e,n,7),s=a.Ay.rotrSL(e,n,1)^a.Ay.rotrSL(e,n,8)^a.Ay.shrSL(e,n,7),i=0|h[t-2],o=0|f[t-2],c=a.Ay.rotrSH(i,o,19)^a.Ay.rotrBH(i,o,61)^a.Ay.shrSH(i,o,6),u=a.Ay.rotrSL(i,o,19)^a.Ay.rotrBL(i,o,61)^a.Ay.shrSL(i,o,6),l=a.Ay.add4L(s,u,f[t-7],f[t-16]),p=a.Ay.add4H(l,r,c,h[t-7],h[t-16]);h[t]=0|p,f[t]=0|l}let{Ah:n,Al:r,Bh:s,Bl:i,Ch:o,Cl:c,Dh:p,Dl:d,Eh:g,El:y,Fh:m,Fl:w,Gh:b,Gl:A,Hh:v,Hl:E}=this;for(let t=0;t<80;t++){const e=a.Ay.rotrSH(g,y,14)^a.Ay.rotrSH(g,y,18)^a.Ay.rotrBH(g,y,41),k=a.Ay.rotrSL(g,y,14)^a.Ay.rotrSL(g,y,18)^a.Ay.rotrBL(g,y,41),x=g&m^~g&b,R=y&w^~y&A,S=a.Ay.add5L(E,k,R,l[t],f[t]),O=a.Ay.add5H(S,v,e,x,u[t],h[t]),N=0|S,T=a.Ay.rotrSH(n,r,28)^a.Ay.rotrBH(n,r,34)^a.Ay.rotrBH(n,r,39),P=a.Ay.rotrSL(n,r,28)^a.Ay.rotrBL(n,r,34)^a.Ay.rotrBL(n,r,39),I=n&s^n&o^s&o,C=r&i^r&c^i&c;v=0|b,E=0|A,b=0|m,A=0|w,m=0|g,w=0|y,({h:g,l:y}=a.Ay.add(0|p,0|d,0|O,0|N)),p=0|o,d=0|c,o=0|s,c=0|i,s=0|n,i=0|r;const B=a.Ay.add3L(N,P,C);n=a.Ay.add3H(B,O,T,I),r=0|B}({h:n,l:r}=a.Ay.add(0|this.Ah,0|this.Al,0|n,0|r)),({h:s,l:i}=a.Ay.add(0|this.Bh,0|this.Bl,0|s,0|i)),({h:o,l:c}=a.Ay.add(0|this.Ch,0|this.Cl,0|o,0|c)),({h:p,l:d}=a.Ay.add(0|this.Dh,0|this.Dl,0|p,0|d)),({h:g,l:y}=a.Ay.add(0|this.Eh,0|this.El,0|g,0|y)),({h:m,l:w}=a.Ay.add(0|this.Fh,0|this.Fl,0|m,0|w)),({h:b,l:A}=a.Ay.add(0|this.Gh,0|this.Gl,0|b,0|A)),({h:v,l:E}=a.Ay.add(0|this.Hh,0|this.Hl,0|v,0|E)),this.set(n,r,s,i,o,c,p,d,g,y,m,w,b,A,v,E)}roundClean(){h.fill(0),f.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const d=(0,c.ld)((()=>new p));var g=n(7339);const y=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("unable to locate global object")}(),m=y.crypto||y.msCrypto;function w(t){switch(t){case"sha256":return i.s.create();case"sha512":return d.create()}(0,g.MR)(!1,"invalid hashing algorithm name","algorithm",t)}function b(t,e){const n={sha256:i.s,sha512:d}[t];return(0,g.MR)(null!=n,"invalid hmac algorithm","algorithm",t),r.w.create(n,e)}function A(t,e,n,r,o){const a={sha256:i.s,sha512:d}[o];return(0,g.MR)(null!=a,"invalid pbkdf2 algorithm","algorithm",o),(0,s.A)(a,t,e,{c:n,dkLen:r})}function v(t){(0,g.vA)(null!=m,"platform does not support secure random numbers","UNSUPPORTED_OPERATION",{operation:"randomBytes"}),(0,g.MR)(Number.isInteger(t)&&t>0&&t<=1024,"invalid length","length",t);const e=new Uint8Array(t);return m.getRandomValues(e),e}},5539:(t,e,n)=>{n.d(e,{S:()=>S});var r=n(7125),s=n(6558),i=n(750);const[o,a,c]=[[],[],[]],u=BigInt(0),l=BigInt(1),h=BigInt(2),f=BigInt(7),p=BigInt(256),d=BigInt(113);for(let t=0,e=l,n=1,r=0;t<24;t++){[n,r]=[r,(2*n+3*r)%5],o.push(2*(5*r+n)),a.push((t+1)*(t+2)/2%64);let s=u;for(let t=0;t<7;t++)e=(e<<l^(e>>f)*d)%p,e&h&&(s^=l<<(l<<BigInt(t))-l);c.push(s)}const[g,y]=(0,s.lD)(c,!0),m=(t,e,n)=>n>32?(0,s.WM)(t,e,n):(0,s.P5)(t,e,n),w=(t,e,n)=>n>32?(0,s.im)(t,e,n):(0,s.B4)(t,e,n);class b extends i.Vw{constructor(t,e,n,s=!1,o=24){if(super(),this.blockLen=t,this.suffix=e,this.outputLen=n,this.enableXOF=s,this.rounds=o,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,(0,r.ai)(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=(0,i.DH)(this.state)}keccak(){!function(t,e=24){const n=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let e=0;e<10;e++)n[e]=t[e]^t[e+10]^t[e+20]^t[e+30]^t[e+40];for(let e=0;e<10;e+=2){const r=(e+8)%10,s=(e+2)%10,i=n[s],o=n[s+1],a=m(i,o,1)^n[r],c=w(i,o,1)^n[r+1];for(let n=0;n<50;n+=10)t[e+n]^=a,t[e+n+1]^=c}let e=t[2],s=t[3];for(let n=0;n<24;n++){const r=a[n],i=m(e,s,r),c=w(e,s,r),u=o[n];e=t[u],s=t[u+1],t[u]=i,t[u+1]=c}for(let e=0;e<50;e+=10){for(let r=0;r<10;r++)n[r]=t[e+r];for(let r=0;r<10;r++)t[e+r]^=~n[(r+2)%10]&n[(r+4)%10]}t[0]^=g[r],t[1]^=y[r]}n.fill(0)}(this.state32,this.rounds),this.posOut=0,this.pos=0}update(t){(0,r.t2)(this);const{blockLen:e,state:n}=this,s=(t=(0,i.ZJ)(t)).length;for(let r=0;r<s;){const i=Math.min(e-this.pos,s-r);for(let e=0;e<i;e++)n[this.pos++]^=t[r++];this.pos===e&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:e,pos:n,blockLen:r}=this;t[n]^=e,128&e&&n===r-1&&this.keccak(),t[r-1]^=128,this.keccak()}writeInto(t){(0,r.t2)(this,!1),(0,r.ee)(t),this.finish();const e=this.state,{blockLen:n}=this;for(let r=0,s=t.length;r<s;){this.posOut>=n&&this.keccak();const i=Math.min(n-this.posOut,s-r);t.set(e.subarray(this.posOut,this.posOut+i),r),this.posOut+=i,r+=i}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return(0,r.ai)(t),this.xofInto(new Uint8Array(t))}digestInto(t){if((0,r.CG)(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:e,suffix:n,outputLen:r,rounds:s,enableXOF:i}=this;return t||(t=new b(e,n,r,i,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=n,t.outputLen=r,t.enableXOF=i,t.destroyed=this.destroyed,t}}const A=(t,e,n)=>(0,i.ld)((()=>new b(e,t,n))),v=A(1,136,32);var E=n(6212);let k=!1;const x=function(t){return v(t)};let R=x;function S(t){const e=(0,E.q5)(t,"data");return(0,E.c$)(R(e))}S._=x,S.lock=function(){k=!0},S.register=function(t){if(k)throw new TypeError("keccak256 is locked");R=t},Object.freeze(S)},7761:(t,e,n)=>{n.d(e,{p:()=>a});var r=n(8180);let s=!1;const i=function(t){return new Uint8Array((0,r.po)(t))};let o=i;function a(t){return o(t)}a._=i,a.lock=function(){s=!0},a.register=function(t){if(s)throw new Error("randomBytes is locked");o=t},Object.freeze(a)},8650:(t,e,n)=>{n.d(e,{s:()=>h});var r=n(8180),s=n(6212);const i=function(t){return(0,r.n1)("sha256").update(t).digest()},o=function(t){return(0,r.n1)("sha512").update(t).digest()};let a=i,c=o,u=!1,l=!1;function h(t){const e=(0,s.q5)(t,"data");return(0,s.c$)(a(e))}function f(t){const e=(0,s.q5)(t,"data");return(0,s.c$)(c(e))}h._=i,h.lock=function(){u=!0},h.register=function(t){if(u)throw new Error("sha256 is locked");a=t},Object.freeze(h),f._=o,f.lock=function(){l=!0},f.register=function(t){if(l)throw new Error("sha512 is locked");c=t},Object.freeze(h)},260:(t,e,n)=>{n.d(e,{t:()=>g});const r="0x0000000000000000000000000000000000000000000000000000000000000000";var s=n(6212),i=n(7033),o=n(7339);const a=BigInt(0),c=BigInt(1),u=BigInt(2),l=BigInt(27),h=BigInt(28),f=BigInt(35),p={};function d(t){return(0,s.nx)((0,i.c4)(t),32)}class g{#k;#x;#R;#S;get r(){return this.#k}set r(t){(0,o.MR)(32===(0,s.pO)(t),"invalid r","value",t),this.#k=(0,s.c$)(t)}get s(){return this.#x}set s(t){(0,o.MR)(32===(0,s.pO)(t),"invalid s","value",t);const e=(0,s.c$)(t);(0,o.MR)(parseInt(e.substring(0,3))<8,"non-canonical s","value",e),this.#x=e}get v(){return this.#R}set v(t){const e=(0,i.WZ)(t,"value");(0,o.MR)(27===e||28===e,"invalid v","v",t),this.#R=e}get networkV(){return this.#S}get legacyChainId(){const t=this.networkV;return null==t?null:g.getChainId(t)}get yParity(){return 27===this.v?0:1}get yParityAndS(){const t=(0,s.q5)(this.s);return this.yParity&&(t[0]|=128),(0,s.c$)(t)}get compactSerialized(){return(0,s.xW)([this.r,this.yParityAndS])}get serialized(){return(0,s.xW)([this.r,this.s,this.yParity?"0x1c":"0x1b"])}constructor(t,e,n,r){(0,o.gk)(t,p,"Signature"),this.#k=e,this.#x=n,this.#R=r,this.#S=null}[Symbol.for("nodejs.util.inspect.custom")](){return`Signature { r: "${this.r}", s: "${this.s}", yParity: ${this.yParity}, networkV: ${this.networkV} }`}clone(){const t=new g(p,this.r,this.s,this.v);return this.networkV&&(t.#S=this.networkV),t}toJSON(){const t=this.networkV;return{_type:"signature",networkV:null!=t?t.toString():null,r:this.r,s:this.s,v:this.v}}static getChainId(t){const e=(0,i.Ab)(t,"v");return e==l||e==h?a:((0,o.MR)(e>=f,"invalid EIP-155 v","v",t),(e-f)/u)}static getChainIdV(t,e){return(0,i.Ab)(t)*u+BigInt(35+e-27)}static getNormalizedV(t){const e=(0,i.Ab)(t);return e===a||e===l?27:e===c||e===h?28:((0,o.MR)(e>=f,"invalid v","v",t),e&c?27:28)}static from(t){function e(e,n){(0,o.MR)(e,n,"signature",t)}if(null==t)return new g(p,r,r,27);if("string"==typeof t){const n=(0,s.q5)(t,"signature");if(64===n.length){const t=(0,s.c$)(n.slice(0,32)),e=n.slice(32,64),r=128&e[0]?28:27;return e[0]&=127,new g(p,t,(0,s.c$)(e),r)}if(65===n.length){const t=(0,s.c$)(n.slice(0,32)),r=n.slice(32,64);e(!(128&r[0]),"non-canonical s");const i=g.getNormalizedV(n[64]);return new g(p,t,(0,s.c$)(r),i)}e(!1,"invalid raw signature length")}if(t instanceof g)return t.clone();const n=t.r;e(null!=n,"missing r");const a=d(n),c=function(t,n){if(null!=t)return d(t);if(null!=n){e((0,s.Lo)(n,32),"invalid yParityAndS");const t=(0,s.q5)(n);return t[0]&=127,(0,s.c$)(t)}e(!1,"missing s")}(t.s,t.yParityAndS);e(!(128&(0,s.q5)(c)[0]),"non-canonical s");const{networkV:u,v:l}=function(t,n,r){if(null!=t){const e=(0,i.Ab)(t);return{networkV:e>=f?e:void 0,v:g.getNormalizedV(e)}}if(null!=n)return e((0,s.Lo)(n,32),"invalid yParityAndS"),{v:128&(0,s.q5)(n)[0]?28:27};if(null!=r){switch((0,i.WZ)(r,"sig.yParity")){case 0:return{v:27};case 1:return{v:28}}e(!1,"invalid yParity")}e(!1,"missing v")}(t.v,t.yParityAndS,t.yParity),h=new g(p,a,c,l);return u&&(h.#S=u),e(null==t.yParity||(0,i.WZ)(t.yParity,"sig.yParity")===h.yParity,"yParity mismatch"),e(null==t.yParityAndS||t.yParityAndS===h.yParityAndS,"yParityAndS mismatch"),h}}},5496:(t,e,n)=>{n.d(e,{h:()=>ft});var r={};n.r(r),n.d(r,{OG:()=>w,My:()=>u,Ph:()=>f,lX:()=>p,Id:()=>m,fg:()=>v,qj:()=>y,aT:()=>h,lq:()=>d,z:()=>g,Q5:()=>k});var s=n(3439);BigInt(0);const i=BigInt(1),o=BigInt(2),a=t=>t instanceof Uint8Array,c=Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));function u(t){if(!a(t))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=c[t[n]];return e}function l(t){if("string"!=typeof t)throw new Error("hex string expected, got "+typeof t);return BigInt(""===t?"0":`0x${t}`)}function h(t){if("string"!=typeof t)throw new Error("hex string expected, got "+typeof t);const e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(e/2);for(let e=0;e<n.length;e++){const r=2*e,s=t.slice(r,r+2),i=Number.parseInt(s,16);if(Number.isNaN(i)||i<0)throw new Error("Invalid byte sequence");n[e]=i}return n}function f(t){return l(u(t))}function p(t){if(!a(t))throw new Error("Uint8Array expected");return l(u(Uint8Array.from(t).reverse()))}function d(t,e){return h(t.toString(16).padStart(2*e,"0"))}function g(t,e){return d(t,e).reverse()}function y(t,e,n){let r;if("string"==typeof e)try{r=h(e)}catch(n){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${n}`)}else{if(!a(e))throw new Error(`${t} must be hex string or Uint8Array`);r=Uint8Array.from(e)}const s=r.length;if("number"==typeof n&&s!==n)throw new Error(`${t} expected ${n} bytes, got ${s}`);return r}function m(...t){const e=new Uint8Array(t.reduce(((t,e)=>t+e.length),0));let n=0;return t.forEach((t=>{if(!a(t))throw new Error("Uint8Array expected");e.set(t,n),n+=t.length})),e}const w=t=>(o<<BigInt(t-1))-i,b=t=>new Uint8Array(t),A=t=>Uint8Array.from(t);function v(t,e,n){if("number"!=typeof t||t<2)throw new Error("hashLen must be a number");if("number"!=typeof e||e<2)throw new Error("qByteLen must be a number");if("function"!=typeof n)throw new Error("hmacFn must be a function");let r=b(t),s=b(t),i=0;const o=()=>{r.fill(1),s.fill(0),i=0},a=(...t)=>n(s,r,...t),c=(t=b())=>{s=a(A([0]),t),r=a(),0!==t.length&&(s=a(A([1]),t),r=a())},u=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let t=0;const n=[];for(;t<e;){r=a();const e=r.slice();n.push(e),t+=r.length}return m(...n)};return(t,e)=>{let n;for(o(),c(t);!(n=e(u()));)c();return o(),n}}const E={bigint:t=>"bigint"==typeof t,function:t=>"function"==typeof t,boolean:t=>"boolean"==typeof t,string:t=>"string"==typeof t,stringOrUint8Array:t=>"string"==typeof t||t instanceof Uint8Array,isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>"function"==typeof t&&Number.isSafeInteger(t.outputLen)};function k(t,e,n={}){const r=(e,n,r)=>{const s=E[n];if("function"!=typeof s)throw new Error(`Invalid validator "${n}", expected function`);const i=t[e];if(!(r&&void 0===i||s(i,t)))throw new Error(`Invalid param ${String(e)}=${i} (${typeof i}), expected ${n}`)};for(const[t,n]of Object.entries(e))r(t,n,!1);for(const[t,e]of Object.entries(n))r(t,e,!0);return t}const x=BigInt(0),R=BigInt(1),S=BigInt(2),O=BigInt(3),N=BigInt(4),T=BigInt(5),P=BigInt(8);BigInt(9),BigInt(16);function I(t,e){const n=t%e;return n>=x?n:e+n}function C(t,e,n){if(n<=x||e<x)throw new Error("Expected power/modulo > 0");if(n===R)return x;let r=R;for(;e>x;)e&R&&(r=r*t%n),t=t*t%n,e>>=R;return r}function B(t,e,n){let r=t;for(;e-- >x;)r*=r,r%=n;return r}function D(t,e){if(t===x||e<=x)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let n=I(t,e),r=e,s=x,i=R,o=R,a=x;for(;n!==x;){const t=r/n,e=r%n,c=s-o*t,u=i-a*t;r=n,n=e,s=o,i=a,o=c,a=u}if(r!==R)throw new Error("invert: does not exist");return I(s,e)}function M(t){if(t%N===O){const e=(t+R)/N;return function(t,n){const r=t.pow(n,e);if(!t.eql(t.sqr(r),n))throw new Error("Cannot find square root");return r}}if(t%P===T){const e=(t-T)/P;return function(t,n){const r=t.mul(n,S),s=t.pow(r,e),i=t.mul(n,s),o=t.mul(t.mul(i,S),s),a=t.mul(i,t.sub(o,t.ONE));if(!t.eql(t.sqr(a),n))throw new Error("Cannot find square root");return a}}return function(t){const e=(t-R)/S;let n,r,s;for(n=t-R,r=0;n%S===x;n/=S,r++);for(s=S;s<t&&C(s,e,t)!==t-R;s++);if(1===r){const e=(t+R)/N;return function(t,n){const r=t.pow(n,e);if(!t.eql(t.sqr(r),n))throw new Error("Cannot find square root");return r}}const i=(n+R)/S;return function(t,o){if(t.pow(o,e)===t.neg(t.ONE))throw new Error("Cannot find square root");let a=r,c=t.pow(t.mul(t.ONE,s),n),u=t.pow(o,i),l=t.pow(o,n);for(;!t.eql(l,t.ONE);){if(t.eql(l,t.ZERO))return t.ZERO;let e=1;for(let n=t.sqr(l);e<a&&!t.eql(n,t.ONE);e++)n=t.sqr(n);const n=t.pow(c,R<<BigInt(a-e-1));c=t.sqr(n),u=t.mul(u,n),l=t.mul(l,c),a=e}return u}}(t)}const U=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function L(t,e){const n=void 0!==e?e:t.toString(2).length;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function F(t){if("bigint"!=typeof t)throw new Error("field order must be bigint");const e=t.toString(2).length;return Math.ceil(e/8)}function G(t){const e=F(t);return e+Math.ceil(e/2)}var j=n(4655),_=n(750);const H=BigInt(0),K=BigInt(1);function V(t){return k(t.Fp,U.reduce(((t,e)=>(t[e]="function",t)),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),k(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...L(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}const{Ph:J,aT:Q}=r,z={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(t){const{Err:e}=z;if(t.length<2||2!==t[0])throw new e("Invalid signature integer tag");const n=t[1],r=t.subarray(2,n+2);if(!n||r.length!==n)throw new e("Invalid signature integer: wrong length");if(128&r[0])throw new e("Invalid signature integer: negative");if(0===r[0]&&!(128&r[1]))throw new e("Invalid signature integer: unnecessary leading zero");return{d:J(r),l:t.subarray(n+2)}},toSig(t){const{Err:e}=z,n="string"==typeof t?Q(t):t;if(!(n instanceof Uint8Array))throw new Error("ui8a expected");let r=n.length;if(r<2||48!=n[0])throw new e("Invalid signature tag");if(n[1]!==r-2)throw new e("Invalid signature: incorrect length");const{d:s,l:i}=z._parseInt(n.subarray(2)),{d:o,l:a}=z._parseInt(i);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:s,s:o}},hexFromSig(t){const e=t=>8&Number.parseInt(t[0],16)?"00"+t:t,n=t=>{const e=t.toString(16);return 1&e.length?`0${e}`:e},r=e(n(t.s)),s=e(n(t.r)),i=r.length/2,o=s.length/2,a=n(i),c=n(o);return`30${n(o+i+4)}02${c}${s}02${a}${r}`}},$=BigInt(0),W=BigInt(1),q=(BigInt(2),BigInt(3));BigInt(4);function Z(t){const e=function(t){const e=V(t);k(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:r,a:s}=e;if(n){if(!r.eql(s,r.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if("object"!=typeof n||"bigint"!=typeof n.beta||"function"!=typeof n.splitScalar)throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}(t),{Fp:n}=e,r=e.toBytes||((t,e,r)=>{const s=e.toAffine();return m(Uint8Array.from([4]),n.toBytes(s.x),n.toBytes(s.y))}),s=e.fromBytes||(t=>{const e=t.subarray(1);return{x:n.fromBytes(e.subarray(0,n.BYTES)),y:n.fromBytes(e.subarray(n.BYTES,2*n.BYTES))}});function i(t){const{a:r,b:s}=e,i=n.sqr(t),o=n.mul(i,t);return n.add(n.add(o,n.mul(t,r)),s)}if(!n.eql(n.sqr(e.Gy),i(e.Gx)))throw new Error("bad generator point: equation left != right");function o(t){return"bigint"==typeof t&&$<t&&t<e.n}function a(t){if(!o(t))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(t){const{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:s,n:i}=e;if(n&&"bigint"!=typeof t){if(t instanceof Uint8Array&&(t=u(t)),"string"!=typeof t||!n.includes(t.length))throw new Error("Invalid key");t=t.padStart(2*r,"0")}let o;try{o="bigint"==typeof t?t:f(y("private key",t,r))}catch(e){throw new Error(`private key must be ${r} bytes, hex or bigint, not ${typeof t}`)}return s&&(o=I(o,i)),a(o),o}const l=new Map;function h(t){if(!(t instanceof p))throw new Error("ProjectivePoint expected")}class p{constructor(t,e,r){if(this.px=t,this.py=e,this.pz=r,null==t||!n.isValid(t))throw new Error("x required");if(null==e||!n.isValid(e))throw new Error("y required");if(null==r||!n.isValid(r))throw new Error("z required")}static fromAffine(t){const{x:e,y:r}=t||{};if(!t||!n.isValid(e)||!n.isValid(r))throw new Error("invalid affine point");if(t instanceof p)throw new Error("projective point not allowed");const s=t=>n.eql(t,n.ZERO);return s(e)&&s(r)?p.ZERO:new p(e,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(t){const e=n.invertBatch(t.map((t=>t.pz)));return t.map(((t,n)=>t.toAffine(e[n]))).map(p.fromAffine)}static fromHex(t){const e=p.fromAffine(s(y("pointHex",t)));return e.assertValidity(),e}static fromPrivateKey(t){return p.BASE.multiply(c(t))}_setWindowSize(t){this._WINDOW_SIZE=t,l.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!n.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:t,y:r}=this.toAffine();if(!n.isValid(t)||!n.isValid(r))throw new Error("bad point: x or y not FE");const s=n.sqr(r),o=i(t);if(!n.eql(s,o))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:t}=this.toAffine();if(n.isOdd)return!n.isOdd(t);throw new Error("Field doesn't support isOdd")}equals(t){h(t);const{px:e,py:r,pz:s}=this,{px:i,py:o,pz:a}=t,c=n.eql(n.mul(e,a),n.mul(i,s)),u=n.eql(n.mul(r,a),n.mul(o,s));return c&&u}negate(){return new p(this.px,n.neg(this.py),this.pz)}double(){const{a:t,b:r}=e,s=n.mul(r,q),{px:i,py:o,pz:a}=this;let c=n.ZERO,u=n.ZERO,l=n.ZERO,h=n.mul(i,i),f=n.mul(o,o),d=n.mul(a,a),g=n.mul(i,o);return g=n.add(g,g),l=n.mul(i,a),l=n.add(l,l),c=n.mul(t,l),u=n.mul(s,d),u=n.add(c,u),c=n.sub(f,u),u=n.add(f,u),u=n.mul(c,u),c=n.mul(g,c),l=n.mul(s,l),d=n.mul(t,d),g=n.sub(h,d),g=n.mul(t,g),g=n.add(g,l),l=n.add(h,h),h=n.add(l,h),h=n.add(h,d),h=n.mul(h,g),u=n.add(u,h),d=n.mul(o,a),d=n.add(d,d),h=n.mul(d,g),c=n.sub(c,h),l=n.mul(d,f),l=n.add(l,l),l=n.add(l,l),new p(c,u,l)}add(t){h(t);const{px:r,py:s,pz:i}=this,{px:o,py:a,pz:c}=t;let u=n.ZERO,l=n.ZERO,f=n.ZERO;const d=e.a,g=n.mul(e.b,q);let y=n.mul(r,o),m=n.mul(s,a),w=n.mul(i,c),b=n.add(r,s),A=n.add(o,a);b=n.mul(b,A),A=n.add(y,m),b=n.sub(b,A),A=n.add(r,i);let v=n.add(o,c);return A=n.mul(A,v),v=n.add(y,w),A=n.sub(A,v),v=n.add(s,i),u=n.add(a,c),v=n.mul(v,u),u=n.add(m,w),v=n.sub(v,u),f=n.mul(d,A),u=n.mul(g,w),f=n.add(u,f),u=n.sub(m,f),f=n.add(m,f),l=n.mul(u,f),m=n.add(y,y),m=n.add(m,y),w=n.mul(d,w),A=n.mul(g,A),m=n.add(m,w),w=n.sub(y,w),w=n.mul(d,w),A=n.add(A,w),y=n.mul(m,A),l=n.add(l,y),y=n.mul(v,A),u=n.mul(b,u),u=n.sub(u,y),y=n.mul(b,m),f=n.mul(v,f),f=n.add(f,y),new p(u,l,f)}subtract(t){return this.add(t.negate())}is0(){return this.equals(p.ZERO)}wNAF(t){return g.wNAFCached(this,l,t,(t=>{const e=n.invertBatch(t.map((t=>t.pz)));return t.map(((t,n)=>t.toAffine(e[n]))).map(p.fromAffine)}))}multiplyUnsafe(t){const r=p.ZERO;if(t===$)return r;if(a(t),t===W)return this;const{endo:s}=e;if(!s)return g.unsafeLadder(this,t);let{k1neg:i,k1:o,k2neg:c,k2:u}=s.splitScalar(t),l=r,h=r,f=this;for(;o>$||u>$;)o&W&&(l=l.add(f)),u&W&&(h=h.add(f)),f=f.double(),o>>=W,u>>=W;return i&&(l=l.negate()),c&&(h=h.negate()),h=new p(n.mul(h.px,s.beta),h.py,h.pz),l.add(h)}multiply(t){a(t);let r,s,i=t;const{endo:o}=e;if(o){const{k1neg:t,k1:e,k2neg:a,k2:c}=o.splitScalar(i);let{p:u,f:l}=this.wNAF(e),{p:h,f}=this.wNAF(c);u=g.constTimeNegate(t,u),h=g.constTimeNegate(a,h),h=new p(n.mul(h.px,o.beta),h.py,h.pz),r=u.add(h),s=l.add(f)}else{const{p:t,f:e}=this.wNAF(i);r=t,s=e}return p.normalizeZ([r,s])[0]}multiplyAndAddUnsafe(t,e,n){const r=p.BASE,s=(t,e)=>e!==$&&e!==W&&t.equals(r)?t.multiply(e):t.multiplyUnsafe(e),i=s(this,e).add(s(t,n));return i.is0()?void 0:i}toAffine(t){const{px:e,py:r,pz:s}=this,i=this.is0();null==t&&(t=i?n.ONE:n.inv(s));const o=n.mul(e,t),a=n.mul(r,t),c=n.mul(s,t);if(i)return{x:n.ZERO,y:n.ZERO};if(!n.eql(c,n.ONE))throw new Error("invZ was invalid");return{x:o,y:a}}isTorsionFree(){const{h:t,isTorsionFree:n}=e;if(t===W)return!0;if(n)return n(p,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:t,clearCofactor:n}=e;return t===W?this:n?n(p,this):this.multiplyUnsafe(e.h)}toRawBytes(t=!0){return this.assertValidity(),r(p,this,t)}toHex(t=!0){return u(this.toRawBytes(t))}}p.BASE=new p(e.Gx,e.Gy,n.ONE),p.ZERO=new p(n.ZERO,n.ONE,n.ZERO);const d=e.nBitLength,g=function(t,e){const n=(t,e)=>{const n=e.negate();return t?n:e},r=t=>({windows:Math.ceil(e/t)+1,windowSize:2**(t-1)});return{constTimeNegate:n,unsafeLadder(e,n){let r=t.ZERO,s=e;for(;n>H;)n&K&&(r=r.add(s)),s=s.double(),n>>=K;return r},precomputeWindow(t,e){const{windows:n,windowSize:s}=r(e),i=[];let o=t,a=o;for(let t=0;t<n;t++){a=o,i.push(a);for(let t=1;t<s;t++)a=a.add(o),i.push(a);o=a.double()}return i},wNAF(e,s,i){const{windows:o,windowSize:a}=r(e);let c=t.ZERO,u=t.BASE;const l=BigInt(2**e-1),h=2**e,f=BigInt(e);for(let t=0;t<o;t++){const e=t*a;let r=Number(i&l);i>>=f,r>a&&(r-=h,i+=K);const o=e,p=e+Math.abs(r)-1,d=t%2!=0,g=r<0;0===r?u=u.add(n(d,s[o])):c=c.add(n(g,s[p]))}return{p:c,f:u}},wNAFCached(t,e,n,r){const s=t._WINDOW_SIZE||1;let i=e.get(t);return i||(i=this.precomputeWindow(t,s),1!==s&&e.set(t,r(i))),this.wNAF(s,i,n)}}}(p,e.endo?Math.ceil(d/2):d);return{CURVE:e,ProjectivePoint:p,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:o}}function Y(t){const e=function(t){const e=V(t);return k(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}(t),{Fp:n,n:r}=e,s=n.BYTES+1,i=2*n.BYTES+1;function o(t){return I(t,r)}function a(t){return D(t,r)}const{ProjectivePoint:c,normPrivateKeyToScalar:l,weierstrassEquation:b,isWithinCurveOrder:A}=Z({...e,toBytes(t,e,r){const s=e.toAffine(),i=n.toBytes(s.x),o=m;return r?o(Uint8Array.from([e.hasEvenY()?2:3]),i):o(Uint8Array.from([4]),i,n.toBytes(s.y))},fromBytes(t){const e=t.length,r=t[0],o=t.subarray(1);if(e!==s||2!==r&&3!==r){if(e===i&&4===r){return{x:n.fromBytes(o.subarray(0,n.BYTES)),y:n.fromBytes(o.subarray(n.BYTES,2*n.BYTES))}}throw new Error(`Point of length ${e} was invalid. Expected ${s} compressed bytes or ${i} uncompressed bytes`)}{const t=f(o);if(!($<(a=t)&&a<n.ORDER))throw new Error("Point is not on curve");const e=b(t);let s=n.sqrt(e);return!(1&~r)!==((s&W)===W)&&(s=n.neg(s)),{x:t,y:s}}var a}}),E=t=>u(d(t,e.nByteLength));function x(t){return t>r>>W}const S=(t,e,n)=>f(t.slice(e,n));class O{constructor(t,e,n){this.r=t,this.s=e,this.recovery=n,this.assertValidity()}static fromCompact(t){const n=e.nByteLength;return t=y("compactSignature",t,2*n),new O(S(t,0,n),S(t,n,2*n))}static fromDER(t){const{r:e,s:n}=z.toSig(y("DER",t));return new O(e,n)}assertValidity(){if(!A(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!A(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(t){return new O(this.r,this.s,t)}recoverPublicKey(t){const{r,s,recovery:i}=this,u=C(y("msgHash",t));if(null==i||![0,1,2,3].includes(i))throw new Error("recovery id invalid");const l=2===i||3===i?r+e.n:r;if(l>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const h=1&i?"03":"02",f=c.fromHex(h+E(l)),p=a(l),d=o(-u*p),g=o(s*p),m=c.BASE.multiplyAndAddUnsafe(f,d,g);if(!m)throw new Error("point at infinify");return m.assertValidity(),m}hasHighS(){return x(this.s)}normalizeS(){return this.hasHighS()?new O(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return h(this.toDERHex())}toDERHex(){return z.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return h(this.toCompactHex())}toCompactHex(){return E(this.r)+E(this.s)}}const N={isValidPrivateKey(t){try{return l(t),!0}catch(t){return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{const t=G(e.n);return function(t,e,n=!1){const r=t.length,s=F(e),i=G(e);if(r<16||r<i||r>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${r}`);const o=I(n?f(t):p(t),e-R)+R;return n?g(o,s):d(o,s)}(e.randomBytes(t),e.n)},precompute:(t=8,e=c.BASE)=>(e._setWindowSize(t),e.multiply(BigInt(3)),e)};function T(t){const e=t instanceof Uint8Array,n="string"==typeof t,r=(e||n)&&t.length;return e?r===s||r===i:n?r===2*s||r===2*i:t instanceof c}const P=e.bits2int||function(t){const n=f(t),r=8*t.length-e.nBitLength;return r>0?n>>BigInt(r):n},C=e.bits2int_modN||function(t){return o(P(t))},B=w(e.nBitLength);function M(t){if("bigint"!=typeof t)throw new Error("bigint expected");if(!($<=t&&t<B))throw new Error(`bigint expected < 2^${e.nBitLength}`);return d(t,e.nByteLength)}function U(t,r,s=L){if(["recovered","canonical"].some((t=>t in s)))throw new Error("sign() legacy options not supported");const{hash:i,randomBytes:u}=e;let{lowS:h,prehash:f,extraEntropy:p}=s;null==h&&(h=!0),t=y("msgHash",t),f&&(t=y("prehashed msgHash",i(t)));const d=C(t),g=l(r),w=[M(g),M(d)];if(null!=p){const t=!0===p?u(n.BYTES):p;w.push(y("extraEntropy",t))}const b=m(...w),v=d;return{seed:b,k2sig:function(t){const e=P(t);if(!A(e))return;const n=a(e),r=c.BASE.multiply(e).toAffine(),s=o(r.x);if(s===$)return;const i=o(n*o(v+s*g));if(i===$)return;let u=(r.x===s?0:2)|Number(r.y&W),l=i;return h&&x(i)&&(l=function(t){return x(t)?o(-t):t}(i),u^=1),new O(s,l,u)}}}const L={lowS:e.lowS,prehash:!1},j={lowS:e.lowS,prehash:!1};return c.BASE._setWindowSize(8),{CURVE:e,getPublicKey:function(t,e=!0){return c.fromPrivateKey(t).toRawBytes(e)},getSharedSecret:function(t,e,n=!0){if(T(t))throw new Error("first arg must be private key");if(!T(e))throw new Error("second arg must be public key");return c.fromHex(e).multiply(l(t)).toRawBytes(n)},sign:function(t,n,r=L){const{seed:s,k2sig:i}=U(t,n,r),o=e;return v(o.hash.outputLen,o.nByteLength,o.hmac)(s,i)},verify:function(t,n,r,s=j){const i=t;if(n=y("msgHash",n),r=y("publicKey",r),"strict"in s)throw new Error("options.strict was renamed to lowS");const{lowS:u,prehash:l}=s;let h,f;try{if("string"==typeof i||i instanceof Uint8Array)try{h=O.fromDER(i)}catch(t){if(!(t instanceof z.Err))throw t;h=O.fromCompact(i)}else{if("object"!=typeof i||"bigint"!=typeof i.r||"bigint"!=typeof i.s)throw new Error("PARSE");{const{r:t,s:e}=i;h=new O(t,e)}}f=c.fromHex(r)}catch(t){if("PARSE"===t.message)throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(u&&h.hasHighS())return!1;l&&(n=e.hash(n));const{r:p,s:d}=h,g=C(n),m=a(d),w=o(g*m),b=o(p*m),A=c.BASE.multiplyAndAddUnsafe(f,w,b)?.toAffine();return!!A&&o(A.x)===p},ProjectivePoint:c,Signature:O,utils:N}}function X(t){return{hash:t,hmac:(e,...n)=>(0,j.w)(t,e,(0,_.Id)(...n)),randomBytes:_.po}}const tt=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),et=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),nt=BigInt(1),rt=BigInt(2),st=(t,e)=>(t+e/rt)/e;function it(t){const e=tt,n=BigInt(3),r=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,l=u*u*t%e,h=B(l,n,e)*l%e,f=B(h,n,e)*l%e,p=B(f,rt,e)*u%e,d=B(p,s,e)*p%e,g=B(d,i,e)*d%e,y=B(g,a,e)*g%e,m=B(y,c,e)*y%e,w=B(m,a,e)*g%e,b=B(w,n,e)*l%e,A=B(b,o,e)*d%e,v=B(A,r,e)*u%e,E=B(v,rt,e);if(!ot.eql(ot.sqr(E),t))throw new Error("Cannot find square root");return E}const ot=function(t,e,n=!1,r={}){if(t<=x)throw new Error(`Expected Field ORDER > 0, got ${t}`);const{nBitLength:s,nByteLength:i}=L(t,e);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");const o=M(t),a=Object.freeze({ORDER:t,BITS:s,BYTES:i,MASK:w(s),ZERO:x,ONE:R,create:e=>I(e,t),isValid:e=>{if("bigint"!=typeof e)throw new Error("Invalid field element: expected bigint, got "+typeof e);return x<=e&&e<t},is0:t=>t===x,isOdd:t=>(t&R)===R,neg:e=>I(-e,t),eql:(t,e)=>t===e,sqr:e=>I(e*e,t),add:(e,n)=>I(e+n,t),sub:(e,n)=>I(e-n,t),mul:(e,n)=>I(e*n,t),pow:(t,e)=>function(t,e,n){if(n<x)throw new Error("Expected power > 0");if(n===x)return t.ONE;if(n===R)return e;let r=t.ONE,s=e;for(;n>x;)n&R&&(r=t.mul(r,s)),s=t.sqr(s),n>>=R;return r}(a,t,e),div:(e,n)=>I(e*D(n,t),t),sqrN:t=>t*t,addN:(t,e)=>t+e,subN:(t,e)=>t-e,mulN:(t,e)=>t*e,inv:e=>D(e,t),sqrt:r.sqrt||(t=>o(a,t)),invertBatch:t=>function(t,e){const n=new Array(e.length),r=e.reduce(((e,r,s)=>t.is0(r)?e:(n[s]=e,t.mul(e,r))),t.ONE),s=t.inv(r);return e.reduceRight(((e,r,s)=>t.is0(r)?e:(n[s]=t.mul(e,n[s]),t.mul(e,r))),s),n}(a,t),cmov:(t,e,n)=>n?e:t,toBytes:t=>n?g(t,i):d(t,i),fromBytes:t=>{if(t.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${t.length}`);return n?p(t):f(t)}});return Object.freeze(a)}(tt,void 0,void 0,{sqrt:it}),at=function(t,e){const n=e=>Y({...t,...X(e)});return Object.freeze({...n(e),create:n})}({a:BigInt(0),b:BigInt(7),Fp:ot,n:et,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{const e=et,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-nt*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=n,o=BigInt("0x100000000000000000000000000000000"),a=st(i*t,e),c=st(-r*t,e);let u=I(t-a*n-c*s,e),l=I(-a*r-c*i,e);const h=u>o,f=l>o;if(h&&(u=e-u),f&&(l=e-l),u>o||l>o)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:h,k1:u,k2neg:f,k2:l}}}},s.s);BigInt(0);at.ProjectivePoint;var ct=n(7339),ut=n(6212),lt=n(7033),ht=n(260);class ft{#O;constructor(t){(0,ct.MR)(32===(0,ut.pO)(t),"invalid private key","privateKey","[REDACTED]"),this.#O=(0,ut.c$)(t)}get privateKey(){return this.#O}get publicKey(){return ft.computePublicKey(this.#O)}get compressedPublicKey(){return ft.computePublicKey(this.#O,!0)}sign(t){(0,ct.MR)(32===(0,ut.pO)(t),"invalid digest length","digest",t);const e=at.sign((0,ut.Lm)(t),(0,ut.Lm)(this.#O),{lowS:!0});return ht.t.from({r:(0,lt.up)(e.r,32),s:(0,lt.up)(e.s,32),v:e.recovery?28:27})}computeSharedSecret(t){const e=ft.computePublicKey(t);return(0,ut.c$)(at.getSharedSecret((0,ut.Lm)(this.#O),(0,ut.q5)(e),!1))}static computePublicKey(t,e){let n=(0,ut.q5)(t,"key");if(32===n.length){const t=at.getPublicKey(n,!!e);return(0,ut.c$)(t)}if(64===n.length){const t=new Uint8Array(65);t[0]=4,t.set(n,1),n=t}const r=at.ProjectivePoint.fromHex(n);return(0,ut.c$)(r.toRawBytes(e))}static recoverPublicKey(t,e){(0,ct.MR)(32===(0,ut.pO)(t),"invalid digest length","digest",t);const n=ht.t.from(e);let r=at.Signature.fromCompact((0,ut.Lm)((0,ut.xW)([n.r,n.s])));r=r.addRecoveryBit(n.yParity);const s=r.recoverPublicKey((0,ut.Lm)(t));return(0,ct.MR)(null!=s,"invalid signautre for digest","signature",e),"0x"+s.toHex(!1)}static addPoints(t,e,n){const r=at.ProjectivePoint.fromHex(ft.computePublicKey(t).substring(2)),s=at.ProjectivePoint.fromHex(ft.computePublicKey(e).substring(2));return"0x"+r.add(s).toHex(!!n)}}},8264:(t,e,n)=>{n.d(e,{id:()=>i});var r=n(5539),s=n(7303);function i(t){return(0,r.S)((0,s.YW)(t))}},7649:(t,e,n)=>{n.d(e,{A:()=>c,l:()=>u});var r=n(5539);const s="Ethereum Signed Message:\n";var i=n(415),o=n(7303),a=n(6212);function c(t){return"string"==typeof t&&(t=(0,o.YW)(t)),(0,r.S)((0,a.xW)([(0,o.YW)(s),(0,o.YW)(String(t.length)),t]))}function u(t,e){const n=c(t);return(0,i.x)(n,e)}},2314:(t,e,n)=>{n.d(e,{z:()=>x});var r=n(31),s=n(5539),i=n(6212),o=n(7033),a=n(7339),c=n(8081),u=n(8264);const l=new Uint8Array(32);l.fill(0);const h=BigInt(-1),f=BigInt(0),p=BigInt(1),d=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");const g=(0,o.up)(p,32),y=(0,o.up)(f,32),m={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},w=["name","version","chainId","verifyingContract","salt"];function b(t){return function(e){return(0,a.MR)("string"==typeof e,`invalid domain value for ${JSON.stringify(t)}`,`domain.${t}`,e),e}}const A={name:b("name"),version:b("version"),chainId:function(t){const e=(0,o.Ab)(t,"domain.chainId");return(0,a.MR)(e>=0,"invalid chain ID","domain.chainId",t),Number.isSafeInteger(e)?Number(e):(0,o.nD)(e)},verifyingContract:function(t){try{return(0,r.b)(t).toLowerCase()}catch(t){}(0,a.MR)(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",t)},salt:function(t){const e=(0,i.q5)(t,"domain.salt");return(0,a.MR)(32===e.length,'invalid domain value "salt"',"domain.salt",t),(0,i.c$)(e)}};function v(t){{const e=t.match(/^(u?)int(\d+)$/);if(e){const n=""===e[1],r=parseInt(e[2]);(0,a.MR)(r%8==0&&0!==r&&r<=256&&e[2]===String(r),"invalid numeric width","type",t);const s=(0,o.dK)(d,n?r-1:r),i=n?(s+p)*h:f;return function(e){const r=(0,o.Ab)(e,"value");return(0,a.MR)(r>=i&&r<=s,`value out-of-bounds for ${t}`,"value",r),(0,o.up)(n?(0,o.JJ)(r,256):r,32)}}}{const e=t.match(/^bytes(\d+)$/);if(e){const n=parseInt(e[1]);return(0,a.MR)(0!==n&&n<=32&&e[1]===String(n),"invalid bytes width","type",t),function(e){const r=(0,i.q5)(e);return(0,a.MR)(r.length===n,`invalid length for ${t}`,"value",e),function(t){const e=(0,i.q5)(t),n=e.length%32;return n?(0,i.xW)([e,l.slice(n)]):(0,i.c$)(e)}(e)}}}switch(t){case"address":return function(t){return(0,i.nx)((0,r.b)(t),32)};case"bool":return function(t){return t?g:y};case"bytes":return function(t){return(0,s.S)(t)};case"string":return function(t){return(0,u.id)(t)}}return null}function E(t,e){return`${t}(${e.map((({name:t,type:e})=>e+" "+t)).join(",")})`}function k(t){const e=t.match(/^([^\x5b]*)((\x5b\d*\x5d)*)(\x5b(\d*)\x5d)$/);return e?{base:e[1],index:e[2]+e[4],array:{base:e[1],prefix:e[1]+e[2],count:e[5]?parseInt(e[5]):-1}}:{base:t}}class x{primaryType;#N;get types(){return JSON.parse(this.#N)}#T;#P;constructor(t){this.#T=new Map,this.#P=new Map;const e=new Map,n=new Map,r=new Map,s={};Object.keys(t).forEach((i=>{s[i]=t[i].map((({name:e,type:n})=>{let{base:r,index:s}=k(n);return"int"!==r||t.int||(r="int256"),"uint"!==r||t.uint||(r="uint256"),{name:e,type:r+(s||"")}})),e.set(i,new Set),n.set(i,[]),r.set(i,new Set)})),this.#N=JSON.stringify(s);for(const r in s){const i=new Set;for(const o of s[r]){(0,a.MR)(!i.has(o.name),`duplicate variable name ${JSON.stringify(o.name)} in ${JSON.stringify(r)}`,"types",t),i.add(o.name);const s=k(o.type).base;(0,a.MR)(s!==r,`circular type reference to ${JSON.stringify(s)}`,"types",t);v(s)||((0,a.MR)(n.has(s),`unknown type ${JSON.stringify(s)}`,"types",t),n.get(s).push(r),e.get(r).add(s))}}const i=Array.from(n.keys()).filter((t=>0===n.get(t).length));(0,a.MR)(0!==i.length,"missing primary type","types",t),(0,a.MR)(1===i.length,`ambiguous primary types or unused types: ${i.map((t=>JSON.stringify(t))).join(", ")}`,"types",t),(0,c.n)(this,{primaryType:i[0]}),function s(i,o){(0,a.MR)(!o.has(i),`circular type reference to ${JSON.stringify(i)}`,"types",t),o.add(i);for(const t of e.get(i))if(n.has(t)){s(t,o);for(const e of o)r.get(e).add(t)}o.delete(i)}(this.primaryType,new Set);for(const[t,e]of r){const n=Array.from(e);n.sort(),this.#T.set(t,E(t,s[t])+n.map((t=>E(t,s[t]))).join(""))}}getEncoder(t){let e=this.#P.get(t);return e||(e=this.#I(t),this.#P.set(t,e)),e}#I(t){{const e=v(t);if(e)return e}const e=k(t).array;if(e){const t=e.prefix,n=this.getEncoder(t);return r=>{(0,a.MR)(-1===e.count||e.count===r.length,`array length mismatch; expected length ${e.count}`,"value",r);let o=r.map(n);return this.#T.has(t)&&(o=o.map(s.S)),(0,s.S)((0,i.xW)(o))}}const n=this.types[t];if(n){const e=(0,u.id)(this.#T.get(t));return t=>{const r=n.map((({name:e,type:n})=>{const r=this.getEncoder(n)(t[e]);return this.#T.has(n)?(0,s.S)(r):r}));return r.unshift(e),(0,i.xW)(r)}}(0,a.MR)(!1,`unknown type: ${t}`,"type",t)}encodeType(t){const e=this.#T.get(t);return(0,a.MR)(e,`unknown type: ${JSON.stringify(t)}`,"name",t),e}encodeData(t,e){return this.getEncoder(t)(e)}hashStruct(t,e){return(0,s.S)(this.encodeData(t,e))}encode(t){return this.encodeData(this.primaryType,t)}hash(t){return this.hashStruct(this.primaryType,t)}_visit(t,e,n){if(v(t))return n(t,e);const r=k(t).array;if(r)return(0,a.MR)(-1===r.count||r.count===e.length,`array length mismatch; expected length ${r.count}`,"value",e),e.map((t=>this._visit(r.prefix,t,n)));const s=this.types[t];if(s)return s.reduce(((t,{name:r,type:s})=>(t[r]=this._visit(s,e[r],n),t)),{});(0,a.MR)(!1,`unknown type: ${t}`,"type",t)}visit(t,e){return this._visit(this.primaryType,t,e)}static from(t){return new x(t)}static getPrimaryType(t){return x.from(t).primaryType}static hashStruct(t,e,n){return x.from(e).hashStruct(t,n)}static hashDomain(t){const e=[];for(const n in t){if(null==t[n])continue;const r=m[n];(0,a.MR)(r,`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",t),e.push({name:n,type:r})}return e.sort(((t,e)=>w.indexOf(t.name)-w.indexOf(e.name))),x.hashStruct("EIP712Domain",{EIP712Domain:e},t)}static encode(t,e,n){return(0,i.xW)(["0x1901",x.hashDomain(t),x.from(e).hash(n)])}static hash(t,e,n){return(0,s.S)(x.encode(t,e,n))}static async resolveNames(t,e,n,r){t=Object.assign({},t);for(const e in t)null==t[e]&&delete t[e];const s={};t.verifyingContract&&!(0,i.Lo)(t.verifyingContract,20)&&(s[t.verifyingContract]="0x");const o=x.from(e);o.visit(n,((t,e)=>("address"!==t||(0,i.Lo)(e,20)||(s[e]="0x"),e)));for(const t in s)s[t]=await r(t);return t.verifyingContract&&s[t.verifyingContract]&&(t.verifyingContract=s[t.verifyingContract]),{domain:t,value:n=o.visit(n,((t,e)=>"address"===t&&s[e]?s[e]:e))}}static getPayload(t,e,n){x.hashDomain(t);const r={},s=[];w.forEach((e=>{const n=t[e];null!=n&&(r[e]=A[e](n),s.push({name:e,type:m[e]}))}));const c=x.from(e);e=c.types;const u=Object.assign({},e);return(0,a.MR)(null==u.EIP712Domain,"types must not contain EIP712Domain type","types.EIP712Domain",e),u.EIP712Domain=s,c.encode(n),{types:u,domain:r,primaryType:c.primaryType,message:c.visit(n,((t,e)=>{if(t.match(/^bytes(\d*)/))return(0,i.c$)((0,i.q5)(e));if(t.match(/^u?int/))return(0,o.Ab)(e).toString();switch(t){case"address":return e.toLowerCase();case"bool":return!!e;case"string":return(0,a.MR)("string"==typeof e,"invalid string","value",e),e}(0,a.MR)(!1,"unsupported type","type",t)}))}}}},5942:(t,e,n)=>{n.d(e,{J:()=>f,Z:()=>h});var r=n(1442),s=n(9453),i=n(7339),o=n(8081),a=n(7033),c=n(3948);function u(t,e){if(t.provider)return t.provider;(0,i.vA)(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:e})}async function l(t,e){let n=(0,c.VS)(e);if(null!=n.to&&(n.to=(0,r.tG)(n.to,t)),null!=n.from){const e=n.from;n.from=Promise.all([t.getAddress(),(0,r.tG)(e,t)]).then((([t,e])=>((0,i.MR)(t.toLowerCase()===e.toLowerCase(),"transaction from mismatch","tx.from",e),t)))}else n.from=t.getAddress();return await(0,o.k)(n)}class h{provider;constructor(t){(0,o.n)(this,{provider:t||null})}async getNonce(t){return u(this,"getTransactionCount").getTransactionCount(await this.getAddress(),t)}async populateCall(t){return await l(this,t)}async populateTransaction(t){const e=u(this,"populateTransaction"),n=await l(this,t);null==n.nonce&&(n.nonce=await this.getNonce("pending")),null==n.gasLimit&&(n.gasLimit=await this.estimateGas(n));const r=await this.provider.getNetwork();if(null!=n.chainId){const e=(0,a.Ab)(n.chainId);(0,i.MR)(e===r.chainId,"transaction chainId mismatch","tx.chainId",t.chainId)}else n.chainId=r.chainId;const s=null!=n.maxFeePerGas||null!=n.maxPriorityFeePerGas;if(null==n.gasPrice||2!==n.type&&!s?0!==n.type&&1!==n.type||!s||(0,i.MR)(!1,"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","tx",t):(0,i.MR)(!1,"eip-1559 transaction do not support gasPrice","tx",t),2!==n.type&&null!=n.type||null==n.maxFeePerGas||null==n.maxPriorityFeePerGas)if(0===n.type||1===n.type){const t=await e.getFeeData();(0,i.vA)(null!=t.gasPrice,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),null==n.gasPrice&&(n.gasPrice=t.gasPrice)}else{const t=await e.getFeeData();if(null==n.type)if(null!=t.maxFeePerGas&&null!=t.maxPriorityFeePerGas)if(n.type=2,null!=n.gasPrice){const t=n.gasPrice;delete n.gasPrice,n.maxFeePerGas=t,n.maxPriorityFeePerGas=t}else null==n.maxFeePerGas&&(n.maxFeePerGas=t.maxFeePerGas),null==n.maxPriorityFeePerGas&&(n.maxPriorityFeePerGas=t.maxPriorityFeePerGas);else null!=t.gasPrice?((0,i.vA)(!s,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),null==n.gasPrice&&(n.gasPrice=t.gasPrice),n.type=0):(0,i.vA)(!1,"failed to get consistent fee data","UNSUPPORTED_OPERATION",{operation:"signer.getFeeData"});else 2!==n.type&&3!==n.type||(null==n.maxFeePerGas&&(n.maxFeePerGas=t.maxFeePerGas),null==n.maxPriorityFeePerGas&&(n.maxPriorityFeePerGas=t.maxPriorityFeePerGas))}else n.type=2;return await(0,o.k)(n)}async estimateGas(t){return u(this,"estimateGas").estimateGas(await this.populateCall(t))}async call(t){return u(this,"call").call(await this.populateCall(t))}async resolveName(t){const e=u(this,"resolveName");return await e.resolveName(t)}async sendTransaction(t){const e=u(this,"sendTransaction"),n=await this.populateTransaction(t);delete n.from;const r=s.Z.from(n);return await e.broadcastTransaction(await this.signTransaction(r))}}class f extends h{address;constructor(t,e){super(e),(0,o.n)(this,{address:t})}async getAddress(){return this.address}connect(t){return new f(this.address,t)}#C(t,e){(0,i.vA)(!1,`VoidSigner cannot sign ${t}`,"UNSUPPORTED_OPERATION",{operation:e})}async signTransaction(t){this.#C("transactions","signTransaction")}async signMessage(t){this.#C("messages","signMessage")}async signTypedData(t,e,n){this.#C("typed-data","signTypedData")}}},6525:(t,e,n)=>{n.d(e,{k:()=>i});var r=n(7339),s=n(5642);class i extends s._y{#B;constructor(t,e,n){const s=Object.assign({},null!=n?n:{},{batchMaxCount:1});(0,r.MR)(t&&t.request,"invalid EIP-1193 provider","ethereum",t),super(e,s),this.#B=async(e,n)=>{const r={method:e,params:n};this.emit("debug",{action:"sendEip1193Request",payload:r});try{const e=await t.request(r);return this.emit("debug",{action:"receiveEip1193Result",result:e}),e}catch(t){const e=new Error(t.message);throw e.code=t.code,e.data=t.data,e.payload=r,this.emit("debug",{action:"receiveEip1193Error",error:e}),e}}}async send(t,e){return await this._start(),await super.send(t,e)}async _send(t){(0,r.MR)(!Array.isArray(t),"EIP-1193 does not support batch request","payload",t);try{const e=await this.#B(t.method,t.params||[]);return[{id:t.id,result:e}]}catch(e){return[{id:t.id,error:{code:e.code,data:e.data,message:e.message}}]}}getRpcError(t,e){switch((e=JSON.parse(JSON.stringify(e))).error.code||-1){case 4001:e.error.message=`ethers-user-denied: ${e.error.message}`;break;case 4200:e.error.message=`ethers-unsupported: ${e.error.message}`}return super.getRpcError(t,e)}async hasSigner(t){null==t&&(t=0);const e=await this.send("eth_accounts",[]);return"number"==typeof t?e.length>t:(t=t.toLowerCase(),0!==e.filter((e=>e.toLowerCase()===t)).length)}async getSigner(t){if(null==t&&(t=0),!await this.hasSigner(t))try{await this.#B("eth_requestAccounts",[])}catch(t){const e=t.payload;throw this.getRpcError(e,{id:e.id,error:t})}return await super.getSigner(t)}}},5642:(t,e,n)=>{n.d(e,{_y:()=>tn,FR:()=>en});var r=n(5273),s=n(31),i=n(1442),o=n(2314),a=n(8177),c=n(8081),u=n(7339),l=n(7303),h=n(6212),f=n(7033);function p(t){return async function(t,e){(0,u.vA)(null==e||!e.cancelled,"request cancelled before sending","CANCELLED");const n=t.url.split(":")[0].toLowerCase();(0,u.vA)("http"===n||"https"===n,`unsupported protocol ${n}`,"UNSUPPORTED_OPERATION",{info:{protocol:n},operation:"request"}),(0,u.vA)("https"===n||!t.credentials||t.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let r=null;const s=new AbortController,i=setTimeout((()=>{r=(0,u.xz)("request timeout","TIMEOUT"),s.abort()}),t.timeout);e&&e.addListener((()=>{r=(0,u.xz)("request cancelled","CANCELLED"),s.abort()}));const o={method:t.method,headers:new Headers(Array.from(t)),body:t.body||void 0,signal:s.signal};let a;try{a=await fetch(t.url,o)}catch(t){if(clearTimeout(i),r)throw r;throw t}clearTimeout(i);const c={};a.headers.forEach(((t,e)=>{c[e.toLowerCase()]=t}));const l=await a.arrayBuffer(),h=null==l?null:new Uint8Array(l);return{statusCode:a.status,statusMessage:a.statusText,headers:c,body:h}}}p();let d=p();const g=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),y=new RegExp("^ipfs://(ipfs/)?(.*)$","i");let m=!1;async function w(t,e){try{const e=t.match(g);if(!e)throw new Error("invalid data");return new R(200,"OK",{"content-type":e[1]||"text/plain"},e[2]?function(t){t=atob(t);const e=new Uint8Array(t.length);for(let n=0;n<t.length;n++)e[n]=t.charCodeAt(n);return(0,h.q5)(e)}(e[3]):(n=e[3],(0,l.YW)(n.replace(/%([0-9a-f][0-9a-f])/gi,((t,e)=>String.fromCharCode(parseInt(e,16)))))))}catch(e){return new R(599,"BAD REQUEST (invalid data: URI)",{},null,new x(t))}var n}function b(t){return async function(e,n){try{const n=e.match(y);if(!n)throw new Error("invalid link");return new x(`${t}${n[2]}`)}catch(t){return new R(599,"BAD REQUEST (invalid IPFS URI)",{},null,new x(e))}}}const A={data:w,ipfs:b("https://gateway.ipfs.io/ipfs/")},v=new WeakMap;class E{#D;#M;constructor(t){this.#D=[],this.#M=!1,v.set(t,(()=>{if(!this.#M){this.#M=!0;for(const t of this.#D)setTimeout((()=>{t()}),0);this.#D=[]}}))}addListener(t){(0,u.vA)(!this.#M,"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),this.#D.push(t)}get cancelled(){return this.#M}checkSignal(){(0,u.vA)(!this.cancelled,"cancelled","CANCELLED",{})}}function k(t){if(null==t)throw new Error("missing signal; should not happen");return t.checkSignal(),t}class x{#U;#L;#F;#G;#j;#_;#H;#K;#V;#J;#Q;#z;#$;#W;#q;get url(){return this.#_}set url(t){this.#_=String(t)}get body(){return null==this.#H?null:new Uint8Array(this.#H)}set body(t){if(null==t)this.#H=void 0,this.#K=void 0;else if("string"==typeof t)this.#H=(0,l.YW)(t),this.#K="text/plain";else if(t instanceof Uint8Array)this.#H=t,this.#K="application/octet-stream";else{if("object"!=typeof t)throw new Error("invalid body");this.#H=(0,l.YW)(JSON.stringify(t)),this.#K="application/json"}}hasBody(){return null!=this.#H}get method(){return this.#G?this.#G:this.hasBody()?"POST":"GET"}set method(t){null==t&&(t=""),this.#G=String(t).toUpperCase()}get headers(){const t=Object.assign({},this.#F);return this.#V&&(t.authorization=`Basic ${function(t){const e=(0,h.q5)(t);let n="";for(let t=0;t<e.length;t++)n+=String.fromCharCode(e[t]);return btoa(n)}((0,l.YW)(this.#V))}`),this.allowGzip&&(t["accept-encoding"]="gzip"),null==t["content-type"]&&this.#K&&(t["content-type"]=this.#K),this.body&&(t["content-length"]=String(this.body.length)),t}getHeader(t){return this.headers[t.toLowerCase()]}setHeader(t,e){this.#F[String(t).toLowerCase()]=String(e)}clearHeaders(){this.#F={}}[Symbol.iterator](){const t=this.headers,e=Object.keys(t);let n=0;return{next:()=>{if(n<e.length){const r=e[n++];return{value:[r,t[r]],done:!1}}return{value:void 0,done:!0}}}}get credentials(){return this.#V||null}setCredentials(t,e){(0,u.MR)(!t.match(/:/),"invalid basic authentication username","username","[REDACTED]"),this.#V=`${t}:${e}`}get allowGzip(){return this.#L}set allowGzip(t){this.#L=!!t}get allowInsecureAuthentication(){return!!this.#U}set allowInsecureAuthentication(t){this.#U=!!t}get timeout(){return this.#j}set timeout(t){(0,u.MR)(t>=0,"timeout must be non-zero","timeout",t),this.#j=t}get preflightFunc(){return this.#J||null}set preflightFunc(t){this.#J=t}get processFunc(){return this.#Q||null}set processFunc(t){this.#Q=t}get retryFunc(){return this.#z||null}set retryFunc(t){this.#z=t}get getUrlFunc(){return this.#q||d}set getUrlFunc(t){this.#q=t}constructor(t){this.#_=String(t),this.#U=!1,this.#L=!0,this.#F={},this.#G="",this.#j=3e5,this.#W={slotInterval:250,maxAttempts:12},this.#q=null}toString(){return`<FetchRequest method=${JSON.stringify(this.method)} url=${JSON.stringify(this.url)} headers=${JSON.stringify(this.headers)} body=${this.#H?(0,h.c$)(this.#H):"null"}>`}setThrottleParams(t){null!=t.slotInterval&&(this.#W.slotInterval=t.slotInterval),null!=t.maxAttempts&&(this.#W.maxAttempts=t.maxAttempts)}async#Z(t,e,n,r,s){if(t>=this.#W.maxAttempts)return s.makeServerError("exceeded maximum retry limit");(0,u.vA)(S()<=e,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:r}),n>0&&await function(t){return new Promise((e=>setTimeout(e,t)))}(n);let i=this.clone();const o=(i.url.split(":")[0]||"").toLowerCase();if(o in A){const t=await A[o](i.url,k(r.#$));if(t instanceof R){let e=t;if(this.processFunc){k(r.#$);try{e=await this.processFunc(i,e)}catch(t){null!=t.throttle&&"number"==typeof t.stall||e.makeServerError("error in post-processing function",t).assertOk()}}return e}i=t}this.preflightFunc&&(i=await this.preflightFunc(i));const a=await this.getUrlFunc(i,k(r.#$));let c=new R(a.statusCode,a.statusMessage,a.headers,a.body,r);if(301===c.statusCode||302===c.statusCode){try{const n=c.headers.location||"";return i.redirect(n).#Z(t+1,e,0,r,c)}catch(t){}return c}if(429===c.statusCode&&(null==this.retryFunc||await this.retryFunc(i,c,t))){const n=c.headers["retry-after"];let s=this.#W.slotInterval*Math.trunc(Math.random()*Math.pow(2,t));return"string"==typeof n&&n.match(/^[1-9][0-9]*$/)&&(s=parseInt(n)),i.clone().#Z(t+1,e,s,r,c)}if(this.processFunc){k(r.#$);try{c=await this.processFunc(i,c)}catch(n){null!=n.throttle&&"number"==typeof n.stall||c.makeServerError("error in post-processing function",n).assertOk();let s=this.#W.slotInterval*Math.trunc(Math.random()*Math.pow(2,t));return n.stall>=0&&(s=n.stall),i.clone().#Z(t+1,e,s,r,c)}}return c}send(){return(0,u.vA)(null==this.#$,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),this.#$=new E(this),this.#Z(0,S()+this.timeout,0,this,new R(0,"",{},null,this))}cancel(){(0,u.vA)(null!=this.#$,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});const t=v.get(this);if(!t)throw new Error("missing signal; should not happen");t()}redirect(t){const e=this.url.split(":")[0].toLowerCase(),n=t.split(":")[0].toLowerCase();(0,u.vA)("GET"===this.method&&("https"!==e||"http"!==n)&&t.match(/^https?:/),"unsupported redirect","UNSUPPORTED_OPERATION",{operation:`redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(t)})`});const r=new x(t);return r.method="GET",r.allowGzip=this.allowGzip,r.timeout=this.timeout,r.#F=Object.assign({},this.#F),this.#H&&(r.#H=new Uint8Array(this.#H)),r.#K=this.#K,r}clone(){const t=new x(this.url);return t.#G=this.#G,this.#H&&(t.#H=this.#H),t.#K=this.#K,t.#F=Object.assign({},this.#F),t.#V=this.#V,this.allowGzip&&(t.allowGzip=!0),t.timeout=this.timeout,this.allowInsecureAuthentication&&(t.allowInsecureAuthentication=!0),t.#J=this.#J,t.#Q=this.#Q,t.#z=this.#z,t.#W=Object.assign({},this.#W),t.#q=this.#q,t}static lockConfig(){m=!0}static getGateway(t){return A[t.toLowerCase()]||null}static registerGateway(t,e){if("http"===(t=t.toLowerCase())||"https"===t)throw new Error(`cannot intercept ${t}; use registerGetUrl`);if(m)throw new Error("gateways locked");A[t]=e}static registerGetUrl(t){if(m)throw new Error("gateways locked");d=t}static createGetUrlFunc(t){return p()}static createDataGateway(){return w}static createIpfsGatewayFunc(t){return b(t)}}class R{#Y;#X;#F;#H;#B;#tt;toString(){return`<FetchResponse status=${this.statusCode} body=${this.#H?(0,h.c$)(this.#H):"null"}>`}get statusCode(){return this.#Y}get statusMessage(){return this.#X}get headers(){return Object.assign({},this.#F)}get body(){return null==this.#H?null:new Uint8Array(this.#H)}get bodyText(){try{return null==this.#H?"":(0,l._v)(this.#H)}catch(t){(0,u.vA)(!1,"response body is not valid UTF-8 data","UNSUPPORTED_OPERATION",{operation:"bodyText",info:{response:this}})}}get bodyJson(){try{return JSON.parse(this.bodyText)}catch(t){(0,u.vA)(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){const t=this.headers,e=Object.keys(t);let n=0;return{next:()=>{if(n<e.length){const r=e[n++];return{value:[r,t[r]],done:!1}}return{value:void 0,done:!0}}}}constructor(t,e,n,r,s){this.#Y=t,this.#X=e,this.#F=Object.keys(n).reduce(((t,e)=>(t[e.toLowerCase()]=String(n[e]),t)),{}),this.#H=null==r?null:new Uint8Array(r),this.#B=s||null,this.#tt={message:""}}makeServerError(t,e){let n;n=t?`CLIENT ESCALATED SERVER ERROR (${this.statusCode} ${this.statusMessage}; ${t})`:`CLIENT ESCALATED SERVER ERROR (${t=`${this.statusCode} ${this.statusMessage}`})`;const r=new R(599,n,this.headers,this.body,this.#B||void 0);return r.#tt={message:t,error:e},r}throwThrottleError(t,e){null==e?e=-1:(0,u.MR)(Number.isInteger(e)&&e>=0,"invalid stall timeout","stall",e);const n=new Error(t||"throttling requests");throw(0,c.n)(n,{stall:e,throttle:!0}),n}getHeader(t){return this.headers[t.toLowerCase()]}hasBody(){return null!=this.#H}get request(){return this.#B}ok(){return""===this.#tt.message&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:t,error:e}=this.#tt;""===t&&(t=`server response ${this.statusCode} ${this.statusMessage}`);let n=null;this.request&&(n=this.request.url);let r=null;try{this.#H&&(r=(0,l._v)(this.#H))}catch(t){}(0,u.vA)(!1,t,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:e,info:{requestUrl:n,responseBody:r,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}}function S(){return(new Date).getTime()}var O=n(8982),N=n(2724),T=n(5539);const P=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]);function I(t){return function(t){let e=0;return()=>t[e++]}(function(t){let e=0;function n(){return t[e++]<<8|t[e++]}let r=n(),s=1,i=[0,1];for(let t=1;t<r;t++)i.push(s+=n());let o=n(),a=e;e+=o;let c=0,u=0;function l(){return 0==c&&(u=u<<8|t[e++],c=8),u>>--c&1}const h=2**31,f=h>>>1,p=f>>1,d=h-1;let g=0;for(let t=0;t<31;t++)g=g<<1|l();let y=[],m=0,w=h;for(;;){let t=Math.floor(((g-m+1)*s-1)/w),e=0,n=r;for(;n-e>1;){let r=e+n>>>1;t<i[r]?n=r:e=r}if(0==e)break;y.push(e);let o=m+Math.floor(w*i[e]/s),a=m+Math.floor(w*i[e+1]/s)-1;for(;!((o^a)&f);)g=g<<1&d|l(),o=o<<1&d,a=a<<1&d|1;for(;o&~a&p;)g=g&f|g<<1&d>>>1|l(),o=o<<1^f,a=(a^f)<<1|f|1;m=o,w=1+a-o}let b=r-4;return y.map((e=>{switch(e-b){case 3:return b+65792+(t[a++]<<16|t[a++]<<8|t[a++]);case 2:return b+256+(t[a++]<<8|t[a++]);case 1:return b+t[a++];default:return e-1}}))}(function(t){let e=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach(((t,n)=>e[t.charCodeAt(0)]=n));let n=t.length,r=new Uint8Array(6*n>>3);for(let s=0,i=0,o=0,a=0;s<n;s++)a=a<<6|e[t.charCodeAt(s)],o+=6,o>=8&&(r[i++]=a>>(o-=8));return r}(t)))}function C(t){return 1&t?~t>>1:t>>1}function B(t,e){let n=Array(t);for(let r=0,s=0;r<t;r++)n[r]=s+=C(e());return n}function D(t,e=0){let n=[];for(;;){let r=t(),s=t();if(!s)break;e+=r;for(let t=0;t<s;t++)n.push(e+t);e+=s+1}return n}function M(t){return L((()=>{let e=D(t);if(e.length)return e}))}function U(t){let e=[];for(;;){let n=t();if(0==n)break;e.push(G(n,t))}for(;;){let n=t()-1;if(n<0)break;e.push(j(n,t))}return e.flat()}function L(t){let e=[];for(;;){let n=t(e.length);if(!n)break;e.push(n)}return e}function F(t,e,n){let r=Array(t).fill().map((()=>[]));for(let s=0;s<e;s++)B(t,n).forEach(((t,e)=>r[e].push(t)));return r}function G(t,e){let n=1+e(),r=e(),s=L(e);return F(s.length,1+t,e).flatMap(((t,e)=>{let[i,...o]=t;return Array(s[e]).fill().map(((t,e)=>{let s=e*r;return[i+e*n,o.map((t=>t+s))]}))}))}function j(t,e){return F(1+e(),1+t,e).map((t=>[t[0],t.slice(1)]))}function _(t){return`{${function(t){return t.toString(16).toUpperCase().padStart(2,"0")}(t)}}`}function H(t){let e=[];for(let n=0,r=t.length;n<r;){let r=t.codePointAt(n);n+=r<65536?1:2,e.push(r)}return e}function K(t){let e=t.length;if(e<4096)return String.fromCodePoint(...t);let n=[];for(let r=0;r<e;)n.push(String.fromCodePoint(...t.slice(r,r+=4096)));return n.join("")}function V(t,e){let n=t.length,r=n-e.length;for(let s=0;0==r&&s<n;s++)r=t[s]-e[s];return r}const J=44032,Q=4352,z=4449,$=4519,W=28,q=588;function Z(t){return t>>24&255}function Y(t){return 16777215&t}let X,tt,et,nt;function rt(t){return t>=J&&t<55204}function st(t,e){if(t>=Q&&t<4371&&e>=z&&e<4470)return J+(t-Q)*q+(e-z)*W;if(rt(t)&&e>$&&e<4547&&(t-J)%W==0)return t+(e-$);{let n=nt.get(t);return n&&(n=n.get(e),n)?n:-1}}function it(t){X||function(){let t=I("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");X=new Map(M(t).flatMap(((t,e)=>t.map((t=>[t,e+1<<24]))))),tt=new Set(D(t)),et=new Map,nt=new Map;for(let[e,n]of U(t)){if(!tt.has(e)&&2==n.length){let[t,r]=n,s=nt.get(t);s||(s=new Map,nt.set(t,s)),s.set(r,e)}et.set(e,n.reverse())}}();let e=[],n=[],r=!1;function s(t){let n=X.get(t);n&&(r=!0,t|=n),e.push(t)}for(let r of t)for(;;){if(r<128)e.push(r);else if(rt(r)){let t=r-J,e=t%q/W|0,n=t%W;s(Q+(t/q|0)),s(z+e),n>0&&s($+n)}else{let t=et.get(r);t?n.push(...t):s(r)}if(!n.length)break;r=n.pop()}if(r&&e.length>1){let t=Z(e[0]);for(let n=1;n<e.length;n++){let r=Z(e[n]);if(0==r||t<=r){t=r;continue}let s=n-1;for(;;){let n=e[s+1];if(e[s+1]=e[s],e[s]=n,!s)break;if(t=Z(e[--s]),t<=r)break}t=Z(e[n])}}return e}function ot(t){return it(t).map(Y)}function at(t){return function(t){let e=[],n=[],r=-1,s=0;for(let i of t){let t=Z(i),o=Y(i);if(-1==r)0==t?r=o:e.push(o);else if(s>0&&s>=t)0==t?(e.push(r,...n),n.length=0,r=o):n.push(o),s=t;else{let i=st(r,o);i>=0?r=i:0==s&&0==t?(e.push(r),r=o):(n.push(o),s=t)}}return r>=0&&e.push(r,...n),e}(it(t))}const ct=".",ut=t=>Array.from(t);function lt(t,e){return t.P.has(e)||t.Q.has(e)}class ht extends Array{get is_emoji(){return!0}}let ft,pt,dt,gt,yt,mt,wt,bt,At,vt,Et,kt;function xt(){if(ft)return;let t=I("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");const e=()=>D(t),n=()=>new Set(e()),r=(t,e)=>e.forEach((e=>t.add(e)));ft=new Map(U(t)),pt=n(),dt=e(),gt=new Set(e().map((t=>dt[t]))),dt=new Set(dt),yt=n(),mt=n();let s=M(t),i=t();const o=()=>{let t=new Set;return e().forEach((e=>r(t,s[e]))),r(t,e()),t};wt=L((e=>{let n=L(t).map((t=>t+96));if(n.length){let r=e>=i;return n[0]-=32,n=K(n),r&&(n=`Restricted[${n}]`),{N:n,P:o(),Q:o(),M:!t(),R:r}}})),bt=n(),At=new Map;let a=e().concat(ut(bt)).sort(((t,e)=>t-e));a.forEach(((e,n)=>{let r=t(),s=a[n]=r?a[n-r]:{V:[],M:new Map};s.V.push(e),bt.has(e)||At.set(e,s)}));for(let{V:t,M:e}of new Set(At.values())){let n=[];for(let e of t){let t=wt.filter((t=>lt(t,e))),s=n.find((({G:e})=>t.some((t=>e.has(t)))));s||(s={G:new Set,V:[]},n.push(s)),s.V.push(e),r(s.G,t)}let s=n.flatMap((t=>ut(t.G)));for(let{G:t,V:r}of n){let n=new Set(s.filter((e=>!t.has(e))));for(let t of r)e.set(t,n)}}vt=new Set;let c=new Set;const u=t=>vt.has(t)?c.add(t):vt.add(t);for(let t of wt){for(let e of t.P)u(e);for(let e of t.Q)u(e)}for(let t of vt)At.has(t)||c.has(t)||At.set(t,1);r(vt,ot(vt)),Et=function(t){let e=[],n=D(t);return function t({S:n,B:r},s,i){if(!(4&n&&i===s[s.length-1])){2&n&&(i=s[s.length-1]),1&n&&e.push(s);for(let e of r)for(let n of e.Q)t(e,[...s,n],i)}}(function e(r){return{S:t(),B:L((()=>{let r=D(t).map((t=>n[t]));if(r.length)return e(r)})),Q:r}}([]),[]),e}(t).map((t=>ht.from(t))).sort(V),kt=new Map;for(let t of Et){let e=[kt];for(let n of t){let t=e.map((t=>{let e=t.get(n);return e||(e=new Map,t.set(n,e)),e}));65039===n?e.push(...t):e=t}for(let n of e)n.V=t}}function Rt(t){return(Nt(t)?"":`${St(Ot([t]))} `)+_(t)}function St(t){return`"${t}"`}function Ot(t,e=1/0,n=_){let r=[];var s;s=t[0],xt(),dt.has(s)&&r.push("◌"),t.length>e&&(e>>=1,t=[...t.slice(0,e),8230,...t.slice(-e)]);let i=0,o=t.length;for(let e=0;e<o;e++){let s=t[e];Nt(s)&&(r.push(K(t.slice(i,e))),r.push(n(s)),i=e+1)}return r.push(K(t.slice(i,o))),r.join("")}function Nt(t){return xt(),yt.has(t)}function Tt(t,e,n){if(!t)return[];xt();let r=0;return t.split(ct).map((t=>{let s=H(t),i={input:s,offset:r};r+=s.length+1;try{let t,r=i.tokens=Dt(s,e,n),o=r.length;if(!o)throw new Error("empty label");let a=i.output=r.flat();if(function(t){for(let e=t.lastIndexOf(95);e>0;)if(95!==t[--e])throw new Error("underscore allowed only at start")}(a),!(i.emoji=o>1||r[0].is_emoji)&&a.every((t=>t<128)))!function(t){if(t.length>=4&&45==t[2]&&45==t[3])throw new Error(`invalid label extension: "${K(t.slice(0,4))}"`)}(a),t="ASCII";else{let e=r.flatMap((t=>t.is_emoji?[]:t));if(e.length){if(dt.has(a[0]))throw Bt("leading combining mark");for(let t=1;t<o;t++){let e=r[t];if(!e.is_emoji&&dt.has(e[0]))throw Bt(`emoji + combining mark: "${K(r[t-1])} + ${Ot([e[0]])}"`)}!function(t){let e=t[0],n=P.get(e);if(n)throw Bt(`leading ${n}`);let r=t.length,s=-1;for(let i=1;i<r;i++){e=t[i];let r=P.get(e);if(r){if(s==i)throw Bt(`${n} + ${r}`);s=i+1,n=r}}if(s==r)throw Bt(`trailing ${n}`)}(a);let n=ut(new Set(e)),[s]=function(t){let e=wt;for(let n of t){let t=e.filter((t=>lt(t,n)));if(!t.length)throw wt.some((t=>lt(t,n)))?Ct(e[0],n):It(n);if(e=t,1==t.length)break}return e}(n);!function(t,e){for(let n of e)if(!lt(t,n))throw Ct(t,n);if(t.M){let t=ot(e);for(let e=1,n=t.length;e<n;e++)if(gt.has(t[e])){let r=e+1;for(let s;r<n&>.has(s=t[r]);r++)for(let n=e;n<r;n++)if(t[n]==s)throw new Error(`duplicate non-spacing marks: ${Rt(s)}`);if(r-e>4)throw new Error(`excessive non-spacing marks: ${St(Ot(t.slice(e-1,r)))} (${r-e}/4)`);e=r}}}(s,e),function(t,e){let n,r=[];for(let t of e){let e=At.get(t);if(1===e)return;if(e){let r=e.M.get(t);if(n=n?n.filter((t=>r.has(t))):ut(r),!n.length)return}else r.push(t)}if(n)for(let e of n)if(r.every((t=>lt(e,t))))throw new Error(`whole-script confusable: ${t.N}/${e.N}`)}(s,n),t=s.N}else t="Emoji"}i.type=t}catch(t){i.error=t}return i}))}function Pt(t){return t.map((({input:e,error:n,output:r})=>{if(n){let r=n.message;throw new Error(1==t.length?r:`Invalid label ${St(Ot(e,63))}: ${r}`)}return K(r)})).join(ct)}function It(t){return new Error(`disallowed character: ${Rt(t)}`)}function Ct(t,e){let n=Rt(e),r=wt.find((t=>t.P.has(e)));return r&&(n=`${r.N} ${n}`),new Error(`illegal mixture: ${t.N} + ${n}`)}function Bt(t){return new Error(`illegal placement: ${t}`)}function Dt(t,e,n){let r=[],s=[];for(t=t.slice().reverse();t.length;){let i=Ut(t);if(i)s.length&&(r.push(e(s)),s=[]),r.push(n(i));else{let e=t.pop();if(vt.has(e))s.push(e);else{let t=ft.get(e);if(t)s.push(...t);else if(!pt.has(e))throw It(e)}}}return s.length&&r.push(e(s)),r}function Mt(t){return t.filter((t=>65039!=t))}function Ut(t,e){let n,r=kt,s=t.length;for(;s&&(r=r.get(t[--s]),r);){let{V:i}=r;i&&(n=i,e&&e.push(...t.slice(s).reverse()),t.length=s)}return n}const Lt=new Uint8Array(32);function Ft(t){return(0,u.MR)(0!==t.length,"invalid ENS name; empty component","comp",t),t}function Gt(t){const e=(0,l.YW)(function(t){try{if(0===t.length)throw new Error("empty label");return function(t){return Pt(Tt(t,at,Mt))}(t)}catch(e){(0,u.MR)(!1,`invalid ENS name (${e.message})`,"name",t)}}(t)),n=[];if(0===t.length)return n;let r=0;for(let t=0;t<e.length;t++){46===e[t]&&(n.push(Ft(e.slice(r,t))),r=t+1)}return(0,u.MR)(r<e.length,"invalid ENS name; empty component","name",t),n.push(Ft(e.slice(r))),n}function jt(t){(0,u.MR)("string"==typeof t,"invalid ENS name; not a string","name",t),(0,u.MR)(t.length,"invalid ENS name (empty label)","name",t);let e=Lt;const n=Gt(t);for(;n.length;)e=(0,T.S)((0,h.xW)([e,(0,T.S)(n.pop())]));return(0,h.c$)(e)}function _t(t,e){const n=null!=e?e:63;return(0,u.MR)(n<=255,"DNS encoded label cannot exceed 255","length",n),(0,h.c$)((0,h.xW)(Gt(t).map((e=>{(0,u.MR)(e.length<=n,`label ${JSON.stringify(t)} exceeds ${n} bytes`,"name",t);const r=new Uint8Array(e.length+1);return r.set(e,1),r[0]=r.length-1,r}))))+"00"}Lt.fill(0);var Ht=n(9453),Kt=n(9381),Vt=n(4132);function Jt(t){return t.match(/^ipfs:\/\/ipfs\//i)?t=t.substring(12):t.match(/^ipfs:\/\//i)?t=t.substring(7):(0,u.MR)(!1,"unsupported IPFS format","link",t),`https://gateway.ipfs.io/ipfs/${t}`}class Qt{name;constructor(t){(0,c.n)(this,{name:t})}connect(t){return this}supportsCoinType(t){return!1}async encodeAddress(t,e){throw new Error("unsupported coin")}async decodeAddress(t,e){throw new Error("unsupported coin")}}const zt=new RegExp("^(ipfs)://(.*)$","i"),$t=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),zt,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];class Wt{provider;address;name;#et;#nt;constructor(t,e,n){(0,c.n)(this,{provider:t,address:e,name:n}),this.#et=null,this.#nt=new N.NZ(e,["function supportsInterface(bytes4) view returns (bool)","function resolve(bytes, bytes) view returns (bytes)","function addr(bytes32) view returns (address)","function addr(bytes32, uint) view returns (bytes)","function text(bytes32, string) view returns (string)","function contenthash(bytes32) view returns (bytes)"],t)}async supportsWildcard(){return null==this.#et&&(this.#et=(async()=>{try{return await this.#nt.supportsInterface("0x9061b923")}catch(t){if((0,u.bJ)(t,"CALL_EXCEPTION"))return!1;throw this.#et=null,t}})()),await this.#et}async#rt(t,e){e=(e||[]).slice();const n=this.#nt.interface;e.unshift(jt(this.name));let r=null;await this.supportsWildcard()&&(r=n.getFunction(t),(0,u.vA)(r,"missing fragment","UNKNOWN_ERROR",{info:{funcName:t}}),e=[_t(this.name,255),n.encodeFunctionData(r,e)],t="resolve(bytes,bytes)"),e.push({enableCcipRead:!0});try{const s=await this.#nt[t](...e);return r?n.decodeFunctionResult(r,s)[0]:s}catch(t){if(!(0,u.bJ)(t,"CALL_EXCEPTION"))throw t}return null}async getAddress(t){if(null==t&&(t=60),60===t)try{const t=await this.#rt("addr(bytes32)");return null==t||t===O.j?null:t}catch(t){if((0,u.bJ)(t,"CALL_EXCEPTION"))return null;throw t}if(t>=0&&t<2147483648){let e=t+2147483648;const n=await this.#rt("addr(bytes32,uint)",[e]);if((0,h.Lo)(n,20))return(0,s.b)(n)}let e=null;for(const n of this.provider.plugins)if(n instanceof Qt&&n.supportsCoinType(t)){e=n;break}if(null==e)return null;const n=await this.#rt("addr(bytes32,uint)",[t]);if(null==n||"0x"===n)return null;const r=await e.decodeAddress(t,n);if(null!=r)return r;(0,u.vA)(!1,"invalid coin data","UNSUPPORTED_OPERATION",{operation:`getAddress(${t})`,info:{coinType:t,data:n}})}async getText(t){const e=await this.#rt("text(bytes32,string)",[t]);return null==e||"0x"===e?null:e}async getContentHash(){const t=await this.#rt("contenthash(bytes32)");if(null==t||"0x"===t)return null;const e=t.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(e){const t="e3010170"===e[1]?"ipfs":"ipns",n=parseInt(e[4],16);if(e[5].length===2*n)return`${t}://${(0,Vt.R)("0x"+e[2])}`}const n=t.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(n&&64===n[1].length)return`bzz://${n[1]}`;(0,u.vA)(!1,"invalid or unsupported content hash data","UNSUPPORTED_OPERATION",{operation:"getContentHash()",info:{data:t}})}async getAvatar(){return(await this._getAvatar()).url}async _getAvatar(){const t=[{type:"name",value:this.name}];try{const e=await this.getText("avatar");if(null==e)return t.push({type:"!avatar",value:""}),{url:null,linkage:t};t.push({type:"avatar",value:e});for(let n=0;n<$t.length;n++){const r=e.match($t[n]);if(null==r)continue;const s=r[1].toLowerCase();switch(s){case"https":case"data":return t.push({type:"url",value:e}),{linkage:t,url:e};case"ipfs":{const n=Jt(e);return t.push({type:"ipfs",value:e}),t.push({type:"url",value:n}),{linkage:t,url:n}}case"erc721":case"erc1155":{const n="erc721"===s?"tokenURI(uint256)":"uri(uint256)";t.push({type:s,value:e});const i=await this.getAddress();if(null==i)return t.push({type:"!owner",value:""}),{url:null,linkage:t};const o=(r[2]||"").split("/");if(2!==o.length)return t.push({type:`!${s}caip`,value:r[2]||""}),{url:null,linkage:t};const a=o[1],c=new N.NZ(o[0],["function tokenURI(uint) view returns (string)","function ownerOf(uint) view returns (address)","function uri(uint) view returns (string)","function balanceOf(address, uint256) view returns (uint)"],this.provider);if("erc721"===s){const e=await c.ownerOf(a);if(i!==e)return t.push({type:"!owner",value:e}),{url:null,linkage:t};t.push({type:"owner",value:e})}else if("erc1155"===s){const e=await c.balanceOf(i,a);if(!e)return t.push({type:"!balance",value:"0"}),{url:null,linkage:t};t.push({type:"balance",value:e.toString()})}let u=await c[n](a);if(null==u||"0x"===u)return t.push({type:"!metadata-url",value:""}),{url:null,linkage:t};t.push({type:"metadata-url-base",value:u}),"erc1155"===s&&(u=u.replace("{id}",(0,f.up)(a,32).substring(2)),t.push({type:"metadata-url-expanded",value:u})),u.match(/^ipfs:/i)&&(u=Jt(u)),t.push({type:"metadata-url",value:u});let l={};const p=await new x(u).send();p.assertOk();try{l=p.bodyJson}catch(e){try{t.push({type:"!metadata",value:p.bodyText})}catch(e){const n=p.body;return n&&t.push({type:"!metadata",value:(0,h.c$)(n)}),{url:null,linkage:t}}return{url:null,linkage:t}}if(!l)return t.push({type:"!metadata",value:""}),{url:null,linkage:t};t.push({type:"metadata",value:JSON.stringify(l)});let d=l.image;if("string"!=typeof d)return t.push({type:"!imageUrl",value:""}),{url:null,linkage:t};if(d.match(/^(https:\/\/|data:)/i));else{if(null==d.match(zt))return t.push({type:"!imageUrl-ipfs",value:d}),{url:null,linkage:t};t.push({type:"imageUrl-ipfs",value:d}),d=Jt(d)}return t.push({type:"url",value:d}),{linkage:t,url:d}}}}}catch(t){}return{linkage:t,url:null}}static async getEnsAddress(t){const e=await t.getNetwork(),n=e.getPlugin("org.ethers.plugins.network.Ens");return(0,u.vA)(n,"network does not support ENS","UNSUPPORTED_OPERATION",{operation:"getEnsAddress",info:{network:e}}),n.address}static async#st(t,e){const n=await Wt.getEnsAddress(t);try{const r=new N.NZ(n,["function resolver(bytes32) view returns (address)"],t),s=await r.resolver(jt(e),{enableCcipRead:!0});return s===O.j?null:s}catch(t){throw t}return null}static async fromName(t,e){let n=e;for(;;){if(""===n||"."===n)return null;if("eth"!==e&&"eth"===n)return null;const r=await Wt.#st(t,n);if(null!=r){const s=new Wt(t,r,e);return n===e||await s.supportsWildcard()?s:null}n=n.split(".").slice(1).join(".")}}}var qt=n(5735);var Zt=n(260);const Yt=BigInt(0);function Xt(t,e){return function(n){return null==n?e:t(n)}}function te(t,e){return n=>{if(e&&null==n)return null;if(!Array.isArray(n))throw new Error("not an array");return n.map((e=>t(e)))}}function ee(t,e){return n=>{const r={};for(const s in t){let i=s;if(e&&s in e&&!(i in n))for(const t of e[s])if(t in n){i=t;break}try{const e=t[s](n[i]);void 0!==e&&(r[s]=e)}catch(t){const e=t instanceof Error?t.message:"not-an-error";(0,u.vA)(!1,`invalid value for value.${s} (${e})`,"BAD_DATA",{value:n})}}return r}}function ne(t){return(0,u.MR)((0,h.Lo)(t,!0),"invalid data","value",t),t}function re(t){return(0,u.MR)((0,h.Lo)(t,32),"invalid hash","value",t),t}const se=ee({address:s.b,blockHash:re,blockNumber:f.WZ,data:ne,index:f.WZ,removed:Xt((function(t){switch(t){case!0:case"true":return!0;case!1:case"false":return!1}(0,u.MR)(!1,`invalid boolean; ${JSON.stringify(t)}`,"value",t)}),!1),topics:te(re),transactionHash:re,transactionIndex:f.WZ},{index:["logIndex"]});const ie=ee({hash:Xt(re),parentHash:re,parentBeaconBlockRoot:Xt(re,null),number:f.WZ,timestamp:f.WZ,nonce:Xt(ne),difficulty:f.Ab,gasLimit:f.Ab,gasUsed:f.Ab,stateRoot:Xt(re,null),receiptsRoot:Xt(re,null),blobGasUsed:Xt(f.Ab,null),excessBlobGas:Xt(f.Ab,null),miner:Xt(s.b),prevRandao:Xt(re,null),extraData:ne,baseFeePerGas:Xt(f.Ab)},{prevRandao:["mixHash"]});const oe=ee({transactionIndex:f.WZ,blockNumber:f.WZ,transactionHash:re,address:s.b,topics:te(re),data:ne,index:f.WZ,blockHash:re},{index:["logIndex"]});const ae=ee({to:Xt(s.b,null),from:Xt(s.b,null),contractAddress:Xt(s.b,null),index:f.WZ,root:Xt(h.c$),gasUsed:f.Ab,blobGasUsed:Xt(f.Ab,null),logsBloom:Xt(ne),blockHash:re,hash:re,logs:te((function(t){return oe(t)})),blockNumber:f.WZ,cumulativeGasUsed:f.Ab,effectiveGasPrice:Xt(f.Ab),blobGasPrice:Xt(f.Ab,null),status:Xt(f.WZ),type:Xt(f.WZ,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function ce(t){t.to&&(0,f.Ab)(t.to)===Yt&&(t.to="0x0000000000000000000000000000000000000000");const e=ee({hash:re,index:Xt(f.WZ,void 0),type:t=>"0x"===t||null==t?0:(0,f.WZ)(t),accessList:Xt(a.$,null),blobVersionedHashes:Xt(te(re,!0),null),blockHash:Xt(re,null),blockNumber:Xt(f.WZ,null),transactionIndex:Xt(f.WZ,null),from:s.b,gasPrice:Xt(f.Ab),maxPriorityFeePerGas:Xt(f.Ab),maxFeePerGas:Xt(f.Ab),maxFeePerBlobGas:Xt(f.Ab,null),gasLimit:f.Ab,to:Xt(s.b,null),value:f.Ab,nonce:f.WZ,data:ne,creates:Xt(s.b,null),chainId:Xt(f.Ab,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})(t);if(null==e.to&&null==e.creates&&(e.creates=function(t){const e=(0,s.b)(t.from);let n=(0,f.Ab)(t.nonce,"tx.nonce").toString(16);return n="0"===n?"0x":n.length%2?"0x0"+n:"0x"+n,(0,s.b)((0,h.ZG)((0,T.S)((0,qt.R)([e,n])),12))}(e)),1!==t.type&&2!==t.type||null!=t.accessList||(e.accessList=[]),t.signature?e.signature=Zt.t.from(t.signature):e.signature=Zt.t.from(t),null==e.chainId){const t=e.signature.legacyChainId;null!=t&&(e.chainId=t)}return e.blockHash&&(0,f.Ab)(e.blockHash)===Yt&&(e.blockHash=null),e}class ue{name;constructor(t){(0,c.n)(this,{name:t})}clone(){return new ue(this.name)}}class le extends ue{effectiveBlock;txBase;txCreate;txDataZero;txDataNonzero;txAccessListStorageKey;txAccessListAddress;constructor(t,e){null==t&&(t=0),super(`org.ethers.network.plugins.GasCost#${t||0}`);const n={effectiveBlock:t};function r(t,r){let s=(e||{})[t];null==s&&(s=r),(0,u.MR)("number"==typeof s,`invalud value for ${t}`,"costs",e),n[t]=s}r("txBase",21e3),r("txCreate",32e3),r("txDataZero",4),r("txDataNonzero",16),r("txAccessListStorageKey",1900),r("txAccessListAddress",2400),(0,c.n)(this,n)}clone(){return new le(this.effectiveBlock,this)}}class he extends ue{address;targetNetwork;constructor(t,e){super("org.ethers.plugins.network.Ens"),(0,c.n)(this,{address:t||"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",targetNetwork:null==e?1:e})}clone(){return new he(this.address,this.targetNetwork)}}class fe extends ue{#_;#it;get url(){return this.#_}get processFunc(){return this.#it}constructor(t,e){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin"),this.#_=t,this.#it=e}clone(){return this}}const pe=new Map;class de{#ot;#at;#ct;constructor(t,e){this.#ot=t,this.#at=(0,f.Ab)(e),this.#ct=new Map}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return this.#ot}set name(t){this.#ot=t}get chainId(){return this.#at}set chainId(t){this.#at=(0,f.Ab)(t,"chainId")}matches(t){if(null==t)return!1;if("string"==typeof t){try{return this.chainId===(0,f.Ab)(t)}catch(t){}return this.name===t}if("number"==typeof t||"bigint"==typeof t){try{return this.chainId===(0,f.Ab)(t)}catch(t){}return!1}if("object"==typeof t){if(null!=t.chainId){try{return this.chainId===(0,f.Ab)(t.chainId)}catch(t){}return!1}return null!=t.name&&this.name===t.name}return!1}get plugins(){return Array.from(this.#ct.values())}attachPlugin(t){if(this.#ct.get(t.name))throw new Error(`cannot replace existing plugin: ${t.name} `);return this.#ct.set(t.name,t.clone()),this}getPlugin(t){return this.#ct.get(t)||null}getPlugins(t){return this.plugins.filter((e=>e.name.split("#")[0]===t))}clone(){const t=new de(this.name,this.chainId);return this.plugins.forEach((e=>{t.attachPlugin(e.clone())})),t}computeIntrinsicGas(t){const e=this.getPlugin("org.ethers.plugins.network.GasCost")||new le;let n=e.txBase;if(null==t.to&&(n+=e.txCreate),t.data)for(let r=2;r<t.data.length;r+=2)"00"===t.data.substring(r,r+2)?n+=e.txDataZero:n+=e.txDataNonzero;if(t.accessList){const r=(0,a.$)(t.accessList);for(const t in r)n+=e.txAccessListAddress+e.txAccessListStorageKey*r[t].storageKeys.length}return n}static from(t){if(function(){if(me)return;function t(t,e,n){const r=function(){const r=new de(t,e);return null!=n.ensNetwork&&r.attachPlugin(new he(null,n.ensNetwork)),r.attachPlugin(new le),(n.plugins||[]).forEach((t=>{r.attachPlugin(t)})),r};de.register(t,r),de.register(e,r),n.altNames&&n.altNames.forEach((t=>{de.register(t,r)}))}me=!0,t("mainnet",1,{ensNetwork:1,altNames:["homestead"]}),t("ropsten",3,{ensNetwork:3}),t("rinkeby",4,{ensNetwork:4}),t("goerli",5,{ensNetwork:5}),t("kovan",42,{ensNetwork:42}),t("sepolia",11155111,{ensNetwork:11155111}),t("holesky",17e3,{ensNetwork:17e3}),t("classic",61,{}),t("classicKotti",6,{}),t("arbitrum",42161,{ensNetwork:1}),t("arbitrum-goerli",421613,{}),t("arbitrum-sepolia",421614,{}),t("base",8453,{ensNetwork:1}),t("base-goerli",84531,{}),t("base-sepolia",84532,{}),t("bnb",56,{ensNetwork:1}),t("bnbt",97,{}),t("linea",59144,{ensNetwork:1}),t("linea-goerli",59140,{}),t("linea-sepolia",59141,{}),t("matic",137,{ensNetwork:1,plugins:[ye("https://gasstation.polygon.technology/v2")]}),t("matic-amoy",80002,{}),t("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[ye("https://gasstation-testnet.polygon.technology/v2")]}),t("optimism",10,{ensNetwork:1,plugins:[]}),t("optimism-goerli",420,{}),t("optimism-sepolia",11155420,{}),t("xdai",100,{ensNetwork:1})}(),null==t)return de.from("mainnet");if("number"==typeof t&&(t=BigInt(t)),"string"==typeof t||"bigint"==typeof t){const e=pe.get(t);if(e)return e();if("bigint"==typeof t)return new de("unknown",t);(0,u.MR)(!1,"unknown network","network",t)}if("function"==typeof t.clone){return t.clone()}if("object"==typeof t){(0,u.MR)("string"==typeof t.name&&"number"==typeof t.chainId,"invalid network object name or chainId","network",t);const e=new de(t.name,t.chainId);return(t.ensAddress||null!=t.ensNetwork)&&e.attachPlugin(new he(t.ensAddress,t.ensNetwork)),e}(0,u.MR)(!1,"invalid network","network",t)}static register(t,e){"number"==typeof t&&(t=BigInt(t));const n=pe.get(t);n&&(0,u.MR)(!1,`conflicting network for ${JSON.stringify(n.name)}`,"nameOrChainId",t),pe.set(t,e)}}function ge(t,e){const n=String(t);if(!n.match(/^[0-9.]+$/))throw new Error(`invalid gwei value: ${t}`);const r=n.split(".");if(1===r.length&&r.push(""),2!==r.length)throw new Error(`invalid gwei value: ${t}`);for(;r[1].length<e;)r[1]+="0";if(r[1].length>9){let t=BigInt(r[1].substring(0,9));r[1].substring(9).match(/^0+$/)||t++,r[1]=t.toString()}return BigInt(r[0]+r[1])}function ye(t){return new fe(t,(async(t,e,n)=>{let r;n.setHeader("User-Agent","ethers");try{const[e,s]=await Promise.all([n.send(),t()]);r=e;const i=r.bodyJson.standard;return{gasPrice:s.gasPrice,maxFeePerGas:ge(i.maxFee,9),maxPriorityFeePerGas:ge(i.maxPriorityFee,9)}}catch(t){(0,u.vA)(!1,`error encountered with polygon gas station (${JSON.stringify(n.url)})`,"SERVER_ERROR",{request:n,response:r,error:t})}}))}let me=!1;var we=n(3948);function be(t){return JSON.parse(JSON.stringify(t))}class Ae{#ut;#lt;#ht;#ft;constructor(t){this.#ut=t,this.#lt=null,this.#ht=4e3,this.#ft=-2}get pollingInterval(){return this.#ht}set pollingInterval(t){this.#ht=t}async#pt(){try{const t=await this.#ut.getBlockNumber();if(-2===this.#ft)return void(this.#ft=t);if(t!==this.#ft){for(let e=this.#ft+1;e<=t;e++){if(null==this.#lt)return;await this.#ut.emit("block",e)}this.#ft=t}}catch(t){}null!=this.#lt&&(this.#lt=this.#ut._setTimeout(this.#pt.bind(this),this.#ht))}start(){this.#lt||(this.#lt=this.#ut._setTimeout(this.#pt.bind(this),this.#ht),this.#pt())}stop(){this.#lt&&(this.#ut._clearTimeout(this.#lt),this.#lt=null)}pause(t){this.stop(),t&&(this.#ft=-2)}resume(){this.start()}}class ve{#ut;#pt;#dt;constructor(t){this.#ut=t,this.#dt=!1,this.#pt=t=>{this._poll(t,this.#ut)}}async _poll(t,e){throw new Error("sub-classes must override this")}start(){this.#dt||(this.#dt=!0,this.#pt(-2),this.#ut.on("block",this.#pt))}stop(){this.#dt&&(this.#dt=!1,this.#ut.off("block",this.#pt))}pause(t){this.stop()}resume(){this.start()}}class Ee extends ve{#gt;#yt;constructor(t,e){super(t),this.#gt=e,this.#yt=-2}pause(t){t&&(this.#yt=-2),super.pause(t)}async _poll(t,e){const n=await e.getBlock(this.#gt);null!=n&&(-2===this.#yt?this.#yt=n.number:n.number>this.#yt&&(e.emit(this.#gt,n.number),this.#yt=n.number))}}class ke extends ve{#E;constructor(t,e){super(t),this.#E=be(e)}async _poll(t,e){throw new Error("@TODO")}}class xe extends ve{#mt;constructor(t,e){super(t),this.#mt=e}async _poll(t,e){const n=await e.getTransactionReceipt(this.#mt);n&&e.emit(this.#mt,n)}}class Re{#ut;#E;#lt;#dt;#ft;constructor(t,e){this.#ut=t,this.#E=be(e),this.#lt=this.#pt.bind(this),this.#dt=!1,this.#ft=-2}async#pt(t){if(-2===this.#ft)return;const e=be(this.#E);e.fromBlock=this.#ft+1,e.toBlock=t;const n=await this.#ut.getLogs(e);if(0!==n.length)for(const t of n)this.#ut.emit(this.#E,t),this.#ft=t.blockNumber;else this.#ft<t-60&&(this.#ft=t-60)}start(){this.#dt||(this.#dt=!0,-2===this.#ft&&this.#ut.getBlockNumber().then((t=>{this.#ft=t})),this.#ut.on("block",this.#lt))}stop(){this.#dt&&(this.#dt=!1,this.#ut.off("block",this.#lt))}pause(t){this.stop(),t&&(this.#ft=-2)}resume(){this.start()}}const Se=BigInt(2);function Oe(t){return t&&"function"==typeof t.then}function Ne(t,e){return t+":"+JSON.stringify(e,((t,e)=>{if(null==e)return"null";if("bigint"==typeof e)return`bigint:${e.toString()}`;if("string"==typeof e)return e.toLowerCase();if("object"==typeof e&&!Array.isArray(e)){const t=Object.keys(e);return t.sort(),t.reduce(((t,n)=>(t[n]=e[n],t)),{})}return e}))}class Te{name;constructor(t){(0,c.n)(this,{name:t})}start(){}stop(){}pause(t){}resume(){}}function Pe(t){return(t=Array.from(new Set(t).values())).sort(),t}async function Ie(t,e){if(null==t)throw new Error("invalid event");if(Array.isArray(t)&&(t={topics:t}),"string"==typeof t)switch(t){case"block":case"debug":case"error":case"finalized":case"network":case"pending":case"safe":return{type:t,tag:t}}if((0,h.Lo)(t,32)){const e=t.toLowerCase();return{type:"transaction",tag:Ne("tx",{hash:e}),hash:e}}if(t.orphan){const e=t;return{type:"orphan",tag:Ne("orphan",e),filter:(n=e,JSON.parse(JSON.stringify(n)))}}var n;if(t.address||t.topics){const n=t,r={topics:(n.topics||[]).map((t=>null==t?null:Array.isArray(t)?Pe(t.map((t=>t.toLowerCase()))):t.toLowerCase()))};if(n.address){const t=[],s=[],o=n=>{(0,h.Lo)(n)?t.push(n):s.push((async()=>{t.push(await(0,i.tG)(n,e))})())};Array.isArray(n.address)?n.address.forEach(o):o(n.address),s.length&&await Promise.all(s),r.address=Pe(t.map((t=>t.toLowerCase())))}return{filter:r,tag:Ne("event",r),type:"event"}}(0,u.MR)(!1,"unknown ProviderEvent","event",t)}function Ce(){return(new Date).getTime()}const Be={cacheTimeout:250,pollingInterval:4e3};class De{#wt;#ct;#bt;#At;#vt;#Et;#kt;#xt;#Rt;#St;#Ot;#d;constructor(t,e){if(this.#d=Object.assign({},Be,e||{}),"any"===t)this.#Et=!0,this.#vt=null;else if(t){const e=de.from(t);this.#Et=!1,this.#vt=Promise.resolve(e),setTimeout((()=>{this.emit("network",e,null)}),0)}else this.#Et=!1,this.#vt=null;this.#xt=-1,this.#kt=new Map,this.#wt=new Map,this.#ct=new Map,this.#bt=null,this.#At=!1,this.#Rt=1,this.#St=new Map,this.#Ot=!1}get pollingInterval(){return this.#d.pollingInterval}get provider(){return this}get plugins(){return Array.from(this.#ct.values())}attachPlugin(t){if(this.#ct.get(t.name))throw new Error(`cannot replace existing plugin: ${t.name} `);return this.#ct.set(t.name,t.connect(this)),this}getPlugin(t){return this.#ct.get(t)||null}get disableCcipRead(){return this.#Ot}set disableCcipRead(t){this.#Ot=!!t}async#Nt(t){const e=this.#d.cacheTimeout;if(e<0)return await this._perform(t);const n=Ne(t.method,t);let r=this.#kt.get(n);return r||(r=this._perform(t),this.#kt.set(n,r),setTimeout((()=>{this.#kt.get(n)===r&&this.#kt.delete(n)}),e)),await r}async ccipReadFetch(t,e,n){if(this.disableCcipRead||0===n.length||null==t.to)return null;const r=t.to.toLowerCase(),s=e.toLowerCase(),i=[];for(let e=0;e<n.length;e++){const o=n[e],a=o.replace("{sender}",r).replace("{data}",s),c=new x(a);-1===o.indexOf("{data}")&&(c.body={data:s,sender:r}),this.emit("debug",{action:"sendCcipReadFetchRequest",request:c,index:e,urls:n});let l,h="unknown error";try{l=await c.send()}catch(t){i.push(t.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:c,result:{error:t}});continue}try{const t=l.bodyJson;if(t.data)return this.emit("debug",{action:"receiveCcipReadFetchResult",request:c,result:t}),t.data;t.message&&(h=t.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:c,result:t})}catch(t){}(0,u.vA)(l.statusCode<400||l.statusCode>=500,`response not found during CCIP fetch: ${h}`,"OFFCHAIN_FAULT",{reason:"404_MISSING_RESOURCE",transaction:t,info:{url:o,errorMessage:h}}),i.push(h)}(0,u.vA)(!1,`error encountered during CCIP fetch: ${i.map((t=>JSON.stringify(t))).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:t,info:{urls:n,errorMessages:i}})}_wrapBlock(t,e){return new we.eB(function(t){const e=ie(t);return e.transactions=t.transactions.map((t=>"string"==typeof t?t:ce(t))),e}(t),this)}_wrapLog(t,e){return new we.tG(function(t){return se(t)}(t),this)}_wrapTransactionReceipt(t,e){return new we.z5(function(t){return ae(t)}(t),this)}_wrapTransactionResponse(t,e){return new we.uI(ce(t),this)}_detectNetwork(){(0,u.vA)(!1,"sub-classes must implement this","UNSUPPORTED_OPERATION",{operation:"_detectNetwork"})}async _perform(t){(0,u.vA)(!1,`unsupported method: ${t.method}`,"UNSUPPORTED_OPERATION",{operation:t.method,info:t})}async getBlockNumber(){const t=(0,f.WZ)(await this.#Nt({method:"getBlockNumber"}),"%response");return this.#xt>=0&&(this.#xt=t),t}_getAddress(t){return(0,i.tG)(t,this)}_getBlockTag(t){if(null==t)return"latest";switch(t){case"earliest":return"0x0";case"finalized":case"latest":case"pending":case"safe":return t}return(0,h.Lo)(t)?(0,h.Lo)(t,32)?t:(0,f.nD)(t):("bigint"==typeof t&&(t=(0,f.WZ)(t,"blockTag")),"number"==typeof t?t>=0?(0,f.nD)(t):this.#xt>=0?(0,f.nD)(this.#xt+t):this.getBlockNumber().then((e=>(0,f.nD)(e+t))):void(0,u.MR)(!1,"invalid blockTag","blockTag",t))}_getFilter(t){const e=(t.topics||[]).map((t=>null==t?null:Array.isArray(t)?Pe(t.map((t=>t.toLowerCase()))):t.toLowerCase())),n="blockHash"in t?t.blockHash:void 0,r=(t,r,s)=>{let i;switch(t.length){case 0:break;case 1:i=t[0];break;default:t.sort(),i=t}if(n&&(null!=r||null!=s))throw new Error("invalid filter");const o={};return i&&(o.address=i),e.length&&(o.topics=e),r&&(o.fromBlock=r),s&&(o.toBlock=s),n&&(o.blockHash=n),o};let s,i,o=[];if(t.address)if(Array.isArray(t.address))for(const e of t.address)o.push(this._getAddress(e));else o.push(this._getAddress(t.address));return"fromBlock"in t&&(s=this._getBlockTag(t.fromBlock)),"toBlock"in t&&(i=this._getBlockTag(t.toBlock)),o.filter((t=>"string"!=typeof t)).length||null!=s&&"string"!=typeof s||null!=i&&"string"!=typeof i?Promise.all([Promise.all(o),s,i]).then((t=>r(t[0],t[1],t[2]))):r(o,s,i)}_getTransactionRequest(t){const e=(0,we.VS)(t),n=[];if(["to","from"].forEach((t=>{if(null==e[t])return;const r=(0,i.tG)(e[t],this);Oe(r)?n.push(async function(){e[t]=await r}()):e[t]=r})),null!=e.blockTag){const t=this._getBlockTag(e.blockTag);Oe(t)?n.push(async function(){e.blockTag=await t}()):e.blockTag=t}return n.length?async function(){return await Promise.all(n),e}():e}async getNetwork(){if(null==this.#vt){const t=(async()=>{try{const t=await this._detectNetwork();return this.emit("network",t,null),t}catch(e){throw this.#vt===t&&(this.#vt=null),e}})();return this.#vt=t,(await t).clone()}const t=this.#vt,[e,n]=await Promise.all([t,this._detectNetwork()]);return e.chainId!==n.chainId&&(this.#Et?(this.emit("network",n,e),this.#vt===t&&(this.#vt=Promise.resolve(n))):(0,u.vA)(!1,`network changed: ${e.chainId} => ${n.chainId} `,"NETWORK_ERROR",{event:"changed"})),e.clone()}async getFeeData(){const t=await this.getNetwork(),e=async()=>{const{_block:e,gasPrice:n,priorityFee:r}=await(0,c.k)({_block:this.#Tt("latest",!1),gasPrice:(async()=>{try{const t=await this.#Nt({method:"getGasPrice"});return(0,f.Ab)(t,"%response")}catch(t){}return null})(),priorityFee:(async()=>{try{const t=await this.#Nt({method:"getPriorityFee"});return(0,f.Ab)(t,"%response")}catch(t){}return null})()});let s=null,i=null;const o=this._wrapBlock(e,t);return o&&o.baseFeePerGas&&(i=null!=r?r:BigInt("1000000000"),s=o.baseFeePerGas*Se+i),new we.J9(n,s,i)},n=t.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(n){const t=new x(n.url),r=await n.processFunc(e,this,t);return new we.J9(r.gasPrice,r.maxFeePerGas,r.maxPriorityFeePerGas)}return await e()}async estimateGas(t){let e=this._getTransactionRequest(t);return Oe(e)&&(e=await e),(0,f.Ab)(await this.#Nt({method:"estimateGas",transaction:e}),"%response")}async#Pt(t,e,n){(0,u.vA)(n<10,"CCIP read exceeded maximum redirections","OFFCHAIN_FAULT",{reason:"TOO_MANY_REDIRECTS",transaction:Object.assign({},t,{blockTag:e,enableCcipRead:!0})});const r=(0,we.VS)(t);try{return(0,h.c$)(await this._perform({method:"call",transaction:r,blockTag:e}))}catch(t){if(!this.disableCcipRead&&(0,u.E)(t)&&t.data&&n>=0&&"latest"===e&&null!=r.to&&"0x556f1830"===(0,h.ZG)(t.data,0,4)){const s=t.data,o=await(0,i.tG)(r.to,this);let a;try{a=function(t){const e={sender:"",urls:[],calldata:"",selector:"",extraData:"",errorArgs:[]};(0,u.vA)((0,h.pO)(t)>=160,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});const n=(0,h.ZG)(t,0,32);(0,u.vA)((0,h.ZG)(n,0,12)===(0,h.ZG)(_e,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),e.sender=(0,h.ZG)(n,12);try{const n=[],r=(0,f.WZ)((0,h.ZG)(t,32,64)),s=(0,f.WZ)((0,h.ZG)(t,r,r+32)),i=(0,h.ZG)(t,r+32);for(let t=0;t<s;t++){const e=Me(i,32*t);if(null==e)throw new Error("abort");n.push(e)}e.urls=n}catch(t){(0,u.vA)(!1,"corrupt OffchainLookup urls","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup urls"})}try{const n=Ue(t,64);if(null==n)throw new Error("abort");e.calldata=n}catch(t){(0,u.vA)(!1,"corrupt OffchainLookup calldata","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup calldata"})}(0,u.vA)((0,h.ZG)(t,100,128)===(0,h.ZG)(_e,0,28),"corrupt OffchainLookup callbaackSelector","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup callbaackSelector"}),e.selector=(0,h.ZG)(t,96,100);try{const n=Ue(t,128);if(null==n)throw new Error("abort");e.extraData=n}catch(t){(0,u.vA)(!1,"corrupt OffchainLookup extraData","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup extraData"})}return e.errorArgs="sender,urls,calldata,selector,extraData".split(/,/).map((t=>e[t])),e}((0,h.ZG)(t.data,4))}catch(t){(0,u.vA)(!1,t.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:r,info:{data:s}})}(0,u.vA)(a.sender.toLowerCase()===o.toLowerCase(),"CCIP Read sender mismatch","CALL_EXCEPTION",{action:"call",data:s,reason:"OffchainLookup",transaction:r,invocation:null,revert:{signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",name:"OffchainLookup",args:a.errorArgs}});const c=await this.ccipReadFetch(r,a.calldata,a.urls);(0,u.vA)(null!=c,"CCIP Read failed to fetch data","OFFCHAIN_FAULT",{reason:"FETCH_FAILED",transaction:r,info:{data:t.data,errorArgs:a.errorArgs}});const l={to:o,data:(0,h.xW)([a.selector,je([c,a.extraData])])};this.emit("debug",{action:"sendCcipReadCall",transaction:l});try{const t=await this.#Pt(l,e,n+1);return this.emit("debug",{action:"receiveCcipReadCallResult",transaction:Object.assign({},l),result:t}),t}catch(t){throw this.emit("debug",{action:"receiveCcipReadCallError",transaction:Object.assign({},l),error:t}),t}}throw t}}async#It(t){const{value:e}=await(0,c.k)({network:this.getNetwork(),value:t});return e}async call(t){const{tx:e,blockTag:n}=await(0,c.k)({tx:this._getTransactionRequest(t),blockTag:this._getBlockTag(t.blockTag)});return await this.#It(this.#Pt(e,n,t.enableCcipRead?0:-1))}async#Ct(t,e,n){let r=this._getAddress(e),s=this._getBlockTag(n);return"string"==typeof r&&"string"==typeof s||([r,s]=await Promise.all([r,s])),await this.#It(this.#Nt(Object.assign(t,{address:r,blockTag:s})))}async getBalance(t,e){return(0,f.Ab)(await this.#Ct({method:"getBalance"},t,e),"%response")}async getTransactionCount(t,e){return(0,f.WZ)(await this.#Ct({method:"getTransactionCount"},t,e),"%response")}async getCode(t,e){return(0,h.c$)(await this.#Ct({method:"getCode"},t,e))}async getStorage(t,e,n){const r=(0,f.Ab)(e,"position");return(0,h.c$)(await this.#Ct({method:"getStorage",position:r},t,n))}async broadcastTransaction(t){const{blockNumber:e,hash:n,network:r}=await(0,c.k)({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:t}),network:this.getNetwork()}),s=Ht.Z.from(t);if(s.hash!==n)throw new Error("@TODO: the returned hash did not match");return this._wrapTransactionResponse(s,r).replaceableTransaction(e)}async#Tt(t,e){if((0,h.Lo)(t,32))return await this.#Nt({method:"getBlock",blockHash:t,includeTransactions:e});let n=this._getBlockTag(t);return"string"!=typeof n&&(n=await n),await this.#Nt({method:"getBlock",blockTag:n,includeTransactions:e})}async getBlock(t,e){const{network:n,params:r}=await(0,c.k)({network:this.getNetwork(),params:this.#Tt(t,!!e)});return null==r?null:this._wrapBlock(r,n)}async getTransaction(t){const{network:e,params:n}=await(0,c.k)({network:this.getNetwork(),params:this.#Nt({method:"getTransaction",hash:t})});return null==n?null:this._wrapTransactionResponse(n,e)}async getTransactionReceipt(t){const{network:e,params:n}=await(0,c.k)({network:this.getNetwork(),params:this.#Nt({method:"getTransactionReceipt",hash:t})});if(null==n)return null;if(null==n.gasPrice&&null==n.effectiveGasPrice){const e=await this.#Nt({method:"getTransaction",hash:t});if(null==e)throw new Error("report this; could not find tx or effectiveGasPrice");n.effectiveGasPrice=e.gasPrice}return this._wrapTransactionReceipt(n,e)}async getTransactionResult(t){const{result:e}=await(0,c.k)({network:this.getNetwork(),result:this.#Nt({method:"getTransactionResult",hash:t})});return null==e?null:(0,h.c$)(e)}async getLogs(t){let e=this._getFilter(t);Oe(e)&&(e=await e);const{network:n,params:r}=await(0,c.k)({network:this.getNetwork(),params:this.#Nt({method:"getLogs",filter:e})});return r.map((t=>this._wrapLog(t,n)))}_getProvider(t){(0,u.vA)(!1,"provider cannot connect to target network","UNSUPPORTED_OPERATION",{operation:"_getProvider()"})}async getResolver(t){return await Wt.fromName(this,t)}async getAvatar(t){const e=await this.getResolver(t);return e?await e.getAvatar():null}async resolveName(t){const e=await this.getResolver(t);return e?await e.getAddress():null}async lookupAddress(t){const e=jt((t=(0,s.b)(t)).substring(2).toLowerCase()+".addr.reverse");try{const n=await Wt.getEnsAddress(this),r=new N.NZ(n,["function resolver(bytes32) view returns (address)"],this),s=await r.resolver(e);if(null==s||s===O.j)return null;const i=new N.NZ(s,["function name(bytes32) view returns (string)"],this),o=await i.name(e);return await this.resolveName(o)!==t?null:o}catch(t){if((0,u.bJ)(t,"BAD_DATA")&&"0x"===t.value)return null;if((0,u.bJ)(t,"CALL_EXCEPTION"))return null;throw t}return null}async waitForTransaction(t,e,n){const r=null!=e?e:1;return 0===r?this.getTransactionReceipt(t):new Promise((async(e,s)=>{let i=null;const o=async n=>{try{const s=await this.getTransactionReceipt(t);if(null!=s&&n-s.blockNumber+1>=r)return e(s),void(i&&(clearTimeout(i),i=null))}catch(t){console.log("EEE",t)}this.once("block",o)};null!=n&&(i=setTimeout((()=>{null!=i&&(i=null,this.off("block",o),s((0,u.xz)("timeout","TIMEOUT",{reason:"timeout"})))}),n)),o(await this.getBlockNumber())}))}async waitForBlock(t){(0,u.vA)(!1,"not implemented yet","NOT_IMPLEMENTED",{operation:"waitForBlock"})}_clearTimeout(t){const e=this.#St.get(t);e&&(e.timer&&clearTimeout(e.timer),this.#St.delete(t))}_setTimeout(t,e){null==e&&(e=0);const n=this.#Rt++,r=()=>{this.#St.delete(n),t()};if(this.paused)this.#St.set(n,{timer:null,func:r,time:e});else{const t=setTimeout(r,e);this.#St.set(n,{timer:t,func:r,time:Ce()})}return n}_forEachSubscriber(t){for(const e of this.#wt.values())t(e.subscriber)}_getSubscriber(t){switch(t.type){case"debug":case"error":case"network":return new Te(t.type);case"block":{const t=new Ae(this);return t.pollingInterval=this.pollingInterval,t}case"safe":case"finalized":return new Ee(this,t.type);case"event":return new Re(this,t.filter);case"transaction":return new xe(this,t.hash);case"orphan":return new ke(this,t.filter)}throw new Error(`unsupported event: ${t.type}`)}_recoverSubscriber(t,e){for(const n of this.#wt.values())if(n.subscriber===t){n.started&&n.subscriber.stop(),n.subscriber=e,n.started&&e.start(),null!=this.#bt&&e.pause(this.#bt);break}}async#Bt(t,e){let n=await Ie(t,this);return"event"===n.type&&e&&e.length>0&&!0===e[0].removed&&(n=await Ie({orphan:"drop-log",log:e[0]},this)),this.#wt.get(n.tag)||null}async#Dt(t){const e=await Ie(t,this),n=e.tag;let r=this.#wt.get(n);if(!r){r={subscriber:this._getSubscriber(e),tag:n,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},this.#wt.set(n,r)}return r}async on(t,e){const n=await this.#Dt(t);return n.listeners.push({listener:e,once:!1}),n.started||(n.subscriber.start(),n.started=!0,null!=this.#bt&&n.subscriber.pause(this.#bt)),this}async once(t,e){const n=await this.#Dt(t);return n.listeners.push({listener:e,once:!0}),n.started||(n.subscriber.start(),n.started=!0,null!=this.#bt&&n.subscriber.pause(this.#bt)),this}async emit(t,...e){const n=await this.#Bt(t,e);if(!n||0===n.listeners.length)return!1;const r=n.listeners.length;return n.listeners=n.listeners.filter((({listener:n,once:r})=>{const s=new Kt.z(this,r?null:n,t);try{n.call(this,...e,s)}catch(t){}return!r})),0===n.listeners.length&&(n.started&&n.subscriber.stop(),this.#wt.delete(n.tag)),r>0}async listenerCount(t){if(t){const e=await this.#Bt(t);return e?e.listeners.length:0}let e=0;for(const{listeners:t}of this.#wt.values())e+=t.length;return e}async listeners(t){if(t){const e=await this.#Bt(t);return e?e.listeners.map((({listener:t})=>t)):[]}let e=[];for(const{listeners:t}of this.#wt.values())e=e.concat(t.map((({listener:t})=>t)));return e}async off(t,e){const n=await this.#Bt(t);if(!n)return this;if(e){const t=n.listeners.map((({listener:t})=>t)).indexOf(e);t>=0&&n.listeners.splice(t,1)}return e&&0!==n.listeners.length||(n.started&&n.subscriber.stop(),this.#wt.delete(n.tag)),this}async removeAllListeners(t){if(t){const{tag:e,started:n,subscriber:r}=await this.#Dt(t);n&&r.stop(),this.#wt.delete(e)}else for(const[t,{started:e,subscriber:n}]of this.#wt)e&&n.stop(),this.#wt.delete(t);return this}async addListener(t,e){return await this.on(t,e)}async removeListener(t,e){return this.off(t,e)}get destroyed(){return this.#At}destroy(){this.removeAllListeners();for(const t of this.#St.keys())this._clearTimeout(t);this.#At=!0}get paused(){return null!=this.#bt}set paused(t){!!t!==this.paused&&(this.paused?this.resume():this.pause(!1))}pause(t){if(this.#xt=-1,null!=this.#bt){if(this.#bt==!!t)return;(0,u.vA)(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}this._forEachSubscriber((e=>e.pause(t))),this.#bt=!!t;for(const t of this.#St.values())t.timer&&clearTimeout(t.timer),t.time=Ce()-t.time}resume(){if(null!=this.#bt){this._forEachSubscriber((t=>t.resume())),this.#bt=null;for(const t of this.#St.values()){let e=t.time;e<0&&(e=0),t.time=Ce(),setTimeout(t.func,e)}}}}function Me(t,e){try{const n=Ue(t,e);if(n)return(0,l._v)(n)}catch(t){}return null}function Ue(t,e){if("0x"===t)return null;try{const n=(0,f.WZ)((0,h.ZG)(t,e,e+32)),r=(0,f.WZ)((0,h.ZG)(t,n,n+32));return(0,h.ZG)(t,n+32,n+32+r)}catch(t){}return null}function Le(t){const e=(0,f.c4)(t);if(e.length>32)throw new Error("internal; should not happen");const n=new Uint8Array(32);return n.set(e,32-e.length),n}function Fe(t){if(t.length%32==0)return t;const e=new Uint8Array(32*Math.ceil(t.length/32));return e.set(t),e}const Ge=new Uint8Array([]);function je(t){const e=[];let n=0;for(let r=0;r<t.length;r++)e.push(Ge),n+=32;for(let r=0;r<t.length;r++){const s=(0,h.q5)(t[r]);e[r]=Le(n),e.push(Le(s.length)),e.push(Fe(s)),n+=32+32*Math.ceil(s.length/32)}return(0,h.xW)(e)}const _e="0x0000000000000000000000000000000000000000000000000000000000000000";var He=n(5942);class Ke{#ut;#Mt;#lt;#dt;#Ut;#Lt;constructor(t){this.#ut=t,this.#Mt=null,this.#lt=this.#pt.bind(this),this.#dt=!1,this.#Ut=null,this.#Lt=!1}_subscribe(t){throw new Error("subclasses must override this")}_emitResults(t,e){throw new Error("subclasses must override this")}_recover(t){throw new Error("subclasses must override this")}async#pt(t){try{null==this.#Mt&&(this.#Mt=this._subscribe(this.#ut));let t=null;try{t=await this.#Mt}catch(t){if(!(0,u.bJ)(t,"UNSUPPORTED_OPERATION")||"eth_newFilter"!==t.operation)throw t}if(null==t)return this.#Mt=null,void this.#ut._recoverSubscriber(this,this._recover(this.#ut));const e=await this.#ut.getNetwork();if(this.#Ut||(this.#Ut=e),this.#Ut.chainId!==e.chainId)throw new Error("chaid changed");if(this.#Lt)return;const n=await this.#ut.send("eth_getFilterChanges",[t]);await this._emitResults(this.#ut,n)}catch(t){console.log("@TODO",t)}this.#ut.once("block",this.#lt)}#Ft(){const t=this.#Mt;t&&(this.#Mt=null,t.then((t=>{this.#ut.destroyed||this.#ut.send("eth_uninstallFilter",[t])})))}start(){this.#dt||(this.#dt=!0,this.#pt(-2))}stop(){this.#dt&&(this.#dt=!1,this.#Lt=!0,this.#Ft(),this.#ut.off("block",this.#lt))}pause(t){t&&this.#Ft(),this.#ut.off("block",this.#lt)}resume(){this.start()}}class Ve extends Ke{#Gt;constructor(t,e){var n;super(t),this.#Gt=(n=e,JSON.parse(JSON.stringify(n)))}_recover(t){return new Re(t,this.#Gt)}async _subscribe(t){return await t.send("eth_newFilter",[this.#Gt])}async _emitResults(t,e){for(const n of e)t.emit(this.#Gt,t._wrapLog(n,t._network))}}class Je extends Ke{async _subscribe(t){return await t.send("eth_newPendingTransactionFilter",[])}async _emitResults(t,e){for(const n of e)t.emit("pending",n)}}const Qe="bigint,boolean,function,number,string,symbol".split(/,/g);function ze(t){if(null==t||Qe.indexOf(typeof t)>=0)return t;if("function"==typeof t.getAddress)return t;if(Array.isArray(t))return t.map(ze);if("object"==typeof t)return Object.keys(t).reduce(((e,n)=>(e[n]=t[n],e)),{});throw new Error(`should not happen: ${t} (${typeof t})`)}function $e(t){return new Promise((e=>{setTimeout(e,t)}))}function We(t){return t?t.toLowerCase():t}function qe(t){return t&&"number"==typeof t.pollingInterval}const Ze={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1<<20,batchMaxCount:100,cacheTimeout:250,pollingInterval:4e3};class Ye extends He.Z{address;constructor(t,e){super(t),e=(0,s.b)(e),(0,c.n)(this,{address:e})}connect(t){(0,u.vA)(!1,"cannot reconnect JsonRpcSigner","UNSUPPORTED_OPERATION",{operation:"signer.connect"})}async getAddress(){return this.address}async populateTransaction(t){return await this.populateCall(t)}async sendUncheckedTransaction(t){const e=ze(t),n=[];if(e.from){const r=e.from;n.push((async()=>{const n=await(0,i.tG)(r,this.provider);(0,u.MR)(null!=n&&n.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),e.from=n})())}else e.from=this.address;if(null==e.gasLimit&&n.push((async()=>{e.gasLimit=await this.provider.estimateGas({...e,from:this.address})})()),null!=e.to){const t=e.to;n.push((async()=>{e.to=await(0,i.tG)(t,this.provider)})())}n.length&&await Promise.all(n);const r=this.provider.getRpcTransaction(e);return this.provider.send("eth_sendTransaction",[r])}async sendTransaction(t){const e=await this.provider.getBlockNumber(),n=await this.sendUncheckedTransaction(t);return await new Promise(((t,r)=>{const s=[1e3,100];let i=0;const o=async()=>{try{const r=await this.provider.getTransaction(n);if(null!=r)return void t(r.replaceableTransaction(e))}catch(t){if((0,u.bJ)(t,"CANCELLED")||(0,u.bJ)(t,"BAD_DATA")||(0,u.bJ)(t,"NETWORK_ERROR")||(0,u.bJ)(t,"UNSUPPORTED_OPERATION"))return null==t.info&&(t.info={}),t.info.sendTransactionHash=n,void r(t);if((0,u.bJ)(t,"INVALID_ARGUMENT")&&(i++,null==t.info&&(t.info={}),t.info.sendTransactionHash=n,i>10))return void r(t);this.provider.emit("error",(0,u.xz)("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:t}))}this.provider._setTimeout((()=>{o()}),s.pop()||4e3)};o()}))}async signTransaction(t){const e=ze(t);if(e.from){const n=await(0,i.tG)(e.from,this.provider);(0,u.MR)(null!=n&&n.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),e.from=n}else e.from=this.address;const n=this.provider.getRpcTransaction(e);return await this.provider.send("eth_signTransaction",[n])}async signMessage(t){const e="string"==typeof t?(0,l.YW)(t):t;return await this.provider.send("personal_sign",[(0,h.c$)(e),this.address.toLowerCase()])}async signTypedData(t,e,n){const r=ze(n),s=await o.z.resolveNames(t,e,r,(async t=>{const e=await(0,i.tG)(t);return(0,u.MR)(null!=e,"TypedData does not support null address","value",t),e}));return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(o.z.getPayload(s.domain,e,s.value))])}async unlock(t){return this.provider.send("personal_unlockAccount",[this.address.toLowerCase(),t,null])}async _legacySignMessage(t){const e="string"==typeof t?(0,l.YW)(t):t;return await this.provider.send("eth_sign",[this.address.toLowerCase(),(0,h.c$)(e)])}}class Xe extends De{#d;#jt;#_t;#Ht;#Kt;#Ut;#Vt;#Jt(){if(this.#Ht)return;const t=1===this._getOption("batchMaxCount")?0:this._getOption("batchStallTime");this.#Ht=setTimeout((()=>{this.#Ht=null;const t=this.#_t;for(this.#_t=[];t.length;){const e=[t.shift()];for(;t.length&&e.length!==this.#d.batchMaxCount;){e.push(t.shift());if(JSON.stringify(e.map((t=>t.payload))).length>this.#d.batchMaxSize){t.unshift(e.pop());break}}(async()=>{const t=1===e.length?e[0].payload:e.map((t=>t.payload));this.emit("debug",{action:"sendRpcPayload",payload:t});try{const n=await this._send(t);this.emit("debug",{action:"receiveRpcResult",result:n});for(const{resolve:t,reject:r,payload:s}of e){if(this.destroyed){r((0,u.xz)("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:s.method}));continue}const e=n.filter((t=>t.id===s.id))[0];if(null!=e)"error"in e?r(this.getRpcError(s,e)):t(e.result);else{const t=(0,u.xz)("missing response for request","BAD_DATA",{value:n,info:{payload:s}});this.emit("error",t),r(t)}}}catch(t){this.emit("debug",{action:"receiveRpcError",error:t});for(const{reject:n}of e)n(t)}})()}}),t)}constructor(t,e){super(t,e),this.#jt=1,this.#d=Object.assign({},Ze,e||{}),this.#_t=[],this.#Ht=null,this.#Ut=null,this.#Vt=null;{let t=null;const e=new Promise((e=>{t=e}));this.#Kt={promise:e,resolve:t}}const n=this._getOption("staticNetwork");"boolean"==typeof n?((0,u.MR)(!n||"any"!==t,"staticNetwork cannot be used on special network 'any'","options",e),n&&null!=t&&(this.#Ut=de.from(t))):n&&((0,u.MR)(null==t||n.matches(t),"staticNetwork MUST match network object","options",e),this.#Ut=n)}_getOption(t){return this.#d[t]}get _network(){return(0,u.vA)(this.#Ut,"network is not available yet","NETWORK_ERROR"),this.#Ut}async _perform(t){if("call"===t.method||"estimateGas"===t.method){let e=t.transaction;if(e&&null!=e.type&&(0,f.Ab)(e.type)&&null==e.maxFeePerGas&&null==e.maxPriorityFeePerGas){const n=await this.getFeeData();null==n.maxFeePerGas&&null==n.maxPriorityFeePerGas&&(t=Object.assign({},t,{transaction:Object.assign({},e,{type:void 0})}))}}const e=this.getRpcRequest(t);return null!=e?await this.send(e.method,e.args):super._perform(t)}async _detectNetwork(){const t=this._getOption("staticNetwork");if(t){if(!0!==t)return t;if(this.#Ut)return this.#Ut}return this.#Vt?await this.#Vt:this.ready?(this.#Vt=(async()=>{try{const t=de.from((0,f.Ab)(await this.send("eth_chainId",[])));return this.#Vt=null,t}catch(t){throw this.#Vt=null,t}})(),await this.#Vt):(this.#Vt=(async()=>{const t={id:this.#jt++,method:"eth_chainId",params:[],jsonrpc:"2.0"};let e;this.emit("debug",{action:"sendRpcPayload",payload:t});try{e=(await this._send(t))[0],this.#Vt=null}catch(t){throw this.#Vt=null,this.emit("debug",{action:"receiveRpcError",error:t}),t}if(this.emit("debug",{action:"receiveRpcResult",result:e}),"result"in e)return de.from((0,f.Ab)(e.result));throw this.getRpcError(t,e)})(),await this.#Vt)}_start(){null!=this.#Kt&&null!=this.#Kt.resolve&&(this.#Kt.resolve(),this.#Kt=null,(async()=>{for(;null==this.#Ut&&!this.destroyed;)try{this.#Ut=await this._detectNetwork()}catch(t){if(this.destroyed)break;console.log("JsonRpcProvider failed to detect network and cannot start up; retry in 1s (perhaps the URL is wrong or the node is not started)"),this.emit("error",(0,u.xz)("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:t}})),await $e(1e3)}this.#Jt()})())}async _waitUntilReady(){if(null!=this.#Kt)return await this.#Kt.promise}_getSubscriber(t){return"pending"===t.type?new Je(this):"event"===t.type?this._getOption("polling")?new Re(this,t.filter):new Ve(this,t.filter):"orphan"===t.type&&"drop-log"===t.filter.orphan?new Te("orphan"):super._getSubscriber(t)}get ready(){return null==this.#Kt}getRpcTransaction(t){const e={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach((n=>{if(null==t[n])return;let r=n;"gasLimit"===n&&(r="gas"),e[r]=(0,f.nD)((0,f.Ab)(t[n],`tx.${n}`))})),["from","to","data"].forEach((n=>{null!=t[n]&&(e[n]=(0,h.c$)(t[n]))})),t.accessList&&(e.accessList=(0,a.$)(t.accessList)),t.blobVersionedHashes&&(e.blobVersionedHashes=t.blobVersionedHashes.map((t=>t.toLowerCase()))),e}getRpcRequest(t){switch(t.method){case"chainId":return{method:"eth_chainId",args:[]};case"getBlockNumber":return{method:"eth_blockNumber",args:[]};case"getGasPrice":return{method:"eth_gasPrice",args:[]};case"getPriorityFee":return{method:"eth_maxPriorityFeePerGas",args:[]};case"getBalance":return{method:"eth_getBalance",args:[We(t.address),t.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[We(t.address),t.blockTag]};case"getCode":return{method:"eth_getCode",args:[We(t.address),t.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[We(t.address),"0x"+t.position.toString(16),t.blockTag]};case"broadcastTransaction":return{method:"eth_sendRawTransaction",args:[t.signedTransaction]};case"getBlock":if("blockTag"in t)return{method:"eth_getBlockByNumber",args:[t.blockTag,!!t.includeTransactions]};if("blockHash"in t)return{method:"eth_getBlockByHash",args:[t.blockHash,!!t.includeTransactions]};break;case"getTransaction":return{method:"eth_getTransactionByHash",args:[t.hash]};case"getTransactionReceipt":return{method:"eth_getTransactionReceipt",args:[t.hash]};case"call":return{method:"eth_call",args:[this.getRpcTransaction(t.transaction),t.blockTag]};case"estimateGas":return{method:"eth_estimateGas",args:[this.getRpcTransaction(t.transaction)]};case"getLogs":return t.filter&&null!=t.filter.address&&(Array.isArray(t.filter.address)?t.filter.address=t.filter.address.map(We):t.filter.address=We(t.filter.address)),{method:"eth_getLogs",args:[t.filter]}}return null}getRpcError(t,e){const{method:n}=t,{error:s}=e;if("eth_estimateGas"===n&&s.message){const e=s.message;if(!e.match(/revert/i)&&e.match(/insufficient funds/i))return(0,u.xz)("insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.params[0],info:{payload:t,error:s}})}if("eth_call"===n||"eth_estimateGas"===n){const e=nn(s),i=r.y.getBuiltinCallException("eth_call"===n?"call":"estimateGas",t.params[0],e?e.data:null);return i.info={error:s,payload:t},i}const i=JSON.stringify(function(t){const e=[];return rn(t,e),e}(s));if("string"==typeof s.message&&s.message.match(/user denied|ethers-user-denied/i)){const e={eth_sign:"signMessage",personal_sign:"signMessage",eth_signTypedData_v4:"signTypedData",eth_signTransaction:"signTransaction",eth_sendTransaction:"sendTransaction",eth_requestAccounts:"requestAccess",wallet_requestAccounts:"requestAccess"};return(0,u.xz)("user rejected action","ACTION_REJECTED",{action:e[n]||"unknown",reason:"rejected",info:{payload:t,error:s}})}if("eth_sendRawTransaction"===n||"eth_sendTransaction"===n){const e=t.params[0];if(i.match(/insufficient funds|base fee exceeds gas limit/i))return(0,u.xz)("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:e,info:{error:s}});if(i.match(/nonce/i)&&i.match(/too low/i))return(0,u.xz)("nonce has already been used","NONCE_EXPIRED",{transaction:e,info:{error:s}});if(i.match(/replacement transaction/i)&&i.match(/underpriced/i))return(0,u.xz)("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:e,info:{error:s}});if(i.match(/only replay-protected/i))return(0,u.xz)("legacy pre-eip-155 transactions not supported","UNSUPPORTED_OPERATION",{operation:n,info:{transaction:e,info:{error:s}}})}let o=!!i.match(/the method .* does not exist/i);return o||s&&s.details&&s.details.startsWith("Unauthorized method:")&&(o=!0),o?(0,u.xz)("unsupported operation","UNSUPPORTED_OPERATION",{operation:t.method,info:{error:s,payload:t}}):(0,u.xz)("could not coalesce error","UNKNOWN_ERROR",{error:s,payload:t})}send(t,e){if(this.destroyed)return Promise.reject((0,u.xz)("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t}));const n=this.#jt++,r=new Promise(((r,s)=>{this.#_t.push({resolve:r,reject:s,payload:{method:t,params:e,id:n,jsonrpc:"2.0"}})}));return this.#Jt(),r}async getSigner(t){null==t&&(t=0);const e=this.send("eth_accounts",[]);if("number"==typeof t){const n=await e;if(t>=n.length)throw new Error("no such account");return new Ye(this,n[t])}const{accounts:n}=await(0,c.k)({network:this.getNetwork(),accounts:e});t=(0,s.b)(t);for(const e of n)if((0,s.b)(e)===t)return new Ye(this,t);throw new Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map((t=>new Ye(this,t)))}destroy(){this.#Ht&&(clearTimeout(this.#Ht),this.#Ht=null);for(const{payload:t,reject:e}of this.#_t)e((0,u.xz)("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t.method}));this.#_t=[],super.destroy()}}class tn extends Xe{#Qt;constructor(t,e){super(t,e);let n=this._getOption("pollingInterval");null==n&&(n=Ze.pollingInterval),this.#Qt=n}_getSubscriber(t){const e=super._getSubscriber(t);return qe(e)&&(e.pollingInterval=this.#Qt),e}get pollingInterval(){return this.#Qt}set pollingInterval(t){if(!Number.isInteger(t)||t<0)throw new Error("invalid interval");this.#Qt=t,this._forEachSubscriber((t=>{qe(t)&&(t.pollingInterval=this.#Qt)}))}}class en extends tn{#zt;constructor(t,e,n){null==t&&(t="http://localhost:8545"),super(e,n),this.#zt="string"==typeof t?new x(t):t.clone()}_getConnection(){return this.#zt.clone()}async send(t,e){return await this._start(),await super.send(t,e)}async _send(t){const e=this._getConnection();e.body=JSON.stringify(t),e.setHeader("content-type","application/json");const n=await e.send();n.assertOk();let r=n.bodyJson;return Array.isArray(r)||(r=[r]),r}}function nn(t){if(null==t)return null;if("string"==typeof t.message&&t.message.match(/revert/i)&&(0,h.Lo)(t.data))return{message:t.message,data:t.data};if("object"==typeof t){for(const e in t){const n=nn(t[e]);if(n)return n}return null}if("string"==typeof t)try{return nn(JSON.parse(t))}catch(t){}return null}function rn(t,e){if(null!=t){if("string"==typeof t.message&&e.push(t.message),"object"==typeof t)for(const n in t)rn(t[n],e);if("string"==typeof t)try{return rn(JSON.parse(t),e)}catch(t){}}}},3948:(t,e,n)=>{n.d(e,{J9:()=>h,VS:()=>f,eB:()=>p,tG:()=>d,uI:()=>y,z5:()=>g});var r=n(8081),s=n(6212),i=n(7033),o=n(7339),a=n(8177);const c=BigInt(0);function u(t){return null==t?null:t}function l(t){return null==t?null:t.toString()}class h{gasPrice;maxFeePerGas;maxPriorityFeePerGas;constructor(t,e,n){(0,r.n)(this,{gasPrice:u(t),maxFeePerGas:u(e),maxPriorityFeePerGas:u(n)})}toJSON(){const{gasPrice:t,maxFeePerGas:e,maxPriorityFeePerGas:n}=this;return{_type:"FeeData",gasPrice:l(t),maxFeePerGas:l(e),maxPriorityFeePerGas:l(n)}}}function f(t){const e={};t.to&&(e.to=t.to),t.from&&(e.from=t.from),t.data&&(e.data=(0,s.c$)(t.data));const n="chainId,gasLimit,gasPrice,maxFeePerBlobGas,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(const r of n)r in t&&null!=t[r]&&(e[r]=(0,i.Ab)(t[r],`request.${r}`));const r="type,nonce".split(/,/);for(const n of r)n in t&&null!=t[n]&&(e[n]=(0,i.WZ)(t[n],`request.${n}`));return t.accessList&&(e.accessList=(0,a.$)(t.accessList)),"blockTag"in t&&(e.blockTag=t.blockTag),"enableCcipRead"in t&&(e.enableCcipRead=!!t.enableCcipRead),"customData"in t&&(e.customData=t.customData),"blobVersionedHashes"in t&&t.blobVersionedHashes&&(e.blobVersionedHashes=t.blobVersionedHashes.slice()),"kzg"in t&&(e.kzg=t.kzg),"blobs"in t&&t.blobs&&(e.blobs=t.blobs.map((t=>(0,s.f)(t)?(0,s.c$)(t):Object.assign({},t)))),e}class p{provider;number;hash;timestamp;parentHash;parentBeaconBlockRoot;nonce;difficulty;gasLimit;gasUsed;stateRoot;receiptsRoot;blobGasUsed;excessBlobGas;miner;prevRandao;extraData;baseFeePerGas;#$t;constructor(t,e){this.#$t=t.transactions.map((t=>"string"!=typeof t?new y(t,e):t)),(0,r.n)(this,{provider:e,hash:u(t.hash),number:t.number,timestamp:t.timestamp,parentHash:t.parentHash,parentBeaconBlockRoot:t.parentBeaconBlockRoot,nonce:t.nonce,difficulty:t.difficulty,gasLimit:t.gasLimit,gasUsed:t.gasUsed,blobGasUsed:t.blobGasUsed,excessBlobGas:t.excessBlobGas,miner:t.miner,prevRandao:u(t.prevRandao),extraData:t.extraData,baseFeePerGas:u(t.baseFeePerGas),stateRoot:t.stateRoot,receiptsRoot:t.receiptsRoot})}get transactions(){return this.#$t.map((t=>"string"==typeof t?t:t.hash))}get prefetchedTransactions(){const t=this.#$t.slice();return 0===t.length?[]:((0,o.vA)("object"==typeof t[0],"transactions were not prefetched with block request","UNSUPPORTED_OPERATION",{operation:"transactionResponses()"}),t)}toJSON(){const{baseFeePerGas:t,difficulty:e,extraData:n,gasLimit:r,gasUsed:s,hash:i,miner:o,prevRandao:a,nonce:c,number:u,parentHash:h,parentBeaconBlockRoot:f,stateRoot:p,receiptsRoot:d,timestamp:g,transactions:y}=this;return{_type:"Block",baseFeePerGas:l(t),difficulty:l(e),extraData:n,gasLimit:l(r),gasUsed:l(s),blobGasUsed:l(this.blobGasUsed),excessBlobGas:l(this.excessBlobGas),hash:i,miner:o,prevRandao:a,nonce:c,number:u,parentHash:h,timestamp:g,parentBeaconBlockRoot:f,stateRoot:p,receiptsRoot:d,transactions:y}}[Symbol.iterator](){let t=0;const e=this.transactions;return{next:()=>t<this.length?{value:e[t++],done:!1}:{value:void 0,done:!0}}}get length(){return this.#$t.length}get date(){return null==this.timestamp?null:new Date(1e3*this.timestamp)}async getTransaction(t){let e;if("number"==typeof t)e=this.#$t[t];else{const n=t.toLowerCase();for(const t of this.#$t){if("string"==typeof t){if(t!==n)continue;e=t;break}if(t.hash!==n){e=t;break}}}if(null==e)throw new Error("no such tx");return"string"==typeof e?await this.provider.getTransaction(e):e}getPrefetchedTransaction(t){const e=this.prefetchedTransactions;if("number"==typeof t)return e[t];t=t.toLowerCase();for(const n of e)if(n.hash===t)return n;(0,o.MR)(!1,"no matching transaction","indexOrHash",t)}isMined(){return!!this.hash}isLondon(){return!!this.baseFeePerGas}orphanedEvent(){if(!this.isMined())throw new Error("");return{orphan:"drop-block",hash:(t=this).hash,number:t.number};var t}}class d{provider;transactionHash;blockHash;blockNumber;removed;address;data;topics;index;transactionIndex;constructor(t,e){this.provider=e;const n=Object.freeze(t.topics.slice());(0,r.n)(this,{transactionHash:t.transactionHash,blockHash:t.blockHash,blockNumber:t.blockNumber,removed:t.removed,address:t.address,data:t.data,topics:n,index:t.index,transactionIndex:t.transactionIndex})}toJSON(){const{address:t,blockHash:e,blockNumber:n,data:r,index:s,removed:i,topics:o,transactionHash:a,transactionIndex:c}=this;return{_type:"log",address:t,blockHash:e,blockNumber:n,data:r,index:s,removed:i,topics:o,transactionHash:a,transactionIndex:c}}async getBlock(){const t=await this.provider.getBlock(this.blockHash);return(0,o.vA)(!!t,"failed to find transaction","UNKNOWN_ERROR",{}),t}async getTransaction(){const t=await this.provider.getTransaction(this.transactionHash);return(0,o.vA)(!!t,"failed to find transaction","UNKNOWN_ERROR",{}),t}async getTransactionReceipt(){const t=await this.provider.getTransactionReceipt(this.transactionHash);return(0,o.vA)(!!t,"failed to find transaction receipt","UNKNOWN_ERROR",{}),t}removedEvent(){return{orphan:"drop-log",log:{transactionHash:(t=this).transactionHash,blockHash:t.blockHash,blockNumber:t.blockNumber,address:t.address,data:t.data,topics:Object.freeze(t.topics.slice()),index:t.index}};var t}}class g{provider;to;from;contractAddress;hash;index;blockHash;blockNumber;logsBloom;gasUsed;blobGasUsed;cumulativeGasUsed;gasPrice;blobGasPrice;type;status;root;#Wt;constructor(t,e){this.#Wt=Object.freeze(t.logs.map((t=>new d(t,e))));let n=c;null!=t.effectiveGasPrice?n=t.effectiveGasPrice:null!=t.gasPrice&&(n=t.gasPrice),(0,r.n)(this,{provider:e,to:t.to,from:t.from,contractAddress:t.contractAddress,hash:t.hash,index:t.index,blockHash:t.blockHash,blockNumber:t.blockNumber,logsBloom:t.logsBloom,gasUsed:t.gasUsed,cumulativeGasUsed:t.cumulativeGasUsed,blobGasUsed:t.blobGasUsed,gasPrice:n,blobGasPrice:t.blobGasPrice,type:t.type,status:t.status,root:t.root})}get logs(){return this.#Wt}toJSON(){const{to:t,from:e,contractAddress:n,hash:r,index:s,blockHash:i,blockNumber:o,logsBloom:a,logs:c,status:u,root:h}=this;return{_type:"TransactionReceipt",blockHash:i,blockNumber:o,contractAddress:n,cumulativeGasUsed:l(this.cumulativeGasUsed),from:e,gasPrice:l(this.gasPrice),blobGasUsed:l(this.blobGasUsed),blobGasPrice:l(this.blobGasPrice),gasUsed:l(this.gasUsed),hash:r,index:s,logs:c,logsBloom:a,root:h,status:u,to:t}}get length(){return this.logs.length}[Symbol.iterator](){let t=0;return{next:()=>t<this.length?{value:this.logs[t++],done:!1}:{value:void 0,done:!0}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){const t=await this.provider.getBlock(this.blockHash);if(null==t)throw new Error("TODO");return t}async getTransaction(){const t=await this.provider.getTransaction(this.hash);if(null==t)throw new Error("TODO");return t}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return w(this)}reorderedEvent(t){return(0,o.vA)(!t||t.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),m(this,t)}}class y{provider;blockNumber;blockHash;index;hash;type;to;from;nonce;gasLimit;gasPrice;maxPriorityFeePerGas;maxFeePerGas;maxFeePerBlobGas;data;value;chainId;signature;accessList;blobVersionedHashes;#qt;constructor(t,e){this.provider=e,this.blockNumber=null!=t.blockNumber?t.blockNumber:null,this.blockHash=null!=t.blockHash?t.blockHash:null,this.hash=t.hash,this.index=t.index,this.type=t.type,this.from=t.from,this.to=t.to||null,this.gasLimit=t.gasLimit,this.nonce=t.nonce,this.data=t.data,this.value=t.value,this.gasPrice=t.gasPrice,this.maxPriorityFeePerGas=null!=t.maxPriorityFeePerGas?t.maxPriorityFeePerGas:null,this.maxFeePerGas=null!=t.maxFeePerGas?t.maxFeePerGas:null,this.maxFeePerBlobGas=null!=t.maxFeePerBlobGas?t.maxFeePerBlobGas:null,this.chainId=t.chainId,this.signature=t.signature,this.accessList=null!=t.accessList?t.accessList:null,this.blobVersionedHashes=null!=t.blobVersionedHashes?t.blobVersionedHashes:null,this.#qt=-1}toJSON(){const{blockNumber:t,blockHash:e,index:n,hash:r,type:s,to:i,from:o,nonce:a,data:c,signature:u,accessList:h,blobVersionedHashes:f}=this;return{_type:"TransactionResponse",accessList:h,blockNumber:t,blockHash:e,blobVersionedHashes:f,chainId:l(this.chainId),data:c,from:o,gasLimit:l(this.gasLimit),gasPrice:l(this.gasPrice),hash:r,maxFeePerGas:l(this.maxFeePerGas),maxPriorityFeePerGas:l(this.maxPriorityFeePerGas),maxFeePerBlobGas:l(this.maxFeePerBlobGas),nonce:a,signature:u,to:i,index:n,type:s,value:l(this.value)}}async getBlock(){let t=this.blockNumber;if(null==t){const e=await this.getTransaction();e&&(t=e.blockNumber)}if(null==t)return null;const e=this.provider.getBlock(t);if(null==e)throw new Error("TODO");return e}async getTransaction(){return this.provider.getTransaction(this.hash)}async confirmations(){if(null==this.blockNumber){const{tx:t,blockNumber:e}=await(0,r.k)({tx:this.getTransaction(),blockNumber:this.provider.getBlockNumber()});return null==t||null==t.blockNumber?0:e-t.blockNumber+1}return await this.provider.getBlockNumber()-this.blockNumber+1}async wait(t,e){const n=null==t?1:t,s=null==e?0:e;let i=this.#qt,a=-1,u=-1===i;const l=async()=>{if(u)return null;const{blockNumber:t,nonce:e}=await(0,r.k)({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(e<this.nonce)return void(i=t);if(u)return null;const s=await this.getTransaction();if(!s||null==s.blockNumber)for(-1===a&&(a=i-3,a<this.#qt&&(a=this.#qt));a<=t;){if(u)return null;const e=await this.provider.getBlock(a,!0);if(null==e)return;for(const t of e)if(t===this.hash)return;for(let r=0;r<e.length;r++){const s=await e.getTransaction(r);if(s.from===this.from&&s.nonce===this.nonce){if(u)return null;const e=await this.provider.getTransactionReceipt(s.hash);if(null==e)return;if(t-e.blockNumber+1<n)return;let r="replaced";s.data===this.data&&s.to===this.to&&s.value===this.value?r="repriced":"0x"===s.data&&s.from===s.to&&s.value===c&&(r="cancelled"),(0,o.vA)(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:"replaced"===r||"cancelled"===r,reason:r,replacement:s.replaceableTransaction(i),hash:s.hash,receipt:e})}}a++}},h=t=>{if(null==t||0!==t.status)return t;(0,o.vA)(!1,"transaction execution reverted","CALL_EXCEPTION",{action:"sendTransaction",data:null,reason:null,invocation:null,revert:null,transaction:{to:t.to,from:t.from,data:""},receipt:t})},f=await this.provider.getTransactionReceipt(this.hash);if(0===n)return h(f);if(f){if(await f.confirmations()>=n)return h(f)}else if(await l(),0===n)return null;const p=new Promise(((t,e)=>{const r=[],a=()=>{r.forEach((t=>t()))};if(r.push((()=>{u=!0})),s>0){const t=setTimeout((()=>{a(),e((0,o.xz)("wait for transaction timeout","TIMEOUT"))}),s);r.push((()=>{clearTimeout(t)}))}const c=async r=>{if(await r.confirmations()>=n){a();try{t(h(r))}catch(t){e(t)}}};if(r.push((()=>{this.provider.off(this.hash,c)})),this.provider.on(this.hash,c),i>=0){const t=async()=>{try{await l()}catch(t){if((0,o.bJ)(t,"TRANSACTION_REPLACED"))return a(),void e(t)}u||this.provider.once("block",t)};r.push((()=>{this.provider.off("block",t)})),this.provider.once("block",t)}}));return await p}isMined(){return null!=this.blockHash}isLegacy(){return 0===this.type}isBerlin(){return 1===this.type}isLondon(){return 2===this.type}isCancun(){return 3===this.type}removedEvent(){return(0,o.vA)(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),w(this)}reorderedEvent(t){return(0,o.vA)(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),(0,o.vA)(!t||t.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),m(this,t)}replaceableTransaction(t){(0,o.MR)(Number.isInteger(t)&&t>=0,"invalid startBlock","startBlock",t);const e=new y(this,this.provider);return e.#qt=t,e}}function m(t,e){return{orphan:"reorder-transaction",tx:t,other:e}}function w(t){return{orphan:"drop-transaction",tx:t}}},8177:(t,e,n)=>{n.d(e,{$:()=>a});var r=n(31),s=n(7339),i=n(6212);function o(t,e){return{address:(0,r.b)(t),storageKeys:e.map(((t,e)=>((0,s.MR)((0,i.Lo)(t,32),"invalid slot",`storageKeys[${e}]`,t),t.toLowerCase())))}}function a(t){if(Array.isArray(t))return t.map(((e,n)=>Array.isArray(e)?((0,s.MR)(2===e.length,"invalid slot set",`value[${n}]`,e),o(e[0],e[1])):((0,s.MR)(null!=e&&"object"==typeof e,"invalid address-slot set","value",t),o(e.address,e.storageKeys))));(0,s.MR)(null!=t&&"object"==typeof t,"invalid access list","value",t);const e=Object.keys(t).map((e=>{const n=t[e].reduce(((t,e)=>(t[e]=!0,t)),{});return o(e,Object.keys(n).sort())}));return e.sort(((t,e)=>t.address.localeCompare(e.address))),e}},415:(t,e,n)=>{n.d(e,{K:()=>o,x:()=>a});var r=n(31),s=n(5496),i=n(5539);function o(t){let e;return e="string"==typeof t?s.h.computePublicKey(t,!1):t.publicKey,(0,r.b)((0,i.S)("0x"+e.substring(4)).substring(26))}function a(t,e){return o(s.h.recoverPublicKey(t,e))}},9453:(t,e,n)=>{n.d(e,{Z:()=>U});var r=n(31),s=n(8982),i=n(8650),o=n(260),a=n(5539),c=n(5496),u=n(7339),l=n(7033),h=n(6212);function f(t){let e=t.toString(16);for(;e.length<2;)e="0"+e;return"0x"+e}function p(t,e,n){let r=0;for(let s=0;s<n;s++)r=256*r+t[e+s];return r}function d(t,e,n,r){const s=[];for(;n<e+1+r;){const i=g(t,n);s.push(i.result),n+=i.consumed,(0,u.vA)(n<=e+1+r,"child data too short","BUFFER_OVERRUN",{buffer:t,length:r,offset:e})}return{consumed:1+r,result:s}}function g(t,e){(0,u.vA)(0!==t.length,"data too short","BUFFER_OVERRUN",{buffer:t,length:0,offset:1});const n=e=>{(0,u.vA)(e<=t.length,"data short segment too short","BUFFER_OVERRUN",{buffer:t,length:t.length,offset:e})};if(t[e]>=248){const r=t[e]-247;n(e+1+r);const s=p(t,e+1,r);return n(e+1+r+s),d(t,e,e+1+r,r+s)}if(t[e]>=192){const r=t[e]-192;return n(e+1+r),d(t,e,e+1,r)}if(t[e]>=184){const r=t[e]-183;n(e+1+r);const s=p(t,e+1,r);n(e+1+r+s);return{consumed:1+r+s,result:(0,h.c$)(t.slice(e+1+r,e+1+r+s))}}if(t[e]>=128){const r=t[e]-128;n(e+1+r);return{consumed:1+r,result:(0,h.c$)(t.slice(e+1,e+1+r))}}return{consumed:1,result:f(t[e])}}function y(t){const e=(0,h.q5)(t,"data"),n=g(e,0);return(0,u.MR)(n.consumed===e.length,"unexpected junk after rlp payload","data",t),n.result}var m=n(5735),w=n(8177),b=n(415);const A=BigInt(0),v=BigInt(2),E=BigInt(27),k=BigInt(28),x=BigInt(35),R=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),S=131072;function O(t,e){let n=t.toString(16);for(;n.length<2;)n="0"+n;return n+=(0,i.s)(e).substring(4),"0x"+n}function N(t){return"0x"===t?null:(0,r.b)(t)}function T(t,e){try{return(0,w.$)(t)}catch(n){(0,u.MR)(!1,n.message,e,t)}}function P(t,e){return"0x"===t?0:(0,l.WZ)(t,e)}function I(t,e){if("0x"===t)return A;const n=(0,l.Ab)(t,e);return(0,u.MR)(n<=R,"value exceeds uint size",e,n),n}function C(t,e){const n=(0,l.Ab)(t,"value"),r=(0,l.c4)(n);return(0,u.MR)(r.length<=32,"value too large",`tx.${e}`,n),r}function B(t){return(0,w.$)(t).map((t=>[t.address,t.storageKeys]))}function D(t,e){(0,u.MR)(Array.isArray(t),`invalid ${e}`,"value",t);for(let e=0;e<t.length;e++)(0,u.MR)((0,h.Lo)(t[e],32),"invalid ${ param } hash",`value[${e}]`,t[e]);return t}function M(t,e){let n;try{if(n=P(e[0],"yParity"),0!==n&&1!==n)throw new Error("bad yParity")}catch(t){(0,u.MR)(!1,"invalid yParity","yParity",e[0])}const r=(0,h.nx)(e[1],32),s=(0,h.nx)(e[2],32),i=o.t.from({r,s,yParity:n});t.signature=i}class U{#Zt;#Yt;#n;#Xt;#te;#ee;#ne;#re;#se;#at;#ie;#oe;#ae;#ce;#ue;#le;get type(){return this.#Zt}set type(t){switch(t){case null:this.#Zt=null;break;case 0:case"legacy":this.#Zt=0;break;case 1:case"berlin":case"eip-2930":this.#Zt=1;break;case 2:case"london":case"eip-1559":this.#Zt=2;break;case 3:case"cancun":case"eip-4844":this.#Zt=3;break;default:(0,u.MR)(!1,"unsupported transaction type","type",t)}}get typeName(){switch(this.type){case 0:return"legacy";case 1:return"eip-2930";case 2:return"eip-1559";case 3:return"eip-4844"}return null}get to(){const t=this.#Yt;return null==t&&3===this.type?s.j:t}set to(t){this.#Yt=null==t?null:(0,r.b)(t)}get nonce(){return this.#Xt}set nonce(t){this.#Xt=(0,l.WZ)(t,"value")}get gasLimit(){return this.#te}set gasLimit(t){this.#te=(0,l.Ab)(t)}get gasPrice(){const t=this.#ee;return null!=t||0!==this.type&&1!==this.type?t:A}set gasPrice(t){this.#ee=null==t?null:(0,l.Ab)(t,"gasPrice")}get maxPriorityFeePerGas(){const t=this.#ne;return null==t?2===this.type||3===this.type?A:null:t}set maxPriorityFeePerGas(t){this.#ne=null==t?null:(0,l.Ab)(t,"maxPriorityFeePerGas")}get maxFeePerGas(){const t=this.#re;return null==t?2===this.type||3===this.type?A:null:t}set maxFeePerGas(t){this.#re=null==t?null:(0,l.Ab)(t,"maxFeePerGas")}get data(){return this.#n}set data(t){this.#n=(0,h.c$)(t)}get value(){return this.#se}set value(t){this.#se=(0,l.Ab)(t,"value")}get chainId(){return this.#at}set chainId(t){this.#at=(0,l.Ab)(t)}get signature(){return this.#ie||null}set signature(t){this.#ie=null==t?null:o.t.from(t)}get accessList(){const t=this.#oe||null;return null==t?1===this.type||2===this.type||3===this.type?[]:null:t}set accessList(t){this.#oe=null==t?null:(0,w.$)(t)}get maxFeePerBlobGas(){const t=this.#ae;return null==t&&3===this.type?A:t}set maxFeePerBlobGas(t){this.#ae=null==t?null:(0,l.Ab)(t,"maxFeePerBlobGas")}get blobVersionedHashes(){let t=this.#ce;return null==t&&3===this.type?[]:t}set blobVersionedHashes(t){if(null!=t){(0,u.MR)(Array.isArray(t),"blobVersionedHashes must be an Array","value",t),t=t.slice();for(let e=0;e<t.length;e++)(0,u.MR)((0,h.Lo)(t[e],32),"invalid blobVersionedHash",`value[${e}]`,t[e])}this.#ce=t}get blobs(){return null==this.#le?null:this.#le.map((t=>Object.assign({},t)))}set blobs(t){if(null==t)return void(this.#le=null);const e=[],n=[];for(let r=0;r<t.length;r++){const s=t[r];if((0,h.f)(s)){(0,u.vA)(this.#ue,"adding a raw blob requires a KZG library","UNSUPPORTED_OPERATION",{operation:"set blobs()"});let t=(0,h.q5)(s);if((0,u.MR)(t.length<=S,"blob is too large",`blobs[${r}]`,s),t.length!==S){const e=new Uint8Array(S);e.set(t),t=e}const i=this.#ue.blobToKzgCommitment(t),o=(0,h.c$)(this.#ue.computeBlobKzgProof(t,i));e.push({data:(0,h.c$)(t),commitment:(0,h.c$)(i),proof:o}),n.push(O(1,i))}else{const t=(0,h.c$)(s.commitment);e.push({data:(0,h.c$)(s.data),commitment:t,proof:(0,h.c$)(s.proof)}),n.push(O(1,t))}}this.#le=e,this.#ce=n}get kzg(){return this.#ue}set kzg(t){this.#ue=t}constructor(){this.#Zt=null,this.#Yt=null,this.#Xt=0,this.#te=A,this.#ee=null,this.#ne=null,this.#re=null,this.#n="0x",this.#se=A,this.#at=A,this.#ie=null,this.#oe=null,this.#ae=null,this.#ce=null,this.#le=null,this.#ue=null}get hash(){return null==this.signature?null:(0,a.S)(this.#he(!0,!1))}get unsignedHash(){return(0,a.S)(this.unsignedSerialized)}get from(){return null==this.signature?null:(0,b.x)(this.unsignedHash,this.signature)}get fromPublicKey(){return null==this.signature?null:c.h.recoverPublicKey(this.unsignedHash,this.signature)}isSigned(){return null!=this.signature}#he(t,e){(0,u.vA)(!t||null!=this.signature,"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized","UNSUPPORTED_OPERATION",{operation:".serialized"});const n=t?this.signature:null;switch(this.inferType()){case 0:return function(t,e){const n=[C(t.nonce,"nonce"),C(t.gasPrice||0,"gasPrice"),C(t.gasLimit,"gasLimit"),t.to||"0x",C(t.value,"value"),t.data];let r=A;if(t.chainId!=A)r=(0,l.Ab)(t.chainId,"tx.chainId"),(0,u.MR)(!e||null==e.networkV||e.legacyChainId===r,"tx.chainId/sig.v mismatch","sig",e);else if(t.signature){const e=t.signature.legacyChainId;null!=e&&(r=e)}if(!e)return r!==A&&(n.push((0,l.c4)(r)),n.push("0x"),n.push("0x")),(0,m.R)(n);let s=BigInt(27+e.yParity);return r!==A?s=o.t.getChainIdV(r,e.v):BigInt(e.v)!==s&&(0,u.MR)(!1,"tx.chainId/sig.v mismatch","sig",e),n.push((0,l.c4)(s)),n.push((0,l.c4)(e.r)),n.push((0,l.c4)(e.s)),(0,m.R)(n)}(this,n);case 1:return function(t,e){const n=[C(t.chainId,"chainId"),C(t.nonce,"nonce"),C(t.gasPrice||0,"gasPrice"),C(t.gasLimit,"gasLimit"),t.to||"0x",C(t.value,"value"),t.data,B(t.accessList||[])];return e&&(n.push(C(e.yParity,"recoveryParam")),n.push((0,l.c4)(e.r)),n.push((0,l.c4)(e.s))),(0,h.xW)(["0x01",(0,m.R)(n)])}(this,n);case 2:return function(t,e){const n=[C(t.chainId,"chainId"),C(t.nonce,"nonce"),C(t.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),C(t.maxFeePerGas||0,"maxFeePerGas"),C(t.gasLimit,"gasLimit"),t.to||"0x",C(t.value,"value"),t.data,B(t.accessList||[])];return e&&(n.push(C(e.yParity,"yParity")),n.push((0,l.c4)(e.r)),n.push((0,l.c4)(e.s))),(0,h.xW)(["0x02",(0,m.R)(n)])}(this,n);case 3:return function(t,e,n){const r=[C(t.chainId,"chainId"),C(t.nonce,"nonce"),C(t.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),C(t.maxFeePerGas||0,"maxFeePerGas"),C(t.gasLimit,"gasLimit"),t.to||s.j,C(t.value,"value"),t.data,B(t.accessList||[]),C(t.maxFeePerBlobGas||0,"maxFeePerBlobGas"),D(t.blobVersionedHashes||[],"blobVersionedHashes")];return e&&(r.push(C(e.yParity,"yParity")),r.push((0,l.c4)(e.r)),r.push((0,l.c4)(e.s)),n)?(0,h.xW)(["0x03",(0,m.R)([r,n.map((t=>t.data)),n.map((t=>t.commitment)),n.map((t=>t.proof))])]):(0,h.xW)(["0x03",(0,m.R)(r)])}(this,n,e?this.blobs:null)}(0,u.vA)(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:".serialized"})}get serialized(){return this.#he(!0,!0)}get unsignedSerialized(){return this.#he(!1,!1)}inferType(){const t=this.inferTypes();return t.indexOf(2)>=0?2:t.pop()}inferTypes(){const t=null!=this.gasPrice,e=null!=this.maxFeePerGas||null!=this.maxPriorityFeePerGas,n=null!=this.accessList,r=null!=this.#ae||this.#ce;null!=this.maxFeePerGas&&null!=this.maxPriorityFeePerGas&&(0,u.vA)(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this}),(0,u.vA)(!e||0!==this.type&&1!==this.type,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),(0,u.vA)(0!==this.type||!n,"legacy transaction cannot have accessList","BAD_DATA",{value:this});const s=[];return null!=this.type?s.push(this.type):e?s.push(2):t?(s.push(1),n||s.push(0)):n?(s.push(1),s.push(2)):(r&&this.to||(s.push(0),s.push(1),s.push(2)),s.push(3)),s.sort(),s}isLegacy(){return 0===this.type}isBerlin(){return 1===this.type}isLondon(){return 2===this.type}isCancun(){return 3===this.type}clone(){return U.from(this)}toJSON(){const t=t=>null==t?null:t.toString();return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:t(this.gasLimit),gasPrice:t(this.gasPrice),maxPriorityFeePerGas:t(this.maxPriorityFeePerGas),maxFeePerGas:t(this.maxFeePerGas),value:t(this.value),chainId:t(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}static from(t){if(null==t)return new U;if("string"==typeof t){const e=(0,h.q5)(t);if(e[0]>=127)return U.from(function(t){const e=y(t);(0,u.MR)(Array.isArray(e)&&(9===e.length||6===e.length),"invalid field count for legacy transaction","data",t);const n={type:0,nonce:P(e[0],"nonce"),gasPrice:I(e[1],"gasPrice"),gasLimit:I(e[2],"gasLimit"),to:N(e[3]),value:I(e[4],"value"),data:(0,h.c$)(e[5]),chainId:A};if(6===e.length)return n;const r=I(e[6],"v"),s=I(e[7],"r"),i=I(e[8],"s");if(s===A&&i===A)n.chainId=r;else{let t=(r-x)/v;t<A&&(t=A),n.chainId=t,(0,u.MR)(t!==A||r===E||r===k,"non-canonical legacy v","v",e[6]),n.signature=o.t.from({r:(0,h.nx)(e[7],32),s:(0,h.nx)(e[8],32),v:r})}return n}(e));switch(e[0]){case 1:return U.from(function(t){const e=y((0,h.q5)(t).slice(1));(0,u.MR)(Array.isArray(e)&&(8===e.length||11===e.length),"invalid field count for transaction type: 1","data",(0,h.c$)(t));const n={type:1,chainId:I(e[0],"chainId"),nonce:P(e[1],"nonce"),gasPrice:I(e[2],"gasPrice"),gasLimit:I(e[3],"gasLimit"),to:N(e[4]),value:I(e[5],"value"),data:(0,h.c$)(e[6]),accessList:T(e[7],"accessList")};return 8===e.length||M(n,e.slice(8)),n}(e));case 2:return U.from(function(t){const e=y((0,h.q5)(t).slice(1));(0,u.MR)(Array.isArray(e)&&(9===e.length||12===e.length),"invalid field count for transaction type: 2","data",(0,h.c$)(t));const n={type:2,chainId:I(e[0],"chainId"),nonce:P(e[1],"nonce"),maxPriorityFeePerGas:I(e[2],"maxPriorityFeePerGas"),maxFeePerGas:I(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:I(e[4],"gasLimit"),to:N(e[5]),value:I(e[6],"value"),data:(0,h.c$)(e[7]),accessList:T(e[8],"accessList")};return 9===e.length||M(n,e.slice(9)),n}(e));case 3:return U.from(function(t){let e=y((0,h.q5)(t).slice(1)),n="3",r=null;if(4===e.length&&Array.isArray(e[0])){n="3 (network format)";const t=e[1],s=e[2],i=e[3];(0,u.MR)(Array.isArray(t),"invalid network format: blobs not an array","fields[1]",t),(0,u.MR)(Array.isArray(s),"invalid network format: commitments not an array","fields[2]",s),(0,u.MR)(Array.isArray(i),"invalid network format: proofs not an array","fields[3]",i),(0,u.MR)(t.length===s.length,"invalid network format: blobs/commitments length mismatch","fields",e),(0,u.MR)(t.length===i.length,"invalid network format: blobs/proofs length mismatch","fields",e),r=[];for(let n=0;n<e[1].length;n++)r.push({data:t[n],commitment:s[n],proof:i[n]});e=e[0]}(0,u.MR)(Array.isArray(e)&&(11===e.length||14===e.length),`invalid field count for transaction type: ${n}`,"data",(0,h.c$)(t));const s={type:3,chainId:I(e[0],"chainId"),nonce:P(e[1],"nonce"),maxPriorityFeePerGas:I(e[2],"maxPriorityFeePerGas"),maxFeePerGas:I(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:I(e[4],"gasLimit"),to:N(e[5]),value:I(e[6],"value"),data:(0,h.c$)(e[7]),accessList:T(e[8],"accessList"),maxFeePerBlobGas:I(e[9],"maxFeePerBlobGas"),blobVersionedHashes:e[10]};r&&(s.blobs=r),(0,u.MR)(null!=s.to,`invalid address for transaction type: ${n}`,"data",t),(0,u.MR)(Array.isArray(s.blobVersionedHashes),"invalid blobVersionedHashes: must be an array","data",t);for(let e=0;e<s.blobVersionedHashes.length;e++)(0,u.MR)((0,h.Lo)(s.blobVersionedHashes[e],32),`invalid blobVersionedHash at index ${e}: must be length 32`,"data",t);return 11===e.length||M(s,e.slice(11)),s}(e))}(0,u.vA)(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}const e=new U;return null!=t.type&&(e.type=t.type),null!=t.to&&(e.to=t.to),null!=t.nonce&&(e.nonce=t.nonce),null!=t.gasLimit&&(e.gasLimit=t.gasLimit),null!=t.gasPrice&&(e.gasPrice=t.gasPrice),null!=t.maxPriorityFeePerGas&&(e.maxPriorityFeePerGas=t.maxPriorityFeePerGas),null!=t.maxFeePerGas&&(e.maxFeePerGas=t.maxFeePerGas),null!=t.maxFeePerBlobGas&&(e.maxFeePerBlobGas=t.maxFeePerBlobGas),null!=t.data&&(e.data=t.data),null!=t.value&&(e.value=t.value),null!=t.chainId&&(e.chainId=t.chainId),null!=t.signature&&(e.signature=o.t.from(t.signature)),null!=t.accessList&&(e.accessList=t.accessList),null!=t.blobVersionedHashes&&(e.blobVersionedHashes=t.blobVersionedHashes),null!=t.kzg&&(e.kzg=t.kzg),null!=t.blobs&&(e.blobs=t.blobs),null!=t.hash&&((0,u.MR)(e.isSigned(),"unsigned transaction cannot define '.hash'","tx",t),(0,u.MR)(e.hash===t.hash,"hash mismatch","tx",t)),null!=t.from&&((0,u.MR)(e.isSigned(),"unsigned transaction cannot define '.from'","tx",t),(0,u.MR)(e.from.toLowerCase()===(t.from||"").toLowerCase(),"from mismatch","tx",t)),e}}},4132:(t,e,n)=>{n.d(e,{H:()=>f,R:()=>h});var r=n(6212),s=n(7339),i=n(7033);const o="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";let a=null;function c(t){if(null==a){a={};for(let t=0;t<o.length;t++)a[o[t]]=BigInt(t)}const e=a[t];return(0,s.MR)(null!=e,"invalid base58 value","letter",t),e}const u=BigInt(0),l=BigInt(58);function h(t){const e=(0,r.q5)(t);let n=(0,i.Dg)(e),s="";for(;n;)s=o[Number(n%l)]+s,n/=l;for(let t=0;t<e.length&&!e[t];t++)s=o[0]+s;return s}function f(t){let e=u;for(let n=0;n<t.length;n++)e*=l,e+=c(t[n]);return e}},6212:(t,e,n)=>{n.d(e,{Lm:()=>o,Lo:()=>a,X_:()=>y,ZG:()=>p,c$:()=>l,f:()=>c,nx:()=>g,pO:()=>f,q5:()=>i,xW:()=>h});var r=n(7339);function s(t,e,n){if(t instanceof Uint8Array)return n?new Uint8Array(t):t;if("string"==typeof t&&t.match(/^0x(?:[0-9a-f][0-9a-f])*$/i)){const e=new Uint8Array((t.length-2)/2);let n=2;for(let r=0;r<e.length;r++)e[r]=parseInt(t.substring(n,n+2),16),n+=2;return e}(0,r.MR)(!1,"invalid BytesLike value",e||"value",t)}function i(t,e){return s(t,e,!1)}function o(t,e){return s(t,e,!0)}function a(t,e){return!("string"!=typeof t||!t.match(/^0x[0-9A-Fa-f]*$/))&&(("number"!=typeof e||t.length===2+2*e)&&(!0!==e||t.length%2==0))}function c(t){return a(t,!0)||t instanceof Uint8Array}const u="0123456789abcdef";function l(t){const e=i(t);let n="0x";for(let t=0;t<e.length;t++){const r=e[t];n+=u[(240&r)>>4]+u[15&r]}return n}function h(t){return"0x"+t.map((t=>l(t).substring(2))).join("")}function f(t){return a(t,!0)?(t.length-2)/2:i(t).length}function p(t,e,n){const s=i(t);return null!=n&&n>s.length&&(0,r.vA)(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:s,length:s.length,offset:n}),l(s.slice(null==e?0:e,null==n?s.length:n))}function d(t,e,n){const s=i(t);(0,r.vA)(e>=s.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(s),length:e,offset:e+1});const o=new Uint8Array(e);return o.fill(0),n?o.set(s,e-s.length):o.set(s,0),l(o)}function g(t,e){return d(t,e,!0)}function y(t,e){return d(t,e,!1)}},7339:(t,e,n)=>{n.d(e,{E:()=>a,MR:()=>l,SP:()=>p,bJ:()=>o,dd:()=>h,gk:()=>d,vA:()=>u,xz:()=>c});var r=n(9529),s=n(8081);function i(t){if(null==t)return"null";if(Array.isArray(t))return"[ "+t.map(i).join(", ")+" ]";if(t instanceof Uint8Array){const e="0123456789abcdef";let n="0x";for(let r=0;r<t.length;r++)n+=e[t[r]>>4],n+=e[15&t[r]];return n}if("object"==typeof t&&"function"==typeof t.toJSON)return i(t.toJSON());switch(typeof t){case"boolean":case"symbol":case"number":return t.toString();case"bigint":return BigInt(t).toString();case"string":return JSON.stringify(t);case"object":{const e=Object.keys(t);return e.sort(),"{ "+e.map((e=>`${i(e)}: ${i(t[e])}`)).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function o(t,e){return t&&t.code===e}function a(t){return o(t,"CALL_EXCEPTION")}function c(t,e,n){let o,a=t;{const s=[];if(n){if("message"in n||"code"in n||"name"in n)throw new Error(`value will overwrite populated values: ${i(n)}`);for(const t in n){if("shortMessage"===t)continue;const e=n[t];s.push(t+"="+i(e))}}s.push(`code=${e}`),s.push(`version=${r.r}`),s.length&&(t+=" ("+s.join(", ")+")")}switch(e){case"INVALID_ARGUMENT":o=new TypeError(t);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":o=new RangeError(t);break;default:o=new Error(t)}return(0,s.n)(o,{code:e}),n&&Object.assign(o,n),null==o.shortMessage&&(0,s.n)(o,{shortMessage:a}),o}function u(t,e,n,r){if(!t)throw c(e,n,r)}function l(t,e,n,r){u(t,e,"INVALID_ARGUMENT",{argument:n,value:r})}function h(t,e,n){null==n&&(n=""),n&&(n=": "+n),u(t>=e,"missing arguemnt"+n,"MISSING_ARGUMENT",{count:t,expectedCount:e}),u(t<=e,"too many arguments"+n,"UNEXPECTED_ARGUMENT",{count:t,expectedCount:e})}const f=["NFD","NFC","NFKD","NFKC"].reduce(((t,e)=>{try{if("test"!=="test".normalize(e))throw new Error("bad");if("NFD"===e){const t=String.fromCharCode(233).normalize("NFD");if(t!==String.fromCharCode(101,769))throw new Error("broken")}t.push(e)}catch(t){}return t}),[]);function p(t){u(f.indexOf(t)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:t}})}function d(t,e,n){if(null==n&&(n=""),t!==e){let t=n,e="new";n&&(t+=".",e+=" "+n),u(!1,`private constructor; use ${t}from* methods`,"UNSUPPORTED_OPERATION",{operation:e})}}},9381:(t,e,n)=>{n.d(e,{z:()=>s});var r=n(8081);class s{filter;emitter;#fe;constructor(t,e,n){this.#fe=e,(0,r.n)(this,{emitter:t,filter:n})}async removeListener(){null!=this.#fe&&await this.emitter.off(this.filter,this.#fe)}}},7033:(t,e,n)=>{n.d(e,{Ab:()=>h,Dg:()=>d,JJ:()=>u,Ro:()=>y,ST:()=>c,WZ:()=>g,c4:()=>w,dK:()=>l,nD:()=>b,up:()=>m});var r=n(6212),s=n(7339);const i=BigInt(0),o=BigInt(1),a=9007199254740991;function c(t,e){const n=f(t,"value"),r=BigInt(g(e,"width"));if((0,s.vA)(n>>r===i,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:t}),n>>r-o){return-((~n&(o<<r)-o)+o)}return n}function u(t,e){let n=h(t,"value");const r=BigInt(g(e,"width")),a=o<<r-o;if(n<i){n=-n,(0,s.vA)(n<=a,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:t});return(~n&(o<<r)-o)+o}return(0,s.vA)(n<a,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:t}),n}function l(t,e){const n=f(t,"value"),r=BigInt(g(e,"bits"));return n&(o<<r)-o}function h(t,e){switch(typeof t){case"bigint":return t;case"number":return(0,s.MR)(Number.isInteger(t),"underflow",e||"value",t),(0,s.MR)(t>=-a&&t<=a,"overflow",e||"value",t),BigInt(t);case"string":try{if(""===t)throw new Error("empty string");return"-"===t[0]&&"-"!==t[1]?-BigInt(t.substring(1)):BigInt(t)}catch(n){(0,s.MR)(!1,`invalid BigNumberish string: ${n.message}`,e||"value",t)}}(0,s.MR)(!1,"invalid BigNumberish value",e||"value",t)}function f(t,e){const n=h(t,e);return(0,s.vA)(n>=i,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:t}),n}const p="0123456789abcdef";function d(t){if(t instanceof Uint8Array){let e="0x0";for(const n of t)e+=p[n>>4],e+=p[15&n];return BigInt(e)}return h(t)}function g(t,e){switch(typeof t){case"bigint":return(0,s.MR)(t>=-a&&t<=a,"overflow",e||"value",t),Number(t);case"number":return(0,s.MR)(Number.isInteger(t),"underflow",e||"value",t),(0,s.MR)(t>=-a&&t<=a,"overflow",e||"value",t),t;case"string":try{if(""===t)throw new Error("empty string");return g(BigInt(t),e)}catch(n){(0,s.MR)(!1,`invalid numeric string: ${n.message}`,e||"value",t)}}(0,s.MR)(!1,"invalid numeric value",e||"value",t)}function y(t){return g(d(t))}function m(t,e){let n=f(t,"value").toString(16);if(null==e)n.length%2&&(n="0"+n);else{const r=g(e,"width");for((0,s.vA)(2*r>=n.length,`value exceeds width (${r} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:t});n.length<2*r;)n="0"+n}return"0x"+n}function w(t){const e=f(t,"value");if(e===i)return new Uint8Array([]);let n=e.toString(16);n.length%2&&(n="0"+n);const r=new Uint8Array(n.length/2);for(let t=0;t<r.length;t++){const e=2*t;r[t]=parseInt(n.substring(e,e+2),16)}return r}function b(t){let e=(0,r.c$)((0,r.f)(t)?t:w(t)).substring(2);for(;e.startsWith("0");)e=e.substring(1);return""===e&&(e="0"),"0x"+e}},8081:(t,e,n)=>{function r(t,e,n){const r=e.split("|").map((t=>t.trim()));for(let n=0;n<r.length;n++)switch(e){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof t===e)return}const s=new Error(`invalid value for type ${e}`);throw s.code="INVALID_ARGUMENT",s.argument=`value.${n}`,s.value=t,s}async function s(t){const e=Object.keys(t);return(await Promise.all(e.map((e=>Promise.resolve(t[e]))))).reduce(((t,n,r)=>(t[e[r]]=n,t)),{})}function i(t,e,n){for(let s in e){let i=e[s];const o=n?n[s]:null;o&&r(i,o,s),Object.defineProperty(t,s,{enumerable:!0,value:i,writable:!1})}}n.d(e,{k:()=>s,n:()=>i})},5735:(t,e,n)=>{n.d(e,{R:()=>a});var r=n(6212);function s(t){const e=[];for(;t;)e.unshift(255&t),t>>=8;return e}function i(t){if(Array.isArray(t)){let e=[];if(t.forEach((function(t){e=e.concat(i(t))})),e.length<=55)return e.unshift(192+e.length),e;const n=s(e.length);return n.unshift(247+n.length),n.concat(e)}const e=Array.prototype.slice.call((0,r.q5)(t,"object"));if(1===e.length&&e[0]<=127)return e;if(e.length<=55)return e.unshift(128+e.length),e;const n=s(e.length);return n.unshift(183+n.length),n.concat(e)}const o="0123456789abcdef";function a(t){let e="0x";for(const n of i(t))e+=o[n>>4],e+=o[15&n];return e}},7303:(t,e,n)=>{n.d(e,{YW:()=>c,_v:()=>u});var r=n(6212),s=n(7339);function i(t,e,n,r,s){if("BAD_PREFIX"===t||"UNEXPECTED_CONTINUE"===t){let t=0;for(let r=e+1;r<n.length&&n[r]>>6==2;r++)t++;return t}return"OVERRUN"===t?n.length-e-1:0}const o=Object.freeze({error:function(t,e,n,r,i){(0,s.MR)(!1,`invalid codepoint at offset ${e}; ${t}`,"bytes",n)},ignore:i,replace:function(t,e,n,r,o){return"OVERLONG"===t?((0,s.MR)("number"==typeof o,"invalid bad code point for replacement","badCodepoint",o),r.push(o),0):(r.push(65533),i(t,e,n))}});function a(t,e){null==e&&(e=o.error);const n=(0,r.q5)(t,"bytes"),s=[];let i=0;for(;i<n.length;){const t=n[i++];if(!(t>>7)){s.push(t);continue}let r=null,o=null;if(192==(224&t))r=1,o=127;else if(224==(240&t))r=2,o=2047;else{if(240!=(248&t)){i+=e(128==(192&t)?"UNEXPECTED_CONTINUE":"BAD_PREFIX",i-1,n,s);continue}r=3,o=65535}if(i-1+r>=n.length){i+=e("OVERRUN",i-1,n,s);continue}let a=t&(1<<8-r-1)-1;for(let t=0;t<r;t++){let t=n[i];if(128!=(192&t)){i+=e("MISSING_CONTINUE",i,n,s),a=null;break}a=a<<6|63&t,i++}null!==a&&(a>1114111?i+=e("OUT_OF_RANGE",i-1-r,n,s,a):a>=55296&&a<=57343?i+=e("UTF16_SURROGATE",i-1-r,n,s,a):a<=o?i+=e("OVERLONG",i-1-r,n,s,a):s.push(a))}return s}function c(t,e){(0,s.MR)("string"==typeof t,"invalid string value","str",t),null!=e&&((0,s.SP)(e),t=t.normalize(e));let n=[];for(let e=0;e<t.length;e++){const r=t.charCodeAt(e);if(r<128)n.push(r);else if(r<2048)n.push(r>>6|192),n.push(63&r|128);else if(55296==(64512&r)){e++;const i=t.charCodeAt(e);(0,s.MR)(e<t.length&&56320==(64512&i),"invalid surrogate pair","str",t);const o=65536+((1023&r)<<10)+(1023&i);n.push(o>>18|240),n.push(o>>12&63|128),n.push(o>>6&63|128),n.push(63&o|128)}else n.push(r>>12|224),n.push(r>>6&63|128),n.push(63&r|128)}return new Uint8Array(n)}function u(t,e){return a(t,e).map((t=>t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10&1023),56320+(1023&t))))).join("")}},6211:(t,e,n)=>{n.d(e,{u:()=>Ge});var r=n(5496),s=n(7339),i=n(1442),o=n(31),a=n(7649),c=n(2314),u=n(5942),l=n(3948),h=n(415),f=n(9453),p=n(8081);class d extends u.Z{address;#pe;constructor(t,e){super(e),(0,s.MR)(t&&"function"==typeof t.sign,"invalid private key","privateKey","[ REDACTED ]"),this.#pe=t;const n=(0,h.K)(this.signingKey.publicKey);(0,p.n)(this,{address:n})}get signingKey(){return this.#pe}get privateKey(){return this.signingKey.privateKey}async getAddress(){return this.address}connect(t){return new d(this.#pe,t)}async signTransaction(t){t=(0,l.VS)(t);const{to:e,from:n}=await(0,p.k)({to:t.to?(0,i.tG)(t.to,this.provider):void 0,from:t.from?(0,i.tG)(t.from,this.provider):void 0});null!=e&&(t.to=e),null!=n&&(t.from=n),null!=t.from&&((0,s.MR)((0,o.b)(t.from)===this.address,"transaction from address mismatch","tx.from",t.from),delete t.from);const r=f.Z.from(t);return r.signature=this.signingKey.sign(r.unsignedHash),r.serialized}async signMessage(t){return this.signMessageSync(t)}signMessageSync(t){return this.signingKey.sign((0,a.A)(t)).serialized}async signTypedData(t,e,n){const r=await c.z.resolveNames(t,e,n,(async t=>{(0,s.vA)(null!=this.provider,"cannot resolve ENS names without a provider","UNSUPPORTED_OPERATION",{operation:"resolveName",info:{name:t}});const e=await this.provider.resolveName(t);return(0,s.vA)(null!=e,"unconfigured ENS name","UNCONFIGURED_NAME",{value:t}),e}));return this.signingKey.sign(c.z.hash(r.domain,e,r.value)).serialized}}var g=n(8650),y=n(8180),m=n(6212);let w=!1;const b=function(t,e,n){return(0,y.Gz)(t,e).update(n).digest()};let A=b;function v(t,e,n){const r=(0,m.q5)(e,"key"),s=(0,m.q5)(n,"data");return(0,m.c$)(A(t,r,s))}v._=b,v.lock=function(){w=!0},v.register=function(t){if(w)throw new Error("computeHmac is locked");A=t},Object.freeze(v);var E=n(7171),k=n(750);const x=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),R=Uint8Array.from({length:16},((t,e)=>e));let S=[R],O=[R.map((t=>(9*t+5)%16))];for(let t=0;t<4;t++)for(let e of[S,O])e.push(e[t].map((t=>x[t])));const N=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map((t=>new Uint8Array(t))),T=S.map(((t,e)=>t.map((t=>N[e][t])))),P=O.map(((t,e)=>t.map((t=>N[e][t])))),I=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),C=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),B=(t,e)=>t<<e|t>>>32-e;function D(t,e,n,r){return 0===t?e^n^r:1===t?e&n|~e&r:2===t?(e|~n)^r:3===t?e&r|n&~r:e^(n|~r)}const M=new Uint32Array(16);class U extends E.D{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:t,h1:e,h2:n,h3:r,h4:s}=this;return[t,e,n,r,s]}set(t,e,n,r,s){this.h0=0|t,this.h1=0|e,this.h2=0|n,this.h3=0|r,this.h4=0|s}process(t,e){for(let n=0;n<16;n++,e+=4)M[n]=t.getUint32(e,!0);let n=0|this.h0,r=n,s=0|this.h1,i=s,o=0|this.h2,a=o,c=0|this.h3,u=c,l=0|this.h4,h=l;for(let t=0;t<5;t++){const e=4-t,f=I[t],p=C[t],d=S[t],g=O[t],y=T[t],m=P[t];for(let e=0;e<16;e++){const r=B(n+D(t,s,o,c)+M[d[e]]+f,y[e])+l|0;n=l,l=c,c=0|B(o,10),o=s,s=r}for(let t=0;t<16;t++){const n=B(r+D(e,i,a,u)+M[g[t]]+p,m[t])+h|0;r=h,h=u,u=0|B(a,10),a=i,i=n}}this.set(this.h1+o+u|0,this.h2+c+h|0,this.h3+l+r|0,this.h4+n+i|0,this.h0+s+a|0)}roundClean(){M.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}}const L=(0,k.ld)((()=>new U));let F=!1;const G=function(t){return L(t)};let j=G;function _(t){const e=(0,m.q5)(t,"data");return(0,m.c$)(j(e))}_._=G,_.lock=function(){F=!0},_.register=function(t){if(F)throw new TypeError("ripemd160 is locked");j=t},Object.freeze(_);var H=n(7761),K=n(4132),V=n(7033),J=n(8264);const Q=" !#$%&'()*+,-./<=>?@[]^_`{|}~",z=/^[a-z]*$/i;function $(t,e){let n=97;return t.reduce(((t,r)=>(r===e?n++:r.match(z)?t.push(String.fromCharCode(n)+r):(n=97,t.push(r)),t)),[])}function W(t){return(0,s.MR)("0"===t[0],"unsupported auwl data","data",t),function(t,e){for(let n=28;n>=0;n--)t=t.split(Q[n]).join(e.substring(2*n,2*n+2));const n=[],r=t.replace(/(:|([0-9])|([A-Z][a-z]*))/g,((t,e,r,s)=>{if(r)for(let t=parseInt(r);t>=0;t--)n.push(";");else n.push(e.toLowerCase());return""}));if(r)throw new Error(`leftovers: ${JSON.stringify(r)}`);return $($(n,";"),":")}(t.substring(59),t.substring(1,59))}class q{locale;constructor(t){(0,p.n)(this,{locale:t})}split(t){return t.toLowerCase().split(/\s+/g)}join(t){return t.join(" ")}}class Z extends q{#n;#de;constructor(t,e,n){super(t),this.#n=e,this.#de=n,this.#ge=null}get _data(){return this.#n}_decodeWords(){return W(this.#n)}#ge;#ye(){if(null==this.#ge){const t=this._decodeWords();if((0,J.id)(t.join("\n")+"\n")!==this.#de)throw new Error(`BIP39 Wordlist for ${this.locale} FAILED`);this.#ge=t}return this.#ge}getWord(t){const e=this.#ye();return(0,s.MR)(t>=0&&t<e.length,`invalid word index: ${t}`,"index",t),e[t]}getWordIndex(t){return this.#ye().indexOf(t)}}let Y=null;class X extends Z{constructor(){super("en","0erleonalorenseinceregesticitStanvetearctssi#ch2Athck&tneLl0And#Il.yLeOutO=S|S%b/ra@SurdU'0Ce[Cid|CountCu'Hie=IdOu,-Qui*Ro[TT]T%T*[Tu$0AptDD-tD*[Ju,M.UltV<)Vi)0Rob-0FairF%dRaid0A(EEntRee0Ead0MRRp%tS!_rmBumCoholErtI&LLeyLowMo,O}PhaReadySoT Ways0A>urAz(gOngOuntU'd0Aly,Ch%Ci|G G!GryIm$K!Noun)Nu$O` Sw T&naTiqueXietyY1ArtOlogyPe?P!Pro=Ril1ChCt-EaEnaGueMMedM%MyOundR<+Re,Ri=RowTTefa@Ti,Tw%k0KPe@SaultSetSi,SumeThma0H!>OmTa{T&dT.udeTra@0Ct]D.Gu,NtTh%ToTumn0Era+OcadoOid0AkeA*AyEsomeFulKw?d0Is:ByChel%C#D+GL<)Lc#y~MbooN<aNn RRelyRga(R*lSeS-SketTt!3A^AnAutyCau'ComeEfF%eG(Ha=H(dLie=LowLtN^Nef./TrayTt Twe&Y#d3Cyc!DKeNdOlogyRdR`Tt _{AdeAmeAnketA,EakE[IndOodO[omOu'UeUrUsh_rdAtDyIlMbNeNusOkO,Rd R(gRrowSsTtomUn)XY_{etA(AndA[A=EadEezeI{Id+IefIghtIngIskOccoliOk&OnzeOomO` OwnUsh2Bb!DdyD+tFf$oIldLbLkL!tNd!Nk Rd&Rg R,SS(e[SyTt Y Zz:Bba+B(B!CtusGeKe~LmM aMpNN$N)lNdyNn#NoeNvasNy#Pab!P.$Pta(RRb#RdRgoRpetRryRtSeShS(o/!Su$TT$ogT^Teg%yTt!UghtU'Ut]Ve3Il(gL yM|NsusNturyRe$Rta(_irAlkAmp]An+AosApt Ar+A'AtEapE{Ee'EfErryE,I{&IefIldIm}yOi)Oo'R#-U{!UnkUrn0G?Nnam#Rc!Tiz&TyVil_imApArifyAwAyE<ErkEv I{I|IffImbIn-IpO{OgO'O`OudOwnUbUmpU, Ut^_^A,C#utDeFfeeIlInL!@L%LumnMb(eMeMf%tM-Mm#Mp<yNc tNdu@NfirmNg*[N}@Nsid NtrolNv()OkOlPp PyR$ReRnR*@/Tt#U^UntryUp!Ur'Us(V Yo>_{Ad!AftAmA}AshAt AwlAzyEamEd.EekEwI{etImeIspIt-OpO[Ou^OwdUci$UelUi'Umb!Un^UshYY,$2BeLtu*PPbo?dRiousRr|Rta(R=Sh]/omTe3C!:DMa+MpN)Ng R(gShUght WnY3AlBa>BrisCadeCemb CideCl(eC%a>C*a'ErF&'F(eFyG*eLayLiv M<dMi'Ni$Nti,NyP?tP&dPos.P`PutyRi=ScribeS tSignSkSpair/royTailTe@VelopVi)Vo>3AgramAlAm#dAryCeE'lEtFf G.$Gn.yLemmaNn NosaurRe@RtSag*eScov Sea'ShSmi[S%d Splay/<)V tVideV%)Zzy5Ct%Cum|G~Lph(Ma(Na>NkeyN%OrSeUb!Ve_ftAg#AmaA,-AwEamE[IftIllInkIpI=OpUmY2CkMbNeR(g/T^Ty1Arf1Nam-:G G!RlyRnR`Sily/Sy1HoOlogyOnomy0GeItUca>1F%t0G1GhtTh 2BowD E@r-Eg<tEm|Eph<tEvat%I>Se0B?kBodyBra)Er+Ot]PloyPow Pty0Ab!A@DD![D%'EmyErgyF%)Ga+G(eH<)JoyLi,OughR-hRollSu*T Ti*TryVelope1Isode0U$Uip0AA'OdeOs]R%Upt0CapeSayS&)Ta>0Ern$H-s1Id&)IlOkeOl=1A@Amp!Ce[Ch<+C.eCludeCu'Ecu>Erci'Hau,Hib.I!I,ItOt-P<dPe@Pi*Pla(Po'P*[T&dTra0EEbrow:Br-CeCultyDeIntI`~L'MeMilyMousNNcyNtasyRmSh]TT$Th TigueUltV%.e3Atu*Bru?yD $EEdElMa!N)/iv$T^V W3B Ct]EldGu*LeLmLt N$NdNeNg NishReRmR,Sc$ShTT}[X_gAmeAshAtAv%EeIghtIpOatO{O%Ow UidUshY_mCusGIlLd~owOdOtR)Re,R+tRkRtu}RumRw?dSsil/ UndX_gi!AmeEqu|EshI&dIn+OgOntO,OwnOz&U.2ElNNnyRna)RyTu*:D+tInLaxy~ yMePRa+Rba+Rd&Rl-Rm|SSpTeTh U+Ze3N $NiusN*Nt!Nu(e/u*2O,0AntFtGg!Ng RaffeRlVe_dAn)A*A[IdeImp'ObeOomOryO=OwUe_tDde[LdOdO'RillaSpelSsipV nWn_bA)A(AntApeA[Av.yEatE&IdIefItOc yOupOwUnt_rdE[IdeIltIt?N3M:B.IrLfMm M, NdPpyRb%RdRshR=,TVeWkZ?d3AdAl`ArtAvyD+hogIght~oLmetLpNRo3Dd&Gh~NtPRe/%y5BbyCkeyLdLeLiday~owMeNeyOdPeRnRr%R'Sp.$/TelUrV 5BGeM<Mb!M%Nd*dNgryNtRd!RryRtSb<d3Brid:1EOn0EaEntifyLe2N%e4LLeg$L}[0A+Ita>M&'Mu}Pa@Po'Pro=Pul'0ChCludeComeC*a'DexD-a>Do%Du,ryF<tFl-tF%mHa!H .Iti$Je@JuryMa>N Noc|PutQuiryS<eSe@SideSpi*/$lTa@T e,ToVe,V.eVol=3On0L<dOla>Sue0Em1Ory:CketGu?RZz3AlousAns~yWel9BInKeUr}yY5D+I)MpNg!Ni%Nk/:Ng?oo3EnEpT^upY3CkDD}yNdNgdomSsTT^&TeTt&Wi4EeIfeO{Ow:BBelB%Dd DyKeMpNgua+PtopR+T T(UghUndryVaWWnWsu.Y Zy3Ad AfArnA=Ctu*FtGG$G&dIsu*M#NdNg`NsOp?dSs#Tt Vel3ArB tyBr?yC&'FeFtGhtKeMbM.NkOnQuid/Tt!VeZ?d5AdAnB, C$CkG-NelyNgOpTt yUdUn+VeY$5CkyGga+Mb N?N^Xury3R-s:Ch(eDG-G}tIdIlInJ%KeMm$NNa+Nda>NgoNs]Nu$P!Rb!R^Rg(R(eRketRria+SkSs/ T^T i$ThTrixTt XimumZe3AdowAnAsu*AtCh<-D$DiaLodyLtMb M%yNt]NuRcyR+R.RryShSsa+T$Thod3Dd!DnightLk~]M-NdNimumN%Nu>Rac!Rr%S ySs/akeXXedXtu*5Bi!DelDifyMM|N.%NkeyN, N`OnR$ReRn(gSqu.oTh T]T%Unta(U'VeVie5ChFf(LeLtiplySc!SeumShroomS-/Tu$3Self/ yTh:I=MePk(Rrow/yT]Tu*3ArCkEdGati=G!@I` PhewR=/TTw%kUtr$V WsXt3CeGht5B!I'M(eeOd!Rm$R`SeTab!TeTh(gTi)VelW5C!?Mb R'T:K0EyJe@Li+Scu*S =Ta(Vious0CurE<Tob 0Or1FF Fi)T&2L1Ay0DI=Ymp-0It0CeEI#L(eLy1EnEraIn]Po'T]1An+B.Ch?dD D(?yG<I|Ig($Ph<0Tr-h0H 0Tdo%T TputTside0AlEnEr0NN 0Yg&0/ 0O}:CtDd!GeIrLa)LmNdaNelN-N` P RadeR|RkRrotRtySsT^ThTi|TrolTt nU'VeYm|3A)AnutArAs<tL-<NN$tyNcilOp!Pp Rfe@Rm.Rs#T2O}OtoRa'Ys-$0AnoCn-Ctu*E)GGe#~LotNkO} Pe/olT^Zza_)A}tA,-A>AyEa'Ed+U{UgUn+2EmEtIntL?LeLi)NdNyOlPul?Rt]S.]Ssib!/TatoTt yV tyWd W _@i)Ai'Ed-tEf Epa*Es|EttyEv|I)IdeIm?yIntI%.yIs#Iva>IzeOb!mO)[Odu)Of.OgramOje@Omo>OofOp tyOsp O>@OudOvide2Bl-Dd(g~LpL'Mpk(N^PilPpyR^a'R.yRpo'R'ShTZz!3Ramid:99Al.yAntumArt E,]I{ItIzO>:Bb.Cco#CeCkD?DioIlInI'~yMpN^NdomN+PidReTeTh V&WZ%3AdyAlAs#BelBuildC$lCei=CipeC%dCyc!Du)F!@F%mFu'G]G*tGul?Je@LaxLea'LiefLyMa(Memb M(dMo=Nd NewNtOp&PairPeatPla)P%tQui*ScueSemb!Si,Sour)Sp#'SultTi*T*atTurnUn]Ve$ViewW?d2Y`m0BBb#CeChDeD+F!GhtGidNgOtPp!SkTu$V$V 5AdA,BotBu,CketM<)OfOkieOmSeTa>UghUndU>Y$5Bb DeGLeNNwayR$:DDd!D}[FeIlLadLm#L#LtLu>MeMp!NdTisfyToshiU)Usa+VeY1A!AnA*Att E}HemeHoolI&)I[%sOrp]OutRapRe&RiptRub1AAr^As#AtC#dC*tCt]Cur.yEdEkGm|Le@~M(?Ni%N'Nt&)RiesRvi)Ss]Tt!TupV&_dowAftAllowA*EdEllEriffIeldIftI}IpIv O{OeOotOpOrtOuld O=RimpRugUff!Y0Bl(gCkDeE+GhtGnL|Lk~yLv Mil?Mp!N)NgR&/ Tua>XZe1A>Et^IIllInIrtUll0AbAmEepEnd I)IdeIghtImOg<OtOwUsh0AllArtI!OkeOo`0A{AkeApIffOw0ApCc Ci$CkDaFtL?Ldi LidLut]L=Me#eNgOnRryRtUlUndUpUr)U`0A)A*Ati$AwnEakEci$EedEllEndH eI)Id IkeInIr.L.OilOns%O#OrtOtRayReadR(gY0Ua*UeezeUir*l_b!AdiumAffA+AirsAmpAndArtA>AyEakEelEmEpE*oI{IllIngO{Oma^O}OolOryO=Ra>gyReetRikeR#gRugg!Ud|UffUmb!Y!0Bje@Bm.BwayC)[ChDd&Ff G?G+,ItMm NNnyN'tP PplyP*meReRfa)R+Rpri'RroundR=ySpe@/a(1AllowAmpApArmE?EetIftImIngIt^Ord1MbolMptomRup/em:B!Ck!GIlL|LkNkPeR+tSk/eTtooXi3A^Am~NN<tNnisNtRm/Xt_nkAtEmeEnE%yE*EyIngIsOughtReeRi=RowUmbUnd 0CketDeG LtMb MeNyPRedSsueT!5A,BaccoDayDdl EGe` I!tK&MatoM%rowNeNgueNightOlO`PP-Pp!R^RnadoRtoi'SsT$Uri,W?dW WnY_{AdeAff-Ag-A(Ansf ApAshA=lAyEatEeEndI$IbeI{Igg ImIpOphyOub!U{UeUlyUmpetU,U`Y2BeIt]Mb!NaN}lRkeyRnRt!1El=EntyI)InI,O1PeP-$:5Ly5B*lla0Ab!Awa*C!Cov D DoFairFoldHappyIf%mIqueItIv 'KnownLo{TilUsu$Veil1Da>GradeHoldOnP Set1B<Ge0A+EEdEfulE![U$0Il.y:C<tCuumGueLidL!yL=NNishP%Rious/Ult3H-!L=tNd%Ntu*NueRbRifyRs]RyS'lT <3Ab!Br<tCiousCt%yDeoEw~a+Nta+Ol(Rtu$RusSaS.Su$T$Vid5C$I)IdLc<oLumeTeYa+:GeG#ItLk~LnutNtRfa*RmRri%ShSp/eT VeY3Al`Ap#ArA'lA` BDd(gEk&dIrdLcome/T_!AtEatEelEnE*IpIsp 0DeD`FeLd~NNdowNeNgNkNn Nt ReSdomSeShT}[5LfM<Nd OdOlRdRkRldRryR`_pE{E,!I,I>Ong::Rd3Ar~ow9UUngU`:3BraRo9NeO","0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60")}static wordlist(){return null==Y&&(Y=new X),Y}}let tt=!1;const et=function(t,e,n,r,s){return(0,y.T_)(t,e,n,r,s)};let nt=et;function rt(t,e,n,r,s){const i=(0,m.q5)(t,"password"),o=(0,m.q5)(e,"salt");return(0,m.c$)(nt(i,o,n,r,s))}rt._=et,rt.lock=function(){tt=!0},rt.register=function(t){if(tt)throw new Error("pbkdf2 is locked");nt=t},Object.freeze(rt);var st=n(7303);function it(t){return(1<<t)-1<<8-t&255}function ot(t,e){(0,s.SP)("NFKD"),null==e&&(e=X.wordlist());const n=e.split(t);(0,s.MR)(n.length%3==0&&n.length>=12&&n.length<=24,"invalid mnemonic length","mnemonic","[ REDACTED ]");const r=new Uint8Array(Math.ceil(11*n.length/8));let i=0;for(let t=0;t<n.length;t++){let o=e.getWordIndex(n[t].normalize("NFKD"));(0,s.MR)(o>=0,`invalid mnemonic word at index ${t}`,"mnemonic","[ REDACTED ]");for(let t=0;t<11;t++)o&1<<10-t&&(r[i>>3]|=1<<7-i%8),i++}const o=32*n.length/3,a=it(n.length/3),c=(0,m.q5)((0,g.s)(r.slice(0,o/8)))[0]&a;return(0,s.MR)(c===(r[r.length-1]&a),"invalid mnemonic checksum","mnemonic","[ REDACTED ]"),(0,m.c$)(r.slice(0,o/8))}function at(t,e){(0,s.MR)(t.length%4==0&&t.length>=16&&t.length<=32,"invalid entropy size","entropy","[ REDACTED ]"),null==e&&(e=X.wordlist());const n=[0];let r=11;for(let e=0;e<t.length;e++)r>8?(n[n.length-1]<<=8,n[n.length-1]|=t[e],r-=8):(n[n.length-1]<<=r,n[n.length-1]|=t[e]>>8-r,n.push(t[e]&((1<<8-r)-1&255)),r+=3);const i=t.length/4,o=parseInt((0,g.s)(t).substring(2,4),16)&it(i);return n[n.length-1]<<=i,n[n.length-1]|=o>>8-i,e.join(n.map((t=>e.getWord(t))))}const ct={};class ut{phrase;password;wordlist;entropy;constructor(t,e,n,r,i){null==r&&(r=""),null==i&&(i=X.wordlist()),(0,s.gk)(t,ct,"Mnemonic"),(0,p.n)(this,{phrase:n,password:r,wordlist:i,entropy:e})}computeSeed(){const t=(0,st.YW)("mnemonic"+this.password,"NFKD");return rt((0,st.YW)(this.phrase,"NFKD"),t,2048,64,"sha512")}static fromPhrase(t,e,n){const r=ot(t,n);return t=at((0,m.q5)(r),n),new ut(ct,r,t,e,n)}static fromEntropy(t,e,n){const r=(0,m.q5)(t,"entropy"),s=at(r,n);return new ut(ct,(0,m.c$)(r),s,e,n)}static entropyToPhrase(t,e){return at((0,m.q5)(t,"entropy"),e)}static phraseToEntropy(t,e){return ot(t,e)}static isValidMnemonic(t,e){try{return ot(t,e),!0}catch(t){}return!1}}var lt,ht,ft,pt=function(t,e,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(t):r?r.value:e.get(t)},dt=function(t,e,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(t,n):s?s.value=n:e.set(t,n),n};const gt={16:10,24:12,32:14},yt=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],mt=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],wt=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],bt=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],At=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],vt=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],Et=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],kt=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],xt=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],Rt=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],St=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],Ot=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],Nt=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],Tt=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],Pt=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function It(t){const e=[];for(let n=0;n<t.length;n+=4)e.push(t[n]<<24|t[n+1]<<16|t[n+2]<<8|t[n+3]);return e}class Ct{get key(){return pt(this,lt,"f").slice()}constructor(t){if(lt.set(this,void 0),ht.set(this,void 0),ft.set(this,void 0),!(this instanceof Ct))throw Error("AES must be instanitated with `new`");dt(this,lt,new Uint8Array(t),"f");const e=gt[this.key.length];if(null==e)throw new TypeError("invalid key size (must be 16, 24 or 32 bytes)");dt(this,ft,[],"f"),dt(this,ht,[],"f");for(let t=0;t<=e;t++)pt(this,ft,"f").push([0,0,0,0]),pt(this,ht,"f").push([0,0,0,0]);const n=4*(e+1),r=this.key.length/4,s=It(this.key);let i;for(let t=0;t<r;t++)i=t>>2,pt(this,ft,"f")[i][t%4]=s[t],pt(this,ht,"f")[e-i][t%4]=s[t];let o,a=0,c=r;for(;c<n;){if(o=s[r-1],s[0]^=mt[o>>16&255]<<24^mt[o>>8&255]<<16^mt[255&o]<<8^mt[o>>24&255]^yt[a]<<24,a+=1,8!=r)for(let t=1;t<r;t++)s[t]^=s[t-1];else{for(let t=1;t<r/2;t++)s[t]^=s[t-1];o=s[r/2-1],s[r/2]^=mt[255&o]^mt[o>>8&255]<<8^mt[o>>16&255]<<16^mt[o>>24&255]<<24;for(let t=r/2+1;t<r;t++)s[t]^=s[t-1]}let t,i,u=0;for(;u<r&&c<n;)t=c>>2,i=c%4,pt(this,ft,"f")[t][i]=s[u],pt(this,ht,"f")[e-t][i]=s[u++],c++}for(let t=1;t<e;t++)for(let e=0;e<4;e++)o=pt(this,ht,"f")[t][e],pt(this,ht,"f")[t][e]=Ot[o>>24&255]^Nt[o>>16&255]^Tt[o>>8&255]^Pt[255&o]}encrypt(t){if(16!=t.length)throw new TypeError("invalid plaintext size (must be 16 bytes)");const e=pt(this,ft,"f").length-1,n=[0,0,0,0];let r=It(t);for(let t=0;t<4;t++)r[t]^=pt(this,ft,"f")[0][t];for(let t=1;t<e;t++){for(let e=0;e<4;e++)n[e]=bt[r[e]>>24&255]^At[r[(e+1)%4]>>16&255]^vt[r[(e+2)%4]>>8&255]^Et[255&r[(e+3)%4]]^pt(this,ft,"f")[t][e];r=n.slice()}const s=new Uint8Array(16);let i=0;for(let t=0;t<4;t++)i=pt(this,ft,"f")[e][t],s[4*t]=255&(mt[r[t]>>24&255]^i>>24),s[4*t+1]=255&(mt[r[(t+1)%4]>>16&255]^i>>16),s[4*t+2]=255&(mt[r[(t+2)%4]>>8&255]^i>>8),s[4*t+3]=255&(mt[255&r[(t+3)%4]]^i);return s}decrypt(t){if(16!=t.length)throw new TypeError("invalid ciphertext size (must be 16 bytes)");const e=pt(this,ht,"f").length-1,n=[0,0,0,0];let r=It(t);for(let t=0;t<4;t++)r[t]^=pt(this,ht,"f")[0][t];for(let t=1;t<e;t++){for(let e=0;e<4;e++)n[e]=kt[r[e]>>24&255]^xt[r[(e+3)%4]>>16&255]^Rt[r[(e+2)%4]>>8&255]^St[255&r[(e+1)%4]]^pt(this,ht,"f")[t][e];r=n.slice()}const s=new Uint8Array(16);let i=0;for(let t=0;t<4;t++)i=pt(this,ht,"f")[e][t],s[4*t]=255&(wt[r[t]>>24&255]^i>>24),s[4*t+1]=255&(wt[r[(t+3)%4]>>16&255]^i>>16),s[4*t+2]=255&(wt[r[(t+2)%4]>>8&255]^i>>8),s[4*t+3]=255&(wt[255&r[(t+1)%4]]^i);return s}}lt=new WeakMap,ht=new WeakMap,ft=new WeakMap;class Bt{constructor(t,e,n){if(n&&!(this instanceof n))throw new Error(`${t} must be instantiated with "new"`);Object.defineProperties(this,{aes:{enumerable:!0,value:new Ct(e)},name:{enumerable:!0,value:t}})}}var Dt,Mt,Ut=function(t,e,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(t,n):s?s.value=n:e.set(t,n),n},Lt=function(t,e,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(t):r?r.value:e.get(t)};class Ft extends Bt{constructor(t,e){if(super("ECC",t,Ft),Dt.set(this,void 0),Mt.set(this,void 0),e){if(e.length%16)throw new TypeError("invalid iv size (must be 16 bytes)");Ut(this,Dt,new Uint8Array(e),"f")}else Ut(this,Dt,new Uint8Array(16),"f");Ut(this,Mt,this.iv,"f")}get iv(){return new Uint8Array(Lt(this,Dt,"f"))}encrypt(t){if(t.length%16)throw new TypeError("invalid plaintext size (must be multiple of 16 bytes)");const e=new Uint8Array(t.length);for(let n=0;n<t.length;n+=16){for(let e=0;e<16;e++)Lt(this,Mt,"f")[e]^=t[n+e];Ut(this,Mt,this.aes.encrypt(Lt(this,Mt,"f")),"f"),e.set(Lt(this,Mt,"f"),n)}return e}decrypt(t){if(t.length%16)throw new TypeError("invalid ciphertext size (must be multiple of 16 bytes)");const e=new Uint8Array(t.length);for(let n=0;n<t.length;n+=16){const r=this.aes.decrypt(t.subarray(n,n+16));for(let s=0;s<16;s++)e[n+s]=r[s]^Lt(this,Mt,"f")[s],Lt(this,Mt,"f")[s]=t[n+s]}return e}}Dt=new WeakMap,Mt=new WeakMap;var Gt,jt=function(t,e,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(t):r?r.value:e.get(t)};new WeakMap,Gt=new WeakMap,new WeakSet;var _t,Ht,Kt,Vt=function(t,e,n,r,s){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!s)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(t,n):s?s.value=n:e.set(t,n),n},Jt=function(t,e,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(t):r?r.value:e.get(t)};class Qt extends Bt{constructor(t,e){super("CTR",t,Qt),_t.set(this,void 0),Ht.set(this,void 0),Kt.set(this,void 0),Vt(this,Kt,new Uint8Array(16),"f"),Jt(this,Kt,"f").fill(0),Vt(this,_t,Jt(this,Kt,"f"),"f"),Vt(this,Ht,16,"f"),null==e&&(e=1),"number"==typeof e?this.setCounterValue(e):this.setCounterBytes(e)}get counter(){return new Uint8Array(Jt(this,Kt,"f"))}setCounterValue(t){if(!Number.isInteger(t)||t<0||t>Number.MAX_SAFE_INTEGER)throw new TypeError("invalid counter initial integer value");for(let e=15;e>=0;--e)Jt(this,Kt,"f")[e]=t%256,t=Math.floor(t/256)}setCounterBytes(t){if(16!==t.length)throw new TypeError("invalid counter initial Uint8Array value length");Jt(this,Kt,"f").set(t)}increment(){for(let t=15;t>=0;t--){if(255!==Jt(this,Kt,"f")[t]){Jt(this,Kt,"f")[t]++;break}Jt(this,Kt,"f")[t]=0}}encrypt(t){var e,n;const r=new Uint8Array(t);for(let t=0;t<r.length;t++)16===Jt(this,Ht,"f")&&(Vt(this,_t,this.aes.encrypt(Jt(this,Kt,"f")),"f"),Vt(this,Ht,0,"f"),this.increment()),r[t]^=Jt(this,_t,"f")[(Vt(this,Ht,(n=Jt(this,Ht,"f"),e=n++,n),"f"),e)];return r}decrypt(t){return this.encrypt(t)}}_t=new WeakMap,Ht=new WeakMap,Kt=new WeakMap;new WeakMap,new WeakMap,new WeakMap;var zt=n(5539),$t=n(7125),Wt=n(3439),qt=n(4877);const Zt=(t,e)=>t<<e|t>>>32-e;function Yt(t,e,n,r,s,i){let o=t[e++]^n[r++],a=t[e++]^n[r++],c=t[e++]^n[r++],u=t[e++]^n[r++],l=t[e++]^n[r++],h=t[e++]^n[r++],f=t[e++]^n[r++],p=t[e++]^n[r++],d=t[e++]^n[r++],g=t[e++]^n[r++],y=t[e++]^n[r++],m=t[e++]^n[r++],w=t[e++]^n[r++],b=t[e++]^n[r++],A=t[e++]^n[r++],v=t[e++]^n[r++],E=o,k=a,x=c,R=u,S=l,O=h,N=f,T=p,P=d,I=g,C=y,B=m,D=w,M=b,U=A,L=v;for(let t=0;t<8;t+=2)S^=Zt(E+D|0,7),P^=Zt(S+E|0,9),D^=Zt(P+S|0,13),E^=Zt(D+P|0,18),I^=Zt(O+k|0,7),M^=Zt(I+O|0,9),k^=Zt(M+I|0,13),O^=Zt(k+M|0,18),U^=Zt(C+N|0,7),x^=Zt(U+C|0,9),N^=Zt(x+U|0,13),C^=Zt(N+x|0,18),R^=Zt(L+B|0,7),T^=Zt(R+L|0,9),B^=Zt(T+R|0,13),L^=Zt(B+T|0,18),k^=Zt(E+R|0,7),x^=Zt(k+E|0,9),R^=Zt(x+k|0,13),E^=Zt(R+x|0,18),N^=Zt(O+S|0,7),T^=Zt(N+O|0,9),S^=Zt(T+N|0,13),O^=Zt(S+T|0,18),B^=Zt(C+I|0,7),P^=Zt(B+C|0,9),I^=Zt(P+B|0,13),C^=Zt(I+P|0,18),D^=Zt(L+U|0,7),M^=Zt(D+L|0,9),U^=Zt(M+D|0,13),L^=Zt(U+M|0,18);s[i++]=o+E|0,s[i++]=a+k|0,s[i++]=c+x|0,s[i++]=u+R|0,s[i++]=l+S|0,s[i++]=h+O|0,s[i++]=f+N|0,s[i++]=p+T|0,s[i++]=d+P|0,s[i++]=g+I|0,s[i++]=y+C|0,s[i++]=m+B|0,s[i++]=w+D|0,s[i++]=b+M|0,s[i++]=A+U|0,s[i++]=v+L|0}function Xt(t,e,n,r,s){let i=r+0,o=r+16*s;for(let r=0;r<16;r++)n[o+r]=t[e+16*(2*s-1)+r];for(let r=0;r<s;r++,i+=16,e+=16)Yt(n,o,t,e,n,i),r>0&&(o+=16),Yt(n,i,t,e+=16,n,o)}function te(t,e,n){const r=(0,k.tY)({dkLen:32,asyncTick:10,maxmem:1073742848},n),{N:s,r:i,p:o,dkLen:a,asyncTick:c,maxmem:u,onProgress:l}=r;if((0,$t.ai)(s),(0,$t.ai)(i),(0,$t.ai)(o),(0,$t.ai)(a),(0,$t.ai)(c),(0,$t.ai)(u),void 0!==l&&"function"!=typeof l)throw new Error("progressCb should be function");const h=128*i,f=h/4;if(s<=1||s&s-1||s>=2**(h/8)||s>2**32)throw new Error("Scrypt: N must be larger than 1, a power of 2, less than 2^(128 * r / 8) and less than 2^32");if(o<0||o>137438953440/h)throw new Error("Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)");if(a<0||a>137438953440)throw new Error("Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32");const p=h*(s+o);if(p>u)throw new Error(`Scrypt: parameters too large, ${p} (128 * r * (N + p)) > ${u} (maxmem)`);const d=(0,qt.A)(Wt.s,t,e,{c:1,dkLen:h*o}),g=(0,k.DH)(d),y=(0,k.DH)(new Uint8Array(h*s)),m=(0,k.DH)(new Uint8Array(h));let w=()=>{};if(l){const t=2*s*o,e=Math.max(Math.floor(t/1e4),1);let n=0;w=()=>{n++,!l||n%e&&n!==t||l(n/t)}}return{N:s,r:i,p:o,dkLen:a,blockSize32:f,V:y,B32:g,B:d,tmp:m,blockMixCb:w,asyncTick:c}}function ee(t,e,n,r,s){const i=(0,qt.A)(Wt.s,t,n,{c:1,dkLen:e});return n.fill(0),r.fill(0),s.fill(0),i}let ne=!1,re=!1;const se=async function(t,e,n,r,s,i,o){return await async function(t,e,n){const{N:r,r:s,p:i,dkLen:o,blockSize32:a,V:c,B32:u,B:l,tmp:h,blockMixCb:f,asyncTick:p}=te(t,e,n);for(let t=0;t<i;t++){const e=a*t;for(let t=0;t<a;t++)c[t]=u[e+t];let n=0;await(0,k.$h)(r-1,p,(()=>{Xt(c,n,c,n+=a,s),f()})),Xt(c,(r-1)*a,u,e,s),f(),await(0,k.$h)(r,p,(()=>{const t=u[e+a-16]%r;for(let n=0;n<a;n++)h[n]=u[e+n]^c[t*a+n];Xt(h,0,u,e,s),f()}))}return ee(t,o,l,c,h)}(t,e,{N:n,r,p:s,dkLen:i,onProgress:o})},ie=function(t,e,n,r,s,i){return function(t,e,n){const{N:r,r:s,p:i,dkLen:o,blockSize32:a,V:c,B32:u,B:l,tmp:h,blockMixCb:f}=te(t,e,n);for(let t=0;t<i;t++){const e=a*t;for(let t=0;t<a;t++)c[t]=u[e+t];for(let t=0,e=0;t<r-1;t++)Xt(c,e,c,e+=a,s),f();Xt(c,(r-1)*a,u,e,s),f();for(let t=0;t<r;t++){const t=u[e+a-16]%r;for(let n=0;n<a;n++)h[n]=u[e+n]^c[t*a+n];Xt(h,0,u,e,s),f()}}return ee(t,o,l,c,h)}(t,e,{N:n,r,p:s,dkLen:i})};let oe=se,ae=ie;async function ce(t,e,n,r,s,i,o){const a=(0,m.q5)(t,"passwd"),c=(0,m.q5)(e,"salt");return(0,m.c$)(await oe(a,c,n,r,s,i,o))}function ue(t,e,n,r,s,i){const o=(0,m.q5)(t,"passwd"),a=(0,m.q5)(e,"salt");return(0,m.c$)(ae(o,a,n,r,s,i))}function le(t){const e=(0,m.q5)(t,"randomBytes");e[6]=15&e[6]|64,e[8]=63&e[8]|128;const n=(0,m.c$)(e);return[n.substring(2,10),n.substring(10,14),n.substring(14,18),n.substring(18,22),n.substring(22,34)].join("-")}function he(t){return"string"!=typeof t||t.startsWith("0x")||(t="0x"+t),(0,m.Lm)(t)}function fe(t,e){for(t=String(t);t.length<e;)t="0"+t;return t}function pe(t){return"string"==typeof t?(0,st.YW)(t,"NFKC"):(0,m.Lm)(t)}function de(t,e){const n=e.match(/^([a-z0-9$_.-]*)(:([a-z]+))?(!)?$/i);(0,s.MR)(null!=n,"invalid path","path",e);const r=n[1],i=n[3],o="!"===n[4];let a=t;for(const t of r.toLowerCase().split(".")){if(Array.isArray(a)){if(!t.match(/^[0-9]+$/))break;a=a[parseInt(t)]}else if("object"==typeof a){let e=null;for(const n in a)if(n.toLowerCase()===t){e=a[n];break}a=e}else a=null;if(null==a)break}if((0,s.MR)(!o||null!=a,"missing required value","path",r),i&&null!=a){if("int"===i){if("string"==typeof a&&a.match(/^-?[0-9]+$/))return parseInt(a);if(Number.isSafeInteger(a))return a}if("number"===i&&"string"==typeof a&&a.match(/^-?[0-9.]*$/))return parseFloat(a);if("data"===i&&"string"==typeof a)return he(a);if("array"===i&&Array.isArray(a))return a;if(i===typeof a)return a;(0,s.MR)(!1,`wrong type found for ${i} `,"path",r)}return a}ce._=se,ce.lock=function(){re=!0},ce.register=function(t){if(re)throw new Error("scrypt is locked");oe=t},Object.freeze(ce),ue._=ie,ue.lock=function(){ne=!0},ue.register=function(t){if(ne)throw new Error("scryptSync is locked");ae=t},Object.freeze(ue);var ge=n(9529);const ye="m/44'/60'/0'/0/0";function me(t){try{const e=JSON.parse(t);if(3===(null!=e.version?parseInt(e.version):0))return!0}catch(t){}return!1}function we(t,e){const n=(0,m.q5)(e),r=de(t,"crypto.ciphertext:data!"),i=(0,m.c$)((0,zt.S)((0,m.xW)([n.slice(16,32),r]))).substring(2);(0,s.MR)(i===de(t,"crypto.mac:string!").toLowerCase(),"incorrect password","password","[ REDACTED ]");const a=function(t,e,n){if("aes-128-ctr"===de(t,"crypto.cipher:string")){const r=de(t,"crypto.cipherparams.iv:data!"),s=new Qt(e,r);return(0,m.c$)(s.decrypt(n))}(0,s.vA)(!1,"unsupported cipher","UNSUPPORTED_OPERATION",{operation:"decrypt"})}(t,n.slice(0,16),r),c=(0,h.K)(a);if(t.address){let e=t.address.toLowerCase();e.startsWith("0x")||(e="0x"+e),(0,s.MR)((0,o.b)(e)===c,"keystore address/privateKey mismatch","address",t.address)}const u={address:c,privateKey:a};if("0.1"===de(t,"x-ethers.version:string")){const e=n.slice(32,64),r=de(t,"x-ethers.mnemonicCiphertext:data!"),s=de(t,"x-ethers.mnemonicCounter:data!"),i=new Qt(e,s);u.mnemonic={path:de(t,"x-ethers.path:string")||ye,locale:de(t,"x-ethers.locale:string")||"en",entropy:(0,m.c$)((0,m.q5)(i.decrypt(r)))}}return u}function be(t){const e=de(t,"crypto.kdf:string");if(e&&"string"==typeof e){if("scrypt"===e.toLowerCase()){const n=de(t,"crypto.kdfparams.salt:data!"),r=de(t,"crypto.kdfparams.n:int!"),i=de(t,"crypto.kdfparams.r:int!"),o=de(t,"crypto.kdfparams.p:int!");(0,s.MR)(r>0&&!(r&r-1),"invalid kdf.N","kdf.N",r),(0,s.MR)(i>0&&o>0,"invalid kdf","kdf",e);const a=de(t,"crypto.kdfparams.dklen:int!");return(0,s.MR)(32===a,"invalid kdf.dklen","kdf.dflen",a),{name:"scrypt",salt:n,N:r,r:i,p:o,dkLen:64}}if("pbkdf2"===e.toLowerCase()){const e=de(t,"crypto.kdfparams.salt:data!"),n=de(t,"crypto.kdfparams.prf:string!"),r=n.split("-").pop();(0,s.MR)("sha256"===r||"sha512"===r,"invalid kdf.pdf","kdf.pdf",n);const i=de(t,"crypto.kdfparams.c:int!"),o=de(t,"crypto.kdfparams.dklen:int!");return(0,s.MR)(32===o,"invalid kdf.dklen","kdf.dklen",o),{name:"pbkdf2",salt:e,count:i,dkLen:o,algorithm:r}}}(0,s.MR)(!1,"unsupported key-derivation function","kdf",e)}function Ae(t){return new Promise((e=>{setTimeout((()=>{e()}),t)}))}function ve(t){const e=null!=t.salt?(0,m.q5)(t.salt,"options.salt"):(0,H.p)(32);let n=1<<17,r=8,i=1;return t.scrypt&&(t.scrypt.N&&(n=t.scrypt.N),t.scrypt.r&&(r=t.scrypt.r),t.scrypt.p&&(i=t.scrypt.p)),(0,s.MR)("number"==typeof n&&n>0&&Number.isSafeInteger(n)&&(BigInt(n)&BigInt(n-1))===BigInt(0),"invalid scrypt N parameter","options.N",n),(0,s.MR)("number"==typeof r&&r>0&&Number.isSafeInteger(r),"invalid scrypt r parameter","options.r",r),(0,s.MR)("number"==typeof i&&i>0&&Number.isSafeInteger(i),"invalid scrypt p parameter","options.p",i),{name:"scrypt",dkLen:32,salt:e,N:n,r,p:i}}function Ee(t,e,n,r){const i=(0,m.q5)(n.privateKey,"privateKey"),o=null!=r.iv?(0,m.q5)(r.iv,"options.iv"):(0,H.p)(16);(0,s.MR)(16===o.length,"invalid options.iv length","options.iv",r.iv);const a=null!=r.uuid?(0,m.q5)(r.uuid,"options.uuid"):(0,H.p)(16);(0,s.MR)(16===a.length,"invalid options.uuid length","options.uuid",r.iv);const c=t.slice(0,16),u=t.slice(16,32),l=new Qt(c,o),h=(0,m.q5)(l.encrypt(i)),f=(0,zt.S)((0,m.xW)([u,h])),p={address:n.address.substring(2).toLowerCase(),id:le(a),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:(0,m.c$)(o).substring(2)},ciphertext:(0,m.c$)(h).substring(2),kdf:"scrypt",kdfparams:{salt:(0,m.c$)(e.salt).substring(2),n:e.N,dklen:32,p:e.p,r:e.r},mac:f.substring(2)}};if(n.mnemonic){const e=null!=r.client?r.client:`ethers/${ge.r}`,s=n.mnemonic.path||ye,i=n.mnemonic.locale||"en",o=t.slice(32,64),a=(0,m.q5)(n.mnemonic.entropy,"account.mnemonic.entropy"),c=(0,H.p)(16),u=new Qt(o,c),l=(0,m.q5)(u.encrypt(a)),h=new Date,f="UTC--"+(h.getUTCFullYear()+"-"+fe(h.getUTCMonth()+1,2)+"-"+fe(h.getUTCDate(),2)+"T"+fe(h.getUTCHours(),2)+"-"+fe(h.getUTCMinutes(),2)+"-"+fe(h.getUTCSeconds(),2)+".0Z")+"--"+p.address;p["x-ethers"]={client:e,gethFilename:f,path:s,locale:i,mnemonicCounter:(0,m.c$)(c).substring(2),mnemonicCiphertext:(0,m.c$)(l).substring(2),version:"0.1"}}return JSON.stringify(p)}function ke(t,e,n){null==n&&(n={});const r=pe(e),s=ve(n),i=ue(r,s.salt,s.N,s.r,s.p,64);return Ee((0,m.q5)(i),s,t,n)}async function xe(t,e,n){null==n&&(n={});const r=pe(e),s=ve(n),i=await ce(r,s.salt,s.N,s.r,s.p,64,n.progressCallback);return Ee((0,m.q5)(i),s,t,n)}const Re="m/44'/60'/0'/0/0",Se=new Uint8Array([66,105,116,99,111,105,110,32,115,101,101,100]),Oe=2147483648,Ne=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141");function Te(t,e){let n="";for(;t;)n="0123456789abcdef"[t%16]+n,t=Math.trunc(t/16);for(;n.length<2*e;)n="0"+n;return"0x"+n}function Pe(t){const e=(0,m.q5)(t),n=(0,m.ZG)((0,g.s)((0,g.s)(e)),0,4),r=(0,m.xW)([e,n]);return(0,K.R)(r)}const Ie={};function Ce(t,e,n,r){const i=new Uint8Array(37);t&Oe?((0,s.vA)(null!=r,"cannot derive child of neutered node","UNSUPPORTED_OPERATION",{operation:"deriveChild"}),i.set((0,m.q5)(r),1)):i.set((0,m.q5)(n));for(let e=24;e>=0;e-=8)i[33+(e>>3)]=t>>24-e&255;const o=(0,m.q5)(v("sha512",e,i));return{IL:o.slice(0,32),IR:o.slice(32)}}function Be(t,e){const n=e.split("/");(0,s.MR)(n.length>0,"invalid path","path",e),"m"===n[0]&&((0,s.MR)(0===t.depth,`cannot derive root path (i.e. path starting with "m/") for a node at non-zero depth ${t.depth}`,"path",e),n.shift());let r=t;for(let t=0;t<n.length;t++){const e=n[t];if(e.match(/^[0-9]+'$/)){const n=parseInt(e.substring(0,e.length-1));(0,s.MR)(n<Oe,"invalid path index",`path[${t}]`,e),r=r.deriveChild(Oe+n)}else if(e.match(/^[0-9]+$/)){const n=parseInt(e);(0,s.MR)(n<Oe,"invalid path index",`path[${t}]`,e),r=r.deriveChild(n)}else(0,s.MR)(!1,"invalid path component",`path[${t}]`,e)}return r}class De extends d{publicKey;fingerprint;parentFingerprint;mnemonic;chainCode;path;index;depth;constructor(t,e,n,r,i,o,a,c,u){super(e,u),(0,s.gk)(t,Ie,"HDNodeWallet"),(0,p.n)(this,{publicKey:e.compressedPublicKey});const l=(0,m.ZG)(_((0,g.s)(this.publicKey)),0,4);(0,p.n)(this,{parentFingerprint:n,fingerprint:l,chainCode:r,path:i,index:o,depth:a}),(0,p.n)(this,{mnemonic:c})}connect(t){return new De(Ie,this.signingKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.mnemonic,t)}#me(){const t={address:this.address,privateKey:this.privateKey},e=this.mnemonic;return this.path&&e&&"en"===e.wordlist.locale&&""===e.password&&(t.mnemonic={path:this.path,locale:"en",entropy:e.entropy}),t}async encrypt(t,e){return await xe(this.#me(),t,{progressCallback:e})}encryptSync(t){return ke(this.#me(),t)}get extendedKey(){return(0,s.vA)(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),Pe((0,m.xW)(["0x0488ADE4",Te(this.depth,1),this.parentFingerprint,Te(this.index,4),this.chainCode,(0,m.xW)(["0x00",this.privateKey])]))}hasPath(){return null!=this.path}neuter(){return new Me(Ie,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.provider)}deriveChild(t){const e=(0,V.WZ)(t,"index");(0,s.MR)(e<=4294967295,"invalid index","index",e);let n=this.path;n&&(n+="/"+(2147483647&e),e&Oe&&(n+="'"));const{IR:i,IL:o}=Ce(e,this.chainCode,this.publicKey,this.privateKey),a=new r.h((0,V.up)(((0,V.Dg)(o)+BigInt(this.privateKey))%Ne,32));return new De(Ie,a,this.fingerprint,(0,m.c$)(i),n,e,this.depth+1,this.mnemonic,this.provider)}derivePath(t){return Be(this,t)}static#we(t,e){(0,s.MR)((0,m.f)(t),"invalid seed","seed","[REDACTED]");const n=(0,m.q5)(t,"seed");(0,s.MR)(n.length>=16&&n.length<=64,"invalid seed","seed","[REDACTED]");const i=(0,m.q5)(v("sha512",Se,n)),o=new r.h((0,m.c$)(i.slice(0,32)));return new De(Ie,o,"0x00000000",(0,m.c$)(i.slice(32)),"m",0,0,e,null)}static fromExtendedKey(t){const e=(0,V.c4)((0,K.H)(t));(0,s.MR)(82===e.length||Pe(e.slice(0,78))===t,"invalid extended key","extendedKey","[ REDACTED ]");const n=e[4],i=(0,m.c$)(e.slice(5,9)),o=parseInt((0,m.c$)(e.slice(9,13)).substring(2),16),a=(0,m.c$)(e.slice(13,45)),c=e.slice(45,78);switch((0,m.c$)(e.slice(0,4))){case"0x0488b21e":case"0x043587cf":{const t=(0,m.c$)(c);return new Me(Ie,(0,h.K)(t),t,i,a,null,o,n,null)}case"0x0488ade4":case"0x04358394 ":if(0!==c[0])break;return new De(Ie,new r.h(c.slice(1)),i,a,null,o,n,null,null)}(0,s.MR)(!1,"invalid extended key prefix","extendedKey","[ REDACTED ]")}static createRandom(t,e,n){null==t&&(t=""),null==e&&(e=Re),null==n&&(n=X.wordlist());const r=ut.fromEntropy((0,H.p)(16),t,n);return De.#we(r.computeSeed(),r).derivePath(e)}static fromMnemonic(t,e){return e||(e=Re),De.#we(t.computeSeed(),t).derivePath(e)}static fromPhrase(t,e,n,r){null==e&&(e=""),null==n&&(n=Re),null==r&&(r=X.wordlist());const s=ut.fromPhrase(t,e,r);return De.#we(s.computeSeed(),s).derivePath(n)}static fromSeed(t){return De.#we(t,null)}}class Me extends u.J{publicKey;fingerprint;parentFingerprint;chainCode;path;index;depth;constructor(t,e,n,r,i,o,a,c,u){super(e,u),(0,s.gk)(t,Ie,"HDNodeVoidWallet"),(0,p.n)(this,{publicKey:n});const l=(0,m.ZG)(_((0,g.s)(n)),0,4);(0,p.n)(this,{publicKey:n,fingerprint:l,parentFingerprint:r,chainCode:i,path:o,index:a,depth:c})}connect(t){return new Me(Ie,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,t)}get extendedKey(){return(0,s.vA)(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),Pe((0,m.xW)(["0x0488B21E",Te(this.depth,1),this.parentFingerprint,Te(this.index,4),this.chainCode,this.publicKey]))}hasPath(){return null!=this.path}deriveChild(t){const e=(0,V.WZ)(t,"index");(0,s.MR)(e<=4294967295,"invalid index","index",e);let n=this.path;n&&(n+="/"+(2147483647&e),e&Oe&&(n+="'"));const{IR:i,IL:o}=Ce(e,this.chainCode,this.publicKey,null),a=r.h.addPoints(o,this.publicKey,!0),c=(0,h.K)(a);return new Me(Ie,c,a,this.fingerprint,(0,m.c$)(i),n,e,this.depth+1,this.provider)}derivePath(t){return Be(this,t)}}function Ue(t){try{if(JSON.parse(t).encseed)return!0}catch(t){}return!1}function Le(t,e){const n=JSON.parse(t),r=pe(e),i=(0,o.b)(de(n,"ethaddr:string!")),a=he(de(n,"encseed:string!"));(0,s.MR)(a&&a.length%16==0,"invalid encseed","json",t);const c=(0,m.q5)(rt(r,r,2e3,32,"sha256")).slice(0,16),u=a.slice(0,16),l=a.slice(16),h=new Ft(c,u),f=function(t){if(t.length<16)throw new TypeError("PKCS#7 invalid length");const e=t[t.length-1];if(e>16)throw new TypeError("PKCS#7 padding byte out of range");const n=t.length-e;for(let r=0;r<e;r++)if(t[n+r]!==e)throw new TypeError("PKCS#7 invalid padding byte");return new Uint8Array(t.subarray(0,n))}((0,m.q5)(h.decrypt(l)));let p="";for(let t=0;t<f.length;t++)p+=String.fromCharCode(f[t]);return{address:i,privateKey:(0,J.id)(p)}}function Fe(t){return new Promise((e=>{setTimeout((()=>{e()}),t)}))}class Ge extends d{constructor(t,e){"string"!=typeof t||t.startsWith("0x")||(t="0x"+t),super("string"==typeof t?new r.h(t):t,e)}connect(t){return new Ge(this.signingKey,t)}async encrypt(t,e){const n={address:this.address,privateKey:this.privateKey};return await xe(n,t,{progressCallback:e})}encryptSync(t){return ke({address:this.address,privateKey:this.privateKey},t)}static#be(t){if((0,s.MR)(t,"invalid JSON wallet","json","[ REDACTED ]"),"mnemonic"in t&&t.mnemonic&&"en"===t.mnemonic.locale){const e=ut.fromEntropy(t.mnemonic.entropy),n=De.fromMnemonic(e,t.mnemonic.path);if(n.address===t.address&&n.privateKey===t.privateKey)return n;console.log("WARNING: JSON mismatch address/privateKey != mnemonic; fallback onto private key")}const e=new Ge(t.privateKey);return(0,s.MR)(e.address===t.address,"address/privateKey mismatch","json","[ REDACTED ]"),e}static async fromEncryptedJson(t,e,n){let r=null;return me(t)?r=await async function(t,e,n){const r=JSON.parse(t),i=pe(e),o=be(r);if("pbkdf2"===o.name){n&&(n(0),await Ae(0));const{salt:t,count:e,dkLen:s,algorithm:a}=o,c=rt(i,t,e,s,a);return n&&(n(1),await Ae(0)),we(r,c)}(0,s.vA)("scrypt"===o.name,"cannot be reached","UNKNOWN_ERROR",{params:o});const{salt:a,N:c,r:u,p:l,dkLen:h}=o;return we(r,await ce(i,a,c,u,l,h,n))}(t,e,n):Ue(t)&&(n&&(n(0),await Fe(0)),r=Le(t,e),n&&(n(1),await Fe(0))),Ge.#be(r)}static fromEncryptedJsonSync(t,e){let n=null;return me(t)?n=function(t,e){const n=JSON.parse(t),r=pe(e),i=be(n);if("pbkdf2"===i.name){const{salt:t,count:e,dkLen:s,algorithm:o}=i;return we(n,rt(r,t,e,s,o))}(0,s.vA)("scrypt"===i.name,"cannot be reached","UNKNOWN_ERROR",{params:i});const{salt:o,N:a,r:c,p:u,dkLen:l}=i;return we(n,ue(r,o,a,c,u,l))}(t,e):Ue(t)?n=Le(t,e):(0,s.MR)(!1,"invalid JSON wallet","json","[ REDACTED ]"),Ge.#be(n)}static createRandom(t){const e=De.createRandom();return t?e.connect(t):e}static fromPhrase(t,e){const n=De.fromPhrase(t);return e?n.connect(e):n}}},7125:(t,e,n)=>{function r(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function s(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function i(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");r(t.outputLen),r(t.blockLen)}function o(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function a(t,e){s(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}n.d(e,{CG:()=>a,ai:()=>r,ee:()=>s,t2:()=>o,tW:()=>i})},7171:(t,e,n)=>{n.d(e,{D:()=>i});var r=n(7125),s=n(750);class i extends s.Vw{constructor(t,e,n,r){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=(0,s.O8)(this.buffer)}update(t){(0,r.t2)(this);const{view:e,buffer:n,blockLen:i}=this,o=(t=(0,s.ZJ)(t)).length;for(let r=0;r<o;){const a=Math.min(i-this.pos,o-r);if(a!==i)n.set(t.subarray(r,r+a),this.pos),this.pos+=a,r+=a,this.pos===i&&(this.process(e,0),this.pos=0);else{const e=(0,s.O8)(t);for(;i<=o-r;r+=i)this.process(e,r)}}return this.length+=t.length,this.roundClean(),this}digestInto(t){(0,r.t2)(this),(0,r.CG)(t,this),this.finished=!0;const{buffer:e,view:n,blockLen:i,isLE:o}=this;let{pos:a}=this;e[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>i-a&&(this.process(n,0),a=0);for(let t=a;t<i;t++)e[t]=0;!function(t,e,n,r){if("function"==typeof t.setBigUint64)return t.setBigUint64(e,n,r);const s=BigInt(32),i=BigInt(4294967295),o=Number(n>>s&i),a=Number(n&i),c=r?4:0,u=r?0:4;t.setUint32(e+c,o,r),t.setUint32(e+u,a,r)}(n,i-8,BigInt(8*this.length),o),this.process(n,0);const c=(0,s.O8)(t),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=u/4,h=this.get();if(l>h.length)throw new Error("_sha2: outputLen bigger than state");for(let t=0;t<l;t++)c.setUint32(4*t,h[t],o)}digest(){const{buffer:t,outputLen:e}=this;this.digestInto(t);const n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:e,buffer:n,length:r,finished:s,destroyed:i,pos:o}=this;return t.length=r,t.pos=o,t.finished=s,t.destroyed=i,r%e&&t.buffer.set(n),t}}},6558:(t,e,n)=>{n.d(e,{Ay:()=>h,B4:()=>c,P5:()=>a,WM:()=>u,im:()=>l,lD:()=>o});const r=BigInt(2**32-1),s=BigInt(32);function i(t,e=!1){return e?{h:Number(t&r),l:Number(t>>s&r)}:{h:0|Number(t>>s&r),l:0|Number(t&r)}}function o(t,e=!1){let n=new Uint32Array(t.length),r=new Uint32Array(t.length);for(let s=0;s<t.length;s++){const{h:o,l:a}=i(t[s],e);[n[s],r[s]]=[o,a]}return[n,r]}const a=(t,e,n)=>t<<n|e>>>32-n,c=(t,e,n)=>e<<n|t>>>32-n,u=(t,e,n)=>e<<n-32|t>>>64-n,l=(t,e,n)=>t<<n-32|e>>>64-n;const h={fromBig:i,split:o,toBig:(t,e)=>BigInt(t>>>0)<<s|BigInt(e>>>0),shrSH:(t,e,n)=>t>>>n,shrSL:(t,e,n)=>t<<32-n|e>>>n,rotrSH:(t,e,n)=>t>>>n|e<<32-n,rotrSL:(t,e,n)=>t<<32-n|e>>>n,rotrBH:(t,e,n)=>t<<64-n|e>>>n-32,rotrBL:(t,e,n)=>t>>>n-32|e<<64-n,rotr32H:(t,e)=>e,rotr32L:(t,e)=>t,rotlSH:a,rotlSL:c,rotlBH:u,rotlBL:l,add:function(t,e,n,r){const s=(e>>>0)+(r>>>0);return{h:t+n+(s/2**32|0)|0,l:0|s}},add3L:(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),add3H:(t,e,n,r)=>e+n+r+(t/2**32|0)|0,add4L:(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),add4H:(t,e,n,r,s)=>e+n+r+s+(t/2**32|0)|0,add5H:(t,e,n,r,s,i)=>e+n+r+s+i+(t/2**32|0)|0,add5L:(t,e,n,r,s)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(s>>>0)}},4655:(t,e,n)=>{n.d(e,{w:()=>o});var r=n(7125),s=n(750);class i extends s.Vw{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,(0,r.tW)(t);const n=(0,s.ZJ)(e);if(this.iHash=t.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?t.create().update(n).digest():n);for(let t=0;t<o.length;t++)o[t]^=54;this.iHash.update(o),this.oHash=t.create();for(let t=0;t<o.length;t++)o[t]^=106;this.oHash.update(o),o.fill(0)}update(t){return(0,r.t2)(this),this.iHash.update(t),this}digestInto(t){(0,r.t2)(this),(0,r.ee)(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:e,iHash:n,finished:r,destroyed:s,blockLen:i,outputLen:o}=this;return t.finished=r,t.destroyed=s,t.blockLen=i,t.outputLen=o,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const o=(t,e,n)=>new i(t,e).update(n).digest();o.create=(t,e)=>new i(t,e)},4877:(t,e,n)=>{n.d(e,{A:()=>c});var r=n(7125),s=n(4655),i=n(750);function o(t,e,n,o){(0,r.tW)(t);const a=(0,i.tY)({dkLen:32,asyncTick:10},o),{c,dkLen:u,asyncTick:l}=a;if((0,r.ai)(c),(0,r.ai)(u),(0,r.ai)(l),c<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const h=(0,i.ZJ)(e),f=(0,i.ZJ)(n),p=new Uint8Array(u),d=s.w.create(t,h),g=d._cloneInto().update(f);return{c,dkLen:u,asyncTick:l,DK:p,PRF:d,PRFSalt:g}}function a(t,e,n,r,s){return t.destroy(),e.destroy(),r&&r.destroy(),s.fill(0),n}function c(t,e,n,r){const{c:s,dkLen:c,DK:u,PRF:l,PRFSalt:h}=o(t,e,n,r);let f;const p=new Uint8Array(4),d=(0,i.O8)(p),g=new Uint8Array(l.outputLen);for(let t=1,e=0;e<c;t++,e+=l.outputLen){const n=u.subarray(e,e+l.outputLen);d.setInt32(0,t,!1),(f=h._cloneInto(f)).update(p).digestInto(g),n.set(g.subarray(0,n.length));for(let t=1;t<s;t++){l._cloneInto(f).update(g).digestInto(g);for(let t=0;t<n.length;t++)n[t]^=g[t]}}return a(l,h,u,f,g)}},3439:(t,e,n)=>{n.d(e,{s:()=>l});var r=n(7171),s=n(750);const i=(t,e,n)=>t&e^t&n^e&n,o=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),a=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),c=new Uint32Array(64);class u extends r.D{constructor(){super(64,32,8,!1),this.A=0|a[0],this.B=0|a[1],this.C=0|a[2],this.D=0|a[3],this.E=0|a[4],this.F=0|a[5],this.G=0|a[6],this.H=0|a[7]}get(){const{A:t,B:e,C:n,D:r,E:s,F:i,G:o,H:a}=this;return[t,e,n,r,s,i,o,a]}set(t,e,n,r,s,i,o,a){this.A=0|t,this.B=0|e,this.C=0|n,this.D=0|r,this.E=0|s,this.F=0|i,this.G=0|o,this.H=0|a}process(t,e){for(let n=0;n<16;n++,e+=4)c[n]=t.getUint32(e,!1);for(let t=16;t<64;t++){const e=c[t-15],n=c[t-2],r=(0,s.Ow)(e,7)^(0,s.Ow)(e,18)^e>>>3,i=(0,s.Ow)(n,17)^(0,s.Ow)(n,19)^n>>>10;c[t]=i+c[t-7]+r+c[t-16]|0}let{A:n,B:r,C:a,D:u,E:l,F:h,G:f,H:p}=this;for(let t=0;t<64;t++){const e=p+((0,s.Ow)(l,6)^(0,s.Ow)(l,11)^(0,s.Ow)(l,25))+((d=l)&h^~d&f)+o[t]+c[t]|0,g=((0,s.Ow)(n,2)^(0,s.Ow)(n,13)^(0,s.Ow)(n,22))+i(n,r,a)|0;p=f,f=h,h=l,l=u+e|0,u=a,a=r,r=n,n=e+g|0}var d;n=n+this.A|0,r=r+this.B|0,a=a+this.C|0,u=u+this.D|0,l=l+this.E|0,h=h+this.F|0,f=f+this.G|0,p=p+this.H|0,this.set(n,r,a,u,l,h,f,p)}roundClean(){c.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const l=(0,s.ld)((()=>new u))},750:(t,e,n)=>{n.d(e,{Vw:()=>f,$h:()=>u,tY:()=>d,Id:()=>h,O8:()=>o,po:()=>y,Ow:()=>a,ZJ:()=>l,DH:()=>i,ld:()=>g});const r="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,s=t=>t instanceof Uint8Array,i=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),o=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),a=(t,e)=>t<<32-e|t>>>e;if(!(68===new Uint8Array(new Uint32Array([287454020]).buffer)[0]))throw new Error("Non little-endian hardware is not supported");const c=async()=>{};async function u(t,e,n){let r=Date.now();for(let s=0;s<t;s++){n(s);const t=Date.now()-r;t>=0&&t<e||(await c(),r+=t)}}function l(t){if("string"==typeof t&&(t=function(t){if("string"!=typeof t)throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array((new TextEncoder).encode(t))}(t)),!s(t))throw new Error("expected Uint8Array, got "+typeof t);return t}function h(...t){const e=new Uint8Array(t.reduce(((t,e)=>t+e.length),0));let n=0;return t.forEach((t=>{if(!s(t))throw new Error("Uint8Array expected");e.set(t,n),n+=t.length})),e}class f{clone(){return this._cloneInto()}}const p={}.toString;function d(t,e){if(void 0!==e&&"[object Object]"!==p.call(e))throw new Error("Options should be object or undefined");return Object.assign(t,e)}function g(t){const e=e=>t().update(l(e)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function y(t=32){if(r&&"function"==typeof r.getRandomValues)return r.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}}},u={};function l(t){var e=u[t];if(void 0!==e)return e.exports;var n=u[t]={id:t,loaded:!1,exports:{}};return c[t](n,n.exports,l),n.loaded=!0,n.exports}l.m=c,t="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",e="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",n="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",r=t=>{t&&t.d<1&&(t.d=1,t.forEach((t=>t.r--)),t.forEach((t=>t.r--?t.r++:t())))},l.a=(s,i,o)=>{var a;o&&((a=[]).d=-1);var c,u,l,h=new Set,f=s.exports,p=new Promise(((t,e)=>{l=e,u=t}));p[e]=f,p[t]=t=>(a&&t(a),h.forEach(t),p.catch((t=>{}))),s.exports=p,i((s=>{var i;c=(s=>s.map((s=>{if(null!==s&&"object"==typeof s){if(s[t])return s;if(s.then){var i=[];i.d=0,s.then((t=>{o[e]=t,r(i)}),(t=>{o[n]=t,r(i)}));var o={};return o[t]=t=>t(i),o}}var a={};return a[t]=t=>{},a[e]=s,a})))(s);var o=()=>c.map((t=>{if(t[n])throw t[n];return t[e]})),u=new Promise((e=>{(i=()=>e(o)).r=0;var n=t=>t!==a&&!h.has(t)&&(h.add(t),t&&!t.d&&(i.r++,t.push(i)));c.map((e=>e[t](n)))}));return i.r?u:o()}),(t=>(t?l(p[n]=t):u(f),r(a)))),a&&a.d<0&&(a.d=0)},i=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__,l.t=function(t,e){if(1&e&&(t=this(t)),8&e)return t;if("object"==typeof t&&t){if(4&e&&t.__esModule)return t;if(16&e&&"function"==typeof t.then)return t}var n=Object.create(null);l.r(n);var r={};s=s||[null,i({}),i([]),i(i)];for(var o=2&e&&t;"object"==typeof o&&!~s.indexOf(o);o=i(o))Object.getOwnPropertyNames(o).forEach((e=>r[e]=()=>t[e]));return r.default=()=>t,l.d(n,r),n},l.d=(t,e)=>{for(var n in e)l.o(e,n)&&!l.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},l.f={},l.e=t=>Promise.all(Object.keys(l.f).reduce(((e,n)=>(l.f[n](t,e),e)),[])),l.u=t=>t+".gun-eth.esm.js",l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),l.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),l.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},l.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),o={792:0},a=t=>{var e,n,{ids:r,modules:s,runtime:i}=t,a=0;for(e in s)l.o(s,e)&&(l.m[e]=s[e]);for(i&&i(l);a<r.length;a++)n=r[a],l.o(o,n)&&o[n]&&o[n][0](),o[r[a]]=0},l.f.j=(t,e)=>{var n=l.o(o,t)?o[t]:void 0;if(0!==n)if(n)e.push(n[1]);else{var r=import("./"+l.u(t)).then(a,(e=>{throw 0!==o[t]&&(o[t]=void 0),e}));r=Promise.race([r,new Promise((e=>n=o[t]=[e]))]),e.push(n[1]=r)}};var h=l(103),f=(h=await h).i6,p=h.gv,d=h.Ay,g=h.Nd,y=h.bk,m=h.MZ,w=h.hS,b=h.kA;export{f as GunEth,p as MESSAGE_TO_SIGN,d as default,g as deriveStealthAddress,y as generatePassword,m as generateRandomId,w as getSigner,b as gunToEthAccount};
|