holosphere 1.1.13 → 1.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compute.js +10 -1
- package/content.js +29 -13
- package/federation.js +17 -1
- package/global.js +40 -21
- package/hexlib.js +4 -1
- package/hologram.js +9 -1
- package/holosphere-bundle.esm.js +51 -35
- package/holosphere-bundle.js +60 -35
- package/holosphere-bundle.min.js +15 -14
- package/holosphere.js +1 -1
- package/node.js +10 -1
- package/package.json +4 -4
- package/schema.js +8 -1
- package/utils.js +13 -1
package/holosphere-bundle.min.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
/* HoloSphere Bundle v1.1.
|
|
2
|
-
var HoloSphere=(()=>{var f1=Object.create;var As=Object.defineProperty;var c1=Object.getOwnPropertyDescriptor;var d1=Object.getOwnPropertyNames;var h1=Object.getPrototypeOf,p1=Object.prototype.hasOwnProperty;var zf=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(e,i)=>(typeof require<"u"?require:e)[i]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var pe=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),m1=(n,e)=>{for(var i in e)As(n,i,{get:e[i],enumerable:!0})},Jf=(n,e,i,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let u of d1(e))!p1.call(n,u)&&u!==i&&As(n,u,{get:()=>e[u],enumerable:!(s=c1(e,u))||s.enumerable});return n};var Ka=(n,e,i)=>(i=n!=null?f1(h1(n)):{},Jf(e||!n||!n.__esModule?As(i,"default",{value:n,enumerable:!0}):i,n)),g1=n=>Jf(As({},"__esModule",{value:!0}),n);var Xc=pe((oC,Q0)=>{(function(){function n(i,s){return s?zf(i):i.slice?n[u(i)]:function(d,m){i(d={exports:{}}),n[u(m)]=d.exports};function u(d){return d.split("/").slice(-1).toString().replace(".js","")}}if(typeof Q0<"u")var e=Q0;n(function(i){String.random=function(u,d){var m="";for(u=u||24,d=d||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";u-- >0;)m+=d.charAt(Math.floor(Math.random()*d.length));return m},String.match=function(u,d){var m,y;return typeof u!="string"?!1:(typeof d=="string"&&(d={"=":d}),d=d||{},m=d["="]||d["*"]||d[">"]||d["<"],u===m?!0:y!==d["="]?!1:(m=d["*"]||d[">"],u.slice(0,(m||"").length)===m?!0:y!==d["*"]?!1:y!==d[">"]&&y!==d["<"]?u>=d[">"]&&u<=d["<"]:y!==d[">"]&&u>=d[">"]||y!==d["<"]&&u<=d["<"]))},String.hash=function(u,d){if(typeof u=="string"){if(d=d||0,!u.length)return d;for(var m=0,y=u.length,E;m<y;++m)E=u.charCodeAt(m),d=(d<<5)-d+E,d|=0;return d}};var s=Object.prototype.hasOwnProperty;Object.plain=function(u){return u?u instanceof Object&&u.constructor===Object||Object.prototype.toString.call(u).match(/^\[object (\w+)\]$/)[1]==="Object":!1},Object.empty=function(u,d){for(var m in u)if(s.call(u,m)&&(!d||d.indexOf(m)==-1))return!1;return!0},Object.keys=Object.keys||function(u){var d=[];for(var m in u)s.call(u,m)&&d.push(m);return d},function(){var u,d=setTimeout,m=0,y=0,E=typeof setImmediate!=""+u&&setImmediate||function(w,_){return typeof MessageChannel==""+u?d:((w=new MessageChannel).port1.onmessage=function($){$.data==""&&_()},function($){_=$,w.port2.postMessage("")})}(),b=d.check=d.check||typeof performance!=""+u&&performance||{now:function(){return+new Date}};d.hold=d.hold||9,d.poll=d.poll||function(w){if(d.hold>=b.now()-m&&y++<3333){w();return}E(function(){m=b.now(),w()},y=0)}}(),function(){var u=setTimeout,d=u.turn=u.turn||function(_){m.push(_)==1&&y(w)},m=d.s=[],y=u.poll,E=0,b,w=function(){(b=m[E++])&&b(),(E==m.length||E==99)&&(m=d.s=m.slice(E),E=0),m.length&&y(w)}}(),function(){var u,d=setTimeout,m=d.turn;(d.each=d.each||function(y,E,b,w){w=w||9,function _($,C,x){if(C=($=(y||[]).splice(0,w)).length){for(var k=0;k<C&&u===(x=E($[k]));k++);if(u===x){m(_);return}}b&&b(x)}()})()}()})(n,"./shim"),n(function(i){i.exports=function s(b,d,m){if(!b)return{to:s};var y,E=typeof d=="function",b=(this.tag||(this.tag={}))[b]||E&&(this.tag[b]={tag:b,to:s._={next:function(_){var $;($=this.to)&&$.next(_)}}});if(E){var w={off:s.off||(s.off=function(){if(this.next===s._.next)return!0;this===this.the.last&&(this.the.last=this.back),this.to.back=this.back,this.next=s._.next,this.back.to=this.to,this.the.last===this.the&&delete this.on.tag[this.the.tag]}),to:s._,next:d,the:b,on:this,as:m};return(w.back=b.last||b).to=w,b.last=w}return(b=b.to)&&y!==d&&b.next(d),b}})(n,"./onto"),n(function(i){i.exports=function(s){return s===null||typeof s=="string"||typeof s=="boolean"||typeof s=="number"&&s!=1/0&&s!=-1/0&&s===s||!!s&&typeof s["#"]=="string"&&Object.keys(s).length===1&&s["#"]}})(n,"./valid"),n(function(i){n("./shim");function s(){var b=+new Date;return y<b?(d=0,y=b+s.drift):y=b+(d+=1)/m+s.drift}s.drift=0;var u=-1/0,d=0,m=999,y=u,E;s.is=function(b,w,_){var $=w&&b&&b._&&b._[">"]||_;if($)return typeof($=$[w])=="number"?$:u},s.ify=function(b,w,_,$,C){(b=b||{})._=b._||{},C&&(b._["#"]=C);var x=b._[">"]||(b._[">"]={});return E!==w&&w!=="_"&&(typeof _=="number"&&(x[w]=_),E!==$&&(b[w]=$)),b},i.exports=s})(n,"./state"),n(function(i){n("./shim");function s(u){var d={s:{}},m=d.s;u=u||{max:999,age:1e3*9},d.check=function(E){return m[E]?y(E):!1};var y=d.track=function(E){var b=m[E]||(m[E]={});return b.was=d.now=+new Date,d.to||(d.to=setTimeout(d.drop,u.age+9)),y.ed&&y.ed(E),b};return d.drop=function(E){d.to=null,d.now=+new Date;var b=Object.keys(m);console.STAT&&console.STAT(d.now,+new Date-d.now,"dup drop keys"),setTimeout.each(b,function(w){var _=m[w];_&&(E||u.age)>d.now-_.was||delete m[w]},0,99)},d}i.exports=s})(n,"./dup"),n(function(i){n("./onto"),i.exports=function(d,m){if(this.on){var y=(this.opt||{}).lack||9e3;if(typeof d!="function"){if(!d)return;var b=d["#"]||d,E=(this.tag||"")[b];return E?(m&&(E=this.on(b,m),clearTimeout(E.err),E.err=setTimeout(function(){E.off()},y)),!0):void 0}var b=m&&m["#"]||s(9);if(!d)return b;var w=this.on(b,d,m);return w.err=w.err||setTimeout(function(){w.off(),w.next({err:"Error: No ACK yet.",lack:!0})},y),b}};var s=String.random||function(){return Math.random().toString(36).slice(2)}})(n,"./ask"),n(function(i){function s(C){return C instanceof s?(this._={$:this}).$:this instanceof s?s.create(this._={$:this,opt:C}):new s(C)}s.is=function(C){return C instanceof s||C&&C._&&C===C._.$||!1},s.version=.202,s.chain=s.prototype,s.chain.toJSON=function(){},n("./shim"),s.valid=n("./valid"),s.state=n("./state"),s.on=n("./onto"),s.dup=n("./dup"),s.ask=n("./ask"),function(){s.create=function(R){R.root=R.root||R,R.graph=R.graph||{},R.on=R.on||s.on,R.ask=R.ask||s.ask,R.dup=R.dup||s.dup();var M=R.$.opt(R.opt);return R.once||(R.on("in",C,R),R.on("out",C,R),R.on("put",B,R),s.on("create",R),R.on("create",R)),R.once=1,M};function C(R){if(R){if(R.out===C){this.to.next(R);return}var M=this,Q=M.as,X=Q.at||Q,ne=X.$,Ae=X.dup,te,de=R.DBG;if((te=R["#"])||(te=R["#"]=d(9)),!Ae.check(te)){if(Ae.track(te),te=R._,R._=typeof te=="function"?te:function(){},R.$&&R.$===(R.$._||"").$||(R.$=ne),R["@"]&&!R.put&&I(R),!X.ask(R["@"],R))if(de&&(de.u=+new Date),R.put){x(R);return}else R.get&&s.on.get(R,ne);de&&(de.uc=+new Date),M.to.next(R),de&&(de.ua=+new Date),!(R.nts||R.NTS)&&(R.out=C,X.on("out",R),de&&(de.ue=+new Date))}}}function x(R){if(R){var M=R._||"",Q=M.root=((M.$=R.$||"")._||"").root;if(R["@"]&&M.faith&&!M.miss){R.out=C,Q.on("out",R);return}M.latch=Q.hatch,M.match=Q.hatch=[];var X=R.put,ne=M.DBG=R.DBG,Ae=+new Date;if(le=le||Ae,!(X["#"]&&X["."])){ne&&(ne.p=Ae),M["#"]=R["#"],M.msg=R,M.all=0,M.stun=1;var te=Object.keys(X);console.STAT&&console.STAT(Ae,((ne||M).pk=+new Date)-Ae,"put sort");var de=0,me,ve,De,At,Ke,ze,gt;(function JA(CA){if(me!=de){if(me=de,!(De=te[de])){console.STAT&&console.STAT(Ae,((ne||M).pd=+new Date)-Ae,"put"),O(M);return}(At=X[De])?(gt=At._)?De!==gt["#"]?ze=q+V(De)+"soul not same.":(Ke=gt[">"])||(ze=q+V(De)+"no state."):ze=q+V(De)+"no meta.":ze=q+V(De)+"no node.",ve=Object.keys(At||{})}if(ze){R.err=M.err=ze,O(M);return}var sA=0,aA;for(CA=CA||0;CA++<9&&(aA=ve[sA++]);)if(aA!=="_"){var SA=At[aA],DA=Ke[aA];if(w===DA){ze=q+V(aA)+"on"+V(De)+"no state.";break}if(!y(SA)){ze=q+V(aA)+"on"+V(De)+"bad "+typeof SA+V(SA);break}k(SA,aA,De,DA,R),++J}if((ve=ve.slice(sA)).length){m(JA);return}++de,ve=null,JA(CA)})()}}}s.on.put=x;function k(R,M,Q,X,ne){var Ae=ne._||"",te=Ae.root,de=te.graph,me,ve,De=de[Q]||_,At=E(De,M,1),Ke=De[M],ze=Ae.DBG;(ve=console.STAT)&&(!de[Q]||!Ke)&&(ve.has=(ve.has||0)+1);var gt=L(),JA;if(X>gt){setTimeout(function(){k(R,M,Q,X,ne)},(ve=X-gt)>re?re:ve),console.STAT&&console.STAT((ze||Ae).Hf=+new Date,ve,"future");return}if(!(X<At)&&!(!Ae.faith&&X===At&&(R===Ke||z(R)<=z(Ke))&&!Ae.miss)){Ae.stun++;var CA=ne["#"]+Ae.all++,sA={toString:function(){return CA},_:Ae};sA.toJSON=sA.toString,te.dup.track(sA)["#"]=ne["#"],ze&&(ze.ph=ze.ph||+new Date),te.on("put",{"#":sA,"@":ne["@"],put:{"#":Q,".":M,":":R,">":X},ok:ne.ok,_:Ae})}}function B(R){var M;(M=(R._||"").DBG)&&(M.pa=+new Date,M.pm=M.pm||+new Date);var Q=this,X=Q.as,ne=X.graph,Ae=R._,te=R.put,de=te["#"],me=te["."],ve=te[":"],De=te[">"],At=R["#"],Ke;(Ke=Ae.msg)&&(Ke=Ke.put)&&(Ke=Ke[de])&&b(Ke,me,De,ve,de),ne[de]=b(ne[de],me,De,ve,de),(Ke=(X.next||"")[de])&&Ke.on("in",R),O(Ae),Q.to.next(R)}function O(R,M){var Q;if(!R.stop&&!(!R.err&&0<--R.stun)&&(R.stop=1,!!(Q=R.root))){var X=R.match;X.end=1,X===Q.hatch&&(!(X=R.latch)||X.end?delete Q.hatch:Q.hatch=X),R.hatch&&R.hatch(),setTimeout.each(R.match,function(ne){ne&&ne()}),!(!(M=R.msg)||R.err||M.err)&&(M.out=C,R.root.on("out",M),ae())}}function I(R){var M=R["@"]||"",Q,X,ne;if(!(Q=M._)){var Ae=(Ae=R.$)&&(Ae=Ae._)&&(Ae=Ae.root)&&(Ae=Ae.dup);if(!(Ae=Ae.check(M)))return;R["@"]=Ae["#"]||R["@"];return}Q.acks=(Q.acks||0)+1,(Q.err=R.err)&&(R["@"]=Q["#"],O(Q)),Q.ok=R.ok||Q.ok,!Q.stop&&!Q.crack&&(Q.crack=Q.match&&Q.match.push(function(){U(Q)})),U(Q)}function U(R){!R||!R.root||R.stun||R.acks!==R.all||R.root.on("in",{"@":R["#"],err:R.err,ok:R.err?w:R.ok||{"":1}})}var q="Error: Invalid graph!",V=function(R){return" '"+(""+R).slice(0,9)+"...' "},z=JSON.stringify,re=2147483647,L=s.state,J=0,le,ae=function(){J>999&&J/-(le-(le=+new Date))>1&&(s.window&&console.log("Warning: You're syncing 1K+ records a second, faster than DOM can update - consider limiting query."),ae=function(){J=0})}}(),function(){s.on.get=function(x,k){var B=k._,O=x.get,I=O["#"],U=B.graph[I],q=O["."],V=B.next||(B.next={}),z=V[I],re=x._||{},L=re.DBG=x.DBG;if(L&&(L.g=+new Date),!U)return B.on("get",x);if(q){if((typeof q!="string"||w===U[q])&&!((z||"").next||"")[q]){B.on("get",x);return}U=b({},q,E(U,q),U[q],I)}U&&C(x,U),B.on("get",x)};function C(x,k){var B=+new Date,O=x._||{},I=O.DBG=x.DBG,U=x["#"],q=d(9),V=Object.keys(k||"").sort(),z=((k||"")._||"")["#"],re=V.length,L=0,J=x.$._.root,le=k===J.graph[z];console.STAT&&console.STAT(B,((I||O).gk=+new Date)-B,"got keys"),k&&function ae(){B=+new Date;for(var R=0,M,Q={},X;R<9&&(M=V[R++]);)b(Q,M,E(k,M),k[M],z);V=V.slice(R),(X={})[z]=Q,Q=X;var ne;le&&(ne=function(){},ne.ram=ne.faith=!0),X=V.length,console.STAT&&console.STAT(B,-(B-(B=+new Date)),"got copied some"),I&&(I.ga=+new Date),J.on("in",{"@":U,"#":q,put:Q,"%":X?q=d(9):w,$:J.$,_:ne,DBG:I,FOO:1}),console.STAT&&console.STAT(B,+new Date-B,"got in"),X&&setTimeout.turn(ae)}(),k||J.on("in",{"@":x["#"]})}s.on.get.ack=C}(),function(){s.chain.opt=function(C){C=C||{};var x=this,k=x._,B=C.peers||C;return Object.plain(C)||(C={}),Object.plain(k.opt)||(k.opt=C),typeof B=="string"&&(B=[B]),Object.plain(k.opt.peers)||(k.opt.peers={}),B instanceof Array&&(C.peers={},B.forEach(function(O){var I={};I.id=I.url=O,C.peers[O]=k.opt.peers[O]=k.opt.peers[O]||I})),u(C,function O(I){var U=this[I];if(this&&this.hasOwnProperty(I)||typeof U=="string"||Object.empty(U)){this[I]=U;return}U&&U.constructor!==Object&&!(U instanceof Array)||u(U,O)}),k.opt.from=C,s.on("opt",k),k.opt.uuid=k.opt.uuid||function(I){return s.state().toString(36).replace(".","")+String.random(I||12)},x}}();var u=function(C,x){Object.keys(C).forEach(x,C)},d=String.random,m=setTimeout.turn,y=s.valid,E=s.state.is,b=s.state.ify,w,_={},$;s.log=function(){return!s.log.off&&$.log.apply($,arguments),[].slice.call(arguments).join(" ")},s.log.once=function(C,x,k){return(k=s.log.once)[C]=k[C]||0,k[C]++||s.log(x)},typeof window<"u"&&((window.GUN=window.Gun=s).window=window);try{typeof e<"u"&&(e.exports=s)}catch{}i.exports=s,(s.window||{}).console=(s.window||{}).console||{log:function(){}},($=console).only=function(C,x){return $.only.i&&C===$.only.i&&$.only.i++&&($.log.apply($,arguments)||x)},s.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!")})(n,"./root"),n(function(i){var s=n("./root");s.chain.back=function(m,y){var E;if(m=m||1,m===-1||m===1/0)return this._.root.$;if(m===1)return(this._.back||this._).$;var b=this,w=b._;if(typeof m=="string"&&(m=m.split(".")),m instanceof Array){var _=0,$=m.length,E=w;for(_;_<$;_++)E=(E||u)[m[_]];return d!==E?y?b:E:(E=w.back)?E.$.back(m,y):void 0}if(typeof m=="function"){for(var C,E={back:w};(E=E.back)&&d===(C=m(E,y)););return C}return typeof m=="number"?(w.back||w).$.back(m-1):this};var u={},d})(n,"./back"),n(function(i){var s=n("./root");s.chain.chain=function(O){var I=this,U=I._,q=new(O||I).constructor(I),V=q._,z;return V.root=z=U.root,V.id=++z.once,V.back=I._,V.on=s.on,V.on("in",s.on.in,V),V.on("out",s.on.out,V),q};function u(O){var I,U,q=this.as,V=q.back,z=q.root,re;if(O.$||(O.$=q.$),this.to.next(O),q.err){q.on("in",{put:q.put=w,$:q.$});return}if(U=O.get){if(z.pass&&(z.pass[q.id]=q),q.lex&&Object.keys(q.lex).forEach(function(L){re[L]=q.lex[L]},re=O.get=O.get||{}),U["#"]||q.soul){if(U["#"]=U["#"]||q.soul,O["#"]||(O["#"]=_(9)),V=z.$.get(U["#"])._,U=U["."]){if(C(V.put,U)&&(re=V.ask&&V.ask[U],(V.ask||(V.ask={}))[U]=V.$.get(U)._,V.on("in",{get:U,put:{"#":V.soul,".":U,":":V.put[U],">":k(z.graph[V.soul],U)}}),re))return}else{if(re=V.ask&&V.ask[""],(V.ask||(V.ask={}))[""]=V,w!==V.put&&(V.on("in",V),re))return;O.$=V.$}return z.ask(E,O),z.on("in",O)}if(U["."])return q.get?(O={get:{".":q.get},$:q.$},(V.ask||(V.ask={}))[q.get]=O.$._,V.on("out",O)):(O={get:q.lex?O.get:{},$:q.$},V.on("out",O));if((q.ask||(q.ask={}))[""]=q,q.get)return U["."]=q.get,(V.ask||(V.ask={}))[q.get]=O.$._,V.on("out",O)}return V.on("out",O)}s.on.out=u;function d(O,I){I=I||this.as;var U=I.root,q=O.$||(O.$=I.$),V=(q||"")._||b,z=O.put||"",re=z["#"],L=z["."],J=w!==z["="]?z["="]:z[":"],le=z[">"]||-1/0,ae;if(w!==O.put&&(w===z["#"]||w===z["."]||w===z[":"]&&w===z["="]||w===z[">"])){if(!$(z)){if(!(re=((z||"")._||"")["#"])){console.log("chain not yet supported for",z,"...",O,I);return}return q=I.root.$.get(re),setTimeout.each(Object.keys(z).sort(),function(R){R=="_"||w===(le=k(z,R))||I.on("in",{$:q,put:{"#":re,".":R,"=":z[R],">":le},VIA:O})})}I.on("in",{$:V.back.$,put:{"#":re=V.back.soul,".":L=V.has||V.get,"=":z,">":k(V.back.put,L)},via:O});return}(O.seen||"")[I.id]||((O.seen||(O.seen=function(){}))[I.id]=I,I!==V&&(Object.keys(O).forEach(function(R){z[R]=O[R]},z={}),z.get=I.get||z.get,!I.soul&&!I.has?z.$$$=z.$$$||I.$:V.soul&&(z.$=I.$,z.$$=z.$$||V.$),O=z),y(O,I),(I.soul||O.$$)&&le>=k(U.graph[re],L)&&((z=U.$.get(re)._).put=B(z.put,L,le,J,re)),!V.soul&&le>=k(U.graph[re],L)&&(ae=(U.$.get(re)._.next||"")[L])&&(ae.put=J,typeof(z=$(J))=="string"&&(ae.put=U.$.get(z)._.put||J)),this.to&&this.to.next(O),I.any&&setTimeout.each(Object.keys(I.any),function(R){(R=I.any[R])&&R(O)},0,99),I.echo&&setTimeout.each(Object.keys(I.echo),function(R){(R=I.echo[R])&&R.on("in",O)},0,99),((O.$$||"")._||V).soul&&(ae=I.next)&&(ae=ae[L])&&(z={},Object.keys(O).forEach(function(R){z[R]=O[R]}),z.$=(O.$$||O.$).get(z.get=L),delete z.$$,delete z.$$$,ae.on("in",z)),m(O,I))}s.on.in=d;function m(O,I){if(I=I||this.as||O.$._,!(O.$$&&this!==s.on)&&!(!O.put||I.soul)){var U=O.put||"",q=U["="]||U[":"],L,V=I.root,z=V.$.get(U["#"]).get(U["."])._;if(typeof(q=$(q))!="string"){this===s.on&&((z.echo||(z.echo={}))[I.id]=I);return}if(!((z.echo||(z.echo={}))[I.id]&&!(V.pass||"")[I.id])){if(L=V.pass){if(L[q+I.id])return;L[q+I.id]=1}(z.echo||(z.echo={}))[I.id]=I,I.has&&(I.link=q);var re=V.$.get(z.link=q)._;(re.echo||(re.echo={}))[z.id]=z;var L=I.ask||"";(L[""]||I.lex)&&re.on("out",{get:{"#":q}}),setTimeout.each(Object.keys(L),function(J,le){!J||!(le=L[J])||le.on("out",{get:{"#":q,".":J}})},0,99)}}}s.on.link=m;function y(O,I){var U=O.put||"",q=w!==U["="]?U["="]:U[":"],V=I.root,z,re;if(w===q){if(I.soul&&w!==I.put||(re=(O.$$||O.$||"")._||"",O["@"]&&(w!==re.put||w!==I.put)))return;(z=I.link||O.linked)&&delete(V.$.get(z)._.echo||"")[I.id],I.has&&(I.link=null),I.put=w,setTimeout.each(Object.keys(I.next||""),function(L,J){(J=I.next[L])&&(z&&delete(V.$.get(z).get(L)._.echo||"")[J.id],J.on("in",{get:L,put:w,$:J.$}))},0,99);return}I.soul||O.$$||(z=$(q),re=O.$._||"",!((z===re.link||I.has&&!re.link)&&!((V.pass||"")[I.id]&&typeof z!="string"))&&(delete(re.echo||"")[I.id],y({get:I.get,put:w,$:O.$,linked:O.linked=O.linked||re.link},I)))}s.on.unlink=y;function E(O,I){var U=this.as,q=U.$._,V=q.root,z=U.get||"",re=(O.put||"")[z["#"]]||"";if(!O.put||typeof z["."]=="string"&&w===re[z["."]]){if(w!==q.put||!q.soul&&!q.has)return;q.ack=(q.ack||0)+1,q.on("in",{get:q.get,put:q.put=w,$:q.$,"@":O["@"]});return}(O._||{}).miss=1,s.on.put(O)}var b={},w,_=String.random,$=s.valid,C=function(O,I){return O&&Object.prototype.hasOwnProperty.call(O,I)},x=s.state,k=x.is,B=x.ify})(n,"./chain"),n(function(i){var s=n("./root");s.chain.get=function(w,_,$){var C,x;if(typeof w=="string"){if(w.length==0)return(C=this.chain())._.err={err:s.log("0 length key!",w)},_&&_.call(C,C._.err),C;var k=this,B=k._,O=B.next||y;(C=O[w])||(C=w&&u(w,k)),C=C&&C.$}else if(typeof w=="function"){let L=function(J,le,ae){if(!L.stun&&!((te=U.pass)&&!te[q])){var R=J.$._,M=(J.$$||"")._,Q=(M||R).put,X=!R.has&&!R.soul,ne={},Ae,te;if((X||b===Q)&&(Q=b===((te=J.put)||"")["="]?b===(te||"")[":"]?te:te[":"]:te["="]),(Ae=typeof(te=s.valid(Q))=="string")&&(Q=b===(te=U.$.get(te)._.put)?I.not?b:Q:te),!(I.not&&b===Q)){if(b===I.stun){if((te=U.stun)&&te.on&&(B.$.back(function(de){if(te.on(""+de.id,ne={}),(ne.run||0)<L.id)return ne}),!ne.run&&te.on(""+R.id,ne={}),!ne.run&&M&&te.on(""+M.id,ne={}),L.id>ne.run&&((!ne.stun||ne.stun.end)&&(ne.stun=te.on("stun"),ne.stun=ne.stun&&ne.stun.last),ne.stun&&!ne.stun.end))){(ne.stun.add||(ne.stun.add={}))[q]=function(){L(J,le,1)};return}if(b===Q&&(ae=0),(te=U.hatch)&&!te.end&&b===I.hatch&&!ae){if(V[R.$._.id])return;V[R.$._.id]=1,te.push(function(){L(J,le,1)});return}V={}}if(U.pass){if(U.pass[q+R.id])return;U.pass[q+R.id]=1}if(I.on){I.ok.call(R.$,Q,R.get,J,le||L);return}if(I.v2020){I.ok(J,le||L);return}Object.keys(J).forEach(function(de){te[de]=J[de]},te={}),J=te,J.put=Q,I.ok.call(I.as,J,le||L)}}};var z=L;if(_===!0)return d(this,w,_,$),this;C=this;var B=C._,I=_||{},U=B.root,q;I.at=B,I.ok=w;var V={};return L.at=B,(B.any||(B.any={}))[q=String.random(7)]=L,L.off=function(){L.stun=1,B.any&&delete B.any[q]},L.rid=m,L.id=I.run||++U.once,x=U.pass,(U.pass={})[q]=1,I.out=I.out||{get:{}},B.on("out",I.out),U.pass=x,C}else{if(typeof w=="number")return this.get(""+w,_,$);if(typeof(x=E(w))=="string")return this.get(x,_,$);(x=this.get.next)&&(C=x(this,w))}return C?(_&&typeof _=="function"&&C.get(_,$),C):((C=this.chain())._.err={err:s.log("Invalid get request!",w)},_&&_.call(C,C._.err),C)};function u(w,_){var $=_._,C=$.next,x=_.chain(),k=x._;return C||(C=$.next={}),C[k.get=w]=k,_===$.root.$?k.soul=w:($.soul||$.has)&&(k.has=w),k}function d(w,_,$,C){var x=w._,k=0,B;return(B=x.soul||x.link)?_(B,C,x):x.jam?x.jam.push([_,C]):(x.jam=[[_,C]],w.get(function(I,U){if(!(b===I.put&&!x.root.opt.super&&(B=Object.keys(x.root.opt.peers).length)&&++k<=B)){U.rid(I);var q=(q=I.$)&&q._||{},V=0,z;for(B=x.jam,delete x.jam;z=B[V++];){var re=z[0],L;z=z[1],re&&re(L=q.link||q.soul||s.valid(I.put)||((I.put||{})._||{})["#"],z,I,U)}}},{out:{get:{".":!0}}}),w)}function m(w){var _=this.at||this.on;if(!w||_.soul||_.has)return this.off();if(w=(w=(w=w.$||w)._||w).id){var $=_.map,C,x;if(C=(x=this.seen||(this.seen={}))[w])return!0;x[w]=!0}}var y={},E=s.valid,b})(n,"./get"),n(function(i){var s=n("./root");s.chain.put=function(k,B,O){var I=this,U=I._,q=U.root;O=O||{},O.root=U.root,O.run||(O.run=q.once),u(O,U.id),O.ack=O.ack||B,O.via=O.via||I,O.data=O.data||k,O.soul||(O.soul=U.soul||typeof B=="string"&&B);var V=O.state=O.state||s.state();return typeof k=="function"?(k(function(z){O.data=z,I.put(E,E,O)}),I):O.soul?(O.$=q.$.get(O.soul),O.todo=[{it:O.data,ref:O.$}],O.turn=O.turn||_,O.ran=O.ran||d,function z(){var re=O.todo,L=re.pop(),J=L.it,le=L.ref&&L.ref._.id,ae,R,M,Q,X;if(u(O,L.ref),(Q=L.todo)&&(R=Q.pop(),J=J[R],Q.length&&re.push(L)),R&&(re.path||(re.path=[])).push(R),!(ae=$(J))&&!(X=s.is(J))){if(!Object.plain(J)){d.err(O,"Invalid data: "+y(J)+" at "+(O.via.back(function(me){me.get&&Q.push(me.get)},Q=[])||Q.join("."))+"."+(re.path||[]).join("."));return}for(var ne=O.seen||(O.seen=[]),Ae=ne.length;Ae--;)if(J===(Q=ne[Ae]).it){ae=J=Q.link;break}}if(R&&ae)L.node=C(L.node,R,V,J);else{let me=function(ve,De){var At=M.link["#"];De&&(De.off(),De.rid(ve));var Ke=At||ve.soul||(Q=(ve.$$||ve.$)._||"").soul||Q.link||((Q=Q.put||"")._||"")["#"]||Q["#"]||((Q=ve.put||"")&&ve.$$?Q["#"]:(Q["="]||Q[":"]||"")["#"]);if(!At&&u(O,ve.$),!Ke&&!L.link["#"]){(L.wait||(L.wait=[])).push(function(){me(ve,De)});return}Ke||(Ke=[],(ve.$$||ve.$).back(function(ze){if(Q=ze.soul||ze.link)return Ke.push(Q);Ke.push(ze.get)}),Ke=Ke.reverse().join("/")),M.link["#"]=Ke,!X&&(((O.graph||(O.graph={}))[Ke]=M.node||(M.node={_:{}}))._["#"]=Ke),delete O.wait[te],M.wait&&setTimeout.each(M.wait,function(ze){ze&&ze()}),O.ran(O)};var de=me;if(!O.seen){d.err(O,"Data at root of graph must be a node (an object).");return}O.seen.push(M={it:J,link:{},todo:X?[]:Object.keys(J).sort().reverse(),path:(re.path||[]).slice(),up:L}),L.node=C(L.node,R,V,M.link),!X&&M.todo.length&&re.push(M);var te=O.seen.length;(O.wait||(O.wait={}))[te]="",Q=(M.ref=X?J:R?L.ref.get(R):L.ref)._,(Q=J&&(J._||"")["#"]||Q.soul||Q.link)?me({soul:Q}):M.ref.get(me,{run:O.run,v2020:1,out:{get:{".":" "}}})}if(!re.length)return O.ran(O);O.turn(z)}(),I):(m(O),I)};function u(k,B){if(B){B=(B._||"").id||B;var O=k.root.stun||(k.root.stun={on:s.on}),I={},U;k.stun||(k.stun=O.on("stun",function(){})),(U=O.on(""+B))&&U.the.last.next(I),!(I.run>=k.run)&&O.on(""+B,function(q){if(k.stun.end){this.off(),this.to.next(q);return}q.run=q.run||k.run,q.stun=q.stun||k.stun})}}function d(k){if(k.err){d.end(k.stun,k.root);return}if(!(k.todo.length||k.end||!Object.empty(k.wait))){k.end=1;var B=k.$.back(-1)._,O=B.root,I=B.ask(function(z){O.on("ack",z),z.err&&!z.lack&&s.log(z),++U>(k.acks||0)&&this.off(),k.ack&&k.ack(z,this)},k.opt),U=0,q=k.stun,V;(V=function(){q&&(d.end(q,O),setTimeout.each(Object.keys(q=q.add||""),function(z){(z=q[z])&&z()}))}).hatch=V,k.ack&&!k.ok&&(k.ok=k.acks||9),k.via._.on("out",{put:k.out=k.graph,ok:k.ok&&{"@":k.ok+1},opt:k.opt,"#":I,_:V})}}d.end=function(k,B){k.end=w,k.the.to===k&&k===k.the.last&&delete B.stun,k.off()},d.err=function(k,B){(k.ack||w).call(k,k.out={err:k.err=s.log(B)}),k.ran(k)};function m(k){var B=k.via._,O;k.via=k.via.back(function(I){if(I.soul||!I.get)return I.$;O=k.data,(k.data={})[I.get]=O}),(!k.via||!k.via._.soul)&&(k.via=B.root.$.get(((k.data||"")._||"")["#"]||B.$.back("opt.uuid")())),k.via.put(k.data,k.ack,k)}function y(k,B){return k&&(B=k.constructor)&&B.name||typeof k}var E,b={},w=function(){},_=setTimeout.turn,$=s.valid,C=s.state.ify,x=function(k,B){k.call(B||b)}})(n,"./put"),n(function(i){var s=n("./root");n("./chain"),n("./back"),n("./put"),n("./get"),i.exports=s})(n,"./index"),n(function(i){var s=n("./index");s.chain.on=function(E,b,w,_){var $=this,C=$._,x=C.root,k,B,O,I;if(typeof E=="string")return b?(k=C.on(E,b,w||C,_),w&&w.$&&(w.subs||(w.subs=[])).push(k),$):C.on(E);var U=b;(U=U===!0?{change:!0}:U||{}).not=1,U.on=1;var q={};return $.get(E,U),$},s.chain.once=function(E,b){if(b=b||{},!E)return u(this,b);var w=this,_=w._,$=_.root,C=_.put,x=String.random(7),k,B;return w.get(function(O,I,U,q){var V=this,z=V._,re=z.one||(z.one={});if(q.stun||re[x]==="")return;if((B=s.valid(O))===!0){L();return}if(typeof B=="string")return;clearTimeout((_.one||"")[x]),clearTimeout(re[x]),re[x]=setTimeout(L,b.wait||99);function L(J){if(!z.has&&!z.soul&&(z={put:O,get:I}),y===(B=z.put)&&(B=((U.$$||"")._||"").put),typeof s.valid(B)=="string"&&(B=$.$.get(B)._.put,B===y&&!J)){re[x]=setTimeout(function(){L(1)},b.wait||99);return}q.stun||re[x]!==""&&(re[x]="",(_.soul||_.has)&&q.off(),E.call(V,B,z.get),clearTimeout(re[x]))}},{on:1}),w};function u(E,b,w){return s.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."),(w=E.chain())._.nix=E.once(function(_,$){w._.on("in",this._)}),w._.lex=E._.lex,w}s.chain.off=function(){var E=this,b=E._,w,_=b.back;if(_)return b.ack=0,(w=_.next)&&w[b.get]&&delete w[b.get],(w=_.any)&&(delete _.any,_.any={}),(w=_.ask)&&delete w[b.get],(w=_.put)&&delete w[b.get],(w=b.soul)&&delete _.root.graph[w],(w=b.map)&&Object.keys(w).forEach(function($,C){C=w[$],C.link&&_.root.$.get(C.link).off()}),(w=b.next)&&Object.keys(w).forEach(function($,C){C=w[$],C.$.off()}),b.on("off",{}),E};var d={},m=function(){},y})(n,"./on"),n(function(i){var s=n("./index"),u=s.chain.get.next;s.chain.get.next=function(b,w){var _;return Object.plain(w)?(_=((_=w["#"])||"")["="]||_)?b.get(_):((_=b.chain()._).lex=w,b.on("in",function($){String.match($.get||($.put||"")["."],w["."]||w["#"]||w)&&_.on("in",$),this.to.next($)}),_.$):(u||m)(b,w)},s.chain.map=function(b,w,_){var $=this,C=$._,x,k;return Object.plain(b)&&(x=b["."]?b:{".":b},b=E),b?(s.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."),k=$.chain(),$.map().on(function(B,O,I,U){var q=(b||m).call(this,B,O,I,U);if(E!==q){if(B===q)return k._.on("in",I);if(s.is(q))return k._.on("in",q._);var V={};Object.keys(I.put).forEach(function(z){V[z]=I.put[z]},V),V["="]=q,k._.on("in",{get:O,put:V})}}),k):((k=C.each)||((C.each=k=$.chain())._.lex=x||k._.lex||C.lex,k._.nix=$.back("nix"),$.on("in",d,k._)),k)};function d(b){this.to.next(b);var w=this.as,_=b.$,$=_._,C=b.put,x;!$.soul&&!b.$$||(x=w.lex)&&!String.match(b.get||(C||"")["."],x["."]||x["#"]||x)||s.on.link(b,w)}var m=function(){},y={stun:m,off:m},E})(n,"./map"),n(function(i){var s=n("./index");s.chain.set=function(u,d,m){var y=this,E=y.back(-1),b,w;return d=d||function(){},m=m||{},m.item=m.item||u,(b=((u||"")._||"")["#"])&&((u={})["#"]=b),typeof(w=s.valid(u))=="string"?y.get(b=w).put(u,d,m):s.is(u)?(y.put(function(_){u.get(function($,C,x){if(!$)return d.call(y,{err:s.log('Only a node can be linked! Not "'+x.put+'"!')});(w={})[$]={"#":$},_(w)},!0)}),u):(Object.plain(u)&&(u=E.get(b=y.back("opt.uuid")()).put(u)),y.get(b||E.back("opt.uuid")(7)).put(u,d,m))}})(n,"./set"),n(function(i){n("./shim");var s=function(){},u=JSON.parseAsync||function(w,_,$){var C,x=+new Date;try{_(C,JSON.parse(w,$),d.sucks(+new Date-x))}catch(k){_(k)}},d=JSON.stringifyAsync||function(w,_,$,C){var x,k=+new Date;try{_(x,JSON.stringify(w,$,C),d.sucks(+new Date-k))}catch(B){_(B)}};d.sucks=function(w){w>99&&(console.log("Warning: JSON blocking CPU detected. Add `gun/lib/yson.js` to fix."),d.sucks=s)};function m(w){var _=function(){},$=w.opt||{};$.log=$.log||console.log,$.gap=$.gap||$.wait||0,$.max=$.max||($.memory?$.memory*999*999:3e8)*.3,$.pack=$.pack||$.max*.01*.01,$.puff=$.puff||9;var C=setTimeout.turn||setTimeout,x=w.dup,k=x.check,B=x.track,O=+new Date,I=O,U=_.hear=function(L,J){if(L){if($.max<=L.length)return _.say({dam:"!",err:"Message too big!"},J);_===this&&(U.d+=L.length||0,++U.c);var le=J.SH=+new Date,ae=L[0],R;if(ae==="["){u(L,function(M,Q){if(M||!Q)return _.say({dam:"!",err:"DAM JSON parse error."},J);console.STAT&&console.STAT(+new Date,Q.length,"# on hear batch");var X=$.puff;(function ne(){for(var Ae=+new Date,te=0,de;te<X&&(de=Q[te++]);)_.hear(de,J);Q=Q.slice(te),console.STAT&&console.STAT(Ae,+new Date-Ae,"hear loop"),V(J),Q.length&&C(ne,0)})()}),L="";return}if(ae==="{"||(L["#"]||Object.plain(L))&&(R=L)){if(R)return U.one(R,J,le);u(L,function(M,Q){if(M||!Q)return _.say({dam:"!",err:"DAM JSON parse error."},J);U.one(Q,J,le)});return}}};U.one=function(L,J,ne){var ae,R,M,Q,X;if(L.DBG&&(L.DBG=X={DBG:L.DBG}),X&&(X.h=ne),X&&(X.hp=+new Date),(ae=L["#"])||(ae=L["#"]=String.random(9)),!(M=k(ae))&&(R=L["##"],!(R&&(M=L["@"]||L.get&&ae)&&x.check(Q=M+R)))){if((L._=function(){}).via=_.leap=J,(M=L["><"])&&typeof M=="string"&&M.slice(0,99).split(",").forEach(function(Ae){this[Ae]=1},L._.yo={}),M=L.dam){(M=_.hear[M])&&M(L,J,w),B(ae);return}(M=L.ok)&&(L._.near=M["/"]);var ne=+new Date;X&&(X.is=ne),J.SI=ae,B.ed=function(Ae){ae===Ae&&(B.ed=0,(Ae=x.s[ae])&&(Ae.via=J,L.get&&(Ae.it=L)))},w.on("in",_.last=L),X&&(X.hd=+new Date),console.STAT&&console.STAT(ne,+new Date-ne,L.get?"msg get":L.put?"msg put":"msg"),B(ae),Q&&B(Q),_.leap=_.last=null}};var q=function(L,J,le){le(L,!0)};U.c=U.d=0,function(){var L=0,J;_.hash=function(M,Q){var X,ne,Ae,te=+new Date;d(M.put,function de(me,ve){var De=(ne||(ne=Ae=ve||"")).slice(0,32768);if(X=String.hash(De,X),ne=ne.slice(32768),ne){C(de,0);return}console.STAT&&console.STAT(te,+new Date-te,"say json+hash"),M._.$put=Ae,M["##"]=X,_.say(M,Q),delete M._.$put},le)};function le(M,Q){var X;return Q instanceof Object?(Object.keys(Q).sort().forEach(ae,{to:X={},on:Q}),X):Q}function ae(M){this.to[M]=this.on[M]}var R=_.say=function(M,Q){var X;if((X=this)&&(X=X.to)&&X.next&&X.next(M),!M)return!1;var ne,Ae,te,de=M["@"],me=M._||(M._=function(){}),ve=M.DBG,De=+new Date;if(me.y=me.y||De,Q||ve&&(ve.y=De),(ne=M["#"])||(ne=M["#"]=String.random(9)),!J&&B(ne),!(Ae=M["##"])&&b!==M.put&&!me.via&&de){_.hash(M,Q);return}if(!Q&&de&&(Q=(X=x.s[de])&&(X.via||(X=X.it)&&(X=X._)&&X.via)||(X=_.last)&&de===X["#"]&&_.leap),!Q&&de)return x.s[de]?void 0:(console.STAT&&console.STAT(+new Date,++L,"total no peer to ack to"),!1);if(de&&!M.put&&!Ae&&((x.s[de]||"").it||"")["##"])return!1;if(!Q&&_.way)return _.way(M);if(ve&&(ve.yh=+new Date),!(te=me.raw)){_.raw(M,Q);return}if(ve&&(ve.yr=+new Date),!Q||!Q.id){if(!Object.plain(Q||$.peers))return!1;var De=+new Date,At=$.puff,Ke=$.peers,ze=Object.keys(Q||$.peers||{});console.STAT&&console.STAT(De,+new Date-De,"peer keys"),function CA(){var sA=+new Date;J=1;var aA=me.raw;me.raw=te;for(var SA=0,DA;SA<9&&(DA=(ze||"")[SA++]);)(DA=Ke[DA]||(Q||"")[DA])&&_.say(M,DA);me.raw=aA,J=0,ze=ze.slice(SA),console.STAT&&console.STAT(sA,+new Date-sA,"say loop"),ze.length&&(C(CA,0),de&&B(de))}();return}if(!Q.wire&&_.wire&&_.wire(Q),ne!==Q.last){if(Q.last=ne,Q===me.via||(X=me.yo)&&(X[Q.url]||X[Q.pid]||X[Q.id]))return!1;if(console.STAT&&console.STAT(De,((ve||me).yp=+new Date)-(me.y||De),"say prep"),!J&&de&&B(de),Q.batch){if(Q.tail=(X=Q.tail||0)+te.length,Q.tail<=$.pack){Q.batch+=(X?",":"")+te;return}V(Q)}Q.batch="[";var gt=+new Date;setTimeout(function(){console.STAT&&console.STAT(gt,+new Date-gt,"0ms TO"),V(Q)},$.gap),z(te,Q),console.STAT&&de===Q.SI&&console.STAT(De,+new Date-Q.SH,"say ack")}};_.say.c=_.say.d=0,_.raw=function(M,Q){if(!M)return"";var X=M._||{},ne,Ae;if(Ae=X.raw)return Ae;if(typeof M=="string")return M;var te=M["##"],de=M["@"];if(te&&de){if(!X.via&&k(de+te))return!1;if(Ae=(x.s[de]||"").it){if(te===Ae["##"])return!1;Ae["##"]||(Ae["##"]=te)}}if(!M.dam&&!M["@"]){var me=0,ve=[];Ae=$.peers;for(var De in Ae){var At=Ae[De];if(ve.push(At.url||At.pid||At.id),++me>6)break}me>1&&(M["><"]=ve.join())}if(M.put&&(Ae=M.ok)&&(M.ok={"@":(Ae["@"]||1)-1,"/":Ae["/"]==M._.near?_.near:Ae["/"]}),ne=X.$put){Ae={},Object.keys(M).forEach(function(ze){Ae[ze]=M[ze]}),Ae.put=":])([:",d(Ae,function(ze,gt){if(!ze){var JA=+new Date;Ae=gt.indexOf('"put":":])([:"'),Ke(b,gt=gt.slice(0,Ae+6)+ne+gt.slice(Ae+14)),console.STAT&&console.STAT(JA,+new Date-JA,"say slice")}});return}d(M,Ke);function Ke(ze,gt){ze||(X.raw=gt,_.say(M,Q))}}}();function V(L){var J=L.batch,le=typeof J=="string",ae;if(le&&(J+="]"),L.batch=L.tail=null,!!J&&!(le?3>J.length:!J.length)){if(!le)try{J=J.length===1?J[0]:JSON.stringify(J)}catch(R){return $.log("DAM JSON stringify error",R)}J&&z(J,L)}}function z(L,J){try{var le=J.wire;J.say?J.say(L):le.send&&le.send(L),_.say.d+=L.length||0,++_.say.c}catch{(J.queue=J.queue||[]).push(L)}}_.near=0,_.hi=function(L){var J=L.wire,le;if(!J){_.wire(L.length&&{url:L,id:L}||L);return}L.id?$.peers[L.url||L.id]=L:(le=L.id=L.id||L.url||String.random(9),_.say({dam:"?",pid:w.opt.pid},$.peers[le]=L),delete x.s[L.last]),L.met||(_.near++,L.met=+new Date,w.on("hi",L)),le=L.queue,L.queue=[],setTimeout.each(le||[],function(ae){z(ae,L)},0,9)},_.bye=function(L){L.met&&--_.near,delete L.met,w.on("bye",L);var J=+new Date;J=J-(L.met||J),_.bye.time=((_.bye.time||J)+J)/2},_.hear["!"]=function(L,J){$.log("Error:",L.err)},_.hear["?"]=function(L,J){L.pid&&(J.pid||(J.pid=L.pid),L["@"])||(_.say({dam:"?",pid:$.pid,"@":L["#"]},J),delete x.s[J.last])},_.hear.mob=function(L,J){if(L.peers){var le=Object.keys(L.peers),ae=le[Math.random()*le.length>>0];ae&&(_.bye(J),_.hi(ae))}},w.on("create",function(L){L.opt.pid=L.opt.pid||String.random(9),this.to.next(L),L.on("out",_.say)}),w.on("bye",function(L,J){L=$.peers[L.id||L]||L,this.to.next(L),L.bye?L.bye():(J=L.wire)&&J.close&&J.close(),delete $.peers[L.id],L.wire=null});var re={};return w.on("bye",function(L,J){this.to.next(L),(J=console.STAT)&&(J.peers=_.near),(J=L.url)&&(re[J]=!0,setTimeout(function(){delete re[J]},$.lack||9e3))}),w.on("hi",function(L,J){if(this.to.next(L),(J=console.STAT)&&(J.peers=_.near),!$.super){var le=Object.keys(w.next||"");le.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(le,function(ae){var R=w.next[ae];if($.super||(R.ask||"")[""]){_.say({get:{"#":ae}},L);return}setTimeout.each(Object.keys(R.ask||""),function(M){M&&_.say({"##":String.hash((w.graph[ae]||"")[M]),get:{"#":ae,".":M}},L)})})}}),_}var y={},E=!0,b;try{i.exports=m}catch{}})(n,"./mesh"),n(function(i){var s=n("./index");s.Mesh=n("./mesh"),s.on("opt",function(m){if(this.to.next(m),m.once)return;var y=m.opt;if(y.WebSocket===!1)return;var E=s.window||{},b=y.WebSocket||E.WebSocket||E.webkitWebSocket||E.mozWebSocket;if(!b)return;y.WebSocket=b;var w=y.mesh=y.mesh||s.Mesh(m),_=w.wire||y.wire;w.wire=y.wire=$;function $(B){try{if(!B||!B.url)return I&&I(B);var O=B.url.replace(/^http/,"ws"),I=B.wire=new y.WebSocket(O);return I.onclose=function(){x(B),y.mesh.bye(B)},I.onerror=function(U){x(B)},I.onopen=function(){y.mesh.hi(B)},I.onmessage=function(U){U&&y.mesh.hear(U.data||U,B)},I}catch{y.mesh.bye(B)}}setTimeout(function(){!y.super&&m.on("out",{dam:"hi"})},1);var C=2*999;function x(B){clearTimeout(B.defer),y.peers[B.url]&&(k&&B.retry<=0||(B.retry=(B.retry||y.retry+1||60)-(-B.tried+(B.tried=+new Date)<C*4?1:0),B.defer=setTimeout(function O(){if(k&&k.hidden)return setTimeout(O,C);$(B)},C)))}var k=""+d!=typeof document&&document});var u=function(){},d})(n,"./websocket"),n(function(i){if(!(typeof Gun>"u")){var s=function(){},u,d;try{u=(Gun.window||s).localStorage}catch{}u||(Gun.log("Warning: No localStorage exists to persist data to!"),u={setItem:function(E,b){this[E]=b},removeItem:function(E){delete this[E]},getItem:function(E){return this[E]}});var m=JSON.parseAsync||function(E,b,w){var _;try{b(_,JSON.parse(E,w))}catch($){b($)}},y=JSON.stringifyAsync||function(E,b,w,_){var $;try{b($,JSON.stringify(E,w,_))}catch(C){b(C)}};Gun.on("create",function E(b){this.to.next(b);var w=b.opt,_=b.graph,$=[],C,x,k,B;if(w.localStorage===!1)return;w.prefix=w.file||"gun/";try{C=E[w.prefix]=E[w.prefix]||JSON.parse(k=u.getItem(w.prefix))||{}}catch{C=E[w.prefix]={}}k=(k||"").length,b.on("get",function(I){this.to.next(I);var U=I.get,q,V,z,re;!U||!(q=U["#"])||(V=C[q]||re,V&&(z=U["."])&&!Object.plain(z)&&(V=Gun.state.ify({},z,Gun.state.is(V,z),V[z],q)),Gun.on.get.ack(I,V))}),b.on("put",function(I){this.to.next(I);var U=I.put,q=U["#"],V=U["."],z=I["#"],re=I.ok||"",L;if(C[q]=Gun.state.ify(C[q],V,U[">"],U[":"],q),B&&k>4999880){b.on("in",{"@":z,err:"localStorage max!"});return}!I["@"]&&(!I._.via||Math.random()<re["@"]/re["/"])&&$.push(z),!x&&(x=setTimeout(O,9+k/333))});function O(){if(!$.length&&((setTimeout.turn||"").s||"").length){setTimeout(O,99);return}var I,U=$;clearTimeout(x),x=!1,$=[],y(C,function(q,V){try{!q&&u.setItem(w.prefix,V)}catch(z){q=B=z||"localStorage failure"}q&&(Gun.log(q+" Consider using GUN's IndexedDB plugin for RAD for more storage space, https://gun.eco/docs/RAD#install"),b.on("localStorage:error",{err:q,get:w.prefix,put:C})),k=V.length,setTimeout.each(U,function(z){b.on("in",{"@":z,err:q,ok:0})},0,99)})}})}})(n,"./localStorage")})();(function(){var ae;if(""+ae!=typeof Gun){var n=function(R){console.warn("Warning! Deprecated internal utility will break in next version:",R)},e=Gun;e.fn=e.fn||{is:function(R){return n("fn"),!!R&&typeof R=="function"}},e.bi=e.bi||{is:function(R){return n("bi"),R instanceof Boolean||typeof R=="boolean"}},e.num=e.num||{is:function(R){return n("num"),!i(R)&&(R-parseFloat(R)+1>=0||R===1/0||R===-1/0)}},e.text=e.text||{is:function(R){return n("text"),typeof R=="string"}},e.text.ify=e.text.ify||function(R){return n("text.ify"),e.text.is(R)?R:typeof JSON<"u"?JSON.stringify(R):R&&R.toString?R.toString():R},e.text.random=e.text.random||function(R,M){n("text.random");var Q="";for(R=R||24,M=M||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";R>0;)Q+=M.charAt(Math.floor(Math.random()*M.length)),R--;return Q},e.text.match=e.text.match||function(R,M){var Q,X;return n("text.match"),typeof R!="string"?!1:(typeof M=="string"&&(M={"=":M}),M=M||{},Q=M["="]||M["*"]||M[">"]||M["<"],R===Q?!0:X!==M["="]?!1:(Q=M["*"]||M[">"]||M["<"],R.slice(0,(Q||"").length)===Q?!0:X!==M["*"]?!1:X!==M[">"]&&X!==M["<"]?R>=M[">"]&&R<=M["<"]:X!==M[">"]&&R>=M[">"]||X!==M["<"]&&R<=M["<"]))},e.text.hash=e.text.hash||function(R,M){if(n("text.hash"),typeof R=="string"){if(M=M||0,!R.length)return M;for(var Q=0,X=R.length,ne;Q<X;++Q)ne=R.charCodeAt(Q),M=(M<<5)-M+ne,M|=0;return M}},e.list=e.list||{is:function(R){return n("list"),R instanceof Array}},e.list.slit=e.list.slit||Array.prototype.slice,e.list.sort=e.list.sort||function(R){return n("list.sort"),function(M,Q){return!M||!Q?0:(M=M[R],Q=Q[R],M<Q?-1:M>Q?1:0)}},e.list.map=e.list.map||function(R,M,Q){return n("list.map"),J(R,M,Q)},e.list.index=1,e.obj=e.boj||{is:function(R){return n("obj"),R?R instanceof Object&&R.constructor===Object||Object.prototype.toString.call(R).match(/^\[object (\w+)\]$/)[1]==="Object":!1}},e.obj.put=e.obj.put||function(R,M,Q){return n("obj.put"),(R||{})[M]=Q,R},e.obj.has=e.obj.has||function(R,M){return n("obj.has"),R&&Object.prototype.hasOwnProperty.call(R,M)},e.obj.del=e.obj.del||function(R,M){if(n("obj.del"),!!R)return R[M]=null,delete R[M],R},e.obj.as=e.obj.as||function(R,M,Q,X){return n("obj.as"),R[M]=R[M]||(X===Q?{}:Q)},e.obj.ify=e.obj.ify||function(R){if(n("obj.ify"),q(R))return R;try{R=JSON.parse(R)}catch{R={}}return R},function(){var R;function M(Q,X){z(this,X)&&R!==this[X]||(this[X]=Q)}e.obj.to=e.obj.to||function(Q,X){return n("obj.to"),X=X||{},J(Q,M,X),X}}(),e.obj.copy=e.obj.copy||function(R){return n("obj.copy"),R&&JSON.parse(JSON.stringify(R))},function(){function R(M,Q){var X=this.n,ne;if(!(X&&(Q===X||q(X)&&z(X,Q)))&&ne!==Q)return!0}e.obj.empty=e.obj.empty||function(M,Q){return n("obj.empty"),M?!J(M,R,{n:Q}):!0}}(),function(){function R(ne,Ae){if(arguments.length===2){R.r=R.r||{},R.r[ne]=Ae;return}R.r=R.r||[],R.r.push(ne)}var M=Object.keys,Q,X;Object.keys=Object.keys||function(ne){return Q(ne,function(Ae,te,de){de(te)})},e.obj.map=Q=e.obj.map||function(ne,Ae,te){n("obj.map");var de,me=0,ve,De,At,Ke,ze=typeof Ae=="function";if(R.r=de,M&&q(ne)&&(At=M(ne),Ke=!0),te=te||{},i(ne)||At)for(ve=(At||ne).length;me<ve;me++){var gt=me+e.list.index;if(ze){if(De=Ke?Ae.call(te,ne[At[me]],At[me],R):Ae.call(te,ne[me],gt,R),De!==de)return De}else if(Ae===ne[Ke?At[me]:me])return At?At[me]:gt}else for(me in ne)if(ze){if(z(ne,me)&&(De=te?Ae.call(te,ne[me],me,R):Ae(ne[me],me,R),De!==de))return De}else if(Ae===ne[me])return me;return ze?R.r:e.list.index?0:-1}}(),e.time=e.time||{},e.time.is=e.time.is||function(R){return n("time"),R?R instanceof Date:+new Date().getTime()};var I=e.fn.is,i=e.list.is,U=e.obj,q=U.is,z=U.has,J=U.map,s={};s.is=function(R){return n("val.is"),R===ae?!1:R===null?!0:R===1/0?!1:m(R)||d(R)||x(R)?!0:s.link.is(R)||!1},s.link=s.rel={_:"#"},function(){s.link.is=function(M){if(n("val.link.is"),M&&M[u]&&!M._&&q(M)){var Q={};if(J(M,R,Q),Q.id)return Q.id}return!1};function R(M,Q){var X=this;if(X.id)return X.id=!1;if(Q==u&&m(M))X.id=M;else return X.id=!1}}(),s.link.ify=function(R){return n("val.link.ify"),L({},u,R)},e.obj.has._=".";var u=s.link._,ae,d=e.bi.is,x=e.num.is,m=e.text.is,U=e.obj,q=U.is,L=U.put,J=U.map;e.val=e.val||s;var y={_:"_"};y.soul=function(R,M){return n("node.soul"),R&&R._&&R._[M||w]},y.soul.ify=function(R,M){return n("node.soul.ify"),M=typeof M=="string"?{soul:M}:M||{},R=R||{},R._=R._||{},R._[w]=M.soul||R._[w]||b(),R},y.soul._=s.link._,function(){y.is=function(M,Q,X){n("node.is");var ne;return q(M)&&(ne=y.soul(M))?!J(M,R,{as:X,cb:Q,s:ne,n:M}):!1};function R(M,Q){if(Q!==y._){if(!s.is(M))return!0;this.cb&&this.cb.call(this.as,M,Q,this.n,this.s)}}}(),function(){y.ify=function(M,Q,X){return n("node.ify"),Q?typeof Q=="string"?Q={soul:Q}:typeof Q=="function"&&(Q={map:Q}):Q={},Q.map&&(Q.node=Q.map.call(X,M,ae,Q.node||{})),(Q.node=y.soul.ify(Q.node||{},Q))&&J(M,R,{o:Q,as:X}),Q.node};function R(M,Q){var X=this.o,ne,Ae;if(X.map){ne=X.map.call(this.as,M,""+Q,X.node),Ae===ne?V(X.node,Q):X.node&&(X.node[Q]=ne);return}s.is(M)&&(X.node[Q]=M)}}();var U=e.obj,q=U.is,V=U.del,J=U.map,E=e.text,b=E.random,w=y.soul._,ae;e.node=e.node||y;var _=e.state;_.lex=function(){return n("state.lex"),_().toString(36).replace(".","")},_.to=function(R,M,Q){n("state.to");var X=(R||{})[M];return q(X)&&(X=le(X)),_.ify(Q,M,_.is(R,M),X,y.soul(R))},function(){_.map=function(M,Q,X){n("state.map");var ne,Ae=q(Ae=M||Q)?Ae:null;return M=I(M=M||Q)?M:null,Ae&&!M?(Q=x(Q)?Q:_(),Ae[B]=Ae[B]||{},J(Ae,R,{o:Ae,s:Q}),Ae):(X=X||q(Q)?Q:ne,Q=x(Q)?Q:_(),function(te,de,me,ve){if(!M)return R.call({o:me,s:Q},te,de),te;M.call(X||this||{},te,de,me,ve),!(z(me,de)&&ne===me[de])&&R.call({o:me,s:Q},te,de)})};function R(M,Q){B!==Q&&_.ify(this.o,Q,this.s)}}();var U=e.obj,$=U.as,z=U.has,q=U.is,J=U.map,le=U.copy,C=e.num,x=C.is,k=e.fn,I=k.is,B=y._,ae,O={};(function(){O.is=function(Q,X,ne,Ae){return n("graph.is"),!Q||!q(Q)||re(Q)?!1:!J(Q,R,{cb:X,fn:ne,as:Ae})};function R(Q,X){if(!Q||X!==y.soul(Q)||!y.is(Q,this.fn,this.as))return!0;this.cb&&(M.n=Q,M.as=this.as,this.cb.call(M.as,Q,X,M))}function M(Q){Q&&y.is(M.n,Q,M.as)}})(),function(){O.ify=function(Ae,te,de){n("graph.ify");var me={path:[],obj:Ae};return te?typeof te=="string"?te={soul:te}:typeof te=="function"&&(te.map=te):te={},typeof de=="string"&&(te.soul=te.soul||de,de=ae),te.soul&&(me.link=s.link.ify(te.soul)),te.shell=(de||{}).shell,te.graph=te.graph||{},te.seen=te.seen||[],te.as=te.as||de,R(te,me),te.root=me.node,te.graph};function R(Ae,te){var de;return(de=ne(Ae,te))?de:(te.env=Ae,te.soul=Q,y.ify(te.obj,M,te)&&(te.link=te.link||s.link.ify(y.soul(te.node)),te.obj!==Ae.shell&&(Ae.graph[s.link.is(te.link)]=te.node)),te)}function M(Ae,te,de){var me=this,ve=me.env,De,At;if(y._===te&&z(Ae,s.link._))return de._;if(De=X(Ae,te,de,me,ve)){if(te||(me.node=me.node||de||{},z(Ae,y._)&&y.soul(Ae)&&(me.node._=le(Ae._)),me.node=y.soul.ify(me.node,s.link.is(me.link)),me.link=me.link||s.link.ify(y.soul(me.node))),(At=ve.map)&&(At.call(ve.as||{},Ae,te,de,me),z(de,te))){if(Ae=de[te],ae===Ae){V(de,te);return}if(!(De=X(Ae,te,de,me,ve)))return}if(!te)return me.node;if(De===!0)return Ae;if(At=R(ve,{obj:Ae,path:me.path.concat(te)}),!!At.node)return At.link}}function Q(Ae){var te=this,de=s.link.is(te.link),me=te.env.graph;te.link=te.link||s.link.ify(Ae),te.link[s.link._]=Ae,te.node&&te.node[y._]&&(te.node[y._][s.link._]=Ae),z(me,de)&&(me[Ae]=me[de],V(me,de))}function X(Ae,te,de,me,ve){var De;if(s.is(Ae))return!0;if(q(Ae))return 1;if(De=ve.invalid)return Ae=De.call(ve.as||{},Ae,te,de),X(Ae,te,de,me,ve);ve.err="Invalid value at '"+me.path.concat(te).join(".")+"'!",e.list.is(Ae)&&(ve.err+=" Use `.set(item)` instead of an Array.")}function ne(Ae,te){for(var de=Ae.seen,me=de.length,ve;me--;)if(ve=de[me],te.obj===ve.obj)return ve;de.push(te)}}(),O.node=function(R){n("graph.node");var M=y.soul(R);if(M)return L({},M,R)},function(){O.to=function(M,Q,X){if(n("graph.to"),!!M){var ne={};return X=X||{seen:{}},J(M[Q],R,{obj:ne,graph:M,opt:X}),ne}};function R(M,Q){var X,ne;if(y._===Q){if(re(M,s.link._))return;this.obj[Q]=le(M);return}if(!(X=s.link.is(M))){this.obj[Q]=M;return}if(ne=this.opt.seen[X]){this.obj[Q]=ne;return}this.obj[Q]=this.opt.seen[X]=O.to(this.graph,X,this.opt)}}();var I=e.fn.is,U=e.obj,q=U.is,V=U.del,z=U.has,re=U.empty,L=U.put,J=U.map,le=U.copy,ae;e.graph=e.graph||O}})()});var ed=pe((aC,Zc)=>{Zc.exports=Xc()});var yo=pe(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.regexpCode=nt.getEsmExportName=nt.getProperty=nt.safeStringify=nt.stringify=nt.strConcat=nt.addCodeArg=nt.str=nt._=nt.nil=nt._Code=nt.Name=nt.IDENTIFIER=nt._CodeOrName=void 0;var mo=class{};nt._CodeOrName=mo;nt.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var _n=class extends mo{constructor(e){if(super(),!nt.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};nt.Name=_n;var hA=class extends mo{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((i,s)=>`${i}${s}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((i,s)=>(s instanceof _n&&(i[s.str]=(i[s.str]||0)+1),i),{})}};nt._Code=hA;nt.nil=new hA("");function td(n,...e){let i=[n[0]],s=0;for(;s<e.length;)q0(i,e[s]),i.push(n[++s]);return new hA(i)}nt._=td;var L0=new hA("+");function Ad(n,...e){let i=[go(n[0])],s=0;for(;s<e.length;)i.push(L0),q0(i,e[s]),i.push(L0,go(n[++s]));return fw(i),new hA(i)}nt.str=Ad;function q0(n,e){e instanceof hA?n.push(...e._items):e instanceof _n?n.push(e):n.push(hw(e))}nt.addCodeArg=q0;function fw(n){let e=1;for(;e<n.length-1;){if(n[e]===L0){let i=cw(n[e-1],n[e+1]);if(i!==void 0){n.splice(e-1,3,i);continue}n[e++]="+"}e++}}function cw(n,e){if(e==='""')return n;if(n==='""')return e;if(typeof n=="string")return e instanceof _n||n[n.length-1]!=='"'?void 0:typeof e!="string"?`${n.slice(0,-1)}${e}"`:e[0]==='"'?n.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(n instanceof _n))return`"${n}${e.slice(1)}`}function dw(n,e){return e.emptyStr()?n:n.emptyStr()?e:Ad`${n}${e}`}nt.strConcat=dw;function hw(n){return typeof n=="number"||typeof n=="boolean"||n===null?n:go(Array.isArray(n)?n.join(","):n)}function pw(n){return new hA(go(n))}nt.stringify=pw;function go(n){return JSON.stringify(n).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}nt.safeStringify=go;function mw(n){return typeof n=="string"&&nt.IDENTIFIER.test(n)?new hA(`.${n}`):td`[${n}]`}nt.getProperty=mw;function gw(n){if(typeof n=="string"&&nt.IDENTIFIER.test(n))return new hA(`${n}`);throw new Error(`CodeGen: invalid export name: ${n}, use explicit $id name mapping`)}nt.getEsmExportName=gw;function yw(n){return new hA(n.toString())}nt.regexpCode=yw});var H0=pe(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.ValueScope=Zt.ValueScopeName=Zt.Scope=Zt.varKinds=Zt.UsedValueState=void 0;var Xt=yo(),U0=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},Is;(function(n){n[n.Started=0]="Started",n[n.Completed=1]="Completed"})(Is||(Zt.UsedValueState=Is={}));Zt.varKinds={const:new Xt.Name("const"),let:new Xt.Name("let"),var:new Xt.Name("var")};var Bs=class{constructor({prefixes:e,parent:i}={}){this._names={},this._prefixes=e,this._parent=i}toName(e){return e instanceof Xt.Name?e:this.name(e)}name(e){return new Xt.Name(this._newName(e))}_newName(e){let i=this._names[e]||this._nameGroup(e);return`${e}${i.index++}`}_nameGroup(e){var i,s;if(!((s=(i=this._parent)===null||i===void 0?void 0:i._prefixes)===null||s===void 0)&&s.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Zt.Scope=Bs;var Ms=class extends Xt.Name{constructor(e,i){super(i),this.prefix=e}setValue(e,{property:i,itemIndex:s}){this.value=e,this.scopePath=(0,Xt._)`.${new Xt.Name(i)}[${s}]`}};Zt.ValueScopeName=Ms;var ww=(0,Xt._)`\n`,G0=class extends Bs{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?ww:Xt.nil}}get(){return this._scope}name(e){return new Ms(e,this._newName(e))}value(e,i){var s;if(i.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let u=this.toName(e),{prefix:d}=u,m=(s=i.key)!==null&&s!==void 0?s:i.ref,y=this._values[d];if(y){let w=y.get(m);if(w)return w}else y=this._values[d]=new Map;y.set(m,u);let E=this._scope[d]||(this._scope[d]=[]),b=E.length;return E[b]=i.ref,u.setValue(i,{property:d,itemIndex:b}),u}getValue(e,i){let s=this._values[e];if(s)return s.get(i)}scopeRefs(e,i=this._values){return this._reduceValues(i,s=>{if(s.scopePath===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return(0,Xt._)`${e}${s.scopePath}`})}scopeCode(e=this._values,i,s){return this._reduceValues(e,u=>{if(u.value===void 0)throw new Error(`CodeGen: name "${u}" has no value`);return u.value.code},i,s)}_reduceValues(e,i,s={},u){let d=Xt.nil;for(let m in e){let y=e[m];if(!y)continue;let E=s[m]=s[m]||new Map;y.forEach(b=>{if(E.has(b))return;E.set(b,Is.Started);let w=i(b);if(w){let _=this.opts.es5?Zt.varKinds.var:Zt.varKinds.const;d=(0,Xt._)`${d}${_} ${b} = ${w};${this.opts._n}`}else if(w=u?.(b))d=(0,Xt._)`${d}${w}${this.opts._n}`;else throw new U0(b);E.set(b,Is.Completed)})}return d}};Zt.ValueScope=G0});var Ge=pe(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.or=Je.and=Je.not=Je.CodeGen=Je.operators=Je.varKinds=Je.ValueScopeName=Je.ValueScope=Je.Scope=Je.Name=Je.regexpCode=Je.stringify=Je.getProperty=Je.nil=Je.strConcat=Je.str=Je._=void 0;var Ze=yo(),EA=H0(),Ir=yo();Object.defineProperty(Je,"_",{enumerable:!0,get:function(){return Ir._}});Object.defineProperty(Je,"str",{enumerable:!0,get:function(){return Ir.str}});Object.defineProperty(Je,"strConcat",{enumerable:!0,get:function(){return Ir.strConcat}});Object.defineProperty(Je,"nil",{enumerable:!0,get:function(){return Ir.nil}});Object.defineProperty(Je,"getProperty",{enumerable:!0,get:function(){return Ir.getProperty}});Object.defineProperty(Je,"stringify",{enumerable:!0,get:function(){return Ir.stringify}});Object.defineProperty(Je,"regexpCode",{enumerable:!0,get:function(){return Ir.regexpCode}});Object.defineProperty(Je,"Name",{enumerable:!0,get:function(){return Ir.Name}});var Qs=H0();Object.defineProperty(Je,"Scope",{enumerable:!0,get:function(){return Qs.Scope}});Object.defineProperty(Je,"ValueScope",{enumerable:!0,get:function(){return Qs.ValueScope}});Object.defineProperty(Je,"ValueScopeName",{enumerable:!0,get:function(){return Qs.ValueScopeName}});Object.defineProperty(Je,"varKinds",{enumerable:!0,get:function(){return Qs.varKinds}});Je.operators={GT:new Ze._Code(">"),GTE:new Ze._Code(">="),LT:new Ze._Code("<"),LTE:new Ze._Code("<="),EQ:new Ze._Code("==="),NEQ:new Ze._Code("!=="),NOT:new Ze._Code("!"),OR:new Ze._Code("||"),AND:new Ze._Code("&&"),ADD:new Ze._Code("+")};var or=class{optimizeNodes(){return this}optimizeNames(e,i){return this}},V0=class extends or{constructor(e,i,s){super(),this.varKind=e,this.name=i,this.rhs=s}render({es5:e,_n:i}){let s=e?EA.varKinds.var:this.varKind,u=this.rhs===void 0?"":` = ${this.rhs}`;return`${s} ${this.name}${u};`+i}optimizeNames(e,i){if(e[this.name.str])return this.rhs&&(this.rhs=_i(this.rhs,e,i)),this}get names(){return this.rhs instanceof Ze._CodeOrName?this.rhs.names:{}}},js=class extends or{constructor(e,i,s){super(),this.lhs=e,this.rhs=i,this.sideEffects=s}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,i){if(!(this.lhs instanceof Ze.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=_i(this.rhs,e,i),this}get names(){let e=this.lhs instanceof Ze.Name?{}:{...this.lhs.names};return Fs(e,this.rhs)}},z0=class extends js{constructor(e,i,s,u){super(e,s,u),this.op=i}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},J0=class extends or{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},K0=class extends or{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},W0=class extends or{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Y0=class extends or{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,i){return this.code=_i(this.code,e,i),this}get names(){return this.code instanceof Ze._CodeOrName?this.code.names:{}}},wo=class extends or{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((i,s)=>i+s.render(e),"")}optimizeNodes(){let{nodes:e}=this,i=e.length;for(;i--;){let s=e[i].optimizeNodes();Array.isArray(s)?e.splice(i,1,...s):s?e[i]=s:e.splice(i,1)}return e.length>0?this:void 0}optimizeNames(e,i){let{nodes:s}=this,u=s.length;for(;u--;){let d=s[u];d.optimizeNames(e,i)||(_w(e,d.names),s.splice(u,1))}return s.length>0?this:void 0}get names(){return this.nodes.reduce((e,i)=>En(e,i.names),{})}},sr=class extends wo{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},X0=class extends wo{},wi=class extends sr{};wi.kind="else";var vn=class n extends sr{constructor(e,i){super(i),this.condition=e}render(e){let i=`if(${this.condition})`+super.render(e);return this.else&&(i+="else "+this.else.render(e)),i}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let i=this.else;if(i){let s=i.optimizeNodes();i=this.else=Array.isArray(s)?new wi(s):s}if(i)return e===!1?i instanceof n?i:i.nodes:this.nodes.length?this:new n(rd(e),i instanceof n?[i]:i.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,i){var s;if(this.else=(s=this.else)===null||s===void 0?void 0:s.optimizeNames(e,i),!!(super.optimizeNames(e,i)||this.else))return this.condition=_i(this.condition,e,i),this}get names(){let e=super.names;return Fs(e,this.condition),this.else&&En(e,this.else.names),e}};vn.kind="if";var bn=class extends sr{};bn.kind="for";var Z0=class extends bn{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,i){if(super.optimizeNames(e,i))return this.iteration=_i(this.iteration,e,i),this}get names(){return En(super.names,this.iteration.names)}},el=class extends bn{constructor(e,i,s,u){super(),this.varKind=e,this.name=i,this.from=s,this.to=u}render(e){let i=e.es5?EA.varKinds.var:this.varKind,{name:s,from:u,to:d}=this;return`for(${i} ${s}=${u}; ${s}<${d}; ${s}++)`+super.render(e)}get names(){let e=Fs(super.names,this.from);return Fs(e,this.to)}},Ns=class extends bn{constructor(e,i,s,u){super(),this.loop=e,this.varKind=i,this.name=s,this.iterable=u}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,i){if(super.optimizeNames(e,i))return this.iterable=_i(this.iterable,e,i),this}get names(){return En(super.names,this.iterable.names)}},_o=class extends sr{constructor(e,i,s){super(),this.name=e,this.args=i,this.async=s}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};_o.kind="func";var vo=class extends wo{render(e){return"return "+super.render(e)}};vo.kind="return";var tl=class extends sr{render(e){let i="try"+super.render(e);return this.catch&&(i+=this.catch.render(e)),this.finally&&(i+=this.finally.render(e)),i}optimizeNodes(){var e,i;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(i=this.finally)===null||i===void 0||i.optimizeNodes(),this}optimizeNames(e,i){var s,u;return super.optimizeNames(e,i),(s=this.catch)===null||s===void 0||s.optimizeNames(e,i),(u=this.finally)===null||u===void 0||u.optimizeNames(e,i),this}get names(){let e=super.names;return this.catch&&En(e,this.catch.names),this.finally&&En(e,this.finally.names),e}},bo=class extends sr{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};bo.kind="catch";var Eo=class extends sr{render(e){return"finally"+super.render(e)}};Eo.kind="finally";var Al=class{constructor(e,i={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...i,_n:i.lines?`
|
|
3
|
-
`:""},this._extScope=e,this._scope=new EA.Scope({parent:e}),this._nodes=[new X0]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,i){let s=this._extScope.value(e,i);return(this._values[s.prefix]||(this._values[s.prefix]=new Set)).add(s),s}getScopeValue(e,i){return this._extScope.getValue(e,i)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,i,s,u){let d=this._scope.toName(i);return s!==void 0&&u&&(this._constants[d.str]=s),this._leafNode(new V0(e,d,s)),d}const(e,i,s){return this._def(EA.varKinds.const,e,i,s)}let(e,i,s){return this._def(EA.varKinds.let,e,i,s)}var(e,i,s){return this._def(EA.varKinds.var,e,i,s)}assign(e,i,s){return this._leafNode(new js(e,i,s))}add(e,i){return this._leafNode(new z0(e,Je.operators.ADD,i))}code(e){return typeof e=="function"?e():e!==Ze.nil&&this._leafNode(new Y0(e)),this}object(...e){let i=["{"];for(let[s,u]of e)i.length>1&&i.push(","),i.push(s),(s!==u||this.opts.es5)&&(i.push(":"),(0,Ze.addCodeArg)(i,u));return i.push("}"),new Ze._Code(i)}if(e,i,s){if(this._blockNode(new vn(e)),i&&s)this.code(i).else().code(s).endIf();else if(i)this.code(i).endIf();else if(s)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new vn(e))}else(){return this._elseNode(new wi)}endIf(){return this._endBlockNode(vn,wi)}_for(e,i){return this._blockNode(e),i&&this.code(i).endFor(),this}for(e,i){return this._for(new Z0(e),i)}forRange(e,i,s,u,d=this.opts.es5?EA.varKinds.var:EA.varKinds.let){let m=this._scope.toName(e);return this._for(new el(d,m,i,s),()=>u(m))}forOf(e,i,s,u=EA.varKinds.const){let d=this._scope.toName(e);if(this.opts.es5){let m=i instanceof Ze.Name?i:this.var("_arr",i);return this.forRange("_i",0,(0,Ze._)`${m}.length`,y=>{this.var(d,(0,Ze._)`${m}[${y}]`),s(d)})}return this._for(new Ns("of",u,d,i),()=>s(d))}forIn(e,i,s,u=this.opts.es5?EA.varKinds.var:EA.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,Ze._)`Object.keys(${i})`,s);let d=this._scope.toName(e);return this._for(new Ns("in",u,d,i),()=>s(d))}endFor(){return this._endBlockNode(bn)}label(e){return this._leafNode(new J0(e))}break(e){return this._leafNode(new K0(e))}return(e){let i=new vo;if(this._blockNode(i),this.code(e),i.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(vo)}try(e,i,s){if(!i&&!s)throw new Error('CodeGen: "try" without "catch" and "finally"');let u=new tl;if(this._blockNode(u),this.code(e),i){let d=this.name("e");this._currNode=u.catch=new bo(d),i(d)}return s&&(this._currNode=u.finally=new Eo,this.code(s)),this._endBlockNode(bo,Eo)}throw(e){return this._leafNode(new W0(e))}block(e,i){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(i),this}endBlock(e){let i=this._blockStarts.pop();if(i===void 0)throw new Error("CodeGen: not in self-balancing block");let s=this._nodes.length-i;if(s<0||e!==void 0&&s!==e)throw new Error(`CodeGen: wrong number of nodes: ${s} vs ${e} expected`);return this._nodes.length=i,this}func(e,i=Ze.nil,s,u){return this._blockNode(new _o(e,i,s)),u&&this.code(u).endFunc(),this}endFunc(){return this._endBlockNode(_o)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,i){let s=this._currNode;if(s instanceof e||i&&s instanceof i)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${i?`${e.kind}/${i.kind}`:e.kind}"`)}_elseNode(e){let i=this._currNode;if(!(i instanceof vn))throw new Error('CodeGen: "else" without "if"');return this._currNode=i.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let i=this._nodes;i[i.length-1]=e}};Je.CodeGen=Al;function En(n,e){for(let i in e)n[i]=(n[i]||0)+(e[i]||0);return n}function Fs(n,e){return e instanceof Ze._CodeOrName?En(n,e.names):n}function _i(n,e,i){if(n instanceof Ze.Name)return s(n);if(!u(n))return n;return new Ze._Code(n._items.reduce((d,m)=>(m instanceof Ze.Name&&(m=s(m)),m instanceof Ze._Code?d.push(...m._items):d.push(m),d),[]));function s(d){let m=i[d.str];return m===void 0||e[d.str]!==1?d:(delete e[d.str],m)}function u(d){return d instanceof Ze._Code&&d._items.some(m=>m instanceof Ze.Name&&e[m.str]===1&&i[m.str]!==void 0)}}function _w(n,e){for(let i in e)n[i]=(n[i]||0)-(e[i]||0)}function rd(n){return typeof n=="boolean"||typeof n=="number"||n===null?!n:(0,Ze._)`!${rl(n)}`}Je.not=rd;var vw=nd(Je.operators.AND);function bw(...n){return n.reduce(vw)}Je.and=bw;var Ew=nd(Je.operators.OR);function $w(...n){return n.reduce(Ew)}Je.or=$w;function nd(n){return(e,i)=>e===Ze.nil?i:i===Ze.nil?e:(0,Ze._)`${rl(e)} ${n} ${rl(i)}`}function rl(n){return n instanceof Ze.Name?n:(0,Ze._)`(${n})`}});var Ye=pe(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.checkStrictMode=We.getErrorPath=We.Type=We.useFunc=We.setEvaluated=We.evaluatedPropsToName=We.mergeEvaluated=We.eachItem=We.unescapeJsonPointer=We.escapeJsonPointer=We.escapeFragment=We.unescapeFragment=We.schemaRefOrVal=We.schemaHasRulesButRef=We.schemaHasRules=We.checkUnknownRules=We.alwaysValidSchema=We.toHash=void 0;var dt=Ge(),Pw=yo();function kw(n){let e={};for(let i of n)e[i]=!0;return e}We.toHash=kw;function Cw(n,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(sd(n,e),!ad(e,n.self.RULES.all))}We.alwaysValidSchema=Cw;function sd(n,e=n.schema){let{opts:i,self:s}=n;if(!i.strictSchema||typeof e=="boolean")return;let u=s.RULES.keywords;for(let d in e)u[d]||fd(n,`unknown keyword: "${d}"`)}We.checkUnknownRules=sd;function ad(n,e){if(typeof n=="boolean")return!n;for(let i in n)if(e[i])return!0;return!1}We.schemaHasRules=ad;function Sw(n,e){if(typeof n=="boolean")return!n;for(let i in n)if(i!=="$ref"&&e.all[i])return!0;return!1}We.schemaHasRulesButRef=Sw;function Dw({topSchemaRef:n,schemaPath:e},i,s,u){if(!u){if(typeof i=="number"||typeof i=="boolean")return i;if(typeof i=="string")return(0,dt._)`${i}`}return(0,dt._)`${n}${e}${(0,dt.getProperty)(s)}`}We.schemaRefOrVal=Dw;function xw(n){return ld(decodeURIComponent(n))}We.unescapeFragment=xw;function Rw(n){return encodeURIComponent(il(n))}We.escapeFragment=Rw;function il(n){return typeof n=="number"?`${n}`:n.replace(/~/g,"~0").replace(/\//g,"~1")}We.escapeJsonPointer=il;function ld(n){return n.replace(/~1/g,"/").replace(/~0/g,"~")}We.unescapeJsonPointer=ld;function Tw(n,e){if(Array.isArray(n))for(let i of n)e(i);else e(n)}We.eachItem=Tw;function id({mergeNames:n,mergeToName:e,mergeValues:i,resultToName:s}){return(u,d,m,y)=>{let E=m===void 0?d:m instanceof dt.Name?(d instanceof dt.Name?n(u,d,m):e(u,d,m),m):d instanceof dt.Name?(e(u,m,d),d):i(d,m);return y===dt.Name&&!(E instanceof dt.Name)?s(u,E):E}}We.mergeEvaluated={props:id({mergeNames:(n,e,i)=>n.if((0,dt._)`${i} !== true && ${e} !== undefined`,()=>{n.if((0,dt._)`${e} === true`,()=>n.assign(i,!0),()=>n.assign(i,(0,dt._)`${i} || {}`).code((0,dt._)`Object.assign(${i}, ${e})`))}),mergeToName:(n,e,i)=>n.if((0,dt._)`${i} !== true`,()=>{e===!0?n.assign(i,!0):(n.assign(i,(0,dt._)`${i} || {}`),ol(n,i,e))}),mergeValues:(n,e)=>n===!0?!0:{...n,...e},resultToName:ud}),items:id({mergeNames:(n,e,i)=>n.if((0,dt._)`${i} !== true && ${e} !== undefined`,()=>n.assign(i,(0,dt._)`${e} === true ? true : ${i} > ${e} ? ${i} : ${e}`)),mergeToName:(n,e,i)=>n.if((0,dt._)`${i} !== true`,()=>n.assign(i,e===!0?!0:(0,dt._)`${i} > ${e} ? ${i} : ${e}`)),mergeValues:(n,e)=>n===!0?!0:Math.max(n,e),resultToName:(n,e)=>n.var("items",e)})};function ud(n,e){if(e===!0)return n.var("props",!0);let i=n.var("props",(0,dt._)`{}`);return e!==void 0&&ol(n,i,e),i}We.evaluatedPropsToName=ud;function ol(n,e,i){Object.keys(i).forEach(s=>n.assign((0,dt._)`${e}${(0,dt.getProperty)(s)}`,!0))}We.setEvaluated=ol;var od={};function Ow(n,e){return n.scopeValue("func",{ref:e,code:od[e.code]||(od[e.code]=new Pw._Code(e.code))})}We.useFunc=Ow;var nl;(function(n){n[n.Num=0]="Num",n[n.Str=1]="Str"})(nl||(We.Type=nl={}));function Iw(n,e,i){if(n instanceof dt.Name){let s=e===nl.Num;return i?s?(0,dt._)`"[" + ${n} + "]"`:(0,dt._)`"['" + ${n} + "']"`:s?(0,dt._)`"/" + ${n}`:(0,dt._)`"/" + ${n}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return i?(0,dt.getProperty)(n).toString():"/"+il(n)}We.getErrorPath=Iw;function fd(n,e,i=n.opts.strictSchema){if(i){if(e=`strict mode: ${e}`,i===!0)throw new Error(e);n.self.logger.warn(e)}}We.checkStrictMode=fd});var pA=pe(sl=>{"use strict";Object.defineProperty(sl,"__esModule",{value:!0});var qt=Ge(),Bw={data:new qt.Name("data"),valCxt:new qt.Name("valCxt"),instancePath:new qt.Name("instancePath"),parentData:new qt.Name("parentData"),parentDataProperty:new qt.Name("parentDataProperty"),rootData:new qt.Name("rootData"),dynamicAnchors:new qt.Name("dynamicAnchors"),vErrors:new qt.Name("vErrors"),errors:new qt.Name("errors"),this:new qt.Name("this"),self:new qt.Name("self"),scope:new qt.Name("scope"),json:new qt.Name("json"),jsonPos:new qt.Name("jsonPos"),jsonLen:new qt.Name("jsonLen"),jsonPart:new qt.Name("jsonPart")};sl.default=Bw});var $o=pe(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.extendErrors=Ut.resetErrorsCount=Ut.reportExtraError=Ut.reportError=Ut.keyword$DataError=Ut.keywordError=void 0;var tt=Ge(),Ls=Ye(),zt=pA();Ut.keywordError={message:({keyword:n})=>(0,tt.str)`must pass "${n}" keyword validation`};Ut.keyword$DataError={message:({keyword:n,schemaType:e})=>e?(0,tt.str)`"${n}" keyword must be ${e} ($data)`:(0,tt.str)`"${n}" keyword is invalid ($data)`};function Mw(n,e=Ut.keywordError,i,s){let{it:u}=n,{gen:d,compositeRule:m,allErrors:y}=u,E=hd(n,e,i);s??(m||y)?cd(d,E):dd(u,(0,tt._)`[${E}]`)}Ut.reportError=Mw;function jw(n,e=Ut.keywordError,i){let{it:s}=n,{gen:u,compositeRule:d,allErrors:m}=s,y=hd(n,e,i);cd(u,y),d||m||dd(s,zt.default.vErrors)}Ut.reportExtraError=jw;function Nw(n,e){n.assign(zt.default.errors,e),n.if((0,tt._)`${zt.default.vErrors} !== null`,()=>n.if(e,()=>n.assign((0,tt._)`${zt.default.vErrors}.length`,e),()=>n.assign(zt.default.vErrors,null)))}Ut.resetErrorsCount=Nw;function Fw({gen:n,keyword:e,schemaValue:i,data:s,errsCount:u,it:d}){if(u===void 0)throw new Error("ajv implementation error");let m=n.name("err");n.forRange("i",u,zt.default.errors,y=>{n.const(m,(0,tt._)`${zt.default.vErrors}[${y}]`),n.if((0,tt._)`${m}.instancePath === undefined`,()=>n.assign((0,tt._)`${m}.instancePath`,(0,tt.strConcat)(zt.default.instancePath,d.errorPath))),n.assign((0,tt._)`${m}.schemaPath`,(0,tt.str)`${d.errSchemaPath}/${e}`),d.opts.verbose&&(n.assign((0,tt._)`${m}.schema`,i),n.assign((0,tt._)`${m}.data`,s))})}Ut.extendErrors=Fw;function cd(n,e){let i=n.const("err",e);n.if((0,tt._)`${zt.default.vErrors} === null`,()=>n.assign(zt.default.vErrors,(0,tt._)`[${i}]`),(0,tt._)`${zt.default.vErrors}.push(${i})`),n.code((0,tt._)`${zt.default.errors}++`)}function dd(n,e){let{gen:i,validateName:s,schemaEnv:u}=n;u.$async?i.throw((0,tt._)`new ${n.ValidationError}(${e})`):(i.assign((0,tt._)`${s}.errors`,e),i.return(!1))}var $n={keyword:new tt.Name("keyword"),schemaPath:new tt.Name("schemaPath"),params:new tt.Name("params"),propertyName:new tt.Name("propertyName"),message:new tt.Name("message"),schema:new tt.Name("schema"),parentSchema:new tt.Name("parentSchema")};function hd(n,e,i){let{createErrors:s}=n.it;return s===!1?(0,tt._)`{}`:Qw(n,e,i)}function Qw(n,e,i={}){let{gen:s,it:u}=n,d=[Lw(u,i),qw(n,i)];return Uw(n,e,d),s.object(...d)}function Lw({errorPath:n},{instancePath:e}){let i=e?(0,tt.str)`${n}${(0,Ls.getErrorPath)(e,Ls.Type.Str)}`:n;return[zt.default.instancePath,(0,tt.strConcat)(zt.default.instancePath,i)]}function qw({keyword:n,it:{errSchemaPath:e}},{schemaPath:i,parentSchema:s}){let u=s?e:(0,tt.str)`${e}/${n}`;return i&&(u=(0,tt.str)`${u}${(0,Ls.getErrorPath)(i,Ls.Type.Str)}`),[$n.schemaPath,u]}function Uw(n,{params:e,message:i},s){let{keyword:u,data:d,schemaValue:m,it:y}=n,{opts:E,propertyName:b,topSchemaRef:w,schemaPath:_}=y;s.push([$n.keyword,u],[$n.params,typeof e=="function"?e(n):e||(0,tt._)`{}`]),E.messages&&s.push([$n.message,typeof i=="function"?i(n):i]),E.verbose&&s.push([$n.schema,m],[$n.parentSchema,(0,tt._)`${w}${_}`],[zt.default.data,d]),b&&s.push([$n.propertyName,b])}});var md=pe(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.boolOrEmptySchema=vi.topBoolOrEmptySchema=void 0;var Gw=$o(),Hw=Ge(),Vw=pA(),zw={message:"boolean schema is false"};function Jw(n){let{gen:e,schema:i,validateName:s}=n;i===!1?pd(n,!1):typeof i=="object"&&i.$async===!0?e.return(Vw.default.data):(e.assign((0,Hw._)`${s}.errors`,null),e.return(!0))}vi.topBoolOrEmptySchema=Jw;function Kw(n,e){let{gen:i,schema:s}=n;s===!1?(i.var(e,!1),pd(n)):i.var(e,!0)}vi.boolOrEmptySchema=Kw;function pd(n,e){let{gen:i,data:s}=n,u={gen:i,keyword:"false schema",data:s,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:n};(0,Gw.reportError)(u,zw,void 0,e)}});var al=pe(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});bi.getRules=bi.isJSONType=void 0;var Ww=["string","number","integer","boolean","null","object","array"],Yw=new Set(Ww);function Xw(n){return typeof n=="string"&&Yw.has(n)}bi.isJSONType=Xw;function Zw(){let n={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...n,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},n.number,n.string,n.array,n.object],post:{rules:[]},all:{},keywords:{}}}bi.getRules=Zw});var ll=pe(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.shouldUseRule=Br.shouldUseGroup=Br.schemaHasRulesForType=void 0;function e_({schema:n,self:e},i){let s=e.RULES.types[i];return s&&s!==!0&&gd(n,s)}Br.schemaHasRulesForType=e_;function gd(n,e){return e.rules.some(i=>yd(n,i))}Br.shouldUseGroup=gd;function yd(n,e){var i;return n[e.keyword]!==void 0||((i=e.definition.implements)===null||i===void 0?void 0:i.some(s=>n[s]!==void 0))}Br.shouldUseRule=yd});var Po=pe(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.reportTypeError=Gt.checkDataTypes=Gt.checkDataType=Gt.coerceAndCheckDataType=Gt.getJSONTypes=Gt.getSchemaTypes=Gt.DataType=void 0;var t_=al(),A_=ll(),r_=$o(),He=Ge(),wd=Ye(),Ei;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(Ei||(Gt.DataType=Ei={}));function n_(n){let e=_d(n.type);if(e.includes("null")){if(n.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&n.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');n.nullable===!0&&e.push("null")}return e}Gt.getSchemaTypes=n_;function _d(n){let e=Array.isArray(n)?n:n?[n]:[];if(e.every(t_.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Gt.getJSONTypes=_d;function i_(n,e){let{gen:i,data:s,opts:u}=n,d=o_(e,u.coerceTypes),m=e.length>0&&!(d.length===0&&e.length===1&&(0,A_.schemaHasRulesForType)(n,e[0]));if(m){let y=fl(e,s,u.strictNumbers,Ei.Wrong);i.if(y,()=>{d.length?s_(n,e,d):cl(n)})}return m}Gt.coerceAndCheckDataType=i_;var vd=new Set(["string","number","integer","boolean","null"]);function o_(n,e){return e?n.filter(i=>vd.has(i)||e==="array"&&i==="array"):[]}function s_(n,e,i){let{gen:s,data:u,opts:d}=n,m=s.let("dataType",(0,He._)`typeof ${u}`),y=s.let("coerced",(0,He._)`undefined`);d.coerceTypes==="array"&&s.if((0,He._)`${m} == 'object' && Array.isArray(${u}) && ${u}.length == 1`,()=>s.assign(u,(0,He._)`${u}[0]`).assign(m,(0,He._)`typeof ${u}`).if(fl(e,u,d.strictNumbers),()=>s.assign(y,u))),s.if((0,He._)`${y} !== undefined`);for(let b of i)(vd.has(b)||b==="array"&&d.coerceTypes==="array")&&E(b);s.else(),cl(n),s.endIf(),s.if((0,He._)`${y} !== undefined`,()=>{s.assign(u,y),a_(n,y)});function E(b){switch(b){case"string":s.elseIf((0,He._)`${m} == "number" || ${m} == "boolean"`).assign(y,(0,He._)`"" + ${u}`).elseIf((0,He._)`${u} === null`).assign(y,(0,He._)`""`);return;case"number":s.elseIf((0,He._)`${m} == "boolean" || ${u} === null
|
|
1
|
+
/* HoloSphere Bundle v1.1.15 - Holonic Geospatial Communication Infrastructure */
|
|
2
|
+
var HoloSphere=(()=>{var f1=Object.create;var As=Object.defineProperty;var c1=Object.getOwnPropertyDescriptor;var d1=Object.getOwnPropertyNames;var h1=Object.getPrototypeOf,p1=Object.prototype.hasOwnProperty;var zf=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(e,i)=>(typeof require<"u"?require:e)[i]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var pe=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),m1=(n,e)=>{for(var i in e)As(n,i,{get:e[i],enumerable:!0})},Jf=(n,e,i,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let u of d1(e))!p1.call(n,u)&&u!==i&&As(n,u,{get:()=>e[u],enumerable:!(s=c1(e,u))||s.enumerable});return n};var Ka=(n,e,i)=>(i=n!=null?f1(h1(n)):{},Jf(e||!n||!n.__esModule?As(i,"default",{value:n,enumerable:!0}):i,n)),g1=n=>Jf(As({},"__esModule",{value:!0}),n);var Xc=pe((oC,Q0)=>{(function(){function n(i,s){return s?zf(i):i.slice?n[u(i)]:function(d,m){i(d={exports:{}}),n[u(m)]=d.exports};function u(d){return d.split("/").slice(-1).toString().replace(".js","")}}if(typeof Q0<"u")var e=Q0;n(function(i){String.random=function(u,d){var m="";for(u=u||24,d=d||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";u-- >0;)m+=d.charAt(Math.floor(Math.random()*d.length));return m},String.match=function(u,d){var m,y;return typeof u!="string"?!1:(typeof d=="string"&&(d={"=":d}),d=d||{},m=d["="]||d["*"]||d[">"]||d["<"],u===m?!0:y!==d["="]?!1:(m=d["*"]||d[">"],u.slice(0,(m||"").length)===m?!0:y!==d["*"]?!1:y!==d[">"]&&y!==d["<"]?u>=d[">"]&&u<=d["<"]:y!==d[">"]&&u>=d[">"]||y!==d["<"]&&u<=d["<"]))},String.hash=function(u,d){if(typeof u=="string"){if(d=d||0,!u.length)return d;for(var m=0,y=u.length,E;m<y;++m)E=u.charCodeAt(m),d=(d<<5)-d+E,d|=0;return d}};var s=Object.prototype.hasOwnProperty;Object.plain=function(u){return u?u instanceof Object&&u.constructor===Object||Object.prototype.toString.call(u).match(/^\[object (\w+)\]$/)[1]==="Object":!1},Object.empty=function(u,d){for(var m in u)if(s.call(u,m)&&(!d||d.indexOf(m)==-1))return!1;return!0},Object.keys=Object.keys||function(u){var d=[];for(var m in u)s.call(u,m)&&d.push(m);return d},function(){var u,d=setTimeout,m=0,y=0,E=typeof setImmediate!=""+u&&setImmediate||function(w,v){return typeof MessageChannel==""+u?d:((w=new MessageChannel).port1.onmessage=function($){$.data==""&&v()},function($){v=$,w.port2.postMessage("")})}(),b=d.check=d.check||typeof performance!=""+u&&performance||{now:function(){return+new Date}};d.hold=d.hold||9,d.poll=d.poll||function(w){if(d.hold>=b.now()-m&&y++<3333){w();return}E(function(){m=b.now(),w()},y=0)}}(),function(){var u=setTimeout,d=u.turn=u.turn||function(v){m.push(v)==1&&y(w)},m=d.s=[],y=u.poll,E=0,b,w=function(){(b=m[E++])&&b(),(E==m.length||E==99)&&(m=d.s=m.slice(E),E=0),m.length&&y(w)}}(),function(){var u,d=setTimeout,m=d.turn;(d.each=d.each||function(y,E,b,w){w=w||9,function v($,S,x){if(S=($=(y||[]).splice(0,w)).length){for(var k=0;k<S&&u===(x=E($[k]));k++);if(u===x){m(v);return}}b&&b(x)}()})()}()})(n,"./shim"),n(function(i){i.exports=function s(b,d,m){if(!b)return{to:s};var y,E=typeof d=="function",b=(this.tag||(this.tag={}))[b]||E&&(this.tag[b]={tag:b,to:s._={next:function(v){var $;($=this.to)&&$.next(v)}}});if(E){var w={off:s.off||(s.off=function(){if(this.next===s._.next)return!0;this===this.the.last&&(this.the.last=this.back),this.to.back=this.back,this.next=s._.next,this.back.to=this.to,this.the.last===this.the&&delete this.on.tag[this.the.tag]}),to:s._,next:d,the:b,on:this,as:m};return(w.back=b.last||b).to=w,b.last=w}return(b=b.to)&&y!==d&&b.next(d),b}})(n,"./onto"),n(function(i){i.exports=function(s){return s===null||typeof s=="string"||typeof s=="boolean"||typeof s=="number"&&s!=1/0&&s!=-1/0&&s===s||!!s&&typeof s["#"]=="string"&&Object.keys(s).length===1&&s["#"]}})(n,"./valid"),n(function(i){n("./shim");function s(){var b=+new Date;return y<b?(d=0,y=b+s.drift):y=b+(d+=1)/m+s.drift}s.drift=0;var u=-1/0,d=0,m=999,y=u,E;s.is=function(b,w,v){var $=w&&b&&b._&&b._[">"]||v;if($)return typeof($=$[w])=="number"?$:u},s.ify=function(b,w,v,$,S){(b=b||{})._=b._||{},S&&(b._["#"]=S);var x=b._[">"]||(b._[">"]={});return E!==w&&w!=="_"&&(typeof v=="number"&&(x[w]=v),E!==$&&(b[w]=$)),b},i.exports=s})(n,"./state"),n(function(i){n("./shim");function s(u){var d={s:{}},m=d.s;u=u||{max:999,age:1e3*9},d.check=function(E){return m[E]?y(E):!1};var y=d.track=function(E){var b=m[E]||(m[E]={});return b.was=d.now=+new Date,d.to||(d.to=setTimeout(d.drop,u.age+9)),y.ed&&y.ed(E),b};return d.drop=function(E){d.to=null,d.now=+new Date;var b=Object.keys(m);console.STAT&&console.STAT(d.now,+new Date-d.now,"dup drop keys"),setTimeout.each(b,function(w){var v=m[w];v&&(E||u.age)>d.now-v.was||delete m[w]},0,99)},d}i.exports=s})(n,"./dup"),n(function(i){n("./onto"),i.exports=function(d,m){if(this.on){var y=(this.opt||{}).lack||9e3;if(typeof d!="function"){if(!d)return;var b=d["#"]||d,E=(this.tag||"")[b];return E?(m&&(E=this.on(b,m),clearTimeout(E.err),E.err=setTimeout(function(){E.off()},y)),!0):void 0}var b=m&&m["#"]||s(9);if(!d)return b;var w=this.on(b,d,m);return w.err=w.err||setTimeout(function(){w.off(),w.next({err:"Error: No ACK yet.",lack:!0})},y),b}};var s=String.random||function(){return Math.random().toString(36).slice(2)}})(n,"./ask"),n(function(i){function s(S){return S instanceof s?(this._={$:this}).$:this instanceof s?s.create(this._={$:this,opt:S}):new s(S)}s.is=function(S){return S instanceof s||S&&S._&&S===S._.$||!1},s.version=.202,s.chain=s.prototype,s.chain.toJSON=function(){},n("./shim"),s.valid=n("./valid"),s.state=n("./state"),s.on=n("./onto"),s.dup=n("./dup"),s.ask=n("./ask"),function(){s.create=function(R){R.root=R.root||R,R.graph=R.graph||{},R.on=R.on||s.on,R.ask=R.ask||s.ask,R.dup=R.dup||s.dup();var M=R.$.opt(R.opt);return R.once||(R.on("in",S,R),R.on("out",S,R),R.on("put",B,R),s.on("create",R),R.on("create",R)),R.once=1,M};function S(R){if(R){if(R.out===S){this.to.next(R);return}var M=this,Q=M.as,X=Q.at||Q,ne=X.$,Ae=X.dup,te,de=R.DBG;if((te=R["#"])||(te=R["#"]=d(9)),!Ae.check(te)){if(Ae.track(te),te=R._,R._=typeof te=="function"?te:function(){},R.$&&R.$===(R.$._||"").$||(R.$=ne),R["@"]&&!R.put&&I(R),!X.ask(R["@"],R))if(de&&(de.u=+new Date),R.put){x(R);return}else R.get&&s.on.get(R,ne);de&&(de.uc=+new Date),M.to.next(R),de&&(de.ua=+new Date),!(R.nts||R.NTS)&&(R.out=S,X.on("out",R),de&&(de.ue=+new Date))}}}function x(R){if(R){var M=R._||"",Q=M.root=((M.$=R.$||"")._||"").root;if(R["@"]&&M.faith&&!M.miss){R.out=S,Q.on("out",R);return}M.latch=Q.hatch,M.match=Q.hatch=[];var X=R.put,ne=M.DBG=R.DBG,Ae=+new Date;if(le=le||Ae,!(X["#"]&&X["."])){ne&&(ne.p=Ae),M["#"]=R["#"],M.msg=R,M.all=0,M.stun=1;var te=Object.keys(X);console.STAT&&console.STAT(Ae,((ne||M).pk=+new Date)-Ae,"put sort");var de=0,me,ve,De,At,Ke,ze,gt;(function JA(CA){if(me!=de){if(me=de,!(De=te[de])){console.STAT&&console.STAT(Ae,((ne||M).pd=+new Date)-Ae,"put"),O(M);return}(At=X[De])?(gt=At._)?De!==gt["#"]?ze=q+V(De)+"soul not same.":(Ke=gt[">"])||(ze=q+V(De)+"no state."):ze=q+V(De)+"no meta.":ze=q+V(De)+"no node.",ve=Object.keys(At||{})}if(ze){R.err=M.err=ze,O(M);return}var sA=0,aA;for(CA=CA||0;CA++<9&&(aA=ve[sA++]);)if(aA!=="_"){var SA=At[aA],DA=Ke[aA];if(w===DA){ze=q+V(aA)+"on"+V(De)+"no state.";break}if(!y(SA)){ze=q+V(aA)+"on"+V(De)+"bad "+typeof SA+V(SA);break}k(SA,aA,De,DA,R),++J}if((ve=ve.slice(sA)).length){m(JA);return}++de,ve=null,JA(CA)})()}}}s.on.put=x;function k(R,M,Q,X,ne){var Ae=ne._||"",te=Ae.root,de=te.graph,me,ve,De=de[Q]||v,At=E(De,M,1),Ke=De[M],ze=Ae.DBG;(ve=console.STAT)&&(!de[Q]||!Ke)&&(ve.has=(ve.has||0)+1);var gt=L(),JA;if(X>gt){setTimeout(function(){k(R,M,Q,X,ne)},(ve=X-gt)>re?re:ve),console.STAT&&console.STAT((ze||Ae).Hf=+new Date,ve,"future");return}if(!(X<At)&&!(!Ae.faith&&X===At&&(R===Ke||z(R)<=z(Ke))&&!Ae.miss)){Ae.stun++;var CA=ne["#"]+Ae.all++,sA={toString:function(){return CA},_:Ae};sA.toJSON=sA.toString,te.dup.track(sA)["#"]=ne["#"],ze&&(ze.ph=ze.ph||+new Date),te.on("put",{"#":sA,"@":ne["@"],put:{"#":Q,".":M,":":R,">":X},ok:ne.ok,_:Ae})}}function B(R){var M;(M=(R._||"").DBG)&&(M.pa=+new Date,M.pm=M.pm||+new Date);var Q=this,X=Q.as,ne=X.graph,Ae=R._,te=R.put,de=te["#"],me=te["."],ve=te[":"],De=te[">"],At=R["#"],Ke;(Ke=Ae.msg)&&(Ke=Ke.put)&&(Ke=Ke[de])&&b(Ke,me,De,ve,de),ne[de]=b(ne[de],me,De,ve,de),(Ke=(X.next||"")[de])&&Ke.on("in",R),O(Ae),Q.to.next(R)}function O(R,M){var Q;if(!R.stop&&!(!R.err&&0<--R.stun)&&(R.stop=1,!!(Q=R.root))){var X=R.match;X.end=1,X===Q.hatch&&(!(X=R.latch)||X.end?delete Q.hatch:Q.hatch=X),R.hatch&&R.hatch(),setTimeout.each(R.match,function(ne){ne&&ne()}),!(!(M=R.msg)||R.err||M.err)&&(M.out=S,R.root.on("out",M),ae())}}function I(R){var M=R["@"]||"",Q,X,ne;if(!(Q=M._)){var Ae=(Ae=R.$)&&(Ae=Ae._)&&(Ae=Ae.root)&&(Ae=Ae.dup);if(!(Ae=Ae.check(M)))return;R["@"]=Ae["#"]||R["@"];return}Q.acks=(Q.acks||0)+1,(Q.err=R.err)&&(R["@"]=Q["#"],O(Q)),Q.ok=R.ok||Q.ok,!Q.stop&&!Q.crack&&(Q.crack=Q.match&&Q.match.push(function(){U(Q)})),U(Q)}function U(R){!R||!R.root||R.stun||R.acks!==R.all||R.root.on("in",{"@":R["#"],err:R.err,ok:R.err?w:R.ok||{"":1}})}var q="Error: Invalid graph!",V=function(R){return" '"+(""+R).slice(0,9)+"...' "},z=JSON.stringify,re=2147483647,L=s.state,J=0,le,ae=function(){J>999&&J/-(le-(le=+new Date))>1&&(s.window&&console.log("Warning: You're syncing 1K+ records a second, faster than DOM can update - consider limiting query."),ae=function(){J=0})}}(),function(){s.on.get=function(x,k){var B=k._,O=x.get,I=O["#"],U=B.graph[I],q=O["."],V=B.next||(B.next={}),z=V[I],re=x._||{},L=re.DBG=x.DBG;if(L&&(L.g=+new Date),!U)return B.on("get",x);if(q){if((typeof q!="string"||w===U[q])&&!((z||"").next||"")[q]){B.on("get",x);return}U=b({},q,E(U,q),U[q],I)}U&&S(x,U),B.on("get",x)};function S(x,k){var B=+new Date,O=x._||{},I=O.DBG=x.DBG,U=x["#"],q=d(9),V=Object.keys(k||"").sort(),z=((k||"")._||"")["#"],re=V.length,L=0,J=x.$._.root,le=k===J.graph[z];console.STAT&&console.STAT(B,((I||O).gk=+new Date)-B,"got keys"),k&&function ae(){B=+new Date;for(var R=0,M,Q={},X;R<9&&(M=V[R++]);)b(Q,M,E(k,M),k[M],z);V=V.slice(R),(X={})[z]=Q,Q=X;var ne;le&&(ne=function(){},ne.ram=ne.faith=!0),X=V.length,console.STAT&&console.STAT(B,-(B-(B=+new Date)),"got copied some"),I&&(I.ga=+new Date),J.on("in",{"@":U,"#":q,put:Q,"%":X?q=d(9):w,$:J.$,_:ne,DBG:I,FOO:1}),console.STAT&&console.STAT(B,+new Date-B,"got in"),X&&setTimeout.turn(ae)}(),k||J.on("in",{"@":x["#"]})}s.on.get.ack=S}(),function(){s.chain.opt=function(S){S=S||{};var x=this,k=x._,B=S.peers||S;return Object.plain(S)||(S={}),Object.plain(k.opt)||(k.opt=S),typeof B=="string"&&(B=[B]),Object.plain(k.opt.peers)||(k.opt.peers={}),B instanceof Array&&(S.peers={},B.forEach(function(O){var I={};I.id=I.url=O,S.peers[O]=k.opt.peers[O]=k.opt.peers[O]||I})),u(S,function O(I){var U=this[I];if(this&&this.hasOwnProperty(I)||typeof U=="string"||Object.empty(U)){this[I]=U;return}U&&U.constructor!==Object&&!(U instanceof Array)||u(U,O)}),k.opt.from=S,s.on("opt",k),k.opt.uuid=k.opt.uuid||function(I){return s.state().toString(36).replace(".","")+String.random(I||12)},x}}();var u=function(S,x){Object.keys(S).forEach(x,S)},d=String.random,m=setTimeout.turn,y=s.valid,E=s.state.is,b=s.state.ify,w,v={},$;s.log=function(){return!s.log.off&&$.log.apply($,arguments),[].slice.call(arguments).join(" ")},s.log.once=function(S,x,k){return(k=s.log.once)[S]=k[S]||0,k[S]++||s.log(x)},typeof window<"u"&&((window.GUN=window.Gun=s).window=window);try{typeof e<"u"&&(e.exports=s)}catch{}i.exports=s,(s.window||{}).console=(s.window||{}).console||{log:function(){}},($=console).only=function(S,x){return $.only.i&&S===$.only.i&&$.only.i++&&($.log.apply($,arguments)||x)},s.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!")})(n,"./root"),n(function(i){var s=n("./root");s.chain.back=function(m,y){var E;if(m=m||1,m===-1||m===1/0)return this._.root.$;if(m===1)return(this._.back||this._).$;var b=this,w=b._;if(typeof m=="string"&&(m=m.split(".")),m instanceof Array){var v=0,$=m.length,E=w;for(v;v<$;v++)E=(E||u)[m[v]];return d!==E?y?b:E:(E=w.back)?E.$.back(m,y):void 0}if(typeof m=="function"){for(var S,E={back:w};(E=E.back)&&d===(S=m(E,y)););return S}return typeof m=="number"?(w.back||w).$.back(m-1):this};var u={},d})(n,"./back"),n(function(i){var s=n("./root");s.chain.chain=function(O){var I=this,U=I._,q=new(O||I).constructor(I),V=q._,z;return V.root=z=U.root,V.id=++z.once,V.back=I._,V.on=s.on,V.on("in",s.on.in,V),V.on("out",s.on.out,V),q};function u(O){var I,U,q=this.as,V=q.back,z=q.root,re;if(O.$||(O.$=q.$),this.to.next(O),q.err){q.on("in",{put:q.put=w,$:q.$});return}if(U=O.get){if(z.pass&&(z.pass[q.id]=q),q.lex&&Object.keys(q.lex).forEach(function(L){re[L]=q.lex[L]},re=O.get=O.get||{}),U["#"]||q.soul){if(U["#"]=U["#"]||q.soul,O["#"]||(O["#"]=v(9)),V=z.$.get(U["#"])._,U=U["."]){if(S(V.put,U)&&(re=V.ask&&V.ask[U],(V.ask||(V.ask={}))[U]=V.$.get(U)._,V.on("in",{get:U,put:{"#":V.soul,".":U,":":V.put[U],">":k(z.graph[V.soul],U)}}),re))return}else{if(re=V.ask&&V.ask[""],(V.ask||(V.ask={}))[""]=V,w!==V.put&&(V.on("in",V),re))return;O.$=V.$}return z.ask(E,O),z.on("in",O)}if(U["."])return q.get?(O={get:{".":q.get},$:q.$},(V.ask||(V.ask={}))[q.get]=O.$._,V.on("out",O)):(O={get:q.lex?O.get:{},$:q.$},V.on("out",O));if((q.ask||(q.ask={}))[""]=q,q.get)return U["."]=q.get,(V.ask||(V.ask={}))[q.get]=O.$._,V.on("out",O)}return V.on("out",O)}s.on.out=u;function d(O,I){I=I||this.as;var U=I.root,q=O.$||(O.$=I.$),V=(q||"")._||b,z=O.put||"",re=z["#"],L=z["."],J=w!==z["="]?z["="]:z[":"],le=z[">"]||-1/0,ae;if(w!==O.put&&(w===z["#"]||w===z["."]||w===z[":"]&&w===z["="]||w===z[">"])){if(!$(z)){if(!(re=((z||"")._||"")["#"])){console.log("chain not yet supported for",z,"...",O,I);return}return q=I.root.$.get(re),setTimeout.each(Object.keys(z).sort(),function(R){R=="_"||w===(le=k(z,R))||I.on("in",{$:q,put:{"#":re,".":R,"=":z[R],">":le},VIA:O})})}I.on("in",{$:V.back.$,put:{"#":re=V.back.soul,".":L=V.has||V.get,"=":z,">":k(V.back.put,L)},via:O});return}(O.seen||"")[I.id]||((O.seen||(O.seen=function(){}))[I.id]=I,I!==V&&(Object.keys(O).forEach(function(R){z[R]=O[R]},z={}),z.get=I.get||z.get,!I.soul&&!I.has?z.$$$=z.$$$||I.$:V.soul&&(z.$=I.$,z.$$=z.$$||V.$),O=z),y(O,I),(I.soul||O.$$)&&le>=k(U.graph[re],L)&&((z=U.$.get(re)._).put=B(z.put,L,le,J,re)),!V.soul&&le>=k(U.graph[re],L)&&(ae=(U.$.get(re)._.next||"")[L])&&(ae.put=J,typeof(z=$(J))=="string"&&(ae.put=U.$.get(z)._.put||J)),this.to&&this.to.next(O),I.any&&setTimeout.each(Object.keys(I.any),function(R){(R=I.any[R])&&R(O)},0,99),I.echo&&setTimeout.each(Object.keys(I.echo),function(R){(R=I.echo[R])&&R.on("in",O)},0,99),((O.$$||"")._||V).soul&&(ae=I.next)&&(ae=ae[L])&&(z={},Object.keys(O).forEach(function(R){z[R]=O[R]}),z.$=(O.$$||O.$).get(z.get=L),delete z.$$,delete z.$$$,ae.on("in",z)),m(O,I))}s.on.in=d;function m(O,I){if(I=I||this.as||O.$._,!(O.$$&&this!==s.on)&&!(!O.put||I.soul)){var U=O.put||"",q=U["="]||U[":"],L,V=I.root,z=V.$.get(U["#"]).get(U["."])._;if(typeof(q=$(q))!="string"){this===s.on&&((z.echo||(z.echo={}))[I.id]=I);return}if(!((z.echo||(z.echo={}))[I.id]&&!(V.pass||"")[I.id])){if(L=V.pass){if(L[q+I.id])return;L[q+I.id]=1}(z.echo||(z.echo={}))[I.id]=I,I.has&&(I.link=q);var re=V.$.get(z.link=q)._;(re.echo||(re.echo={}))[z.id]=z;var L=I.ask||"";(L[""]||I.lex)&&re.on("out",{get:{"#":q}}),setTimeout.each(Object.keys(L),function(J,le){!J||!(le=L[J])||le.on("out",{get:{"#":q,".":J}})},0,99)}}}s.on.link=m;function y(O,I){var U=O.put||"",q=w!==U["="]?U["="]:U[":"],V=I.root,z,re;if(w===q){if(I.soul&&w!==I.put||(re=(O.$$||O.$||"")._||"",O["@"]&&(w!==re.put||w!==I.put)))return;(z=I.link||O.linked)&&delete(V.$.get(z)._.echo||"")[I.id],I.has&&(I.link=null),I.put=w,setTimeout.each(Object.keys(I.next||""),function(L,J){(J=I.next[L])&&(z&&delete(V.$.get(z).get(L)._.echo||"")[J.id],J.on("in",{get:L,put:w,$:J.$}))},0,99);return}I.soul||O.$$||(z=$(q),re=O.$._||"",!((z===re.link||I.has&&!re.link)&&!((V.pass||"")[I.id]&&typeof z!="string"))&&(delete(re.echo||"")[I.id],y({get:I.get,put:w,$:O.$,linked:O.linked=O.linked||re.link},I)))}s.on.unlink=y;function E(O,I){var U=this.as,q=U.$._,V=q.root,z=U.get||"",re=(O.put||"")[z["#"]]||"";if(!O.put||typeof z["."]=="string"&&w===re[z["."]]){if(w!==q.put||!q.soul&&!q.has)return;q.ack=(q.ack||0)+1,q.on("in",{get:q.get,put:q.put=w,$:q.$,"@":O["@"]});return}(O._||{}).miss=1,s.on.put(O)}var b={},w,v=String.random,$=s.valid,S=function(O,I){return O&&Object.prototype.hasOwnProperty.call(O,I)},x=s.state,k=x.is,B=x.ify})(n,"./chain"),n(function(i){var s=n("./root");s.chain.get=function(w,v,$){var S,x;if(typeof w=="string"){if(w.length==0)return(S=this.chain())._.err={err:s.log("0 length key!",w)},v&&v.call(S,S._.err),S;var k=this,B=k._,O=B.next||y;(S=O[w])||(S=w&&u(w,k)),S=S&&S.$}else if(typeof w=="function"){let L=function(J,le,ae){if(!L.stun&&!((te=U.pass)&&!te[q])){var R=J.$._,M=(J.$$||"")._,Q=(M||R).put,X=!R.has&&!R.soul,ne={},Ae,te;if((X||b===Q)&&(Q=b===((te=J.put)||"")["="]?b===(te||"")[":"]?te:te[":"]:te["="]),(Ae=typeof(te=s.valid(Q))=="string")&&(Q=b===(te=U.$.get(te)._.put)?I.not?b:Q:te),!(I.not&&b===Q)){if(b===I.stun){if((te=U.stun)&&te.on&&(B.$.back(function(de){if(te.on(""+de.id,ne={}),(ne.run||0)<L.id)return ne}),!ne.run&&te.on(""+R.id,ne={}),!ne.run&&M&&te.on(""+M.id,ne={}),L.id>ne.run&&((!ne.stun||ne.stun.end)&&(ne.stun=te.on("stun"),ne.stun=ne.stun&&ne.stun.last),ne.stun&&!ne.stun.end))){(ne.stun.add||(ne.stun.add={}))[q]=function(){L(J,le,1)};return}if(b===Q&&(ae=0),(te=U.hatch)&&!te.end&&b===I.hatch&&!ae){if(V[R.$._.id])return;V[R.$._.id]=1,te.push(function(){L(J,le,1)});return}V={}}if(U.pass){if(U.pass[q+R.id])return;U.pass[q+R.id]=1}if(I.on){I.ok.call(R.$,Q,R.get,J,le||L);return}if(I.v2020){I.ok(J,le||L);return}Object.keys(J).forEach(function(de){te[de]=J[de]},te={}),J=te,J.put=Q,I.ok.call(I.as,J,le||L)}}};var z=L;if(v===!0)return d(this,w,v,$),this;S=this;var B=S._,I=v||{},U=B.root,q;I.at=B,I.ok=w;var V={};return L.at=B,(B.any||(B.any={}))[q=String.random(7)]=L,L.off=function(){L.stun=1,B.any&&delete B.any[q]},L.rid=m,L.id=I.run||++U.once,x=U.pass,(U.pass={})[q]=1,I.out=I.out||{get:{}},B.on("out",I.out),U.pass=x,S}else{if(typeof w=="number")return this.get(""+w,v,$);if(typeof(x=E(w))=="string")return this.get(x,v,$);(x=this.get.next)&&(S=x(this,w))}return S?(v&&typeof v=="function"&&S.get(v,$),S):((S=this.chain())._.err={err:s.log("Invalid get request!",w)},v&&v.call(S,S._.err),S)};function u(w,v){var $=v._,S=$.next,x=v.chain(),k=x._;return S||(S=$.next={}),S[k.get=w]=k,v===$.root.$?k.soul=w:($.soul||$.has)&&(k.has=w),k}function d(w,v,$,S){var x=w._,k=0,B;return(B=x.soul||x.link)?v(B,S,x):x.jam?x.jam.push([v,S]):(x.jam=[[v,S]],w.get(function(I,U){if(!(b===I.put&&!x.root.opt.super&&(B=Object.keys(x.root.opt.peers).length)&&++k<=B)){U.rid(I);var q=(q=I.$)&&q._||{},V=0,z;for(B=x.jam,delete x.jam;z=B[V++];){var re=z[0],L;z=z[1],re&&re(L=q.link||q.soul||s.valid(I.put)||((I.put||{})._||{})["#"],z,I,U)}}},{out:{get:{".":!0}}}),w)}function m(w){var v=this.at||this.on;if(!w||v.soul||v.has)return this.off();if(w=(w=(w=w.$||w)._||w).id){var $=v.map,S,x;if(S=(x=this.seen||(this.seen={}))[w])return!0;x[w]=!0}}var y={},E=s.valid,b})(n,"./get"),n(function(i){var s=n("./root");s.chain.put=function(k,B,O){var I=this,U=I._,q=U.root;O=O||{},O.root=U.root,O.run||(O.run=q.once),u(O,U.id),O.ack=O.ack||B,O.via=O.via||I,O.data=O.data||k,O.soul||(O.soul=U.soul||typeof B=="string"&&B);var V=O.state=O.state||s.state();return typeof k=="function"?(k(function(z){O.data=z,I.put(E,E,O)}),I):O.soul?(O.$=q.$.get(O.soul),O.todo=[{it:O.data,ref:O.$}],O.turn=O.turn||v,O.ran=O.ran||d,function z(){var re=O.todo,L=re.pop(),J=L.it,le=L.ref&&L.ref._.id,ae,R,M,Q,X;if(u(O,L.ref),(Q=L.todo)&&(R=Q.pop(),J=J[R],Q.length&&re.push(L)),R&&(re.path||(re.path=[])).push(R),!(ae=$(J))&&!(X=s.is(J))){if(!Object.plain(J)){d.err(O,"Invalid data: "+y(J)+" at "+(O.via.back(function(me){me.get&&Q.push(me.get)},Q=[])||Q.join("."))+"."+(re.path||[]).join("."));return}for(var ne=O.seen||(O.seen=[]),Ae=ne.length;Ae--;)if(J===(Q=ne[Ae]).it){ae=J=Q.link;break}}if(R&&ae)L.node=S(L.node,R,V,J);else{let me=function(ve,De){var At=M.link["#"];De&&(De.off(),De.rid(ve));var Ke=At||ve.soul||(Q=(ve.$$||ve.$)._||"").soul||Q.link||((Q=Q.put||"")._||"")["#"]||Q["#"]||((Q=ve.put||"")&&ve.$$?Q["#"]:(Q["="]||Q[":"]||"")["#"]);if(!At&&u(O,ve.$),!Ke&&!L.link["#"]){(L.wait||(L.wait=[])).push(function(){me(ve,De)});return}Ke||(Ke=[],(ve.$$||ve.$).back(function(ze){if(Q=ze.soul||ze.link)return Ke.push(Q);Ke.push(ze.get)}),Ke=Ke.reverse().join("/")),M.link["#"]=Ke,!X&&(((O.graph||(O.graph={}))[Ke]=M.node||(M.node={_:{}}))._["#"]=Ke),delete O.wait[te],M.wait&&setTimeout.each(M.wait,function(ze){ze&&ze()}),O.ran(O)};var de=me;if(!O.seen){d.err(O,"Data at root of graph must be a node (an object).");return}O.seen.push(M={it:J,link:{},todo:X?[]:Object.keys(J).sort().reverse(),path:(re.path||[]).slice(),up:L}),L.node=S(L.node,R,V,M.link),!X&&M.todo.length&&re.push(M);var te=O.seen.length;(O.wait||(O.wait={}))[te]="",Q=(M.ref=X?J:R?L.ref.get(R):L.ref)._,(Q=J&&(J._||"")["#"]||Q.soul||Q.link)?me({soul:Q}):M.ref.get(me,{run:O.run,v2020:1,out:{get:{".":" "}}})}if(!re.length)return O.ran(O);O.turn(z)}(),I):(m(O),I)};function u(k,B){if(B){B=(B._||"").id||B;var O=k.root.stun||(k.root.stun={on:s.on}),I={},U;k.stun||(k.stun=O.on("stun",function(){})),(U=O.on(""+B))&&U.the.last.next(I),!(I.run>=k.run)&&O.on(""+B,function(q){if(k.stun.end){this.off(),this.to.next(q);return}q.run=q.run||k.run,q.stun=q.stun||k.stun})}}function d(k){if(k.err){d.end(k.stun,k.root);return}if(!(k.todo.length||k.end||!Object.empty(k.wait))){k.end=1;var B=k.$.back(-1)._,O=B.root,I=B.ask(function(z){O.on("ack",z),z.err&&!z.lack&&s.log(z),++U>(k.acks||0)&&this.off(),k.ack&&k.ack(z,this)},k.opt),U=0,q=k.stun,V;(V=function(){q&&(d.end(q,O),setTimeout.each(Object.keys(q=q.add||""),function(z){(z=q[z])&&z()}))}).hatch=V,k.ack&&!k.ok&&(k.ok=k.acks||9),k.via._.on("out",{put:k.out=k.graph,ok:k.ok&&{"@":k.ok+1},opt:k.opt,"#":I,_:V})}}d.end=function(k,B){k.end=w,k.the.to===k&&k===k.the.last&&delete B.stun,k.off()},d.err=function(k,B){(k.ack||w).call(k,k.out={err:k.err=s.log(B)}),k.ran(k)};function m(k){var B=k.via._,O;k.via=k.via.back(function(I){if(I.soul||!I.get)return I.$;O=k.data,(k.data={})[I.get]=O}),(!k.via||!k.via._.soul)&&(k.via=B.root.$.get(((k.data||"")._||"")["#"]||B.$.back("opt.uuid")())),k.via.put(k.data,k.ack,k)}function y(k,B){return k&&(B=k.constructor)&&B.name||typeof k}var E,b={},w=function(){},v=setTimeout.turn,$=s.valid,S=s.state.ify,x=function(k,B){k.call(B||b)}})(n,"./put"),n(function(i){var s=n("./root");n("./chain"),n("./back"),n("./put"),n("./get"),i.exports=s})(n,"./index"),n(function(i){var s=n("./index");s.chain.on=function(E,b,w,v){var $=this,S=$._,x=S.root,k,B,O,I;if(typeof E=="string")return b?(k=S.on(E,b,w||S,v),w&&w.$&&(w.subs||(w.subs=[])).push(k),$):S.on(E);var U=b;(U=U===!0?{change:!0}:U||{}).not=1,U.on=1;var q={};return $.get(E,U),$},s.chain.once=function(E,b){if(b=b||{},!E)return u(this,b);var w=this,v=w._,$=v.root,S=v.put,x=String.random(7),k,B;return w.get(function(O,I,U,q){var V=this,z=V._,re=z.one||(z.one={});if(q.stun||re[x]==="")return;if((B=s.valid(O))===!0){L();return}if(typeof B=="string")return;clearTimeout((v.one||"")[x]),clearTimeout(re[x]),re[x]=setTimeout(L,b.wait||99);function L(J){if(!z.has&&!z.soul&&(z={put:O,get:I}),y===(B=z.put)&&(B=((U.$$||"")._||"").put),typeof s.valid(B)=="string"&&(B=$.$.get(B)._.put,B===y&&!J)){re[x]=setTimeout(function(){L(1)},b.wait||99);return}q.stun||re[x]!==""&&(re[x]="",(v.soul||v.has)&&q.off(),E.call(V,B,z.get),clearTimeout(re[x]))}},{on:1}),w};function u(E,b,w){return s.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."),(w=E.chain())._.nix=E.once(function(v,$){w._.on("in",this._)}),w._.lex=E._.lex,w}s.chain.off=function(){var E=this,b=E._,w,v=b.back;if(v)return b.ack=0,(w=v.next)&&w[b.get]&&delete w[b.get],(w=v.any)&&(delete v.any,v.any={}),(w=v.ask)&&delete w[b.get],(w=v.put)&&delete w[b.get],(w=b.soul)&&delete v.root.graph[w],(w=b.map)&&Object.keys(w).forEach(function($,S){S=w[$],S.link&&v.root.$.get(S.link).off()}),(w=b.next)&&Object.keys(w).forEach(function($,S){S=w[$],S.$.off()}),b.on("off",{}),E};var d={},m=function(){},y})(n,"./on"),n(function(i){var s=n("./index"),u=s.chain.get.next;s.chain.get.next=function(b,w){var v;return Object.plain(w)?(v=((v=w["#"])||"")["="]||v)?b.get(v):((v=b.chain()._).lex=w,b.on("in",function($){String.match($.get||($.put||"")["."],w["."]||w["#"]||w)&&v.on("in",$),this.to.next($)}),v.$):(u||m)(b,w)},s.chain.map=function(b,w,v){var $=this,S=$._,x,k;return Object.plain(b)&&(x=b["."]?b:{".":b},b=E),b?(s.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."),k=$.chain(),$.map().on(function(B,O,I,U){var q=(b||m).call(this,B,O,I,U);if(E!==q){if(B===q)return k._.on("in",I);if(s.is(q))return k._.on("in",q._);var V={};Object.keys(I.put).forEach(function(z){V[z]=I.put[z]},V),V["="]=q,k._.on("in",{get:O,put:V})}}),k):((k=S.each)||((S.each=k=$.chain())._.lex=x||k._.lex||S.lex,k._.nix=$.back("nix"),$.on("in",d,k._)),k)};function d(b){this.to.next(b);var w=this.as,v=b.$,$=v._,S=b.put,x;!$.soul&&!b.$$||(x=w.lex)&&!String.match(b.get||(S||"")["."],x["."]||x["#"]||x)||s.on.link(b,w)}var m=function(){},y={stun:m,off:m},E})(n,"./map"),n(function(i){var s=n("./index");s.chain.set=function(u,d,m){var y=this,E=y.back(-1),b,w;return d=d||function(){},m=m||{},m.item=m.item||u,(b=((u||"")._||"")["#"])&&((u={})["#"]=b),typeof(w=s.valid(u))=="string"?y.get(b=w).put(u,d,m):s.is(u)?(y.put(function(v){u.get(function($,S,x){if(!$)return d.call(y,{err:s.log('Only a node can be linked! Not "'+x.put+'"!')});(w={})[$]={"#":$},v(w)},!0)}),u):(Object.plain(u)&&(u=E.get(b=y.back("opt.uuid")()).put(u)),y.get(b||E.back("opt.uuid")(7)).put(u,d,m))}})(n,"./set"),n(function(i){n("./shim");var s=function(){},u=JSON.parseAsync||function(w,v,$){var S,x=+new Date;try{v(S,JSON.parse(w,$),d.sucks(+new Date-x))}catch(k){v(k)}},d=JSON.stringifyAsync||function(w,v,$,S){var x,k=+new Date;try{v(x,JSON.stringify(w,$,S),d.sucks(+new Date-k))}catch(B){v(B)}};d.sucks=function(w){w>99&&(console.log("Warning: JSON blocking CPU detected. Add `gun/lib/yson.js` to fix."),d.sucks=s)};function m(w){var v=function(){},$=w.opt||{};$.log=$.log||console.log,$.gap=$.gap||$.wait||0,$.max=$.max||($.memory?$.memory*999*999:3e8)*.3,$.pack=$.pack||$.max*.01*.01,$.puff=$.puff||9;var S=setTimeout.turn||setTimeout,x=w.dup,k=x.check,B=x.track,O=+new Date,I=O,U=v.hear=function(L,J){if(L){if($.max<=L.length)return v.say({dam:"!",err:"Message too big!"},J);v===this&&(U.d+=L.length||0,++U.c);var le=J.SH=+new Date,ae=L[0],R;if(ae==="["){u(L,function(M,Q){if(M||!Q)return v.say({dam:"!",err:"DAM JSON parse error."},J);console.STAT&&console.STAT(+new Date,Q.length,"# on hear batch");var X=$.puff;(function ne(){for(var Ae=+new Date,te=0,de;te<X&&(de=Q[te++]);)v.hear(de,J);Q=Q.slice(te),console.STAT&&console.STAT(Ae,+new Date-Ae,"hear loop"),V(J),Q.length&&S(ne,0)})()}),L="";return}if(ae==="{"||(L["#"]||Object.plain(L))&&(R=L)){if(R)return U.one(R,J,le);u(L,function(M,Q){if(M||!Q)return v.say({dam:"!",err:"DAM JSON parse error."},J);U.one(Q,J,le)});return}}};U.one=function(L,J,ne){var ae,R,M,Q,X;if(L.DBG&&(L.DBG=X={DBG:L.DBG}),X&&(X.h=ne),X&&(X.hp=+new Date),(ae=L["#"])||(ae=L["#"]=String.random(9)),!(M=k(ae))&&(R=L["##"],!(R&&(M=L["@"]||L.get&&ae)&&x.check(Q=M+R)))){if((L._=function(){}).via=v.leap=J,(M=L["><"])&&typeof M=="string"&&M.slice(0,99).split(",").forEach(function(Ae){this[Ae]=1},L._.yo={}),M=L.dam){(M=v.hear[M])&&M(L,J,w),B(ae);return}(M=L.ok)&&(L._.near=M["/"]);var ne=+new Date;X&&(X.is=ne),J.SI=ae,B.ed=function(Ae){ae===Ae&&(B.ed=0,(Ae=x.s[ae])&&(Ae.via=J,L.get&&(Ae.it=L)))},w.on("in",v.last=L),X&&(X.hd=+new Date),console.STAT&&console.STAT(ne,+new Date-ne,L.get?"msg get":L.put?"msg put":"msg"),B(ae),Q&&B(Q),v.leap=v.last=null}};var q=function(L,J,le){le(L,!0)};U.c=U.d=0,function(){var L=0,J;v.hash=function(M,Q){var X,ne,Ae,te=+new Date;d(M.put,function de(me,ve){var De=(ne||(ne=Ae=ve||"")).slice(0,32768);if(X=String.hash(De,X),ne=ne.slice(32768),ne){S(de,0);return}console.STAT&&console.STAT(te,+new Date-te,"say json+hash"),M._.$put=Ae,M["##"]=X,v.say(M,Q),delete M._.$put},le)};function le(M,Q){var X;return Q instanceof Object?(Object.keys(Q).sort().forEach(ae,{to:X={},on:Q}),X):Q}function ae(M){this.to[M]=this.on[M]}var R=v.say=function(M,Q){var X;if((X=this)&&(X=X.to)&&X.next&&X.next(M),!M)return!1;var ne,Ae,te,de=M["@"],me=M._||(M._=function(){}),ve=M.DBG,De=+new Date;if(me.y=me.y||De,Q||ve&&(ve.y=De),(ne=M["#"])||(ne=M["#"]=String.random(9)),!J&&B(ne),!(Ae=M["##"])&&b!==M.put&&!me.via&&de){v.hash(M,Q);return}if(!Q&&de&&(Q=(X=x.s[de])&&(X.via||(X=X.it)&&(X=X._)&&X.via)||(X=v.last)&&de===X["#"]&&v.leap),!Q&&de)return x.s[de]?void 0:(console.STAT&&console.STAT(+new Date,++L,"total no peer to ack to"),!1);if(de&&!M.put&&!Ae&&((x.s[de]||"").it||"")["##"])return!1;if(!Q&&v.way)return v.way(M);if(ve&&(ve.yh=+new Date),!(te=me.raw)){v.raw(M,Q);return}if(ve&&(ve.yr=+new Date),!Q||!Q.id){if(!Object.plain(Q||$.peers))return!1;var De=+new Date,At=$.puff,Ke=$.peers,ze=Object.keys(Q||$.peers||{});console.STAT&&console.STAT(De,+new Date-De,"peer keys"),function CA(){var sA=+new Date;J=1;var aA=me.raw;me.raw=te;for(var SA=0,DA;SA<9&&(DA=(ze||"")[SA++]);)(DA=Ke[DA]||(Q||"")[DA])&&v.say(M,DA);me.raw=aA,J=0,ze=ze.slice(SA),console.STAT&&console.STAT(sA,+new Date-sA,"say loop"),ze.length&&(S(CA,0),de&&B(de))}();return}if(!Q.wire&&v.wire&&v.wire(Q),ne!==Q.last){if(Q.last=ne,Q===me.via||(X=me.yo)&&(X[Q.url]||X[Q.pid]||X[Q.id]))return!1;if(console.STAT&&console.STAT(De,((ve||me).yp=+new Date)-(me.y||De),"say prep"),!J&&de&&B(de),Q.batch){if(Q.tail=(X=Q.tail||0)+te.length,Q.tail<=$.pack){Q.batch+=(X?",":"")+te;return}V(Q)}Q.batch="[";var gt=+new Date;setTimeout(function(){console.STAT&&console.STAT(gt,+new Date-gt,"0ms TO"),V(Q)},$.gap),z(te,Q),console.STAT&&de===Q.SI&&console.STAT(De,+new Date-Q.SH,"say ack")}};v.say.c=v.say.d=0,v.raw=function(M,Q){if(!M)return"";var X=M._||{},ne,Ae;if(Ae=X.raw)return Ae;if(typeof M=="string")return M;var te=M["##"],de=M["@"];if(te&&de){if(!X.via&&k(de+te))return!1;if(Ae=(x.s[de]||"").it){if(te===Ae["##"])return!1;Ae["##"]||(Ae["##"]=te)}}if(!M.dam&&!M["@"]){var me=0,ve=[];Ae=$.peers;for(var De in Ae){var At=Ae[De];if(ve.push(At.url||At.pid||At.id),++me>6)break}me>1&&(M["><"]=ve.join())}if(M.put&&(Ae=M.ok)&&(M.ok={"@":(Ae["@"]||1)-1,"/":Ae["/"]==M._.near?v.near:Ae["/"]}),ne=X.$put){Ae={},Object.keys(M).forEach(function(ze){Ae[ze]=M[ze]}),Ae.put=":])([:",d(Ae,function(ze,gt){if(!ze){var JA=+new Date;Ae=gt.indexOf('"put":":])([:"'),Ke(b,gt=gt.slice(0,Ae+6)+ne+gt.slice(Ae+14)),console.STAT&&console.STAT(JA,+new Date-JA,"say slice")}});return}d(M,Ke);function Ke(ze,gt){ze||(X.raw=gt,v.say(M,Q))}}}();function V(L){var J=L.batch,le=typeof J=="string",ae;if(le&&(J+="]"),L.batch=L.tail=null,!!J&&!(le?3>J.length:!J.length)){if(!le)try{J=J.length===1?J[0]:JSON.stringify(J)}catch(R){return $.log("DAM JSON stringify error",R)}J&&z(J,L)}}function z(L,J){try{var le=J.wire;J.say?J.say(L):le.send&&le.send(L),v.say.d+=L.length||0,++v.say.c}catch{(J.queue=J.queue||[]).push(L)}}v.near=0,v.hi=function(L){var J=L.wire,le;if(!J){v.wire(L.length&&{url:L,id:L}||L);return}L.id?$.peers[L.url||L.id]=L:(le=L.id=L.id||L.url||String.random(9),v.say({dam:"?",pid:w.opt.pid},$.peers[le]=L),delete x.s[L.last]),L.met||(v.near++,L.met=+new Date,w.on("hi",L)),le=L.queue,L.queue=[],setTimeout.each(le||[],function(ae){z(ae,L)},0,9)},v.bye=function(L){L.met&&--v.near,delete L.met,w.on("bye",L);var J=+new Date;J=J-(L.met||J),v.bye.time=((v.bye.time||J)+J)/2},v.hear["!"]=function(L,J){$.log("Error:",L.err)},v.hear["?"]=function(L,J){L.pid&&(J.pid||(J.pid=L.pid),L["@"])||(v.say({dam:"?",pid:$.pid,"@":L["#"]},J),delete x.s[J.last])},v.hear.mob=function(L,J){if(L.peers){var le=Object.keys(L.peers),ae=le[Math.random()*le.length>>0];ae&&(v.bye(J),v.hi(ae))}},w.on("create",function(L){L.opt.pid=L.opt.pid||String.random(9),this.to.next(L),L.on("out",v.say)}),w.on("bye",function(L,J){L=$.peers[L.id||L]||L,this.to.next(L),L.bye?L.bye():(J=L.wire)&&J.close&&J.close(),delete $.peers[L.id],L.wire=null});var re={};return w.on("bye",function(L,J){this.to.next(L),(J=console.STAT)&&(J.peers=v.near),(J=L.url)&&(re[J]=!0,setTimeout(function(){delete re[J]},$.lack||9e3))}),w.on("hi",function(L,J){if(this.to.next(L),(J=console.STAT)&&(J.peers=v.near),!$.super){var le=Object.keys(w.next||"");le.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(le,function(ae){var R=w.next[ae];if($.super||(R.ask||"")[""]){v.say({get:{"#":ae}},L);return}setTimeout.each(Object.keys(R.ask||""),function(M){M&&v.say({"##":String.hash((w.graph[ae]||"")[M]),get:{"#":ae,".":M}},L)})})}}),v}var y={},E=!0,b;try{i.exports=m}catch{}})(n,"./mesh"),n(function(i){var s=n("./index");s.Mesh=n("./mesh"),s.on("opt",function(m){if(this.to.next(m),m.once)return;var y=m.opt;if(y.WebSocket===!1)return;var E=s.window||{},b=y.WebSocket||E.WebSocket||E.webkitWebSocket||E.mozWebSocket;if(!b)return;y.WebSocket=b;var w=y.mesh=y.mesh||s.Mesh(m),v=w.wire||y.wire;w.wire=y.wire=$;function $(B){try{if(!B||!B.url)return I&&I(B);var O=B.url.replace(/^http/,"ws"),I=B.wire=new y.WebSocket(O);return I.onclose=function(){x(B),y.mesh.bye(B)},I.onerror=function(U){x(B)},I.onopen=function(){y.mesh.hi(B)},I.onmessage=function(U){U&&y.mesh.hear(U.data||U,B)},I}catch{y.mesh.bye(B)}}setTimeout(function(){!y.super&&m.on("out",{dam:"hi"})},1);var S=2*999;function x(B){clearTimeout(B.defer),y.peers[B.url]&&(k&&B.retry<=0||(B.retry=(B.retry||y.retry+1||60)-(-B.tried+(B.tried=+new Date)<S*4?1:0),B.defer=setTimeout(function O(){if(k&&k.hidden)return setTimeout(O,S);$(B)},S)))}var k=""+d!=typeof document&&document});var u=function(){},d})(n,"./websocket"),n(function(i){if(!(typeof Gun>"u")){var s=function(){},u,d;try{u=(Gun.window||s).localStorage}catch{}u||(Gun.log("Warning: No localStorage exists to persist data to!"),u={setItem:function(E,b){this[E]=b},removeItem:function(E){delete this[E]},getItem:function(E){return this[E]}});var m=JSON.parseAsync||function(E,b,w){var v;try{b(v,JSON.parse(E,w))}catch($){b($)}},y=JSON.stringifyAsync||function(E,b,w,v){var $;try{b($,JSON.stringify(E,w,v))}catch(S){b(S)}};Gun.on("create",function E(b){this.to.next(b);var w=b.opt,v=b.graph,$=[],S,x,k,B;if(w.localStorage===!1)return;w.prefix=w.file||"gun/";try{S=E[w.prefix]=E[w.prefix]||JSON.parse(k=u.getItem(w.prefix))||{}}catch{S=E[w.prefix]={}}k=(k||"").length,b.on("get",function(I){this.to.next(I);var U=I.get,q,V,z,re;!U||!(q=U["#"])||(V=S[q]||re,V&&(z=U["."])&&!Object.plain(z)&&(V=Gun.state.ify({},z,Gun.state.is(V,z),V[z],q)),Gun.on.get.ack(I,V))}),b.on("put",function(I){this.to.next(I);var U=I.put,q=U["#"],V=U["."],z=I["#"],re=I.ok||"",L;if(S[q]=Gun.state.ify(S[q],V,U[">"],U[":"],q),B&&k>4999880){b.on("in",{"@":z,err:"localStorage max!"});return}!I["@"]&&(!I._.via||Math.random()<re["@"]/re["/"])&&$.push(z),!x&&(x=setTimeout(O,9+k/333))});function O(){if(!$.length&&((setTimeout.turn||"").s||"").length){setTimeout(O,99);return}var I,U=$;clearTimeout(x),x=!1,$=[],y(S,function(q,V){try{!q&&u.setItem(w.prefix,V)}catch(z){q=B=z||"localStorage failure"}q&&(Gun.log(q+" Consider using GUN's IndexedDB plugin for RAD for more storage space, https://gun.eco/docs/RAD#install"),b.on("localStorage:error",{err:q,get:w.prefix,put:S})),k=V.length,setTimeout.each(U,function(z){b.on("in",{"@":z,err:q,ok:0})},0,99)})}})}})(n,"./localStorage")})();(function(){var ae;if(""+ae!=typeof Gun){var n=function(R){console.warn("Warning! Deprecated internal utility will break in next version:",R)},e=Gun;e.fn=e.fn||{is:function(R){return n("fn"),!!R&&typeof R=="function"}},e.bi=e.bi||{is:function(R){return n("bi"),R instanceof Boolean||typeof R=="boolean"}},e.num=e.num||{is:function(R){return n("num"),!i(R)&&(R-parseFloat(R)+1>=0||R===1/0||R===-1/0)}},e.text=e.text||{is:function(R){return n("text"),typeof R=="string"}},e.text.ify=e.text.ify||function(R){return n("text.ify"),e.text.is(R)?R:typeof JSON<"u"?JSON.stringify(R):R&&R.toString?R.toString():R},e.text.random=e.text.random||function(R,M){n("text.random");var Q="";for(R=R||24,M=M||"0123456789ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxyz";R>0;)Q+=M.charAt(Math.floor(Math.random()*M.length)),R--;return Q},e.text.match=e.text.match||function(R,M){var Q,X;return n("text.match"),typeof R!="string"?!1:(typeof M=="string"&&(M={"=":M}),M=M||{},Q=M["="]||M["*"]||M[">"]||M["<"],R===Q?!0:X!==M["="]?!1:(Q=M["*"]||M[">"]||M["<"],R.slice(0,(Q||"").length)===Q?!0:X!==M["*"]?!1:X!==M[">"]&&X!==M["<"]?R>=M[">"]&&R<=M["<"]:X!==M[">"]&&R>=M[">"]||X!==M["<"]&&R<=M["<"]))},e.text.hash=e.text.hash||function(R,M){if(n("text.hash"),typeof R=="string"){if(M=M||0,!R.length)return M;for(var Q=0,X=R.length,ne;Q<X;++Q)ne=R.charCodeAt(Q),M=(M<<5)-M+ne,M|=0;return M}},e.list=e.list||{is:function(R){return n("list"),R instanceof Array}},e.list.slit=e.list.slit||Array.prototype.slice,e.list.sort=e.list.sort||function(R){return n("list.sort"),function(M,Q){return!M||!Q?0:(M=M[R],Q=Q[R],M<Q?-1:M>Q?1:0)}},e.list.map=e.list.map||function(R,M,Q){return n("list.map"),J(R,M,Q)},e.list.index=1,e.obj=e.boj||{is:function(R){return n("obj"),R?R instanceof Object&&R.constructor===Object||Object.prototype.toString.call(R).match(/^\[object (\w+)\]$/)[1]==="Object":!1}},e.obj.put=e.obj.put||function(R,M,Q){return n("obj.put"),(R||{})[M]=Q,R},e.obj.has=e.obj.has||function(R,M){return n("obj.has"),R&&Object.prototype.hasOwnProperty.call(R,M)},e.obj.del=e.obj.del||function(R,M){if(n("obj.del"),!!R)return R[M]=null,delete R[M],R},e.obj.as=e.obj.as||function(R,M,Q,X){return n("obj.as"),R[M]=R[M]||(X===Q?{}:Q)},e.obj.ify=e.obj.ify||function(R){if(n("obj.ify"),q(R))return R;try{R=JSON.parse(R)}catch{R={}}return R},function(){var R;function M(Q,X){z(this,X)&&R!==this[X]||(this[X]=Q)}e.obj.to=e.obj.to||function(Q,X){return n("obj.to"),X=X||{},J(Q,M,X),X}}(),e.obj.copy=e.obj.copy||function(R){return n("obj.copy"),R&&JSON.parse(JSON.stringify(R))},function(){function R(M,Q){var X=this.n,ne;if(!(X&&(Q===X||q(X)&&z(X,Q)))&&ne!==Q)return!0}e.obj.empty=e.obj.empty||function(M,Q){return n("obj.empty"),M?!J(M,R,{n:Q}):!0}}(),function(){function R(ne,Ae){if(arguments.length===2){R.r=R.r||{},R.r[ne]=Ae;return}R.r=R.r||[],R.r.push(ne)}var M=Object.keys,Q,X;Object.keys=Object.keys||function(ne){return Q(ne,function(Ae,te,de){de(te)})},e.obj.map=Q=e.obj.map||function(ne,Ae,te){n("obj.map");var de,me=0,ve,De,At,Ke,ze=typeof Ae=="function";if(R.r=de,M&&q(ne)&&(At=M(ne),Ke=!0),te=te||{},i(ne)||At)for(ve=(At||ne).length;me<ve;me++){var gt=me+e.list.index;if(ze){if(De=Ke?Ae.call(te,ne[At[me]],At[me],R):Ae.call(te,ne[me],gt,R),De!==de)return De}else if(Ae===ne[Ke?At[me]:me])return At?At[me]:gt}else for(me in ne)if(ze){if(z(ne,me)&&(De=te?Ae.call(te,ne[me],me,R):Ae(ne[me],me,R),De!==de))return De}else if(Ae===ne[me])return me;return ze?R.r:e.list.index?0:-1}}(),e.time=e.time||{},e.time.is=e.time.is||function(R){return n("time"),R?R instanceof Date:+new Date().getTime()};var I=e.fn.is,i=e.list.is,U=e.obj,q=U.is,z=U.has,J=U.map,s={};s.is=function(R){return n("val.is"),R===ae?!1:R===null?!0:R===1/0?!1:m(R)||d(R)||x(R)?!0:s.link.is(R)||!1},s.link=s.rel={_:"#"},function(){s.link.is=function(M){if(n("val.link.is"),M&&M[u]&&!M._&&q(M)){var Q={};if(J(M,R,Q),Q.id)return Q.id}return!1};function R(M,Q){var X=this;if(X.id)return X.id=!1;if(Q==u&&m(M))X.id=M;else return X.id=!1}}(),s.link.ify=function(R){return n("val.link.ify"),L({},u,R)},e.obj.has._=".";var u=s.link._,ae,d=e.bi.is,x=e.num.is,m=e.text.is,U=e.obj,q=U.is,L=U.put,J=U.map;e.val=e.val||s;var y={_:"_"};y.soul=function(R,M){return n("node.soul"),R&&R._&&R._[M||w]},y.soul.ify=function(R,M){return n("node.soul.ify"),M=typeof M=="string"?{soul:M}:M||{},R=R||{},R._=R._||{},R._[w]=M.soul||R._[w]||b(),R},y.soul._=s.link._,function(){y.is=function(M,Q,X){n("node.is");var ne;return q(M)&&(ne=y.soul(M))?!J(M,R,{as:X,cb:Q,s:ne,n:M}):!1};function R(M,Q){if(Q!==y._){if(!s.is(M))return!0;this.cb&&this.cb.call(this.as,M,Q,this.n,this.s)}}}(),function(){y.ify=function(M,Q,X){return n("node.ify"),Q?typeof Q=="string"?Q={soul:Q}:typeof Q=="function"&&(Q={map:Q}):Q={},Q.map&&(Q.node=Q.map.call(X,M,ae,Q.node||{})),(Q.node=y.soul.ify(Q.node||{},Q))&&J(M,R,{o:Q,as:X}),Q.node};function R(M,Q){var X=this.o,ne,Ae;if(X.map){ne=X.map.call(this.as,M,""+Q,X.node),Ae===ne?V(X.node,Q):X.node&&(X.node[Q]=ne);return}s.is(M)&&(X.node[Q]=M)}}();var U=e.obj,q=U.is,V=U.del,J=U.map,E=e.text,b=E.random,w=y.soul._,ae;e.node=e.node||y;var v=e.state;v.lex=function(){return n("state.lex"),v().toString(36).replace(".","")},v.to=function(R,M,Q){n("state.to");var X=(R||{})[M];return q(X)&&(X=le(X)),v.ify(Q,M,v.is(R,M),X,y.soul(R))},function(){v.map=function(M,Q,X){n("state.map");var ne,Ae=q(Ae=M||Q)?Ae:null;return M=I(M=M||Q)?M:null,Ae&&!M?(Q=x(Q)?Q:v(),Ae[B]=Ae[B]||{},J(Ae,R,{o:Ae,s:Q}),Ae):(X=X||q(Q)?Q:ne,Q=x(Q)?Q:v(),function(te,de,me,ve){if(!M)return R.call({o:me,s:Q},te,de),te;M.call(X||this||{},te,de,me,ve),!(z(me,de)&&ne===me[de])&&R.call({o:me,s:Q},te,de)})};function R(M,Q){B!==Q&&v.ify(this.o,Q,this.s)}}();var U=e.obj,$=U.as,z=U.has,q=U.is,J=U.map,le=U.copy,S=e.num,x=S.is,k=e.fn,I=k.is,B=y._,ae,O={};(function(){O.is=function(Q,X,ne,Ae){return n("graph.is"),!Q||!q(Q)||re(Q)?!1:!J(Q,R,{cb:X,fn:ne,as:Ae})};function R(Q,X){if(!Q||X!==y.soul(Q)||!y.is(Q,this.fn,this.as))return!0;this.cb&&(M.n=Q,M.as=this.as,this.cb.call(M.as,Q,X,M))}function M(Q){Q&&y.is(M.n,Q,M.as)}})(),function(){O.ify=function(Ae,te,de){n("graph.ify");var me={path:[],obj:Ae};return te?typeof te=="string"?te={soul:te}:typeof te=="function"&&(te.map=te):te={},typeof de=="string"&&(te.soul=te.soul||de,de=ae),te.soul&&(me.link=s.link.ify(te.soul)),te.shell=(de||{}).shell,te.graph=te.graph||{},te.seen=te.seen||[],te.as=te.as||de,R(te,me),te.root=me.node,te.graph};function R(Ae,te){var de;return(de=ne(Ae,te))?de:(te.env=Ae,te.soul=Q,y.ify(te.obj,M,te)&&(te.link=te.link||s.link.ify(y.soul(te.node)),te.obj!==Ae.shell&&(Ae.graph[s.link.is(te.link)]=te.node)),te)}function M(Ae,te,de){var me=this,ve=me.env,De,At;if(y._===te&&z(Ae,s.link._))return de._;if(De=X(Ae,te,de,me,ve)){if(te||(me.node=me.node||de||{},z(Ae,y._)&&y.soul(Ae)&&(me.node._=le(Ae._)),me.node=y.soul.ify(me.node,s.link.is(me.link)),me.link=me.link||s.link.ify(y.soul(me.node))),(At=ve.map)&&(At.call(ve.as||{},Ae,te,de,me),z(de,te))){if(Ae=de[te],ae===Ae){V(de,te);return}if(!(De=X(Ae,te,de,me,ve)))return}if(!te)return me.node;if(De===!0)return Ae;if(At=R(ve,{obj:Ae,path:me.path.concat(te)}),!!At.node)return At.link}}function Q(Ae){var te=this,de=s.link.is(te.link),me=te.env.graph;te.link=te.link||s.link.ify(Ae),te.link[s.link._]=Ae,te.node&&te.node[y._]&&(te.node[y._][s.link._]=Ae),z(me,de)&&(me[Ae]=me[de],V(me,de))}function X(Ae,te,de,me,ve){var De;if(s.is(Ae))return!0;if(q(Ae))return 1;if(De=ve.invalid)return Ae=De.call(ve.as||{},Ae,te,de),X(Ae,te,de,me,ve);ve.err="Invalid value at '"+me.path.concat(te).join(".")+"'!",e.list.is(Ae)&&(ve.err+=" Use `.set(item)` instead of an Array.")}function ne(Ae,te){for(var de=Ae.seen,me=de.length,ve;me--;)if(ve=de[me],te.obj===ve.obj)return ve;de.push(te)}}(),O.node=function(R){n("graph.node");var M=y.soul(R);if(M)return L({},M,R)},function(){O.to=function(M,Q,X){if(n("graph.to"),!!M){var ne={};return X=X||{seen:{}},J(M[Q],R,{obj:ne,graph:M,opt:X}),ne}};function R(M,Q){var X,ne;if(y._===Q){if(re(M,s.link._))return;this.obj[Q]=le(M);return}if(!(X=s.link.is(M))){this.obj[Q]=M;return}if(ne=this.opt.seen[X]){this.obj[Q]=ne;return}this.obj[Q]=this.opt.seen[X]=O.to(this.graph,X,this.opt)}}();var I=e.fn.is,U=e.obj,q=U.is,V=U.del,z=U.has,re=U.empty,L=U.put,J=U.map,le=U.copy,ae;e.graph=e.graph||O}})()});var ed=pe((aC,Zc)=>{Zc.exports=Xc()});var yo=pe(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.regexpCode=nt.getEsmExportName=nt.getProperty=nt.safeStringify=nt.stringify=nt.strConcat=nt.addCodeArg=nt.str=nt._=nt.nil=nt._Code=nt.Name=nt.IDENTIFIER=nt._CodeOrName=void 0;var mo=class{};nt._CodeOrName=mo;nt.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var _n=class extends mo{constructor(e){if(super(),!nt.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};nt.Name=_n;var hA=class extends mo{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((i,s)=>`${i}${s}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((i,s)=>(s instanceof _n&&(i[s.str]=(i[s.str]||0)+1),i),{})}};nt._Code=hA;nt.nil=new hA("");function td(n,...e){let i=[n[0]],s=0;for(;s<e.length;)q0(i,e[s]),i.push(n[++s]);return new hA(i)}nt._=td;var L0=new hA("+");function Ad(n,...e){let i=[go(n[0])],s=0;for(;s<e.length;)i.push(L0),q0(i,e[s]),i.push(L0,go(n[++s]));return fw(i),new hA(i)}nt.str=Ad;function q0(n,e){e instanceof hA?n.push(...e._items):e instanceof _n?n.push(e):n.push(hw(e))}nt.addCodeArg=q0;function fw(n){let e=1;for(;e<n.length-1;){if(n[e]===L0){let i=cw(n[e-1],n[e+1]);if(i!==void 0){n.splice(e-1,3,i);continue}n[e++]="+"}e++}}function cw(n,e){if(e==='""')return n;if(n==='""')return e;if(typeof n=="string")return e instanceof _n||n[n.length-1]!=='"'?void 0:typeof e!="string"?`${n.slice(0,-1)}${e}"`:e[0]==='"'?n.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(n instanceof _n))return`"${n}${e.slice(1)}`}function dw(n,e){return e.emptyStr()?n:n.emptyStr()?e:Ad`${n}${e}`}nt.strConcat=dw;function hw(n){return typeof n=="number"||typeof n=="boolean"||n===null?n:go(Array.isArray(n)?n.join(","):n)}function pw(n){return new hA(go(n))}nt.stringify=pw;function go(n){return JSON.stringify(n).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}nt.safeStringify=go;function mw(n){return typeof n=="string"&&nt.IDENTIFIER.test(n)?new hA(`.${n}`):td`[${n}]`}nt.getProperty=mw;function gw(n){if(typeof n=="string"&&nt.IDENTIFIER.test(n))return new hA(`${n}`);throw new Error(`CodeGen: invalid export name: ${n}, use explicit $id name mapping`)}nt.getEsmExportName=gw;function yw(n){return new hA(n.toString())}nt.regexpCode=yw});var H0=pe(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.ValueScope=Zt.ValueScopeName=Zt.Scope=Zt.varKinds=Zt.UsedValueState=void 0;var Xt=yo(),U0=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},Is;(function(n){n[n.Started=0]="Started",n[n.Completed=1]="Completed"})(Is||(Zt.UsedValueState=Is={}));Zt.varKinds={const:new Xt.Name("const"),let:new Xt.Name("let"),var:new Xt.Name("var")};var Bs=class{constructor({prefixes:e,parent:i}={}){this._names={},this._prefixes=e,this._parent=i}toName(e){return e instanceof Xt.Name?e:this.name(e)}name(e){return new Xt.Name(this._newName(e))}_newName(e){let i=this._names[e]||this._nameGroup(e);return`${e}${i.index++}`}_nameGroup(e){var i,s;if(!((s=(i=this._parent)===null||i===void 0?void 0:i._prefixes)===null||s===void 0)&&s.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Zt.Scope=Bs;var Ms=class extends Xt.Name{constructor(e,i){super(i),this.prefix=e}setValue(e,{property:i,itemIndex:s}){this.value=e,this.scopePath=(0,Xt._)`.${new Xt.Name(i)}[${s}]`}};Zt.ValueScopeName=Ms;var ww=(0,Xt._)`\n`,G0=class extends Bs{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?ww:Xt.nil}}get(){return this._scope}name(e){return new Ms(e,this._newName(e))}value(e,i){var s;if(i.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let u=this.toName(e),{prefix:d}=u,m=(s=i.key)!==null&&s!==void 0?s:i.ref,y=this._values[d];if(y){let w=y.get(m);if(w)return w}else y=this._values[d]=new Map;y.set(m,u);let E=this._scope[d]||(this._scope[d]=[]),b=E.length;return E[b]=i.ref,u.setValue(i,{property:d,itemIndex:b}),u}getValue(e,i){let s=this._values[e];if(s)return s.get(i)}scopeRefs(e,i=this._values){return this._reduceValues(i,s=>{if(s.scopePath===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return(0,Xt._)`${e}${s.scopePath}`})}scopeCode(e=this._values,i,s){return this._reduceValues(e,u=>{if(u.value===void 0)throw new Error(`CodeGen: name "${u}" has no value`);return u.value.code},i,s)}_reduceValues(e,i,s={},u){let d=Xt.nil;for(let m in e){let y=e[m];if(!y)continue;let E=s[m]=s[m]||new Map;y.forEach(b=>{if(E.has(b))return;E.set(b,Is.Started);let w=i(b);if(w){let v=this.opts.es5?Zt.varKinds.var:Zt.varKinds.const;d=(0,Xt._)`${d}${v} ${b} = ${w};${this.opts._n}`}else if(w=u?.(b))d=(0,Xt._)`${d}${w}${this.opts._n}`;else throw new U0(b);E.set(b,Is.Completed)})}return d}};Zt.ValueScope=G0});var Ge=pe(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.or=Je.and=Je.not=Je.CodeGen=Je.operators=Je.varKinds=Je.ValueScopeName=Je.ValueScope=Je.Scope=Je.Name=Je.regexpCode=Je.stringify=Je.getProperty=Je.nil=Je.strConcat=Je.str=Je._=void 0;var Ze=yo(),EA=H0(),Ir=yo();Object.defineProperty(Je,"_",{enumerable:!0,get:function(){return Ir._}});Object.defineProperty(Je,"str",{enumerable:!0,get:function(){return Ir.str}});Object.defineProperty(Je,"strConcat",{enumerable:!0,get:function(){return Ir.strConcat}});Object.defineProperty(Je,"nil",{enumerable:!0,get:function(){return Ir.nil}});Object.defineProperty(Je,"getProperty",{enumerable:!0,get:function(){return Ir.getProperty}});Object.defineProperty(Je,"stringify",{enumerable:!0,get:function(){return Ir.stringify}});Object.defineProperty(Je,"regexpCode",{enumerable:!0,get:function(){return Ir.regexpCode}});Object.defineProperty(Je,"Name",{enumerable:!0,get:function(){return Ir.Name}});var Qs=H0();Object.defineProperty(Je,"Scope",{enumerable:!0,get:function(){return Qs.Scope}});Object.defineProperty(Je,"ValueScope",{enumerable:!0,get:function(){return Qs.ValueScope}});Object.defineProperty(Je,"ValueScopeName",{enumerable:!0,get:function(){return Qs.ValueScopeName}});Object.defineProperty(Je,"varKinds",{enumerable:!0,get:function(){return Qs.varKinds}});Je.operators={GT:new Ze._Code(">"),GTE:new Ze._Code(">="),LT:new Ze._Code("<"),LTE:new Ze._Code("<="),EQ:new Ze._Code("==="),NEQ:new Ze._Code("!=="),NOT:new Ze._Code("!"),OR:new Ze._Code("||"),AND:new Ze._Code("&&"),ADD:new Ze._Code("+")};var or=class{optimizeNodes(){return this}optimizeNames(e,i){return this}},V0=class extends or{constructor(e,i,s){super(),this.varKind=e,this.name=i,this.rhs=s}render({es5:e,_n:i}){let s=e?EA.varKinds.var:this.varKind,u=this.rhs===void 0?"":` = ${this.rhs}`;return`${s} ${this.name}${u};`+i}optimizeNames(e,i){if(e[this.name.str])return this.rhs&&(this.rhs=_i(this.rhs,e,i)),this}get names(){return this.rhs instanceof Ze._CodeOrName?this.rhs.names:{}}},js=class extends or{constructor(e,i,s){super(),this.lhs=e,this.rhs=i,this.sideEffects=s}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,i){if(!(this.lhs instanceof Ze.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=_i(this.rhs,e,i),this}get names(){let e=this.lhs instanceof Ze.Name?{}:{...this.lhs.names};return Fs(e,this.rhs)}},z0=class extends js{constructor(e,i,s,u){super(e,s,u),this.op=i}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},J0=class extends or{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},K0=class extends or{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},W0=class extends or{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},Y0=class extends or{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,i){return this.code=_i(this.code,e,i),this}get names(){return this.code instanceof Ze._CodeOrName?this.code.names:{}}},wo=class extends or{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((i,s)=>i+s.render(e),"")}optimizeNodes(){let{nodes:e}=this,i=e.length;for(;i--;){let s=e[i].optimizeNodes();Array.isArray(s)?e.splice(i,1,...s):s?e[i]=s:e.splice(i,1)}return e.length>0?this:void 0}optimizeNames(e,i){let{nodes:s}=this,u=s.length;for(;u--;){let d=s[u];d.optimizeNames(e,i)||(_w(e,d.names),s.splice(u,1))}return s.length>0?this:void 0}get names(){return this.nodes.reduce((e,i)=>En(e,i.names),{})}},sr=class extends wo{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},X0=class extends wo{},wi=class extends sr{};wi.kind="else";var vn=class n extends sr{constructor(e,i){super(i),this.condition=e}render(e){let i=`if(${this.condition})`+super.render(e);return this.else&&(i+="else "+this.else.render(e)),i}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let i=this.else;if(i){let s=i.optimizeNodes();i=this.else=Array.isArray(s)?new wi(s):s}if(i)return e===!1?i instanceof n?i:i.nodes:this.nodes.length?this:new n(rd(e),i instanceof n?[i]:i.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,i){var s;if(this.else=(s=this.else)===null||s===void 0?void 0:s.optimizeNames(e,i),!!(super.optimizeNames(e,i)||this.else))return this.condition=_i(this.condition,e,i),this}get names(){let e=super.names;return Fs(e,this.condition),this.else&&En(e,this.else.names),e}};vn.kind="if";var bn=class extends sr{};bn.kind="for";var Z0=class extends bn{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,i){if(super.optimizeNames(e,i))return this.iteration=_i(this.iteration,e,i),this}get names(){return En(super.names,this.iteration.names)}},el=class extends bn{constructor(e,i,s,u){super(),this.varKind=e,this.name=i,this.from=s,this.to=u}render(e){let i=e.es5?EA.varKinds.var:this.varKind,{name:s,from:u,to:d}=this;return`for(${i} ${s}=${u}; ${s}<${d}; ${s}++)`+super.render(e)}get names(){let e=Fs(super.names,this.from);return Fs(e,this.to)}},Ns=class extends bn{constructor(e,i,s,u){super(),this.loop=e,this.varKind=i,this.name=s,this.iterable=u}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,i){if(super.optimizeNames(e,i))return this.iterable=_i(this.iterable,e,i),this}get names(){return En(super.names,this.iterable.names)}},_o=class extends sr{constructor(e,i,s){super(),this.name=e,this.args=i,this.async=s}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};_o.kind="func";var vo=class extends wo{render(e){return"return "+super.render(e)}};vo.kind="return";var tl=class extends sr{render(e){let i="try"+super.render(e);return this.catch&&(i+=this.catch.render(e)),this.finally&&(i+=this.finally.render(e)),i}optimizeNodes(){var e,i;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(i=this.finally)===null||i===void 0||i.optimizeNodes(),this}optimizeNames(e,i){var s,u;return super.optimizeNames(e,i),(s=this.catch)===null||s===void 0||s.optimizeNames(e,i),(u=this.finally)===null||u===void 0||u.optimizeNames(e,i),this}get names(){let e=super.names;return this.catch&&En(e,this.catch.names),this.finally&&En(e,this.finally.names),e}},bo=class extends sr{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};bo.kind="catch";var Eo=class extends sr{render(e){return"finally"+super.render(e)}};Eo.kind="finally";var Al=class{constructor(e,i={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...i,_n:i.lines?`
|
|
3
|
+
`:""},this._extScope=e,this._scope=new EA.Scope({parent:e}),this._nodes=[new X0]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,i){let s=this._extScope.value(e,i);return(this._values[s.prefix]||(this._values[s.prefix]=new Set)).add(s),s}getScopeValue(e,i){return this._extScope.getValue(e,i)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,i,s,u){let d=this._scope.toName(i);return s!==void 0&&u&&(this._constants[d.str]=s),this._leafNode(new V0(e,d,s)),d}const(e,i,s){return this._def(EA.varKinds.const,e,i,s)}let(e,i,s){return this._def(EA.varKinds.let,e,i,s)}var(e,i,s){return this._def(EA.varKinds.var,e,i,s)}assign(e,i,s){return this._leafNode(new js(e,i,s))}add(e,i){return this._leafNode(new z0(e,Je.operators.ADD,i))}code(e){return typeof e=="function"?e():e!==Ze.nil&&this._leafNode(new Y0(e)),this}object(...e){let i=["{"];for(let[s,u]of e)i.length>1&&i.push(","),i.push(s),(s!==u||this.opts.es5)&&(i.push(":"),(0,Ze.addCodeArg)(i,u));return i.push("}"),new Ze._Code(i)}if(e,i,s){if(this._blockNode(new vn(e)),i&&s)this.code(i).else().code(s).endIf();else if(i)this.code(i).endIf();else if(s)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new vn(e))}else(){return this._elseNode(new wi)}endIf(){return this._endBlockNode(vn,wi)}_for(e,i){return this._blockNode(e),i&&this.code(i).endFor(),this}for(e,i){return this._for(new Z0(e),i)}forRange(e,i,s,u,d=this.opts.es5?EA.varKinds.var:EA.varKinds.let){let m=this._scope.toName(e);return this._for(new el(d,m,i,s),()=>u(m))}forOf(e,i,s,u=EA.varKinds.const){let d=this._scope.toName(e);if(this.opts.es5){let m=i instanceof Ze.Name?i:this.var("_arr",i);return this.forRange("_i",0,(0,Ze._)`${m}.length`,y=>{this.var(d,(0,Ze._)`${m}[${y}]`),s(d)})}return this._for(new Ns("of",u,d,i),()=>s(d))}forIn(e,i,s,u=this.opts.es5?EA.varKinds.var:EA.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,Ze._)`Object.keys(${i})`,s);let d=this._scope.toName(e);return this._for(new Ns("in",u,d,i),()=>s(d))}endFor(){return this._endBlockNode(bn)}label(e){return this._leafNode(new J0(e))}break(e){return this._leafNode(new K0(e))}return(e){let i=new vo;if(this._blockNode(i),this.code(e),i.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(vo)}try(e,i,s){if(!i&&!s)throw new Error('CodeGen: "try" without "catch" and "finally"');let u=new tl;if(this._blockNode(u),this.code(e),i){let d=this.name("e");this._currNode=u.catch=new bo(d),i(d)}return s&&(this._currNode=u.finally=new Eo,this.code(s)),this._endBlockNode(bo,Eo)}throw(e){return this._leafNode(new W0(e))}block(e,i){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(i),this}endBlock(e){let i=this._blockStarts.pop();if(i===void 0)throw new Error("CodeGen: not in self-balancing block");let s=this._nodes.length-i;if(s<0||e!==void 0&&s!==e)throw new Error(`CodeGen: wrong number of nodes: ${s} vs ${e} expected`);return this._nodes.length=i,this}func(e,i=Ze.nil,s,u){return this._blockNode(new _o(e,i,s)),u&&this.code(u).endFunc(),this}endFunc(){return this._endBlockNode(_o)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,i){let s=this._currNode;if(s instanceof e||i&&s instanceof i)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${i?`${e.kind}/${i.kind}`:e.kind}"`)}_elseNode(e){let i=this._currNode;if(!(i instanceof vn))throw new Error('CodeGen: "else" without "if"');return this._currNode=i.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let i=this._nodes;i[i.length-1]=e}};Je.CodeGen=Al;function En(n,e){for(let i in e)n[i]=(n[i]||0)+(e[i]||0);return n}function Fs(n,e){return e instanceof Ze._CodeOrName?En(n,e.names):n}function _i(n,e,i){if(n instanceof Ze.Name)return s(n);if(!u(n))return n;return new Ze._Code(n._items.reduce((d,m)=>(m instanceof Ze.Name&&(m=s(m)),m instanceof Ze._Code?d.push(...m._items):d.push(m),d),[]));function s(d){let m=i[d.str];return m===void 0||e[d.str]!==1?d:(delete e[d.str],m)}function u(d){return d instanceof Ze._Code&&d._items.some(m=>m instanceof Ze.Name&&e[m.str]===1&&i[m.str]!==void 0)}}function _w(n,e){for(let i in e)n[i]=(n[i]||0)-(e[i]||0)}function rd(n){return typeof n=="boolean"||typeof n=="number"||n===null?!n:(0,Ze._)`!${rl(n)}`}Je.not=rd;var vw=nd(Je.operators.AND);function bw(...n){return n.reduce(vw)}Je.and=bw;var Ew=nd(Je.operators.OR);function $w(...n){return n.reduce(Ew)}Je.or=$w;function nd(n){return(e,i)=>e===Ze.nil?i:i===Ze.nil?e:(0,Ze._)`${rl(e)} ${n} ${rl(i)}`}function rl(n){return n instanceof Ze.Name?n:(0,Ze._)`(${n})`}});var Ye=pe(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.checkStrictMode=We.getErrorPath=We.Type=We.useFunc=We.setEvaluated=We.evaluatedPropsToName=We.mergeEvaluated=We.eachItem=We.unescapeJsonPointer=We.escapeJsonPointer=We.escapeFragment=We.unescapeFragment=We.schemaRefOrVal=We.schemaHasRulesButRef=We.schemaHasRules=We.checkUnknownRules=We.alwaysValidSchema=We.toHash=void 0;var dt=Ge(),Pw=yo();function kw(n){let e={};for(let i of n)e[i]=!0;return e}We.toHash=kw;function Cw(n,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(sd(n,e),!ad(e,n.self.RULES.all))}We.alwaysValidSchema=Cw;function sd(n,e=n.schema){let{opts:i,self:s}=n;if(!i.strictSchema||typeof e=="boolean")return;let u=s.RULES.keywords;for(let d in e)u[d]||fd(n,`unknown keyword: "${d}"`)}We.checkUnknownRules=sd;function ad(n,e){if(typeof n=="boolean")return!n;for(let i in n)if(e[i])return!0;return!1}We.schemaHasRules=ad;function Sw(n,e){if(typeof n=="boolean")return!n;for(let i in n)if(i!=="$ref"&&e.all[i])return!0;return!1}We.schemaHasRulesButRef=Sw;function Dw({topSchemaRef:n,schemaPath:e},i,s,u){if(!u){if(typeof i=="number"||typeof i=="boolean")return i;if(typeof i=="string")return(0,dt._)`${i}`}return(0,dt._)`${n}${e}${(0,dt.getProperty)(s)}`}We.schemaRefOrVal=Dw;function xw(n){return ld(decodeURIComponent(n))}We.unescapeFragment=xw;function Rw(n){return encodeURIComponent(il(n))}We.escapeFragment=Rw;function il(n){return typeof n=="number"?`${n}`:n.replace(/~/g,"~0").replace(/\//g,"~1")}We.escapeJsonPointer=il;function ld(n){return n.replace(/~1/g,"/").replace(/~0/g,"~")}We.unescapeJsonPointer=ld;function Tw(n,e){if(Array.isArray(n))for(let i of n)e(i);else e(n)}We.eachItem=Tw;function id({mergeNames:n,mergeToName:e,mergeValues:i,resultToName:s}){return(u,d,m,y)=>{let E=m===void 0?d:m instanceof dt.Name?(d instanceof dt.Name?n(u,d,m):e(u,d,m),m):d instanceof dt.Name?(e(u,m,d),d):i(d,m);return y===dt.Name&&!(E instanceof dt.Name)?s(u,E):E}}We.mergeEvaluated={props:id({mergeNames:(n,e,i)=>n.if((0,dt._)`${i} !== true && ${e} !== undefined`,()=>{n.if((0,dt._)`${e} === true`,()=>n.assign(i,!0),()=>n.assign(i,(0,dt._)`${i} || {}`).code((0,dt._)`Object.assign(${i}, ${e})`))}),mergeToName:(n,e,i)=>n.if((0,dt._)`${i} !== true`,()=>{e===!0?n.assign(i,!0):(n.assign(i,(0,dt._)`${i} || {}`),ol(n,i,e))}),mergeValues:(n,e)=>n===!0?!0:{...n,...e},resultToName:ud}),items:id({mergeNames:(n,e,i)=>n.if((0,dt._)`${i} !== true && ${e} !== undefined`,()=>n.assign(i,(0,dt._)`${e} === true ? true : ${i} > ${e} ? ${i} : ${e}`)),mergeToName:(n,e,i)=>n.if((0,dt._)`${i} !== true`,()=>n.assign(i,e===!0?!0:(0,dt._)`${i} > ${e} ? ${i} : ${e}`)),mergeValues:(n,e)=>n===!0?!0:Math.max(n,e),resultToName:(n,e)=>n.var("items",e)})};function ud(n,e){if(e===!0)return n.var("props",!0);let i=n.var("props",(0,dt._)`{}`);return e!==void 0&&ol(n,i,e),i}We.evaluatedPropsToName=ud;function ol(n,e,i){Object.keys(i).forEach(s=>n.assign((0,dt._)`${e}${(0,dt.getProperty)(s)}`,!0))}We.setEvaluated=ol;var od={};function Ow(n,e){return n.scopeValue("func",{ref:e,code:od[e.code]||(od[e.code]=new Pw._Code(e.code))})}We.useFunc=Ow;var nl;(function(n){n[n.Num=0]="Num",n[n.Str=1]="Str"})(nl||(We.Type=nl={}));function Iw(n,e,i){if(n instanceof dt.Name){let s=e===nl.Num;return i?s?(0,dt._)`"[" + ${n} + "]"`:(0,dt._)`"['" + ${n} + "']"`:s?(0,dt._)`"/" + ${n}`:(0,dt._)`"/" + ${n}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return i?(0,dt.getProperty)(n).toString():"/"+il(n)}We.getErrorPath=Iw;function fd(n,e,i=n.opts.strictSchema){if(i){if(e=`strict mode: ${e}`,i===!0)throw new Error(e);n.self.logger.warn(e)}}We.checkStrictMode=fd});var pA=pe(sl=>{"use strict";Object.defineProperty(sl,"__esModule",{value:!0});var qt=Ge(),Bw={data:new qt.Name("data"),valCxt:new qt.Name("valCxt"),instancePath:new qt.Name("instancePath"),parentData:new qt.Name("parentData"),parentDataProperty:new qt.Name("parentDataProperty"),rootData:new qt.Name("rootData"),dynamicAnchors:new qt.Name("dynamicAnchors"),vErrors:new qt.Name("vErrors"),errors:new qt.Name("errors"),this:new qt.Name("this"),self:new qt.Name("self"),scope:new qt.Name("scope"),json:new qt.Name("json"),jsonPos:new qt.Name("jsonPos"),jsonLen:new qt.Name("jsonLen"),jsonPart:new qt.Name("jsonPart")};sl.default=Bw});var $o=pe(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.extendErrors=Ut.resetErrorsCount=Ut.reportExtraError=Ut.reportError=Ut.keyword$DataError=Ut.keywordError=void 0;var tt=Ge(),Ls=Ye(),zt=pA();Ut.keywordError={message:({keyword:n})=>(0,tt.str)`must pass "${n}" keyword validation`};Ut.keyword$DataError={message:({keyword:n,schemaType:e})=>e?(0,tt.str)`"${n}" keyword must be ${e} ($data)`:(0,tt.str)`"${n}" keyword is invalid ($data)`};function Mw(n,e=Ut.keywordError,i,s){let{it:u}=n,{gen:d,compositeRule:m,allErrors:y}=u,E=hd(n,e,i);s??(m||y)?cd(d,E):dd(u,(0,tt._)`[${E}]`)}Ut.reportError=Mw;function jw(n,e=Ut.keywordError,i){let{it:s}=n,{gen:u,compositeRule:d,allErrors:m}=s,y=hd(n,e,i);cd(u,y),d||m||dd(s,zt.default.vErrors)}Ut.reportExtraError=jw;function Nw(n,e){n.assign(zt.default.errors,e),n.if((0,tt._)`${zt.default.vErrors} !== null`,()=>n.if(e,()=>n.assign((0,tt._)`${zt.default.vErrors}.length`,e),()=>n.assign(zt.default.vErrors,null)))}Ut.resetErrorsCount=Nw;function Fw({gen:n,keyword:e,schemaValue:i,data:s,errsCount:u,it:d}){if(u===void 0)throw new Error("ajv implementation error");let m=n.name("err");n.forRange("i",u,zt.default.errors,y=>{n.const(m,(0,tt._)`${zt.default.vErrors}[${y}]`),n.if((0,tt._)`${m}.instancePath === undefined`,()=>n.assign((0,tt._)`${m}.instancePath`,(0,tt.strConcat)(zt.default.instancePath,d.errorPath))),n.assign((0,tt._)`${m}.schemaPath`,(0,tt.str)`${d.errSchemaPath}/${e}`),d.opts.verbose&&(n.assign((0,tt._)`${m}.schema`,i),n.assign((0,tt._)`${m}.data`,s))})}Ut.extendErrors=Fw;function cd(n,e){let i=n.const("err",e);n.if((0,tt._)`${zt.default.vErrors} === null`,()=>n.assign(zt.default.vErrors,(0,tt._)`[${i}]`),(0,tt._)`${zt.default.vErrors}.push(${i})`),n.code((0,tt._)`${zt.default.errors}++`)}function dd(n,e){let{gen:i,validateName:s,schemaEnv:u}=n;u.$async?i.throw((0,tt._)`new ${n.ValidationError}(${e})`):(i.assign((0,tt._)`${s}.errors`,e),i.return(!1))}var $n={keyword:new tt.Name("keyword"),schemaPath:new tt.Name("schemaPath"),params:new tt.Name("params"),propertyName:new tt.Name("propertyName"),message:new tt.Name("message"),schema:new tt.Name("schema"),parentSchema:new tt.Name("parentSchema")};function hd(n,e,i){let{createErrors:s}=n.it;return s===!1?(0,tt._)`{}`:Qw(n,e,i)}function Qw(n,e,i={}){let{gen:s,it:u}=n,d=[Lw(u,i),qw(n,i)];return Uw(n,e,d),s.object(...d)}function Lw({errorPath:n},{instancePath:e}){let i=e?(0,tt.str)`${n}${(0,Ls.getErrorPath)(e,Ls.Type.Str)}`:n;return[zt.default.instancePath,(0,tt.strConcat)(zt.default.instancePath,i)]}function qw({keyword:n,it:{errSchemaPath:e}},{schemaPath:i,parentSchema:s}){let u=s?e:(0,tt.str)`${e}/${n}`;return i&&(u=(0,tt.str)`${u}${(0,Ls.getErrorPath)(i,Ls.Type.Str)}`),[$n.schemaPath,u]}function Uw(n,{params:e,message:i},s){let{keyword:u,data:d,schemaValue:m,it:y}=n,{opts:E,propertyName:b,topSchemaRef:w,schemaPath:v}=y;s.push([$n.keyword,u],[$n.params,typeof e=="function"?e(n):e||(0,tt._)`{}`]),E.messages&&s.push([$n.message,typeof i=="function"?i(n):i]),E.verbose&&s.push([$n.schema,m],[$n.parentSchema,(0,tt._)`${w}${v}`],[zt.default.data,d]),b&&s.push([$n.propertyName,b])}});var md=pe(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.boolOrEmptySchema=vi.topBoolOrEmptySchema=void 0;var Gw=$o(),Hw=Ge(),Vw=pA(),zw={message:"boolean schema is false"};function Jw(n){let{gen:e,schema:i,validateName:s}=n;i===!1?pd(n,!1):typeof i=="object"&&i.$async===!0?e.return(Vw.default.data):(e.assign((0,Hw._)`${s}.errors`,null),e.return(!0))}vi.topBoolOrEmptySchema=Jw;function Kw(n,e){let{gen:i,schema:s}=n;s===!1?(i.var(e,!1),pd(n)):i.var(e,!0)}vi.boolOrEmptySchema=Kw;function pd(n,e){let{gen:i,data:s}=n,u={gen:i,keyword:"false schema",data:s,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:n};(0,Gw.reportError)(u,zw,void 0,e)}});var al=pe(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});bi.getRules=bi.isJSONType=void 0;var Ww=["string","number","integer","boolean","null","object","array"],Yw=new Set(Ww);function Xw(n){return typeof n=="string"&&Yw.has(n)}bi.isJSONType=Xw;function Zw(){let n={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...n,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},n.number,n.string,n.array,n.object],post:{rules:[]},all:{},keywords:{}}}bi.getRules=Zw});var ll=pe(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.shouldUseRule=Br.shouldUseGroup=Br.schemaHasRulesForType=void 0;function e_({schema:n,self:e},i){let s=e.RULES.types[i];return s&&s!==!0&&gd(n,s)}Br.schemaHasRulesForType=e_;function gd(n,e){return e.rules.some(i=>yd(n,i))}Br.shouldUseGroup=gd;function yd(n,e){var i;return n[e.keyword]!==void 0||((i=e.definition.implements)===null||i===void 0?void 0:i.some(s=>n[s]!==void 0))}Br.shouldUseRule=yd});var Po=pe(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.reportTypeError=Gt.checkDataTypes=Gt.checkDataType=Gt.coerceAndCheckDataType=Gt.getJSONTypes=Gt.getSchemaTypes=Gt.DataType=void 0;var t_=al(),A_=ll(),r_=$o(),He=Ge(),wd=Ye(),Ei;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(Ei||(Gt.DataType=Ei={}));function n_(n){let e=_d(n.type);if(e.includes("null")){if(n.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&n.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');n.nullable===!0&&e.push("null")}return e}Gt.getSchemaTypes=n_;function _d(n){let e=Array.isArray(n)?n:n?[n]:[];if(e.every(t_.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}Gt.getJSONTypes=_d;function i_(n,e){let{gen:i,data:s,opts:u}=n,d=o_(e,u.coerceTypes),m=e.length>0&&!(d.length===0&&e.length===1&&(0,A_.schemaHasRulesForType)(n,e[0]));if(m){let y=fl(e,s,u.strictNumbers,Ei.Wrong);i.if(y,()=>{d.length?s_(n,e,d):cl(n)})}return m}Gt.coerceAndCheckDataType=i_;var vd=new Set(["string","number","integer","boolean","null"]);function o_(n,e){return e?n.filter(i=>vd.has(i)||e==="array"&&i==="array"):[]}function s_(n,e,i){let{gen:s,data:u,opts:d}=n,m=s.let("dataType",(0,He._)`typeof ${u}`),y=s.let("coerced",(0,He._)`undefined`);d.coerceTypes==="array"&&s.if((0,He._)`${m} == 'object' && Array.isArray(${u}) && ${u}.length == 1`,()=>s.assign(u,(0,He._)`${u}[0]`).assign(m,(0,He._)`typeof ${u}`).if(fl(e,u,d.strictNumbers),()=>s.assign(y,u))),s.if((0,He._)`${y} !== undefined`);for(let b of i)(vd.has(b)||b==="array"&&d.coerceTypes==="array")&&E(b);s.else(),cl(n),s.endIf(),s.if((0,He._)`${y} !== undefined`,()=>{s.assign(u,y),a_(n,y)});function E(b){switch(b){case"string":s.elseIf((0,He._)`${m} == "number" || ${m} == "boolean"`).assign(y,(0,He._)`"" + ${u}`).elseIf((0,He._)`${u} === null`).assign(y,(0,He._)`""`);return;case"number":s.elseIf((0,He._)`${m} == "boolean" || ${u} === null
|
|
4
4
|
|| (${m} == "string" && ${u} && ${u} == +${u})`).assign(y,(0,He._)`+${u}`);return;case"integer":s.elseIf((0,He._)`${m} === "boolean" || ${u} === null
|
|
5
5
|
|| (${m} === "string" && ${u} && ${u} == +${u} && !(${u} % 1))`).assign(y,(0,He._)`+${u}`);return;case"boolean":s.elseIf((0,He._)`${u} === "false" || ${u} === 0 || ${u} === null`).assign(y,!1).elseIf((0,He._)`${u} === "true" || ${u} === 1`).assign(y,!0);return;case"null":s.elseIf((0,He._)`${u} === "" || ${u} === 0 || ${u} === false`),s.assign(y,null);return;case"array":s.elseIf((0,He._)`${m} === "string" || ${m} === "number"
|
|
6
|
-
|| ${m} === "boolean" || ${u} === null`).assign(y,(0,He._)`[${u}]`)}}}function a_({gen:n,parentData:e,parentDataProperty:i},s){n.if((0,He._)`${e} !== undefined`,()=>n.assign((0,He._)`${e}[${i}]`,s))}function ul(n,e,i,s=Ei.Correct){let u=s===Ei.Correct?He.operators.EQ:He.operators.NEQ,d;switch(n){case"null":return(0,He._)`${e} ${u} null`;case"array":d=(0,He._)`Array.isArray(${e})`;break;case"object":d=(0,He._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":d=m((0,He._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":d=m();break;default:return(0,He._)`typeof ${e} ${u} ${n}`}return s===Ei.Correct?d:(0,He.not)(d);function m(y=He.nil){return(0,He.and)((0,He._)`typeof ${e} == "number"`,y,i?(0,He._)`isFinite(${e})`:He.nil)}}Gt.checkDataType=ul;function fl(n,e,i,s){if(n.length===1)return ul(n[0],e,i,s);let u,d=(0,wd.toHash)(n);if(d.array&&d.object){let m=(0,He._)`typeof ${e} != "object"`;u=d.null?m:(0,He._)`!${e} || ${m}`,delete d.null,delete d.array,delete d.object}else u=He.nil;d.number&&delete d.integer;for(let m in d)u=(0,He.and)(u,ul(m,e,i,s));return u}Gt.checkDataTypes=fl;var l_={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,He._)`{type: ${n}}`:(0,He._)`{type: ${e}}`};function cl(n){let e=u_(n);(0,r_.reportError)(e,l_)}Gt.reportTypeError=cl;function u_(n){let{gen:e,data:i,schema:s}=n,u=(0,wd.schemaRefOrVal)(n,s,"type");return{gen:e,keyword:"type",data:i,schema:s.type,schemaCode:u,schemaValue:u,parentSchema:s,params:{},it:n}}});var Ed=pe(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.assignDefaults=void 0;var $i=Ge(),f_=Ye();function c_(n,e){let{properties:i,items:s}=n.schema;if(e==="object"&&i)for(let u in i)bd(n,u,i[u].default);else e==="array"&&Array.isArray(s)&&s.forEach((u,d)=>bd(n,d,u.default))}qs.assignDefaults=c_;function bd(n,e,i){let{gen:s,compositeRule:u,data:d,opts:m}=n;if(i===void 0)return;let y=(0,$i._)`${d}${(0,$i.getProperty)(e)}`;if(u){(0,f_.checkStrictMode)(n,`default is ignored for: ${y}`);return}let E=(0,$i._)`${y} === undefined`;m.useDefaults==="empty"&&(E=(0,$i._)`${E} || ${y} === null || ${y} === ""`),s.if(E,(0,$i._)`${y} = ${(0,$i.stringify)(i)}`)}});var mA=pe(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.validateUnion=ct.validateArray=ct.usePattern=ct.callValidateCode=ct.schemaProperties=ct.allSchemaProperties=ct.noPropertyInData=ct.propertyInData=ct.isOwnProperty=ct.hasPropFunc=ct.reportMissingProp=ct.checkMissingProp=ct.checkReportMissingProp=void 0;var pt=Ge(),dl=Ye(),Mr=pA(),d_=Ye();function h_(n,e){let{gen:i,data:s,it:u}=n;i.if(pl(i,s,e,u.opts.ownProperties),()=>{n.setParams({missingProperty:(0,pt._)`${e}`},!0),n.error()})}ct.checkReportMissingProp=h_;function p_({gen:n,data:e,it:{opts:i}},s,u){return(0,pt.or)(...s.map(d=>(0,pt.and)(pl(n,e,d,i.ownProperties),(0,pt._)`${u} = ${d}`)))}ct.checkMissingProp=p_;function m_(n,e){n.setParams({missingProperty:e},!0),n.error()}ct.reportMissingProp=m_;function $d(n){return n.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,pt._)`Object.prototype.hasOwnProperty`})}ct.hasPropFunc=$d;function hl(n,e,i){return(0,pt._)`${$d(n)}.call(${e}, ${i})`}ct.isOwnProperty=hl;function g_(n,e,i,s){let u=(0,pt._)`${e}${(0,pt.getProperty)(i)} !== undefined`;return s?(0,pt._)`${u} && ${hl(n,e,i)}`:u}ct.propertyInData=g_;function pl(n,e,i,s){let u=(0,pt._)`${e}${(0,pt.getProperty)(i)} === undefined`;return s?(0,pt.or)(u,(0,pt.not)(hl(n,e,i))):u}ct.noPropertyInData=pl;function Pd(n){return n?Object.keys(n).filter(e=>e!=="__proto__"):[]}ct.allSchemaProperties=Pd;function y_(n,e){return Pd(e).filter(i=>!(0,dl.alwaysValidSchema)(n,e[i]))}ct.schemaProperties=y_;function w_({schemaCode:n,data:e,it:{gen:i,topSchemaRef:s,schemaPath:u,errorPath:d},it:m},y,E,b){let w=b?(0,pt._)`${n}, ${e}, ${s}${u}`:e,_=[[Mr.default.instancePath,(0,pt.strConcat)(Mr.default.instancePath,d)],[Mr.default.parentData,m.parentData],[Mr.default.parentDataProperty,m.parentDataProperty],[Mr.default.rootData,Mr.default.rootData]];m.opts.dynamicRef&&_.push([Mr.default.dynamicAnchors,Mr.default.dynamicAnchors]);let $=(0,pt._)`${w}, ${i.object(..._)}`;return E!==pt.nil?(0,pt._)`${y}.call(${E}, ${$})`:(0,pt._)`${y}(${$})`}ct.callValidateCode=w_;var __=(0,pt._)`new RegExp`;function v_({gen:n,it:{opts:e}},i){let s=e.unicodeRegExp?"u":"",{regExp:u}=e.code,d=u(i,s);return n.scopeValue("pattern",{key:d.toString(),ref:d,code:(0,pt._)`${u.code==="new RegExp"?__:(0,d_.useFunc)(n,u)}(${i}, ${s})`})}ct.usePattern=v_;function b_(n){let{gen:e,data:i,keyword:s,it:u}=n,d=e.name("valid");if(u.allErrors){let y=e.let("valid",!0);return m(()=>e.assign(y,!1)),y}return e.var(d,!0),m(()=>e.break()),d;function m(y){let E=e.const("len",(0,pt._)`${i}.length`);e.forRange("i",0,E,b=>{n.subschema({keyword:s,dataProp:b,dataPropType:dl.Type.Num},d),e.if((0,pt.not)(d),y)})}}ct.validateArray=b_;function E_(n){let{gen:e,schema:i,keyword:s,it:u}=n;if(!Array.isArray(i))throw new Error("ajv implementation error");if(i.some(E=>(0,dl.alwaysValidSchema)(u,E))&&!u.opts.unevaluated)return;let m=e.let("valid",!1),y=e.name("_valid");e.block(()=>i.forEach((E,b)=>{let w=n.subschema({keyword:s,schemaProp:b,compositeRule:!0},y);e.assign(m,(0,pt._)`${m} || ${y}`),n.mergeValidEvaluated(w,y)||e.if((0,pt.not)(m))})),n.result(m,()=>n.reset(),()=>n.error(!0))}ct.validateUnion=E_});var Sd=pe(GA=>{"use strict";Object.defineProperty(GA,"__esModule",{value:!0});GA.validateKeywordUsage=GA.validSchemaType=GA.funcKeywordCode=GA.macroKeywordCode=void 0;var Jt=Ge(),Pn=pA(),$_=mA(),P_=$o();function k_(n,e){let{gen:i,keyword:s,schema:u,parentSchema:d,it:m}=n,y=e.macro.call(m.self,u,d,m),E=Cd(i,s,y);m.opts.validateSchema!==!1&&m.self.validateSchema(y,!0);let b=i.name("valid");n.subschema({schema:y,schemaPath:Jt.nil,errSchemaPath:`${m.errSchemaPath}/${s}`,topSchemaRef:E,compositeRule:!0},b),n.pass(b,()=>n.error(!0))}GA.macroKeywordCode=k_;function C_(n,e){var i;let{gen:s,keyword:u,schema:d,parentSchema:m,$data:y,it:E}=n;D_(E,e);let b=!y&&e.compile?e.compile.call(E.self,d,m,E):e.validate,w=Cd(s,u,b),_=s.let("valid");n.block$data(_,$),n.ok((i=e.valid)!==null&&i!==void 0?i:_);function $(){if(e.errors===!1)k(),e.modifying&&kd(n),B(()=>n.error());else{let O=e.async?C():x();e.modifying&&kd(n),B(()=>S_(n,O))}}function C(){let O=s.let("ruleErrs",null);return s.try(()=>k((0,Jt._)`await `),I=>s.assign(_,!1).if((0,Jt._)`${I} instanceof ${E.ValidationError}`,()=>s.assign(O,(0,Jt._)`${I}.errors`),()=>s.throw(I))),O}function x(){let O=(0,Jt._)`${w}.errors`;return s.assign(O,null),k(Jt.nil),O}function k(O=e.async?(0,Jt._)`await `:Jt.nil){let I=E.opts.passContext?Pn.default.this:Pn.default.self,U=!("compile"in e&&!y||e.schema===!1);s.assign(_,(0,Jt._)`${O}${(0,$_.callValidateCode)(n,w,I,U)}`,e.modifying)}function B(O){var I;s.if((0,Jt.not)((I=e.valid)!==null&&I!==void 0?I:_),O)}}GA.funcKeywordCode=C_;function kd(n){let{gen:e,data:i,it:s}=n;e.if(s.parentData,()=>e.assign(i,(0,Jt._)`${s.parentData}[${s.parentDataProperty}]`))}function S_(n,e){let{gen:i}=n;i.if((0,Jt._)`Array.isArray(${e})`,()=>{i.assign(Pn.default.vErrors,(0,Jt._)`${Pn.default.vErrors} === null ? ${e} : ${Pn.default.vErrors}.concat(${e})`).assign(Pn.default.errors,(0,Jt._)`${Pn.default.vErrors}.length`),(0,P_.extendErrors)(n)},()=>n.error())}function D_({schemaEnv:n},e){if(e.async&&!n.$async)throw new Error("async keyword in sync schema")}function Cd(n,e,i){if(i===void 0)throw new Error(`keyword "${e}" failed to compile`);return n.scopeValue("keyword",typeof i=="function"?{ref:i}:{ref:i,code:(0,Jt.stringify)(i)})}function x_(n,e,i=!1){return!e.length||e.some(s=>s==="array"?Array.isArray(n):s==="object"?n&&typeof n=="object"&&!Array.isArray(n):typeof n==s||i&&typeof n>"u")}GA.validSchemaType=x_;function R_({schema:n,opts:e,self:i,errSchemaPath:s},u,d){if(Array.isArray(u.keyword)?!u.keyword.includes(d):u.keyword!==d)throw new Error("ajv implementation error");let m=u.dependencies;if(m?.some(y=>!Object.prototype.hasOwnProperty.call(n,y)))throw new Error(`parent schema must have dependencies of ${d}: ${m.join(",")}`);if(u.validateSchema&&!u.validateSchema(n[d])){let E=`keyword "${d}" value is invalid at path "${s}": `+i.errorsText(u.validateSchema.errors);if(e.validateSchema==="log")i.logger.error(E);else throw new Error(E)}}GA.validateKeywordUsage=R_});var xd=pe(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.extendSubschemaMode=jr.extendSubschemaData=jr.getSubschema=void 0;var HA=Ge(),Dd=Ye();function T_(n,{keyword:e,schemaProp:i,schema:s,schemaPath:u,errSchemaPath:d,topSchemaRef:m}){if(e!==void 0&&s!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let y=n.schema[e];return i===void 0?{schema:y,schemaPath:(0,HA._)`${n.schemaPath}${(0,HA.getProperty)(e)}`,errSchemaPath:`${n.errSchemaPath}/${e}`}:{schema:y[i],schemaPath:(0,HA._)`${n.schemaPath}${(0,HA.getProperty)(e)}${(0,HA.getProperty)(i)}`,errSchemaPath:`${n.errSchemaPath}/${e}/${(0,Dd.escapeFragment)(i)}`}}if(s!==void 0){if(u===void 0||d===void 0||m===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:u,topSchemaRef:m,errSchemaPath:d}}throw new Error('either "keyword" or "schema" must be passed')}jr.getSubschema=T_;function O_(n,e,{dataProp:i,dataPropType:s,data:u,dataTypes:d,propertyName:m}){if(u!==void 0&&i!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:y}=e;if(i!==void 0){let{errorPath:b,dataPathArr:w,opts:_}=e,$=y.let("data",(0,HA._)`${e.data}${(0,HA.getProperty)(i)}`,!0);E($),n.errorPath=(0,HA.str)`${b}${(0,Dd.getErrorPath)(i,s,_.jsPropertySyntax)}`,n.parentDataProperty=(0,HA._)`${i}`,n.dataPathArr=[...w,n.parentDataProperty]}if(u!==void 0){let b=u instanceof HA.Name?u:y.let("data",u,!0);E(b),m!==void 0&&(n.propertyName=m)}d&&(n.dataTypes=d);function E(b){n.data=b,n.dataLevel=e.dataLevel+1,n.dataTypes=[],e.definedProperties=new Set,n.parentData=e.data,n.dataNames=[...e.dataNames,b]}}jr.extendSubschemaData=O_;function I_(n,{jtdDiscriminator:e,jtdMetadata:i,compositeRule:s,createErrors:u,allErrors:d}){s!==void 0&&(n.compositeRule=s),u!==void 0&&(n.createErrors=u),d!==void 0&&(n.allErrors=d),n.jtdDiscriminator=e,n.jtdMetadata=i}jr.extendSubschemaMode=I_});var ml=pe((EC,Rd)=>{"use strict";Rd.exports=function n(e,i){if(e===i)return!0;if(e&&i&&typeof e=="object"&&typeof i=="object"){if(e.constructor!==i.constructor)return!1;var s,u,d;if(Array.isArray(e)){if(s=e.length,s!=i.length)return!1;for(u=s;u--!==0;)if(!n(e[u],i[u]))return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===i.toString();if(d=Object.keys(e),s=d.length,s!==Object.keys(i).length)return!1;for(u=s;u--!==0;)if(!Object.prototype.hasOwnProperty.call(i,d[u]))return!1;for(u=s;u--!==0;){var m=d[u];if(!n(e[m],i[m]))return!1}return!0}return e!==e&&i!==i}});var Od=pe(($C,Td)=>{"use strict";var Nr=Td.exports=function(n,e,i){typeof e=="function"&&(i=e,e={}),i=e.cb||i;var s=typeof i=="function"?i:i.pre||function(){},u=i.post||function(){};Us(e,s,u,n,"",n)};Nr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Nr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Nr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Nr.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Us(n,e,i,s,u,d,m,y,E,b){if(s&&typeof s=="object"&&!Array.isArray(s)){e(s,u,d,m,y,E,b);for(var w in s){var _=s[w];if(Array.isArray(_)){if(w in Nr.arrayKeywords)for(var $=0;$<_.length;$++)Us(n,e,i,_[$],u+"/"+w+"/"+$,d,u,w,s,$)}else if(w in Nr.propsKeywords){if(_&&typeof _=="object")for(var C in _)Us(n,e,i,_[C],u+"/"+w+"/"+B_(C),d,u,w,s,C)}else(w in Nr.keywords||n.allKeys&&!(w in Nr.skipKeywords))&&Us(n,e,i,_,u+"/"+w,d,u,w,s)}i(s,u,d,m,y,E,b)}}function B_(n){return n.replace(/~/g,"~0").replace(/\//g,"~1")}});var ko=pe(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});eA.getSchemaRefs=eA.resolveUrl=eA.normalizeId=eA._getFullPath=eA.getFullPath=eA.inlineRef=void 0;var M_=Ye(),j_=ml(),N_=Od(),F_=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Q_(n,e=!0){return typeof n=="boolean"?!0:e===!0?!gl(n):e?Id(n)<=e:!1}eA.inlineRef=Q_;var L_=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function gl(n){for(let e in n){if(L_.has(e))return!0;let i=n[e];if(Array.isArray(i)&&i.some(gl)||typeof i=="object"&&gl(i))return!0}return!1}function Id(n){let e=0;for(let i in n){if(i==="$ref")return 1/0;if(e++,!F_.has(i)&&(typeof n[i]=="object"&&(0,M_.eachItem)(n[i],s=>e+=Id(s)),e===1/0))return 1/0}return e}function Bd(n,e="",i){i!==!1&&(e=Pi(e));let s=n.parse(e);return Md(n,s)}eA.getFullPath=Bd;function Md(n,e){return n.serialize(e).split("#")[0]+"#"}eA._getFullPath=Md;var q_=/#\/?$/;function Pi(n){return n?n.replace(q_,""):""}eA.normalizeId=Pi;function U_(n,e,i){return i=Pi(i),n.resolve(e,i)}eA.resolveUrl=U_;var G_=/^[a-z_][-a-z0-9._]*$/i;function H_(n,e){if(typeof n=="boolean")return{};let{schemaId:i,uriResolver:s}=this.opts,u=Pi(n[i]||e),d={"":u},m=Bd(s,u,!1),y={},E=new Set;return N_(n,{allKeys:!0},(_,$,C,x)=>{if(x===void 0)return;let k=m+$,B=d[x];typeof _[i]=="string"&&(B=O.call(this,_[i])),I.call(this,_.$anchor),I.call(this,_.$dynamicAnchor),d[$]=B;function O(U){let q=this.opts.uriResolver.resolve;if(U=Pi(B?q(B,U):U),E.has(U))throw w(U);E.add(U);let V=this.refs[U];return typeof V=="string"&&(V=this.refs[V]),typeof V=="object"?b(_,V.schema,U):U!==Pi(k)&&(U[0]==="#"?(b(_,y[U],U),y[U]=_):this.refs[U]=k),U}function I(U){if(typeof U=="string"){if(!G_.test(U))throw new Error(`invalid anchor "${U}"`);O.call(this,`#${U}`)}}}),y;function b(_,$,C){if($!==void 0&&!j_(_,$))throw w(C)}function w(_){return new Error(`reference "${_}" resolves to more than one schema`)}}eA.getSchemaRefs=H_});var Do=pe(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.getData=Fr.KeywordCxt=Fr.validateFunctionCode=void 0;var Ld=md(),jd=Po(),wl=ll(),Gs=Po(),V_=Ed(),So=Sd(),yl=xd(),Pe=Ge(),Fe=pA(),z_=ko(),ar=Ye(),Co=$o();function J_(n){if(Gd(n)&&(Hd(n),Ud(n))){Y_(n);return}qd(n,()=>(0,Ld.topBoolOrEmptySchema)(n))}Fr.validateFunctionCode=J_;function qd({gen:n,validateName:e,schema:i,schemaEnv:s,opts:u},d){u.code.es5?n.func(e,(0,Pe._)`${Fe.default.data}, ${Fe.default.valCxt}`,s.$async,()=>{n.code((0,Pe._)`"use strict"; ${Nd(i,u)}`),W_(n,u),n.code(d)}):n.func(e,(0,Pe._)`${Fe.default.data}, ${K_(u)}`,s.$async,()=>n.code(Nd(i,u)).code(d))}function K_(n){return(0,Pe._)`{${Fe.default.instancePath}="", ${Fe.default.parentData}, ${Fe.default.parentDataProperty}, ${Fe.default.rootData}=${Fe.default.data}${n.dynamicRef?(0,Pe._)`, ${Fe.default.dynamicAnchors}={}`:Pe.nil}}={}`}function W_(n,e){n.if(Fe.default.valCxt,()=>{n.var(Fe.default.instancePath,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.instancePath}`),n.var(Fe.default.parentData,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.parentData}`),n.var(Fe.default.parentDataProperty,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.parentDataProperty}`),n.var(Fe.default.rootData,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.rootData}`),e.dynamicRef&&n.var(Fe.default.dynamicAnchors,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.dynamicAnchors}`)},()=>{n.var(Fe.default.instancePath,(0,Pe._)`""`),n.var(Fe.default.parentData,(0,Pe._)`undefined`),n.var(Fe.default.parentDataProperty,(0,Pe._)`undefined`),n.var(Fe.default.rootData,Fe.default.data),e.dynamicRef&&n.var(Fe.default.dynamicAnchors,(0,Pe._)`{}`)})}function Y_(n){let{schema:e,opts:i,gen:s}=n;qd(n,()=>{i.$comment&&e.$comment&&zd(n),Av(n),s.let(Fe.default.vErrors,null),s.let(Fe.default.errors,0),i.unevaluated&&X_(n),Vd(n),iv(n)})}function X_(n){let{gen:e,validateName:i}=n;n.evaluated=e.const("evaluated",(0,Pe._)`${i}.evaluated`),e.if((0,Pe._)`${n.evaluated}.dynamicProps`,()=>e.assign((0,Pe._)`${n.evaluated}.props`,(0,Pe._)`undefined`)),e.if((0,Pe._)`${n.evaluated}.dynamicItems`,()=>e.assign((0,Pe._)`${n.evaluated}.items`,(0,Pe._)`undefined`))}function Nd(n,e){let i=typeof n=="object"&&n[e.schemaId];return i&&(e.code.source||e.code.process)?(0,Pe._)`/*# sourceURL=${i} */`:Pe.nil}function Z_(n,e){if(Gd(n)&&(Hd(n),Ud(n))){ev(n,e);return}(0,Ld.boolOrEmptySchema)(n,e)}function Ud({schema:n,self:e}){if(typeof n=="boolean")return!n;for(let i in n)if(e.RULES.all[i])return!0;return!1}function Gd(n){return typeof n.schema!="boolean"}function ev(n,e){let{schema:i,gen:s,opts:u}=n;u.$comment&&i.$comment&&zd(n),rv(n),nv(n);let d=s.const("_errs",Fe.default.errors);Vd(n,d),s.var(e,(0,Pe._)`${d} === ${Fe.default.errors}`)}function Hd(n){(0,ar.checkUnknownRules)(n),tv(n)}function Vd(n,e){if(n.opts.jtd)return Fd(n,[],!1,e);let i=(0,jd.getSchemaTypes)(n.schema),s=(0,jd.coerceAndCheckDataType)(n,i);Fd(n,i,!s,e)}function tv(n){let{schema:e,errSchemaPath:i,opts:s,self:u}=n;e.$ref&&s.ignoreKeywordsWithRef&&(0,ar.schemaHasRulesButRef)(e,u.RULES)&&u.logger.warn(`$ref: keywords ignored in schema at path "${i}"`)}function Av(n){let{schema:e,opts:i}=n;e.default!==void 0&&i.useDefaults&&i.strictSchema&&(0,ar.checkStrictMode)(n,"default is ignored in the schema root")}function rv(n){let e=n.schema[n.opts.schemaId];e&&(n.baseId=(0,z_.resolveUrl)(n.opts.uriResolver,n.baseId,e))}function nv(n){if(n.schema.$async&&!n.schemaEnv.$async)throw new Error("async schema in sync schema")}function zd({gen:n,schemaEnv:e,schema:i,errSchemaPath:s,opts:u}){let d=i.$comment;if(u.$comment===!0)n.code((0,Pe._)`${Fe.default.self}.logger.log(${d})`);else if(typeof u.$comment=="function"){let m=(0,Pe.str)`${s}/$comment`,y=n.scopeValue("root",{ref:e.root});n.code((0,Pe._)`${Fe.default.self}.opts.$comment(${d}, ${m}, ${y}.schema)`)}}function iv(n){let{gen:e,schemaEnv:i,validateName:s,ValidationError:u,opts:d}=n;i.$async?e.if((0,Pe._)`${Fe.default.errors} === 0`,()=>e.return(Fe.default.data),()=>e.throw((0,Pe._)`new ${u}(${Fe.default.vErrors})`)):(e.assign((0,Pe._)`${s}.errors`,Fe.default.vErrors),d.unevaluated&&ov(n),e.return((0,Pe._)`${Fe.default.errors} === 0`))}function ov({gen:n,evaluated:e,props:i,items:s}){i instanceof Pe.Name&&n.assign((0,Pe._)`${e}.props`,i),s instanceof Pe.Name&&n.assign((0,Pe._)`${e}.items`,s)}function Fd(n,e,i,s){let{gen:u,schema:d,data:m,allErrors:y,opts:E,self:b}=n,{RULES:w}=b;if(d.$ref&&(E.ignoreKeywordsWithRef||!(0,ar.schemaHasRulesButRef)(d,w))){u.block(()=>Kd(n,"$ref",w.all.$ref.definition));return}E.jtd||sv(n,e),u.block(()=>{for(let $ of w.rules)_($);_(w.post)});function _($){(0,wl.shouldUseGroup)(d,$)&&($.type?(u.if((0,Gs.checkDataType)($.type,m,E.strictNumbers)),Qd(n,$),e.length===1&&e[0]===$.type&&i&&(u.else(),(0,Gs.reportTypeError)(n)),u.endIf()):Qd(n,$),y||u.if((0,Pe._)`${Fe.default.errors} === ${s||0}`))}}function Qd(n,e){let{gen:i,schema:s,opts:{useDefaults:u}}=n;u&&(0,V_.assignDefaults)(n,e.type),i.block(()=>{for(let d of e.rules)(0,wl.shouldUseRule)(s,d)&&Kd(n,d.keyword,d.definition,e.type)})}function sv(n,e){n.schemaEnv.meta||!n.opts.strictTypes||(av(n,e),n.opts.allowUnionTypes||lv(n,e),uv(n,n.dataTypes))}function av(n,e){if(e.length){if(!n.dataTypes.length){n.dataTypes=e;return}e.forEach(i=>{Jd(n.dataTypes,i)||_l(n,`type "${i}" not allowed by context "${n.dataTypes.join(",")}"`)}),cv(n,e)}}function lv(n,e){e.length>1&&!(e.length===2&&e.includes("null"))&&_l(n,"use allowUnionTypes to allow union type keyword")}function uv(n,e){let i=n.self.RULES.all;for(let s in i){let u=i[s];if(typeof u=="object"&&(0,wl.shouldUseRule)(n.schema,u)){let{type:d}=u.definition;d.length&&!d.some(m=>fv(e,m))&&_l(n,`missing type "${d.join(",")}" for keyword "${s}"`)}}}function fv(n,e){return n.includes(e)||e==="number"&&n.includes("integer")}function Jd(n,e){return n.includes(e)||e==="integer"&&n.includes("number")}function cv(n,e){let i=[];for(let s of n.dataTypes)Jd(e,s)?i.push(s):e.includes("integer")&&s==="number"&&i.push("integer");n.dataTypes=i}function _l(n,e){let i=n.schemaEnv.baseId+n.errSchemaPath;e+=` at "${i}" (strictTypes)`,(0,ar.checkStrictMode)(n,e,n.opts.strictTypes)}var Hs=class{constructor(e,i,s){if((0,So.validateKeywordUsage)(e,i,s),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=s,this.data=e.data,this.schema=e.schema[s],this.$data=i.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,ar.schemaRefOrVal)(e,this.schema,s,this.$data),this.schemaType=i.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=i,this.$data)this.schemaCode=e.gen.const("vSchema",Wd(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,So.validSchemaType)(this.schema,i.schemaType,i.allowUndefined))throw new Error(`${s} value must be ${JSON.stringify(i.schemaType)}`);("code"in i?i.trackErrors:i.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Fe.default.errors))}result(e,i,s){this.failResult((0,Pe.not)(e),i,s)}failResult(e,i,s){this.gen.if(e),s?s():this.error(),i?(this.gen.else(),i(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,i){this.failResult((0,Pe.not)(e),void 0,i)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:i}=this;this.fail((0,Pe._)`${i} !== undefined && (${(0,Pe.or)(this.invalid$data(),e)})`)}error(e,i,s){if(i){this.setParams(i),this._error(e,s),this.setParams({});return}this._error(e,s)}_error(e,i){(e?Co.reportExtraError:Co.reportError)(this,this.def.error,i)}$dataError(){(0,Co.reportError)(this,this.def.$dataError||Co.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Co.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,i){i?Object.assign(this.params,e):this.params=e}block$data(e,i,s=Pe.nil){this.gen.block(()=>{this.check$data(e,s),i()})}check$data(e=Pe.nil,i=Pe.nil){if(!this.$data)return;let{gen:s,schemaCode:u,schemaType:d,def:m}=this;s.if((0,Pe.or)((0,Pe._)`${u} === undefined`,i)),e!==Pe.nil&&s.assign(e,!0),(d.length||m.validateSchema)&&(s.elseIf(this.invalid$data()),this.$dataError(),e!==Pe.nil&&s.assign(e,!1)),s.else()}invalid$data(){let{gen:e,schemaCode:i,schemaType:s,def:u,it:d}=this;return(0,Pe.or)(m(),y());function m(){if(s.length){if(!(i instanceof Pe.Name))throw new Error("ajv implementation error");let E=Array.isArray(s)?s:[s];return(0,Pe._)`${(0,Gs.checkDataTypes)(E,i,d.opts.strictNumbers,Gs.DataType.Wrong)}`}return Pe.nil}function y(){if(u.validateSchema){let E=e.scopeValue("validate$data",{ref:u.validateSchema});return(0,Pe._)`!${E}(${i})`}return Pe.nil}}subschema(e,i){let s=(0,yl.getSubschema)(this.it,e);(0,yl.extendSubschemaData)(s,this.it,e),(0,yl.extendSubschemaMode)(s,e);let u={...this.it,...s,items:void 0,props:void 0};return Z_(u,i),u}mergeEvaluated(e,i){let{it:s,gen:u}=this;s.opts.unevaluated&&(s.props!==!0&&e.props!==void 0&&(s.props=ar.mergeEvaluated.props(u,e.props,s.props,i)),s.items!==!0&&e.items!==void 0&&(s.items=ar.mergeEvaluated.items(u,e.items,s.items,i)))}mergeValidEvaluated(e,i){let{it:s,gen:u}=this;if(s.opts.unevaluated&&(s.props!==!0||s.items!==!0))return u.if(i,()=>this.mergeEvaluated(e,Pe.Name)),!0}};Fr.KeywordCxt=Hs;function Kd(n,e,i,s){let u=new Hs(n,i,e);"code"in i?i.code(u,s):u.$data&&i.validate?(0,So.funcKeywordCode)(u,i):"macro"in i?(0,So.macroKeywordCode)(u,i):(i.compile||i.validate)&&(0,So.funcKeywordCode)(u,i)}var dv=/^\/(?:[^~]|~0|~1)*$/,hv=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Wd(n,{dataLevel:e,dataNames:i,dataPathArr:s}){let u,d;if(n==="")return Fe.default.rootData;if(n[0]==="/"){if(!dv.test(n))throw new Error(`Invalid JSON-pointer: ${n}`);u=n,d=Fe.default.rootData}else{let b=hv.exec(n);if(!b)throw new Error(`Invalid JSON-pointer: ${n}`);let w=+b[1];if(u=b[2],u==="#"){if(w>=e)throw new Error(E("property/index",w));return s[e-w]}if(w>e)throw new Error(E("data",w));if(d=i[e-w],!u)return d}let m=d,y=u.split("/");for(let b of y)b&&(d=(0,Pe._)`${d}${(0,Pe.getProperty)((0,ar.unescapeJsonPointer)(b))}`,m=(0,Pe._)`${m} && ${d}`);return m;function E(b,w){return`Cannot access ${b} ${w} levels up, current level is ${e}`}}Fr.getData=Wd});var Vs=pe(bl=>{"use strict";Object.defineProperty(bl,"__esModule",{value:!0});var vl=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};bl.default=vl});var xo=pe(Pl=>{"use strict";Object.defineProperty(Pl,"__esModule",{value:!0});var El=ko(),$l=class extends Error{constructor(e,i,s,u){super(u||`can't resolve reference ${s} from id ${i}`),this.missingRef=(0,El.resolveUrl)(e,i,s),this.missingSchema=(0,El.normalizeId)((0,El.getFullPath)(e,this.missingRef))}};Pl.default=$l});var Ro=pe(gA=>{"use strict";Object.defineProperty(gA,"__esModule",{value:!0});gA.resolveSchema=gA.getCompilingSchema=gA.resolveRef=gA.compileSchema=gA.SchemaEnv=void 0;var $A=Ge(),pv=Vs(),kn=pA(),PA=ko(),Yd=Ye(),mv=Do(),ki=class{constructor(e){var i;this.refs={},this.dynamicAnchors={};let s;typeof e.schema=="object"&&(s=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(i=e.baseId)!==null&&i!==void 0?i:(0,PA.normalizeId)(s?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=s?.$async,this.refs={}}};gA.SchemaEnv=ki;function Cl(n){let e=Xd.call(this,n);if(e)return e;let i=(0,PA.getFullPath)(this.opts.uriResolver,n.root.baseId),{es5:s,lines:u}=this.opts.code,{ownProperties:d}=this.opts,m=new $A.CodeGen(this.scope,{es5:s,lines:u,ownProperties:d}),y;n.$async&&(y=m.scopeValue("Error",{ref:pv.default,code:(0,$A._)`require("ajv/dist/runtime/validation_error").default`}));let E=m.scopeName("validate");n.validateName=E;let b={gen:m,allErrors:this.opts.allErrors,data:kn.default.data,parentData:kn.default.parentData,parentDataProperty:kn.default.parentDataProperty,dataNames:[kn.default.data],dataPathArr:[$A.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:m.scopeValue("schema",this.opts.code.source===!0?{ref:n.schema,code:(0,$A.stringify)(n.schema)}:{ref:n.schema}),validateName:E,ValidationError:y,schema:n.schema,schemaEnv:n,rootId:i,baseId:n.baseId||i,schemaPath:$A.nil,errSchemaPath:n.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,$A._)`""`,opts:this.opts,self:this},w;try{this._compilations.add(n),(0,mv.validateFunctionCode)(b),m.optimize(this.opts.code.optimize);let _=m.toString();w=`${m.scopeRefs(kn.default.scope)}return ${_}`,this.opts.code.process&&(w=this.opts.code.process(w,n));let C=new Function(`${kn.default.self}`,`${kn.default.scope}`,w)(this,this.scope.get());if(this.scope.value(E,{ref:C}),C.errors=null,C.schema=n.schema,C.schemaEnv=n,n.$async&&(C.$async=!0),this.opts.code.source===!0&&(C.source={validateName:E,validateCode:_,scopeValues:m._values}),this.opts.unevaluated){let{props:x,items:k}=b;C.evaluated={props:x instanceof $A.Name?void 0:x,items:k instanceof $A.Name?void 0:k,dynamicProps:x instanceof $A.Name,dynamicItems:k instanceof $A.Name},C.source&&(C.source.evaluated=(0,$A.stringify)(C.evaluated))}return n.validate=C,n}catch(_){throw delete n.validate,delete n.validateName,w&&this.logger.error("Error compiling schema, function code:",w),_}finally{this._compilations.delete(n)}}gA.compileSchema=Cl;function gv(n,e,i){var s;i=(0,PA.resolveUrl)(this.opts.uriResolver,e,i);let u=n.refs[i];if(u)return u;let d=_v.call(this,n,i);if(d===void 0){let m=(s=n.localRefs)===null||s===void 0?void 0:s[i],{schemaId:y}=this.opts;m&&(d=new ki({schema:m,schemaId:y,root:n,baseId:e}))}if(d!==void 0)return n.refs[i]=yv.call(this,d)}gA.resolveRef=gv;function yv(n){return(0,PA.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:Cl.call(this,n)}function Xd(n){for(let e of this._compilations)if(wv(e,n))return e}gA.getCompilingSchema=Xd;function wv(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function _v(n,e){let i;for(;typeof(i=this.refs[e])=="string";)e=i;return i||this.schemas[e]||zs.call(this,n,e)}function zs(n,e){let i=this.opts.uriResolver.parse(e),s=(0,PA._getFullPath)(this.opts.uriResolver,i),u=(0,PA.getFullPath)(this.opts.uriResolver,n.baseId,void 0);if(Object.keys(n.schema).length>0&&s===u)return kl.call(this,i,n);let d=(0,PA.normalizeId)(s),m=this.refs[d]||this.schemas[d];if(typeof m=="string"){let y=zs.call(this,n,m);return typeof y?.schema!="object"?void 0:kl.call(this,i,y)}if(typeof m?.schema=="object"){if(m.validate||Cl.call(this,m),d===(0,PA.normalizeId)(e)){let{schema:y}=m,{schemaId:E}=this.opts,b=y[E];return b&&(u=(0,PA.resolveUrl)(this.opts.uriResolver,u,b)),new ki({schema:y,schemaId:E,root:n,baseId:u})}return kl.call(this,i,m)}}gA.resolveSchema=zs;var vv=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function kl(n,{baseId:e,schema:i,root:s}){var u;if(((u=n.fragment)===null||u===void 0?void 0:u[0])!=="/")return;for(let y of n.fragment.slice(1).split("/")){if(typeof i=="boolean")return;let E=i[(0,Yd.unescapeFragment)(y)];if(E===void 0)return;i=E;let b=typeof i=="object"&&i[this.opts.schemaId];!vv.has(y)&&b&&(e=(0,PA.resolveUrl)(this.opts.uriResolver,e,b))}let d;if(typeof i!="boolean"&&i.$ref&&!(0,Yd.schemaHasRulesButRef)(i,this.RULES)){let y=(0,PA.resolveUrl)(this.opts.uriResolver,e,i.$ref);d=zs.call(this,s,y)}let{schemaId:m}=this.opts;if(d=d||new ki({schema:i,schemaId:m,root:s,baseId:e}),d.schema!==d.root.schema)return d}});var Zd=pe((xC,bv)=>{bv.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var th=pe((RC,eh)=>{"use strict";var Ev={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};eh.exports={HEX:Ev}});var lh=pe((TC,ah)=>{"use strict";var{HEX:$v}=th(),Pv=/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u;function ih(n){if(sh(n,".")<3)return{host:n,isIPV4:!1};let e=n.match(Pv)||[],[i]=e;return i?{host:Cv(i,"."),isIPV4:!0}:{host:n,isIPV4:!1}}function Sl(n,e=!1){let i="",s=!0;for(let u of n){if($v[u]===void 0)return;u!=="0"&&s===!0&&(s=!1),s||(i+=u)}return e&&i.length===0&&(i="0"),i}function kv(n){let e=0,i={error:!1,address:"",zone:""},s=[],u=[],d=!1,m=!1,y=!1;function E(){if(u.length){if(d===!1){let b=Sl(u);if(b!==void 0)s.push(b);else return i.error=!0,!1}u.length=0}return!0}for(let b=0;b<n.length;b++){let w=n[b];if(!(w==="["||w==="]"))if(w===":"){if(m===!0&&(y=!0),!E())break;if(e++,s.push(":"),e>7){i.error=!0;break}b-1>=0&&n[b-1]===":"&&(m=!0);continue}else if(w==="%"){if(!E())break;d=!0}else{u.push(w);continue}}return u.length&&(d?i.zone=u.join(""):y?s.push(u.join("")):s.push(Sl(u))),i.address=s.join(""),i}function oh(n){if(sh(n,":")<2)return{host:n,isIPV6:!1};let e=kv(n);if(e.error)return{host:n,isIPV6:!1};{let i=e.address,s=e.address;return e.zone&&(i+="%"+e.zone,s+="%25"+e.zone),{host:i,escapedHost:s,isIPV6:!0}}}function Cv(n,e){let i="",s=!0,u=n.length;for(let d=0;d<u;d++){let m=n[d];m==="0"&&s?(d+1<=u&&n[d+1]===e||d+1===u)&&(i+=m,s=!1):(m===e?s=!0:s=!1,i+=m)}return i}function sh(n,e){let i=0;for(let s=0;s<n.length;s++)n[s]===e&&i++;return i}var Ah=/^\.\.?\//u,rh=/^\/\.(?:\/|$)/u,nh=/^\/\.\.(?:\/|$)/u,Sv=/^\/?(?:.|\n)*?(?=\/|$)/u;function Dv(n){let e=[];for(;n.length;)if(n.match(Ah))n=n.replace(Ah,"");else if(n.match(rh))n=n.replace(rh,"/");else if(n.match(nh))n=n.replace(nh,"/"),e.pop();else if(n==="."||n==="..")n="";else{let i=n.match(Sv);if(i){let s=i[0];n=n.slice(s.length),e.push(s)}else throw new Error("Unexpected dot segment condition")}return e.join("")}function xv(n,e){let i=e!==!0?escape:unescape;return n.scheme!==void 0&&(n.scheme=i(n.scheme)),n.userinfo!==void 0&&(n.userinfo=i(n.userinfo)),n.host!==void 0&&(n.host=i(n.host)),n.path!==void 0&&(n.path=i(n.path)),n.query!==void 0&&(n.query=i(n.query)),n.fragment!==void 0&&(n.fragment=i(n.fragment)),n}function Rv(n){let e=[];if(n.userinfo!==void 0&&(e.push(n.userinfo),e.push("@")),n.host!==void 0){let i=unescape(n.host),s=ih(i);if(s.isIPV4)i=s.host;else{let u=oh(s.host);u.isIPV6===!0?i=`[${u.escapedHost}]`:i=n.host}e.push(i)}return(typeof n.port=="number"||typeof n.port=="string")&&(e.push(":"),e.push(String(n.port))),e.length?e.join(""):void 0}ah.exports={recomposeAuthority:Rv,normalizeComponentEncoding:xv,removeDotSegments:Dv,normalizeIPv4:ih,normalizeIPv6:oh,stringArrayToHexStripped:Sl}});var ph=pe((OC,hh)=>{"use strict";var Tv=/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu,Ov=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function uh(n){return typeof n.secure=="boolean"?n.secure:String(n.scheme).toLowerCase()==="wss"}function fh(n){return n.host||(n.error=n.error||"HTTP URIs must have a host."),n}function ch(n){let e=String(n.scheme).toLowerCase()==="https";return(n.port===(e?443:80)||n.port==="")&&(n.port=void 0),n.path||(n.path="/"),n}function Iv(n){return n.secure=uh(n),n.resourceName=(n.path||"/")+(n.query?"?"+n.query:""),n.path=void 0,n.query=void 0,n}function Bv(n){if((n.port===(uh(n)?443:80)||n.port==="")&&(n.port=void 0),typeof n.secure=="boolean"&&(n.scheme=n.secure?"wss":"ws",n.secure=void 0),n.resourceName){let[e,i]=n.resourceName.split("?");n.path=e&&e!=="/"?e:void 0,n.query=i,n.resourceName=void 0}return n.fragment=void 0,n}function Mv(n,e){if(!n.path)return n.error="URN can not be parsed",n;let i=n.path.match(Ov);if(i){let s=e.scheme||n.scheme||"urn";n.nid=i[1].toLowerCase(),n.nss=i[2];let u=`${s}:${e.nid||n.nid}`,d=Dl[u];n.path=void 0,d&&(n=d.parse(n,e))}else n.error=n.error||"URN can not be parsed.";return n}function jv(n,e){let i=e.scheme||n.scheme||"urn",s=n.nid.toLowerCase(),u=`${i}:${e.nid||s}`,d=Dl[u];d&&(n=d.serialize(n,e));let m=n,y=n.nss;return m.path=`${s||e.nid}:${y}`,e.skipEscape=!0,m}function Nv(n,e){let i=n;return i.uuid=i.nss,i.nss=void 0,!e.tolerant&&(!i.uuid||!Tv.test(i.uuid))&&(i.error=i.error||"UUID is not valid."),i}function Fv(n){let e=n;return e.nss=(n.uuid||"").toLowerCase(),e}var dh={scheme:"http",domainHost:!0,parse:fh,serialize:ch},Qv={scheme:"https",domainHost:dh.domainHost,parse:fh,serialize:ch},Js={scheme:"ws",domainHost:!0,parse:Iv,serialize:Bv},Lv={scheme:"wss",domainHost:Js.domainHost,parse:Js.parse,serialize:Js.serialize},qv={scheme:"urn",parse:Mv,serialize:jv,skipNormalize:!0},Uv={scheme:"urn:uuid",parse:Nv,serialize:Fv,skipNormalize:!0},Dl={http:dh,https:Qv,ws:Js,wss:Lv,urn:qv,"urn:uuid":Uv};hh.exports=Dl});var gh=pe((IC,Ws)=>{"use strict";var{normalizeIPv6:Gv,normalizeIPv4:Hv,removeDotSegments:To,recomposeAuthority:Vv,normalizeComponentEncoding:Ks}=lh(),xl=ph();function zv(n,e){return typeof n=="string"?n=VA(lr(n,e),e):typeof n=="object"&&(n=lr(VA(n,e),e)),n}function Jv(n,e,i){let s=Object.assign({scheme:"null"},i),u=mh(lr(n,s),lr(e,s),s,!0);return VA(u,{...s,skipEscape:!0})}function mh(n,e,i,s){let u={};return s||(n=lr(VA(n,i),i),e=lr(VA(e,i),i)),i=i||{},!i.tolerant&&e.scheme?(u.scheme=e.scheme,u.userinfo=e.userinfo,u.host=e.host,u.port=e.port,u.path=To(e.path||""),u.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(u.userinfo=e.userinfo,u.host=e.host,u.port=e.port,u.path=To(e.path||""),u.query=e.query):(e.path?(e.path.charAt(0)==="/"?u.path=To(e.path):((n.userinfo!==void 0||n.host!==void 0||n.port!==void 0)&&!n.path?u.path="/"+e.path:n.path?u.path=n.path.slice(0,n.path.lastIndexOf("/")+1)+e.path:u.path=e.path,u.path=To(u.path)),u.query=e.query):(u.path=n.path,e.query!==void 0?u.query=e.query:u.query=n.query),u.userinfo=n.userinfo,u.host=n.host,u.port=n.port),u.scheme=n.scheme),u.fragment=e.fragment,u}function Kv(n,e,i){return typeof n=="string"?(n=unescape(n),n=VA(Ks(lr(n,i),!0),{...i,skipEscape:!0})):typeof n=="object"&&(n=VA(Ks(n,!0),{...i,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=VA(Ks(lr(e,i),!0),{...i,skipEscape:!0})):typeof e=="object"&&(e=VA(Ks(e,!0),{...i,skipEscape:!0})),n.toLowerCase()===e.toLowerCase()}function VA(n,e){let i={host:n.host,scheme:n.scheme,userinfo:n.userinfo,port:n.port,path:n.path,query:n.query,nid:n.nid,nss:n.nss,uuid:n.uuid,fragment:n.fragment,reference:n.reference,resourceName:n.resourceName,secure:n.secure,error:""},s=Object.assign({},e),u=[],d=xl[(s.scheme||i.scheme||"").toLowerCase()];d&&d.serialize&&d.serialize(i,s),i.path!==void 0&&(s.skipEscape?i.path=unescape(i.path):(i.path=escape(i.path),i.scheme!==void 0&&(i.path=i.path.split("%3A").join(":")))),s.reference!=="suffix"&&i.scheme&&u.push(i.scheme,":");let m=Vv(i);if(m!==void 0&&(s.reference!=="suffix"&&u.push("//"),u.push(m),i.path&&i.path.charAt(0)!=="/"&&u.push("/")),i.path!==void 0){let y=i.path;!s.absolutePath&&(!d||!d.absolutePath)&&(y=To(y)),m===void 0&&(y=y.replace(/^\/\//u,"/%2F")),u.push(y)}return i.query!==void 0&&u.push("?",i.query),i.fragment!==void 0&&u.push("#",i.fragment),u.join("")}var Wv=Array.from({length:127},(n,e)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(e)));function Yv(n){let e=0;for(let i=0,s=n.length;i<s;++i)if(e=n.charCodeAt(i),e>126||Wv[e])return!0;return!1}var Xv=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function lr(n,e){let i=Object.assign({},e),s={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},u=n.indexOf("%")!==-1,d=!1;i.reference==="suffix"&&(n=(i.scheme?i.scheme+":":"")+"//"+n);let m=n.match(Xv);if(m){if(s.scheme=m[1],s.userinfo=m[3],s.host=m[4],s.port=parseInt(m[5],10),s.path=m[6]||"",s.query=m[7],s.fragment=m[8],isNaN(s.port)&&(s.port=m[5]),s.host){let E=Hv(s.host);if(E.isIPV4===!1){let b=Gv(E.host);s.host=b.host.toLowerCase(),d=b.isIPV6}else s.host=E.host,d=!0}s.scheme===void 0&&s.userinfo===void 0&&s.host===void 0&&s.port===void 0&&s.query===void 0&&!s.path?s.reference="same-document":s.scheme===void 0?s.reference="relative":s.fragment===void 0?s.reference="absolute":s.reference="uri",i.reference&&i.reference!=="suffix"&&i.reference!==s.reference&&(s.error=s.error||"URI is not a "+i.reference+" reference.");let y=xl[(i.scheme||s.scheme||"").toLowerCase()];if(!i.unicodeSupport&&(!y||!y.unicodeSupport)&&s.host&&(i.domainHost||y&&y.domainHost)&&d===!1&&Yv(s.host))try{s.host=URL.domainToASCII(s.host.toLowerCase())}catch(E){s.error=s.error||"Host's domain name can not be converted to ASCII: "+E}(!y||y&&!y.skipNormalize)&&(u&&s.scheme!==void 0&&(s.scheme=unescape(s.scheme)),u&&s.host!==void 0&&(s.host=unescape(s.host)),s.path&&(s.path=escape(unescape(s.path))),s.fragment&&(s.fragment=encodeURI(decodeURIComponent(s.fragment)))),y&&y.parse&&y.parse(s,i)}else s.error=s.error||"URI can not be parsed.";return s}var Rl={SCHEMES:xl,normalize:zv,resolve:Jv,resolveComponents:mh,equal:Kv,serialize:VA,parse:lr};Ws.exports=Rl;Ws.exports.default=Rl;Ws.exports.fastUri=Rl});var wh=pe(Tl=>{"use strict";Object.defineProperty(Tl,"__esModule",{value:!0});var yh=gh();yh.code='require("ajv/dist/runtime/uri").default';Tl.default=yh});var Ch=pe(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.CodeGen=Mt.Name=Mt.nil=Mt.stringify=Mt.str=Mt._=Mt.KeywordCxt=void 0;var Zv=Do();Object.defineProperty(Mt,"KeywordCxt",{enumerable:!0,get:function(){return Zv.KeywordCxt}});var Ci=Ge();Object.defineProperty(Mt,"_",{enumerable:!0,get:function(){return Ci._}});Object.defineProperty(Mt,"str",{enumerable:!0,get:function(){return Ci.str}});Object.defineProperty(Mt,"stringify",{enumerable:!0,get:function(){return Ci.stringify}});Object.defineProperty(Mt,"nil",{enumerable:!0,get:function(){return Ci.nil}});Object.defineProperty(Mt,"Name",{enumerable:!0,get:function(){return Ci.Name}});Object.defineProperty(Mt,"CodeGen",{enumerable:!0,get:function(){return Ci.CodeGen}});var eb=Vs(),$h=xo(),tb=al(),Oo=Ro(),Ab=Ge(),Io=ko(),Ys=Po(),Il=Ye(),_h=Zd(),rb=wh(),Ph=(n,e)=>new RegExp(n,e);Ph.code="new RegExp";var nb=["removeAdditional","useDefaults","coerceTypes"],ib=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),ob={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},sb={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},vh=200;function ab(n){var e,i,s,u,d,m,y,E,b,w,_,$,C,x,k,B,O,I,U,q,V,z,re,L,J;let le=n.strict,ae=(e=n.code)===null||e===void 0?void 0:e.optimize,R=ae===!0||ae===void 0?1:ae||0,M=(s=(i=n.code)===null||i===void 0?void 0:i.regExp)!==null&&s!==void 0?s:Ph,Q=(u=n.uriResolver)!==null&&u!==void 0?u:rb.default;return{strictSchema:(m=(d=n.strictSchema)!==null&&d!==void 0?d:le)!==null&&m!==void 0?m:!0,strictNumbers:(E=(y=n.strictNumbers)!==null&&y!==void 0?y:le)!==null&&E!==void 0?E:!0,strictTypes:(w=(b=n.strictTypes)!==null&&b!==void 0?b:le)!==null&&w!==void 0?w:"log",strictTuples:($=(_=n.strictTuples)!==null&&_!==void 0?_:le)!==null&&$!==void 0?$:"log",strictRequired:(x=(C=n.strictRequired)!==null&&C!==void 0?C:le)!==null&&x!==void 0?x:!1,code:n.code?{...n.code,optimize:R,regExp:M}:{optimize:R,regExp:M},loopRequired:(k=n.loopRequired)!==null&&k!==void 0?k:vh,loopEnum:(B=n.loopEnum)!==null&&B!==void 0?B:vh,meta:(O=n.meta)!==null&&O!==void 0?O:!0,messages:(I=n.messages)!==null&&I!==void 0?I:!0,inlineRefs:(U=n.inlineRefs)!==null&&U!==void 0?U:!0,schemaId:(q=n.schemaId)!==null&&q!==void 0?q:"$id",addUsedSchema:(V=n.addUsedSchema)!==null&&V!==void 0?V:!0,validateSchema:(z=n.validateSchema)!==null&&z!==void 0?z:!0,validateFormats:(re=n.validateFormats)!==null&&re!==void 0?re:!0,unicodeRegExp:(L=n.unicodeRegExp)!==null&&L!==void 0?L:!0,int32range:(J=n.int32range)!==null&&J!==void 0?J:!0,uriResolver:Q}}var Bo=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...ab(e)};let{es5:i,lines:s}=this.opts.code;this.scope=new Ab.ValueScope({scope:{},prefixes:ib,es5:i,lines:s}),this.logger=hb(e.logger);let u=e.validateFormats;e.validateFormats=!1,this.RULES=(0,tb.getRules)(),bh.call(this,ob,e,"NOT SUPPORTED"),bh.call(this,sb,e,"DEPRECATED","warn"),this._metaOpts=cb.call(this),e.formats&&ub.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&fb.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),lb.call(this),e.validateFormats=u}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:i,schemaId:s}=this.opts,u=_h;s==="id"&&(u={..._h},u.id=u.$id,delete u.$id),i&&e&&this.addMetaSchema(u,u[s],!1)}defaultMeta(){let{meta:e,schemaId:i}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[i]||e:void 0}validate(e,i){let s;if(typeof e=="string"){if(s=this.getSchema(e),!s)throw new Error(`no schema with key or ref "${e}"`)}else s=this.compile(e);let u=s(i);return"$async"in s||(this.errors=s.errors),u}compile(e,i){let s=this._addSchema(e,i);return s.validate||this._compileSchemaEnv(s)}compileAsync(e,i){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:s}=this.opts;return u.call(this,e,i);async function u(w,_){await d.call(this,w.$schema);let $=this._addSchema(w,_);return $.validate||m.call(this,$)}async function d(w){w&&!this.getSchema(w)&&await u.call(this,{$ref:w},!0)}async function m(w){try{return this._compileSchemaEnv(w)}catch(_){if(!(_ instanceof $h.default))throw _;return y.call(this,_),await E.call(this,_.missingSchema),m.call(this,w)}}function y({missingSchema:w,missingRef:_}){if(this.refs[w])throw new Error(`AnySchema ${w} is loaded but ${_} cannot be resolved`)}async function E(w){let _=await b.call(this,w);this.refs[w]||await d.call(this,_.$schema),this.refs[w]||this.addSchema(_,w,i)}async function b(w){let _=this._loading[w];if(_)return _;try{return await(this._loading[w]=s(w))}finally{delete this._loading[w]}}}addSchema(e,i,s,u=this.opts.validateSchema){if(Array.isArray(e)){for(let m of e)this.addSchema(m,void 0,s,u);return this}let d;if(typeof e=="object"){let{schemaId:m}=this.opts;if(d=e[m],d!==void 0&&typeof d!="string")throw new Error(`schema ${m} must be string`)}return i=(0,Io.normalizeId)(i||d),this._checkUnique(i),this.schemas[i]=this._addSchema(e,s,i,u,!0),this}addMetaSchema(e,i,s=this.opts.validateSchema){return this.addSchema(e,i,!0,s),this}validateSchema(e,i){if(typeof e=="boolean")return!0;let s;if(s=e.$schema,s!==void 0&&typeof s!="string")throw new Error("$schema must be a string");if(s=s||this.opts.defaultMeta||this.defaultMeta(),!s)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let u=this.validate(s,e);if(!u&&i){let d="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(d);else throw new Error(d)}return u}getSchema(e){let i;for(;typeof(i=Eh.call(this,e))=="string";)e=i;if(i===void 0){let{schemaId:s}=this.opts,u=new Oo.SchemaEnv({schema:{},schemaId:s});if(i=Oo.resolveSchema.call(this,u,e),!i)return;this.refs[e]=i}return i.validate||this._compileSchemaEnv(i)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let i=Eh.call(this,e);return typeof i=="object"&&this._cache.delete(i.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let i=e;this._cache.delete(i);let s=e[this.opts.schemaId];return s&&(s=(0,Io.normalizeId)(s),delete this.schemas[s],delete this.refs[s]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let i of e)this.addKeyword(i);return this}addKeyword(e,i){let s;if(typeof e=="string")s=e,typeof i=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),i.keyword=s);else if(typeof e=="object"&&i===void 0){if(i=e,s=i.keyword,Array.isArray(s)&&!s.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(mb.call(this,s,i),!i)return(0,Il.eachItem)(s,d=>Ol.call(this,d)),this;yb.call(this,i);let u={...i,type:(0,Ys.getJSONTypes)(i.type),schemaType:(0,Ys.getJSONTypes)(i.schemaType)};return(0,Il.eachItem)(s,u.type.length===0?d=>Ol.call(this,d,u):d=>u.type.forEach(m=>Ol.call(this,d,u,m))),this}getKeyword(e){let i=this.RULES.all[e];return typeof i=="object"?i.definition:!!i}removeKeyword(e){let{RULES:i}=this;delete i.keywords[e],delete i.all[e];for(let s of i.rules){let u=s.rules.findIndex(d=>d.keyword===e);u>=0&&s.rules.splice(u,1)}return this}addFormat(e,i){return typeof i=="string"&&(i=new RegExp(i)),this.formats[e]=i,this}errorsText(e=this.errors,{separator:i=", ",dataVar:s="data"}={}){return!e||e.length===0?"No errors":e.map(u=>`${s}${u.instancePath} ${u.message}`).reduce((u,d)=>u+i+d)}$dataMetaSchema(e,i){let s=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let u of i){let d=u.split("/").slice(1),m=e;for(let y of d)m=m[y];for(let y in s){let E=s[y];if(typeof E!="object")continue;let{$data:b}=E.definition,w=m[y];b&&w&&(m[y]=kh(w))}}return e}_removeAllSchemas(e,i){for(let s in e){let u=e[s];(!i||i.test(s))&&(typeof u=="string"?delete e[s]:u&&!u.meta&&(this._cache.delete(u.schema),delete e[s]))}}_addSchema(e,i,s,u=this.opts.validateSchema,d=this.opts.addUsedSchema){let m,{schemaId:y}=this.opts;if(typeof e=="object")m=e[y];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let E=this._cache.get(e);if(E!==void 0)return E;s=(0,Io.normalizeId)(m||s);let b=Io.getSchemaRefs.call(this,e,s);return E=new Oo.SchemaEnv({schema:e,schemaId:y,meta:i,baseId:s,localRefs:b}),this._cache.set(E.schema,E),d&&!s.startsWith("#")&&(s&&this._checkUnique(s),this.refs[s]=E),u&&this.validateSchema(e,!0),E}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):Oo.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let i=this.opts;this.opts=this._metaOpts;try{Oo.compileSchema.call(this,e)}finally{this.opts=i}}};Bo.ValidationError=eb.default;Bo.MissingRefError=$h.default;Mt.default=Bo;function bh(n,e,i,s="error"){for(let u in n){let d=u;d in e&&this.logger[s](`${i}: option ${u}. ${n[d]}`)}}function Eh(n){return n=(0,Io.normalizeId)(n),this.schemas[n]||this.refs[n]}function lb(){let n=this.opts.schemas;if(n)if(Array.isArray(n))this.addSchema(n);else for(let e in n)this.addSchema(n[e],e)}function ub(){for(let n in this.opts.formats){let e=this.opts.formats[n];e&&this.addFormat(n,e)}}function fb(n){if(Array.isArray(n)){this.addVocabulary(n);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in n){let i=n[e];i.keyword||(i.keyword=e),this.addKeyword(i)}}function cb(){let n={...this.opts};for(let e of nb)delete n[e];return n}var db={log(){},warn(){},error(){}};function hb(n){if(n===!1)return db;if(n===void 0)return console;if(n.log&&n.warn&&n.error)return n;throw new Error("logger must implement log, warn and error methods")}var pb=/^[a-z_$][a-z0-9_$:-]*$/i;function mb(n,e){let{RULES:i}=this;if((0,Il.eachItem)(n,s=>{if(i.keywords[s])throw new Error(`Keyword ${s} is already defined`);if(!pb.test(s))throw new Error(`Keyword ${s} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Ol(n,e,i){var s;let u=e?.post;if(i&&u)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:d}=this,m=u?d.post:d.rules.find(({type:E})=>E===i);if(m||(m={type:i,rules:[]},d.rules.push(m)),d.keywords[n]=!0,!e)return;let y={keyword:n,definition:{...e,type:(0,Ys.getJSONTypes)(e.type),schemaType:(0,Ys.getJSONTypes)(e.schemaType)}};e.before?gb.call(this,m,y,e.before):m.rules.push(y),d.all[n]=y,(s=e.implements)===null||s===void 0||s.forEach(E=>this.addKeyword(E))}function gb(n,e,i){let s=n.rules.findIndex(u=>u.keyword===i);s>=0?n.rules.splice(s,0,e):(n.rules.push(e),this.logger.warn(`rule ${i} is not defined`))}function yb(n){let{metaSchema:e}=n;e!==void 0&&(n.$data&&this.opts.$data&&(e=kh(e)),n.validateSchema=this.compile(e,!0))}var wb={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function kh(n){return{anyOf:[n,wb]}}});var Sh=pe(Bl=>{"use strict";Object.defineProperty(Bl,"__esModule",{value:!0});var _b={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Bl.default=_b});var ea=pe(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.callRef=Cn.getValidate=void 0;var vb=xo(),Dh=mA(),tA=Ge(),Si=pA(),xh=Ro(),Xs=Ye(),bb={keyword:"$ref",schemaType:"string",code(n){let{gen:e,schema:i,it:s}=n,{baseId:u,schemaEnv:d,validateName:m,opts:y,self:E}=s,{root:b}=d;if((i==="#"||i==="#/")&&u===b.baseId)return _();let w=xh.resolveRef.call(E,b,u,i);if(w===void 0)throw new vb.default(s.opts.uriResolver,u,i);if(w instanceof xh.SchemaEnv)return $(w);return C(w);function _(){if(d===b)return Zs(n,m,d,d.$async);let x=e.scopeValue("root",{ref:b});return Zs(n,(0,tA._)`${x}.validate`,b,b.$async)}function $(x){let k=Rh(n,x);Zs(n,k,x,x.$async)}function C(x){let k=e.scopeValue("schema",y.code.source===!0?{ref:x,code:(0,tA.stringify)(x)}:{ref:x}),B=e.name("valid"),O=n.subschema({schema:x,dataTypes:[],schemaPath:tA.nil,topSchemaRef:k,errSchemaPath:i},B);n.mergeEvaluated(O),n.ok(B)}}};function Rh(n,e){let{gen:i}=n;return e.validate?i.scopeValue("validate",{ref:e.validate}):(0,tA._)`${i.scopeValue("wrapper",{ref:e})}.validate`}Cn.getValidate=Rh;function Zs(n,e,i,s){let{gen:u,it:d}=n,{allErrors:m,schemaEnv:y,opts:E}=d,b=E.passContext?Si.default.this:tA.nil;s?w():_();function w(){if(!y.$async)throw new Error("async schema referenced by sync schema");let x=u.let("valid");u.try(()=>{u.code((0,tA._)`await ${(0,Dh.callValidateCode)(n,e,b)}`),C(e),m||u.assign(x,!0)},k=>{u.if((0,tA._)`!(${k} instanceof ${d.ValidationError})`,()=>u.throw(k)),$(k),m||u.assign(x,!1)}),n.ok(x)}function _(){n.result((0,Dh.callValidateCode)(n,e,b),()=>C(e),()=>$(e))}function $(x){let k=(0,tA._)`${x}.errors`;u.assign(Si.default.vErrors,(0,tA._)`${Si.default.vErrors} === null ? ${k} : ${Si.default.vErrors}.concat(${k})`),u.assign(Si.default.errors,(0,tA._)`${Si.default.vErrors}.length`)}function C(x){var k;if(!d.opts.unevaluated)return;let B=(k=i?.validate)===null||k===void 0?void 0:k.evaluated;if(d.props!==!0)if(B&&!B.dynamicProps)B.props!==void 0&&(d.props=Xs.mergeEvaluated.props(u,B.props,d.props));else{let O=u.var("props",(0,tA._)`${x}.evaluated.props`);d.props=Xs.mergeEvaluated.props(u,O,d.props,tA.Name)}if(d.items!==!0)if(B&&!B.dynamicItems)B.items!==void 0&&(d.items=Xs.mergeEvaluated.items(u,B.items,d.items));else{let O=u.var("items",(0,tA._)`${x}.evaluated.items`);d.items=Xs.mergeEvaluated.items(u,O,d.items,tA.Name)}}}Cn.callRef=Zs;Cn.default=bb});var Th=pe(Ml=>{"use strict";Object.defineProperty(Ml,"__esModule",{value:!0});var Eb=Sh(),$b=ea(),Pb=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Eb.default,$b.default];Ml.default=Pb});var Oh=pe(jl=>{"use strict";Object.defineProperty(jl,"__esModule",{value:!0});var ta=Ge(),Qr=ta.operators,Aa={maximum:{okStr:"<=",ok:Qr.LTE,fail:Qr.GT},minimum:{okStr:">=",ok:Qr.GTE,fail:Qr.LT},exclusiveMaximum:{okStr:"<",ok:Qr.LT,fail:Qr.GTE},exclusiveMinimum:{okStr:">",ok:Qr.GT,fail:Qr.LTE}},kb={message:({keyword:n,schemaCode:e})=>(0,ta.str)`must be ${Aa[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,ta._)`{comparison: ${Aa[n].okStr}, limit: ${e}}`},Cb={keyword:Object.keys(Aa),type:"number",schemaType:"number",$data:!0,error:kb,code(n){let{keyword:e,data:i,schemaCode:s}=n;n.fail$data((0,ta._)`${i} ${Aa[e].fail} ${s} || isNaN(${i})`)}};jl.default=Cb});var Ih=pe(Nl=>{"use strict";Object.defineProperty(Nl,"__esModule",{value:!0});var Mo=Ge(),Sb={message:({schemaCode:n})=>(0,Mo.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,Mo._)`{multipleOf: ${n}}`},Db={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Sb,code(n){let{gen:e,data:i,schemaCode:s,it:u}=n,d=u.opts.multipleOfPrecision,m=e.let("res"),y=d?(0,Mo._)`Math.abs(Math.round(${m}) - ${m}) > 1e-${d}`:(0,Mo._)`${m} !== parseInt(${m})`;n.fail$data((0,Mo._)`(${s} === 0 || (${m} = ${i}/${s}, ${y}))`)}};Nl.default=Db});var Mh=pe(Fl=>{"use strict";Object.defineProperty(Fl,"__esModule",{value:!0});function Bh(n){let e=n.length,i=0,s=0,u;for(;s<e;)i++,u=n.charCodeAt(s++),u>=55296&&u<=56319&&s<e&&(u=n.charCodeAt(s),(u&64512)===56320&&s++);return i}Fl.default=Bh;Bh.code='require("ajv/dist/runtime/ucs2length").default'});var jh=pe(Ql=>{"use strict";Object.defineProperty(Ql,"__esModule",{value:!0});var Sn=Ge(),xb=Ye(),Rb=Mh(),Tb={message({keyword:n,schemaCode:e}){let i=n==="maxLength"?"more":"fewer";return(0,Sn.str)`must NOT have ${i} than ${e} characters`},params:({schemaCode:n})=>(0,Sn._)`{limit: ${n}}`},Ob={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Tb,code(n){let{keyword:e,data:i,schemaCode:s,it:u}=n,d=e==="maxLength"?Sn.operators.GT:Sn.operators.LT,m=u.opts.unicode===!1?(0,Sn._)`${i}.length`:(0,Sn._)`${(0,xb.useFunc)(n.gen,Rb.default)}(${i})`;n.fail$data((0,Sn._)`${m} ${d} ${s}`)}};Ql.default=Ob});var Nh=pe(Ll=>{"use strict";Object.defineProperty(Ll,"__esModule",{value:!0});var Ib=mA(),ra=Ge(),Bb={message:({schemaCode:n})=>(0,ra.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,ra._)`{pattern: ${n}}`},Mb={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Bb,code(n){let{data:e,$data:i,schema:s,schemaCode:u,it:d}=n,m=d.opts.unicodeRegExp?"u":"",y=i?(0,ra._)`(new RegExp(${u}, ${m}))`:(0,Ib.usePattern)(n,s);n.fail$data((0,ra._)`!${y}.test(${e})`)}};Ll.default=Mb});var Fh=pe(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});var jo=Ge(),jb={message({keyword:n,schemaCode:e}){let i=n==="maxProperties"?"more":"fewer";return(0,jo.str)`must NOT have ${i} than ${e} properties`},params:({schemaCode:n})=>(0,jo._)`{limit: ${n}}`},Nb={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:jb,code(n){let{keyword:e,data:i,schemaCode:s}=n,u=e==="maxProperties"?jo.operators.GT:jo.operators.LT;n.fail$data((0,jo._)`Object.keys(${i}).length ${u} ${s}`)}};ql.default=Nb});var Qh=pe(Ul=>{"use strict";Object.defineProperty(Ul,"__esModule",{value:!0});var No=mA(),Fo=Ge(),Fb=Ye(),Qb={message:({params:{missingProperty:n}})=>(0,Fo.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,Fo._)`{missingProperty: ${n}}`},Lb={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Qb,code(n){let{gen:e,schema:i,schemaCode:s,data:u,$data:d,it:m}=n,{opts:y}=m;if(!d&&i.length===0)return;let E=i.length>=y.loopRequired;if(m.allErrors?b():w(),y.strictRequired){let C=n.parentSchema.properties,{definedProperties:x}=n.it;for(let k of i)if(C?.[k]===void 0&&!x.has(k)){let B=m.schemaEnv.baseId+m.errSchemaPath,O=`required property "${k}" is not defined at "${B}" (strictRequired)`;(0,Fb.checkStrictMode)(m,O,m.opts.strictRequired)}}function b(){if(E||d)n.block$data(Fo.nil,_);else for(let C of i)(0,No.checkReportMissingProp)(n,C)}function w(){let C=e.let("missing");if(E||d){let x=e.let("valid",!0);n.block$data(x,()=>$(C,x)),n.ok(x)}else e.if((0,No.checkMissingProp)(n,i,C)),(0,No.reportMissingProp)(n,C),e.else()}function _(){e.forOf("prop",s,C=>{n.setParams({missingProperty:C}),e.if((0,No.noPropertyInData)(e,u,C,y.ownProperties),()=>n.error())})}function $(C,x){n.setParams({missingProperty:C}),e.forOf(C,s,()=>{e.assign(x,(0,No.propertyInData)(e,u,C,y.ownProperties)),e.if((0,Fo.not)(x),()=>{n.error(),e.break()})},Fo.nil)}}};Ul.default=Lb});var Lh=pe(Gl=>{"use strict";Object.defineProperty(Gl,"__esModule",{value:!0});var Qo=Ge(),qb={message({keyword:n,schemaCode:e}){let i=n==="maxItems"?"more":"fewer";return(0,Qo.str)`must NOT have ${i} than ${e} items`},params:({schemaCode:n})=>(0,Qo._)`{limit: ${n}}`},Ub={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:qb,code(n){let{keyword:e,data:i,schemaCode:s}=n,u=e==="maxItems"?Qo.operators.GT:Qo.operators.LT;n.fail$data((0,Qo._)`${i}.length ${u} ${s}`)}};Gl.default=Ub});var na=pe(Hl=>{"use strict";Object.defineProperty(Hl,"__esModule",{value:!0});var qh=ml();qh.code='require("ajv/dist/runtime/equal").default';Hl.default=qh});var Uh=pe(zl=>{"use strict";Object.defineProperty(zl,"__esModule",{value:!0});var Vl=Po(),jt=Ge(),Gb=Ye(),Hb=na(),Vb={message:({params:{i:n,j:e}})=>(0,jt.str)`must NOT have duplicate items (items ## ${e} and ${n} are identical)`,params:({params:{i:n,j:e}})=>(0,jt._)`{i: ${n}, j: ${e}}`},zb={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Vb,code(n){let{gen:e,data:i,$data:s,schema:u,parentSchema:d,schemaCode:m,it:y}=n;if(!s&&!u)return;let E=e.let("valid"),b=d.items?(0,Vl.getSchemaTypes)(d.items):[];n.block$data(E,w,(0,jt._)`${m} === false`),n.ok(E);function w(){let x=e.let("i",(0,jt._)`${i}.length`),k=e.let("j");n.setParams({i:x,j:k}),e.assign(E,!0),e.if((0,jt._)`${x} > 1`,()=>(_()?$:C)(x,k))}function _(){return b.length>0&&!b.some(x=>x==="object"||x==="array")}function $(x,k){let B=e.name("item"),O=(0,Vl.checkDataTypes)(b,B,y.opts.strictNumbers,Vl.DataType.Wrong),I=e.const("indices",(0,jt._)`{}`);e.for((0,jt._)`;${x}--;`,()=>{e.let(B,(0,jt._)`${i}[${x}]`),e.if(O,(0,jt._)`continue`),b.length>1&&e.if((0,jt._)`typeof ${B} == "string"`,(0,jt._)`${B} += "_"`),e.if((0,jt._)`typeof ${I}[${B}] == "number"`,()=>{e.assign(k,(0,jt._)`${I}[${B}]`),n.error(),e.assign(E,!1).break()}).code((0,jt._)`${I}[${B}] = ${x}`)})}function C(x,k){let B=(0,Gb.useFunc)(e,Hb.default),O=e.name("outer");e.label(O).for((0,jt._)`;${x}--;`,()=>e.for((0,jt._)`${k} = ${x}; ${k}--;`,()=>e.if((0,jt._)`${B}(${i}[${x}], ${i}[${k}])`,()=>{n.error(),e.assign(E,!1).break(O)})))}}};zl.default=zb});var Gh=pe(Kl=>{"use strict";Object.defineProperty(Kl,"__esModule",{value:!0});var Jl=Ge(),Jb=Ye(),Kb=na(),Wb={message:"must be equal to constant",params:({schemaCode:n})=>(0,Jl._)`{allowedValue: ${n}}`},Yb={keyword:"const",$data:!0,error:Wb,code(n){let{gen:e,data:i,$data:s,schemaCode:u,schema:d}=n;s||d&&typeof d=="object"?n.fail$data((0,Jl._)`!${(0,Jb.useFunc)(e,Kb.default)}(${i}, ${u})`):n.fail((0,Jl._)`${d} !== ${i}`)}};Kl.default=Yb});var Hh=pe(Wl=>{"use strict";Object.defineProperty(Wl,"__esModule",{value:!0});var Lo=Ge(),Xb=Ye(),Zb=na(),e4={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,Lo._)`{allowedValues: ${n}}`},t4={keyword:"enum",schemaType:"array",$data:!0,error:e4,code(n){let{gen:e,data:i,$data:s,schema:u,schemaCode:d,it:m}=n;if(!s&&u.length===0)throw new Error("enum must have non-empty array");let y=u.length>=m.opts.loopEnum,E,b=()=>E??(E=(0,Xb.useFunc)(e,Zb.default)),w;if(y||s)w=e.let("valid"),n.block$data(w,_);else{if(!Array.isArray(u))throw new Error("ajv implementation error");let C=e.const("vSchema",d);w=(0,Lo.or)(...u.map((x,k)=>$(C,k)))}n.pass(w);function _(){e.assign(w,!1),e.forOf("v",d,C=>e.if((0,Lo._)`${b()}(${i}, ${C})`,()=>e.assign(w,!0).break()))}function $(C,x){let k=u[x];return typeof k=="object"&&k!==null?(0,Lo._)`${b()}(${i}, ${C}[${x}])`:(0,Lo._)`${i} === ${k}`}}};Wl.default=t4});var Vh=pe(Yl=>{"use strict";Object.defineProperty(Yl,"__esModule",{value:!0});var A4=Oh(),r4=Ih(),n4=jh(),i4=Nh(),o4=Fh(),s4=Qh(),a4=Lh(),l4=Uh(),u4=Gh(),f4=Hh(),c4=[A4.default,r4.default,n4.default,i4.default,o4.default,s4.default,a4.default,l4.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},u4.default,f4.default];Yl.default=c4});var Zl=pe(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.validateAdditionalItems=void 0;var Dn=Ge(),Xl=Ye(),d4={message:({params:{len:n}})=>(0,Dn.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,Dn._)`{limit: ${n}}`},h4={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:d4,code(n){let{parentSchema:e,it:i}=n,{items:s}=e;if(!Array.isArray(s)){(0,Xl.checkStrictMode)(i,'"additionalItems" is ignored when "items" is not an array of schemas');return}zh(n,s)}};function zh(n,e){let{gen:i,schema:s,data:u,keyword:d,it:m}=n;m.items=!0;let y=i.const("len",(0,Dn._)`${u}.length`);if(s===!1)n.setParams({len:e.length}),n.pass((0,Dn._)`${y} <= ${e.length}`);else if(typeof s=="object"&&!(0,Xl.alwaysValidSchema)(m,s)){let b=i.var("valid",(0,Dn._)`${y} <= ${e.length}`);i.if((0,Dn.not)(b),()=>E(b)),n.ok(b)}function E(b){i.forRange("i",e.length,y,w=>{n.subschema({keyword:d,dataProp:w,dataPropType:Xl.Type.Num},b),m.allErrors||i.if((0,Dn.not)(b),()=>i.break())})}}qo.validateAdditionalItems=zh;qo.default=h4});var eu=pe(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.validateTuple=void 0;var Jh=Ge(),ia=Ye(),p4=mA(),m4={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){let{schema:e,it:i}=n;if(Array.isArray(e))return Kh(n,"additionalItems",e);i.items=!0,!(0,ia.alwaysValidSchema)(i,e)&&n.ok((0,p4.validateArray)(n))}};function Kh(n,e,i=n.schema){let{gen:s,parentSchema:u,data:d,keyword:m,it:y}=n;w(u),y.opts.unevaluated&&i.length&&y.items!==!0&&(y.items=ia.mergeEvaluated.items(s,i.length,y.items));let E=s.name("valid"),b=s.const("len",(0,Jh._)`${d}.length`);i.forEach((_,$)=>{(0,ia.alwaysValidSchema)(y,_)||(s.if((0,Jh._)`${b} > ${$}`,()=>n.subschema({keyword:m,schemaProp:$,dataProp:$},E)),n.ok(E))});function w(_){let{opts:$,errSchemaPath:C}=y,x=i.length,k=x===_.minItems&&(x===_.maxItems||_[e]===!1);if($.strictTuples&&!k){let B=`"${m}" is ${x}-tuple, but minItems or maxItems/${e} are not specified or different at path "${C}"`;(0,ia.checkStrictMode)(y,B,$.strictTuples)}}}Uo.validateTuple=Kh;Uo.default=m4});var Wh=pe(tu=>{"use strict";Object.defineProperty(tu,"__esModule",{value:!0});var g4=eu(),y4={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,g4.validateTuple)(n,"items")};tu.default=y4});var Xh=pe(Au=>{"use strict";Object.defineProperty(Au,"__esModule",{value:!0});var Yh=Ge(),w4=Ye(),_4=mA(),v4=Zl(),b4={message:({params:{len:n}})=>(0,Yh.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,Yh._)`{limit: ${n}}`},E4={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:b4,code(n){let{schema:e,parentSchema:i,it:s}=n,{prefixItems:u}=i;s.items=!0,!(0,w4.alwaysValidSchema)(s,e)&&(u?(0,v4.validateAdditionalItems)(n,u):n.ok((0,_4.validateArray)(n)))}};Au.default=E4});var Zh=pe(ru=>{"use strict";Object.defineProperty(ru,"__esModule",{value:!0});var yA=Ge(),oa=Ye(),$4={message:({params:{min:n,max:e}})=>e===void 0?(0,yA.str)`must contain at least ${n} valid item(s)`:(0,yA.str)`must contain at least ${n} and no more than ${e} valid item(s)`,params:({params:{min:n,max:e}})=>e===void 0?(0,yA._)`{minContains: ${n}}`:(0,yA._)`{minContains: ${n}, maxContains: ${e}}`},P4={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:$4,code(n){let{gen:e,schema:i,parentSchema:s,data:u,it:d}=n,m,y,{minContains:E,maxContains:b}=s;d.opts.next?(m=E===void 0?1:E,y=b):m=1;let w=e.const("len",(0,yA._)`${u}.length`);if(n.setParams({min:m,max:y}),y===void 0&&m===0){(0,oa.checkStrictMode)(d,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(y!==void 0&&m>y){(0,oa.checkStrictMode)(d,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,oa.alwaysValidSchema)(d,i)){let k=(0,yA._)`${w} >= ${m}`;y!==void 0&&(k=(0,yA._)`${k} && ${w} <= ${y}`),n.pass(k);return}d.items=!0;let _=e.name("valid");y===void 0&&m===1?C(_,()=>e.if(_,()=>e.break())):m===0?(e.let(_,!0),y!==void 0&&e.if((0,yA._)`${u}.length > 0`,$)):(e.let(_,!1),$()),n.result(_,()=>n.reset());function $(){let k=e.name("_valid"),B=e.let("count",0);C(k,()=>e.if(k,()=>x(B)))}function C(k,B){e.forRange("i",0,w,O=>{n.subschema({keyword:"contains",dataProp:O,dataPropType:oa.Type.Num,compositeRule:!0},k),B()})}function x(k){e.code((0,yA._)`${k}++`),y===void 0?e.if((0,yA._)`${k} >= ${m}`,()=>e.assign(_,!0).break()):(e.if((0,yA._)`${k} > ${y}`,()=>e.assign(_,!1).break()),m===1?e.assign(_,!0):e.if((0,yA._)`${k} >= ${m}`,()=>e.assign(_,!0)))}}};ru.default=P4});var sa=pe(zA=>{"use strict";Object.defineProperty(zA,"__esModule",{value:!0});zA.validateSchemaDeps=zA.validatePropertyDeps=zA.error=void 0;var nu=Ge(),k4=Ye(),Go=mA();zA.error={message:({params:{property:n,depsCount:e,deps:i}})=>{let s=e===1?"property":"properties";return(0,nu.str)`must have ${s} ${i} when property ${n} is present`},params:({params:{property:n,depsCount:e,deps:i,missingProperty:s}})=>(0,nu._)`{property: ${n},
|
|
6
|
+
|| ${m} === "boolean" || ${u} === null`).assign(y,(0,He._)`[${u}]`)}}}function a_({gen:n,parentData:e,parentDataProperty:i},s){n.if((0,He._)`${e} !== undefined`,()=>n.assign((0,He._)`${e}[${i}]`,s))}function ul(n,e,i,s=Ei.Correct){let u=s===Ei.Correct?He.operators.EQ:He.operators.NEQ,d;switch(n){case"null":return(0,He._)`${e} ${u} null`;case"array":d=(0,He._)`Array.isArray(${e})`;break;case"object":d=(0,He._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":d=m((0,He._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":d=m();break;default:return(0,He._)`typeof ${e} ${u} ${n}`}return s===Ei.Correct?d:(0,He.not)(d);function m(y=He.nil){return(0,He.and)((0,He._)`typeof ${e} == "number"`,y,i?(0,He._)`isFinite(${e})`:He.nil)}}Gt.checkDataType=ul;function fl(n,e,i,s){if(n.length===1)return ul(n[0],e,i,s);let u,d=(0,wd.toHash)(n);if(d.array&&d.object){let m=(0,He._)`typeof ${e} != "object"`;u=d.null?m:(0,He._)`!${e} || ${m}`,delete d.null,delete d.array,delete d.object}else u=He.nil;d.number&&delete d.integer;for(let m in d)u=(0,He.and)(u,ul(m,e,i,s));return u}Gt.checkDataTypes=fl;var l_={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,He._)`{type: ${n}}`:(0,He._)`{type: ${e}}`};function cl(n){let e=u_(n);(0,r_.reportError)(e,l_)}Gt.reportTypeError=cl;function u_(n){let{gen:e,data:i,schema:s}=n,u=(0,wd.schemaRefOrVal)(n,s,"type");return{gen:e,keyword:"type",data:i,schema:s.type,schemaCode:u,schemaValue:u,parentSchema:s,params:{},it:n}}});var Ed=pe(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.assignDefaults=void 0;var $i=Ge(),f_=Ye();function c_(n,e){let{properties:i,items:s}=n.schema;if(e==="object"&&i)for(let u in i)bd(n,u,i[u].default);else e==="array"&&Array.isArray(s)&&s.forEach((u,d)=>bd(n,d,u.default))}qs.assignDefaults=c_;function bd(n,e,i){let{gen:s,compositeRule:u,data:d,opts:m}=n;if(i===void 0)return;let y=(0,$i._)`${d}${(0,$i.getProperty)(e)}`;if(u){(0,f_.checkStrictMode)(n,`default is ignored for: ${y}`);return}let E=(0,$i._)`${y} === undefined`;m.useDefaults==="empty"&&(E=(0,$i._)`${E} || ${y} === null || ${y} === ""`),s.if(E,(0,$i._)`${y} = ${(0,$i.stringify)(i)}`)}});var mA=pe(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.validateUnion=ct.validateArray=ct.usePattern=ct.callValidateCode=ct.schemaProperties=ct.allSchemaProperties=ct.noPropertyInData=ct.propertyInData=ct.isOwnProperty=ct.hasPropFunc=ct.reportMissingProp=ct.checkMissingProp=ct.checkReportMissingProp=void 0;var pt=Ge(),dl=Ye(),Mr=pA(),d_=Ye();function h_(n,e){let{gen:i,data:s,it:u}=n;i.if(pl(i,s,e,u.opts.ownProperties),()=>{n.setParams({missingProperty:(0,pt._)`${e}`},!0),n.error()})}ct.checkReportMissingProp=h_;function p_({gen:n,data:e,it:{opts:i}},s,u){return(0,pt.or)(...s.map(d=>(0,pt.and)(pl(n,e,d,i.ownProperties),(0,pt._)`${u} = ${d}`)))}ct.checkMissingProp=p_;function m_(n,e){n.setParams({missingProperty:e},!0),n.error()}ct.reportMissingProp=m_;function $d(n){return n.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,pt._)`Object.prototype.hasOwnProperty`})}ct.hasPropFunc=$d;function hl(n,e,i){return(0,pt._)`${$d(n)}.call(${e}, ${i})`}ct.isOwnProperty=hl;function g_(n,e,i,s){let u=(0,pt._)`${e}${(0,pt.getProperty)(i)} !== undefined`;return s?(0,pt._)`${u} && ${hl(n,e,i)}`:u}ct.propertyInData=g_;function pl(n,e,i,s){let u=(0,pt._)`${e}${(0,pt.getProperty)(i)} === undefined`;return s?(0,pt.or)(u,(0,pt.not)(hl(n,e,i))):u}ct.noPropertyInData=pl;function Pd(n){return n?Object.keys(n).filter(e=>e!=="__proto__"):[]}ct.allSchemaProperties=Pd;function y_(n,e){return Pd(e).filter(i=>!(0,dl.alwaysValidSchema)(n,e[i]))}ct.schemaProperties=y_;function w_({schemaCode:n,data:e,it:{gen:i,topSchemaRef:s,schemaPath:u,errorPath:d},it:m},y,E,b){let w=b?(0,pt._)`${n}, ${e}, ${s}${u}`:e,v=[[Mr.default.instancePath,(0,pt.strConcat)(Mr.default.instancePath,d)],[Mr.default.parentData,m.parentData],[Mr.default.parentDataProperty,m.parentDataProperty],[Mr.default.rootData,Mr.default.rootData]];m.opts.dynamicRef&&v.push([Mr.default.dynamicAnchors,Mr.default.dynamicAnchors]);let $=(0,pt._)`${w}, ${i.object(...v)}`;return E!==pt.nil?(0,pt._)`${y}.call(${E}, ${$})`:(0,pt._)`${y}(${$})`}ct.callValidateCode=w_;var __=(0,pt._)`new RegExp`;function v_({gen:n,it:{opts:e}},i){let s=e.unicodeRegExp?"u":"",{regExp:u}=e.code,d=u(i,s);return n.scopeValue("pattern",{key:d.toString(),ref:d,code:(0,pt._)`${u.code==="new RegExp"?__:(0,d_.useFunc)(n,u)}(${i}, ${s})`})}ct.usePattern=v_;function b_(n){let{gen:e,data:i,keyword:s,it:u}=n,d=e.name("valid");if(u.allErrors){let y=e.let("valid",!0);return m(()=>e.assign(y,!1)),y}return e.var(d,!0),m(()=>e.break()),d;function m(y){let E=e.const("len",(0,pt._)`${i}.length`);e.forRange("i",0,E,b=>{n.subschema({keyword:s,dataProp:b,dataPropType:dl.Type.Num},d),e.if((0,pt.not)(d),y)})}}ct.validateArray=b_;function E_(n){let{gen:e,schema:i,keyword:s,it:u}=n;if(!Array.isArray(i))throw new Error("ajv implementation error");if(i.some(E=>(0,dl.alwaysValidSchema)(u,E))&&!u.opts.unevaluated)return;let m=e.let("valid",!1),y=e.name("_valid");e.block(()=>i.forEach((E,b)=>{let w=n.subschema({keyword:s,schemaProp:b,compositeRule:!0},y);e.assign(m,(0,pt._)`${m} || ${y}`),n.mergeValidEvaluated(w,y)||e.if((0,pt.not)(m))})),n.result(m,()=>n.reset(),()=>n.error(!0))}ct.validateUnion=E_});var Sd=pe(GA=>{"use strict";Object.defineProperty(GA,"__esModule",{value:!0});GA.validateKeywordUsage=GA.validSchemaType=GA.funcKeywordCode=GA.macroKeywordCode=void 0;var Jt=Ge(),Pn=pA(),$_=mA(),P_=$o();function k_(n,e){let{gen:i,keyword:s,schema:u,parentSchema:d,it:m}=n,y=e.macro.call(m.self,u,d,m),E=Cd(i,s,y);m.opts.validateSchema!==!1&&m.self.validateSchema(y,!0);let b=i.name("valid");n.subschema({schema:y,schemaPath:Jt.nil,errSchemaPath:`${m.errSchemaPath}/${s}`,topSchemaRef:E,compositeRule:!0},b),n.pass(b,()=>n.error(!0))}GA.macroKeywordCode=k_;function C_(n,e){var i;let{gen:s,keyword:u,schema:d,parentSchema:m,$data:y,it:E}=n;D_(E,e);let b=!y&&e.compile?e.compile.call(E.self,d,m,E):e.validate,w=Cd(s,u,b),v=s.let("valid");n.block$data(v,$),n.ok((i=e.valid)!==null&&i!==void 0?i:v);function $(){if(e.errors===!1)k(),e.modifying&&kd(n),B(()=>n.error());else{let O=e.async?S():x();e.modifying&&kd(n),B(()=>S_(n,O))}}function S(){let O=s.let("ruleErrs",null);return s.try(()=>k((0,Jt._)`await `),I=>s.assign(v,!1).if((0,Jt._)`${I} instanceof ${E.ValidationError}`,()=>s.assign(O,(0,Jt._)`${I}.errors`),()=>s.throw(I))),O}function x(){let O=(0,Jt._)`${w}.errors`;return s.assign(O,null),k(Jt.nil),O}function k(O=e.async?(0,Jt._)`await `:Jt.nil){let I=E.opts.passContext?Pn.default.this:Pn.default.self,U=!("compile"in e&&!y||e.schema===!1);s.assign(v,(0,Jt._)`${O}${(0,$_.callValidateCode)(n,w,I,U)}`,e.modifying)}function B(O){var I;s.if((0,Jt.not)((I=e.valid)!==null&&I!==void 0?I:v),O)}}GA.funcKeywordCode=C_;function kd(n){let{gen:e,data:i,it:s}=n;e.if(s.parentData,()=>e.assign(i,(0,Jt._)`${s.parentData}[${s.parentDataProperty}]`))}function S_(n,e){let{gen:i}=n;i.if((0,Jt._)`Array.isArray(${e})`,()=>{i.assign(Pn.default.vErrors,(0,Jt._)`${Pn.default.vErrors} === null ? ${e} : ${Pn.default.vErrors}.concat(${e})`).assign(Pn.default.errors,(0,Jt._)`${Pn.default.vErrors}.length`),(0,P_.extendErrors)(n)},()=>n.error())}function D_({schemaEnv:n},e){if(e.async&&!n.$async)throw new Error("async keyword in sync schema")}function Cd(n,e,i){if(i===void 0)throw new Error(`keyword "${e}" failed to compile`);return n.scopeValue("keyword",typeof i=="function"?{ref:i}:{ref:i,code:(0,Jt.stringify)(i)})}function x_(n,e,i=!1){return!e.length||e.some(s=>s==="array"?Array.isArray(n):s==="object"?n&&typeof n=="object"&&!Array.isArray(n):typeof n==s||i&&typeof n>"u")}GA.validSchemaType=x_;function R_({schema:n,opts:e,self:i,errSchemaPath:s},u,d){if(Array.isArray(u.keyword)?!u.keyword.includes(d):u.keyword!==d)throw new Error("ajv implementation error");let m=u.dependencies;if(m?.some(y=>!Object.prototype.hasOwnProperty.call(n,y)))throw new Error(`parent schema must have dependencies of ${d}: ${m.join(",")}`);if(u.validateSchema&&!u.validateSchema(n[d])){let E=`keyword "${d}" value is invalid at path "${s}": `+i.errorsText(u.validateSchema.errors);if(e.validateSchema==="log")i.logger.error(E);else throw new Error(E)}}GA.validateKeywordUsage=R_});var xd=pe(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.extendSubschemaMode=jr.extendSubschemaData=jr.getSubschema=void 0;var HA=Ge(),Dd=Ye();function T_(n,{keyword:e,schemaProp:i,schema:s,schemaPath:u,errSchemaPath:d,topSchemaRef:m}){if(e!==void 0&&s!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let y=n.schema[e];return i===void 0?{schema:y,schemaPath:(0,HA._)`${n.schemaPath}${(0,HA.getProperty)(e)}`,errSchemaPath:`${n.errSchemaPath}/${e}`}:{schema:y[i],schemaPath:(0,HA._)`${n.schemaPath}${(0,HA.getProperty)(e)}${(0,HA.getProperty)(i)}`,errSchemaPath:`${n.errSchemaPath}/${e}/${(0,Dd.escapeFragment)(i)}`}}if(s!==void 0){if(u===void 0||d===void 0||m===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:u,topSchemaRef:m,errSchemaPath:d}}throw new Error('either "keyword" or "schema" must be passed')}jr.getSubschema=T_;function O_(n,e,{dataProp:i,dataPropType:s,data:u,dataTypes:d,propertyName:m}){if(u!==void 0&&i!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:y}=e;if(i!==void 0){let{errorPath:b,dataPathArr:w,opts:v}=e,$=y.let("data",(0,HA._)`${e.data}${(0,HA.getProperty)(i)}`,!0);E($),n.errorPath=(0,HA.str)`${b}${(0,Dd.getErrorPath)(i,s,v.jsPropertySyntax)}`,n.parentDataProperty=(0,HA._)`${i}`,n.dataPathArr=[...w,n.parentDataProperty]}if(u!==void 0){let b=u instanceof HA.Name?u:y.let("data",u,!0);E(b),m!==void 0&&(n.propertyName=m)}d&&(n.dataTypes=d);function E(b){n.data=b,n.dataLevel=e.dataLevel+1,n.dataTypes=[],e.definedProperties=new Set,n.parentData=e.data,n.dataNames=[...e.dataNames,b]}}jr.extendSubschemaData=O_;function I_(n,{jtdDiscriminator:e,jtdMetadata:i,compositeRule:s,createErrors:u,allErrors:d}){s!==void 0&&(n.compositeRule=s),u!==void 0&&(n.createErrors=u),d!==void 0&&(n.allErrors=d),n.jtdDiscriminator=e,n.jtdMetadata=i}jr.extendSubschemaMode=I_});var ml=pe((EC,Rd)=>{"use strict";Rd.exports=function n(e,i){if(e===i)return!0;if(e&&i&&typeof e=="object"&&typeof i=="object"){if(e.constructor!==i.constructor)return!1;var s,u,d;if(Array.isArray(e)){if(s=e.length,s!=i.length)return!1;for(u=s;u--!==0;)if(!n(e[u],i[u]))return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===i.toString();if(d=Object.keys(e),s=d.length,s!==Object.keys(i).length)return!1;for(u=s;u--!==0;)if(!Object.prototype.hasOwnProperty.call(i,d[u]))return!1;for(u=s;u--!==0;){var m=d[u];if(!n(e[m],i[m]))return!1}return!0}return e!==e&&i!==i}});var Od=pe(($C,Td)=>{"use strict";var Nr=Td.exports=function(n,e,i){typeof e=="function"&&(i=e,e={}),i=e.cb||i;var s=typeof i=="function"?i:i.pre||function(){},u=i.post||function(){};Us(e,s,u,n,"",n)};Nr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Nr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Nr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Nr.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Us(n,e,i,s,u,d,m,y,E,b){if(s&&typeof s=="object"&&!Array.isArray(s)){e(s,u,d,m,y,E,b);for(var w in s){var v=s[w];if(Array.isArray(v)){if(w in Nr.arrayKeywords)for(var $=0;$<v.length;$++)Us(n,e,i,v[$],u+"/"+w+"/"+$,d,u,w,s,$)}else if(w in Nr.propsKeywords){if(v&&typeof v=="object")for(var S in v)Us(n,e,i,v[S],u+"/"+w+"/"+B_(S),d,u,w,s,S)}else(w in Nr.keywords||n.allKeys&&!(w in Nr.skipKeywords))&&Us(n,e,i,v,u+"/"+w,d,u,w,s)}i(s,u,d,m,y,E,b)}}function B_(n){return n.replace(/~/g,"~0").replace(/\//g,"~1")}});var ko=pe(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});eA.getSchemaRefs=eA.resolveUrl=eA.normalizeId=eA._getFullPath=eA.getFullPath=eA.inlineRef=void 0;var M_=Ye(),j_=ml(),N_=Od(),F_=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Q_(n,e=!0){return typeof n=="boolean"?!0:e===!0?!gl(n):e?Id(n)<=e:!1}eA.inlineRef=Q_;var L_=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function gl(n){for(let e in n){if(L_.has(e))return!0;let i=n[e];if(Array.isArray(i)&&i.some(gl)||typeof i=="object"&&gl(i))return!0}return!1}function Id(n){let e=0;for(let i in n){if(i==="$ref")return 1/0;if(e++,!F_.has(i)&&(typeof n[i]=="object"&&(0,M_.eachItem)(n[i],s=>e+=Id(s)),e===1/0))return 1/0}return e}function Bd(n,e="",i){i!==!1&&(e=Pi(e));let s=n.parse(e);return Md(n,s)}eA.getFullPath=Bd;function Md(n,e){return n.serialize(e).split("#")[0]+"#"}eA._getFullPath=Md;var q_=/#\/?$/;function Pi(n){return n?n.replace(q_,""):""}eA.normalizeId=Pi;function U_(n,e,i){return i=Pi(i),n.resolve(e,i)}eA.resolveUrl=U_;var G_=/^[a-z_][-a-z0-9._]*$/i;function H_(n,e){if(typeof n=="boolean")return{};let{schemaId:i,uriResolver:s}=this.opts,u=Pi(n[i]||e),d={"":u},m=Bd(s,u,!1),y={},E=new Set;return N_(n,{allKeys:!0},(v,$,S,x)=>{if(x===void 0)return;let k=m+$,B=d[x];typeof v[i]=="string"&&(B=O.call(this,v[i])),I.call(this,v.$anchor),I.call(this,v.$dynamicAnchor),d[$]=B;function O(U){let q=this.opts.uriResolver.resolve;if(U=Pi(B?q(B,U):U),E.has(U))throw w(U);E.add(U);let V=this.refs[U];return typeof V=="string"&&(V=this.refs[V]),typeof V=="object"?b(v,V.schema,U):U!==Pi(k)&&(U[0]==="#"?(b(v,y[U],U),y[U]=v):this.refs[U]=k),U}function I(U){if(typeof U=="string"){if(!G_.test(U))throw new Error(`invalid anchor "${U}"`);O.call(this,`#${U}`)}}}),y;function b(v,$,S){if($!==void 0&&!j_(v,$))throw w(S)}function w(v){return new Error(`reference "${v}" resolves to more than one schema`)}}eA.getSchemaRefs=H_});var Do=pe(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.getData=Fr.KeywordCxt=Fr.validateFunctionCode=void 0;var Ld=md(),jd=Po(),wl=ll(),Gs=Po(),V_=Ed(),So=Sd(),yl=xd(),Pe=Ge(),Fe=pA(),z_=ko(),ar=Ye(),Co=$o();function J_(n){if(Gd(n)&&(Hd(n),Ud(n))){Y_(n);return}qd(n,()=>(0,Ld.topBoolOrEmptySchema)(n))}Fr.validateFunctionCode=J_;function qd({gen:n,validateName:e,schema:i,schemaEnv:s,opts:u},d){u.code.es5?n.func(e,(0,Pe._)`${Fe.default.data}, ${Fe.default.valCxt}`,s.$async,()=>{n.code((0,Pe._)`"use strict"; ${Nd(i,u)}`),W_(n,u),n.code(d)}):n.func(e,(0,Pe._)`${Fe.default.data}, ${K_(u)}`,s.$async,()=>n.code(Nd(i,u)).code(d))}function K_(n){return(0,Pe._)`{${Fe.default.instancePath}="", ${Fe.default.parentData}, ${Fe.default.parentDataProperty}, ${Fe.default.rootData}=${Fe.default.data}${n.dynamicRef?(0,Pe._)`, ${Fe.default.dynamicAnchors}={}`:Pe.nil}}={}`}function W_(n,e){n.if(Fe.default.valCxt,()=>{n.var(Fe.default.instancePath,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.instancePath}`),n.var(Fe.default.parentData,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.parentData}`),n.var(Fe.default.parentDataProperty,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.parentDataProperty}`),n.var(Fe.default.rootData,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.rootData}`),e.dynamicRef&&n.var(Fe.default.dynamicAnchors,(0,Pe._)`${Fe.default.valCxt}.${Fe.default.dynamicAnchors}`)},()=>{n.var(Fe.default.instancePath,(0,Pe._)`""`),n.var(Fe.default.parentData,(0,Pe._)`undefined`),n.var(Fe.default.parentDataProperty,(0,Pe._)`undefined`),n.var(Fe.default.rootData,Fe.default.data),e.dynamicRef&&n.var(Fe.default.dynamicAnchors,(0,Pe._)`{}`)})}function Y_(n){let{schema:e,opts:i,gen:s}=n;qd(n,()=>{i.$comment&&e.$comment&&zd(n),Av(n),s.let(Fe.default.vErrors,null),s.let(Fe.default.errors,0),i.unevaluated&&X_(n),Vd(n),iv(n)})}function X_(n){let{gen:e,validateName:i}=n;n.evaluated=e.const("evaluated",(0,Pe._)`${i}.evaluated`),e.if((0,Pe._)`${n.evaluated}.dynamicProps`,()=>e.assign((0,Pe._)`${n.evaluated}.props`,(0,Pe._)`undefined`)),e.if((0,Pe._)`${n.evaluated}.dynamicItems`,()=>e.assign((0,Pe._)`${n.evaluated}.items`,(0,Pe._)`undefined`))}function Nd(n,e){let i=typeof n=="object"&&n[e.schemaId];return i&&(e.code.source||e.code.process)?(0,Pe._)`/*# sourceURL=${i} */`:Pe.nil}function Z_(n,e){if(Gd(n)&&(Hd(n),Ud(n))){ev(n,e);return}(0,Ld.boolOrEmptySchema)(n,e)}function Ud({schema:n,self:e}){if(typeof n=="boolean")return!n;for(let i in n)if(e.RULES.all[i])return!0;return!1}function Gd(n){return typeof n.schema!="boolean"}function ev(n,e){let{schema:i,gen:s,opts:u}=n;u.$comment&&i.$comment&&zd(n),rv(n),nv(n);let d=s.const("_errs",Fe.default.errors);Vd(n,d),s.var(e,(0,Pe._)`${d} === ${Fe.default.errors}`)}function Hd(n){(0,ar.checkUnknownRules)(n),tv(n)}function Vd(n,e){if(n.opts.jtd)return Fd(n,[],!1,e);let i=(0,jd.getSchemaTypes)(n.schema),s=(0,jd.coerceAndCheckDataType)(n,i);Fd(n,i,!s,e)}function tv(n){let{schema:e,errSchemaPath:i,opts:s,self:u}=n;e.$ref&&s.ignoreKeywordsWithRef&&(0,ar.schemaHasRulesButRef)(e,u.RULES)&&u.logger.warn(`$ref: keywords ignored in schema at path "${i}"`)}function Av(n){let{schema:e,opts:i}=n;e.default!==void 0&&i.useDefaults&&i.strictSchema&&(0,ar.checkStrictMode)(n,"default is ignored in the schema root")}function rv(n){let e=n.schema[n.opts.schemaId];e&&(n.baseId=(0,z_.resolveUrl)(n.opts.uriResolver,n.baseId,e))}function nv(n){if(n.schema.$async&&!n.schemaEnv.$async)throw new Error("async schema in sync schema")}function zd({gen:n,schemaEnv:e,schema:i,errSchemaPath:s,opts:u}){let d=i.$comment;if(u.$comment===!0)n.code((0,Pe._)`${Fe.default.self}.logger.log(${d})`);else if(typeof u.$comment=="function"){let m=(0,Pe.str)`${s}/$comment`,y=n.scopeValue("root",{ref:e.root});n.code((0,Pe._)`${Fe.default.self}.opts.$comment(${d}, ${m}, ${y}.schema)`)}}function iv(n){let{gen:e,schemaEnv:i,validateName:s,ValidationError:u,opts:d}=n;i.$async?e.if((0,Pe._)`${Fe.default.errors} === 0`,()=>e.return(Fe.default.data),()=>e.throw((0,Pe._)`new ${u}(${Fe.default.vErrors})`)):(e.assign((0,Pe._)`${s}.errors`,Fe.default.vErrors),d.unevaluated&&ov(n),e.return((0,Pe._)`${Fe.default.errors} === 0`))}function ov({gen:n,evaluated:e,props:i,items:s}){i instanceof Pe.Name&&n.assign((0,Pe._)`${e}.props`,i),s instanceof Pe.Name&&n.assign((0,Pe._)`${e}.items`,s)}function Fd(n,e,i,s){let{gen:u,schema:d,data:m,allErrors:y,opts:E,self:b}=n,{RULES:w}=b;if(d.$ref&&(E.ignoreKeywordsWithRef||!(0,ar.schemaHasRulesButRef)(d,w))){u.block(()=>Kd(n,"$ref",w.all.$ref.definition));return}E.jtd||sv(n,e),u.block(()=>{for(let $ of w.rules)v($);v(w.post)});function v($){(0,wl.shouldUseGroup)(d,$)&&($.type?(u.if((0,Gs.checkDataType)($.type,m,E.strictNumbers)),Qd(n,$),e.length===1&&e[0]===$.type&&i&&(u.else(),(0,Gs.reportTypeError)(n)),u.endIf()):Qd(n,$),y||u.if((0,Pe._)`${Fe.default.errors} === ${s||0}`))}}function Qd(n,e){let{gen:i,schema:s,opts:{useDefaults:u}}=n;u&&(0,V_.assignDefaults)(n,e.type),i.block(()=>{for(let d of e.rules)(0,wl.shouldUseRule)(s,d)&&Kd(n,d.keyword,d.definition,e.type)})}function sv(n,e){n.schemaEnv.meta||!n.opts.strictTypes||(av(n,e),n.opts.allowUnionTypes||lv(n,e),uv(n,n.dataTypes))}function av(n,e){if(e.length){if(!n.dataTypes.length){n.dataTypes=e;return}e.forEach(i=>{Jd(n.dataTypes,i)||_l(n,`type "${i}" not allowed by context "${n.dataTypes.join(",")}"`)}),cv(n,e)}}function lv(n,e){e.length>1&&!(e.length===2&&e.includes("null"))&&_l(n,"use allowUnionTypes to allow union type keyword")}function uv(n,e){let i=n.self.RULES.all;for(let s in i){let u=i[s];if(typeof u=="object"&&(0,wl.shouldUseRule)(n.schema,u)){let{type:d}=u.definition;d.length&&!d.some(m=>fv(e,m))&&_l(n,`missing type "${d.join(",")}" for keyword "${s}"`)}}}function fv(n,e){return n.includes(e)||e==="number"&&n.includes("integer")}function Jd(n,e){return n.includes(e)||e==="integer"&&n.includes("number")}function cv(n,e){let i=[];for(let s of n.dataTypes)Jd(e,s)?i.push(s):e.includes("integer")&&s==="number"&&i.push("integer");n.dataTypes=i}function _l(n,e){let i=n.schemaEnv.baseId+n.errSchemaPath;e+=` at "${i}" (strictTypes)`,(0,ar.checkStrictMode)(n,e,n.opts.strictTypes)}var Hs=class{constructor(e,i,s){if((0,So.validateKeywordUsage)(e,i,s),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=s,this.data=e.data,this.schema=e.schema[s],this.$data=i.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,ar.schemaRefOrVal)(e,this.schema,s,this.$data),this.schemaType=i.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=i,this.$data)this.schemaCode=e.gen.const("vSchema",Wd(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,So.validSchemaType)(this.schema,i.schemaType,i.allowUndefined))throw new Error(`${s} value must be ${JSON.stringify(i.schemaType)}`);("code"in i?i.trackErrors:i.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Fe.default.errors))}result(e,i,s){this.failResult((0,Pe.not)(e),i,s)}failResult(e,i,s){this.gen.if(e),s?s():this.error(),i?(this.gen.else(),i(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,i){this.failResult((0,Pe.not)(e),void 0,i)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:i}=this;this.fail((0,Pe._)`${i} !== undefined && (${(0,Pe.or)(this.invalid$data(),e)})`)}error(e,i,s){if(i){this.setParams(i),this._error(e,s),this.setParams({});return}this._error(e,s)}_error(e,i){(e?Co.reportExtraError:Co.reportError)(this,this.def.error,i)}$dataError(){(0,Co.reportError)(this,this.def.$dataError||Co.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Co.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,i){i?Object.assign(this.params,e):this.params=e}block$data(e,i,s=Pe.nil){this.gen.block(()=>{this.check$data(e,s),i()})}check$data(e=Pe.nil,i=Pe.nil){if(!this.$data)return;let{gen:s,schemaCode:u,schemaType:d,def:m}=this;s.if((0,Pe.or)((0,Pe._)`${u} === undefined`,i)),e!==Pe.nil&&s.assign(e,!0),(d.length||m.validateSchema)&&(s.elseIf(this.invalid$data()),this.$dataError(),e!==Pe.nil&&s.assign(e,!1)),s.else()}invalid$data(){let{gen:e,schemaCode:i,schemaType:s,def:u,it:d}=this;return(0,Pe.or)(m(),y());function m(){if(s.length){if(!(i instanceof Pe.Name))throw new Error("ajv implementation error");let E=Array.isArray(s)?s:[s];return(0,Pe._)`${(0,Gs.checkDataTypes)(E,i,d.opts.strictNumbers,Gs.DataType.Wrong)}`}return Pe.nil}function y(){if(u.validateSchema){let E=e.scopeValue("validate$data",{ref:u.validateSchema});return(0,Pe._)`!${E}(${i})`}return Pe.nil}}subschema(e,i){let s=(0,yl.getSubschema)(this.it,e);(0,yl.extendSubschemaData)(s,this.it,e),(0,yl.extendSubschemaMode)(s,e);let u={...this.it,...s,items:void 0,props:void 0};return Z_(u,i),u}mergeEvaluated(e,i){let{it:s,gen:u}=this;s.opts.unevaluated&&(s.props!==!0&&e.props!==void 0&&(s.props=ar.mergeEvaluated.props(u,e.props,s.props,i)),s.items!==!0&&e.items!==void 0&&(s.items=ar.mergeEvaluated.items(u,e.items,s.items,i)))}mergeValidEvaluated(e,i){let{it:s,gen:u}=this;if(s.opts.unevaluated&&(s.props!==!0||s.items!==!0))return u.if(i,()=>this.mergeEvaluated(e,Pe.Name)),!0}};Fr.KeywordCxt=Hs;function Kd(n,e,i,s){let u=new Hs(n,i,e);"code"in i?i.code(u,s):u.$data&&i.validate?(0,So.funcKeywordCode)(u,i):"macro"in i?(0,So.macroKeywordCode)(u,i):(i.compile||i.validate)&&(0,So.funcKeywordCode)(u,i)}var dv=/^\/(?:[^~]|~0|~1)*$/,hv=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Wd(n,{dataLevel:e,dataNames:i,dataPathArr:s}){let u,d;if(n==="")return Fe.default.rootData;if(n[0]==="/"){if(!dv.test(n))throw new Error(`Invalid JSON-pointer: ${n}`);u=n,d=Fe.default.rootData}else{let b=hv.exec(n);if(!b)throw new Error(`Invalid JSON-pointer: ${n}`);let w=+b[1];if(u=b[2],u==="#"){if(w>=e)throw new Error(E("property/index",w));return s[e-w]}if(w>e)throw new Error(E("data",w));if(d=i[e-w],!u)return d}let m=d,y=u.split("/");for(let b of y)b&&(d=(0,Pe._)`${d}${(0,Pe.getProperty)((0,ar.unescapeJsonPointer)(b))}`,m=(0,Pe._)`${m} && ${d}`);return m;function E(b,w){return`Cannot access ${b} ${w} levels up, current level is ${e}`}}Fr.getData=Wd});var Vs=pe(bl=>{"use strict";Object.defineProperty(bl,"__esModule",{value:!0});var vl=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};bl.default=vl});var xo=pe(Pl=>{"use strict";Object.defineProperty(Pl,"__esModule",{value:!0});var El=ko(),$l=class extends Error{constructor(e,i,s,u){super(u||`can't resolve reference ${s} from id ${i}`),this.missingRef=(0,El.resolveUrl)(e,i,s),this.missingSchema=(0,El.normalizeId)((0,El.getFullPath)(e,this.missingRef))}};Pl.default=$l});var Ro=pe(gA=>{"use strict";Object.defineProperty(gA,"__esModule",{value:!0});gA.resolveSchema=gA.getCompilingSchema=gA.resolveRef=gA.compileSchema=gA.SchemaEnv=void 0;var $A=Ge(),pv=Vs(),kn=pA(),PA=ko(),Yd=Ye(),mv=Do(),ki=class{constructor(e){var i;this.refs={},this.dynamicAnchors={};let s;typeof e.schema=="object"&&(s=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(i=e.baseId)!==null&&i!==void 0?i:(0,PA.normalizeId)(s?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=s?.$async,this.refs={}}};gA.SchemaEnv=ki;function Cl(n){let e=Xd.call(this,n);if(e)return e;let i=(0,PA.getFullPath)(this.opts.uriResolver,n.root.baseId),{es5:s,lines:u}=this.opts.code,{ownProperties:d}=this.opts,m=new $A.CodeGen(this.scope,{es5:s,lines:u,ownProperties:d}),y;n.$async&&(y=m.scopeValue("Error",{ref:pv.default,code:(0,$A._)`require("ajv/dist/runtime/validation_error").default`}));let E=m.scopeName("validate");n.validateName=E;let b={gen:m,allErrors:this.opts.allErrors,data:kn.default.data,parentData:kn.default.parentData,parentDataProperty:kn.default.parentDataProperty,dataNames:[kn.default.data],dataPathArr:[$A.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:m.scopeValue("schema",this.opts.code.source===!0?{ref:n.schema,code:(0,$A.stringify)(n.schema)}:{ref:n.schema}),validateName:E,ValidationError:y,schema:n.schema,schemaEnv:n,rootId:i,baseId:n.baseId||i,schemaPath:$A.nil,errSchemaPath:n.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,$A._)`""`,opts:this.opts,self:this},w;try{this._compilations.add(n),(0,mv.validateFunctionCode)(b),m.optimize(this.opts.code.optimize);let v=m.toString();w=`${m.scopeRefs(kn.default.scope)}return ${v}`,this.opts.code.process&&(w=this.opts.code.process(w,n));let S=new Function(`${kn.default.self}`,`${kn.default.scope}`,w)(this,this.scope.get());if(this.scope.value(E,{ref:S}),S.errors=null,S.schema=n.schema,S.schemaEnv=n,n.$async&&(S.$async=!0),this.opts.code.source===!0&&(S.source={validateName:E,validateCode:v,scopeValues:m._values}),this.opts.unevaluated){let{props:x,items:k}=b;S.evaluated={props:x instanceof $A.Name?void 0:x,items:k instanceof $A.Name?void 0:k,dynamicProps:x instanceof $A.Name,dynamicItems:k instanceof $A.Name},S.source&&(S.source.evaluated=(0,$A.stringify)(S.evaluated))}return n.validate=S,n}catch(v){throw delete n.validate,delete n.validateName,w&&this.logger.error("Error compiling schema, function code:",w),v}finally{this._compilations.delete(n)}}gA.compileSchema=Cl;function gv(n,e,i){var s;i=(0,PA.resolveUrl)(this.opts.uriResolver,e,i);let u=n.refs[i];if(u)return u;let d=_v.call(this,n,i);if(d===void 0){let m=(s=n.localRefs)===null||s===void 0?void 0:s[i],{schemaId:y}=this.opts;m&&(d=new ki({schema:m,schemaId:y,root:n,baseId:e}))}if(d!==void 0)return n.refs[i]=yv.call(this,d)}gA.resolveRef=gv;function yv(n){return(0,PA.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:Cl.call(this,n)}function Xd(n){for(let e of this._compilations)if(wv(e,n))return e}gA.getCompilingSchema=Xd;function wv(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function _v(n,e){let i;for(;typeof(i=this.refs[e])=="string";)e=i;return i||this.schemas[e]||zs.call(this,n,e)}function zs(n,e){let i=this.opts.uriResolver.parse(e),s=(0,PA._getFullPath)(this.opts.uriResolver,i),u=(0,PA.getFullPath)(this.opts.uriResolver,n.baseId,void 0);if(Object.keys(n.schema).length>0&&s===u)return kl.call(this,i,n);let d=(0,PA.normalizeId)(s),m=this.refs[d]||this.schemas[d];if(typeof m=="string"){let y=zs.call(this,n,m);return typeof y?.schema!="object"?void 0:kl.call(this,i,y)}if(typeof m?.schema=="object"){if(m.validate||Cl.call(this,m),d===(0,PA.normalizeId)(e)){let{schema:y}=m,{schemaId:E}=this.opts,b=y[E];return b&&(u=(0,PA.resolveUrl)(this.opts.uriResolver,u,b)),new ki({schema:y,schemaId:E,root:n,baseId:u})}return kl.call(this,i,m)}}gA.resolveSchema=zs;var vv=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function kl(n,{baseId:e,schema:i,root:s}){var u;if(((u=n.fragment)===null||u===void 0?void 0:u[0])!=="/")return;for(let y of n.fragment.slice(1).split("/")){if(typeof i=="boolean")return;let E=i[(0,Yd.unescapeFragment)(y)];if(E===void 0)return;i=E;let b=typeof i=="object"&&i[this.opts.schemaId];!vv.has(y)&&b&&(e=(0,PA.resolveUrl)(this.opts.uriResolver,e,b))}let d;if(typeof i!="boolean"&&i.$ref&&!(0,Yd.schemaHasRulesButRef)(i,this.RULES)){let y=(0,PA.resolveUrl)(this.opts.uriResolver,e,i.$ref);d=zs.call(this,s,y)}let{schemaId:m}=this.opts;if(d=d||new ki({schema:i,schemaId:m,root:s,baseId:e}),d.schema!==d.root.schema)return d}});var Zd=pe((xC,bv)=>{bv.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var th=pe((RC,eh)=>{"use strict";var Ev={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};eh.exports={HEX:Ev}});var lh=pe((TC,ah)=>{"use strict";var{HEX:$v}=th(),Pv=/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u;function ih(n){if(sh(n,".")<3)return{host:n,isIPV4:!1};let e=n.match(Pv)||[],[i]=e;return i?{host:Cv(i,"."),isIPV4:!0}:{host:n,isIPV4:!1}}function Sl(n,e=!1){let i="",s=!0;for(let u of n){if($v[u]===void 0)return;u!=="0"&&s===!0&&(s=!1),s||(i+=u)}return e&&i.length===0&&(i="0"),i}function kv(n){let e=0,i={error:!1,address:"",zone:""},s=[],u=[],d=!1,m=!1,y=!1;function E(){if(u.length){if(d===!1){let b=Sl(u);if(b!==void 0)s.push(b);else return i.error=!0,!1}u.length=0}return!0}for(let b=0;b<n.length;b++){let w=n[b];if(!(w==="["||w==="]"))if(w===":"){if(m===!0&&(y=!0),!E())break;if(e++,s.push(":"),e>7){i.error=!0;break}b-1>=0&&n[b-1]===":"&&(m=!0);continue}else if(w==="%"){if(!E())break;d=!0}else{u.push(w);continue}}return u.length&&(d?i.zone=u.join(""):y?s.push(u.join("")):s.push(Sl(u))),i.address=s.join(""),i}function oh(n){if(sh(n,":")<2)return{host:n,isIPV6:!1};let e=kv(n);if(e.error)return{host:n,isIPV6:!1};{let i=e.address,s=e.address;return e.zone&&(i+="%"+e.zone,s+="%25"+e.zone),{host:i,escapedHost:s,isIPV6:!0}}}function Cv(n,e){let i="",s=!0,u=n.length;for(let d=0;d<u;d++){let m=n[d];m==="0"&&s?(d+1<=u&&n[d+1]===e||d+1===u)&&(i+=m,s=!1):(m===e?s=!0:s=!1,i+=m)}return i}function sh(n,e){let i=0;for(let s=0;s<n.length;s++)n[s]===e&&i++;return i}var Ah=/^\.\.?\//u,rh=/^\/\.(?:\/|$)/u,nh=/^\/\.\.(?:\/|$)/u,Sv=/^\/?(?:.|\n)*?(?=\/|$)/u;function Dv(n){let e=[];for(;n.length;)if(n.match(Ah))n=n.replace(Ah,"");else if(n.match(rh))n=n.replace(rh,"/");else if(n.match(nh))n=n.replace(nh,"/"),e.pop();else if(n==="."||n==="..")n="";else{let i=n.match(Sv);if(i){let s=i[0];n=n.slice(s.length),e.push(s)}else throw new Error("Unexpected dot segment condition")}return e.join("")}function xv(n,e){let i=e!==!0?escape:unescape;return n.scheme!==void 0&&(n.scheme=i(n.scheme)),n.userinfo!==void 0&&(n.userinfo=i(n.userinfo)),n.host!==void 0&&(n.host=i(n.host)),n.path!==void 0&&(n.path=i(n.path)),n.query!==void 0&&(n.query=i(n.query)),n.fragment!==void 0&&(n.fragment=i(n.fragment)),n}function Rv(n){let e=[];if(n.userinfo!==void 0&&(e.push(n.userinfo),e.push("@")),n.host!==void 0){let i=unescape(n.host),s=ih(i);if(s.isIPV4)i=s.host;else{let u=oh(s.host);u.isIPV6===!0?i=`[${u.escapedHost}]`:i=n.host}e.push(i)}return(typeof n.port=="number"||typeof n.port=="string")&&(e.push(":"),e.push(String(n.port))),e.length?e.join(""):void 0}ah.exports={recomposeAuthority:Rv,normalizeComponentEncoding:xv,removeDotSegments:Dv,normalizeIPv4:ih,normalizeIPv6:oh,stringArrayToHexStripped:Sl}});var ph=pe((OC,hh)=>{"use strict";var Tv=/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu,Ov=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function uh(n){return typeof n.secure=="boolean"?n.secure:String(n.scheme).toLowerCase()==="wss"}function fh(n){return n.host||(n.error=n.error||"HTTP URIs must have a host."),n}function ch(n){let e=String(n.scheme).toLowerCase()==="https";return(n.port===(e?443:80)||n.port==="")&&(n.port=void 0),n.path||(n.path="/"),n}function Iv(n){return n.secure=uh(n),n.resourceName=(n.path||"/")+(n.query?"?"+n.query:""),n.path=void 0,n.query=void 0,n}function Bv(n){if((n.port===(uh(n)?443:80)||n.port==="")&&(n.port=void 0),typeof n.secure=="boolean"&&(n.scheme=n.secure?"wss":"ws",n.secure=void 0),n.resourceName){let[e,i]=n.resourceName.split("?");n.path=e&&e!=="/"?e:void 0,n.query=i,n.resourceName=void 0}return n.fragment=void 0,n}function Mv(n,e){if(!n.path)return n.error="URN can not be parsed",n;let i=n.path.match(Ov);if(i){let s=e.scheme||n.scheme||"urn";n.nid=i[1].toLowerCase(),n.nss=i[2];let u=`${s}:${e.nid||n.nid}`,d=Dl[u];n.path=void 0,d&&(n=d.parse(n,e))}else n.error=n.error||"URN can not be parsed.";return n}function jv(n,e){let i=e.scheme||n.scheme||"urn",s=n.nid.toLowerCase(),u=`${i}:${e.nid||s}`,d=Dl[u];d&&(n=d.serialize(n,e));let m=n,y=n.nss;return m.path=`${s||e.nid}:${y}`,e.skipEscape=!0,m}function Nv(n,e){let i=n;return i.uuid=i.nss,i.nss=void 0,!e.tolerant&&(!i.uuid||!Tv.test(i.uuid))&&(i.error=i.error||"UUID is not valid."),i}function Fv(n){let e=n;return e.nss=(n.uuid||"").toLowerCase(),e}var dh={scheme:"http",domainHost:!0,parse:fh,serialize:ch},Qv={scheme:"https",domainHost:dh.domainHost,parse:fh,serialize:ch},Js={scheme:"ws",domainHost:!0,parse:Iv,serialize:Bv},Lv={scheme:"wss",domainHost:Js.domainHost,parse:Js.parse,serialize:Js.serialize},qv={scheme:"urn",parse:Mv,serialize:jv,skipNormalize:!0},Uv={scheme:"urn:uuid",parse:Nv,serialize:Fv,skipNormalize:!0},Dl={http:dh,https:Qv,ws:Js,wss:Lv,urn:qv,"urn:uuid":Uv};hh.exports=Dl});var gh=pe((IC,Ws)=>{"use strict";var{normalizeIPv6:Gv,normalizeIPv4:Hv,removeDotSegments:To,recomposeAuthority:Vv,normalizeComponentEncoding:Ks}=lh(),xl=ph();function zv(n,e){return typeof n=="string"?n=VA(lr(n,e),e):typeof n=="object"&&(n=lr(VA(n,e),e)),n}function Jv(n,e,i){let s=Object.assign({scheme:"null"},i),u=mh(lr(n,s),lr(e,s),s,!0);return VA(u,{...s,skipEscape:!0})}function mh(n,e,i,s){let u={};return s||(n=lr(VA(n,i),i),e=lr(VA(e,i),i)),i=i||{},!i.tolerant&&e.scheme?(u.scheme=e.scheme,u.userinfo=e.userinfo,u.host=e.host,u.port=e.port,u.path=To(e.path||""),u.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(u.userinfo=e.userinfo,u.host=e.host,u.port=e.port,u.path=To(e.path||""),u.query=e.query):(e.path?(e.path.charAt(0)==="/"?u.path=To(e.path):((n.userinfo!==void 0||n.host!==void 0||n.port!==void 0)&&!n.path?u.path="/"+e.path:n.path?u.path=n.path.slice(0,n.path.lastIndexOf("/")+1)+e.path:u.path=e.path,u.path=To(u.path)),u.query=e.query):(u.path=n.path,e.query!==void 0?u.query=e.query:u.query=n.query),u.userinfo=n.userinfo,u.host=n.host,u.port=n.port),u.scheme=n.scheme),u.fragment=e.fragment,u}function Kv(n,e,i){return typeof n=="string"?(n=unescape(n),n=VA(Ks(lr(n,i),!0),{...i,skipEscape:!0})):typeof n=="object"&&(n=VA(Ks(n,!0),{...i,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=VA(Ks(lr(e,i),!0),{...i,skipEscape:!0})):typeof e=="object"&&(e=VA(Ks(e,!0),{...i,skipEscape:!0})),n.toLowerCase()===e.toLowerCase()}function VA(n,e){let i={host:n.host,scheme:n.scheme,userinfo:n.userinfo,port:n.port,path:n.path,query:n.query,nid:n.nid,nss:n.nss,uuid:n.uuid,fragment:n.fragment,reference:n.reference,resourceName:n.resourceName,secure:n.secure,error:""},s=Object.assign({},e),u=[],d=xl[(s.scheme||i.scheme||"").toLowerCase()];d&&d.serialize&&d.serialize(i,s),i.path!==void 0&&(s.skipEscape?i.path=unescape(i.path):(i.path=escape(i.path),i.scheme!==void 0&&(i.path=i.path.split("%3A").join(":")))),s.reference!=="suffix"&&i.scheme&&u.push(i.scheme,":");let m=Vv(i);if(m!==void 0&&(s.reference!=="suffix"&&u.push("//"),u.push(m),i.path&&i.path.charAt(0)!=="/"&&u.push("/")),i.path!==void 0){let y=i.path;!s.absolutePath&&(!d||!d.absolutePath)&&(y=To(y)),m===void 0&&(y=y.replace(/^\/\//u,"/%2F")),u.push(y)}return i.query!==void 0&&u.push("?",i.query),i.fragment!==void 0&&u.push("#",i.fragment),u.join("")}var Wv=Array.from({length:127},(n,e)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(e)));function Yv(n){let e=0;for(let i=0,s=n.length;i<s;++i)if(e=n.charCodeAt(i),e>126||Wv[e])return!0;return!1}var Xv=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function lr(n,e){let i=Object.assign({},e),s={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},u=n.indexOf("%")!==-1,d=!1;i.reference==="suffix"&&(n=(i.scheme?i.scheme+":":"")+"//"+n);let m=n.match(Xv);if(m){if(s.scheme=m[1],s.userinfo=m[3],s.host=m[4],s.port=parseInt(m[5],10),s.path=m[6]||"",s.query=m[7],s.fragment=m[8],isNaN(s.port)&&(s.port=m[5]),s.host){let E=Hv(s.host);if(E.isIPV4===!1){let b=Gv(E.host);s.host=b.host.toLowerCase(),d=b.isIPV6}else s.host=E.host,d=!0}s.scheme===void 0&&s.userinfo===void 0&&s.host===void 0&&s.port===void 0&&s.query===void 0&&!s.path?s.reference="same-document":s.scheme===void 0?s.reference="relative":s.fragment===void 0?s.reference="absolute":s.reference="uri",i.reference&&i.reference!=="suffix"&&i.reference!==s.reference&&(s.error=s.error||"URI is not a "+i.reference+" reference.");let y=xl[(i.scheme||s.scheme||"").toLowerCase()];if(!i.unicodeSupport&&(!y||!y.unicodeSupport)&&s.host&&(i.domainHost||y&&y.domainHost)&&d===!1&&Yv(s.host))try{s.host=URL.domainToASCII(s.host.toLowerCase())}catch(E){s.error=s.error||"Host's domain name can not be converted to ASCII: "+E}(!y||y&&!y.skipNormalize)&&(u&&s.scheme!==void 0&&(s.scheme=unescape(s.scheme)),u&&s.host!==void 0&&(s.host=unescape(s.host)),s.path&&(s.path=escape(unescape(s.path))),s.fragment&&(s.fragment=encodeURI(decodeURIComponent(s.fragment)))),y&&y.parse&&y.parse(s,i)}else s.error=s.error||"URI can not be parsed.";return s}var Rl={SCHEMES:xl,normalize:zv,resolve:Jv,resolveComponents:mh,equal:Kv,serialize:VA,parse:lr};Ws.exports=Rl;Ws.exports.default=Rl;Ws.exports.fastUri=Rl});var wh=pe(Tl=>{"use strict";Object.defineProperty(Tl,"__esModule",{value:!0});var yh=gh();yh.code='require("ajv/dist/runtime/uri").default';Tl.default=yh});var Ch=pe(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.CodeGen=Mt.Name=Mt.nil=Mt.stringify=Mt.str=Mt._=Mt.KeywordCxt=void 0;var Zv=Do();Object.defineProperty(Mt,"KeywordCxt",{enumerable:!0,get:function(){return Zv.KeywordCxt}});var Ci=Ge();Object.defineProperty(Mt,"_",{enumerable:!0,get:function(){return Ci._}});Object.defineProperty(Mt,"str",{enumerable:!0,get:function(){return Ci.str}});Object.defineProperty(Mt,"stringify",{enumerable:!0,get:function(){return Ci.stringify}});Object.defineProperty(Mt,"nil",{enumerable:!0,get:function(){return Ci.nil}});Object.defineProperty(Mt,"Name",{enumerable:!0,get:function(){return Ci.Name}});Object.defineProperty(Mt,"CodeGen",{enumerable:!0,get:function(){return Ci.CodeGen}});var eb=Vs(),$h=xo(),tb=al(),Oo=Ro(),Ab=Ge(),Io=ko(),Ys=Po(),Il=Ye(),_h=Zd(),rb=wh(),Ph=(n,e)=>new RegExp(n,e);Ph.code="new RegExp";var nb=["removeAdditional","useDefaults","coerceTypes"],ib=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),ob={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},sb={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},vh=200;function ab(n){var e,i,s,u,d,m,y,E,b,w,v,$,S,x,k,B,O,I,U,q,V,z,re,L,J;let le=n.strict,ae=(e=n.code)===null||e===void 0?void 0:e.optimize,R=ae===!0||ae===void 0?1:ae||0,M=(s=(i=n.code)===null||i===void 0?void 0:i.regExp)!==null&&s!==void 0?s:Ph,Q=(u=n.uriResolver)!==null&&u!==void 0?u:rb.default;return{strictSchema:(m=(d=n.strictSchema)!==null&&d!==void 0?d:le)!==null&&m!==void 0?m:!0,strictNumbers:(E=(y=n.strictNumbers)!==null&&y!==void 0?y:le)!==null&&E!==void 0?E:!0,strictTypes:(w=(b=n.strictTypes)!==null&&b!==void 0?b:le)!==null&&w!==void 0?w:"log",strictTuples:($=(v=n.strictTuples)!==null&&v!==void 0?v:le)!==null&&$!==void 0?$:"log",strictRequired:(x=(S=n.strictRequired)!==null&&S!==void 0?S:le)!==null&&x!==void 0?x:!1,code:n.code?{...n.code,optimize:R,regExp:M}:{optimize:R,regExp:M},loopRequired:(k=n.loopRequired)!==null&&k!==void 0?k:vh,loopEnum:(B=n.loopEnum)!==null&&B!==void 0?B:vh,meta:(O=n.meta)!==null&&O!==void 0?O:!0,messages:(I=n.messages)!==null&&I!==void 0?I:!0,inlineRefs:(U=n.inlineRefs)!==null&&U!==void 0?U:!0,schemaId:(q=n.schemaId)!==null&&q!==void 0?q:"$id",addUsedSchema:(V=n.addUsedSchema)!==null&&V!==void 0?V:!0,validateSchema:(z=n.validateSchema)!==null&&z!==void 0?z:!0,validateFormats:(re=n.validateFormats)!==null&&re!==void 0?re:!0,unicodeRegExp:(L=n.unicodeRegExp)!==null&&L!==void 0?L:!0,int32range:(J=n.int32range)!==null&&J!==void 0?J:!0,uriResolver:Q}}var Bo=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...ab(e)};let{es5:i,lines:s}=this.opts.code;this.scope=new Ab.ValueScope({scope:{},prefixes:ib,es5:i,lines:s}),this.logger=hb(e.logger);let u=e.validateFormats;e.validateFormats=!1,this.RULES=(0,tb.getRules)(),bh.call(this,ob,e,"NOT SUPPORTED"),bh.call(this,sb,e,"DEPRECATED","warn"),this._metaOpts=cb.call(this),e.formats&&ub.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&fb.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),lb.call(this),e.validateFormats=u}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:i,schemaId:s}=this.opts,u=_h;s==="id"&&(u={..._h},u.id=u.$id,delete u.$id),i&&e&&this.addMetaSchema(u,u[s],!1)}defaultMeta(){let{meta:e,schemaId:i}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[i]||e:void 0}validate(e,i){let s;if(typeof e=="string"){if(s=this.getSchema(e),!s)throw new Error(`no schema with key or ref "${e}"`)}else s=this.compile(e);let u=s(i);return"$async"in s||(this.errors=s.errors),u}compile(e,i){let s=this._addSchema(e,i);return s.validate||this._compileSchemaEnv(s)}compileAsync(e,i){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:s}=this.opts;return u.call(this,e,i);async function u(w,v){await d.call(this,w.$schema);let $=this._addSchema(w,v);return $.validate||m.call(this,$)}async function d(w){w&&!this.getSchema(w)&&await u.call(this,{$ref:w},!0)}async function m(w){try{return this._compileSchemaEnv(w)}catch(v){if(!(v instanceof $h.default))throw v;return y.call(this,v),await E.call(this,v.missingSchema),m.call(this,w)}}function y({missingSchema:w,missingRef:v}){if(this.refs[w])throw new Error(`AnySchema ${w} is loaded but ${v} cannot be resolved`)}async function E(w){let v=await b.call(this,w);this.refs[w]||await d.call(this,v.$schema),this.refs[w]||this.addSchema(v,w,i)}async function b(w){let v=this._loading[w];if(v)return v;try{return await(this._loading[w]=s(w))}finally{delete this._loading[w]}}}addSchema(e,i,s,u=this.opts.validateSchema){if(Array.isArray(e)){for(let m of e)this.addSchema(m,void 0,s,u);return this}let d;if(typeof e=="object"){let{schemaId:m}=this.opts;if(d=e[m],d!==void 0&&typeof d!="string")throw new Error(`schema ${m} must be string`)}return i=(0,Io.normalizeId)(i||d),this._checkUnique(i),this.schemas[i]=this._addSchema(e,s,i,u,!0),this}addMetaSchema(e,i,s=this.opts.validateSchema){return this.addSchema(e,i,!0,s),this}validateSchema(e,i){if(typeof e=="boolean")return!0;let s;if(s=e.$schema,s!==void 0&&typeof s!="string")throw new Error("$schema must be a string");if(s=s||this.opts.defaultMeta||this.defaultMeta(),!s)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let u=this.validate(s,e);if(!u&&i){let d="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(d);else throw new Error(d)}return u}getSchema(e){let i;for(;typeof(i=Eh.call(this,e))=="string";)e=i;if(i===void 0){let{schemaId:s}=this.opts,u=new Oo.SchemaEnv({schema:{},schemaId:s});if(i=Oo.resolveSchema.call(this,u,e),!i)return;this.refs[e]=i}return i.validate||this._compileSchemaEnv(i)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let i=Eh.call(this,e);return typeof i=="object"&&this._cache.delete(i.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let i=e;this._cache.delete(i);let s=e[this.opts.schemaId];return s&&(s=(0,Io.normalizeId)(s),delete this.schemas[s],delete this.refs[s]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let i of e)this.addKeyword(i);return this}addKeyword(e,i){let s;if(typeof e=="string")s=e,typeof i=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),i.keyword=s);else if(typeof e=="object"&&i===void 0){if(i=e,s=i.keyword,Array.isArray(s)&&!s.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(mb.call(this,s,i),!i)return(0,Il.eachItem)(s,d=>Ol.call(this,d)),this;yb.call(this,i);let u={...i,type:(0,Ys.getJSONTypes)(i.type),schemaType:(0,Ys.getJSONTypes)(i.schemaType)};return(0,Il.eachItem)(s,u.type.length===0?d=>Ol.call(this,d,u):d=>u.type.forEach(m=>Ol.call(this,d,u,m))),this}getKeyword(e){let i=this.RULES.all[e];return typeof i=="object"?i.definition:!!i}removeKeyword(e){let{RULES:i}=this;delete i.keywords[e],delete i.all[e];for(let s of i.rules){let u=s.rules.findIndex(d=>d.keyword===e);u>=0&&s.rules.splice(u,1)}return this}addFormat(e,i){return typeof i=="string"&&(i=new RegExp(i)),this.formats[e]=i,this}errorsText(e=this.errors,{separator:i=", ",dataVar:s="data"}={}){return!e||e.length===0?"No errors":e.map(u=>`${s}${u.instancePath} ${u.message}`).reduce((u,d)=>u+i+d)}$dataMetaSchema(e,i){let s=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let u of i){let d=u.split("/").slice(1),m=e;for(let y of d)m=m[y];for(let y in s){let E=s[y];if(typeof E!="object")continue;let{$data:b}=E.definition,w=m[y];b&&w&&(m[y]=kh(w))}}return e}_removeAllSchemas(e,i){for(let s in e){let u=e[s];(!i||i.test(s))&&(typeof u=="string"?delete e[s]:u&&!u.meta&&(this._cache.delete(u.schema),delete e[s]))}}_addSchema(e,i,s,u=this.opts.validateSchema,d=this.opts.addUsedSchema){let m,{schemaId:y}=this.opts;if(typeof e=="object")m=e[y];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let E=this._cache.get(e);if(E!==void 0)return E;s=(0,Io.normalizeId)(m||s);let b=Io.getSchemaRefs.call(this,e,s);return E=new Oo.SchemaEnv({schema:e,schemaId:y,meta:i,baseId:s,localRefs:b}),this._cache.set(E.schema,E),d&&!s.startsWith("#")&&(s&&this._checkUnique(s),this.refs[s]=E),u&&this.validateSchema(e,!0),E}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):Oo.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let i=this.opts;this.opts=this._metaOpts;try{Oo.compileSchema.call(this,e)}finally{this.opts=i}}};Bo.ValidationError=eb.default;Bo.MissingRefError=$h.default;Mt.default=Bo;function bh(n,e,i,s="error"){for(let u in n){let d=u;d in e&&this.logger[s](`${i}: option ${u}. ${n[d]}`)}}function Eh(n){return n=(0,Io.normalizeId)(n),this.schemas[n]||this.refs[n]}function lb(){let n=this.opts.schemas;if(n)if(Array.isArray(n))this.addSchema(n);else for(let e in n)this.addSchema(n[e],e)}function ub(){for(let n in this.opts.formats){let e=this.opts.formats[n];e&&this.addFormat(n,e)}}function fb(n){if(Array.isArray(n)){this.addVocabulary(n);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in n){let i=n[e];i.keyword||(i.keyword=e),this.addKeyword(i)}}function cb(){let n={...this.opts};for(let e of nb)delete n[e];return n}var db={log(){},warn(){},error(){}};function hb(n){if(n===!1)return db;if(n===void 0)return console;if(n.log&&n.warn&&n.error)return n;throw new Error("logger must implement log, warn and error methods")}var pb=/^[a-z_$][a-z0-9_$:-]*$/i;function mb(n,e){let{RULES:i}=this;if((0,Il.eachItem)(n,s=>{if(i.keywords[s])throw new Error(`Keyword ${s} is already defined`);if(!pb.test(s))throw new Error(`Keyword ${s} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Ol(n,e,i){var s;let u=e?.post;if(i&&u)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:d}=this,m=u?d.post:d.rules.find(({type:E})=>E===i);if(m||(m={type:i,rules:[]},d.rules.push(m)),d.keywords[n]=!0,!e)return;let y={keyword:n,definition:{...e,type:(0,Ys.getJSONTypes)(e.type),schemaType:(0,Ys.getJSONTypes)(e.schemaType)}};e.before?gb.call(this,m,y,e.before):m.rules.push(y),d.all[n]=y,(s=e.implements)===null||s===void 0||s.forEach(E=>this.addKeyword(E))}function gb(n,e,i){let s=n.rules.findIndex(u=>u.keyword===i);s>=0?n.rules.splice(s,0,e):(n.rules.push(e),this.logger.warn(`rule ${i} is not defined`))}function yb(n){let{metaSchema:e}=n;e!==void 0&&(n.$data&&this.opts.$data&&(e=kh(e)),n.validateSchema=this.compile(e,!0))}var wb={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function kh(n){return{anyOf:[n,wb]}}});var Sh=pe(Bl=>{"use strict";Object.defineProperty(Bl,"__esModule",{value:!0});var _b={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Bl.default=_b});var ea=pe(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.callRef=Cn.getValidate=void 0;var vb=xo(),Dh=mA(),tA=Ge(),Si=pA(),xh=Ro(),Xs=Ye(),bb={keyword:"$ref",schemaType:"string",code(n){let{gen:e,schema:i,it:s}=n,{baseId:u,schemaEnv:d,validateName:m,opts:y,self:E}=s,{root:b}=d;if((i==="#"||i==="#/")&&u===b.baseId)return v();let w=xh.resolveRef.call(E,b,u,i);if(w===void 0)throw new vb.default(s.opts.uriResolver,u,i);if(w instanceof xh.SchemaEnv)return $(w);return S(w);function v(){if(d===b)return Zs(n,m,d,d.$async);let x=e.scopeValue("root",{ref:b});return Zs(n,(0,tA._)`${x}.validate`,b,b.$async)}function $(x){let k=Rh(n,x);Zs(n,k,x,x.$async)}function S(x){let k=e.scopeValue("schema",y.code.source===!0?{ref:x,code:(0,tA.stringify)(x)}:{ref:x}),B=e.name("valid"),O=n.subschema({schema:x,dataTypes:[],schemaPath:tA.nil,topSchemaRef:k,errSchemaPath:i},B);n.mergeEvaluated(O),n.ok(B)}}};function Rh(n,e){let{gen:i}=n;return e.validate?i.scopeValue("validate",{ref:e.validate}):(0,tA._)`${i.scopeValue("wrapper",{ref:e})}.validate`}Cn.getValidate=Rh;function Zs(n,e,i,s){let{gen:u,it:d}=n,{allErrors:m,schemaEnv:y,opts:E}=d,b=E.passContext?Si.default.this:tA.nil;s?w():v();function w(){if(!y.$async)throw new Error("async schema referenced by sync schema");let x=u.let("valid");u.try(()=>{u.code((0,tA._)`await ${(0,Dh.callValidateCode)(n,e,b)}`),S(e),m||u.assign(x,!0)},k=>{u.if((0,tA._)`!(${k} instanceof ${d.ValidationError})`,()=>u.throw(k)),$(k),m||u.assign(x,!1)}),n.ok(x)}function v(){n.result((0,Dh.callValidateCode)(n,e,b),()=>S(e),()=>$(e))}function $(x){let k=(0,tA._)`${x}.errors`;u.assign(Si.default.vErrors,(0,tA._)`${Si.default.vErrors} === null ? ${k} : ${Si.default.vErrors}.concat(${k})`),u.assign(Si.default.errors,(0,tA._)`${Si.default.vErrors}.length`)}function S(x){var k;if(!d.opts.unevaluated)return;let B=(k=i?.validate)===null||k===void 0?void 0:k.evaluated;if(d.props!==!0)if(B&&!B.dynamicProps)B.props!==void 0&&(d.props=Xs.mergeEvaluated.props(u,B.props,d.props));else{let O=u.var("props",(0,tA._)`${x}.evaluated.props`);d.props=Xs.mergeEvaluated.props(u,O,d.props,tA.Name)}if(d.items!==!0)if(B&&!B.dynamicItems)B.items!==void 0&&(d.items=Xs.mergeEvaluated.items(u,B.items,d.items));else{let O=u.var("items",(0,tA._)`${x}.evaluated.items`);d.items=Xs.mergeEvaluated.items(u,O,d.items,tA.Name)}}}Cn.callRef=Zs;Cn.default=bb});var Th=pe(Ml=>{"use strict";Object.defineProperty(Ml,"__esModule",{value:!0});var Eb=Sh(),$b=ea(),Pb=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Eb.default,$b.default];Ml.default=Pb});var Oh=pe(jl=>{"use strict";Object.defineProperty(jl,"__esModule",{value:!0});var ta=Ge(),Qr=ta.operators,Aa={maximum:{okStr:"<=",ok:Qr.LTE,fail:Qr.GT},minimum:{okStr:">=",ok:Qr.GTE,fail:Qr.LT},exclusiveMaximum:{okStr:"<",ok:Qr.LT,fail:Qr.GTE},exclusiveMinimum:{okStr:">",ok:Qr.GT,fail:Qr.LTE}},kb={message:({keyword:n,schemaCode:e})=>(0,ta.str)`must be ${Aa[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,ta._)`{comparison: ${Aa[n].okStr}, limit: ${e}}`},Cb={keyword:Object.keys(Aa),type:"number",schemaType:"number",$data:!0,error:kb,code(n){let{keyword:e,data:i,schemaCode:s}=n;n.fail$data((0,ta._)`${i} ${Aa[e].fail} ${s} || isNaN(${i})`)}};jl.default=Cb});var Ih=pe(Nl=>{"use strict";Object.defineProperty(Nl,"__esModule",{value:!0});var Mo=Ge(),Sb={message:({schemaCode:n})=>(0,Mo.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,Mo._)`{multipleOf: ${n}}`},Db={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Sb,code(n){let{gen:e,data:i,schemaCode:s,it:u}=n,d=u.opts.multipleOfPrecision,m=e.let("res"),y=d?(0,Mo._)`Math.abs(Math.round(${m}) - ${m}) > 1e-${d}`:(0,Mo._)`${m} !== parseInt(${m})`;n.fail$data((0,Mo._)`(${s} === 0 || (${m} = ${i}/${s}, ${y}))`)}};Nl.default=Db});var Mh=pe(Fl=>{"use strict";Object.defineProperty(Fl,"__esModule",{value:!0});function Bh(n){let e=n.length,i=0,s=0,u;for(;s<e;)i++,u=n.charCodeAt(s++),u>=55296&&u<=56319&&s<e&&(u=n.charCodeAt(s),(u&64512)===56320&&s++);return i}Fl.default=Bh;Bh.code='require("ajv/dist/runtime/ucs2length").default'});var jh=pe(Ql=>{"use strict";Object.defineProperty(Ql,"__esModule",{value:!0});var Sn=Ge(),xb=Ye(),Rb=Mh(),Tb={message({keyword:n,schemaCode:e}){let i=n==="maxLength"?"more":"fewer";return(0,Sn.str)`must NOT have ${i} than ${e} characters`},params:({schemaCode:n})=>(0,Sn._)`{limit: ${n}}`},Ob={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Tb,code(n){let{keyword:e,data:i,schemaCode:s,it:u}=n,d=e==="maxLength"?Sn.operators.GT:Sn.operators.LT,m=u.opts.unicode===!1?(0,Sn._)`${i}.length`:(0,Sn._)`${(0,xb.useFunc)(n.gen,Rb.default)}(${i})`;n.fail$data((0,Sn._)`${m} ${d} ${s}`)}};Ql.default=Ob});var Nh=pe(Ll=>{"use strict";Object.defineProperty(Ll,"__esModule",{value:!0});var Ib=mA(),ra=Ge(),Bb={message:({schemaCode:n})=>(0,ra.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,ra._)`{pattern: ${n}}`},Mb={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Bb,code(n){let{data:e,$data:i,schema:s,schemaCode:u,it:d}=n,m=d.opts.unicodeRegExp?"u":"",y=i?(0,ra._)`(new RegExp(${u}, ${m}))`:(0,Ib.usePattern)(n,s);n.fail$data((0,ra._)`!${y}.test(${e})`)}};Ll.default=Mb});var Fh=pe(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});var jo=Ge(),jb={message({keyword:n,schemaCode:e}){let i=n==="maxProperties"?"more":"fewer";return(0,jo.str)`must NOT have ${i} than ${e} properties`},params:({schemaCode:n})=>(0,jo._)`{limit: ${n}}`},Nb={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:jb,code(n){let{keyword:e,data:i,schemaCode:s}=n,u=e==="maxProperties"?jo.operators.GT:jo.operators.LT;n.fail$data((0,jo._)`Object.keys(${i}).length ${u} ${s}`)}};ql.default=Nb});var Qh=pe(Ul=>{"use strict";Object.defineProperty(Ul,"__esModule",{value:!0});var No=mA(),Fo=Ge(),Fb=Ye(),Qb={message:({params:{missingProperty:n}})=>(0,Fo.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,Fo._)`{missingProperty: ${n}}`},Lb={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Qb,code(n){let{gen:e,schema:i,schemaCode:s,data:u,$data:d,it:m}=n,{opts:y}=m;if(!d&&i.length===0)return;let E=i.length>=y.loopRequired;if(m.allErrors?b():w(),y.strictRequired){let S=n.parentSchema.properties,{definedProperties:x}=n.it;for(let k of i)if(S?.[k]===void 0&&!x.has(k)){let B=m.schemaEnv.baseId+m.errSchemaPath,O=`required property "${k}" is not defined at "${B}" (strictRequired)`;(0,Fb.checkStrictMode)(m,O,m.opts.strictRequired)}}function b(){if(E||d)n.block$data(Fo.nil,v);else for(let S of i)(0,No.checkReportMissingProp)(n,S)}function w(){let S=e.let("missing");if(E||d){let x=e.let("valid",!0);n.block$data(x,()=>$(S,x)),n.ok(x)}else e.if((0,No.checkMissingProp)(n,i,S)),(0,No.reportMissingProp)(n,S),e.else()}function v(){e.forOf("prop",s,S=>{n.setParams({missingProperty:S}),e.if((0,No.noPropertyInData)(e,u,S,y.ownProperties),()=>n.error())})}function $(S,x){n.setParams({missingProperty:S}),e.forOf(S,s,()=>{e.assign(x,(0,No.propertyInData)(e,u,S,y.ownProperties)),e.if((0,Fo.not)(x),()=>{n.error(),e.break()})},Fo.nil)}}};Ul.default=Lb});var Lh=pe(Gl=>{"use strict";Object.defineProperty(Gl,"__esModule",{value:!0});var Qo=Ge(),qb={message({keyword:n,schemaCode:e}){let i=n==="maxItems"?"more":"fewer";return(0,Qo.str)`must NOT have ${i} than ${e} items`},params:({schemaCode:n})=>(0,Qo._)`{limit: ${n}}`},Ub={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:qb,code(n){let{keyword:e,data:i,schemaCode:s}=n,u=e==="maxItems"?Qo.operators.GT:Qo.operators.LT;n.fail$data((0,Qo._)`${i}.length ${u} ${s}`)}};Gl.default=Ub});var na=pe(Hl=>{"use strict";Object.defineProperty(Hl,"__esModule",{value:!0});var qh=ml();qh.code='require("ajv/dist/runtime/equal").default';Hl.default=qh});var Uh=pe(zl=>{"use strict";Object.defineProperty(zl,"__esModule",{value:!0});var Vl=Po(),jt=Ge(),Gb=Ye(),Hb=na(),Vb={message:({params:{i:n,j:e}})=>(0,jt.str)`must NOT have duplicate items (items ## ${e} and ${n} are identical)`,params:({params:{i:n,j:e}})=>(0,jt._)`{i: ${n}, j: ${e}}`},zb={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Vb,code(n){let{gen:e,data:i,$data:s,schema:u,parentSchema:d,schemaCode:m,it:y}=n;if(!s&&!u)return;let E=e.let("valid"),b=d.items?(0,Vl.getSchemaTypes)(d.items):[];n.block$data(E,w,(0,jt._)`${m} === false`),n.ok(E);function w(){let x=e.let("i",(0,jt._)`${i}.length`),k=e.let("j");n.setParams({i:x,j:k}),e.assign(E,!0),e.if((0,jt._)`${x} > 1`,()=>(v()?$:S)(x,k))}function v(){return b.length>0&&!b.some(x=>x==="object"||x==="array")}function $(x,k){let B=e.name("item"),O=(0,Vl.checkDataTypes)(b,B,y.opts.strictNumbers,Vl.DataType.Wrong),I=e.const("indices",(0,jt._)`{}`);e.for((0,jt._)`;${x}--;`,()=>{e.let(B,(0,jt._)`${i}[${x}]`),e.if(O,(0,jt._)`continue`),b.length>1&&e.if((0,jt._)`typeof ${B} == "string"`,(0,jt._)`${B} += "_"`),e.if((0,jt._)`typeof ${I}[${B}] == "number"`,()=>{e.assign(k,(0,jt._)`${I}[${B}]`),n.error(),e.assign(E,!1).break()}).code((0,jt._)`${I}[${B}] = ${x}`)})}function S(x,k){let B=(0,Gb.useFunc)(e,Hb.default),O=e.name("outer");e.label(O).for((0,jt._)`;${x}--;`,()=>e.for((0,jt._)`${k} = ${x}; ${k}--;`,()=>e.if((0,jt._)`${B}(${i}[${x}], ${i}[${k}])`,()=>{n.error(),e.assign(E,!1).break(O)})))}}};zl.default=zb});var Gh=pe(Kl=>{"use strict";Object.defineProperty(Kl,"__esModule",{value:!0});var Jl=Ge(),Jb=Ye(),Kb=na(),Wb={message:"must be equal to constant",params:({schemaCode:n})=>(0,Jl._)`{allowedValue: ${n}}`},Yb={keyword:"const",$data:!0,error:Wb,code(n){let{gen:e,data:i,$data:s,schemaCode:u,schema:d}=n;s||d&&typeof d=="object"?n.fail$data((0,Jl._)`!${(0,Jb.useFunc)(e,Kb.default)}(${i}, ${u})`):n.fail((0,Jl._)`${d} !== ${i}`)}};Kl.default=Yb});var Hh=pe(Wl=>{"use strict";Object.defineProperty(Wl,"__esModule",{value:!0});var Lo=Ge(),Xb=Ye(),Zb=na(),e4={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,Lo._)`{allowedValues: ${n}}`},t4={keyword:"enum",schemaType:"array",$data:!0,error:e4,code(n){let{gen:e,data:i,$data:s,schema:u,schemaCode:d,it:m}=n;if(!s&&u.length===0)throw new Error("enum must have non-empty array");let y=u.length>=m.opts.loopEnum,E,b=()=>E??(E=(0,Xb.useFunc)(e,Zb.default)),w;if(y||s)w=e.let("valid"),n.block$data(w,v);else{if(!Array.isArray(u))throw new Error("ajv implementation error");let S=e.const("vSchema",d);w=(0,Lo.or)(...u.map((x,k)=>$(S,k)))}n.pass(w);function v(){e.assign(w,!1),e.forOf("v",d,S=>e.if((0,Lo._)`${b()}(${i}, ${S})`,()=>e.assign(w,!0).break()))}function $(S,x){let k=u[x];return typeof k=="object"&&k!==null?(0,Lo._)`${b()}(${i}, ${S}[${x}])`:(0,Lo._)`${i} === ${k}`}}};Wl.default=t4});var Vh=pe(Yl=>{"use strict";Object.defineProperty(Yl,"__esModule",{value:!0});var A4=Oh(),r4=Ih(),n4=jh(),i4=Nh(),o4=Fh(),s4=Qh(),a4=Lh(),l4=Uh(),u4=Gh(),f4=Hh(),c4=[A4.default,r4.default,n4.default,i4.default,o4.default,s4.default,a4.default,l4.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},u4.default,f4.default];Yl.default=c4});var Zl=pe(qo=>{"use strict";Object.defineProperty(qo,"__esModule",{value:!0});qo.validateAdditionalItems=void 0;var Dn=Ge(),Xl=Ye(),d4={message:({params:{len:n}})=>(0,Dn.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,Dn._)`{limit: ${n}}`},h4={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:d4,code(n){let{parentSchema:e,it:i}=n,{items:s}=e;if(!Array.isArray(s)){(0,Xl.checkStrictMode)(i,'"additionalItems" is ignored when "items" is not an array of schemas');return}zh(n,s)}};function zh(n,e){let{gen:i,schema:s,data:u,keyword:d,it:m}=n;m.items=!0;let y=i.const("len",(0,Dn._)`${u}.length`);if(s===!1)n.setParams({len:e.length}),n.pass((0,Dn._)`${y} <= ${e.length}`);else if(typeof s=="object"&&!(0,Xl.alwaysValidSchema)(m,s)){let b=i.var("valid",(0,Dn._)`${y} <= ${e.length}`);i.if((0,Dn.not)(b),()=>E(b)),n.ok(b)}function E(b){i.forRange("i",e.length,y,w=>{n.subschema({keyword:d,dataProp:w,dataPropType:Xl.Type.Num},b),m.allErrors||i.if((0,Dn.not)(b),()=>i.break())})}}qo.validateAdditionalItems=zh;qo.default=h4});var eu=pe(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.validateTuple=void 0;var Jh=Ge(),ia=Ye(),p4=mA(),m4={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){let{schema:e,it:i}=n;if(Array.isArray(e))return Kh(n,"additionalItems",e);i.items=!0,!(0,ia.alwaysValidSchema)(i,e)&&n.ok((0,p4.validateArray)(n))}};function Kh(n,e,i=n.schema){let{gen:s,parentSchema:u,data:d,keyword:m,it:y}=n;w(u),y.opts.unevaluated&&i.length&&y.items!==!0&&(y.items=ia.mergeEvaluated.items(s,i.length,y.items));let E=s.name("valid"),b=s.const("len",(0,Jh._)`${d}.length`);i.forEach((v,$)=>{(0,ia.alwaysValidSchema)(y,v)||(s.if((0,Jh._)`${b} > ${$}`,()=>n.subschema({keyword:m,schemaProp:$,dataProp:$},E)),n.ok(E))});function w(v){let{opts:$,errSchemaPath:S}=y,x=i.length,k=x===v.minItems&&(x===v.maxItems||v[e]===!1);if($.strictTuples&&!k){let B=`"${m}" is ${x}-tuple, but minItems or maxItems/${e} are not specified or different at path "${S}"`;(0,ia.checkStrictMode)(y,B,$.strictTuples)}}}Uo.validateTuple=Kh;Uo.default=m4});var Wh=pe(tu=>{"use strict";Object.defineProperty(tu,"__esModule",{value:!0});var g4=eu(),y4={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,g4.validateTuple)(n,"items")};tu.default=y4});var Xh=pe(Au=>{"use strict";Object.defineProperty(Au,"__esModule",{value:!0});var Yh=Ge(),w4=Ye(),_4=mA(),v4=Zl(),b4={message:({params:{len:n}})=>(0,Yh.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,Yh._)`{limit: ${n}}`},E4={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:b4,code(n){let{schema:e,parentSchema:i,it:s}=n,{prefixItems:u}=i;s.items=!0,!(0,w4.alwaysValidSchema)(s,e)&&(u?(0,v4.validateAdditionalItems)(n,u):n.ok((0,_4.validateArray)(n)))}};Au.default=E4});var Zh=pe(ru=>{"use strict";Object.defineProperty(ru,"__esModule",{value:!0});var yA=Ge(),oa=Ye(),$4={message:({params:{min:n,max:e}})=>e===void 0?(0,yA.str)`must contain at least ${n} valid item(s)`:(0,yA.str)`must contain at least ${n} and no more than ${e} valid item(s)`,params:({params:{min:n,max:e}})=>e===void 0?(0,yA._)`{minContains: ${n}}`:(0,yA._)`{minContains: ${n}, maxContains: ${e}}`},P4={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:$4,code(n){let{gen:e,schema:i,parentSchema:s,data:u,it:d}=n,m,y,{minContains:E,maxContains:b}=s;d.opts.next?(m=E===void 0?1:E,y=b):m=1;let w=e.const("len",(0,yA._)`${u}.length`);if(n.setParams({min:m,max:y}),y===void 0&&m===0){(0,oa.checkStrictMode)(d,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(y!==void 0&&m>y){(0,oa.checkStrictMode)(d,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,oa.alwaysValidSchema)(d,i)){let k=(0,yA._)`${w} >= ${m}`;y!==void 0&&(k=(0,yA._)`${k} && ${w} <= ${y}`),n.pass(k);return}d.items=!0;let v=e.name("valid");y===void 0&&m===1?S(v,()=>e.if(v,()=>e.break())):m===0?(e.let(v,!0),y!==void 0&&e.if((0,yA._)`${u}.length > 0`,$)):(e.let(v,!1),$()),n.result(v,()=>n.reset());function $(){let k=e.name("_valid"),B=e.let("count",0);S(k,()=>e.if(k,()=>x(B)))}function S(k,B){e.forRange("i",0,w,O=>{n.subschema({keyword:"contains",dataProp:O,dataPropType:oa.Type.Num,compositeRule:!0},k),B()})}function x(k){e.code((0,yA._)`${k}++`),y===void 0?e.if((0,yA._)`${k} >= ${m}`,()=>e.assign(v,!0).break()):(e.if((0,yA._)`${k} > ${y}`,()=>e.assign(v,!1).break()),m===1?e.assign(v,!0):e.if((0,yA._)`${k} >= ${m}`,()=>e.assign(v,!0)))}}};ru.default=P4});var sa=pe(zA=>{"use strict";Object.defineProperty(zA,"__esModule",{value:!0});zA.validateSchemaDeps=zA.validatePropertyDeps=zA.error=void 0;var nu=Ge(),k4=Ye(),Go=mA();zA.error={message:({params:{property:n,depsCount:e,deps:i}})=>{let s=e===1?"property":"properties";return(0,nu.str)`must have ${s} ${i} when property ${n} is present`},params:({params:{property:n,depsCount:e,deps:i,missingProperty:s}})=>(0,nu._)`{property: ${n},
|
|
7
7
|
missingProperty: ${s},
|
|
8
8
|
depsCount: ${e},
|
|
9
|
-
deps: ${i}}`};var C4={keyword:"dependencies",type:"object",schemaType:"object",error:zA.error,code(n){let[e,i]=S4(n);ep(n,e),tp(n,i)}};function S4({schema:n}){let e={},i={};for(let s in n){if(s==="__proto__")continue;let u=Array.isArray(n[s])?e:i;u[s]=n[s]}return[e,i]}function ep(n,e=n.schema){let{gen:i,data:s,it:u}=n;if(Object.keys(e).length===0)return;let d=i.let("missing");for(let m in e){let y=e[m];if(y.length===0)continue;let E=(0,Go.propertyInData)(i,s,m,u.opts.ownProperties);n.setParams({property:m,depsCount:y.length,deps:y.join(", ")}),u.allErrors?i.if(E,()=>{for(let b of y)(0,Go.checkReportMissingProp)(n,b)}):(i.if((0,nu._)`${E} && (${(0,Go.checkMissingProp)(n,y,d)})`),(0,Go.reportMissingProp)(n,d),i.else())}}zA.validatePropertyDeps=ep;function tp(n,e=n.schema){let{gen:i,data:s,keyword:u,it:d}=n,m=i.name("valid");for(let y in e)(0,k4.alwaysValidSchema)(d,e[y])||(i.if((0,Go.propertyInData)(i,s,y,d.opts.ownProperties),()=>{let E=n.subschema({keyword:u,schemaProp:y},m);n.mergeValidEvaluated(E,m)},()=>i.var(m,!0)),n.ok(m))}zA.validateSchemaDeps=tp;zA.default=C4});var rp=pe(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});var Ap=Ge(),D4=Ye(),x4={message:"property name must be valid",params:({params:n})=>(0,Ap._)`{propertyName: ${n.propertyName}}`},R4={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:x4,code(n){let{gen:e,schema:i,data:s,it:u}=n;if((0,D4.alwaysValidSchema)(u,i))return;let d=e.name("valid");e.forIn("key",s,m=>{n.setParams({propertyName:m}),n.subschema({keyword:"propertyNames",data:m,dataTypes:["string"],propertyName:m,compositeRule:!0},d),e.if((0,Ap.not)(d),()=>{n.error(!0),u.allErrors||e.break()})}),n.ok(d)}};iu.default=R4});var su=pe(ou=>{"use strict";Object.defineProperty(ou,"__esModule",{value:!0});var aa=mA(),kA=Ge(),T4=pA(),la=Ye(),O4={message:"must NOT have additional properties",params:({params:n})=>(0,kA._)`{additionalProperty: ${n.additionalProperty}}`},I4={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:O4,code(n){let{gen:e,schema:i,parentSchema:s,data:u,errsCount:d,it:m}=n;if(!d)throw new Error("ajv implementation error");let{allErrors:y,opts:E}=m;if(m.props=!0,E.removeAdditional!=="all"&&(0,la.alwaysValidSchema)(m,i))return;let b=(0,aa.allSchemaProperties)(s.properties),w=(0,aa.allSchemaProperties)(s.patternProperties);_(),n.ok((0,kA._)`${d} === ${T4.default.errors}`);function _(){e.forIn("key",u,B=>{!b.length&&!w.length?x(B):e.if($(B),()=>x(B))})}function $(B){let O;if(b.length>8){let I=(0,la.schemaRefOrVal)(m,s.properties,"properties");O=(0,aa.isOwnProperty)(e,I,B)}else b.length?O=(0,kA.or)(...b.map(I=>(0,kA._)`${B} === ${I}`)):O=kA.nil;return w.length&&(O=(0,kA.or)(O,...w.map(I=>(0,kA._)`${(0,aa.usePattern)(n,I)}.test(${B})`))),(0,kA.not)(O)}function C(B){e.code((0,kA._)`delete ${u}[${B}]`)}function x(B){if(E.removeAdditional==="all"||E.removeAdditional&&i===!1){C(B);return}if(i===!1){n.setParams({additionalProperty:B}),n.error(),y||e.break();return}if(typeof i=="object"&&!(0,la.alwaysValidSchema)(m,i)){let O=e.name("valid");E.removeAdditional==="failing"?(k(B,O,!1),e.if((0,kA.not)(O),()=>{n.reset(),C(B)})):(k(B,O),y||e.if((0,kA.not)(O),()=>e.break()))}}function k(B,O,I){let U={keyword:"additionalProperties",dataProp:B,dataPropType:la.Type.Str};I===!1&&Object.assign(U,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(U,O)}}};ou.default=I4});var op=pe(lu=>{"use strict";Object.defineProperty(lu,"__esModule",{value:!0});var B4=Do(),np=mA(),au=Ye(),ip=su(),M4={keyword:"properties",type:"object",schemaType:"object",code(n){let{gen:e,schema:i,parentSchema:s,data:u,it:d}=n;d.opts.removeAdditional==="all"&&s.additionalProperties===void 0&&ip.default.code(new B4.KeywordCxt(d,ip.default,"additionalProperties"));let m=(0,np.allSchemaProperties)(i);for(let _ of m)d.definedProperties.add(_);d.opts.unevaluated&&m.length&&d.props!==!0&&(d.props=au.mergeEvaluated.props(e,(0,au.toHash)(m),d.props));let y=m.filter(_=>!(0,au.alwaysValidSchema)(d,i[_]));if(y.length===0)return;let E=e.name("valid");for(let _ of y)b(_)?w(_):(e.if((0,np.propertyInData)(e,u,_,d.opts.ownProperties)),w(_),d.allErrors||e.else().var(E,!0),e.endIf()),n.it.definedProperties.add(_),n.ok(E);function b(_){return d.opts.useDefaults&&!d.compositeRule&&i[_].default!==void 0}function w(_){n.subschema({keyword:"properties",schemaProp:_,dataProp:_},E)}}};lu.default=M4});var up=pe(uu=>{"use strict";Object.defineProperty(uu,"__esModule",{value:!0});var sp=mA(),ua=Ge(),ap=Ye(),lp=Ye(),j4={keyword:"patternProperties",type:"object",schemaType:"object",code(n){let{gen:e,schema:i,data:s,parentSchema:u,it:d}=n,{opts:m}=d,y=(0,sp.allSchemaProperties)(i),E=y.filter(k=>(0,ap.alwaysValidSchema)(d,i[k]));if(y.length===0||E.length===y.length&&(!d.opts.unevaluated||d.props===!0))return;let b=m.strictSchema&&!m.allowMatchingProperties&&u.properties,w=e.name("valid");d.props!==!0&&!(d.props instanceof ua.Name)&&(d.props=(0,lp.evaluatedPropsToName)(e,d.props));let{props:_}=d;$();function $(){for(let k of y)b&&C(k),d.allErrors?x(k):(e.var(w,!0),x(k),e.if(w))}function C(k){for(let B in b)new RegExp(k).test(B)&&(0,ap.checkStrictMode)(d,`property ${B} matches pattern ${k} (use allowMatchingProperties)`)}function x(k){e.forIn("key",s,B=>{e.if((0,ua._)`${(0,sp.usePattern)(n,k)}.test(${B})`,()=>{let O=E.includes(k);O||n.subschema({keyword:"patternProperties",schemaProp:k,dataProp:B,dataPropType:lp.Type.Str},w),d.opts.unevaluated&&_!==!0?e.assign((0,ua._)`${_}[${B}]`,!0):!O&&!d.allErrors&&e.if((0,ua.not)(w),()=>e.break())})})}}};uu.default=j4});var fp=pe(fu=>{"use strict";Object.defineProperty(fu,"__esModule",{value:!0});var N4=Ye(),F4={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){let{gen:e,schema:i,it:s}=n;if((0,N4.alwaysValidSchema)(s,i)){n.fail();return}let u=e.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},u),n.failResult(u,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};fu.default=F4});var cp=pe(cu=>{"use strict";Object.defineProperty(cu,"__esModule",{value:!0});var Q4=mA(),L4={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Q4.validateUnion,error:{message:"must match a schema in anyOf"}};cu.default=L4});var dp=pe(du=>{"use strict";Object.defineProperty(du,"__esModule",{value:!0});var fa=Ge(),q4=Ye(),U4={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,fa._)`{passingSchemas: ${n.passing}}`},G4={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:U4,code(n){let{gen:e,schema:i,parentSchema:s,it:u}=n;if(!Array.isArray(i))throw new Error("ajv implementation error");if(u.opts.discriminator&&s.discriminator)return;let d=i,m=e.let("valid",!1),y=e.let("passing",null),E=e.name("_valid");n.setParams({passing:y}),e.block(b),n.result(m,()=>n.reset(),()=>n.error(!0));function b(){d.forEach((w,_)=>{let $;(0,q4.alwaysValidSchema)(u,w)?e.var(E,!0):$=n.subschema({keyword:"oneOf",schemaProp:_,compositeRule:!0},E),_>0&&e.if((0,fa._)`${E} && ${m}`).assign(m,!1).assign(y,(0,fa._)`[${y}, ${_}]`).else(),e.if(E,()=>{e.assign(m,!0),e.assign(y,_),$&&n.mergeEvaluated($,fa.Name)})})}}};du.default=G4});var hp=pe(hu=>{"use strict";Object.defineProperty(hu,"__esModule",{value:!0});var H4=Ye(),V4={keyword:"allOf",schemaType:"array",code(n){let{gen:e,schema:i,it:s}=n;if(!Array.isArray(i))throw new Error("ajv implementation error");let u=e.name("valid");i.forEach((d,m)=>{if((0,H4.alwaysValidSchema)(s,d))return;let y=n.subschema({keyword:"allOf",schemaProp:m},u);n.ok(u),n.mergeEvaluated(y)})}};hu.default=V4});var gp=pe(pu=>{"use strict";Object.defineProperty(pu,"__esModule",{value:!0});var ca=Ge(),mp=Ye(),z4={message:({params:n})=>(0,ca.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,ca._)`{failingKeyword: ${n.ifClause}}`},J4={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:z4,code(n){let{gen:e,parentSchema:i,it:s}=n;i.then===void 0&&i.else===void 0&&(0,mp.checkStrictMode)(s,'"if" without "then" and "else" is ignored');let u=pp(s,"then"),d=pp(s,"else");if(!u&&!d)return;let m=e.let("valid",!0),y=e.name("_valid");if(E(),n.reset(),u&&d){let w=e.let("ifClause");n.setParams({ifClause:w}),e.if(y,b("then",w),b("else",w))}else u?e.if(y,b("then")):e.if((0,ca.not)(y),b("else"));n.pass(m,()=>n.error(!0));function E(){let w=n.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},y);n.mergeEvaluated(w)}function b(w,_){return()=>{let $=n.subschema({keyword:w},y);e.assign(m,y),n.mergeValidEvaluated($,m),_?e.assign(_,(0,ca._)`${w}`):n.setParams({ifClause:w})}}}};function pp(n,e){let i=n.schema[e];return i!==void 0&&!(0,mp.alwaysValidSchema)(n,i)}pu.default=J4});var yp=pe(mu=>{"use strict";Object.defineProperty(mu,"__esModule",{value:!0});var K4=Ye(),W4={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:i}){e.if===void 0&&(0,K4.checkStrictMode)(i,`"${n}" without "if" is ignored`)}};mu.default=W4});var wp=pe(gu=>{"use strict";Object.defineProperty(gu,"__esModule",{value:!0});var Y4=Zl(),X4=Wh(),Z4=eu(),e3=Xh(),t3=Zh(),A3=sa(),r3=rp(),n3=su(),i3=op(),o3=up(),s3=fp(),a3=cp(),l3=dp(),u3=hp(),f3=gp(),c3=yp();function d3(n=!1){let e=[s3.default,a3.default,l3.default,u3.default,f3.default,c3.default,r3.default,n3.default,A3.default,i3.default,o3.default];return n?e.push(X4.default,e3.default):e.push(Y4.default,Z4.default),e.push(t3.default),e}gu.default=d3});var _p=pe(yu=>{"use strict";Object.defineProperty(yu,"__esModule",{value:!0});var _t=Ge(),h3={message:({schemaCode:n})=>(0,_t.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,_t._)`{format: ${n}}`},p3={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:h3,code(n,e){let{gen:i,data:s,$data:u,schema:d,schemaCode:m,it:y}=n,{opts:E,errSchemaPath:b,schemaEnv:w,self:_}=y;if(!E.validateFormats)return;u?$():C();function $(){let x=i.scopeValue("formats",{ref:_.formats,code:E.code.formats}),k=i.const("fDef",(0,_t._)`${x}[${m}]`),B=i.let("fType"),O=i.let("format");i.if((0,_t._)`typeof ${k} == "object" && !(${k} instanceof RegExp)`,()=>i.assign(B,(0,_t._)`${k}.type || "string"`).assign(O,(0,_t._)`${k}.validate`),()=>i.assign(B,(0,_t._)`"string"`).assign(O,k)),n.fail$data((0,_t.or)(I(),U()));function I(){return E.strictSchema===!1?_t.nil:(0,_t._)`${m} && !${O}`}function U(){let q=w.$async?(0,_t._)`(${k}.async ? await ${O}(${s}) : ${O}(${s}))`:(0,_t._)`${O}(${s})`,V=(0,_t._)`(typeof ${O} == "function" ? ${q} : ${O}.test(${s}))`;return(0,_t._)`${O} && ${O} !== true && ${B} === ${e} && !${V}`}}function C(){let x=_.formats[d];if(!x){I();return}if(x===!0)return;let[k,B,O]=U(x);k===e&&n.pass(q());function I(){if(E.strictSchema===!1){_.logger.warn(V());return}throw new Error(V());function V(){return`unknown format "${d}" ignored in schema at path "${b}"`}}function U(V){let z=V instanceof RegExp?(0,_t.regexpCode)(V):E.code.formats?(0,_t._)`${E.code.formats}${(0,_t.getProperty)(d)}`:void 0,re=i.scopeValue("formats",{key:d,ref:V,code:z});return typeof V=="object"&&!(V instanceof RegExp)?[V.type||"string",V.validate,(0,_t._)`${re}.validate`]:["string",V,re]}function q(){if(typeof x=="object"&&!(x instanceof RegExp)&&x.async){if(!w.$async)throw new Error("async format in sync schema");return(0,_t._)`await ${O}(${s})`}return typeof B=="function"?(0,_t._)`${O}(${s})`:(0,_t._)`${O}.test(${s})`}}}};yu.default=p3});var vp=pe(wu=>{"use strict";Object.defineProperty(wu,"__esModule",{value:!0});var m3=_p(),g3=[m3.default];wu.default=g3});var bp=pe(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.contentVocabulary=Di.metadataVocabulary=void 0;Di.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Di.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var $p=pe(_u=>{"use strict";Object.defineProperty(_u,"__esModule",{value:!0});var y3=Th(),w3=Vh(),_3=wp(),v3=vp(),Ep=bp(),b3=[y3.default,w3.default,(0,_3.default)(),v3.default,Ep.metadataVocabulary,Ep.contentVocabulary];_u.default=b3});var bu=pe(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.dynamicAnchor=void 0;var vu=Ge(),E3=pA(),Pp=Ro(),$3=ea(),P3={keyword:"$dynamicAnchor",schemaType:"string",code:n=>kp(n,n.schema)};function kp(n,e){let{gen:i,it:s}=n;s.schemaEnv.root.dynamicAnchors[e]=!0;let u=(0,vu._)`${E3.default.dynamicAnchors}${(0,vu.getProperty)(e)}`,d=s.errSchemaPath==="#"?s.validateName:k3(n);i.if((0,vu._)`!${u}`,()=>i.assign(u,d))}Ho.dynamicAnchor=kp;function k3(n){let{schemaEnv:e,schema:i,self:s}=n.it,{root:u,baseId:d,localRefs:m,meta:y}=e.root,{schemaId:E}=s.opts,b=new Pp.SchemaEnv({schema:i,schemaId:E,root:u,baseId:d,localRefs:m,meta:y});return Pp.compileSchema.call(s,b),(0,$3.getValidate)(n,b)}Ho.default=P3});var Eu=pe(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.dynamicRef=void 0;var Cp=Ge(),C3=pA(),Sp=ea(),S3={keyword:"$dynamicRef",schemaType:"string",code:n=>Dp(n,n.schema)};function Dp(n,e){let{gen:i,keyword:s,it:u}=n;if(e[0]!=="#")throw new Error(`"${s}" only supports hash fragment reference`);let d=e.slice(1);if(u.allErrors)m();else{let E=i.let("valid",!1);m(E),n.ok(E)}function m(E){if(u.schemaEnv.root.dynamicAnchors[d]){let b=i.let("_v",(0,Cp._)`${C3.default.dynamicAnchors}${(0,Cp.getProperty)(d)}`);i.if(b,y(b,E),y(u.validateName,E))}else y(u.validateName,E)()}function y(E,b){return b?()=>i.block(()=>{(0,Sp.callRef)(n,E),i.let(b,!0)}):()=>(0,Sp.callRef)(n,E)}}Vo.dynamicRef=Dp;Vo.default=S3});var xp=pe($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});var D3=bu(),x3=Ye(),R3={keyword:"$recursiveAnchor",schemaType:"boolean",code(n){n.schema?(0,D3.dynamicAnchor)(n,""):(0,x3.checkStrictMode)(n.it,"$recursiveAnchor: false is ignored")}};$u.default=R3});var Rp=pe(Pu=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});var T3=Eu(),O3={keyword:"$recursiveRef",schemaType:"string",code:n=>(0,T3.dynamicRef)(n,n.schema)};Pu.default=O3});var Tp=pe(ku=>{"use strict";Object.defineProperty(ku,"__esModule",{value:!0});var I3=bu(),B3=Eu(),M3=xp(),j3=Rp(),N3=[I3.default,B3.default,M3.default,j3.default];ku.default=N3});var Ip=pe(Cu=>{"use strict";Object.defineProperty(Cu,"__esModule",{value:!0});var Op=sa(),F3={keyword:"dependentRequired",type:"object",schemaType:"object",error:Op.error,code:n=>(0,Op.validatePropertyDeps)(n)};Cu.default=F3});var Bp=pe(Su=>{"use strict";Object.defineProperty(Su,"__esModule",{value:!0});var Q3=sa(),L3={keyword:"dependentSchemas",type:"object",schemaType:"object",code:n=>(0,Q3.validateSchemaDeps)(n)};Su.default=L3});var Mp=pe(Du=>{"use strict";Object.defineProperty(Du,"__esModule",{value:!0});var q3=Ye(),U3={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:n,parentSchema:e,it:i}){e.contains===void 0&&(0,q3.checkStrictMode)(i,`"${n}" without "contains" is ignored`)}};Du.default=U3});var jp=pe(xu=>{"use strict";Object.defineProperty(xu,"__esModule",{value:!0});var G3=Ip(),H3=Bp(),V3=Mp(),z3=[G3.default,H3.default,V3.default];xu.default=z3});var Fp=pe(Ru=>{"use strict";Object.defineProperty(Ru,"__esModule",{value:!0});var Lr=Ge(),Np=Ye(),J3=pA(),K3={message:"must NOT have unevaluated properties",params:({params:n})=>(0,Lr._)`{unevaluatedProperty: ${n.unevaluatedProperty}}`},W3={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:K3,code(n){let{gen:e,schema:i,data:s,errsCount:u,it:d}=n;if(!u)throw new Error("ajv implementation error");let{allErrors:m,props:y}=d;y instanceof Lr.Name?e.if((0,Lr._)`${y} !== true`,()=>e.forIn("key",s,_=>e.if(b(y,_),()=>E(_)))):y!==!0&&e.forIn("key",s,_=>y===void 0?E(_):e.if(w(y,_),()=>E(_))),d.props=!0,n.ok((0,Lr._)`${u} === ${J3.default.errors}`);function E(_){if(i===!1){n.setParams({unevaluatedProperty:_}),n.error(),m||e.break();return}if(!(0,Np.alwaysValidSchema)(d,i)){let $=e.name("valid");n.subschema({keyword:"unevaluatedProperties",dataProp:_,dataPropType:Np.Type.Str},$),m||e.if((0,Lr.not)($),()=>e.break())}}function b(_,$){return(0,Lr._)`!${_} || !${_}[${$}]`}function w(_,$){let C=[];for(let x in _)_[x]===!0&&C.push((0,Lr._)`${$} !== ${x}`);return(0,Lr.and)(...C)}}};Ru.default=W3});var Lp=pe(Tu=>{"use strict";Object.defineProperty(Tu,"__esModule",{value:!0});var xn=Ge(),Qp=Ye(),Y3={message:({params:{len:n}})=>(0,xn.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,xn._)`{limit: ${n}}`},X3={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:Y3,code(n){let{gen:e,schema:i,data:s,it:u}=n,d=u.items||0;if(d===!0)return;let m=e.const("len",(0,xn._)`${s}.length`);if(i===!1)n.setParams({len:d}),n.fail((0,xn._)`${m} > ${d}`);else if(typeof i=="object"&&!(0,Qp.alwaysValidSchema)(u,i)){let E=e.var("valid",(0,xn._)`${m} <= ${d}`);e.if((0,xn.not)(E),()=>y(E,d)),n.ok(E)}u.items=!0;function y(E,b){e.forRange("i",b,m,w=>{n.subschema({keyword:"unevaluatedItems",dataProp:w,dataPropType:Qp.Type.Num},E),u.allErrors||e.if((0,xn.not)(E),()=>e.break())})}}};Tu.default=X3});var qp=pe(Ou=>{"use strict";Object.defineProperty(Ou,"__esModule",{value:!0});var Z3=Fp(),e8=Lp(),t8=[Z3.default,e8.default];Ou.default=t8});var Gp=pe(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.DiscrError=void 0;var Up;(function(n){n.Tag="tag",n.Mapping="mapping"})(Up||(da.DiscrError=Up={}))});var Vp=pe(Bu=>{"use strict";Object.defineProperty(Bu,"__esModule",{value:!0});var xi=Ge(),Iu=Gp(),Hp=Ro(),A8=xo(),r8=Ye(),n8={message:({params:{discrError:n,tagName:e}})=>n===Iu.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:n,tag:e,tagName:i}})=>(0,xi._)`{error: ${n}, tag: ${i}, tagValue: ${e}}`},i8={keyword:"discriminator",type:"object",schemaType:"object",error:n8,code(n){let{gen:e,data:i,schema:s,parentSchema:u,it:d}=n,{oneOf:m}=u;if(!d.opts.discriminator)throw new Error("discriminator: requires discriminator option");let y=s.propertyName;if(typeof y!="string")throw new Error("discriminator: requires propertyName");if(s.mapping)throw new Error("discriminator: mapping is not supported");if(!m)throw new Error("discriminator: requires oneOf keyword");let E=e.let("valid",!1),b=e.const("tag",(0,xi._)`${i}${(0,xi.getProperty)(y)}`);e.if((0,xi._)`typeof ${b} == "string"`,()=>w(),()=>n.error(!1,{discrError:Iu.DiscrError.Tag,tag:b,tagName:y})),n.ok(E);function w(){let C=$();e.if(!1);for(let x in C)e.elseIf((0,xi._)`${b} === ${x}`),e.assign(E,_(C[x]));e.else(),n.error(!1,{discrError:Iu.DiscrError.Mapping,tag:b,tagName:y}),e.endIf()}function _(C){let x=e.name("valid"),k=n.subschema({keyword:"oneOf",schemaProp:C},x);return n.mergeEvaluated(k,xi.Name),x}function $(){var C;let x={},k=O(u),B=!0;for(let q=0;q<m.length;q++){let V=m[q];if(V?.$ref&&!(0,r8.schemaHasRulesButRef)(V,d.self.RULES)){let re=V.$ref;if(V=Hp.resolveRef.call(d.self,d.schemaEnv.root,d.baseId,re),V instanceof Hp.SchemaEnv&&(V=V.schema),V===void 0)throw new A8.default(d.opts.uriResolver,d.baseId,re)}let z=(C=V?.properties)===null||C===void 0?void 0:C[y];if(typeof z!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${y}"`);B=B&&(k||O(V)),I(z,q)}if(!B)throw new Error(`discriminator: "${y}" must be required`);return x;function O({required:q}){return Array.isArray(q)&&q.includes(y)}function I(q,V){if(q.const)U(q.const,V);else if(q.enum)for(let z of q.enum)U(z,V);else throw new Error(`discriminator: "properties/${y}" must have "const" or "enum"`)}function U(q,V){if(typeof q!="string"||q in x)throw new Error(`discriminator: "${y}" values must be unique strings`);x[q]=V}}}};Bu.default=i8});var zp=pe((IS,o8)=>{o8.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/schema",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0,"https://json-schema.org/draft/2019-09/vocab/applicator":!0,"https://json-schema.org/draft/2019-09/vocab/validation":!0,"https://json-schema.org/draft/2019-09/vocab/meta-data":!0,"https://json-schema.org/draft/2019-09/vocab/format":!1,"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format"},{$ref:"meta/content"}],type:["object","boolean"],properties:{definitions:{$comment:"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.",type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},dependencies:{$comment:'"dependencies" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to "dependentSchemas" and "dependentRequired"',type:"object",additionalProperties:{anyOf:[{$recursiveRef:"#"},{$ref:"meta/validation#/$defs/stringArray"}]}}}}});var Jp=pe((BS,s8)=>{s8.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/applicator":!0},$recursiveAnchor:!0,title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{additionalItems:{$recursiveRef:"#"},unevaluatedItems:{$recursiveRef:"#"},items:{anyOf:[{$recursiveRef:"#"},{$ref:"#/$defs/schemaArray"}]},contains:{$recursiveRef:"#"},additionalProperties:{$recursiveRef:"#"},unevaluatedProperties:{$recursiveRef:"#"},properties:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$recursiveRef:"#"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$recursiveRef:"#"}},propertyNames:{$recursiveRef:"#"},if:{$recursiveRef:"#"},then:{$recursiveRef:"#"},else:{$recursiveRef:"#"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$recursiveRef:"#"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$recursiveRef:"#"}}}}});var Kp=pe((MS,a8)=>{a8.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/content",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentMediaType:{type:"string"},contentEncoding:{type:"string"},contentSchema:{$recursiveRef:"#"}}}});var Wp=pe((jS,l8)=>{l8.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/core",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0},$recursiveAnchor:!0,title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{type:"string",format:"uri"},$anchor:{type:"string",pattern:"^[A-Za-z][-A-Za-z0-9.:_]*$"},$ref:{type:"string",format:"uri-reference"},$recursiveRef:{type:"string",format:"uri-reference"},$recursiveAnchor:{type:"boolean",default:!1},$vocabulary:{type:"object",propertyNames:{type:"string",format:"uri"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}}}}});var Yp=pe((NS,u8)=>{u8.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/format",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/format":!0},$recursiveAnchor:!0,title:"Format vocabulary meta-schema",type:["object","boolean"],properties:{format:{type:"string"}}}});var Xp=pe((FS,f8)=>{f8.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/meta-data":!0},$recursiveAnchor:!0,title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}}}});var Zp=pe((QS,c8)=>{c8.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/validation",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/validation":!0},$recursiveAnchor:!0,title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}},const:!0,enum:{type:"array",items:!0},type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}}}});var em=pe(Mu=>{"use strict";Object.defineProperty(Mu,"__esModule",{value:!0});var d8=zp(),h8=Jp(),p8=Kp(),m8=Wp(),g8=Yp(),y8=Xp(),w8=Zp(),_8=["/properties"];function v8(n){return[d8,h8,p8,m8,e(this,g8),y8,e(this,w8)].forEach(i=>this.addMetaSchema(i,void 0,!1)),this;function e(i,s){return n?i.$dataMetaSchema(s,_8):s}}Mu.default=v8});var Fu=pe((mt,Nu)=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.MissingRefError=mt.ValidationError=mt.CodeGen=mt.Name=mt.nil=mt.stringify=mt.str=mt._=mt.KeywordCxt=mt.Ajv2019=void 0;var b8=Ch(),E8=$p(),$8=Tp(),P8=jp(),k8=qp(),C8=Vp(),S8=em(),ju="https://json-schema.org/draft/2019-09/schema",Ri=class extends b8.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary($8.default),E8.default.forEach(e=>this.addVocabulary(e)),this.addVocabulary(P8.default),this.addVocabulary(k8.default),this.opts.discriminator&&this.addKeyword(C8.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:i}=this.opts;i&&(S8.default.call(this,e),this.refs["http://json-schema.org/schema"]=ju)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ju)?ju:void 0)}};mt.Ajv2019=Ri;Nu.exports=mt=Ri;Nu.exports.Ajv2019=Ri;Object.defineProperty(mt,"__esModule",{value:!0});mt.default=Ri;var D8=Do();Object.defineProperty(mt,"KeywordCxt",{enumerable:!0,get:function(){return D8.KeywordCxt}});var Ti=Ge();Object.defineProperty(mt,"_",{enumerable:!0,get:function(){return Ti._}});Object.defineProperty(mt,"str",{enumerable:!0,get:function(){return Ti.str}});Object.defineProperty(mt,"stringify",{enumerable:!0,get:function(){return Ti.stringify}});Object.defineProperty(mt,"nil",{enumerable:!0,get:function(){return Ti.nil}});Object.defineProperty(mt,"Name",{enumerable:!0,get:function(){return Ti.Name}});Object.defineProperty(mt,"CodeGen",{enumerable:!0,get:function(){return Ti.CodeGen}});var x8=Vs();Object.defineProperty(mt,"ValidationError",{enumerable:!0,get:function(){return x8.default}});var R8=xo();Object.defineProperty(mt,"MissingRefError",{enumerable:!0,get:function(){return R8.default}})});var L8={};m1(L8,{default:()=>Q8});var Ot=function(n){n=n||{};var e=typeof n<"u"?n:{},i={},s;for(s in e)e.hasOwnProperty(s)&&(i[s]=e[s]);var u=[],d="";function m(Z){return e.locateFile?e.locateFile(Z,d):d+Z}var y;typeof document<"u"&&document.currentScript&&(d=document.currentScript.src),d.indexOf("blob:")!==0?d=d.substr(0,d.lastIndexOf("/")+1):d="",y=function(ie,ye,oe){var A=new XMLHttpRequest;A.open("GET",ie,!0),A.responseType="arraybuffer",A.onload=function(){if(A.status==200||A.status==0&&A.response){ye(A.response);return}var ot=ya(ie);if(ot){ye(ot.buffer);return}oe()},A.onerror=oe,A.send(null)};var E=e.print||console.log.bind(console),b=e.printErr||console.warn.bind(console);for(s in i)i.hasOwnProperty(s)&&(e[s]=i[s]);i=null,e.arguments&&(u=e.arguments);var w=0,_=function(Z){w=Z},$=function(){return w},C=8;function x(Z,ie,ye,oe){switch(ye=ye||"i8",ye.charAt(ye.length-1)==="*"&&(ye="i32"),ye){case"i1":Q[Z>>0]=ie;break;case"i8":Q[Z>>0]=ie;break;case"i16":ne[Z>>1]=ie;break;case"i32":te[Z>>2]=ie;break;case"i64":ga=[ie>>>0,(Tn=ie,+Wm(Tn)>=1?Tn>0?(Zm(+Xm(Tn/4294967296),4294967295)|0)>>>0:~~+Ym((Tn-+(~~Tn>>>0))/4294967296)>>>0:0)],te[Z>>2]=ga[0],te[Z+4>>2]=ga[1];break;case"float":me[Z>>2]=ie;break;case"double":ve[Z>>3]=ie;break;default:Ur("invalid type for setValue: "+ye)}}function k(Z,ie,ye){switch(ie=ie||"i8",ie.charAt(ie.length-1)==="*"&&(ie="i32"),ie){case"i1":return Q[Z>>0];case"i8":return Q[Z>>0];case"i16":return ne[Z>>1];case"i32":return te[Z>>2];case"i64":return te[Z>>2];case"float":return me[Z>>2];case"double":return ve[Z>>3];default:Ur("invalid type for getValue: "+ie)}return null}var B=!1;function O(Z,ie){Z||Ur("Assertion failed: "+ie)}function I(Z){var ie=e["_"+Z];return O(ie,"Cannot call unknown function "+Z+", make sure it is exported"),ie}function U(Z,ie,ye,oe,A){var lt={string:function(St){var Xe=0;if(St!=null&&St!==0){var it=(St.length<<2)+1;Xe=Wu(it),J(St,Xe,it)}return Xe},array:function(St){var Xe=Wu(St.length);return ae(St,Xe),Xe}};function ot(St){return ie==="string"?re(St):ie==="boolean"?!!St:St}var P=I(Z),kt=[],Kt=0;if(oe)for(var Ct=0;Ct<oe.length;Ct++){var rt=lt[ye[Ct]];rt?(Kt===0&&(Kt=m2()),kt[Ct]=rt(oe[Ct])):kt[Ct]=oe[Ct]}var yt=P.apply(null,kt);return yt=ot(yt),Kt!==0&&p2(Kt),yt}function q(Z,ie,ye,oe){ye=ye||[];var A=ye.every(function(ot){return ot==="number"}),lt=ie!=="string";return lt&&A&&!oe?I(Z):function(){return U(Z,ie,ye,arguments,oe)}}var V=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function z(Z,ie,ye){for(var oe=ie+ye,A=ie;Z[A]&&!(A>=oe);)++A;if(A-ie>16&&Z.subarray&&V)return V.decode(Z.subarray(ie,A));for(var lt="";ie<A;){var ot=Z[ie++];if(!(ot&128)){lt+=String.fromCharCode(ot);continue}var P=Z[ie++]&63;if((ot&224)==192){lt+=String.fromCharCode((ot&31)<<6|P);continue}var kt=Z[ie++]&63;if((ot&240)==224?ot=(ot&15)<<12|P<<6|kt:ot=(ot&7)<<18|P<<12|kt<<6|Z[ie++]&63,ot<65536)lt+=String.fromCharCode(ot);else{var Kt=ot-65536;lt+=String.fromCharCode(55296|Kt>>10,56320|Kt&1023)}}return lt}function re(Z,ie){return Z?z(X,Z,ie):""}function L(Z,ie,ye,oe){if(!(oe>0))return 0;for(var A=ye,lt=ye+oe-1,ot=0;ot<Z.length;++ot){var P=Z.charCodeAt(ot);if(P>=55296&&P<=57343){var kt=Z.charCodeAt(++ot);P=65536+((P&1023)<<10)|kt&1023}if(P<=127){if(ye>=lt)break;ie[ye++]=P}else if(P<=2047){if(ye+1>=lt)break;ie[ye++]=192|P>>6,ie[ye++]=128|P&63}else if(P<=65535){if(ye+2>=lt)break;ie[ye++]=224|P>>12,ie[ye++]=128|P>>6&63,ie[ye++]=128|P&63}else{if(ye+3>=lt)break;ie[ye++]=240|P>>18,ie[ye++]=128|P>>12&63,ie[ye++]=128|P>>6&63,ie[ye++]=128|P&63}}return ie[ye]=0,ye-A}function J(Z,ie,ye){return L(Z,X,ie,ye)}var le=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function ae(Z,ie){Q.set(Z,ie)}function R(Z,ie){return Z%ie>0&&(Z+=ie-Z%ie),Z}var M,Q,X,ne,Ae,te,de,me,ve;function De(Z){M=Z,e.HEAP8=Q=new Int8Array(Z),e.HEAP16=ne=new Int16Array(Z),e.HEAP32=te=new Int32Array(Z),e.HEAPU8=X=new Uint8Array(Z),e.HEAPU16=Ae=new Uint16Array(Z),e.HEAPU32=de=new Uint32Array(Z),e.HEAPF32=me=new Float32Array(Z),e.HEAPF64=ve=new Float64Array(Z)}var At=5271520,Ke=28608,ze=e.TOTAL_MEMORY||33554432;e.buffer?M=e.buffer:M=new ArrayBuffer(ze),ze=M.byteLength,De(M),te[Ke>>2]=At;function gt(Z){for(;Z.length>0;){var ie=Z.shift();if(typeof ie=="function"){ie();continue}var ye=ie.func;typeof ye=="number"?ie.arg===void 0?e.dynCall_v(ye):e.dynCall_vi(ye,ie.arg):ye(ie.arg===void 0?null:ie.arg)}}var JA=[],CA=[],sA=[],aA=[];function SA(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)Jm(e.preRun.shift());gt(JA)}function DA(){gt(CA)}function Vm(){gt(sA)}function zm(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)Km(e.postRun.shift());gt(aA)}function Jm(Z){JA.unshift(Z)}function Km(Z){aA.unshift(Z)}var Wm=Math.abs,Ym=Math.ceil,Xm=Math.floor,Zm=Math.min,qr=0,pa=null,Oi=null;function e2(Z){qr++,e.monitorRunDependencies&&e.monitorRunDependencies(qr)}function t2(Z){if(qr--,e.monitorRunDependencies&&e.monitorRunDependencies(qr),qr==0&&(pa!==null&&(clearInterval(pa),pa=null),Oi)){var ie=Oi;Oi=null,ie()}}e.preloadedImages={},e.preloadedAudios={};var KA=null,ma="data:application/octet-stream;base64,";function Hu(Z){return String.prototype.startsWith?Z.startsWith(ma):Z.indexOf(ma)===0}var Tn,ga;KA="data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAAAQAAAAQAAAADAAAABgAAAAUAAAACAAAAAAAAAAIAAAADAAAAAQAAAAQAAAAGAAAAAAAAAAUAAAADAAAABgAAAAQAAAAFAAAAAAAAAAEAAAACAAAABAAAAAUAAAAGAAAAAAAAAAIAAAADAAAAAQAAAAUAAAACAAAAAAAAAAEAAAADAAAABgAAAAQAAAAGAAAAAAAAAAUAAAACAAAAAQAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAAAAAAEAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAYAAAAAAAAABQAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAABAAAAAAAAAABAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAADAAAACAAAAAEAAAAHAAAABgAAAAkAAAAAAAAAAwAAAAIAAAACAAAA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AAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAUAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABAAAAAUAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAD/////AQAAAAAAAAADAAAABAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAUAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAD//////////wEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAAAAAAAAAAABAAAAAgAAAAYAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAAFAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAAAAAAAAAAABAAAAAwAAAAcAAAAGAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADgAAAAIAAAAAAAAAAAAAAAEAAAAAAAAACQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAAAAAAAAAAAAAEAAAAEAAAACAAAAAoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAAAAAAAAQAAAAsAAAAPAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAIAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAAAAAAAAAAAAQAAAAwAAAAQAAAADAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAAAAAAAAAAABAAAACgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAEAAAANAAAAEQAAAA0AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAACAAAAAAAAAAAAAAABAAAADgAAABIAAAAPAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAAAAAAAAQAAAP//////////EwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAASAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAeAAAAAAAAACAAAAADAAAAMQAAAAEAAAAwAAAAAwAAADIAAAADAAAACAAAAAAAAAAFAAAABQAAAAoAAAAFAAAAFgAAAAAAAAAQAAAAAAAAABIAAAAAAAAAKQAAAAEAAAAhAAAAAAAAAB4AAAAAAAAABAAAAAAAAAAAAAAABQAAAAIAAAAFAAAADwAAAAEAAAAIAAAAAAAAAAUAAAAFAAAAHwAAAAEAAAAWAAAAAAAAABAAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAA4AAAAAAAAACgAAAAAAAAALAAAAAAAAABEAAAADAAAAGAAAAAEAAAAXAAAAAwAAABkAAAADAAAAAAAAAAAAAAABAAAABQAAAAkAAAAFAAAABQAAAAAAAAACAAAAAAAAAAYAAAAAAAAAEgAAAAEAAAAKAAAAAAAAAAsAAAAAAAAABAAAAAEAAAADAAAABQAAAAcAAAAFAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAFAAAAEAAAAAEAAAAFAAAAAAAAAAIAAAAAAAAABwAAAAAAAAAVAAAAAAAAACYAAAAAAAAACQAAAAAAAAATAAAAAAAAACIAAAADAAAADgAAAAEAAAAUAAAAAwAAACQAAAADAAAAAwAAAAAAAAANAAAABQAAAB0AAAAFAAAAAQAAAAAAAAAHAAAAAAAAABUAAAAAAAAABgAAAAEAAAAJAAAAAAAAABMAAAAAAAAABAAAAAIAAAAMAAAA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Zhu25b633D8c1YgmzowSQNM25BRKWARArGS08/lNxD+LFssHwmMRQLC5aNcxBgJABL9HT0WRF0CjCmJmOGEOQHsuaVzMP/s/TWJCaGGwBUCeu1PAPLzjP9nqN9DZOBNAKE4JcydbCkCGtbd1qjPzP8dgm9U8jhVAtPeKTkVwDkCeCLss5l37P401XMPLmBdAFd29VMVQDUBg0yA55h75Pz6odcYLCRdApBM4rBrkAkDyAVWgQxbRP4XDMnK20hFAymLlF7EmzD8GUgo9XBHlP3lbK7T9COc/k+OhPthhy7+YGEpnrOvCPzBFhLs15u4/epbqB6H4uz9IuuLF5svev6lzLKY31es/CaQ0envF5z8ZY0xlUADXv7zaz7HYEuI/CfbK1sn16T8uAQfWwxLWPzKn/YuFN94/5KdbC1AFu793fyCSnlfvPzK2y4doAMY/NRg5t1/X6b/shq4QJaHDP5yNIAKPOeI/vpn7BSE30r/X4YQrO6nrv78Ziv/Thto/DqJ1Y6+y5z9l51NaxFrlv8QlA65HOLS/86dxiEc96z+Hj0+LFjneP6LzBZ8LTc2/DaJ1Y6+y579l51NaxFrlP8QlA65HOLQ/8qdxiEc967+Jj0+LFjnev6LzBZ8LTc0/1qdbC1AFuz93fyCSnlfvvzK2y4doAMa/NRg5t1/X6T/vhq4QJaHDv5yNIAKPOeK/wJn7BSE30j/W4YQrO6nrP78Ziv/Thtq/CaQ0envF578XY0xlUADXP7zaz7HYEuK/CvbK1sn16b8rAQfWwxLWvzKn/YuFN96/zWLlF7EmzL8GUgo9XBHlv3lbK7T9COe/kOOhPthhyz+cGEpnrOvCvzBFhLs15u6/c5bqB6H4u79IuuLF5sveP6lzLKY31eu/AQAAAP////8HAAAA/////zEAAAD/////VwEAAP////9hCQAA/////6dBAAD/////kcsBAP/////3kAwA/////8H2VwAAAAAAAAAAAAAAAAACAAAA/////w4AAAD/////YgAAAP////+uAgAA/////8ISAAD/////ToMAAP////8ilwMA/////+4hGQD/////gu2vAAAAAAAAAAAAAAAAAAAAAAACAAAA//////////8BAAAAAwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////AgAAAP//////////AQAAAAAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD/////////////////////AQAAAP///////////////wIAAAD///////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP///////////////////////////////wIAAAD///////////////8BAAAA/////////////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAABAAAA//////////8CAAAA//////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAAAQAAAP//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAA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ZV0gPT0gS0kAZmFjZWlqay5jAF9mYWNlSWprUGVudFRvQ2VsbEJvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9DZWxsQm91bmRhcnkAaDNJbmRleC5jAGNvbXBhY3RDZWxscwBsYXRMbmdUb0NlbGwAY2VsbFRvQ2hpbGRQb3MAdmFsaWRhdGVDaGlsZFBvcwBsYXRMbmcuYwBjZWxsQXJlYVJhZHMyAHBvbHlnb24tPm5leHQgPT0gTlVMTABsaW5rZWRHZW8uYwBhZGROZXdMaW5rZWRQb2x5Z29uAG5leHQgIT0gTlVMTABsb29wICE9IE5VTEwAYWRkTmV3TGlua2VkTG9vcABwb2x5Z29uLT5maXJzdCA9PSBOVUxMAGFkZExpbmtlZExvb3AAY29vcmQgIT0gTlVMTABhZGRMaW5rZWRDb29yZABsb29wLT5maXJzdCA9PSBOVUxMAGlubmVyTG9vcHMgIT0gTlVMTABub3JtYWxpemVNdWx0aVBvbHlnb24AYmJveGVzICE9IE5VTEwAY2FuZGlkYXRlcyAhPSBOVUxMAGZpbmRQb2x5Z29uRm9ySG9sZQBjYW5kaWRhdGVCQm94ZXMgIT0gTlVMTAByZXZEaXIgIT0gSU5WQUxJRF9ESUdJVABsb2NhbGlqLmMAY2VsbFRvTG9jYWxJamsAYmFzZUNlbGwgIT0gb3JpZ2luQmFzZUNlbGwAIShvcmlnaW5PblBlbnQgJiYgaW5kZXhPblBlbnQpAGJhc2VDZWxsID09IG9yaWdpbkJhc2VDZWxsAGJhc2VDZWxsICE9IElOVkFMSURfQkFTRV9DRUxMAGxvY2FsSWprVG9DZWxsACFfaXNCYXNlQ2VsbFBlbnRhZ29uKGJhc2VDZWxsKQBiYXNlQ2VsbFJvdGF0aW9ucyA+PSAwAGdyaWRQYXRoQ2VsbHMAcG9seWZpbGwuYwBpdGVyU3RlcFBvbHlnb25Db21wYWN0ADAAdmVydGV4LmMAY2VsbFRvVmVydGV4AGdyYXBoLT5idWNrZXRzICE9IE5VTEwAdmVydGV4R3JhcGguYwBpbml0VmVydGV4R3JhcGgAbm9kZSAhPSBOVUxMAGFkZFZlcnRleE5vZGU=";var A2=28624;function r2(Z){return Z}function Vu(Z){var ie=/\b__Z[\w\d_]+/g;return Z.replace(ie,function(ye){var oe=ye;return ye===oe?ye:oe+" ["+ye+"]"})}function zu(){var Z=new Error;if(!Z.stack){try{throw new Error(0)}catch(ie){Z=ie}if(!Z.stack)return"(no stack trace available)"}return Z.stack.toString()}function n2(){var Z=zu();return e.extraStackTrace&&(Z+=`
|
|
10
|
-
`+e.extraStackTrace()),Vu(Z)}function i2(Z,ie,ye,oe){Ur("Assertion failed: "+re(Z)+", at: "+[ie?re(ie):"unknown filename",ye,oe?re(oe):"unknown function"])}function Ju(){return Q.length}function o2(Z,ie,ye){X.set(X.subarray(ie,ie+ye),Z)}function s2(Z){return e.___errno_location&&(te[e.___errno_location()>>2]=Z),Z}function a2(Z){Ur("OOM")}function Ku(Z){try{var ie=new ArrayBuffer(Z);return ie.byteLength!=Z?void 0:(new Int8Array(ie).set(Q),h2(ie),De(ie),1)}catch{}}function l2(Z){var ie=Ju(),ye=16777216,oe=2147483648-ye;if(Z>oe)return!1;for(var A=16777216,lt=Math.max(ie,A);lt<Z;)lt<=536870912?lt=R(2*lt,ye):lt=Math.min(R((3*lt+2147483648)/4,ye),oe);var ot=Ku(lt);return!!ot}var u2=typeof atob=="function"?atob:function(Z){var ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ye="",oe,A,lt,ot,P,kt,Kt,Ct=0;Z=Z.replace(/[^A-Za-z0-9\+\/\=]/g,"");do ot=ie.indexOf(Z.charAt(Ct++)),P=ie.indexOf(Z.charAt(Ct++)),kt=ie.indexOf(Z.charAt(Ct++)),Kt=ie.indexOf(Z.charAt(Ct++)),oe=ot<<2|P>>4,A=(P&15)<<4|kt>>2,lt=(kt&3)<<6|Kt,ye=ye+String.fromCharCode(oe),kt!==64&&(ye=ye+String.fromCharCode(A)),Kt!==64&&(ye=ye+String.fromCharCode(lt));while(Ct<Z.length);return ye};function f2(Z){try{for(var ie=u2(Z),ye=new Uint8Array(ie.length),oe=0;oe<ie.length;++oe)ye[oe]=ie.charCodeAt(oe);return ye}catch{throw new Error("Converting base64 string to bytes failed.")}}function ya(Z){if(Hu(Z))return f2(Z.slice(ma.length))}var c2={Math,Int8Array,Int32Array,Uint8Array,Float32Array,Float64Array},d2={a:Ur,b:_,c:$,d:i2,e:s2,f:Ju,g:o2,h:l2,i:a2,j:r2,k:Vu,l:Ku,m:zu,n:n2,o:A2,p:Ke},fe=function(Z,ie,ye){"almost asm";var oe=new Z.Int8Array(ye),A=new Z.Int32Array(ye),lt=new Z.Uint8Array(ye),ot=new Z.Float32Array(ye),P=new Z.Float64Array(ye),kt=ie.o|0,Kt=ie.p|0,Ct=Z.Math.floor,rt=Z.Math.abs,yt=Z.Math.sqrt,St=Z.Math.pow,Xe=Z.Math.cos,it=Z.Math.sin,Ii=Z.Math.tan,g2=Z.Math.acos,y2=Z.Math.asin,va=Z.Math.atan,lA=Z.Math.atan2,On=Z.Math.ceil,xA=Z.Math.imul,ba=Z.Math.min,w2=Z.Math.max,WA=Z.Math.clz32,je=ie.b,T=ie.c,Te=ie.d,ef=ie.e,_2=ie.f,v2=ie.g,b2=ie.h,E2=ie.i,S=28640;function $2(t){return oe=new Int8Array(t),lt=new Uint8Array(t),A=new Int32Array(t),ot=new Float32Array(t),P=new Float64Array(t),ye=t,!0}function P2(t){t=t|0;var r=0;return r=S,S=S+t|0,S=S+15&-16,r|0}function k2(){return S|0}function C2(t){t=t|0,S=t}function S2(t,r){t=t|0,r=r|0,S=t}function D2(t,r){t=t|0,r=r|0;var o=0,a=0,l=0;return(t|0)<0?(r=2,r|0):(t|0)>13780509?(r=Ua(15,r)|0,r|0):(o=((t|0)<0)<<31>>31,l=Ft(t|0,o|0,3,0)|0,a=T()|0,o=Ce(t|0,o|0,1,0)|0,o=Ft(l|0,a|0,o|0,T()|0)|0,o=Ce(o|0,T()|0,1,0)|0,t=T()|0,A[r>>2]=o,A[r+4>>2]=t,r=0,r|0)}function tf(t,r,o,a){return t=t|0,r=r|0,o=o|0,a=a|0,Af(t,r,o,a,0)|0}function Af(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0;if(p=S,S=S+16|0,c=p,!(rf(t,r,o,a,l)|0))return a=0,S=p,a|0;do if((o|0)>=0){if((o|0)>13780509){if(f=Ua(15,c)|0,f|0)break;h=c,c=A[h>>2]|0,h=A[h+4>>2]|0}else f=((o|0)<0)<<31>>31,g=Ft(o|0,f|0,3,0)|0,h=T()|0,f=Ce(o|0,f|0,1,0)|0,f=Ft(g|0,h|0,f|0,T()|0)|0,f=Ce(f|0,T()|0,1,0)|0,h=T()|0,A[c>>2]=f,A[c+4>>2]=h,c=f;if(Kr(a|0,0,c<<3|0)|0,l|0){Kr(l|0,0,c<<2|0)|0,f=YA(t,r,o,a,l,c,h,0)|0;break}f=cA(c,4)|0,f?(g=YA(t,r,o,a,f,c,h,0)|0,Se(f),f=g):f=13}else f=2;while(!1);return g=f,S=p,g|0}function rf(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0;if(G=S,S=S+16|0,j=G,N=G+8|0,F=j,A[F>>2]=t,A[F+4>>2]=r,(o|0)<0)return N=2,S=G,N|0;if(f=a,A[f>>2]=t,A[f+4>>2]=r,f=(l|0)!=0,f&&(A[l>>2]=0),ut(t,r)|0)return N=9,S=G,N|0;A[N>>2]=0;e:do if((o|0)>=1)if(f)for(v=1,g=0,D=0,F=1,f=t;;){if(!(g|D)){if(f=Dt(f,r,4,N,j)|0,f|0)break e;if(r=j,f=A[r>>2]|0,r=A[r+4>>2]|0,ut(f,r)|0){f=9;break e}}if(f=Dt(f,r,A[26800+(D<<2)>>2]|0,N,j)|0,f|0)break e;if(r=j,f=A[r>>2]|0,r=A[r+4>>2]|0,t=a+(v<<3)|0,A[t>>2]=f,A[t+4>>2]=r,A[l+(v<<2)>>2]=F,t=g+1|0,c=(t|0)==(F|0),h=D+1|0,p=(h|0)==6,ut(f,r)|0){f=9;break e}if(F=F+(p&c&1)|0,(F|0)>(o|0)){f=0;break}else v=v+1|0,g=c?0:t,D=c?p?0:h:D}else for(v=1,g=0,D=0,F=1,f=t;;){if(!(g|D)){if(f=Dt(f,r,4,N,j)|0,f|0)break e;if(r=j,f=A[r>>2]|0,r=A[r+4>>2]|0,ut(f,r)|0){f=9;break e}}if(f=Dt(f,r,A[26800+(D<<2)>>2]|0,N,j)|0,f|0)break e;if(r=j,f=A[r>>2]|0,r=A[r+4>>2]|0,t=a+(v<<3)|0,A[t>>2]=f,A[t+4>>2]=r,t=g+1|0,c=(t|0)==(F|0),h=D+1|0,p=(h|0)==6,ut(f,r)|0){f=9;break e}if(F=F+(p&c&1)|0,(F|0)>(o|0)){f=0;break}else v=v+1|0,g=c?0:t,D=c?p?0:h:D}else f=0;while(!1);return N=f,S=G,N|0}function YA(t,r,o,a,l,f,c,h){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,f=f|0,c=c|0,h=h|0;var p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0;if(G=S,S=S+16|0,j=G+8|0,N=G,p=Fn(t|0,r|0,f|0,c|0)|0,v=T()|0,D=a+(p<<3)|0,K=D,ee=A[K>>2]|0,K=A[K+4>>2]|0,g=(ee|0)==(t|0)&(K|0)==(r|0),!((ee|0)==0&(K|0)==0|g))do p=Ce(p|0,v|0,1,0)|0,p=Nn(p|0,T()|0,f|0,c|0)|0,v=T()|0,D=a+(p<<3)|0,ee=D,K=A[ee>>2]|0,ee=A[ee+4>>2]|0,g=(K|0)==(t|0)&(ee|0)==(r|0);while(!((K|0)==0&(ee|0)==0|g));if(p=l+(p<<2)|0,g&&(A[p>>2]|0)<=(h|0)||(ee=D,A[ee>>2]=t,A[ee+4>>2]=r,A[p>>2]=h,(h|0)>=(o|0)))return ee=0,S=G,ee|0;switch(g=h+1|0,A[j>>2]=0,p=Dt(t,r,2,j,N)|0,p|0){case 9:{F=9;break}case 0:{p=N,p=YA(A[p>>2]|0,A[p+4>>2]|0,o,a,l,f,c,g)|0,p||(F=9);break}default:}e:do if((F|0)==9){switch(A[j>>2]=0,p=Dt(t,r,3,j,N)|0,p|0){case 9:break;case 0:{if(p=N,p=YA(A[p>>2]|0,A[p+4>>2]|0,o,a,l,f,c,g)|0,p|0)break e;break}default:break e}switch(A[j>>2]=0,p=Dt(t,r,1,j,N)|0,p|0){case 9:break;case 0:{if(p=N,p=YA(A[p>>2]|0,A[p+4>>2]|0,o,a,l,f,c,g)|0,p|0)break e;break}default:break e}switch(A[j>>2]=0,p=Dt(t,r,5,j,N)|0,p|0){case 9:break;case 0:{if(p=N,p=YA(A[p>>2]|0,A[p+4>>2]|0,o,a,l,f,c,g)|0,p|0)break e;break}default:break e}switch(A[j>>2]=0,p=Dt(t,r,4,j,N)|0,p|0){case 9:break;case 0:{if(p=N,p=YA(A[p>>2]|0,A[p+4>>2]|0,o,a,l,f,c,g)|0,p|0)break e;break}default:break e}switch(A[j>>2]=0,p=Dt(t,r,6,j,N)|0,p|0){case 9:break;case 0:{if(p=N,p=YA(A[p>>2]|0,A[p+4>>2]|0,o,a,l,f,c,g)|0,p|0)break e;break}default:break e}return ee=0,S=G,ee|0}while(!1);return ee=p,S=G,ee|0}function Dt(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0;if(o>>>0>6)return l=1,l|0;if(D=(A[a>>2]|0)%6|0,A[a>>2]=D,(D|0)>0){f=0;do o=Vr(o)|0,f=f+1|0;while((f|0)<(A[a>>2]|0))}if(D=se(t|0,r|0,45)|0,T()|0,v=D&127,v>>>0>121)return l=5,l|0;p=Wt(t,r)|0,f=se(t|0,r|0,52)|0,T()|0,f=f&15;e:do if(!f)g=8;else{for(;;){if(c=(15-f|0)*3|0,h=se(t|0,r|0,c|0)|0,T()|0,h=h&7,(h|0)==7){r=5;break}if(N=(uA(f)|0)==0,f=f+-1|0,F=he(7,0,c|0)|0,r=r&~(T()|0),j=he(A[(N?432:16)+(h*28|0)+(o<<2)>>2]|0,0,c|0)|0,c=T()|0,o=A[(N?640:224)+(h*28|0)+(o<<2)>>2]|0,t=j|t&~F,r=c|r,!o){o=0;break e}if(!f){g=8;break e}}return r|0}while(!1);(g|0)==8&&(N=A[848+(v*28|0)+(o<<2)>>2]|0,j=he(N|0,0,45)|0,t=j|t,r=T()|0|r&-1040385,o=A[4272+(v*28|0)+(o<<2)>>2]|0,(N&127|0)==127&&(N=he(A[848+(v*28|0)+20>>2]|0,0,45)|0,r=T()|0|r&-1040385,o=A[4272+(v*28|0)+20>>2]|0,t=zr(N|t,r)|0,r=T()|0,A[a>>2]=(A[a>>2]|0)+1)),h=se(t|0,r|0,45)|0,T()|0,h=h&127;e:do if(ht(h)|0){t:do if((Wt(t,r)|0)==1){if((v|0)!=(h|0))if(sf(h,A[7696+(v*28|0)>>2]|0)|0){t=ja(t,r)|0,c=1,r=T()|0;break}else Te(27795,26864,436,26872);switch(p|0){case 3:{t=zr(t,r)|0,r=T()|0,A[a>>2]=(A[a>>2]|0)+1,c=0;break t}case 5:{t=ja(t,r)|0,r=T()|0,A[a>>2]=(A[a>>2]|0)+5,c=0;break t}case 0:return N=9,N|0;default:return N=1,N|0}}else c=0;while(!1);if((o|0)>0){f=0;do t=Ma(t,r)|0,r=T()|0,f=f+1|0;while((f|0)!=(o|0))}if((v|0)!=(h|0)){if(!($a(h)|0)){if((c|0)!=0|(Wt(t,r)|0)!=5)break;A[a>>2]=(A[a>>2]|0)+1;break}switch(D&127){case 8:case 118:break e;default:}(Wt(t,r)|0)!=3&&(A[a>>2]=(A[a>>2]|0)+1)}}else if((o|0)>0){f=0;do t=zr(t,r)|0,r=T()|0,f=f+1|0;while((f|0)!=(o|0))}while(!1);return A[a>>2]=((A[a>>2]|0)+o|0)%6|0,N=l,A[N>>2]=t,A[N+4>>2]=r,N=0,N|0}function Ea(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0;for(h=S,S=S+16|0,f=h,c=h+8|0,l=(ut(t,r)|0)==0,l=l?1:2;;){if(A[c>>2]=0,g=(Dt(t,r,l,c,f)|0)==0,p=f,g&((A[p>>2]|0)==(o|0)?(A[p+4>>2]|0)==(a|0):0)){t=4;break}if(l=l+1|0,l>>>0>=7){l=7,t=4;break}}return(t|0)==4?(S=h,l|0):0}function x2(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0;if(N=S,S=S+16|0,F=N,j=N+8|0,D=F,A[D>>2]=t,A[D+4>>2]=r,!o)return j=a,A[j>>2]=t,A[j+4>>2]=r,j=0,S=N,j|0;A[j>>2]=0;e:do if(ut(t,r)|0)t=9;else{if(f=(o|0)>0,f){l=0,D=t;do{if(t=Dt(D,r,4,j,F)|0,t|0)break e;if(r=F,D=A[r>>2]|0,r=A[r+4>>2]|0,l=l+1|0,ut(D,r)|0){t=9;break e}}while((l|0)<(o|0));if(v=a,A[v>>2]=D,A[v+4>>2]=r,v=o+-1|0,f){g=0,t=1;do{if(l=26800+(g<<2)|0,(g|0)==5)for(c=A[l>>2]|0,f=0,l=t;;){if(t=F,t=Dt(A[t>>2]|0,A[t+4>>2]|0,c,j,F)|0,t|0)break e;if((f|0)!=(v|0))if(p=F,h=A[p>>2]|0,p=A[p+4>>2]|0,t=a+(l<<3)|0,A[t>>2]=h,A[t+4>>2]=p,!(ut(h,p)|0))t=l+1|0;else{t=9;break e}else t=l;if(f=f+1|0,(f|0)>=(o|0))break;l=t}else for(c=F,p=A[l>>2]|0,h=0,l=t,f=A[c>>2]|0,c=A[c+4>>2]|0;;){if(t=Dt(f,c,p,j,F)|0,t|0)break e;if(c=F,f=A[c>>2]|0,c=A[c+4>>2]|0,t=a+(l<<3)|0,A[t>>2]=f,A[t+4>>2]=c,t=l+1|0,ut(f,c)|0){t=9;break e}if(h=h+1|0,(h|0)>=(o|0))break;l=t}g=g+1|0}while(g>>>0<6);t=F,c=D,l=A[t>>2]|0,f=r,t=A[t+4>>2]|0}else c=D,l=D,f=r,t=r}else c=a,A[c>>2]=t,A[c+4>>2]=r,c=t,l=t,f=r,t=r;t=(c|0)==(l|0)&(f|0)==(t|0)?0:9}while(!1);return j=t,S=N,j|0}function R2(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0;if(h=S,S=S+48|0,l=h+16|0,f=h+8|0,c=h,o=Qi(o)|0,o|0)return c=o,S=h,c|0;if(g=t,p=A[g+4>>2]|0,o=f,A[o>>2]=A[g>>2],A[o+4>>2]=p,Tf(f,l),o=ff(l,r,c)|0,!o){if(r=A[f>>2]|0,f=A[t+8>>2]|0,(f|0)>0){l=A[t+12>>2]|0,o=0;do r=(A[l+(o<<3)>>2]|0)+r|0,o=o+1|0;while((o|0)<(f|0))}o=c,l=A[o>>2]|0,o=A[o+4>>2]|0,f=((r|0)<0)<<31>>31,(o|0)<(f|0)|(o|0)==(f|0)&l>>>0<r>>>0?(o=c,A[o>>2]=r,A[o+4>>2]=f,o=f):r=l,p=Ce(r|0,o|0,12,0)|0,g=T()|0,o=c,A[o>>2]=p,A[o+4>>2]=g,o=a,A[o>>2]=p,A[o+4>>2]=g,o=0}return g=o,S=h,g|0}function nf(t,r,o,a,l,f,c){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,f=f|0,c=c|0;var h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0,Ne=0,Ve=0,xe=0,Ee=0,ue=0,Le=0,st=0,Qe=0,at=0,Vt=0,Vf=0;if(st=S,S=S+64|0,xe=st+48|0,Ee=st+32|0,ue=st+24|0,ce=st+8|0,be=st,p=A[t>>2]|0,(p|0)<=0)return Le=0,S=st,Le|0;for(we=t+4|0,Oe=xe+8|0,Ne=Ee+8|0,Ve=ce+8|0,h=0,W=0;;){g=A[we>>2]|0,Y=g+(W<<4)|0,A[xe>>2]=A[Y>>2],A[xe+4>>2]=A[Y+4>>2],A[xe+8>>2]=A[Y+8>>2],A[xe+12>>2]=A[Y+12>>2],(W|0)==(p+-1|0)?(A[Ee>>2]=A[g>>2],A[Ee+4>>2]=A[g+4>>2],A[Ee+8>>2]=A[g+8>>2],A[Ee+12>>2]=A[g+12>>2]):(Y=g+(W+1<<4)|0,A[Ee>>2]=A[Y>>2],A[Ee+4>>2]=A[Y+4>>2],A[Ee+8>>2]=A[Y+8>>2],A[Ee+12>>2]=A[Y+12>>2]),p=U2(xe,Ee,a,ue)|0;e:do if(p)g=0,h=p;else if(p=ue,g=A[p>>2]|0,p=A[p+4>>2]|0,(p|0)>0|(p|0)==0&g>>>0>0){ee=0,Y=0;t:for(;;){if(at=1/(+(g>>>0)+4294967296*+(p|0)),Vf=+P[xe>>3],p=Tt(g|0,p|0,ee|0,Y|0)|0,Vt=+(p>>>0)+4294967296*+(T()|0),Qe=+(ee>>>0)+4294967296*+(Y|0),P[ce>>3]=at*(Vf*Vt)+at*(+P[Ee>>3]*Qe),P[Ve>>3]=at*(+P[Oe>>3]*Vt)+at*(+P[Ne>>3]*Qe),p=Na(ce,a,be)|0,p|0){h=p;break}K=be,G=A[K>>2]|0,K=A[K+4>>2]|0,F=Fn(G|0,K|0,r|0,o|0)|0,v=T()|0,p=c+(F<<3)|0,D=p,g=A[D>>2]|0,D=A[D+4>>2]|0;A:do if((g|0)==0&(D|0)==0)H=p,Le=16;else for(j=0,N=0;;){if((j|0)>(o|0)|(j|0)==(o|0)&N>>>0>r>>>0){h=1;break t}if((g|0)==(G|0)&(D|0)==(K|0))break A;if(p=Ce(F|0,v|0,1,0)|0,F=Nn(p|0,T()|0,r|0,o|0)|0,v=T()|0,N=Ce(N|0,j|0,1,0)|0,j=T()|0,p=c+(F<<3)|0,D=p,g=A[D>>2]|0,D=A[D+4>>2]|0,(g|0)==0&(D|0)==0){H=p,Le=16;break}}while(!1);if((Le|0)==16&&(Le=0,!((G|0)==0&(K|0)==0))&&(N=H,A[N>>2]=G,A[N+4>>2]=K,N=f+(A[l>>2]<<3)|0,A[N>>2]=G,A[N+4>>2]=K,N=l,N=Ce(A[N>>2]|0,A[N+4>>2]|0,1,0)|0,G=T()|0,K=l,A[K>>2]=N,A[K+4>>2]=G),ee=Ce(ee|0,Y|0,1,0)|0,Y=T()|0,p=ue,g=A[p>>2]|0,p=A[p+4>>2]|0,!((p|0)>(Y|0)|(p|0)==(Y|0)&g>>>0>ee>>>0)){g=1;break e}}g=0}else g=1;while(!1);if(W=W+1|0,!g){Le=21;break}if(p=A[t>>2]|0,(W|0)>=(p|0)){h=0,Le=21;break}}return(Le|0)==21?(S=st,h|0):0}function T2(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0,Ne=0,Ve=0,xe=0,Ee=0,ue=0,Le=0,st=0,Qe=0,at=0,Vt=0;if(Vt=S,S=S+112|0,Le=Vt+80|0,p=Vt+72|0,st=Vt,Qe=Vt+56|0,l=Qi(o)|0,l|0)return at=l,S=Vt,at|0;if(g=t+8|0,at=RA((A[g>>2]<<5)+32|0)|0,!at)return at=13,S=Vt,at|0;if(Va(t,at),l=Qi(o)|0,!l){if(Ee=t,ue=A[Ee+4>>2]|0,l=p,A[l>>2]=A[Ee>>2],A[l+4>>2]=ue,Tf(p,Le),l=ff(Le,r,st)|0,l)Ee=0,ue=0;else{if(l=A[p>>2]|0,f=A[g>>2]|0,(f|0)>0){c=A[t+12>>2]|0,o=0;do l=(A[c+(o<<3)>>2]|0)+l|0,o=o+1|0;while((o|0)!=(f|0));o=l}else o=l;l=st,f=A[l>>2]|0,l=A[l+4>>2]|0,c=((o|0)<0)<<31>>31,(l|0)<(c|0)|(l|0)==(c|0)&f>>>0<o>>>0?(l=st,A[l>>2]=o,A[l+4>>2]=c,l=c):o=f,Ee=Ce(o|0,l|0,12,0)|0,ue=T()|0,l=st,A[l>>2]=Ee,A[l+4>>2]=ue,l=0}if(!l){if(o=cA(Ee,8)|0,!o)return Se(at),at=13,S=Vt,at|0;if(h=cA(Ee,8)|0,!h)return Se(at),Se(o),at=13,S=Vt,at|0;Ve=Le,A[Ve>>2]=0,A[Ve+4>>2]=0,Ve=t,xe=A[Ve+4>>2]|0,l=p,A[l>>2]=A[Ve>>2],A[l+4>>2]=xe,l=nf(p,Ee,ue,r,Le,o,h)|0;e:do if(l)Se(o),Se(h),Se(at);else{t:do if((A[g>>2]|0)>0){for(c=t+12|0,f=0;l=nf((A[c>>2]|0)+(f<<3)|0,Ee,ue,r,Le,o,h)|0,f=f+1|0,!(l|0);)if((f|0)>=(A[g>>2]|0))break t;Se(o),Se(h),Se(at);break e}while(!1);(ue|0)>0|(ue|0)==0&Ee>>>0>0&&Kr(h|0,0,Ee<<3|0)|0,xe=Le,Ve=A[xe+4>>2]|0;t:do if((Ve|0)>0|(Ve|0)==0&(A[xe>>2]|0)>>>0>0){we=o,Oe=h,Ne=o,Ve=h,xe=o,l=o,H=o,ce=h,be=h,o=h;A:for(;;){for(K=0,ee=0,Y=0,W=0,f=0,c=0;;){h=st,p=h+56|0;do A[h>>2]=0,h=h+4|0;while((h|0)<(p|0));if(r=we+(K<<3)|0,g=A[r>>2]|0,r=A[r+4>>2]|0,rf(g,r,1,st,0)|0){h=st,p=h+56|0;do A[h>>2]=0,h=h+4|0;while((h|0)<(p|0));h=cA(7,4)|0,h|0&&(YA(g,r,1,st,h,7,0,0)|0,Se(h))}for(G=0;;){N=st+(G<<3)|0,j=A[N>>2]|0,N=A[N+4>>2]|0;r:do if((j|0)==0&(N|0)==0)h=f,p=c;else{if(v=Fn(j|0,N|0,Ee|0,ue|0)|0,g=T()|0,h=a+(v<<3)|0,r=h,p=A[r>>2]|0,r=A[r+4>>2]|0,!((p|0)==0&(r|0)==0)){D=0,F=0;do{if((D|0)>(ue|0)|(D|0)==(ue|0)&F>>>0>Ee>>>0)break A;if((p|0)==(j|0)&(r|0)==(N|0)){h=f,p=c;break r}h=Ce(v|0,g|0,1,0)|0,v=Nn(h|0,T()|0,Ee|0,ue|0)|0,g=T()|0,F=Ce(F|0,D|0,1,0)|0,D=T()|0,h=a+(v<<3)|0,r=h,p=A[r>>2]|0,r=A[r+4>>2]|0}while(!((p|0)==0&(r|0)==0))}if((j|0)==0&(N|0)==0){h=f,p=c;break}Jr(j,N,Qe)|0,za(t,at,Qe)|0&&(F=Ce(f|0,c|0,1,0)|0,c=T()|0,D=h,A[D>>2]=j,A[D+4>>2]=N,f=Oe+(f<<3)|0,A[f>>2]=j,A[f+4>>2]=N,f=F),h=f,p=c}while(!1);if(G=G+1|0,G>>>0>=7)break;f=h,c=p}if(K=Ce(K|0,ee|0,1,0)|0,ee=T()|0,Y=Ce(Y|0,W|0,1,0)|0,W=T()|0,c=Le,f=A[c>>2]|0,c=A[c+4>>2]|0,(W|0)<(c|0)|(W|0)==(c|0)&Y>>>0<f>>>0)f=h,c=p;else break}if((c|0)>0|(c|0)==0&f>>>0>0){f=0,c=0;do W=we+(f<<3)|0,A[W>>2]=0,A[W+4>>2]=0,f=Ce(f|0,c|0,1,0)|0,c=T()|0,W=Le,Y=A[W+4>>2]|0;while((c|0)<(Y|0)|((c|0)==(Y|0)?f>>>0<(A[W>>2]|0)>>>0:0))}if(W=Le,A[W>>2]=h,A[W+4>>2]=p,(p|0)>0|(p|0)==0&h>>>0>0)G=o,K=be,ee=xe,Y=ce,W=Oe,o=H,be=l,ce=Ne,H=G,l=K,xe=Ve,Ve=ee,Ne=Y,Oe=we,we=W;else break t}Se(Ne),Se(Ve),Se(at),l=1;break e}else l=h;while(!1);Se(at),Se(o),Se(l),l=0}while(!1);return at=l,S=Vt,at|0}}return Se(at),at=l,S=Vt,at|0}function O2(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0;if(v=S,S=S+176|0,p=v,(r|0)<1)return jf(o,0,0),g=0,S=v,g|0;for(h=t,h=se(A[h>>2]|0,A[h+4>>2]|0,52)|0,T()|0,jf(o,(r|0)>6?r:6,h&15),h=0;a=t+(h<<3)|0,a=Mn(A[a>>2]|0,A[a+4>>2]|0,p)|0,!(a|0);){if(a=A[p>>2]|0,(a|0)>0){c=0;do f=p+8+(c<<4)|0,c=c+1|0,a=p+8+(((c|0)%(a|0)|0)<<4)|0,l=s1(o,a,f)|0,l?Qf(o,l)|0:o1(o,f,a)|0,a=A[p>>2]|0;while((c|0)<(a|0))}if(h=h+1|0,(h|0)>=(r|0)){a=0,g=13;break}}return(g|0)==13?(S=v,a|0):(Nf(o),g=a,S=v,g|0)}function I2(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0;if(f=S,S=S+32|0,a=f,l=f+16|0,t=O2(t,r,l)|0,t|0)return o=t,S=f,o|0;if(A[o>>2]=0,A[o+4>>2]=0,A[o+8>>2]=0,t=Ff(l)|0,t|0)do{r=Bg(o)|0;do Mg(r,t)|0,c=t+16|0,A[a>>2]=A[c>>2],A[a+4>>2]=A[c+4>>2],A[a+8>>2]=A[c+8>>2],A[a+12>>2]=A[c+12>>2],Qf(l,t)|0,t=a1(l,a)|0;while((t|0)!=0);t=Ff(l)|0}while((t|0)!=0);return Nf(l),t=jg(o)|0,t?(Sf(o),c=t,S=f,c|0):(c=0,S=f,c|0)}function ht(t){return t=t|0,t>>>0>121?(t=0,t|0):(t=A[7696+(t*28|0)+16>>2]|0,t|0)}function $a(t){return t=t|0,(t|0)==4|(t|0)==117|0}function of(t){return t=t|0,A[11120+((A[t>>2]|0)*216|0)+((A[t+4>>2]|0)*72|0)+((A[t+8>>2]|0)*24|0)+(A[t+12>>2]<<3)>>2]|0}function B2(t){return t=t|0,A[11120+((A[t>>2]|0)*216|0)+((A[t+4>>2]|0)*72|0)+((A[t+8>>2]|0)*24|0)+(A[t+12>>2]<<3)+4>>2]|0}function M2(t,r){t=t|0,r=r|0,t=7696+(t*28|0)|0,A[r>>2]=A[t>>2],A[r+4>>2]=A[t+4>>2],A[r+8>>2]=A[t+8>>2],A[r+12>>2]=A[t+12>>2]}function j2(t,r){t=t|0,r=r|0;var o=0,a=0;if(r>>>0>20)return r=-1,r|0;do if((A[11120+(r*216|0)>>2]|0)!=(t|0))if((A[11120+(r*216|0)+8>>2]|0)!=(t|0))if((A[11120+(r*216|0)+16>>2]|0)!=(t|0))if((A[11120+(r*216|0)+24>>2]|0)!=(t|0))if((A[11120+(r*216|0)+32>>2]|0)!=(t|0))if((A[11120+(r*216|0)+40>>2]|0)!=(t|0))if((A[11120+(r*216|0)+48>>2]|0)!=(t|0))if((A[11120+(r*216|0)+56>>2]|0)!=(t|0))if((A[11120+(r*216|0)+64>>2]|0)!=(t|0))if((A[11120+(r*216|0)+72>>2]|0)!=(t|0))if((A[11120+(r*216|0)+80>>2]|0)!=(t|0))if((A[11120+(r*216|0)+88>>2]|0)!=(t|0))if((A[11120+(r*216|0)+96>>2]|0)!=(t|0))if((A[11120+(r*216|0)+104>>2]|0)!=(t|0))if((A[11120+(r*216|0)+112>>2]|0)!=(t|0))if((A[11120+(r*216|0)+120>>2]|0)!=(t|0))if((A[11120+(r*216|0)+128>>2]|0)!=(t|0))if((A[11120+(r*216|0)+136>>2]|0)==(t|0))t=2,o=1,a=2;else{if((A[11120+(r*216|0)+144>>2]|0)==(t|0)){t=0,o=2,a=0;break}if((A[11120+(r*216|0)+152>>2]|0)==(t|0)){t=0,o=2,a=1;break}if((A[11120+(r*216|0)+160>>2]|0)==(t|0)){t=0,o=2,a=2;break}if((A[11120+(r*216|0)+168>>2]|0)==(t|0)){t=1,o=2,a=0;break}if((A[11120+(r*216|0)+176>>2]|0)==(t|0)){t=1,o=2,a=1;break}if((A[11120+(r*216|0)+184>>2]|0)==(t|0)){t=1,o=2,a=2;break}if((A[11120+(r*216|0)+192>>2]|0)==(t|0)){t=2,o=2,a=0;break}if((A[11120+(r*216|0)+200>>2]|0)==(t|0)){t=2,o=2,a=1;break}if((A[11120+(r*216|0)+208>>2]|0)==(t|0)){t=2,o=2,a=2;break}else t=-1;return t|0}else t=2,o=1,a=1;else t=2,o=1,a=0;else t=1,o=1,a=2;else t=1,o=1,a=1;else t=1,o=1,a=0;else t=0,o=1,a=2;else t=0,o=1,a=1;else t=0,o=1,a=0;else t=2,o=0,a=2;else t=2,o=0,a=1;else t=2,o=0,a=0;else t=1,o=0,a=2;else t=1,o=0,a=1;else t=1,o=0,a=0;else t=0,o=0,a=2;else t=0,o=0,a=1;else t=0,o=0,a=0;while(!1);return r=A[11120+(r*216|0)+(o*72|0)+(t*24|0)+(a<<3)+4>>2]|0,r|0}function sf(t,r){return t=t|0,r=r|0,(A[7696+(t*28|0)+20>>2]|0)==(r|0)?(r=1,r|0):(r=(A[7696+(t*28|0)+24>>2]|0)==(r|0),r|0)}function Pa(t,r){return t=t|0,r=r|0,A[848+(t*28|0)+(r<<2)>>2]|0}function ka(t,r){return t=t|0,r=r|0,(A[848+(t*28|0)>>2]|0)==(r|0)?(r=0,r|0):(A[848+(t*28|0)+4>>2]|0)==(r|0)?(r=1,r|0):(A[848+(t*28|0)+8>>2]|0)==(r|0)?(r=2,r|0):(A[848+(t*28|0)+12>>2]|0)==(r|0)?(r=3,r|0):(A[848+(t*28|0)+16>>2]|0)==(r|0)?(r=4,r|0):(A[848+(t*28|0)+20>>2]|0)==(r|0)?(r=5,r|0):((A[848+(t*28|0)+24>>2]|0)==(r|0)?6:7)|0}function N2(){return 122}function F2(t){t=t|0;var r=0,o=0,a=0;r=0;do he(r|0,0,45)|0,a=T()|0|134225919,o=t+(r<<3)|0,A[o>>2]=-1,A[o+4>>2]=a,r=r+1|0;while((r|0)!=122);return 0}function Q2(t){t=t|0;var r=0,o=0,a=0;return a=+P[t+16>>3],o=+P[t+24>>3],r=a-o,+(a<o?r+6.283185307179586:r)}function af(t){return t=t|0,+P[t+16>>3]<+P[t+24>>3]|0}function L2(t){return t=t|0,+(+P[t>>3]-+P[t+8>>3])}function Ca(t,r){t=t|0,r=r|0;var o=0,a=0,l=0;return o=+P[r>>3],!(o>=+P[t+8>>3])||!(o<=+P[t>>3])?(r=0,r|0):(a=+P[t+16>>3],o=+P[t+24>>3],l=+P[r+8>>3],r=l>=o,t=l<=a&1,a<o?r&&(t=1):r||(t=0),r=(t|0)!=0,r|0)}function Sa(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0;return+P[t>>3]<+P[r+8>>3]||+P[t+8>>3]>+P[r>>3]?(a=0,a|0):(f=+P[t+16>>3],o=t+24|0,v=+P[o>>3],c=f<v,a=r+16|0,g=+P[a>>3],l=r+24|0,p=+P[l>>3],h=g<p,r=v-g<p-f,t=c?h|r?1:2:0,r=h?c?1:r?2:1:0,f=+AA(f,t),f<+AA(+P[l>>3],r)||(v=+AA(+P[o>>3],t),v>+AA(+P[a>>3],r))?(h=0,h|0):(h=1,h|0))}function q2(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0;f=+P[t+16>>3],p=+P[t+24>>3],t=f<p,h=+P[r+16>>3],c=+P[r+24>>3],l=h<c,r=p-h<c-f,A[o>>2]=t?l|r?1:2:0,A[a>>2]=l?t?1:r?2:1:0}function lf(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0;return+P[t>>3]<+P[r>>3]||+P[t+8>>3]>+P[r+8>>3]?(a=0,a|0):(a=t+16|0,p=+P[a>>3],f=+P[t+24>>3],c=p<f,o=r+16|0,v=+P[o>>3],l=r+24|0,g=+P[l>>3],h=v<g,r=f-v<g-p,t=c?h|r?1:2:0,r=h?c?1:r?2:1:0,f=+AA(f,t),f<=+AA(+P[l>>3],r)?(v=+AA(+P[a>>3],t),h=v>=+AA(+P[o>>3],r),h|0):(h=0,h|0))}function uf(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0;l=S,S=S+176|0,a=l,A[a>>2]=4,h=+P[r>>3],P[a+8>>3]=h,f=+P[r+16>>3],P[a+16>>3]=f,P[a+24>>3]=h,h=+P[r+24>>3],P[a+32>>3]=h,c=+P[r+8>>3],P[a+40>>3]=c,P[a+48>>3]=h,P[a+56>>3]=c,P[a+64>>3]=f,r=a+72|0,o=r+96|0;do A[r>>2]=0,r=r+4|0;while((r|0)<(o|0));Qn(t|0,a|0,168)|0,S=l}function ff(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0;N=S,S=S+288|0,v=N+264|0,D=N+96|0,g=N,h=g,p=h+96|0;do A[h>>2]=0,h=h+4|0;while((h|0)<(p|0));return r=Qa(r,g)|0,r|0?(j=r,S=N,j|0):(p=g,g=A[p>>2]|0,p=A[p+4>>2]|0,Jr(g,p,v)|0,Mn(g,p,D)|0,c=+Ni(v,D+8|0),P[v>>3]=+P[t>>3],p=v+8|0,P[p>>3]=+P[t+16>>3],P[D>>3]=+P[t+8>>3],g=D+8|0,P[g>>3]=+P[t+24>>3],l=+Ni(v,D),K=+P[p>>3]-+P[g>>3],f=+rt(+K),G=+P[v>>3]-+P[D>>3],a=+rt(+G),!(K==0|G==0)&&(K=+Gf(+f,+a),K=+On(+(l*l/+es(+(K/+es(+f,+a)),3)/(c*(c*2.59807621135)*.8))),P[kt>>3]=K,F=~~K>>>0,j=+rt(K)>=1?K>0?~~+ba(+Ct(K/4294967296),4294967295)>>>0:~~+On((K-+(~~K>>>0))/4294967296)>>>0:0,(A[kt+4>>2]&2146435072|0)!=2146435072)?(D=(F|0)==0&(j|0)==0,r=o,A[r>>2]=D?1:F,A[r+4>>2]=D?0:j,r=0):r=1,j=r,S=N,j|0)}function U2(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,v=0;g=S,S=S+288|0,c=g+264|0,h=g+96|0,p=g,l=p,f=l+96|0;do A[l>>2]=0,l=l+4|0;while((l|0)<(f|0));return o=Qa(o,p)|0,o|0?(a=o,S=g,a|0):(o=p,l=A[o>>2]|0,o=A[o+4>>2]|0,Jr(l,o,c)|0,Mn(l,o,h)|0,v=+Ni(c,h+8|0),v=+On(+(+Ni(t,r)/(v*2))),P[kt>>3]=v,o=~~v>>>0,l=+rt(v)>=1?v>0?~~+ba(+Ct(v/4294967296),4294967295)>>>0:~~+On((v-+(~~v>>>0))/4294967296)>>>0:0,(A[kt+4>>2]&2146435072|0)==2146435072?(a=1,S=g,a|0):(p=(o|0)==0&(l|0)==0,A[a>>2]=p?1:o,A[a+4>>2]=p?0:l,a=0,S=g,a|0))}function G2(t,r){t=t|0,r=+r;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0;f=t+16|0,c=+P[f>>3],o=t+24|0,l=+P[o>>3],a=c-l,a=c<l?a+6.283185307179586:a,g=+P[t>>3],h=t+8|0,p=+P[h>>3],v=g-p,a=(a*r-a)*.5,r=(v*r-v)*.5,g=g+r,P[t>>3]=g>1.5707963267948966?1.5707963267948966:g,r=p-r,P[h>>3]=r<-1.5707963267948966?-1.5707963267948966:r,r=c+a,r=r>3.141592653589793?r+-6.283185307179586:r,P[f>>3]=r<-3.141592653589793?r+6.283185307179586:r,r=l-a,r=r>3.141592653589793?r+-6.283185307179586:r,P[o>>3]=r<-3.141592653589793?r+6.283185307179586:r}function H2(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0,A[t>>2]=r,A[t+4>>2]=o,A[t+8>>2]=a}function V2(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0;D=r+8|0,A[D>>2]=0,p=+P[t>>3],c=+rt(+p),g=+P[t+8>>3],h=+rt(+g)*1.1547005383792515,c=c+h*.5,o=~~c,t=~~h,c=c-+(o|0),h=h-+(t|0);do if(c<.5)if(c<.3333333333333333)if(A[r>>2]=o,h<(c+1)*.5){A[r+4>>2]=t;break}else{t=t+1|0,A[r+4>>2]=t;break}else if(F=1-c,t=(!(h<F)&1)+t|0,A[r+4>>2]=t,F<=h&h<c*2){o=o+1|0,A[r>>2]=o;break}else{A[r>>2]=o;break}else{if(!(c<.6666666666666666))if(o=o+1|0,A[r>>2]=o,h<c*.5){A[r+4>>2]=t;break}else{t=t+1|0,A[r+4>>2]=t;break}if(h<1-c){if(A[r+4>>2]=t,c*2+-1<h){A[r>>2]=o;break}}else t=t+1|0,A[r+4>>2]=t;o=o+1|0,A[r>>2]=o}while(!1);do if(p<0)if(t&1){v=(t+1|0)/2|0,v=Tt(o|0,((o|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0,o=~~(+(o|0)-((+(v>>>0)+4294967296*+(T()|0))*2+1)),A[r>>2]=o;break}else{v=(t|0)/2|0,v=Tt(o|0,((o|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0,o=~~(+(o|0)-(+(v>>>0)+4294967296*+(T()|0))*2),A[r>>2]=o;break}while(!1);v=r+4|0,g<0&&(o=o-((t<<1|1|0)/2|0)|0,A[r>>2]=o,t=0-t|0,A[v>>2]=t),a=t-o|0,(o|0)<0?(l=0-o|0,A[v>>2]=a,A[D>>2]=l,A[r>>2]=0,t=a,o=0):l=0,(t|0)<0&&(o=o-t|0,A[r>>2]=o,l=l-t|0,A[D>>2]=l,A[v>>2]=0,t=0),f=o-l|0,a=t-l|0,(l|0)<0&&(A[r>>2]=f,A[v>>2]=a,A[D>>2]=0,t=a,o=f,l=0),a=(t|0)<(o|0)?t:o,a=(l|0)<(a|0)?l:a,!((a|0)<=0)&&(A[r>>2]=o-a,A[v>>2]=t-a,A[D>>2]=l-a)}function Nt(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0;r=A[t>>2]|0,c=t+4|0,o=A[c>>2]|0,(r|0)<0&&(o=o-r|0,A[c>>2]=o,f=t+8|0,A[f>>2]=(A[f>>2]|0)-r,A[t>>2]=0,r=0),(o|0)<0?(r=r-o|0,A[t>>2]=r,f=t+8|0,l=(A[f>>2]|0)-o|0,A[f>>2]=l,A[c>>2]=0,o=0):(l=t+8|0,f=l,l=A[l>>2]|0),(l|0)<0&&(r=r-l|0,A[t>>2]=r,o=o-l|0,A[c>>2]=o,A[f>>2]=0,l=0),a=(o|0)<(r|0)?o:r,a=(l|0)<(a|0)?l:a,!((a|0)<=0)&&(A[t>>2]=r-a,A[c>>2]=o-a,A[f>>2]=l-a)}function Gr(t,r){t=t|0,r=r|0;var o=0,a=0;a=A[t+8>>2]|0,o=+((A[t+4>>2]|0)-a|0),P[r>>3]=+((A[t>>2]|0)-a|0)-o*.5,P[r+8>>3]=o*.8660254037844386}function Ht(t,r,o){t=t|0,r=r|0,o=o|0,A[o>>2]=(A[r>>2]|0)+(A[t>>2]|0),A[o+4>>2]=(A[r+4>>2]|0)+(A[t+4>>2]|0),A[o+8>>2]=(A[r+8>>2]|0)+(A[t+8>>2]|0)}function Da(t,r,o){t=t|0,r=r|0,o=o|0,A[o>>2]=(A[t>>2]|0)-(A[r>>2]|0),A[o+4>>2]=(A[t+4>>2]|0)-(A[r+4>>2]|0),A[o+8>>2]=(A[t+8>>2]|0)-(A[r+8>>2]|0)}function cf(t,r){t=t|0,r=r|0;var o=0,a=0;o=xA(A[t>>2]|0,r)|0,A[t>>2]=o,o=t+4|0,a=xA(A[o>>2]|0,r)|0,A[o>>2]=a,t=t+8|0,r=xA(A[t>>2]|0,r)|0,A[t>>2]=r}function Jo(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;c=A[t>>2]|0,h=(c|0)<0,a=(A[t+4>>2]|0)-(h?c:0)|0,f=(a|0)<0,l=(f?0-a|0:0)+((A[t+8>>2]|0)-(h?c:0))|0,o=(l|0)<0,t=o?0:l,r=(f?0:a)-(o?l:0)|0,l=(h?0:c)-(f?a:0)-(o?l:0)|0,o=(r|0)<(l|0)?r:l,o=(t|0)<(o|0)?t:o,a=(o|0)>0,t=t-(a?o:0)|0,r=r-(a?o:0)|0;e:do switch(l-(a?o:0)|0){case 0:switch(r|0){case 0:return h=(t|0)==0?0:(t|0)==1?1:7,h|0;case 1:return h=(t|0)==0?2:(t|0)==1?3:7,h|0;default:break e}case 1:switch(r|0){case 0:return h=(t|0)==0?4:(t|0)==1?5:7,h|0;case 1:{if(!t)t=6;else break e;return t|0}default:break e}default:}while(!1);return h=7,h|0}function z2(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0;if(p=t+8|0,c=A[p>>2]|0,h=(A[t>>2]|0)-c|0,g=t+4|0,c=(A[g>>2]|0)-c|0,h>>>0>715827881|c>>>0>715827881){if(a=(h|0)>0,l=2147483647-h|0,f=-2147483648-h|0,(a?(l|0)<(h|0):(f|0)>(h|0))||(o=h<<1,a?(2147483647-o|0)<(h|0):(-2147483648-o|0)>(h|0))||((c|0)>0?(2147483647-c|0)<(c|0):(-2147483648-c|0)>(c|0))||(r=h*3|0,o=c<<1,(a?(l|0)<(o|0):(f|0)>(o|0))||((h|0)>-1?(r|-2147483648|0)>=(c|0):(r^-2147483648|0)<(c|0))))return g=1,g|0}else o=c<<1,r=h*3|0;return a=cr(+(r-c|0)*.14285714285714285)|0,A[t>>2]=a,l=cr(+(o+h|0)*.14285714285714285)|0,A[g>>2]=l,A[p>>2]=0,o=(l|0)<(a|0),r=o?a:l,o=o?l:a,(o|0)<0&&(((o|0)==-2147483648||((r|0)>0?(2147483647-r|0)<(o|0):(-2147483648-r|0)>(o|0)))&&Te(27795,26892,354,26903),((r|0)>-1?(r|-2147483648|0)>=(o|0):(r^-2147483648|0)<(o|0))&&Te(27795,26892,354,26903)),r=l-a|0,(a|0)<0?(o=0-a|0,A[g>>2]=r,A[p>>2]=o,A[t>>2]=0,a=0):(r=l,o=0),(r|0)<0&&(a=a-r|0,A[t>>2]=a,o=o-r|0,A[p>>2]=o,A[g>>2]=0,r=0),f=a-o|0,l=r-o|0,(o|0)<0?(A[t>>2]=f,A[g>>2]=l,A[p>>2]=0,r=l,l=f,o=0):l=a,a=(r|0)<(l|0)?r:l,a=(o|0)<(a|0)?o:a,(a|0)<=0?(g=0,g|0):(A[t>>2]=l-a,A[g>>2]=r-a,A[p>>2]=o-a,g=0,g|0)}function J2(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(c=t+8|0,l=A[c>>2]|0,f=(A[t>>2]|0)-l|0,h=t+4|0,l=(A[h>>2]|0)-l|0,f>>>0>715827881|l>>>0>715827881){if(o=(f|0)>0,(o?(2147483647-f|0)<(f|0):(-2147483648-f|0)>(f|0))||(r=f<<1,a=(l|0)>0,a?(2147483647-l|0)<(l|0):(-2147483648-l|0)>(l|0)))return h=1,h|0;if(p=l<<1,(a?(2147483647-p|0)<(l|0):(-2147483648-p|0)>(l|0))||(o?(2147483647-r|0)<(l|0):(-2147483648-r|0)>(l|0))||(o=l*3|0,(l|0)>-1?(o|-2147483648|0)>=(f|0):(o^-2147483648|0)<(f|0)))return p=1,p|0}else o=l*3|0,r=f<<1;return a=cr(+(r+l|0)*.14285714285714285)|0,A[t>>2]=a,l=cr(+(o-f|0)*.14285714285714285)|0,A[h>>2]=l,A[c>>2]=0,o=(l|0)<(a|0),r=o?a:l,o=o?l:a,(o|0)<0&&(((o|0)==-2147483648||((r|0)>0?(2147483647-r|0)<(o|0):(-2147483648-r|0)>(o|0)))&&Te(27795,26892,402,26917),((r|0)>-1?(r|-2147483648|0)>=(o|0):(r^-2147483648|0)<(o|0))&&Te(27795,26892,402,26917)),r=l-a|0,(a|0)<0?(o=0-a|0,A[h>>2]=r,A[c>>2]=o,A[t>>2]=0,a=0):(r=l,o=0),(r|0)<0&&(a=a-r|0,A[t>>2]=a,o=o-r|0,A[c>>2]=o,A[h>>2]=0,r=0),f=a-o|0,l=r-o|0,(o|0)<0?(A[t>>2]=f,A[h>>2]=l,A[c>>2]=0,r=l,l=f,o=0):l=a,a=(r|0)<(l|0)?r:l,a=(o|0)<(a|0)?o:a,(a|0)<=0?(p=0,p|0):(A[t>>2]=l-a,A[h>>2]=r-a,A[c>>2]=o-a,p=0,p|0)}function K2(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;c=t+8|0,o=A[c>>2]|0,r=(A[t>>2]|0)-o|0,h=t+4|0,o=(A[h>>2]|0)-o|0,a=cr(+((r*3|0)-o|0)*.14285714285714285)|0,A[t>>2]=a,r=cr(+((o<<1)+r|0)*.14285714285714285)|0,A[h>>2]=r,A[c>>2]=0,o=r-a|0,(a|0)<0?(f=0-a|0,A[h>>2]=o,A[c>>2]=f,A[t>>2]=0,r=o,a=0,o=f):o=0,(r|0)<0&&(a=a-r|0,A[t>>2]=a,o=o-r|0,A[c>>2]=o,A[h>>2]=0,r=0),f=a-o|0,l=r-o|0,(o|0)<0?(A[t>>2]=f,A[h>>2]=l,A[c>>2]=0,r=l,l=f,o=0):l=a,a=(r|0)<(l|0)?r:l,a=(o|0)<(a|0)?o:a,!((a|0)<=0)&&(A[t>>2]=l-a,A[h>>2]=r-a,A[c>>2]=o-a)}function df(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;c=t+8|0,o=A[c>>2]|0,r=(A[t>>2]|0)-o|0,h=t+4|0,o=(A[h>>2]|0)-o|0,a=cr(+((r<<1)+o|0)*.14285714285714285)|0,A[t>>2]=a,r=cr(+((o*3|0)-r|0)*.14285714285714285)|0,A[h>>2]=r,A[c>>2]=0,o=r-a|0,(a|0)<0?(f=0-a|0,A[h>>2]=o,A[c>>2]=f,A[t>>2]=0,r=o,a=0,o=f):o=0,(r|0)<0&&(a=a-r|0,A[t>>2]=a,o=o-r|0,A[c>>2]=o,A[h>>2]=0,r=0),f=a-o|0,l=r-o|0,(o|0)<0?(A[t>>2]=f,A[h>>2]=l,A[c>>2]=0,r=l,l=f,o=0):l=a,a=(r|0)<(l|0)?r:l,a=(o|0)<(a|0)?o:a,!((a|0)<=0)&&(A[t>>2]=l-a,A[h>>2]=r-a,A[c>>2]=o-a)}function Ko(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;r=A[t>>2]|0,c=t+4|0,o=A[c>>2]|0,h=t+8|0,a=A[h>>2]|0,l=o+(r*3|0)|0,A[t>>2]=l,o=a+(o*3|0)|0,A[c>>2]=o,r=(a*3|0)+r|0,A[h>>2]=r,a=o-l|0,(l|0)<0?(r=r-l|0,A[c>>2]=a,A[h>>2]=r,A[t>>2]=0,o=a,a=0):a=l,(o|0)<0&&(a=a-o|0,A[t>>2]=a,r=r-o|0,A[h>>2]=r,A[c>>2]=0,o=0),f=a-r|0,l=o-r|0,(r|0)<0?(A[t>>2]=f,A[c>>2]=l,A[h>>2]=0,a=f,r=0):l=o,o=(l|0)<(a|0)?l:a,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=a-o,A[c>>2]=l-o,A[h>>2]=r-o)}function Hr(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;l=A[t>>2]|0,c=t+4|0,r=A[c>>2]|0,h=t+8|0,o=A[h>>2]|0,a=(r*3|0)+l|0,l=o+(l*3|0)|0,A[t>>2]=l,A[c>>2]=a,r=(o*3|0)+r|0,A[h>>2]=r,o=a-l|0,(l|0)<0?(r=r-l|0,A[c>>2]=o,A[h>>2]=r,A[t>>2]=0,l=0):o=a,(o|0)<0&&(l=l-o|0,A[t>>2]=l,r=r-o|0,A[h>>2]=r,A[c>>2]=0,o=0),f=l-r|0,a=o-r|0,(r|0)<0?(A[t>>2]=f,A[c>>2]=a,A[h>>2]=0,l=f,r=0):a=o,o=(a|0)<(l|0)?a:l,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=l-o,A[c>>2]=a-o,A[h>>2]=r-o)}function hf(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0;(r+-1|0)>>>0>=6||(l=(A[15440+(r*12|0)>>2]|0)+(A[t>>2]|0)|0,A[t>>2]=l,h=t+4|0,a=(A[15440+(r*12|0)+4>>2]|0)+(A[h>>2]|0)|0,A[h>>2]=a,c=t+8|0,r=(A[15440+(r*12|0)+8>>2]|0)+(A[c>>2]|0)|0,A[c>>2]=r,o=a-l|0,(l|0)<0?(r=r-l|0,A[h>>2]=o,A[c>>2]=r,A[t>>2]=0,a=0):(o=a,a=l),(o|0)<0&&(a=a-o|0,A[t>>2]=a,r=r-o|0,A[c>>2]=r,A[h>>2]=0,o=0),f=a-r|0,l=o-r|0,(r|0)<0?(A[t>>2]=f,A[h>>2]=l,A[c>>2]=0,a=f,r=0):l=o,o=(l|0)<(a|0)?l:a,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=a-o,A[h>>2]=l-o,A[c>>2]=r-o))}function pf(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;l=A[t>>2]|0,c=t+4|0,r=A[c>>2]|0,h=t+8|0,o=A[h>>2]|0,a=r+l|0,l=o+l|0,A[t>>2]=l,A[c>>2]=a,r=o+r|0,A[h>>2]=r,o=a-l|0,(l|0)<0?(r=r-l|0,A[c>>2]=o,A[h>>2]=r,A[t>>2]=0,a=0):(o=a,a=l),(o|0)<0&&(a=a-o|0,A[t>>2]=a,r=r-o|0,A[h>>2]=r,A[c>>2]=0,o=0),f=a-r|0,l=o-r|0,(r|0)<0?(A[t>>2]=f,A[c>>2]=l,A[h>>2]=0,a=f,r=0):l=o,o=(l|0)<(a|0)?l:a,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=a-o,A[c>>2]=l-o,A[h>>2]=r-o)}function Wo(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;r=A[t>>2]|0,c=t+4|0,a=A[c>>2]|0,h=t+8|0,o=A[h>>2]|0,l=a+r|0,A[t>>2]=l,a=o+a|0,A[c>>2]=a,r=o+r|0,A[h>>2]=r,o=a-l|0,(l|0)<0?(r=r-l|0,A[c>>2]=o,A[h>>2]=r,A[t>>2]=0,a=0):(o=a,a=l),(o|0)<0&&(a=a-o|0,A[t>>2]=a,r=r-o|0,A[h>>2]=r,A[c>>2]=0,o=0),f=a-r|0,l=o-r|0,(r|0)<0?(A[t>>2]=f,A[c>>2]=l,A[h>>2]=0,a=f,r=0):l=o,o=(l|0)<(a|0)?l:a,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=a-o,A[c>>2]=l-o,A[h>>2]=r-o)}function Vr(t){switch(t=t|0,t|0){case 1:{t=5;break}case 5:{t=4;break}case 4:{t=6;break}case 6:{t=2;break}case 2:{t=3;break}case 3:{t=1;break}default:}return t|0}function ur(t){switch(t=t|0,t|0){case 1:{t=3;break}case 3:{t=2;break}case 2:{t=6;break}case 6:{t=4;break}case 4:{t=5;break}case 5:{t=1;break}default:}return t|0}function mf(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;r=A[t>>2]|0,c=t+4|0,o=A[c>>2]|0,h=t+8|0,a=A[h>>2]|0,l=o+(r<<1)|0,A[t>>2]=l,o=a+(o<<1)|0,A[c>>2]=o,r=(a<<1)+r|0,A[h>>2]=r,a=o-l|0,(l|0)<0?(r=r-l|0,A[c>>2]=a,A[h>>2]=r,A[t>>2]=0,o=a,a=0):a=l,(o|0)<0&&(a=a-o|0,A[t>>2]=a,r=r-o|0,A[h>>2]=r,A[c>>2]=0,o=0),f=a-r|0,l=o-r|0,(r|0)<0?(A[t>>2]=f,A[c>>2]=l,A[h>>2]=0,a=f,r=0):l=o,o=(l|0)<(a|0)?l:a,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=a-o,A[c>>2]=l-o,A[h>>2]=r-o)}function gf(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;l=A[t>>2]|0,c=t+4|0,r=A[c>>2]|0,h=t+8|0,o=A[h>>2]|0,a=(r<<1)+l|0,l=o+(l<<1)|0,A[t>>2]=l,A[c>>2]=a,r=(o<<1)+r|0,A[h>>2]=r,o=a-l|0,(l|0)<0?(r=r-l|0,A[c>>2]=o,A[h>>2]=r,A[t>>2]=0,l=0):o=a,(o|0)<0&&(l=l-o|0,A[t>>2]=l,r=r-o|0,A[h>>2]=r,A[c>>2]=0,o=0),f=l-r|0,a=o-r|0,(r|0)<0?(A[t>>2]=f,A[c>>2]=a,A[h>>2]=0,l=f,r=0):a=o,o=(a|0)<(l|0)?a:l,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=l-o,A[c>>2]=a-o,A[h>>2]=r-o)}function xa(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0;return c=(A[t>>2]|0)-(A[r>>2]|0)|0,h=(c|0)<0,a=(A[t+4>>2]|0)-(A[r+4>>2]|0)-(h?c:0)|0,f=(a|0)<0,l=(h?0-c|0:0)+(A[t+8>>2]|0)-(A[r+8>>2]|0)+(f?0-a|0:0)|0,t=(l|0)<0,r=t?0:l,o=(f?0:a)-(t?l:0)|0,l=(h?0:c)-(f?a:0)-(t?l:0)|0,t=(o|0)<(l|0)?o:l,t=(r|0)<(t|0)?r:t,a=(t|0)>0,r=r-(a?t:0)|0,o=o-(a?t:0)|0,t=l-(a?t:0)|0,t=(t|0)>-1?t:0-t|0,o=(o|0)>-1?o:0-o|0,r=(r|0)>-1?r:0-r|0,r=(o|0)>(r|0)?o:r,((t|0)>(r|0)?t:r)|0}function W2(t,r){t=t|0,r=r|0;var o=0;o=A[t+8>>2]|0,A[r>>2]=(A[t>>2]|0)-o,A[r+4>>2]=(A[t+4>>2]|0)-o}function Y2(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0;return a=A[t>>2]|0,A[r>>2]=a,l=A[t+4>>2]|0,c=r+4|0,A[c>>2]=l,h=r+8|0,A[h>>2]=0,o=(l|0)<(a|0),t=o?a:l,o=o?l:a,(o|0)<0&&((o|0)==-2147483648||((t|0)>0?(2147483647-t|0)<(o|0):(-2147483648-t|0)>(o|0))||((t|0)>-1?(t|-2147483648|0)>=(o|0):(t^-2147483648|0)<(o|0)))?(r=1,r|0):(t=l-a|0,(a|0)<0?(o=0-a|0,A[c>>2]=t,A[h>>2]=o,A[r>>2]=0,a=0):(t=l,o=0),(t|0)<0&&(a=a-t|0,A[r>>2]=a,o=o-t|0,A[h>>2]=o,A[c>>2]=0,t=0),f=a-o|0,l=t-o|0,(o|0)<0?(A[r>>2]=f,A[c>>2]=l,A[h>>2]=0,t=l,l=f,o=0):l=a,a=(t|0)<(l|0)?t:l,a=(o|0)<(a|0)?o:a,(a|0)<=0?(r=0,r|0):(A[r>>2]=l-a,A[c>>2]=t-a,A[h>>2]=o-a,r=0,r|0))}function yf(t){t=t|0;var r=0,o=0,a=0,l=0;r=t+8|0,l=A[r>>2]|0,o=l-(A[t>>2]|0)|0,A[t>>2]=o,a=t+4|0,t=(A[a>>2]|0)-l|0,A[a>>2]=t,A[r>>2]=0-(t+o)}function X2(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;o=A[t>>2]|0,r=0-o|0,A[t>>2]=r,c=t+8|0,A[c>>2]=0,h=t+4|0,a=A[h>>2]|0,l=a+o|0,(o|0)>0?(A[h>>2]=l,A[c>>2]=o,A[t>>2]=0,r=0,a=l):o=0,(a|0)<0?(f=r-a|0,A[t>>2]=f,o=o-a|0,A[c>>2]=o,A[h>>2]=0,l=f-o|0,r=0-o|0,(o|0)<0?(A[t>>2]=l,A[h>>2]=r,A[c>>2]=0,a=r,o=0):(a=0,l=f)):l=r,r=(a|0)<(l|0)?a:l,r=(o|0)<(r|0)?o:r,!((r|0)<=0)&&(A[t>>2]=l-r,A[h>>2]=a-r,A[c>>2]=o-r)}function Z2(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,v=0,D=0;if(D=S,S=S+64|0,v=D,h=D+56|0,!(!0&(r&2013265920|0)==134217728&(!0&(a&2013265920|0)==134217728)))return l=5,S=D,l|0;if((t|0)==(o|0)&(r|0)==(a|0))return A[l>>2]=0,l=0,S=D,l|0;if(c=se(t|0,r|0,52)|0,T()|0,c=c&15,g=se(o|0,a|0,52)|0,T()|0,(c|0)!=(g&15|0))return l=12,S=D,l|0;if(f=c+-1|0,c>>>0>1){Ba(t,r,f,v)|0,Ba(o,a,f,h)|0,g=v,p=A[g>>2]|0,g=A[g+4>>2]|0;e:do if((p|0)==(A[h>>2]|0)&&(g|0)==(A[h+4>>2]|0)){c=(c^15)*3|0,f=se(t|0,r|0,c|0)|0,T()|0,f=f&7,c=se(o|0,a|0,c|0)|0,T()|0,c=c&7;do if((f|0)==0|(c|0)==0)A[l>>2]=1,f=0;else if((f|0)==7)f=5;else{if((f|0)==1|(c|0)==1&&ut(p,g)|0){f=5;break}if((A[15536+(f<<2)>>2]|0)!=(c|0)&&(A[15568+(f<<2)>>2]|0)!=(c|0))break e;A[l>>2]=1,f=0}while(!1);return l=f,S=D,l|0}while(!1)}f=v,c=f+56|0;do A[f>>2]=0,f=f+4|0;while((f|0)<(c|0));return tf(t,r,1,v)|0,r=v,!((A[r>>2]|0)==(o|0)&&(A[r+4>>2]|0)==(a|0))&&(r=v+8|0,!((A[r>>2]|0)==(o|0)&&(A[r+4>>2]|0)==(a|0)))&&(r=v+16|0,!((A[r>>2]|0)==(o|0)&&(A[r+4>>2]|0)==(a|0)))&&(r=v+24|0,!((A[r>>2]|0)==(o|0)&&(A[r+4>>2]|0)==(a|0)))&&(r=v+32|0,!((A[r>>2]|0)==(o|0)&&(A[r+4>>2]|0)==(a|0)))&&(r=v+40|0,!((A[r>>2]|0)==(o|0)&&(A[r+4>>2]|0)==(a|0)))?(f=v+48|0,f=((A[f>>2]|0)==(o|0)?(A[f+4>>2]|0)==(a|0):0)&1):f=1,A[l>>2]=f,l=0,S=D,l|0}function eg(t,r,o,a,l){return t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,o=Ea(t,r,o,a)|0,(o|0)==7?(l=11,l|0):(a=he(o|0,0,56)|0,r=r&-2130706433|(T()|0)|268435456,A[l>>2]=t|a,A[l+4>>2]=r,l=0,l|0)}function tg(t,r,o){return t=t|0,r=r|0,o=o|0,!0&(r&2013265920|0)==268435456?(A[o>>2]=t,A[o+4>>2]=r&-2130706433|134217728,o=0,o|0):(o=6,o|0)}function Ag(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;return l=S,S=S+16|0,a=l,A[a>>2]=0,!0&(r&2013265920|0)==268435456?(f=se(t|0,r|0,56)|0,T()|0,a=Dt(t,r&-2130706433|134217728,f&7,a,o)|0,S=l,a|0):(a=6,S=l,a|0)}function rg(t,r){t=t|0,r=r|0;var o=0;switch(o=se(t|0,r|0,56)|0,T()|0,o&7){case 0:case 7:return o=0,o|0;default:}return o=r&-2130706433|134217728,!(!0&(r&2013265920|0)==268435456)||!0&(r&117440512|0)==16777216&(ut(t,o)|0)!=0?(o=0,o|0):(o=Oa(t,o)|0,o|0)}function ng(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0;return l=S,S=S+16|0,a=l,!0&(r&2013265920|0)==268435456?(f=r&-2130706433|134217728,c=o,A[c>>2]=t,A[c+4>>2]=f,A[a>>2]=0,r=se(t|0,r|0,56)|0,T()|0,a=Dt(t,f,r&7,a,o+8|0)|0,S=l,a|0):(a=6,S=l,a|0)}function ig(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0;return l=(ut(t,r)|0)==0,r=r&-2130706433,a=o,A[a>>2]=l?t:0,A[a+4>>2]=l?r|285212672:0,a=o+8|0,A[a>>2]=t,A[a+4>>2]=r|301989888,a=o+16|0,A[a>>2]=t,A[a+4>>2]=r|318767104,a=o+24|0,A[a>>2]=t,A[a+4>>2]=r|335544320,a=o+32|0,A[a>>2]=t,A[a+4>>2]=r|352321536,o=o+40|0,A[o>>2]=t,A[o+4>>2]=r|369098752,0}function Yo(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0;return c=S,S=S+16|0,l=c,f=r&-2130706433|134217728,!0&(r&2013265920|0)==268435456?(a=se(t|0,r|0,56)|0,T()|0,a=A1(t,f,a&7)|0,(a|0)==-1?(A[o>>2]=0,f=6,S=c,f|0):(Bn(t,f,l)|0&&Te(27795,26932,282,26947),r=se(t|0,r|0,52)|0,T()|0,r=r&15,ut(t,f)|0?Ra(l,r,a,2,o):Ta(l,r,a,2,o),f=0,S=c,f|0)):(f=6,S=c,f|0)}function og(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0;a=S,S=S+16|0,l=a,sg(t,r,o,l),V2(l,o+4|0),S=a}function sg(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0;if(h=S,S=S+16|0,p=h,ag(t,o,p),f=+g2(+(1-+P[p>>3]*.5)),f<1e-16){A[a>>2]=0,A[a+4>>2]=0,A[a+8>>2]=0,A[a+12>>2]=0,S=h;return}if(p=A[o>>2]|0,l=+P[15920+(p*24|0)>>3],l=+ji(l-+ji(+Pg(15600+(p<<4)|0,t))),uA(r)|0?c=+ji(l+-.3334731722518321):c=l,l=+Ii(+f)*2.618033988749896,(r|0)>0){t=0;do l=l*2.6457513110645907,t=t+1|0;while((t|0)!=(r|0))}f=+Xe(+c)*l,P[a>>3]=f,c=+it(+c)*l,P[a+8>>3]=c,S=h}function ag(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;if(f=S,S=S+32|0,l=f,t1(t,l),A[r>>2]=0,P[o>>3]=5,a=+vt(16400,l),a<+P[o>>3]&&(A[r>>2]=0,P[o>>3]=a),a=+vt(16424,l),a<+P[o>>3]&&(A[r>>2]=1,P[o>>3]=a),a=+vt(16448,l),a<+P[o>>3]&&(A[r>>2]=2,P[o>>3]=a),a=+vt(16472,l),a<+P[o>>3]&&(A[r>>2]=3,P[o>>3]=a),a=+vt(16496,l),a<+P[o>>3]&&(A[r>>2]=4,P[o>>3]=a),a=+vt(16520,l),a<+P[o>>3]&&(A[r>>2]=5,P[o>>3]=a),a=+vt(16544,l),a<+P[o>>3]&&(A[r>>2]=6,P[o>>3]=a),a=+vt(16568,l),a<+P[o>>3]&&(A[r>>2]=7,P[o>>3]=a),a=+vt(16592,l),a<+P[o>>3]&&(A[r>>2]=8,P[o>>3]=a),a=+vt(16616,l),a<+P[o>>3]&&(A[r>>2]=9,P[o>>3]=a),a=+vt(16640,l),a<+P[o>>3]&&(A[r>>2]=10,P[o>>3]=a),a=+vt(16664,l),a<+P[o>>3]&&(A[r>>2]=11,P[o>>3]=a),a=+vt(16688,l),a<+P[o>>3]&&(A[r>>2]=12,P[o>>3]=a),a=+vt(16712,l),a<+P[o>>3]&&(A[r>>2]=13,P[o>>3]=a),a=+vt(16736,l),a<+P[o>>3]&&(A[r>>2]=14,P[o>>3]=a),a=+vt(16760,l),a<+P[o>>3]&&(A[r>>2]=15,P[o>>3]=a),a=+vt(16784,l),a<+P[o>>3]&&(A[r>>2]=16,P[o>>3]=a),a=+vt(16808,l),a<+P[o>>3]&&(A[r>>2]=17,P[o>>3]=a),a=+vt(16832,l),a<+P[o>>3]&&(A[r>>2]=18,P[o>>3]=a),a=+vt(16856,l),!(a<+P[o>>3])){S=f;return}A[r>>2]=19,P[o>>3]=a,S=f}function Bi(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0;if(f=+e1(t),f<1e-16){r=15600+(r<<4)|0,A[l>>2]=A[r>>2],A[l+4>>2]=A[r+4>>2],A[l+8>>2]=A[r+8>>2],A[l+12>>2]=A[r+12>>2];return}if(c=+lA(+ +P[t+8>>3],+ +P[t>>3]),(o|0)>0){t=0;do f=f*.37796447300922725,t=t+1|0;while((t|0)!=(o|0))}h=f*.3333333333333333,a?(o=(uA(o)|0)==0,f=+va(+((o?h:h*.37796447300922725)*.381966011250105))):(f=+va(+(f*.381966011250105)),uA(o)|0&&(c=+ji(c+.3334731722518321))),kg(15600+(r<<4)|0,+ji(+P[15920+(r*24|0)>>3]-c),f,l)}function lg(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0;a=S,S=S+16|0,l=a,Gr(t+4|0,l),Bi(l,A[t>>2]|0,r,0,o),S=a}function Ra(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0,Ne=0,Ve=0,xe=0,Ee=0,ue=0,Le=0,st=0,Qe=0;if(Le=S,S=S+272|0,f=Le+256|0,Y=Le+240|0,xe=Le,Ee=Le+224|0,ue=Le+208|0,W=Le+176|0,H=Le+160|0,ce=Le+192|0,be=Le+144|0,we=Le+128|0,Oe=Le+112|0,Ne=Le+96|0,Ve=Le+80|0,A[f>>2]=r,A[Y>>2]=A[t>>2],A[Y+4>>2]=A[t+4>>2],A[Y+8>>2]=A[t+8>>2],A[Y+12>>2]=A[t+12>>2],wf(Y,f,xe),A[l>>2]=0,Y=a+o+((a|0)==5&1)|0,(Y|0)<=(o|0)){S=Le;return}p=A[f>>2]|0,g=Ee+4|0,v=W+4|0,D=o+5|0,F=16880+(p<<2)|0,j=16960+(p<<2)|0,N=we+8|0,G=Oe+8|0,K=Ne+8|0,ee=ue+4|0,h=o;e:for(;;){c=xe+(((h|0)%5|0)<<4)|0,A[ue>>2]=A[c>>2],A[ue+4>>2]=A[c+4>>2],A[ue+8>>2]=A[c+8>>2],A[ue+12>>2]=A[c+12>>2];do;while((In(ue,p,0,1)|0)==2);if((h|0)>(o|0)&(uA(r)|0)!=0){if(A[W>>2]=A[ue>>2],A[W+4>>2]=A[ue+4>>2],A[W+8>>2]=A[ue+8>>2],A[W+12>>2]=A[ue+12>>2],Gr(g,H),a=A[W>>2]|0,f=A[17040+(a*80|0)+(A[Ee>>2]<<2)>>2]|0,A[W>>2]=A[18640+(a*80|0)+(f*20|0)>>2],c=A[18640+(a*80|0)+(f*20|0)+16>>2]|0,(c|0)>0){t=0;do pf(v),t=t+1|0;while((t|0)<(c|0))}switch(c=18640+(a*80|0)+(f*20|0)+4|0,A[ce>>2]=A[c>>2],A[ce+4>>2]=A[c+4>>2],A[ce+8>>2]=A[c+8>>2],cf(ce,(A[F>>2]|0)*3|0),Ht(v,ce,v),Nt(v),Gr(v,be),st=+(A[j>>2]|0),P[we>>3]=st*3,P[N>>3]=0,Qe=st*-1.5,P[Oe>>3]=Qe,P[G>>3]=st*2.598076211353316,P[Ne>>3]=Qe,P[K>>3]=st*-2.598076211353316,A[17040+((A[W>>2]|0)*80|0)+(A[ue>>2]<<2)>>2]|0){case 1:{t=Oe,a=we;break}case 3:{t=Ne,a=Oe;break}case 2:{t=we,a=Ne;break}default:{t=12;break e}}Bf(H,be,a,t,Ve),Bi(Ve,A[W>>2]|0,p,1,l+8+(A[l>>2]<<4)|0),A[l>>2]=(A[l>>2]|0)+1}if((h|0)<(D|0)&&(Gr(ee,W),Bi(W,A[ue>>2]|0,p,1,l+8+(A[l>>2]<<4)|0),A[l>>2]=(A[l>>2]|0)+1),A[Ee>>2]=A[ue>>2],A[Ee+4>>2]=A[ue+4>>2],A[Ee+8>>2]=A[ue+8>>2],A[Ee+12>>2]=A[ue+12>>2],h=h+1|0,(h|0)>=(Y|0)){t=3;break}}if((t|0)==3){S=Le;return}else(t|0)==12&&Te(26970,27017,572,27027)}function wf(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0;p=S,S=S+128|0,a=p+64|0,l=p,f=a,c=20240,h=f+60|0;do A[f>>2]=A[c>>2],f=f+4|0,c=c+4|0;while((f|0)<(h|0));f=l,c=20304,h=f+60|0;do A[f>>2]=A[c>>2],f=f+4|0,c=c+4|0;while((f|0)<(h|0));h=(uA(A[r>>2]|0)|0)==0,a=h?a:l,l=t+4|0,mf(l),gf(l),uA(A[r>>2]|0)|0&&(Hr(l),A[r>>2]=(A[r>>2]|0)+1),A[o>>2]=A[t>>2],r=o+4|0,Ht(l,a,r),Nt(r),A[o+16>>2]=A[t>>2],r=o+20|0,Ht(l,a+12|0,r),Nt(r),A[o+32>>2]=A[t>>2],r=o+36|0,Ht(l,a+24|0,r),Nt(r),A[o+48>>2]=A[t>>2],r=o+52|0,Ht(l,a+36|0,r),Nt(r),A[o+64>>2]=A[t>>2],o=o+68|0,Ht(l,a+48|0,o),Nt(o),S=p}function In(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0;if(N=S,S=S+32|0,F=N+12|0,h=N,j=t+4|0,D=A[16960+(r<<2)>>2]|0,v=(a|0)!=0,D=v?D*3|0:D,l=A[j>>2]|0,g=t+8|0,c=A[g>>2]|0,v){if(f=t+12|0,a=A[f>>2]|0,l=c+l+a|0,(l|0)==(D|0))return j=1,S=N,j|0;p=f}else p=t+12|0,a=A[p>>2]|0,l=c+l+a|0;if((l|0)<=(D|0))return j=0,S=N,j|0;do if((a|0)>0){if(a=A[t>>2]|0,(c|0)>0){f=18640+(a*80|0)+60|0,a=t;break}a=18640+(a*80|0)+40|0,o?(H2(F,D,0,0),Da(j,F,h),Wo(h),Ht(h,F,j),f=a,a=t):(f=a,a=t)}else f=18640+((A[t>>2]|0)*80|0)+20|0,a=t;while(!1);if(A[a>>2]=A[f>>2],l=f+16|0,(A[l>>2]|0)>0){a=0;do pf(j),a=a+1|0;while((a|0)<(A[l>>2]|0))}return t=f+4|0,A[F>>2]=A[t>>2],A[F+4>>2]=A[t+4>>2],A[F+8>>2]=A[t+8>>2],r=A[16880+(r<<2)>>2]|0,cf(F,v?r*3|0:r),Ht(j,F,j),Nt(j),v?a=((A[g>>2]|0)+(A[j>>2]|0)+(A[p>>2]|0)|0)==(D|0)?1:2:a=2,j=a,S=N,j|0}function ug(t,r){t=t|0,r=r|0;var o=0;do o=In(t,r,0,1)|0;while((o|0)==2);return o|0}function Ta(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0,Ne=0,Ve=0,xe=0;if(Ne=S,S=S+240|0,f=Ne+224|0,ce=Ne+208|0,be=Ne,we=Ne+192|0,Oe=Ne+176|0,K=Ne+160|0,ee=Ne+144|0,Y=Ne+128|0,W=Ne+112|0,H=Ne+96|0,A[f>>2]=r,A[ce>>2]=A[t>>2],A[ce+4>>2]=A[t+4>>2],A[ce+8>>2]=A[t+8>>2],A[ce+12>>2]=A[t+12>>2],_f(ce,f,be),A[l>>2]=0,G=a+o+((a|0)==6&1)|0,(G|0)<=(o|0)){S=Ne;return}p=A[f>>2]|0,g=o+6|0,v=16960+(p<<2)|0,D=ee+8|0,F=Y+8|0,j=W+8|0,N=we+4|0,c=0,h=o,a=-1;e:for(;;){if(f=(h|0)%6|0,t=be+(f<<4)|0,A[we>>2]=A[t>>2],A[we+4>>2]=A[t+4>>2],A[we+8>>2]=A[t+8>>2],A[we+12>>2]=A[t+12>>2],t=c,c=In(we,p,0,1)|0,(h|0)>(o|0)&(uA(r)|0)!=0&&(t|0)!=1&&(A[we>>2]|0)!=(a|0)){switch(Gr(be+(((f+5|0)%6|0)<<4)+4|0,Oe),Gr(be+(f<<4)+4|0,K),Ve=+(A[v>>2]|0),P[ee>>3]=Ve*3,P[D>>3]=0,xe=Ve*-1.5,P[Y>>3]=xe,P[F>>3]=Ve*2.598076211353316,P[W>>3]=xe,P[j>>3]=Ve*-2.598076211353316,f=A[ce>>2]|0,A[17040+(f*80|0)+(((a|0)==(f|0)?A[we>>2]|0:a)<<2)>>2]|0){case 1:{t=Y,a=ee;break}case 3:{t=W,a=Y;break}case 2:{t=ee,a=W;break}default:{t=8;break e}}Bf(Oe,K,a,t,H),!(Mf(Oe,H)|0)&&!(Mf(K,H)|0)&&(Bi(H,A[ce>>2]|0,p,1,l+8+(A[l>>2]<<4)|0),A[l>>2]=(A[l>>2]|0)+1)}if((h|0)<(g|0)&&(Gr(N,Oe),Bi(Oe,A[we>>2]|0,p,1,l+8+(A[l>>2]<<4)|0),A[l>>2]=(A[l>>2]|0)+1),h=h+1|0,(h|0)>=(G|0)){t=3;break}else a=A[we>>2]|0}if((t|0)==3){S=Ne;return}else(t|0)==8&&Te(27054,27017,737,27099)}function _f(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0;p=S,S=S+160|0,a=p+80|0,l=p,f=a,c=20368,h=f+72|0;do A[f>>2]=A[c>>2],f=f+4|0,c=c+4|0;while((f|0)<(h|0));f=l,c=20448,h=f+72|0;do A[f>>2]=A[c>>2],f=f+4|0,c=c+4|0;while((f|0)<(h|0));h=(uA(A[r>>2]|0)|0)==0,a=h?a:l,l=t+4|0,mf(l),gf(l),uA(A[r>>2]|0)|0&&(Hr(l),A[r>>2]=(A[r>>2]|0)+1),A[o>>2]=A[t>>2],r=o+4|0,Ht(l,a,r),Nt(r),A[o+16>>2]=A[t>>2],r=o+20|0,Ht(l,a+12|0,r),Nt(r),A[o+32>>2]=A[t>>2],r=o+36|0,Ht(l,a+24|0,r),Nt(r),A[o+48>>2]=A[t>>2],r=o+52|0,Ht(l,a+36|0,r),Nt(r),A[o+64>>2]=A[t>>2],r=o+68|0,Ht(l,a+48|0,r),Nt(r),A[o+80>>2]=A[t>>2],o=o+84|0,Ht(l,a+60|0,o),Nt(o),S=p}function fg(t,r){return t=t|0,r=r|0,r=se(t|0,r|0,52)|0,T()|0,r&15|0}function vf(t,r){return t=t|0,r=r|0,r=se(t|0,r|0,45)|0,T()|0,r&127|0}function Oa(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0;return!(!0&(r&-16777216|0)==134217728)||(a=se(t|0,r|0,52)|0,T()|0,a=a&15,o=se(t|0,r|0,45)|0,T()|0,o=o&127,o>>>0>121)?(t=0,t|0):(c=(a^15)*3|0,l=se(t|0,r|0,c|0)|0,c=he(l|0,T()|0,c|0)|0,l=T()|0,f=Tt(-1227133514,-1171,c|0,l|0)|0,!((c&613566756&f|0)==0&(l&4681&(T()|0)|0)==0)||(c=(a*3|0)+19|0,f=he(~t|0,~r|0,c|0)|0,c=se(f|0,T()|0,c|0)|0,!((a|0)==15|(c|0)==0&(T()|0)==0))?(c=0,c|0):!(oe[20528+o>>0]|0)||(r=r&8191,(t|0)==0&(r|0)==0)?(c=1,c|0):(c=Uf(t|0,r|0,0)|0,T()|0,((63-c|0)%3|0|0)!=0|0))}function Ia(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0;if(l=he(r|0,0,52)|0,f=T()|0,o=he(o|0,0,45)|0,o=f|(T()|0)|134225919,(r|0)<1){f=-1,a=o,r=t,A[r>>2]=f,t=t+4|0,A[t>>2]=a;return}for(f=1,l=-1;c=(15-f|0)*3|0,h=he(7,0,c|0)|0,o=o&~(T()|0),c=he(a|0,0,c|0)|0,l=l&~h|c,o=o|(T()|0),(f|0)!=(r|0);)f=f+1|0;h=t,c=h,A[c>>2]=l,h=h+4|0,A[h>>2]=o}function Ba(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0;if(f=se(t|0,r|0,52)|0,T()|0,f=f&15,o>>>0>15)return a=4,a|0;if((f|0)<(o|0))return a=12,a|0;if((f|0)==(o|0))return A[a>>2]=t,A[a+4>>2]=r,a=0,a|0;if(l=he(o|0,0,52)|0,l=l|t,t=T()|0|r&-15728641,(f|0)>(o|0))do r=he(7,0,(14-o|0)*3|0)|0,o=o+1|0,l=r|l,t=T()|0|t;while((o|0)<(f|0));return A[a>>2]=l,A[a+4>>2]=t,a=0,a|0}function Mi(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0;if(f=se(t|0,r|0,52)|0,T()|0,f=f&15,!((o|0)<16&(f|0)<=(o|0)))return a=4,a|0;l=o-f|0,o=se(t|0,r|0,45)|0,T()|0;e:do if(!(ht(o&127)|0))o=fr(7,0,l,((l|0)<0)<<31>>31)|0,l=T()|0;else{t:do if(f|0){for(o=1;c=he(7,0,(15-o|0)*3|0)|0,!!((c&t|0)==0&((T()|0)&r|0)==0);)if(o>>>0<f>>>0)o=o+1|0;else break t;o=fr(7,0,l,((l|0)<0)<<31>>31)|0,l=T()|0;break e}while(!1);o=fr(7,0,l,((l|0)<0)<<31>>31)|0,o=Ft(o|0,T()|0,5,0)|0,o=Ce(o|0,T()|0,-5,-1)|0,o=dr(o|0,T()|0,6,0)|0,o=Ce(o|0,T()|0,1,0)|0,l=T()|0}while(!1);return c=a,A[c>>2]=o,A[c+4>>2]=l,c=0,c|0}function ut(t,r){t=t|0,r=r|0;var o=0,a=0,l=0;if(l=se(t|0,r|0,45)|0,T()|0,!(ht(l&127)|0))return l=0,l|0;l=se(t|0,r|0,52)|0,T()|0,l=l&15;e:do if(!l)o=0;else for(a=1;;){if(o=se(t|0,r|0,(15-a|0)*3|0)|0,T()|0,o=o&7,o|0)break e;if(a>>>0<l>>>0)a=a+1|0;else{o=0;break}}while(!1);return l=(o|0)==0&1,l|0}function cg(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0;if(c=S,S=S+16|0,f=c,La(f,t,r,o),r=f,t=A[r>>2]|0,r=A[r+4>>2]|0,(t|0)==0&(r|0)==0)return S=c,0;l=0,o=0;do h=a+(l<<3)|0,A[h>>2]=t,A[h+4>>2]=r,l=Ce(l|0,o|0,1,0)|0,o=T()|0,qa(f),h=f,t=A[h>>2]|0,r=A[h+4>>2]|0;while(!((t|0)==0&(r|0)==0));return S=c,0}function bf(t,r,o,a){return t=t|0,r=r|0,o=o|0,a=a|0,(a|0)<(o|0)?(o=r,a=t,je(o|0),a|0):(o=he(-1,-1,((a-o|0)*3|0)+3|0)|0,a=he(~o|0,~(T()|0)|0,(15-a|0)*3|0)|0,o=~(T()|0)&r,a=~a&t,je(o|0),a|0)}function Ef(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0;return l=se(t|0,r|0,52)|0,T()|0,l=l&15,(o|0)<16&(l|0)<=(o|0)?((l|0)<(o|0)&&(l=he(-1,-1,((o+-1-l|0)*3|0)+3|0)|0,l=he(~l|0,~(T()|0)|0,(15-o|0)*3|0)|0,r=~(T()|0)&r,t=~l&t),l=he(o|0,0,52)|0,o=r&-15728641|(T()|0),A[a>>2]=t|l,A[a+4>>2]=o,a=0,a|0):(a=4,a|0)}function dg(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0,Ne=0,Ve=0,xe=0,Ee=0,ue=0;if((o|0)==0&(a|0)==0)return ue=0,ue|0;if(l=t,f=A[l>>2]|0,l=A[l+4>>2]|0,!0&(l&15728640|0)==0){if(!((a|0)>0|(a|0)==0&o>>>0>0)||(ue=r,A[ue>>2]=f,A[ue+4>>2]=l,(o|0)==1&(a|0)==0))return ue=0,ue|0;l=1,f=0;do xe=t+(l<<3)|0,Ee=A[xe+4>>2]|0,ue=r+(l<<3)|0,A[ue>>2]=A[xe>>2],A[ue+4>>2]=Ee,l=Ce(l|0,f|0,1,0)|0,f=T()|0;while((f|0)<(a|0)|(f|0)==(a|0)&l>>>0<o>>>0);return l=0,l|0}if(Ve=o<<3,Ee=RA(Ve)|0,!Ee)return ue=13,ue|0;if(Qn(Ee|0,t|0,Ve|0)|0,xe=cA(o,8)|0,!xe)return Se(Ee),ue=13,ue|0;e:for(;;){l=Ee,g=A[l>>2]|0,l=A[l+4>>2]|0,Oe=se(g|0,l|0,52)|0,T()|0,Oe=Oe&15,Ne=Oe+-1|0,we=(Oe|0)!=0,be=(a|0)>0|(a|0)==0&o>>>0>0;t:do if(we&be){if(Y=he(Ne|0,0,52)|0,W=T()|0,Ne>>>0>15){if(!((g|0)==0&(l|0)==0)){ue=16;break e}for(f=0,t=0;;){if(f=Ce(f|0,t|0,1,0)|0,t=T()|0,!((t|0)<(a|0)|(t|0)==(a|0)&f>>>0<o>>>0))break t;if(c=Ee+(f<<3)|0,ce=A[c>>2]|0,c=A[c+4>>2]|0,!((ce|0)==0&(c|0)==0)){l=c,ue=16;break e}}}for(h=g,t=l,f=0,c=0;;){if(!((h|0)==0&(t|0)==0)){if(!(!0&(t&117440512|0)==0)){ue=21;break e}if(v=se(h|0,t|0,52)|0,T()|0,v=v&15,(v|0)<(Ne|0)){l=12,ue=27;break e}if((v|0)!=(Ne|0)&&(h=h|Y,t=t&-15728641|W,v>>>0>=Oe>>>0)){p=Ne;do ce=he(7,0,(14-p|0)*3|0)|0,p=p+1|0,h=ce|h,t=T()|0|t;while(p>>>0<v>>>0)}if(F=Fn(h|0,t|0,o|0,a|0)|0,j=T()|0,p=xe+(F<<3)|0,v=p,D=A[v>>2]|0,v=A[v+4>>2]|0,!((D|0)==0&(v|0)==0)){K=0,ee=0;do{if((K|0)>(a|0)|(K|0)==(a|0)&ee>>>0>o>>>0){ue=31;break e}if((D|0)==(h|0)&(v&-117440513|0)==(t|0)){N=se(D|0,v|0,56)|0,T()|0,N=N&7,G=N+1|0,ce=se(D|0,v|0,45)|0,T()|0;A:do if(!(ht(ce&127)|0))v=7;else{if(D=se(D|0,v|0,52)|0,T()|0,D=D&15,!D){v=6;break}for(v=1;;){if(ce=he(7,0,(15-v|0)*3|0)|0,!((ce&h|0)==0&((T()|0)&t|0)==0)){v=7;break A}if(v>>>0<D>>>0)v=v+1|0;else{v=6;break}}}while(!1);if((N+2|0)>>>0>v>>>0){ue=41;break e}ce=he(G|0,0,56)|0,t=T()|0|t&-117440513,H=p,A[H>>2]=0,A[H+4>>2]=0,h=ce|h}else F=Ce(F|0,j|0,1,0)|0,F=Nn(F|0,T()|0,o|0,a|0)|0,j=T()|0;ee=Ce(ee|0,K|0,1,0)|0,K=T()|0,p=xe+(F<<3)|0,v=p,D=A[v>>2]|0,v=A[v+4>>2]|0}while(!((D|0)==0&(v|0)==0))}ce=p,A[ce>>2]=h,A[ce+4>>2]=t}if(f=Ce(f|0,c|0,1,0)|0,c=T()|0,!((c|0)<(a|0)|(c|0)==(a|0)&f>>>0<o>>>0))break t;t=Ee+(f<<3)|0,h=A[t>>2]|0,t=A[t+4>>2]|0}}while(!1);if(ce=Ce(o|0,a|0,5,0)|0,H=T()|0,H>>>0<0|(H|0)==0&ce>>>0<11){ue=85;break}if(ce=dr(o|0,a|0,6,0)|0,T()|0,ce=cA(ce,8)|0,!ce){ue=48;break}do if(be){for(G=0,t=0,N=0,K=0;;){if(v=xe+(G<<3)|0,c=v,f=A[c>>2]|0,c=A[c+4>>2]|0,(f|0)==0&(c|0)==0)H=N;else{D=se(f|0,c|0,56)|0,T()|0,D=D&7,h=D+1|0,F=c&-117440513,H=se(f|0,c|0,45)|0,T()|0;t:do if(ht(H&127)|0){if(j=se(f|0,c|0,52)|0,T()|0,j=j&15,j|0)for(p=1;;){if(H=he(7,0,(15-p|0)*3|0)|0,!((f&H|0)==0&(F&(T()|0)|0)==0))break t;if(p>>>0<j>>>0)p=p+1|0;else break}c=he(h|0,0,56)|0,f=c|f,c=T()|0|F,h=v,A[h>>2]=f,A[h+4>>2]=c,h=D+2|0}while(!1);(h|0)==7?(H=ce+(t<<3)|0,A[H>>2]=f,A[H+4>>2]=c&-117440513,t=Ce(t|0,N|0,1,0)|0,H=T()|0):H=N}if(G=Ce(G|0,K|0,1,0)|0,K=T()|0,(K|0)<(a|0)|(K|0)==(a|0)&G>>>0<o>>>0)N=H;else break}if(be){if(ee=Ne>>>0>15,Y=he(Ne|0,0,52)|0,W=T()|0,!we){for(f=0,p=0,h=0,c=0;(g|0)==0&(l|0)==0||(Ne=r+(f<<3)|0,A[Ne>>2]=g,A[Ne+4>>2]=l,f=Ce(f|0,p|0,1,0)|0,p=T()|0),h=Ce(h|0,c|0,1,0)|0,c=T()|0,!!((c|0)<(a|0)|(c|0)==(a|0)&h>>>0<o>>>0);)l=Ee+(h<<3)|0,g=A[l>>2]|0,l=A[l+4>>2]|0;l=H;break}for(f=0,p=0,c=0,h=0;;){do if(!((g|0)==0&(l|0)==0)){if(j=se(g|0,l|0,52)|0,T()|0,j=j&15,ee|(j|0)<(Ne|0)){ue=80;break e}if((j|0)!=(Ne|0)){if(v=g|Y,D=l&-15728641|W,j>>>0>=Oe>>>0){F=Ne;do we=he(7,0,(14-F|0)*3|0)|0,F=F+1|0,v=we|v,D=T()|0|D;while(F>>>0<j>>>0)}}else v=g,D=l;N=Fn(v|0,D|0,o|0,a|0)|0,F=0,j=0,K=T()|0;do{if((F|0)>(a|0)|(F|0)==(a|0)&j>>>0>o>>>0){ue=81;break e}if(we=xe+(N<<3)|0,G=A[we+4>>2]|0,(G&-117440513|0)==(D|0)&&(A[we>>2]|0)==(v|0)){ue=65;break}we=Ce(N|0,K|0,1,0)|0,N=Nn(we|0,T()|0,o|0,a|0)|0,K=T()|0,j=Ce(j|0,F|0,1,0)|0,F=T()|0,we=xe+(N<<3)|0}while(!((A[we>>2]|0)==(v|0)&&(A[we+4>>2]|0)==(D|0)));if((ue|0)==65&&(ue=0,!0&(G&117440512|0)==100663296))break;we=r+(f<<3)|0,A[we>>2]=g,A[we+4>>2]=l,f=Ce(f|0,p|0,1,0)|0,p=T()|0}while(!1);if(c=Ce(c|0,h|0,1,0)|0,h=T()|0,!((h|0)<(a|0)|(h|0)==(a|0)&c>>>0<o>>>0))break;l=Ee+(c<<3)|0,g=A[l>>2]|0,l=A[l+4>>2]|0}l=H}else f=0,l=H}else f=0,t=0,l=0;while(!1);if(Kr(xe|0,0,Ve|0)|0,Qn(Ee|0,ce|0,t<<3|0)|0,Se(ce),(t|0)==0&(l|0)==0){ue=89;break}else r=r+(f<<3)|0,a=l,o=t}if((ue|0)==16)!0&(l&117440512|0)==0?(l=4,ue=27):ue=21;else if((ue|0)==31)Te(27795,27122,529,27132);else{if((ue|0)==41)return Se(Ee),Se(xe),ue=10,ue|0;if((ue|0)==48)return Se(Ee),Se(xe),ue=13,ue|0;(ue|0)==80?Te(27795,27122,620,27132):(ue|0)==81?Te(27795,27122,632,27132):(ue|0)==85&&(Qn(r|0,Ee|0,o<<3|0)|0,ue=89)}return(ue|0)==21?(Se(Ee),Se(xe),ue=5,ue|0):(ue|0)==27?(Se(Ee),Se(xe),ue=l,ue|0):(ue|0)==89?(Se(Ee),Se(xe),ue=0,ue|0):0}function hg(t,r,o,a,l,f,c){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,f=f|0,c=c|0;var h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0;if(G=S,S=S+16|0,N=G,!((o|0)>0|(o|0)==0&r>>>0>0))return N=0,S=G,N|0;if((c|0)>=16)return N=12,S=G,N|0;F=0,j=0,D=0,h=0;e:for(;;){if(g=t+(F<<3)|0,p=A[g>>2]|0,g=A[g+4>>2]|0,v=se(p|0,g|0,52)|0,T()|0,(v&15|0)>(c|0)){h=12,p=11;break}if(La(N,p,g,c),v=N,g=A[v>>2]|0,v=A[v+4>>2]|0,(g|0)==0&(v|0)==0)p=D;else{p=D;do{if(!((h|0)<(f|0)|(h|0)==(f|0)&p>>>0<l>>>0)){p=10;break e}D=a+(p<<3)|0,A[D>>2]=g,A[D+4>>2]=v,p=Ce(p|0,h|0,1,0)|0,h=T()|0,qa(N),D=N,g=A[D>>2]|0,v=A[D+4>>2]|0}while(!((g|0)==0&(v|0)==0))}if(F=Ce(F|0,j|0,1,0)|0,j=T()|0,(j|0)<(o|0)|(j|0)==(o|0)&F>>>0<r>>>0)D=p;else{h=0,p=11;break}}return(p|0)==10?(N=14,S=G,N|0):(p|0)==11?(S=G,h|0):0}function pg(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0;F=S,S=S+16|0,D=F;e:do if((o|0)>0|(o|0)==0&r>>>0>0){for(g=0,c=0,f=0,v=0;;){if(p=t+(g<<3)|0,h=A[p>>2]|0,p=A[p+4>>2]|0,!((h|0)==0&(p|0)==0)&&(p=(Mi(h,p,a,D)|0)==0,h=D,c=Ce(A[h>>2]|0,A[h+4>>2]|0,c|0,f|0)|0,f=T()|0,!p)){f=12;break}if(g=Ce(g|0,v|0,1,0)|0,v=T()|0,!((v|0)<(o|0)|(v|0)==(o|0)&g>>>0<r>>>0))break e}return S=F,f|0}else c=0,f=0;while(!1);return A[l>>2]=c,A[l+4>>2]=f,l=0,S=F,l|0}function mg(t,r){return t=t|0,r=r|0,r=se(t|0,r|0,52)|0,T()|0,r&1|0}function Wt(t,r){t=t|0,r=r|0;var o=0,a=0,l=0;if(l=se(t|0,r|0,52)|0,T()|0,l=l&15,!l)return l=0,l|0;for(a=1;;){if(o=se(t|0,r|0,(15-a|0)*3|0)|0,T()|0,o=o&7,o|0){a=5;break}if(a>>>0<l>>>0)a=a+1|0;else{o=0,a=5;break}}return(a|0)==5?o|0:0}function Ma(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(p=se(t|0,r|0,52)|0,T()|0,p=p&15,!p)return h=r,p=t,je(h|0),p|0;for(h=1,o=0;;){f=(15-h|0)*3|0,a=he(7,0,f|0)|0,l=T()|0,c=se(t|0,r|0,f|0)|0,T()|0,f=he(Vr(c&7)|0,0,f|0)|0,c=T()|0,t=f|t&~a,r=c|r&~l;e:do if(!o)if((f&a|0)==0&(c&l|0)==0)o=0;else if(a=se(t|0,r|0,52)|0,T()|0,a=a&15,!a)o=1;else{o=1;t:for(;;){switch(c=se(t|0,r|0,(15-o|0)*3|0)|0,T()|0,c&7){case 1:break t;case 0:break;default:{o=1;break e}}if(o>>>0<a>>>0)o=o+1|0;else{o=1;break e}}for(o=1;;)if(c=(15-o|0)*3|0,l=se(t|0,r|0,c|0)|0,T()|0,f=he(7,0,c|0)|0,r=r&~(T()|0),c=he(Vr(l&7)|0,0,c|0)|0,t=t&~f|c,r=r|(T()|0),o>>>0<a>>>0)o=o+1|0;else{o=1;break}}while(!1);if(h>>>0<p>>>0)h=h+1|0;else break}return je(r|0),t|0}function zr(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0;if(a=se(t|0,r|0,52)|0,T()|0,a=a&15,!a)return o=r,a=t,je(o|0),a|0;for(o=1;f=(15-o|0)*3|0,c=se(t|0,r|0,f|0)|0,T()|0,l=he(7,0,f|0)|0,r=r&~(T()|0),f=he(Vr(c&7)|0,0,f|0)|0,t=f|t&~l,r=T()|0|r,o>>>0<a>>>0;)o=o+1|0;return je(r|0),t|0}function gg(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(p=se(t|0,r|0,52)|0,T()|0,p=p&15,!p)return h=r,p=t,je(h|0),p|0;for(h=1,o=0;;){f=(15-h|0)*3|0,a=he(7,0,f|0)|0,l=T()|0,c=se(t|0,r|0,f|0)|0,T()|0,f=he(ur(c&7)|0,0,f|0)|0,c=T()|0,t=f|t&~a,r=c|r&~l;e:do if(!o)if((f&a|0)==0&(c&l|0)==0)o=0;else if(a=se(t|0,r|0,52)|0,T()|0,a=a&15,!a)o=1;else{o=1;t:for(;;){switch(c=se(t|0,r|0,(15-o|0)*3|0)|0,T()|0,c&7){case 1:break t;case 0:break;default:{o=1;break e}}if(o>>>0<a>>>0)o=o+1|0;else{o=1;break e}}for(o=1;;)if(l=(15-o|0)*3|0,f=he(7,0,l|0)|0,c=r&~(T()|0),r=se(t|0,r|0,l|0)|0,T()|0,r=he(ur(r&7)|0,0,l|0)|0,t=t&~f|r,r=c|(T()|0),o>>>0<a>>>0)o=o+1|0;else{o=1;break}}while(!1);if(h>>>0<p>>>0)h=h+1|0;else break}return je(r|0),t|0}function ja(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0;if(a=se(t|0,r|0,52)|0,T()|0,a=a&15,!a)return o=r,a=t,je(o|0),a|0;for(o=1;c=(15-o|0)*3|0,f=he(7,0,c|0)|0,l=r&~(T()|0),r=se(t|0,r|0,c|0)|0,T()|0,r=he(ur(r&7)|0,0,c|0)|0,t=r|t&~f,r=T()|0|l,o>>>0<a>>>0;)o=o+1|0;return je(r|0),t|0}function yg(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0;if(p=S,S=S+64|0,h=p+40|0,a=p+24|0,l=p+12|0,f=p,he(r|0,0,52)|0,o=T()|0|134225919,!r)return(A[t+4>>2]|0)>2||(A[t+8>>2]|0)>2||(A[t+12>>2]|0)>2?(c=0,h=0,je(c|0),S=p,h|0):(he(of(t)|0,0,45)|0,c=T()|0|o,h=-1,je(c|0),S=p,h|0);if(A[h>>2]=A[t>>2],A[h+4>>2]=A[t+4>>2],A[h+8>>2]=A[t+8>>2],A[h+12>>2]=A[t+12>>2],c=h+4|0,(r|0)>0)for(t=-1;A[a>>2]=A[c>>2],A[a+4>>2]=A[c+4>>2],A[a+8>>2]=A[c+8>>2],r&1?(K2(c),A[l>>2]=A[c>>2],A[l+4>>2]=A[c+4>>2],A[l+8>>2]=A[c+8>>2],Ko(l)):(df(c),A[l>>2]=A[c>>2],A[l+4>>2]=A[c+4>>2],A[l+8>>2]=A[c+8>>2],Hr(l)),Da(a,l,f),Nt(f),v=(15-r|0)*3|0,g=he(7,0,v|0)|0,o=o&~(T()|0),v=he(Jo(f)|0,0,v|0)|0,t=v|t&~g,o=T()|0|o,(r|0)>1;)r=r+-1|0;else t=-1;e:do if((A[c>>2]|0)<=2&&(A[h+8>>2]|0)<=2&&(A[h+12>>2]|0)<=2){if(a=of(h)|0,r=he(a|0,0,45)|0,r=r|t,t=T()|0|o&-1040385,f=B2(h)|0,!(ht(a)|0)){if((f|0)<=0)break;for(l=0;;){if(a=se(r|0,t|0,52)|0,T()|0,a=a&15,a)for(o=1;v=(15-o|0)*3|0,h=se(r|0,t|0,v|0)|0,T()|0,g=he(7,0,v|0)|0,t=t&~(T()|0),v=he(Vr(h&7)|0,0,v|0)|0,r=r&~g|v,t=t|(T()|0),o>>>0<a>>>0;)o=o+1|0;if(l=l+1|0,(l|0)==(f|0))break e}}l=se(r|0,t|0,52)|0,T()|0,l=l&15;t:do if(l){o=1;A:for(;;){switch(v=se(r|0,t|0,(15-o|0)*3|0)|0,T()|0,v&7){case 1:break A;case 0:break;default:break t}if(o>>>0<l>>>0)o=o+1|0;else break t}if(sf(a,A[h>>2]|0)|0)for(o=1;h=(15-o|0)*3|0,g=he(7,0,h|0)|0,v=t&~(T()|0),t=se(r|0,t|0,h|0)|0,T()|0,t=he(ur(t&7)|0,0,h|0)|0,r=r&~g|t,t=v|(T()|0),o>>>0<l>>>0;)o=o+1|0;else for(o=1;v=(15-o|0)*3|0,h=se(r|0,t|0,v|0)|0,T()|0,g=he(7,0,v|0)|0,t=t&~(T()|0),v=he(Vr(h&7)|0,0,v|0)|0,r=r&~g|v,t=t|(T()|0),o>>>0<l>>>0;)o=o+1|0}while(!1);if((f|0)>0){o=0;do r=Ma(r,t)|0,t=T()|0,o=o+1|0;while((o|0)!=(f|0))}}else r=0,t=0;while(!1);return g=t,v=r,je(g|0),S=p,v|0}function uA(t){return t=t|0,(t|0)%2|0|0}function Na(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0;return l=S,S=S+16|0,a=l,r>>>0>15?(a=4,S=l,a|0):(A[t+4>>2]&2146435072|0)==2146435072||(A[t+8+4>>2]&2146435072|0)==2146435072?(a=3,S=l,a|0):(og(t,r,a),r=yg(a,r)|0,a=T()|0,A[o>>2]=r,A[o+4>>2]=a,(r|0)==0&(a|0)==0&&Te(27795,27122,959,27145),a=0,S=l,a|0)}function Fa(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0;if(l=o+4|0,f=se(t|0,r|0,52)|0,T()|0,f=f&15,c=se(t|0,r|0,45)|0,T()|0,a=(f|0)==0,ht(c&127)|0){if(a)return c=1,c|0;a=1}else{if(a)return c=0,c|0;(A[l>>2]|0)==0&&(A[o+8>>2]|0)==0?a=(A[o+12>>2]|0)!=0&1:a=1}for(o=1;o&1?Ko(l):Hr(l),c=se(t|0,r|0,(15-o|0)*3|0)|0,T()|0,hf(l,c&7),o>>>0<f>>>0;)o=o+1|0;return a|0}function Bn(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0;if(v=S,S=S+16|0,p=v,g=se(t|0,r|0,45)|0,T()|0,g=g&127,g>>>0>121)return A[o>>2]=0,A[o+4>>2]=0,A[o+8>>2]=0,A[o+12>>2]=0,g=5,S=v,g|0;e:do if((ht(g)|0)!=0&&(f=se(t|0,r|0,52)|0,T()|0,f=f&15,(f|0)!=0)){a=1;t:for(;;){switch(h=se(t|0,r|0,(15-a|0)*3|0)|0,T()|0,h&7){case 5:break t;case 0:break;default:{a=r;break e}}if(a>>>0<f>>>0)a=a+1|0;else{a=r;break e}}for(l=1,a=r;r=(15-l|0)*3|0,c=he(7,0,r|0)|0,h=a&~(T()|0),a=se(t|0,a|0,r|0)|0,T()|0,a=he(ur(a&7)|0,0,r|0)|0,t=t&~c|a,a=h|(T()|0),l>>>0<f>>>0;)l=l+1|0}else a=r;while(!1);if(h=7696+(g*28|0)|0,A[o>>2]=A[h>>2],A[o+4>>2]=A[h+4>>2],A[o+8>>2]=A[h+8>>2],A[o+12>>2]=A[h+12>>2],!(Fa(t,a,o)|0))return g=0,S=v,g|0;if(c=o+4|0,A[p>>2]=A[c>>2],A[p+4>>2]=A[c+4>>2],A[p+8>>2]=A[c+8>>2],f=se(t|0,a|0,52)|0,T()|0,h=f&15,f&1?(Hr(c),f=h+1|0):f=h,!(ht(g)|0))a=0;else{e:do if(!h)a=0;else for(r=1;;){if(l=se(t|0,a|0,(15-r|0)*3|0)|0,T()|0,l=l&7,l|0){a=l;break e}if(r>>>0<h>>>0)r=r+1|0;else{a=0;break}}while(!1);a=(a|0)==4&1}if(!(In(o,f,a,0)|0))(f|0)!=(h|0)&&(A[c>>2]=A[p>>2],A[c+4>>2]=A[p+4>>2],A[c+8>>2]=A[p+8>>2]);else{if(ht(g)|0)do;while((In(o,f,0,0)|0)!=0);(f|0)!=(h|0)&&df(c)}return g=0,S=v,g|0}function Jr(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;return f=S,S=S+16|0,a=f,l=Bn(t,r,a)|0,l|0?(S=f,l|0):(l=se(t|0,r|0,52)|0,T()|0,lg(a,l&15,o),l=0,S=f,l|0)}function Mn(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0;if(c=S,S=S+16|0,f=c,a=Bn(t,r,f)|0,a|0)return f=a,S=c,f|0;a=se(t|0,r|0,45)|0,T()|0,a=(ht(a&127)|0)==0,l=se(t|0,r|0,52)|0,T()|0,l=l&15;e:do if(!a){if(l|0)for(a=1;;){if(h=he(7,0,(15-a|0)*3|0)|0,!((h&t|0)==0&((T()|0)&r|0)==0))break e;if(a>>>0<l>>>0)a=a+1|0;else break}return Ra(f,l,0,5,o),h=0,S=c,h|0}while(!1);return Ta(f,l,0,6,o),h=0,S=c,h|0}function wg(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;if(l=se(t|0,r|0,45)|0,T()|0,!(ht(l&127)|0))return l=2,A[o>>2]=l,0;if(l=se(t|0,r|0,52)|0,T()|0,l=l&15,!l)return l=5,A[o>>2]=l,0;for(a=1;;){if(f=he(7,0,(15-a|0)*3|0)|0,!((f&t|0)==0&((T()|0)&r|0)==0)){a=2,t=6;break}if(a>>>0<l>>>0)a=a+1|0;else{a=5,t=6;break}}return(t|0)==6&&(A[o>>2]=a),0}function $f(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0;D=S,S=S+128|0,g=D+112|0,f=D+96|0,v=D,l=se(t|0,r|0,52)|0,T()|0,h=l&15,A[g>>2]=h,c=se(t|0,r|0,45)|0,T()|0,c=c&127;e:do if(ht(c)|0){if(h|0)for(a=1;;){if(p=he(7,0,(15-a|0)*3|0)|0,!((p&t|0)==0&((T()|0)&r|0)==0)){l=0;break e}if(a>>>0<h>>>0)a=a+1|0;else break}if(l&1)l=1;else return p=he(h+1|0,0,52)|0,v=T()|0|r&-15728641,g=he(7,0,(14-h|0)*3|0)|0,v=$f((p|t)&~g,v&~(T()|0),o)|0,S=D,v|0}else l=0;while(!1);if(a=Bn(t,r,f)|0,!a){l?(wf(f,g,v),p=5):(_f(f,g,v),p=6);e:do if(ht(c)|0)if(!h)t=5;else for(a=1;;){if(c=he(7,0,(15-a|0)*3|0)|0,!((c&t|0)==0&((T()|0)&r|0)==0)){t=2;break e}if(a>>>0<h>>>0)a=a+1|0;else{t=5;break}}else t=2;while(!1);Kr(o|0,-1,t<<2|0)|0;e:do if(l)for(f=0;;){if(c=v+(f<<4)|0,ug(c,A[g>>2]|0)|0,c=A[c>>2]|0,h=A[o>>2]|0,(h|0)==-1|(h|0)==(c|0))a=o;else{l=0;do{if(l=l+1|0,l>>>0>=t>>>0){a=1;break e}a=o+(l<<2)|0,h=A[a>>2]|0}while(!((h|0)==-1|(h|0)==(c|0)))}if(A[a>>2]=c,f=f+1|0,f>>>0>=p>>>0){a=0;break}}else for(f=0;;){if(c=v+(f<<4)|0,In(c,A[g>>2]|0,0,1)|0,c=A[c>>2]|0,h=A[o>>2]|0,(h|0)==-1|(h|0)==(c|0))a=o;else{l=0;do{if(l=l+1|0,l>>>0>=t>>>0){a=1;break e}a=o+(l<<2)|0,h=A[a>>2]|0}while(!((h|0)==-1|(h|0)==(c|0)))}if(A[a>>2]=c,f=f+1|0,f>>>0>=p>>>0){a=0;break}}while(!1)}return v=a,S=D,v|0}function _g(){return 12}function Qa(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(t>>>0>15)return h=4,h|0;if(he(t|0,0,52)|0,h=T()|0|134225919,!t){o=0,a=0;do ht(a)|0&&(he(a|0,0,45)|0,c=h|(T()|0),t=r+(o<<3)|0,A[t>>2]=-1,A[t+4>>2]=c,o=o+1|0),a=a+1|0;while((a|0)!=122);return o=0,o|0}o=0,c=0;do{if(ht(c)|0){for(he(c|0,0,45)|0,a=1,l=-1,f=h|(T()|0);p=he(7,0,(15-a|0)*3|0)|0,l=l&~p,f=f&~(T()|0),(a|0)!=(t|0);)a=a+1|0;p=r+(o<<3)|0,A[p>>2]=l,A[p+4>>2]=f,o=o+1|0}c=c+1|0}while((c|0)!=122);return o=0,o|0}function vg(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0;if(Y=S,S=S+16|0,K=Y,ee=se(t|0,r|0,52)|0,T()|0,ee=ee&15,o>>>0>15)return ee=4,S=Y,ee|0;if((ee|0)<(o|0))return ee=12,S=Y,ee|0;if((ee|0)!=(o|0))if(f=he(o|0,0,52)|0,f=f|t,h=T()|0|r&-15728641,(ee|0)>(o|0)){p=o;do G=he(7,0,(14-p|0)*3|0)|0,p=p+1|0,f=G|f,h=T()|0|h;while((p|0)<(ee|0));G=f}else G=f;else G=t,h=r;N=se(G|0,h|0,45)|0,T()|0;e:do if(ht(N&127)|0){if(p=se(G|0,h|0,52)|0,T()|0,p=p&15,p|0)for(f=1;;){if(N=he(7,0,(15-f|0)*3|0)|0,!((N&G|0)==0&((T()|0)&h|0)==0)){g=33;break e}if(f>>>0<p>>>0)f=f+1|0;else break}if(N=a,A[N>>2]=0,A[N+4>>2]=0,(ee|0)>(o|0)){for(N=r&-15728641,j=ee;;){if(F=j,j=j+-1|0,j>>>0>15|(ee|0)<(j|0)){g=19;break}if((ee|0)!=(j|0))if(f=he(j|0,0,52)|0,f=f|t,p=T()|0|N,(ee|0)<(F|0))D=f;else{g=j;do D=he(7,0,(14-g|0)*3|0)|0,g=g+1|0,f=D|f,p=T()|0|p;while((g|0)<(ee|0));D=f}else D=t,p=r;if(v=se(D|0,p|0,45)|0,T()|0,!(ht(v&127)|0))f=0;else{v=se(D|0,p|0,52)|0,T()|0,v=v&15;t:do if(!v)f=0;else for(g=1;;){if(f=se(D|0,p|0,(15-g|0)*3|0)|0,T()|0,f=f&7,f|0)break t;if(g>>>0<v>>>0)g=g+1|0;else{f=0;break}}while(!1);f=(f|0)==0&1}if(p=se(t|0,r|0,(15-F|0)*3|0)|0,T()|0,p=p&7,(p|0)==7){l=5,g=42;break}if(f=(f|0)!=0,(p|0)==1&f){l=5,g=42;break}if(D=p+(((p|0)!=0&f)<<31>>31)|0,D|0&&(g=ee-F|0,g=fr(7,0,g,((g|0)<0)<<31>>31)|0,v=T()|0,f?(f=Ft(g|0,v|0,5,0)|0,f=Ce(f|0,T()|0,-5,-1)|0,f=dr(f|0,T()|0,6,0)|0,f=Ce(f|0,T()|0,1,0)|0,p=T()|0):(f=g,p=v),F=D+-1|0,F=Ft(g|0,v|0,F|0,((F|0)<0)<<31>>31|0)|0,F=Ce(f|0,p|0,F|0,T()|0)|0,D=T()|0,v=a,v=Ce(F|0,D|0,A[v>>2]|0,A[v+4>>2]|0)|0,D=T()|0,F=a,A[F>>2]=v,A[F+4>>2]=D),(j|0)<=(o|0)){g=37;break}}if((g|0)==19)Te(27795,27122,1276,27158);else if((g|0)==37){c=a,l=A[c+4>>2]|0,c=A[c>>2]|0;break}else if((g|0)==42)return S=Y,l|0}else l=0,c=0}else g=33;while(!1);e:do if((g|0)==33)if(N=a,A[N>>2]=0,A[N+4>>2]=0,(ee|0)>(o|0)){for(f=ee;;){if(l=se(t|0,r|0,(15-f|0)*3|0)|0,T()|0,l=l&7,(l|0)==7){l=5;break}if(c=ee-f|0,c=fr(7,0,c,((c|0)<0)<<31>>31)|0,l=Ft(c|0,T()|0,l|0,0)|0,c=T()|0,N=a,c=Ce(A[N>>2]|0,A[N+4>>2]|0,l|0,c|0)|0,l=T()|0,N=a,A[N>>2]=c,A[N+4>>2]=l,f=f+-1|0,(f|0)<=(o|0))break e}return S=Y,l|0}else l=0,c=0;while(!1);return Mi(G,h,ee,K)|0&&Te(27795,27122,1236,27173),ee=K,K=A[ee+4>>2]|0,((l|0)>-1|(l|0)==-1&c>>>0>4294967295)&((K|0)>(l|0)|((K|0)==(l|0)?(A[ee>>2]|0)>>>0>c>>>0:0))?(ee=0,S=Y,ee|0):(Te(27795,27122,1316,27158),0)}function bg(t,r,o,a,l,f){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,f=f|0;var c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0;if(D=S,S=S+16|0,c=D,l>>>0>15)return f=4,S=D,f|0;if(h=se(o|0,a|0,52)|0,T()|0,h=h&15,(h|0)>(l|0))return f=12,S=D,f|0;if(Mi(o,a,l,c)|0&&Te(27795,27122,1236,27173),v=c,g=A[v+4>>2]|0,!(((r|0)>-1|(r|0)==-1&t>>>0>4294967295)&((g|0)>(r|0)|((g|0)==(r|0)?(A[v>>2]|0)>>>0>t>>>0:0))))return f=2,S=D,f|0;v=l-h|0,l=he(l|0,0,52)|0,p=T()|0|a&-15728641,g=f,A[g>>2]=l|o,A[g+4>>2]=p,g=se(o|0,a|0,45)|0,T()|0;e:do if(ht(g&127)|0){if(h|0)for(c=1;;){if(g=he(7,0,(15-c|0)*3|0)|0,!((g&o|0)==0&((T()|0)&a|0)==0))break e;if(c>>>0<h>>>0)c=c+1|0;else break}if((v|0)<1)return f=0,S=D,f|0;for(g=h^15,a=-1,p=1,c=1;;){h=v-p|0,h=fr(7,0,h,((h|0)<0)<<31>>31)|0,o=T()|0;do if(c)if(c=Ft(h|0,o|0,5,0)|0,c=Ce(c|0,T()|0,-5,-1)|0,c=dr(c|0,T()|0,6,0)|0,l=T()|0,(r|0)>(l|0)|(r|0)==(l|0)&t>>>0>c>>>0){r=Ce(t|0,r|0,-1,-1)|0,r=Tt(r|0,T()|0,c|0,l|0)|0,c=T()|0,F=f,N=A[F>>2]|0,F=A[F+4>>2]|0,G=(g+a|0)*3|0,j=he(7,0,G|0)|0,F=F&~(T()|0),a=dr(r|0,c|0,h|0,o|0)|0,t=T()|0,l=Ce(a|0,t|0,2,0)|0,G=he(l|0,T()|0,G|0)|0,F=T()|0|F,l=f,A[l>>2]=G|N&~j,A[l+4>>2]=F,t=Ft(a|0,t|0,h|0,o|0)|0,t=Tt(r|0,c|0,t|0,T()|0)|0,c=0,r=T()|0;break}else{G=f,j=A[G>>2]|0,G=A[G+4>>2]|0,N=he(7,0,(g+a|0)*3|0)|0,G=G&~(T()|0),c=f,A[c>>2]=j&~N,A[c+4>>2]=G,c=1;break}else j=f,l=A[j>>2]|0,j=A[j+4>>2]|0,a=(g+a|0)*3|0,F=he(7,0,a|0)|0,j=j&~(T()|0),G=dr(t|0,r|0,h|0,o|0)|0,c=T()|0,a=he(G|0,c|0,a|0)|0,j=T()|0|j,N=f,A[N>>2]=a|l&~F,A[N+4>>2]=j,c=Ft(G|0,c|0,h|0,o|0)|0,t=Tt(t|0,r|0,c|0,T()|0)|0,c=0,r=T()|0;while(!1);if((v|0)>(p|0))a=~p,p=p+1|0;else{r=0;break}}return S=D,r|0}while(!1);if((v|0)<1)return G=0,S=D,G|0;for(l=h^15,c=1;;)if(N=v-c|0,N=fr(7,0,N,((N|0)<0)<<31>>31)|0,G=T()|0,p=f,o=A[p>>2]|0,p=A[p+4>>2]|0,h=(l-c|0)*3|0,a=he(7,0,h|0)|0,p=p&~(T()|0),F=dr(t|0,r|0,N|0,G|0)|0,j=T()|0,h=he(F|0,j|0,h|0)|0,p=T()|0|p,g=f,A[g>>2]=h|o&~a,A[g+4>>2]=p,G=Ft(F|0,j|0,N|0,G|0)|0,t=Tt(t|0,r|0,G|0,T()|0)|0,r=T()|0,(v|0)<=(c|0)){r=0;break}else c=c+1|0;return S=D,r|0}function La(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0;l=se(r|0,o|0,52)|0,T()|0,l=l&15,(r|0)==0&(o|0)==0|((a|0)>15|(l|0)>(a|0))?(f=-1,r=-1,o=0,l=0):(r=bf(r,o,l+1|0,a)|0,c=(T()|0)&-15728641,o=he(a|0,0,52)|0,o=r|o,c=c|(T()|0),r=(ut(o,c)|0)==0,f=l,r=r?-1:a,l=c),c=t,A[c>>2]=o,A[c+4>>2]=l,A[t+8>>2]=f,A[t+12>>2]=r}function Pf(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0;if(l=se(t|0,r|0,52)|0,T()|0,l=l&15,f=a+8|0,A[f>>2]=l,(t|0)==0&(r|0)==0|((o|0)>15|(l|0)>(o|0))){o=a,A[o>>2]=0,A[o+4>>2]=0,A[f>>2]=-1,A[a+12>>2]=-1;return}if(t=bf(t,r,l+1|0,o)|0,f=(T()|0)&-15728641,l=he(o|0,0,52)|0,l=t|l,f=f|(T()|0),t=a,A[t>>2]=l,A[t+4>>2]=f,t=a+12|0,ut(l,f)|0){A[t>>2]=o;return}else{A[t>>2]=-1;return}}function qa(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0;if(o=t,r=A[o>>2]|0,o=A[o+4>>2]|0,!((r|0)==0&(o|0)==0)&&(a=se(r|0,o|0,52)|0,T()|0,a=a&15,h=he(1,0,(a^15)*3|0)|0,r=Ce(h|0,T()|0,r|0,o|0)|0,o=T()|0,h=t,A[h>>2]=r,A[h+4>>2]=o,h=t+8|0,c=A[h>>2]|0,!((a|0)<(c|0)))){for(p=t+12|0,f=a;;){if((f|0)==(c|0)){a=5;break}if(g=(f|0)==(A[p>>2]|0),l=(15-f|0)*3|0,a=se(r|0,o|0,l|0)|0,T()|0,a=a&7,g&((a|0)==1&!0)){a=7;break}if(!((a|0)==7&!0)){a=10;break}if(g=he(1,0,l|0)|0,r=Ce(r|0,o|0,g|0,T()|0)|0,o=T()|0,g=t,A[g>>2]=r,A[g+4>>2]=o,(f|0)>(c|0))f=f+-1|0;else{a=10;break}}if((a|0)==5){g=t,A[g>>2]=0,A[g+4>>2]=0,A[h>>2]=-1,A[p>>2]=-1;return}else if((a|0)==7){c=he(1,0,l|0)|0,c=Ce(r|0,o|0,c|0,T()|0)|0,h=T()|0,g=t,A[g>>2]=c,A[g+4>>2]=h,A[p>>2]=f+-1;return}else if((a|0)==10)return}}function ji(t){t=+t;var r=0;return r=t<0?t+6.283185307179586:t,+(t>=6.283185307179586?r+-6.283185307179586:r)}function jn(t,r){return t=t|0,r=r|0,+rt(+(+P[t>>3]-+P[r>>3]))<17453292519943298e-27?(r=+rt(+(+P[t+8>>3]-+P[r+8>>3]))<17453292519943298e-27,r|0):(r=0,r|0)}function AA(t,r){switch(t=+t,r=r|0,r|0){case 1:{t=t<0?t+6.283185307179586:t;break}case 2:{t=t>0?t+-6.283185307179586:t;break}default:}return+t}function Eg(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0;return l=+P[r>>3],a=+P[t>>3],f=+it(+((l-a)*.5)),o=+it(+((+P[r+8>>3]-+P[t+8>>3])*.5)),o=f*f+o*(+Xe(+l)*+Xe(+a)*o),+(+lA(+ +yt(+o),+ +yt(+(1-o)))*2)}function Ni(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0;return l=+P[r>>3],a=+P[t>>3],f=+it(+((l-a)*.5)),o=+it(+((+P[r+8>>3]-+P[t+8>>3])*.5)),o=f*f+o*(+Xe(+l)*+Xe(+a)*o),+(+lA(+ +yt(+o),+ +yt(+(1-o)))*2*6371.007180918475)}function $g(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0;return l=+P[r>>3],a=+P[t>>3],f=+it(+((l-a)*.5)),o=+it(+((+P[r+8>>3]-+P[t+8>>3])*.5)),o=f*f+o*(+Xe(+l)*+Xe(+a)*o),+(+lA(+ +yt(+o),+ +yt(+(1-o)))*2*6371.007180918475*1e3)}function Pg(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0;return f=+P[r>>3],a=+Xe(+f),l=+P[r+8>>3]-+P[t+8>>3],c=a*+it(+l),o=+P[t>>3],+ +lA(+c,+(+it(+f)*+Xe(+o)-+Xe(+l)*(a*+it(+o))))}function kg(t,r,o,a){t=t|0,r=+r,o=+o,a=a|0;var l=0,f=0,c=0,h=0;if(o<1e-16){A[a>>2]=A[t>>2],A[a+4>>2]=A[t+4>>2],A[a+8>>2]=A[t+8>>2],A[a+12>>2]=A[t+12>>2];return}f=r<0?r+6.283185307179586:r,f=r>=6.283185307179586?f+-6.283185307179586:f;do if(f<1e-16)r=+P[t>>3]+o,P[a>>3]=r,l=a;else{if(l=+rt(+(f+-3.141592653589793))<1e-16,r=+P[t>>3],l){r=r-o,P[a>>3]=r,l=a;break}if(c=+Xe(+o),o=+it(+o),r=c*+it(+r)+ +Xe(+f)*(o*+Xe(+r)),r=r>1?1:r,r=+y2(+(r<-1?-1:r)),P[a>>3]=r,+rt(+(r+-1.5707963267948966))<1e-16){P[a>>3]=1.5707963267948966,P[a+8>>3]=0;return}if(+rt(+(r+1.5707963267948966))<1e-16){P[a>>3]=-1.5707963267948966,P[a+8>>3]=0;return}if(h=1/+Xe(+r),f=o*+it(+f)*h,o=+P[t>>3],r=h*((c-+it(+r)*+it(+o))/+Xe(+o)),c=f>1?1:f,r=r>1?1:r,r=+P[t+8>>3]+ +lA(+(c<-1?-1:c),+(r<-1?-1:r)),r>3.141592653589793)do r=r+-6.283185307179586;while(r>3.141592653589793);if(r<-3.141592653589793)do r=r+6.283185307179586;while(r<-3.141592653589793);P[a+8>>3]=r;return}while(!1);if(+rt(+(r+-1.5707963267948966))<1e-16){P[l>>3]=1.5707963267948966,P[a+8>>3]=0;return}if(+rt(+(r+1.5707963267948966))<1e-16){P[l>>3]=-1.5707963267948966,P[a+8>>3]=0;return}if(r=+P[t+8>>3],r>3.141592653589793)do r=r+-6.283185307179586;while(r>3.141592653589793);if(r<-3.141592653589793)do r=r+6.283185307179586;while(r<-3.141592653589793);P[a+8>>3]=r}function kf(t,r){return t=t|0,r=r|0,t>>>0>15?(r=4,r|0):(P[r>>3]=+P[20656+(t<<3)>>3],r=0,r|0)}function Cg(t,r){return t=t|0,r=r|0,t>>>0>15?(r=4,r|0):(P[r>>3]=+P[20784+(t<<3)>>3],r=0,r|0)}function Sg(t,r){return t=t|0,r=r|0,t>>>0>15?(r=4,r|0):(P[r>>3]=+P[20912+(t<<3)>>3],r=0,r|0)}function Dg(t,r){return t=t|0,r=r|0,t>>>0>15?(r=4,r|0):(P[r>>3]=+P[21040+(t<<3)>>3],r=0,r|0)}function Ua(t,r){t=t|0,r=r|0;var o=0;return t>>>0>15?(r=4,r|0):(o=fr(7,0,t,((t|0)<0)<<31>>31)|0,o=Ft(o|0,T()|0,120,0)|0,t=T()|0,A[r>>2]=o|2,A[r+4>>2]=t,r=0,r|0)}function Cf(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0;return F=+P[r>>3],v=+P[t>>3],p=+it(+((F-v)*.5)),f=+P[r+8>>3],g=+P[t+8>>3],c=+it(+((f-g)*.5)),h=+Xe(+v),D=+Xe(+F),c=p*p+c*(D*h*c),c=+lA(+ +yt(+c),+ +yt(+(1-c)))*2,p=+P[o>>3],F=+it(+((p-F)*.5)),a=+P[o+8>>3],f=+it(+((a-f)*.5)),l=+Xe(+p),f=F*F+f*(D*l*f),f=+lA(+ +yt(+f),+ +yt(+(1-f)))*2,p=+it(+((v-p)*.5)),a=+it(+((g-a)*.5)),a=p*p+a*(h*l*a),a=+lA(+ +yt(+a),+ +yt(+(1-a)))*2,l=(c+f+a)*.5,+(+va(+ +yt(+(+Ii(+(l*.5))*+Ii(+((l-c)*.5))*+Ii(+((l-f)*.5))*+Ii(+((l-a)*.5)))))*4)}function Ga(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0;if(h=S,S=S+192|0,f=h+168|0,c=h,l=Jr(t,r,f)|0,l|0)return o=l,S=h,o|0;if(Mn(t,r,c)|0&&Te(27795,27190,415,27199),r=A[c>>2]|0,(r|0)>0){if(a=+Cf(c+8|0,c+8+(((r|0)!=1&1)<<4)|0,f)+0,(r|0)!=1){t=1;do l=t,t=t+1|0,a=a+ +Cf(c+8+(l<<4)|0,c+8+(((t|0)%(r|0)|0)<<4)|0,f);while((t|0)<(r|0))}}else a=0;return P[o>>3]=a,o=0,S=h,o|0}function xg(t,r,o){return t=t|0,r=r|0,o=o|0,t=Ga(t,r,o)|0,t|0||(P[o>>3]=+P[o>>3]*6371.007180918475*6371.007180918475),t|0}function Rg(t,r,o){return t=t|0,r=r|0,o=o|0,t=Ga(t,r,o)|0,t|0||(P[o>>3]=+P[o>>3]*6371.007180918475*6371.007180918475*1e3*1e3),t|0}function Tg(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0;if(h=S,S=S+176|0,c=h,t=Yo(t,r,c)|0,t|0)return c=t,S=h,c|0;if(P[o>>3]=0,t=A[c>>2]|0,(t|0)<=1)return c=0,S=h,c|0;r=t+-1|0,t=0,a=+P[c+8>>3],l=+P[c+16>>3],f=0;do t=t+1|0,g=a,a=+P[c+8+(t<<4)>>3],v=+it(+((a-g)*.5)),p=l,l=+P[c+8+(t<<4)+8>>3],p=+it(+((l-p)*.5)),p=v*v+p*(+Xe(+a)*+Xe(+g)*p),f=f+ +lA(+ +yt(+p),+ +yt(+(1-p)))*2;while((t|0)<(r|0));return P[o>>3]=f,c=0,S=h,c|0}function Og(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0;if(h=S,S=S+176|0,c=h,t=Yo(t,r,c)|0,t|0)return c=t,f=+P[o>>3],f=f*6371.007180918475,P[o>>3]=f,S=h,c|0;if(P[o>>3]=0,t=A[c>>2]|0,(t|0)<=1)return c=0,f=0,f=f*6371.007180918475,P[o>>3]=f,S=h,c|0;r=t+-1|0,t=0,a=+P[c+8>>3],l=+P[c+16>>3],f=0;do t=t+1|0,g=a,a=+P[c+8+(t<<4)>>3],v=+it(+((a-g)*.5)),p=l,l=+P[c+8+(t<<4)+8>>3],p=+it(+((l-p)*.5)),p=v*v+p*(+Xe(+g)*+Xe(+a)*p),f=f+ +lA(+ +yt(+p),+ +yt(+(1-p)))*2;while((t|0)!=(r|0));return P[o>>3]=f,c=0,v=f,v=v*6371.007180918475,P[o>>3]=v,S=h,c|0}function Ig(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0;if(h=S,S=S+176|0,c=h,t=Yo(t,r,c)|0,t|0)return c=t,f=+P[o>>3],f=f*6371.007180918475,f=f*1e3,P[o>>3]=f,S=h,c|0;if(P[o>>3]=0,t=A[c>>2]|0,(t|0)<=1)return c=0,f=0,f=f*6371.007180918475,f=f*1e3,P[o>>3]=f,S=h,c|0;r=t+-1|0,t=0,a=+P[c+8>>3],l=+P[c+16>>3],f=0;do t=t+1|0,g=a,a=+P[c+8+(t<<4)>>3],v=+it(+((a-g)*.5)),p=l,l=+P[c+8+(t<<4)+8>>3],p=+it(+((l-p)*.5)),p=v*v+p*(+Xe(+g)*+Xe(+a)*p),f=f+ +lA(+ +yt(+p),+ +yt(+(1-p)))*2;while((t|0)!=(r|0));return P[o>>3]=f,c=0,v=f,v=v*6371.007180918475,v=v*1e3,P[o>>3]=v,S=h,c|0}function Bg(t){t=t|0;var r=0,o=0,a=0;return r=cA(1,12)|0,r||Te(27280,27235,49,27293),o=t+4|0,a=A[o>>2]|0,a|0?(a=a+8|0,A[a>>2]=r,A[o>>2]=r,r|0):(A[t>>2]|0&&Te(27310,27235,61,27333),a=t,A[a>>2]=r,A[o>>2]=r,r|0)}function Mg(t,r){t=t|0,r=r|0;var o=0,a=0;return a=RA(24)|0,a||Te(27347,27235,78,27361),A[a>>2]=A[r>>2],A[a+4>>2]=A[r+4>>2],A[a+8>>2]=A[r+8>>2],A[a+12>>2]=A[r+12>>2],A[a+16>>2]=0,r=t+4|0,o=A[r>>2]|0,o|0?(A[o+16>>2]=a,A[r>>2]=a,a|0):(A[t>>2]|0&&Te(27376,27235,82,27361),A[t>>2]=a,A[r>>2]=a,a|0)}function Sf(t){t=t|0;var r=0,o=0,a=0,l=0;if(t)for(a=1;;){if(r=A[t>>2]|0,r|0)do{if(o=A[r>>2]|0,o|0)do l=o,o=A[o+16>>2]|0,Se(l);while((o|0)!=0);l=r,r=A[r+8>>2]|0,Se(l)}while((r|0)!=0);if(r=t,t=A[t+8>>2]|0,a||Se(r),t)a=0;else break}}function jg(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0,Ne=0,Ve=0,xe=0,Ee=0,ue=0,Le=0,st=0,Qe=0;if(l=t+8|0,A[l>>2]|0)return Qe=1,Qe|0;if(a=A[t>>2]|0,!a)return Qe=0,Qe|0;r=a,o=0;do o=o+1|0,r=A[r+8>>2]|0;while((r|0)!=0);if(o>>>0<2)return Qe=0,Qe|0;Le=RA(o<<2)|0,Le||Te(27396,27235,317,27415),ue=RA(o<<5)|0,ue||Te(27437,27235,321,27415),A[t>>2]=0,be=t+4|0,A[be>>2]=0,A[l>>2]=0,o=0,Ee=0,ce=0,D=0;e:for(;;){if(v=A[a>>2]|0,v){f=0,c=v;do{if(p=+P[c+8>>3],r=c,c=A[c+16>>2]|0,g=(c|0)==0,l=g?v:c,h=+P[l+8>>3],+rt(+(p-h))>3.141592653589793){Qe=14;break}f=f+(h-p)*(+P[r>>3]+ +P[l>>3])}while(!g);if((Qe|0)==14){Qe=0,f=0,r=v;do H=+P[r+8>>3],xe=r+16|0,Ve=A[xe>>2]|0,Ve=(Ve|0)==0?v:Ve,W=+P[Ve+8>>3],f=f+(+P[r>>3]+ +P[Ve>>3])*((W<0?W+6.283185307179586:W)-(H<0?H+6.283185307179586:H)),r=A[((r|0)==0?a:xe)>>2]|0;while((r|0)!=0)}f>0?(A[Le+(Ee<<2)>>2]=a,Ee=Ee+1|0,l=ce,r=D):Qe=19}else Qe=19;if((Qe|0)==19){Qe=0;do if(o){if(r=o+8|0,A[r>>2]|0){Qe=21;break e}if(o=cA(1,12)|0,!o){Qe=23;break e}A[r>>2]=o,l=o+4|0,c=o,r=D}else if(D){l=be,c=D+8|0,r=a,o=t;break}else if(A[t>>2]|0){Qe=27;break e}else{l=be,c=t,r=a,o=t;break}while(!1);if(A[c>>2]=a,A[l>>2]=a,c=ue+(ce<<5)|0,g=A[a>>2]|0,g){for(v=ue+(ce<<5)+8|0,P[v>>3]=17976931348623157e292,D=ue+(ce<<5)+24|0,P[D>>3]=17976931348623157e292,P[c>>3]=-17976931348623157e292,F=ue+(ce<<5)+16|0,P[F>>3]=-17976931348623157e292,ee=17976931348623157e292,Y=-17976931348623157e292,l=0,j=g,p=17976931348623157e292,G=17976931348623157e292,K=-17976931348623157e292,h=-17976931348623157e292;f=+P[j>>3],H=+P[j+8>>3],j=A[j+16>>2]|0,N=(j|0)==0,W=+P[(N?g:j)+8>>3],f<p&&(P[v>>3]=f,p=f),H<G&&(P[D>>3]=H,G=H),f>K?P[c>>3]=f:f=K,H>h&&(P[F>>3]=H,h=H),ee=H>0&H<ee?H:ee,Y=H<0&H>Y?H:Y,l=l|+rt(+(H-W))>3.141592653589793,!N;)K=f;l&&(P[F>>3]=Y,P[D>>3]=ee)}else A[c>>2]=0,A[c+4>>2]=0,A[c+8>>2]=0,A[c+12>>2]=0,A[c+16>>2]=0,A[c+20>>2]=0,A[c+24>>2]=0,A[c+28>>2]=0;l=ce+1|0}if(xe=a+8|0,a=A[xe>>2]|0,A[xe>>2]=0,a)ce=l,D=r;else{Qe=45;break}}if((Qe|0)==21)Te(27213,27235,35,27247);else if((Qe|0)==23)Te(27267,27235,37,27247);else if((Qe|0)==27)Te(27310,27235,61,27333);else if((Qe|0)==45){e:do if((Ee|0)>0){for(xe=(l|0)==0,Ne=l<<2,Ve=(t|0)==0,Oe=0,r=0;;){if(we=A[Le+(Oe<<2)>>2]|0,xe)Qe=73;else{if(ce=RA(Ne)|0,!ce){Qe=50;break}if(be=RA(Ne)|0,!be){Qe=52;break}t:do if(Ve)o=0;else{for(l=0,o=0,c=t;a=ue+(l<<5)|0,Df(A[c>>2]|0,a,A[we>>2]|0)|0?(A[ce+(o<<2)>>2]=c,A[be+(o<<2)>>2]=a,N=o+1|0):N=o,c=A[c+8>>2]|0,c;)l=l+1|0,o=N;if((N|0)>0)if(a=A[ce>>2]|0,(N|0)==1)o=a;else for(F=0,j=-1,o=a,D=a;;){for(g=A[D>>2]|0,a=0,c=0;l=A[A[ce+(c<<2)>>2]>>2]|0,(l|0)==(g|0)?v=a:v=a+((Df(l,A[be+(c<<2)>>2]|0,A[g>>2]|0)|0)&1)|0,c=c+1|0,(c|0)!=(N|0);)a=v;if(l=(v|0)>(j|0),o=l?D:o,a=F+1|0,(a|0)==(N|0))break t;F=a,j=l?v:j,D=A[ce+(a<<2)>>2]|0}else o=0}while(!1);if(Se(ce),Se(be),o){if(l=o+4|0,a=A[l>>2]|0,a)o=a+8|0;else if(A[o>>2]|0){Qe=70;break}A[o>>2]=we,A[l>>2]=we}else Qe=73}if((Qe|0)==73){if(Qe=0,r=A[we>>2]|0,r|0)do be=r,r=A[r+16>>2]|0,Se(be);while((r|0)!=0);Se(we),r=1}if(Oe=Oe+1|0,(Oe|0)>=(Ee|0)){st=r;break e}}(Qe|0)==50?Te(27452,27235,249,27471):(Qe|0)==52?Te(27490,27235,252,27471):(Qe|0)==70&&Te(27310,27235,61,27333)}else st=0;while(!1);return Se(Le),Se(ue),Qe=st,Qe|0}return 0}function Df(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0;if(!(Ca(r,o)|0)||(r=af(r)|0,a=+P[o>>3],l=+P[o+8>>3],l=r&l<0?l+6.283185307179586:l,t=A[t>>2]|0,!t))return t=0,t|0;if(r){r=0,g=l,o=t;e:for(;;){for(;c=+P[o>>3],l=+P[o+8>>3],o=o+16|0,v=A[o>>2]|0,v=(v|0)==0?t:v,f=+P[v>>3],h=+P[v+8>>3],c>f?(p=c,c=h):(p=f,f=c,c=l,l=h),a=a==f|a==p?a+2220446049250313e-31:a,!!(a<f|a>p);)if(o=A[o>>2]|0,!o){o=22;break e}if(h=c<0?c+6.283185307179586:c,c=l<0?l+6.283185307179586:l,g=h==g|c==g?g+-2220446049250313e-31:g,p=h+(c-h)*((a-f)/(p-f)),(p<0?p+6.283185307179586:p)>g&&(r=r^1),o=A[o>>2]|0,!o){o=22;break}}if((o|0)==22)return r|0}else{r=0,g=l,o=t;e:for(;;){for(;c=+P[o>>3],l=+P[o+8>>3],o=o+16|0,v=A[o>>2]|0,v=(v|0)==0?t:v,f=+P[v>>3],h=+P[v+8>>3],c>f?(p=c,c=h):(p=f,f=c,c=l,l=h),a=a==f|a==p?a+2220446049250313e-31:a,!!(a<f|a>p);)if(o=A[o>>2]|0,!o){o=22;break e}if(g=c==g|l==g?g+-2220446049250313e-31:g,c+(l-c)*((a-f)/(p-f))>g&&(r=r^1),o=A[o>>2]|0,!o){o=22;break}}if((o|0)==22)return r|0}return 0}function XA(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0;if(Y=S,S=S+32|0,ee=Y+16|0,K=Y,f=se(t|0,r|0,52)|0,T()|0,f=f&15,j=se(o|0,a|0,52)|0,T()|0,(f|0)!=(j&15|0))return ee=12,S=Y,ee|0;if(g=se(t|0,r|0,45)|0,T()|0,g=g&127,v=se(o|0,a|0,45)|0,T()|0,v=v&127,g>>>0>121|v>>>0>121)return ee=5,S=Y,ee|0;if(j=(g|0)!=(v|0),j){if(h=ka(g,v)|0,(h|0)==7)return ee=1,S=Y,ee|0;p=ka(v,g)|0,(p|0)==7?Te(27514,27538,161,27548):(N=h,c=p)}else N=0,c=0;D=ht(g)|0,F=ht(v)|0,A[ee>>2]=0,A[ee+4>>2]=0,A[ee+8>>2]=0,A[ee+12>>2]=0;do if(N){if(v=A[4272+(g*28|0)+(N<<2)>>2]|0,h=(v|0)>0,F)if(h){g=0,p=o,h=a;do p=gg(p,h)|0,h=T()|0,c=ur(c)|0,(c|0)==1&&(c=ur(1)|0),g=g+1|0;while((g|0)!=(v|0));v=c,g=p,p=h}else v=c,g=o,p=a;else if(h){g=0,p=o,h=a;do p=ja(p,h)|0,h=T()|0,c=ur(c)|0,g=g+1|0;while((g|0)!=(v|0));v=c,g=p,p=h}else v=c,g=o,p=a;if(Fa(g,p,ee)|0,j||Te(27563,27538,191,27548),h=(D|0)!=0,c=(F|0)!=0,h&c&&Te(27590,27538,192,27548),h){if(c=Wt(t,r)|0,(c|0)==7){f=5;break}if(oe[22e3+(c*7|0)+N>>0]|0){f=1;break}p=A[21168+(c*28|0)+(N<<2)>>2]|0,g=p}else if(c){if(c=Wt(g,p)|0,(c|0)==7){f=5;break}if(oe[22e3+(c*7|0)+v>>0]|0){f=1;break}g=0,p=A[21168+(v*28|0)+(c<<2)>>2]|0}else g=0,p=0;if((g|p|0)<0)f=5;else{if((p|0)>0){h=ee+4|0,c=0;do Wo(h),c=c+1|0;while((c|0)!=(p|0))}if(A[K>>2]=0,A[K+4>>2]=0,A[K+8>>2]=0,hf(K,N),f|0)for(;uA(f)|0?Ko(K):Hr(K),(f|0)>1;)f=f+-1|0;if((g|0)>0){f=0;do Wo(K),f=f+1|0;while((f|0)!=(g|0))}G=ee+4|0,Ht(G,K,G),Nt(G),G=51}}else if(Fa(o,a,ee)|0,(D|0)!=0&(F|0)!=0)if((v|0)!=(g|0)&&Te(27621,27538,261,27548),c=Wt(t,r)|0,f=Wt(o,a)|0,(c|0)==7|(f|0)==7)f=5;else if(oe[22e3+(c*7|0)+f>>0]|0)f=1;else if(c=A[21168+(c*28|0)+(f<<2)>>2]|0,(c|0)>0){h=ee+4|0,f=0;do Wo(h),f=f+1|0;while((f|0)!=(c|0));G=51}else G=51;else G=51;while(!1);return(G|0)==51&&(f=ee+4|0,A[l>>2]=A[f>>2],A[l+4>>2]=A[f+4>>2],A[l+8>>2]=A[f+8>>2],f=0),ee=f,S=Y,ee|0}function xf(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0;if(G=S,S=S+48|0,g=G+36|0,c=G+24|0,h=G+12|0,p=G,l=se(t|0,r|0,52)|0,T()|0,l=l&15,F=se(t|0,r|0,45)|0,T()|0,F=F&127,F>>>0>121)return a=5,S=G,a|0;if(v=ht(F)|0,he(l|0,0,52)|0,K=T()|0|134225919,f=a,A[f>>2]=-1,A[f+4>>2]=K,!l)return l=Jo(o)|0,(l|0)==7||(l=Pa(F,l)|0,(l|0)==127)?(K=1,S=G,K|0):(j=he(l|0,0,45)|0,N=T()|0,F=a,N=A[F+4>>2]&-1040385|N,K=a,A[K>>2]=A[F>>2]|j,A[K+4>>2]=N,K=0,S=G,K|0);for(A[g>>2]=A[o>>2],A[g+4>>2]=A[o+4>>2],A[g+8>>2]=A[o+8>>2],o=l;;){if(f=o,o=o+-1|0,A[c>>2]=A[g>>2],A[c+4>>2]=A[g+4>>2],A[c+8>>2]=A[g+8>>2],uA(f)|0){if(l=z2(g)|0,l|0){o=13;break}A[h>>2]=A[g>>2],A[h+4>>2]=A[g+4>>2],A[h+8>>2]=A[g+8>>2],Ko(h)}else{if(l=J2(g)|0,l|0){o=13;break}A[h>>2]=A[g>>2],A[h+4>>2]=A[g+4>>2],A[h+8>>2]=A[g+8>>2],Hr(h)}if(Da(c,h,p),Nt(p),l=a,Y=A[l>>2]|0,l=A[l+4>>2]|0,W=(15-f|0)*3|0,ee=he(7,0,W|0)|0,l=l&~(T()|0),W=he(Jo(p)|0,0,W|0)|0,l=T()|0|l,K=a,A[K>>2]=W|Y&~ee,A[K+4>>2]=l,(f|0)<=1){o=14;break}}e:do if((o|0)!=13&&(o|0)==14)if((A[g>>2]|0)<=1&&(A[g+4>>2]|0)<=1&&(A[g+8>>2]|0)<=1){o=Jo(g)|0,l=Pa(F,o)|0,(l|0)==127?p=0:p=ht(l)|0;t:do if(o){if(v){if(l=Wt(t,r)|0,(l|0)==7){l=5;break e}if(f=A[21376+(l*28|0)+(o<<2)>>2]|0,(f|0)>0){l=o,o=0;do l=Vr(l)|0,o=o+1|0;while((o|0)!=(f|0))}else l=o;if((l|0)==1){l=9;break e}o=Pa(F,l)|0,(o|0)==127&&Te(27648,27538,411,27678),ht(o)|0?Te(27693,27538,412,27678):(N=o,j=f,D=l)}else N=l,j=0,D=o;if(h=A[4272+(F*28|0)+(D<<2)>>2]|0,(h|0)<=-1&&Te(27724,27538,419,27678),!p){if((j|0)<0){l=5;break e}if(j|0){f=a,l=0,o=A[f>>2]|0,f=A[f+4>>2]|0;do o=zr(o,f)|0,f=T()|0,W=a,A[W>>2]=o,A[W+4>>2]=f,l=l+1|0;while((l|0)<(j|0))}if((h|0)<=0){l=N,o=58;break}for(f=a,l=0,o=A[f>>2]|0,f=A[f+4>>2]|0;;)if(o=zr(o,f)|0,f=T()|0,W=a,A[W>>2]=o,A[W+4>>2]=f,l=l+1|0,(l|0)==(h|0)){l=N,o=58;break t}}if(c=ka(N,F)|0,(c|0)==7&&Te(27514,27538,428,27678),l=a,o=A[l>>2]|0,l=A[l+4>>2]|0,(h|0)>0){f=0;do o=zr(o,l)|0,l=T()|0,W=a,A[W>>2]=o,A[W+4>>2]=l,f=f+1|0;while((f|0)!=(h|0))}if(l=Wt(o,l)|0,(l|0)==7&&Te(27795,27538,440,27678),o=$a(N)|0,o=A[(o?21792:21584)+(c*28|0)+(l<<2)>>2]|0,(o|0)<0&&Te(27795,27538,454,27678),!o)l=N,o=58;else{c=a,l=0,f=A[c>>2]|0,c=A[c+4>>2]|0;do f=Ma(f,c)|0,c=T()|0,W=a,A[W>>2]=f,A[W+4>>2]=c,l=l+1|0;while((l|0)<(o|0));l=N,o=58}}else if((v|0)!=0&(p|0)!=0){if(o=Wt(t,r)|0,f=a,f=Wt(A[f>>2]|0,A[f+4>>2]|0)|0,(o|0)==7|(f|0)==7){l=5;break e}if(f=A[21376+(o*28|0)+(f<<2)>>2]|0,(f|0)<0){l=5;break e}if(!f)o=59;else{h=a,o=0,c=A[h>>2]|0,h=A[h+4>>2]|0;do c=zr(c,h)|0,h=T()|0,W=a,A[W>>2]=c,A[W+4>>2]=h,o=o+1|0;while((o|0)<(f|0));o=58}}else o=58;while(!1);if((o|0)==58&&p&&(o=59),(o|0)==59&&(W=a,(Wt(A[W>>2]|0,A[W+4>>2]|0)|0)==1)){l=9;break}W=a,ee=A[W>>2]|0,W=A[W+4>>2]&-1040385,Y=he(l|0,0,45)|0,W=W|(T()|0),l=a,A[l>>2]=ee|Y,A[l+4>>2]=W,l=0}else l=1;while(!1);return W=l,S=G,W|0}function Ng(t,r,o,a,l,f){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,f=f|0;var c=0,h=0;return h=S,S=S+16|0,c=h,l?t=15:(t=XA(t,r,o,a,c)|0,t||(W2(c,f),t=0)),S=h,t|0}function Fg(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0;return c=S,S=S+16|0,f=c,a?o=15:(o=Y2(o,f)|0,o||(o=xf(t,r,f,l)|0)),S=c,o|0}function Qg(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0;return p=S,S=S+32|0,c=p+12|0,h=p,f=XA(t,r,t,r,c)|0,f|0?(h=f,S=p,h|0):(t=XA(t,r,o,a,h)|0,t|0?(h=t,S=p,h|0):(c=xa(c,h)|0,h=l,A[h>>2]=c,A[h+4>>2]=((c|0)<0)<<31>>31,h=0,S=p,h|0))}function Lg(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0;return p=S,S=S+32|0,c=p+12|0,h=p,f=XA(t,r,t,r,c)|0,!f&&(f=XA(t,r,o,a,h)|0,!f)?(a=xa(c,h)|0,a=Ce(a|0,((a|0)<0)<<31>>31|0,1,0)|0,c=T()|0,h=l,A[h>>2]=a,A[h+4>>2]=c,h=0,S=p,h|0):(h=f,S=p,h|0)}function qg(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0;if(we=S,S=S+48|0,ce=we+24|0,c=we+12|0,be=we,f=XA(t,r,t,r,ce)|0,!f&&(f=XA(t,r,o,a,c)|0,!f)){W=xa(ce,c)|0,H=((W|0)<0)<<31>>31,A[ce>>2]=0,A[ce+4>>2]=0,A[ce+8>>2]=0,A[c>>2]=0,A[c+4>>2]=0,A[c+8>>2]=0,XA(t,r,t,r,ce)|0&&Te(27795,27538,692,27747),XA(t,r,o,a,c)|0&&Te(27795,27538,697,27747),yf(ce),yf(c),v=(W|0)==0?0:1/+(W|0),o=A[ce>>2]|0,G=v*+((A[c>>2]|0)-o|0),K=ce+4|0,a=A[K>>2]|0,ee=v*+((A[c+4>>2]|0)-a|0),Y=ce+8|0,f=A[Y>>2]|0,v=v*+((A[c+8>>2]|0)-f|0),A[be>>2]=o,D=be+4|0,A[D>>2]=a,F=be+8|0,A[F>>2]=f;e:do if((W|0)<0)f=0;else for(j=0,N=0;;){p=+(N>>>0)+4294967296*+(j|0),Oe=G*p+ +(o|0),h=ee*p+ +(a|0),p=v*p+ +(f|0),o=~~+ts(+Oe),c=~~+ts(+h),f=~~+ts(+p),Oe=+rt(+(+(o|0)-Oe)),h=+rt(+(+(c|0)-h)),p=+rt(+(+(f|0)-p));do if(Oe>h&Oe>p)o=0-(c+f)|0,a=c;else if(g=0-o|0,h>p){a=g-f|0;break}else{a=c,f=g-c|0;break}while(!1);if(A[be>>2]=o,A[D>>2]=a,A[F>>2]=f,X2(be),f=xf(t,r,be,l+(N<<3)|0)|0,f|0)break e;if(!((j|0)<(H|0)|(j|0)==(H|0)&N>>>0<W>>>0)){f=0;break e}o=Ce(N|0,j|0,1,0)|0,a=T()|0,j=a,N=o,o=A[ce>>2]|0,a=A[K>>2]|0,f=A[Y>>2]|0}while(!1);return be=f,S=we,be|0}return be=f,S=we,be|0}function fr(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0;if((o|0)==0&(a|0)==0)return l=0,f=1,je(l|0),f|0;f=t,l=r,t=1,r=0;do c=(o&1|0)==0&!0,t=Ft((c?1:f)|0,(c?0:l)|0,t|0,r|0)|0,r=T()|0,o=qf(o|0,a|0,1)|0,a=T()|0,f=Ft(f|0,l|0,f|0,l|0)|0,l=T()|0;while(!((o|0)==0&(a|0)==0));return je(r|0),t|0}function Ha(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,v=0;h=S,S=S+16|0,f=h,c=se(t|0,r|0,52)|0,T()|0,c=c&15;do if(c){if(l=Jr(t,r,f)|0,!l){g=+P[f>>3],p=1/+Xe(+g),v=+P[25968+(c<<3)>>3],P[o>>3]=g+v,P[o+8>>3]=g-v,g=+P[f+8>>3],p=v*p,P[o+16>>3]=p+g,P[o+24>>3]=g-p;break}return c=l,S=h,c|0}else{if(l=se(t|0,r|0,45)|0,T()|0,l=l&127,l>>>0>121)return c=5,S=h,c|0;f=22064+(l<<5)|0,A[o>>2]=A[f>>2],A[o+4>>2]=A[f+4>>2],A[o+8>>2]=A[f+8>>2],A[o+12>>2]=A[f+12>>2],A[o+16>>2]=A[f+16>>2],A[o+20>>2]=A[f+20>>2],A[o+24>>2]=A[f+24>>2],A[o+28>>2]=A[f+28>>2];break}while(!1);return G2(o,a?1.4:1.1),a=26096+(c<<3)|0,(A[a>>2]|0)==(t|0)&&(A[a+4>>2]|0)==(r|0)&&(P[o>>3]=1.5707963267948966),c=26224+(c<<3)|0,(A[c>>2]|0)==(t|0)&&(A[c+4>>2]|0)==(r|0)&&(P[o+8>>3]=-1.5707963267948966),+P[o>>3]!=1.5707963267948966&&+P[o+8>>3]!=-1.5707963267948966?(c=0,S=h,c|0):(P[o+16>>3]=3.141592653589793,P[o+24>>3]=-3.141592653589793,c=0,S=h,c|0)}function Ug(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,v=0;g=S,S=S+48|0,c=g+32|0,f=g+40|0,h=g,Ia(c,0,0,0),p=A[c>>2]|0,c=A[c+4>>2]|0;do if(o>>>0<=15){if(l=Qi(a)|0,l|0){a=h,A[a>>2]=0,A[a+4>>2]=0,A[h+8>>2]=l,A[h+12>>2]=-1,a=h+16|0,p=h+29|0,A[a>>2]=0,A[a+4>>2]=0,A[a+8>>2]=0,oe[a+12>>0]=0,oe[p>>0]=oe[f>>0]|0,oe[p+1>>0]=oe[f+1>>0]|0,oe[p+2>>0]=oe[f+2>>0]|0;break}if(l=cA((A[r+8>>2]|0)+1|0,32)|0,l){Va(r,l),v=h,A[v>>2]=p,A[v+4>>2]=c,A[h+8>>2]=0,A[h+12>>2]=o,A[h+16>>2]=a,A[h+20>>2]=r,A[h+24>>2]=l,oe[h+28>>0]=0,p=h+29|0,oe[p>>0]=oe[f>>0]|0,oe[p+1>>0]=oe[f+1>>0]|0,oe[p+2>>0]=oe[f+2>>0]|0;break}else{a=h,A[a>>2]=0,A[a+4>>2]=0,A[h+8>>2]=13,A[h+12>>2]=-1,a=h+16|0,p=h+29|0,A[a>>2]=0,A[a+4>>2]=0,A[a+8>>2]=0,oe[a+12>>0]=0,oe[p>>0]=oe[f>>0]|0,oe[p+1>>0]=oe[f+1>>0]|0,oe[p+2>>0]=oe[f+2>>0]|0;break}}else p=h,A[p>>2]=0,A[p+4>>2]=0,A[h+8>>2]=4,A[h+12>>2]=-1,p=h+16|0,v=h+29|0,A[p>>2]=0,A[p+4>>2]=0,A[p+8>>2]=0,oe[p+12>>0]=0,oe[v>>0]=oe[f>>0]|0,oe[v+1>>0]=oe[f+1>>0]|0,oe[v+2>>0]=oe[f+2>>0]|0;while(!1);Xo(h),A[t>>2]=A[h>>2],A[t+4>>2]=A[h+4>>2],A[t+8>>2]=A[h+8>>2],A[t+12>>2]=A[h+12>>2],A[t+16>>2]=A[h+16>>2],A[t+20>>2]=A[h+20>>2],A[t+24>>2]=A[h+24>>2],A[t+28>>2]=A[h+28>>2],S=g}function Xo(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0;if(H=S,S=S+336|0,j=H+168|0,N=H,a=t,o=A[a>>2]|0,a=A[a+4>>2]|0,(o|0)==0&(a|0)==0){S=H;return}if(r=t+28|0,oe[r>>0]|0?(o=Rf(o,a)|0,a=T()|0):oe[r>>0]=1,W=t+20|0,!(A[A[W>>2]>>2]|0)){r=t+24|0,o=A[r>>2]|0,o|0&&Se(o),Y=t,A[Y>>2]=0,A[Y+4>>2]=0,A[t+8>>2]=0,A[W>>2]=0,A[t+12>>2]=-1,A[t+16>>2]=0,A[r>>2]=0,S=H;return}Y=t+16|0,r=A[Y>>2]|0,l=r&15;e:do if((o|0)==0&(a|0)==0)ee=t+24|0;else{G=t+12|0,D=(l|0)==3,v=r&255,p=(l|1|0)==3,F=t+24|0,g=(l+-1|0)>>>0<3,c=(l|2|0)==3,h=N+8|0;t:for(;;){if(f=se(o|0,a|0,52)|0,T()|0,f=f&15,(f|0)==(A[G>>2]|0)){switch(v&15){case 0:case 2:case 3:{if(l=Jr(o,a,j)|0,l|0){K=15;break t}if(za(A[W>>2]|0,A[F>>2]|0,j)|0){K=19;break t}break}default:}if(p&&(l=A[(A[W>>2]|0)+4>>2]|0,A[j>>2]=A[l>>2],A[j+4>>2]=A[l+4>>2],A[j+8>>2]=A[l+8>>2],A[j+12>>2]=A[l+12>>2],Ca(26832,j)|0)){if(Na(A[(A[W>>2]|0)+4>>2]|0,f,N)|0){K=25;break}if(l=N,(A[l>>2]|0)==(o|0)&&(A[l+4>>2]|0)==(a|0)){K=29;break}}if(g){if(l=Mn(o,a,j)|0,l|0){K=32;break}if(Ha(o,a,N,0)|0){K=36;break}if(c&&Of(A[W>>2]|0,A[F>>2]|0,j,N)|0){K=42;break}if(p&&If(A[W>>2]|0,A[F>>2]|0,j,N)|0){K=42;break}}if(D){if(r=Ha(o,a,j,1)|0,l=A[F>>2]|0,r|0){K=45;break}if(Sa(l,j)|0){if(uf(N,j),lf(j,A[F>>2]|0)|0){K=53;break}if(za(A[W>>2]|0,A[F>>2]|0,h)|0){K=53;break}if(If(A[W>>2]|0,A[F>>2]|0,N,j)|0){K=53;break}}}}do if((f|0)<(A[G>>2]|0)){if(r=Ha(o,a,j,1)|0,l=A[F>>2]|0,r|0){K=58;break t}if(!(Sa(l,j)|0)){K=73;break}if(lf(A[F>>2]|0,j)|0&&(uf(N,j),Of(A[W>>2]|0,A[F>>2]|0,N,j)|0)){K=65;break t}if(o=Ef(o,a,f+1|0,N)|0,o|0){K=67;break t}a=N,o=A[a>>2]|0,a=A[a+4>>2]|0}else K=73;while(!1);if((K|0)==73&&(K=0,o=Rf(o,a)|0,a=T()|0),(o|0)==0&(a|0)==0){ee=F;break e}}switch(K|0){case 15:{r=A[F>>2]|0,r|0&&Se(r),K=t,A[K>>2]=0,A[K+4>>2]=0,A[W>>2]=0,A[G>>2]=-1,A[Y>>2]=0,A[F>>2]=0,A[t+8>>2]=l,K=20;break}case 19:{A[t>>2]=o,A[t+4>>2]=a,K=20;break}case 25:{Te(27795,27761,470,27772);break}case 29:{A[t>>2]=o,A[t+4>>2]=a,S=H;return}case 32:{r=A[F>>2]|0,r|0&&Se(r),ee=t,A[ee>>2]=0,A[ee+4>>2]=0,A[W>>2]=0,A[G>>2]=-1,A[Y>>2]=0,A[F>>2]=0,A[t+8>>2]=l,S=H;return}case 36:{Te(27795,27761,493,27772);break}case 42:{A[t>>2]=o,A[t+4>>2]=a,S=H;return}case 45:{l|0&&Se(l),K=t,A[K>>2]=0,A[K+4>>2]=0,A[W>>2]=0,A[G>>2]=-1,A[Y>>2]=0,A[F>>2]=0,A[t+8>>2]=r,K=55;break}case 53:{A[t>>2]=o,A[t+4>>2]=a,K=55;break}case 58:{l|0&&Se(l),K=t,A[K>>2]=0,A[K+4>>2]=0,A[W>>2]=0,A[G>>2]=-1,A[Y>>2]=0,A[F>>2]=0,A[t+8>>2]=r,K=71;break}case 65:{A[t>>2]=o,A[t+4>>2]=a,K=71;break}case 67:{r=A[F>>2]|0,r|0&&Se(r),ee=t,A[ee>>2]=0,A[ee+4>>2]=0,A[W>>2]=0,A[G>>2]=-1,A[Y>>2]=0,A[F>>2]=0,A[t+8>>2]=o,S=H;return}}if((K|0)==20){S=H;return}else if((K|0)==55){S=H;return}else if((K|0)==71){S=H;return}}while(!1);r=A[ee>>2]|0,r|0&&Se(r),K=t,A[K>>2]=0,A[K+4>>2]=0,A[t+8>>2]=0,A[W>>2]=0,A[t+12>>2]=-1,A[Y>>2]=0,A[ee>>2]=0,S=H}function Rf(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0;D=S,S=S+16|0,v=D,a=se(t|0,r|0,52)|0,T()|0,a=a&15,o=se(t|0,r|0,45)|0,T()|0;do if(a){for(;o=he(a+4095|0,0,52)|0,l=T()|0|r&-15728641,f=(15-a|0)*3|0,c=he(7,0,f|0)|0,h=T()|0,o=o|t|c,l=l|h,p=se(t|0,r|0,f|0)|0,T()|0,p=p&7,a=a+-1|0,!(p>>>0<6);)if(a)r=l,t=o;else{g=4;break}if((g|0)==4){o=se(o|0,l|0,45)|0,T()|0;break}return v=(p|0)==0&(ut(o,l)|0)!=0,v=he((v?2:1)+p|0,0,f|0)|0,g=T()|0|r&~h,v=v|t&~c,je(g|0),S=D,v|0}while(!1);return o=o&127,o>>>0>120?(g=0,v=0,je(g|0),S=D,v|0):(Ia(v,0,o+1|0,0),g=A[v+4>>2]|0,v=A[v>>2]|0,je(g|0),S=D,v|0)}function Gg(t,r,o,a,l,f){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,f=f|0;var c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0;K=S,S=S+160|0,D=K+80|0,h=K+64|0,F=K+112|0,G=K,Ug(D,t,r,o),g=D,La(h,A[g>>2]|0,A[g+4>>2]|0,r),g=h,p=A[g>>2]|0,g=A[g+4>>2]|0,c=A[D+8>>2]|0,j=F+4|0,A[j>>2]=A[D>>2],A[j+4>>2]=A[D+4>>2],A[j+8>>2]=A[D+8>>2],A[j+12>>2]=A[D+12>>2],A[j+16>>2]=A[D+16>>2],A[j+20>>2]=A[D+20>>2],A[j+24>>2]=A[D+24>>2],A[j+28>>2]=A[D+28>>2],j=G,A[j>>2]=p,A[j+4>>2]=g,j=G+8|0,A[j>>2]=c,t=G+12|0,r=F,o=t+36|0;do A[t>>2]=A[r>>2],t=t+4|0,r=r+4|0;while((t|0)<(o|0));if(F=G+48|0,A[F>>2]=A[h>>2],A[F+4>>2]=A[h+4>>2],A[F+8>>2]=A[h+8>>2],A[F+12>>2]=A[h+12>>2],(p|0)==0&(g|0)==0)return G=c,S=K,G|0;o=G+16|0,v=G+24|0,D=G+28|0,c=0,h=0,r=p,t=g;do{if(!((c|0)<(l|0)|(c|0)==(l|0)&h>>>0<a>>>0)){N=4;break}if(g=h,h=Ce(h|0,c|0,1,0)|0,c=T()|0,g=f+(g<<3)|0,A[g>>2]=r,A[g+4>>2]=t,qa(F),t=F,r=A[t>>2]|0,t=A[t+4>>2]|0,(r|0)==0&(t|0)==0){if(Xo(o),r=o,t=A[r>>2]|0,r=A[r+4>>2]|0,(t|0)==0&(r|0)==0){N=10;break}Pf(t,r,A[D>>2]|0,F),t=F,r=A[t>>2]|0,t=A[t+4>>2]|0}g=G,A[g>>2]=r,A[g+4>>2]=t}while(!((r|0)==0&(t|0)==0));return(N|0)==4?(t=G+40|0,r=A[t>>2]|0,r|0&&Se(r),N=G+16|0,A[N>>2]=0,A[N+4>>2]=0,A[v>>2]=0,A[G+36>>2]=0,A[D>>2]=-1,A[G+32>>2]=0,A[t>>2]=0,Pf(0,0,0,F),A[G>>2]=0,A[G+4>>2]=0,A[j>>2]=0,G=14,S=K,G|0):((N|0)==10&&(A[G>>2]=0,A[G+4>>2]=0,A[j>>2]=A[v>>2]),G=A[j>>2]|0,S=K,G|0)}function Hg(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0;if(D=S,S=S+48|0,p=D+32|0,h=D+40|0,g=D,!(A[t>>2]|0))return v=a,A[v>>2]=0,A[v+4>>2]=0,v=0,S=D,v|0;Ia(p,0,0,0),c=p,l=A[c>>2]|0,c=A[c+4>>2]|0;do if(r>>>0>15)v=g,A[v>>2]=0,A[v+4>>2]=0,A[g+8>>2]=4,A[g+12>>2]=-1,v=g+16|0,o=g+29|0,A[v>>2]=0,A[v+4>>2]=0,A[v+8>>2]=0,oe[v+12>>0]=0,oe[o>>0]=oe[h>>0]|0,oe[o+1>>0]=oe[h+1>>0]|0,oe[o+2>>0]=oe[h+2>>0]|0,o=4,v=9;else{if(o=Qi(o)|0,o|0){p=g,A[p>>2]=0,A[p+4>>2]=0,A[g+8>>2]=o,A[g+12>>2]=-1,p=g+16|0,v=g+29|0,A[p>>2]=0,A[p+4>>2]=0,A[p+8>>2]=0,oe[p+12>>0]=0,oe[v>>0]=oe[h>>0]|0,oe[v+1>>0]=oe[h+1>>0]|0,oe[v+2>>0]=oe[h+2>>0]|0,v=9;break}if(o=cA((A[t+8>>2]|0)+1|0,32)|0,!o){v=g,A[v>>2]=0,A[v+4>>2]=0,A[g+8>>2]=13,A[g+12>>2]=-1,v=g+16|0,o=g+29|0,A[v>>2]=0,A[v+4>>2]=0,A[v+8>>2]=0,oe[v+12>>0]=0,oe[o>>0]=oe[h>>0]|0,oe[o+1>>0]=oe[h+1>>0]|0,oe[o+2>>0]=oe[h+2>>0]|0,o=13,v=9;break}Va(t,o),j=g,A[j>>2]=l,A[j+4>>2]=c,c=g+8|0,A[c>>2]=0,A[g+12>>2]=r,A[g+20>>2]=t,A[g+24>>2]=o,oe[g+28>>0]=0,l=g+29|0,oe[l>>0]=oe[h>>0]|0,oe[l+1>>0]=oe[h+1>>0]|0,oe[l+2>>0]=oe[h+2>>0]|0,A[g+16>>2]=3,F=+L2(o),F=F*+Q2(o),f=+rt(+ +P[o>>3]),f=F/+Xe(+ +es(+f,+ +rt(+ +P[o+8>>3])))*6371.007180918475*6371.007180918475,l=g+12|0,o=A[l>>2]|0;e:do if((o|0)>0)do{if(kf(o+-1|0,p)|0,!(f/+P[p>>3]>10))break e;j=A[l>>2]|0,o=j+-1|0,A[l>>2]=o}while((j|0)>1);while(!1);if(Xo(g),l=a,A[l>>2]=0,A[l+4>>2]=0,l=g,o=A[l>>2]|0,l=A[l+4>>2]|0,!((o|0)==0&(l|0)==0))do Mi(o,l,r,p)|0,h=p,t=a,h=Ce(A[t>>2]|0,A[t+4>>2]|0,A[h>>2]|0,A[h+4>>2]|0)|0,t=T()|0,j=a,A[j>>2]=h,A[j+4>>2]=t,Xo(g),j=g,o=A[j>>2]|0,l=A[j+4>>2]|0;while(!((o|0)==0&(l|0)==0));o=A[c>>2]|0}while(!1);return j=o,S=D,j|0}function Fi(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0;if(!(Ca(r,o)|0)||(r=af(r)|0,a=+P[o>>3],l=+P[o+8>>3],l=r&l<0?l+6.283185307179586:l,F=A[t>>2]|0,(F|0)<=0))return F=0,F|0;if(D=A[t+4>>2]|0,r){r=0,v=l,o=-1,t=0;e:for(;;){for(g=t;c=+P[D+(g<<4)>>3],l=+P[D+(g<<4)+8>>3],t=(o+2|0)%(F|0)|0,f=+P[D+(t<<4)>>3],h=+P[D+(t<<4)+8>>3],c>f?(p=c,c=h):(p=f,f=c,c=l,l=h),a=a==f|a==p?a+2220446049250313e-31:a,!!(a<f|a>p);)if(o=g+1|0,(o|0)>=(F|0)){o=22;break e}else t=g,g=o,o=t;if(h=c<0?c+6.283185307179586:c,c=l<0?l+6.283185307179586:l,v=h==v|c==v?v+-2220446049250313e-31:v,p=h+(c-h)*((a-f)/(p-f)),(p<0?p+6.283185307179586:p)>v&&(r=r^1),t=g+1|0,(t|0)>=(F|0)){o=22;break}else o=g}if((o|0)==22)return r|0}else{r=0,v=l,o=-1,t=0;e:for(;;){for(g=t;c=+P[D+(g<<4)>>3],l=+P[D+(g<<4)+8>>3],t=(o+2|0)%(F|0)|0,f=+P[D+(t<<4)>>3],h=+P[D+(t<<4)+8>>3],c>f?(p=c,c=h):(p=f,f=c,c=l,l=h),a=a==f|a==p?a+2220446049250313e-31:a,!!(a<f|a>p);)if(o=g+1|0,(o|0)>=(F|0)){o=22;break e}else t=g,g=o,o=t;if(v=c==v|l==v?v+-2220446049250313e-31:v,c+(l-c)*((a-f)/(p-f))>v&&(r=r^1),t=g+1|0,(t|0)>=(F|0)){o=22;break}else o=g}if((o|0)==22)return r|0}return 0}function Tf(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0;if(N=A[t>>2]|0,!N){A[r>>2]=0,A[r+4>>2]=0,A[r+8>>2]=0,A[r+12>>2]=0,A[r+16>>2]=0,A[r+20>>2]=0,A[r+24>>2]=0,A[r+28>>2]=0;return}if(G=r+8|0,P[G>>3]=17976931348623157e292,K=r+24|0,P[K>>3]=17976931348623157e292,P[r>>3]=-17976931348623157e292,ee=r+16|0,P[ee>>3]=-17976931348623157e292,!((N|0)<=0)){for(F=A[t+4>>2]|0,g=17976931348623157e292,v=-17976931348623157e292,D=0,t=-1,f=17976931348623157e292,c=17976931348623157e292,p=-17976931348623157e292,a=-17976931348623157e292,j=0;o=+P[F+(j<<4)>>3],h=+P[F+(j<<4)+8>>3],t=t+2|0,l=+P[F+(((t|0)==(N|0)?0:t)<<4)+8>>3],o<f&&(P[G>>3]=o,f=o),h<c&&(P[K>>3]=h,c=h),o>p?P[r>>3]=o:o=p,h>a&&(P[ee>>3]=h,a=h),g=h>0&h<g?h:g,v=h<0&h>v?h:v,D=D|+rt(+(h-l))>3.141592653589793,t=j+1|0,(t|0)!=(N|0);)Y=j,p=o,j=t,t=Y;D&&(P[ee>>3]=v,P[K>>3]=g)}}function Qi(t){return t=t|0,(t>>>0<4?0:15)|0}function Va(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0;if(N=A[t>>2]|0,N){if(G=r+8|0,P[G>>3]=17976931348623157e292,K=r+24|0,P[K>>3]=17976931348623157e292,P[r>>3]=-17976931348623157e292,ee=r+16|0,P[ee>>3]=-17976931348623157e292,(N|0)>0){for(l=A[t+4>>2]|0,F=17976931348623157e292,j=-17976931348623157e292,a=0,o=-1,p=17976931348623157e292,g=17976931348623157e292,D=-17976931348623157e292,c=-17976931348623157e292,Y=0;f=+P[l+(Y<<4)>>3],v=+P[l+(Y<<4)+8>>3],be=o+2|0,h=+P[l+(((be|0)==(N|0)?0:be)<<4)+8>>3],f<p&&(P[G>>3]=f,p=f),v<g&&(P[K>>3]=v,g=v),f>D?P[r>>3]=f:f=D,v>c&&(P[ee>>3]=v,c=v),F=v>0&v<F?v:F,j=v<0&v>j?v:j,a=a|+rt(+(v-h))>3.141592653589793,o=Y+1|0,(o|0)!=(N|0);)be=Y,D=f,Y=o,o=be;a&&(P[ee>>3]=j,P[K>>3]=F)}}else A[r>>2]=0,A[r+4>>2]=0,A[r+8>>2]=0,A[r+12>>2]=0,A[r+16>>2]=0,A[r+20>>2]=0,A[r+24>>2]=0,A[r+28>>2]=0;if(be=t+8|0,o=A[be>>2]|0,!((o|0)<=0)){ce=t+12|0,H=0;do if(l=A[ce>>2]|0,a=H,H=H+1|0,K=r+(H<<5)|0,ee=A[l+(a<<3)>>2]|0,ee){if(Y=r+(H<<5)+8|0,P[Y>>3]=17976931348623157e292,t=r+(H<<5)+24|0,P[t>>3]=17976931348623157e292,P[K>>3]=-17976931348623157e292,W=r+(H<<5)+16|0,P[W>>3]=-17976931348623157e292,(ee|0)>0){for(N=A[l+(a<<3)+4>>2]|0,F=17976931348623157e292,j=-17976931348623157e292,l=0,a=-1,G=0,p=17976931348623157e292,g=17976931348623157e292,v=-17976931348623157e292,c=-17976931348623157e292;f=+P[N+(G<<4)>>3],D=+P[N+(G<<4)+8>>3],a=a+2|0,h=+P[N+(((a|0)==(ee|0)?0:a)<<4)+8>>3],f<p&&(P[Y>>3]=f,p=f),D<g&&(P[t>>3]=D,g=D),f>v?P[K>>3]=f:f=v,D>c&&(P[W>>3]=D,c=D),F=D>0&D<F?D:F,j=D<0&D>j?D:j,l=l|+rt(+(D-h))>3.141592653589793,a=G+1|0,(a|0)!=(ee|0);)we=G,G=a,v=f,a=we;l&&(P[W>>3]=j,P[t>>3]=F)}}else A[K>>2]=0,A[K+4>>2]=0,A[K+8>>2]=0,A[K+12>>2]=0,A[K+16>>2]=0,A[K+20>>2]=0,A[K+24>>2]=0,A[K+28>>2]=0,o=A[be>>2]|0;while((H|0)<(o|0))}}function za(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;if(!(Fi(t,r,o)|0))return l=0,l|0;if(l=t+8|0,(A[l>>2]|0)<=0)return l=1,l|0;for(a=t+12|0,t=0;;){if(f=t,t=t+1|0,Fi((A[a>>2]|0)+(f<<3)|0,r+(t<<5)|0,o)|0){t=0,a=6;break}if((t|0)>=(A[l>>2]|0)){t=1,a=6;break}}return(a|0)==6?t|0:0}function Of(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,v=0;if(g=S,S=S+16|0,h=g,c=o+8|0,!(Fi(t,r,c)|0))return p=0,S=g,p|0;p=t+8|0;e:do if((A[p>>2]|0)>0){for(f=t+12|0,l=0;;){if(v=l,l=l+1|0,Fi((A[f>>2]|0)+(v<<3)|0,r+(l<<5)|0,c)|0){l=0;break}if((l|0)>=(A[p>>2]|0))break e}return S=g,l|0}while(!1);if(Zo(t,r,o,a)|0)return v=0,S=g,v|0;A[h>>2]=A[o>>2],A[h+4>>2]=c,l=A[p>>2]|0;e:do if((l|0)>0)for(t=t+12|0,c=0,f=l;;){if(l=A[t>>2]|0,(A[l+(c<<3)>>2]|0)>0){if(Fi(h,a,A[l+(c<<3)+4>>2]|0)|0){l=0;break e}if(l=c+1|0,Zo((A[t>>2]|0)+(c<<3)|0,r+(l<<5)|0,o,a)|0){l=0;break e}f=A[p>>2]|0}else l=c+1|0;if((l|0)<(f|0))c=l;else{l=1;break}}else l=1;while(!1);return v=l,S=g,v|0}function Zo(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0;if(be=S,S=S+176|0,Y=be+172|0,l=be+168|0,W=be,!(Sa(r,a)|0))return t=0,S=be,t|0;if(q2(r,a,Y,l),Qn(W|0,o|0,168)|0,(A[o>>2]|0)>0){r=0;do we=W+8+(r<<4)+8|0,ee=+AA(+P[we>>3],A[l>>2]|0),P[we>>3]=ee,r=r+1|0;while((r|0)<(A[o>>2]|0))}G=+P[a>>3],K=+P[a+8>>3],ee=+AA(+P[a+16>>3],A[l>>2]|0),j=+AA(+P[a+24>>3],A[l>>2]|0);e:do if((A[t>>2]|0)>0){if(a=t+4|0,l=A[W>>2]|0,(l|0)<=0){for(r=0;;)if(r=r+1|0,(r|0)>=(A[t>>2]|0)){r=0;break e}}for(o=0;;){if(r=A[a>>2]|0,F=+P[r+(o<<4)>>3],N=+AA(+P[r+(o<<4)+8>>3],A[Y>>2]|0),r=A[a>>2]|0,o=o+1|0,we=(o|0)%(A[t>>2]|0)|0,f=+P[r+(we<<4)>>3],c=+AA(+P[r+(we<<4)+8>>3],A[Y>>2]|0),!(F>=G)|!(f>=G)&&!(F<=K)|!(f<=K)&&!(N<=j)|!(c<=j)&&!(N>=ee)|!(c>=ee)){D=f-F,g=c-N,r=0;do if(Oe=r,r=r+1|0,we=(r|0)==(l|0)?0:r,f=+P[W+8+(Oe<<4)+8>>3],c=+P[W+8+(we<<4)+8>>3]-f,h=+P[W+8+(Oe<<4)>>3],p=+P[W+8+(we<<4)>>3]-h,v=D*c-g*p,v!=0&&(H=N-f,ce=F-h,p=(H*p-c*ce)/v,!(p<0|p>1))&&(v=(D*H-g*ce)/v,v>=0&v<=1)){r=1;break e}while((r|0)<(l|0))}if((o|0)>=(A[t>>2]|0)){r=0;break}}}else r=0;while(!1);return Oe=r,S=be,Oe|0}function If(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0;if(Zo(t,r,o,a)|0)return f=1,f|0;if(f=t+8|0,(A[f>>2]|0)<=0)return f=0,f|0;for(l=t+12|0,t=0;;){if(c=t,t=t+1|0,Zo((A[l>>2]|0)+(c<<3)|0,r+(t<<5)|0,o,a)|0){t=1,l=6;break}if((t|0)>=(A[f>>2]|0)){t=0,l=6;break}}return(l|0)==6?t|0:0}function Vg(){return 8}function zg(){return 16}function Jg(){return 168}function Kg(){return 8}function Wg(){return 16}function Yg(){return 12}function Xg(){return 8}function Zg(t){return t=t|0,+(+((A[t>>2]|0)>>>0)+4294967296*+(A[t+4>>2]|0))}function e1(t){t=t|0;var r=0,o=0;return o=+P[t>>3],r=+P[t+8>>3],+ +yt(+(o*o+r*r))}function Bf(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0;g=+P[t>>3],p=+P[r>>3]-g,h=+P[t+8>>3],c=+P[r+8>>3]-h,D=+P[o>>3],f=+P[a>>3]-D,F=+P[o+8>>3],v=+P[a+8>>3]-F,f=(f*(h-F)-(g-D)*v)/(p*v-c*f),P[l>>3]=g+p*f,P[l+8>>3]=h+c*f}function Mf(t,r){return t=t|0,r=r|0,+rt(+(+P[t>>3]-+P[r>>3]))<11920928955078125e-23?(r=+rt(+(+P[t+8>>3]-+P[r+8>>3]))<11920928955078125e-23,r|0):(r=0,r|0)}function vt(t,r){t=t|0,r=r|0;var o=0,a=0,l=0;return l=+P[t>>3]-+P[r>>3],a=+P[t+8>>3]-+P[r+8>>3],o=+P[t+16>>3]-+P[r+16>>3],+(l*l+a*a+o*o)}function t1(t,r){t=t|0,r=r|0;var o=0,a=0,l=0;o=+P[t>>3],a=+Xe(+o),o=+it(+o),P[r+16>>3]=o,o=+P[t+8>>3],l=a*+Xe(+o),P[r>>3]=l,o=a*+it(+o),P[r+8>>3]=o}function A1(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;if(f=S,S=S+16|0,l=f,a=ut(t,r)|0,(o+-1|0)>>>0>5||(a=(a|0)!=0,(o|0)==1&a))return l=-1,S=f,l|0;do if(Li(t,r,l)|0)a=-1;else if(a){a=((A[26352+(o<<2)>>2]|0)+5-(A[l>>2]|0)|0)%5|0;break}else{a=((A[26384+(o<<2)>>2]|0)+6-(A[l>>2]|0)|0)%6|0;break}while(!1);return l=a,S=f,l|0}function Li(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0;if(g=S,S=S+32|0,c=g+16|0,h=g,a=Bn(t,r,c)|0,a|0)return o=a,S=g,o|0;f=vf(t,r)|0,p=Wt(t,r)|0,M2(f,h),a=j2(f,A[c>>2]|0)|0;e:do if(ht(f)|0){do switch(f|0){case 4:{t=0;break}case 14:{t=1;break}case 24:{t=2;break}case 38:{t=3;break}case 49:{t=4;break}case 58:{t=5;break}case 63:{t=6;break}case 72:{t=7;break}case 83:{t=8;break}case 97:{t=9;break}case 107:{t=10;break}case 117:{t=11;break}default:{a=1;break e}}while(!1);if(l=A[26416+(t*24|0)+8>>2]|0,r=A[26416+(t*24|0)+16>>2]|0,t=A[c>>2]|0,(t|0)!=(A[h>>2]|0)&&(h=$a(f)|0,t=A[c>>2]|0,h|(t|0)==(r|0)&&(a=(a+1|0)%6|0)),(p|0)==3&(t|0)==(r|0)){a=(a+5|0)%6|0,l=22;break}(p|0)==5&(t|0)==(l|0)&&(a=(a+1|0)%6|0),l=22}else l=22;while(!1);return(l|0)==22&&(A[o>>2]=a,a=0),o=a,S=g,o|0}function fA(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0;if(W=S,S=S+32|0,Y=W+24|0,K=W+20|0,N=W+8|0,j=W+16|0,F=W,p=(ut(t,r)|0)==0,p=p?6:5,v=se(t|0,r|0,52)|0,T()|0,v=v&15,p>>>0<=o>>>0)return a=2,S=W,a|0;D=(v|0)==0,!D&&(G=he(7,0,(v^15)*3|0)|0,(G&t|0)==0&((T()|0)&r|0)==0)?l=o:f=4;e:do if((f|0)==4){if(l=(ut(t,r)|0)!=0,((l?4:5)|0)<(o|0)||Li(t,r,Y)|0||(f=(A[Y>>2]|0)+o|0,l?l=26704+(((f|0)%5|0)<<2)|0:l=26736+(((f|0)%6|0)<<2)|0,G=A[l>>2]|0,(G|0)==7))return a=1,S=W,a|0;A[K>>2]=0,l=Dt(t,r,G,K,N)|0;do if(!l){if(h=N,g=A[h>>2]|0,h=A[h+4>>2]|0,c=h>>>0<r>>>0|(h|0)==(r|0)&g>>>0<t>>>0,f=c?g:t,c=c?h:r,!D&&(D=he(7,0,(v^15)*3|0)|0,(g&D|0)==0&(h&(T()|0)|0)==0))l=o;else{if(h=(o+-1+p|0)%(p|0)|0,l=ut(t,r)|0,(h|0)<0&&Te(27795,27797,246,27806),p=(l|0)!=0,((p?4:5)|0)<(h|0)&&Te(27795,27797,246,27806),Li(t,r,Y)|0&&Te(27795,27797,246,27806),l=(A[Y>>2]|0)+h|0,p?l=26704+(((l|0)%5|0)<<2)|0:l=26736+(((l|0)%6|0)<<2)|0,h=A[l>>2]|0,(h|0)==7&&Te(27795,27797,246,27806),A[j>>2]=0,l=Dt(t,r,h,j,F)|0,l|0)break;g=F,p=A[g>>2]|0,g=A[g+4>>2]|0;do if(g>>>0<c>>>0|(g|0)==(c|0)&p>>>0<f>>>0){if(ut(p,g)|0?f=Ea(p,g,t,r)|0:f=A[26800+((((A[j>>2]|0)+(A[26768+(h<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,l=ut(p,g)|0,(f+-1|0)>>>0>5){l=-1,f=p,c=g;break}if(l=(l|0)!=0,(f|0)==1&l){l=-1,f=p,c=g;break}do if(Li(p,g,Y)|0)l=-1;else if(l){l=((A[26352+(f<<2)>>2]|0)+5-(A[Y>>2]|0)|0)%5|0;break}else{l=((A[26384+(f<<2)>>2]|0)+6-(A[Y>>2]|0)|0)%6|0;break}while(!1);f=p,c=g}else l=o;while(!1);h=N,g=A[h>>2]|0,h=A[h+4>>2]|0}if((f|0)==(g|0)&(c|0)==(h|0)){if(p=(ut(g,h)|0)!=0,p?t=Ea(g,h,t,r)|0:t=A[26800+((((A[K>>2]|0)+(A[26768+(G<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,l=ut(g,h)|0,(t+-1|0)>>>0<=5&&(ee=(l|0)!=0,!((t|0)==1&ee)))do if(Li(g,h,Y)|0)l=-1;else if(ee){l=((A[26352+(t<<2)>>2]|0)+5-(A[Y>>2]|0)|0)%5|0;break}else{l=((A[26384+(t<<2)>>2]|0)+6-(A[Y>>2]|0)|0)%6|0;break}while(!1);else l=-1;l=l+1|0,l=(l|0)==6|p&(l|0)==5?0:l}r=c,t=f;break e}while(!1);return a=l,S=W,a|0}while(!1);return ee=he(l|0,0,56)|0,Y=T()|0|r&-2130706433|536870912,A[a>>2]=ee|t,A[a+4>>2]=Y,a=0,S=W,a|0}function r1(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;return f=(ut(t,r)|0)==0,a=fA(t,r,0,o)|0,l=(a|0)==0,f?!l||(a=fA(t,r,1,o+8|0)|0,a|0)||(a=fA(t,r,2,o+16|0)|0,a|0)||(a=fA(t,r,3,o+24|0)|0,a|0)||(a=fA(t,r,4,o+32|0)|0,a)?(f=a,f|0):fA(t,r,5,o+40|0)|0:!l||(a=fA(t,r,1,o+8|0)|0,a|0)||(a=fA(t,r,2,o+16|0)|0,a|0)||(a=fA(t,r,3,o+24|0)|0,a|0)||(a=fA(t,r,4,o+32|0)|0,a|0)?(f=a,f|0):(f=o+40|0,A[f>>2]=0,A[f+4>>2]=0,f=0,f|0)}function n1(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0;return p=S,S=S+192|0,l=p,f=p+168|0,c=se(t|0,r|0,56)|0,T()|0,c=c&7,h=r&-2130706433|134217728,a=Bn(t,h,f)|0,a|0?(h=a,S=p,h|0):(r=se(t|0,r|0,52)|0,T()|0,r=r&15,ut(t,h)|0?Ra(f,r,c,1,l):Ta(f,r,c,1,l),h=l+8|0,A[o>>2]=A[h>>2],A[o+4>>2]=A[h+4>>2],A[o+8>>2]=A[h+8>>2],A[o+12>>2]=A[h+12>>2],h=0,S=p,h|0)}function i1(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0;return l=S,S=S+16|0,o=l,!(!0&(r&2013265920|0)==536870912)||(a=r&-2130706433|134217728,!(Oa(t,a)|0))?(a=0,S=l,a|0):(f=se(t|0,r|0,56)|0,T()|0,f=(fA(t,a,f&7,o)|0)==0,a=o,a=f&((A[a>>2]|0)==(t|0)?(A[a+4>>2]|0)==(r|0):0)&1,S=l,a|0)}function jf(t,r,o){t=t|0,r=r|0,o=o|0;var a=0;(r|0)>0?(a=cA(r,4)|0,A[t>>2]=a,a||Te(27819,27842,40,27856)):A[t>>2]=0,A[t+4>>2]=r,A[t+8>>2]=0,A[t+12>>2]=o}function Nf(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;l=t+4|0,f=t+12|0,c=t+8|0;e:for(;;){for(o=A[l>>2]|0,r=0;;){if((r|0)>=(o|0))break e;if(a=A[t>>2]|0,h=A[a+(r<<2)>>2]|0,!h)r=r+1|0;else break}r=a+(~~(+rt(+(+St(10,+ +(15-(A[f>>2]|0)|0))*(+P[h>>3]+ +P[h+8>>3])))%+(o|0))>>>0<<2)|0,o=A[r>>2]|0;t:do if(o|0){if(a=h+32|0,(o|0)==(h|0))A[r>>2]=A[a>>2];else{if(o=o+32|0,r=A[o>>2]|0,!r)break;for(;(r|0)!=(h|0);)if(o=r+32|0,r=A[o>>2]|0,!r)break t;A[o>>2]=A[a>>2]}Se(h),A[c>>2]=(A[c>>2]|0)+-1}while(!1)}Se(A[t>>2]|0)}function Ff(t){t=t|0;var r=0,o=0,a=0;for(a=A[t+4>>2]|0,o=0;;){if((o|0)>=(a|0)){r=0,o=4;break}if(r=A[(A[t>>2]|0)+(o<<2)>>2]|0,!r)o=o+1|0;else{o=4;break}}return(o|0)==4?r|0:0}function Qf(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0;if(o=~~(+rt(+(+St(10,+ +(15-(A[t+12>>2]|0)|0))*(+P[r>>3]+ +P[r+8>>3])))%+(A[t+4>>2]|0))>>>0,o=(A[t>>2]|0)+(o<<2)|0,a=A[o>>2]|0,!a)return f=1,f|0;f=r+32|0;do if((a|0)!=(r|0)){if(o=A[a+32>>2]|0,!o)return f=1,f|0;for(l=o;;){if((l|0)==(r|0)){l=8;break}if(o=A[l+32>>2]|0,o)a=l,l=o;else{o=1,l=10;break}}if((l|0)==8){A[a+32>>2]=A[f>>2];break}else if((l|0)==10)return o|0}else A[o>>2]=A[f>>2];while(!1);return Se(r),f=t+8|0,A[f>>2]=(A[f>>2]|0)+-1,f=0,f|0}function o1(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0;f=RA(40)|0,f||Te(27872,27842,98,27885),A[f>>2]=A[r>>2],A[f+4>>2]=A[r+4>>2],A[f+8>>2]=A[r+8>>2],A[f+12>>2]=A[r+12>>2],l=f+16|0,A[l>>2]=A[o>>2],A[l+4>>2]=A[o+4>>2],A[l+8>>2]=A[o+8>>2],A[l+12>>2]=A[o+12>>2],A[f+32>>2]=0,l=~~(+rt(+(+St(10,+ +(15-(A[t+12>>2]|0)|0))*(+P[r>>3]+ +P[r+8>>3])))%+(A[t+4>>2]|0))>>>0,l=(A[t>>2]|0)+(l<<2)|0,a=A[l>>2]|0;do if(!a)A[l>>2]=f;else{for(;!(jn(a,r)|0&&jn(a+16|0,o)|0);)if(l=A[a+32>>2]|0,a=(l|0)==0?a:l,!(A[a+32>>2]|0)){c=10;break}if((c|0)==10){A[a+32>>2]=f;break}return Se(f),c=a,c|0}while(!1);return c=t+8|0,A[c>>2]=(A[c>>2]|0)+1,c=f,c|0}function s1(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0;if(l=~~(+rt(+(+St(10,+ +(15-(A[t+12>>2]|0)|0))*(+P[r>>3]+ +P[r+8>>3])))%+(A[t+4>>2]|0))>>>0,l=A[(A[t>>2]|0)+(l<<2)>>2]|0,!l)return o=0,o|0;if(!o){for(t=l;;){if(jn(t,r)|0){a=10;break}if(t=A[t+32>>2]|0,!t){t=0,a=10;break}}if((a|0)==10)return t|0}for(t=l;;){if(jn(t,r)|0&&jn(t+16|0,o)|0){a=10;break}if(t=A[t+32>>2]|0,!t){t=0,a=10;break}}return(a|0)==10?t|0:0}function a1(t,r){t=t|0,r=r|0;var o=0;if(o=~~(+rt(+(+St(10,+ +(15-(A[t+12>>2]|0)|0))*(+P[r>>3]+ +P[r+8>>3])))%+(A[t+4>>2]|0))>>>0,t=A[(A[t>>2]|0)+(o<<2)>>2]|0,!t)return o=0,o|0;for(;;){if(jn(t,r)|0){r=5;break}if(t=A[t+32>>2]|0,!t){t=0,r=5;break}}return(r|0)==5?t|0:0}function l1(){return 27904}function cr(t){return t=+t,~~+Hf(+t)|0}function RA(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0;ce=S,S=S+16|0,F=ce;do if(t>>>0<245){if(g=t>>>0<11?16:t+11&-8,t=g>>>3,D=A[6977]|0,o=D>>>t,o&3|0)return r=(o&1^1)+t|0,t=27948+(r<<1<<2)|0,o=t+8|0,a=A[o>>2]|0,l=a+8|0,f=A[l>>2]|0,(f|0)==(t|0)?A[6977]=D&~(1<<r):(A[f+12>>2]=t,A[o>>2]=f),H=r<<3,A[a+4>>2]=H|3,H=a+H+4|0,A[H>>2]=A[H>>2]|1,H=l,S=ce,H|0;if(v=A[6979]|0,g>>>0>v>>>0){if(o|0)return r=2<<t,r=o<<t&(r|0-r),r=(r&0-r)+-1|0,h=r>>>12&16,r=r>>>h,o=r>>>5&8,r=r>>>o,f=r>>>2&4,r=r>>>f,t=r>>>1&2,r=r>>>t,a=r>>>1&1,a=(o|h|f|t|a)+(r>>>a)|0,r=27948+(a<<1<<2)|0,t=r+8|0,f=A[t>>2]|0,h=f+8|0,o=A[h>>2]|0,(o|0)==(r|0)?(t=D&~(1<<a),A[6977]=t):(A[o+12>>2]=r,A[t>>2]=o,t=D),H=a<<3,c=H-g|0,A[f+4>>2]=g|3,l=f+g|0,A[l+4>>2]=c|1,A[f+H>>2]=c,v|0&&(a=A[6982]|0,r=v>>>3,o=27948+(r<<1<<2)|0,r=1<<r,t&r?(t=o+8|0,r=A[t>>2]|0):(A[6977]=t|r,r=o,t=o+8|0),A[t>>2]=a,A[r+12>>2]=a,A[a+8>>2]=r,A[a+12>>2]=o),A[6979]=c,A[6982]=l,H=h,S=ce,H|0;if(f=A[6978]|0,f){for(o=(f&0-f)+-1|0,l=o>>>12&16,o=o>>>l,a=o>>>5&8,o=o>>>a,c=o>>>2&4,o=o>>>c,h=o>>>1&2,o=o>>>h,p=o>>>1&1,p=A[28212+((a|l|c|h|p)+(o>>>p)<<2)>>2]|0,o=p,h=p,p=(A[p+4>>2]&-8)-g|0;t=A[o+16>>2]|0,!(!t&&(t=A[o+20>>2]|0,!t));)c=(A[t+4>>2]&-8)-g|0,l=c>>>0<p>>>0,o=t,h=l?t:h,p=l?c:p;if(c=h+g|0,c>>>0>h>>>0){l=A[h+24>>2]|0,r=A[h+12>>2]|0;do if((r|0)==(h|0)){if(t=h+20|0,r=A[t>>2]|0,!r&&(t=h+16|0,r=A[t>>2]|0,!r)){o=0;break}for(;;)if(a=r+20|0,o=A[a>>2]|0,o)r=o,t=a;else if(a=r+16|0,o=A[a>>2]|0,o)r=o,t=a;else break;A[t>>2]=0,o=r}else o=A[h+8>>2]|0,A[o+12>>2]=r,A[r+8>>2]=o,o=r;while(!1);do if(l|0){if(r=A[h+28>>2]|0,t=28212+(r<<2)|0,(h|0)==(A[t>>2]|0)){if(A[t>>2]=o,!o){A[6978]=f&~(1<<r);break}}else if(H=l+16|0,A[((A[H>>2]|0)==(h|0)?H:l+20|0)>>2]=o,!o)break;A[o+24>>2]=l,r=A[h+16>>2]|0,r|0&&(A[o+16>>2]=r,A[r+24>>2]=o),r=A[h+20>>2]|0,r|0&&(A[o+20>>2]=r,A[r+24>>2]=o)}while(!1);return p>>>0<16?(H=p+g|0,A[h+4>>2]=H|3,H=h+H+4|0,A[H>>2]=A[H>>2]|1):(A[h+4>>2]=g|3,A[c+4>>2]=p|1,A[c+p>>2]=p,v|0&&(a=A[6982]|0,r=v>>>3,o=27948+(r<<1<<2)|0,r=1<<r,r&D?(t=o+8|0,r=A[t>>2]|0):(A[6977]=r|D,r=o,t=o+8|0),A[t>>2]=a,A[r+12>>2]=a,A[a+8>>2]=r,A[a+12>>2]=o),A[6979]=p,A[6982]=c),H=h+8|0,S=ce,H|0}else D=g}else D=g}else D=g}else if(t>>>0<=4294967231)if(t=t+11|0,g=t&-8,a=A[6978]|0,a){l=0-g|0,t=t>>>8,t?g>>>0>16777215?p=31:(D=(t+1048320|0)>>>16&8,G=t<<D,h=(G+520192|0)>>>16&4,G=G<<h,p=(G+245760|0)>>>16&2,p=14-(h|D|p)+(G<<p>>>15)|0,p=g>>>(p+7|0)&1|p<<1):p=0,o=A[28212+(p<<2)>>2]|0;e:do if(!o)o=0,t=0,G=61;else for(t=0,h=g<<((p|0)==31?0:25-(p>>>1)|0),f=0;;){if(c=(A[o+4>>2]&-8)-g|0,c>>>0<l>>>0)if(c)t=o,l=c;else{t=o,l=0,G=65;break e}if(G=A[o+20>>2]|0,o=A[o+16+(h>>>31<<2)>>2]|0,f=(G|0)==0|(G|0)==(o|0)?f:G,o)h=h<<1;else{o=f,G=61;break}}while(!1);if((G|0)==61){if((o|0)==0&(t|0)==0){if(t=2<<p,t=(t|0-t)&a,!t){D=g;break}D=(t&0-t)+-1|0,c=D>>>12&16,D=D>>>c,f=D>>>5&8,D=D>>>f,h=D>>>2&4,D=D>>>h,p=D>>>1&2,D=D>>>p,o=D>>>1&1,t=0,o=A[28212+((f|c|h|p|o)+(D>>>o)<<2)>>2]|0}o?G=65:(h=t,c=l)}if((G|0)==65)for(f=o;;)if(D=(A[f+4>>2]&-8)-g|0,o=D>>>0<l>>>0,l=o?D:l,t=o?f:t,o=A[f+16>>2]|0,o||(o=A[f+20>>2]|0),o)f=o;else{h=t,c=l;break}if((h|0)!=0&&c>>>0<((A[6979]|0)-g|0)>>>0&&(v=h+g|0,v>>>0>h>>>0)){f=A[h+24>>2]|0,r=A[h+12>>2]|0;do if((r|0)==(h|0)){if(t=h+20|0,r=A[t>>2]|0,!r&&(t=h+16|0,r=A[t>>2]|0,!r)){r=0;break}for(;;)if(l=r+20|0,o=A[l>>2]|0,o)r=o,t=l;else if(l=r+16|0,o=A[l>>2]|0,o)r=o,t=l;else break;A[t>>2]=0}else H=A[h+8>>2]|0,A[H+12>>2]=r,A[r+8>>2]=H;while(!1);do if(f){if(t=A[h+28>>2]|0,o=28212+(t<<2)|0,(h|0)==(A[o>>2]|0)){if(A[o>>2]=r,!r){a=a&~(1<<t),A[6978]=a;break}}else if(H=f+16|0,A[((A[H>>2]|0)==(h|0)?H:f+20|0)>>2]=r,!r)break;A[r+24>>2]=f,t=A[h+16>>2]|0,t|0&&(A[r+16>>2]=t,A[t+24>>2]=r),t=A[h+20>>2]|0,t&&(A[r+20>>2]=t,A[t+24>>2]=r)}while(!1);e:do if(c>>>0<16)H=c+g|0,A[h+4>>2]=H|3,H=h+H+4|0,A[H>>2]=A[H>>2]|1;else{if(A[h+4>>2]=g|3,A[v+4>>2]=c|1,A[v+c>>2]=c,r=c>>>3,c>>>0<256){o=27948+(r<<1<<2)|0,t=A[6977]|0,r=1<<r,t&r?(t=o+8|0,r=A[t>>2]|0):(A[6977]=t|r,r=o,t=o+8|0),A[t>>2]=v,A[r+12>>2]=v,A[v+8>>2]=r,A[v+12>>2]=o;break}if(r=c>>>8,r?c>>>0>16777215?o=31:(W=(r+1048320|0)>>>16&8,H=r<<W,Y=(H+520192|0)>>>16&4,H=H<<Y,o=(H+245760|0)>>>16&2,o=14-(Y|W|o)+(H<<o>>>15)|0,o=c>>>(o+7|0)&1|o<<1):o=0,r=28212+(o<<2)|0,A[v+28>>2]=o,t=v+16|0,A[t+4>>2]=0,A[t>>2]=0,t=1<<o,!(a&t)){A[6978]=a|t,A[r>>2]=v,A[v+24>>2]=r,A[v+12>>2]=v,A[v+8>>2]=v;break}r=A[r>>2]|0;t:do if((A[r+4>>2]&-8|0)!=(c|0)){for(a=c<<((o|0)==31?0:25-(o>>>1)|0);o=r+16+(a>>>31<<2)|0,t=A[o>>2]|0,!!t;)if((A[t+4>>2]&-8|0)==(c|0)){r=t;break t}else a=a<<1,r=t;A[o>>2]=v,A[v+24>>2]=r,A[v+12>>2]=v,A[v+8>>2]=v;break e}while(!1);W=r+8|0,H=A[W>>2]|0,A[H+12>>2]=v,A[W>>2]=v,A[v+8>>2]=H,A[v+12>>2]=r,A[v+24>>2]=0}while(!1);return H=h+8|0,S=ce,H|0}else D=g}else D=g;else D=-1;while(!1);if(o=A[6979]|0,o>>>0>=D>>>0)return r=o-D|0,t=A[6982]|0,r>>>0>15?(H=t+D|0,A[6982]=H,A[6979]=r,A[H+4>>2]=r|1,A[t+o>>2]=r,A[t+4>>2]=D|3):(A[6979]=0,A[6982]=0,A[t+4>>2]=o|3,H=t+o+4|0,A[H>>2]=A[H>>2]|1),H=t+8|0,S=ce,H|0;if(c=A[6980]|0,c>>>0>D>>>0)return Y=c-D|0,A[6980]=Y,H=A[6983]|0,W=H+D|0,A[6983]=W,A[W+4>>2]=Y|1,A[H+4>>2]=D|3,H=H+8|0,S=ce,H|0;if(A[7095]|0?t=A[7097]|0:(A[7097]=4096,A[7096]=4096,A[7098]=-1,A[7099]=-1,A[7100]=0,A[7088]=0,A[7095]=F&-16^1431655768,t=4096),h=D+48|0,p=D+47|0,f=t+p|0,l=0-t|0,g=f&l,g>>>0<=D>>>0||(t=A[7087]|0,t|0&&(v=A[7085]|0,F=v+g|0,F>>>0<=v>>>0|F>>>0>t>>>0)))return H=0,S=ce,H|0;e:do if(A[7088]&4)r=0,G=143;else{o=A[6983]|0;t:do if(o){for(a=28356;F=A[a>>2]|0,!(F>>>0<=o>>>0&&(F+(A[a+4>>2]|0)|0)>>>0>o>>>0);)if(t=A[a+8>>2]|0,t)a=t;else{G=128;break t}if(r=f-c&l,r>>>0<2147483647)if(t=hr(r|0)|0,(t|0)==((A[a>>2]|0)+(A[a+4>>2]|0)|0)){if((t|0)!=-1){c=r,f=t,G=145;break e}}else a=t,G=136;else r=0}else G=128;while(!1);do if((G|0)==128)if(o=hr(0)|0,(o|0)!=-1&&(r=o,j=A[7096]|0,N=j+-1|0,r=((N&r|0)==0?0:(N+r&0-j)-r|0)+g|0,j=A[7085]|0,N=r+j|0,r>>>0>D>>>0&r>>>0<2147483647)){if(F=A[7087]|0,F|0&&N>>>0<=j>>>0|N>>>0>F>>>0){r=0;break}if(t=hr(r|0)|0,(t|0)==(o|0)){c=r,f=o,G=145;break e}else a=t,G=136}else r=0;while(!1);do if((G|0)==136){if(o=0-r|0,!(h>>>0>r>>>0&(r>>>0<2147483647&(a|0)!=-1)))if((a|0)==-1){r=0;break}else{c=r,f=a,G=145;break e}if(t=A[7097]|0,t=p-r+t&0-t,t>>>0>=2147483647){c=r,f=a,G=145;break e}if((hr(t|0)|0)==-1){hr(o|0)|0,r=0;break}else{c=t+r|0,f=a,G=145;break e}}while(!1);A[7088]=A[7088]|4,G=143}while(!1);if((G|0)==143&&g>>>0<2147483647&&(Y=hr(g|0)|0,N=hr(0)|0,K=N-Y|0,ee=K>>>0>(D+40|0)>>>0,!((Y|0)==-1|ee^1|Y>>>0<N>>>0&((Y|0)!=-1&(N|0)!=-1)^1))&&(c=ee?K:r,f=Y,G=145),(G|0)==145){r=(A[7085]|0)+c|0,A[7085]=r,r>>>0>(A[7086]|0)>>>0&&(A[7086]=r),p=A[6983]|0;e:do if(p){for(r=28356;;){if(t=A[r>>2]|0,o=A[r+4>>2]|0,(f|0)==(t+o|0)){G=154;break}if(a=A[r+8>>2]|0,a)r=a;else break}if((G|0)==154&&(W=r+4|0,(A[r+12>>2]&8|0)==0)&&f>>>0>p>>>0&t>>>0<=p>>>0){A[W>>2]=o+c,H=(A[6980]|0)+c|0,Y=p+8|0,Y=(Y&7|0)==0?0:0-Y&7,W=p+Y|0,Y=H-Y|0,A[6983]=W,A[6980]=Y,A[W+4>>2]=Y|1,A[p+H+4>>2]=40,A[6984]=A[7099];break}for(f>>>0<(A[6981]|0)>>>0&&(A[6981]=f),o=f+c|0,r=28356;;){if((A[r>>2]|0)==(o|0)){G=162;break}if(t=A[r+8>>2]|0,t)r=t;else break}if((G|0)==162&&(A[r+12>>2]&8|0)==0){A[r>>2]=f,v=r+4|0,A[v>>2]=(A[v>>2]|0)+c,v=f+8|0,v=f+((v&7|0)==0?0:0-v&7)|0,r=o+8|0,r=o+((r&7|0)==0?0:0-r&7)|0,g=v+D|0,h=r-v-D|0,A[v+4>>2]=D|3;t:do if((p|0)==(r|0))H=(A[6980]|0)+h|0,A[6980]=H,A[6983]=g,A[g+4>>2]=H|1;else{if((A[6982]|0)==(r|0)){H=(A[6979]|0)+h|0,A[6979]=H,A[6982]=g,A[g+4>>2]=H|1,A[g+H>>2]=H;break}if(t=A[r+4>>2]|0,(t&3|0)==1){c=t&-8,a=t>>>3;A:do if(t>>>0<256)if(t=A[r+8>>2]|0,o=A[r+12>>2]|0,(o|0)==(t|0)){A[6977]=A[6977]&~(1<<a);break}else{A[t+12>>2]=o,A[o+8>>2]=t;break}else{f=A[r+24>>2]|0,t=A[r+12>>2]|0;do if((t|0)==(r|0)){if(o=r+16|0,a=o+4|0,t=A[a>>2]|0,t)o=a;else if(t=A[o>>2]|0,!t){t=0;break}for(;;)if(l=t+20|0,a=A[l>>2]|0,a)t=a,o=l;else if(l=t+16|0,a=A[l>>2]|0,a)t=a,o=l;else break;A[o>>2]=0}else H=A[r+8>>2]|0,A[H+12>>2]=t,A[t+8>>2]=H;while(!1);if(!f)break;o=A[r+28>>2]|0,a=28212+(o<<2)|0;do if((A[a>>2]|0)!=(r|0)){if(H=f+16|0,A[((A[H>>2]|0)==(r|0)?H:f+20|0)>>2]=t,!t)break A}else{if(A[a>>2]=t,t|0)break;A[6978]=A[6978]&~(1<<o);break A}while(!1);if(A[t+24>>2]=f,o=r+16|0,a=A[o>>2]|0,a|0&&(A[t+16>>2]=a,A[a+24>>2]=t),o=A[o+4>>2]|0,!o)break;A[t+20>>2]=o,A[o+24>>2]=t}while(!1);r=r+c|0,l=c+h|0}else l=h;if(r=r+4|0,A[r>>2]=A[r>>2]&-2,A[g+4>>2]=l|1,A[g+l>>2]=l,r=l>>>3,l>>>0<256){o=27948+(r<<1<<2)|0,t=A[6977]|0,r=1<<r,t&r?(t=o+8|0,r=A[t>>2]|0):(A[6977]=t|r,r=o,t=o+8|0),A[t>>2]=g,A[r+12>>2]=g,A[g+8>>2]=r,A[g+12>>2]=o;break}r=l>>>8;do if(!r)a=0;else{if(l>>>0>16777215){a=31;break}W=(r+1048320|0)>>>16&8,H=r<<W,Y=(H+520192|0)>>>16&4,H=H<<Y,a=(H+245760|0)>>>16&2,a=14-(Y|W|a)+(H<<a>>>15)|0,a=l>>>(a+7|0)&1|a<<1}while(!1);if(r=28212+(a<<2)|0,A[g+28>>2]=a,t=g+16|0,A[t+4>>2]=0,A[t>>2]=0,t=A[6978]|0,o=1<<a,!(t&o)){A[6978]=t|o,A[r>>2]=g,A[g+24>>2]=r,A[g+12>>2]=g,A[g+8>>2]=g;break}r=A[r>>2]|0;A:do if((A[r+4>>2]&-8|0)!=(l|0)){for(a=l<<((a|0)==31?0:25-(a>>>1)|0);o=r+16+(a>>>31<<2)|0,t=A[o>>2]|0,!!t;)if((A[t+4>>2]&-8|0)==(l|0)){r=t;break A}else a=a<<1,r=t;A[o>>2]=g,A[g+24>>2]=r,A[g+12>>2]=g,A[g+8>>2]=g;break t}while(!1);W=r+8|0,H=A[W>>2]|0,A[H+12>>2]=g,A[W>>2]=g,A[g+8>>2]=H,A[g+12>>2]=r,A[g+24>>2]=0}while(!1);return H=v+8|0,S=ce,H|0}for(r=28356;t=A[r>>2]|0,!(t>>>0<=p>>>0&&(H=t+(A[r+4>>2]|0)|0,H>>>0>p>>>0));)r=A[r+8>>2]|0;l=H+-47|0,t=l+8|0,t=l+((t&7|0)==0?0:0-t&7)|0,l=p+16|0,t=t>>>0<l>>>0?p:t,r=t+8|0,o=c+-40|0,Y=f+8|0,Y=(Y&7|0)==0?0:0-Y&7,W=f+Y|0,Y=o-Y|0,A[6983]=W,A[6980]=Y,A[W+4>>2]=Y|1,A[f+o+4>>2]=40,A[6984]=A[7099],o=t+4|0,A[o>>2]=27,A[r>>2]=A[7089],A[r+4>>2]=A[7090],A[r+8>>2]=A[7091],A[r+12>>2]=A[7092],A[7089]=f,A[7090]=c,A[7092]=0,A[7091]=r,r=t+24|0;do W=r,r=r+4|0,A[r>>2]=7;while((W+8|0)>>>0<H>>>0);if((t|0)!=(p|0)){if(f=t-p|0,A[o>>2]=A[o>>2]&-2,A[p+4>>2]=f|1,A[t>>2]=f,r=f>>>3,f>>>0<256){o=27948+(r<<1<<2)|0,t=A[6977]|0,r=1<<r,t&r?(t=o+8|0,r=A[t>>2]|0):(A[6977]=t|r,r=o,t=o+8|0),A[t>>2]=p,A[r+12>>2]=p,A[p+8>>2]=r,A[p+12>>2]=o;break}if(r=f>>>8,r?f>>>0>16777215?a=31:(W=(r+1048320|0)>>>16&8,H=r<<W,Y=(H+520192|0)>>>16&4,H=H<<Y,a=(H+245760|0)>>>16&2,a=14-(Y|W|a)+(H<<a>>>15)|0,a=f>>>(a+7|0)&1|a<<1):a=0,o=28212+(a<<2)|0,A[p+28>>2]=a,A[p+20>>2]=0,A[l>>2]=0,r=A[6978]|0,t=1<<a,!(r&t)){A[6978]=r|t,A[o>>2]=p,A[p+24>>2]=o,A[p+12>>2]=p,A[p+8>>2]=p;break}r=A[o>>2]|0;t:do if((A[r+4>>2]&-8|0)!=(f|0)){for(a=f<<((a|0)==31?0:25-(a>>>1)|0);o=r+16+(a>>>31<<2)|0,t=A[o>>2]|0,!!t;)if((A[t+4>>2]&-8|0)==(f|0)){r=t;break t}else a=a<<1,r=t;A[o>>2]=p,A[p+24>>2]=r,A[p+12>>2]=p,A[p+8>>2]=p;break e}while(!1);W=r+8|0,H=A[W>>2]|0,A[H+12>>2]=p,A[W>>2]=p,A[p+8>>2]=H,A[p+12>>2]=r,A[p+24>>2]=0}}else H=A[6981]|0,(H|0)==0|f>>>0<H>>>0&&(A[6981]=f),A[7089]=f,A[7090]=c,A[7092]=0,A[6986]=A[7095],A[6985]=-1,A[6990]=27948,A[6989]=27948,A[6992]=27956,A[6991]=27956,A[6994]=27964,A[6993]=27964,A[6996]=27972,A[6995]=27972,A[6998]=27980,A[6997]=27980,A[7e3]=27988,A[6999]=27988,A[7002]=27996,A[7001]=27996,A[7004]=28004,A[7003]=28004,A[7006]=28012,A[7005]=28012,A[7008]=28020,A[7007]=28020,A[7010]=28028,A[7009]=28028,A[7012]=28036,A[7011]=28036,A[7014]=28044,A[7013]=28044,A[7016]=28052,A[7015]=28052,A[7018]=28060,A[7017]=28060,A[7020]=28068,A[7019]=28068,A[7022]=28076,A[7021]=28076,A[7024]=28084,A[7023]=28084,A[7026]=28092,A[7025]=28092,A[7028]=28100,A[7027]=28100,A[7030]=28108,A[7029]=28108,A[7032]=28116,A[7031]=28116,A[7034]=28124,A[7033]=28124,A[7036]=28132,A[7035]=28132,A[7038]=28140,A[7037]=28140,A[7040]=28148,A[7039]=28148,A[7042]=28156,A[7041]=28156,A[7044]=28164,A[7043]=28164,A[7046]=28172,A[7045]=28172,A[7048]=28180,A[7047]=28180,A[7050]=28188,A[7049]=28188,A[7052]=28196,A[7051]=28196,H=c+-40|0,Y=f+8|0,Y=(Y&7|0)==0?0:0-Y&7,W=f+Y|0,Y=H-Y|0,A[6983]=W,A[6980]=Y,A[W+4>>2]=Y|1,A[f+H+4>>2]=40,A[6984]=A[7099];while(!1);if(r=A[6980]|0,r>>>0>D>>>0)return Y=r-D|0,A[6980]=Y,H=A[6983]|0,W=H+D|0,A[6983]=W,A[W+4>>2]=Y|1,A[H+4>>2]=D|3,H=H+8|0,S=ce,H|0}return H=l1()|0,A[H>>2]=12,H=0,S=ce,H|0}function Se(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(t){o=t+-8|0,l=A[6981]|0,t=A[t+-4>>2]|0,r=t&-8,p=o+r|0;do if(t&1)h=o,c=o;else{if(a=A[o>>2]|0,!(t&3)||(c=o+(0-a)|0,f=a+r|0,c>>>0<l>>>0))return;if((A[6982]|0)==(c|0)){if(t=p+4|0,r=A[t>>2]|0,(r&3|0)!=3){h=c,r=f;break}A[6979]=f,A[t>>2]=r&-2,A[c+4>>2]=f|1,A[c+f>>2]=f;return}if(o=a>>>3,a>>>0<256)if(t=A[c+8>>2]|0,r=A[c+12>>2]|0,(r|0)==(t|0)){A[6977]=A[6977]&~(1<<o),h=c,r=f;break}else{A[t+12>>2]=r,A[r+8>>2]=t,h=c,r=f;break}l=A[c+24>>2]|0,t=A[c+12>>2]|0;do if((t|0)==(c|0)){if(r=c+16|0,o=r+4|0,t=A[o>>2]|0,t)r=o;else if(t=A[r>>2]|0,!t){t=0;break}for(;;)if(a=t+20|0,o=A[a>>2]|0,o)t=o,r=a;else if(a=t+16|0,o=A[a>>2]|0,o)t=o,r=a;else break;A[r>>2]=0}else h=A[c+8>>2]|0,A[h+12>>2]=t,A[t+8>>2]=h;while(!1);if(l){if(r=A[c+28>>2]|0,o=28212+(r<<2)|0,(A[o>>2]|0)==(c|0)){if(A[o>>2]=t,!t){A[6978]=A[6978]&~(1<<r),h=c,r=f;break}}else if(h=l+16|0,A[((A[h>>2]|0)==(c|0)?h:l+20|0)>>2]=t,!t){h=c,r=f;break}A[t+24>>2]=l,r=c+16|0,o=A[r>>2]|0,o|0&&(A[t+16>>2]=o,A[o+24>>2]=t),r=A[r+4>>2]|0,r?(A[t+20>>2]=r,A[r+24>>2]=t,h=c,r=f):(h=c,r=f)}else h=c,r=f}while(!1);if(!(c>>>0>=p>>>0)&&(t=p+4|0,a=A[t>>2]|0,!!(a&1))){if(a&2)A[t>>2]=a&-2,A[h+4>>2]=r|1,A[c+r>>2]=r,l=r;else{if((A[6983]|0)==(p|0)){if(p=(A[6980]|0)+r|0,A[6980]=p,A[6983]=h,A[h+4>>2]=p|1,(h|0)!=(A[6982]|0))return;A[6982]=0,A[6979]=0;return}if((A[6982]|0)==(p|0)){p=(A[6979]|0)+r|0,A[6979]=p,A[6982]=c,A[h+4>>2]=p|1,A[c+p>>2]=p;return}l=(a&-8)+r|0,o=a>>>3;do if(a>>>0<256)if(r=A[p+8>>2]|0,t=A[p+12>>2]|0,(t|0)==(r|0)){A[6977]=A[6977]&~(1<<o);break}else{A[r+12>>2]=t,A[t+8>>2]=r;break}else{f=A[p+24>>2]|0,t=A[p+12>>2]|0;do if((t|0)==(p|0)){if(r=p+16|0,o=r+4|0,t=A[o>>2]|0,t)r=o;else if(t=A[r>>2]|0,!t){o=0;break}for(;;)if(a=t+20|0,o=A[a>>2]|0,o)t=o,r=a;else if(a=t+16|0,o=A[a>>2]|0,o)t=o,r=a;else break;A[r>>2]=0,o=t}else o=A[p+8>>2]|0,A[o+12>>2]=t,A[t+8>>2]=o,o=t;while(!1);if(f|0){if(t=A[p+28>>2]|0,r=28212+(t<<2)|0,(A[r>>2]|0)==(p|0)){if(A[r>>2]=o,!o){A[6978]=A[6978]&~(1<<t);break}}else if(a=f+16|0,A[((A[a>>2]|0)==(p|0)?a:f+20|0)>>2]=o,!o)break;A[o+24>>2]=f,t=p+16|0,r=A[t>>2]|0,r|0&&(A[o+16>>2]=r,A[r+24>>2]=o),t=A[t+4>>2]|0,t|0&&(A[o+20>>2]=t,A[t+24>>2]=o)}}while(!1);if(A[h+4>>2]=l|1,A[c+l>>2]=l,(h|0)==(A[6982]|0)){A[6979]=l;return}}if(t=l>>>3,l>>>0<256){o=27948+(t<<1<<2)|0,r=A[6977]|0,t=1<<t,r&t?(r=o+8|0,t=A[r>>2]|0):(A[6977]=r|t,t=o,r=o+8|0),A[r>>2]=h,A[t+12>>2]=h,A[h+8>>2]=t,A[h+12>>2]=o;return}t=l>>>8,t?l>>>0>16777215?a=31:(c=(t+1048320|0)>>>16&8,p=t<<c,f=(p+520192|0)>>>16&4,p=p<<f,a=(p+245760|0)>>>16&2,a=14-(f|c|a)+(p<<a>>>15)|0,a=l>>>(a+7|0)&1|a<<1):a=0,t=28212+(a<<2)|0,A[h+28>>2]=a,A[h+20>>2]=0,A[h+16>>2]=0,r=A[6978]|0,o=1<<a;e:do if(!(r&o))A[6978]=r|o,A[t>>2]=h,A[h+24>>2]=t,A[h+12>>2]=h,A[h+8>>2]=h;else{t=A[t>>2]|0;t:do if((A[t+4>>2]&-8|0)!=(l|0)){for(a=l<<((a|0)==31?0:25-(a>>>1)|0);o=t+16+(a>>>31<<2)|0,r=A[o>>2]|0,!!r;)if((A[r+4>>2]&-8|0)==(l|0)){t=r;break t}else a=a<<1,t=r;A[o>>2]=h,A[h+24>>2]=t,A[h+12>>2]=h,A[h+8>>2]=h;break e}while(!1);c=t+8|0,p=A[c>>2]|0,A[p+12>>2]=h,A[c>>2]=h,A[h+8>>2]=p,A[h+12>>2]=t,A[h+24>>2]=0}while(!1);if(p=(A[6985]|0)+-1|0,A[6985]=p,!(p|0)){for(t=28364;t=A[t>>2]|0,t;)t=t+8|0;A[6985]=-1}}}}function cA(t,r){t=t|0,r=r|0;var o=0;return t?(o=xA(r,t)|0,(r|t)>>>0>65535&&(o=((o>>>0)/(t>>>0)|0|0)==(r|0)?o:-1)):o=0,t=RA(o)|0,!t||!(A[t+-4>>2]&3)||Kr(t|0,0,o|0)|0,t|0}function Ce(t,r,o,a){return t=t|0,r=r|0,o=o|0,a=a|0,o=t+o>>>0,je(r+a+(o>>>0<t>>>0|0)>>>0|0),o|0|0}function Tt(t,r,o,a){return t=t|0,r=r|0,o=o|0,a=a|0,a=r-a-(o>>>0>t>>>0|0)>>>0,je(a|0),t-o>>>0|0|0}function Lf(t){return t=t|0,(t?31-(WA(t^t-1)|0)|0:32)|0}function Ja(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,v=0,D=0,F=0,j=0,N=0;if(v=t,p=r,g=p,c=o,F=a,h=F,!g)return f=(l|0)!=0,h?f?(A[l>>2]=t|0,A[l+4>>2]=r&0,F=0,l=0,je(F|0),l|0):(F=0,l=0,je(F|0),l|0):(f&&(A[l>>2]=(v>>>0)%(c>>>0),A[l+4>>2]=0),F=0,l=(v>>>0)/(c>>>0)>>>0,je(F|0),l|0);f=(h|0)==0;do if(c){if(!f){if(f=(WA(h|0)|0)-(WA(g|0)|0)|0,f>>>0<=31){D=f+1|0,h=31-f|0,r=f-31>>31,c=D,t=v>>>(D>>>0)&r|g<<h,r=g>>>(D>>>0)&r,f=0,h=v<<h;break}return l?(A[l>>2]=t|0,A[l+4>>2]=p|r&0,F=0,l=0,je(F|0),l|0):(F=0,l=0,je(F|0),l|0)}if(f=c-1|0,f&c|0){h=(WA(c|0)|0)+33-(WA(g|0)|0)|0,N=64-h|0,D=32-h|0,p=D>>31,j=h-32|0,r=j>>31,c=h,t=D-1>>31&g>>>(j>>>0)|(g<<D|v>>>(h>>>0))&r,r=r&g>>>(h>>>0),f=v<<N&p,h=(g<<N|v>>>(j>>>0))&p|v<<D&h-33>>31;break}return l|0&&(A[l>>2]=f&v,A[l+4>>2]=0),(c|0)==1?(j=p|r&0,N=t|0|0,je(j|0),N|0):(N=Lf(c|0)|0,j=g>>>(N>>>0)|0,N=g<<32-N|v>>>(N>>>0)|0,je(j|0),N|0)}else{if(f)return l|0&&(A[l>>2]=(g>>>0)%(c>>>0),A[l+4>>2]=0),j=0,N=(g>>>0)/(c>>>0)>>>0,je(j|0),N|0;if(!v)return l|0&&(A[l>>2]=0,A[l+4>>2]=(g>>>0)%(h>>>0)),j=0,N=(g>>>0)/(h>>>0)>>>0,je(j|0),N|0;if(f=h-1|0,!(f&h))return l|0&&(A[l>>2]=t|0,A[l+4>>2]=f&g|r&0),j=0,N=g>>>((Lf(h|0)|0)>>>0),je(j|0),N|0;if(f=(WA(h|0)|0)-(WA(g|0)|0)|0,f>>>0<=30){r=f+1|0,h=31-f|0,c=r,t=g<<h|v>>>(r>>>0),r=g>>>(r>>>0),f=0,h=v<<h;break}return l?(A[l>>2]=t|0,A[l+4>>2]=p|r&0,j=0,N=0,je(j|0),N|0):(j=0,N=0,je(j|0),N|0)}while(!1);if(!c)g=h,p=0,h=0;else{D=o|0|0,v=F|a&0,g=Ce(D|0,v|0,-1,-1)|0,o=T()|0,p=h,h=0;do a=p,p=f>>>31|p<<1,f=h|f<<1,a=t<<1|a>>>31|0,F=t>>>31|r<<1|0,Tt(g|0,o|0,a|0,F|0)|0,N=T()|0,j=N>>31|((N|0)<0?-1:0)<<1,h=j&1,t=Tt(a|0,F|0,j&D|0,(((N|0)<0?-1:0)>>31|((N|0)<0?-1:0)<<1)&v|0)|0,r=T()|0,c=c-1|0;while((c|0)!=0);g=p,p=0}return c=0,l|0&&(A[l>>2]=t,A[l+4>>2]=r),j=(f|0)>>>31|(g|c)<<1|(c<<1|f>>>31)&0|p,N=(f<<1|0)&-2|h,je(j|0),N|0}function dr(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0;return g=r>>31|((r|0)<0?-1:0)<<1,p=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1,f=a>>31|((a|0)<0?-1:0)<<1,l=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,h=Tt(g^t|0,p^r|0,g|0,p|0)|0,c=T()|0,t=f^g,r=l^p,Tt((Ja(h,c,Tt(f^o|0,l^a|0,f|0,l|0)|0,T()|0,0)|0)^t|0,(T()|0)^r|0,t|0,r|0)|0}function u1(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0;return f=t&65535,l=r&65535,o=xA(l,f)|0,a=t>>>16,t=(o>>>16)+(xA(l,a)|0)|0,l=r>>>16,r=xA(l,f)|0,je((t>>>16)+(xA(l,a)|0)+(((t&65535)+r|0)>>>16)|0),t+r<<16|o&65535|0|0}function Ft(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0;return l=t,f=o,o=u1(l,f)|0,t=T()|0,je((xA(r,f)|0)+(xA(a,l)|0)+t|t&0|0),o|0|0|0}function Nn(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0;return l=S,S=S+16|0,h=l|0,c=r>>31|((r|0)<0?-1:0)<<1,f=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1,g=a>>31|((a|0)<0?-1:0)<<1,p=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,t=Tt(c^t|0,f^r|0,c|0,f|0)|0,r=T()|0,Ja(t,r,Tt(g^o|0,p^a|0,g|0,p|0)|0,T()|0,h)|0,a=Tt(A[h>>2]^c|0,A[h+4>>2]^f|0,c|0,f|0)|0,o=T()|0,S=l,je(o|0),a|0}function Fn(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0;return f=S,S=S+16|0,l=f|0,Ja(t,r,o,a,l)|0,S=f,je(A[l+4>>2]|0),A[l>>2]|0|0}function qf(t,r,o){return t=t|0,r=r|0,o=o|0,(o|0)<32?(je(r>>o|0),t>>>o|(r&(1<<o)-1)<<32-o):(je(((r|0)<0?-1:0)|0),r>>o-32|0)}function se(t,r,o){return t=t|0,r=r|0,o=o|0,(o|0)<32?(je(r>>>o|0),t>>>o|(r&(1<<o)-1)<<32-o):(je(0),r>>>o-32|0)}function he(t,r,o){return t=t|0,r=r|0,o=o|0,(o|0)<32?(je(r<<o|(t&(1<<o)-1<<32-o)>>>32-o|0),t<<o):(je(t<<o-32|0),0)}function Uf(t,r,o){return t=t|0,r=r|0,o=o|0,r=WA(r)|0,(r|0)==32&&(r=r+(WA(t)|0)|0),je(0),r|0}function Gf(t,r){return t=+t,r=+r,t!=t?+r:r!=r?+t:+w2(+t,+r)}function es(t,r){return t=+t,r=+r,t!=t?+r:r!=r?+t:+ba(+t,+r)}function ts(t){return t=+t,t>=0?+Ct(t+.5):+On(t-.5)}function Qn(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;if((o|0)>=8192)return v2(t|0,r|0,o|0)|0,t|0;if(f=t|0,l=t+o|0,(t&3)==(r&3)){for(;t&3;){if(!o)return f|0;oe[t>>0]=oe[r>>0]|0,t=t+1|0,r=r+1|0,o=o-1|0}for(o=l&-4|0,a=o-64|0;(t|0)<=(a|0);)A[t>>2]=A[r>>2],A[t+4>>2]=A[r+4>>2],A[t+8>>2]=A[r+8>>2],A[t+12>>2]=A[r+12>>2],A[t+16>>2]=A[r+16>>2],A[t+20>>2]=A[r+20>>2],A[t+24>>2]=A[r+24>>2],A[t+28>>2]=A[r+28>>2],A[t+32>>2]=A[r+32>>2],A[t+36>>2]=A[r+36>>2],A[t+40>>2]=A[r+40>>2],A[t+44>>2]=A[r+44>>2],A[t+48>>2]=A[r+48>>2],A[t+52>>2]=A[r+52>>2],A[t+56>>2]=A[r+56>>2],A[t+60>>2]=A[r+60>>2],t=t+64|0,r=r+64|0;for(;(t|0)<(o|0);)A[t>>2]=A[r>>2],t=t+4|0,r=r+4|0}else for(o=l-4|0;(t|0)<(o|0);)oe[t>>0]=oe[r>>0]|0,oe[t+1>>0]=oe[r+1>>0]|0,oe[t+2>>0]=oe[r+2>>0]|0,oe[t+3>>0]=oe[r+3>>0]|0,t=t+4|0,r=r+4|0;for(;(t|0)<(l|0);)oe[t>>0]=oe[r>>0]|0,t=t+1|0,r=r+1|0;return f|0}function Kr(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0;if(f=t+o|0,r=r&255,(o|0)>=67){for(;t&3;)oe[t>>0]=r,t=t+1|0;for(a=f&-4|0,c=r|r<<8|r<<16|r<<24,l=a-64|0;(t|0)<=(l|0);)A[t>>2]=c,A[t+4>>2]=c,A[t+8>>2]=c,A[t+12>>2]=c,A[t+16>>2]=c,A[t+20>>2]=c,A[t+24>>2]=c,A[t+28>>2]=c,A[t+32>>2]=c,A[t+36>>2]=c,A[t+40>>2]=c,A[t+44>>2]=c,A[t+48>>2]=c,A[t+52>>2]=c,A[t+56>>2]=c,A[t+60>>2]=c,t=t+64|0;for(;(t|0)<(a|0);)A[t>>2]=c,t=t+4|0}for(;(t|0)<(f|0);)oe[t>>0]=r,t=t+1|0;return f-o|0}function Hf(t){return t=+t,t>=0?+Ct(t+.5):+On(t-.5)}function hr(t){t=t|0;var r=0,o=0,a=0;return a=_2()|0,o=A[Kt>>2]|0,r=o+t|0,(t|0)>0&(r|0)<(o|0)|(r|0)<0?(E2(r|0)|0,ef(12),-1):(r|0)>(a|0)&&!(b2(r|0)|0)?(ef(12),-1):(A[Kt>>2]=r,o|0)}return{___divdi3:dr,___muldi3:Ft,___remdi3:Nn,___uremdi3:Fn,_areNeighborCells:Z2,_bitshift64Ashr:qf,_bitshift64Lshr:se,_bitshift64Shl:he,_calloc:cA,_cellAreaKm2:xg,_cellAreaM2:Rg,_cellAreaRads2:Ga,_cellToBoundary:Mn,_cellToCenterChild:Ef,_cellToChildPos:vg,_cellToChildren:cg,_cellToChildrenSize:Mi,_cellToLatLng:Jr,_cellToLocalIj:Ng,_cellToParent:Ba,_cellToVertex:fA,_cellToVertexes:r1,_cellsToDirectedEdge:eg,_cellsToLinkedMultiPolygon:I2,_childPosToCell:bg,_compactCells:dg,_destroyLinkedMultiPolygon:Sf,_directedEdgeToBoundary:Yo,_directedEdgeToCells:ng,_edgeLengthKm:Og,_edgeLengthM:Ig,_edgeLengthRads:Tg,_emscripten_replace_memory:$2,_free:Se,_getBaseCellNumber:vf,_getDirectedEdgeDestination:Ag,_getDirectedEdgeOrigin:tg,_getHexagonAreaAvgKm2:kf,_getHexagonAreaAvgM2:Cg,_getHexagonEdgeLengthAvgKm:Sg,_getHexagonEdgeLengthAvgM:Dg,_getIcosahedronFaces:$f,_getNumCells:Ua,_getPentagons:Qa,_getRes0Cells:F2,_getResolution:fg,_greatCircleDistanceKm:Ni,_greatCircleDistanceM:$g,_greatCircleDistanceRads:Eg,_gridDisk:tf,_gridDiskDistances:Af,_gridDistance:Qg,_gridPathCells:qg,_gridPathCellsSize:Lg,_gridRingUnsafe:x2,_i64Add:Ce,_i64Subtract:Tt,_isPentagon:ut,_isResClassIII:mg,_isValidCell:Oa,_isValidDirectedEdge:rg,_isValidVertex:i1,_latLngToCell:Na,_llvm_ctlz_i64:Uf,_llvm_maxnum_f64:Gf,_llvm_minnum_f64:es,_llvm_round_f64:ts,_localIjToCell:Fg,_malloc:RA,_maxFaceCount:wg,_maxGridDiskSize:D2,_maxPolygonToCellsSize:R2,_maxPolygonToCellsSizeExperimental:Hg,_memcpy:Qn,_memset:Kr,_originToDirectedEdges:ig,_pentagonCount:_g,_polygonToCells:T2,_polygonToCellsExperimental:Gg,_readInt64AsDoubleFromPointer:Zg,_res0CellCount:N2,_round:Hf,_sbrk:hr,_sizeOfCellBoundary:Jg,_sizeOfCoordIJ:Xg,_sizeOfGeoLoop:Kg,_sizeOfGeoPolygon:Wg,_sizeOfH3Index:Vg,_sizeOfLatLng:zg,_sizeOfLinkedGeoPolygon:Yg,_uncompactCells:hg,_uncompactCellsSize:pg,_vertexToLatLng:n1,establishStackSpace:S2,stackAlloc:P2,stackRestore:C2,stackSave:k2}}(c2,d2,M),q8=e.___divdi3=fe.___divdi3,U8=e.___muldi3=fe.___muldi3,G8=e.___remdi3=fe.___remdi3,H8=e.___uremdi3=fe.___uremdi3,V8=e._areNeighborCells=fe._areNeighborCells,z8=e._bitshift64Ashr=fe._bitshift64Ashr,J8=e._bitshift64Lshr=fe._bitshift64Lshr,K8=e._bitshift64Shl=fe._bitshift64Shl,W8=e._calloc=fe._calloc,Y8=e._cellAreaKm2=fe._cellAreaKm2,X8=e._cellAreaM2=fe._cellAreaM2,Z8=e._cellAreaRads2=fe._cellAreaRads2,eE=e._cellToBoundary=fe._cellToBoundary,tE=e._cellToCenterChild=fe._cellToCenterChild,AE=e._cellToChildPos=fe._cellToChildPos,rE=e._cellToChildren=fe._cellToChildren,nE=e._cellToChildrenSize=fe._cellToChildrenSize,iE=e._cellToLatLng=fe._cellToLatLng,oE=e._cellToLocalIj=fe._cellToLocalIj,sE=e._cellToParent=fe._cellToParent,aE=e._cellToVertex=fe._cellToVertex,lE=e._cellToVertexes=fe._cellToVertexes,uE=e._cellsToDirectedEdge=fe._cellsToDirectedEdge,fE=e._cellsToLinkedMultiPolygon=fe._cellsToLinkedMultiPolygon,cE=e._childPosToCell=fe._childPosToCell,dE=e._compactCells=fe._compactCells,hE=e._destroyLinkedMultiPolygon=fe._destroyLinkedMultiPolygon,pE=e._directedEdgeToBoundary=fe._directedEdgeToBoundary,mE=e._directedEdgeToCells=fe._directedEdgeToCells,gE=e._edgeLengthKm=fe._edgeLengthKm,yE=e._edgeLengthM=fe._edgeLengthM,wE=e._edgeLengthRads=fe._edgeLengthRads,h2=e._emscripten_replace_memory=fe._emscripten_replace_memory,_E=e._free=fe._free,vE=e._getBaseCellNumber=fe._getBaseCellNumber,bE=e._getDirectedEdgeDestination=fe._getDirectedEdgeDestination,EE=e._getDirectedEdgeOrigin=fe._getDirectedEdgeOrigin,$E=e._getHexagonAreaAvgKm2=fe._getHexagonAreaAvgKm2,PE=e._getHexagonAreaAvgM2=fe._getHexagonAreaAvgM2,kE=e._getHexagonEdgeLengthAvgKm=fe._getHexagonEdgeLengthAvgKm,CE=e._getHexagonEdgeLengthAvgM=fe._getHexagonEdgeLengthAvgM,SE=e._getIcosahedronFaces=fe._getIcosahedronFaces,DE=e._getNumCells=fe._getNumCells,xE=e._getPentagons=fe._getPentagons,RE=e._getRes0Cells=fe._getRes0Cells,TE=e._getResolution=fe._getResolution,OE=e._greatCircleDistanceKm=fe._greatCircleDistanceKm,IE=e._greatCircleDistanceM=fe._greatCircleDistanceM,BE=e._greatCircleDistanceRads=fe._greatCircleDistanceRads,ME=e._gridDisk=fe._gridDisk,jE=e._gridDiskDistances=fe._gridDiskDistances,NE=e._gridDistance=fe._gridDistance,FE=e._gridPathCells=fe._gridPathCells,QE=e._gridPathCellsSize=fe._gridPathCellsSize,LE=e._gridRingUnsafe=fe._gridRingUnsafe,qE=e._i64Add=fe._i64Add,UE=e._i64Subtract=fe._i64Subtract,GE=e._isPentagon=fe._isPentagon,HE=e._isResClassIII=fe._isResClassIII,VE=e._isValidCell=fe._isValidCell,zE=e._isValidDirectedEdge=fe._isValidDirectedEdge,JE=e._isValidVertex=fe._isValidVertex,KE=e._latLngToCell=fe._latLngToCell,WE=e._llvm_ctlz_i64=fe._llvm_ctlz_i64,YE=e._llvm_maxnum_f64=fe._llvm_maxnum_f64,XE=e._llvm_minnum_f64=fe._llvm_minnum_f64,ZE=e._llvm_round_f64=fe._llvm_round_f64,e$=e._localIjToCell=fe._localIjToCell,t$=e._malloc=fe._malloc,A$=e._maxFaceCount=fe._maxFaceCount,r$=e._maxGridDiskSize=fe._maxGridDiskSize,n$=e._maxPolygonToCellsSize=fe._maxPolygonToCellsSize,i$=e._maxPolygonToCellsSizeExperimental=fe._maxPolygonToCellsSizeExperimental,o$=e._memcpy=fe._memcpy,s$=e._memset=fe._memset,a$=e._originToDirectedEdges=fe._originToDirectedEdges,l$=e._pentagonCount=fe._pentagonCount,u$=e._polygonToCells=fe._polygonToCells,f$=e._polygonToCellsExperimental=fe._polygonToCellsExperimental,c$=e._readInt64AsDoubleFromPointer=fe._readInt64AsDoubleFromPointer,d$=e._res0CellCount=fe._res0CellCount,h$=e._round=fe._round,p$=e._sbrk=fe._sbrk,m$=e._sizeOfCellBoundary=fe._sizeOfCellBoundary,g$=e._sizeOfCoordIJ=fe._sizeOfCoordIJ,y$=e._sizeOfGeoLoop=fe._sizeOfGeoLoop,w$=e._sizeOfGeoPolygon=fe._sizeOfGeoPolygon,_$=e._sizeOfH3Index=fe._sizeOfH3Index,v$=e._sizeOfLatLng=fe._sizeOfLatLng,b$=e._sizeOfLinkedGeoPolygon=fe._sizeOfLinkedGeoPolygon,E$=e._uncompactCells=fe._uncompactCells,$$=e._uncompactCellsSize=fe._uncompactCellsSize,P$=e._vertexToLatLng=fe._vertexToLatLng,k$=e.establishStackSpace=fe.establishStackSpace,Wu=e.stackAlloc=fe.stackAlloc,p2=e.stackRestore=fe.stackRestore,m2=e.stackSave=fe.stackSave;if(e.asm=fe,e.cwrap=q,e.setValue=x,e.getValue=k,KA){Hu(KA)||(KA=m(KA));{e2("memory initializer");var wa=function(Z){Z.byteLength&&(Z=new Uint8Array(Z)),X.set(Z,C),e.memoryInitializerRequest&&delete e.memoryInitializerRequest.response,t2("memory initializer")},Yu=function(){y(KA,wa,function(){throw"could not load memory initializer "+KA})},Xu=ya(KA);if(Xu)wa(Xu.buffer);else if(e.memoryInitializerRequest){var Zu=function(){var Z=e.memoryInitializerRequest,ie=Z.response;if(Z.status!==200&&Z.status!==0){var ye=ya(e.memoryInitializerRequestURL);if(ye)ie=ye.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+Z.status+", retrying "+KA),Yu();return}}wa(ie)};e.memoryInitializerRequest.response?setTimeout(Zu,0):e.memoryInitializerRequest.addEventListener("load",Zu)}else Yu()}}var zo;Oi=function Z(){zo||_a(),zo||(Oi=Z)};function _a(Z){if(Z=Z||u,qr>0||(SA(),qr>0))return;function ie(){zo||(zo=!0,!B&&(DA(),Vm(),e.onRuntimeInitialized&&e.onRuntimeInitialized(),zm()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),ie()},1)):ie()}e.run=_a;function Ur(Z){throw e.onAbort&&e.onAbort(Z),Z+="",E(Z),b(Z),B=!0,"abort("+Z+"). Build with -s ASSERTIONS=1 for more info."}if(e.abort=Ur,e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();return _a(),n}(typeof Ot=="object"?Ot:{}),Me="number",Re=Me,qi=Me,Ie=Me,Be=Me,xt=Me,_e=Me,y1=[["sizeOfH3Index",Me],["sizeOfLatLng",Me],["sizeOfCellBoundary",Me],["sizeOfGeoLoop",Me],["sizeOfGeoPolygon",Me],["sizeOfLinkedGeoPolygon",Me],["sizeOfCoordIJ",Me],["readInt64AsDoubleFromPointer",Me],["isValidCell",qi,[Ie,Be]],["latLngToCell",Re,[Me,Me,xt,_e]],["cellToLatLng",Re,[Ie,Be,_e]],["cellToBoundary",Re,[Ie,Be,_e]],["maxGridDiskSize",Re,[Me,_e]],["gridDisk",Re,[Ie,Be,Me,_e]],["gridDiskDistances",Re,[Ie,Be,Me,_e,_e]],["gridRingUnsafe",Re,[Ie,Be,Me,_e]],["maxPolygonToCellsSize",Re,[_e,xt,Me,_e]],["polygonToCells",Re,[_e,xt,Me,_e]],["maxPolygonToCellsSizeExperimental",Re,[_e,xt,Me,_e]],["polygonToCellsExperimental",Re,[_e,xt,Me,Me,Me,_e]],["cellsToLinkedMultiPolygon",Re,[_e,Me,_e]],["destroyLinkedMultiPolygon",null,[_e]],["compactCells",Re,[_e,_e,Me,Me]],["uncompactCells",Re,[_e,Me,Me,_e,Me,xt]],["uncompactCellsSize",Re,[_e,Me,Me,xt,_e]],["isPentagon",qi,[Ie,Be]],["isResClassIII",qi,[Ie,Be]],["getBaseCellNumber",Me,[Ie,Be]],["getResolution",Me,[Ie,Be]],["maxFaceCount",Re,[Ie,Be,_e]],["getIcosahedronFaces",Re,[Ie,Be,_e]],["cellToParent",Re,[Ie,Be,xt,_e]],["cellToChildren",Re,[Ie,Be,xt,_e]],["cellToCenterChild",Re,[Ie,Be,xt,_e]],["cellToChildrenSize",Re,[Ie,Be,xt,_e]],["cellToChildPos",Re,[Ie,Be,xt,_e]],["childPosToCell",Re,[Me,Me,Ie,Be,xt,_e]],["areNeighborCells",Re,[Ie,Be,Ie,Be,_e]],["cellsToDirectedEdge",Re,[Ie,Be,Ie,Be,_e]],["getDirectedEdgeOrigin",Re,[Ie,Be,_e]],["getDirectedEdgeDestination",Re,[Ie,Be,_e]],["isValidDirectedEdge",qi,[Ie,Be]],["directedEdgeToCells",Re,[Ie,Be,_e]],["originToDirectedEdges",Re,[Ie,Be,_e]],["directedEdgeToBoundary",Re,[Ie,Be,_e]],["gridDistance",Re,[Ie,Be,Ie,Be,_e]],["gridPathCells",Re,[Ie,Be,Ie,Be,_e]],["gridPathCellsSize",Re,[Ie,Be,Ie,Be,_e]],["cellToLocalIj",Re,[Ie,Be,Ie,Be,Me,_e]],["localIjToCell",Re,[Ie,Be,_e,Me,_e]],["getHexagonAreaAvgM2",Re,[xt,_e]],["getHexagonAreaAvgKm2",Re,[xt,_e]],["getHexagonEdgeLengthAvgM",Re,[xt,_e]],["getHexagonEdgeLengthAvgKm",Re,[xt,_e]],["greatCircleDistanceM",Me,[_e,_e]],["greatCircleDistanceKm",Me,[_e,_e]],["greatCircleDistanceRads",Me,[_e,_e]],["cellAreaM2",Re,[Ie,Be,_e]],["cellAreaKm2",Re,[Ie,Be,_e]],["cellAreaRads2",Re,[Ie,Be,_e]],["edgeLengthM",Re,[Ie,Be,_e]],["edgeLengthKm",Re,[Ie,Be,_e]],["edgeLengthRads",Re,[Ie,Be,_e]],["getNumCells",Re,[xt,_e]],["getRes0Cells",Re,[_e]],["res0CellCount",Me],["getPentagons",Re,[Me,_e]],["pentagonCount",Me],["cellToVertex",Re,[Ie,Be,Me,_e]],["cellToVertexes",Re,[Ie,Be,_e]],["vertexToLatLng",Re,[Ie,Be,_e]],["isValidVertex",qi,[Ie,Be]]],w1=0,_1=1,v1=2,b1=3,E1=4,Wf=5,$1=6,P1=7,k1=8,C1=9,S1=10,D1=11,x1=12,R1=13,T1=14,O1=15,It={};It[w1]="Success";It[_1]="The operation failed but a more specific error is not available";It[v1]="Argument was outside of acceptable range";It[b1]="Latitude or longitude arguments were outside of acceptable range";It[E1]="Resolution argument was outside of acceptable range";It[Wf]="Cell argument was not valid";It[$1]="Directed edge argument was not valid";It[P1]="Undirected edge argument was not valid";It[k1]="Vertex argument was not valid";It[C1]="Pentagon distortion was encountered";It[S1]="Duplicate input";It[D1]="Cell arguments were not neighbors";It[x1]="Cell arguments had incompatible resolutions";It[R1]="Memory allocation failed";It[T1]="Bounds of provided memory were insufficient";It[O1]="Mode or flags argument was not valid";var I1=1e3,Yf=1001,Xf=1002,rs={};rs[I1]="Unknown unit";rs[Yf]="Array length out of bounds";rs[Xf]="Got unexpected null value for H3 index";var B1="Unknown error";function Zf(n,e,i){var s=i&&"value"in i,u=new Error((n[e]||B1)+" (code: "+e+(s?", value: "+i.value:"")+")");return u.code=e,u}function ec(n,e){var i=arguments.length===2?{value:e}:{};return Zf(It,n,i)}function tc(n,e){var i=arguments.length===2?{value:e}:{};return Zf(rs,n,i)}function ns(n){if(n!==0)throw ec(n)}var Qt={};y1.forEach(function(e){Qt[e[0]]=Ot.cwrap.apply(Ot,e)});var Ln=16;var M1=4;var j1=8,N1=8,Ui=Qt.sizeOfH3Index(),F1=Qt.sizeOfLatLng(),S$=Qt.sizeOfCellBoundary(),D$=Qt.sizeOfGeoPolygon(),x$=Qt.sizeOfGeoLoop(),R$=Qt.sizeOfLinkedGeoPolygon(),T$=Qt.sizeOfCoordIJ();function Ac(n){if(!n)throw tc(Xf);return n}var Q1=Math.pow(2,32)-1;function L1(n){if(n>Q1)throw tc(Yf,n);return n}var q1=/[^0-9a-fA-F]/;function Gi(n){if(Array.isArray(n)&&n.length===2&&Number.isInteger(n[0])&&Number.isInteger(n[1]))return n;if(typeof n!="string"||q1.test(n))return[0,0];var e=parseInt(n.substring(0,n.length-8),Ln),i=parseInt(n.substring(n.length-8),Ln);return[i,e]}function Kf(n){if(n>=0)return n.toString(Ln);n=n&2147483647;var e=rc(8,n.toString(Ln)),i=(parseInt(e[0],Ln)+8).toString(Ln);return e=i+e.substring(1),e}function U1(n,e){return Kf(e)+rc(8,Kf(n))}function rc(n,e){for(var i=n-e.length,s="",u=0;u<i;u++)s+="0";return s=s+e,s}var O$=Math.pow(2,32);function Wa(n,e){e===void 0&&(e=0);var i=Ot.getValue(n+Ui*e,"i32"),s=Ot.getValue(n+Ui*e+M1,"i32");return s?U1(i,s):null}function G1(n){return Qt.readInt64AsDoubleFromPointer(n)}function H1(n,e){for(var i=[],s=0;s<e;s++){var u=Wa(n,s);u!==null&&i.push(u)}return i}function nc(n){var e=Gi(n),i=e[0],s=e[1];return!!Qt.isValidCell(i,s)}function TA(n){var e=Gi(n),i=e[0],s=e[1];return Qt.isValidCell(i,s)?Qt.getResolution(i,s):-1}function Ya(n,e,i){var s=Ot._malloc(F1);Ot.HEAPF64.set([n,e].map(z1),s/j1);var u=Ot._malloc(Ui);try{return ns(Qt.latLngToCell(s,i,u)),Ac(Wa(u))}finally{Ot._free(u),Ot._free(s)}}function OA(n,e){var i=Gi(n),s=i[0],u=i[1],d=Ot._malloc(Ui);try{return ns(Qt.cellToParent(s,u,e,d)),Ac(Wa(d))}finally{Ot._free(d)}}function ic(n,e){if(!nc(n))return[];var i=Gi(n),s=i[0],u=i[1],d=L1(V1(n,e)),m=Ot._calloc(d,Ui);try{return ns(Qt.cellToChildren(s,u,e,m)),H1(m,d)}finally{Ot._free(m)}}function V1(n,e){if(!nc(n))throw ec(Wf);var i=Gi(n),s=i[0],u=i[1],d=Ot._malloc(N1);try{return ns(Qt.cellToChildrenSize(s,u,e,d)),G1(d)}finally{Ot._free(d)}}function z1(n){return n*Math.PI/180}var is="RFC3986",os={RFC1738:n=>String(n).replace(/%20/g,"+"),RFC3986:n=>String(n)},oc="RFC1738";var J1=Array.isArray,IA=(()=>{let n=[];for(let e=0;e<256;++e)n.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return n})();var Za=1024,sc=(n,e,i,s,u)=>{if(n.length===0)return n;let d=n;if(typeof n=="symbol"?d=Symbol.prototype.toString.call(n):typeof n!="string"&&(d=String(n)),i==="iso-8859-1")return escape(d).replace(/%u[0-9a-f]{4}/gi,function(y){return"%26%23"+parseInt(y.slice(2),16)+"%3B"});let m="";for(let y=0;y<d.length;y+=Za){let E=d.length>=Za?d.slice(y,y+Za):d,b=[];for(let w=0;w<E.length;++w){let _=E.charCodeAt(w);if(_===45||_===46||_===95||_===126||_>=48&&_<=57||_>=65&&_<=90||_>=97&&_<=122||u===oc&&(_===40||_===41)){b[b.length]=E.charAt(w);continue}if(_<128){b[b.length]=IA[_];continue}if(_<2048){b[b.length]=IA[192|_>>6]+IA[128|_&63];continue}if(_<55296||_>=57344){b[b.length]=IA[224|_>>12]+IA[128|_>>6&63]+IA[128|_&63];continue}w+=1,_=65536+((_&1023)<<10|E.charCodeAt(w)&1023),b[b.length]=IA[240|_>>18]+IA[128|_>>12&63]+IA[128|_>>6&63]+IA[128|_&63]}m+=b.join("")}return m};function ac(n){return!n||typeof n!="object"?!1:!!(n.constructor&&n.constructor.isBuffer&&n.constructor.isBuffer(n))}function e0(n,e){if(J1(n)){let i=[];for(let s=0;s<n.length;s+=1)i.push(e(n[s]));return i}return e(n)}var K1=Object.prototype.hasOwnProperty,lc={brackets(n){return String(n)+"[]"},comma:"comma",indices(n,e){return String(n)+"["+e+"]"},repeat(n){return String(n)}},BA=Array.isArray,W1=Array.prototype.push,uc=function(n,e){W1.apply(n,BA(e)?e:[e])},Y1=Date.prototype.toISOString,Et={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:sc,encodeValuesOnly:!1,format:is,formatter:os[is],indices:!1,serializeDate(n){return Y1.call(n)},skipNulls:!1,strictNullHandling:!1};function X1(n){return typeof n=="string"||typeof n=="number"||typeof n=="boolean"||typeof n=="symbol"||typeof n=="bigint"}var t0={};function fc(n,e,i,s,u,d,m,y,E,b,w,_,$,C,x,k,B,O){let I=n,U=O,q=0,V=!1;for(;(U=U.get(t0))!==void 0&&!V;){let le=U.get(n);if(q+=1,typeof le<"u"){if(le===q)throw new RangeError("Cyclic object value");V=!0}typeof U.get(t0)>"u"&&(q=0)}if(typeof b=="function"?I=b(e,I):I instanceof Date?I=$?.(I):i==="comma"&&BA(I)&&(I=e0(I,function(le){return le instanceof Date?$?.(le):le})),I===null){if(d)return E&&!k?E(e,Et.encoder,B,"key",C):e;I=""}if(X1(I)||ac(I)){if(E){let le=k?e:E(e,Et.encoder,B,"key",C);return[x?.(le)+"="+x?.(E(I,Et.encoder,B,"value",C))]}return[x?.(e)+"="+x?.(String(I))]}let z=[];if(typeof I>"u")return z;let re;if(i==="comma"&&BA(I))k&&E&&(I=e0(I,E)),re=[{value:I.length>0?I.join(",")||null:void 0}];else if(BA(b))re=b;else{let le=Object.keys(I);re=w?le.sort(w):le}let L=y?String(e).replace(/\./g,"%2E"):String(e),J=s&&BA(I)&&I.length===1?L+"[]":L;if(u&&BA(I)&&I.length===0)return J+"[]";for(let le=0;le<re.length;++le){let ae=re[le],R=typeof ae=="object"&&typeof ae.value<"u"?ae.value:I[ae];if(m&&R===null)continue;let M=_&&y?ae.replace(/\./g,"%2E"):ae,Q=BA(I)?typeof i=="function"?i(J,M):J:J+(_?"."+M:"["+M+"]");O.set(n,q);let X=new WeakMap;X.set(t0,O),uc(z,fc(R,Q,i,s,u,d,m,y,i==="comma"&&k&&BA(I)?null:E,b,w,_,$,C,x,k,B,X))}return z}function Z1(n=Et){if(typeof n.allowEmptyArrays<"u"&&typeof n.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof n.encodeDotInKeys<"u"&&typeof n.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(n.encoder!==null&&typeof n.encoder<"u"&&typeof n.encoder!="function")throw new TypeError("Encoder has to be a function.");let e=n.charset||Et.charset;if(typeof n.charset<"u"&&n.charset!=="utf-8"&&n.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let i=is;if(typeof n.format<"u"){if(!K1.call(os,n.format))throw new TypeError("Unknown format option provided.");i=n.format}let s=os[i],u=Et.filter;(typeof n.filter=="function"||BA(n.filter))&&(u=n.filter);let d;if(n.arrayFormat&&n.arrayFormat in lc?d=n.arrayFormat:"indices"in n?d=n.indices?"indices":"repeat":d=Et.arrayFormat,"commaRoundTrip"in n&&typeof n.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");let m=typeof n.allowDots>"u"?n.encodeDotInKeys?!0:Et.allowDots:!!n.allowDots;return{addQueryPrefix:typeof n.addQueryPrefix=="boolean"?n.addQueryPrefix:Et.addQueryPrefix,allowDots:m,allowEmptyArrays:typeof n.allowEmptyArrays=="boolean"?!!n.allowEmptyArrays:Et.allowEmptyArrays,arrayFormat:d,charset:e,charsetSentinel:typeof n.charsetSentinel=="boolean"?n.charsetSentinel:Et.charsetSentinel,commaRoundTrip:!!n.commaRoundTrip,delimiter:typeof n.delimiter>"u"?Et.delimiter:n.delimiter,encode:typeof n.encode=="boolean"?n.encode:Et.encode,encodeDotInKeys:typeof n.encodeDotInKeys=="boolean"?n.encodeDotInKeys:Et.encodeDotInKeys,encoder:typeof n.encoder=="function"?n.encoder:Et.encoder,encodeValuesOnly:typeof n.encodeValuesOnly=="boolean"?n.encodeValuesOnly:Et.encodeValuesOnly,filter:u,format:i,formatter:s,serializeDate:typeof n.serializeDate=="function"?n.serializeDate:Et.serializeDate,skipNulls:typeof n.skipNulls=="boolean"?n.skipNulls:Et.skipNulls,sort:typeof n.sort=="function"?n.sort:null,strictNullHandling:typeof n.strictNullHandling=="boolean"?n.strictNullHandling:Et.strictNullHandling}}function A0(n,e={}){let i=n,s=Z1(e),u,d;typeof s.filter=="function"?(d=s.filter,i=d("",i)):BA(s.filter)&&(d=s.filter,u=d);let m=[];if(typeof i!="object"||i===null)return"";let y=lc[s.arrayFormat],E=y==="comma"&&s.commaRoundTrip;u||(u=Object.keys(i)),s.sort&&u.sort(s.sort);let b=new WeakMap;for(let $=0;$<u.length;++$){let C=u[$];s.skipNulls&&i[C]===null||uc(m,fc(i[C],C,y,E,s.allowEmptyArrays,s.strictNullHandling,s.skipNulls,s.encodeDotInKeys,s.encode?s.encoder:null,s.filter,s.sort,s.allowDots,s.serializeDate,s.format,s.formatter,s.encodeValuesOnly,s.charset,b))}let w=m.join(s.delimiter),_=s.addQueryPrefix===!0?"?":"";return s.charsetSentinel&&(s.charset==="iso-8859-1"?_+="utf8=%26%2310003%3B&":_+="utf8=%E2%9C%93&"),w.length>0?_+w:""}var Wr="4.94.0";var cc=!1,Yr,r0,ty,Ay,ry,n0,ny,ss,i0,o0,s0,as,a0;function dc(n,e={auto:!1}){if(cc)throw new Error(`you must \`import 'openai/shims/${n.kind}'\` before importing anything else from openai`);if(Yr)throw new Error(`can't \`import 'openai/shims/${n.kind}'\` after \`import 'openai/shims/${Yr}'\``);cc=e.auto,Yr=n.kind,r0=n.fetch,ty=n.Request,Ay=n.Response,ry=n.Headers,n0=n.FormData,ny=n.Blob,ss=n.File,i0=n.ReadableStream,o0=n.getMultipartRequestOptions,s0=n.getDefaultAgent,as=n.fileFromPath,a0=n.isFsReadStream}var ls=class{constructor(e){this.body=e}get[Symbol.toStringTag](){return"MultipartBody"}};function hc({manuallyImported:n}={}){let e=n?"You may need to use polyfills":"Add one of these imports before your first `import \u2026 from 'openai'`:\n- `import 'openai/shims/node'` (if you're running on Node)\n- `import 'openai/shims/web'` (otherwise)\n",i,s,u,d;try{i=fetch,s=Request,u=Response,d=Headers}catch(m){throw new Error(`this environment is missing the following Web Fetch API type: ${m.message}. ${e}`)}return{kind:"web",fetch:i,Request:s,Response:u,Headers:d,FormData:typeof FormData<"u"?FormData:class{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'FormData' is undefined. ${e}`)}},Blob:typeof Blob<"u"?Blob:class{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'Blob' is undefined. ${e}`)}},File:typeof File<"u"?File:class{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'File' is undefined. ${e}`)}},ReadableStream:typeof ReadableStream<"u"?ReadableStream:class{constructor(){throw new Error(`streaming isn't supported in this environment yet as 'ReadableStream' is undefined. ${e}`)}},getMultipartRequestOptions:async(m,y)=>({...y,body:new ls(m)}),getDefaultAgent:m=>{},fileFromPath:()=>{throw new Error("The `fileFromPath` function is only supported in Node. See the README for more details: https://www.github.com/openai/openai-node#file-uploads")},isFsReadStream:m=>!1}}var l0=()=>{Yr||dc(hc(),{auto:!0})};l0();var $e=class extends Error{},$t=class n extends $e{constructor(e,i,s,u){super(`${n.makeMessage(e,i,s)}`),this.status=e,this.headers=u,this.request_id=u?.["x-request-id"],this.error=i;let d=i;this.code=d?.code,this.param=d?.param,this.type=d?.type}static makeMessage(e,i,s){let u=i?.message?typeof i.message=="string"?i.message:JSON.stringify(i.message):i?JSON.stringify(i):s;return e&&u?`${e} ${u}`:e?`${e} status code (no body)`:u||"(no status code or body)"}static generate(e,i,s,u){if(!e||!u)return new pr({message:s,cause:us(i)});let d=i?.error;return e===400?new Hi(e,d,s,u):e===401?new Vi(e,d,s,u):e===403?new zi(e,d,s,u):e===404?new Ji(e,d,s,u):e===409?new Ki(e,d,s,u):e===422?new Wi(e,d,s,u):e===429?new Yi(e,d,s,u):e>=500?new Xi(e,d,s,u):new n(e,d,s,u)}},bt=class extends $t{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}},pr=class extends $t{constructor({message:e,cause:i}){super(void 0,void 0,e||"Connection error.",void 0),i&&(this.cause=i)}},mr=class extends pr{constructor({message:e}={}){super({message:e??"Request timed out."})}},Hi=class extends $t{},Vi=class extends $t{},zi=class extends $t{},Ji=class extends $t{},Ki=class extends $t{},Wi=class extends $t{},Yi=class extends $t{},Xi=class extends $t{},qn=class extends $e{constructor(){super("Could not parse response content as the length limit was reached")}},Un=class extends $e{constructor(){super("Could not parse response content as the request was rejected by the content filter")}};var fs=function(n,e,i,s,u){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!u:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(n,i):u?u.value=i:e.set(n,i),i},Xr=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},rA,Zr=class{constructor(){rA.set(this,void 0),this.buffer=new Uint8Array,fs(this,rA,null,"f")}decode(e){if(e==null)return[];let i=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?new TextEncoder().encode(e):e,s=new Uint8Array(this.buffer.length+i.length);s.set(this.buffer),s.set(i,this.buffer.length),this.buffer=s;let u=[],d;for(;(d=sy(this.buffer,Xr(this,rA,"f")))!=null;){if(d.carriage&&Xr(this,rA,"f")==null){fs(this,rA,d.index,"f");continue}if(Xr(this,rA,"f")!=null&&(d.index!==Xr(this,rA,"f")+1||d.carriage)){u.push(this.decodeText(this.buffer.slice(0,Xr(this,rA,"f")-1))),this.buffer=this.buffer.slice(Xr(this,rA,"f")),fs(this,rA,null,"f");continue}let m=Xr(this,rA,"f")!==null?d.preceding-1:d.preceding,y=this.decodeText(this.buffer.slice(0,m));u.push(y),this.buffer=this.buffer.slice(d.index),fs(this,rA,null,"f")}return u}decodeText(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof Buffer<"u"){if(e instanceof Buffer)return e.toString();if(e instanceof Uint8Array)return Buffer.from(e).toString();throw new $e(`Unexpected: received non-Uint8Array (${e.constructor.name}) stream chunk in an environment with a global "Buffer" defined, which this library assumes to be Node. Please report this error.`)}if(typeof TextDecoder<"u"){if(e instanceof Uint8Array||e instanceof ArrayBuffer)return this.textDecoder??(this.textDecoder=new TextDecoder("utf8")),this.textDecoder.decode(e);throw new $e(`Unexpected: received non-Uint8Array/ArrayBuffer (${e.constructor.name}) in a web platform. Please report this error.`)}throw new $e("Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.")}flush(){return this.buffer.length?this.decode(`
|
|
9
|
+
deps: ${i}}`};var C4={keyword:"dependencies",type:"object",schemaType:"object",error:zA.error,code(n){let[e,i]=S4(n);ep(n,e),tp(n,i)}};function S4({schema:n}){let e={},i={};for(let s in n){if(s==="__proto__")continue;let u=Array.isArray(n[s])?e:i;u[s]=n[s]}return[e,i]}function ep(n,e=n.schema){let{gen:i,data:s,it:u}=n;if(Object.keys(e).length===0)return;let d=i.let("missing");for(let m in e){let y=e[m];if(y.length===0)continue;let E=(0,Go.propertyInData)(i,s,m,u.opts.ownProperties);n.setParams({property:m,depsCount:y.length,deps:y.join(", ")}),u.allErrors?i.if(E,()=>{for(let b of y)(0,Go.checkReportMissingProp)(n,b)}):(i.if((0,nu._)`${E} && (${(0,Go.checkMissingProp)(n,y,d)})`),(0,Go.reportMissingProp)(n,d),i.else())}}zA.validatePropertyDeps=ep;function tp(n,e=n.schema){let{gen:i,data:s,keyword:u,it:d}=n,m=i.name("valid");for(let y in e)(0,k4.alwaysValidSchema)(d,e[y])||(i.if((0,Go.propertyInData)(i,s,y,d.opts.ownProperties),()=>{let E=n.subschema({keyword:u,schemaProp:y},m);n.mergeValidEvaluated(E,m)},()=>i.var(m,!0)),n.ok(m))}zA.validateSchemaDeps=tp;zA.default=C4});var rp=pe(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});var Ap=Ge(),D4=Ye(),x4={message:"property name must be valid",params:({params:n})=>(0,Ap._)`{propertyName: ${n.propertyName}}`},R4={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:x4,code(n){let{gen:e,schema:i,data:s,it:u}=n;if((0,D4.alwaysValidSchema)(u,i))return;let d=e.name("valid");e.forIn("key",s,m=>{n.setParams({propertyName:m}),n.subschema({keyword:"propertyNames",data:m,dataTypes:["string"],propertyName:m,compositeRule:!0},d),e.if((0,Ap.not)(d),()=>{n.error(!0),u.allErrors||e.break()})}),n.ok(d)}};iu.default=R4});var su=pe(ou=>{"use strict";Object.defineProperty(ou,"__esModule",{value:!0});var aa=mA(),kA=Ge(),T4=pA(),la=Ye(),O4={message:"must NOT have additional properties",params:({params:n})=>(0,kA._)`{additionalProperty: ${n.additionalProperty}}`},I4={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:O4,code(n){let{gen:e,schema:i,parentSchema:s,data:u,errsCount:d,it:m}=n;if(!d)throw new Error("ajv implementation error");let{allErrors:y,opts:E}=m;if(m.props=!0,E.removeAdditional!=="all"&&(0,la.alwaysValidSchema)(m,i))return;let b=(0,aa.allSchemaProperties)(s.properties),w=(0,aa.allSchemaProperties)(s.patternProperties);v(),n.ok((0,kA._)`${d} === ${T4.default.errors}`);function v(){e.forIn("key",u,B=>{!b.length&&!w.length?x(B):e.if($(B),()=>x(B))})}function $(B){let O;if(b.length>8){let I=(0,la.schemaRefOrVal)(m,s.properties,"properties");O=(0,aa.isOwnProperty)(e,I,B)}else b.length?O=(0,kA.or)(...b.map(I=>(0,kA._)`${B} === ${I}`)):O=kA.nil;return w.length&&(O=(0,kA.or)(O,...w.map(I=>(0,kA._)`${(0,aa.usePattern)(n,I)}.test(${B})`))),(0,kA.not)(O)}function S(B){e.code((0,kA._)`delete ${u}[${B}]`)}function x(B){if(E.removeAdditional==="all"||E.removeAdditional&&i===!1){S(B);return}if(i===!1){n.setParams({additionalProperty:B}),n.error(),y||e.break();return}if(typeof i=="object"&&!(0,la.alwaysValidSchema)(m,i)){let O=e.name("valid");E.removeAdditional==="failing"?(k(B,O,!1),e.if((0,kA.not)(O),()=>{n.reset(),S(B)})):(k(B,O),y||e.if((0,kA.not)(O),()=>e.break()))}}function k(B,O,I){let U={keyword:"additionalProperties",dataProp:B,dataPropType:la.Type.Str};I===!1&&Object.assign(U,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(U,O)}}};ou.default=I4});var op=pe(lu=>{"use strict";Object.defineProperty(lu,"__esModule",{value:!0});var B4=Do(),np=mA(),au=Ye(),ip=su(),M4={keyword:"properties",type:"object",schemaType:"object",code(n){let{gen:e,schema:i,parentSchema:s,data:u,it:d}=n;d.opts.removeAdditional==="all"&&s.additionalProperties===void 0&&ip.default.code(new B4.KeywordCxt(d,ip.default,"additionalProperties"));let m=(0,np.allSchemaProperties)(i);for(let v of m)d.definedProperties.add(v);d.opts.unevaluated&&m.length&&d.props!==!0&&(d.props=au.mergeEvaluated.props(e,(0,au.toHash)(m),d.props));let y=m.filter(v=>!(0,au.alwaysValidSchema)(d,i[v]));if(y.length===0)return;let E=e.name("valid");for(let v of y)b(v)?w(v):(e.if((0,np.propertyInData)(e,u,v,d.opts.ownProperties)),w(v),d.allErrors||e.else().var(E,!0),e.endIf()),n.it.definedProperties.add(v),n.ok(E);function b(v){return d.opts.useDefaults&&!d.compositeRule&&i[v].default!==void 0}function w(v){n.subschema({keyword:"properties",schemaProp:v,dataProp:v},E)}}};lu.default=M4});var up=pe(uu=>{"use strict";Object.defineProperty(uu,"__esModule",{value:!0});var sp=mA(),ua=Ge(),ap=Ye(),lp=Ye(),j4={keyword:"patternProperties",type:"object",schemaType:"object",code(n){let{gen:e,schema:i,data:s,parentSchema:u,it:d}=n,{opts:m}=d,y=(0,sp.allSchemaProperties)(i),E=y.filter(k=>(0,ap.alwaysValidSchema)(d,i[k]));if(y.length===0||E.length===y.length&&(!d.opts.unevaluated||d.props===!0))return;let b=m.strictSchema&&!m.allowMatchingProperties&&u.properties,w=e.name("valid");d.props!==!0&&!(d.props instanceof ua.Name)&&(d.props=(0,lp.evaluatedPropsToName)(e,d.props));let{props:v}=d;$();function $(){for(let k of y)b&&S(k),d.allErrors?x(k):(e.var(w,!0),x(k),e.if(w))}function S(k){for(let B in b)new RegExp(k).test(B)&&(0,ap.checkStrictMode)(d,`property ${B} matches pattern ${k} (use allowMatchingProperties)`)}function x(k){e.forIn("key",s,B=>{e.if((0,ua._)`${(0,sp.usePattern)(n,k)}.test(${B})`,()=>{let O=E.includes(k);O||n.subschema({keyword:"patternProperties",schemaProp:k,dataProp:B,dataPropType:lp.Type.Str},w),d.opts.unevaluated&&v!==!0?e.assign((0,ua._)`${v}[${B}]`,!0):!O&&!d.allErrors&&e.if((0,ua.not)(w),()=>e.break())})})}}};uu.default=j4});var fp=pe(fu=>{"use strict";Object.defineProperty(fu,"__esModule",{value:!0});var N4=Ye(),F4={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){let{gen:e,schema:i,it:s}=n;if((0,N4.alwaysValidSchema)(s,i)){n.fail();return}let u=e.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},u),n.failResult(u,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};fu.default=F4});var cp=pe(cu=>{"use strict";Object.defineProperty(cu,"__esModule",{value:!0});var Q4=mA(),L4={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Q4.validateUnion,error:{message:"must match a schema in anyOf"}};cu.default=L4});var dp=pe(du=>{"use strict";Object.defineProperty(du,"__esModule",{value:!0});var fa=Ge(),q4=Ye(),U4={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,fa._)`{passingSchemas: ${n.passing}}`},G4={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:U4,code(n){let{gen:e,schema:i,parentSchema:s,it:u}=n;if(!Array.isArray(i))throw new Error("ajv implementation error");if(u.opts.discriminator&&s.discriminator)return;let d=i,m=e.let("valid",!1),y=e.let("passing",null),E=e.name("_valid");n.setParams({passing:y}),e.block(b),n.result(m,()=>n.reset(),()=>n.error(!0));function b(){d.forEach((w,v)=>{let $;(0,q4.alwaysValidSchema)(u,w)?e.var(E,!0):$=n.subschema({keyword:"oneOf",schemaProp:v,compositeRule:!0},E),v>0&&e.if((0,fa._)`${E} && ${m}`).assign(m,!1).assign(y,(0,fa._)`[${y}, ${v}]`).else(),e.if(E,()=>{e.assign(m,!0),e.assign(y,v),$&&n.mergeEvaluated($,fa.Name)})})}}};du.default=G4});var hp=pe(hu=>{"use strict";Object.defineProperty(hu,"__esModule",{value:!0});var H4=Ye(),V4={keyword:"allOf",schemaType:"array",code(n){let{gen:e,schema:i,it:s}=n;if(!Array.isArray(i))throw new Error("ajv implementation error");let u=e.name("valid");i.forEach((d,m)=>{if((0,H4.alwaysValidSchema)(s,d))return;let y=n.subschema({keyword:"allOf",schemaProp:m},u);n.ok(u),n.mergeEvaluated(y)})}};hu.default=V4});var gp=pe(pu=>{"use strict";Object.defineProperty(pu,"__esModule",{value:!0});var ca=Ge(),mp=Ye(),z4={message:({params:n})=>(0,ca.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,ca._)`{failingKeyword: ${n.ifClause}}`},J4={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:z4,code(n){let{gen:e,parentSchema:i,it:s}=n;i.then===void 0&&i.else===void 0&&(0,mp.checkStrictMode)(s,'"if" without "then" and "else" is ignored');let u=pp(s,"then"),d=pp(s,"else");if(!u&&!d)return;let m=e.let("valid",!0),y=e.name("_valid");if(E(),n.reset(),u&&d){let w=e.let("ifClause");n.setParams({ifClause:w}),e.if(y,b("then",w),b("else",w))}else u?e.if(y,b("then")):e.if((0,ca.not)(y),b("else"));n.pass(m,()=>n.error(!0));function E(){let w=n.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},y);n.mergeEvaluated(w)}function b(w,v){return()=>{let $=n.subschema({keyword:w},y);e.assign(m,y),n.mergeValidEvaluated($,m),v?e.assign(v,(0,ca._)`${w}`):n.setParams({ifClause:w})}}}};function pp(n,e){let i=n.schema[e];return i!==void 0&&!(0,mp.alwaysValidSchema)(n,i)}pu.default=J4});var yp=pe(mu=>{"use strict";Object.defineProperty(mu,"__esModule",{value:!0});var K4=Ye(),W4={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:i}){e.if===void 0&&(0,K4.checkStrictMode)(i,`"${n}" without "if" is ignored`)}};mu.default=W4});var wp=pe(gu=>{"use strict";Object.defineProperty(gu,"__esModule",{value:!0});var Y4=Zl(),X4=Wh(),Z4=eu(),e3=Xh(),t3=Zh(),A3=sa(),r3=rp(),n3=su(),i3=op(),o3=up(),s3=fp(),a3=cp(),l3=dp(),u3=hp(),f3=gp(),c3=yp();function d3(n=!1){let e=[s3.default,a3.default,l3.default,u3.default,f3.default,c3.default,r3.default,n3.default,A3.default,i3.default,o3.default];return n?e.push(X4.default,e3.default):e.push(Y4.default,Z4.default),e.push(t3.default),e}gu.default=d3});var _p=pe(yu=>{"use strict";Object.defineProperty(yu,"__esModule",{value:!0});var _t=Ge(),h3={message:({schemaCode:n})=>(0,_t.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,_t._)`{format: ${n}}`},p3={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:h3,code(n,e){let{gen:i,data:s,$data:u,schema:d,schemaCode:m,it:y}=n,{opts:E,errSchemaPath:b,schemaEnv:w,self:v}=y;if(!E.validateFormats)return;u?$():S();function $(){let x=i.scopeValue("formats",{ref:v.formats,code:E.code.formats}),k=i.const("fDef",(0,_t._)`${x}[${m}]`),B=i.let("fType"),O=i.let("format");i.if((0,_t._)`typeof ${k} == "object" && !(${k} instanceof RegExp)`,()=>i.assign(B,(0,_t._)`${k}.type || "string"`).assign(O,(0,_t._)`${k}.validate`),()=>i.assign(B,(0,_t._)`"string"`).assign(O,k)),n.fail$data((0,_t.or)(I(),U()));function I(){return E.strictSchema===!1?_t.nil:(0,_t._)`${m} && !${O}`}function U(){let q=w.$async?(0,_t._)`(${k}.async ? await ${O}(${s}) : ${O}(${s}))`:(0,_t._)`${O}(${s})`,V=(0,_t._)`(typeof ${O} == "function" ? ${q} : ${O}.test(${s}))`;return(0,_t._)`${O} && ${O} !== true && ${B} === ${e} && !${V}`}}function S(){let x=v.formats[d];if(!x){I();return}if(x===!0)return;let[k,B,O]=U(x);k===e&&n.pass(q());function I(){if(E.strictSchema===!1){v.logger.warn(V());return}throw new Error(V());function V(){return`unknown format "${d}" ignored in schema at path "${b}"`}}function U(V){let z=V instanceof RegExp?(0,_t.regexpCode)(V):E.code.formats?(0,_t._)`${E.code.formats}${(0,_t.getProperty)(d)}`:void 0,re=i.scopeValue("formats",{key:d,ref:V,code:z});return typeof V=="object"&&!(V instanceof RegExp)?[V.type||"string",V.validate,(0,_t._)`${re}.validate`]:["string",V,re]}function q(){if(typeof x=="object"&&!(x instanceof RegExp)&&x.async){if(!w.$async)throw new Error("async format in sync schema");return(0,_t._)`await ${O}(${s})`}return typeof B=="function"?(0,_t._)`${O}(${s})`:(0,_t._)`${O}.test(${s})`}}}};yu.default=p3});var vp=pe(wu=>{"use strict";Object.defineProperty(wu,"__esModule",{value:!0});var m3=_p(),g3=[m3.default];wu.default=g3});var bp=pe(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.contentVocabulary=Di.metadataVocabulary=void 0;Di.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Di.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var $p=pe(_u=>{"use strict";Object.defineProperty(_u,"__esModule",{value:!0});var y3=Th(),w3=Vh(),_3=wp(),v3=vp(),Ep=bp(),b3=[y3.default,w3.default,(0,_3.default)(),v3.default,Ep.metadataVocabulary,Ep.contentVocabulary];_u.default=b3});var bu=pe(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.dynamicAnchor=void 0;var vu=Ge(),E3=pA(),Pp=Ro(),$3=ea(),P3={keyword:"$dynamicAnchor",schemaType:"string",code:n=>kp(n,n.schema)};function kp(n,e){let{gen:i,it:s}=n;s.schemaEnv.root.dynamicAnchors[e]=!0;let u=(0,vu._)`${E3.default.dynamicAnchors}${(0,vu.getProperty)(e)}`,d=s.errSchemaPath==="#"?s.validateName:k3(n);i.if((0,vu._)`!${u}`,()=>i.assign(u,d))}Ho.dynamicAnchor=kp;function k3(n){let{schemaEnv:e,schema:i,self:s}=n.it,{root:u,baseId:d,localRefs:m,meta:y}=e.root,{schemaId:E}=s.opts,b=new Pp.SchemaEnv({schema:i,schemaId:E,root:u,baseId:d,localRefs:m,meta:y});return Pp.compileSchema.call(s,b),(0,$3.getValidate)(n,b)}Ho.default=P3});var Eu=pe(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.dynamicRef=void 0;var Cp=Ge(),C3=pA(),Sp=ea(),S3={keyword:"$dynamicRef",schemaType:"string",code:n=>Dp(n,n.schema)};function Dp(n,e){let{gen:i,keyword:s,it:u}=n;if(e[0]!=="#")throw new Error(`"${s}" only supports hash fragment reference`);let d=e.slice(1);if(u.allErrors)m();else{let E=i.let("valid",!1);m(E),n.ok(E)}function m(E){if(u.schemaEnv.root.dynamicAnchors[d]){let b=i.let("_v",(0,Cp._)`${C3.default.dynamicAnchors}${(0,Cp.getProperty)(d)}`);i.if(b,y(b,E),y(u.validateName,E))}else y(u.validateName,E)()}function y(E,b){return b?()=>i.block(()=>{(0,Sp.callRef)(n,E),i.let(b,!0)}):()=>(0,Sp.callRef)(n,E)}}Vo.dynamicRef=Dp;Vo.default=S3});var xp=pe($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});var D3=bu(),x3=Ye(),R3={keyword:"$recursiveAnchor",schemaType:"boolean",code(n){n.schema?(0,D3.dynamicAnchor)(n,""):(0,x3.checkStrictMode)(n.it,"$recursiveAnchor: false is ignored")}};$u.default=R3});var Rp=pe(Pu=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});var T3=Eu(),O3={keyword:"$recursiveRef",schemaType:"string",code:n=>(0,T3.dynamicRef)(n,n.schema)};Pu.default=O3});var Tp=pe(ku=>{"use strict";Object.defineProperty(ku,"__esModule",{value:!0});var I3=bu(),B3=Eu(),M3=xp(),j3=Rp(),N3=[I3.default,B3.default,M3.default,j3.default];ku.default=N3});var Ip=pe(Cu=>{"use strict";Object.defineProperty(Cu,"__esModule",{value:!0});var Op=sa(),F3={keyword:"dependentRequired",type:"object",schemaType:"object",error:Op.error,code:n=>(0,Op.validatePropertyDeps)(n)};Cu.default=F3});var Bp=pe(Su=>{"use strict";Object.defineProperty(Su,"__esModule",{value:!0});var Q3=sa(),L3={keyword:"dependentSchemas",type:"object",schemaType:"object",code:n=>(0,Q3.validateSchemaDeps)(n)};Su.default=L3});var Mp=pe(Du=>{"use strict";Object.defineProperty(Du,"__esModule",{value:!0});var q3=Ye(),U3={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:n,parentSchema:e,it:i}){e.contains===void 0&&(0,q3.checkStrictMode)(i,`"${n}" without "contains" is ignored`)}};Du.default=U3});var jp=pe(xu=>{"use strict";Object.defineProperty(xu,"__esModule",{value:!0});var G3=Ip(),H3=Bp(),V3=Mp(),z3=[G3.default,H3.default,V3.default];xu.default=z3});var Fp=pe(Ru=>{"use strict";Object.defineProperty(Ru,"__esModule",{value:!0});var Lr=Ge(),Np=Ye(),J3=pA(),K3={message:"must NOT have unevaluated properties",params:({params:n})=>(0,Lr._)`{unevaluatedProperty: ${n.unevaluatedProperty}}`},W3={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:K3,code(n){let{gen:e,schema:i,data:s,errsCount:u,it:d}=n;if(!u)throw new Error("ajv implementation error");let{allErrors:m,props:y}=d;y instanceof Lr.Name?e.if((0,Lr._)`${y} !== true`,()=>e.forIn("key",s,v=>e.if(b(y,v),()=>E(v)))):y!==!0&&e.forIn("key",s,v=>y===void 0?E(v):e.if(w(y,v),()=>E(v))),d.props=!0,n.ok((0,Lr._)`${u} === ${J3.default.errors}`);function E(v){if(i===!1){n.setParams({unevaluatedProperty:v}),n.error(),m||e.break();return}if(!(0,Np.alwaysValidSchema)(d,i)){let $=e.name("valid");n.subschema({keyword:"unevaluatedProperties",dataProp:v,dataPropType:Np.Type.Str},$),m||e.if((0,Lr.not)($),()=>e.break())}}function b(v,$){return(0,Lr._)`!${v} || !${v}[${$}]`}function w(v,$){let S=[];for(let x in v)v[x]===!0&&S.push((0,Lr._)`${$} !== ${x}`);return(0,Lr.and)(...S)}}};Ru.default=W3});var Lp=pe(Tu=>{"use strict";Object.defineProperty(Tu,"__esModule",{value:!0});var xn=Ge(),Qp=Ye(),Y3={message:({params:{len:n}})=>(0,xn.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,xn._)`{limit: ${n}}`},X3={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:Y3,code(n){let{gen:e,schema:i,data:s,it:u}=n,d=u.items||0;if(d===!0)return;let m=e.const("len",(0,xn._)`${s}.length`);if(i===!1)n.setParams({len:d}),n.fail((0,xn._)`${m} > ${d}`);else if(typeof i=="object"&&!(0,Qp.alwaysValidSchema)(u,i)){let E=e.var("valid",(0,xn._)`${m} <= ${d}`);e.if((0,xn.not)(E),()=>y(E,d)),n.ok(E)}u.items=!0;function y(E,b){e.forRange("i",b,m,w=>{n.subschema({keyword:"unevaluatedItems",dataProp:w,dataPropType:Qp.Type.Num},E),u.allErrors||e.if((0,xn.not)(E),()=>e.break())})}}};Tu.default=X3});var qp=pe(Ou=>{"use strict";Object.defineProperty(Ou,"__esModule",{value:!0});var Z3=Fp(),e8=Lp(),t8=[Z3.default,e8.default];Ou.default=t8});var Gp=pe(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.DiscrError=void 0;var Up;(function(n){n.Tag="tag",n.Mapping="mapping"})(Up||(da.DiscrError=Up={}))});var Vp=pe(Bu=>{"use strict";Object.defineProperty(Bu,"__esModule",{value:!0});var xi=Ge(),Iu=Gp(),Hp=Ro(),A8=xo(),r8=Ye(),n8={message:({params:{discrError:n,tagName:e}})=>n===Iu.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:n,tag:e,tagName:i}})=>(0,xi._)`{error: ${n}, tag: ${i}, tagValue: ${e}}`},i8={keyword:"discriminator",type:"object",schemaType:"object",error:n8,code(n){let{gen:e,data:i,schema:s,parentSchema:u,it:d}=n,{oneOf:m}=u;if(!d.opts.discriminator)throw new Error("discriminator: requires discriminator option");let y=s.propertyName;if(typeof y!="string")throw new Error("discriminator: requires propertyName");if(s.mapping)throw new Error("discriminator: mapping is not supported");if(!m)throw new Error("discriminator: requires oneOf keyword");let E=e.let("valid",!1),b=e.const("tag",(0,xi._)`${i}${(0,xi.getProperty)(y)}`);e.if((0,xi._)`typeof ${b} == "string"`,()=>w(),()=>n.error(!1,{discrError:Iu.DiscrError.Tag,tag:b,tagName:y})),n.ok(E);function w(){let S=$();e.if(!1);for(let x in S)e.elseIf((0,xi._)`${b} === ${x}`),e.assign(E,v(S[x]));e.else(),n.error(!1,{discrError:Iu.DiscrError.Mapping,tag:b,tagName:y}),e.endIf()}function v(S){let x=e.name("valid"),k=n.subschema({keyword:"oneOf",schemaProp:S},x);return n.mergeEvaluated(k,xi.Name),x}function $(){var S;let x={},k=O(u),B=!0;for(let q=0;q<m.length;q++){let V=m[q];if(V?.$ref&&!(0,r8.schemaHasRulesButRef)(V,d.self.RULES)){let re=V.$ref;if(V=Hp.resolveRef.call(d.self,d.schemaEnv.root,d.baseId,re),V instanceof Hp.SchemaEnv&&(V=V.schema),V===void 0)throw new A8.default(d.opts.uriResolver,d.baseId,re)}let z=(S=V?.properties)===null||S===void 0?void 0:S[y];if(typeof z!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${y}"`);B=B&&(k||O(V)),I(z,q)}if(!B)throw new Error(`discriminator: "${y}" must be required`);return x;function O({required:q}){return Array.isArray(q)&&q.includes(y)}function I(q,V){if(q.const)U(q.const,V);else if(q.enum)for(let z of q.enum)U(z,V);else throw new Error(`discriminator: "properties/${y}" must have "const" or "enum"`)}function U(q,V){if(typeof q!="string"||q in x)throw new Error(`discriminator: "${y}" values must be unique strings`);x[q]=V}}}};Bu.default=i8});var zp=pe((IS,o8)=>{o8.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/schema",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0,"https://json-schema.org/draft/2019-09/vocab/applicator":!0,"https://json-schema.org/draft/2019-09/vocab/validation":!0,"https://json-schema.org/draft/2019-09/vocab/meta-data":!0,"https://json-schema.org/draft/2019-09/vocab/format":!1,"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format"},{$ref:"meta/content"}],type:["object","boolean"],properties:{definitions:{$comment:"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.",type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},dependencies:{$comment:'"dependencies" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to "dependentSchemas" and "dependentRequired"',type:"object",additionalProperties:{anyOf:[{$recursiveRef:"#"},{$ref:"meta/validation#/$defs/stringArray"}]}}}}});var Jp=pe((BS,s8)=>{s8.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/applicator":!0},$recursiveAnchor:!0,title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{additionalItems:{$recursiveRef:"#"},unevaluatedItems:{$recursiveRef:"#"},items:{anyOf:[{$recursiveRef:"#"},{$ref:"#/$defs/schemaArray"}]},contains:{$recursiveRef:"#"},additionalProperties:{$recursiveRef:"#"},unevaluatedProperties:{$recursiveRef:"#"},properties:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$recursiveRef:"#"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$recursiveRef:"#"}},propertyNames:{$recursiveRef:"#"},if:{$recursiveRef:"#"},then:{$recursiveRef:"#"},else:{$recursiveRef:"#"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$recursiveRef:"#"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$recursiveRef:"#"}}}}});var Kp=pe((MS,a8)=>{a8.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/content",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentMediaType:{type:"string"},contentEncoding:{type:"string"},contentSchema:{$recursiveRef:"#"}}}});var Wp=pe((jS,l8)=>{l8.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/core",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0},$recursiveAnchor:!0,title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{type:"string",format:"uri"},$anchor:{type:"string",pattern:"^[A-Za-z][-A-Za-z0-9.:_]*$"},$ref:{type:"string",format:"uri-reference"},$recursiveRef:{type:"string",format:"uri-reference"},$recursiveAnchor:{type:"boolean",default:!1},$vocabulary:{type:"object",propertyNames:{type:"string",format:"uri"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}}}}});var Yp=pe((NS,u8)=>{u8.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/format",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/format":!0},$recursiveAnchor:!0,title:"Format vocabulary meta-schema",type:["object","boolean"],properties:{format:{type:"string"}}}});var Xp=pe((FS,f8)=>{f8.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/meta-data":!0},$recursiveAnchor:!0,title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}}}});var Zp=pe((QS,c8)=>{c8.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/validation",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/validation":!0},$recursiveAnchor:!0,title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}},const:!0,enum:{type:"array",items:!0},type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}}}});var em=pe(Mu=>{"use strict";Object.defineProperty(Mu,"__esModule",{value:!0});var d8=zp(),h8=Jp(),p8=Kp(),m8=Wp(),g8=Yp(),y8=Xp(),w8=Zp(),_8=["/properties"];function v8(n){return[d8,h8,p8,m8,e(this,g8),y8,e(this,w8)].forEach(i=>this.addMetaSchema(i,void 0,!1)),this;function e(i,s){return n?i.$dataMetaSchema(s,_8):s}}Mu.default=v8});var Fu=pe((mt,Nu)=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.MissingRefError=mt.ValidationError=mt.CodeGen=mt.Name=mt.nil=mt.stringify=mt.str=mt._=mt.KeywordCxt=mt.Ajv2019=void 0;var b8=Ch(),E8=$p(),$8=Tp(),P8=jp(),k8=qp(),C8=Vp(),S8=em(),ju="https://json-schema.org/draft/2019-09/schema",Ri=class extends b8.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary($8.default),E8.default.forEach(e=>this.addVocabulary(e)),this.addVocabulary(P8.default),this.addVocabulary(k8.default),this.opts.discriminator&&this.addKeyword(C8.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:i}=this.opts;i&&(S8.default.call(this,e),this.refs["http://json-schema.org/schema"]=ju)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ju)?ju:void 0)}};mt.Ajv2019=Ri;Nu.exports=mt=Ri;Nu.exports.Ajv2019=Ri;Object.defineProperty(mt,"__esModule",{value:!0});mt.default=Ri;var D8=Do();Object.defineProperty(mt,"KeywordCxt",{enumerable:!0,get:function(){return D8.KeywordCxt}});var Ti=Ge();Object.defineProperty(mt,"_",{enumerable:!0,get:function(){return Ti._}});Object.defineProperty(mt,"str",{enumerable:!0,get:function(){return Ti.str}});Object.defineProperty(mt,"stringify",{enumerable:!0,get:function(){return Ti.stringify}});Object.defineProperty(mt,"nil",{enumerable:!0,get:function(){return Ti.nil}});Object.defineProperty(mt,"Name",{enumerable:!0,get:function(){return Ti.Name}});Object.defineProperty(mt,"CodeGen",{enumerable:!0,get:function(){return Ti.CodeGen}});var x8=Vs();Object.defineProperty(mt,"ValidationError",{enumerable:!0,get:function(){return x8.default}});var R8=xo();Object.defineProperty(mt,"MissingRefError",{enumerable:!0,get:function(){return R8.default}})});var L8={};m1(L8,{default:()=>Q8});var Ot=function(n){n=n||{};var e=typeof n<"u"?n:{},i={},s;for(s in e)e.hasOwnProperty(s)&&(i[s]=e[s]);var u=[],d="";function m(Z){return e.locateFile?e.locateFile(Z,d):d+Z}var y;typeof document<"u"&&document.currentScript&&(d=document.currentScript.src),d.indexOf("blob:")!==0?d=d.substr(0,d.lastIndexOf("/")+1):d="",y=function(ie,ye,oe){var A=new XMLHttpRequest;A.open("GET",ie,!0),A.responseType="arraybuffer",A.onload=function(){if(A.status==200||A.status==0&&A.response){ye(A.response);return}var ot=ya(ie);if(ot){ye(ot.buffer);return}oe()},A.onerror=oe,A.send(null)};var E=e.print||console.log.bind(console),b=e.printErr||console.warn.bind(console);for(s in i)i.hasOwnProperty(s)&&(e[s]=i[s]);i=null,e.arguments&&(u=e.arguments);var w=0,v=function(Z){w=Z},$=function(){return w},S=8;function x(Z,ie,ye,oe){switch(ye=ye||"i8",ye.charAt(ye.length-1)==="*"&&(ye="i32"),ye){case"i1":Q[Z>>0]=ie;break;case"i8":Q[Z>>0]=ie;break;case"i16":ne[Z>>1]=ie;break;case"i32":te[Z>>2]=ie;break;case"i64":ga=[ie>>>0,(Tn=ie,+Wm(Tn)>=1?Tn>0?(Zm(+Xm(Tn/4294967296),4294967295)|0)>>>0:~~+Ym((Tn-+(~~Tn>>>0))/4294967296)>>>0:0)],te[Z>>2]=ga[0],te[Z+4>>2]=ga[1];break;case"float":me[Z>>2]=ie;break;case"double":ve[Z>>3]=ie;break;default:Ur("invalid type for setValue: "+ye)}}function k(Z,ie,ye){switch(ie=ie||"i8",ie.charAt(ie.length-1)==="*"&&(ie="i32"),ie){case"i1":return Q[Z>>0];case"i8":return Q[Z>>0];case"i16":return ne[Z>>1];case"i32":return te[Z>>2];case"i64":return te[Z>>2];case"float":return me[Z>>2];case"double":return ve[Z>>3];default:Ur("invalid type for getValue: "+ie)}return null}var B=!1;function O(Z,ie){Z||Ur("Assertion failed: "+ie)}function I(Z){var ie=e["_"+Z];return O(ie,"Cannot call unknown function "+Z+", make sure it is exported"),ie}function U(Z,ie,ye,oe,A){var lt={string:function(St){var Xe=0;if(St!=null&&St!==0){var it=(St.length<<2)+1;Xe=Wu(it),J(St,Xe,it)}return Xe},array:function(St){var Xe=Wu(St.length);return ae(St,Xe),Xe}};function ot(St){return ie==="string"?re(St):ie==="boolean"?!!St:St}var P=I(Z),kt=[],Kt=0;if(oe)for(var Ct=0;Ct<oe.length;Ct++){var rt=lt[ye[Ct]];rt?(Kt===0&&(Kt=m2()),kt[Ct]=rt(oe[Ct])):kt[Ct]=oe[Ct]}var yt=P.apply(null,kt);return yt=ot(yt),Kt!==0&&p2(Kt),yt}function q(Z,ie,ye,oe){ye=ye||[];var A=ye.every(function(ot){return ot==="number"}),lt=ie!=="string";return lt&&A&&!oe?I(Z):function(){return U(Z,ie,ye,arguments,oe)}}var V=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function z(Z,ie,ye){for(var oe=ie+ye,A=ie;Z[A]&&!(A>=oe);)++A;if(A-ie>16&&Z.subarray&&V)return V.decode(Z.subarray(ie,A));for(var lt="";ie<A;){var ot=Z[ie++];if(!(ot&128)){lt+=String.fromCharCode(ot);continue}var P=Z[ie++]&63;if((ot&224)==192){lt+=String.fromCharCode((ot&31)<<6|P);continue}var kt=Z[ie++]&63;if((ot&240)==224?ot=(ot&15)<<12|P<<6|kt:ot=(ot&7)<<18|P<<12|kt<<6|Z[ie++]&63,ot<65536)lt+=String.fromCharCode(ot);else{var Kt=ot-65536;lt+=String.fromCharCode(55296|Kt>>10,56320|Kt&1023)}}return lt}function re(Z,ie){return Z?z(X,Z,ie):""}function L(Z,ie,ye,oe){if(!(oe>0))return 0;for(var A=ye,lt=ye+oe-1,ot=0;ot<Z.length;++ot){var P=Z.charCodeAt(ot);if(P>=55296&&P<=57343){var kt=Z.charCodeAt(++ot);P=65536+((P&1023)<<10)|kt&1023}if(P<=127){if(ye>=lt)break;ie[ye++]=P}else if(P<=2047){if(ye+1>=lt)break;ie[ye++]=192|P>>6,ie[ye++]=128|P&63}else if(P<=65535){if(ye+2>=lt)break;ie[ye++]=224|P>>12,ie[ye++]=128|P>>6&63,ie[ye++]=128|P&63}else{if(ye+3>=lt)break;ie[ye++]=240|P>>18,ie[ye++]=128|P>>12&63,ie[ye++]=128|P>>6&63,ie[ye++]=128|P&63}}return ie[ye]=0,ye-A}function J(Z,ie,ye){return L(Z,X,ie,ye)}var le=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function ae(Z,ie){Q.set(Z,ie)}function R(Z,ie){return Z%ie>0&&(Z+=ie-Z%ie),Z}var M,Q,X,ne,Ae,te,de,me,ve;function De(Z){M=Z,e.HEAP8=Q=new Int8Array(Z),e.HEAP16=ne=new Int16Array(Z),e.HEAP32=te=new Int32Array(Z),e.HEAPU8=X=new Uint8Array(Z),e.HEAPU16=Ae=new Uint16Array(Z),e.HEAPU32=de=new Uint32Array(Z),e.HEAPF32=me=new Float32Array(Z),e.HEAPF64=ve=new Float64Array(Z)}var At=5271520,Ke=28608,ze=e.TOTAL_MEMORY||33554432;e.buffer?M=e.buffer:M=new ArrayBuffer(ze),ze=M.byteLength,De(M),te[Ke>>2]=At;function gt(Z){for(;Z.length>0;){var ie=Z.shift();if(typeof ie=="function"){ie();continue}var ye=ie.func;typeof ye=="number"?ie.arg===void 0?e.dynCall_v(ye):e.dynCall_vi(ye,ie.arg):ye(ie.arg===void 0?null:ie.arg)}}var JA=[],CA=[],sA=[],aA=[];function SA(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)Jm(e.preRun.shift());gt(JA)}function DA(){gt(CA)}function Vm(){gt(sA)}function zm(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)Km(e.postRun.shift());gt(aA)}function Jm(Z){JA.unshift(Z)}function Km(Z){aA.unshift(Z)}var Wm=Math.abs,Ym=Math.ceil,Xm=Math.floor,Zm=Math.min,qr=0,pa=null,Oi=null;function e2(Z){qr++,e.monitorRunDependencies&&e.monitorRunDependencies(qr)}function t2(Z){if(qr--,e.monitorRunDependencies&&e.monitorRunDependencies(qr),qr==0&&(pa!==null&&(clearInterval(pa),pa=null),Oi)){var ie=Oi;Oi=null,ie()}}e.preloadedImages={},e.preloadedAudios={};var KA=null,ma="data:application/octet-stream;base64,";function Hu(Z){return String.prototype.startsWith?Z.startsWith(ma):Z.indexOf(ma)===0}var Tn,ga;KA="data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAAAQAAAAQAAAADAAAABgAAAAUAAAACAAAAAAAAAAIAAAADAAAAAQAAAAQAAAAGAAAAAAAAAAUAAAADAAAABgAAAAQAAAAFAAAAAAAAAAEAAAACAAAABAAAAAUAAAAGAAAAAAAAAAIAAAADAAAAAQAAAAUAAAACAAAAAAAAAAEAAAADAAAABgAAAAQAAAAGAAAAAAAAAAUAAAACAAAAAQAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAAAAAAEAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAYAAAAAAAAABQAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAABAAAAAAAAAABAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAADAAAACAAAAAEAAAAHAAAABgAAAAkAAAAAAAAAAwAAAAIAAAACAAAA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AAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAUAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABAAAAAUAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAD/////AQAAAAAAAAADAAAABAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAUAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAD//////////wEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAAAAAAAAAAABAAAAAgAAAAYAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAAFAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAAAAAAAAAAABAAAAAwAAAAcAAAAGAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADgAAAAIAAAAAAAAAAAAAAAEAAAAAAAAACQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAAAAAAAAAAAAAEAAAAEAAAACAAAAAoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAAAAAAAAQAAAAsAAAAPAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAIAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAAAAAAAAAAAAQAAAAwAAAAQAAAADAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAAAAAAAAAAABAAAACgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAEAAAANAAAAEQAAAA0AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAACAAAAAAAAAAAAAAABAAAADgAAABIAAAAPAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAAAAAAAAQAAAP//////////EwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAASAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAeAAAAAAAAACAAAAADAAAAMQAAAAEAAAAwAAAAAwAAADIAAAADAAAACAAAAAAAAAAFAAAABQAAAAoAAAAFAAAAFgAAAAAAAAAQAAAAAAAAABIAAAAAAAAAKQAAAAEAAAAhAAAAAAAAAB4AAAAAAAAABAAAAAAAAAAAAAAABQAAAAIAAAAFAAAADwAAAAEAAAAIAAAAAAAAAAUAAAAFAAAAHwAAAAEAAAAWAAAAAAAAABAAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAA4AAAAAAAAACgAAAAAAAAALAAAAAAAAABEAAAADAAAAGAAAAAEAAAAXAAAAAwAAABkAAAADAAAAAAAAAAAAAAABAAAABQAAAAkAAAAFAAAABQAAAAAAAAACAAAAAAAAAAYAAAAAAAAAEgAAAAEAAAAKAAAAAAAAAAsAAAAAAAAABAAAAAEAAAADAAAABQAAAAcAAAAFAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAFAAAAEAAAAAEAAAAFAAAAAAAAAAIAAAAAAAAABwAAAAAAAAAVAAAAAAAAACYAAAAAAAAACQAAAAAAAAATAAAAAAAAACIAAAADAAAADgAAAAEAAAAUAAAAAwAAACQAAAADAAAAAwAAAAAAAAANAAAABQAAAB0AAAAFAAAAAQAAAAAAAAAHAAAAAAAAABUAAAAAAAAABgAAAAEAAAAJAAAAAAAAABMAAAAAAAAABAAAAAIAAAAMAAAA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Zhu25b633D8c1YgmzowSQNM25BRKWARArGS08/lNxD+LFssHwmMRQLC5aNcxBgJABL9HT0WRF0CjCmJmOGEOQHsuaVzMP/s/TWJCaGGwBUCeu1PAPLzjP9nqN9DZOBNAKE4JcydbCkCGtbd1qjPzP8dgm9U8jhVAtPeKTkVwDkCeCLss5l37P401XMPLmBdAFd29VMVQDUBg0yA55h75Pz6odcYLCRdApBM4rBrkAkDyAVWgQxbRP4XDMnK20hFAymLlF7EmzD8GUgo9XBHlP3lbK7T9COc/k+OhPthhy7+YGEpnrOvCPzBFhLs15u4/epbqB6H4uz9IuuLF5svev6lzLKY31es/CaQ0envF5z8ZY0xlUADXv7zaz7HYEuI/CfbK1sn16T8uAQfWwxLWPzKn/YuFN94/5KdbC1AFu793fyCSnlfvPzK2y4doAMY/NRg5t1/X6b/shq4QJaHDP5yNIAKPOeI/vpn7BSE30r/X4YQrO6nrv78Ziv/Thto/DqJ1Y6+y5z9l51NaxFrlv8QlA65HOLS/86dxiEc96z+Hj0+LFjneP6LzBZ8LTc2/DaJ1Y6+y579l51NaxFrlP8QlA65HOLQ/8qdxiEc967+Jj0+LFjnev6LzBZ8LTc0/1qdbC1AFuz93fyCSnlfvvzK2y4doAMa/NRg5t1/X6T/vhq4QJaHDv5yNIAKPOeK/wJn7BSE30j/W4YQrO6nrP78Ziv/Thtq/CaQ0envF578XY0xlUADXP7zaz7HYEuK/CvbK1sn16b8rAQfWwxLWvzKn/YuFN96/zWLlF7EmzL8GUgo9XBHlv3lbK7T9COe/kOOhPthhyz+cGEpnrOvCvzBFhLs15u6/c5bqB6H4u79IuuLF5sveP6lzLKY31eu/AQAAAP////8HAAAA/////zEAAAD/////VwEAAP////9hCQAA/////6dBAAD/////kcsBAP/////3kAwA/////8H2VwAAAAAAAAAAAAAAAAACAAAA/////w4AAAD/////YgAAAP////+uAgAA/////8ISAAD/////ToMAAP////8ilwMA/////+4hGQD/////gu2vAAAAAAAAAAAAAAAAAAAAAAACAAAA//////////8BAAAAAwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////AgAAAP//////////AQAAAAAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD/////////////////////AQAAAP///////////////wIAAAD///////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP///////////////////////////////wIAAAD///////////////8BAAAA/////////////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAABAAAA//////////8CAAAA//////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAAAQAAAP//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAAAAAAAAIAAAADAAAAEwAAAAAAAAACAAAAAgAAAAMAAAAPAAAAAAAAAAAAAAAAAAAAAAAAABAAAAACAAAAAAAAAAIAAAABAAAAEwAAAAIAAAACAAAAAAAAAAUAAAAKAAAAAAAAAAIAAAACAAAAAwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAIAAAAAAAAAAgAAAAEAAAAPAAAAAgAAAAIAAAAAAAAABQAAAAsAAAAAAAAAAgAAAAIAAAADAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAgAAAAAAAAACAAAAAQAAABAAAAACAAAAAgAAAAAAAAAFAAAADAAAAAAAAAACAAAAAgAAAAMAAAASAAAAAAAAAAAAAAAAAAAAAAAAABMAAAACAAAAAAAAAAIAAAABAAAAEQAAAAIAAAACAAAAAAAAAAUAAAANAAAAAAAAAAIAAAACAAAAAwAAABMAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAIAAAAAAAAAAgAAAAEAAAASAAAAAgAAAAIAAAAAAAAABQAAAA4AAAAAAAAAAgAAAAIAAAADAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAEAAAACAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAAAAAACAAAAAQAAAAAAAAABAAAAAgAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAIAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAA6B6FaUp9QQTPXMuL4myJBraiDfBwx9UBYJseitzTIQOL5if9jqZtAnXX+Z+ycb0C3pucbhRBCQG8wJBYqpRRAlWbDCzCY5z/eFWBUEve6P/+qo4Q50Y4/D9YM3iCcYT8fcA2QJSA0P4ADxu0qAAc/BNcGolVJ2j5d9FACqwquPh9z7MthtI9CSUSYJke/YUJQ/64OyjU0Qpi0+HCmFQdCm3GfIVdh2kHsJ11kAyauQYC3UDFJOoFBSJsFV1OwU0FK5fcxX4AmQWhy/zZIt/lACqaCPsBjzUDbdUNIScugQMYQlVJ4MXNANiuq8GTvRUDxTXnulxEZQFZ8QX5kpuw/qmG/JwYFlEAluh3Q6DB+QKn4vyNq0GZAKOXekas+UUB8xabXXhI6QG63C2pLtSNAdDBtyNfLDUDyOcu67ID2P0rCMvRXAeE/Ki2TSVyzyT9Dk+8Sz2uzP5J+w5ARWp0/NQAoOiMuhj9YnP+RyMJwPxgW7TvQVFk/KgsLYF0kQz9g5dAC6IwzQcgHPVvDex1B1XjppodHBkHJq3OMM9fwQNvcmJ7wddlAInGPpQs/w0BRobq5EBmtQJZ2ai7n+ZVAtv2G5E+bgECG+gIfKBlpQK5f8jdI91JAL39sL/WpPEB8rGxhDqklQK6yUf43XhBAxL9y/tK8+D86XyZpgrHiPwAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////AAAAAP////8AAAAAAAAAAAAAAAABAAAAAAAAAAAAAAD/////AAAAAAAAAAABAAAAAQAAAAAAAAAAAAAA/////wAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAP////8FAAAABQAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////AAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAEAAAAAAAAABQAAAAEAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAAAAAAQABAAABAQAAAAAAAQAAAAEAAAABAAEAAAAAAAAAAAAAAAAAAAAAquJYWJZl+D9jaeZNtj/zPwwdI9KqaeO/qGefXwdHdz+q4lhYlmX4P+OrlPMN3PI/DB0j0qpp47+7SQLV4VIEQKriWFiWZfg/r2kma3tz8T82eQmLqNIGwMRIWXMqSvo/fcCszPux9j+jara6ozTwP6hnn18HR3c/MSoKLequ8r+SabgA2nj0P7jBLbDOHO8/1Ym/ICfH4T+6lxjvlFXHv73m373LRPU/0vXyDVxo7T+ToKRHJXMAQF/33578aPE/pAyy64tD9T8+U/hCvyruPwxv8Y7YYwLAuXYr8NAiCEB4+LDK0Sn0P1Qeuy4j+eo/OMx50n7K7L+TrGB/nyf8v5ehC2fbYPM/aXMKexiT6z8mFRIMjg/zP7yUVwGGBNw/E6opHERf8z/z0wR2g9DqPw4pBpcOhvu/NbA29uWAA8DMaTExyXzyP02biiQ+Ruk/S8jz2/FKBEB1pzZnpbb9P7pQU4wLfPI//7ZcQXeG6D9CqEQvAYoIwDB2VB6sSgRAVyv8H5We8T+EHWF8XNPmPzB2wT8Nrrg/SEi+cX+w4L8of+GtdSDxP1sjk5AdouU/6ZjOVru13r8K0obqI6bxvwVbdNXyhfA/w5GG024n5z+rwmtMzP8BwLw9pSX49QXABe/2uQxP8D+b6wCzCvXkP7uGT87fK+Q/pz/JWw4coj+qoBf2J0nwP/yE3PUo0+I/vFJeHcaC+D96luSIqvntP/bf8sHUYu8/gZNN41mL4z9bhOqVOF4FwO6lmAh1hQhAbCVxbdhk7z+1C8NdDcfiPwG36x/0OQBAx0WJ76c2+D9nlSHXANfuP2HlfZ3gqOE/EwnVlVPg9r96+oHzEH//v5bXzdT1Auw/DM3GwLsA4D9p/8uoKcr+v+U9x5DQVAPAehjSdghb7D9sc1IetODgP8MVwwB1pu6/azPk6OGe978W8t/TUc3rP+0QMvYfP+A/RsG/QpSE8D+l3uwScxzgPwQaifgujuw/k1Vti1I43z8MAwLnSh0GQH5nYnwwZgJAiGUzWC5s6j8WyyI/BbLgPw4iUapGeQJAB3W+imnp/j9BLWR4ssrpP2t+gG5Pstk/cpBsfm6DCMCOpU9dOZsFQEv8nFypHeo/ehJ6i+6S2D9jqlGEmarLv7STC5TRiOa/bC+x8WZD6D9H3yUkWpDZP8gZvmCMuQLAreY19/eRBsCoPOc8UzzpP6KI/QV+y9g/t/MoboyWzT+Hv5q3Zu3Mvy2xROCT4uY/9gQitMMg1T9abAqhWMDkv1oLTavoUfG/PMUJP9CD5j+fHRX3t6fSPz7W2gk6bvs/WRnuHwqN9D8YFturGCTmP1EZczv0b9I/5t4exabB5D/1ESLh5fTEP9X2z6SYweQ/6lv3I2zT0D9zkRGNUNMAQKoSvc4EIfs/Xggt8wQI5T+mJHHg/w/SP4lhT/9t8vQ/DrZ/DbwH7D+XlhbYZrjkP34LIpFt6c4/lwfp8fLX9L+j96CTTf76v3WdNhEv9uM/d8c3o4lV0D/vFdCHVcsFwAHeDq0F1QhApbYqcZiN5D9KoilqByXLPwX0/diA0vq/0fo0GxnxAMBbaTkvlCzjP/RrFrWXrMs/UYTrky7jA0DB9f4FiZYAQEGAk/3QzeE/r/TeqE8t0D/OqjlsnPbvvz8RKU8JOfW/smSEbK/O4T8MzuyPm3DDP/rFtctq9gZAfb1EVEaSA0Dts5dVInnhP18SFMc79MM/7y34cw6LAMDFrRJsZO0DwC2KLvLSYuA/hx5wcUHewz+49SnK/4ruPyeS0PX9a+E/ZxaaLvvZ3z8WPu5T2QS8Pygo4RIvMqa/BJ0Kqsd0279cKW4ay8jdP3b05bmZ364/10/qtdxk2r+Bcz6CDMvpv54qOw+Amdw/qLV71pW7sT/YKc80nIPUP8OfIaBJ77G/LyTuD1un2z+diYu8efWzP1wU7ACkfwjAZroyPL1yBkAmv3lKJJbbPysKSE4W+p0/dIgqY79TA8ATLTOQ3tsGwJ2zweD/Xdg/XO/jXeFUaL8VW2qLFKfov1cA9Aa6XfK/tIa7YGgI2T+f3hu/sxqPv2nXdPpf3Pc/jkw8Jbda8j+tT/z8tGPVP1yBHpJd35k/KYvYOy1s8j/yz+kCQjPrP9+agH7x59g/PZfJ9aBhpr/rDKzvYBb+PwtkiaGCt/c/vb1mVr+f1T/JIHwHc8Govw7aeF6+9vG/Xv7kD6fp979isYioQYHVP7AIQZuSFrG/3z1AdUTnAUDN3XY9O7f9P0AdQ9ljYNQ/dJANJPTOrb8kLECUiiPlP4yF7UgmStA/9xGmXxCG1T9qZzix4W2zv2SGJRJVrPe/Fh9a2M/B/b8IexzFCoPSP9y1QFD2bLe/Q86cWLJe/b+mOOfYm78BwOTjkPAGE9E/8aPCUKu/ub9pPZyLCiUGwBA7Mev/BQlALOmrlRi+0j+AMJ/dKULBv7iLtL6a6QRAEMDV/yajAUDa62dE3crJP1P70RgBUbq/38hVnR6esT/s1tG10Z/Ov/zLwalHPss/dTS9NKTXx78nMcRzCIEHQAabxDsAmQRA0tyLK3gSyT+Aui7nOhDGv5Gs58z3WgHATN3forJuBMCAui7nOhDGP9Lciyt4Esm/WAJyHQ4c7z8UP5HFIs3iP3U0vTSk18c//MvBqUc+y7+cvv8HLg/Kvy1I/mHsI+K/U/vRGAFRuj/a62dE3crJv8p+WV8KlQjAuQ/nOP43B0CAMJ/dKULBPyzpq5UYvtK/ZoU+VoLh4L9etLlRUfvtv/GjwlCrv7k/5OOQ8AYT0b9DfT9FhufXPwUX8hJp+4u/3LVAUPZstz8IexzFCoPSv9+L609E5fQ/q9Fz7X2J7T9qZzix4W2zP/cRpl8QhtW/vtNilqGX+j8MOy7QJoL0P3SQDST0zq0/QB1D2WNg1L8IIjSvGNkDwGB8Jou2GAfAsAhBm5IWsT9isYioQYHVvyS9D3zb6uy/gnwRa7uM9L/JIHwHc8GoP729Zla/n9W/CsAHJZwmAEDEW6OYT1r6Pz2XyfWgYaY/35qAfvHn2L83Tdy4lS30vxf2/gZ0jPq/XIEekl3fmb+tT/z8tGPVvybPr2zJ1/+/K7mJ0ypVAsCf3hu/sxqPPwCGu2BoCNm/5oITrpZn+r+UDUyDP+n/v1zv413hVGg/nbPB4P9d2L9MlmkxNvgCQMtZlKE85v8/KwpIThb6nb8mv3lKJJbbv8+SZsTvOOc/pQCIIOYw0j+diYu8efWzvy8k7g9bp9u/kxYDa+pKtD9XlYvA8HnVv6i1e9aVu7G/nio7D4CZ3L/WR6rNh5EGwCkgQweBkghAdvTluZnfrr9cKW4ay8jdvxbjhr1f1QVAR5C0MzivAkAWPu5T2QS8v2cWmi772d+/cKj4lzLJCEBx2QJfYrMFQIcecHFB3sO/LYou8tJi4L+jr7lhO38BwIcI0Nb7xgTAXxIUxzv0w7/ts5dVInnhv0T+l8DZLfE/MP3FoFvS5D8MzuyPm3DDv7JkhGyvzuG/tzhzRIRc0b9Ovv3/0z7mv6/03qhPLdC/m4CT/dDN4b9dwjU5VCQBQBBJX1ntCv0/9GsWtZesy79baTkvlCzjv1mjYgEz++S/oW6KnOQW8b9KoilqByXLv6W2KnGYjeS/SmaKz3Vx9z+BZB5yxGHwP3fHN6OJVdC/dZ02ES/2478PuaBjLrXaP4/JU81pPaO/fgsikW3pzr+XlhbYZrjkv4tSn7YDbP0/f2LnFKlF9z+mJHHg/w/Sv14ILfMECOW/mfg4qYhR/b+OP+RQDCACwOpb9yNs09C/1fbPpJjB5L9pN2WOVZ3wv3hHy9nxIve/URlzO/Rv0r8YFturGCTmv1d1/KKR8QPA8gsy9qzSB8CfHRX3t6fSvzzFCT/Qg+a/EYStnrzV9r/2QJqI7Lb9v/YEIrTDINW/LbFE4JPi5r/7kQEs5fEDQHunnf4GeQBAooj9BX7L2L+oPOc8Uzzpv+ydYY2SSAfAL4HK6CRTB0BH3yUkWpDZv2wvsfFmQ+i/Ik0Yzruh6T8fM3LoGoDUP3oSeovukti/S/ycXKkd6r9rEv+7UWcHQCRIQe/GfwNAa36Abk+y2b9BLWR4ssrpv9KT87qa0bM/FTyktw823L8WyyI/BbLgv4hlM1gubOq/DizMp9Ki6r8b5ckdjVrzv5NVbYtSON+/BBqJ+C6O7L/dUBFqgyXYv00Wh18r7+q/7RAy9h8/4L8W8t/TUc3rv4RM5DKx3wDAfvWIj94aBcBsc1IetODgv3oY0nYIW+y/oGcTFF54AUDkJqS/FKX6PwzNxsC7AOC/ltfN1PUC7L+5Wrz/zHnzP6688w2rNOc/YeV9neCo4b9nlSHXANfuvw9RsxKjY/s/1V8GteXE8j+1C8NdDcfiv2wlcW3YZO+/IOywaA7Q8b9bFP+4Tg36v4GTTeNZi+O/9t/ywdRi77+tRc3yFR7eP2bkcHXJkLO//ITc9SjT4r+qoBf2J0nwv2YHKoswwfm/iQcLspCjAcCb6wCzCvXkvwXv9rkMT/C/YkuwYAMXBMApCNUai9kIwMORhtNuJ+e/BVt01fKF8L+ZqWEfvIjsP6h693QZYNk/WyOTkB2i5b8of+GtdSDxvwpaaulDSwVADMQAX+lOAECEHWF8XNPmv1cr/B+VnvG/XyFG6opcCMD/mtR32/UEQP+2XEF3hui/ulBTjAt88r/imfCfRP+yP9zbvtc8XeO/TZuKJD5G6b/MaTExyXzyvxiTQeElXOO/rbJRQVGN9L/z0wR2g9DqvxOqKRxEX/O/FDGCEei99j9x8zV4VYTmP2lzCnsYk+u/l6ELZ9tg878pRXacaDT/v3k6GZRqoQXAVB67LiP56r94+LDK0Sn0vwO6pZ9b7wFAvK0nKVcc9j8+U/hCvyruv6QMsuuLQ/W/FPhKFYv46j8MyxaDTOW/v9L18g1caO2/vebfvctE9b/7GD8ZrF3xv3gx1AR9bQDAuMEtsM4c77+SabgA2nj0v5xKFIwxsATArKNSBaKsB0Cjara6ozTwv33ArMz7sfa/dF2U0FcWCcDxL357DJX/P69pJmt7c/G/quJYWJZl+L/YntVJlnrSP4sRLzXM+fe/46uU8w3c8r+q4lhYlmX4v85lu5+QRwRAsI0H/WU8479jaeZNtj/zv6riWFiWZfi/sI0H/WU847/OZbufkEcEQHAoPUBrnss/9exKzDtFtT88wM8kax+gP9OqeKeAYog/MW0ItiZvcj+ph+smvt5bP2lCaV5dEUU/StaUmQDaLz+kK9y22BMYP0O3whZuMwI/IIbgZGWE6z7UkjYaEM3UPuezxwa9cr8+LybxRMnFpz6E1N8DbPiRPsYjySMvK3s+//////8fAAj//////zMQCP////9/MiAI/////28yMAj/////YzJACP///z9iMlAI////N2IyYAj///8zYjJwCP//vzNiMoAI//+rM2IykAj/f6szYjKgCP8PqzNiMrAI/wOrM2IywAi/A6szYjLQCJ8DqzNiMuAImQOrM2Iy8Aj//////z8PCP//////Kx8I/////38pLwj/////Pyk/CP////85KU8I////PzgpXwj///8POClvCP///w44KX8I//8fDjgpjwj//w8OOCmfCP9/DQ44Ka8I/w8NDjgpvwj/DQ0OOCnPCP8MDQ44Kd8IxwwNDjgp7wjEDA0OOCn/CAcAAAAHAAAAAQAAAAIAAAAEAAAAAwAAAAAAAAAAAAAABwAAAAMAAAABAAAAAgAAAAUAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAAAAQAAAAMAAAAOAAAABgAAAAsAAAACAAAABwAAAAEAAAAYAAAABQAAAAoAAAABAAAABgAAAAAAAAAmAAAABwAAAAwAAAADAAAACAAAAAIAAAAxAAAACQAAAA4AAAAAAAAABQAAAAQAAAA6AAAACAAAAA0AAAAEAAAACQAAAAMAAAA/AAAACwAAAAYAAAAPAAAACgAAABAAAABIAAAADAAAAAcAAAAQAAAACwAAABEAAABTAAAACgAAAAUAAAATAAAADgAAAA8AAABhAAAADQAAAAgAAAARAAAADAAAABIAAABrAAAADgAAAAkAAAASAAAADQAAABMAAAB1AAAADwAAABMAAAARAAAAEgAAABAAAAAGAAAAAgAAAAMAAAAFAAAABAAAAAAAAAAAAAAAAAAAAAYAAAACAAAAAwAAAAEAAAAFAAAABAAAAAAAAAAAAAAABwAAAAUAAAADAAAABAAAAAEAAAAAAAAAAgAAAAAAAAACAAAAAwAAAAEAAAAFAAAABAAAAAYAAAAAAAAAAAAAABgtRFT7Ifk/GC1EVPsh+b8YLURU+yEJQBgtRFT7IQnAYWxnb3MuYwBoM05laWdoYm9yUm90YXRpb25zAGNvb3JkaWprLmMAX3VwQXA3Q2hlY2tlZABfdXBBcDdyQ2hlY2tlZABkaXJlY3RlZEVkZ2UuYwBkaXJlY3RlZEVkZ2VUb0JvdW5kYXJ5AGFkamFjZW50RmFjZURpclt0bXBGaWprLmZhY2VdW2ZpamsuZmFjZV0gPT0gS0kAZmFjZWlqay5jAF9mYWNlSWprUGVudFRvQ2VsbEJvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9DZWxsQm91bmRhcnkAaDNJbmRleC5jAGNvbXBhY3RDZWxscwBsYXRMbmdUb0NlbGwAY2VsbFRvQ2hpbGRQb3MAdmFsaWRhdGVDaGlsZFBvcwBsYXRMbmcuYwBjZWxsQXJlYVJhZHMyAHBvbHlnb24tPm5leHQgPT0gTlVMTABsaW5rZWRHZW8uYwBhZGROZXdMaW5rZWRQb2x5Z29uAG5leHQgIT0gTlVMTABsb29wICE9IE5VTEwAYWRkTmV3TGlua2VkTG9vcABwb2x5Z29uLT5maXJzdCA9PSBOVUxMAGFkZExpbmtlZExvb3AAY29vcmQgIT0gTlVMTABhZGRMaW5rZWRDb29yZABsb29wLT5maXJzdCA9PSBOVUxMAGlubmVyTG9vcHMgIT0gTlVMTABub3JtYWxpemVNdWx0aVBvbHlnb24AYmJveGVzICE9IE5VTEwAY2FuZGlkYXRlcyAhPSBOVUxMAGZpbmRQb2x5Z29uRm9ySG9sZQBjYW5kaWRhdGVCQm94ZXMgIT0gTlVMTAByZXZEaXIgIT0gSU5WQUxJRF9ESUdJVABsb2NhbGlqLmMAY2VsbFRvTG9jYWxJamsAYmFzZUNlbGwgIT0gb3JpZ2luQmFzZUNlbGwAIShvcmlnaW5PblBlbnQgJiYgaW5kZXhPblBlbnQpAGJhc2VDZWxsID09IG9yaWdpbkJhc2VDZWxsAGJhc2VDZWxsICE9IElOVkFMSURfQkFTRV9DRUxMAGxvY2FsSWprVG9DZWxsACFfaXNCYXNlQ2VsbFBlbnRhZ29uKGJhc2VDZWxsKQBiYXNlQ2VsbFJvdGF0aW9ucyA+PSAwAGdyaWRQYXRoQ2VsbHMAcG9seWZpbGwuYwBpdGVyU3RlcFBvbHlnb25Db21wYWN0ADAAdmVydGV4LmMAY2VsbFRvVmVydGV4AGdyYXBoLT5idWNrZXRzICE9IE5VTEwAdmVydGV4R3JhcGguYwBpbml0VmVydGV4R3JhcGgAbm9kZSAhPSBOVUxMAGFkZFZlcnRleE5vZGU=";var A2=28624;function r2(Z){return Z}function Vu(Z){var ie=/\b__Z[\w\d_]+/g;return Z.replace(ie,function(ye){var oe=ye;return ye===oe?ye:oe+" ["+ye+"]"})}function zu(){var Z=new Error;if(!Z.stack){try{throw new Error(0)}catch(ie){Z=ie}if(!Z.stack)return"(no stack trace available)"}return Z.stack.toString()}function n2(){var Z=zu();return e.extraStackTrace&&(Z+=`
|
|
10
|
+
`+e.extraStackTrace()),Vu(Z)}function i2(Z,ie,ye,oe){Ur("Assertion failed: "+re(Z)+", at: "+[ie?re(ie):"unknown filename",ye,oe?re(oe):"unknown function"])}function Ju(){return Q.length}function o2(Z,ie,ye){X.set(X.subarray(ie,ie+ye),Z)}function s2(Z){return e.___errno_location&&(te[e.___errno_location()>>2]=Z),Z}function a2(Z){Ur("OOM")}function Ku(Z){try{var ie=new ArrayBuffer(Z);return ie.byteLength!=Z?void 0:(new Int8Array(ie).set(Q),h2(ie),De(ie),1)}catch{}}function l2(Z){var ie=Ju(),ye=16777216,oe=2147483648-ye;if(Z>oe)return!1;for(var A=16777216,lt=Math.max(ie,A);lt<Z;)lt<=536870912?lt=R(2*lt,ye):lt=Math.min(R((3*lt+2147483648)/4,ye),oe);var ot=Ku(lt);return!!ot}var u2=typeof atob=="function"?atob:function(Z){var ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ye="",oe,A,lt,ot,P,kt,Kt,Ct=0;Z=Z.replace(/[^A-Za-z0-9\+\/\=]/g,"");do ot=ie.indexOf(Z.charAt(Ct++)),P=ie.indexOf(Z.charAt(Ct++)),kt=ie.indexOf(Z.charAt(Ct++)),Kt=ie.indexOf(Z.charAt(Ct++)),oe=ot<<2|P>>4,A=(P&15)<<4|kt>>2,lt=(kt&3)<<6|Kt,ye=ye+String.fromCharCode(oe),kt!==64&&(ye=ye+String.fromCharCode(A)),Kt!==64&&(ye=ye+String.fromCharCode(lt));while(Ct<Z.length);return ye};function f2(Z){try{for(var ie=u2(Z),ye=new Uint8Array(ie.length),oe=0;oe<ie.length;++oe)ye[oe]=ie.charCodeAt(oe);return ye}catch{throw new Error("Converting base64 string to bytes failed.")}}function ya(Z){if(Hu(Z))return f2(Z.slice(ma.length))}var c2={Math,Int8Array,Int32Array,Uint8Array,Float32Array,Float64Array},d2={a:Ur,b:v,c:$,d:i2,e:s2,f:Ju,g:o2,h:l2,i:a2,j:r2,k:Vu,l:Ku,m:zu,n:n2,o:A2,p:Ke},fe=function(Z,ie,ye){"almost asm";var oe=new Z.Int8Array(ye),A=new Z.Int32Array(ye),lt=new Z.Uint8Array(ye),ot=new Z.Float32Array(ye),P=new Z.Float64Array(ye),kt=ie.o|0,Kt=ie.p|0,Ct=Z.Math.floor,rt=Z.Math.abs,yt=Z.Math.sqrt,St=Z.Math.pow,Xe=Z.Math.cos,it=Z.Math.sin,Ii=Z.Math.tan,g2=Z.Math.acos,y2=Z.Math.asin,va=Z.Math.atan,lA=Z.Math.atan2,On=Z.Math.ceil,xA=Z.Math.imul,ba=Z.Math.min,w2=Z.Math.max,WA=Z.Math.clz32,je=ie.b,T=ie.c,Te=ie.d,ef=ie.e,_2=ie.f,v2=ie.g,b2=ie.h,E2=ie.i,C=28640;function $2(t){return oe=new Int8Array(t),lt=new Uint8Array(t),A=new Int32Array(t),ot=new Float32Array(t),P=new Float64Array(t),ye=t,!0}function P2(t){t=t|0;var r=0;return r=C,C=C+t|0,C=C+15&-16,r|0}function k2(){return C|0}function C2(t){t=t|0,C=t}function S2(t,r){t=t|0,r=r|0,C=t}function D2(t,r){t=t|0,r=r|0;var o=0,a=0,l=0;return(t|0)<0?(r=2,r|0):(t|0)>13780509?(r=Ua(15,r)|0,r|0):(o=((t|0)<0)<<31>>31,l=Ft(t|0,o|0,3,0)|0,a=T()|0,o=Ce(t|0,o|0,1,0)|0,o=Ft(l|0,a|0,o|0,T()|0)|0,o=Ce(o|0,T()|0,1,0)|0,t=T()|0,A[r>>2]=o,A[r+4>>2]=t,r=0,r|0)}function tf(t,r,o,a){return t=t|0,r=r|0,o=o|0,a=a|0,Af(t,r,o,a,0)|0}function Af(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0;if(p=C,C=C+16|0,c=p,!(rf(t,r,o,a,l)|0))return a=0,C=p,a|0;do if((o|0)>=0){if((o|0)>13780509){if(f=Ua(15,c)|0,f|0)break;h=c,c=A[h>>2]|0,h=A[h+4>>2]|0}else f=((o|0)<0)<<31>>31,g=Ft(o|0,f|0,3,0)|0,h=T()|0,f=Ce(o|0,f|0,1,0)|0,f=Ft(g|0,h|0,f|0,T()|0)|0,f=Ce(f|0,T()|0,1,0)|0,h=T()|0,A[c>>2]=f,A[c+4>>2]=h,c=f;if(Kr(a|0,0,c<<3|0)|0,l|0){Kr(l|0,0,c<<2|0)|0,f=YA(t,r,o,a,l,c,h,0)|0;break}f=cA(c,4)|0,f?(g=YA(t,r,o,a,f,c,h,0)|0,Se(f),f=g):f=13}else f=2;while(!1);return g=f,C=p,g|0}function rf(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0;if(G=C,C=C+16|0,j=G,N=G+8|0,F=j,A[F>>2]=t,A[F+4>>2]=r,(o|0)<0)return N=2,C=G,N|0;if(f=a,A[f>>2]=t,A[f+4>>2]=r,f=(l|0)!=0,f&&(A[l>>2]=0),ut(t,r)|0)return N=9,C=G,N|0;A[N>>2]=0;e:do if((o|0)>=1)if(f)for(_=1,g=0,D=0,F=1,f=t;;){if(!(g|D)){if(f=Dt(f,r,4,N,j)|0,f|0)break e;if(r=j,f=A[r>>2]|0,r=A[r+4>>2]|0,ut(f,r)|0){f=9;break e}}if(f=Dt(f,r,A[26800+(D<<2)>>2]|0,N,j)|0,f|0)break e;if(r=j,f=A[r>>2]|0,r=A[r+4>>2]|0,t=a+(_<<3)|0,A[t>>2]=f,A[t+4>>2]=r,A[l+(_<<2)>>2]=F,t=g+1|0,c=(t|0)==(F|0),h=D+1|0,p=(h|0)==6,ut(f,r)|0){f=9;break e}if(F=F+(p&c&1)|0,(F|0)>(o|0)){f=0;break}else _=_+1|0,g=c?0:t,D=c?p?0:h:D}else for(_=1,g=0,D=0,F=1,f=t;;){if(!(g|D)){if(f=Dt(f,r,4,N,j)|0,f|0)break e;if(r=j,f=A[r>>2]|0,r=A[r+4>>2]|0,ut(f,r)|0){f=9;break e}}if(f=Dt(f,r,A[26800+(D<<2)>>2]|0,N,j)|0,f|0)break e;if(r=j,f=A[r>>2]|0,r=A[r+4>>2]|0,t=a+(_<<3)|0,A[t>>2]=f,A[t+4>>2]=r,t=g+1|0,c=(t|0)==(F|0),h=D+1|0,p=(h|0)==6,ut(f,r)|0){f=9;break e}if(F=F+(p&c&1)|0,(F|0)>(o|0)){f=0;break}else _=_+1|0,g=c?0:t,D=c?p?0:h:D}else f=0;while(!1);return N=f,C=G,N|0}function YA(t,r,o,a,l,f,c,h){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,f=f|0,c=c|0,h=h|0;var p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0;if(G=C,C=C+16|0,j=G+8|0,N=G,p=Fn(t|0,r|0,f|0,c|0)|0,_=T()|0,D=a+(p<<3)|0,K=D,ee=A[K>>2]|0,K=A[K+4>>2]|0,g=(ee|0)==(t|0)&(K|0)==(r|0),!((ee|0)==0&(K|0)==0|g))do p=Ce(p|0,_|0,1,0)|0,p=Nn(p|0,T()|0,f|0,c|0)|0,_=T()|0,D=a+(p<<3)|0,ee=D,K=A[ee>>2]|0,ee=A[ee+4>>2]|0,g=(K|0)==(t|0)&(ee|0)==(r|0);while(!((K|0)==0&(ee|0)==0|g));if(p=l+(p<<2)|0,g&&(A[p>>2]|0)<=(h|0)||(ee=D,A[ee>>2]=t,A[ee+4>>2]=r,A[p>>2]=h,(h|0)>=(o|0)))return ee=0,C=G,ee|0;switch(g=h+1|0,A[j>>2]=0,p=Dt(t,r,2,j,N)|0,p|0){case 9:{F=9;break}case 0:{p=N,p=YA(A[p>>2]|0,A[p+4>>2]|0,o,a,l,f,c,g)|0,p||(F=9);break}default:}e:do if((F|0)==9){switch(A[j>>2]=0,p=Dt(t,r,3,j,N)|0,p|0){case 9:break;case 0:{if(p=N,p=YA(A[p>>2]|0,A[p+4>>2]|0,o,a,l,f,c,g)|0,p|0)break e;break}default:break e}switch(A[j>>2]=0,p=Dt(t,r,1,j,N)|0,p|0){case 9:break;case 0:{if(p=N,p=YA(A[p>>2]|0,A[p+4>>2]|0,o,a,l,f,c,g)|0,p|0)break e;break}default:break e}switch(A[j>>2]=0,p=Dt(t,r,5,j,N)|0,p|0){case 9:break;case 0:{if(p=N,p=YA(A[p>>2]|0,A[p+4>>2]|0,o,a,l,f,c,g)|0,p|0)break e;break}default:break e}switch(A[j>>2]=0,p=Dt(t,r,4,j,N)|0,p|0){case 9:break;case 0:{if(p=N,p=YA(A[p>>2]|0,A[p+4>>2]|0,o,a,l,f,c,g)|0,p|0)break e;break}default:break e}switch(A[j>>2]=0,p=Dt(t,r,6,j,N)|0,p|0){case 9:break;case 0:{if(p=N,p=YA(A[p>>2]|0,A[p+4>>2]|0,o,a,l,f,c,g)|0,p|0)break e;break}default:break e}return ee=0,C=G,ee|0}while(!1);return ee=p,C=G,ee|0}function Dt(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0;if(o>>>0>6)return l=1,l|0;if(D=(A[a>>2]|0)%6|0,A[a>>2]=D,(D|0)>0){f=0;do o=Vr(o)|0,f=f+1|0;while((f|0)<(A[a>>2]|0))}if(D=se(t|0,r|0,45)|0,T()|0,_=D&127,_>>>0>121)return l=5,l|0;p=Wt(t,r)|0,f=se(t|0,r|0,52)|0,T()|0,f=f&15;e:do if(!f)g=8;else{for(;;){if(c=(15-f|0)*3|0,h=se(t|0,r|0,c|0)|0,T()|0,h=h&7,(h|0)==7){r=5;break}if(N=(uA(f)|0)==0,f=f+-1|0,F=he(7,0,c|0)|0,r=r&~(T()|0),j=he(A[(N?432:16)+(h*28|0)+(o<<2)>>2]|0,0,c|0)|0,c=T()|0,o=A[(N?640:224)+(h*28|0)+(o<<2)>>2]|0,t=j|t&~F,r=c|r,!o){o=0;break e}if(!f){g=8;break e}}return r|0}while(!1);(g|0)==8&&(N=A[848+(_*28|0)+(o<<2)>>2]|0,j=he(N|0,0,45)|0,t=j|t,r=T()|0|r&-1040385,o=A[4272+(_*28|0)+(o<<2)>>2]|0,(N&127|0)==127&&(N=he(A[848+(_*28|0)+20>>2]|0,0,45)|0,r=T()|0|r&-1040385,o=A[4272+(_*28|0)+20>>2]|0,t=zr(N|t,r)|0,r=T()|0,A[a>>2]=(A[a>>2]|0)+1)),h=se(t|0,r|0,45)|0,T()|0,h=h&127;e:do if(ht(h)|0){t:do if((Wt(t,r)|0)==1){if((_|0)!=(h|0))if(sf(h,A[7696+(_*28|0)>>2]|0)|0){t=ja(t,r)|0,c=1,r=T()|0;break}else Te(27795,26864,436,26872);switch(p|0){case 3:{t=zr(t,r)|0,r=T()|0,A[a>>2]=(A[a>>2]|0)+1,c=0;break t}case 5:{t=ja(t,r)|0,r=T()|0,A[a>>2]=(A[a>>2]|0)+5,c=0;break t}case 0:return N=9,N|0;default:return N=1,N|0}}else c=0;while(!1);if((o|0)>0){f=0;do t=Ma(t,r)|0,r=T()|0,f=f+1|0;while((f|0)!=(o|0))}if((_|0)!=(h|0)){if(!($a(h)|0)){if((c|0)!=0|(Wt(t,r)|0)!=5)break;A[a>>2]=(A[a>>2]|0)+1;break}switch(D&127){case 8:case 118:break e;default:}(Wt(t,r)|0)!=3&&(A[a>>2]=(A[a>>2]|0)+1)}}else if((o|0)>0){f=0;do t=zr(t,r)|0,r=T()|0,f=f+1|0;while((f|0)!=(o|0))}while(!1);return A[a>>2]=((A[a>>2]|0)+o|0)%6|0,N=l,A[N>>2]=t,A[N+4>>2]=r,N=0,N|0}function Ea(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0;for(h=C,C=C+16|0,f=h,c=h+8|0,l=(ut(t,r)|0)==0,l=l?1:2;;){if(A[c>>2]=0,g=(Dt(t,r,l,c,f)|0)==0,p=f,g&((A[p>>2]|0)==(o|0)?(A[p+4>>2]|0)==(a|0):0)){t=4;break}if(l=l+1|0,l>>>0>=7){l=7,t=4;break}}return(t|0)==4?(C=h,l|0):0}function x2(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0;if(N=C,C=C+16|0,F=N,j=N+8|0,D=F,A[D>>2]=t,A[D+4>>2]=r,!o)return j=a,A[j>>2]=t,A[j+4>>2]=r,j=0,C=N,j|0;A[j>>2]=0;e:do if(ut(t,r)|0)t=9;else{if(f=(o|0)>0,f){l=0,D=t;do{if(t=Dt(D,r,4,j,F)|0,t|0)break e;if(r=F,D=A[r>>2]|0,r=A[r+4>>2]|0,l=l+1|0,ut(D,r)|0){t=9;break e}}while((l|0)<(o|0));if(_=a,A[_>>2]=D,A[_+4>>2]=r,_=o+-1|0,f){g=0,t=1;do{if(l=26800+(g<<2)|0,(g|0)==5)for(c=A[l>>2]|0,f=0,l=t;;){if(t=F,t=Dt(A[t>>2]|0,A[t+4>>2]|0,c,j,F)|0,t|0)break e;if((f|0)!=(_|0))if(p=F,h=A[p>>2]|0,p=A[p+4>>2]|0,t=a+(l<<3)|0,A[t>>2]=h,A[t+4>>2]=p,!(ut(h,p)|0))t=l+1|0;else{t=9;break e}else t=l;if(f=f+1|0,(f|0)>=(o|0))break;l=t}else for(c=F,p=A[l>>2]|0,h=0,l=t,f=A[c>>2]|0,c=A[c+4>>2]|0;;){if(t=Dt(f,c,p,j,F)|0,t|0)break e;if(c=F,f=A[c>>2]|0,c=A[c+4>>2]|0,t=a+(l<<3)|0,A[t>>2]=f,A[t+4>>2]=c,t=l+1|0,ut(f,c)|0){t=9;break e}if(h=h+1|0,(h|0)>=(o|0))break;l=t}g=g+1|0}while(g>>>0<6);t=F,c=D,l=A[t>>2]|0,f=r,t=A[t+4>>2]|0}else c=D,l=D,f=r,t=r}else c=a,A[c>>2]=t,A[c+4>>2]=r,c=t,l=t,f=r,t=r;t=(c|0)==(l|0)&(f|0)==(t|0)?0:9}while(!1);return j=t,C=N,j|0}function R2(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0;if(h=C,C=C+48|0,l=h+16|0,f=h+8|0,c=h,o=Qi(o)|0,o|0)return c=o,C=h,c|0;if(g=t,p=A[g+4>>2]|0,o=f,A[o>>2]=A[g>>2],A[o+4>>2]=p,Tf(f,l),o=ff(l,r,c)|0,!o){if(r=A[f>>2]|0,f=A[t+8>>2]|0,(f|0)>0){l=A[t+12>>2]|0,o=0;do r=(A[l+(o<<3)>>2]|0)+r|0,o=o+1|0;while((o|0)<(f|0))}o=c,l=A[o>>2]|0,o=A[o+4>>2]|0,f=((r|0)<0)<<31>>31,(o|0)<(f|0)|(o|0)==(f|0)&l>>>0<r>>>0?(o=c,A[o>>2]=r,A[o+4>>2]=f,o=f):r=l,p=Ce(r|0,o|0,12,0)|0,g=T()|0,o=c,A[o>>2]=p,A[o+4>>2]=g,o=a,A[o>>2]=p,A[o+4>>2]=g,o=0}return g=o,C=h,g|0}function nf(t,r,o,a,l,f,c){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,f=f|0,c=c|0;var h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0,Ne=0,Ve=0,xe=0,Ee=0,ue=0,Le=0,st=0,Qe=0,at=0,Vt=0,Vf=0;if(st=C,C=C+64|0,xe=st+48|0,Ee=st+32|0,ue=st+24|0,ce=st+8|0,be=st,p=A[t>>2]|0,(p|0)<=0)return Le=0,C=st,Le|0;for(we=t+4|0,Oe=xe+8|0,Ne=Ee+8|0,Ve=ce+8|0,h=0,W=0;;){g=A[we>>2]|0,Y=g+(W<<4)|0,A[xe>>2]=A[Y>>2],A[xe+4>>2]=A[Y+4>>2],A[xe+8>>2]=A[Y+8>>2],A[xe+12>>2]=A[Y+12>>2],(W|0)==(p+-1|0)?(A[Ee>>2]=A[g>>2],A[Ee+4>>2]=A[g+4>>2],A[Ee+8>>2]=A[g+8>>2],A[Ee+12>>2]=A[g+12>>2]):(Y=g+(W+1<<4)|0,A[Ee>>2]=A[Y>>2],A[Ee+4>>2]=A[Y+4>>2],A[Ee+8>>2]=A[Y+8>>2],A[Ee+12>>2]=A[Y+12>>2]),p=U2(xe,Ee,a,ue)|0;e:do if(p)g=0,h=p;else if(p=ue,g=A[p>>2]|0,p=A[p+4>>2]|0,(p|0)>0|(p|0)==0&g>>>0>0){ee=0,Y=0;t:for(;;){if(at=1/(+(g>>>0)+4294967296*+(p|0)),Vf=+P[xe>>3],p=Tt(g|0,p|0,ee|0,Y|0)|0,Vt=+(p>>>0)+4294967296*+(T()|0),Qe=+(ee>>>0)+4294967296*+(Y|0),P[ce>>3]=at*(Vf*Vt)+at*(+P[Ee>>3]*Qe),P[Ve>>3]=at*(+P[Oe>>3]*Vt)+at*(+P[Ne>>3]*Qe),p=Na(ce,a,be)|0,p|0){h=p;break}K=be,G=A[K>>2]|0,K=A[K+4>>2]|0,F=Fn(G|0,K|0,r|0,o|0)|0,_=T()|0,p=c+(F<<3)|0,D=p,g=A[D>>2]|0,D=A[D+4>>2]|0;A:do if((g|0)==0&(D|0)==0)H=p,Le=16;else for(j=0,N=0;;){if((j|0)>(o|0)|(j|0)==(o|0)&N>>>0>r>>>0){h=1;break t}if((g|0)==(G|0)&(D|0)==(K|0))break A;if(p=Ce(F|0,_|0,1,0)|0,F=Nn(p|0,T()|0,r|0,o|0)|0,_=T()|0,N=Ce(N|0,j|0,1,0)|0,j=T()|0,p=c+(F<<3)|0,D=p,g=A[D>>2]|0,D=A[D+4>>2]|0,(g|0)==0&(D|0)==0){H=p,Le=16;break}}while(!1);if((Le|0)==16&&(Le=0,!((G|0)==0&(K|0)==0))&&(N=H,A[N>>2]=G,A[N+4>>2]=K,N=f+(A[l>>2]<<3)|0,A[N>>2]=G,A[N+4>>2]=K,N=l,N=Ce(A[N>>2]|0,A[N+4>>2]|0,1,0)|0,G=T()|0,K=l,A[K>>2]=N,A[K+4>>2]=G),ee=Ce(ee|0,Y|0,1,0)|0,Y=T()|0,p=ue,g=A[p>>2]|0,p=A[p+4>>2]|0,!((p|0)>(Y|0)|(p|0)==(Y|0)&g>>>0>ee>>>0)){g=1;break e}}g=0}else g=1;while(!1);if(W=W+1|0,!g){Le=21;break}if(p=A[t>>2]|0,(W|0)>=(p|0)){h=0,Le=21;break}}return(Le|0)==21?(C=st,h|0):0}function T2(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0,Ne=0,Ve=0,xe=0,Ee=0,ue=0,Le=0,st=0,Qe=0,at=0,Vt=0;if(Vt=C,C=C+112|0,Le=Vt+80|0,p=Vt+72|0,st=Vt,Qe=Vt+56|0,l=Qi(o)|0,l|0)return at=l,C=Vt,at|0;if(g=t+8|0,at=RA((A[g>>2]<<5)+32|0)|0,!at)return at=13,C=Vt,at|0;if(Va(t,at),l=Qi(o)|0,!l){if(Ee=t,ue=A[Ee+4>>2]|0,l=p,A[l>>2]=A[Ee>>2],A[l+4>>2]=ue,Tf(p,Le),l=ff(Le,r,st)|0,l)Ee=0,ue=0;else{if(l=A[p>>2]|0,f=A[g>>2]|0,(f|0)>0){c=A[t+12>>2]|0,o=0;do l=(A[c+(o<<3)>>2]|0)+l|0,o=o+1|0;while((o|0)!=(f|0));o=l}else o=l;l=st,f=A[l>>2]|0,l=A[l+4>>2]|0,c=((o|0)<0)<<31>>31,(l|0)<(c|0)|(l|0)==(c|0)&f>>>0<o>>>0?(l=st,A[l>>2]=o,A[l+4>>2]=c,l=c):o=f,Ee=Ce(o|0,l|0,12,0)|0,ue=T()|0,l=st,A[l>>2]=Ee,A[l+4>>2]=ue,l=0}if(!l){if(o=cA(Ee,8)|0,!o)return Se(at),at=13,C=Vt,at|0;if(h=cA(Ee,8)|0,!h)return Se(at),Se(o),at=13,C=Vt,at|0;Ve=Le,A[Ve>>2]=0,A[Ve+4>>2]=0,Ve=t,xe=A[Ve+4>>2]|0,l=p,A[l>>2]=A[Ve>>2],A[l+4>>2]=xe,l=nf(p,Ee,ue,r,Le,o,h)|0;e:do if(l)Se(o),Se(h),Se(at);else{t:do if((A[g>>2]|0)>0){for(c=t+12|0,f=0;l=nf((A[c>>2]|0)+(f<<3)|0,Ee,ue,r,Le,o,h)|0,f=f+1|0,!(l|0);)if((f|0)>=(A[g>>2]|0))break t;Se(o),Se(h),Se(at);break e}while(!1);(ue|0)>0|(ue|0)==0&Ee>>>0>0&&Kr(h|0,0,Ee<<3|0)|0,xe=Le,Ve=A[xe+4>>2]|0;t:do if((Ve|0)>0|(Ve|0)==0&(A[xe>>2]|0)>>>0>0){we=o,Oe=h,Ne=o,Ve=h,xe=o,l=o,H=o,ce=h,be=h,o=h;A:for(;;){for(K=0,ee=0,Y=0,W=0,f=0,c=0;;){h=st,p=h+56|0;do A[h>>2]=0,h=h+4|0;while((h|0)<(p|0));if(r=we+(K<<3)|0,g=A[r>>2]|0,r=A[r+4>>2]|0,rf(g,r,1,st,0)|0){h=st,p=h+56|0;do A[h>>2]=0,h=h+4|0;while((h|0)<(p|0));h=cA(7,4)|0,h|0&&(YA(g,r,1,st,h,7,0,0)|0,Se(h))}for(G=0;;){N=st+(G<<3)|0,j=A[N>>2]|0,N=A[N+4>>2]|0;r:do if((j|0)==0&(N|0)==0)h=f,p=c;else{if(_=Fn(j|0,N|0,Ee|0,ue|0)|0,g=T()|0,h=a+(_<<3)|0,r=h,p=A[r>>2]|0,r=A[r+4>>2]|0,!((p|0)==0&(r|0)==0)){D=0,F=0;do{if((D|0)>(ue|0)|(D|0)==(ue|0)&F>>>0>Ee>>>0)break A;if((p|0)==(j|0)&(r|0)==(N|0)){h=f,p=c;break r}h=Ce(_|0,g|0,1,0)|0,_=Nn(h|0,T()|0,Ee|0,ue|0)|0,g=T()|0,F=Ce(F|0,D|0,1,0)|0,D=T()|0,h=a+(_<<3)|0,r=h,p=A[r>>2]|0,r=A[r+4>>2]|0}while(!((p|0)==0&(r|0)==0))}if((j|0)==0&(N|0)==0){h=f,p=c;break}Jr(j,N,Qe)|0,za(t,at,Qe)|0&&(F=Ce(f|0,c|0,1,0)|0,c=T()|0,D=h,A[D>>2]=j,A[D+4>>2]=N,f=Oe+(f<<3)|0,A[f>>2]=j,A[f+4>>2]=N,f=F),h=f,p=c}while(!1);if(G=G+1|0,G>>>0>=7)break;f=h,c=p}if(K=Ce(K|0,ee|0,1,0)|0,ee=T()|0,Y=Ce(Y|0,W|0,1,0)|0,W=T()|0,c=Le,f=A[c>>2]|0,c=A[c+4>>2]|0,(W|0)<(c|0)|(W|0)==(c|0)&Y>>>0<f>>>0)f=h,c=p;else break}if((c|0)>0|(c|0)==0&f>>>0>0){f=0,c=0;do W=we+(f<<3)|0,A[W>>2]=0,A[W+4>>2]=0,f=Ce(f|0,c|0,1,0)|0,c=T()|0,W=Le,Y=A[W+4>>2]|0;while((c|0)<(Y|0)|((c|0)==(Y|0)?f>>>0<(A[W>>2]|0)>>>0:0))}if(W=Le,A[W>>2]=h,A[W+4>>2]=p,(p|0)>0|(p|0)==0&h>>>0>0)G=o,K=be,ee=xe,Y=ce,W=Oe,o=H,be=l,ce=Ne,H=G,l=K,xe=Ve,Ve=ee,Ne=Y,Oe=we,we=W;else break t}Se(Ne),Se(Ve),Se(at),l=1;break e}else l=h;while(!1);Se(at),Se(o),Se(l),l=0}while(!1);return at=l,C=Vt,at|0}}return Se(at),at=l,C=Vt,at|0}function O2(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;if(_=C,C=C+176|0,p=_,(r|0)<1)return jf(o,0,0),g=0,C=_,g|0;for(h=t,h=se(A[h>>2]|0,A[h+4>>2]|0,52)|0,T()|0,jf(o,(r|0)>6?r:6,h&15),h=0;a=t+(h<<3)|0,a=Mn(A[a>>2]|0,A[a+4>>2]|0,p)|0,!(a|0);){if(a=A[p>>2]|0,(a|0)>0){c=0;do f=p+8+(c<<4)|0,c=c+1|0,a=p+8+(((c|0)%(a|0)|0)<<4)|0,l=s1(o,a,f)|0,l?Qf(o,l)|0:o1(o,f,a)|0,a=A[p>>2]|0;while((c|0)<(a|0))}if(h=h+1|0,(h|0)>=(r|0)){a=0,g=13;break}}return(g|0)==13?(C=_,a|0):(Nf(o),g=a,C=_,g|0)}function I2(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0;if(f=C,C=C+32|0,a=f,l=f+16|0,t=O2(t,r,l)|0,t|0)return o=t,C=f,o|0;if(A[o>>2]=0,A[o+4>>2]=0,A[o+8>>2]=0,t=Ff(l)|0,t|0)do{r=Bg(o)|0;do Mg(r,t)|0,c=t+16|0,A[a>>2]=A[c>>2],A[a+4>>2]=A[c+4>>2],A[a+8>>2]=A[c+8>>2],A[a+12>>2]=A[c+12>>2],Qf(l,t)|0,t=a1(l,a)|0;while((t|0)!=0);t=Ff(l)|0}while((t|0)!=0);return Nf(l),t=jg(o)|0,t?(Sf(o),c=t,C=f,c|0):(c=0,C=f,c|0)}function ht(t){return t=t|0,t>>>0>121?(t=0,t|0):(t=A[7696+(t*28|0)+16>>2]|0,t|0)}function $a(t){return t=t|0,(t|0)==4|(t|0)==117|0}function of(t){return t=t|0,A[11120+((A[t>>2]|0)*216|0)+((A[t+4>>2]|0)*72|0)+((A[t+8>>2]|0)*24|0)+(A[t+12>>2]<<3)>>2]|0}function B2(t){return t=t|0,A[11120+((A[t>>2]|0)*216|0)+((A[t+4>>2]|0)*72|0)+((A[t+8>>2]|0)*24|0)+(A[t+12>>2]<<3)+4>>2]|0}function M2(t,r){t=t|0,r=r|0,t=7696+(t*28|0)|0,A[r>>2]=A[t>>2],A[r+4>>2]=A[t+4>>2],A[r+8>>2]=A[t+8>>2],A[r+12>>2]=A[t+12>>2]}function j2(t,r){t=t|0,r=r|0;var o=0,a=0;if(r>>>0>20)return r=-1,r|0;do if((A[11120+(r*216|0)>>2]|0)!=(t|0))if((A[11120+(r*216|0)+8>>2]|0)!=(t|0))if((A[11120+(r*216|0)+16>>2]|0)!=(t|0))if((A[11120+(r*216|0)+24>>2]|0)!=(t|0))if((A[11120+(r*216|0)+32>>2]|0)!=(t|0))if((A[11120+(r*216|0)+40>>2]|0)!=(t|0))if((A[11120+(r*216|0)+48>>2]|0)!=(t|0))if((A[11120+(r*216|0)+56>>2]|0)!=(t|0))if((A[11120+(r*216|0)+64>>2]|0)!=(t|0))if((A[11120+(r*216|0)+72>>2]|0)!=(t|0))if((A[11120+(r*216|0)+80>>2]|0)!=(t|0))if((A[11120+(r*216|0)+88>>2]|0)!=(t|0))if((A[11120+(r*216|0)+96>>2]|0)!=(t|0))if((A[11120+(r*216|0)+104>>2]|0)!=(t|0))if((A[11120+(r*216|0)+112>>2]|0)!=(t|0))if((A[11120+(r*216|0)+120>>2]|0)!=(t|0))if((A[11120+(r*216|0)+128>>2]|0)!=(t|0))if((A[11120+(r*216|0)+136>>2]|0)==(t|0))t=2,o=1,a=2;else{if((A[11120+(r*216|0)+144>>2]|0)==(t|0)){t=0,o=2,a=0;break}if((A[11120+(r*216|0)+152>>2]|0)==(t|0)){t=0,o=2,a=1;break}if((A[11120+(r*216|0)+160>>2]|0)==(t|0)){t=0,o=2,a=2;break}if((A[11120+(r*216|0)+168>>2]|0)==(t|0)){t=1,o=2,a=0;break}if((A[11120+(r*216|0)+176>>2]|0)==(t|0)){t=1,o=2,a=1;break}if((A[11120+(r*216|0)+184>>2]|0)==(t|0)){t=1,o=2,a=2;break}if((A[11120+(r*216|0)+192>>2]|0)==(t|0)){t=2,o=2,a=0;break}if((A[11120+(r*216|0)+200>>2]|0)==(t|0)){t=2,o=2,a=1;break}if((A[11120+(r*216|0)+208>>2]|0)==(t|0)){t=2,o=2,a=2;break}else t=-1;return t|0}else t=2,o=1,a=1;else t=2,o=1,a=0;else t=1,o=1,a=2;else t=1,o=1,a=1;else t=1,o=1,a=0;else t=0,o=1,a=2;else t=0,o=1,a=1;else t=0,o=1,a=0;else t=2,o=0,a=2;else t=2,o=0,a=1;else t=2,o=0,a=0;else t=1,o=0,a=2;else t=1,o=0,a=1;else t=1,o=0,a=0;else t=0,o=0,a=2;else t=0,o=0,a=1;else t=0,o=0,a=0;while(!1);return r=A[11120+(r*216|0)+(o*72|0)+(t*24|0)+(a<<3)+4>>2]|0,r|0}function sf(t,r){return t=t|0,r=r|0,(A[7696+(t*28|0)+20>>2]|0)==(r|0)?(r=1,r|0):(r=(A[7696+(t*28|0)+24>>2]|0)==(r|0),r|0)}function Pa(t,r){return t=t|0,r=r|0,A[848+(t*28|0)+(r<<2)>>2]|0}function ka(t,r){return t=t|0,r=r|0,(A[848+(t*28|0)>>2]|0)==(r|0)?(r=0,r|0):(A[848+(t*28|0)+4>>2]|0)==(r|0)?(r=1,r|0):(A[848+(t*28|0)+8>>2]|0)==(r|0)?(r=2,r|0):(A[848+(t*28|0)+12>>2]|0)==(r|0)?(r=3,r|0):(A[848+(t*28|0)+16>>2]|0)==(r|0)?(r=4,r|0):(A[848+(t*28|0)+20>>2]|0)==(r|0)?(r=5,r|0):((A[848+(t*28|0)+24>>2]|0)==(r|0)?6:7)|0}function N2(){return 122}function F2(t){t=t|0;var r=0,o=0,a=0;r=0;do he(r|0,0,45)|0,a=T()|0|134225919,o=t+(r<<3)|0,A[o>>2]=-1,A[o+4>>2]=a,r=r+1|0;while((r|0)!=122);return 0}function Q2(t){t=t|0;var r=0,o=0,a=0;return a=+P[t+16>>3],o=+P[t+24>>3],r=a-o,+(a<o?r+6.283185307179586:r)}function af(t){return t=t|0,+P[t+16>>3]<+P[t+24>>3]|0}function L2(t){return t=t|0,+(+P[t>>3]-+P[t+8>>3])}function Ca(t,r){t=t|0,r=r|0;var o=0,a=0,l=0;return o=+P[r>>3],!(o>=+P[t+8>>3])||!(o<=+P[t>>3])?(r=0,r|0):(a=+P[t+16>>3],o=+P[t+24>>3],l=+P[r+8>>3],r=l>=o,t=l<=a&1,a<o?r&&(t=1):r||(t=0),r=(t|0)!=0,r|0)}function Sa(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;return+P[t>>3]<+P[r+8>>3]||+P[t+8>>3]>+P[r>>3]?(a=0,a|0):(f=+P[t+16>>3],o=t+24|0,_=+P[o>>3],c=f<_,a=r+16|0,g=+P[a>>3],l=r+24|0,p=+P[l>>3],h=g<p,r=_-g<p-f,t=c?h|r?1:2:0,r=h?c?1:r?2:1:0,f=+AA(f,t),f<+AA(+P[l>>3],r)||(_=+AA(+P[o>>3],t),_>+AA(+P[a>>3],r))?(h=0,h|0):(h=1,h|0))}function q2(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0;f=+P[t+16>>3],p=+P[t+24>>3],t=f<p,h=+P[r+16>>3],c=+P[r+24>>3],l=h<c,r=p-h<c-f,A[o>>2]=t?l|r?1:2:0,A[a>>2]=l?t?1:r?2:1:0}function lf(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;return+P[t>>3]<+P[r>>3]||+P[t+8>>3]>+P[r+8>>3]?(a=0,a|0):(a=t+16|0,p=+P[a>>3],f=+P[t+24>>3],c=p<f,o=r+16|0,_=+P[o>>3],l=r+24|0,g=+P[l>>3],h=_<g,r=f-_<g-p,t=c?h|r?1:2:0,r=h?c?1:r?2:1:0,f=+AA(f,t),f<=+AA(+P[l>>3],r)?(_=+AA(+P[a>>3],t),h=_>=+AA(+P[o>>3],r),h|0):(h=0,h|0))}function uf(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0;l=C,C=C+176|0,a=l,A[a>>2]=4,h=+P[r>>3],P[a+8>>3]=h,f=+P[r+16>>3],P[a+16>>3]=f,P[a+24>>3]=h,h=+P[r+24>>3],P[a+32>>3]=h,c=+P[r+8>>3],P[a+40>>3]=c,P[a+48>>3]=h,P[a+56>>3]=c,P[a+64>>3]=f,r=a+72|0,o=r+96|0;do A[r>>2]=0,r=r+4|0;while((r|0)<(o|0));Qn(t|0,a|0,168)|0,C=l}function ff(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0;N=C,C=C+288|0,_=N+264|0,D=N+96|0,g=N,h=g,p=h+96|0;do A[h>>2]=0,h=h+4|0;while((h|0)<(p|0));return r=Qa(r,g)|0,r|0?(j=r,C=N,j|0):(p=g,g=A[p>>2]|0,p=A[p+4>>2]|0,Jr(g,p,_)|0,Mn(g,p,D)|0,c=+Ni(_,D+8|0),P[_>>3]=+P[t>>3],p=_+8|0,P[p>>3]=+P[t+16>>3],P[D>>3]=+P[t+8>>3],g=D+8|0,P[g>>3]=+P[t+24>>3],l=+Ni(_,D),K=+P[p>>3]-+P[g>>3],f=+rt(+K),G=+P[_>>3]-+P[D>>3],a=+rt(+G),!(K==0|G==0)&&(K=+Gf(+f,+a),K=+On(+(l*l/+es(+(K/+es(+f,+a)),3)/(c*(c*2.59807621135)*.8))),P[kt>>3]=K,F=~~K>>>0,j=+rt(K)>=1?K>0?~~+ba(+Ct(K/4294967296),4294967295)>>>0:~~+On((K-+(~~K>>>0))/4294967296)>>>0:0,(A[kt+4>>2]&2146435072|0)!=2146435072)?(D=(F|0)==0&(j|0)==0,r=o,A[r>>2]=D?1:F,A[r+4>>2]=D?0:j,r=0):r=1,j=r,C=N,j|0)}function U2(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0;g=C,C=C+288|0,c=g+264|0,h=g+96|0,p=g,l=p,f=l+96|0;do A[l>>2]=0,l=l+4|0;while((l|0)<(f|0));return o=Qa(o,p)|0,o|0?(a=o,C=g,a|0):(o=p,l=A[o>>2]|0,o=A[o+4>>2]|0,Jr(l,o,c)|0,Mn(l,o,h)|0,_=+Ni(c,h+8|0),_=+On(+(+Ni(t,r)/(_*2))),P[kt>>3]=_,o=~~_>>>0,l=+rt(_)>=1?_>0?~~+ba(+Ct(_/4294967296),4294967295)>>>0:~~+On((_-+(~~_>>>0))/4294967296)>>>0:0,(A[kt+4>>2]&2146435072|0)==2146435072?(a=1,C=g,a|0):(p=(o|0)==0&(l|0)==0,A[a>>2]=p?1:o,A[a+4>>2]=p?0:l,a=0,C=g,a|0))}function G2(t,r){t=t|0,r=+r;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;f=t+16|0,c=+P[f>>3],o=t+24|0,l=+P[o>>3],a=c-l,a=c<l?a+6.283185307179586:a,g=+P[t>>3],h=t+8|0,p=+P[h>>3],_=g-p,a=(a*r-a)*.5,r=(_*r-_)*.5,g=g+r,P[t>>3]=g>1.5707963267948966?1.5707963267948966:g,r=p-r,P[h>>3]=r<-1.5707963267948966?-1.5707963267948966:r,r=c+a,r=r>3.141592653589793?r+-6.283185307179586:r,P[f>>3]=r<-3.141592653589793?r+6.283185307179586:r,r=l-a,r=r>3.141592653589793?r+-6.283185307179586:r,P[o>>3]=r<-3.141592653589793?r+6.283185307179586:r}function H2(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0,A[t>>2]=r,A[t+4>>2]=o,A[t+8>>2]=a}function V2(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0;D=r+8|0,A[D>>2]=0,p=+P[t>>3],c=+rt(+p),g=+P[t+8>>3],h=+rt(+g)*1.1547005383792515,c=c+h*.5,o=~~c,t=~~h,c=c-+(o|0),h=h-+(t|0);do if(c<.5)if(c<.3333333333333333)if(A[r>>2]=o,h<(c+1)*.5){A[r+4>>2]=t;break}else{t=t+1|0,A[r+4>>2]=t;break}else if(F=1-c,t=(!(h<F)&1)+t|0,A[r+4>>2]=t,F<=h&h<c*2){o=o+1|0,A[r>>2]=o;break}else{A[r>>2]=o;break}else{if(!(c<.6666666666666666))if(o=o+1|0,A[r>>2]=o,h<c*.5){A[r+4>>2]=t;break}else{t=t+1|0,A[r+4>>2]=t;break}if(h<1-c){if(A[r+4>>2]=t,c*2+-1<h){A[r>>2]=o;break}}else t=t+1|0,A[r+4>>2]=t;o=o+1|0,A[r>>2]=o}while(!1);do if(p<0)if(t&1){_=(t+1|0)/2|0,_=Tt(o|0,((o|0)<0)<<31>>31|0,_|0,((_|0)<0)<<31>>31|0)|0,o=~~(+(o|0)-((+(_>>>0)+4294967296*+(T()|0))*2+1)),A[r>>2]=o;break}else{_=(t|0)/2|0,_=Tt(o|0,((o|0)<0)<<31>>31|0,_|0,((_|0)<0)<<31>>31|0)|0,o=~~(+(o|0)-(+(_>>>0)+4294967296*+(T()|0))*2),A[r>>2]=o;break}while(!1);_=r+4|0,g<0&&(o=o-((t<<1|1|0)/2|0)|0,A[r>>2]=o,t=0-t|0,A[_>>2]=t),a=t-o|0,(o|0)<0?(l=0-o|0,A[_>>2]=a,A[D>>2]=l,A[r>>2]=0,t=a,o=0):l=0,(t|0)<0&&(o=o-t|0,A[r>>2]=o,l=l-t|0,A[D>>2]=l,A[_>>2]=0,t=0),f=o-l|0,a=t-l|0,(l|0)<0&&(A[r>>2]=f,A[_>>2]=a,A[D>>2]=0,t=a,o=f,l=0),a=(t|0)<(o|0)?t:o,a=(l|0)<(a|0)?l:a,!((a|0)<=0)&&(A[r>>2]=o-a,A[_>>2]=t-a,A[D>>2]=l-a)}function Nt(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0;r=A[t>>2]|0,c=t+4|0,o=A[c>>2]|0,(r|0)<0&&(o=o-r|0,A[c>>2]=o,f=t+8|0,A[f>>2]=(A[f>>2]|0)-r,A[t>>2]=0,r=0),(o|0)<0?(r=r-o|0,A[t>>2]=r,f=t+8|0,l=(A[f>>2]|0)-o|0,A[f>>2]=l,A[c>>2]=0,o=0):(l=t+8|0,f=l,l=A[l>>2]|0),(l|0)<0&&(r=r-l|0,A[t>>2]=r,o=o-l|0,A[c>>2]=o,A[f>>2]=0,l=0),a=(o|0)<(r|0)?o:r,a=(l|0)<(a|0)?l:a,!((a|0)<=0)&&(A[t>>2]=r-a,A[c>>2]=o-a,A[f>>2]=l-a)}function Gr(t,r){t=t|0,r=r|0;var o=0,a=0;a=A[t+8>>2]|0,o=+((A[t+4>>2]|0)-a|0),P[r>>3]=+((A[t>>2]|0)-a|0)-o*.5,P[r+8>>3]=o*.8660254037844386}function Ht(t,r,o){t=t|0,r=r|0,o=o|0,A[o>>2]=(A[r>>2]|0)+(A[t>>2]|0),A[o+4>>2]=(A[r+4>>2]|0)+(A[t+4>>2]|0),A[o+8>>2]=(A[r+8>>2]|0)+(A[t+8>>2]|0)}function Da(t,r,o){t=t|0,r=r|0,o=o|0,A[o>>2]=(A[t>>2]|0)-(A[r>>2]|0),A[o+4>>2]=(A[t+4>>2]|0)-(A[r+4>>2]|0),A[o+8>>2]=(A[t+8>>2]|0)-(A[r+8>>2]|0)}function cf(t,r){t=t|0,r=r|0;var o=0,a=0;o=xA(A[t>>2]|0,r)|0,A[t>>2]=o,o=t+4|0,a=xA(A[o>>2]|0,r)|0,A[o>>2]=a,t=t+8|0,r=xA(A[t>>2]|0,r)|0,A[t>>2]=r}function Jo(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;c=A[t>>2]|0,h=(c|0)<0,a=(A[t+4>>2]|0)-(h?c:0)|0,f=(a|0)<0,l=(f?0-a|0:0)+((A[t+8>>2]|0)-(h?c:0))|0,o=(l|0)<0,t=o?0:l,r=(f?0:a)-(o?l:0)|0,l=(h?0:c)-(f?a:0)-(o?l:0)|0,o=(r|0)<(l|0)?r:l,o=(t|0)<(o|0)?t:o,a=(o|0)>0,t=t-(a?o:0)|0,r=r-(a?o:0)|0;e:do switch(l-(a?o:0)|0){case 0:switch(r|0){case 0:return h=(t|0)==0?0:(t|0)==1?1:7,h|0;case 1:return h=(t|0)==0?2:(t|0)==1?3:7,h|0;default:break e}case 1:switch(r|0){case 0:return h=(t|0)==0?4:(t|0)==1?5:7,h|0;case 1:{if(!t)t=6;else break e;return t|0}default:break e}default:}while(!1);return h=7,h|0}function z2(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0;if(p=t+8|0,c=A[p>>2]|0,h=(A[t>>2]|0)-c|0,g=t+4|0,c=(A[g>>2]|0)-c|0,h>>>0>715827881|c>>>0>715827881){if(a=(h|0)>0,l=2147483647-h|0,f=-2147483648-h|0,(a?(l|0)<(h|0):(f|0)>(h|0))||(o=h<<1,a?(2147483647-o|0)<(h|0):(-2147483648-o|0)>(h|0))||((c|0)>0?(2147483647-c|0)<(c|0):(-2147483648-c|0)>(c|0))||(r=h*3|0,o=c<<1,(a?(l|0)<(o|0):(f|0)>(o|0))||((h|0)>-1?(r|-2147483648|0)>=(c|0):(r^-2147483648|0)<(c|0))))return g=1,g|0}else o=c<<1,r=h*3|0;return a=cr(+(r-c|0)*.14285714285714285)|0,A[t>>2]=a,l=cr(+(o+h|0)*.14285714285714285)|0,A[g>>2]=l,A[p>>2]=0,o=(l|0)<(a|0),r=o?a:l,o=o?l:a,(o|0)<0&&(((o|0)==-2147483648||((r|0)>0?(2147483647-r|0)<(o|0):(-2147483648-r|0)>(o|0)))&&Te(27795,26892,354,26903),((r|0)>-1?(r|-2147483648|0)>=(o|0):(r^-2147483648|0)<(o|0))&&Te(27795,26892,354,26903)),r=l-a|0,(a|0)<0?(o=0-a|0,A[g>>2]=r,A[p>>2]=o,A[t>>2]=0,a=0):(r=l,o=0),(r|0)<0&&(a=a-r|0,A[t>>2]=a,o=o-r|0,A[p>>2]=o,A[g>>2]=0,r=0),f=a-o|0,l=r-o|0,(o|0)<0?(A[t>>2]=f,A[g>>2]=l,A[p>>2]=0,r=l,l=f,o=0):l=a,a=(r|0)<(l|0)?r:l,a=(o|0)<(a|0)?o:a,(a|0)<=0?(g=0,g|0):(A[t>>2]=l-a,A[g>>2]=r-a,A[p>>2]=o-a,g=0,g|0)}function J2(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(c=t+8|0,l=A[c>>2]|0,f=(A[t>>2]|0)-l|0,h=t+4|0,l=(A[h>>2]|0)-l|0,f>>>0>715827881|l>>>0>715827881){if(o=(f|0)>0,(o?(2147483647-f|0)<(f|0):(-2147483648-f|0)>(f|0))||(r=f<<1,a=(l|0)>0,a?(2147483647-l|0)<(l|0):(-2147483648-l|0)>(l|0)))return h=1,h|0;if(p=l<<1,(a?(2147483647-p|0)<(l|0):(-2147483648-p|0)>(l|0))||(o?(2147483647-r|0)<(l|0):(-2147483648-r|0)>(l|0))||(o=l*3|0,(l|0)>-1?(o|-2147483648|0)>=(f|0):(o^-2147483648|0)<(f|0)))return p=1,p|0}else o=l*3|0,r=f<<1;return a=cr(+(r+l|0)*.14285714285714285)|0,A[t>>2]=a,l=cr(+(o-f|0)*.14285714285714285)|0,A[h>>2]=l,A[c>>2]=0,o=(l|0)<(a|0),r=o?a:l,o=o?l:a,(o|0)<0&&(((o|0)==-2147483648||((r|0)>0?(2147483647-r|0)<(o|0):(-2147483648-r|0)>(o|0)))&&Te(27795,26892,402,26917),((r|0)>-1?(r|-2147483648|0)>=(o|0):(r^-2147483648|0)<(o|0))&&Te(27795,26892,402,26917)),r=l-a|0,(a|0)<0?(o=0-a|0,A[h>>2]=r,A[c>>2]=o,A[t>>2]=0,a=0):(r=l,o=0),(r|0)<0&&(a=a-r|0,A[t>>2]=a,o=o-r|0,A[c>>2]=o,A[h>>2]=0,r=0),f=a-o|0,l=r-o|0,(o|0)<0?(A[t>>2]=f,A[h>>2]=l,A[c>>2]=0,r=l,l=f,o=0):l=a,a=(r|0)<(l|0)?r:l,a=(o|0)<(a|0)?o:a,(a|0)<=0?(p=0,p|0):(A[t>>2]=l-a,A[h>>2]=r-a,A[c>>2]=o-a,p=0,p|0)}function K2(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;c=t+8|0,o=A[c>>2]|0,r=(A[t>>2]|0)-o|0,h=t+4|0,o=(A[h>>2]|0)-o|0,a=cr(+((r*3|0)-o|0)*.14285714285714285)|0,A[t>>2]=a,r=cr(+((o<<1)+r|0)*.14285714285714285)|0,A[h>>2]=r,A[c>>2]=0,o=r-a|0,(a|0)<0?(f=0-a|0,A[h>>2]=o,A[c>>2]=f,A[t>>2]=0,r=o,a=0,o=f):o=0,(r|0)<0&&(a=a-r|0,A[t>>2]=a,o=o-r|0,A[c>>2]=o,A[h>>2]=0,r=0),f=a-o|0,l=r-o|0,(o|0)<0?(A[t>>2]=f,A[h>>2]=l,A[c>>2]=0,r=l,l=f,o=0):l=a,a=(r|0)<(l|0)?r:l,a=(o|0)<(a|0)?o:a,!((a|0)<=0)&&(A[t>>2]=l-a,A[h>>2]=r-a,A[c>>2]=o-a)}function df(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;c=t+8|0,o=A[c>>2]|0,r=(A[t>>2]|0)-o|0,h=t+4|0,o=(A[h>>2]|0)-o|0,a=cr(+((r<<1)+o|0)*.14285714285714285)|0,A[t>>2]=a,r=cr(+((o*3|0)-r|0)*.14285714285714285)|0,A[h>>2]=r,A[c>>2]=0,o=r-a|0,(a|0)<0?(f=0-a|0,A[h>>2]=o,A[c>>2]=f,A[t>>2]=0,r=o,a=0,o=f):o=0,(r|0)<0&&(a=a-r|0,A[t>>2]=a,o=o-r|0,A[c>>2]=o,A[h>>2]=0,r=0),f=a-o|0,l=r-o|0,(o|0)<0?(A[t>>2]=f,A[h>>2]=l,A[c>>2]=0,r=l,l=f,o=0):l=a,a=(r|0)<(l|0)?r:l,a=(o|0)<(a|0)?o:a,!((a|0)<=0)&&(A[t>>2]=l-a,A[h>>2]=r-a,A[c>>2]=o-a)}function Ko(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;r=A[t>>2]|0,c=t+4|0,o=A[c>>2]|0,h=t+8|0,a=A[h>>2]|0,l=o+(r*3|0)|0,A[t>>2]=l,o=a+(o*3|0)|0,A[c>>2]=o,r=(a*3|0)+r|0,A[h>>2]=r,a=o-l|0,(l|0)<0?(r=r-l|0,A[c>>2]=a,A[h>>2]=r,A[t>>2]=0,o=a,a=0):a=l,(o|0)<0&&(a=a-o|0,A[t>>2]=a,r=r-o|0,A[h>>2]=r,A[c>>2]=0,o=0),f=a-r|0,l=o-r|0,(r|0)<0?(A[t>>2]=f,A[c>>2]=l,A[h>>2]=0,a=f,r=0):l=o,o=(l|0)<(a|0)?l:a,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=a-o,A[c>>2]=l-o,A[h>>2]=r-o)}function Hr(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;l=A[t>>2]|0,c=t+4|0,r=A[c>>2]|0,h=t+8|0,o=A[h>>2]|0,a=(r*3|0)+l|0,l=o+(l*3|0)|0,A[t>>2]=l,A[c>>2]=a,r=(o*3|0)+r|0,A[h>>2]=r,o=a-l|0,(l|0)<0?(r=r-l|0,A[c>>2]=o,A[h>>2]=r,A[t>>2]=0,l=0):o=a,(o|0)<0&&(l=l-o|0,A[t>>2]=l,r=r-o|0,A[h>>2]=r,A[c>>2]=0,o=0),f=l-r|0,a=o-r|0,(r|0)<0?(A[t>>2]=f,A[c>>2]=a,A[h>>2]=0,l=f,r=0):a=o,o=(a|0)<(l|0)?a:l,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=l-o,A[c>>2]=a-o,A[h>>2]=r-o)}function hf(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0;(r+-1|0)>>>0>=6||(l=(A[15440+(r*12|0)>>2]|0)+(A[t>>2]|0)|0,A[t>>2]=l,h=t+4|0,a=(A[15440+(r*12|0)+4>>2]|0)+(A[h>>2]|0)|0,A[h>>2]=a,c=t+8|0,r=(A[15440+(r*12|0)+8>>2]|0)+(A[c>>2]|0)|0,A[c>>2]=r,o=a-l|0,(l|0)<0?(r=r-l|0,A[h>>2]=o,A[c>>2]=r,A[t>>2]=0,a=0):(o=a,a=l),(o|0)<0&&(a=a-o|0,A[t>>2]=a,r=r-o|0,A[c>>2]=r,A[h>>2]=0,o=0),f=a-r|0,l=o-r|0,(r|0)<0?(A[t>>2]=f,A[h>>2]=l,A[c>>2]=0,a=f,r=0):l=o,o=(l|0)<(a|0)?l:a,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=a-o,A[h>>2]=l-o,A[c>>2]=r-o))}function pf(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;l=A[t>>2]|0,c=t+4|0,r=A[c>>2]|0,h=t+8|0,o=A[h>>2]|0,a=r+l|0,l=o+l|0,A[t>>2]=l,A[c>>2]=a,r=o+r|0,A[h>>2]=r,o=a-l|0,(l|0)<0?(r=r-l|0,A[c>>2]=o,A[h>>2]=r,A[t>>2]=0,a=0):(o=a,a=l),(o|0)<0&&(a=a-o|0,A[t>>2]=a,r=r-o|0,A[h>>2]=r,A[c>>2]=0,o=0),f=a-r|0,l=o-r|0,(r|0)<0?(A[t>>2]=f,A[c>>2]=l,A[h>>2]=0,a=f,r=0):l=o,o=(l|0)<(a|0)?l:a,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=a-o,A[c>>2]=l-o,A[h>>2]=r-o)}function Wo(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;r=A[t>>2]|0,c=t+4|0,a=A[c>>2]|0,h=t+8|0,o=A[h>>2]|0,l=a+r|0,A[t>>2]=l,a=o+a|0,A[c>>2]=a,r=o+r|0,A[h>>2]=r,o=a-l|0,(l|0)<0?(r=r-l|0,A[c>>2]=o,A[h>>2]=r,A[t>>2]=0,a=0):(o=a,a=l),(o|0)<0&&(a=a-o|0,A[t>>2]=a,r=r-o|0,A[h>>2]=r,A[c>>2]=0,o=0),f=a-r|0,l=o-r|0,(r|0)<0?(A[t>>2]=f,A[c>>2]=l,A[h>>2]=0,a=f,r=0):l=o,o=(l|0)<(a|0)?l:a,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=a-o,A[c>>2]=l-o,A[h>>2]=r-o)}function Vr(t){switch(t=t|0,t|0){case 1:{t=5;break}case 5:{t=4;break}case 4:{t=6;break}case 6:{t=2;break}case 2:{t=3;break}case 3:{t=1;break}default:}return t|0}function ur(t){switch(t=t|0,t|0){case 1:{t=3;break}case 3:{t=2;break}case 2:{t=6;break}case 6:{t=4;break}case 4:{t=5;break}case 5:{t=1;break}default:}return t|0}function mf(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;r=A[t>>2]|0,c=t+4|0,o=A[c>>2]|0,h=t+8|0,a=A[h>>2]|0,l=o+(r<<1)|0,A[t>>2]=l,o=a+(o<<1)|0,A[c>>2]=o,r=(a<<1)+r|0,A[h>>2]=r,a=o-l|0,(l|0)<0?(r=r-l|0,A[c>>2]=a,A[h>>2]=r,A[t>>2]=0,o=a,a=0):a=l,(o|0)<0&&(a=a-o|0,A[t>>2]=a,r=r-o|0,A[h>>2]=r,A[c>>2]=0,o=0),f=a-r|0,l=o-r|0,(r|0)<0?(A[t>>2]=f,A[c>>2]=l,A[h>>2]=0,a=f,r=0):l=o,o=(l|0)<(a|0)?l:a,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=a-o,A[c>>2]=l-o,A[h>>2]=r-o)}function gf(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;l=A[t>>2]|0,c=t+4|0,r=A[c>>2]|0,h=t+8|0,o=A[h>>2]|0,a=(r<<1)+l|0,l=o+(l<<1)|0,A[t>>2]=l,A[c>>2]=a,r=(o<<1)+r|0,A[h>>2]=r,o=a-l|0,(l|0)<0?(r=r-l|0,A[c>>2]=o,A[h>>2]=r,A[t>>2]=0,l=0):o=a,(o|0)<0&&(l=l-o|0,A[t>>2]=l,r=r-o|0,A[h>>2]=r,A[c>>2]=0,o=0),f=l-r|0,a=o-r|0,(r|0)<0?(A[t>>2]=f,A[c>>2]=a,A[h>>2]=0,l=f,r=0):a=o,o=(a|0)<(l|0)?a:l,o=(r|0)<(o|0)?r:o,!((o|0)<=0)&&(A[t>>2]=l-o,A[c>>2]=a-o,A[h>>2]=r-o)}function xa(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0;return c=(A[t>>2]|0)-(A[r>>2]|0)|0,h=(c|0)<0,a=(A[t+4>>2]|0)-(A[r+4>>2]|0)-(h?c:0)|0,f=(a|0)<0,l=(h?0-c|0:0)+(A[t+8>>2]|0)-(A[r+8>>2]|0)+(f?0-a|0:0)|0,t=(l|0)<0,r=t?0:l,o=(f?0:a)-(t?l:0)|0,l=(h?0:c)-(f?a:0)-(t?l:0)|0,t=(o|0)<(l|0)?o:l,t=(r|0)<(t|0)?r:t,a=(t|0)>0,r=r-(a?t:0)|0,o=o-(a?t:0)|0,t=l-(a?t:0)|0,t=(t|0)>-1?t:0-t|0,o=(o|0)>-1?o:0-o|0,r=(r|0)>-1?r:0-r|0,r=(o|0)>(r|0)?o:r,((t|0)>(r|0)?t:r)|0}function W2(t,r){t=t|0,r=r|0;var o=0;o=A[t+8>>2]|0,A[r>>2]=(A[t>>2]|0)-o,A[r+4>>2]=(A[t+4>>2]|0)-o}function Y2(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0;return a=A[t>>2]|0,A[r>>2]=a,l=A[t+4>>2]|0,c=r+4|0,A[c>>2]=l,h=r+8|0,A[h>>2]=0,o=(l|0)<(a|0),t=o?a:l,o=o?l:a,(o|0)<0&&((o|0)==-2147483648||((t|0)>0?(2147483647-t|0)<(o|0):(-2147483648-t|0)>(o|0))||((t|0)>-1?(t|-2147483648|0)>=(o|0):(t^-2147483648|0)<(o|0)))?(r=1,r|0):(t=l-a|0,(a|0)<0?(o=0-a|0,A[c>>2]=t,A[h>>2]=o,A[r>>2]=0,a=0):(t=l,o=0),(t|0)<0&&(a=a-t|0,A[r>>2]=a,o=o-t|0,A[h>>2]=o,A[c>>2]=0,t=0),f=a-o|0,l=t-o|0,(o|0)<0?(A[r>>2]=f,A[c>>2]=l,A[h>>2]=0,t=l,l=f,o=0):l=a,a=(t|0)<(l|0)?t:l,a=(o|0)<(a|0)?o:a,(a|0)<=0?(r=0,r|0):(A[r>>2]=l-a,A[c>>2]=t-a,A[h>>2]=o-a,r=0,r|0))}function yf(t){t=t|0;var r=0,o=0,a=0,l=0;r=t+8|0,l=A[r>>2]|0,o=l-(A[t>>2]|0)|0,A[t>>2]=o,a=t+4|0,t=(A[a>>2]|0)-l|0,A[a>>2]=t,A[r>>2]=0-(t+o)}function X2(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;o=A[t>>2]|0,r=0-o|0,A[t>>2]=r,c=t+8|0,A[c>>2]=0,h=t+4|0,a=A[h>>2]|0,l=a+o|0,(o|0)>0?(A[h>>2]=l,A[c>>2]=o,A[t>>2]=0,r=0,a=l):o=0,(a|0)<0?(f=r-a|0,A[t>>2]=f,o=o-a|0,A[c>>2]=o,A[h>>2]=0,l=f-o|0,r=0-o|0,(o|0)<0?(A[t>>2]=l,A[h>>2]=r,A[c>>2]=0,a=r,o=0):(a=0,l=f)):l=r,r=(a|0)<(l|0)?a:l,r=(o|0)<(r|0)?o:r,!((r|0)<=0)&&(A[t>>2]=l-r,A[h>>2]=a-r,A[c>>2]=o-r)}function Z2(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0;if(D=C,C=C+64|0,_=D,h=D+56|0,!(!0&(r&2013265920|0)==134217728&(!0&(a&2013265920|0)==134217728)))return l=5,C=D,l|0;if((t|0)==(o|0)&(r|0)==(a|0))return A[l>>2]=0,l=0,C=D,l|0;if(c=se(t|0,r|0,52)|0,T()|0,c=c&15,g=se(o|0,a|0,52)|0,T()|0,(c|0)!=(g&15|0))return l=12,C=D,l|0;if(f=c+-1|0,c>>>0>1){Ba(t,r,f,_)|0,Ba(o,a,f,h)|0,g=_,p=A[g>>2]|0,g=A[g+4>>2]|0;e:do if((p|0)==(A[h>>2]|0)&&(g|0)==(A[h+4>>2]|0)){c=(c^15)*3|0,f=se(t|0,r|0,c|0)|0,T()|0,f=f&7,c=se(o|0,a|0,c|0)|0,T()|0,c=c&7;do if((f|0)==0|(c|0)==0)A[l>>2]=1,f=0;else if((f|0)==7)f=5;else{if((f|0)==1|(c|0)==1&&ut(p,g)|0){f=5;break}if((A[15536+(f<<2)>>2]|0)!=(c|0)&&(A[15568+(f<<2)>>2]|0)!=(c|0))break e;A[l>>2]=1,f=0}while(!1);return l=f,C=D,l|0}while(!1)}f=_,c=f+56|0;do A[f>>2]=0,f=f+4|0;while((f|0)<(c|0));return tf(t,r,1,_)|0,r=_,!((A[r>>2]|0)==(o|0)&&(A[r+4>>2]|0)==(a|0))&&(r=_+8|0,!((A[r>>2]|0)==(o|0)&&(A[r+4>>2]|0)==(a|0)))&&(r=_+16|0,!((A[r>>2]|0)==(o|0)&&(A[r+4>>2]|0)==(a|0)))&&(r=_+24|0,!((A[r>>2]|0)==(o|0)&&(A[r+4>>2]|0)==(a|0)))&&(r=_+32|0,!((A[r>>2]|0)==(o|0)&&(A[r+4>>2]|0)==(a|0)))&&(r=_+40|0,!((A[r>>2]|0)==(o|0)&&(A[r+4>>2]|0)==(a|0)))?(f=_+48|0,f=((A[f>>2]|0)==(o|0)?(A[f+4>>2]|0)==(a|0):0)&1):f=1,A[l>>2]=f,l=0,C=D,l|0}function eg(t,r,o,a,l){return t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,o=Ea(t,r,o,a)|0,(o|0)==7?(l=11,l|0):(a=he(o|0,0,56)|0,r=r&-2130706433|(T()|0)|268435456,A[l>>2]=t|a,A[l+4>>2]=r,l=0,l|0)}function tg(t,r,o){return t=t|0,r=r|0,o=o|0,!0&(r&2013265920|0)==268435456?(A[o>>2]=t,A[o+4>>2]=r&-2130706433|134217728,o=0,o|0):(o=6,o|0)}function Ag(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;return l=C,C=C+16|0,a=l,A[a>>2]=0,!0&(r&2013265920|0)==268435456?(f=se(t|0,r|0,56)|0,T()|0,a=Dt(t,r&-2130706433|134217728,f&7,a,o)|0,C=l,a|0):(a=6,C=l,a|0)}function rg(t,r){t=t|0,r=r|0;var o=0;switch(o=se(t|0,r|0,56)|0,T()|0,o&7){case 0:case 7:return o=0,o|0;default:}return o=r&-2130706433|134217728,!(!0&(r&2013265920|0)==268435456)||!0&(r&117440512|0)==16777216&(ut(t,o)|0)!=0?(o=0,o|0):(o=Oa(t,o)|0,o|0)}function ng(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0;return l=C,C=C+16|0,a=l,!0&(r&2013265920|0)==268435456?(f=r&-2130706433|134217728,c=o,A[c>>2]=t,A[c+4>>2]=f,A[a>>2]=0,r=se(t|0,r|0,56)|0,T()|0,a=Dt(t,f,r&7,a,o+8|0)|0,C=l,a|0):(a=6,C=l,a|0)}function ig(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0;return l=(ut(t,r)|0)==0,r=r&-2130706433,a=o,A[a>>2]=l?t:0,A[a+4>>2]=l?r|285212672:0,a=o+8|0,A[a>>2]=t,A[a+4>>2]=r|301989888,a=o+16|0,A[a>>2]=t,A[a+4>>2]=r|318767104,a=o+24|0,A[a>>2]=t,A[a+4>>2]=r|335544320,a=o+32|0,A[a>>2]=t,A[a+4>>2]=r|352321536,o=o+40|0,A[o>>2]=t,A[o+4>>2]=r|369098752,0}function Yo(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0;return c=C,C=C+16|0,l=c,f=r&-2130706433|134217728,!0&(r&2013265920|0)==268435456?(a=se(t|0,r|0,56)|0,T()|0,a=A1(t,f,a&7)|0,(a|0)==-1?(A[o>>2]=0,f=6,C=c,f|0):(Bn(t,f,l)|0&&Te(27795,26932,282,26947),r=se(t|0,r|0,52)|0,T()|0,r=r&15,ut(t,f)|0?Ra(l,r,a,2,o):Ta(l,r,a,2,o),f=0,C=c,f|0)):(f=6,C=c,f|0)}function og(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0;a=C,C=C+16|0,l=a,sg(t,r,o,l),V2(l,o+4|0),C=a}function sg(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0;if(h=C,C=C+16|0,p=h,ag(t,o,p),f=+g2(+(1-+P[p>>3]*.5)),f<1e-16){A[a>>2]=0,A[a+4>>2]=0,A[a+8>>2]=0,A[a+12>>2]=0,C=h;return}if(p=A[o>>2]|0,l=+P[15920+(p*24|0)>>3],l=+ji(l-+ji(+Pg(15600+(p<<4)|0,t))),uA(r)|0?c=+ji(l+-.3334731722518321):c=l,l=+Ii(+f)*2.618033988749896,(r|0)>0){t=0;do l=l*2.6457513110645907,t=t+1|0;while((t|0)!=(r|0))}f=+Xe(+c)*l,P[a>>3]=f,c=+it(+c)*l,P[a+8>>3]=c,C=h}function ag(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;if(f=C,C=C+32|0,l=f,t1(t,l),A[r>>2]=0,P[o>>3]=5,a=+vt(16400,l),a<+P[o>>3]&&(A[r>>2]=0,P[o>>3]=a),a=+vt(16424,l),a<+P[o>>3]&&(A[r>>2]=1,P[o>>3]=a),a=+vt(16448,l),a<+P[o>>3]&&(A[r>>2]=2,P[o>>3]=a),a=+vt(16472,l),a<+P[o>>3]&&(A[r>>2]=3,P[o>>3]=a),a=+vt(16496,l),a<+P[o>>3]&&(A[r>>2]=4,P[o>>3]=a),a=+vt(16520,l),a<+P[o>>3]&&(A[r>>2]=5,P[o>>3]=a),a=+vt(16544,l),a<+P[o>>3]&&(A[r>>2]=6,P[o>>3]=a),a=+vt(16568,l),a<+P[o>>3]&&(A[r>>2]=7,P[o>>3]=a),a=+vt(16592,l),a<+P[o>>3]&&(A[r>>2]=8,P[o>>3]=a),a=+vt(16616,l),a<+P[o>>3]&&(A[r>>2]=9,P[o>>3]=a),a=+vt(16640,l),a<+P[o>>3]&&(A[r>>2]=10,P[o>>3]=a),a=+vt(16664,l),a<+P[o>>3]&&(A[r>>2]=11,P[o>>3]=a),a=+vt(16688,l),a<+P[o>>3]&&(A[r>>2]=12,P[o>>3]=a),a=+vt(16712,l),a<+P[o>>3]&&(A[r>>2]=13,P[o>>3]=a),a=+vt(16736,l),a<+P[o>>3]&&(A[r>>2]=14,P[o>>3]=a),a=+vt(16760,l),a<+P[o>>3]&&(A[r>>2]=15,P[o>>3]=a),a=+vt(16784,l),a<+P[o>>3]&&(A[r>>2]=16,P[o>>3]=a),a=+vt(16808,l),a<+P[o>>3]&&(A[r>>2]=17,P[o>>3]=a),a=+vt(16832,l),a<+P[o>>3]&&(A[r>>2]=18,P[o>>3]=a),a=+vt(16856,l),!(a<+P[o>>3])){C=f;return}A[r>>2]=19,P[o>>3]=a,C=f}function Bi(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0;if(f=+e1(t),f<1e-16){r=15600+(r<<4)|0,A[l>>2]=A[r>>2],A[l+4>>2]=A[r+4>>2],A[l+8>>2]=A[r+8>>2],A[l+12>>2]=A[r+12>>2];return}if(c=+lA(+ +P[t+8>>3],+ +P[t>>3]),(o|0)>0){t=0;do f=f*.37796447300922725,t=t+1|0;while((t|0)!=(o|0))}h=f*.3333333333333333,a?(o=(uA(o)|0)==0,f=+va(+((o?h:h*.37796447300922725)*.381966011250105))):(f=+va(+(f*.381966011250105)),uA(o)|0&&(c=+ji(c+.3334731722518321))),kg(15600+(r<<4)|0,+ji(+P[15920+(r*24|0)>>3]-c),f,l)}function lg(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0;a=C,C=C+16|0,l=a,Gr(t+4|0,l),Bi(l,A[t>>2]|0,r,0,o),C=a}function Ra(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0,Ne=0,Ve=0,xe=0,Ee=0,ue=0,Le=0,st=0,Qe=0;if(Le=C,C=C+272|0,f=Le+256|0,Y=Le+240|0,xe=Le,Ee=Le+224|0,ue=Le+208|0,W=Le+176|0,H=Le+160|0,ce=Le+192|0,be=Le+144|0,we=Le+128|0,Oe=Le+112|0,Ne=Le+96|0,Ve=Le+80|0,A[f>>2]=r,A[Y>>2]=A[t>>2],A[Y+4>>2]=A[t+4>>2],A[Y+8>>2]=A[t+8>>2],A[Y+12>>2]=A[t+12>>2],wf(Y,f,xe),A[l>>2]=0,Y=a+o+((a|0)==5&1)|0,(Y|0)<=(o|0)){C=Le;return}p=A[f>>2]|0,g=Ee+4|0,_=W+4|0,D=o+5|0,F=16880+(p<<2)|0,j=16960+(p<<2)|0,N=we+8|0,G=Oe+8|0,K=Ne+8|0,ee=ue+4|0,h=o;e:for(;;){c=xe+(((h|0)%5|0)<<4)|0,A[ue>>2]=A[c>>2],A[ue+4>>2]=A[c+4>>2],A[ue+8>>2]=A[c+8>>2],A[ue+12>>2]=A[c+12>>2];do;while((In(ue,p,0,1)|0)==2);if((h|0)>(o|0)&(uA(r)|0)!=0){if(A[W>>2]=A[ue>>2],A[W+4>>2]=A[ue+4>>2],A[W+8>>2]=A[ue+8>>2],A[W+12>>2]=A[ue+12>>2],Gr(g,H),a=A[W>>2]|0,f=A[17040+(a*80|0)+(A[Ee>>2]<<2)>>2]|0,A[W>>2]=A[18640+(a*80|0)+(f*20|0)>>2],c=A[18640+(a*80|0)+(f*20|0)+16>>2]|0,(c|0)>0){t=0;do pf(_),t=t+1|0;while((t|0)<(c|0))}switch(c=18640+(a*80|0)+(f*20|0)+4|0,A[ce>>2]=A[c>>2],A[ce+4>>2]=A[c+4>>2],A[ce+8>>2]=A[c+8>>2],cf(ce,(A[F>>2]|0)*3|0),Ht(_,ce,_),Nt(_),Gr(_,be),st=+(A[j>>2]|0),P[we>>3]=st*3,P[N>>3]=0,Qe=st*-1.5,P[Oe>>3]=Qe,P[G>>3]=st*2.598076211353316,P[Ne>>3]=Qe,P[K>>3]=st*-2.598076211353316,A[17040+((A[W>>2]|0)*80|0)+(A[ue>>2]<<2)>>2]|0){case 1:{t=Oe,a=we;break}case 3:{t=Ne,a=Oe;break}case 2:{t=we,a=Ne;break}default:{t=12;break e}}Bf(H,be,a,t,Ve),Bi(Ve,A[W>>2]|0,p,1,l+8+(A[l>>2]<<4)|0),A[l>>2]=(A[l>>2]|0)+1}if((h|0)<(D|0)&&(Gr(ee,W),Bi(W,A[ue>>2]|0,p,1,l+8+(A[l>>2]<<4)|0),A[l>>2]=(A[l>>2]|0)+1),A[Ee>>2]=A[ue>>2],A[Ee+4>>2]=A[ue+4>>2],A[Ee+8>>2]=A[ue+8>>2],A[Ee+12>>2]=A[ue+12>>2],h=h+1|0,(h|0)>=(Y|0)){t=3;break}}if((t|0)==3){C=Le;return}else(t|0)==12&&Te(26970,27017,572,27027)}function wf(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0;p=C,C=C+128|0,a=p+64|0,l=p,f=a,c=20240,h=f+60|0;do A[f>>2]=A[c>>2],f=f+4|0,c=c+4|0;while((f|0)<(h|0));f=l,c=20304,h=f+60|0;do A[f>>2]=A[c>>2],f=f+4|0,c=c+4|0;while((f|0)<(h|0));h=(uA(A[r>>2]|0)|0)==0,a=h?a:l,l=t+4|0,mf(l),gf(l),uA(A[r>>2]|0)|0&&(Hr(l),A[r>>2]=(A[r>>2]|0)+1),A[o>>2]=A[t>>2],r=o+4|0,Ht(l,a,r),Nt(r),A[o+16>>2]=A[t>>2],r=o+20|0,Ht(l,a+12|0,r),Nt(r),A[o+32>>2]=A[t>>2],r=o+36|0,Ht(l,a+24|0,r),Nt(r),A[o+48>>2]=A[t>>2],r=o+52|0,Ht(l,a+36|0,r),Nt(r),A[o+64>>2]=A[t>>2],o=o+68|0,Ht(l,a+48|0,o),Nt(o),C=p}function In(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0;if(N=C,C=C+32|0,F=N+12|0,h=N,j=t+4|0,D=A[16960+(r<<2)>>2]|0,_=(a|0)!=0,D=_?D*3|0:D,l=A[j>>2]|0,g=t+8|0,c=A[g>>2]|0,_){if(f=t+12|0,a=A[f>>2]|0,l=c+l+a|0,(l|0)==(D|0))return j=1,C=N,j|0;p=f}else p=t+12|0,a=A[p>>2]|0,l=c+l+a|0;if((l|0)<=(D|0))return j=0,C=N,j|0;do if((a|0)>0){if(a=A[t>>2]|0,(c|0)>0){f=18640+(a*80|0)+60|0,a=t;break}a=18640+(a*80|0)+40|0,o?(H2(F,D,0,0),Da(j,F,h),Wo(h),Ht(h,F,j),f=a,a=t):(f=a,a=t)}else f=18640+((A[t>>2]|0)*80|0)+20|0,a=t;while(!1);if(A[a>>2]=A[f>>2],l=f+16|0,(A[l>>2]|0)>0){a=0;do pf(j),a=a+1|0;while((a|0)<(A[l>>2]|0))}return t=f+4|0,A[F>>2]=A[t>>2],A[F+4>>2]=A[t+4>>2],A[F+8>>2]=A[t+8>>2],r=A[16880+(r<<2)>>2]|0,cf(F,_?r*3|0:r),Ht(j,F,j),Nt(j),_?a=((A[g>>2]|0)+(A[j>>2]|0)+(A[p>>2]|0)|0)==(D|0)?1:2:a=2,j=a,C=N,j|0}function ug(t,r){t=t|0,r=r|0;var o=0;do o=In(t,r,0,1)|0;while((o|0)==2);return o|0}function Ta(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0,Ne=0,Ve=0,xe=0;if(Ne=C,C=C+240|0,f=Ne+224|0,ce=Ne+208|0,be=Ne,we=Ne+192|0,Oe=Ne+176|0,K=Ne+160|0,ee=Ne+144|0,Y=Ne+128|0,W=Ne+112|0,H=Ne+96|0,A[f>>2]=r,A[ce>>2]=A[t>>2],A[ce+4>>2]=A[t+4>>2],A[ce+8>>2]=A[t+8>>2],A[ce+12>>2]=A[t+12>>2],_f(ce,f,be),A[l>>2]=0,G=a+o+((a|0)==6&1)|0,(G|0)<=(o|0)){C=Ne;return}p=A[f>>2]|0,g=o+6|0,_=16960+(p<<2)|0,D=ee+8|0,F=Y+8|0,j=W+8|0,N=we+4|0,c=0,h=o,a=-1;e:for(;;){if(f=(h|0)%6|0,t=be+(f<<4)|0,A[we>>2]=A[t>>2],A[we+4>>2]=A[t+4>>2],A[we+8>>2]=A[t+8>>2],A[we+12>>2]=A[t+12>>2],t=c,c=In(we,p,0,1)|0,(h|0)>(o|0)&(uA(r)|0)!=0&&(t|0)!=1&&(A[we>>2]|0)!=(a|0)){switch(Gr(be+(((f+5|0)%6|0)<<4)+4|0,Oe),Gr(be+(f<<4)+4|0,K),Ve=+(A[_>>2]|0),P[ee>>3]=Ve*3,P[D>>3]=0,xe=Ve*-1.5,P[Y>>3]=xe,P[F>>3]=Ve*2.598076211353316,P[W>>3]=xe,P[j>>3]=Ve*-2.598076211353316,f=A[ce>>2]|0,A[17040+(f*80|0)+(((a|0)==(f|0)?A[we>>2]|0:a)<<2)>>2]|0){case 1:{t=Y,a=ee;break}case 3:{t=W,a=Y;break}case 2:{t=ee,a=W;break}default:{t=8;break e}}Bf(Oe,K,a,t,H),!(Mf(Oe,H)|0)&&!(Mf(K,H)|0)&&(Bi(H,A[ce>>2]|0,p,1,l+8+(A[l>>2]<<4)|0),A[l>>2]=(A[l>>2]|0)+1)}if((h|0)<(g|0)&&(Gr(N,Oe),Bi(Oe,A[we>>2]|0,p,1,l+8+(A[l>>2]<<4)|0),A[l>>2]=(A[l>>2]|0)+1),h=h+1|0,(h|0)>=(G|0)){t=3;break}else a=A[we>>2]|0}if((t|0)==3){C=Ne;return}else(t|0)==8&&Te(27054,27017,737,27099)}function _f(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0;p=C,C=C+160|0,a=p+80|0,l=p,f=a,c=20368,h=f+72|0;do A[f>>2]=A[c>>2],f=f+4|0,c=c+4|0;while((f|0)<(h|0));f=l,c=20448,h=f+72|0;do A[f>>2]=A[c>>2],f=f+4|0,c=c+4|0;while((f|0)<(h|0));h=(uA(A[r>>2]|0)|0)==0,a=h?a:l,l=t+4|0,mf(l),gf(l),uA(A[r>>2]|0)|0&&(Hr(l),A[r>>2]=(A[r>>2]|0)+1),A[o>>2]=A[t>>2],r=o+4|0,Ht(l,a,r),Nt(r),A[o+16>>2]=A[t>>2],r=o+20|0,Ht(l,a+12|0,r),Nt(r),A[o+32>>2]=A[t>>2],r=o+36|0,Ht(l,a+24|0,r),Nt(r),A[o+48>>2]=A[t>>2],r=o+52|0,Ht(l,a+36|0,r),Nt(r),A[o+64>>2]=A[t>>2],r=o+68|0,Ht(l,a+48|0,r),Nt(r),A[o+80>>2]=A[t>>2],o=o+84|0,Ht(l,a+60|0,o),Nt(o),C=p}function fg(t,r){return t=t|0,r=r|0,r=se(t|0,r|0,52)|0,T()|0,r&15|0}function vf(t,r){return t=t|0,r=r|0,r=se(t|0,r|0,45)|0,T()|0,r&127|0}function Oa(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0;return!(!0&(r&-16777216|0)==134217728)||(a=se(t|0,r|0,52)|0,T()|0,a=a&15,o=se(t|0,r|0,45)|0,T()|0,o=o&127,o>>>0>121)?(t=0,t|0):(c=(a^15)*3|0,l=se(t|0,r|0,c|0)|0,c=he(l|0,T()|0,c|0)|0,l=T()|0,f=Tt(-1227133514,-1171,c|0,l|0)|0,!((c&613566756&f|0)==0&(l&4681&(T()|0)|0)==0)||(c=(a*3|0)+19|0,f=he(~t|0,~r|0,c|0)|0,c=se(f|0,T()|0,c|0)|0,!((a|0)==15|(c|0)==0&(T()|0)==0))?(c=0,c|0):!(oe[20528+o>>0]|0)||(r=r&8191,(t|0)==0&(r|0)==0)?(c=1,c|0):(c=Uf(t|0,r|0,0)|0,T()|0,((63-c|0)%3|0|0)!=0|0))}function Ia(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0;if(l=he(r|0,0,52)|0,f=T()|0,o=he(o|0,0,45)|0,o=f|(T()|0)|134225919,(r|0)<1){f=-1,a=o,r=t,A[r>>2]=f,t=t+4|0,A[t>>2]=a;return}for(f=1,l=-1;c=(15-f|0)*3|0,h=he(7,0,c|0)|0,o=o&~(T()|0),c=he(a|0,0,c|0)|0,l=l&~h|c,o=o|(T()|0),(f|0)!=(r|0);)f=f+1|0;h=t,c=h,A[c>>2]=l,h=h+4|0,A[h>>2]=o}function Ba(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0;if(f=se(t|0,r|0,52)|0,T()|0,f=f&15,o>>>0>15)return a=4,a|0;if((f|0)<(o|0))return a=12,a|0;if((f|0)==(o|0))return A[a>>2]=t,A[a+4>>2]=r,a=0,a|0;if(l=he(o|0,0,52)|0,l=l|t,t=T()|0|r&-15728641,(f|0)>(o|0))do r=he(7,0,(14-o|0)*3|0)|0,o=o+1|0,l=r|l,t=T()|0|t;while((o|0)<(f|0));return A[a>>2]=l,A[a+4>>2]=t,a=0,a|0}function Mi(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0;if(f=se(t|0,r|0,52)|0,T()|0,f=f&15,!((o|0)<16&(f|0)<=(o|0)))return a=4,a|0;l=o-f|0,o=se(t|0,r|0,45)|0,T()|0;e:do if(!(ht(o&127)|0))o=fr(7,0,l,((l|0)<0)<<31>>31)|0,l=T()|0;else{t:do if(f|0){for(o=1;c=he(7,0,(15-o|0)*3|0)|0,!!((c&t|0)==0&((T()|0)&r|0)==0);)if(o>>>0<f>>>0)o=o+1|0;else break t;o=fr(7,0,l,((l|0)<0)<<31>>31)|0,l=T()|0;break e}while(!1);o=fr(7,0,l,((l|0)<0)<<31>>31)|0,o=Ft(o|0,T()|0,5,0)|0,o=Ce(o|0,T()|0,-5,-1)|0,o=dr(o|0,T()|0,6,0)|0,o=Ce(o|0,T()|0,1,0)|0,l=T()|0}while(!1);return c=a,A[c>>2]=o,A[c+4>>2]=l,c=0,c|0}function ut(t,r){t=t|0,r=r|0;var o=0,a=0,l=0;if(l=se(t|0,r|0,45)|0,T()|0,!(ht(l&127)|0))return l=0,l|0;l=se(t|0,r|0,52)|0,T()|0,l=l&15;e:do if(!l)o=0;else for(a=1;;){if(o=se(t|0,r|0,(15-a|0)*3|0)|0,T()|0,o=o&7,o|0)break e;if(a>>>0<l>>>0)a=a+1|0;else{o=0;break}}while(!1);return l=(o|0)==0&1,l|0}function cg(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0;if(c=C,C=C+16|0,f=c,La(f,t,r,o),r=f,t=A[r>>2]|0,r=A[r+4>>2]|0,(t|0)==0&(r|0)==0)return C=c,0;l=0,o=0;do h=a+(l<<3)|0,A[h>>2]=t,A[h+4>>2]=r,l=Ce(l|0,o|0,1,0)|0,o=T()|0,qa(f),h=f,t=A[h>>2]|0,r=A[h+4>>2]|0;while(!((t|0)==0&(r|0)==0));return C=c,0}function bf(t,r,o,a){return t=t|0,r=r|0,o=o|0,a=a|0,(a|0)<(o|0)?(o=r,a=t,je(o|0),a|0):(o=he(-1,-1,((a-o|0)*3|0)+3|0)|0,a=he(~o|0,~(T()|0)|0,(15-a|0)*3|0)|0,o=~(T()|0)&r,a=~a&t,je(o|0),a|0)}function Ef(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0;return l=se(t|0,r|0,52)|0,T()|0,l=l&15,(o|0)<16&(l|0)<=(o|0)?((l|0)<(o|0)&&(l=he(-1,-1,((o+-1-l|0)*3|0)+3|0)|0,l=he(~l|0,~(T()|0)|0,(15-o|0)*3|0)|0,r=~(T()|0)&r,t=~l&t),l=he(o|0,0,52)|0,o=r&-15728641|(T()|0),A[a>>2]=t|l,A[a+4>>2]=o,a=0,a|0):(a=4,a|0)}function dg(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0,Ne=0,Ve=0,xe=0,Ee=0,ue=0;if((o|0)==0&(a|0)==0)return ue=0,ue|0;if(l=t,f=A[l>>2]|0,l=A[l+4>>2]|0,!0&(l&15728640|0)==0){if(!((a|0)>0|(a|0)==0&o>>>0>0)||(ue=r,A[ue>>2]=f,A[ue+4>>2]=l,(o|0)==1&(a|0)==0))return ue=0,ue|0;l=1,f=0;do xe=t+(l<<3)|0,Ee=A[xe+4>>2]|0,ue=r+(l<<3)|0,A[ue>>2]=A[xe>>2],A[ue+4>>2]=Ee,l=Ce(l|0,f|0,1,0)|0,f=T()|0;while((f|0)<(a|0)|(f|0)==(a|0)&l>>>0<o>>>0);return l=0,l|0}if(Ve=o<<3,Ee=RA(Ve)|0,!Ee)return ue=13,ue|0;if(Qn(Ee|0,t|0,Ve|0)|0,xe=cA(o,8)|0,!xe)return Se(Ee),ue=13,ue|0;e:for(;;){l=Ee,g=A[l>>2]|0,l=A[l+4>>2]|0,Oe=se(g|0,l|0,52)|0,T()|0,Oe=Oe&15,Ne=Oe+-1|0,we=(Oe|0)!=0,be=(a|0)>0|(a|0)==0&o>>>0>0;t:do if(we&be){if(Y=he(Ne|0,0,52)|0,W=T()|0,Ne>>>0>15){if(!((g|0)==0&(l|0)==0)){ue=16;break e}for(f=0,t=0;;){if(f=Ce(f|0,t|0,1,0)|0,t=T()|0,!((t|0)<(a|0)|(t|0)==(a|0)&f>>>0<o>>>0))break t;if(c=Ee+(f<<3)|0,ce=A[c>>2]|0,c=A[c+4>>2]|0,!((ce|0)==0&(c|0)==0)){l=c,ue=16;break e}}}for(h=g,t=l,f=0,c=0;;){if(!((h|0)==0&(t|0)==0)){if(!(!0&(t&117440512|0)==0)){ue=21;break e}if(_=se(h|0,t|0,52)|0,T()|0,_=_&15,(_|0)<(Ne|0)){l=12,ue=27;break e}if((_|0)!=(Ne|0)&&(h=h|Y,t=t&-15728641|W,_>>>0>=Oe>>>0)){p=Ne;do ce=he(7,0,(14-p|0)*3|0)|0,p=p+1|0,h=ce|h,t=T()|0|t;while(p>>>0<_>>>0)}if(F=Fn(h|0,t|0,o|0,a|0)|0,j=T()|0,p=xe+(F<<3)|0,_=p,D=A[_>>2]|0,_=A[_+4>>2]|0,!((D|0)==0&(_|0)==0)){K=0,ee=0;do{if((K|0)>(a|0)|(K|0)==(a|0)&ee>>>0>o>>>0){ue=31;break e}if((D|0)==(h|0)&(_&-117440513|0)==(t|0)){N=se(D|0,_|0,56)|0,T()|0,N=N&7,G=N+1|0,ce=se(D|0,_|0,45)|0,T()|0;A:do if(!(ht(ce&127)|0))_=7;else{if(D=se(D|0,_|0,52)|0,T()|0,D=D&15,!D){_=6;break}for(_=1;;){if(ce=he(7,0,(15-_|0)*3|0)|0,!((ce&h|0)==0&((T()|0)&t|0)==0)){_=7;break A}if(_>>>0<D>>>0)_=_+1|0;else{_=6;break}}}while(!1);if((N+2|0)>>>0>_>>>0){ue=41;break e}ce=he(G|0,0,56)|0,t=T()|0|t&-117440513,H=p,A[H>>2]=0,A[H+4>>2]=0,h=ce|h}else F=Ce(F|0,j|0,1,0)|0,F=Nn(F|0,T()|0,o|0,a|0)|0,j=T()|0;ee=Ce(ee|0,K|0,1,0)|0,K=T()|0,p=xe+(F<<3)|0,_=p,D=A[_>>2]|0,_=A[_+4>>2]|0}while(!((D|0)==0&(_|0)==0))}ce=p,A[ce>>2]=h,A[ce+4>>2]=t}if(f=Ce(f|0,c|0,1,0)|0,c=T()|0,!((c|0)<(a|0)|(c|0)==(a|0)&f>>>0<o>>>0))break t;t=Ee+(f<<3)|0,h=A[t>>2]|0,t=A[t+4>>2]|0}}while(!1);if(ce=Ce(o|0,a|0,5,0)|0,H=T()|0,H>>>0<0|(H|0)==0&ce>>>0<11){ue=85;break}if(ce=dr(o|0,a|0,6,0)|0,T()|0,ce=cA(ce,8)|0,!ce){ue=48;break}do if(be){for(G=0,t=0,N=0,K=0;;){if(_=xe+(G<<3)|0,c=_,f=A[c>>2]|0,c=A[c+4>>2]|0,(f|0)==0&(c|0)==0)H=N;else{D=se(f|0,c|0,56)|0,T()|0,D=D&7,h=D+1|0,F=c&-117440513,H=se(f|0,c|0,45)|0,T()|0;t:do if(ht(H&127)|0){if(j=se(f|0,c|0,52)|0,T()|0,j=j&15,j|0)for(p=1;;){if(H=he(7,0,(15-p|0)*3|0)|0,!((f&H|0)==0&(F&(T()|0)|0)==0))break t;if(p>>>0<j>>>0)p=p+1|0;else break}c=he(h|0,0,56)|0,f=c|f,c=T()|0|F,h=_,A[h>>2]=f,A[h+4>>2]=c,h=D+2|0}while(!1);(h|0)==7?(H=ce+(t<<3)|0,A[H>>2]=f,A[H+4>>2]=c&-117440513,t=Ce(t|0,N|0,1,0)|0,H=T()|0):H=N}if(G=Ce(G|0,K|0,1,0)|0,K=T()|0,(K|0)<(a|0)|(K|0)==(a|0)&G>>>0<o>>>0)N=H;else break}if(be){if(ee=Ne>>>0>15,Y=he(Ne|0,0,52)|0,W=T()|0,!we){for(f=0,p=0,h=0,c=0;(g|0)==0&(l|0)==0||(Ne=r+(f<<3)|0,A[Ne>>2]=g,A[Ne+4>>2]=l,f=Ce(f|0,p|0,1,0)|0,p=T()|0),h=Ce(h|0,c|0,1,0)|0,c=T()|0,!!((c|0)<(a|0)|(c|0)==(a|0)&h>>>0<o>>>0);)l=Ee+(h<<3)|0,g=A[l>>2]|0,l=A[l+4>>2]|0;l=H;break}for(f=0,p=0,c=0,h=0;;){do if(!((g|0)==0&(l|0)==0)){if(j=se(g|0,l|0,52)|0,T()|0,j=j&15,ee|(j|0)<(Ne|0)){ue=80;break e}if((j|0)!=(Ne|0)){if(_=g|Y,D=l&-15728641|W,j>>>0>=Oe>>>0){F=Ne;do we=he(7,0,(14-F|0)*3|0)|0,F=F+1|0,_=we|_,D=T()|0|D;while(F>>>0<j>>>0)}}else _=g,D=l;N=Fn(_|0,D|0,o|0,a|0)|0,F=0,j=0,K=T()|0;do{if((F|0)>(a|0)|(F|0)==(a|0)&j>>>0>o>>>0){ue=81;break e}if(we=xe+(N<<3)|0,G=A[we+4>>2]|0,(G&-117440513|0)==(D|0)&&(A[we>>2]|0)==(_|0)){ue=65;break}we=Ce(N|0,K|0,1,0)|0,N=Nn(we|0,T()|0,o|0,a|0)|0,K=T()|0,j=Ce(j|0,F|0,1,0)|0,F=T()|0,we=xe+(N<<3)|0}while(!((A[we>>2]|0)==(_|0)&&(A[we+4>>2]|0)==(D|0)));if((ue|0)==65&&(ue=0,!0&(G&117440512|0)==100663296))break;we=r+(f<<3)|0,A[we>>2]=g,A[we+4>>2]=l,f=Ce(f|0,p|0,1,0)|0,p=T()|0}while(!1);if(c=Ce(c|0,h|0,1,0)|0,h=T()|0,!((h|0)<(a|0)|(h|0)==(a|0)&c>>>0<o>>>0))break;l=Ee+(c<<3)|0,g=A[l>>2]|0,l=A[l+4>>2]|0}l=H}else f=0,l=H}else f=0,t=0,l=0;while(!1);if(Kr(xe|0,0,Ve|0)|0,Qn(Ee|0,ce|0,t<<3|0)|0,Se(ce),(t|0)==0&(l|0)==0){ue=89;break}else r=r+(f<<3)|0,a=l,o=t}if((ue|0)==16)!0&(l&117440512|0)==0?(l=4,ue=27):ue=21;else if((ue|0)==31)Te(27795,27122,529,27132);else{if((ue|0)==41)return Se(Ee),Se(xe),ue=10,ue|0;if((ue|0)==48)return Se(Ee),Se(xe),ue=13,ue|0;(ue|0)==80?Te(27795,27122,620,27132):(ue|0)==81?Te(27795,27122,632,27132):(ue|0)==85&&(Qn(r|0,Ee|0,o<<3|0)|0,ue=89)}return(ue|0)==21?(Se(Ee),Se(xe),ue=5,ue|0):(ue|0)==27?(Se(Ee),Se(xe),ue=l,ue|0):(ue|0)==89?(Se(Ee),Se(xe),ue=0,ue|0):0}function hg(t,r,o,a,l,f,c){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,f=f|0,c=c|0;var h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0;if(G=C,C=C+16|0,N=G,!((o|0)>0|(o|0)==0&r>>>0>0))return N=0,C=G,N|0;if((c|0)>=16)return N=12,C=G,N|0;F=0,j=0,D=0,h=0;e:for(;;){if(g=t+(F<<3)|0,p=A[g>>2]|0,g=A[g+4>>2]|0,_=se(p|0,g|0,52)|0,T()|0,(_&15|0)>(c|0)){h=12,p=11;break}if(La(N,p,g,c),_=N,g=A[_>>2]|0,_=A[_+4>>2]|0,(g|0)==0&(_|0)==0)p=D;else{p=D;do{if(!((h|0)<(f|0)|(h|0)==(f|0)&p>>>0<l>>>0)){p=10;break e}D=a+(p<<3)|0,A[D>>2]=g,A[D+4>>2]=_,p=Ce(p|0,h|0,1,0)|0,h=T()|0,qa(N),D=N,g=A[D>>2]|0,_=A[D+4>>2]|0}while(!((g|0)==0&(_|0)==0))}if(F=Ce(F|0,j|0,1,0)|0,j=T()|0,(j|0)<(o|0)|(j|0)==(o|0)&F>>>0<r>>>0)D=p;else{h=0,p=11;break}}return(p|0)==10?(N=14,C=G,N|0):(p|0)==11?(C=G,h|0):0}function pg(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0;F=C,C=C+16|0,D=F;e:do if((o|0)>0|(o|0)==0&r>>>0>0){for(g=0,c=0,f=0,_=0;;){if(p=t+(g<<3)|0,h=A[p>>2]|0,p=A[p+4>>2]|0,!((h|0)==0&(p|0)==0)&&(p=(Mi(h,p,a,D)|0)==0,h=D,c=Ce(A[h>>2]|0,A[h+4>>2]|0,c|0,f|0)|0,f=T()|0,!p)){f=12;break}if(g=Ce(g|0,_|0,1,0)|0,_=T()|0,!((_|0)<(o|0)|(_|0)==(o|0)&g>>>0<r>>>0))break e}return C=F,f|0}else c=0,f=0;while(!1);return A[l>>2]=c,A[l+4>>2]=f,l=0,C=F,l|0}function mg(t,r){return t=t|0,r=r|0,r=se(t|0,r|0,52)|0,T()|0,r&1|0}function Wt(t,r){t=t|0,r=r|0;var o=0,a=0,l=0;if(l=se(t|0,r|0,52)|0,T()|0,l=l&15,!l)return l=0,l|0;for(a=1;;){if(o=se(t|0,r|0,(15-a|0)*3|0)|0,T()|0,o=o&7,o|0){a=5;break}if(a>>>0<l>>>0)a=a+1|0;else{o=0,a=5;break}}return(a|0)==5?o|0:0}function Ma(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(p=se(t|0,r|0,52)|0,T()|0,p=p&15,!p)return h=r,p=t,je(h|0),p|0;for(h=1,o=0;;){f=(15-h|0)*3|0,a=he(7,0,f|0)|0,l=T()|0,c=se(t|0,r|0,f|0)|0,T()|0,f=he(Vr(c&7)|0,0,f|0)|0,c=T()|0,t=f|t&~a,r=c|r&~l;e:do if(!o)if((f&a|0)==0&(c&l|0)==0)o=0;else if(a=se(t|0,r|0,52)|0,T()|0,a=a&15,!a)o=1;else{o=1;t:for(;;){switch(c=se(t|0,r|0,(15-o|0)*3|0)|0,T()|0,c&7){case 1:break t;case 0:break;default:{o=1;break e}}if(o>>>0<a>>>0)o=o+1|0;else{o=1;break e}}for(o=1;;)if(c=(15-o|0)*3|0,l=se(t|0,r|0,c|0)|0,T()|0,f=he(7,0,c|0)|0,r=r&~(T()|0),c=he(Vr(l&7)|0,0,c|0)|0,t=t&~f|c,r=r|(T()|0),o>>>0<a>>>0)o=o+1|0;else{o=1;break}}while(!1);if(h>>>0<p>>>0)h=h+1|0;else break}return je(r|0),t|0}function zr(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0;if(a=se(t|0,r|0,52)|0,T()|0,a=a&15,!a)return o=r,a=t,je(o|0),a|0;for(o=1;f=(15-o|0)*3|0,c=se(t|0,r|0,f|0)|0,T()|0,l=he(7,0,f|0)|0,r=r&~(T()|0),f=he(Vr(c&7)|0,0,f|0)|0,t=f|t&~l,r=T()|0|r,o>>>0<a>>>0;)o=o+1|0;return je(r|0),t|0}function gg(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(p=se(t|0,r|0,52)|0,T()|0,p=p&15,!p)return h=r,p=t,je(h|0),p|0;for(h=1,o=0;;){f=(15-h|0)*3|0,a=he(7,0,f|0)|0,l=T()|0,c=se(t|0,r|0,f|0)|0,T()|0,f=he(ur(c&7)|0,0,f|0)|0,c=T()|0,t=f|t&~a,r=c|r&~l;e:do if(!o)if((f&a|0)==0&(c&l|0)==0)o=0;else if(a=se(t|0,r|0,52)|0,T()|0,a=a&15,!a)o=1;else{o=1;t:for(;;){switch(c=se(t|0,r|0,(15-o|0)*3|0)|0,T()|0,c&7){case 1:break t;case 0:break;default:{o=1;break e}}if(o>>>0<a>>>0)o=o+1|0;else{o=1;break e}}for(o=1;;)if(l=(15-o|0)*3|0,f=he(7,0,l|0)|0,c=r&~(T()|0),r=se(t|0,r|0,l|0)|0,T()|0,r=he(ur(r&7)|0,0,l|0)|0,t=t&~f|r,r=c|(T()|0),o>>>0<a>>>0)o=o+1|0;else{o=1;break}}while(!1);if(h>>>0<p>>>0)h=h+1|0;else break}return je(r|0),t|0}function ja(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0;if(a=se(t|0,r|0,52)|0,T()|0,a=a&15,!a)return o=r,a=t,je(o|0),a|0;for(o=1;c=(15-o|0)*3|0,f=he(7,0,c|0)|0,l=r&~(T()|0),r=se(t|0,r|0,c|0)|0,T()|0,r=he(ur(r&7)|0,0,c|0)|0,t=r|t&~f,r=T()|0|l,o>>>0<a>>>0;)o=o+1|0;return je(r|0),t|0}function yg(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;if(p=C,C=C+64|0,h=p+40|0,a=p+24|0,l=p+12|0,f=p,he(r|0,0,52)|0,o=T()|0|134225919,!r)return(A[t+4>>2]|0)>2||(A[t+8>>2]|0)>2||(A[t+12>>2]|0)>2?(c=0,h=0,je(c|0),C=p,h|0):(he(of(t)|0,0,45)|0,c=T()|0|o,h=-1,je(c|0),C=p,h|0);if(A[h>>2]=A[t>>2],A[h+4>>2]=A[t+4>>2],A[h+8>>2]=A[t+8>>2],A[h+12>>2]=A[t+12>>2],c=h+4|0,(r|0)>0)for(t=-1;A[a>>2]=A[c>>2],A[a+4>>2]=A[c+4>>2],A[a+8>>2]=A[c+8>>2],r&1?(K2(c),A[l>>2]=A[c>>2],A[l+4>>2]=A[c+4>>2],A[l+8>>2]=A[c+8>>2],Ko(l)):(df(c),A[l>>2]=A[c>>2],A[l+4>>2]=A[c+4>>2],A[l+8>>2]=A[c+8>>2],Hr(l)),Da(a,l,f),Nt(f),_=(15-r|0)*3|0,g=he(7,0,_|0)|0,o=o&~(T()|0),_=he(Jo(f)|0,0,_|0)|0,t=_|t&~g,o=T()|0|o,(r|0)>1;)r=r+-1|0;else t=-1;e:do if((A[c>>2]|0)<=2&&(A[h+8>>2]|0)<=2&&(A[h+12>>2]|0)<=2){if(a=of(h)|0,r=he(a|0,0,45)|0,r=r|t,t=T()|0|o&-1040385,f=B2(h)|0,!(ht(a)|0)){if((f|0)<=0)break;for(l=0;;){if(a=se(r|0,t|0,52)|0,T()|0,a=a&15,a)for(o=1;_=(15-o|0)*3|0,h=se(r|0,t|0,_|0)|0,T()|0,g=he(7,0,_|0)|0,t=t&~(T()|0),_=he(Vr(h&7)|0,0,_|0)|0,r=r&~g|_,t=t|(T()|0),o>>>0<a>>>0;)o=o+1|0;if(l=l+1|0,(l|0)==(f|0))break e}}l=se(r|0,t|0,52)|0,T()|0,l=l&15;t:do if(l){o=1;A:for(;;){switch(_=se(r|0,t|0,(15-o|0)*3|0)|0,T()|0,_&7){case 1:break A;case 0:break;default:break t}if(o>>>0<l>>>0)o=o+1|0;else break t}if(sf(a,A[h>>2]|0)|0)for(o=1;h=(15-o|0)*3|0,g=he(7,0,h|0)|0,_=t&~(T()|0),t=se(r|0,t|0,h|0)|0,T()|0,t=he(ur(t&7)|0,0,h|0)|0,r=r&~g|t,t=_|(T()|0),o>>>0<l>>>0;)o=o+1|0;else for(o=1;_=(15-o|0)*3|0,h=se(r|0,t|0,_|0)|0,T()|0,g=he(7,0,_|0)|0,t=t&~(T()|0),_=he(Vr(h&7)|0,0,_|0)|0,r=r&~g|_,t=t|(T()|0),o>>>0<l>>>0;)o=o+1|0}while(!1);if((f|0)>0){o=0;do r=Ma(r,t)|0,t=T()|0,o=o+1|0;while((o|0)!=(f|0))}}else r=0,t=0;while(!1);return g=t,_=r,je(g|0),C=p,_|0}function uA(t){return t=t|0,(t|0)%2|0|0}function Na(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0;return l=C,C=C+16|0,a=l,r>>>0>15?(a=4,C=l,a|0):(A[t+4>>2]&2146435072|0)==2146435072||(A[t+8+4>>2]&2146435072|0)==2146435072?(a=3,C=l,a|0):(og(t,r,a),r=yg(a,r)|0,a=T()|0,A[o>>2]=r,A[o+4>>2]=a,(r|0)==0&(a|0)==0&&Te(27795,27122,959,27145),a=0,C=l,a|0)}function Fa(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0;if(l=o+4|0,f=se(t|0,r|0,52)|0,T()|0,f=f&15,c=se(t|0,r|0,45)|0,T()|0,a=(f|0)==0,ht(c&127)|0){if(a)return c=1,c|0;a=1}else{if(a)return c=0,c|0;(A[l>>2]|0)==0&&(A[o+8>>2]|0)==0?a=(A[o+12>>2]|0)!=0&1:a=1}for(o=1;o&1?Ko(l):Hr(l),c=se(t|0,r|0,(15-o|0)*3|0)|0,T()|0,hf(l,c&7),o>>>0<f>>>0;)o=o+1|0;return a|0}function Bn(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;if(_=C,C=C+16|0,p=_,g=se(t|0,r|0,45)|0,T()|0,g=g&127,g>>>0>121)return A[o>>2]=0,A[o+4>>2]=0,A[o+8>>2]=0,A[o+12>>2]=0,g=5,C=_,g|0;e:do if((ht(g)|0)!=0&&(f=se(t|0,r|0,52)|0,T()|0,f=f&15,(f|0)!=0)){a=1;t:for(;;){switch(h=se(t|0,r|0,(15-a|0)*3|0)|0,T()|0,h&7){case 5:break t;case 0:break;default:{a=r;break e}}if(a>>>0<f>>>0)a=a+1|0;else{a=r;break e}}for(l=1,a=r;r=(15-l|0)*3|0,c=he(7,0,r|0)|0,h=a&~(T()|0),a=se(t|0,a|0,r|0)|0,T()|0,a=he(ur(a&7)|0,0,r|0)|0,t=t&~c|a,a=h|(T()|0),l>>>0<f>>>0;)l=l+1|0}else a=r;while(!1);if(h=7696+(g*28|0)|0,A[o>>2]=A[h>>2],A[o+4>>2]=A[h+4>>2],A[o+8>>2]=A[h+8>>2],A[o+12>>2]=A[h+12>>2],!(Fa(t,a,o)|0))return g=0,C=_,g|0;if(c=o+4|0,A[p>>2]=A[c>>2],A[p+4>>2]=A[c+4>>2],A[p+8>>2]=A[c+8>>2],f=se(t|0,a|0,52)|0,T()|0,h=f&15,f&1?(Hr(c),f=h+1|0):f=h,!(ht(g)|0))a=0;else{e:do if(!h)a=0;else for(r=1;;){if(l=se(t|0,a|0,(15-r|0)*3|0)|0,T()|0,l=l&7,l|0){a=l;break e}if(r>>>0<h>>>0)r=r+1|0;else{a=0;break}}while(!1);a=(a|0)==4&1}if(!(In(o,f,a,0)|0))(f|0)!=(h|0)&&(A[c>>2]=A[p>>2],A[c+4>>2]=A[p+4>>2],A[c+8>>2]=A[p+8>>2]);else{if(ht(g)|0)do;while((In(o,f,0,0)|0)!=0);(f|0)!=(h|0)&&df(c)}return g=0,C=_,g|0}function Jr(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;return f=C,C=C+16|0,a=f,l=Bn(t,r,a)|0,l|0?(C=f,l|0):(l=se(t|0,r|0,52)|0,T()|0,lg(a,l&15,o),l=0,C=f,l|0)}function Mn(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0;if(c=C,C=C+16|0,f=c,a=Bn(t,r,f)|0,a|0)return f=a,C=c,f|0;a=se(t|0,r|0,45)|0,T()|0,a=(ht(a&127)|0)==0,l=se(t|0,r|0,52)|0,T()|0,l=l&15;e:do if(!a){if(l|0)for(a=1;;){if(h=he(7,0,(15-a|0)*3|0)|0,!((h&t|0)==0&((T()|0)&r|0)==0))break e;if(a>>>0<l>>>0)a=a+1|0;else break}return Ra(f,l,0,5,o),h=0,C=c,h|0}while(!1);return Ta(f,l,0,6,o),h=0,C=c,h|0}function wg(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;if(l=se(t|0,r|0,45)|0,T()|0,!(ht(l&127)|0))return l=2,A[o>>2]=l,0;if(l=se(t|0,r|0,52)|0,T()|0,l=l&15,!l)return l=5,A[o>>2]=l,0;for(a=1;;){if(f=he(7,0,(15-a|0)*3|0)|0,!((f&t|0)==0&((T()|0)&r|0)==0)){a=2,t=6;break}if(a>>>0<l>>>0)a=a+1|0;else{a=5,t=6;break}}return(t|0)==6&&(A[o>>2]=a),0}function $f(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0;D=C,C=C+128|0,g=D+112|0,f=D+96|0,_=D,l=se(t|0,r|0,52)|0,T()|0,h=l&15,A[g>>2]=h,c=se(t|0,r|0,45)|0,T()|0,c=c&127;e:do if(ht(c)|0){if(h|0)for(a=1;;){if(p=he(7,0,(15-a|0)*3|0)|0,!((p&t|0)==0&((T()|0)&r|0)==0)){l=0;break e}if(a>>>0<h>>>0)a=a+1|0;else break}if(l&1)l=1;else return p=he(h+1|0,0,52)|0,_=T()|0|r&-15728641,g=he(7,0,(14-h|0)*3|0)|0,_=$f((p|t)&~g,_&~(T()|0),o)|0,C=D,_|0}else l=0;while(!1);if(a=Bn(t,r,f)|0,!a){l?(wf(f,g,_),p=5):(_f(f,g,_),p=6);e:do if(ht(c)|0)if(!h)t=5;else for(a=1;;){if(c=he(7,0,(15-a|0)*3|0)|0,!((c&t|0)==0&((T()|0)&r|0)==0)){t=2;break e}if(a>>>0<h>>>0)a=a+1|0;else{t=5;break}}else t=2;while(!1);Kr(o|0,-1,t<<2|0)|0;e:do if(l)for(f=0;;){if(c=_+(f<<4)|0,ug(c,A[g>>2]|0)|0,c=A[c>>2]|0,h=A[o>>2]|0,(h|0)==-1|(h|0)==(c|0))a=o;else{l=0;do{if(l=l+1|0,l>>>0>=t>>>0){a=1;break e}a=o+(l<<2)|0,h=A[a>>2]|0}while(!((h|0)==-1|(h|0)==(c|0)))}if(A[a>>2]=c,f=f+1|0,f>>>0>=p>>>0){a=0;break}}else for(f=0;;){if(c=_+(f<<4)|0,In(c,A[g>>2]|0,0,1)|0,c=A[c>>2]|0,h=A[o>>2]|0,(h|0)==-1|(h|0)==(c|0))a=o;else{l=0;do{if(l=l+1|0,l>>>0>=t>>>0){a=1;break e}a=o+(l<<2)|0,h=A[a>>2]|0}while(!((h|0)==-1|(h|0)==(c|0)))}if(A[a>>2]=c,f=f+1|0,f>>>0>=p>>>0){a=0;break}}while(!1)}return _=a,C=D,_|0}function _g(){return 12}function Qa(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(t>>>0>15)return h=4,h|0;if(he(t|0,0,52)|0,h=T()|0|134225919,!t){o=0,a=0;do ht(a)|0&&(he(a|0,0,45)|0,c=h|(T()|0),t=r+(o<<3)|0,A[t>>2]=-1,A[t+4>>2]=c,o=o+1|0),a=a+1|0;while((a|0)!=122);return o=0,o|0}o=0,c=0;do{if(ht(c)|0){for(he(c|0,0,45)|0,a=1,l=-1,f=h|(T()|0);p=he(7,0,(15-a|0)*3|0)|0,l=l&~p,f=f&~(T()|0),(a|0)!=(t|0);)a=a+1|0;p=r+(o<<3)|0,A[p>>2]=l,A[p+4>>2]=f,o=o+1|0}c=c+1|0}while((c|0)!=122);return o=0,o|0}function vg(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0;if(Y=C,C=C+16|0,K=Y,ee=se(t|0,r|0,52)|0,T()|0,ee=ee&15,o>>>0>15)return ee=4,C=Y,ee|0;if((ee|0)<(o|0))return ee=12,C=Y,ee|0;if((ee|0)!=(o|0))if(f=he(o|0,0,52)|0,f=f|t,h=T()|0|r&-15728641,(ee|0)>(o|0)){p=o;do G=he(7,0,(14-p|0)*3|0)|0,p=p+1|0,f=G|f,h=T()|0|h;while((p|0)<(ee|0));G=f}else G=f;else G=t,h=r;N=se(G|0,h|0,45)|0,T()|0;e:do if(ht(N&127)|0){if(p=se(G|0,h|0,52)|0,T()|0,p=p&15,p|0)for(f=1;;){if(N=he(7,0,(15-f|0)*3|0)|0,!((N&G|0)==0&((T()|0)&h|0)==0)){g=33;break e}if(f>>>0<p>>>0)f=f+1|0;else break}if(N=a,A[N>>2]=0,A[N+4>>2]=0,(ee|0)>(o|0)){for(N=r&-15728641,j=ee;;){if(F=j,j=j+-1|0,j>>>0>15|(ee|0)<(j|0)){g=19;break}if((ee|0)!=(j|0))if(f=he(j|0,0,52)|0,f=f|t,p=T()|0|N,(ee|0)<(F|0))D=f;else{g=j;do D=he(7,0,(14-g|0)*3|0)|0,g=g+1|0,f=D|f,p=T()|0|p;while((g|0)<(ee|0));D=f}else D=t,p=r;if(_=se(D|0,p|0,45)|0,T()|0,!(ht(_&127)|0))f=0;else{_=se(D|0,p|0,52)|0,T()|0,_=_&15;t:do if(!_)f=0;else for(g=1;;){if(f=se(D|0,p|0,(15-g|0)*3|0)|0,T()|0,f=f&7,f|0)break t;if(g>>>0<_>>>0)g=g+1|0;else{f=0;break}}while(!1);f=(f|0)==0&1}if(p=se(t|0,r|0,(15-F|0)*3|0)|0,T()|0,p=p&7,(p|0)==7){l=5,g=42;break}if(f=(f|0)!=0,(p|0)==1&f){l=5,g=42;break}if(D=p+(((p|0)!=0&f)<<31>>31)|0,D|0&&(g=ee-F|0,g=fr(7,0,g,((g|0)<0)<<31>>31)|0,_=T()|0,f?(f=Ft(g|0,_|0,5,0)|0,f=Ce(f|0,T()|0,-5,-1)|0,f=dr(f|0,T()|0,6,0)|0,f=Ce(f|0,T()|0,1,0)|0,p=T()|0):(f=g,p=_),F=D+-1|0,F=Ft(g|0,_|0,F|0,((F|0)<0)<<31>>31|0)|0,F=Ce(f|0,p|0,F|0,T()|0)|0,D=T()|0,_=a,_=Ce(F|0,D|0,A[_>>2]|0,A[_+4>>2]|0)|0,D=T()|0,F=a,A[F>>2]=_,A[F+4>>2]=D),(j|0)<=(o|0)){g=37;break}}if((g|0)==19)Te(27795,27122,1276,27158);else if((g|0)==37){c=a,l=A[c+4>>2]|0,c=A[c>>2]|0;break}else if((g|0)==42)return C=Y,l|0}else l=0,c=0}else g=33;while(!1);e:do if((g|0)==33)if(N=a,A[N>>2]=0,A[N+4>>2]=0,(ee|0)>(o|0)){for(f=ee;;){if(l=se(t|0,r|0,(15-f|0)*3|0)|0,T()|0,l=l&7,(l|0)==7){l=5;break}if(c=ee-f|0,c=fr(7,0,c,((c|0)<0)<<31>>31)|0,l=Ft(c|0,T()|0,l|0,0)|0,c=T()|0,N=a,c=Ce(A[N>>2]|0,A[N+4>>2]|0,l|0,c|0)|0,l=T()|0,N=a,A[N>>2]=c,A[N+4>>2]=l,f=f+-1|0,(f|0)<=(o|0))break e}return C=Y,l|0}else l=0,c=0;while(!1);return Mi(G,h,ee,K)|0&&Te(27795,27122,1236,27173),ee=K,K=A[ee+4>>2]|0,((l|0)>-1|(l|0)==-1&c>>>0>4294967295)&((K|0)>(l|0)|((K|0)==(l|0)?(A[ee>>2]|0)>>>0>c>>>0:0))?(ee=0,C=Y,ee|0):(Te(27795,27122,1316,27158),0)}function bg(t,r,o,a,l,f){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,f=f|0;var c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0;if(D=C,C=C+16|0,c=D,l>>>0>15)return f=4,C=D,f|0;if(h=se(o|0,a|0,52)|0,T()|0,h=h&15,(h|0)>(l|0))return f=12,C=D,f|0;if(Mi(o,a,l,c)|0&&Te(27795,27122,1236,27173),_=c,g=A[_+4>>2]|0,!(((r|0)>-1|(r|0)==-1&t>>>0>4294967295)&((g|0)>(r|0)|((g|0)==(r|0)?(A[_>>2]|0)>>>0>t>>>0:0))))return f=2,C=D,f|0;_=l-h|0,l=he(l|0,0,52)|0,p=T()|0|a&-15728641,g=f,A[g>>2]=l|o,A[g+4>>2]=p,g=se(o|0,a|0,45)|0,T()|0;e:do if(ht(g&127)|0){if(h|0)for(c=1;;){if(g=he(7,0,(15-c|0)*3|0)|0,!((g&o|0)==0&((T()|0)&a|0)==0))break e;if(c>>>0<h>>>0)c=c+1|0;else break}if((_|0)<1)return f=0,C=D,f|0;for(g=h^15,a=-1,p=1,c=1;;){h=_-p|0,h=fr(7,0,h,((h|0)<0)<<31>>31)|0,o=T()|0;do if(c)if(c=Ft(h|0,o|0,5,0)|0,c=Ce(c|0,T()|0,-5,-1)|0,c=dr(c|0,T()|0,6,0)|0,l=T()|0,(r|0)>(l|0)|(r|0)==(l|0)&t>>>0>c>>>0){r=Ce(t|0,r|0,-1,-1)|0,r=Tt(r|0,T()|0,c|0,l|0)|0,c=T()|0,F=f,N=A[F>>2]|0,F=A[F+4>>2]|0,G=(g+a|0)*3|0,j=he(7,0,G|0)|0,F=F&~(T()|0),a=dr(r|0,c|0,h|0,o|0)|0,t=T()|0,l=Ce(a|0,t|0,2,0)|0,G=he(l|0,T()|0,G|0)|0,F=T()|0|F,l=f,A[l>>2]=G|N&~j,A[l+4>>2]=F,t=Ft(a|0,t|0,h|0,o|0)|0,t=Tt(r|0,c|0,t|0,T()|0)|0,c=0,r=T()|0;break}else{G=f,j=A[G>>2]|0,G=A[G+4>>2]|0,N=he(7,0,(g+a|0)*3|0)|0,G=G&~(T()|0),c=f,A[c>>2]=j&~N,A[c+4>>2]=G,c=1;break}else j=f,l=A[j>>2]|0,j=A[j+4>>2]|0,a=(g+a|0)*3|0,F=he(7,0,a|0)|0,j=j&~(T()|0),G=dr(t|0,r|0,h|0,o|0)|0,c=T()|0,a=he(G|0,c|0,a|0)|0,j=T()|0|j,N=f,A[N>>2]=a|l&~F,A[N+4>>2]=j,c=Ft(G|0,c|0,h|0,o|0)|0,t=Tt(t|0,r|0,c|0,T()|0)|0,c=0,r=T()|0;while(!1);if((_|0)>(p|0))a=~p,p=p+1|0;else{r=0;break}}return C=D,r|0}while(!1);if((_|0)<1)return G=0,C=D,G|0;for(l=h^15,c=1;;)if(N=_-c|0,N=fr(7,0,N,((N|0)<0)<<31>>31)|0,G=T()|0,p=f,o=A[p>>2]|0,p=A[p+4>>2]|0,h=(l-c|0)*3|0,a=he(7,0,h|0)|0,p=p&~(T()|0),F=dr(t|0,r|0,N|0,G|0)|0,j=T()|0,h=he(F|0,j|0,h|0)|0,p=T()|0|p,g=f,A[g>>2]=h|o&~a,A[g+4>>2]=p,G=Ft(F|0,j|0,N|0,G|0)|0,t=Tt(t|0,r|0,G|0,T()|0)|0,r=T()|0,(_|0)<=(c|0)){r=0;break}else c=c+1|0;return C=D,r|0}function La(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0;l=se(r|0,o|0,52)|0,T()|0,l=l&15,(r|0)==0&(o|0)==0|((a|0)>15|(l|0)>(a|0))?(f=-1,r=-1,o=0,l=0):(r=bf(r,o,l+1|0,a)|0,c=(T()|0)&-15728641,o=he(a|0,0,52)|0,o=r|o,c=c|(T()|0),r=(ut(o,c)|0)==0,f=l,r=r?-1:a,l=c),c=t,A[c>>2]=o,A[c+4>>2]=l,A[t+8>>2]=f,A[t+12>>2]=r}function Pf(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0;if(l=se(t|0,r|0,52)|0,T()|0,l=l&15,f=a+8|0,A[f>>2]=l,(t|0)==0&(r|0)==0|((o|0)>15|(l|0)>(o|0))){o=a,A[o>>2]=0,A[o+4>>2]=0,A[f>>2]=-1,A[a+12>>2]=-1;return}if(t=bf(t,r,l+1|0,o)|0,f=(T()|0)&-15728641,l=he(o|0,0,52)|0,l=t|l,f=f|(T()|0),t=a,A[t>>2]=l,A[t+4>>2]=f,t=a+12|0,ut(l,f)|0){A[t>>2]=o;return}else{A[t>>2]=-1;return}}function qa(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0;if(o=t,r=A[o>>2]|0,o=A[o+4>>2]|0,!((r|0)==0&(o|0)==0)&&(a=se(r|0,o|0,52)|0,T()|0,a=a&15,h=he(1,0,(a^15)*3|0)|0,r=Ce(h|0,T()|0,r|0,o|0)|0,o=T()|0,h=t,A[h>>2]=r,A[h+4>>2]=o,h=t+8|0,c=A[h>>2]|0,!((a|0)<(c|0)))){for(p=t+12|0,f=a;;){if((f|0)==(c|0)){a=5;break}if(g=(f|0)==(A[p>>2]|0),l=(15-f|0)*3|0,a=se(r|0,o|0,l|0)|0,T()|0,a=a&7,g&((a|0)==1&!0)){a=7;break}if(!((a|0)==7&!0)){a=10;break}if(g=he(1,0,l|0)|0,r=Ce(r|0,o|0,g|0,T()|0)|0,o=T()|0,g=t,A[g>>2]=r,A[g+4>>2]=o,(f|0)>(c|0))f=f+-1|0;else{a=10;break}}if((a|0)==5){g=t,A[g>>2]=0,A[g+4>>2]=0,A[h>>2]=-1,A[p>>2]=-1;return}else if((a|0)==7){c=he(1,0,l|0)|0,c=Ce(r|0,o|0,c|0,T()|0)|0,h=T()|0,g=t,A[g>>2]=c,A[g+4>>2]=h,A[p>>2]=f+-1;return}else if((a|0)==10)return}}function ji(t){t=+t;var r=0;return r=t<0?t+6.283185307179586:t,+(t>=6.283185307179586?r+-6.283185307179586:r)}function jn(t,r){return t=t|0,r=r|0,+rt(+(+P[t>>3]-+P[r>>3]))<17453292519943298e-27?(r=+rt(+(+P[t+8>>3]-+P[r+8>>3]))<17453292519943298e-27,r|0):(r=0,r|0)}function AA(t,r){switch(t=+t,r=r|0,r|0){case 1:{t=t<0?t+6.283185307179586:t;break}case 2:{t=t>0?t+-6.283185307179586:t;break}default:}return+t}function Eg(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0;return l=+P[r>>3],a=+P[t>>3],f=+it(+((l-a)*.5)),o=+it(+((+P[r+8>>3]-+P[t+8>>3])*.5)),o=f*f+o*(+Xe(+l)*+Xe(+a)*o),+(+lA(+ +yt(+o),+ +yt(+(1-o)))*2)}function Ni(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0;return l=+P[r>>3],a=+P[t>>3],f=+it(+((l-a)*.5)),o=+it(+((+P[r+8>>3]-+P[t+8>>3])*.5)),o=f*f+o*(+Xe(+l)*+Xe(+a)*o),+(+lA(+ +yt(+o),+ +yt(+(1-o)))*2*6371.007180918475)}function $g(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0;return l=+P[r>>3],a=+P[t>>3],f=+it(+((l-a)*.5)),o=+it(+((+P[r+8>>3]-+P[t+8>>3])*.5)),o=f*f+o*(+Xe(+l)*+Xe(+a)*o),+(+lA(+ +yt(+o),+ +yt(+(1-o)))*2*6371.007180918475*1e3)}function Pg(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0;return f=+P[r>>3],a=+Xe(+f),l=+P[r+8>>3]-+P[t+8>>3],c=a*+it(+l),o=+P[t>>3],+ +lA(+c,+(+it(+f)*+Xe(+o)-+Xe(+l)*(a*+it(+o))))}function kg(t,r,o,a){t=t|0,r=+r,o=+o,a=a|0;var l=0,f=0,c=0,h=0;if(o<1e-16){A[a>>2]=A[t>>2],A[a+4>>2]=A[t+4>>2],A[a+8>>2]=A[t+8>>2],A[a+12>>2]=A[t+12>>2];return}f=r<0?r+6.283185307179586:r,f=r>=6.283185307179586?f+-6.283185307179586:f;do if(f<1e-16)r=+P[t>>3]+o,P[a>>3]=r,l=a;else{if(l=+rt(+(f+-3.141592653589793))<1e-16,r=+P[t>>3],l){r=r-o,P[a>>3]=r,l=a;break}if(c=+Xe(+o),o=+it(+o),r=c*+it(+r)+ +Xe(+f)*(o*+Xe(+r)),r=r>1?1:r,r=+y2(+(r<-1?-1:r)),P[a>>3]=r,+rt(+(r+-1.5707963267948966))<1e-16){P[a>>3]=1.5707963267948966,P[a+8>>3]=0;return}if(+rt(+(r+1.5707963267948966))<1e-16){P[a>>3]=-1.5707963267948966,P[a+8>>3]=0;return}if(h=1/+Xe(+r),f=o*+it(+f)*h,o=+P[t>>3],r=h*((c-+it(+r)*+it(+o))/+Xe(+o)),c=f>1?1:f,r=r>1?1:r,r=+P[t+8>>3]+ +lA(+(c<-1?-1:c),+(r<-1?-1:r)),r>3.141592653589793)do r=r+-6.283185307179586;while(r>3.141592653589793);if(r<-3.141592653589793)do r=r+6.283185307179586;while(r<-3.141592653589793);P[a+8>>3]=r;return}while(!1);if(+rt(+(r+-1.5707963267948966))<1e-16){P[l>>3]=1.5707963267948966,P[a+8>>3]=0;return}if(+rt(+(r+1.5707963267948966))<1e-16){P[l>>3]=-1.5707963267948966,P[a+8>>3]=0;return}if(r=+P[t+8>>3],r>3.141592653589793)do r=r+-6.283185307179586;while(r>3.141592653589793);if(r<-3.141592653589793)do r=r+6.283185307179586;while(r<-3.141592653589793);P[a+8>>3]=r}function kf(t,r){return t=t|0,r=r|0,t>>>0>15?(r=4,r|0):(P[r>>3]=+P[20656+(t<<3)>>3],r=0,r|0)}function Cg(t,r){return t=t|0,r=r|0,t>>>0>15?(r=4,r|0):(P[r>>3]=+P[20784+(t<<3)>>3],r=0,r|0)}function Sg(t,r){return t=t|0,r=r|0,t>>>0>15?(r=4,r|0):(P[r>>3]=+P[20912+(t<<3)>>3],r=0,r|0)}function Dg(t,r){return t=t|0,r=r|0,t>>>0>15?(r=4,r|0):(P[r>>3]=+P[21040+(t<<3)>>3],r=0,r|0)}function Ua(t,r){t=t|0,r=r|0;var o=0;return t>>>0>15?(r=4,r|0):(o=fr(7,0,t,((t|0)<0)<<31>>31)|0,o=Ft(o|0,T()|0,120,0)|0,t=T()|0,A[r>>2]=o|2,A[r+4>>2]=t,r=0,r|0)}function Cf(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0;return F=+P[r>>3],_=+P[t>>3],p=+it(+((F-_)*.5)),f=+P[r+8>>3],g=+P[t+8>>3],c=+it(+((f-g)*.5)),h=+Xe(+_),D=+Xe(+F),c=p*p+c*(D*h*c),c=+lA(+ +yt(+c),+ +yt(+(1-c)))*2,p=+P[o>>3],F=+it(+((p-F)*.5)),a=+P[o+8>>3],f=+it(+((a-f)*.5)),l=+Xe(+p),f=F*F+f*(D*l*f),f=+lA(+ +yt(+f),+ +yt(+(1-f)))*2,p=+it(+((_-p)*.5)),a=+it(+((g-a)*.5)),a=p*p+a*(h*l*a),a=+lA(+ +yt(+a),+ +yt(+(1-a)))*2,l=(c+f+a)*.5,+(+va(+ +yt(+(+Ii(+(l*.5))*+Ii(+((l-c)*.5))*+Ii(+((l-f)*.5))*+Ii(+((l-a)*.5)))))*4)}function Ga(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0;if(h=C,C=C+192|0,f=h+168|0,c=h,l=Jr(t,r,f)|0,l|0)return o=l,C=h,o|0;if(Mn(t,r,c)|0&&Te(27795,27190,415,27199),r=A[c>>2]|0,(r|0)>0){if(a=+Cf(c+8|0,c+8+(((r|0)!=1&1)<<4)|0,f)+0,(r|0)!=1){t=1;do l=t,t=t+1|0,a=a+ +Cf(c+8+(l<<4)|0,c+8+(((t|0)%(r|0)|0)<<4)|0,f);while((t|0)<(r|0))}}else a=0;return P[o>>3]=a,o=0,C=h,o|0}function xg(t,r,o){return t=t|0,r=r|0,o=o|0,t=Ga(t,r,o)|0,t|0||(P[o>>3]=+P[o>>3]*6371.007180918475*6371.007180918475),t|0}function Rg(t,r,o){return t=t|0,r=r|0,o=o|0,t=Ga(t,r,o)|0,t|0||(P[o>>3]=+P[o>>3]*6371.007180918475*6371.007180918475*1e3*1e3),t|0}function Tg(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;if(h=C,C=C+176|0,c=h,t=Yo(t,r,c)|0,t|0)return c=t,C=h,c|0;if(P[o>>3]=0,t=A[c>>2]|0,(t|0)<=1)return c=0,C=h,c|0;r=t+-1|0,t=0,a=+P[c+8>>3],l=+P[c+16>>3],f=0;do t=t+1|0,g=a,a=+P[c+8+(t<<4)>>3],_=+it(+((a-g)*.5)),p=l,l=+P[c+8+(t<<4)+8>>3],p=+it(+((l-p)*.5)),p=_*_+p*(+Xe(+a)*+Xe(+g)*p),f=f+ +lA(+ +yt(+p),+ +yt(+(1-p)))*2;while((t|0)<(r|0));return P[o>>3]=f,c=0,C=h,c|0}function Og(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;if(h=C,C=C+176|0,c=h,t=Yo(t,r,c)|0,t|0)return c=t,f=+P[o>>3],f=f*6371.007180918475,P[o>>3]=f,C=h,c|0;if(P[o>>3]=0,t=A[c>>2]|0,(t|0)<=1)return c=0,f=0,f=f*6371.007180918475,P[o>>3]=f,C=h,c|0;r=t+-1|0,t=0,a=+P[c+8>>3],l=+P[c+16>>3],f=0;do t=t+1|0,g=a,a=+P[c+8+(t<<4)>>3],_=+it(+((a-g)*.5)),p=l,l=+P[c+8+(t<<4)+8>>3],p=+it(+((l-p)*.5)),p=_*_+p*(+Xe(+g)*+Xe(+a)*p),f=f+ +lA(+ +yt(+p),+ +yt(+(1-p)))*2;while((t|0)!=(r|0));return P[o>>3]=f,c=0,_=f,_=_*6371.007180918475,P[o>>3]=_,C=h,c|0}function Ig(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;if(h=C,C=C+176|0,c=h,t=Yo(t,r,c)|0,t|0)return c=t,f=+P[o>>3],f=f*6371.007180918475,f=f*1e3,P[o>>3]=f,C=h,c|0;if(P[o>>3]=0,t=A[c>>2]|0,(t|0)<=1)return c=0,f=0,f=f*6371.007180918475,f=f*1e3,P[o>>3]=f,C=h,c|0;r=t+-1|0,t=0,a=+P[c+8>>3],l=+P[c+16>>3],f=0;do t=t+1|0,g=a,a=+P[c+8+(t<<4)>>3],_=+it(+((a-g)*.5)),p=l,l=+P[c+8+(t<<4)+8>>3],p=+it(+((l-p)*.5)),p=_*_+p*(+Xe(+g)*+Xe(+a)*p),f=f+ +lA(+ +yt(+p),+ +yt(+(1-p)))*2;while((t|0)!=(r|0));return P[o>>3]=f,c=0,_=f,_=_*6371.007180918475,_=_*1e3,P[o>>3]=_,C=h,c|0}function Bg(t){t=t|0;var r=0,o=0,a=0;return r=cA(1,12)|0,r||Te(27280,27235,49,27293),o=t+4|0,a=A[o>>2]|0,a|0?(a=a+8|0,A[a>>2]=r,A[o>>2]=r,r|0):(A[t>>2]|0&&Te(27310,27235,61,27333),a=t,A[a>>2]=r,A[o>>2]=r,r|0)}function Mg(t,r){t=t|0,r=r|0;var o=0,a=0;return a=RA(24)|0,a||Te(27347,27235,78,27361),A[a>>2]=A[r>>2],A[a+4>>2]=A[r+4>>2],A[a+8>>2]=A[r+8>>2],A[a+12>>2]=A[r+12>>2],A[a+16>>2]=0,r=t+4|0,o=A[r>>2]|0,o|0?(A[o+16>>2]=a,A[r>>2]=a,a|0):(A[t>>2]|0&&Te(27376,27235,82,27361),A[t>>2]=a,A[r>>2]=a,a|0)}function Sf(t){t=t|0;var r=0,o=0,a=0,l=0;if(t)for(a=1;;){if(r=A[t>>2]|0,r|0)do{if(o=A[r>>2]|0,o|0)do l=o,o=A[o+16>>2]|0,Se(l);while((o|0)!=0);l=r,r=A[r+8>>2]|0,Se(l)}while((r|0)!=0);if(r=t,t=A[t+8>>2]|0,a||Se(r),t)a=0;else break}}function jg(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0,Ne=0,Ve=0,xe=0,Ee=0,ue=0,Le=0,st=0,Qe=0;if(l=t+8|0,A[l>>2]|0)return Qe=1,Qe|0;if(a=A[t>>2]|0,!a)return Qe=0,Qe|0;r=a,o=0;do o=o+1|0,r=A[r+8>>2]|0;while((r|0)!=0);if(o>>>0<2)return Qe=0,Qe|0;Le=RA(o<<2)|0,Le||Te(27396,27235,317,27415),ue=RA(o<<5)|0,ue||Te(27437,27235,321,27415),A[t>>2]=0,be=t+4|0,A[be>>2]=0,A[l>>2]=0,o=0,Ee=0,ce=0,D=0;e:for(;;){if(_=A[a>>2]|0,_){f=0,c=_;do{if(p=+P[c+8>>3],r=c,c=A[c+16>>2]|0,g=(c|0)==0,l=g?_:c,h=+P[l+8>>3],+rt(+(p-h))>3.141592653589793){Qe=14;break}f=f+(h-p)*(+P[r>>3]+ +P[l>>3])}while(!g);if((Qe|0)==14){Qe=0,f=0,r=_;do H=+P[r+8>>3],xe=r+16|0,Ve=A[xe>>2]|0,Ve=(Ve|0)==0?_:Ve,W=+P[Ve+8>>3],f=f+(+P[r>>3]+ +P[Ve>>3])*((W<0?W+6.283185307179586:W)-(H<0?H+6.283185307179586:H)),r=A[((r|0)==0?a:xe)>>2]|0;while((r|0)!=0)}f>0?(A[Le+(Ee<<2)>>2]=a,Ee=Ee+1|0,l=ce,r=D):Qe=19}else Qe=19;if((Qe|0)==19){Qe=0;do if(o){if(r=o+8|0,A[r>>2]|0){Qe=21;break e}if(o=cA(1,12)|0,!o){Qe=23;break e}A[r>>2]=o,l=o+4|0,c=o,r=D}else if(D){l=be,c=D+8|0,r=a,o=t;break}else if(A[t>>2]|0){Qe=27;break e}else{l=be,c=t,r=a,o=t;break}while(!1);if(A[c>>2]=a,A[l>>2]=a,c=ue+(ce<<5)|0,g=A[a>>2]|0,g){for(_=ue+(ce<<5)+8|0,P[_>>3]=17976931348623157e292,D=ue+(ce<<5)+24|0,P[D>>3]=17976931348623157e292,P[c>>3]=-17976931348623157e292,F=ue+(ce<<5)+16|0,P[F>>3]=-17976931348623157e292,ee=17976931348623157e292,Y=-17976931348623157e292,l=0,j=g,p=17976931348623157e292,G=17976931348623157e292,K=-17976931348623157e292,h=-17976931348623157e292;f=+P[j>>3],H=+P[j+8>>3],j=A[j+16>>2]|0,N=(j|0)==0,W=+P[(N?g:j)+8>>3],f<p&&(P[_>>3]=f,p=f),H<G&&(P[D>>3]=H,G=H),f>K?P[c>>3]=f:f=K,H>h&&(P[F>>3]=H,h=H),ee=H>0&H<ee?H:ee,Y=H<0&H>Y?H:Y,l=l|+rt(+(H-W))>3.141592653589793,!N;)K=f;l&&(P[F>>3]=Y,P[D>>3]=ee)}else A[c>>2]=0,A[c+4>>2]=0,A[c+8>>2]=0,A[c+12>>2]=0,A[c+16>>2]=0,A[c+20>>2]=0,A[c+24>>2]=0,A[c+28>>2]=0;l=ce+1|0}if(xe=a+8|0,a=A[xe>>2]|0,A[xe>>2]=0,a)ce=l,D=r;else{Qe=45;break}}if((Qe|0)==21)Te(27213,27235,35,27247);else if((Qe|0)==23)Te(27267,27235,37,27247);else if((Qe|0)==27)Te(27310,27235,61,27333);else if((Qe|0)==45){e:do if((Ee|0)>0){for(xe=(l|0)==0,Ne=l<<2,Ve=(t|0)==0,Oe=0,r=0;;){if(we=A[Le+(Oe<<2)>>2]|0,xe)Qe=73;else{if(ce=RA(Ne)|0,!ce){Qe=50;break}if(be=RA(Ne)|0,!be){Qe=52;break}t:do if(Ve)o=0;else{for(l=0,o=0,c=t;a=ue+(l<<5)|0,Df(A[c>>2]|0,a,A[we>>2]|0)|0?(A[ce+(o<<2)>>2]=c,A[be+(o<<2)>>2]=a,N=o+1|0):N=o,c=A[c+8>>2]|0,c;)l=l+1|0,o=N;if((N|0)>0)if(a=A[ce>>2]|0,(N|0)==1)o=a;else for(F=0,j=-1,o=a,D=a;;){for(g=A[D>>2]|0,a=0,c=0;l=A[A[ce+(c<<2)>>2]>>2]|0,(l|0)==(g|0)?_=a:_=a+((Df(l,A[be+(c<<2)>>2]|0,A[g>>2]|0)|0)&1)|0,c=c+1|0,(c|0)!=(N|0);)a=_;if(l=(_|0)>(j|0),o=l?D:o,a=F+1|0,(a|0)==(N|0))break t;F=a,j=l?_:j,D=A[ce+(a<<2)>>2]|0}else o=0}while(!1);if(Se(ce),Se(be),o){if(l=o+4|0,a=A[l>>2]|0,a)o=a+8|0;else if(A[o>>2]|0){Qe=70;break}A[o>>2]=we,A[l>>2]=we}else Qe=73}if((Qe|0)==73){if(Qe=0,r=A[we>>2]|0,r|0)do be=r,r=A[r+16>>2]|0,Se(be);while((r|0)!=0);Se(we),r=1}if(Oe=Oe+1|0,(Oe|0)>=(Ee|0)){st=r;break e}}(Qe|0)==50?Te(27452,27235,249,27471):(Qe|0)==52?Te(27490,27235,252,27471):(Qe|0)==70&&Te(27310,27235,61,27333)}else st=0;while(!1);return Se(Le),Se(ue),Qe=st,Qe|0}return 0}function Df(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0;if(!(Ca(r,o)|0)||(r=af(r)|0,a=+P[o>>3],l=+P[o+8>>3],l=r&l<0?l+6.283185307179586:l,t=A[t>>2]|0,!t))return t=0,t|0;if(r){r=0,g=l,o=t;e:for(;;){for(;c=+P[o>>3],l=+P[o+8>>3],o=o+16|0,_=A[o>>2]|0,_=(_|0)==0?t:_,f=+P[_>>3],h=+P[_+8>>3],c>f?(p=c,c=h):(p=f,f=c,c=l,l=h),a=a==f|a==p?a+2220446049250313e-31:a,!!(a<f|a>p);)if(o=A[o>>2]|0,!o){o=22;break e}if(h=c<0?c+6.283185307179586:c,c=l<0?l+6.283185307179586:l,g=h==g|c==g?g+-2220446049250313e-31:g,p=h+(c-h)*((a-f)/(p-f)),(p<0?p+6.283185307179586:p)>g&&(r=r^1),o=A[o>>2]|0,!o){o=22;break}}if((o|0)==22)return r|0}else{r=0,g=l,o=t;e:for(;;){for(;c=+P[o>>3],l=+P[o+8>>3],o=o+16|0,_=A[o>>2]|0,_=(_|0)==0?t:_,f=+P[_>>3],h=+P[_+8>>3],c>f?(p=c,c=h):(p=f,f=c,c=l,l=h),a=a==f|a==p?a+2220446049250313e-31:a,!!(a<f|a>p);)if(o=A[o>>2]|0,!o){o=22;break e}if(g=c==g|l==g?g+-2220446049250313e-31:g,c+(l-c)*((a-f)/(p-f))>g&&(r=r^1),o=A[o>>2]|0,!o){o=22;break}}if((o|0)==22)return r|0}return 0}function XA(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0;if(Y=C,C=C+32|0,ee=Y+16|0,K=Y,f=se(t|0,r|0,52)|0,T()|0,f=f&15,j=se(o|0,a|0,52)|0,T()|0,(f|0)!=(j&15|0))return ee=12,C=Y,ee|0;if(g=se(t|0,r|0,45)|0,T()|0,g=g&127,_=se(o|0,a|0,45)|0,T()|0,_=_&127,g>>>0>121|_>>>0>121)return ee=5,C=Y,ee|0;if(j=(g|0)!=(_|0),j){if(h=ka(g,_)|0,(h|0)==7)return ee=1,C=Y,ee|0;p=ka(_,g)|0,(p|0)==7?Te(27514,27538,161,27548):(N=h,c=p)}else N=0,c=0;D=ht(g)|0,F=ht(_)|0,A[ee>>2]=0,A[ee+4>>2]=0,A[ee+8>>2]=0,A[ee+12>>2]=0;do if(N){if(_=A[4272+(g*28|0)+(N<<2)>>2]|0,h=(_|0)>0,F)if(h){g=0,p=o,h=a;do p=gg(p,h)|0,h=T()|0,c=ur(c)|0,(c|0)==1&&(c=ur(1)|0),g=g+1|0;while((g|0)!=(_|0));_=c,g=p,p=h}else _=c,g=o,p=a;else if(h){g=0,p=o,h=a;do p=ja(p,h)|0,h=T()|0,c=ur(c)|0,g=g+1|0;while((g|0)!=(_|0));_=c,g=p,p=h}else _=c,g=o,p=a;if(Fa(g,p,ee)|0,j||Te(27563,27538,191,27548),h=(D|0)!=0,c=(F|0)!=0,h&c&&Te(27590,27538,192,27548),h){if(c=Wt(t,r)|0,(c|0)==7){f=5;break}if(oe[22e3+(c*7|0)+N>>0]|0){f=1;break}p=A[21168+(c*28|0)+(N<<2)>>2]|0,g=p}else if(c){if(c=Wt(g,p)|0,(c|0)==7){f=5;break}if(oe[22e3+(c*7|0)+_>>0]|0){f=1;break}g=0,p=A[21168+(_*28|0)+(c<<2)>>2]|0}else g=0,p=0;if((g|p|0)<0)f=5;else{if((p|0)>0){h=ee+4|0,c=0;do Wo(h),c=c+1|0;while((c|0)!=(p|0))}if(A[K>>2]=0,A[K+4>>2]=0,A[K+8>>2]=0,hf(K,N),f|0)for(;uA(f)|0?Ko(K):Hr(K),(f|0)>1;)f=f+-1|0;if((g|0)>0){f=0;do Wo(K),f=f+1|0;while((f|0)!=(g|0))}G=ee+4|0,Ht(G,K,G),Nt(G),G=51}}else if(Fa(o,a,ee)|0,(D|0)!=0&(F|0)!=0)if((_|0)!=(g|0)&&Te(27621,27538,261,27548),c=Wt(t,r)|0,f=Wt(o,a)|0,(c|0)==7|(f|0)==7)f=5;else if(oe[22e3+(c*7|0)+f>>0]|0)f=1;else if(c=A[21168+(c*28|0)+(f<<2)>>2]|0,(c|0)>0){h=ee+4|0,f=0;do Wo(h),f=f+1|0;while((f|0)!=(c|0));G=51}else G=51;else G=51;while(!1);return(G|0)==51&&(f=ee+4|0,A[l>>2]=A[f>>2],A[l+4>>2]=A[f+4>>2],A[l+8>>2]=A[f+8>>2],f=0),ee=f,C=Y,ee|0}function xf(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0;if(G=C,C=C+48|0,g=G+36|0,c=G+24|0,h=G+12|0,p=G,l=se(t|0,r|0,52)|0,T()|0,l=l&15,F=se(t|0,r|0,45)|0,T()|0,F=F&127,F>>>0>121)return a=5,C=G,a|0;if(_=ht(F)|0,he(l|0,0,52)|0,K=T()|0|134225919,f=a,A[f>>2]=-1,A[f+4>>2]=K,!l)return l=Jo(o)|0,(l|0)==7||(l=Pa(F,l)|0,(l|0)==127)?(K=1,C=G,K|0):(j=he(l|0,0,45)|0,N=T()|0,F=a,N=A[F+4>>2]&-1040385|N,K=a,A[K>>2]=A[F>>2]|j,A[K+4>>2]=N,K=0,C=G,K|0);for(A[g>>2]=A[o>>2],A[g+4>>2]=A[o+4>>2],A[g+8>>2]=A[o+8>>2],o=l;;){if(f=o,o=o+-1|0,A[c>>2]=A[g>>2],A[c+4>>2]=A[g+4>>2],A[c+8>>2]=A[g+8>>2],uA(f)|0){if(l=z2(g)|0,l|0){o=13;break}A[h>>2]=A[g>>2],A[h+4>>2]=A[g+4>>2],A[h+8>>2]=A[g+8>>2],Ko(h)}else{if(l=J2(g)|0,l|0){o=13;break}A[h>>2]=A[g>>2],A[h+4>>2]=A[g+4>>2],A[h+8>>2]=A[g+8>>2],Hr(h)}if(Da(c,h,p),Nt(p),l=a,Y=A[l>>2]|0,l=A[l+4>>2]|0,W=(15-f|0)*3|0,ee=he(7,0,W|0)|0,l=l&~(T()|0),W=he(Jo(p)|0,0,W|0)|0,l=T()|0|l,K=a,A[K>>2]=W|Y&~ee,A[K+4>>2]=l,(f|0)<=1){o=14;break}}e:do if((o|0)!=13&&(o|0)==14)if((A[g>>2]|0)<=1&&(A[g+4>>2]|0)<=1&&(A[g+8>>2]|0)<=1){o=Jo(g)|0,l=Pa(F,o)|0,(l|0)==127?p=0:p=ht(l)|0;t:do if(o){if(_){if(l=Wt(t,r)|0,(l|0)==7){l=5;break e}if(f=A[21376+(l*28|0)+(o<<2)>>2]|0,(f|0)>0){l=o,o=0;do l=Vr(l)|0,o=o+1|0;while((o|0)!=(f|0))}else l=o;if((l|0)==1){l=9;break e}o=Pa(F,l)|0,(o|0)==127&&Te(27648,27538,411,27678),ht(o)|0?Te(27693,27538,412,27678):(N=o,j=f,D=l)}else N=l,j=0,D=o;if(h=A[4272+(F*28|0)+(D<<2)>>2]|0,(h|0)<=-1&&Te(27724,27538,419,27678),!p){if((j|0)<0){l=5;break e}if(j|0){f=a,l=0,o=A[f>>2]|0,f=A[f+4>>2]|0;do o=zr(o,f)|0,f=T()|0,W=a,A[W>>2]=o,A[W+4>>2]=f,l=l+1|0;while((l|0)<(j|0))}if((h|0)<=0){l=N,o=58;break}for(f=a,l=0,o=A[f>>2]|0,f=A[f+4>>2]|0;;)if(o=zr(o,f)|0,f=T()|0,W=a,A[W>>2]=o,A[W+4>>2]=f,l=l+1|0,(l|0)==(h|0)){l=N,o=58;break t}}if(c=ka(N,F)|0,(c|0)==7&&Te(27514,27538,428,27678),l=a,o=A[l>>2]|0,l=A[l+4>>2]|0,(h|0)>0){f=0;do o=zr(o,l)|0,l=T()|0,W=a,A[W>>2]=o,A[W+4>>2]=l,f=f+1|0;while((f|0)!=(h|0))}if(l=Wt(o,l)|0,(l|0)==7&&Te(27795,27538,440,27678),o=$a(N)|0,o=A[(o?21792:21584)+(c*28|0)+(l<<2)>>2]|0,(o|0)<0&&Te(27795,27538,454,27678),!o)l=N,o=58;else{c=a,l=0,f=A[c>>2]|0,c=A[c+4>>2]|0;do f=Ma(f,c)|0,c=T()|0,W=a,A[W>>2]=f,A[W+4>>2]=c,l=l+1|0;while((l|0)<(o|0));l=N,o=58}}else if((_|0)!=0&(p|0)!=0){if(o=Wt(t,r)|0,f=a,f=Wt(A[f>>2]|0,A[f+4>>2]|0)|0,(o|0)==7|(f|0)==7){l=5;break e}if(f=A[21376+(o*28|0)+(f<<2)>>2]|0,(f|0)<0){l=5;break e}if(!f)o=59;else{h=a,o=0,c=A[h>>2]|0,h=A[h+4>>2]|0;do c=zr(c,h)|0,h=T()|0,W=a,A[W>>2]=c,A[W+4>>2]=h,o=o+1|0;while((o|0)<(f|0));o=58}}else o=58;while(!1);if((o|0)==58&&p&&(o=59),(o|0)==59&&(W=a,(Wt(A[W>>2]|0,A[W+4>>2]|0)|0)==1)){l=9;break}W=a,ee=A[W>>2]|0,W=A[W+4>>2]&-1040385,Y=he(l|0,0,45)|0,W=W|(T()|0),l=a,A[l>>2]=ee|Y,A[l+4>>2]=W,l=0}else l=1;while(!1);return W=l,C=G,W|0}function Ng(t,r,o,a,l,f){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,f=f|0;var c=0,h=0;return h=C,C=C+16|0,c=h,l?t=15:(t=XA(t,r,o,a,c)|0,t||(W2(c,f),t=0)),C=h,t|0}function Fg(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0;return c=C,C=C+16|0,f=c,a?o=15:(o=Y2(o,f)|0,o||(o=xf(t,r,f,l)|0)),C=c,o|0}function Qg(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0;return p=C,C=C+32|0,c=p+12|0,h=p,f=XA(t,r,t,r,c)|0,f|0?(h=f,C=p,h|0):(t=XA(t,r,o,a,h)|0,t|0?(h=t,C=p,h|0):(c=xa(c,h)|0,h=l,A[h>>2]=c,A[h+4>>2]=((c|0)<0)<<31>>31,h=0,C=p,h|0))}function Lg(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0;return p=C,C=C+32|0,c=p+12|0,h=p,f=XA(t,r,t,r,c)|0,!f&&(f=XA(t,r,o,a,h)|0,!f)?(a=xa(c,h)|0,a=Ce(a|0,((a|0)<0)<<31>>31|0,1,0)|0,c=T()|0,h=l,A[h>>2]=a,A[h+4>>2]=c,h=0,C=p,h|0):(h=f,C=p,h|0)}function qg(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0;if(we=C,C=C+48|0,ce=we+24|0,c=we+12|0,be=we,f=XA(t,r,t,r,ce)|0,!f&&(f=XA(t,r,o,a,c)|0,!f)){W=xa(ce,c)|0,H=((W|0)<0)<<31>>31,A[ce>>2]=0,A[ce+4>>2]=0,A[ce+8>>2]=0,A[c>>2]=0,A[c+4>>2]=0,A[c+8>>2]=0,XA(t,r,t,r,ce)|0&&Te(27795,27538,692,27747),XA(t,r,o,a,c)|0&&Te(27795,27538,697,27747),yf(ce),yf(c),_=(W|0)==0?0:1/+(W|0),o=A[ce>>2]|0,G=_*+((A[c>>2]|0)-o|0),K=ce+4|0,a=A[K>>2]|0,ee=_*+((A[c+4>>2]|0)-a|0),Y=ce+8|0,f=A[Y>>2]|0,_=_*+((A[c+8>>2]|0)-f|0),A[be>>2]=o,D=be+4|0,A[D>>2]=a,F=be+8|0,A[F>>2]=f;e:do if((W|0)<0)f=0;else for(j=0,N=0;;){p=+(N>>>0)+4294967296*+(j|0),Oe=G*p+ +(o|0),h=ee*p+ +(a|0),p=_*p+ +(f|0),o=~~+ts(+Oe),c=~~+ts(+h),f=~~+ts(+p),Oe=+rt(+(+(o|0)-Oe)),h=+rt(+(+(c|0)-h)),p=+rt(+(+(f|0)-p));do if(Oe>h&Oe>p)o=0-(c+f)|0,a=c;else if(g=0-o|0,h>p){a=g-f|0;break}else{a=c,f=g-c|0;break}while(!1);if(A[be>>2]=o,A[D>>2]=a,A[F>>2]=f,X2(be),f=xf(t,r,be,l+(N<<3)|0)|0,f|0)break e;if(!((j|0)<(H|0)|(j|0)==(H|0)&N>>>0<W>>>0)){f=0;break e}o=Ce(N|0,j|0,1,0)|0,a=T()|0,j=a,N=o,o=A[ce>>2]|0,a=A[K>>2]|0,f=A[Y>>2]|0}while(!1);return be=f,C=we,be|0}return be=f,C=we,be|0}function fr(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0;if((o|0)==0&(a|0)==0)return l=0,f=1,je(l|0),f|0;f=t,l=r,t=1,r=0;do c=(o&1|0)==0&!0,t=Ft((c?1:f)|0,(c?0:l)|0,t|0,r|0)|0,r=T()|0,o=qf(o|0,a|0,1)|0,a=T()|0,f=Ft(f|0,l|0,f|0,l|0)|0,l=T()|0;while(!((o|0)==0&(a|0)==0));return je(r|0),t|0}function Ha(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0;h=C,C=C+16|0,f=h,c=se(t|0,r|0,52)|0,T()|0,c=c&15;do if(c){if(l=Jr(t,r,f)|0,!l){g=+P[f>>3],p=1/+Xe(+g),_=+P[25968+(c<<3)>>3],P[o>>3]=g+_,P[o+8>>3]=g-_,g=+P[f+8>>3],p=_*p,P[o+16>>3]=p+g,P[o+24>>3]=g-p;break}return c=l,C=h,c|0}else{if(l=se(t|0,r|0,45)|0,T()|0,l=l&127,l>>>0>121)return c=5,C=h,c|0;f=22064+(l<<5)|0,A[o>>2]=A[f>>2],A[o+4>>2]=A[f+4>>2],A[o+8>>2]=A[f+8>>2],A[o+12>>2]=A[f+12>>2],A[o+16>>2]=A[f+16>>2],A[o+20>>2]=A[f+20>>2],A[o+24>>2]=A[f+24>>2],A[o+28>>2]=A[f+28>>2];break}while(!1);return G2(o,a?1.4:1.1),a=26096+(c<<3)|0,(A[a>>2]|0)==(t|0)&&(A[a+4>>2]|0)==(r|0)&&(P[o>>3]=1.5707963267948966),c=26224+(c<<3)|0,(A[c>>2]|0)==(t|0)&&(A[c+4>>2]|0)==(r|0)&&(P[o+8>>3]=-1.5707963267948966),+P[o>>3]!=1.5707963267948966&&+P[o+8>>3]!=-1.5707963267948966?(c=0,C=h,c|0):(P[o+16>>3]=3.141592653589793,P[o+24>>3]=-3.141592653589793,c=0,C=h,c|0)}function Ug(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0;g=C,C=C+48|0,c=g+32|0,f=g+40|0,h=g,Ia(c,0,0,0),p=A[c>>2]|0,c=A[c+4>>2]|0;do if(o>>>0<=15){if(l=Qi(a)|0,l|0){a=h,A[a>>2]=0,A[a+4>>2]=0,A[h+8>>2]=l,A[h+12>>2]=-1,a=h+16|0,p=h+29|0,A[a>>2]=0,A[a+4>>2]=0,A[a+8>>2]=0,oe[a+12>>0]=0,oe[p>>0]=oe[f>>0]|0,oe[p+1>>0]=oe[f+1>>0]|0,oe[p+2>>0]=oe[f+2>>0]|0;break}if(l=cA((A[r+8>>2]|0)+1|0,32)|0,l){Va(r,l),_=h,A[_>>2]=p,A[_+4>>2]=c,A[h+8>>2]=0,A[h+12>>2]=o,A[h+16>>2]=a,A[h+20>>2]=r,A[h+24>>2]=l,oe[h+28>>0]=0,p=h+29|0,oe[p>>0]=oe[f>>0]|0,oe[p+1>>0]=oe[f+1>>0]|0,oe[p+2>>0]=oe[f+2>>0]|0;break}else{a=h,A[a>>2]=0,A[a+4>>2]=0,A[h+8>>2]=13,A[h+12>>2]=-1,a=h+16|0,p=h+29|0,A[a>>2]=0,A[a+4>>2]=0,A[a+8>>2]=0,oe[a+12>>0]=0,oe[p>>0]=oe[f>>0]|0,oe[p+1>>0]=oe[f+1>>0]|0,oe[p+2>>0]=oe[f+2>>0]|0;break}}else p=h,A[p>>2]=0,A[p+4>>2]=0,A[h+8>>2]=4,A[h+12>>2]=-1,p=h+16|0,_=h+29|0,A[p>>2]=0,A[p+4>>2]=0,A[p+8>>2]=0,oe[p+12>>0]=0,oe[_>>0]=oe[f>>0]|0,oe[_+1>>0]=oe[f+1>>0]|0,oe[_+2>>0]=oe[f+2>>0]|0;while(!1);Xo(h),A[t>>2]=A[h>>2],A[t+4>>2]=A[h+4>>2],A[t+8>>2]=A[h+8>>2],A[t+12>>2]=A[h+12>>2],A[t+16>>2]=A[h+16>>2],A[t+20>>2]=A[h+20>>2],A[t+24>>2]=A[h+24>>2],A[t+28>>2]=A[h+28>>2],C=g}function Xo(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0;if(H=C,C=C+336|0,j=H+168|0,N=H,a=t,o=A[a>>2]|0,a=A[a+4>>2]|0,(o|0)==0&(a|0)==0){C=H;return}if(r=t+28|0,oe[r>>0]|0?(o=Rf(o,a)|0,a=T()|0):oe[r>>0]=1,W=t+20|0,!(A[A[W>>2]>>2]|0)){r=t+24|0,o=A[r>>2]|0,o|0&&Se(o),Y=t,A[Y>>2]=0,A[Y+4>>2]=0,A[t+8>>2]=0,A[W>>2]=0,A[t+12>>2]=-1,A[t+16>>2]=0,A[r>>2]=0,C=H;return}Y=t+16|0,r=A[Y>>2]|0,l=r&15;e:do if((o|0)==0&(a|0)==0)ee=t+24|0;else{G=t+12|0,D=(l|0)==3,_=r&255,p=(l|1|0)==3,F=t+24|0,g=(l+-1|0)>>>0<3,c=(l|2|0)==3,h=N+8|0;t:for(;;){if(f=se(o|0,a|0,52)|0,T()|0,f=f&15,(f|0)==(A[G>>2]|0)){switch(_&15){case 0:case 2:case 3:{if(l=Jr(o,a,j)|0,l|0){K=15;break t}if(za(A[W>>2]|0,A[F>>2]|0,j)|0){K=19;break t}break}default:}if(p&&(l=A[(A[W>>2]|0)+4>>2]|0,A[j>>2]=A[l>>2],A[j+4>>2]=A[l+4>>2],A[j+8>>2]=A[l+8>>2],A[j+12>>2]=A[l+12>>2],Ca(26832,j)|0)){if(Na(A[(A[W>>2]|0)+4>>2]|0,f,N)|0){K=25;break}if(l=N,(A[l>>2]|0)==(o|0)&&(A[l+4>>2]|0)==(a|0)){K=29;break}}if(g){if(l=Mn(o,a,j)|0,l|0){K=32;break}if(Ha(o,a,N,0)|0){K=36;break}if(c&&Of(A[W>>2]|0,A[F>>2]|0,j,N)|0){K=42;break}if(p&&If(A[W>>2]|0,A[F>>2]|0,j,N)|0){K=42;break}}if(D){if(r=Ha(o,a,j,1)|0,l=A[F>>2]|0,r|0){K=45;break}if(Sa(l,j)|0){if(uf(N,j),lf(j,A[F>>2]|0)|0){K=53;break}if(za(A[W>>2]|0,A[F>>2]|0,h)|0){K=53;break}if(If(A[W>>2]|0,A[F>>2]|0,N,j)|0){K=53;break}}}}do if((f|0)<(A[G>>2]|0)){if(r=Ha(o,a,j,1)|0,l=A[F>>2]|0,r|0){K=58;break t}if(!(Sa(l,j)|0)){K=73;break}if(lf(A[F>>2]|0,j)|0&&(uf(N,j),Of(A[W>>2]|0,A[F>>2]|0,N,j)|0)){K=65;break t}if(o=Ef(o,a,f+1|0,N)|0,o|0){K=67;break t}a=N,o=A[a>>2]|0,a=A[a+4>>2]|0}else K=73;while(!1);if((K|0)==73&&(K=0,o=Rf(o,a)|0,a=T()|0),(o|0)==0&(a|0)==0){ee=F;break e}}switch(K|0){case 15:{r=A[F>>2]|0,r|0&&Se(r),K=t,A[K>>2]=0,A[K+4>>2]=0,A[W>>2]=0,A[G>>2]=-1,A[Y>>2]=0,A[F>>2]=0,A[t+8>>2]=l,K=20;break}case 19:{A[t>>2]=o,A[t+4>>2]=a,K=20;break}case 25:{Te(27795,27761,470,27772);break}case 29:{A[t>>2]=o,A[t+4>>2]=a,C=H;return}case 32:{r=A[F>>2]|0,r|0&&Se(r),ee=t,A[ee>>2]=0,A[ee+4>>2]=0,A[W>>2]=0,A[G>>2]=-1,A[Y>>2]=0,A[F>>2]=0,A[t+8>>2]=l,C=H;return}case 36:{Te(27795,27761,493,27772);break}case 42:{A[t>>2]=o,A[t+4>>2]=a,C=H;return}case 45:{l|0&&Se(l),K=t,A[K>>2]=0,A[K+4>>2]=0,A[W>>2]=0,A[G>>2]=-1,A[Y>>2]=0,A[F>>2]=0,A[t+8>>2]=r,K=55;break}case 53:{A[t>>2]=o,A[t+4>>2]=a,K=55;break}case 58:{l|0&&Se(l),K=t,A[K>>2]=0,A[K+4>>2]=0,A[W>>2]=0,A[G>>2]=-1,A[Y>>2]=0,A[F>>2]=0,A[t+8>>2]=r,K=71;break}case 65:{A[t>>2]=o,A[t+4>>2]=a,K=71;break}case 67:{r=A[F>>2]|0,r|0&&Se(r),ee=t,A[ee>>2]=0,A[ee+4>>2]=0,A[W>>2]=0,A[G>>2]=-1,A[Y>>2]=0,A[F>>2]=0,A[t+8>>2]=o,C=H;return}}if((K|0)==20){C=H;return}else if((K|0)==55){C=H;return}else if((K|0)==71){C=H;return}}while(!1);r=A[ee>>2]|0,r|0&&Se(r),K=t,A[K>>2]=0,A[K+4>>2]=0,A[t+8>>2]=0,A[W>>2]=0,A[t+12>>2]=-1,A[Y>>2]=0,A[ee>>2]=0,C=H}function Rf(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0;D=C,C=C+16|0,_=D,a=se(t|0,r|0,52)|0,T()|0,a=a&15,o=se(t|0,r|0,45)|0,T()|0;do if(a){for(;o=he(a+4095|0,0,52)|0,l=T()|0|r&-15728641,f=(15-a|0)*3|0,c=he(7,0,f|0)|0,h=T()|0,o=o|t|c,l=l|h,p=se(t|0,r|0,f|0)|0,T()|0,p=p&7,a=a+-1|0,!(p>>>0<6);)if(a)r=l,t=o;else{g=4;break}if((g|0)==4){o=se(o|0,l|0,45)|0,T()|0;break}return _=(p|0)==0&(ut(o,l)|0)!=0,_=he((_?2:1)+p|0,0,f|0)|0,g=T()|0|r&~h,_=_|t&~c,je(g|0),C=D,_|0}while(!1);return o=o&127,o>>>0>120?(g=0,_=0,je(g|0),C=D,_|0):(Ia(_,0,o+1|0,0),g=A[_+4>>2]|0,_=A[_>>2]|0,je(g|0),C=D,_|0)}function Gg(t,r,o,a,l,f){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0,f=f|0;var c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0;K=C,C=C+160|0,D=K+80|0,h=K+64|0,F=K+112|0,G=K,Ug(D,t,r,o),g=D,La(h,A[g>>2]|0,A[g+4>>2]|0,r),g=h,p=A[g>>2]|0,g=A[g+4>>2]|0,c=A[D+8>>2]|0,j=F+4|0,A[j>>2]=A[D>>2],A[j+4>>2]=A[D+4>>2],A[j+8>>2]=A[D+8>>2],A[j+12>>2]=A[D+12>>2],A[j+16>>2]=A[D+16>>2],A[j+20>>2]=A[D+20>>2],A[j+24>>2]=A[D+24>>2],A[j+28>>2]=A[D+28>>2],j=G,A[j>>2]=p,A[j+4>>2]=g,j=G+8|0,A[j>>2]=c,t=G+12|0,r=F,o=t+36|0;do A[t>>2]=A[r>>2],t=t+4|0,r=r+4|0;while((t|0)<(o|0));if(F=G+48|0,A[F>>2]=A[h>>2],A[F+4>>2]=A[h+4>>2],A[F+8>>2]=A[h+8>>2],A[F+12>>2]=A[h+12>>2],(p|0)==0&(g|0)==0)return G=c,C=K,G|0;o=G+16|0,_=G+24|0,D=G+28|0,c=0,h=0,r=p,t=g;do{if(!((c|0)<(l|0)|(c|0)==(l|0)&h>>>0<a>>>0)){N=4;break}if(g=h,h=Ce(h|0,c|0,1,0)|0,c=T()|0,g=f+(g<<3)|0,A[g>>2]=r,A[g+4>>2]=t,qa(F),t=F,r=A[t>>2]|0,t=A[t+4>>2]|0,(r|0)==0&(t|0)==0){if(Xo(o),r=o,t=A[r>>2]|0,r=A[r+4>>2]|0,(t|0)==0&(r|0)==0){N=10;break}Pf(t,r,A[D>>2]|0,F),t=F,r=A[t>>2]|0,t=A[t+4>>2]|0}g=G,A[g>>2]=r,A[g+4>>2]=t}while(!((r|0)==0&(t|0)==0));return(N|0)==4?(t=G+40|0,r=A[t>>2]|0,r|0&&Se(r),N=G+16|0,A[N>>2]=0,A[N+4>>2]=0,A[_>>2]=0,A[G+36>>2]=0,A[D>>2]=-1,A[G+32>>2]=0,A[t>>2]=0,Pf(0,0,0,F),A[G>>2]=0,A[G+4>>2]=0,A[j>>2]=0,G=14,C=K,G|0):((N|0)==10&&(A[G>>2]=0,A[G+4>>2]=0,A[j>>2]=A[_>>2]),G=A[j>>2]|0,C=K,G|0)}function Hg(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0;if(D=C,C=C+48|0,p=D+32|0,h=D+40|0,g=D,!(A[t>>2]|0))return _=a,A[_>>2]=0,A[_+4>>2]=0,_=0,C=D,_|0;Ia(p,0,0,0),c=p,l=A[c>>2]|0,c=A[c+4>>2]|0;do if(r>>>0>15)_=g,A[_>>2]=0,A[_+4>>2]=0,A[g+8>>2]=4,A[g+12>>2]=-1,_=g+16|0,o=g+29|0,A[_>>2]=0,A[_+4>>2]=0,A[_+8>>2]=0,oe[_+12>>0]=0,oe[o>>0]=oe[h>>0]|0,oe[o+1>>0]=oe[h+1>>0]|0,oe[o+2>>0]=oe[h+2>>0]|0,o=4,_=9;else{if(o=Qi(o)|0,o|0){p=g,A[p>>2]=0,A[p+4>>2]=0,A[g+8>>2]=o,A[g+12>>2]=-1,p=g+16|0,_=g+29|0,A[p>>2]=0,A[p+4>>2]=0,A[p+8>>2]=0,oe[p+12>>0]=0,oe[_>>0]=oe[h>>0]|0,oe[_+1>>0]=oe[h+1>>0]|0,oe[_+2>>0]=oe[h+2>>0]|0,_=9;break}if(o=cA((A[t+8>>2]|0)+1|0,32)|0,!o){_=g,A[_>>2]=0,A[_+4>>2]=0,A[g+8>>2]=13,A[g+12>>2]=-1,_=g+16|0,o=g+29|0,A[_>>2]=0,A[_+4>>2]=0,A[_+8>>2]=0,oe[_+12>>0]=0,oe[o>>0]=oe[h>>0]|0,oe[o+1>>0]=oe[h+1>>0]|0,oe[o+2>>0]=oe[h+2>>0]|0,o=13,_=9;break}Va(t,o),j=g,A[j>>2]=l,A[j+4>>2]=c,c=g+8|0,A[c>>2]=0,A[g+12>>2]=r,A[g+20>>2]=t,A[g+24>>2]=o,oe[g+28>>0]=0,l=g+29|0,oe[l>>0]=oe[h>>0]|0,oe[l+1>>0]=oe[h+1>>0]|0,oe[l+2>>0]=oe[h+2>>0]|0,A[g+16>>2]=3,F=+L2(o),F=F*+Q2(o),f=+rt(+ +P[o>>3]),f=F/+Xe(+ +es(+f,+ +rt(+ +P[o+8>>3])))*6371.007180918475*6371.007180918475,l=g+12|0,o=A[l>>2]|0;e:do if((o|0)>0)do{if(kf(o+-1|0,p)|0,!(f/+P[p>>3]>10))break e;j=A[l>>2]|0,o=j+-1|0,A[l>>2]=o}while((j|0)>1);while(!1);if(Xo(g),l=a,A[l>>2]=0,A[l+4>>2]=0,l=g,o=A[l>>2]|0,l=A[l+4>>2]|0,!((o|0)==0&(l|0)==0))do Mi(o,l,r,p)|0,h=p,t=a,h=Ce(A[t>>2]|0,A[t+4>>2]|0,A[h>>2]|0,A[h+4>>2]|0)|0,t=T()|0,j=a,A[j>>2]=h,A[j+4>>2]=t,Xo(g),j=g,o=A[j>>2]|0,l=A[j+4>>2]|0;while(!((o|0)==0&(l|0)==0));o=A[c>>2]|0}while(!1);return j=o,C=D,j|0}function Fi(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0;if(!(Ca(r,o)|0)||(r=af(r)|0,a=+P[o>>3],l=+P[o+8>>3],l=r&l<0?l+6.283185307179586:l,F=A[t>>2]|0,(F|0)<=0))return F=0,F|0;if(D=A[t+4>>2]|0,r){r=0,_=l,o=-1,t=0;e:for(;;){for(g=t;c=+P[D+(g<<4)>>3],l=+P[D+(g<<4)+8>>3],t=(o+2|0)%(F|0)|0,f=+P[D+(t<<4)>>3],h=+P[D+(t<<4)+8>>3],c>f?(p=c,c=h):(p=f,f=c,c=l,l=h),a=a==f|a==p?a+2220446049250313e-31:a,!!(a<f|a>p);)if(o=g+1|0,(o|0)>=(F|0)){o=22;break e}else t=g,g=o,o=t;if(h=c<0?c+6.283185307179586:c,c=l<0?l+6.283185307179586:l,_=h==_|c==_?_+-2220446049250313e-31:_,p=h+(c-h)*((a-f)/(p-f)),(p<0?p+6.283185307179586:p)>_&&(r=r^1),t=g+1|0,(t|0)>=(F|0)){o=22;break}else o=g}if((o|0)==22)return r|0}else{r=0,_=l,o=-1,t=0;e:for(;;){for(g=t;c=+P[D+(g<<4)>>3],l=+P[D+(g<<4)+8>>3],t=(o+2|0)%(F|0)|0,f=+P[D+(t<<4)>>3],h=+P[D+(t<<4)+8>>3],c>f?(p=c,c=h):(p=f,f=c,c=l,l=h),a=a==f|a==p?a+2220446049250313e-31:a,!!(a<f|a>p);)if(o=g+1|0,(o|0)>=(F|0)){o=22;break e}else t=g,g=o,o=t;if(_=c==_|l==_?_+-2220446049250313e-31:_,c+(l-c)*((a-f)/(p-f))>_&&(r=r^1),t=g+1|0,(t|0)>=(F|0)){o=22;break}else o=g}if((o|0)==22)return r|0}return 0}function Tf(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0;if(N=A[t>>2]|0,!N){A[r>>2]=0,A[r+4>>2]=0,A[r+8>>2]=0,A[r+12>>2]=0,A[r+16>>2]=0,A[r+20>>2]=0,A[r+24>>2]=0,A[r+28>>2]=0;return}if(G=r+8|0,P[G>>3]=17976931348623157e292,K=r+24|0,P[K>>3]=17976931348623157e292,P[r>>3]=-17976931348623157e292,ee=r+16|0,P[ee>>3]=-17976931348623157e292,!((N|0)<=0)){for(F=A[t+4>>2]|0,g=17976931348623157e292,_=-17976931348623157e292,D=0,t=-1,f=17976931348623157e292,c=17976931348623157e292,p=-17976931348623157e292,a=-17976931348623157e292,j=0;o=+P[F+(j<<4)>>3],h=+P[F+(j<<4)+8>>3],t=t+2|0,l=+P[F+(((t|0)==(N|0)?0:t)<<4)+8>>3],o<f&&(P[G>>3]=o,f=o),h<c&&(P[K>>3]=h,c=h),o>p?P[r>>3]=o:o=p,h>a&&(P[ee>>3]=h,a=h),g=h>0&h<g?h:g,_=h<0&h>_?h:_,D=D|+rt(+(h-l))>3.141592653589793,t=j+1|0,(t|0)!=(N|0);)Y=j,p=o,j=t,t=Y;D&&(P[ee>>3]=_,P[K>>3]=g)}}function Qi(t){return t=t|0,(t>>>0<4?0:15)|0}function Va(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0;if(N=A[t>>2]|0,N){if(G=r+8|0,P[G>>3]=17976931348623157e292,K=r+24|0,P[K>>3]=17976931348623157e292,P[r>>3]=-17976931348623157e292,ee=r+16|0,P[ee>>3]=-17976931348623157e292,(N|0)>0){for(l=A[t+4>>2]|0,F=17976931348623157e292,j=-17976931348623157e292,a=0,o=-1,p=17976931348623157e292,g=17976931348623157e292,D=-17976931348623157e292,c=-17976931348623157e292,Y=0;f=+P[l+(Y<<4)>>3],_=+P[l+(Y<<4)+8>>3],be=o+2|0,h=+P[l+(((be|0)==(N|0)?0:be)<<4)+8>>3],f<p&&(P[G>>3]=f,p=f),_<g&&(P[K>>3]=_,g=_),f>D?P[r>>3]=f:f=D,_>c&&(P[ee>>3]=_,c=_),F=_>0&_<F?_:F,j=_<0&_>j?_:j,a=a|+rt(+(_-h))>3.141592653589793,o=Y+1|0,(o|0)!=(N|0);)be=Y,D=f,Y=o,o=be;a&&(P[ee>>3]=j,P[K>>3]=F)}}else A[r>>2]=0,A[r+4>>2]=0,A[r+8>>2]=0,A[r+12>>2]=0,A[r+16>>2]=0,A[r+20>>2]=0,A[r+24>>2]=0,A[r+28>>2]=0;if(be=t+8|0,o=A[be>>2]|0,!((o|0)<=0)){ce=t+12|0,H=0;do if(l=A[ce>>2]|0,a=H,H=H+1|0,K=r+(H<<5)|0,ee=A[l+(a<<3)>>2]|0,ee){if(Y=r+(H<<5)+8|0,P[Y>>3]=17976931348623157e292,t=r+(H<<5)+24|0,P[t>>3]=17976931348623157e292,P[K>>3]=-17976931348623157e292,W=r+(H<<5)+16|0,P[W>>3]=-17976931348623157e292,(ee|0)>0){for(N=A[l+(a<<3)+4>>2]|0,F=17976931348623157e292,j=-17976931348623157e292,l=0,a=-1,G=0,p=17976931348623157e292,g=17976931348623157e292,_=-17976931348623157e292,c=-17976931348623157e292;f=+P[N+(G<<4)>>3],D=+P[N+(G<<4)+8>>3],a=a+2|0,h=+P[N+(((a|0)==(ee|0)?0:a)<<4)+8>>3],f<p&&(P[Y>>3]=f,p=f),D<g&&(P[t>>3]=D,g=D),f>_?P[K>>3]=f:f=_,D>c&&(P[W>>3]=D,c=D),F=D>0&D<F?D:F,j=D<0&D>j?D:j,l=l|+rt(+(D-h))>3.141592653589793,a=G+1|0,(a|0)!=(ee|0);)we=G,G=a,_=f,a=we;l&&(P[W>>3]=j,P[t>>3]=F)}}else A[K>>2]=0,A[K+4>>2]=0,A[K+8>>2]=0,A[K+12>>2]=0,A[K+16>>2]=0,A[K+20>>2]=0,A[K+24>>2]=0,A[K+28>>2]=0,o=A[be>>2]|0;while((H|0)<(o|0))}}function za(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;if(!(Fi(t,r,o)|0))return l=0,l|0;if(l=t+8|0,(A[l>>2]|0)<=0)return l=1,l|0;for(a=t+12|0,t=0;;){if(f=t,t=t+1|0,Fi((A[a>>2]|0)+(f<<3)|0,r+(t<<5)|0,o)|0){t=0,a=6;break}if((t|0)>=(A[l>>2]|0)){t=1,a=6;break}}return(a|0)==6?t|0:0}function Of(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0;if(g=C,C=C+16|0,h=g,c=o+8|0,!(Fi(t,r,c)|0))return p=0,C=g,p|0;p=t+8|0;e:do if((A[p>>2]|0)>0){for(f=t+12|0,l=0;;){if(_=l,l=l+1|0,Fi((A[f>>2]|0)+(_<<3)|0,r+(l<<5)|0,c)|0){l=0;break}if((l|0)>=(A[p>>2]|0))break e}return C=g,l|0}while(!1);if(Zo(t,r,o,a)|0)return _=0,C=g,_|0;A[h>>2]=A[o>>2],A[h+4>>2]=c,l=A[p>>2]|0;e:do if((l|0)>0)for(t=t+12|0,c=0,f=l;;){if(l=A[t>>2]|0,(A[l+(c<<3)>>2]|0)>0){if(Fi(h,a,A[l+(c<<3)+4>>2]|0)|0){l=0;break e}if(l=c+1|0,Zo((A[t>>2]|0)+(c<<3)|0,r+(l<<5)|0,o,a)|0){l=0;break e}f=A[p>>2]|0}else l=c+1|0;if((l|0)<(f|0))c=l;else{l=1;break}}else l=1;while(!1);return _=l,C=g,_|0}function Zo(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0,be=0,we=0,Oe=0;if(be=C,C=C+176|0,Y=be+172|0,l=be+168|0,W=be,!(Sa(r,a)|0))return t=0,C=be,t|0;if(q2(r,a,Y,l),Qn(W|0,o|0,168)|0,(A[o>>2]|0)>0){r=0;do we=W+8+(r<<4)+8|0,ee=+AA(+P[we>>3],A[l>>2]|0),P[we>>3]=ee,r=r+1|0;while((r|0)<(A[o>>2]|0))}G=+P[a>>3],K=+P[a+8>>3],ee=+AA(+P[a+16>>3],A[l>>2]|0),j=+AA(+P[a+24>>3],A[l>>2]|0);e:do if((A[t>>2]|0)>0){if(a=t+4|0,l=A[W>>2]|0,(l|0)<=0){for(r=0;;)if(r=r+1|0,(r|0)>=(A[t>>2]|0)){r=0;break e}}for(o=0;;){if(r=A[a>>2]|0,F=+P[r+(o<<4)>>3],N=+AA(+P[r+(o<<4)+8>>3],A[Y>>2]|0),r=A[a>>2]|0,o=o+1|0,we=(o|0)%(A[t>>2]|0)|0,f=+P[r+(we<<4)>>3],c=+AA(+P[r+(we<<4)+8>>3],A[Y>>2]|0),!(F>=G)|!(f>=G)&&!(F<=K)|!(f<=K)&&!(N<=j)|!(c<=j)&&!(N>=ee)|!(c>=ee)){D=f-F,g=c-N,r=0;do if(Oe=r,r=r+1|0,we=(r|0)==(l|0)?0:r,f=+P[W+8+(Oe<<4)+8>>3],c=+P[W+8+(we<<4)+8>>3]-f,h=+P[W+8+(Oe<<4)>>3],p=+P[W+8+(we<<4)>>3]-h,_=D*c-g*p,_!=0&&(H=N-f,ce=F-h,p=(H*p-c*ce)/_,!(p<0|p>1))&&(_=(D*H-g*ce)/_,_>=0&_<=1)){r=1;break e}while((r|0)<(l|0))}if((o|0)>=(A[t>>2]|0)){r=0;break}}}else r=0;while(!1);return Oe=r,C=be,Oe|0}function If(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0;if(Zo(t,r,o,a)|0)return f=1,f|0;if(f=t+8|0,(A[f>>2]|0)<=0)return f=0,f|0;for(l=t+12|0,t=0;;){if(c=t,t=t+1|0,Zo((A[l>>2]|0)+(c<<3)|0,r+(t<<5)|0,o,a)|0){t=1,l=6;break}if((t|0)>=(A[f>>2]|0)){t=0,l=6;break}}return(l|0)==6?t|0:0}function Vg(){return 8}function zg(){return 16}function Jg(){return 168}function Kg(){return 8}function Wg(){return 16}function Yg(){return 12}function Xg(){return 8}function Zg(t){return t=t|0,+(+((A[t>>2]|0)>>>0)+4294967296*+(A[t+4>>2]|0))}function e1(t){t=t|0;var r=0,o=0;return o=+P[t>>3],r=+P[t+8>>3],+ +yt(+(o*o+r*r))}function Bf(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0;g=+P[t>>3],p=+P[r>>3]-g,h=+P[t+8>>3],c=+P[r+8>>3]-h,D=+P[o>>3],f=+P[a>>3]-D,F=+P[o+8>>3],_=+P[a+8>>3]-F,f=(f*(h-F)-(g-D)*_)/(p*_-c*f),P[l>>3]=g+p*f,P[l+8>>3]=h+c*f}function Mf(t,r){return t=t|0,r=r|0,+rt(+(+P[t>>3]-+P[r>>3]))<11920928955078125e-23?(r=+rt(+(+P[t+8>>3]-+P[r+8>>3]))<11920928955078125e-23,r|0):(r=0,r|0)}function vt(t,r){t=t|0,r=r|0;var o=0,a=0,l=0;return l=+P[t>>3]-+P[r>>3],a=+P[t+8>>3]-+P[r+8>>3],o=+P[t+16>>3]-+P[r+16>>3],+(l*l+a*a+o*o)}function t1(t,r){t=t|0,r=r|0;var o=0,a=0,l=0;o=+P[t>>3],a=+Xe(+o),o=+it(+o),P[r+16>>3]=o,o=+P[t+8>>3],l=a*+Xe(+o),P[r>>3]=l,o=a*+it(+o),P[r+8>>3]=o}function A1(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;if(f=C,C=C+16|0,l=f,a=ut(t,r)|0,(o+-1|0)>>>0>5||(a=(a|0)!=0,(o|0)==1&a))return l=-1,C=f,l|0;do if(Li(t,r,l)|0)a=-1;else if(a){a=((A[26352+(o<<2)>>2]|0)+5-(A[l>>2]|0)|0)%5|0;break}else{a=((A[26384+(o<<2)>>2]|0)+6-(A[l>>2]|0)|0)%6|0;break}while(!1);return l=a,C=f,l|0}function Li(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0,g=0;if(g=C,C=C+32|0,c=g+16|0,h=g,a=Bn(t,r,c)|0,a|0)return o=a,C=g,o|0;f=vf(t,r)|0,p=Wt(t,r)|0,M2(f,h),a=j2(f,A[c>>2]|0)|0;e:do if(ht(f)|0){do switch(f|0){case 4:{t=0;break}case 14:{t=1;break}case 24:{t=2;break}case 38:{t=3;break}case 49:{t=4;break}case 58:{t=5;break}case 63:{t=6;break}case 72:{t=7;break}case 83:{t=8;break}case 97:{t=9;break}case 107:{t=10;break}case 117:{t=11;break}default:{a=1;break e}}while(!1);if(l=A[26416+(t*24|0)+8>>2]|0,r=A[26416+(t*24|0)+16>>2]|0,t=A[c>>2]|0,(t|0)!=(A[h>>2]|0)&&(h=$a(f)|0,t=A[c>>2]|0,h|(t|0)==(r|0)&&(a=(a+1|0)%6|0)),(p|0)==3&(t|0)==(r|0)){a=(a+5|0)%6|0,l=22;break}(p|0)==5&(t|0)==(l|0)&&(a=(a+1|0)%6|0),l=22}else l=22;while(!1);return(l|0)==22&&(A[o>>2]=a,a=0),o=a,C=g,o|0}function fA(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0;if(W=C,C=C+32|0,Y=W+24|0,K=W+20|0,N=W+8|0,j=W+16|0,F=W,p=(ut(t,r)|0)==0,p=p?6:5,_=se(t|0,r|0,52)|0,T()|0,_=_&15,p>>>0<=o>>>0)return a=2,C=W,a|0;D=(_|0)==0,!D&&(G=he(7,0,(_^15)*3|0)|0,(G&t|0)==0&((T()|0)&r|0)==0)?l=o:f=4;e:do if((f|0)==4){if(l=(ut(t,r)|0)!=0,((l?4:5)|0)<(o|0)||Li(t,r,Y)|0||(f=(A[Y>>2]|0)+o|0,l?l=26704+(((f|0)%5|0)<<2)|0:l=26736+(((f|0)%6|0)<<2)|0,G=A[l>>2]|0,(G|0)==7))return a=1,C=W,a|0;A[K>>2]=0,l=Dt(t,r,G,K,N)|0;do if(!l){if(h=N,g=A[h>>2]|0,h=A[h+4>>2]|0,c=h>>>0<r>>>0|(h|0)==(r|0)&g>>>0<t>>>0,f=c?g:t,c=c?h:r,!D&&(D=he(7,0,(_^15)*3|0)|0,(g&D|0)==0&(h&(T()|0)|0)==0))l=o;else{if(h=(o+-1+p|0)%(p|0)|0,l=ut(t,r)|0,(h|0)<0&&Te(27795,27797,246,27806),p=(l|0)!=0,((p?4:5)|0)<(h|0)&&Te(27795,27797,246,27806),Li(t,r,Y)|0&&Te(27795,27797,246,27806),l=(A[Y>>2]|0)+h|0,p?l=26704+(((l|0)%5|0)<<2)|0:l=26736+(((l|0)%6|0)<<2)|0,h=A[l>>2]|0,(h|0)==7&&Te(27795,27797,246,27806),A[j>>2]=0,l=Dt(t,r,h,j,F)|0,l|0)break;g=F,p=A[g>>2]|0,g=A[g+4>>2]|0;do if(g>>>0<c>>>0|(g|0)==(c|0)&p>>>0<f>>>0){if(ut(p,g)|0?f=Ea(p,g,t,r)|0:f=A[26800+((((A[j>>2]|0)+(A[26768+(h<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,l=ut(p,g)|0,(f+-1|0)>>>0>5){l=-1,f=p,c=g;break}if(l=(l|0)!=0,(f|0)==1&l){l=-1,f=p,c=g;break}do if(Li(p,g,Y)|0)l=-1;else if(l){l=((A[26352+(f<<2)>>2]|0)+5-(A[Y>>2]|0)|0)%5|0;break}else{l=((A[26384+(f<<2)>>2]|0)+6-(A[Y>>2]|0)|0)%6|0;break}while(!1);f=p,c=g}else l=o;while(!1);h=N,g=A[h>>2]|0,h=A[h+4>>2]|0}if((f|0)==(g|0)&(c|0)==(h|0)){if(p=(ut(g,h)|0)!=0,p?t=Ea(g,h,t,r)|0:t=A[26800+((((A[K>>2]|0)+(A[26768+(G<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,l=ut(g,h)|0,(t+-1|0)>>>0<=5&&(ee=(l|0)!=0,!((t|0)==1&ee)))do if(Li(g,h,Y)|0)l=-1;else if(ee){l=((A[26352+(t<<2)>>2]|0)+5-(A[Y>>2]|0)|0)%5|0;break}else{l=((A[26384+(t<<2)>>2]|0)+6-(A[Y>>2]|0)|0)%6|0;break}while(!1);else l=-1;l=l+1|0,l=(l|0)==6|p&(l|0)==5?0:l}r=c,t=f;break e}while(!1);return a=l,C=W,a|0}while(!1);return ee=he(l|0,0,56)|0,Y=T()|0|r&-2130706433|536870912,A[a>>2]=ee|t,A[a+4>>2]=Y,a=0,C=W,a|0}function r1(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;return f=(ut(t,r)|0)==0,a=fA(t,r,0,o)|0,l=(a|0)==0,f?!l||(a=fA(t,r,1,o+8|0)|0,a|0)||(a=fA(t,r,2,o+16|0)|0,a|0)||(a=fA(t,r,3,o+24|0)|0,a|0)||(a=fA(t,r,4,o+32|0)|0,a)?(f=a,f|0):fA(t,r,5,o+40|0)|0:!l||(a=fA(t,r,1,o+8|0)|0,a|0)||(a=fA(t,r,2,o+16|0)|0,a|0)||(a=fA(t,r,3,o+24|0)|0,a|0)||(a=fA(t,r,4,o+32|0)|0,a|0)?(f=a,f|0):(f=o+40|0,A[f>>2]=0,A[f+4>>2]=0,f=0,f|0)}function n1(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0,h=0,p=0;return p=C,C=C+192|0,l=p,f=p+168|0,c=se(t|0,r|0,56)|0,T()|0,c=c&7,h=r&-2130706433|134217728,a=Bn(t,h,f)|0,a|0?(h=a,C=p,h|0):(r=se(t|0,r|0,52)|0,T()|0,r=r&15,ut(t,h)|0?Ra(f,r,c,1,l):Ta(f,r,c,1,l),h=l+8|0,A[o>>2]=A[h>>2],A[o+4>>2]=A[h+4>>2],A[o+8>>2]=A[h+8>>2],A[o+12>>2]=A[h+12>>2],h=0,C=p,h|0)}function i1(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0;return l=C,C=C+16|0,o=l,!(!0&(r&2013265920|0)==536870912)||(a=r&-2130706433|134217728,!(Oa(t,a)|0))?(a=0,C=l,a|0):(f=se(t|0,r|0,56)|0,T()|0,f=(fA(t,a,f&7,o)|0)==0,a=o,a=f&((A[a>>2]|0)==(t|0)?(A[a+4>>2]|0)==(r|0):0)&1,C=l,a|0)}function jf(t,r,o){t=t|0,r=r|0,o=o|0;var a=0;(r|0)>0?(a=cA(r,4)|0,A[t>>2]=a,a||Te(27819,27842,40,27856)):A[t>>2]=0,A[t+4>>2]=r,A[t+8>>2]=0,A[t+12>>2]=o}function Nf(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0;l=t+4|0,f=t+12|0,c=t+8|0;e:for(;;){for(o=A[l>>2]|0,r=0;;){if((r|0)>=(o|0))break e;if(a=A[t>>2]|0,h=A[a+(r<<2)>>2]|0,!h)r=r+1|0;else break}r=a+(~~(+rt(+(+St(10,+ +(15-(A[f>>2]|0)|0))*(+P[h>>3]+ +P[h+8>>3])))%+(o|0))>>>0<<2)|0,o=A[r>>2]|0;t:do if(o|0){if(a=h+32|0,(o|0)==(h|0))A[r>>2]=A[a>>2];else{if(o=o+32|0,r=A[o>>2]|0,!r)break;for(;(r|0)!=(h|0);)if(o=r+32|0,r=A[o>>2]|0,!r)break t;A[o>>2]=A[a>>2]}Se(h),A[c>>2]=(A[c>>2]|0)+-1}while(!1)}Se(A[t>>2]|0)}function Ff(t){t=t|0;var r=0,o=0,a=0;for(a=A[t+4>>2]|0,o=0;;){if((o|0)>=(a|0)){r=0,o=4;break}if(r=A[(A[t>>2]|0)+(o<<2)>>2]|0,!r)o=o+1|0;else{o=4;break}}return(o|0)==4?r|0:0}function Qf(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0;if(o=~~(+rt(+(+St(10,+ +(15-(A[t+12>>2]|0)|0))*(+P[r>>3]+ +P[r+8>>3])))%+(A[t+4>>2]|0))>>>0,o=(A[t>>2]|0)+(o<<2)|0,a=A[o>>2]|0,!a)return f=1,f|0;f=r+32|0;do if((a|0)!=(r|0)){if(o=A[a+32>>2]|0,!o)return f=1,f|0;for(l=o;;){if((l|0)==(r|0)){l=8;break}if(o=A[l+32>>2]|0,o)a=l,l=o;else{o=1,l=10;break}}if((l|0)==8){A[a+32>>2]=A[f>>2];break}else if((l|0)==10)return o|0}else A[o>>2]=A[f>>2];while(!1);return Se(r),f=t+8|0,A[f>>2]=(A[f>>2]|0)+-1,f=0,f|0}function o1(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0;f=RA(40)|0,f||Te(27872,27842,98,27885),A[f>>2]=A[r>>2],A[f+4>>2]=A[r+4>>2],A[f+8>>2]=A[r+8>>2],A[f+12>>2]=A[r+12>>2],l=f+16|0,A[l>>2]=A[o>>2],A[l+4>>2]=A[o+4>>2],A[l+8>>2]=A[o+8>>2],A[l+12>>2]=A[o+12>>2],A[f+32>>2]=0,l=~~(+rt(+(+St(10,+ +(15-(A[t+12>>2]|0)|0))*(+P[r>>3]+ +P[r+8>>3])))%+(A[t+4>>2]|0))>>>0,l=(A[t>>2]|0)+(l<<2)|0,a=A[l>>2]|0;do if(!a)A[l>>2]=f;else{for(;!(jn(a,r)|0&&jn(a+16|0,o)|0);)if(l=A[a+32>>2]|0,a=(l|0)==0?a:l,!(A[a+32>>2]|0)){c=10;break}if((c|0)==10){A[a+32>>2]=f;break}return Se(f),c=a,c|0}while(!1);return c=t+8|0,A[c>>2]=(A[c>>2]|0)+1,c=f,c|0}function s1(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0;if(l=~~(+rt(+(+St(10,+ +(15-(A[t+12>>2]|0)|0))*(+P[r>>3]+ +P[r+8>>3])))%+(A[t+4>>2]|0))>>>0,l=A[(A[t>>2]|0)+(l<<2)>>2]|0,!l)return o=0,o|0;if(!o){for(t=l;;){if(jn(t,r)|0){a=10;break}if(t=A[t+32>>2]|0,!t){t=0,a=10;break}}if((a|0)==10)return t|0}for(t=l;;){if(jn(t,r)|0&&jn(t+16|0,o)|0){a=10;break}if(t=A[t+32>>2]|0,!t){t=0,a=10;break}}return(a|0)==10?t|0:0}function a1(t,r){t=t|0,r=r|0;var o=0;if(o=~~(+rt(+(+St(10,+ +(15-(A[t+12>>2]|0)|0))*(+P[r>>3]+ +P[r+8>>3])))%+(A[t+4>>2]|0))>>>0,t=A[(A[t>>2]|0)+(o<<2)>>2]|0,!t)return o=0,o|0;for(;;){if(jn(t,r)|0){r=5;break}if(t=A[t+32>>2]|0,!t){t=0,r=5;break}}return(r|0)==5?t|0:0}function l1(){return 27904}function cr(t){return t=+t,~~+Hf(+t)|0}function RA(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0,G=0,K=0,ee=0,Y=0,W=0,H=0,ce=0;ce=C,C=C+16|0,F=ce;do if(t>>>0<245){if(g=t>>>0<11?16:t+11&-8,t=g>>>3,D=A[6977]|0,o=D>>>t,o&3|0)return r=(o&1^1)+t|0,t=27948+(r<<1<<2)|0,o=t+8|0,a=A[o>>2]|0,l=a+8|0,f=A[l>>2]|0,(f|0)==(t|0)?A[6977]=D&~(1<<r):(A[f+12>>2]=t,A[o>>2]=f),H=r<<3,A[a+4>>2]=H|3,H=a+H+4|0,A[H>>2]=A[H>>2]|1,H=l,C=ce,H|0;if(_=A[6979]|0,g>>>0>_>>>0){if(o|0)return r=2<<t,r=o<<t&(r|0-r),r=(r&0-r)+-1|0,h=r>>>12&16,r=r>>>h,o=r>>>5&8,r=r>>>o,f=r>>>2&4,r=r>>>f,t=r>>>1&2,r=r>>>t,a=r>>>1&1,a=(o|h|f|t|a)+(r>>>a)|0,r=27948+(a<<1<<2)|0,t=r+8|0,f=A[t>>2]|0,h=f+8|0,o=A[h>>2]|0,(o|0)==(r|0)?(t=D&~(1<<a),A[6977]=t):(A[o+12>>2]=r,A[t>>2]=o,t=D),H=a<<3,c=H-g|0,A[f+4>>2]=g|3,l=f+g|0,A[l+4>>2]=c|1,A[f+H>>2]=c,_|0&&(a=A[6982]|0,r=_>>>3,o=27948+(r<<1<<2)|0,r=1<<r,t&r?(t=o+8|0,r=A[t>>2]|0):(A[6977]=t|r,r=o,t=o+8|0),A[t>>2]=a,A[r+12>>2]=a,A[a+8>>2]=r,A[a+12>>2]=o),A[6979]=c,A[6982]=l,H=h,C=ce,H|0;if(f=A[6978]|0,f){for(o=(f&0-f)+-1|0,l=o>>>12&16,o=o>>>l,a=o>>>5&8,o=o>>>a,c=o>>>2&4,o=o>>>c,h=o>>>1&2,o=o>>>h,p=o>>>1&1,p=A[28212+((a|l|c|h|p)+(o>>>p)<<2)>>2]|0,o=p,h=p,p=(A[p+4>>2]&-8)-g|0;t=A[o+16>>2]|0,!(!t&&(t=A[o+20>>2]|0,!t));)c=(A[t+4>>2]&-8)-g|0,l=c>>>0<p>>>0,o=t,h=l?t:h,p=l?c:p;if(c=h+g|0,c>>>0>h>>>0){l=A[h+24>>2]|0,r=A[h+12>>2]|0;do if((r|0)==(h|0)){if(t=h+20|0,r=A[t>>2]|0,!r&&(t=h+16|0,r=A[t>>2]|0,!r)){o=0;break}for(;;)if(a=r+20|0,o=A[a>>2]|0,o)r=o,t=a;else if(a=r+16|0,o=A[a>>2]|0,o)r=o,t=a;else break;A[t>>2]=0,o=r}else o=A[h+8>>2]|0,A[o+12>>2]=r,A[r+8>>2]=o,o=r;while(!1);do if(l|0){if(r=A[h+28>>2]|0,t=28212+(r<<2)|0,(h|0)==(A[t>>2]|0)){if(A[t>>2]=o,!o){A[6978]=f&~(1<<r);break}}else if(H=l+16|0,A[((A[H>>2]|0)==(h|0)?H:l+20|0)>>2]=o,!o)break;A[o+24>>2]=l,r=A[h+16>>2]|0,r|0&&(A[o+16>>2]=r,A[r+24>>2]=o),r=A[h+20>>2]|0,r|0&&(A[o+20>>2]=r,A[r+24>>2]=o)}while(!1);return p>>>0<16?(H=p+g|0,A[h+4>>2]=H|3,H=h+H+4|0,A[H>>2]=A[H>>2]|1):(A[h+4>>2]=g|3,A[c+4>>2]=p|1,A[c+p>>2]=p,_|0&&(a=A[6982]|0,r=_>>>3,o=27948+(r<<1<<2)|0,r=1<<r,r&D?(t=o+8|0,r=A[t>>2]|0):(A[6977]=r|D,r=o,t=o+8|0),A[t>>2]=a,A[r+12>>2]=a,A[a+8>>2]=r,A[a+12>>2]=o),A[6979]=p,A[6982]=c),H=h+8|0,C=ce,H|0}else D=g}else D=g}else D=g}else if(t>>>0<=4294967231)if(t=t+11|0,g=t&-8,a=A[6978]|0,a){l=0-g|0,t=t>>>8,t?g>>>0>16777215?p=31:(D=(t+1048320|0)>>>16&8,G=t<<D,h=(G+520192|0)>>>16&4,G=G<<h,p=(G+245760|0)>>>16&2,p=14-(h|D|p)+(G<<p>>>15)|0,p=g>>>(p+7|0)&1|p<<1):p=0,o=A[28212+(p<<2)>>2]|0;e:do if(!o)o=0,t=0,G=61;else for(t=0,h=g<<((p|0)==31?0:25-(p>>>1)|0),f=0;;){if(c=(A[o+4>>2]&-8)-g|0,c>>>0<l>>>0)if(c)t=o,l=c;else{t=o,l=0,G=65;break e}if(G=A[o+20>>2]|0,o=A[o+16+(h>>>31<<2)>>2]|0,f=(G|0)==0|(G|0)==(o|0)?f:G,o)h=h<<1;else{o=f,G=61;break}}while(!1);if((G|0)==61){if((o|0)==0&(t|0)==0){if(t=2<<p,t=(t|0-t)&a,!t){D=g;break}D=(t&0-t)+-1|0,c=D>>>12&16,D=D>>>c,f=D>>>5&8,D=D>>>f,h=D>>>2&4,D=D>>>h,p=D>>>1&2,D=D>>>p,o=D>>>1&1,t=0,o=A[28212+((f|c|h|p|o)+(D>>>o)<<2)>>2]|0}o?G=65:(h=t,c=l)}if((G|0)==65)for(f=o;;)if(D=(A[f+4>>2]&-8)-g|0,o=D>>>0<l>>>0,l=o?D:l,t=o?f:t,o=A[f+16>>2]|0,o||(o=A[f+20>>2]|0),o)f=o;else{h=t,c=l;break}if((h|0)!=0&&c>>>0<((A[6979]|0)-g|0)>>>0&&(_=h+g|0,_>>>0>h>>>0)){f=A[h+24>>2]|0,r=A[h+12>>2]|0;do if((r|0)==(h|0)){if(t=h+20|0,r=A[t>>2]|0,!r&&(t=h+16|0,r=A[t>>2]|0,!r)){r=0;break}for(;;)if(l=r+20|0,o=A[l>>2]|0,o)r=o,t=l;else if(l=r+16|0,o=A[l>>2]|0,o)r=o,t=l;else break;A[t>>2]=0}else H=A[h+8>>2]|0,A[H+12>>2]=r,A[r+8>>2]=H;while(!1);do if(f){if(t=A[h+28>>2]|0,o=28212+(t<<2)|0,(h|0)==(A[o>>2]|0)){if(A[o>>2]=r,!r){a=a&~(1<<t),A[6978]=a;break}}else if(H=f+16|0,A[((A[H>>2]|0)==(h|0)?H:f+20|0)>>2]=r,!r)break;A[r+24>>2]=f,t=A[h+16>>2]|0,t|0&&(A[r+16>>2]=t,A[t+24>>2]=r),t=A[h+20>>2]|0,t&&(A[r+20>>2]=t,A[t+24>>2]=r)}while(!1);e:do if(c>>>0<16)H=c+g|0,A[h+4>>2]=H|3,H=h+H+4|0,A[H>>2]=A[H>>2]|1;else{if(A[h+4>>2]=g|3,A[_+4>>2]=c|1,A[_+c>>2]=c,r=c>>>3,c>>>0<256){o=27948+(r<<1<<2)|0,t=A[6977]|0,r=1<<r,t&r?(t=o+8|0,r=A[t>>2]|0):(A[6977]=t|r,r=o,t=o+8|0),A[t>>2]=_,A[r+12>>2]=_,A[_+8>>2]=r,A[_+12>>2]=o;break}if(r=c>>>8,r?c>>>0>16777215?o=31:(W=(r+1048320|0)>>>16&8,H=r<<W,Y=(H+520192|0)>>>16&4,H=H<<Y,o=(H+245760|0)>>>16&2,o=14-(Y|W|o)+(H<<o>>>15)|0,o=c>>>(o+7|0)&1|o<<1):o=0,r=28212+(o<<2)|0,A[_+28>>2]=o,t=_+16|0,A[t+4>>2]=0,A[t>>2]=0,t=1<<o,!(a&t)){A[6978]=a|t,A[r>>2]=_,A[_+24>>2]=r,A[_+12>>2]=_,A[_+8>>2]=_;break}r=A[r>>2]|0;t:do if((A[r+4>>2]&-8|0)!=(c|0)){for(a=c<<((o|0)==31?0:25-(o>>>1)|0);o=r+16+(a>>>31<<2)|0,t=A[o>>2]|0,!!t;)if((A[t+4>>2]&-8|0)==(c|0)){r=t;break t}else a=a<<1,r=t;A[o>>2]=_,A[_+24>>2]=r,A[_+12>>2]=_,A[_+8>>2]=_;break e}while(!1);W=r+8|0,H=A[W>>2]|0,A[H+12>>2]=_,A[W>>2]=_,A[_+8>>2]=H,A[_+12>>2]=r,A[_+24>>2]=0}while(!1);return H=h+8|0,C=ce,H|0}else D=g}else D=g;else D=-1;while(!1);if(o=A[6979]|0,o>>>0>=D>>>0)return r=o-D|0,t=A[6982]|0,r>>>0>15?(H=t+D|0,A[6982]=H,A[6979]=r,A[H+4>>2]=r|1,A[t+o>>2]=r,A[t+4>>2]=D|3):(A[6979]=0,A[6982]=0,A[t+4>>2]=o|3,H=t+o+4|0,A[H>>2]=A[H>>2]|1),H=t+8|0,C=ce,H|0;if(c=A[6980]|0,c>>>0>D>>>0)return Y=c-D|0,A[6980]=Y,H=A[6983]|0,W=H+D|0,A[6983]=W,A[W+4>>2]=Y|1,A[H+4>>2]=D|3,H=H+8|0,C=ce,H|0;if(A[7095]|0?t=A[7097]|0:(A[7097]=4096,A[7096]=4096,A[7098]=-1,A[7099]=-1,A[7100]=0,A[7088]=0,A[7095]=F&-16^1431655768,t=4096),h=D+48|0,p=D+47|0,f=t+p|0,l=0-t|0,g=f&l,g>>>0<=D>>>0||(t=A[7087]|0,t|0&&(_=A[7085]|0,F=_+g|0,F>>>0<=_>>>0|F>>>0>t>>>0)))return H=0,C=ce,H|0;e:do if(A[7088]&4)r=0,G=143;else{o=A[6983]|0;t:do if(o){for(a=28356;F=A[a>>2]|0,!(F>>>0<=o>>>0&&(F+(A[a+4>>2]|0)|0)>>>0>o>>>0);)if(t=A[a+8>>2]|0,t)a=t;else{G=128;break t}if(r=f-c&l,r>>>0<2147483647)if(t=hr(r|0)|0,(t|0)==((A[a>>2]|0)+(A[a+4>>2]|0)|0)){if((t|0)!=-1){c=r,f=t,G=145;break e}}else a=t,G=136;else r=0}else G=128;while(!1);do if((G|0)==128)if(o=hr(0)|0,(o|0)!=-1&&(r=o,j=A[7096]|0,N=j+-1|0,r=((N&r|0)==0?0:(N+r&0-j)-r|0)+g|0,j=A[7085]|0,N=r+j|0,r>>>0>D>>>0&r>>>0<2147483647)){if(F=A[7087]|0,F|0&&N>>>0<=j>>>0|N>>>0>F>>>0){r=0;break}if(t=hr(r|0)|0,(t|0)==(o|0)){c=r,f=o,G=145;break e}else a=t,G=136}else r=0;while(!1);do if((G|0)==136){if(o=0-r|0,!(h>>>0>r>>>0&(r>>>0<2147483647&(a|0)!=-1)))if((a|0)==-1){r=0;break}else{c=r,f=a,G=145;break e}if(t=A[7097]|0,t=p-r+t&0-t,t>>>0>=2147483647){c=r,f=a,G=145;break e}if((hr(t|0)|0)==-1){hr(o|0)|0,r=0;break}else{c=t+r|0,f=a,G=145;break e}}while(!1);A[7088]=A[7088]|4,G=143}while(!1);if((G|0)==143&&g>>>0<2147483647&&(Y=hr(g|0)|0,N=hr(0)|0,K=N-Y|0,ee=K>>>0>(D+40|0)>>>0,!((Y|0)==-1|ee^1|Y>>>0<N>>>0&((Y|0)!=-1&(N|0)!=-1)^1))&&(c=ee?K:r,f=Y,G=145),(G|0)==145){r=(A[7085]|0)+c|0,A[7085]=r,r>>>0>(A[7086]|0)>>>0&&(A[7086]=r),p=A[6983]|0;e:do if(p){for(r=28356;;){if(t=A[r>>2]|0,o=A[r+4>>2]|0,(f|0)==(t+o|0)){G=154;break}if(a=A[r+8>>2]|0,a)r=a;else break}if((G|0)==154&&(W=r+4|0,(A[r+12>>2]&8|0)==0)&&f>>>0>p>>>0&t>>>0<=p>>>0){A[W>>2]=o+c,H=(A[6980]|0)+c|0,Y=p+8|0,Y=(Y&7|0)==0?0:0-Y&7,W=p+Y|0,Y=H-Y|0,A[6983]=W,A[6980]=Y,A[W+4>>2]=Y|1,A[p+H+4>>2]=40,A[6984]=A[7099];break}for(f>>>0<(A[6981]|0)>>>0&&(A[6981]=f),o=f+c|0,r=28356;;){if((A[r>>2]|0)==(o|0)){G=162;break}if(t=A[r+8>>2]|0,t)r=t;else break}if((G|0)==162&&(A[r+12>>2]&8|0)==0){A[r>>2]=f,_=r+4|0,A[_>>2]=(A[_>>2]|0)+c,_=f+8|0,_=f+((_&7|0)==0?0:0-_&7)|0,r=o+8|0,r=o+((r&7|0)==0?0:0-r&7)|0,g=_+D|0,h=r-_-D|0,A[_+4>>2]=D|3;t:do if((p|0)==(r|0))H=(A[6980]|0)+h|0,A[6980]=H,A[6983]=g,A[g+4>>2]=H|1;else{if((A[6982]|0)==(r|0)){H=(A[6979]|0)+h|0,A[6979]=H,A[6982]=g,A[g+4>>2]=H|1,A[g+H>>2]=H;break}if(t=A[r+4>>2]|0,(t&3|0)==1){c=t&-8,a=t>>>3;A:do if(t>>>0<256)if(t=A[r+8>>2]|0,o=A[r+12>>2]|0,(o|0)==(t|0)){A[6977]=A[6977]&~(1<<a);break}else{A[t+12>>2]=o,A[o+8>>2]=t;break}else{f=A[r+24>>2]|0,t=A[r+12>>2]|0;do if((t|0)==(r|0)){if(o=r+16|0,a=o+4|0,t=A[a>>2]|0,t)o=a;else if(t=A[o>>2]|0,!t){t=0;break}for(;;)if(l=t+20|0,a=A[l>>2]|0,a)t=a,o=l;else if(l=t+16|0,a=A[l>>2]|0,a)t=a,o=l;else break;A[o>>2]=0}else H=A[r+8>>2]|0,A[H+12>>2]=t,A[t+8>>2]=H;while(!1);if(!f)break;o=A[r+28>>2]|0,a=28212+(o<<2)|0;do if((A[a>>2]|0)!=(r|0)){if(H=f+16|0,A[((A[H>>2]|0)==(r|0)?H:f+20|0)>>2]=t,!t)break A}else{if(A[a>>2]=t,t|0)break;A[6978]=A[6978]&~(1<<o);break A}while(!1);if(A[t+24>>2]=f,o=r+16|0,a=A[o>>2]|0,a|0&&(A[t+16>>2]=a,A[a+24>>2]=t),o=A[o+4>>2]|0,!o)break;A[t+20>>2]=o,A[o+24>>2]=t}while(!1);r=r+c|0,l=c+h|0}else l=h;if(r=r+4|0,A[r>>2]=A[r>>2]&-2,A[g+4>>2]=l|1,A[g+l>>2]=l,r=l>>>3,l>>>0<256){o=27948+(r<<1<<2)|0,t=A[6977]|0,r=1<<r,t&r?(t=o+8|0,r=A[t>>2]|0):(A[6977]=t|r,r=o,t=o+8|0),A[t>>2]=g,A[r+12>>2]=g,A[g+8>>2]=r,A[g+12>>2]=o;break}r=l>>>8;do if(!r)a=0;else{if(l>>>0>16777215){a=31;break}W=(r+1048320|0)>>>16&8,H=r<<W,Y=(H+520192|0)>>>16&4,H=H<<Y,a=(H+245760|0)>>>16&2,a=14-(Y|W|a)+(H<<a>>>15)|0,a=l>>>(a+7|0)&1|a<<1}while(!1);if(r=28212+(a<<2)|0,A[g+28>>2]=a,t=g+16|0,A[t+4>>2]=0,A[t>>2]=0,t=A[6978]|0,o=1<<a,!(t&o)){A[6978]=t|o,A[r>>2]=g,A[g+24>>2]=r,A[g+12>>2]=g,A[g+8>>2]=g;break}r=A[r>>2]|0;A:do if((A[r+4>>2]&-8|0)!=(l|0)){for(a=l<<((a|0)==31?0:25-(a>>>1)|0);o=r+16+(a>>>31<<2)|0,t=A[o>>2]|0,!!t;)if((A[t+4>>2]&-8|0)==(l|0)){r=t;break A}else a=a<<1,r=t;A[o>>2]=g,A[g+24>>2]=r,A[g+12>>2]=g,A[g+8>>2]=g;break t}while(!1);W=r+8|0,H=A[W>>2]|0,A[H+12>>2]=g,A[W>>2]=g,A[g+8>>2]=H,A[g+12>>2]=r,A[g+24>>2]=0}while(!1);return H=_+8|0,C=ce,H|0}for(r=28356;t=A[r>>2]|0,!(t>>>0<=p>>>0&&(H=t+(A[r+4>>2]|0)|0,H>>>0>p>>>0));)r=A[r+8>>2]|0;l=H+-47|0,t=l+8|0,t=l+((t&7|0)==0?0:0-t&7)|0,l=p+16|0,t=t>>>0<l>>>0?p:t,r=t+8|0,o=c+-40|0,Y=f+8|0,Y=(Y&7|0)==0?0:0-Y&7,W=f+Y|0,Y=o-Y|0,A[6983]=W,A[6980]=Y,A[W+4>>2]=Y|1,A[f+o+4>>2]=40,A[6984]=A[7099],o=t+4|0,A[o>>2]=27,A[r>>2]=A[7089],A[r+4>>2]=A[7090],A[r+8>>2]=A[7091],A[r+12>>2]=A[7092],A[7089]=f,A[7090]=c,A[7092]=0,A[7091]=r,r=t+24|0;do W=r,r=r+4|0,A[r>>2]=7;while((W+8|0)>>>0<H>>>0);if((t|0)!=(p|0)){if(f=t-p|0,A[o>>2]=A[o>>2]&-2,A[p+4>>2]=f|1,A[t>>2]=f,r=f>>>3,f>>>0<256){o=27948+(r<<1<<2)|0,t=A[6977]|0,r=1<<r,t&r?(t=o+8|0,r=A[t>>2]|0):(A[6977]=t|r,r=o,t=o+8|0),A[t>>2]=p,A[r+12>>2]=p,A[p+8>>2]=r,A[p+12>>2]=o;break}if(r=f>>>8,r?f>>>0>16777215?a=31:(W=(r+1048320|0)>>>16&8,H=r<<W,Y=(H+520192|0)>>>16&4,H=H<<Y,a=(H+245760|0)>>>16&2,a=14-(Y|W|a)+(H<<a>>>15)|0,a=f>>>(a+7|0)&1|a<<1):a=0,o=28212+(a<<2)|0,A[p+28>>2]=a,A[p+20>>2]=0,A[l>>2]=0,r=A[6978]|0,t=1<<a,!(r&t)){A[6978]=r|t,A[o>>2]=p,A[p+24>>2]=o,A[p+12>>2]=p,A[p+8>>2]=p;break}r=A[o>>2]|0;t:do if((A[r+4>>2]&-8|0)!=(f|0)){for(a=f<<((a|0)==31?0:25-(a>>>1)|0);o=r+16+(a>>>31<<2)|0,t=A[o>>2]|0,!!t;)if((A[t+4>>2]&-8|0)==(f|0)){r=t;break t}else a=a<<1,r=t;A[o>>2]=p,A[p+24>>2]=r,A[p+12>>2]=p,A[p+8>>2]=p;break e}while(!1);W=r+8|0,H=A[W>>2]|0,A[H+12>>2]=p,A[W>>2]=p,A[p+8>>2]=H,A[p+12>>2]=r,A[p+24>>2]=0}}else H=A[6981]|0,(H|0)==0|f>>>0<H>>>0&&(A[6981]=f),A[7089]=f,A[7090]=c,A[7092]=0,A[6986]=A[7095],A[6985]=-1,A[6990]=27948,A[6989]=27948,A[6992]=27956,A[6991]=27956,A[6994]=27964,A[6993]=27964,A[6996]=27972,A[6995]=27972,A[6998]=27980,A[6997]=27980,A[7e3]=27988,A[6999]=27988,A[7002]=27996,A[7001]=27996,A[7004]=28004,A[7003]=28004,A[7006]=28012,A[7005]=28012,A[7008]=28020,A[7007]=28020,A[7010]=28028,A[7009]=28028,A[7012]=28036,A[7011]=28036,A[7014]=28044,A[7013]=28044,A[7016]=28052,A[7015]=28052,A[7018]=28060,A[7017]=28060,A[7020]=28068,A[7019]=28068,A[7022]=28076,A[7021]=28076,A[7024]=28084,A[7023]=28084,A[7026]=28092,A[7025]=28092,A[7028]=28100,A[7027]=28100,A[7030]=28108,A[7029]=28108,A[7032]=28116,A[7031]=28116,A[7034]=28124,A[7033]=28124,A[7036]=28132,A[7035]=28132,A[7038]=28140,A[7037]=28140,A[7040]=28148,A[7039]=28148,A[7042]=28156,A[7041]=28156,A[7044]=28164,A[7043]=28164,A[7046]=28172,A[7045]=28172,A[7048]=28180,A[7047]=28180,A[7050]=28188,A[7049]=28188,A[7052]=28196,A[7051]=28196,H=c+-40|0,Y=f+8|0,Y=(Y&7|0)==0?0:0-Y&7,W=f+Y|0,Y=H-Y|0,A[6983]=W,A[6980]=Y,A[W+4>>2]=Y|1,A[f+H+4>>2]=40,A[6984]=A[7099];while(!1);if(r=A[6980]|0,r>>>0>D>>>0)return Y=r-D|0,A[6980]=Y,H=A[6983]|0,W=H+D|0,A[6983]=W,A[W+4>>2]=Y|1,A[H+4>>2]=D|3,H=H+8|0,C=ce,H|0}return H=l1()|0,A[H>>2]=12,H=0,C=ce,H|0}function Se(t){t=t|0;var r=0,o=0,a=0,l=0,f=0,c=0,h=0,p=0;if(t){o=t+-8|0,l=A[6981]|0,t=A[t+-4>>2]|0,r=t&-8,p=o+r|0;do if(t&1)h=o,c=o;else{if(a=A[o>>2]|0,!(t&3)||(c=o+(0-a)|0,f=a+r|0,c>>>0<l>>>0))return;if((A[6982]|0)==(c|0)){if(t=p+4|0,r=A[t>>2]|0,(r&3|0)!=3){h=c,r=f;break}A[6979]=f,A[t>>2]=r&-2,A[c+4>>2]=f|1,A[c+f>>2]=f;return}if(o=a>>>3,a>>>0<256)if(t=A[c+8>>2]|0,r=A[c+12>>2]|0,(r|0)==(t|0)){A[6977]=A[6977]&~(1<<o),h=c,r=f;break}else{A[t+12>>2]=r,A[r+8>>2]=t,h=c,r=f;break}l=A[c+24>>2]|0,t=A[c+12>>2]|0;do if((t|0)==(c|0)){if(r=c+16|0,o=r+4|0,t=A[o>>2]|0,t)r=o;else if(t=A[r>>2]|0,!t){t=0;break}for(;;)if(a=t+20|0,o=A[a>>2]|0,o)t=o,r=a;else if(a=t+16|0,o=A[a>>2]|0,o)t=o,r=a;else break;A[r>>2]=0}else h=A[c+8>>2]|0,A[h+12>>2]=t,A[t+8>>2]=h;while(!1);if(l){if(r=A[c+28>>2]|0,o=28212+(r<<2)|0,(A[o>>2]|0)==(c|0)){if(A[o>>2]=t,!t){A[6978]=A[6978]&~(1<<r),h=c,r=f;break}}else if(h=l+16|0,A[((A[h>>2]|0)==(c|0)?h:l+20|0)>>2]=t,!t){h=c,r=f;break}A[t+24>>2]=l,r=c+16|0,o=A[r>>2]|0,o|0&&(A[t+16>>2]=o,A[o+24>>2]=t),r=A[r+4>>2]|0,r?(A[t+20>>2]=r,A[r+24>>2]=t,h=c,r=f):(h=c,r=f)}else h=c,r=f}while(!1);if(!(c>>>0>=p>>>0)&&(t=p+4|0,a=A[t>>2]|0,!!(a&1))){if(a&2)A[t>>2]=a&-2,A[h+4>>2]=r|1,A[c+r>>2]=r,l=r;else{if((A[6983]|0)==(p|0)){if(p=(A[6980]|0)+r|0,A[6980]=p,A[6983]=h,A[h+4>>2]=p|1,(h|0)!=(A[6982]|0))return;A[6982]=0,A[6979]=0;return}if((A[6982]|0)==(p|0)){p=(A[6979]|0)+r|0,A[6979]=p,A[6982]=c,A[h+4>>2]=p|1,A[c+p>>2]=p;return}l=(a&-8)+r|0,o=a>>>3;do if(a>>>0<256)if(r=A[p+8>>2]|0,t=A[p+12>>2]|0,(t|0)==(r|0)){A[6977]=A[6977]&~(1<<o);break}else{A[r+12>>2]=t,A[t+8>>2]=r;break}else{f=A[p+24>>2]|0,t=A[p+12>>2]|0;do if((t|0)==(p|0)){if(r=p+16|0,o=r+4|0,t=A[o>>2]|0,t)r=o;else if(t=A[r>>2]|0,!t){o=0;break}for(;;)if(a=t+20|0,o=A[a>>2]|0,o)t=o,r=a;else if(a=t+16|0,o=A[a>>2]|0,o)t=o,r=a;else break;A[r>>2]=0,o=t}else o=A[p+8>>2]|0,A[o+12>>2]=t,A[t+8>>2]=o,o=t;while(!1);if(f|0){if(t=A[p+28>>2]|0,r=28212+(t<<2)|0,(A[r>>2]|0)==(p|0)){if(A[r>>2]=o,!o){A[6978]=A[6978]&~(1<<t);break}}else if(a=f+16|0,A[((A[a>>2]|0)==(p|0)?a:f+20|0)>>2]=o,!o)break;A[o+24>>2]=f,t=p+16|0,r=A[t>>2]|0,r|0&&(A[o+16>>2]=r,A[r+24>>2]=o),t=A[t+4>>2]|0,t|0&&(A[o+20>>2]=t,A[t+24>>2]=o)}}while(!1);if(A[h+4>>2]=l|1,A[c+l>>2]=l,(h|0)==(A[6982]|0)){A[6979]=l;return}}if(t=l>>>3,l>>>0<256){o=27948+(t<<1<<2)|0,r=A[6977]|0,t=1<<t,r&t?(r=o+8|0,t=A[r>>2]|0):(A[6977]=r|t,t=o,r=o+8|0),A[r>>2]=h,A[t+12>>2]=h,A[h+8>>2]=t,A[h+12>>2]=o;return}t=l>>>8,t?l>>>0>16777215?a=31:(c=(t+1048320|0)>>>16&8,p=t<<c,f=(p+520192|0)>>>16&4,p=p<<f,a=(p+245760|0)>>>16&2,a=14-(f|c|a)+(p<<a>>>15)|0,a=l>>>(a+7|0)&1|a<<1):a=0,t=28212+(a<<2)|0,A[h+28>>2]=a,A[h+20>>2]=0,A[h+16>>2]=0,r=A[6978]|0,o=1<<a;e:do if(!(r&o))A[6978]=r|o,A[t>>2]=h,A[h+24>>2]=t,A[h+12>>2]=h,A[h+8>>2]=h;else{t=A[t>>2]|0;t:do if((A[t+4>>2]&-8|0)!=(l|0)){for(a=l<<((a|0)==31?0:25-(a>>>1)|0);o=t+16+(a>>>31<<2)|0,r=A[o>>2]|0,!!r;)if((A[r+4>>2]&-8|0)==(l|0)){t=r;break t}else a=a<<1,t=r;A[o>>2]=h,A[h+24>>2]=t,A[h+12>>2]=h,A[h+8>>2]=h;break e}while(!1);c=t+8|0,p=A[c>>2]|0,A[p+12>>2]=h,A[c>>2]=h,A[h+8>>2]=p,A[h+12>>2]=t,A[h+24>>2]=0}while(!1);if(p=(A[6985]|0)+-1|0,A[6985]=p,!(p|0)){for(t=28364;t=A[t>>2]|0,t;)t=t+8|0;A[6985]=-1}}}}function cA(t,r){t=t|0,r=r|0;var o=0;return t?(o=xA(r,t)|0,(r|t)>>>0>65535&&(o=((o>>>0)/(t>>>0)|0|0)==(r|0)?o:-1)):o=0,t=RA(o)|0,!t||!(A[t+-4>>2]&3)||Kr(t|0,0,o|0)|0,t|0}function Ce(t,r,o,a){return t=t|0,r=r|0,o=o|0,a=a|0,o=t+o>>>0,je(r+a+(o>>>0<t>>>0|0)>>>0|0),o|0|0}function Tt(t,r,o,a){return t=t|0,r=r|0,o=o|0,a=a|0,a=r-a-(o>>>0>t>>>0|0)>>>0,je(a|0),t-o>>>0|0|0}function Lf(t){return t=t|0,(t?31-(WA(t^t-1)|0)|0:32)|0}function Ja(t,r,o,a,l){t=t|0,r=r|0,o=o|0,a=a|0,l=l|0;var f=0,c=0,h=0,p=0,g=0,_=0,D=0,F=0,j=0,N=0;if(_=t,p=r,g=p,c=o,F=a,h=F,!g)return f=(l|0)!=0,h?f?(A[l>>2]=t|0,A[l+4>>2]=r&0,F=0,l=0,je(F|0),l|0):(F=0,l=0,je(F|0),l|0):(f&&(A[l>>2]=(_>>>0)%(c>>>0),A[l+4>>2]=0),F=0,l=(_>>>0)/(c>>>0)>>>0,je(F|0),l|0);f=(h|0)==0;do if(c){if(!f){if(f=(WA(h|0)|0)-(WA(g|0)|0)|0,f>>>0<=31){D=f+1|0,h=31-f|0,r=f-31>>31,c=D,t=_>>>(D>>>0)&r|g<<h,r=g>>>(D>>>0)&r,f=0,h=_<<h;break}return l?(A[l>>2]=t|0,A[l+4>>2]=p|r&0,F=0,l=0,je(F|0),l|0):(F=0,l=0,je(F|0),l|0)}if(f=c-1|0,f&c|0){h=(WA(c|0)|0)+33-(WA(g|0)|0)|0,N=64-h|0,D=32-h|0,p=D>>31,j=h-32|0,r=j>>31,c=h,t=D-1>>31&g>>>(j>>>0)|(g<<D|_>>>(h>>>0))&r,r=r&g>>>(h>>>0),f=_<<N&p,h=(g<<N|_>>>(j>>>0))&p|_<<D&h-33>>31;break}return l|0&&(A[l>>2]=f&_,A[l+4>>2]=0),(c|0)==1?(j=p|r&0,N=t|0|0,je(j|0),N|0):(N=Lf(c|0)|0,j=g>>>(N>>>0)|0,N=g<<32-N|_>>>(N>>>0)|0,je(j|0),N|0)}else{if(f)return l|0&&(A[l>>2]=(g>>>0)%(c>>>0),A[l+4>>2]=0),j=0,N=(g>>>0)/(c>>>0)>>>0,je(j|0),N|0;if(!_)return l|0&&(A[l>>2]=0,A[l+4>>2]=(g>>>0)%(h>>>0)),j=0,N=(g>>>0)/(h>>>0)>>>0,je(j|0),N|0;if(f=h-1|0,!(f&h))return l|0&&(A[l>>2]=t|0,A[l+4>>2]=f&g|r&0),j=0,N=g>>>((Lf(h|0)|0)>>>0),je(j|0),N|0;if(f=(WA(h|0)|0)-(WA(g|0)|0)|0,f>>>0<=30){r=f+1|0,h=31-f|0,c=r,t=g<<h|_>>>(r>>>0),r=g>>>(r>>>0),f=0,h=_<<h;break}return l?(A[l>>2]=t|0,A[l+4>>2]=p|r&0,j=0,N=0,je(j|0),N|0):(j=0,N=0,je(j|0),N|0)}while(!1);if(!c)g=h,p=0,h=0;else{D=o|0|0,_=F|a&0,g=Ce(D|0,_|0,-1,-1)|0,o=T()|0,p=h,h=0;do a=p,p=f>>>31|p<<1,f=h|f<<1,a=t<<1|a>>>31|0,F=t>>>31|r<<1|0,Tt(g|0,o|0,a|0,F|0)|0,N=T()|0,j=N>>31|((N|0)<0?-1:0)<<1,h=j&1,t=Tt(a|0,F|0,j&D|0,(((N|0)<0?-1:0)>>31|((N|0)<0?-1:0)<<1)&_|0)|0,r=T()|0,c=c-1|0;while((c|0)!=0);g=p,p=0}return c=0,l|0&&(A[l>>2]=t,A[l+4>>2]=r),j=(f|0)>>>31|(g|c)<<1|(c<<1|f>>>31)&0|p,N=(f<<1|0)&-2|h,je(j|0),N|0}function dr(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0;return g=r>>31|((r|0)<0?-1:0)<<1,p=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1,f=a>>31|((a|0)<0?-1:0)<<1,l=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,h=Tt(g^t|0,p^r|0,g|0,p|0)|0,c=T()|0,t=f^g,r=l^p,Tt((Ja(h,c,Tt(f^o|0,l^a|0,f|0,l|0)|0,T()|0,0)|0)^t|0,(T()|0)^r|0,t|0,r|0)|0}function u1(t,r){t=t|0,r=r|0;var o=0,a=0,l=0,f=0;return f=t&65535,l=r&65535,o=xA(l,f)|0,a=t>>>16,t=(o>>>16)+(xA(l,a)|0)|0,l=r>>>16,r=xA(l,f)|0,je((t>>>16)+(xA(l,a)|0)+(((t&65535)+r|0)>>>16)|0),t+r<<16|o&65535|0|0}function Ft(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0;return l=t,f=o,o=u1(l,f)|0,t=T()|0,je((xA(r,f)|0)+(xA(a,l)|0)+t|t&0|0),o|0|0|0}function Nn(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0,c=0,h=0,p=0,g=0;return l=C,C=C+16|0,h=l|0,c=r>>31|((r|0)<0?-1:0)<<1,f=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1,g=a>>31|((a|0)<0?-1:0)<<1,p=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,t=Tt(c^t|0,f^r|0,c|0,f|0)|0,r=T()|0,Ja(t,r,Tt(g^o|0,p^a|0,g|0,p|0)|0,T()|0,h)|0,a=Tt(A[h>>2]^c|0,A[h+4>>2]^f|0,c|0,f|0)|0,o=T()|0,C=l,je(o|0),a|0}function Fn(t,r,o,a){t=t|0,r=r|0,o=o|0,a=a|0;var l=0,f=0;return f=C,C=C+16|0,l=f|0,Ja(t,r,o,a,l)|0,C=f,je(A[l+4>>2]|0),A[l>>2]|0|0}function qf(t,r,o){return t=t|0,r=r|0,o=o|0,(o|0)<32?(je(r>>o|0),t>>>o|(r&(1<<o)-1)<<32-o):(je(((r|0)<0?-1:0)|0),r>>o-32|0)}function se(t,r,o){return t=t|0,r=r|0,o=o|0,(o|0)<32?(je(r>>>o|0),t>>>o|(r&(1<<o)-1)<<32-o):(je(0),r>>>o-32|0)}function he(t,r,o){return t=t|0,r=r|0,o=o|0,(o|0)<32?(je(r<<o|(t&(1<<o)-1<<32-o)>>>32-o|0),t<<o):(je(t<<o-32|0),0)}function Uf(t,r,o){return t=t|0,r=r|0,o=o|0,r=WA(r)|0,(r|0)==32&&(r=r+(WA(t)|0)|0),je(0),r|0}function Gf(t,r){return t=+t,r=+r,t!=t?+r:r!=r?+t:+w2(+t,+r)}function es(t,r){return t=+t,r=+r,t!=t?+r:r!=r?+t:+ba(+t,+r)}function ts(t){return t=+t,t>=0?+Ct(t+.5):+On(t-.5)}function Qn(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0;if((o|0)>=8192)return v2(t|0,r|0,o|0)|0,t|0;if(f=t|0,l=t+o|0,(t&3)==(r&3)){for(;t&3;){if(!o)return f|0;oe[t>>0]=oe[r>>0]|0,t=t+1|0,r=r+1|0,o=o-1|0}for(o=l&-4|0,a=o-64|0;(t|0)<=(a|0);)A[t>>2]=A[r>>2],A[t+4>>2]=A[r+4>>2],A[t+8>>2]=A[r+8>>2],A[t+12>>2]=A[r+12>>2],A[t+16>>2]=A[r+16>>2],A[t+20>>2]=A[r+20>>2],A[t+24>>2]=A[r+24>>2],A[t+28>>2]=A[r+28>>2],A[t+32>>2]=A[r+32>>2],A[t+36>>2]=A[r+36>>2],A[t+40>>2]=A[r+40>>2],A[t+44>>2]=A[r+44>>2],A[t+48>>2]=A[r+48>>2],A[t+52>>2]=A[r+52>>2],A[t+56>>2]=A[r+56>>2],A[t+60>>2]=A[r+60>>2],t=t+64|0,r=r+64|0;for(;(t|0)<(o|0);)A[t>>2]=A[r>>2],t=t+4|0,r=r+4|0}else for(o=l-4|0;(t|0)<(o|0);)oe[t>>0]=oe[r>>0]|0,oe[t+1>>0]=oe[r+1>>0]|0,oe[t+2>>0]=oe[r+2>>0]|0,oe[t+3>>0]=oe[r+3>>0]|0,t=t+4|0,r=r+4|0;for(;(t|0)<(l|0);)oe[t>>0]=oe[r>>0]|0,t=t+1|0,r=r+1|0;return f|0}function Kr(t,r,o){t=t|0,r=r|0,o=o|0;var a=0,l=0,f=0,c=0;if(f=t+o|0,r=r&255,(o|0)>=67){for(;t&3;)oe[t>>0]=r,t=t+1|0;for(a=f&-4|0,c=r|r<<8|r<<16|r<<24,l=a-64|0;(t|0)<=(l|0);)A[t>>2]=c,A[t+4>>2]=c,A[t+8>>2]=c,A[t+12>>2]=c,A[t+16>>2]=c,A[t+20>>2]=c,A[t+24>>2]=c,A[t+28>>2]=c,A[t+32>>2]=c,A[t+36>>2]=c,A[t+40>>2]=c,A[t+44>>2]=c,A[t+48>>2]=c,A[t+52>>2]=c,A[t+56>>2]=c,A[t+60>>2]=c,t=t+64|0;for(;(t|0)<(a|0);)A[t>>2]=c,t=t+4|0}for(;(t|0)<(f|0);)oe[t>>0]=r,t=t+1|0;return f-o|0}function Hf(t){return t=+t,t>=0?+Ct(t+.5):+On(t-.5)}function hr(t){t=t|0;var r=0,o=0,a=0;return a=_2()|0,o=A[Kt>>2]|0,r=o+t|0,(t|0)>0&(r|0)<(o|0)|(r|0)<0?(E2(r|0)|0,ef(12),-1):(r|0)>(a|0)&&!(b2(r|0)|0)?(ef(12),-1):(A[Kt>>2]=r,o|0)}return{___divdi3:dr,___muldi3:Ft,___remdi3:Nn,___uremdi3:Fn,_areNeighborCells:Z2,_bitshift64Ashr:qf,_bitshift64Lshr:se,_bitshift64Shl:he,_calloc:cA,_cellAreaKm2:xg,_cellAreaM2:Rg,_cellAreaRads2:Ga,_cellToBoundary:Mn,_cellToCenterChild:Ef,_cellToChildPos:vg,_cellToChildren:cg,_cellToChildrenSize:Mi,_cellToLatLng:Jr,_cellToLocalIj:Ng,_cellToParent:Ba,_cellToVertex:fA,_cellToVertexes:r1,_cellsToDirectedEdge:eg,_cellsToLinkedMultiPolygon:I2,_childPosToCell:bg,_compactCells:dg,_destroyLinkedMultiPolygon:Sf,_directedEdgeToBoundary:Yo,_directedEdgeToCells:ng,_edgeLengthKm:Og,_edgeLengthM:Ig,_edgeLengthRads:Tg,_emscripten_replace_memory:$2,_free:Se,_getBaseCellNumber:vf,_getDirectedEdgeDestination:Ag,_getDirectedEdgeOrigin:tg,_getHexagonAreaAvgKm2:kf,_getHexagonAreaAvgM2:Cg,_getHexagonEdgeLengthAvgKm:Sg,_getHexagonEdgeLengthAvgM:Dg,_getIcosahedronFaces:$f,_getNumCells:Ua,_getPentagons:Qa,_getRes0Cells:F2,_getResolution:fg,_greatCircleDistanceKm:Ni,_greatCircleDistanceM:$g,_greatCircleDistanceRads:Eg,_gridDisk:tf,_gridDiskDistances:Af,_gridDistance:Qg,_gridPathCells:qg,_gridPathCellsSize:Lg,_gridRingUnsafe:x2,_i64Add:Ce,_i64Subtract:Tt,_isPentagon:ut,_isResClassIII:mg,_isValidCell:Oa,_isValidDirectedEdge:rg,_isValidVertex:i1,_latLngToCell:Na,_llvm_ctlz_i64:Uf,_llvm_maxnum_f64:Gf,_llvm_minnum_f64:es,_llvm_round_f64:ts,_localIjToCell:Fg,_malloc:RA,_maxFaceCount:wg,_maxGridDiskSize:D2,_maxPolygonToCellsSize:R2,_maxPolygonToCellsSizeExperimental:Hg,_memcpy:Qn,_memset:Kr,_originToDirectedEdges:ig,_pentagonCount:_g,_polygonToCells:T2,_polygonToCellsExperimental:Gg,_readInt64AsDoubleFromPointer:Zg,_res0CellCount:N2,_round:Hf,_sbrk:hr,_sizeOfCellBoundary:Jg,_sizeOfCoordIJ:Xg,_sizeOfGeoLoop:Kg,_sizeOfGeoPolygon:Wg,_sizeOfH3Index:Vg,_sizeOfLatLng:zg,_sizeOfLinkedGeoPolygon:Yg,_uncompactCells:hg,_uncompactCellsSize:pg,_vertexToLatLng:n1,establishStackSpace:S2,stackAlloc:P2,stackRestore:C2,stackSave:k2}}(c2,d2,M),q8=e.___divdi3=fe.___divdi3,U8=e.___muldi3=fe.___muldi3,G8=e.___remdi3=fe.___remdi3,H8=e.___uremdi3=fe.___uremdi3,V8=e._areNeighborCells=fe._areNeighborCells,z8=e._bitshift64Ashr=fe._bitshift64Ashr,J8=e._bitshift64Lshr=fe._bitshift64Lshr,K8=e._bitshift64Shl=fe._bitshift64Shl,W8=e._calloc=fe._calloc,Y8=e._cellAreaKm2=fe._cellAreaKm2,X8=e._cellAreaM2=fe._cellAreaM2,Z8=e._cellAreaRads2=fe._cellAreaRads2,eE=e._cellToBoundary=fe._cellToBoundary,tE=e._cellToCenterChild=fe._cellToCenterChild,AE=e._cellToChildPos=fe._cellToChildPos,rE=e._cellToChildren=fe._cellToChildren,nE=e._cellToChildrenSize=fe._cellToChildrenSize,iE=e._cellToLatLng=fe._cellToLatLng,oE=e._cellToLocalIj=fe._cellToLocalIj,sE=e._cellToParent=fe._cellToParent,aE=e._cellToVertex=fe._cellToVertex,lE=e._cellToVertexes=fe._cellToVertexes,uE=e._cellsToDirectedEdge=fe._cellsToDirectedEdge,fE=e._cellsToLinkedMultiPolygon=fe._cellsToLinkedMultiPolygon,cE=e._childPosToCell=fe._childPosToCell,dE=e._compactCells=fe._compactCells,hE=e._destroyLinkedMultiPolygon=fe._destroyLinkedMultiPolygon,pE=e._directedEdgeToBoundary=fe._directedEdgeToBoundary,mE=e._directedEdgeToCells=fe._directedEdgeToCells,gE=e._edgeLengthKm=fe._edgeLengthKm,yE=e._edgeLengthM=fe._edgeLengthM,wE=e._edgeLengthRads=fe._edgeLengthRads,h2=e._emscripten_replace_memory=fe._emscripten_replace_memory,_E=e._free=fe._free,vE=e._getBaseCellNumber=fe._getBaseCellNumber,bE=e._getDirectedEdgeDestination=fe._getDirectedEdgeDestination,EE=e._getDirectedEdgeOrigin=fe._getDirectedEdgeOrigin,$E=e._getHexagonAreaAvgKm2=fe._getHexagonAreaAvgKm2,PE=e._getHexagonAreaAvgM2=fe._getHexagonAreaAvgM2,kE=e._getHexagonEdgeLengthAvgKm=fe._getHexagonEdgeLengthAvgKm,CE=e._getHexagonEdgeLengthAvgM=fe._getHexagonEdgeLengthAvgM,SE=e._getIcosahedronFaces=fe._getIcosahedronFaces,DE=e._getNumCells=fe._getNumCells,xE=e._getPentagons=fe._getPentagons,RE=e._getRes0Cells=fe._getRes0Cells,TE=e._getResolution=fe._getResolution,OE=e._greatCircleDistanceKm=fe._greatCircleDistanceKm,IE=e._greatCircleDistanceM=fe._greatCircleDistanceM,BE=e._greatCircleDistanceRads=fe._greatCircleDistanceRads,ME=e._gridDisk=fe._gridDisk,jE=e._gridDiskDistances=fe._gridDiskDistances,NE=e._gridDistance=fe._gridDistance,FE=e._gridPathCells=fe._gridPathCells,QE=e._gridPathCellsSize=fe._gridPathCellsSize,LE=e._gridRingUnsafe=fe._gridRingUnsafe,qE=e._i64Add=fe._i64Add,UE=e._i64Subtract=fe._i64Subtract,GE=e._isPentagon=fe._isPentagon,HE=e._isResClassIII=fe._isResClassIII,VE=e._isValidCell=fe._isValidCell,zE=e._isValidDirectedEdge=fe._isValidDirectedEdge,JE=e._isValidVertex=fe._isValidVertex,KE=e._latLngToCell=fe._latLngToCell,WE=e._llvm_ctlz_i64=fe._llvm_ctlz_i64,YE=e._llvm_maxnum_f64=fe._llvm_maxnum_f64,XE=e._llvm_minnum_f64=fe._llvm_minnum_f64,ZE=e._llvm_round_f64=fe._llvm_round_f64,e$=e._localIjToCell=fe._localIjToCell,t$=e._malloc=fe._malloc,A$=e._maxFaceCount=fe._maxFaceCount,r$=e._maxGridDiskSize=fe._maxGridDiskSize,n$=e._maxPolygonToCellsSize=fe._maxPolygonToCellsSize,i$=e._maxPolygonToCellsSizeExperimental=fe._maxPolygonToCellsSizeExperimental,o$=e._memcpy=fe._memcpy,s$=e._memset=fe._memset,a$=e._originToDirectedEdges=fe._originToDirectedEdges,l$=e._pentagonCount=fe._pentagonCount,u$=e._polygonToCells=fe._polygonToCells,f$=e._polygonToCellsExperimental=fe._polygonToCellsExperimental,c$=e._readInt64AsDoubleFromPointer=fe._readInt64AsDoubleFromPointer,d$=e._res0CellCount=fe._res0CellCount,h$=e._round=fe._round,p$=e._sbrk=fe._sbrk,m$=e._sizeOfCellBoundary=fe._sizeOfCellBoundary,g$=e._sizeOfCoordIJ=fe._sizeOfCoordIJ,y$=e._sizeOfGeoLoop=fe._sizeOfGeoLoop,w$=e._sizeOfGeoPolygon=fe._sizeOfGeoPolygon,_$=e._sizeOfH3Index=fe._sizeOfH3Index,v$=e._sizeOfLatLng=fe._sizeOfLatLng,b$=e._sizeOfLinkedGeoPolygon=fe._sizeOfLinkedGeoPolygon,E$=e._uncompactCells=fe._uncompactCells,$$=e._uncompactCellsSize=fe._uncompactCellsSize,P$=e._vertexToLatLng=fe._vertexToLatLng,k$=e.establishStackSpace=fe.establishStackSpace,Wu=e.stackAlloc=fe.stackAlloc,p2=e.stackRestore=fe.stackRestore,m2=e.stackSave=fe.stackSave;if(e.asm=fe,e.cwrap=q,e.setValue=x,e.getValue=k,KA){Hu(KA)||(KA=m(KA));{e2("memory initializer");var wa=function(Z){Z.byteLength&&(Z=new Uint8Array(Z)),X.set(Z,S),e.memoryInitializerRequest&&delete e.memoryInitializerRequest.response,t2("memory initializer")},Yu=function(){y(KA,wa,function(){throw"could not load memory initializer "+KA})},Xu=ya(KA);if(Xu)wa(Xu.buffer);else if(e.memoryInitializerRequest){var Zu=function(){var Z=e.memoryInitializerRequest,ie=Z.response;if(Z.status!==200&&Z.status!==0){var ye=ya(e.memoryInitializerRequestURL);if(ye)ie=ye.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+Z.status+", retrying "+KA),Yu();return}}wa(ie)};e.memoryInitializerRequest.response?setTimeout(Zu,0):e.memoryInitializerRequest.addEventListener("load",Zu)}else Yu()}}var zo;Oi=function Z(){zo||_a(),zo||(Oi=Z)};function _a(Z){if(Z=Z||u,qr>0||(SA(),qr>0))return;function ie(){zo||(zo=!0,!B&&(DA(),Vm(),e.onRuntimeInitialized&&e.onRuntimeInitialized(),zm()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),ie()},1)):ie()}e.run=_a;function Ur(Z){throw e.onAbort&&e.onAbort(Z),Z+="",E(Z),b(Z),B=!0,"abort("+Z+"). Build with -s ASSERTIONS=1 for more info."}if(e.abort=Ur,e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();return _a(),n}(typeof Ot=="object"?Ot:{}),Me="number",Re=Me,qi=Me,Ie=Me,Be=Me,xt=Me,_e=Me,y1=[["sizeOfH3Index",Me],["sizeOfLatLng",Me],["sizeOfCellBoundary",Me],["sizeOfGeoLoop",Me],["sizeOfGeoPolygon",Me],["sizeOfLinkedGeoPolygon",Me],["sizeOfCoordIJ",Me],["readInt64AsDoubleFromPointer",Me],["isValidCell",qi,[Ie,Be]],["latLngToCell",Re,[Me,Me,xt,_e]],["cellToLatLng",Re,[Ie,Be,_e]],["cellToBoundary",Re,[Ie,Be,_e]],["maxGridDiskSize",Re,[Me,_e]],["gridDisk",Re,[Ie,Be,Me,_e]],["gridDiskDistances",Re,[Ie,Be,Me,_e,_e]],["gridRingUnsafe",Re,[Ie,Be,Me,_e]],["maxPolygonToCellsSize",Re,[_e,xt,Me,_e]],["polygonToCells",Re,[_e,xt,Me,_e]],["maxPolygonToCellsSizeExperimental",Re,[_e,xt,Me,_e]],["polygonToCellsExperimental",Re,[_e,xt,Me,Me,Me,_e]],["cellsToLinkedMultiPolygon",Re,[_e,Me,_e]],["destroyLinkedMultiPolygon",null,[_e]],["compactCells",Re,[_e,_e,Me,Me]],["uncompactCells",Re,[_e,Me,Me,_e,Me,xt]],["uncompactCellsSize",Re,[_e,Me,Me,xt,_e]],["isPentagon",qi,[Ie,Be]],["isResClassIII",qi,[Ie,Be]],["getBaseCellNumber",Me,[Ie,Be]],["getResolution",Me,[Ie,Be]],["maxFaceCount",Re,[Ie,Be,_e]],["getIcosahedronFaces",Re,[Ie,Be,_e]],["cellToParent",Re,[Ie,Be,xt,_e]],["cellToChildren",Re,[Ie,Be,xt,_e]],["cellToCenterChild",Re,[Ie,Be,xt,_e]],["cellToChildrenSize",Re,[Ie,Be,xt,_e]],["cellToChildPos",Re,[Ie,Be,xt,_e]],["childPosToCell",Re,[Me,Me,Ie,Be,xt,_e]],["areNeighborCells",Re,[Ie,Be,Ie,Be,_e]],["cellsToDirectedEdge",Re,[Ie,Be,Ie,Be,_e]],["getDirectedEdgeOrigin",Re,[Ie,Be,_e]],["getDirectedEdgeDestination",Re,[Ie,Be,_e]],["isValidDirectedEdge",qi,[Ie,Be]],["directedEdgeToCells",Re,[Ie,Be,_e]],["originToDirectedEdges",Re,[Ie,Be,_e]],["directedEdgeToBoundary",Re,[Ie,Be,_e]],["gridDistance",Re,[Ie,Be,Ie,Be,_e]],["gridPathCells",Re,[Ie,Be,Ie,Be,_e]],["gridPathCellsSize",Re,[Ie,Be,Ie,Be,_e]],["cellToLocalIj",Re,[Ie,Be,Ie,Be,Me,_e]],["localIjToCell",Re,[Ie,Be,_e,Me,_e]],["getHexagonAreaAvgM2",Re,[xt,_e]],["getHexagonAreaAvgKm2",Re,[xt,_e]],["getHexagonEdgeLengthAvgM",Re,[xt,_e]],["getHexagonEdgeLengthAvgKm",Re,[xt,_e]],["greatCircleDistanceM",Me,[_e,_e]],["greatCircleDistanceKm",Me,[_e,_e]],["greatCircleDistanceRads",Me,[_e,_e]],["cellAreaM2",Re,[Ie,Be,_e]],["cellAreaKm2",Re,[Ie,Be,_e]],["cellAreaRads2",Re,[Ie,Be,_e]],["edgeLengthM",Re,[Ie,Be,_e]],["edgeLengthKm",Re,[Ie,Be,_e]],["edgeLengthRads",Re,[Ie,Be,_e]],["getNumCells",Re,[xt,_e]],["getRes0Cells",Re,[_e]],["res0CellCount",Me],["getPentagons",Re,[Me,_e]],["pentagonCount",Me],["cellToVertex",Re,[Ie,Be,Me,_e]],["cellToVertexes",Re,[Ie,Be,_e]],["vertexToLatLng",Re,[Ie,Be,_e]],["isValidVertex",qi,[Ie,Be]]],w1=0,_1=1,v1=2,b1=3,E1=4,Wf=5,$1=6,P1=7,k1=8,C1=9,S1=10,D1=11,x1=12,R1=13,T1=14,O1=15,It={};It[w1]="Success";It[_1]="The operation failed but a more specific error is not available";It[v1]="Argument was outside of acceptable range";It[b1]="Latitude or longitude arguments were outside of acceptable range";It[E1]="Resolution argument was outside of acceptable range";It[Wf]="Cell argument was not valid";It[$1]="Directed edge argument was not valid";It[P1]="Undirected edge argument was not valid";It[k1]="Vertex argument was not valid";It[C1]="Pentagon distortion was encountered";It[S1]="Duplicate input";It[D1]="Cell arguments were not neighbors";It[x1]="Cell arguments had incompatible resolutions";It[R1]="Memory allocation failed";It[T1]="Bounds of provided memory were insufficient";It[O1]="Mode or flags argument was not valid";var I1=1e3,Yf=1001,Xf=1002,rs={};rs[I1]="Unknown unit";rs[Yf]="Array length out of bounds";rs[Xf]="Got unexpected null value for H3 index";var B1="Unknown error";function Zf(n,e,i){var s=i&&"value"in i,u=new Error((n[e]||B1)+" (code: "+e+(s?", value: "+i.value:"")+")");return u.code=e,u}function ec(n,e){var i=arguments.length===2?{value:e}:{};return Zf(It,n,i)}function tc(n,e){var i=arguments.length===2?{value:e}:{};return Zf(rs,n,i)}function ns(n){if(n!==0)throw ec(n)}var Qt={};y1.forEach(function(e){Qt[e[0]]=Ot.cwrap.apply(Ot,e)});var Ln=16;var M1=4;var j1=8,N1=8,Ui=Qt.sizeOfH3Index(),F1=Qt.sizeOfLatLng(),S$=Qt.sizeOfCellBoundary(),D$=Qt.sizeOfGeoPolygon(),x$=Qt.sizeOfGeoLoop(),R$=Qt.sizeOfLinkedGeoPolygon(),T$=Qt.sizeOfCoordIJ();function Ac(n){if(!n)throw tc(Xf);return n}var Q1=Math.pow(2,32)-1;function L1(n){if(n>Q1)throw tc(Yf,n);return n}var q1=/[^0-9a-fA-F]/;function Gi(n){if(Array.isArray(n)&&n.length===2&&Number.isInteger(n[0])&&Number.isInteger(n[1]))return n;if(typeof n!="string"||q1.test(n))return[0,0];var e=parseInt(n.substring(0,n.length-8),Ln),i=parseInt(n.substring(n.length-8),Ln);return[i,e]}function Kf(n){if(n>=0)return n.toString(Ln);n=n&2147483647;var e=rc(8,n.toString(Ln)),i=(parseInt(e[0],Ln)+8).toString(Ln);return e=i+e.substring(1),e}function U1(n,e){return Kf(e)+rc(8,Kf(n))}function rc(n,e){for(var i=n-e.length,s="",u=0;u<i;u++)s+="0";return s=s+e,s}var O$=Math.pow(2,32);function Wa(n,e){e===void 0&&(e=0);var i=Ot.getValue(n+Ui*e,"i32"),s=Ot.getValue(n+Ui*e+M1,"i32");return s?U1(i,s):null}function G1(n){return Qt.readInt64AsDoubleFromPointer(n)}function H1(n,e){for(var i=[],s=0;s<e;s++){var u=Wa(n,s);u!==null&&i.push(u)}return i}function nc(n){var e=Gi(n),i=e[0],s=e[1];return!!Qt.isValidCell(i,s)}function TA(n){var e=Gi(n),i=e[0],s=e[1];return Qt.isValidCell(i,s)?Qt.getResolution(i,s):-1}function Ya(n,e,i){var s=Ot._malloc(F1);Ot.HEAPF64.set([n,e].map(z1),s/j1);var u=Ot._malloc(Ui);try{return ns(Qt.latLngToCell(s,i,u)),Ac(Wa(u))}finally{Ot._free(u),Ot._free(s)}}function OA(n,e){var i=Gi(n),s=i[0],u=i[1],d=Ot._malloc(Ui);try{return ns(Qt.cellToParent(s,u,e,d)),Ac(Wa(d))}finally{Ot._free(d)}}function ic(n,e){if(!nc(n))return[];var i=Gi(n),s=i[0],u=i[1],d=L1(V1(n,e)),m=Ot._calloc(d,Ui);try{return ns(Qt.cellToChildren(s,u,e,m)),H1(m,d)}finally{Ot._free(m)}}function V1(n,e){if(!nc(n))throw ec(Wf);var i=Gi(n),s=i[0],u=i[1],d=Ot._malloc(N1);try{return ns(Qt.cellToChildrenSize(s,u,e,d)),G1(d)}finally{Ot._free(d)}}function z1(n){return n*Math.PI/180}var is="RFC3986",os={RFC1738:n=>String(n).replace(/%20/g,"+"),RFC3986:n=>String(n)},oc="RFC1738";var J1=Array.isArray,IA=(()=>{let n=[];for(let e=0;e<256;++e)n.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return n})();var Za=1024,sc=(n,e,i,s,u)=>{if(n.length===0)return n;let d=n;if(typeof n=="symbol"?d=Symbol.prototype.toString.call(n):typeof n!="string"&&(d=String(n)),i==="iso-8859-1")return escape(d).replace(/%u[0-9a-f]{4}/gi,function(y){return"%26%23"+parseInt(y.slice(2),16)+"%3B"});let m="";for(let y=0;y<d.length;y+=Za){let E=d.length>=Za?d.slice(y,y+Za):d,b=[];for(let w=0;w<E.length;++w){let v=E.charCodeAt(w);if(v===45||v===46||v===95||v===126||v>=48&&v<=57||v>=65&&v<=90||v>=97&&v<=122||u===oc&&(v===40||v===41)){b[b.length]=E.charAt(w);continue}if(v<128){b[b.length]=IA[v];continue}if(v<2048){b[b.length]=IA[192|v>>6]+IA[128|v&63];continue}if(v<55296||v>=57344){b[b.length]=IA[224|v>>12]+IA[128|v>>6&63]+IA[128|v&63];continue}w+=1,v=65536+((v&1023)<<10|E.charCodeAt(w)&1023),b[b.length]=IA[240|v>>18]+IA[128|v>>12&63]+IA[128|v>>6&63]+IA[128|v&63]}m+=b.join("")}return m};function ac(n){return!n||typeof n!="object"?!1:!!(n.constructor&&n.constructor.isBuffer&&n.constructor.isBuffer(n))}function e0(n,e){if(J1(n)){let i=[];for(let s=0;s<n.length;s+=1)i.push(e(n[s]));return i}return e(n)}var K1=Object.prototype.hasOwnProperty,lc={brackets(n){return String(n)+"[]"},comma:"comma",indices(n,e){return String(n)+"["+e+"]"},repeat(n){return String(n)}},BA=Array.isArray,W1=Array.prototype.push,uc=function(n,e){W1.apply(n,BA(e)?e:[e])},Y1=Date.prototype.toISOString,Et={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:sc,encodeValuesOnly:!1,format:is,formatter:os[is],indices:!1,serializeDate(n){return Y1.call(n)},skipNulls:!1,strictNullHandling:!1};function X1(n){return typeof n=="string"||typeof n=="number"||typeof n=="boolean"||typeof n=="symbol"||typeof n=="bigint"}var t0={};function fc(n,e,i,s,u,d,m,y,E,b,w,v,$,S,x,k,B,O){let I=n,U=O,q=0,V=!1;for(;(U=U.get(t0))!==void 0&&!V;){let le=U.get(n);if(q+=1,typeof le<"u"){if(le===q)throw new RangeError("Cyclic object value");V=!0}typeof U.get(t0)>"u"&&(q=0)}if(typeof b=="function"?I=b(e,I):I instanceof Date?I=$?.(I):i==="comma"&&BA(I)&&(I=e0(I,function(le){return le instanceof Date?$?.(le):le})),I===null){if(d)return E&&!k?E(e,Et.encoder,B,"key",S):e;I=""}if(X1(I)||ac(I)){if(E){let le=k?e:E(e,Et.encoder,B,"key",S);return[x?.(le)+"="+x?.(E(I,Et.encoder,B,"value",S))]}return[x?.(e)+"="+x?.(String(I))]}let z=[];if(typeof I>"u")return z;let re;if(i==="comma"&&BA(I))k&&E&&(I=e0(I,E)),re=[{value:I.length>0?I.join(",")||null:void 0}];else if(BA(b))re=b;else{let le=Object.keys(I);re=w?le.sort(w):le}let L=y?String(e).replace(/\./g,"%2E"):String(e),J=s&&BA(I)&&I.length===1?L+"[]":L;if(u&&BA(I)&&I.length===0)return J+"[]";for(let le=0;le<re.length;++le){let ae=re[le],R=typeof ae=="object"&&typeof ae.value<"u"?ae.value:I[ae];if(m&&R===null)continue;let M=v&&y?ae.replace(/\./g,"%2E"):ae,Q=BA(I)?typeof i=="function"?i(J,M):J:J+(v?"."+M:"["+M+"]");O.set(n,q);let X=new WeakMap;X.set(t0,O),uc(z,fc(R,Q,i,s,u,d,m,y,i==="comma"&&k&&BA(I)?null:E,b,w,v,$,S,x,k,B,X))}return z}function Z1(n=Et){if(typeof n.allowEmptyArrays<"u"&&typeof n.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof n.encodeDotInKeys<"u"&&typeof n.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(n.encoder!==null&&typeof n.encoder<"u"&&typeof n.encoder!="function")throw new TypeError("Encoder has to be a function.");let e=n.charset||Et.charset;if(typeof n.charset<"u"&&n.charset!=="utf-8"&&n.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let i=is;if(typeof n.format<"u"){if(!K1.call(os,n.format))throw new TypeError("Unknown format option provided.");i=n.format}let s=os[i],u=Et.filter;(typeof n.filter=="function"||BA(n.filter))&&(u=n.filter);let d;if(n.arrayFormat&&n.arrayFormat in lc?d=n.arrayFormat:"indices"in n?d=n.indices?"indices":"repeat":d=Et.arrayFormat,"commaRoundTrip"in n&&typeof n.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");let m=typeof n.allowDots>"u"?n.encodeDotInKeys?!0:Et.allowDots:!!n.allowDots;return{addQueryPrefix:typeof n.addQueryPrefix=="boolean"?n.addQueryPrefix:Et.addQueryPrefix,allowDots:m,allowEmptyArrays:typeof n.allowEmptyArrays=="boolean"?!!n.allowEmptyArrays:Et.allowEmptyArrays,arrayFormat:d,charset:e,charsetSentinel:typeof n.charsetSentinel=="boolean"?n.charsetSentinel:Et.charsetSentinel,commaRoundTrip:!!n.commaRoundTrip,delimiter:typeof n.delimiter>"u"?Et.delimiter:n.delimiter,encode:typeof n.encode=="boolean"?n.encode:Et.encode,encodeDotInKeys:typeof n.encodeDotInKeys=="boolean"?n.encodeDotInKeys:Et.encodeDotInKeys,encoder:typeof n.encoder=="function"?n.encoder:Et.encoder,encodeValuesOnly:typeof n.encodeValuesOnly=="boolean"?n.encodeValuesOnly:Et.encodeValuesOnly,filter:u,format:i,formatter:s,serializeDate:typeof n.serializeDate=="function"?n.serializeDate:Et.serializeDate,skipNulls:typeof n.skipNulls=="boolean"?n.skipNulls:Et.skipNulls,sort:typeof n.sort=="function"?n.sort:null,strictNullHandling:typeof n.strictNullHandling=="boolean"?n.strictNullHandling:Et.strictNullHandling}}function A0(n,e={}){let i=n,s=Z1(e),u,d;typeof s.filter=="function"?(d=s.filter,i=d("",i)):BA(s.filter)&&(d=s.filter,u=d);let m=[];if(typeof i!="object"||i===null)return"";let y=lc[s.arrayFormat],E=y==="comma"&&s.commaRoundTrip;u||(u=Object.keys(i)),s.sort&&u.sort(s.sort);let b=new WeakMap;for(let $=0;$<u.length;++$){let S=u[$];s.skipNulls&&i[S]===null||uc(m,fc(i[S],S,y,E,s.allowEmptyArrays,s.strictNullHandling,s.skipNulls,s.encodeDotInKeys,s.encode?s.encoder:null,s.filter,s.sort,s.allowDots,s.serializeDate,s.format,s.formatter,s.encodeValuesOnly,s.charset,b))}let w=m.join(s.delimiter),v=s.addQueryPrefix===!0?"?":"";return s.charsetSentinel&&(s.charset==="iso-8859-1"?v+="utf8=%26%2310003%3B&":v+="utf8=%E2%9C%93&"),w.length>0?v+w:""}var Wr="4.94.0";var cc=!1,Yr,r0,ty,Ay,ry,n0,ny,ss,i0,o0,s0,as,a0;function dc(n,e={auto:!1}){if(cc)throw new Error(`you must \`import 'openai/shims/${n.kind}'\` before importing anything else from openai`);if(Yr)throw new Error(`can't \`import 'openai/shims/${n.kind}'\` after \`import 'openai/shims/${Yr}'\``);cc=e.auto,Yr=n.kind,r0=n.fetch,ty=n.Request,Ay=n.Response,ry=n.Headers,n0=n.FormData,ny=n.Blob,ss=n.File,i0=n.ReadableStream,o0=n.getMultipartRequestOptions,s0=n.getDefaultAgent,as=n.fileFromPath,a0=n.isFsReadStream}var ls=class{constructor(e){this.body=e}get[Symbol.toStringTag](){return"MultipartBody"}};function hc({manuallyImported:n}={}){let e=n?"You may need to use polyfills":"Add one of these imports before your first `import \u2026 from 'openai'`:\n- `import 'openai/shims/node'` (if you're running on Node)\n- `import 'openai/shims/web'` (otherwise)\n",i,s,u,d;try{i=fetch,s=Request,u=Response,d=Headers}catch(m){throw new Error(`this environment is missing the following Web Fetch API type: ${m.message}. ${e}`)}return{kind:"web",fetch:i,Request:s,Response:u,Headers:d,FormData:typeof FormData<"u"?FormData:class{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'FormData' is undefined. ${e}`)}},Blob:typeof Blob<"u"?Blob:class{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'Blob' is undefined. ${e}`)}},File:typeof File<"u"?File:class{constructor(){throw new Error(`file uploads aren't supported in this environment yet as 'File' is undefined. ${e}`)}},ReadableStream:typeof ReadableStream<"u"?ReadableStream:class{constructor(){throw new Error(`streaming isn't supported in this environment yet as 'ReadableStream' is undefined. ${e}`)}},getMultipartRequestOptions:async(m,y)=>({...y,body:new ls(m)}),getDefaultAgent:m=>{},fileFromPath:()=>{throw new Error("The `fileFromPath` function is only supported in Node. See the README for more details: https://www.github.com/openai/openai-node#file-uploads")},isFsReadStream:m=>!1}}var l0=()=>{Yr||dc(hc(),{auto:!0})};l0();var $e=class extends Error{},$t=class n extends $e{constructor(e,i,s,u){super(`${n.makeMessage(e,i,s)}`),this.status=e,this.headers=u,this.request_id=u?.["x-request-id"],this.error=i;let d=i;this.code=d?.code,this.param=d?.param,this.type=d?.type}static makeMessage(e,i,s){let u=i?.message?typeof i.message=="string"?i.message:JSON.stringify(i.message):i?JSON.stringify(i):s;return e&&u?`${e} ${u}`:e?`${e} status code (no body)`:u||"(no status code or body)"}static generate(e,i,s,u){if(!e||!u)return new pr({message:s,cause:us(i)});let d=i?.error;return e===400?new Hi(e,d,s,u):e===401?new Vi(e,d,s,u):e===403?new zi(e,d,s,u):e===404?new Ji(e,d,s,u):e===409?new Ki(e,d,s,u):e===422?new Wi(e,d,s,u):e===429?new Yi(e,d,s,u):e>=500?new Xi(e,d,s,u):new n(e,d,s,u)}},bt=class extends $t{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}},pr=class extends $t{constructor({message:e,cause:i}){super(void 0,void 0,e||"Connection error.",void 0),i&&(this.cause=i)}},mr=class extends pr{constructor({message:e}={}){super({message:e??"Request timed out."})}},Hi=class extends $t{},Vi=class extends $t{},zi=class extends $t{},Ji=class extends $t{},Ki=class extends $t{},Wi=class extends $t{},Yi=class extends $t{},Xi=class extends $t{},qn=class extends $e{constructor(){super("Could not parse response content as the length limit was reached")}},Un=class extends $e{constructor(){super("Could not parse response content as the request was rejected by the content filter")}};var fs=function(n,e,i,s,u){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!u:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(n,i):u?u.value=i:e.set(n,i),i},Xr=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},rA,Zr=class{constructor(){rA.set(this,void 0),this.buffer=new Uint8Array,fs(this,rA,null,"f")}decode(e){if(e==null)return[];let i=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?new TextEncoder().encode(e):e,s=new Uint8Array(this.buffer.length+i.length);s.set(this.buffer),s.set(i,this.buffer.length),this.buffer=s;let u=[],d;for(;(d=sy(this.buffer,Xr(this,rA,"f")))!=null;){if(d.carriage&&Xr(this,rA,"f")==null){fs(this,rA,d.index,"f");continue}if(Xr(this,rA,"f")!=null&&(d.index!==Xr(this,rA,"f")+1||d.carriage)){u.push(this.decodeText(this.buffer.slice(0,Xr(this,rA,"f")-1))),this.buffer=this.buffer.slice(Xr(this,rA,"f")),fs(this,rA,null,"f");continue}let m=Xr(this,rA,"f")!==null?d.preceding-1:d.preceding,y=this.decodeText(this.buffer.slice(0,m));u.push(y),this.buffer=this.buffer.slice(d.index),fs(this,rA,null,"f")}return u}decodeText(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof Buffer<"u"){if(e instanceof Buffer)return e.toString();if(e instanceof Uint8Array)return Buffer.from(e).toString();throw new $e(`Unexpected: received non-Uint8Array (${e.constructor.name}) stream chunk in an environment with a global "Buffer" defined, which this library assumes to be Node. Please report this error.`)}if(typeof TextDecoder<"u"){if(e instanceof Uint8Array||e instanceof ArrayBuffer)return this.textDecoder??(this.textDecoder=new TextDecoder("utf8")),this.textDecoder.decode(e);throw new $e(`Unexpected: received non-Uint8Array/ArrayBuffer (${e.constructor.name}) in a web platform. Please report this error.`)}throw new $e("Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.")}flush(){return this.buffer.length?this.decode(`
|
|
11
11
|
`):[]}};rA=new WeakMap;Zr.NEWLINE_CHARS=new Set([`
|
|
12
12
|
`,"\r"]);Zr.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function sy(n,e){for(let u=e??0;u<n.length;u++){if(n[u]===10)return{preceding:u,index:u+1,carriage:!1};if(n[u]===13)return{preceding:u,index:u+1,carriage:!0}}return null}function pc(n){for(let s=0;s<n.length-1;s++){if(n[s]===10&&n[s+1]===10||n[s]===13&&n[s+1]===13)return s+2;if(n[s]===13&&n[s+1]===10&&s+3<n.length&&n[s+2]===13&&n[s+3]===10)return s+4}return-1}function u0(n){if(n[Symbol.asyncIterator])return n;let e=n.getReader();return{async next(){try{let i=await e.read();return i?.done&&e.releaseLock(),i}catch(i){throw e.releaseLock(),i}},async return(){let i=e.cancel();return e.releaseLock(),await i,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}var MA=class n{constructor(e,i){this.iterator=e,this.controller=i}static fromSSEResponse(e,i){let s=!1;async function*u(){if(s)throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");s=!0;let d=!1;try{for await(let m of ay(e,i))if(!d){if(m.data.startsWith("[DONE]")){d=!0;continue}if(m.event===null||m.event.startsWith("response.")||m.event.startsWith("transcript.")){let y;try{y=JSON.parse(m.data)}catch(E){throw console.error("Could not parse message into JSON:",m.data),console.error("From chunk:",m.raw),E}if(y&&y.error)throw new $t(void 0,y.error,void 0,c0(e.headers));yield y}else{let y;try{y=JSON.parse(m.data)}catch(E){throw console.error("Could not parse message into JSON:",m.data),console.error("From chunk:",m.raw),E}if(m.event=="error")throw new $t(void 0,y.error,y.message,void 0);yield{event:m.event,data:y}}}d=!0}catch(m){if(m instanceof Error&&m.name==="AbortError")return;throw m}finally{d||i.abort()}}return new n(u,i)}static fromReadableStream(e,i){let s=!1;async function*u(){let m=new Zr,y=u0(e);for await(let E of y)for(let b of m.decode(E))yield b;for(let E of m.flush())yield E}async function*d(){if(s)throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");s=!0;let m=!1;try{for await(let y of u())m||y&&(yield JSON.parse(y));m=!0}catch(y){if(y instanceof Error&&y.name==="AbortError")return;throw y}finally{m||i.abort()}}return new n(d,i)}[Symbol.asyncIterator](){return this.iterator()}tee(){let e=[],i=[],s=this.iterator(),u=d=>({next:()=>{if(d.length===0){let m=s.next();e.push(m),i.push(m)}return d.shift()}});return[new n(()=>u(e),this.controller),new n(()=>u(i),this.controller)]}toReadableStream(){let e=this,i,s=new TextEncoder;return new i0({async start(){i=e[Symbol.asyncIterator]()},async pull(u){try{let{value:d,done:m}=await i.next();if(m)return u.close();let y=s.encode(JSON.stringify(d)+`
|
|
13
13
|
`);u.enqueue(y)}catch(d){u.error(d)}},async cancel(){await i.return?.()}})}};async function*ay(n,e){if(!n.body)throw e.abort(),new $e("Attempted to iterate over a response with no body");let i=new f0,s=new Zr,u=u0(n.body);for await(let d of ly(u))for(let m of s.decode(d)){let y=i.decode(m);y&&(yield y)}for(let d of s.flush()){let m=i.decode(d);m&&(yield m)}}async function*ly(n){let e=new Uint8Array;for await(let i of n){if(i==null)continue;let s=i instanceof ArrayBuffer?new Uint8Array(i):typeof i=="string"?new TextEncoder().encode(i):i,u=new Uint8Array(e.length+s.length);u.set(e),u.set(s,e.length),e=u;let d;for(;(d=pc(e))!==-1;)yield e.slice(0,d),e=e.slice(d)}e.length>0&&(yield e)}var f0=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let d={event:this.event,data:this.data.join(`
|
|
14
|
-
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],d}if(this.chunks.push(e),e.startsWith(":"))return null;let[i,s,u]=uy(e,":");return u.startsWith(" ")&&(u=u.substring(1)),i==="event"?this.event=u:i==="data"&&this.data.push(u),null}};function uy(n,e){let i=n.indexOf(e);return i!==-1?[n.substring(0,i),e,n.substring(i+e.length)]:[n,"",""]}var mc=n=>n!=null&&typeof n=="object"&&typeof n.url=="string"&&typeof n.blob=="function",gc=n=>n!=null&&typeof n=="object"&&typeof n.name=="string"&&typeof n.lastModified=="number"&&Zi(n),Zi=n=>n!=null&&typeof n=="object"&&typeof n.size=="number"&&typeof n.type=="string"&&typeof n.text=="function"&&typeof n.slice=="function"&&typeof n.arrayBuffer=="function",fy=n=>gc(n)||mc(n)||a0(n);async function p0(n,e,i){if(n=await n,gc(n))return n;if(mc(n)){let u=await n.blob();e||(e=new URL(n.url).pathname.split(/[\\/]/).pop()??"unknown_file");let d=Zi(u)?[await u.arrayBuffer()]:[u];return new ss(d,e,i)}let s=await cy(n);if(e||(e=hy(n)??"unknown_file"),!i?.type){let u=s[0]?.type;typeof u=="string"&&(i={...i,type:u})}return new ss(s,e,i)}async function cy(n){let e=[];if(typeof n=="string"||ArrayBuffer.isView(n)||n instanceof ArrayBuffer)e.push(n);else if(Zi(n))e.push(await n.arrayBuffer());else if(py(n))for await(let i of n)e.push(i);else throw new Error(`Unexpected data type: ${typeof n}; constructor: ${n?.constructor?.name}; props: ${dy(n)}`);return e}function dy(n){return`[${Object.getOwnPropertyNames(n).map(i=>`"${i}"`).join(", ")}]`}function hy(n){return d0(n.name)||d0(n.filename)||d0(n.path)?.split(/[\\/]/).pop()}var d0=n=>{if(typeof n=="string")return n;if(typeof Buffer<"u"&&n instanceof Buffer)return String(n)},py=n=>n!=null&&typeof n=="object"&&typeof n[Symbol.asyncIterator]=="function",m0=n=>n&&typeof n=="object"&&n.body&&n[Symbol.toStringTag]==="MultipartBody";var dA=async n=>{let e=await yc(n.body);return o0(e,n)},yc=async n=>{let e=new n0;return await Promise.all(Object.entries(n||{}).map(([i,s])=>h0(e,i,s))),e};var h0=async(n,e,i)=>{if(i!==void 0){if(i==null)throw new TypeError(`Received null for "${e}"; to pass null in FormData, you must use the string 'null'`);if(typeof i=="string"||typeof i=="number"||typeof i=="boolean")n.append(e,String(i));else if(fy(i)){let s=await p0(i);n.append(e,s)}else if(Array.isArray(i))await Promise.all(i.map(s=>h0(n,e+"[]",s)));else if(typeof i=="object")await Promise.all(Object.entries(i).map(([s,u])=>h0(n,`${e}[${s}]`,u)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${i} instead`)}};var gy=function(n,e,i,s,u){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!u:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(n,i):u?u.value=i:e.set(n,i),i},yy=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},cs;l0();async function $c(n){let{response:e}=n;if(n.options.stream)return ZA("response",e.status,e.url,e.headers,e.body),n.options.__streamClass?n.options.__streamClass.fromSSEResponse(e,n.controller):MA.fromSSEResponse(e,n.controller);if(e.status===204)return null;if(n.options.__binaryResponse)return e;let s=e.headers.get("content-type")?.split(";")[0]?.trim();if(s?.includes("application/json")||s?.endsWith("+json")){let m=await e.json();return ZA("response",e.status,e.url,e.headers,m),Pc(m,e)}let d=await e.text();return ZA("response",e.status,e.url,e.headers,d),d}function Pc(n,e){return!n||typeof n!="object"||Array.isArray(n)?n:Object.defineProperty(n,"_request_id",{value:e.headers.get("x-request-id"),enumerable:!1})}var hs=class n extends Promise{constructor(e,i=$c){super(s=>{s(null)}),this.responsePromise=e,this.parseResponse=i}_thenUnwrap(e){return new n(this.responsePromise,async i=>Pc(e(await this.parseResponse(i),i),i.response))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,i]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:i,request_id:i.headers.get("x-request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(this.parseResponse)),this.parsedPromise}then(e,i){return this.parse().then(e,i)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}},ps=class{constructor({baseURL:e,maxRetries:i=2,timeout:s=6e5,httpAgent:u,fetch:d}){this.baseURL=e,this.maxRetries=g0("maxRetries",i),this.timeout=g0("timeout",s),this.httpAgent=u,this.fetch=d??r0}authHeaders(e){return{}}defaultHeaders(e){return{Accept:"application/json","Content-Type":"application/json","User-Agent":this.getUserAgent(),...by(),...this.authHeaders(e)}}validateHeaders(e,i){}defaultIdempotencyKey(){return`stainless-node-retry-${ky()}`}get(e,i){return this.methodRequest("get",e,i)}post(e,i){return this.methodRequest("post",e,i)}patch(e,i){return this.methodRequest("patch",e,i)}put(e,i){return this.methodRequest("put",e,i)}delete(e,i){return this.methodRequest("delete",e,i)}methodRequest(e,i,s){return this.request(Promise.resolve(s).then(async u=>{let d=u&&Zi(u?.body)?new DataView(await u.body.arrayBuffer()):u?.body instanceof DataView?u.body:u?.body instanceof ArrayBuffer?new DataView(u.body):u&&ArrayBuffer.isView(u?.body)?new DataView(u.body.buffer):u?.body;return{method:e,path:i,...u,body:d}}))}getAPIList(e,i,s){return this.requestAPIList(i,{method:"get",path:e,...s})}calculateContentLength(e){if(typeof e=="string"){if(typeof Buffer<"u")return Buffer.byteLength(e,"utf8").toString();if(typeof TextEncoder<"u")return new TextEncoder().encode(e).length.toString()}else if(ArrayBuffer.isView(e))return e.byteLength.toString();return null}buildRequest(e,{retryCount:i=0}={}){let s={...e},{method:u,path:d,query:m,headers:y={}}=s,E=ArrayBuffer.isView(s.body)||s.__binaryRequest&&typeof s.body=="string"?s.body:m0(s.body)?s.body.body:s.body?JSON.stringify(s.body,null,2):null,b=this.calculateContentLength(E),w=this.buildURL(d,m);"timeout"in s&&g0("timeout",s.timeout),s.timeout=s.timeout??this.timeout;let _=s.httpAgent??this.httpAgent??s0(w),$=s.timeout+1e3;typeof _?.options?.timeout=="number"&&$>(_.options.timeout??0)&&(_.options.timeout=$),this.idempotencyHeader&&u!=="get"&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),y[this.idempotencyHeader]=e.idempotencyKey);let C=this.buildHeaders({options:s,headers:y,contentLength:b,retryCount:i});return{req:{method:u,...E&&{body:E},headers:C,..._&&{agent:_},signal:s.signal??null},url:w,timeout:s.timeout}}buildHeaders({options:e,headers:i,contentLength:s,retryCount:u}){let d={};s&&(d["content-length"]=s);let m=this.defaultHeaders(e);return bc(d,m),bc(d,i),m0(e.body)&&Yr!=="node"&&delete d["content-type"],ds(m,"x-stainless-retry-count")===void 0&&ds(i,"x-stainless-retry-count")===void 0&&(d["x-stainless-retry-count"]=String(u)),ds(m,"x-stainless-timeout")===void 0&&ds(i,"x-stainless-timeout")===void 0&&e.timeout&&(d["x-stainless-timeout"]=String(Math.trunc(e.timeout/1e3))),this.validateHeaders(d,i),d}async prepareOptions(e){}async prepareRequest(e,{url:i,options:s}){}parseHeaders(e){return e?Symbol.iterator in e?Object.fromEntries(Array.from(e).map(i=>[...i])):{...e}:{}}makeStatusError(e,i,s,u){return $t.generate(e,i,s,u)}request(e,i=null){return new hs(this.makeRequest(e,i))}async makeRequest(e,i){let s=await e,u=s.maxRetries??this.maxRetries;i==null&&(i=u),await this.prepareOptions(s);let{req:d,url:m,timeout:y}=this.buildRequest(s,{retryCount:u-i});if(await this.prepareRequest(d,{url:m,options:s}),ZA("request",m,s,d.headers),s.signal?.aborted)throw new bt;let E=new AbortController,b=await this.fetchWithTimeout(m,d,y,E).catch(us);if(b instanceof Error){if(s.signal?.aborted)throw new bt;if(i)return this.retryRequest(s,i);throw b.name==="AbortError"?new mr:new pr({cause:b})}let w=c0(b.headers);if(!b.ok){if(i&&this.shouldRetry(b)){let B=`retrying, ${i} attempts remaining`;return ZA(`response (error; ${B})`,b.status,m,w),this.retryRequest(s,i,w)}let _=await b.text().catch(B=>us(B).message),$=Ey(_),C=$?void 0:_;throw ZA(`response (error; ${i?"(error; no more retries left)":"(error; not retryable)"})`,b.status,m,w,C),this.makeStatusError(b.status,$,C,w)}return{response:b,options:s,controller:E}}requestAPIList(e,i){let s=this.makeRequest(i,null);return new y0(this,s,e)}buildURL(e,i){let s=Py(e)?new URL(e):new URL(this.baseURL+(this.baseURL.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),u=this.defaultQuery();return kc(u)||(i={...u,...i}),typeof i=="object"&&i&&!Array.isArray(i)&&(s.search=this.stringifyQuery(i)),s.toString()}stringifyQuery(e){return Object.entries(e).filter(([i,s])=>typeof s<"u").map(([i,s])=>{if(typeof s=="string"||typeof s=="number"||typeof s=="boolean")return`${encodeURIComponent(i)}=${encodeURIComponent(s)}`;if(s===null)return`${encodeURIComponent(i)}=`;throw new $e(`Cannot stringify type ${typeof s}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}async fetchWithTimeout(e,i,s,u){let{signal:d,...m}=i||{};d&&d.addEventListener("abort",()=>u.abort());let y=setTimeout(()=>u.abort(),s),E={signal:u.signal,...m};return E.method&&(E.method=E.method.toUpperCase()),this.fetch.call(void 0,e,E).finally(()=>{clearTimeout(y)})}shouldRetry(e){let i=e.headers.get("x-should-retry");return i==="true"?!0:i==="false"?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,i,s){let u,d=s?.["retry-after-ms"];if(d){let y=parseFloat(d);Number.isNaN(y)||(u=y)}let m=s?.["retry-after"];if(m&&!u){let y=parseFloat(m);Number.isNaN(y)?u=Date.parse(m)-Date.now():u=y*1e3}if(!(u&&0<=u&&u<60*1e3)){let y=e.maxRetries??this.maxRetries;u=this.calculateDefaultRetryTimeoutMillis(i,y)}return await er(u),this.makeRequest(e,i-1)}calculateDefaultRetryTimeoutMillis(e,i){let d=i-e,m=Math.min(.5*Math.pow(2,d),8),y=1-Math.random()*.25;return m*y*1e3}getUserAgent(){return`${this.constructor.name}/JS ${Wr}`}},eo=class{constructor(e,i,s,u){cs.set(this,void 0),gy(this,cs,e,"f"),this.options=u,this.response=i,this.body=s}hasNextPage(){return this.getPaginatedItems().length?this.nextPageInfo()!=null:!1}async getNextPage(){let e=this.nextPageInfo();if(!e)throw new $e("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");let i={...this.options};if("params"in e&&typeof i.query=="object")i.query={...i.query,...e.params};else if("url"in e){let s=[...Object.entries(i.query||{}),...e.url.searchParams.entries()];for(let[u,d]of s)e.url.searchParams.set(u,d);i.query=void 0,i.path=e.url.toString()}return await yy(this,cs,"f").requestAPIList(this.constructor,i)}async*iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async*[(cs=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let i of e.getPaginatedItems())yield i}},y0=class extends hs{constructor(e,i,s){super(i,async u=>new s(e,u.response,await $c(u),u.options))}async*[Symbol.asyncIterator](){let e=await this;for await(let i of e)yield i}},c0=n=>new Proxy(Object.fromEntries(n.entries()),{get(e,i){let s=i.toString();return e[s.toLowerCase()]||e[s]}}),wy={method:!0,path:!0,query:!0,body:!0,headers:!0,maxRetries:!0,stream:!0,timeout:!0,httpAgent:!0,signal:!0,idempotencyKey:!0,__metadata:!0,__binaryRequest:!0,__binaryResponse:!0,__streamClass:!0},Ue=n=>typeof n=="object"&&n!==null&&!kc(n)&&Object.keys(n).every(e=>Cc(wy,e)),_y=()=>{if(typeof Deno<"u"&&Deno.build!=null)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Wr,"X-Stainless-OS":_c(Deno.build.os),"X-Stainless-Arch":wc(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Wr,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":process.version};if(Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Wr,"X-Stainless-OS":_c(process.platform),"X-Stainless-Arch":wc(process.arch),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":process.version};let n=vy();return n?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Wr,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${n.browser}`,"X-Stainless-Runtime-Version":n.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Wr,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function vy(){if(typeof navigator>"u"||!navigator)return null;let n=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:e,pattern:i}of n){let s=i.exec(navigator.userAgent);if(s){let u=s[1]||0,d=s[2]||0,m=s[3]||0;return{browser:e,version:`${u}.${d}.${m}`}}}return null}var wc=n=>n==="x32"?"x32":n==="x86_64"||n==="x64"?"x64":n==="arm"?"arm":n==="aarch64"||n==="arm64"?"arm64":n?`other:${n}`:"unknown",_c=n=>(n=n.toLowerCase(),n.includes("ios")?"iOS":n==="android"?"Android":n==="darwin"?"MacOS":n==="win32"?"Windows":n==="freebsd"?"FreeBSD":n==="openbsd"?"OpenBSD":n==="linux"?"Linux":n?`Other:${n}`:"Unknown"),vc,by=()=>vc??(vc=_y()),Ey=n=>{try{return JSON.parse(n)}catch{return}},$y=/^[a-z][a-z0-9+.-]*:/i,Py=n=>$y.test(n),er=n=>new Promise(e=>setTimeout(e,n)),g0=(n,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new $e(`${n} must be an integer`);if(e<0)throw new $e(`${n} must be a positive integer`);return e},us=n=>{if(n instanceof Error)return n;if(typeof n=="object"&&n!==null)try{return new Error(JSON.stringify(n))}catch{}return new Error(n)};var to=n=>{if(typeof process<"u")return process.env?.[n]?.trim()??void 0;if(typeof Deno<"u")return Deno.env?.get?.(n)?.trim()};function kc(n){if(!n)return!0;for(let e in n)return!1;return!0}function Cc(n,e){return Object.prototype.hasOwnProperty.call(n,e)}function bc(n,e){for(let i in e){if(!Cc(e,i))continue;let s=i.toLowerCase();if(!s)continue;let u=e[i];u===null?delete n[s]:u!==void 0&&(n[s]=u)}}var Ec=new Set(["authorization","api-key"]);function ZA(n,...e){if(typeof process<"u"&&process?.env?.DEBUG==="true"){let i=e.map(s=>{if(!s)return s;if(s.headers){let d={...s,headers:{...s.headers}};for(let m in s.headers)Ec.has(m.toLowerCase())&&(d.headers[m]="REDACTED");return d}let u=null;for(let d in s)Ec.has(d.toLowerCase())&&(u??(u={...s}),u[d]="REDACTED");return u??s});console.log(`OpenAI:DEBUG:${n}`,...i)}}var ky=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>{let e=Math.random()*16|0;return(n==="x"?e:e&3|8).toString(16)}),Sc=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u",Cy=n=>typeof n?.get=="function";var ds=(n,e)=>{let i=e.toLowerCase();if(Cy(n)){let s=e[0]?.toUpperCase()+e.substring(1).replace(/([^\w])(\w)/g,(u,d,m)=>d+m.toUpperCase());for(let u of[e,i,e.toUpperCase(),s]){let d=n.get(u);if(d)return d}}for(let[s,u]of Object.entries(n))if(s.toLowerCase()===i)return Array.isArray(u)?(u.length<=1||console.warn(`Received ${u.length} entries for the ${e} header, using the first entry.`),u[0]):u};var Dc=n=>{if(typeof Buffer<"u"){let e=Buffer.from(n,"base64");return Array.from(new Float32Array(e.buffer,e.byteOffset,e.length/Float32Array.BYTES_PER_ELEMENT))}else{let e=atob(n),i=e.length,s=new Uint8Array(i);for(let u=0;u<i;u++)s[u]=e.charCodeAt(u);return Array.from(new Float32Array(s.buffer))}};function Ao(n){return n!=null&&typeof n=="object"&&!Array.isArray(n)}var jA=class extends eo{constructor(e,i,s,u){super(e,i,s,u),this.data=s.data||[],this.object=s.object}getPaginatedItems(){return this.data??[]}nextPageParams(){return null}nextPageInfo(){return null}},et=class extends eo{constructor(e,i,s,u){super(e,i,s,u),this.data=s.data||[],this.has_more=s.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageParams(){let e=this.nextPageInfo();if(!e)return null;if("params"in e)return e.params;let i=Object.fromEntries(e.url.searchParams);return Object.keys(i).length?i:null}nextPageInfo(){let e=this.getPaginatedItems();if(!e.length)return null;let i=e[e.length-1]?.id;return i?{params:{after:i}}:null}};var ge=class{constructor(e){this._client=e}};var Gn=class extends ge{list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/chat/completions/${e}/messages`,ms,{query:i,...s})}};var yr=class extends ge{constructor(){super(...arguments),this.messages=new Gn(this._client)}create(e,i){return this._client.post("/chat/completions",{body:e,...i,stream:e.stream??!1})}retrieve(e,i){return this._client.get(`/chat/completions/${e}`,i)}update(e,i,s){return this._client.post(`/chat/completions/${e}`,{body:i,...s})}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/chat/completions",wr,{query:e,...i})}del(e,i){return this._client.delete(`/chat/completions/${e}`,i)}},wr=class extends et{},ms=class extends et{};yr.ChatCompletionsPage=wr;yr.Messages=Gn;var tr=class extends ge{constructor(){super(...arguments),this.completions=new yr(this._client)}};tr.Completions=yr;tr.ChatCompletionsPage=wr;var Hn=class extends ge{create(e,i){return this._client.post("/audio/speech",{body:e,...i,headers:{Accept:"application/octet-stream",...i?.headers},__binaryResponse:!0})}};var Vn=class extends ge{create(e,i){return this._client.post("/audio/transcriptions",dA({body:e,...i,stream:e.stream??!1,__metadata:{model:e.model}}))}};var zn=class extends ge{create(e,i){return this._client.post("/audio/translations",dA({body:e,...i,__metadata:{model:e.model}}))}};var NA=class extends ge{constructor(){super(...arguments),this.transcriptions=new Vn(this._client),this.translations=new zn(this._client),this.speech=new Hn(this._client)}};NA.Transcriptions=Vn;NA.Translations=zn;NA.Speech=Hn;var _r=class extends ge{create(e,i){return this._client.post("/batches",{body:e,...i})}retrieve(e,i){return this._client.get(`/batches/${e}`,i)}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/batches",en,{query:e,...i})}cancel(e,i){return this._client.post(`/batches/${e}/cancel`,i)}},en=class extends et{};_r.BatchesPage=en;var tn=class extends ge{create(e,i){return this._client.post("/assistants",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}retrieve(e,i){return this._client.get(`/assistants/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}update(e,i,s){return this._client.post(`/assistants/${e}`,{body:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/assistants",Jn,{query:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}del(e,i){return this._client.delete(`/assistants/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}},Jn=class extends et{};tn.AssistantsPage=Jn;function w0(n){return typeof n.parse=="function"}var vr=n=>n?.role==="assistant",_0=n=>n?.role==="function",v0=n=>n?.role==="tool";var wA=function(n,e,i,s,u){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!u:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(n,i):u?u.value=i:e.set(n,i),i},wt=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},b0,gs,ys,ro,no,ws,io,Ar,oo,_s,vs,Kn,xc,br=class{constructor(){b0.add(this),this.controller=new AbortController,gs.set(this,void 0),ys.set(this,()=>{}),ro.set(this,()=>{}),no.set(this,void 0),ws.set(this,()=>{}),io.set(this,()=>{}),Ar.set(this,{}),oo.set(this,!1),_s.set(this,!1),vs.set(this,!1),Kn.set(this,!1),wA(this,gs,new Promise((e,i)=>{wA(this,ys,e,"f"),wA(this,ro,i,"f")}),"f"),wA(this,no,new Promise((e,i)=>{wA(this,ws,e,"f"),wA(this,io,i,"f")}),"f"),wt(this,gs,"f").catch(()=>{}),wt(this,no,"f").catch(()=>{})}_run(e){setTimeout(()=>{e().then(()=>{this._emitFinal(),this._emit("end")},wt(this,b0,"m",xc).bind(this))},0)}_connected(){this.ended||(wt(this,ys,"f").call(this),this._emit("connect"))}get ended(){return wt(this,oo,"f")}get errored(){return wt(this,_s,"f")}get aborted(){return wt(this,vs,"f")}abort(){this.controller.abort()}on(e,i){return(wt(this,Ar,"f")[e]||(wt(this,Ar,"f")[e]=[])).push({listener:i}),this}off(e,i){let s=wt(this,Ar,"f")[e];if(!s)return this;let u=s.findIndex(d=>d.listener===i);return u>=0&&s.splice(u,1),this}once(e,i){return(wt(this,Ar,"f")[e]||(wt(this,Ar,"f")[e]=[])).push({listener:i,once:!0}),this}emitted(e){return new Promise((i,s)=>{wA(this,Kn,!0,"f"),e!=="error"&&this.once("error",s),this.once(e,i)})}async done(){wA(this,Kn,!0,"f"),await wt(this,no,"f")}_emit(e,...i){if(wt(this,oo,"f"))return;e==="end"&&(wA(this,oo,!0,"f"),wt(this,ws,"f").call(this));let s=wt(this,Ar,"f")[e];if(s&&(wt(this,Ar,"f")[e]=s.filter(u=>!u.once),s.forEach(({listener:u})=>u(...i))),e==="abort"){let u=i[0];!wt(this,Kn,"f")&&!s?.length&&Promise.reject(u),wt(this,ro,"f").call(this,u),wt(this,io,"f").call(this,u),this._emit("end");return}if(e==="error"){let u=i[0];!wt(this,Kn,"f")&&!s?.length&&Promise.reject(u),wt(this,ro,"f").call(this,u),wt(this,io,"f").call(this,u),this._emit("end")}}_emitFinal(){}};gs=new WeakMap,ys=new WeakMap,ro=new WeakMap,no=new WeakMap,ws=new WeakMap,io=new WeakMap,Ar=new WeakMap,oo=new WeakMap,_s=new WeakMap,vs=new WeakMap,Kn=new WeakMap,b0=new WeakSet,xc=function(e){if(wA(this,_s,!0,"f"),e instanceof Error&&e.name==="AbortError"&&(e=new bt),e instanceof bt)return wA(this,vs,!0,"f"),this._emit("abort",e);if(e instanceof $e)return this._emit("error",e);if(e instanceof Error){let i=new $e(e.message);return i.cause=e,this._emit("error",i)}return this._emit("error",new $e(String(e)))};function so(n){return n?.$brand==="auto-parseable-response-format"}function An(n){return n?.$brand==="auto-parseable-tool"}function Rc(n,e){return!e||!E0(e)?{...n,choices:n.choices.map(i=>({...i,message:{...i.message,parsed:null,...i.message.tool_calls?{tool_calls:i.message.tool_calls}:void 0}}))}:ao(n,e)}function ao(n,e){let i=n.choices.map(s=>{if(s.finish_reason==="length")throw new qn;if(s.finish_reason==="content_filter")throw new Un;return{...s,message:{...s.message,...s.message.tool_calls?{tool_calls:s.message.tool_calls?.map(u=>By(e,u))??void 0}:void 0,parsed:s.message.content&&!s.message.refusal?Iy(e,s.message.content):null}}});return{...n,choices:i}}function Iy(n,e){return n.response_format?.type!=="json_schema"?null:n.response_format?.type==="json_schema"?"$parseRaw"in n.response_format?n.response_format.$parseRaw(e):JSON.parse(e):null}function By(n,e){let i=n.tools?.find(s=>s.function?.name===e.function.name);return{...e,function:{...e.function,parsed_arguments:An(i)?i.$parseRaw(e.function.arguments):i?.function.strict?JSON.parse(e.function.arguments):null}}}function Tc(n,e){if(!n)return!1;let i=n.tools?.find(s=>s.function?.name===e.function.name);return An(i)||i?.function.strict||!1}function E0(n){return so(n.response_format)?!0:n.tools?.some(e=>An(e)||e.type==="function"&&e.function.strict===!0)??!1}function Oc(n){for(let e of n??[]){if(e.type!=="function")throw new $e(`Currently only \`function\` tool types support auto-parsing; Received \`${e.type}\``);if(e.function.strict!==!0)throw new $e(`The \`${e.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var Yt=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},Lt,$0,bs,P0,k0,C0,Bc,S0,Ic=10,Wn=class extends br{constructor(){super(...arguments),Lt.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(e){this._chatCompletions.push(e),this._emit("chatCompletion",e);let i=e.choices[0]?.message;return i&&this._addMessage(i),e}_addMessage(e,i=!0){if("content"in e||(e.content=null),this.messages.push(e),i){if(this._emit("message",e),(_0(e)||v0(e))&&e.content)this._emit("functionCallResult",e.content);else if(vr(e)&&e.function_call)this._emit("functionCall",e.function_call);else if(vr(e)&&e.tool_calls)for(let s of e.tool_calls)s.type==="function"&&this._emit("functionCall",s.function)}}async finalChatCompletion(){await this.done();let e=this._chatCompletions[this._chatCompletions.length-1];if(!e)throw new $e("stream ended without producing a ChatCompletion");return e}async finalContent(){return await this.done(),Yt(this,Lt,"m",$0).call(this)}async finalMessage(){return await this.done(),Yt(this,Lt,"m",bs).call(this)}async finalFunctionCall(){return await this.done(),Yt(this,Lt,"m",P0).call(this)}async finalFunctionCallResult(){return await this.done(),Yt(this,Lt,"m",k0).call(this)}async totalUsage(){return await this.done(),Yt(this,Lt,"m",C0).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let e=this._chatCompletions[this._chatCompletions.length-1];e&&this._emit("finalChatCompletion",e);let i=Yt(this,Lt,"m",bs).call(this);i&&this._emit("finalMessage",i);let s=Yt(this,Lt,"m",$0).call(this);s&&this._emit("finalContent",s);let u=Yt(this,Lt,"m",P0).call(this);u&&this._emit("finalFunctionCall",u);let d=Yt(this,Lt,"m",k0).call(this);d!=null&&this._emit("finalFunctionCallResult",d),this._chatCompletions.some(m=>m.usage)&&this._emit("totalUsage",Yt(this,Lt,"m",C0).call(this))}async _createChatCompletion(e,i,s){let u=s?.signal;u&&(u.aborted&&this.controller.abort(),u.addEventListener("abort",()=>this.controller.abort())),Yt(this,Lt,"m",Bc).call(this,i);let d=await e.chat.completions.create({...i,stream:!1},{...s,signal:this.controller.signal});return this._connected(),this._addChatCompletion(ao(d,i))}async _runChatCompletion(e,i,s){for(let u of i.messages)this._addMessage(u,!1);return await this._createChatCompletion(e,i,s)}async _runFunctions(e,i,s){let u="function",{function_call:d="auto",stream:m,...y}=i,E=typeof d!="string"&&d?.name,{maxChatCompletions:b=Ic}=s||{},w={};for(let $ of i.functions)w[$.name||$.function.name]=$;let _=i.functions.map($=>({name:$.name||$.function.name,parameters:$.parameters,description:$.description}));for(let $ of i.messages)this._addMessage($,!1);for(let $=0;$<b;++$){let x=(await this._createChatCompletion(e,{...y,function_call:d,functions:_,messages:[...this.messages]},s)).choices[0]?.message;if(!x)throw new $e("missing message in ChatCompletion response");if(!x.function_call)return;let{name:k,arguments:B}=x.function_call,O=w[k];if(O){if(E&&E!==k){let V=`Invalid function_call: ${JSON.stringify(k)}. ${JSON.stringify(E)} requested. Please try again`;this._addMessage({role:u,name:k,content:V});continue}}else{let V=`Invalid function_call: ${JSON.stringify(k)}. Available options are: ${_.map(z=>JSON.stringify(z.name)).join(", ")}. Please try again`;this._addMessage({role:u,name:k,content:V});continue}let I;try{I=w0(O)?await O.parse(B):B}catch(V){this._addMessage({role:u,name:k,content:V instanceof Error?V.message:String(V)});continue}let U=await O.function(I,this),q=Yt(this,Lt,"m",S0).call(this,U);if(this._addMessage({role:u,name:k,content:q}),E)return}}async _runTools(e,i,s){let u="tool",{tool_choice:d="auto",stream:m,...y}=i,E=typeof d!="string"&&d?.function?.name,{maxChatCompletions:b=Ic}=s||{},w=i.tools.map(C=>{if(An(C)){if(!C.$callback)throw new $e("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:C.$callback,name:C.function.name,description:C.function.description||"",parameters:C.function.parameters,parse:C.$parseRaw,strict:!0}}}return C}),_={};for(let C of w)C.type==="function"&&(_[C.function.name||C.function.function.name]=C.function);let $="tools"in i?w.map(C=>C.type==="function"?{type:"function",function:{name:C.function.name||C.function.function.name,parameters:C.function.parameters,description:C.function.description,strict:C.function.strict}}:C):void 0;for(let C of i.messages)this._addMessage(C,!1);for(let C=0;C<b;++C){let k=(await this._createChatCompletion(e,{...y,tool_choice:d,tools:$,messages:[...this.messages]},s)).choices[0]?.message;if(!k)throw new $e("missing message in ChatCompletion response");if(!k.tool_calls?.length)return;for(let B of k.tool_calls){if(B.type!=="function")continue;let O=B.id,{name:I,arguments:U}=B.function,q=_[I];if(q){if(E&&E!==I){let L=`Invalid tool_call: ${JSON.stringify(I)}. ${JSON.stringify(E)} requested. Please try again`;this._addMessage({role:u,tool_call_id:O,content:L});continue}}else{let L=`Invalid tool_call: ${JSON.stringify(I)}. Available options are: ${Object.keys(_).map(J=>JSON.stringify(J)).join(", ")}. Please try again`;this._addMessage({role:u,tool_call_id:O,content:L});continue}let V;try{V=w0(q)?await q.parse(U):U}catch(L){let J=L instanceof Error?L.message:String(L);this._addMessage({role:u,tool_call_id:O,content:J});continue}let z=await q.function(V,this),re=Yt(this,Lt,"m",S0).call(this,z);if(this._addMessage({role:u,tool_call_id:O,content:re}),E)return}}}};Lt=new WeakSet,$0=function(){return Yt(this,Lt,"m",bs).call(this).content??null},bs=function(){let e=this.messages.length;for(;e-- >0;){let i=this.messages[e];if(vr(i)){let{function_call:s,...u}=i,d={...u,content:i.content??null,refusal:i.refusal??null};return s&&(d.function_call=s),d}}throw new $e("stream ended without producing a ChatCompletionMessage with role=assistant")},P0=function(){for(let e=this.messages.length-1;e>=0;e--){let i=this.messages[e];if(vr(i)&&i?.function_call)return i.function_call;if(vr(i)&&i?.tool_calls?.length)return i.tool_calls.at(-1)?.function}},k0=function(){for(let e=this.messages.length-1;e>=0;e--){let i=this.messages[e];if(_0(i)&&i.content!=null||v0(i)&&i.content!=null&&typeof i.content=="string"&&this.messages.some(s=>s.role==="assistant"&&s.tool_calls?.some(u=>u.type==="function"&&u.id===i.tool_call_id)))return i.content}},C0=function(){let e={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:i}of this._chatCompletions)i&&(e.completion_tokens+=i.completion_tokens,e.prompt_tokens+=i.prompt_tokens,e.total_tokens+=i.total_tokens);return e},Bc=function(e){if(e.n!=null&&e.n>1)throw new $e("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},S0=function(e){return typeof e=="string"?e:e===void 0?"undefined":JSON.stringify(e)};var lo=class n extends Wn{static runFunctions(e,i,s){let u=new n,d={...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return u._run(()=>u._runFunctions(e,i,d)),u}static runTools(e,i,s){let u=new n,d={...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"runTools"}};return u._run(()=>u._runTools(e,i,d)),u}_addMessage(e,i=!0){super._addMessage(e,i),vr(e)&&e.content&&this._emit("content",e.content)}};var Rt={STR:1,NUM:2,ARR:4,OBJ:8,NULL:16,BOOL:32,NAN:64,INFINITY:128,MINUS_INFINITY:256,INF:384,SPECIAL:496,ATOM:499,COLLECTION:12,ALL:511},D0=class extends Error{},x0=class extends Error{};function My(n,e=Rt.ALL){if(typeof n!="string")throw new TypeError(`expecting str, got ${typeof n}`);if(!n.trim())throw new Error(`${n} is empty`);return jy(n.trim(),e)}var jy=(n,e)=>{let i=n.length,s=0,u=$=>{throw new D0(`${$} at position ${s}`)},d=$=>{throw new x0(`${$} at position ${s}`)},m=()=>(_(),s>=i&&u("Unexpected end of input"),n[s]==='"'?y():n[s]==="{"?E():n[s]==="["?b():n.substring(s,s+4)==="null"||Rt.NULL&e&&i-s<4&&"null".startsWith(n.substring(s))?(s+=4,null):n.substring(s,s+4)==="true"||Rt.BOOL&e&&i-s<4&&"true".startsWith(n.substring(s))?(s+=4,!0):n.substring(s,s+5)==="false"||Rt.BOOL&e&&i-s<5&&"false".startsWith(n.substring(s))?(s+=5,!1):n.substring(s,s+8)==="Infinity"||Rt.INFINITY&e&&i-s<8&&"Infinity".startsWith(n.substring(s))?(s+=8,1/0):n.substring(s,s+9)==="-Infinity"||Rt.MINUS_INFINITY&e&&1<i-s&&i-s<9&&"-Infinity".startsWith(n.substring(s))?(s+=9,-1/0):n.substring(s,s+3)==="NaN"||Rt.NAN&e&&i-s<3&&"NaN".startsWith(n.substring(s))?(s+=3,NaN):w()),y=()=>{let $=s,C=!1;for(s++;s<i&&(n[s]!=='"'||C&&n[s-1]==="\\");)C=n[s]==="\\"?!C:!1,s++;if(n.charAt(s)=='"')try{return JSON.parse(n.substring($,++s-Number(C)))}catch(x){d(String(x))}else if(Rt.STR&e)try{return JSON.parse(n.substring($,s-Number(C))+'"')}catch{return JSON.parse(n.substring($,n.lastIndexOf("\\"))+'"')}u("Unterminated string literal")},E=()=>{s++,_();let $={};try{for(;n[s]!=="}";){if(_(),s>=i&&Rt.OBJ&e)return $;let C=y();_(),s++;try{let x=m();Object.defineProperty($,C,{value:x,writable:!0,enumerable:!0,configurable:!0})}catch(x){if(Rt.OBJ&e)return $;throw x}_(),n[s]===","&&s++}}catch{if(Rt.OBJ&e)return $;u("Expected '}' at end of object")}return s++,$},b=()=>{s++;let $=[];try{for(;n[s]!=="]";)$.push(m()),_(),n[s]===","&&s++}catch{if(Rt.ARR&e)return $;u("Expected ']' at end of array")}return s++,$},w=()=>{if(s===0){n==="-"&&Rt.NUM&e&&u("Not sure what '-' is");try{return JSON.parse(n)}catch(C){if(Rt.NUM&e)try{return n[n.length-1]==="."?JSON.parse(n.substring(0,n.lastIndexOf("."))):JSON.parse(n.substring(0,n.lastIndexOf("e")))}catch{}d(String(C))}}let $=s;for(n[s]==="-"&&s++;n[s]&&!",]}".includes(n[s]);)s++;s==i&&!(Rt.NUM&e)&&u("Unterminated number literal");try{return JSON.parse(n.substring($,s))}catch{n.substring($,s)==="-"&&Rt.NUM&e&&u("Not sure what '-' is");try{return JSON.parse(n.substring($,n.lastIndexOf("e")))}catch(x){d(String(x))}}},_=()=>{for(;s<i&&`
|
|
15
|
-
\r `.includes(n[s]);)s++};return m()},R0=n=>My(n,Rt.ALL^Rt.NUM);var Yn=function(n,e,i,s,u){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!u:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(n,i):u?u.value=i:e.set(n,i),i},ft=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},Pt,rr,Xn,Er,T0,Es,O0,I0,B0,$s,M0,Mc,Zn=class n extends Wn{constructor(e){super(),Pt.add(this),rr.set(this,void 0),Xn.set(this,void 0),Er.set(this,void 0),Yn(this,rr,e,"f"),Yn(this,Xn,[],"f")}get currentChatCompletionSnapshot(){return ft(this,Er,"f")}static fromReadableStream(e){let i=new n(null);return i._run(()=>i._fromReadableStream(e)),i}static createChatCompletion(e,i,s){let u=new n(i);return u._run(()=>u._runChatCompletion(e,{...i,stream:!0},{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),u}async _createChatCompletion(e,i,s){super._createChatCompletion;let u=s?.signal;u&&(u.aborted&&this.controller.abort(),u.addEventListener("abort",()=>this.controller.abort())),ft(this,Pt,"m",T0).call(this);let d=await e.chat.completions.create({...i,stream:!0},{...s,signal:this.controller.signal});this._connected();for await(let m of d)ft(this,Pt,"m",O0).call(this,m);if(d.controller.signal?.aborted)throw new bt;return this._addChatCompletion(ft(this,Pt,"m",$s).call(this))}async _fromReadableStream(e,i){let s=i?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),ft(this,Pt,"m",T0).call(this),this._connected();let u=MA.fromReadableStream(e,this.controller),d;for await(let m of u)d&&d!==m.id&&this._addChatCompletion(ft(this,Pt,"m",$s).call(this)),ft(this,Pt,"m",O0).call(this,m),d=m.id;if(u.controller.signal?.aborted)throw new bt;return this._addChatCompletion(ft(this,Pt,"m",$s).call(this))}[(rr=new WeakMap,Xn=new WeakMap,Er=new WeakMap,Pt=new WeakSet,T0=function(){this.ended||Yn(this,Er,void 0,"f")},Es=function(i){let s=ft(this,Xn,"f")[i.index];return s||(s={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},ft(this,Xn,"f")[i.index]=s,s)},O0=function(i){if(this.ended)return;let s=ft(this,Pt,"m",Mc).call(this,i);this._emit("chunk",i,s);for(let u of i.choices){let d=s.choices[u.index];u.delta.content!=null&&d.message?.role==="assistant"&&d.message?.content&&(this._emit("content",u.delta.content,d.message.content),this._emit("content.delta",{delta:u.delta.content,snapshot:d.message.content,parsed:d.message.parsed})),u.delta.refusal!=null&&d.message?.role==="assistant"&&d.message?.refusal&&this._emit("refusal.delta",{delta:u.delta.refusal,snapshot:d.message.refusal}),u.logprobs?.content!=null&&d.message?.role==="assistant"&&this._emit("logprobs.content.delta",{content:u.logprobs?.content,snapshot:d.logprobs?.content??[]}),u.logprobs?.refusal!=null&&d.message?.role==="assistant"&&this._emit("logprobs.refusal.delta",{refusal:u.logprobs?.refusal,snapshot:d.logprobs?.refusal??[]});let m=ft(this,Pt,"m",Es).call(this,d);d.finish_reason&&(ft(this,Pt,"m",B0).call(this,d),m.current_tool_call_index!=null&&ft(this,Pt,"m",I0).call(this,d,m.current_tool_call_index));for(let y of u.delta.tool_calls??[])m.current_tool_call_index!==y.index&&(ft(this,Pt,"m",B0).call(this,d),m.current_tool_call_index!=null&&ft(this,Pt,"m",I0).call(this,d,m.current_tool_call_index)),m.current_tool_call_index=y.index;for(let y of u.delta.tool_calls??[]){let E=d.message.tool_calls?.[y.index];E?.type&&(E?.type==="function"?this._emit("tool_calls.function.arguments.delta",{name:E.function?.name,index:y.index,arguments:E.function.arguments,parsed_arguments:E.function.parsed_arguments,arguments_delta:y.function?.arguments??""}):(E?.type,void 0))}}},I0=function(i,s){if(ft(this,Pt,"m",Es).call(this,i).done_tool_calls.has(s))return;let d=i.message.tool_calls?.[s];if(!d)throw new Error("no tool call snapshot");if(!d.type)throw new Error("tool call snapshot missing `type`");if(d.type==="function"){let m=ft(this,rr,"f")?.tools?.find(y=>y.type==="function"&&y.function.name===d.function.name);this._emit("tool_calls.function.arguments.done",{name:d.function.name,index:s,arguments:d.function.arguments,parsed_arguments:An(m)?m.$parseRaw(d.function.arguments):m?.function.strict?JSON.parse(d.function.arguments):null})}else d.type},B0=function(i){let s=ft(this,Pt,"m",Es).call(this,i);if(i.message.content&&!s.content_done){s.content_done=!0;let u=ft(this,Pt,"m",M0).call(this);this._emit("content.done",{content:i.message.content,parsed:u?u.$parseRaw(i.message.content):null})}i.message.refusal&&!s.refusal_done&&(s.refusal_done=!0,this._emit("refusal.done",{refusal:i.message.refusal})),i.logprobs?.content&&!s.logprobs_content_done&&(s.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:i.logprobs.content})),i.logprobs?.refusal&&!s.logprobs_refusal_done&&(s.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:i.logprobs.refusal}))},$s=function(){if(this.ended)throw new $e("stream has ended, this shouldn't happen");let i=ft(this,Er,"f");if(!i)throw new $e("request ended without sending any chunks");return Yn(this,Er,void 0,"f"),Yn(this,Xn,[],"f"),Ny(i,ft(this,rr,"f"))},M0=function(){let i=ft(this,rr,"f")?.response_format;return so(i)?i:null},Mc=function(i){var s,u,d,m;let y=ft(this,Er,"f"),{choices:E,...b}=i;y?Object.assign(y,b):y=Yn(this,Er,{...b,choices:[]},"f");for(let{delta:w,finish_reason:
|
|
16
|
-
${Ps(n)}`);if(z==null)throw new $e(`missing choices[${
|
|
17
|
-
${Ps(n)}`);if(le==null)throw new $e(`missing choices[${
|
|
18
|
-
${Ps(n)}`);if(J==null)throw new $e(`missing choices[${
|
|
19
|
-
${Ps(n)}`);return{...L,id:re,type:z,function:{...ae,name:le,arguments:J}}})}}:{...C,message:{...O,content:x,role:I,refusal:b.refusal??null},finish_reason:w,index:_,logprobs:$}}),created:u,model:d,object:"chat.completion",...m?{system_fingerprint:m}:{}};return Rc(E,e)}function Ps(n){return JSON.stringify(n)}var uo=class n extends Zn{static fromReadableStream(e){let i=new n(null);return i._run(()=>i._fromReadableStream(e)),i}static runFunctions(e,i,s){let u=new n(null),d={...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return u._run(()=>u._runFunctions(e,i,d)),u}static runTools(e,i,s){let u=new n(i),d={...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"runTools"}};return u._run(()=>u._runTools(e,i,d)),u}};var fo=class extends ge{parse(e,i){return Oc(e.tools),this._client.chat.completions.create(e,{...i,headers:{...i?.headers,"X-Stainless-Helper-Method":"beta.chat.completions.parse"}})._thenUnwrap(s=>ao(s,e))}runFunctions(e,i){return e.stream?uo.runFunctions(this._client,e,i):lo.runFunctions(this._client,e,i)}runTools(e,i){return e.stream?uo.runTools(this._client,e,i):lo.runTools(this._client,e,i)}stream(e,i){return Zn.createChatCompletion(this._client,e,i)}};var ei=class extends ge{constructor(){super(...arguments),this.completions=new fo(this._client)}};(function(n){n.Completions=fo})(ei||(ei={}));var ti=class extends ge{create(e,i){return this._client.post("/realtime/sessions",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}};var Ai=class extends ge{create(e,i){return this._client.post("/realtime/transcription_sessions",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}};var $r=class extends ge{constructor(){super(...arguments),this.sessions=new ti(this._client),this.transcriptionSessions=new Ai(this._client)}};$r.Sessions=ti;$r.TranscriptionSessions=Ai;var ke=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},nA=function(n,e,i,s,u){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!u:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(n,i):u?u.value=i:e.set(n,i),i},Bt,j0,FA,ks,_A,nn,ri,rn,Ds,iA,Cs,Ss,po,co,ho,jc,Nc,Fc,Qc,Lc,qc,Uc,QA=class n extends br{constructor(){super(...arguments),Bt.add(this),j0.set(this,[]),FA.set(this,{}),ks.set(this,{}),_A.set(this,void 0),nn.set(this,void 0),ri.set(this,void 0),rn.set(this,void 0),Ds.set(this,void 0),iA.set(this,void 0),Cs.set(this,void 0),Ss.set(this,void 0),po.set(this,void 0)}[(j0=new WeakMap,FA=new WeakMap,ks=new WeakMap,_A=new WeakMap,nn=new WeakMap,ri=new WeakMap,rn=new WeakMap,Ds=new WeakMap,iA=new WeakMap,Cs=new WeakMap,Ss=new WeakMap,po=new WeakMap,Bt=new WeakSet,Symbol.asyncIterator)](){let e=[],i=[],s=!1;return this.on("event",u=>{let d=i.shift();d?d.resolve(u):e.push(u)}),this.on("end",()=>{s=!0;for(let u of i)u.resolve(void 0);i.length=0}),this.on("abort",u=>{s=!0;for(let d of i)d.reject(u);i.length=0}),this.on("error",u=>{s=!0;for(let d of i)d.reject(u);i.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:s?{value:void 0,done:!0}:new Promise((d,m)=>i.push({resolve:d,reject:m})).then(d=>d?{value:d,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(e){let i=new n;return i._run(()=>i._fromReadableStream(e)),i}async _fromReadableStream(e,i){let s=i?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),this._connected();let u=MA.fromReadableStream(e,this.controller);for await(let d of u)ke(this,Bt,"m",co).call(this,d);if(u.controller.signal?.aborted)throw new bt;return this._addRun(ke(this,Bt,"m",ho).call(this))}toReadableStream(){return new MA(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(e,i,s,u,d){let m=new n;return m._run(()=>m._runToolAssistantStream(e,i,s,u,{...d,headers:{...d?.headers,"X-Stainless-Helper-Method":"stream"}})),m}async _createToolAssistantStream(e,i,s,u,d){let m=d?.signal;m&&(m.aborted&&this.controller.abort(),m.addEventListener("abort",()=>this.controller.abort()));let y={...u,stream:!0},E=await e.submitToolOutputs(i,s,y,{...d,signal:this.controller.signal});this._connected();for await(let b of E)ke(this,Bt,"m",co).call(this,b);if(E.controller.signal?.aborted)throw new bt;return this._addRun(ke(this,Bt,"m",ho).call(this))}static createThreadAssistantStream(e,i,s){let u=new n;return u._run(()=>u._threadAssistantStream(e,i,{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),u}static createAssistantStream(e,i,s,u){let d=new n;return d._run(()=>d._runAssistantStream(e,i,s,{...u,headers:{...u?.headers,"X-Stainless-Helper-Method":"stream"}})),d}currentEvent(){return ke(this,Cs,"f")}currentRun(){return ke(this,Ss,"f")}currentMessageSnapshot(){return ke(this,_A,"f")}currentRunStepSnapshot(){return ke(this,po,"f")}async finalRunSteps(){return await this.done(),Object.values(ke(this,FA,"f"))}async finalMessages(){return await this.done(),Object.values(ke(this,ks,"f"))}async finalRun(){if(await this.done(),!ke(this,nn,"f"))throw Error("Final run was not received.");return ke(this,nn,"f")}async _createThreadAssistantStream(e,i,s){let u=s?.signal;u&&(u.aborted&&this.controller.abort(),u.addEventListener("abort",()=>this.controller.abort()));let d={...i,stream:!0},m=await e.createAndRun(d,{...s,signal:this.controller.signal});this._connected();for await(let y of m)ke(this,Bt,"m",co).call(this,y);if(m.controller.signal?.aborted)throw new bt;return this._addRun(ke(this,Bt,"m",ho).call(this))}async _createAssistantStream(e,i,s,u){let d=u?.signal;d&&(d.aborted&&this.controller.abort(),d.addEventListener("abort",()=>this.controller.abort()));let m={...s,stream:!0},y=await e.create(i,m,{...u,signal:this.controller.signal});this._connected();for await(let E of y)ke(this,Bt,"m",co).call(this,E);if(y.controller.signal?.aborted)throw new bt;return this._addRun(ke(this,Bt,"m",ho).call(this))}static accumulateDelta(e,i){for(let[s,u]of Object.entries(i)){if(!e.hasOwnProperty(s)){e[s]=u;continue}let d=e[s];if(d==null){e[s]=u;continue}if(s==="index"||s==="type"){e[s]=u;continue}if(typeof d=="string"&&typeof u=="string")d+=u;else if(typeof d=="number"&&typeof u=="number")d+=u;else if(Ao(d)&&Ao(u))d=this.accumulateDelta(d,u);else if(Array.isArray(d)&&Array.isArray(u)){if(d.every(m=>typeof m=="string"||typeof m=="number")){d.push(...u);continue}for(let m of u){if(!Ao(m))throw new Error(`Expected array delta entry to be an object but got: ${m}`);let y=m.index;if(y==null)throw console.error(m),new Error("Expected array delta entry to have an `index` property");if(typeof y!="number")throw new Error(`Expected array delta entry \`index\` property to be a number but got ${y}`);let E=d[y];E==null?d.push(m):d[y]=this.accumulateDelta(E,m)}continue}else throw Error(`Unhandled record type: ${s}, deltaValue: ${u}, accValue: ${d}`);e[s]=d}return e}_addRun(e){return e}async _threadAssistantStream(e,i,s){return await this._createThreadAssistantStream(i,e,s)}async _runAssistantStream(e,i,s,u){return await this._createAssistantStream(i,e,s,u)}async _runToolAssistantStream(e,i,s,u,d){return await this._createToolAssistantStream(s,e,i,u,d)}};co=function(e){if(!this.ended)switch(nA(this,Cs,e,"f"),ke(this,Bt,"m",Fc).call(this,e),e.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":ke(this,Bt,"m",Uc).call(this,e);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":ke(this,Bt,"m",Nc).call(this,e);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":ke(this,Bt,"m",jc).call(this,e);break;case"error":throw new Error("Encountered an error event in event processing - errors should be processed earlier");default:}},ho=function(){if(this.ended)throw new $e("stream has ended, this shouldn't happen");if(!ke(this,nn,"f"))throw Error("Final run has not been received");return ke(this,nn,"f")},jc=function(e){let[i,s]=ke(this,Bt,"m",Lc).call(this,e,ke(this,_A,"f"));nA(this,_A,i,"f"),ke(this,ks,"f")[i.id]=i;for(let u of s){let d=i.content[u.index];d?.type=="text"&&this._emit("textCreated",d.text)}switch(e.event){case"thread.message.created":this._emit("messageCreated",e.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",e.data.delta,i),e.data.delta.content)for(let u of e.data.delta.content){if(u.type=="text"&&u.text){let d=u.text,m=i.content[u.index];if(m&&m.type=="text")this._emit("textDelta",d,m.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(u.index!=ke(this,ri,"f")){if(ke(this,rn,"f"))switch(ke(this,rn,"f").type){case"text":this._emit("textDone",ke(this,rn,"f").text,ke(this,_A,"f"));break;case"image_file":this._emit("imageFileDone",ke(this,rn,"f").image_file,ke(this,_A,"f"));break}nA(this,ri,u.index,"f")}nA(this,rn,i.content[u.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(ke(this,ri,"f")!==void 0){let u=e.data.content[ke(this,ri,"f")];if(u)switch(u.type){case"image_file":this._emit("imageFileDone",u.image_file,ke(this,_A,"f"));break;case"text":this._emit("textDone",u.text,ke(this,_A,"f"));break}}ke(this,_A,"f")&&this._emit("messageDone",e.data),nA(this,_A,void 0,"f")}},Nc=function(e){let i=ke(this,Bt,"m",Qc).call(this,e);switch(nA(this,po,i,"f"),e.event){case"thread.run.step.created":this._emit("runStepCreated",e.data);break;case"thread.run.step.delta":let s=e.data.delta;if(s.step_details&&s.step_details.type=="tool_calls"&&s.step_details.tool_calls&&i.step_details.type=="tool_calls")for(let d of s.step_details.tool_calls)d.index==ke(this,Ds,"f")?this._emit("toolCallDelta",d,i.step_details.tool_calls[d.index]):(ke(this,iA,"f")&&this._emit("toolCallDone",ke(this,iA,"f")),nA(this,Ds,d.index,"f"),nA(this,iA,i.step_details.tool_calls[d.index],"f"),ke(this,iA,"f")&&this._emit("toolCallCreated",ke(this,iA,"f")));this._emit("runStepDelta",e.data.delta,i);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":nA(this,po,void 0,"f"),e.data.step_details.type=="tool_calls"&&ke(this,iA,"f")&&(this._emit("toolCallDone",ke(this,iA,"f")),nA(this,iA,void 0,"f")),this._emit("runStepDone",e.data,i);break;case"thread.run.step.in_progress":break}},Fc=function(e){ke(this,j0,"f").push(e),this._emit("event",e)},Qc=function(e){switch(e.event){case"thread.run.step.created":return ke(this,FA,"f")[e.data.id]=e.data,e.data;case"thread.run.step.delta":let i=ke(this,FA,"f")[e.data.id];if(!i)throw Error("Received a RunStepDelta before creation of a snapshot");let s=e.data;if(s.delta){let u=QA.accumulateDelta(i,s.delta);ke(this,FA,"f")[e.data.id]=u}return ke(this,FA,"f")[e.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":ke(this,FA,"f")[e.data.id]=e.data;break}if(ke(this,FA,"f")[e.data.id])return ke(this,FA,"f")[e.data.id];throw new Error("No snapshot available")},Lc=function(e,i){let s=[];switch(e.event){case"thread.message.created":return[e.data,s];case"thread.message.delta":if(!i)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let u=e.data;if(u.delta.content)for(let d of u.delta.content)if(d.index in i.content){let m=i.content[d.index];i.content[d.index]=ke(this,Bt,"m",qc).call(this,d,m)}else i.content[d.index]=d,s.push(d);return[i,s];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(i)return[i,s];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},qc=function(e,i){return QA.accumulateDelta(i,e)},Uc=function(e){switch(nA(this,Ss,e.data,"f"),e.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":nA(this,nn,e.data,"f"),ke(this,iA,"f")&&(this._emit("toolCallDone",ke(this,iA,"f")),nA(this,iA,void 0,"f"));break;case"thread.run.cancelling":break}};var on=class extends ge{create(e,i,s){return this._client.post(`/threads/${e}/messages`,{body:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}retrieve(e,i,s){return this._client.get(`/threads/${e}/messages/${i}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}update(e,i,s,u){return this._client.post(`/threads/${e}/messages/${i}`,{body:s,...u,headers:{"OpenAI-Beta":"assistants=v2",...u?.headers}})}list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/threads/${e}/messages`,ni,{query:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}del(e,i,s){return this._client.delete(`/threads/${e}/messages/${i}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}},ni=class extends et{};on.MessagesPage=ni;var sn=class extends ge{retrieve(e,i,s,u={},d){return Ue(u)?this.retrieve(e,i,s,{},u):this._client.get(`/threads/${e}/runs/${i}/steps/${s}`,{query:u,...d,headers:{"OpenAI-Beta":"assistants=v2",...d?.headers}})}list(e,i,s={},u){return Ue(s)?this.list(e,i,{},s):this._client.getAPIList(`/threads/${e}/runs/${i}/steps`,ii,{query:s,...u,headers:{"OpenAI-Beta":"assistants=v2",...u?.headers}})}},ii=class extends et{};sn.RunStepsPage=ii;var nr=class extends ge{constructor(){super(...arguments),this.steps=new sn(this._client)}create(e,i,s){let{include:u,...d}=i;return this._client.post(`/threads/${e}/runs`,{query:{include:u},body:d,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers},stream:i.stream??!1})}retrieve(e,i,s){return this._client.get(`/threads/${e}/runs/${i}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}update(e,i,s,u){return this._client.post(`/threads/${e}/runs/${i}`,{body:s,...u,headers:{"OpenAI-Beta":"assistants=v2",...u?.headers}})}list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/threads/${e}/runs`,oi,{query:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}cancel(e,i,s){return this._client.post(`/threads/${e}/runs/${i}/cancel`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}async createAndPoll(e,i,s){let u=await this.create(e,i,s);return await this.poll(e,u.id,s)}createAndStream(e,i,s){return QA.createAssistantStream(e,this._client.beta.threads.runs,i,s)}async poll(e,i,s){let u={...s?.headers,"X-Stainless-Poll-Helper":"true"};for(s?.pollIntervalMs&&(u["X-Stainless-Custom-Poll-Interval"]=s.pollIntervalMs.toString());;){let{data:d,response:m}=await this.retrieve(e,i,{...s,headers:{...s?.headers,...u}}).withResponse();switch(d.status){case"queued":case"in_progress":case"cancelling":let y=5e3;if(s?.pollIntervalMs)y=s.pollIntervalMs;else{let E=m.headers.get("openai-poll-after-ms");if(E){let b=parseInt(E);isNaN(b)||(y=b)}}await er(y);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return d}}}stream(e,i,s){return QA.createAssistantStream(e,this._client.beta.threads.runs,i,s)}submitToolOutputs(e,i,s,u){return this._client.post(`/threads/${e}/runs/${i}/submit_tool_outputs`,{body:s,...u,headers:{"OpenAI-Beta":"assistants=v2",...u?.headers},stream:s.stream??!1})}async submitToolOutputsAndPoll(e,i,s,u){let d=await this.submitToolOutputs(e,i,s,u);return await this.poll(e,d.id,u)}submitToolOutputsStream(e,i,s,u){return QA.createToolAssistantStream(e,i,this._client.beta.threads.runs,s,u)}},oi=class extends et{};nr.RunsPage=oi;nr.Steps=sn;nr.RunStepsPage=ii;var LA=class extends ge{constructor(){super(...arguments),this.runs=new nr(this._client),this.messages=new on(this._client)}create(e={},i){return Ue(e)?this.create({},e):this._client.post("/threads",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}retrieve(e,i){return this._client.get(`/threads/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}update(e,i,s){return this._client.post(`/threads/${e}`,{body:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}del(e,i){return this._client.delete(`/threads/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}createAndRun(e,i){return this._client.post("/threads/runs",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers},stream:e.stream??!1})}async createAndRunPoll(e,i){let s=await this.createAndRun(e,i);return await this.runs.poll(s.thread_id,s.id,i)}createAndRunStream(e,i){return QA.createThreadAssistantStream(e,this._client.beta.threads,i)}};LA.Runs=nr;LA.RunsPage=oi;LA.Messages=on;LA.MessagesPage=ni;var vA=class extends ge{constructor(){super(...arguments),this.realtime=new $r(this._client),this.chat=new ei(this._client),this.assistants=new tn(this._client),this.threads=new LA(this._client)}};vA.Realtime=$r;vA.Assistants=tn;vA.AssistantsPage=Jn;vA.Threads=LA;var an=class extends ge{create(e,i){return this._client.post("/completions",{body:e,...i,stream:e.stream??!1})}};var ln=class extends ge{create(e,i){let s=!!e.encoding_format,u=s?e.encoding_format:"base64";s&&ZA("Request","User defined encoding_format:",e.encoding_format);let d=this._client.post("/embeddings",{body:{...e,encoding_format:u},...i});return s?d:(ZA("response","Decoding base64 embeddings to float32 array"),d._thenUnwrap(m=>(m&&m.data&&m.data.forEach(y=>{let E=y.embedding;y.embedding=Dc(E)}),m)))}};var un=class extends ge{retrieve(e,i,s,u){return this._client.get(`/evals/${e}/runs/${i}/output_items/${s}`,u)}list(e,i,s={},u){return Ue(s)?this.list(e,i,{},s):this._client.getAPIList(`/evals/${e}/runs/${i}/output_items`,si,{query:s,...u})}},si=class extends et{};un.OutputItemListResponsesPage=si;var ir=class extends ge{constructor(){super(...arguments),this.outputItems=new un(this._client)}create(e,i,s){return this._client.post(`/evals/${e}/runs`,{body:i,...s})}retrieve(e,i,s){return this._client.get(`/evals/${e}/runs/${i}`,s)}list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/evals/${e}/runs`,ai,{query:i,...s})}del(e,i,s){return this._client.delete(`/evals/${e}/runs/${i}`,s)}cancel(e,i,s){return this._client.post(`/evals/${e}/runs/${i}`,s)}},ai=class extends et{};ir.RunListResponsesPage=ai;ir.OutputItems=un;ir.OutputItemListResponsesPage=si;var qA=class extends ge{constructor(){super(...arguments),this.runs=new ir(this._client)}create(e,i){return this._client.post("/evals",{body:e,...i})}retrieve(e,i){return this._client.get(`/evals/${e}`,i)}update(e,i,s){return this._client.post(`/evals/${e}`,{body:i,...s})}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/evals",fn,{query:e,...i})}del(e,i){return this._client.delete(`/evals/${e}`,i)}},fn=class extends et{};qA.EvalListResponsesPage=fn;qA.Runs=ir;qA.RunListResponsesPage=ai;var Pr=class extends ge{create(e,i){return this._client.post("/files",dA({body:e,...i}))}retrieve(e,i){return this._client.get(`/files/${e}`,i)}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/files",cn,{query:e,...i})}del(e,i){return this._client.delete(`/files/${e}`,i)}content(e,i){return this._client.get(`/files/${e}/content`,{...i,headers:{Accept:"application/binary",...i?.headers},__binaryResponse:!0})}retrieveContent(e,i){return this._client.get(`/files/${e}/content`,i)}async waitForProcessing(e,{pollInterval:i=5e3,maxWait:s=30*60*1e3}={}){let u=new Set(["processed","error","deleted"]),d=Date.now(),m=await this.retrieve(e);for(;!m.status||!u.has(m.status);)if(await er(i),m=await this.retrieve(e),Date.now()-d>s)throw new mr({message:`Giving up on waiting for file ${e} to finish processing after ${s} milliseconds.`});return m}},cn=class extends et{};Pr.FileObjectsPage=cn;var dn=class extends ge{create(e,i,s){return this._client.getAPIList(`/fine_tuning/checkpoints/${e}/permissions`,li,{body:i,method:"post",...s})}retrieve(e,i={},s){return Ue(i)?this.retrieve(e,{},i):this._client.get(`/fine_tuning/checkpoints/${e}/permissions`,{query:i,...s})}del(e,i){return this._client.delete(`/fine_tuning/checkpoints/${e}/permissions`,i)}},li=class extends jA{};dn.PermissionCreateResponsesPage=li;var kr=class extends ge{constructor(){super(...arguments),this.permissions=new dn(this._client)}};kr.Permissions=dn;kr.PermissionCreateResponsesPage=li;var hn=class extends ge{list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/fine_tuning/jobs/${e}/checkpoints`,ui,{query:i,...s})}},ui=class extends et{};hn.FineTuningJobCheckpointsPage=ui;var UA=class extends ge{constructor(){super(...arguments),this.checkpoints=new hn(this._client)}create(e,i){return this._client.post("/fine_tuning/jobs",{body:e,...i})}retrieve(e,i){return this._client.get(`/fine_tuning/jobs/${e}`,i)}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/fine_tuning/jobs",fi,{query:e,...i})}cancel(e,i){return this._client.post(`/fine_tuning/jobs/${e}/cancel`,i)}listEvents(e,i={},s){return Ue(i)?this.listEvents(e,{},i):this._client.getAPIList(`/fine_tuning/jobs/${e}/events`,ci,{query:i,...s})}},fi=class extends et{},ci=class extends et{};UA.FineTuningJobsPage=fi;UA.FineTuningJobEventsPage=ci;UA.Checkpoints=hn;UA.FineTuningJobCheckpointsPage=ui;var bA=class extends ge{constructor(){super(...arguments),this.jobs=new UA(this._client),this.checkpoints=new kr(this._client)}};bA.Jobs=UA;bA.FineTuningJobsPage=fi;bA.FineTuningJobEventsPage=ci;bA.Checkpoints=kr;var pn=class extends ge{createVariation(e,i){return this._client.post("/images/variations",dA({body:e,...i}))}edit(e,i){return this._client.post("/images/edits",dA({body:e,...i}))}generate(e,i){return this._client.post("/images/generations",{body:e,...i})}};var Cr=class extends ge{retrieve(e,i){return this._client.get(`/models/${e}`,i)}list(e){return this._client.getAPIList("/models",mn,e)}del(e,i){return this._client.delete(`/models/${e}`,i)}},mn=class extends jA{};Cr.ModelsPage=mn;var gn=class extends ge{create(e,i){return this._client.post("/moderations",{body:e,...i})}};function Gc(n,e){return!e||!tw(e)?{...n,output_parsed:null,output:n.output.map(i=>i.type==="function_call"?{...i,parsed_arguments:null}:i.type==="message"?{...i,content:i.content.map(s=>({...s,parsed:null}))}:i)}:N0(n,e)}function N0(n,e){let i=n.output.map(u=>{if(u.type==="function_call")return{...u,parsed_arguments:nw(e,u)};if(u.type==="message"){let d=u.content.map(m=>m.type==="output_text"?{...m,parsed:ew(e,m.text)}:m);return{...u,content:d}}return u}),s=Object.assign({},n,{output:i});return Object.getOwnPropertyDescriptor(n,"output_text")||F0(s),Object.defineProperty(s,"output_parsed",{enumerable:!0,get(){for(let u of s.output)if(u.type==="message"){for(let d of u.content)if(d.type==="output_text"&&d.parsed!==null)return d.parsed}return null}}),s}function ew(n,e){return n.text?.format?.type!=="json_schema"?null:"$parseRaw"in n.text?.format?(n.text?.format).$parseRaw(e):JSON.parse(e)}function tw(n){return!!so(n.text?.format)}function Aw(n){return n?.$brand==="auto-parseable-tool"}function rw(n,e){return n.find(i=>i.type==="function"&&i.name===e)}function nw(n,e){let i=rw(n.tools??[],e.name);return{...e,...e,parsed_arguments:Aw(i)?i.$parseRaw(e.arguments):i?.strict?JSON.parse(e.arguments):null}}function F0(n){let e=[];for(let i of n.output)if(i.type==="message")for(let s of i.content)s.type==="output_text"&&e.push(s.text);n.output_text=e.join("")}var di=class extends ge{list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/responses/${e}/input_items`,xs,{query:i,...s})}};var hi=function(n,e,i,s,u){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!u:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(n,i):u?u.value=i:e.set(n,i),i},Sr=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},pi,Rs,Dr,Ts,Hc,Vc,zc,Jc,Os=class n extends br{constructor(e){super(),pi.add(this),Rs.set(this,void 0),Dr.set(this,void 0),Ts.set(this,void 0),hi(this,Rs,e,"f")}static createResponse(e,i,s){let u=new n(i);return u._run(()=>u._createResponse(e,i,{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),u}async _createResponse(e,i,s){let u=s?.signal;u&&(u.aborted&&this.controller.abort(),u.addEventListener("abort",()=>this.controller.abort())),Sr(this,pi,"m",Hc).call(this);let d=await e.responses.create({...i,stream:!0},{...s,signal:this.controller.signal});this._connected();for await(let m of d)Sr(this,pi,"m",Vc).call(this,m);if(d.controller.signal?.aborted)throw new bt;return Sr(this,pi,"m",zc).call(this)}[(Rs=new WeakMap,Dr=new WeakMap,Ts=new WeakMap,pi=new WeakSet,Hc=function(){this.ended||hi(this,Dr,void 0,"f")},Vc=function(i){if(this.ended)return;let s=Sr(this,pi,"m",Jc).call(this,i);switch(this._emit("event",i),i.type){case"response.output_text.delta":{let u=s.output[i.output_index];if(!u)throw new $e(`missing output at index ${i.output_index}`);if(u.type==="message"){let d=u.content[i.content_index];if(!d)throw new $e(`missing content at index ${i.content_index}`);if(d.type!=="output_text")throw new $e(`expected content to be 'output_text', got ${d.type}`);this._emit("response.output_text.delta",{...i,snapshot:d.text})}break}case"response.function_call_arguments.delta":{let u=s.output[i.output_index];if(!u)throw new $e(`missing output at index ${i.output_index}`);u.type==="function_call"&&this._emit("response.function_call_arguments.delta",{...i,snapshot:u.arguments});break}default:this._emit(i.type,i);break}},zc=function(){if(this.ended)throw new $e("stream has ended, this shouldn't happen");let i=Sr(this,Dr,"f");if(!i)throw new $e("request ended without sending any events");hi(this,Dr,void 0,"f");let s=ow(i,Sr(this,Rs,"f"));return hi(this,Ts,s,"f"),s},Jc=function(i){let s=Sr(this,Dr,"f");if(!s){if(i.type!=="response.created")throw new $e(`When snapshot hasn't been set yet, expected 'response.created' event, got ${i.type}`);return s=hi(this,Dr,i.response,"f"),s}switch(i.type){case"response.output_item.added":{s.output.push(i.item);break}case"response.content_part.added":{let u=s.output[i.output_index];if(!u)throw new $e(`missing output at index ${i.output_index}`);u.type==="message"&&u.content.push(i.part);break}case"response.output_text.delta":{let u=s.output[i.output_index];if(!u)throw new $e(`missing output at index ${i.output_index}`);if(u.type==="message"){let d=u.content[i.content_index];if(!d)throw new $e(`missing content at index ${i.content_index}`);if(d.type!=="output_text")throw new $e(`expected content to be 'output_text', got ${d.type}`);d.text+=i.delta}break}case"response.function_call_arguments.delta":{let u=s.output[i.output_index];if(!u)throw new $e(`missing output at index ${i.output_index}`);u.type==="function_call"&&(u.arguments+=i.delta);break}case"response.completed":{hi(this,Dr,i.response,"f");break}}return s},Symbol.asyncIterator)](){let e=[],i=[],s=!1;return this.on("event",u=>{let d=i.shift();d?d.resolve(u):e.push(u)}),this.on("end",()=>{s=!0;for(let u of i)u.resolve(void 0);i.length=0}),this.on("abort",u=>{s=!0;for(let d of i)d.reject(u);i.length=0}),this.on("error",u=>{s=!0;for(let d of i)d.reject(u);i.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:s?{value:void 0,done:!0}:new Promise((d,m)=>i.push({resolve:d,reject:m})).then(d=>d?{value:d,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();let e=Sr(this,Ts,"f");if(!e)throw new $e("stream ended without producing a ChatCompletion");return e}};function ow(n,e){return Gc(n,e)}var xr=class extends ge{constructor(){super(...arguments),this.inputItems=new di(this._client)}create(e,i){return this._client.post("/responses",{body:e,...i,stream:e.stream??!1})._thenUnwrap(s=>("object"in s&&s.object==="response"&&F0(s),s))}retrieve(e,i={},s){return Ue(i)?this.retrieve(e,{},i):this._client.get(`/responses/${e}`,{query:i,...s})}del(e,i){return this._client.delete(`/responses/${e}`,{...i,headers:{Accept:"*/*",...i?.headers}})}parse(e,i){return this._client.responses.create(e,i)._thenUnwrap(s=>N0(s,e))}stream(e,i){return Os.createResponse(this._client,e,i)}},xs=class extends et{};xr.InputItems=di;var mi=class extends ge{create(e,i,s){return this._client.post(`/uploads/${e}/parts`,dA({body:i,...s}))}};var Rr=class extends ge{constructor(){super(...arguments),this.parts=new mi(this._client)}create(e,i){return this._client.post("/uploads",{body:e,...i})}cancel(e,i){return this._client.post(`/uploads/${e}/cancel`,i)}complete(e,i,s){return this._client.post(`/uploads/${e}/complete`,{body:i,...s})}};Rr.Parts=mi;var Kc=async n=>{let e=await Promise.allSettled(n),i=e.filter(u=>u.status==="rejected");if(i.length){for(let u of i)console.error(u.reason);throw new Error(`${i.length} promise(s) failed - see the above errors`)}let s=[];for(let u of e)u.status==="fulfilled"&&s.push(u.value);return s};var Tr=class extends ge{create(e,i,s){return this._client.post(`/vector_stores/${e}/files`,{body:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}retrieve(e,i,s){return this._client.get(`/vector_stores/${e}/files/${i}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}update(e,i,s,u){return this._client.post(`/vector_stores/${e}/files/${i}`,{body:s,...u,headers:{"OpenAI-Beta":"assistants=v2",...u?.headers}})}list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/vector_stores/${e}/files`,Or,{query:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}del(e,i,s){return this._client.delete(`/vector_stores/${e}/files/${i}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}async createAndPoll(e,i,s){let u=await this.create(e,i,s);return await this.poll(e,u.id,s)}async poll(e,i,s){let u={...s?.headers,"X-Stainless-Poll-Helper":"true"};for(s?.pollIntervalMs&&(u["X-Stainless-Custom-Poll-Interval"]=s.pollIntervalMs.toString());;){let d=await this.retrieve(e,i,{...s,headers:u}).withResponse(),m=d.data;switch(m.status){case"in_progress":let y=5e3;if(s?.pollIntervalMs)y=s.pollIntervalMs;else{let E=d.response.headers.get("openai-poll-after-ms");if(E){let b=parseInt(E);isNaN(b)||(y=b)}}await er(y);break;case"failed":case"completed":return m}}}async upload(e,i,s){let u=await this._client.files.create({file:i,purpose:"assistants"},s);return this.create(e,{file_id:u.id},s)}async uploadAndPoll(e,i,s){let u=await this.upload(e,i,s);return await this.poll(e,u.id,s)}content(e,i,s){return this._client.getAPIList(`/vector_stores/${e}/files/${i}/content`,gi,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}},Or=class extends et{},gi=class extends jA{};Tr.VectorStoreFilesPage=Or;Tr.FileContentResponsesPage=gi;var yi=class extends ge{create(e,i,s){return this._client.post(`/vector_stores/${e}/file_batches`,{body:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}retrieve(e,i,s){return this._client.get(`/vector_stores/${e}/file_batches/${i}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}cancel(e,i,s){return this._client.post(`/vector_stores/${e}/file_batches/${i}/cancel`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}async createAndPoll(e,i,s){let u=await this.create(e,i);return await this.poll(e,u.id,s)}listFiles(e,i,s={},u){return Ue(s)?this.listFiles(e,i,{},s):this._client.getAPIList(`/vector_stores/${e}/file_batches/${i}/files`,Or,{query:s,...u,headers:{"OpenAI-Beta":"assistants=v2",...u?.headers}})}async poll(e,i,s){let u={...s?.headers,"X-Stainless-Poll-Helper":"true"};for(s?.pollIntervalMs&&(u["X-Stainless-Custom-Poll-Interval"]=s.pollIntervalMs.toString());;){let{data:d,response:m}=await this.retrieve(e,i,{...s,headers:u}).withResponse();switch(d.status){case"in_progress":let y=5e3;if(s?.pollIntervalMs)y=s.pollIntervalMs;else{let E=m.headers.get("openai-poll-after-ms");if(E){let b=parseInt(E);isNaN(b)||(y=b)}}await er(y);break;case"failed":case"cancelled":case"completed":return d}}}async uploadAndPoll(e,{files:i,fileIds:s=[]},u){if(i==null||i.length==0)throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let d=u?.maxConcurrency??5,m=Math.min(d,i.length),y=this._client,E=i.values(),b=[...s];async function w($){for(let C of $){let x=await y.files.create({file:C,purpose:"assistants"},u);b.push(x.id)}}let _=Array(m).fill(E).map(w);return await Kc(_),await this.createAndPoll(e,{file_ids:b})}};var oA=class extends ge{constructor(){super(...arguments),this.files=new Tr(this._client),this.fileBatches=new yi(this._client)}create(e,i){return this._client.post("/vector_stores",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}retrieve(e,i){return this._client.get(`/vector_stores/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}update(e,i,s){return this._client.post(`/vector_stores/${e}`,{body:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/vector_stores",yn,{query:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}del(e,i){return this._client.delete(`/vector_stores/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}search(e,i,s){return this._client.getAPIList(`/vector_stores/${e}/search`,wn,{body:i,method:"post",...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}},yn=class extends et{},wn=class extends jA{};oA.VectorStoresPage=yn;oA.VectorStoreSearchResponsesPage=wn;oA.Files=Tr;oA.VectorStoreFilesPage=Or;oA.FileContentResponsesPage=gi;oA.FileBatches=yi;var Wc,qe=class extends ps{constructor({baseURL:e=to("OPENAI_BASE_URL"),apiKey:i=to("OPENAI_API_KEY"),organization:s=to("OPENAI_ORG_ID")??null,project:u=to("OPENAI_PROJECT_ID")??null,...d}={}){if(i===void 0)throw new $e("The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).");let m={apiKey:i,organization:s,project:u,...d,baseURL:e||"https://api.openai.com/v1"};if(!m.dangerouslyAllowBrowser&&Sc())throw new $e(`It looks like you're running in a browser-like environment.
|
|
14
|
+
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],d}if(this.chunks.push(e),e.startsWith(":"))return null;let[i,s,u]=uy(e,":");return u.startsWith(" ")&&(u=u.substring(1)),i==="event"?this.event=u:i==="data"&&this.data.push(u),null}};function uy(n,e){let i=n.indexOf(e);return i!==-1?[n.substring(0,i),e,n.substring(i+e.length)]:[n,"",""]}var mc=n=>n!=null&&typeof n=="object"&&typeof n.url=="string"&&typeof n.blob=="function",gc=n=>n!=null&&typeof n=="object"&&typeof n.name=="string"&&typeof n.lastModified=="number"&&Zi(n),Zi=n=>n!=null&&typeof n=="object"&&typeof n.size=="number"&&typeof n.type=="string"&&typeof n.text=="function"&&typeof n.slice=="function"&&typeof n.arrayBuffer=="function",fy=n=>gc(n)||mc(n)||a0(n);async function p0(n,e,i){if(n=await n,gc(n))return n;if(mc(n)){let u=await n.blob();e||(e=new URL(n.url).pathname.split(/[\\/]/).pop()??"unknown_file");let d=Zi(u)?[await u.arrayBuffer()]:[u];return new ss(d,e,i)}let s=await cy(n);if(e||(e=hy(n)??"unknown_file"),!i?.type){let u=s[0]?.type;typeof u=="string"&&(i={...i,type:u})}return new ss(s,e,i)}async function cy(n){let e=[];if(typeof n=="string"||ArrayBuffer.isView(n)||n instanceof ArrayBuffer)e.push(n);else if(Zi(n))e.push(await n.arrayBuffer());else if(py(n))for await(let i of n)e.push(i);else throw new Error(`Unexpected data type: ${typeof n}; constructor: ${n?.constructor?.name}; props: ${dy(n)}`);return e}function dy(n){return`[${Object.getOwnPropertyNames(n).map(i=>`"${i}"`).join(", ")}]`}function hy(n){return d0(n.name)||d0(n.filename)||d0(n.path)?.split(/[\\/]/).pop()}var d0=n=>{if(typeof n=="string")return n;if(typeof Buffer<"u"&&n instanceof Buffer)return String(n)},py=n=>n!=null&&typeof n=="object"&&typeof n[Symbol.asyncIterator]=="function",m0=n=>n&&typeof n=="object"&&n.body&&n[Symbol.toStringTag]==="MultipartBody";var dA=async n=>{let e=await yc(n.body);return o0(e,n)},yc=async n=>{let e=new n0;return await Promise.all(Object.entries(n||{}).map(([i,s])=>h0(e,i,s))),e};var h0=async(n,e,i)=>{if(i!==void 0){if(i==null)throw new TypeError(`Received null for "${e}"; to pass null in FormData, you must use the string 'null'`);if(typeof i=="string"||typeof i=="number"||typeof i=="boolean")n.append(e,String(i));else if(fy(i)){let s=await p0(i);n.append(e,s)}else if(Array.isArray(i))await Promise.all(i.map(s=>h0(n,e+"[]",s)));else if(typeof i=="object")await Promise.all(Object.entries(i).map(([s,u])=>h0(n,`${e}[${s}]`,u)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${i} instead`)}};var gy=function(n,e,i,s,u){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!u:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(n,i):u?u.value=i:e.set(n,i),i},yy=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},cs;l0();async function $c(n){let{response:e}=n;if(n.options.stream)return ZA("response",e.status,e.url,e.headers,e.body),n.options.__streamClass?n.options.__streamClass.fromSSEResponse(e,n.controller):MA.fromSSEResponse(e,n.controller);if(e.status===204)return null;if(n.options.__binaryResponse)return e;let s=e.headers.get("content-type")?.split(";")[0]?.trim();if(s?.includes("application/json")||s?.endsWith("+json")){let m=await e.json();return ZA("response",e.status,e.url,e.headers,m),Pc(m,e)}let d=await e.text();return ZA("response",e.status,e.url,e.headers,d),d}function Pc(n,e){return!n||typeof n!="object"||Array.isArray(n)?n:Object.defineProperty(n,"_request_id",{value:e.headers.get("x-request-id"),enumerable:!1})}var hs=class n extends Promise{constructor(e,i=$c){super(s=>{s(null)}),this.responsePromise=e,this.parseResponse=i}_thenUnwrap(e){return new n(this.responsePromise,async i=>Pc(e(await this.parseResponse(i),i),i.response))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,i]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:i,request_id:i.headers.get("x-request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(this.parseResponse)),this.parsedPromise}then(e,i){return this.parse().then(e,i)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}},ps=class{constructor({baseURL:e,maxRetries:i=2,timeout:s=6e5,httpAgent:u,fetch:d}){this.baseURL=e,this.maxRetries=g0("maxRetries",i),this.timeout=g0("timeout",s),this.httpAgent=u,this.fetch=d??r0}authHeaders(e){return{}}defaultHeaders(e){return{Accept:"application/json","Content-Type":"application/json","User-Agent":this.getUserAgent(),...by(),...this.authHeaders(e)}}validateHeaders(e,i){}defaultIdempotencyKey(){return`stainless-node-retry-${ky()}`}get(e,i){return this.methodRequest("get",e,i)}post(e,i){return this.methodRequest("post",e,i)}patch(e,i){return this.methodRequest("patch",e,i)}put(e,i){return this.methodRequest("put",e,i)}delete(e,i){return this.methodRequest("delete",e,i)}methodRequest(e,i,s){return this.request(Promise.resolve(s).then(async u=>{let d=u&&Zi(u?.body)?new DataView(await u.body.arrayBuffer()):u?.body instanceof DataView?u.body:u?.body instanceof ArrayBuffer?new DataView(u.body):u&&ArrayBuffer.isView(u?.body)?new DataView(u.body.buffer):u?.body;return{method:e,path:i,...u,body:d}}))}getAPIList(e,i,s){return this.requestAPIList(i,{method:"get",path:e,...s})}calculateContentLength(e){if(typeof e=="string"){if(typeof Buffer<"u")return Buffer.byteLength(e,"utf8").toString();if(typeof TextEncoder<"u")return new TextEncoder().encode(e).length.toString()}else if(ArrayBuffer.isView(e))return e.byteLength.toString();return null}buildRequest(e,{retryCount:i=0}={}){let s={...e},{method:u,path:d,query:m,headers:y={}}=s,E=ArrayBuffer.isView(s.body)||s.__binaryRequest&&typeof s.body=="string"?s.body:m0(s.body)?s.body.body:s.body?JSON.stringify(s.body,null,2):null,b=this.calculateContentLength(E),w=this.buildURL(d,m);"timeout"in s&&g0("timeout",s.timeout),s.timeout=s.timeout??this.timeout;let v=s.httpAgent??this.httpAgent??s0(w),$=s.timeout+1e3;typeof v?.options?.timeout=="number"&&$>(v.options.timeout??0)&&(v.options.timeout=$),this.idempotencyHeader&&u!=="get"&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),y[this.idempotencyHeader]=e.idempotencyKey);let S=this.buildHeaders({options:s,headers:y,contentLength:b,retryCount:i});return{req:{method:u,...E&&{body:E},headers:S,...v&&{agent:v},signal:s.signal??null},url:w,timeout:s.timeout}}buildHeaders({options:e,headers:i,contentLength:s,retryCount:u}){let d={};s&&(d["content-length"]=s);let m=this.defaultHeaders(e);return bc(d,m),bc(d,i),m0(e.body)&&Yr!=="node"&&delete d["content-type"],ds(m,"x-stainless-retry-count")===void 0&&ds(i,"x-stainless-retry-count")===void 0&&(d["x-stainless-retry-count"]=String(u)),ds(m,"x-stainless-timeout")===void 0&&ds(i,"x-stainless-timeout")===void 0&&e.timeout&&(d["x-stainless-timeout"]=String(Math.trunc(e.timeout/1e3))),this.validateHeaders(d,i),d}async prepareOptions(e){}async prepareRequest(e,{url:i,options:s}){}parseHeaders(e){return e?Symbol.iterator in e?Object.fromEntries(Array.from(e).map(i=>[...i])):{...e}:{}}makeStatusError(e,i,s,u){return $t.generate(e,i,s,u)}request(e,i=null){return new hs(this.makeRequest(e,i))}async makeRequest(e,i){let s=await e,u=s.maxRetries??this.maxRetries;i==null&&(i=u),await this.prepareOptions(s);let{req:d,url:m,timeout:y}=this.buildRequest(s,{retryCount:u-i});if(await this.prepareRequest(d,{url:m,options:s}),ZA("request",m,s,d.headers),s.signal?.aborted)throw new bt;let E=new AbortController,b=await this.fetchWithTimeout(m,d,y,E).catch(us);if(b instanceof Error){if(s.signal?.aborted)throw new bt;if(i)return this.retryRequest(s,i);throw b.name==="AbortError"?new mr:new pr({cause:b})}let w=c0(b.headers);if(!b.ok){if(i&&this.shouldRetry(b)){let B=`retrying, ${i} attempts remaining`;return ZA(`response (error; ${B})`,b.status,m,w),this.retryRequest(s,i,w)}let v=await b.text().catch(B=>us(B).message),$=Ey(v),S=$?void 0:v;throw ZA(`response (error; ${i?"(error; no more retries left)":"(error; not retryable)"})`,b.status,m,w,S),this.makeStatusError(b.status,$,S,w)}return{response:b,options:s,controller:E}}requestAPIList(e,i){let s=this.makeRequest(i,null);return new y0(this,s,e)}buildURL(e,i){let s=Py(e)?new URL(e):new URL(this.baseURL+(this.baseURL.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),u=this.defaultQuery();return kc(u)||(i={...u,...i}),typeof i=="object"&&i&&!Array.isArray(i)&&(s.search=this.stringifyQuery(i)),s.toString()}stringifyQuery(e){return Object.entries(e).filter(([i,s])=>typeof s<"u").map(([i,s])=>{if(typeof s=="string"||typeof s=="number"||typeof s=="boolean")return`${encodeURIComponent(i)}=${encodeURIComponent(s)}`;if(s===null)return`${encodeURIComponent(i)}=`;throw new $e(`Cannot stringify type ${typeof s}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}async fetchWithTimeout(e,i,s,u){let{signal:d,...m}=i||{};d&&d.addEventListener("abort",()=>u.abort());let y=setTimeout(()=>u.abort(),s),E={signal:u.signal,...m};return E.method&&(E.method=E.method.toUpperCase()),this.fetch.call(void 0,e,E).finally(()=>{clearTimeout(y)})}shouldRetry(e){let i=e.headers.get("x-should-retry");return i==="true"?!0:i==="false"?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,i,s){let u,d=s?.["retry-after-ms"];if(d){let y=parseFloat(d);Number.isNaN(y)||(u=y)}let m=s?.["retry-after"];if(m&&!u){let y=parseFloat(m);Number.isNaN(y)?u=Date.parse(m)-Date.now():u=y*1e3}if(!(u&&0<=u&&u<60*1e3)){let y=e.maxRetries??this.maxRetries;u=this.calculateDefaultRetryTimeoutMillis(i,y)}return await er(u),this.makeRequest(e,i-1)}calculateDefaultRetryTimeoutMillis(e,i){let d=i-e,m=Math.min(.5*Math.pow(2,d),8),y=1-Math.random()*.25;return m*y*1e3}getUserAgent(){return`${this.constructor.name}/JS ${Wr}`}},eo=class{constructor(e,i,s,u){cs.set(this,void 0),gy(this,cs,e,"f"),this.options=u,this.response=i,this.body=s}hasNextPage(){return this.getPaginatedItems().length?this.nextPageInfo()!=null:!1}async getNextPage(){let e=this.nextPageInfo();if(!e)throw new $e("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");let i={...this.options};if("params"in e&&typeof i.query=="object")i.query={...i.query,...e.params};else if("url"in e){let s=[...Object.entries(i.query||{}),...e.url.searchParams.entries()];for(let[u,d]of s)e.url.searchParams.set(u,d);i.query=void 0,i.path=e.url.toString()}return await yy(this,cs,"f").requestAPIList(this.constructor,i)}async*iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async*[(cs=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let i of e.getPaginatedItems())yield i}},y0=class extends hs{constructor(e,i,s){super(i,async u=>new s(e,u.response,await $c(u),u.options))}async*[Symbol.asyncIterator](){let e=await this;for await(let i of e)yield i}},c0=n=>new Proxy(Object.fromEntries(n.entries()),{get(e,i){let s=i.toString();return e[s.toLowerCase()]||e[s]}}),wy={method:!0,path:!0,query:!0,body:!0,headers:!0,maxRetries:!0,stream:!0,timeout:!0,httpAgent:!0,signal:!0,idempotencyKey:!0,__metadata:!0,__binaryRequest:!0,__binaryResponse:!0,__streamClass:!0},Ue=n=>typeof n=="object"&&n!==null&&!kc(n)&&Object.keys(n).every(e=>Cc(wy,e)),_y=()=>{if(typeof Deno<"u"&&Deno.build!=null)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Wr,"X-Stainless-OS":_c(Deno.build.os),"X-Stainless-Arch":wc(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Wr,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":process.version};if(Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Wr,"X-Stainless-OS":_c(process.platform),"X-Stainless-Arch":wc(process.arch),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":process.version};let n=vy();return n?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Wr,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${n.browser}`,"X-Stainless-Runtime-Version":n.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Wr,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function vy(){if(typeof navigator>"u"||!navigator)return null;let n=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:e,pattern:i}of n){let s=i.exec(navigator.userAgent);if(s){let u=s[1]||0,d=s[2]||0,m=s[3]||0;return{browser:e,version:`${u}.${d}.${m}`}}}return null}var wc=n=>n==="x32"?"x32":n==="x86_64"||n==="x64"?"x64":n==="arm"?"arm":n==="aarch64"||n==="arm64"?"arm64":n?`other:${n}`:"unknown",_c=n=>(n=n.toLowerCase(),n.includes("ios")?"iOS":n==="android"?"Android":n==="darwin"?"MacOS":n==="win32"?"Windows":n==="freebsd"?"FreeBSD":n==="openbsd"?"OpenBSD":n==="linux"?"Linux":n?`Other:${n}`:"Unknown"),vc,by=()=>vc??(vc=_y()),Ey=n=>{try{return JSON.parse(n)}catch{return}},$y=/^[a-z][a-z0-9+.-]*:/i,Py=n=>$y.test(n),er=n=>new Promise(e=>setTimeout(e,n)),g0=(n,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new $e(`${n} must be an integer`);if(e<0)throw new $e(`${n} must be a positive integer`);return e},us=n=>{if(n instanceof Error)return n;if(typeof n=="object"&&n!==null)try{return new Error(JSON.stringify(n))}catch{}return new Error(n)};var to=n=>{if(typeof process<"u")return process.env?.[n]?.trim()??void 0;if(typeof Deno<"u")return Deno.env?.get?.(n)?.trim()};function kc(n){if(!n)return!0;for(let e in n)return!1;return!0}function Cc(n,e){return Object.prototype.hasOwnProperty.call(n,e)}function bc(n,e){for(let i in e){if(!Cc(e,i))continue;let s=i.toLowerCase();if(!s)continue;let u=e[i];u===null?delete n[s]:u!==void 0&&(n[s]=u)}}var Ec=new Set(["authorization","api-key"]);function ZA(n,...e){if(typeof process<"u"&&process?.env?.DEBUG==="true"){let i=e.map(s=>{if(!s)return s;if(s.headers){let d={...s,headers:{...s.headers}};for(let m in s.headers)Ec.has(m.toLowerCase())&&(d.headers[m]="REDACTED");return d}let u=null;for(let d in s)Ec.has(d.toLowerCase())&&(u??(u={...s}),u[d]="REDACTED");return u??s});console.log(`OpenAI:DEBUG:${n}`,...i)}}var ky=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>{let e=Math.random()*16|0;return(n==="x"?e:e&3|8).toString(16)}),Sc=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u",Cy=n=>typeof n?.get=="function";var ds=(n,e)=>{let i=e.toLowerCase();if(Cy(n)){let s=e[0]?.toUpperCase()+e.substring(1).replace(/([^\w])(\w)/g,(u,d,m)=>d+m.toUpperCase());for(let u of[e,i,e.toUpperCase(),s]){let d=n.get(u);if(d)return d}}for(let[s,u]of Object.entries(n))if(s.toLowerCase()===i)return Array.isArray(u)?(u.length<=1||console.warn(`Received ${u.length} entries for the ${e} header, using the first entry.`),u[0]):u};var Dc=n=>{if(typeof Buffer<"u"){let e=Buffer.from(n,"base64");return Array.from(new Float32Array(e.buffer,e.byteOffset,e.length/Float32Array.BYTES_PER_ELEMENT))}else{let e=atob(n),i=e.length,s=new Uint8Array(i);for(let u=0;u<i;u++)s[u]=e.charCodeAt(u);return Array.from(new Float32Array(s.buffer))}};function Ao(n){return n!=null&&typeof n=="object"&&!Array.isArray(n)}var jA=class extends eo{constructor(e,i,s,u){super(e,i,s,u),this.data=s.data||[],this.object=s.object}getPaginatedItems(){return this.data??[]}nextPageParams(){return null}nextPageInfo(){return null}},et=class extends eo{constructor(e,i,s,u){super(e,i,s,u),this.data=s.data||[],this.has_more=s.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageParams(){let e=this.nextPageInfo();if(!e)return null;if("params"in e)return e.params;let i=Object.fromEntries(e.url.searchParams);return Object.keys(i).length?i:null}nextPageInfo(){let e=this.getPaginatedItems();if(!e.length)return null;let i=e[e.length-1]?.id;return i?{params:{after:i}}:null}};var ge=class{constructor(e){this._client=e}};var Gn=class extends ge{list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/chat/completions/${e}/messages`,ms,{query:i,...s})}};var yr=class extends ge{constructor(){super(...arguments),this.messages=new Gn(this._client)}create(e,i){return this._client.post("/chat/completions",{body:e,...i,stream:e.stream??!1})}retrieve(e,i){return this._client.get(`/chat/completions/${e}`,i)}update(e,i,s){return this._client.post(`/chat/completions/${e}`,{body:i,...s})}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/chat/completions",wr,{query:e,...i})}del(e,i){return this._client.delete(`/chat/completions/${e}`,i)}},wr=class extends et{},ms=class extends et{};yr.ChatCompletionsPage=wr;yr.Messages=Gn;var tr=class extends ge{constructor(){super(...arguments),this.completions=new yr(this._client)}};tr.Completions=yr;tr.ChatCompletionsPage=wr;var Hn=class extends ge{create(e,i){return this._client.post("/audio/speech",{body:e,...i,headers:{Accept:"application/octet-stream",...i?.headers},__binaryResponse:!0})}};var Vn=class extends ge{create(e,i){return this._client.post("/audio/transcriptions",dA({body:e,...i,stream:e.stream??!1,__metadata:{model:e.model}}))}};var zn=class extends ge{create(e,i){return this._client.post("/audio/translations",dA({body:e,...i,__metadata:{model:e.model}}))}};var NA=class extends ge{constructor(){super(...arguments),this.transcriptions=new Vn(this._client),this.translations=new zn(this._client),this.speech=new Hn(this._client)}};NA.Transcriptions=Vn;NA.Translations=zn;NA.Speech=Hn;var _r=class extends ge{create(e,i){return this._client.post("/batches",{body:e,...i})}retrieve(e,i){return this._client.get(`/batches/${e}`,i)}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/batches",en,{query:e,...i})}cancel(e,i){return this._client.post(`/batches/${e}/cancel`,i)}},en=class extends et{};_r.BatchesPage=en;var tn=class extends ge{create(e,i){return this._client.post("/assistants",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}retrieve(e,i){return this._client.get(`/assistants/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}update(e,i,s){return this._client.post(`/assistants/${e}`,{body:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/assistants",Jn,{query:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}del(e,i){return this._client.delete(`/assistants/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}},Jn=class extends et{};tn.AssistantsPage=Jn;function w0(n){return typeof n.parse=="function"}var vr=n=>n?.role==="assistant",_0=n=>n?.role==="function",v0=n=>n?.role==="tool";var wA=function(n,e,i,s,u){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!u:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(n,i):u?u.value=i:e.set(n,i),i},wt=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},b0,gs,ys,ro,no,ws,io,Ar,oo,_s,vs,Kn,xc,br=class{constructor(){b0.add(this),this.controller=new AbortController,gs.set(this,void 0),ys.set(this,()=>{}),ro.set(this,()=>{}),no.set(this,void 0),ws.set(this,()=>{}),io.set(this,()=>{}),Ar.set(this,{}),oo.set(this,!1),_s.set(this,!1),vs.set(this,!1),Kn.set(this,!1),wA(this,gs,new Promise((e,i)=>{wA(this,ys,e,"f"),wA(this,ro,i,"f")}),"f"),wA(this,no,new Promise((e,i)=>{wA(this,ws,e,"f"),wA(this,io,i,"f")}),"f"),wt(this,gs,"f").catch(()=>{}),wt(this,no,"f").catch(()=>{})}_run(e){setTimeout(()=>{e().then(()=>{this._emitFinal(),this._emit("end")},wt(this,b0,"m",xc).bind(this))},0)}_connected(){this.ended||(wt(this,ys,"f").call(this),this._emit("connect"))}get ended(){return wt(this,oo,"f")}get errored(){return wt(this,_s,"f")}get aborted(){return wt(this,vs,"f")}abort(){this.controller.abort()}on(e,i){return(wt(this,Ar,"f")[e]||(wt(this,Ar,"f")[e]=[])).push({listener:i}),this}off(e,i){let s=wt(this,Ar,"f")[e];if(!s)return this;let u=s.findIndex(d=>d.listener===i);return u>=0&&s.splice(u,1),this}once(e,i){return(wt(this,Ar,"f")[e]||(wt(this,Ar,"f")[e]=[])).push({listener:i,once:!0}),this}emitted(e){return new Promise((i,s)=>{wA(this,Kn,!0,"f"),e!=="error"&&this.once("error",s),this.once(e,i)})}async done(){wA(this,Kn,!0,"f"),await wt(this,no,"f")}_emit(e,...i){if(wt(this,oo,"f"))return;e==="end"&&(wA(this,oo,!0,"f"),wt(this,ws,"f").call(this));let s=wt(this,Ar,"f")[e];if(s&&(wt(this,Ar,"f")[e]=s.filter(u=>!u.once),s.forEach(({listener:u})=>u(...i))),e==="abort"){let u=i[0];!wt(this,Kn,"f")&&!s?.length&&Promise.reject(u),wt(this,ro,"f").call(this,u),wt(this,io,"f").call(this,u),this._emit("end");return}if(e==="error"){let u=i[0];!wt(this,Kn,"f")&&!s?.length&&Promise.reject(u),wt(this,ro,"f").call(this,u),wt(this,io,"f").call(this,u),this._emit("end")}}_emitFinal(){}};gs=new WeakMap,ys=new WeakMap,ro=new WeakMap,no=new WeakMap,ws=new WeakMap,io=new WeakMap,Ar=new WeakMap,oo=new WeakMap,_s=new WeakMap,vs=new WeakMap,Kn=new WeakMap,b0=new WeakSet,xc=function(e){if(wA(this,_s,!0,"f"),e instanceof Error&&e.name==="AbortError"&&(e=new bt),e instanceof bt)return wA(this,vs,!0,"f"),this._emit("abort",e);if(e instanceof $e)return this._emit("error",e);if(e instanceof Error){let i=new $e(e.message);return i.cause=e,this._emit("error",i)}return this._emit("error",new $e(String(e)))};function so(n){return n?.$brand==="auto-parseable-response-format"}function An(n){return n?.$brand==="auto-parseable-tool"}function Rc(n,e){return!e||!E0(e)?{...n,choices:n.choices.map(i=>({...i,message:{...i.message,parsed:null,...i.message.tool_calls?{tool_calls:i.message.tool_calls}:void 0}}))}:ao(n,e)}function ao(n,e){let i=n.choices.map(s=>{if(s.finish_reason==="length")throw new qn;if(s.finish_reason==="content_filter")throw new Un;return{...s,message:{...s.message,...s.message.tool_calls?{tool_calls:s.message.tool_calls?.map(u=>By(e,u))??void 0}:void 0,parsed:s.message.content&&!s.message.refusal?Iy(e,s.message.content):null}}});return{...n,choices:i}}function Iy(n,e){return n.response_format?.type!=="json_schema"?null:n.response_format?.type==="json_schema"?"$parseRaw"in n.response_format?n.response_format.$parseRaw(e):JSON.parse(e):null}function By(n,e){let i=n.tools?.find(s=>s.function?.name===e.function.name);return{...e,function:{...e.function,parsed_arguments:An(i)?i.$parseRaw(e.function.arguments):i?.function.strict?JSON.parse(e.function.arguments):null}}}function Tc(n,e){if(!n)return!1;let i=n.tools?.find(s=>s.function?.name===e.function.name);return An(i)||i?.function.strict||!1}function E0(n){return so(n.response_format)?!0:n.tools?.some(e=>An(e)||e.type==="function"&&e.function.strict===!0)??!1}function Oc(n){for(let e of n??[]){if(e.type!=="function")throw new $e(`Currently only \`function\` tool types support auto-parsing; Received \`${e.type}\``);if(e.function.strict!==!0)throw new $e(`The \`${e.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var Yt=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},Lt,$0,bs,P0,k0,C0,Bc,S0,Ic=10,Wn=class extends br{constructor(){super(...arguments),Lt.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(e){this._chatCompletions.push(e),this._emit("chatCompletion",e);let i=e.choices[0]?.message;return i&&this._addMessage(i),e}_addMessage(e,i=!0){if("content"in e||(e.content=null),this.messages.push(e),i){if(this._emit("message",e),(_0(e)||v0(e))&&e.content)this._emit("functionCallResult",e.content);else if(vr(e)&&e.function_call)this._emit("functionCall",e.function_call);else if(vr(e)&&e.tool_calls)for(let s of e.tool_calls)s.type==="function"&&this._emit("functionCall",s.function)}}async finalChatCompletion(){await this.done();let e=this._chatCompletions[this._chatCompletions.length-1];if(!e)throw new $e("stream ended without producing a ChatCompletion");return e}async finalContent(){return await this.done(),Yt(this,Lt,"m",$0).call(this)}async finalMessage(){return await this.done(),Yt(this,Lt,"m",bs).call(this)}async finalFunctionCall(){return await this.done(),Yt(this,Lt,"m",P0).call(this)}async finalFunctionCallResult(){return await this.done(),Yt(this,Lt,"m",k0).call(this)}async totalUsage(){return await this.done(),Yt(this,Lt,"m",C0).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let e=this._chatCompletions[this._chatCompletions.length-1];e&&this._emit("finalChatCompletion",e);let i=Yt(this,Lt,"m",bs).call(this);i&&this._emit("finalMessage",i);let s=Yt(this,Lt,"m",$0).call(this);s&&this._emit("finalContent",s);let u=Yt(this,Lt,"m",P0).call(this);u&&this._emit("finalFunctionCall",u);let d=Yt(this,Lt,"m",k0).call(this);d!=null&&this._emit("finalFunctionCallResult",d),this._chatCompletions.some(m=>m.usage)&&this._emit("totalUsage",Yt(this,Lt,"m",C0).call(this))}async _createChatCompletion(e,i,s){let u=s?.signal;u&&(u.aborted&&this.controller.abort(),u.addEventListener("abort",()=>this.controller.abort())),Yt(this,Lt,"m",Bc).call(this,i);let d=await e.chat.completions.create({...i,stream:!1},{...s,signal:this.controller.signal});return this._connected(),this._addChatCompletion(ao(d,i))}async _runChatCompletion(e,i,s){for(let u of i.messages)this._addMessage(u,!1);return await this._createChatCompletion(e,i,s)}async _runFunctions(e,i,s){let u="function",{function_call:d="auto",stream:m,...y}=i,E=typeof d!="string"&&d?.name,{maxChatCompletions:b=Ic}=s||{},w={};for(let $ of i.functions)w[$.name||$.function.name]=$;let v=i.functions.map($=>({name:$.name||$.function.name,parameters:$.parameters,description:$.description}));for(let $ of i.messages)this._addMessage($,!1);for(let $=0;$<b;++$){let x=(await this._createChatCompletion(e,{...y,function_call:d,functions:v,messages:[...this.messages]},s)).choices[0]?.message;if(!x)throw new $e("missing message in ChatCompletion response");if(!x.function_call)return;let{name:k,arguments:B}=x.function_call,O=w[k];if(O){if(E&&E!==k){let V=`Invalid function_call: ${JSON.stringify(k)}. ${JSON.stringify(E)} requested. Please try again`;this._addMessage({role:u,name:k,content:V});continue}}else{let V=`Invalid function_call: ${JSON.stringify(k)}. Available options are: ${v.map(z=>JSON.stringify(z.name)).join(", ")}. Please try again`;this._addMessage({role:u,name:k,content:V});continue}let I;try{I=w0(O)?await O.parse(B):B}catch(V){this._addMessage({role:u,name:k,content:V instanceof Error?V.message:String(V)});continue}let U=await O.function(I,this),q=Yt(this,Lt,"m",S0).call(this,U);if(this._addMessage({role:u,name:k,content:q}),E)return}}async _runTools(e,i,s){let u="tool",{tool_choice:d="auto",stream:m,...y}=i,E=typeof d!="string"&&d?.function?.name,{maxChatCompletions:b=Ic}=s||{},w=i.tools.map(S=>{if(An(S)){if(!S.$callback)throw new $e("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:S.$callback,name:S.function.name,description:S.function.description||"",parameters:S.function.parameters,parse:S.$parseRaw,strict:!0}}}return S}),v={};for(let S of w)S.type==="function"&&(v[S.function.name||S.function.function.name]=S.function);let $="tools"in i?w.map(S=>S.type==="function"?{type:"function",function:{name:S.function.name||S.function.function.name,parameters:S.function.parameters,description:S.function.description,strict:S.function.strict}}:S):void 0;for(let S of i.messages)this._addMessage(S,!1);for(let S=0;S<b;++S){let k=(await this._createChatCompletion(e,{...y,tool_choice:d,tools:$,messages:[...this.messages]},s)).choices[0]?.message;if(!k)throw new $e("missing message in ChatCompletion response");if(!k.tool_calls?.length)return;for(let B of k.tool_calls){if(B.type!=="function")continue;let O=B.id,{name:I,arguments:U}=B.function,q=v[I];if(q){if(E&&E!==I){let L=`Invalid tool_call: ${JSON.stringify(I)}. ${JSON.stringify(E)} requested. Please try again`;this._addMessage({role:u,tool_call_id:O,content:L});continue}}else{let L=`Invalid tool_call: ${JSON.stringify(I)}. Available options are: ${Object.keys(v).map(J=>JSON.stringify(J)).join(", ")}. Please try again`;this._addMessage({role:u,tool_call_id:O,content:L});continue}let V;try{V=w0(q)?await q.parse(U):U}catch(L){let J=L instanceof Error?L.message:String(L);this._addMessage({role:u,tool_call_id:O,content:J});continue}let z=await q.function(V,this),re=Yt(this,Lt,"m",S0).call(this,z);if(this._addMessage({role:u,tool_call_id:O,content:re}),E)return}}}};Lt=new WeakSet,$0=function(){return Yt(this,Lt,"m",bs).call(this).content??null},bs=function(){let e=this.messages.length;for(;e-- >0;){let i=this.messages[e];if(vr(i)){let{function_call:s,...u}=i,d={...u,content:i.content??null,refusal:i.refusal??null};return s&&(d.function_call=s),d}}throw new $e("stream ended without producing a ChatCompletionMessage with role=assistant")},P0=function(){for(let e=this.messages.length-1;e>=0;e--){let i=this.messages[e];if(vr(i)&&i?.function_call)return i.function_call;if(vr(i)&&i?.tool_calls?.length)return i.tool_calls.at(-1)?.function}},k0=function(){for(let e=this.messages.length-1;e>=0;e--){let i=this.messages[e];if(_0(i)&&i.content!=null||v0(i)&&i.content!=null&&typeof i.content=="string"&&this.messages.some(s=>s.role==="assistant"&&s.tool_calls?.some(u=>u.type==="function"&&u.id===i.tool_call_id)))return i.content}},C0=function(){let e={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:i}of this._chatCompletions)i&&(e.completion_tokens+=i.completion_tokens,e.prompt_tokens+=i.prompt_tokens,e.total_tokens+=i.total_tokens);return e},Bc=function(e){if(e.n!=null&&e.n>1)throw new $e("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},S0=function(e){return typeof e=="string"?e:e===void 0?"undefined":JSON.stringify(e)};var lo=class n extends Wn{static runFunctions(e,i,s){let u=new n,d={...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return u._run(()=>u._runFunctions(e,i,d)),u}static runTools(e,i,s){let u=new n,d={...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"runTools"}};return u._run(()=>u._runTools(e,i,d)),u}_addMessage(e,i=!0){super._addMessage(e,i),vr(e)&&e.content&&this._emit("content",e.content)}};var Rt={STR:1,NUM:2,ARR:4,OBJ:8,NULL:16,BOOL:32,NAN:64,INFINITY:128,MINUS_INFINITY:256,INF:384,SPECIAL:496,ATOM:499,COLLECTION:12,ALL:511},D0=class extends Error{},x0=class extends Error{};function My(n,e=Rt.ALL){if(typeof n!="string")throw new TypeError(`expecting str, got ${typeof n}`);if(!n.trim())throw new Error(`${n} is empty`);return jy(n.trim(),e)}var jy=(n,e)=>{let i=n.length,s=0,u=$=>{throw new D0(`${$} at position ${s}`)},d=$=>{throw new x0(`${$} at position ${s}`)},m=()=>(v(),s>=i&&u("Unexpected end of input"),n[s]==='"'?y():n[s]==="{"?E():n[s]==="["?b():n.substring(s,s+4)==="null"||Rt.NULL&e&&i-s<4&&"null".startsWith(n.substring(s))?(s+=4,null):n.substring(s,s+4)==="true"||Rt.BOOL&e&&i-s<4&&"true".startsWith(n.substring(s))?(s+=4,!0):n.substring(s,s+5)==="false"||Rt.BOOL&e&&i-s<5&&"false".startsWith(n.substring(s))?(s+=5,!1):n.substring(s,s+8)==="Infinity"||Rt.INFINITY&e&&i-s<8&&"Infinity".startsWith(n.substring(s))?(s+=8,1/0):n.substring(s,s+9)==="-Infinity"||Rt.MINUS_INFINITY&e&&1<i-s&&i-s<9&&"-Infinity".startsWith(n.substring(s))?(s+=9,-1/0):n.substring(s,s+3)==="NaN"||Rt.NAN&e&&i-s<3&&"NaN".startsWith(n.substring(s))?(s+=3,NaN):w()),y=()=>{let $=s,S=!1;for(s++;s<i&&(n[s]!=='"'||S&&n[s-1]==="\\");)S=n[s]==="\\"?!S:!1,s++;if(n.charAt(s)=='"')try{return JSON.parse(n.substring($,++s-Number(S)))}catch(x){d(String(x))}else if(Rt.STR&e)try{return JSON.parse(n.substring($,s-Number(S))+'"')}catch{return JSON.parse(n.substring($,n.lastIndexOf("\\"))+'"')}u("Unterminated string literal")},E=()=>{s++,v();let $={};try{for(;n[s]!=="}";){if(v(),s>=i&&Rt.OBJ&e)return $;let S=y();v(),s++;try{let x=m();Object.defineProperty($,S,{value:x,writable:!0,enumerable:!0,configurable:!0})}catch(x){if(Rt.OBJ&e)return $;throw x}v(),n[s]===","&&s++}}catch{if(Rt.OBJ&e)return $;u("Expected '}' at end of object")}return s++,$},b=()=>{s++;let $=[];try{for(;n[s]!=="]";)$.push(m()),v(),n[s]===","&&s++}catch{if(Rt.ARR&e)return $;u("Expected ']' at end of array")}return s++,$},w=()=>{if(s===0){n==="-"&&Rt.NUM&e&&u("Not sure what '-' is");try{return JSON.parse(n)}catch(S){if(Rt.NUM&e)try{return n[n.length-1]==="."?JSON.parse(n.substring(0,n.lastIndexOf("."))):JSON.parse(n.substring(0,n.lastIndexOf("e")))}catch{}d(String(S))}}let $=s;for(n[s]==="-"&&s++;n[s]&&!",]}".includes(n[s]);)s++;s==i&&!(Rt.NUM&e)&&u("Unterminated number literal");try{return JSON.parse(n.substring($,s))}catch{n.substring($,s)==="-"&&Rt.NUM&e&&u("Not sure what '-' is");try{return JSON.parse(n.substring($,n.lastIndexOf("e")))}catch(x){d(String(x))}}},v=()=>{for(;s<i&&`
|
|
15
|
+
\r `.includes(n[s]);)s++};return m()},R0=n=>My(n,Rt.ALL^Rt.NUM);var Yn=function(n,e,i,s,u){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!u:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(n,i):u?u.value=i:e.set(n,i),i},ft=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},Pt,rr,Xn,Er,T0,Es,O0,I0,B0,$s,M0,Mc,Zn=class n extends Wn{constructor(e){super(),Pt.add(this),rr.set(this,void 0),Xn.set(this,void 0),Er.set(this,void 0),Yn(this,rr,e,"f"),Yn(this,Xn,[],"f")}get currentChatCompletionSnapshot(){return ft(this,Er,"f")}static fromReadableStream(e){let i=new n(null);return i._run(()=>i._fromReadableStream(e)),i}static createChatCompletion(e,i,s){let u=new n(i);return u._run(()=>u._runChatCompletion(e,{...i,stream:!0},{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),u}async _createChatCompletion(e,i,s){super._createChatCompletion;let u=s?.signal;u&&(u.aborted&&this.controller.abort(),u.addEventListener("abort",()=>this.controller.abort())),ft(this,Pt,"m",T0).call(this);let d=await e.chat.completions.create({...i,stream:!0},{...s,signal:this.controller.signal});this._connected();for await(let m of d)ft(this,Pt,"m",O0).call(this,m);if(d.controller.signal?.aborted)throw new bt;return this._addChatCompletion(ft(this,Pt,"m",$s).call(this))}async _fromReadableStream(e,i){let s=i?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),ft(this,Pt,"m",T0).call(this),this._connected();let u=MA.fromReadableStream(e,this.controller),d;for await(let m of u)d&&d!==m.id&&this._addChatCompletion(ft(this,Pt,"m",$s).call(this)),ft(this,Pt,"m",O0).call(this,m),d=m.id;if(u.controller.signal?.aborted)throw new bt;return this._addChatCompletion(ft(this,Pt,"m",$s).call(this))}[(rr=new WeakMap,Xn=new WeakMap,Er=new WeakMap,Pt=new WeakSet,T0=function(){this.ended||Yn(this,Er,void 0,"f")},Es=function(i){let s=ft(this,Xn,"f")[i.index];return s||(s={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},ft(this,Xn,"f")[i.index]=s,s)},O0=function(i){if(this.ended)return;let s=ft(this,Pt,"m",Mc).call(this,i);this._emit("chunk",i,s);for(let u of i.choices){let d=s.choices[u.index];u.delta.content!=null&&d.message?.role==="assistant"&&d.message?.content&&(this._emit("content",u.delta.content,d.message.content),this._emit("content.delta",{delta:u.delta.content,snapshot:d.message.content,parsed:d.message.parsed})),u.delta.refusal!=null&&d.message?.role==="assistant"&&d.message?.refusal&&this._emit("refusal.delta",{delta:u.delta.refusal,snapshot:d.message.refusal}),u.logprobs?.content!=null&&d.message?.role==="assistant"&&this._emit("logprobs.content.delta",{content:u.logprobs?.content,snapshot:d.logprobs?.content??[]}),u.logprobs?.refusal!=null&&d.message?.role==="assistant"&&this._emit("logprobs.refusal.delta",{refusal:u.logprobs?.refusal,snapshot:d.logprobs?.refusal??[]});let m=ft(this,Pt,"m",Es).call(this,d);d.finish_reason&&(ft(this,Pt,"m",B0).call(this,d),m.current_tool_call_index!=null&&ft(this,Pt,"m",I0).call(this,d,m.current_tool_call_index));for(let y of u.delta.tool_calls??[])m.current_tool_call_index!==y.index&&(ft(this,Pt,"m",B0).call(this,d),m.current_tool_call_index!=null&&ft(this,Pt,"m",I0).call(this,d,m.current_tool_call_index)),m.current_tool_call_index=y.index;for(let y of u.delta.tool_calls??[]){let E=d.message.tool_calls?.[y.index];E?.type&&(E?.type==="function"?this._emit("tool_calls.function.arguments.delta",{name:E.function?.name,index:y.index,arguments:E.function.arguments,parsed_arguments:E.function.parsed_arguments,arguments_delta:y.function?.arguments??""}):(E?.type,void 0))}}},I0=function(i,s){if(ft(this,Pt,"m",Es).call(this,i).done_tool_calls.has(s))return;let d=i.message.tool_calls?.[s];if(!d)throw new Error("no tool call snapshot");if(!d.type)throw new Error("tool call snapshot missing `type`");if(d.type==="function"){let m=ft(this,rr,"f")?.tools?.find(y=>y.type==="function"&&y.function.name===d.function.name);this._emit("tool_calls.function.arguments.done",{name:d.function.name,index:s,arguments:d.function.arguments,parsed_arguments:An(m)?m.$parseRaw(d.function.arguments):m?.function.strict?JSON.parse(d.function.arguments):null})}else d.type},B0=function(i){let s=ft(this,Pt,"m",Es).call(this,i);if(i.message.content&&!s.content_done){s.content_done=!0;let u=ft(this,Pt,"m",M0).call(this);this._emit("content.done",{content:i.message.content,parsed:u?u.$parseRaw(i.message.content):null})}i.message.refusal&&!s.refusal_done&&(s.refusal_done=!0,this._emit("refusal.done",{refusal:i.message.refusal})),i.logprobs?.content&&!s.logprobs_content_done&&(s.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:i.logprobs.content})),i.logprobs?.refusal&&!s.logprobs_refusal_done&&(s.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:i.logprobs.refusal}))},$s=function(){if(this.ended)throw new $e("stream has ended, this shouldn't happen");let i=ft(this,Er,"f");if(!i)throw new $e("request ended without sending any chunks");return Yn(this,Er,void 0,"f"),Yn(this,Xn,[],"f"),Ny(i,ft(this,rr,"f"))},M0=function(){let i=ft(this,rr,"f")?.response_format;return so(i)?i:null},Mc=function(i){var s,u,d,m;let y=ft(this,Er,"f"),{choices:E,...b}=i;y?Object.assign(y,b):y=Yn(this,Er,{...b,choices:[]},"f");for(let{delta:w,finish_reason:v,index:$,logprobs:S=null,...x}of i.choices){let k=y.choices[$];if(k||(k=y.choices[$]={finish_reason:v,index:$,message:{},logprobs:S,...x}),S)if(!k.logprobs)k.logprobs=Object.assign({},S);else{let{content:z,refusal:re,...L}=S;Object.assign(k.logprobs,L),z&&((s=k.logprobs).content??(s.content=[]),k.logprobs.content.push(...z)),re&&((u=k.logprobs).refusal??(u.refusal=[]),k.logprobs.refusal.push(...re))}if(v&&(k.finish_reason=v,ft(this,rr,"f")&&E0(ft(this,rr,"f")))){if(v==="length")throw new qn;if(v==="content_filter")throw new Un}if(Object.assign(k,x),!w)continue;let{content:B,refusal:O,function_call:I,role:U,tool_calls:q,...V}=w;if(Object.assign(k.message,V),O&&(k.message.refusal=(k.message.refusal||"")+O),U&&(k.message.role=U),I&&(k.message.function_call?(I.name&&(k.message.function_call.name=I.name),I.arguments&&((d=k.message.function_call).arguments??(d.arguments=""),k.message.function_call.arguments+=I.arguments)):k.message.function_call=I),B&&(k.message.content=(k.message.content||"")+B,!k.message.refusal&&ft(this,Pt,"m",M0).call(this)&&(k.message.parsed=R0(k.message.content))),q){k.message.tool_calls||(k.message.tool_calls=[]);for(let{index:z,id:re,type:L,function:J,...le}of q){let ae=(m=k.message.tool_calls)[z]??(m[z]={});Object.assign(ae,le),re&&(ae.id=re),L&&(ae.type=L),J&&(ae.function??(ae.function={name:J.name??"",arguments:""})),J?.name&&(ae.function.name=J.name),J?.arguments&&(ae.function.arguments+=J.arguments,Tc(ft(this,rr,"f"),ae)&&(ae.function.parsed_arguments=R0(ae.function.arguments)))}}}return y},Symbol.asyncIterator)](){let e=[],i=[],s=!1;return this.on("chunk",u=>{let d=i.shift();d?d.resolve(u):e.push(u)}),this.on("end",()=>{s=!0;for(let u of i)u.resolve(void 0);i.length=0}),this.on("abort",u=>{s=!0;for(let d of i)d.reject(u);i.length=0}),this.on("error",u=>{s=!0;for(let d of i)d.reject(u);i.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:s?{value:void 0,done:!0}:new Promise((d,m)=>i.push({resolve:d,reject:m})).then(d=>d?{value:d,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new MA(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}};function Ny(n,e){let{id:i,choices:s,created:u,model:d,system_fingerprint:m,...y}=n,E={...y,id:i,choices:s.map(({message:b,finish_reason:w,index:v,logprobs:$,...S})=>{if(!w)throw new $e(`missing finish_reason for choice ${v}`);let{content:x=null,function_call:k,tool_calls:B,...O}=b,I=b.role;if(!I)throw new $e(`missing role for choice ${v}`);if(k){let{arguments:U,name:q}=k;if(U==null)throw new $e(`missing function_call.arguments for choice ${v}`);if(!q)throw new $e(`missing function_call.name for choice ${v}`);return{...S,message:{content:x,function_call:{arguments:U,name:q},role:I,refusal:b.refusal??null},finish_reason:w,index:v,logprobs:$}}return B?{...S,index:v,finish_reason:w,logprobs:$,message:{...O,role:I,content:x,refusal:b.refusal??null,tool_calls:B.map((U,q)=>{let{function:V,type:z,id:re,...L}=U,{arguments:J,name:le,...ae}=V||{};if(re==null)throw new $e(`missing choices[${v}].tool_calls[${q}].id
|
|
16
|
+
${Ps(n)}`);if(z==null)throw new $e(`missing choices[${v}].tool_calls[${q}].type
|
|
17
|
+
${Ps(n)}`);if(le==null)throw new $e(`missing choices[${v}].tool_calls[${q}].function.name
|
|
18
|
+
${Ps(n)}`);if(J==null)throw new $e(`missing choices[${v}].tool_calls[${q}].function.arguments
|
|
19
|
+
${Ps(n)}`);return{...L,id:re,type:z,function:{...ae,name:le,arguments:J}}})}}:{...S,message:{...O,content:x,role:I,refusal:b.refusal??null},finish_reason:w,index:v,logprobs:$}}),created:u,model:d,object:"chat.completion",...m?{system_fingerprint:m}:{}};return Rc(E,e)}function Ps(n){return JSON.stringify(n)}var uo=class n extends Zn{static fromReadableStream(e){let i=new n(null);return i._run(()=>i._fromReadableStream(e)),i}static runFunctions(e,i,s){let u=new n(null),d={...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return u._run(()=>u._runFunctions(e,i,d)),u}static runTools(e,i,s){let u=new n(i),d={...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"runTools"}};return u._run(()=>u._runTools(e,i,d)),u}};var fo=class extends ge{parse(e,i){return Oc(e.tools),this._client.chat.completions.create(e,{...i,headers:{...i?.headers,"X-Stainless-Helper-Method":"beta.chat.completions.parse"}})._thenUnwrap(s=>ao(s,e))}runFunctions(e,i){return e.stream?uo.runFunctions(this._client,e,i):lo.runFunctions(this._client,e,i)}runTools(e,i){return e.stream?uo.runTools(this._client,e,i):lo.runTools(this._client,e,i)}stream(e,i){return Zn.createChatCompletion(this._client,e,i)}};var ei=class extends ge{constructor(){super(...arguments),this.completions=new fo(this._client)}};(function(n){n.Completions=fo})(ei||(ei={}));var ti=class extends ge{create(e,i){return this._client.post("/realtime/sessions",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}};var Ai=class extends ge{create(e,i){return this._client.post("/realtime/transcription_sessions",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}};var $r=class extends ge{constructor(){super(...arguments),this.sessions=new ti(this._client),this.transcriptionSessions=new Ai(this._client)}};$r.Sessions=ti;$r.TranscriptionSessions=Ai;var ke=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},nA=function(n,e,i,s,u){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!u:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(n,i):u?u.value=i:e.set(n,i),i},Bt,j0,FA,ks,_A,nn,ri,rn,Ds,iA,Cs,Ss,po,co,ho,jc,Nc,Fc,Qc,Lc,qc,Uc,QA=class n extends br{constructor(){super(...arguments),Bt.add(this),j0.set(this,[]),FA.set(this,{}),ks.set(this,{}),_A.set(this,void 0),nn.set(this,void 0),ri.set(this,void 0),rn.set(this,void 0),Ds.set(this,void 0),iA.set(this,void 0),Cs.set(this,void 0),Ss.set(this,void 0),po.set(this,void 0)}[(j0=new WeakMap,FA=new WeakMap,ks=new WeakMap,_A=new WeakMap,nn=new WeakMap,ri=new WeakMap,rn=new WeakMap,Ds=new WeakMap,iA=new WeakMap,Cs=new WeakMap,Ss=new WeakMap,po=new WeakMap,Bt=new WeakSet,Symbol.asyncIterator)](){let e=[],i=[],s=!1;return this.on("event",u=>{let d=i.shift();d?d.resolve(u):e.push(u)}),this.on("end",()=>{s=!0;for(let u of i)u.resolve(void 0);i.length=0}),this.on("abort",u=>{s=!0;for(let d of i)d.reject(u);i.length=0}),this.on("error",u=>{s=!0;for(let d of i)d.reject(u);i.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:s?{value:void 0,done:!0}:new Promise((d,m)=>i.push({resolve:d,reject:m})).then(d=>d?{value:d,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(e){let i=new n;return i._run(()=>i._fromReadableStream(e)),i}async _fromReadableStream(e,i){let s=i?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),this._connected();let u=MA.fromReadableStream(e,this.controller);for await(let d of u)ke(this,Bt,"m",co).call(this,d);if(u.controller.signal?.aborted)throw new bt;return this._addRun(ke(this,Bt,"m",ho).call(this))}toReadableStream(){return new MA(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(e,i,s,u,d){let m=new n;return m._run(()=>m._runToolAssistantStream(e,i,s,u,{...d,headers:{...d?.headers,"X-Stainless-Helper-Method":"stream"}})),m}async _createToolAssistantStream(e,i,s,u,d){let m=d?.signal;m&&(m.aborted&&this.controller.abort(),m.addEventListener("abort",()=>this.controller.abort()));let y={...u,stream:!0},E=await e.submitToolOutputs(i,s,y,{...d,signal:this.controller.signal});this._connected();for await(let b of E)ke(this,Bt,"m",co).call(this,b);if(E.controller.signal?.aborted)throw new bt;return this._addRun(ke(this,Bt,"m",ho).call(this))}static createThreadAssistantStream(e,i,s){let u=new n;return u._run(()=>u._threadAssistantStream(e,i,{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),u}static createAssistantStream(e,i,s,u){let d=new n;return d._run(()=>d._runAssistantStream(e,i,s,{...u,headers:{...u?.headers,"X-Stainless-Helper-Method":"stream"}})),d}currentEvent(){return ke(this,Cs,"f")}currentRun(){return ke(this,Ss,"f")}currentMessageSnapshot(){return ke(this,_A,"f")}currentRunStepSnapshot(){return ke(this,po,"f")}async finalRunSteps(){return await this.done(),Object.values(ke(this,FA,"f"))}async finalMessages(){return await this.done(),Object.values(ke(this,ks,"f"))}async finalRun(){if(await this.done(),!ke(this,nn,"f"))throw Error("Final run was not received.");return ke(this,nn,"f")}async _createThreadAssistantStream(e,i,s){let u=s?.signal;u&&(u.aborted&&this.controller.abort(),u.addEventListener("abort",()=>this.controller.abort()));let d={...i,stream:!0},m=await e.createAndRun(d,{...s,signal:this.controller.signal});this._connected();for await(let y of m)ke(this,Bt,"m",co).call(this,y);if(m.controller.signal?.aborted)throw new bt;return this._addRun(ke(this,Bt,"m",ho).call(this))}async _createAssistantStream(e,i,s,u){let d=u?.signal;d&&(d.aborted&&this.controller.abort(),d.addEventListener("abort",()=>this.controller.abort()));let m={...s,stream:!0},y=await e.create(i,m,{...u,signal:this.controller.signal});this._connected();for await(let E of y)ke(this,Bt,"m",co).call(this,E);if(y.controller.signal?.aborted)throw new bt;return this._addRun(ke(this,Bt,"m",ho).call(this))}static accumulateDelta(e,i){for(let[s,u]of Object.entries(i)){if(!e.hasOwnProperty(s)){e[s]=u;continue}let d=e[s];if(d==null){e[s]=u;continue}if(s==="index"||s==="type"){e[s]=u;continue}if(typeof d=="string"&&typeof u=="string")d+=u;else if(typeof d=="number"&&typeof u=="number")d+=u;else if(Ao(d)&&Ao(u))d=this.accumulateDelta(d,u);else if(Array.isArray(d)&&Array.isArray(u)){if(d.every(m=>typeof m=="string"||typeof m=="number")){d.push(...u);continue}for(let m of u){if(!Ao(m))throw new Error(`Expected array delta entry to be an object but got: ${m}`);let y=m.index;if(y==null)throw console.error(m),new Error("Expected array delta entry to have an `index` property");if(typeof y!="number")throw new Error(`Expected array delta entry \`index\` property to be a number but got ${y}`);let E=d[y];E==null?d.push(m):d[y]=this.accumulateDelta(E,m)}continue}else throw Error(`Unhandled record type: ${s}, deltaValue: ${u}, accValue: ${d}`);e[s]=d}return e}_addRun(e){return e}async _threadAssistantStream(e,i,s){return await this._createThreadAssistantStream(i,e,s)}async _runAssistantStream(e,i,s,u){return await this._createAssistantStream(i,e,s,u)}async _runToolAssistantStream(e,i,s,u,d){return await this._createToolAssistantStream(s,e,i,u,d)}};co=function(e){if(!this.ended)switch(nA(this,Cs,e,"f"),ke(this,Bt,"m",Fc).call(this,e),e.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":ke(this,Bt,"m",Uc).call(this,e);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":ke(this,Bt,"m",Nc).call(this,e);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":ke(this,Bt,"m",jc).call(this,e);break;case"error":throw new Error("Encountered an error event in event processing - errors should be processed earlier");default:}},ho=function(){if(this.ended)throw new $e("stream has ended, this shouldn't happen");if(!ke(this,nn,"f"))throw Error("Final run has not been received");return ke(this,nn,"f")},jc=function(e){let[i,s]=ke(this,Bt,"m",Lc).call(this,e,ke(this,_A,"f"));nA(this,_A,i,"f"),ke(this,ks,"f")[i.id]=i;for(let u of s){let d=i.content[u.index];d?.type=="text"&&this._emit("textCreated",d.text)}switch(e.event){case"thread.message.created":this._emit("messageCreated",e.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",e.data.delta,i),e.data.delta.content)for(let u of e.data.delta.content){if(u.type=="text"&&u.text){let d=u.text,m=i.content[u.index];if(m&&m.type=="text")this._emit("textDelta",d,m.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(u.index!=ke(this,ri,"f")){if(ke(this,rn,"f"))switch(ke(this,rn,"f").type){case"text":this._emit("textDone",ke(this,rn,"f").text,ke(this,_A,"f"));break;case"image_file":this._emit("imageFileDone",ke(this,rn,"f").image_file,ke(this,_A,"f"));break}nA(this,ri,u.index,"f")}nA(this,rn,i.content[u.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(ke(this,ri,"f")!==void 0){let u=e.data.content[ke(this,ri,"f")];if(u)switch(u.type){case"image_file":this._emit("imageFileDone",u.image_file,ke(this,_A,"f"));break;case"text":this._emit("textDone",u.text,ke(this,_A,"f"));break}}ke(this,_A,"f")&&this._emit("messageDone",e.data),nA(this,_A,void 0,"f")}},Nc=function(e){let i=ke(this,Bt,"m",Qc).call(this,e);switch(nA(this,po,i,"f"),e.event){case"thread.run.step.created":this._emit("runStepCreated",e.data);break;case"thread.run.step.delta":let s=e.data.delta;if(s.step_details&&s.step_details.type=="tool_calls"&&s.step_details.tool_calls&&i.step_details.type=="tool_calls")for(let d of s.step_details.tool_calls)d.index==ke(this,Ds,"f")?this._emit("toolCallDelta",d,i.step_details.tool_calls[d.index]):(ke(this,iA,"f")&&this._emit("toolCallDone",ke(this,iA,"f")),nA(this,Ds,d.index,"f"),nA(this,iA,i.step_details.tool_calls[d.index],"f"),ke(this,iA,"f")&&this._emit("toolCallCreated",ke(this,iA,"f")));this._emit("runStepDelta",e.data.delta,i);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":nA(this,po,void 0,"f"),e.data.step_details.type=="tool_calls"&&ke(this,iA,"f")&&(this._emit("toolCallDone",ke(this,iA,"f")),nA(this,iA,void 0,"f")),this._emit("runStepDone",e.data,i);break;case"thread.run.step.in_progress":break}},Fc=function(e){ke(this,j0,"f").push(e),this._emit("event",e)},Qc=function(e){switch(e.event){case"thread.run.step.created":return ke(this,FA,"f")[e.data.id]=e.data,e.data;case"thread.run.step.delta":let i=ke(this,FA,"f")[e.data.id];if(!i)throw Error("Received a RunStepDelta before creation of a snapshot");let s=e.data;if(s.delta){let u=QA.accumulateDelta(i,s.delta);ke(this,FA,"f")[e.data.id]=u}return ke(this,FA,"f")[e.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":ke(this,FA,"f")[e.data.id]=e.data;break}if(ke(this,FA,"f")[e.data.id])return ke(this,FA,"f")[e.data.id];throw new Error("No snapshot available")},Lc=function(e,i){let s=[];switch(e.event){case"thread.message.created":return[e.data,s];case"thread.message.delta":if(!i)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let u=e.data;if(u.delta.content)for(let d of u.delta.content)if(d.index in i.content){let m=i.content[d.index];i.content[d.index]=ke(this,Bt,"m",qc).call(this,d,m)}else i.content[d.index]=d,s.push(d);return[i,s];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(i)return[i,s];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},qc=function(e,i){return QA.accumulateDelta(i,e)},Uc=function(e){switch(nA(this,Ss,e.data,"f"),e.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":nA(this,nn,e.data,"f"),ke(this,iA,"f")&&(this._emit("toolCallDone",ke(this,iA,"f")),nA(this,iA,void 0,"f"));break;case"thread.run.cancelling":break}};var on=class extends ge{create(e,i,s){return this._client.post(`/threads/${e}/messages`,{body:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}retrieve(e,i,s){return this._client.get(`/threads/${e}/messages/${i}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}update(e,i,s,u){return this._client.post(`/threads/${e}/messages/${i}`,{body:s,...u,headers:{"OpenAI-Beta":"assistants=v2",...u?.headers}})}list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/threads/${e}/messages`,ni,{query:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}del(e,i,s){return this._client.delete(`/threads/${e}/messages/${i}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}},ni=class extends et{};on.MessagesPage=ni;var sn=class extends ge{retrieve(e,i,s,u={},d){return Ue(u)?this.retrieve(e,i,s,{},u):this._client.get(`/threads/${e}/runs/${i}/steps/${s}`,{query:u,...d,headers:{"OpenAI-Beta":"assistants=v2",...d?.headers}})}list(e,i,s={},u){return Ue(s)?this.list(e,i,{},s):this._client.getAPIList(`/threads/${e}/runs/${i}/steps`,ii,{query:s,...u,headers:{"OpenAI-Beta":"assistants=v2",...u?.headers}})}},ii=class extends et{};sn.RunStepsPage=ii;var nr=class extends ge{constructor(){super(...arguments),this.steps=new sn(this._client)}create(e,i,s){let{include:u,...d}=i;return this._client.post(`/threads/${e}/runs`,{query:{include:u},body:d,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers},stream:i.stream??!1})}retrieve(e,i,s){return this._client.get(`/threads/${e}/runs/${i}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}update(e,i,s,u){return this._client.post(`/threads/${e}/runs/${i}`,{body:s,...u,headers:{"OpenAI-Beta":"assistants=v2",...u?.headers}})}list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/threads/${e}/runs`,oi,{query:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}cancel(e,i,s){return this._client.post(`/threads/${e}/runs/${i}/cancel`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}async createAndPoll(e,i,s){let u=await this.create(e,i,s);return await this.poll(e,u.id,s)}createAndStream(e,i,s){return QA.createAssistantStream(e,this._client.beta.threads.runs,i,s)}async poll(e,i,s){let u={...s?.headers,"X-Stainless-Poll-Helper":"true"};for(s?.pollIntervalMs&&(u["X-Stainless-Custom-Poll-Interval"]=s.pollIntervalMs.toString());;){let{data:d,response:m}=await this.retrieve(e,i,{...s,headers:{...s?.headers,...u}}).withResponse();switch(d.status){case"queued":case"in_progress":case"cancelling":let y=5e3;if(s?.pollIntervalMs)y=s.pollIntervalMs;else{let E=m.headers.get("openai-poll-after-ms");if(E){let b=parseInt(E);isNaN(b)||(y=b)}}await er(y);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return d}}}stream(e,i,s){return QA.createAssistantStream(e,this._client.beta.threads.runs,i,s)}submitToolOutputs(e,i,s,u){return this._client.post(`/threads/${e}/runs/${i}/submit_tool_outputs`,{body:s,...u,headers:{"OpenAI-Beta":"assistants=v2",...u?.headers},stream:s.stream??!1})}async submitToolOutputsAndPoll(e,i,s,u){let d=await this.submitToolOutputs(e,i,s,u);return await this.poll(e,d.id,u)}submitToolOutputsStream(e,i,s,u){return QA.createToolAssistantStream(e,i,this._client.beta.threads.runs,s,u)}},oi=class extends et{};nr.RunsPage=oi;nr.Steps=sn;nr.RunStepsPage=ii;var LA=class extends ge{constructor(){super(...arguments),this.runs=new nr(this._client),this.messages=new on(this._client)}create(e={},i){return Ue(e)?this.create({},e):this._client.post("/threads",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}retrieve(e,i){return this._client.get(`/threads/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}update(e,i,s){return this._client.post(`/threads/${e}`,{body:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}del(e,i){return this._client.delete(`/threads/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}createAndRun(e,i){return this._client.post("/threads/runs",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers},stream:e.stream??!1})}async createAndRunPoll(e,i){let s=await this.createAndRun(e,i);return await this.runs.poll(s.thread_id,s.id,i)}createAndRunStream(e,i){return QA.createThreadAssistantStream(e,this._client.beta.threads,i)}};LA.Runs=nr;LA.RunsPage=oi;LA.Messages=on;LA.MessagesPage=ni;var vA=class extends ge{constructor(){super(...arguments),this.realtime=new $r(this._client),this.chat=new ei(this._client),this.assistants=new tn(this._client),this.threads=new LA(this._client)}};vA.Realtime=$r;vA.Assistants=tn;vA.AssistantsPage=Jn;vA.Threads=LA;var an=class extends ge{create(e,i){return this._client.post("/completions",{body:e,...i,stream:e.stream??!1})}};var ln=class extends ge{create(e,i){let s=!!e.encoding_format,u=s?e.encoding_format:"base64";s&&ZA("Request","User defined encoding_format:",e.encoding_format);let d=this._client.post("/embeddings",{body:{...e,encoding_format:u},...i});return s?d:(ZA("response","Decoding base64 embeddings to float32 array"),d._thenUnwrap(m=>(m&&m.data&&m.data.forEach(y=>{let E=y.embedding;y.embedding=Dc(E)}),m)))}};var un=class extends ge{retrieve(e,i,s,u){return this._client.get(`/evals/${e}/runs/${i}/output_items/${s}`,u)}list(e,i,s={},u){return Ue(s)?this.list(e,i,{},s):this._client.getAPIList(`/evals/${e}/runs/${i}/output_items`,si,{query:s,...u})}},si=class extends et{};un.OutputItemListResponsesPage=si;var ir=class extends ge{constructor(){super(...arguments),this.outputItems=new un(this._client)}create(e,i,s){return this._client.post(`/evals/${e}/runs`,{body:i,...s})}retrieve(e,i,s){return this._client.get(`/evals/${e}/runs/${i}`,s)}list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/evals/${e}/runs`,ai,{query:i,...s})}del(e,i,s){return this._client.delete(`/evals/${e}/runs/${i}`,s)}cancel(e,i,s){return this._client.post(`/evals/${e}/runs/${i}`,s)}},ai=class extends et{};ir.RunListResponsesPage=ai;ir.OutputItems=un;ir.OutputItemListResponsesPage=si;var qA=class extends ge{constructor(){super(...arguments),this.runs=new ir(this._client)}create(e,i){return this._client.post("/evals",{body:e,...i})}retrieve(e,i){return this._client.get(`/evals/${e}`,i)}update(e,i,s){return this._client.post(`/evals/${e}`,{body:i,...s})}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/evals",fn,{query:e,...i})}del(e,i){return this._client.delete(`/evals/${e}`,i)}},fn=class extends et{};qA.EvalListResponsesPage=fn;qA.Runs=ir;qA.RunListResponsesPage=ai;var Pr=class extends ge{create(e,i){return this._client.post("/files",dA({body:e,...i}))}retrieve(e,i){return this._client.get(`/files/${e}`,i)}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/files",cn,{query:e,...i})}del(e,i){return this._client.delete(`/files/${e}`,i)}content(e,i){return this._client.get(`/files/${e}/content`,{...i,headers:{Accept:"application/binary",...i?.headers},__binaryResponse:!0})}retrieveContent(e,i){return this._client.get(`/files/${e}/content`,i)}async waitForProcessing(e,{pollInterval:i=5e3,maxWait:s=30*60*1e3}={}){let u=new Set(["processed","error","deleted"]),d=Date.now(),m=await this.retrieve(e);for(;!m.status||!u.has(m.status);)if(await er(i),m=await this.retrieve(e),Date.now()-d>s)throw new mr({message:`Giving up on waiting for file ${e} to finish processing after ${s} milliseconds.`});return m}},cn=class extends et{};Pr.FileObjectsPage=cn;var dn=class extends ge{create(e,i,s){return this._client.getAPIList(`/fine_tuning/checkpoints/${e}/permissions`,li,{body:i,method:"post",...s})}retrieve(e,i={},s){return Ue(i)?this.retrieve(e,{},i):this._client.get(`/fine_tuning/checkpoints/${e}/permissions`,{query:i,...s})}del(e,i){return this._client.delete(`/fine_tuning/checkpoints/${e}/permissions`,i)}},li=class extends jA{};dn.PermissionCreateResponsesPage=li;var kr=class extends ge{constructor(){super(...arguments),this.permissions=new dn(this._client)}};kr.Permissions=dn;kr.PermissionCreateResponsesPage=li;var hn=class extends ge{list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/fine_tuning/jobs/${e}/checkpoints`,ui,{query:i,...s})}},ui=class extends et{};hn.FineTuningJobCheckpointsPage=ui;var UA=class extends ge{constructor(){super(...arguments),this.checkpoints=new hn(this._client)}create(e,i){return this._client.post("/fine_tuning/jobs",{body:e,...i})}retrieve(e,i){return this._client.get(`/fine_tuning/jobs/${e}`,i)}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/fine_tuning/jobs",fi,{query:e,...i})}cancel(e,i){return this._client.post(`/fine_tuning/jobs/${e}/cancel`,i)}listEvents(e,i={},s){return Ue(i)?this.listEvents(e,{},i):this._client.getAPIList(`/fine_tuning/jobs/${e}/events`,ci,{query:i,...s})}},fi=class extends et{},ci=class extends et{};UA.FineTuningJobsPage=fi;UA.FineTuningJobEventsPage=ci;UA.Checkpoints=hn;UA.FineTuningJobCheckpointsPage=ui;var bA=class extends ge{constructor(){super(...arguments),this.jobs=new UA(this._client),this.checkpoints=new kr(this._client)}};bA.Jobs=UA;bA.FineTuningJobsPage=fi;bA.FineTuningJobEventsPage=ci;bA.Checkpoints=kr;var pn=class extends ge{createVariation(e,i){return this._client.post("/images/variations",dA({body:e,...i}))}edit(e,i){return this._client.post("/images/edits",dA({body:e,...i}))}generate(e,i){return this._client.post("/images/generations",{body:e,...i})}};var Cr=class extends ge{retrieve(e,i){return this._client.get(`/models/${e}`,i)}list(e){return this._client.getAPIList("/models",mn,e)}del(e,i){return this._client.delete(`/models/${e}`,i)}},mn=class extends jA{};Cr.ModelsPage=mn;var gn=class extends ge{create(e,i){return this._client.post("/moderations",{body:e,...i})}};function Gc(n,e){return!e||!tw(e)?{...n,output_parsed:null,output:n.output.map(i=>i.type==="function_call"?{...i,parsed_arguments:null}:i.type==="message"?{...i,content:i.content.map(s=>({...s,parsed:null}))}:i)}:N0(n,e)}function N0(n,e){let i=n.output.map(u=>{if(u.type==="function_call")return{...u,parsed_arguments:nw(e,u)};if(u.type==="message"){let d=u.content.map(m=>m.type==="output_text"?{...m,parsed:ew(e,m.text)}:m);return{...u,content:d}}return u}),s=Object.assign({},n,{output:i});return Object.getOwnPropertyDescriptor(n,"output_text")||F0(s),Object.defineProperty(s,"output_parsed",{enumerable:!0,get(){for(let u of s.output)if(u.type==="message"){for(let d of u.content)if(d.type==="output_text"&&d.parsed!==null)return d.parsed}return null}}),s}function ew(n,e){return n.text?.format?.type!=="json_schema"?null:"$parseRaw"in n.text?.format?(n.text?.format).$parseRaw(e):JSON.parse(e)}function tw(n){return!!so(n.text?.format)}function Aw(n){return n?.$brand==="auto-parseable-tool"}function rw(n,e){return n.find(i=>i.type==="function"&&i.name===e)}function nw(n,e){let i=rw(n.tools??[],e.name);return{...e,...e,parsed_arguments:Aw(i)?i.$parseRaw(e.arguments):i?.strict?JSON.parse(e.arguments):null}}function F0(n){let e=[];for(let i of n.output)if(i.type==="message")for(let s of i.content)s.type==="output_text"&&e.push(s.text);n.output_text=e.join("")}var di=class extends ge{list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/responses/${e}/input_items`,xs,{query:i,...s})}};var hi=function(n,e,i,s,u){if(s==="m")throw new TypeError("Private method is not writable");if(s==="a"&&!u)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!u:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return s==="a"?u.call(n,i):u?u.value=i:e.set(n,i),i},Sr=function(n,e,i,s){if(i==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?s:i==="a"?s.call(n):s?s.value:e.get(n)},pi,Rs,Dr,Ts,Hc,Vc,zc,Jc,Os=class n extends br{constructor(e){super(),pi.add(this),Rs.set(this,void 0),Dr.set(this,void 0),Ts.set(this,void 0),hi(this,Rs,e,"f")}static createResponse(e,i,s){let u=new n(i);return u._run(()=>u._createResponse(e,i,{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),u}async _createResponse(e,i,s){let u=s?.signal;u&&(u.aborted&&this.controller.abort(),u.addEventListener("abort",()=>this.controller.abort())),Sr(this,pi,"m",Hc).call(this);let d=await e.responses.create({...i,stream:!0},{...s,signal:this.controller.signal});this._connected();for await(let m of d)Sr(this,pi,"m",Vc).call(this,m);if(d.controller.signal?.aborted)throw new bt;return Sr(this,pi,"m",zc).call(this)}[(Rs=new WeakMap,Dr=new WeakMap,Ts=new WeakMap,pi=new WeakSet,Hc=function(){this.ended||hi(this,Dr,void 0,"f")},Vc=function(i){if(this.ended)return;let s=Sr(this,pi,"m",Jc).call(this,i);switch(this._emit("event",i),i.type){case"response.output_text.delta":{let u=s.output[i.output_index];if(!u)throw new $e(`missing output at index ${i.output_index}`);if(u.type==="message"){let d=u.content[i.content_index];if(!d)throw new $e(`missing content at index ${i.content_index}`);if(d.type!=="output_text")throw new $e(`expected content to be 'output_text', got ${d.type}`);this._emit("response.output_text.delta",{...i,snapshot:d.text})}break}case"response.function_call_arguments.delta":{let u=s.output[i.output_index];if(!u)throw new $e(`missing output at index ${i.output_index}`);u.type==="function_call"&&this._emit("response.function_call_arguments.delta",{...i,snapshot:u.arguments});break}default:this._emit(i.type,i);break}},zc=function(){if(this.ended)throw new $e("stream has ended, this shouldn't happen");let i=Sr(this,Dr,"f");if(!i)throw new $e("request ended without sending any events");hi(this,Dr,void 0,"f");let s=ow(i,Sr(this,Rs,"f"));return hi(this,Ts,s,"f"),s},Jc=function(i){let s=Sr(this,Dr,"f");if(!s){if(i.type!=="response.created")throw new $e(`When snapshot hasn't been set yet, expected 'response.created' event, got ${i.type}`);return s=hi(this,Dr,i.response,"f"),s}switch(i.type){case"response.output_item.added":{s.output.push(i.item);break}case"response.content_part.added":{let u=s.output[i.output_index];if(!u)throw new $e(`missing output at index ${i.output_index}`);u.type==="message"&&u.content.push(i.part);break}case"response.output_text.delta":{let u=s.output[i.output_index];if(!u)throw new $e(`missing output at index ${i.output_index}`);if(u.type==="message"){let d=u.content[i.content_index];if(!d)throw new $e(`missing content at index ${i.content_index}`);if(d.type!=="output_text")throw new $e(`expected content to be 'output_text', got ${d.type}`);d.text+=i.delta}break}case"response.function_call_arguments.delta":{let u=s.output[i.output_index];if(!u)throw new $e(`missing output at index ${i.output_index}`);u.type==="function_call"&&(u.arguments+=i.delta);break}case"response.completed":{hi(this,Dr,i.response,"f");break}}return s},Symbol.asyncIterator)](){let e=[],i=[],s=!1;return this.on("event",u=>{let d=i.shift();d?d.resolve(u):e.push(u)}),this.on("end",()=>{s=!0;for(let u of i)u.resolve(void 0);i.length=0}),this.on("abort",u=>{s=!0;for(let d of i)d.reject(u);i.length=0}),this.on("error",u=>{s=!0;for(let d of i)d.reject(u);i.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:s?{value:void 0,done:!0}:new Promise((d,m)=>i.push({resolve:d,reject:m})).then(d=>d?{value:d,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();let e=Sr(this,Ts,"f");if(!e)throw new $e("stream ended without producing a ChatCompletion");return e}};function ow(n,e){return Gc(n,e)}var xr=class extends ge{constructor(){super(...arguments),this.inputItems=new di(this._client)}create(e,i){return this._client.post("/responses",{body:e,...i,stream:e.stream??!1})._thenUnwrap(s=>("object"in s&&s.object==="response"&&F0(s),s))}retrieve(e,i={},s){return Ue(i)?this.retrieve(e,{},i):this._client.get(`/responses/${e}`,{query:i,...s})}del(e,i){return this._client.delete(`/responses/${e}`,{...i,headers:{Accept:"*/*",...i?.headers}})}parse(e,i){return this._client.responses.create(e,i)._thenUnwrap(s=>N0(s,e))}stream(e,i){return Os.createResponse(this._client,e,i)}},xs=class extends et{};xr.InputItems=di;var mi=class extends ge{create(e,i,s){return this._client.post(`/uploads/${e}/parts`,dA({body:i,...s}))}};var Rr=class extends ge{constructor(){super(...arguments),this.parts=new mi(this._client)}create(e,i){return this._client.post("/uploads",{body:e,...i})}cancel(e,i){return this._client.post(`/uploads/${e}/cancel`,i)}complete(e,i,s){return this._client.post(`/uploads/${e}/complete`,{body:i,...s})}};Rr.Parts=mi;var Kc=async n=>{let e=await Promise.allSettled(n),i=e.filter(u=>u.status==="rejected");if(i.length){for(let u of i)console.error(u.reason);throw new Error(`${i.length} promise(s) failed - see the above errors`)}let s=[];for(let u of e)u.status==="fulfilled"&&s.push(u.value);return s};var Tr=class extends ge{create(e,i,s){return this._client.post(`/vector_stores/${e}/files`,{body:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}retrieve(e,i,s){return this._client.get(`/vector_stores/${e}/files/${i}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}update(e,i,s,u){return this._client.post(`/vector_stores/${e}/files/${i}`,{body:s,...u,headers:{"OpenAI-Beta":"assistants=v2",...u?.headers}})}list(e,i={},s){return Ue(i)?this.list(e,{},i):this._client.getAPIList(`/vector_stores/${e}/files`,Or,{query:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}del(e,i,s){return this._client.delete(`/vector_stores/${e}/files/${i}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}async createAndPoll(e,i,s){let u=await this.create(e,i,s);return await this.poll(e,u.id,s)}async poll(e,i,s){let u={...s?.headers,"X-Stainless-Poll-Helper":"true"};for(s?.pollIntervalMs&&(u["X-Stainless-Custom-Poll-Interval"]=s.pollIntervalMs.toString());;){let d=await this.retrieve(e,i,{...s,headers:u}).withResponse(),m=d.data;switch(m.status){case"in_progress":let y=5e3;if(s?.pollIntervalMs)y=s.pollIntervalMs;else{let E=d.response.headers.get("openai-poll-after-ms");if(E){let b=parseInt(E);isNaN(b)||(y=b)}}await er(y);break;case"failed":case"completed":return m}}}async upload(e,i,s){let u=await this._client.files.create({file:i,purpose:"assistants"},s);return this.create(e,{file_id:u.id},s)}async uploadAndPoll(e,i,s){let u=await this.upload(e,i,s);return await this.poll(e,u.id,s)}content(e,i,s){return this._client.getAPIList(`/vector_stores/${e}/files/${i}/content`,gi,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}},Or=class extends et{},gi=class extends jA{};Tr.VectorStoreFilesPage=Or;Tr.FileContentResponsesPage=gi;var yi=class extends ge{create(e,i,s){return this._client.post(`/vector_stores/${e}/file_batches`,{body:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}retrieve(e,i,s){return this._client.get(`/vector_stores/${e}/file_batches/${i}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}cancel(e,i,s){return this._client.post(`/vector_stores/${e}/file_batches/${i}/cancel`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}async createAndPoll(e,i,s){let u=await this.create(e,i);return await this.poll(e,u.id,s)}listFiles(e,i,s={},u){return Ue(s)?this.listFiles(e,i,{},s):this._client.getAPIList(`/vector_stores/${e}/file_batches/${i}/files`,Or,{query:s,...u,headers:{"OpenAI-Beta":"assistants=v2",...u?.headers}})}async poll(e,i,s){let u={...s?.headers,"X-Stainless-Poll-Helper":"true"};for(s?.pollIntervalMs&&(u["X-Stainless-Custom-Poll-Interval"]=s.pollIntervalMs.toString());;){let{data:d,response:m}=await this.retrieve(e,i,{...s,headers:u}).withResponse();switch(d.status){case"in_progress":let y=5e3;if(s?.pollIntervalMs)y=s.pollIntervalMs;else{let E=m.headers.get("openai-poll-after-ms");if(E){let b=parseInt(E);isNaN(b)||(y=b)}}await er(y);break;case"failed":case"cancelled":case"completed":return d}}}async uploadAndPoll(e,{files:i,fileIds:s=[]},u){if(i==null||i.length==0)throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let d=u?.maxConcurrency??5,m=Math.min(d,i.length),y=this._client,E=i.values(),b=[...s];async function w($){for(let S of $){let x=await y.files.create({file:S,purpose:"assistants"},u);b.push(x.id)}}let v=Array(m).fill(E).map(w);return await Kc(v),await this.createAndPoll(e,{file_ids:b})}};var oA=class extends ge{constructor(){super(...arguments),this.files=new Tr(this._client),this.fileBatches=new yi(this._client)}create(e,i){return this._client.post("/vector_stores",{body:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}retrieve(e,i){return this._client.get(`/vector_stores/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}update(e,i,s){return this._client.post(`/vector_stores/${e}`,{body:i,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}list(e={},i){return Ue(e)?this.list({},e):this._client.getAPIList("/vector_stores",yn,{query:e,...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}del(e,i){return this._client.delete(`/vector_stores/${e}`,{...i,headers:{"OpenAI-Beta":"assistants=v2",...i?.headers}})}search(e,i,s){return this._client.getAPIList(`/vector_stores/${e}/search`,wn,{body:i,method:"post",...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}},yn=class extends et{},wn=class extends jA{};oA.VectorStoresPage=yn;oA.VectorStoreSearchResponsesPage=wn;oA.Files=Tr;oA.VectorStoreFilesPage=Or;oA.FileContentResponsesPage=gi;oA.FileBatches=yi;var Wc,qe=class extends ps{constructor({baseURL:e=to("OPENAI_BASE_URL"),apiKey:i=to("OPENAI_API_KEY"),organization:s=to("OPENAI_ORG_ID")??null,project:u=to("OPENAI_PROJECT_ID")??null,...d}={}){if(i===void 0)throw new $e("The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).");let m={apiKey:i,organization:s,project:u,...d,baseURL:e||"https://api.openai.com/v1"};if(!m.dangerouslyAllowBrowser&&Sc())throw new $e(`It looks like you're running in a browser-like environment.
|
|
20
20
|
|
|
21
21
|
This is disabled by default, as it risks exposing your secret API credentials to attackers.
|
|
22
22
|
If you understand the risks and have appropriate mitigations in place,
|
|
@@ -25,10 +25,10 @@ you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
|
|
|
25
25
|
new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
|
|
26
26
|
|
|
27
27
|
https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
|
|
28
|
-
`);super({baseURL:m.baseURL,timeout:m.timeout??6e5,httpAgent:m.httpAgent,maxRetries:m.maxRetries,fetch:m.fetch}),this.completions=new an(this),this.chat=new tr(this),this.embeddings=new ln(this),this.files=new Pr(this),this.images=new pn(this),this.audio=new NA(this),this.moderations=new gn(this),this.models=new Cr(this),this.fineTuning=new bA(this),this.vectorStores=new oA(this),this.beta=new vA(this),this.batches=new _r(this),this.uploads=new Rr(this),this.responses=new xr(this),this.evals=new qA(this),this._options=m,this.apiKey=i,this.organization=s,this.project=u}defaultQuery(){return this._options.defaultQuery}defaultHeaders(e){return{...super.defaultHeaders(e),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project,...this._options.defaultHeaders}}authHeaders(e){return{Authorization:`Bearer ${this.apiKey}`}}stringifyQuery(e){return A0(e,{arrayFormat:"brackets"})}};Wc=qe;qe.OpenAI=Wc;qe.DEFAULT_TIMEOUT=6e5;qe.OpenAIError=$e;qe.APIError=$t;qe.APIConnectionError=pr;qe.APIConnectionTimeoutError=mr;qe.APIUserAbortError=bt;qe.NotFoundError=Ji;qe.ConflictError=Ki;qe.RateLimitError=Yi;qe.BadRequestError=Hi;qe.AuthenticationError=Vi;qe.InternalServerError=Xi;qe.PermissionDeniedError=zi;qe.UnprocessableEntityError=Wi;qe.toFile=p0;qe.fileFromPath=as;qe.Completions=an;qe.Chat=tr;qe.ChatCompletionsPage=wr;qe.Embeddings=ln;qe.Files=Pr;qe.FileObjectsPage=cn;qe.Images=pn;qe.Audio=NA;qe.Moderations=gn;qe.Models=Cr;qe.ModelsPage=mn;qe.FineTuning=bA;qe.VectorStores=oA;qe.VectorStoresPage=yn;qe.VectorStoreSearchResponsesPage=wn;qe.Beta=vA;qe.Batches=_r;qe.BatchesPage=en;qe.Uploads=Rr;qe.Responses=xr;qe.Evals=qA;qe.EvalListResponsesPage=fn;var Yc=qe;var Gm=Ka(ed(),1),Hm=Ka(Fu(),1);async function tm(n,e,i,s=null,u=null,d=!0,m={}){if(!e||!i)throw new Error("federate: Missing required space IDs");if(e===i)throw new Error("Cannot federate a space with itself");let{federate:y=[],notify:E=[]}=m;if(!Array.isArray(y)||!Array.isArray(E))throw new Error("federate: lensConfig.federate and lensConfig.notify must be arrays");let b=y,w=E;try{let _=null;try{_=await n.getGlobal("federation",e,s)}catch{}_==null&&(_={id:e,name:e,federation:[],notify:[],lensConfig:{},timestamp:Date.now()}),_.federation||(_.federation=[]),_.notify||(_.notify=[]),_.lensConfig||(_.lensConfig={}),_.federation.includes(i)||_.federation.push(i),_.notify.includes(i)||_.notify.push(i);let $={..._.lensConfig||{}};$[i]={federate:[...b],notify:[...w],timestamp:Date.now()},_.lensConfig=$,_.timestamp=Date.now();try{await n.putGlobal("federation",_,s)}catch(x){throw new Error(`Failed to create federation: ${x.message}`)}{let x=null;try{x=await n.getGlobal("federation",i,u)}catch{}x==null&&(x={id:i,name:i,federation:[],notify:[],lensConfig:{},timestamp:Date.now()}),x.federation||(x.federation=[]),x.notify||(x.notify=[]),x.lensConfig||(x.lensConfig={}),d&&!x.federation.includes(e)&&x.federation.push(e),x.notify.includes(e)||x.notify.push(e),x.lensConfig[e]={federate:d?[...b]:[],notify:d?[...w]:[],timestamp:Date.now()},x.timestamp=Date.now();try{await n.putGlobal("federation",x,u)}catch{}}let C={id:`${e}_${i}`,space1:e,space2:i,created:Date.now(),status:"active",bidirectional:d,lensConfig:{federate:[...b],notify:[...w]}};try{await n.putGlobal("federationMeta",C)}catch{}return!0}catch(_){throw _}}async function Am(n,e,i=null,s,u={}){if(!e||!s)throw new Error("subscribeFederation: Missing required parameters");let{lenses:d=["*"],throttle:m=0}=u,y=await n.getGlobal("federation",e,i);if(!y)throw new Error("No federation info found for space");let E=[],b={};if(y.federation&&y.federation.length>0)for(let w of y.federation)for(let _ of d)try{let $=await n.subscribe(w,_,async C=>{try{if(!C||!C.id)return;let x=Date.now(),k=`${w}_${_}_${C.id}`;if(m>0){if(b[k]&&x-b[k]<m)return;b[k]=x}C.federation||(C.federation={origin:w,timestamp:x}),await s(C,w,_)}catch{}});$&&typeof $.unsubscribe=="function"&&E.push($)}catch{}return{unsubscribe:()=>{E.forEach(w=>{try{w&&typeof w.unsubscribe=="function"&&w.unsubscribe()}catch{}}),E.length=0,b={}},getSubscriptionCount:()=>E.length}}async function Rn(n,e,i=null){if(!e)throw new Error("getFederation: Missing space ID");return await n.getGlobal("federation",e,i)}async function rm(n,e,i,s=null){if(!n||!e||!i)throw new Error("getFederatedConfig: Missing required parameters");try{let u=await Rn(n,e,s);return u&&u.lensConfig&&u.lensConfig[i]?{federate:u.lensConfig[i].federate||[],notify:u.lensConfig[i].notify||[]}:null}catch(u){throw console.error(`Error getting federated config for ${e} -> ${i}: ${u.message}`),u}}async function nm(n,e,i,s=null,u=null){if(!e||!i)throw new Error("unfederate: Missing required space IDs");try{let d=null;try{d=await n.getGlobal("federation",e,s)}catch(E){console.error(`Error getting fedInfo1 for ${e} during unfederate: ${E.message}`)}if(!d)console.warn(`No federation info found for ${e}. Skipping its update.`);else{d.federation||(d.federation=[]),d.notify||(d.notify=[]);let E=d.federation.length,b=d.notify.length;d.federation=d.federation.filter(w=>w!==i),d.notify=d.notify.filter(w=>w!==i),d.timestamp=Date.now(),console.log(`Unfederate: Removed ${i} from ${e}: federation ${E} -> ${d.federation.length}, notify ${b} -> ${d.notify.length}`);try{await n.putGlobal("federation",d,s)}catch(w){throw console.error(`Failed to update fedInfo1 for ${e} during unfederate: ${w.message}`),w}}if(u){let E=null;try{E=await n.getGlobal("federation",i,u)}catch(b){console.error(`Error getting fedInfo2 for ${i} during unfederate: ${b.message}`)}if(!E||!E.notify)console.warn(`No notify array found for ${i} or fedInfo2 is null. Skipping its update.`);else{E.notify=E.notify.filter(b=>b!==e),E.timestamp=Date.now();try{await n.putGlobal("federation",E,u)}catch(b){throw console.error(`Failed to update fedInfo2 for ${i} during unfederate: ${b.message}`),b}}}let m=`${e}_${i}`,y=`${i}_${e}`;try{let E=await n.getGlobal("federationMeta",m)||await n.getGlobal("federationMeta",y);E&&(E.status="inactive",E.endedAt=Date.now(),await n.putGlobal("federationMeta",E))}catch(E){console.warn(`Failed to update federationMeta during unfederate: ${E.message}`)}return!0}catch(d){throw console.error(`Critical error during unfederate operation for ${e}-${i}: ${d.message}`),d}}async function im(n,e,i,s=null){if(!e||!i)throw new Error("removeNotify: Missing required space IDs");try{let u=await n.getGlobal("federation",e,s);if(!u)throw new Error(`No federation info found for ${e}`);return u.notify||(u.notify=[]),u.notify.includes(i)?(u.notify=u.notify.filter(d=>d!==i),u.timestamp=Date.now(),await n.putGlobal("federation",u,s),!0):!1}catch(u){throw u}}async function om(n,e,i,s={}){let{queryIds:u=null,aggregate:d=!1,idField:m="id",sumFields:y=[],concatArrays:E=[],removeDuplicates:b=!0,mergeStrategy:w=null,includeLocal:_=!0,includeFederated:$=!0,resolveReferences:C=!0,maxFederatedSpaces:x=-1,timeout:k=1e4}=s;if(console.log(`resolveReferences option: ${C}`),console.log("Querying specific IDs:",u?u.join(", "):"No (fetching all)"),!n||!e||!i)throw new Error("Missing required parameters: holosphere, holon, and lens are required");let O=await Rn(n,e),I=new Map,U=new Set,q=[],V=[];if(_&&V.push(e),$&&O&&O.federation&&O.federation.length>0){let re=x===-1?O.federation:O.federation.slice(0,x);V=V.concat(re)}for(let re of V)if(u&&Array.isArray(u)){console.log(`Fetching specific IDs from ${re}: ${u.join(", ")}`);for(let L of u)I.has(L)||q.push(n.get(re,i,L).then(J=>{J&&I.set(L,J)}).catch(J=>console.warn(`Error fetching item ${L} from ${re}: ${J.message}`)))}else re===e&&_&&console.warn(`getFederated: No queryIds provided. Falling back to fetching ALL items from ${re} using getAll. This can be inefficient.`),console.log(`Fetching ALL items from ${re}`),q.push(n.getAll(re,i).then(L=>{for(let J of L)J&&J[m]&&!I.has(J[m])&&I.set(J[m],J)}).catch(L=>console.warn(`Error fetching all items from ${re}: ${L.message}`)));await Promise.all(q);let z=Array.from(I.values());if(C&&z.length>0){console.log(`Resolving references for ${z.length} fetched items`);for(let re=0;re<z.length;re++){let L=z[re];if(L.soul&&L.id){console.log(`Found simple reference with soul: ${L.soul}`);try{let J=L.soul.split("/");if(J.length>=4){let le=J[1],ae=J[2],R=J[3];console.log(`Extracting from soul - holon: ${le}, lens: ${ae}, key: ${R}`);let M=await n.get(le,ae,R,null,{resolveReferences:!0});console.log("Original data found via soul path:",JSON.stringify(M)),M?z[re]={...M,_federation:{isReference:!0,resolved:!0,soul:L.soul,timestamp:Date.now()}}:z[re]={id:L.id,_federation:{isReference:!0,resolved:!1,soul:L.soul,error:"Referenced data not found",timestamp:Date.now()}}}else console.warn(`Soul doesn't match expected format: ${L.soul}`),z[re]={id:L.id,_federation:{isReference:!0,resolved:!1,soul:L.soul,error:"Invalid soul format",timestamp:Date.now()}}}catch(J){z[re]={id:L.id,_federation:{isReference:!0,resolved:!1,soul:L.soul,error:J.message||"Error resolving reference",timestamp:Date.now()}}}}else if(L._federation&&L._federation.isReference){console.log(`Found legacy reference: ${L._federation.origin}/${L._federation.lens}/${L[m]}`);try{let J=L._federation;console.log(`Getting original data from ${J.origin} / ${J.lens} / ${L[m]}`);let le=await n.get(J.origin,J.lens,L[m],null,{resolveReferences:!1});console.log("Original data found:",JSON.stringify(le)),le?z[re]={...le,_federation:{...J,resolved:!0,timestamp:Date.now()}}:console.warn("Could not resolve legacy reference: original data not found")}catch{}}}}if(d&&z.length>0){let re=z.reduce((J,le)=>{let ae=le[m];return J[ae]||(J[ae]=[]),J[ae].push(le),J},{});return Object.values(re).map(J=>{if(J.length===1)return J[0];if(w&&typeof w=="function")return w(J);let le={...J[0]};for(let ae of y)typeof le[ae]=="number"&&(le[ae]=J.reduce((R,M)=>R+(Number(M[ae])||0),0));for(let ae of E)if(Array.isArray(le[ae])){let R=J.reduce((M,Q)=>Array.isArray(Q[ae])?[...M,...Q[ae]]:M,[]);le[ae]=b?Array.from(new Set(R)):R}return le._aggregated={count:J.length,timestamp:Date.now()},le})}return z}async function sm(n,e,i,s,u={}){if(!n||!e||!i||!s)throw new Error("propagate: Missing required parameters");let{useHolograms:d=!0,targetSpaces:m=null,password:y=null,propagateToParents:E=!0,maxParentLevels:b=15}=u,w={success:0,errors:0,skipped:0,messages:[],parentPropagation:{success:0,errors:0,skipped:0,messages:[]}};try{let _=await Rn(n,e,y);if(_&&_.federation&&_.federation.length>0&&_.notify&&_.notify.length>0){let $=_.notify;if(m&&Array.isArray(m)&&m.length>0&&($=$.filter(C=>m.includes(C))),$.length>0)if($=$.filter(C=>{let x=_.lensConfig?.[C];if(!x)return w.messages.push(`No lens configuration for target space ${C}. Skipping propagation of lens '${i}'.`),w.skipped++,!1;let k=Array.isArray(x.federate)?x.federate:[],O=k.includes("*")||k.includes(i);return O||(w.messages.push(`Propagation of lens '${i}' to target space ${C} skipped: lens not in 'federate' configuration.`),w.skipped++),O}),$.length>0){let C=n.isHologram(s),x=$.map(async k=>{try{let B,O={origin:e,sourceLens:i,propagatedAt:Date.now(),originalId:s.id};return d&&!C?B={...n.createHologram(e,i,s),_federation:O}:B={...s,_federation:{...s._federation||{},...O}},await n.put(k,i,B,null,{disableHologramRedirection:!0,autoPropagate:!1}),w.success++,!0}catch(B){return w.errors++,w.messages.push(`Error propagating ${s.id} to ${k}: ${B.message}`),!1}});await Promise.all(x)}else w.messages.push("No valid target spaces for federation propagation after lens filtering.");else w.messages.push("No valid target spaces found for federation propagation.")}else w.messages.push(`No federation found for ${e} or no notification targets available.`);if(E){console.log(`[Federation] Starting parent propagation for holon: ${e}`);try{let $,C=!1;if(typeof e=="string"&&e.startsWith("8")&&e.length>=15)try{$=TA(e),$>=0&&$<=15?(C=!0,console.log(`[Federation] Holon ${e} is valid H3 hexagon with resolution: ${$}`)):console.log(`[Federation] Holon ${e} has invalid resolution: ${$}`)}catch(x){console.log(`[Federation] Holon ${e} failed H3 validation: ${x.message}`)}else console.log(`[Federation] Holon ${e} is not a valid H3 hexagon: does not start with '8' or too short`);if(C||(console.log(`[Federation] Skipping parent propagation for non-H3 holon: ${e}`),w.parentPropagation.messages.push(`Holon ${e} is not a valid H3 hexagon. Skipping parent propagation.`),w.parentPropagation.skipped++),C&&$!==void 0){let x=[],k=e,B=$,O=0;for(console.log(`[Federation] Getting parent hexagons for ${e} (resolution ${$}) up to ${b} levels`);B>0&&O<b;)try{let I=OA(k,B-1);x.push(I),console.log(`[Federation] Found parent hexagon: ${I} (resolution ${B-1})`),k=I,B--,O++}catch(I){console.error(`[Federation] Error getting parent for ${k}: ${I.message}`),w.parentPropagation.messages.push(`Error getting parent for ${k}: ${I.message}`),w.parentPropagation.errors++;break}if(x.length>0){console.log(`[Federation] Found ${x.length} parent hexagons to propagate to: ${x.join(", ")}`),w.parentPropagation.messages.push(`Found ${x.length} parent hexagons to propagate to: ${x.join(", ")}`);let I=n.isHologram(s);console.log(`[Federation] Data is already hologram: ${I}`);let U=x.map(async q=>{try{console.log(`[Federation] Propagating to parent hexagon: ${q}`);let V,z={origin:e,sourceLens:i,propagatedAt:Date.now(),originalId:s.id,propagationType:"parent",parentLevel:$-TA(q)};if(d&&!I){let re=n.createHologram(e,i,s);console.log("[Federation] Created hologram for parent propagation:",re),V={...re,_federation:z}}else V={...s,_federation:{...s._federation||{},...z}};return console.log(`[Federation] Storing in parent hexagon ${q} with payload:`,V),await n.put(q,i,V,null,{disableHologramRedirection:!0,autoPropagate:!1}),console.log(`[Federation] Successfully propagated to parent hexagon: ${q}`),w.parentPropagation.success++,!0}catch(V){return console.error(`[Federation] Error propagating ${s.id} to parent hexagon ${q}: ${V.message}`),w.parentPropagation.errors++,w.parentPropagation.messages.push(`Error propagating ${s.id} to parent hexagon ${q}: ${V.message}`),!1}});await Promise.all(U)}else console.log(`[Federation] No parent hexagons found for ${e} (already at resolution 0 or max levels reached)`),w.parentPropagation.messages.push(`No parent hexagons found for ${e} (already at resolution 0 or max levels reached)`),w.parentPropagation.skipped++}}catch($){console.error(`[Federation] Error during parent propagation: ${$.message}`),w.parentPropagation.errors++,w.parentPropagation.messages.push(`Error during parent propagation: ${$.message}`)}}else console.log(`[Federation] Parent propagation disabled for holon: ${e}`);return w.propagated=w.success>0||w.parentPropagation.success>0,w}catch(_){return{...w,error:_.message}}}async function am(n,e,i,s,u,d="generic"){let m=`${e}_${i}_fedmsgs`,y=await n.getGlobal("federation_messages",m)||{id:m,originalChatId:e,originalMessageId:i,type:d,messages:[]},E=y.messages.find(b=>b.chatId===s);E?(E.messageId=u,E.timestamp=Date.now()):y.messages.push({chatId:s,messageId:u,timestamp:Date.now()}),await n.putGlobal("federation_messages",y)}async function Qu(n,e,i){let s=`${e}_${i}_fedmsgs`;return await n.getGlobal("federation_messages",s)}async function lm(n,e,i,s){let u=await Qu(n,e,i);if(u?.messages)for(let d of u.messages)try{await s(d.chatId,d.messageId)}catch{}}async function um(n,e,i=null,s={}){if(!e)throw new Error("resetFederation: Missing required space ID");let{notifyPartners:u=!0,spaceName:d=null}=s,m={success:!1,federatedCount:0,notifyCount:0,partnersNotified:0,errors:[]};try{let y=await Rn(n,e,i);if(!y)return{...m,success:!0,message:"No federation configuration found for this space"};m.federatedCount=y.federation?.length||0,m.notifyCount=y.notify?.length||0;let E={id:e,name:d||e,federation:[],notify:[],timestamp:Date.now()};if(await n.putGlobal("federation",E,i),u&&y.federation&&y.federation.length>0){let b=y.federation.map(async w=>{try{let _=await Rn(n,w);return _?(_.federation&&(_.federation=_.federation.filter($=>$!==e.toString())),_.notify&&(_.notify=_.notify.filter($=>$!==e.toString())),_.timestamp=Date.now(),await n.putGlobal("federation",_),m.partnersNotified++,!0):!1}catch(_){return m.errors.push({partner:w,error:_.message}),!1}});await Promise.all(b)}if(y.federation&&y.federation.length>0)for(let b of y.federation)try{let w=`${e}_${b}`,_=`${b}_${e}`,$=await n.getGlobal("federationMeta",w)||await n.getGlobal("federationMeta",_);$&&($.status="inactive",$.endedAt=Date.now(),await n.putGlobal("federationMeta",$))}catch{}return m.success=!0,m}catch(y){return{...m,success:!1,error:y.message}}}var qS=Ka(Fu(),1);async function fm(n,e,i){if(!e||!i)throw new Error("setSchema: Missing required parameters");if(!i.type||typeof i.type!="string")throw new Error("setSchema: Schema must have a type field");let s={type:"object",required:["type","properties"],properties:{type:{type:"string"},properties:{type:"object",additionalProperties:{type:"object",required:["type"],properties:{type:{type:"string"}}}},required:{type:"array",items:{type:"string"}}}};if(!n.validator.validate(s,i))throw new Error(`Invalid schema structure: ${JSON.stringify(n.validator.errors)}`);if(!i.properties||typeof i.properties!="object")throw new Error("Schema must have properties in strict mode");if(!i.required||!Array.isArray(i.required)||i.required.length===0)throw new Error("Schema must have required fields in strict mode");return await n.putGlobal("schemas",{id:e,schema:i,timestamp:Date.now()}),n.schemaCache.set(e,{schema:i,timestamp:Date.now()}),!0}async function cm(n,e,i={}){if(!e)throw new Error("getSchema: Missing lens parameter");let{useCache:s=!0,maxCacheAge:u=36e5}=i;if(s&&n.schemaCache.has(e)){let m=n.schemaCache.get(e);if(Date.now()-m.timestamp<u)return m.schema}let d=await n.getGlobal("schemas",e);return!d||!d.schema?null:(n.schemaCache.set(e,{schema:d.schema,timestamp:Date.now()}),d.schema)}function dm(n,e=null){return e?n.schemaCache.delete(e):(n.schemaCache.clear(),!0)}async function hm(n,e,i,s,u=null,d={}){if(!s)throw new Error("put: Missing required data parameter");if(!e||!i)throw new Error("put: Missing required holon or lens parameters:",e,i);let{disableHologramRedirection:m=!1}=d,y=e,E=i,b=s.id;b||(b=n.generateId(),s.id=b);try{let _=await Lu(n,y,E,b,u,{resolveHolograms:!1});if(!m&&_&&n.isHologram(_)){let $=n.parseSoulPath(_.soul);$?($.appname!==n.appname&&console.warn(`Existing hologram at ${y}/${E}/${b} has appname (${$.appname}) in its soul ${_.soul} which does not match current HoloSphere instance appname (${n.appname}). Redirecting put to soul's holon/lens within this instance.`),console.log(`Redirecting put for data (ID: ${s.id}). Original target ${y}/${E}/${b} contained hologram (ID: ${_.id}, Soul: ${_.soul}). New target is ${$.holon}/${$.lens}/${$.key}.`),y=$.holon,E=$.lens,b=$.key,s.id!==b&&console.warn(`Data ID ('${s.id}') differs from redirected target key ('${b}') derived from existing hologram's soul. Data will be stored under key '${b}'.`)):console.warn(`Existing item at ${y}/${E}/${b} (ID: ${_.id}) is a hologram, but its soul ('${_.soul}') is invalid. Proceeding with original target.`)}}catch(_){_.message&&_.message.includes("RESOLVED_NULL")||console.warn(`Error checking for existing hologram at ${y}/${E}/${b}: ${_.message}. Proceeding with original target.`)}let w=n.isHologram(s);if(n.strict&&!w){let _=await n.getSchema(E);if(!_)throw new Error("Schema required in strict mode");let $=JSON.parse(JSON.stringify(s));if(!n.validator.validate(_,$)){let x=`Schema validation failed: ${JSON.stringify(n.validator.errors)}`;throw new Error(x)}}try{let _=null;return u&&(_=n.gun.user(),await new Promise(($,C)=>{let x=n.userName(y);_.auth(x,u,k=>{k.err?(console.log(`Initial auth failed for ${x} during put, attempting to create...`),_.create(x,u,B=>{B.err?B.err.includes("already created")?(console.log(`User ${x} already existed during put, re-attempting auth with fresh user object.`),n.gun.user().auth(x,u,I=>{I.err?C(new Error(`Failed to auth with fresh user object after create attempt (user existed) for ${x} during put: ${I.err}`)):$()})):C(new Error(`Failed to create user ${x} during put: ${B.err}`)):(console.log(`User ${x} created successfully during put, attempting auth...`),_.auth(x,u,O=>{O.err?C(new Error(`Failed to auth after create for ${x} during put: ${O.err}`)):$()}))})):$()})})),new Promise(($,C)=>{try{let x={...s};x._meta!==void 0&&delete x._meta;let k=JSON.stringify(x),B=async I=>{if(I.err)C(new Error(I.err));else{if(w)try{if(n.parseSoulPath(s.soul)){let re=n.getNodeRef(s.soul),L=`${n.appname}/${y}/${E}/${b}`;re.get("_holograms").get(L).put(!0),console.log(`Data (ID: ${s.id}) being put is a hologram. Added its instance soul ${L} to its target ${s.soul}'s _holograms set.`)}else console.warn(`Data (ID: ${s.id}) being put is a hologram, but could not parse its soul ${s.soul} for tracking.`)}catch(z){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${s.id}, soul: ${s.soul}):`,z)}let U=[];if(!w&&!d.isHologramUpdate)try{let z=`${n.appname}/${y}/${E}/${b}`,re=n.getNodeRef(z);await new Promise(L=>{re.get("_holograms").once(async J=>{if(J){let le=Object.keys(J).filter(ae=>ae!=="_"&&J[ae]===!0);if(le.length>0){console.log(`Updating ${le.length} active holograms for data ${s.id}`);let ae=le.map(async R=>{try{let M=n.parseSoulPath(R);if(M){let Q=await n.get(M.holon,M.lens,M.key,null,{resolveHolograms:!1});if(Q){let X={...Q,updated:Date.now()};await n.put(M.holon,M.lens,X,null,{autoPropagate:!1,disableHologramRedirection:!0,isHologramUpdate:!0}),console.log(`Updated hologram at ${R} with timestamp`),U.push({soul:R,holon:M.holon,lens:M.lens,key:M.key,id:M.key,timestamp:X.updated})}}}catch(M){console.warn(`Error updating hologram ${R}:`,M)}});await Promise.all(ae)}}L()})})}catch(z){console.warn("Error checking for active holograms to update:",z)}w||n.notifySubscribers({holon:y,lens:E,...s});let q=d.autoPropagate!==!1&&!w,V=null;if(q)try{let z={useHolograms:!0,...d.propagationOptions};V=await n.propagate(y,E,s,z),V&&V.errors>0&&console.warn("Auto-propagation had errors:",V)}catch(z){console.warn("Error in auto-propagation:",z)}$({success:!0,isHologramAtPath:w,pathHolon:y,pathLens:E,pathKey:b,propagationResult:V,updatedHolograms:U})}};(u?_.get("private").get(E).get(b):n.gun.get(n.appname).get(y).get(E).get(b)).put(k,B)}catch(x){C(x)}})}catch(_){throw console.error("Error in put:",_),_}}async function Lu(n,e,i,s,u=null,d={}){if(!e||!i||!s)return console.error("get: Missing required parameters"),null;let{resolveHolograms:m=!0,validationOptions:y={},visited:E}=d,b=null;if(n.strict&&(b=await n.getSchema(i),!b))throw new Error("Schema required in strict mode");try{let w=null;return u&&(w=n.gun.user(),await new Promise((_,$)=>{let C=n.userName(e);w.auth(C,u,x=>{x.err?$(new Error(`Authentication failed for ${C} during get: ${x.err}`)):_()})})),new Promise(_=>{let $=async x=>{let k=null;if(!x){_(null);return}try{if(k=await n.parse(x),!k){_(null);return}if(m&&n.isHologram(k)){let B=await n.resolveHologram(k,{followHolograms:m,visited:E});if(console.log("### get/handleData received resolved value:",B),B===null){console.warn(`Hologram at ${e}/${i}/${s} could not be fully resolved (target not found or sub-problem). Resolving null.`),_(null);return}B!==k&&(console.log("### get/handleData using resolved data:",B),k=B)}if(b&&!n.validator.validate(b,k)&&(console.error("get: Invalid data according to schema:",n.validator.errors),n.strict)){_(null);return}_(k)}catch(B){B.message?.startsWith("CIRCULAR_REFERENCE")?(console.warn(`Caught circular reference during get/handleData for key ${s}. Resolving null.`),_(null)):(console.error("Error processing data in get/handleData:",B),_(null))}};(u?w.get("private").get(i).get(s):n.gun.get(n.appname).get(e).get(i).get(s)).once($)})}catch(w){return console.error("Error in get:",w),null}}async function pm(n,e,i,s=null){if(!e||!i)throw new Error("getAll: Missing required parameters");let u=await n.getSchema(i);if(!u&&n.strict)throw new Error("getAll: Schema required in strict mode");try{let d=null;return s&&(d=n.gun.user(),await new Promise((m,y)=>{let E=n.userName(e);d.auth(E,s,b=>{b.err?(console.log(`Initial auth failed for ${E} during getAll, attempting to create...`),d.create(E,s,w=>{w.err?w.err.includes("already created")?(console.log(`User ${E} already existed during getAll, re-attempting auth with fresh user object.`),n.gun.user().auth(E,s,$=>{$.err?y(new Error(`Failed to auth with fresh user object after create attempt (user existed) for ${E} during getAll: ${$.err}`)):m()})):y(new Error(`Failed to create user ${E} during getAll: ${w.err}`)):(console.log(`User ${E} created successfully during getAll, attempting auth...`),d.auth(E,s,_=>{_.err?y(new Error(`Failed to auth after create for ${E} during getAll: ${_.err}`)):m()}))})):m()})})),new Promise(m=>{let y=new Map,E=async(_,$)=>{if(!(!_||$==="_"))try{let C=await n.parse(_);if(!C||!C.id)return;if(n.isHologram(C)){let x=await n.resolveHologram(C,{followHolograms:!0});if(x!==C){u?(n.validator.validate(u,x)||!n.strict)&&y.set(x.id,x):y.set(x.id,x);return}}u?(n.validator.validate(u,C)||!n.strict)&&y.set(C.id,C):y.set(C.id,C)}catch(C){console.error("Error processing data:",C)}},b=async _=>{if(!_){m([]);return}let $=[];Object.keys(_).filter(C=>C!=="_").forEach(C=>{$.push(E(_[C],C))});try{await Promise.all($),m(Array.from(y.values()))}catch(C){console.error("Error in getAll:",C),m([])}};(s?d.get("private").get(i):n.gun.get(n.appname).get(e).get(i)).once(b)})}catch(d){return console.error("Error in getAll:",d),[]}}async function mm(n,e){if(e==null)return console.warn("Parse received null or undefined data."),null;if(typeof e=="string")try{return JSON.parse(e)}catch{return console.warn("Data was a string but not valid JSON, returning null:",e),null}if(typeof e=="object"&&e!==null){if(e.soul&&typeof e.soul=="string"&&e.id)return e;if(n.isHologram(e))return e;if(e._){console.warn("Parsing raw Gun object with metadata (_) - attempting cleanup:",e);let i=Object.keys(e).reduce((s,u)=>(u!=="_"&&(s[u]=e[u]),s),{});return Object.keys(i).length===0?(console.warn("Raw Gun object had only metadata (_), returning null."),null):i}else return e}return console.warn("Parsing encountered unexpected data type, returning null:",typeof e,e),null}async function gm(n,e,i,s,u=null){if(!e||!i||!s)throw new Error("delete: Missing required parameters");try{let d=null;u&&(d=n.gun.user(),await new Promise((_,$)=>{let C=n.userName(e);d.auth(C,u,x=>{x.err?(console.log(`Initial auth failed for ${C} during deleteFunc, attempting to create...`),d.create(C,u,k=>{k.err?k.err.includes("already created")?(console.log(`User ${C} already existed during deleteFunc, re-attempting auth with fresh user object.`),n.gun.user().auth(C,u,O=>{O.err?$(new Error(`Failed to auth with fresh user object after create attempt (user existed) for ${C} during deleteFunc: ${O.err}`)):_()})):$(new Error(`Failed to create user ${C} during deleteFunc: ${k.err}`)):(console.log(`User ${C} created successfully during deleteFunc, attempting auth...`),d.auth(C,u,B=>{B.err?$(new Error(`Failed to auth after create for ${C} during deleteFunc: ${B.err}`)):_()}))})):_()})}));let m=u?d.get("private").get(i).get(s):n.gun.get(n.appname).get(e).get(i).get(s),y=Promise.resolve(),E=await new Promise(_=>m.once(_)),b=null;try{typeof E=="string"?b=JSON.parse(E):b=E}catch(_){console.warn("[deleteFunc] Could not JSON parse data for deletion check:",E,_),b=null}if(b&&n.isHologram(b))try{let _=b.soul;if(n.parseSoulPath(_)){let C=n.getNodeRef(_),x=`${n.appname}/${e}/${i}/${s}`;y=new Promise(k=>{C.get("_holograms").get(x).put(null,B=>{B.err&&console.warn(`[deleteFunc] Error removing hologram ${x} from target ${_}:`,B.err),console.log(`Removed hologram ${x} from target ${_}'s _holograms list`),k()})})}else console.warn(`Could not parse target soul ${_} for hologram tracking removal.`)}catch(_){console.warn(`Error initiating hologram reference removal from target ${b.soul}:`,_),y=Promise.resolve()}return await y,new Promise((_,$)=>{m.put(null,C=>{C.err?$(new Error(C.err)):_(!0)})})}catch(d){throw console.error("Error in delete:",d),d}}async function ym(n,e,i,s=null){if(!e||!i)return console.error("deleteAll: Missing holon or lens parameter"),!1;try{let u=null;return s&&(u=n.gun.user(),await new Promise((d,m)=>{let y=n.userName(e);u.auth(y,s,E=>{E.err?(console.log(`Initial auth failed for ${y} during deleteAll, attempting to create...`),u.create(y,s,b=>{b.err?b.err.includes("already created")?(console.log(`User ${y} already existed during deleteAll, re-attempting auth with fresh user object.`),n.gun.user().auth(y,s,_=>{_.err?m(new Error(`Failed to auth with fresh user object after create attempt (user existed) for ${y} during deleteAll: ${_.err}`)):d()})):m(new Error(`Failed to create user ${y} during deleteAll: ${b.err}`)):(console.log(`User ${y} created successfully during deleteAll, attempting auth...`),u.auth(y,s,w=>{w.err?m(new Error(`Failed to auth after create for ${y} during deleteAll: ${w.err}`)):d()}))})):d()})})),new Promise(d=>{let m=[];(s?u.get("private").get(i):n.gun.get(n.appname).get(e).get(i)).once(async E=>{if(!E){d(!0);return}let b=Object.keys(E).filter(w=>w!=="_");for(let w of b)try{let _=s?u.get("private").get(i).get(w):n.gun.get(n.appname).get(e).get(i).get(w),$=await new Promise(k=>_.once(k)),C=null;try{typeof $=="string"?C=JSON.parse($):C=$}catch(k){console.warn("[deleteAll] Could not JSON parse data for deletion check:",$,k),C=null}if(C&&n.isHologram(C))try{let k=C.soul;if(n.parseSoulPath(k)){let O=n.getNodeRef(k),I=`${n.appname}/${e}/${i}/${w}`;await new Promise(U=>{O.get("_holograms").get(I).put(null,q=>{q.err&&console.warn(`[deleteAll] Error removing hologram ${I} from target ${k}:`,q.err),console.log(`Removed hologram ${I} from target ${k}'s _holograms list`),U()})})}else console.warn(`Could not parse target soul ${k} for hologram tracking removal during deleteAll.`)}catch(k){console.warn(`Error removing hologram reference from target ${C.soul} during deleteAll:`,k)}m.push(new Promise(k=>{(s?u.get("private").get(i).get(w):n.gun.get(n.appname).get(e).get(i).get(w)).put(null,O=>{k(!!O.ok)})}))}catch(_){console.warn(`Error processing key ${w} during deleteAll:`,_),m.push(new Promise($=>{(s?u.get("private").get(i).get(w):n.gun.get(n.appname).get(e).get(i).get(w)).put(null,x=>{$(!!x.ok)})}))}Promise.all(m).then(w=>{let _=w.every($=>$===!0);d(_)}).catch(w=>{console.error("Error in deleteAll:",w),d(!1)})})})}catch(u){return console.error("Error in deleteAll:",u),!1}}async function wm(n,e,i,s){if(!e||!i||!s)throw new Error("putNode: Missing required parameters");return new Promise((u,d)=>{try{let m=s.value&&n.isHologram(s.value);n.gun.get(n.appname).get(e).get(i).get("value").put(s.value,y=>{if(y.err)d(new Error(y.err));else{if(m)try{if(n.parseSoulPath(s.value.soul)){let b=n.getNodeRef(s.value.soul),w=`${n.appname}/${e}/${i}/value`;b.get("_holograms").get(w).put(!0),console.log(`Data (ID: ${s.id}) being put is a hologram. Added its instance soul ${w} to its target ${s.value.soul}'s _holograms set.`)}else console.warn(`Data (ID: ${s.id}) being put is a hologram, but could not parse its soul ${s.value.soul} for tracking.`)}catch(E){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${s.id}, soul: ${s.value.soul}):`,E)}u(!0)}})}catch(m){d(m)}})}async function _m(n,e,i,s){if(!e||!i||!s)throw new Error("getNode: Missing required parameters");return new Promise((u,d)=>{try{n.gun.get(n.appname).get(e).get(i).get(s).once(m=>{if(!m){u(null);return}u(m)})}catch(m){d(m)}})}function qu(n,e){if(typeof e!="string"||!e)throw new Error("getNodeRef: Invalid soul parameter");let i=e.split("/").filter(u=>{if(!u.trim()||/[<>:"/\\|?*]/.test(u))throw new Error("getNodeRef: Invalid path segment");return u.trim()});if(i.length===0)throw new Error("getNodeRef: Invalid soul format");let s=n.gun.get(n.appname);return i.forEach(u=>{s=s.get(u)}),s}async function vm(n,e){if(!e)throw new Error("getNodeBySoul: Missing soul parameter");return console.log(`getNodeBySoul: Accessing soul ${e}`),new Promise((i,s)=>{try{qu(n,e).once(d=>{if(console.log("getNodeBySoul: Retrieved data:",d),!d){i(null);return}i(d)})}catch(u){console.error("getNodeBySoul error:",u),s(u)}})}async function bm(n,e,i,s){if(!e||!i||!s)throw new Error("deleteNode: Missing required parameters");try{let u=n.gun.get(n.appname).get(e).get(i).get(s),d=Promise.resolve(),m=await new Promise(b=>u.once(b)),y=null;try{typeof m=="string"?y=JSON.parse(m):y=m}catch(b){console.warn("[deleteNode] Could not JSON parse data for deletion check:",m,b),y=null}if(y&&n.isHologram(y))try{let b=y.soul;if(n.parseSoulPath(b)){let _=n.getNodeRef(b),$=`${n.appname}/${e}/${i}/value`;d=new Promise(C=>{_.get("_holograms").get($).put(null,x=>{x.err&&console.warn(`[deleteNode] Error removing hologram ${$} from target ${b}:`,x.err),console.log(`Removed hologram ${$} from target ${b}'s _holograms list`),C()})})}else console.warn(`Could not parse target soul ${b} for hologram tracking removal during deleteNode.`)}catch(b){console.warn(`Error initiating hologram reference removal from target ${y.soul} during deleteNode:`,b),d=Promise.resolve()}return await d,new Promise((b,w)=>{u.put(null,_=>{_.err?w(new Error(_.err)):b(!0)})})}catch(u){throw console.error("Error in deleteNode:",u),u}}async function Em(n,e,i,s=null){try{if(!e||!i)throw new Error("Table name and data are required");let u=null;return s&&(u=n.gun.user(),await new Promise((d,m)=>{let y=n.userName(e);u.auth(y,s,E=>{E.err?(console.log(`Initial auth failed for ${y}, attempting to create...`),u.create(y,s,b=>{b.err?b.err.includes("already created")?(console.log(`User ${y} already existed, re-attempting auth with fresh user object.`),n.gun.user().auth(y,s,_=>{_.err?m(new Error(`Failed to auth with fresh user object after create attempt (user existed): ${_.err}`)):d()})):m(new Error(`Failed to create user ${y}: ${b.err}`)):(console.log(`User ${y} created successfully, attempting auth...`),u.auth(y,s,w=>{w.err?m(new Error(`Failed to auth after create for ${y}: ${w.err}`)):d()}))})):d()})})),new Promise((d,m)=>{try{let y={...i};y._meta!==void 0&&delete y._meta;let E=JSON.stringify(y),b=n.isHologram(y),w=s?u.get("private").get(e):n.gun.get(n.appname).get(e);i.id?w.get(i.id).put(E,$=>{if($.err)m(new Error($.err));else{if(b)try{if(n.parseSoulPath(y.soul)){let x=n.getNodeRef(y.soul),k=`${n.appname}/${e}/${i.id}`;x.get("_holograms").get(k).put(!0),console.log(`Data (ID: ${i.id}) being put is a hologram. Added its instance soul ${k} to its target ${y.soul}'s _holograms set.`)}else console.warn(`Data (ID: ${i.id}) being put is a hologram, but could not parse its soul ${y.soul} for tracking.`)}catch(C){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${i.id}, soul: ${y.soul}):`,C)}d()}}):w.put(E,_=>{if(_.err)m(new Error(_.err));else{if(b)try{if(n.parseSoulPath(y.soul)){let C=n.getNodeRef(y.soul),x=`${n.appname}/${e}`;C.get("_holograms").get(x).put(!0),console.log(`Data being put is a hologram. Added its instance soul ${x} to its target ${y.soul}'s _holograms set.`)}else console.warn(`Data being put is a hologram, but could not parse its soul ${y.soul} for tracking.`)}catch($){console.warn(`Error updating _holograms set for the target of the data being put (soul: ${y.soul}):`,$)}d()}})}catch(y){m(y)}})}catch(u){throw console.error("Error in putGlobal:",u),u}}async function $m(n,e,i,s=null){try{let u=null;return s&&(u=n.gun.user(),await new Promise((d,m)=>{let y=n.userName(e);u.auth(y,s,E=>{E.err?(console.log(`Initial auth failed for ${y}, attempting to create...`),u.create(y,s,b=>{b.err?b.err.includes("already created")?(console.log(`User ${y} already existed, re-attempting auth with fresh user object.`),n.gun.user().auth(y,s,_=>{_.err?m(new Error(`Failed to auth with fresh user object after create attempt (user existed): ${_.err}`)):d()})):m(new Error(`Failed to create user ${y}: ${b.err}`)):(console.log(`User ${y} created successfully, attempting auth...`),u.auth(y,s,w=>{w.err?m(new Error(`Failed to auth after create for ${y}: ${w.err}`)):d()}))})):d()})})),new Promise(async d=>{let m=async b=>{if(!b){d(null);return}try{let w=await n.parse(b);if(!w){d(null);return}if(n.isHologram(w)){let _=await n.resolveHologram(w,{followHolograms:!0});if(_===null){console.log(`Hologram at ${e}/${i} points to non-existent data. Deleting hologram.`);try{await n.deleteGlobal(e,i,s)}catch($){console.error(`Failed to delete invalid global hologram at ${e}/${i}:`,$)}d(null);return}if(_!==w){d(_);return}}d(w)}catch(w){console.error("Error parsing data in getGlobal:",w),d(null)}};(s?u.get("private").get(e):n.gun.get(n.appname).get(e)).get(i).once(m)})}catch(u){return console.error("Error in getGlobal:",u),null}}async function Pm(n,e,i=null){if(!e)throw new Error("getAllGlobal: Missing table name parameter");try{let s=null;return i&&(s=n.gun.user(),await new Promise((u,d)=>{let m=n.userName(e);s.auth(m,i,y=>{y.err?(console.log(`Initial auth failed for ${m}, attempting to create...`),s.create(m,i,E=>{E.err?E.err.includes("already created")?(console.log(`User ${m} already existed, re-attempting auth with fresh user object.`),n.gun.user().auth(m,i,w=>{w.err?d(new Error(`Failed to auth with fresh user object after create attempt (user existed): ${w.err}`)):u()})):d(new Error(`Failed to create user ${m}: ${E.err}`)):(console.log(`User ${m} created successfully, attempting auth...`),s.auth(m,i,b=>{b.err?d(new Error(`Failed to auth after create for ${m}: ${b.err}`)):u()}))})):u()})})),new Promise(u=>{let d=[],m=!1,y=setTimeout(()=>{m||(m=!0,u(d))},5e3),E=async w=>{if(!w){clearTimeout(y),m=!0,u([]);return}let $=Object.keys(w).filter(C=>C!=="_").map(C=>new Promise(async x=>{let k=i?s.get("private").get(e).get(C):n.gun.get(n.appname).get(e).get(C),B=await new Promise(O=>{k.once(O)});if(B)try{let O=await n.parse(B);if(O)if(n.isHologram(O)){let I=await n.resolveHologram(O,{followHolograms:!0});if(I===null){console.log(`Hologram at ${e}/${C} points to non-existent data. Deleting hologram.`);try{await n.deleteGlobal(e,C,i)}catch(U){console.error(`Failed to delete invalid global hologram at ${e}/${C}:`,U)}x();return}I!==O?d.push(I):d.push(O)}else d.push(O)}catch(O){console.error("Error parsing data:",O)}x()}));await Promise.all($),clearTimeout(y),m||(m=!0,u(d))};(i?s.get("private").get(e):n.gun.get(n.appname).get(e)).once(E)})}catch(s){return console.error("Error in getAllGlobal:",s),[]}}async function km(n,e,i,s=null){if(!e||!i)throw new Error("deleteGlobal: Missing required parameters");try{let u=null;s&&(u=n.gun.user(),await new Promise((w,_)=>{let $=n.userName(e);u.auth($,s,C=>{C.err?(console.log(`Initial auth failed for ${$}, attempting to create...`),u.create($,s,x=>{x.err?x.err.includes("already created")?(console.log(`User ${$} already existed, re-attempting auth with fresh user object.`),n.gun.user().auth($,s,B=>{B.err?_(new Error(`Failed to auth with fresh user object after create attempt (user existed): ${B.err}`)):w()})):_(new Error(`Failed to create user ${$}: ${x.err}`)):(console.log(`User ${$} created successfully, attempting auth...`),u.auth($,s,k=>{k.err?_(new Error(`Failed to auth after create for ${$}: ${k.err}`)):w()}))})):w()})}));let d=s?u.get("private").get(e).get(i):n.gun.get(n.appname).get(e).get(i),m=Promise.resolve(),y=await new Promise(w=>d.once(w)),E=null;try{typeof y=="string"?E=JSON.parse(y):E=y}catch(w){console.warn("[deleteGlobal] Could not JSON parse data for deletion check:",y,w),E=null}if(E&&n.isHologram(E))try{let w=E.soul;if(n.parseSoulPath(w)){let $=n.getNodeRef(w),C=`${n.appname}/${e}/${i}`;m=new Promise(x=>{$.get("_holograms").get(C).put(null,k=>{k.err&&console.warn(`[deleteGlobal] Error removing hologram ${C} from target ${w}:`,k.err),console.log(`Removed hologram ${C} from target ${w}'s _holograms list`),x()})})}else console.warn(`Could not parse target soul ${w} for hologram tracking removal during deleteGlobal.`)}catch(w){console.warn(`Error initiating hologram reference removal from target ${E.soul} during deleteGlobal:`,w),m=Promise.resolve()}return await m,new Promise((w,_)=>{d.put(null,$=>{$.err?(console.error("deleteGlobal - Deletion error:",$.err),_(new Error($.err))):w(!0)})})}catch(u){throw console.error("Error in deleteGlobal:",u),u}}async function Cm(n,e,i=null){if(!e)throw new Error("deleteAllGlobal: Missing table name parameter");try{let s=null;return i&&(s=n.gun.user(),await new Promise((u,d)=>{let m=n.userName(e);s.auth(m,i,y=>{y.err?(console.log(`Initial auth failed for ${m}, attempting to create...`),s.create(m,i,E=>{E.err?E.err.includes("already created")?(console.log(`User ${m} already existed, re-attempting auth with fresh user object.`),n.gun.user().auth(m,i,w=>{w.err?d(new Error(`Failed to auth with fresh user object after create attempt (user existed): ${w.err}`)):u()})):d(new Error(`Failed to create user ${m}: ${E.err}`)):(console.log(`User ${m} created successfully, attempting auth...`),s.auth(m,i,b=>{b.err?d(new Error(`Failed to auth after create for ${m}: ${b.err}`)):u()}))})):u()})})),new Promise((u,d)=>{try{let m=new Set,y=setTimeout(()=>{m.size===0&&u(!0)},5e3),E=i?s.get("private").get(e):n.gun.get(n.appname).get(e);E.once(async b=>{if(!b){clearTimeout(y),u(!0);return}let w=Object.keys(b).filter($=>$!=="_");for(let $ of w)try{let C=i?s.get("private").get(e).get($):n.gun.get(n.appname).get(e).get($),x=await new Promise(O=>C.once(O)),k=null;try{typeof x=="string"?k=JSON.parse(x):k=x}catch(O){console.warn("[deleteAllGlobal] Could not JSON parse data for deletion check:",x,O),k=null}if(k&&n.isHologram(k))try{let O=k.soul;if(n.parseSoulPath(O)){let U=n.getNodeRef(O),q=`${n.appname}/${e}/${$}`;await new Promise(V=>{U.get("_holograms").get(q).put(null,z=>{z.err&&console.warn(`[deleteAllGlobal] Error removing hologram ${q} from target ${O}:`,z.err),console.log(`Removed hologram ${q} from target ${O}'s _holograms list`),V()})})}else console.warn(`Could not parse target soul ${O} for hologram tracking removal during deleteAllGlobal.`)}catch(O){console.warn(`Error removing hologram reference from target ${k.soul} during deleteAllGlobal:`,O)}m.add($)}catch(C){console.warn(`Error processing key ${$} during deleteAllGlobal:`,C),m.add($)}let _=w.map($=>new Promise((C,x)=>{(i?s.get("private").get(e).get($):n.gun.get(n.appname).get(e).get($)).put(null,B=>{B.err?(console.error(`Failed to delete ${$}:`,B.err),x(new Error(B.err))):C()})}));try{await Promise.all(_),E.put(null),clearTimeout(y),u(!0)}catch($){d($)}})}catch(m){d(m)}})}catch(s){throw console.error("Error in deleteAllGlobal:",s),s}}function Sm(n,e,i,s){if(ha(s))return console.warn("createHologram called with data that is already a hologram. Reusing existing soul:",s.soul),{id:s.id,soul:s.soul};if(!e||!i||!s||!s.id)throw new Error("createHologram: Missing required parameters for non-hologram data");let u=`${n.appname}/${e}/${i}/${s.id}`;return{id:s.id,soul:u}}function Uu(n){if(typeof n!="string")return null;let e=n.split("/");if(e.length<4)return null;let i=e.slice(3).join("/");return{appname:e[0],holon:e[1],lens:e[2],key:i}}function ha(n){return!n||typeof n!="object"?!1:!!(n.id&&typeof n.soul=="string"&&n.soul.length>0&&n.soul.includes("/"))}async function Dm(n,e,i={}){if(!ha(e))return e;let{followHolograms:s=!0,visited:u=new Set}=i;if(e.soul&&u.has(e.soul))throw console.warn(`!!! CIRCULAR hologram detected for soul: ${e.soul}. Returning original hologram.`),new Error(`CIRCULAR_REFERENCE:${e.soul}`);try{if(e.soul){let d=Uu(e.soul);if(!d)return console.warn(`Invalid soul format: ${e.soul}`),e;let m=new Set(u);m.add(e.soul),console.log(`Resolving hologram with soul: ${e.soul}`);let y=await n.get(d.holon,d.lens,d.key,null,{resolveHolograms:s,visited:m});return console.log("### resolveHologram received originalData:",y),y?(console.log(`### Returning RESOLVED data for soul: ${e.soul}`),{...y,_meta:{...y._meta||{},resolvedFromHologram:!0,hologramSoul:e.soul}}):(console.warn(`!!! Original data NOT FOUND for soul: ${e.soul}. Returning null.`),null)}else return console.warn("!!! resolveHologram called with object missing soul:",e),e}catch(d){return console.error(`!!! Error resolving hologram: ${d.message}`,d),e}}async function xm(n,e,i,s,u=15,d=null){let m=e,y=TA(m),E=[];for(;y>0&&u>0;)try{let b=await n.compute(m,i,s,d);b&&E.push(b),m=OA(m,y-1),y--,u--}catch(b){console.error("Error in compute hierarchy:",b);break}return E}async function Rm(n,e,i,s,u=null){if(!e||!i)throw new Error("compute: Missing required parameters");if(typeof s=="string"&&(s={operation:s}),!s?.operation)throw new Error("compute: Missing required parameters");let d;try{d=TA(e)}catch{throw new Error("compute: Invalid holon format")}if(d<1||d>15)throw new Error("compute: Invalid holon resolution (must be between 1 and 15)");let{operation:m,fields:y=[],targetField:E,depth:b,maxDepth:w}=s;if(b!==void 0&&b<0)throw new Error("compute: Invalid depth parameter");if(w!==void 0&&(w<1||w>15))throw new Error("compute: Invalid maxDepth parameter (must be between 1 and 15)");let _=["summarize","aggregate","concatenate"];if(!_.includes(m))throw new Error(`compute: Invalid operation (must be one of ${_.join(", ")})`);let $=OA(e,d-1),C=ic($,d),k=(await Promise.all(C.map(B=>n.getAll(B,i,u)))).flat().filter(Boolean);if(k.length>0)try{let B;switch(m){case"summarize":let O=y.length>0?k.map(I=>y.map(U=>I[U]).filter(Boolean).join(`
|
|
28
|
+
`);super({baseURL:m.baseURL,timeout:m.timeout??6e5,httpAgent:m.httpAgent,maxRetries:m.maxRetries,fetch:m.fetch}),this.completions=new an(this),this.chat=new tr(this),this.embeddings=new ln(this),this.files=new Pr(this),this.images=new pn(this),this.audio=new NA(this),this.moderations=new gn(this),this.models=new Cr(this),this.fineTuning=new bA(this),this.vectorStores=new oA(this),this.beta=new vA(this),this.batches=new _r(this),this.uploads=new Rr(this),this.responses=new xr(this),this.evals=new qA(this),this._options=m,this.apiKey=i,this.organization=s,this.project=u}defaultQuery(){return this._options.defaultQuery}defaultHeaders(e){return{...super.defaultHeaders(e),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project,...this._options.defaultHeaders}}authHeaders(e){return{Authorization:`Bearer ${this.apiKey}`}}stringifyQuery(e){return A0(e,{arrayFormat:"brackets"})}};Wc=qe;qe.OpenAI=Wc;qe.DEFAULT_TIMEOUT=6e5;qe.OpenAIError=$e;qe.APIError=$t;qe.APIConnectionError=pr;qe.APIConnectionTimeoutError=mr;qe.APIUserAbortError=bt;qe.NotFoundError=Ji;qe.ConflictError=Ki;qe.RateLimitError=Yi;qe.BadRequestError=Hi;qe.AuthenticationError=Vi;qe.InternalServerError=Xi;qe.PermissionDeniedError=zi;qe.UnprocessableEntityError=Wi;qe.toFile=p0;qe.fileFromPath=as;qe.Completions=an;qe.Chat=tr;qe.ChatCompletionsPage=wr;qe.Embeddings=ln;qe.Files=Pr;qe.FileObjectsPage=cn;qe.Images=pn;qe.Audio=NA;qe.Moderations=gn;qe.Models=Cr;qe.ModelsPage=mn;qe.FineTuning=bA;qe.VectorStores=oA;qe.VectorStoresPage=yn;qe.VectorStoreSearchResponsesPage=wn;qe.Beta=vA;qe.Batches=_r;qe.BatchesPage=en;qe.Uploads=Rr;qe.Responses=xr;qe.Evals=qA;qe.EvalListResponsesPage=fn;var Yc=qe;var Gm=Ka(ed(),1),Hm=Ka(Fu(),1);async function tm(n,e,i,s=null,u=null,d=!0,m={}){if(!e||!i)throw new Error("federate: Missing required space IDs");if(e===i)throw new Error("Cannot federate a space with itself");let{federate:y=[],notify:E=[]}=m;if(!Array.isArray(y)||!Array.isArray(E))throw new Error("federate: lensConfig.federate and lensConfig.notify must be arrays");let b=y,w=E;try{let v=null;try{v=await n.getGlobal("federation",e,s)}catch{}v==null&&(v={id:e,name:e,federation:[],notify:[],lensConfig:{},timestamp:Date.now()}),v.federation||(v.federation=[]),v.notify||(v.notify=[]),v.lensConfig||(v.lensConfig={}),v.federation.includes(i)||v.federation.push(i),v.notify.includes(i)||v.notify.push(i);let $={...v.lensConfig||{}};$[i]={federate:[...b],notify:[...w],timestamp:Date.now()},v.lensConfig=$,v.timestamp=Date.now();try{await n.putGlobal("federation",v,s)}catch(x){throw new Error(`Failed to create federation: ${x.message}`)}{let x=null;try{x=await n.getGlobal("federation",i,u)}catch{}x==null&&(x={id:i,name:i,federation:[],notify:[],lensConfig:{},timestamp:Date.now()}),x.federation||(x.federation=[]),x.notify||(x.notify=[]),x.lensConfig||(x.lensConfig={}),d&&!x.federation.includes(e)&&x.federation.push(e),x.notify.includes(e)||x.notify.push(e),x.lensConfig[e]={federate:d?[...b]:[],notify:d?[...w]:[],timestamp:Date.now()},x.timestamp=Date.now();try{await n.putGlobal("federation",x,u)}catch{}}let S={id:`${e}_${i}`,space1:e,space2:i,created:Date.now(),status:"active",bidirectional:d,lensConfig:{federate:[...b],notify:[...w]}};try{await n.putGlobal("federationMeta",S)}catch{}return!0}catch(v){throw v}}async function Am(n,e,i=null,s,u={}){if(!e||!s)throw new Error("subscribeFederation: Missing required parameters");let{lenses:d=["*"],throttle:m=0}=u,y=await n.getGlobal("federation",e,i);if(!y)throw new Error("No federation info found for space");let E=[],b={};if(y.federation&&y.federation.length>0)for(let w of y.federation)for(let v of d)try{let $=await n.subscribe(w,v,async S=>{try{if(!S||!S.id)return;let x=Date.now(),k=`${w}_${v}_${S.id}`;if(m>0){if(b[k]&&x-b[k]<m)return;b[k]=x}S.federation||(S.federation={origin:w,timestamp:x}),await s(S,w,v)}catch{}});$&&typeof $.unsubscribe=="function"&&E.push($)}catch{}return{unsubscribe:()=>{E.forEach(w=>{try{w&&typeof w.unsubscribe=="function"&&w.unsubscribe()}catch{}}),E.length=0,b={}},getSubscriptionCount:()=>E.length}}async function Rn(n,e,i=null){if(!e)throw new Error("getFederation: Missing space ID");return await n.getGlobal("federation",e,i)}async function rm(n,e,i,s=null){if(!n||!e||!i)throw new Error("getFederatedConfig: Missing required parameters");try{let u=await Rn(n,e,s);return u&&u.lensConfig&&u.lensConfig[i]?{federate:u.lensConfig[i].federate||[],notify:u.lensConfig[i].notify||[]}:null}catch(u){throw console.error(`Error getting federated config for ${e} -> ${i}: ${u.message}`),u}}async function nm(n,e,i,s=null,u=null){if(!e||!i)throw new Error("unfederate: Missing required space IDs");try{let d=null;try{d=await n.getGlobal("federation",e,s)}catch(E){console.error(`Error getting fedInfo1 for ${e} during unfederate: ${E.message}`)}if(!d)console.warn(`No federation info found for ${e}. Skipping its update.`);else{d.federation||(d.federation=[]),d.notify||(d.notify=[]);let E=d.federation.length,b=d.notify.length;d.federation=d.federation.filter(w=>w!==i),d.notify=d.notify.filter(w=>w!==i),d.timestamp=Date.now(),console.log(`Unfederate: Removed ${i} from ${e}: federation ${E} -> ${d.federation.length}, notify ${b} -> ${d.notify.length}`);try{await n.putGlobal("federation",d,s)}catch(w){throw console.error(`Failed to update fedInfo1 for ${e} during unfederate: ${w.message}`),w}}if(u){let E=null;try{E=await n.getGlobal("federation",i,u)}catch(b){console.error(`Error getting fedInfo2 for ${i} during unfederate: ${b.message}`)}if(!E||!E.notify)console.warn(`No notify array found for ${i} or fedInfo2 is null. Skipping its update.`);else{E.notify=E.notify.filter(b=>b!==e),E.timestamp=Date.now();try{await n.putGlobal("federation",E,u)}catch(b){throw console.error(`Failed to update fedInfo2 for ${i} during unfederate: ${b.message}`),b}}}let m=`${e}_${i}`,y=`${i}_${e}`;try{let E=await n.getGlobal("federationMeta",m)||await n.getGlobal("federationMeta",y);E&&(E.status="inactive",E.endedAt=Date.now(),await n.putGlobal("federationMeta",E))}catch(E){console.warn(`Failed to update federationMeta during unfederate: ${E.message}`)}return!0}catch(d){throw console.error(`Critical error during unfederate operation for ${e}-${i}: ${d.message}`),d}}async function im(n,e,i,s=null){if(!e||!i)throw new Error("removeNotify: Missing required space IDs");try{let u=await n.getGlobal("federation",e,s);if(!u)throw new Error(`No federation info found for ${e}`);return u.notify||(u.notify=[]),u.notify.includes(i)?(u.notify=u.notify.filter(d=>d!==i),u.timestamp=Date.now(),await n.putGlobal("federation",u,s),!0):!1}catch(u){throw u}}async function om(n,e,i,s={}){let{queryIds:u=null,aggregate:d=!1,idField:m="id",sumFields:y=[],concatArrays:E=[],removeDuplicates:b=!0,mergeStrategy:w=null,includeLocal:v=!0,includeFederated:$=!0,resolveReferences:S=!0,maxFederatedSpaces:x=-1,timeout:k=1e4}=s;if(console.log(`resolveReferences option: ${S}`),console.log("Querying specific IDs:",u?u.join(", "):"No (fetching all)"),!n||!e||!i)throw new Error("Missing required parameters: holosphere, holon, and lens are required");let O=await Rn(n,e),I=new Map,U=new Set,q=[],V=[];if(v&&V.push(e),$&&O&&O.federation&&O.federation.length>0){let re=x===-1?O.federation:O.federation.slice(0,x);V=V.concat(re)}for(let re of V)if(u&&Array.isArray(u)){console.log(`Fetching specific IDs from ${re}: ${u.join(", ")}`);for(let L of u)I.has(L)||q.push(n.get(re,i,L).then(J=>{J&&I.set(L,J)}).catch(J=>console.warn(`Error fetching item ${L} from ${re}: ${J.message}`)))}else re===e&&v&&console.warn(`getFederated: No queryIds provided. Falling back to fetching ALL items from ${re} using getAll. This can be inefficient.`),console.log(`Fetching ALL items from ${re}`),q.push(n.getAll(re,i).then(L=>{for(let J of L)J&&J[m]&&!I.has(J[m])&&I.set(J[m],J)}).catch(L=>console.warn(`Error fetching all items from ${re}: ${L.message}`)));await Promise.all(q);let z=Array.from(I.values());if(S&&z.length>0){console.log(`Resolving references for ${z.length} fetched items`);for(let re=0;re<z.length;re++){let L=z[re];if(L.soul&&L.id){console.log(`Found simple reference with soul: ${L.soul}`);try{let J=L.soul.split("/");if(J.length>=4){let le=J[1],ae=J[2],R=J[3];console.log(`Extracting from soul - holon: ${le}, lens: ${ae}, key: ${R}`);let M=await n.get(le,ae,R,null,{resolveReferences:!0});console.log("Original data found via soul path:",JSON.stringify(M)),M?z[re]={...M,_federation:{isReference:!0,resolved:!0,soul:L.soul,timestamp:Date.now()}}:z[re]={id:L.id,_federation:{isReference:!0,resolved:!1,soul:L.soul,error:"Referenced data not found",timestamp:Date.now()}}}else console.warn(`Soul doesn't match expected format: ${L.soul}`),z[re]={id:L.id,_federation:{isReference:!0,resolved:!1,soul:L.soul,error:"Invalid soul format",timestamp:Date.now()}}}catch(J){z[re]={id:L.id,_federation:{isReference:!0,resolved:!1,soul:L.soul,error:J.message||"Error resolving reference",timestamp:Date.now()}}}}else if(L._federation&&L._federation.isReference){console.log(`Found legacy reference: ${L._federation.origin}/${L._federation.lens}/${L[m]}`);try{let J=L._federation;console.log(`Getting original data from ${J.origin} / ${J.lens} / ${L[m]}`);let le=await n.get(J.origin,J.lens,L[m],null,{resolveReferences:!1});console.log("Original data found:",JSON.stringify(le)),le?z[re]={...le,_federation:{...J,resolved:!0,timestamp:Date.now()}}:console.warn("Could not resolve legacy reference: original data not found")}catch{}}}}if(d&&z.length>0){let re=z.reduce((J,le)=>{let ae=le[m];return J[ae]||(J[ae]=[]),J[ae].push(le),J},{});return Object.values(re).map(J=>{if(J.length===1)return J[0];if(w&&typeof w=="function")return w(J);let le={...J[0]};for(let ae of y)typeof le[ae]=="number"&&(le[ae]=J.reduce((R,M)=>R+(Number(M[ae])||0),0));for(let ae of E)if(Array.isArray(le[ae])){let R=J.reduce((M,Q)=>Array.isArray(Q[ae])?[...M,...Q[ae]]:M,[]);le[ae]=b?Array.from(new Set(R)):R}return le._aggregated={count:J.length,timestamp:Date.now()},le})}return z}async function sm(n,e,i,s,u={}){if(!n||!e||!i||!s)throw new Error("propagate: Missing required parameters");let{useHolograms:d=!0,targetSpaces:m=null,password:y=null,propagateToParents:E=!0,maxParentLevels:b=15}=u,w={success:0,errors:0,skipped:0,messages:[],parentPropagation:{success:0,errors:0,skipped:0,messages:[]}};try{let v=await Rn(n,e,y);if(v&&v.federation&&v.federation.length>0&&v.notify&&v.notify.length>0){let $=v.notify;if(m&&Array.isArray(m)&&m.length>0&&($=$.filter(S=>m.includes(S))),$.length>0)if($=$.filter(S=>{let x=v.lensConfig?.[S];if(!x)return w.messages.push(`No lens configuration for target space ${S}. Skipping propagation of lens '${i}'.`),w.skipped++,!1;let k=Array.isArray(x.federate)?x.federate:[],O=k.includes("*")||k.includes(i);return O||(w.messages.push(`Propagation of lens '${i}' to target space ${S} skipped: lens not in 'federate' configuration.`),w.skipped++),O}),$.length>0){let S=n.isHologram(s),x=$.map(async k=>{try{let B,O={origin:e,sourceLens:i,propagatedAt:Date.now(),originalId:s.id};return d&&!S?B={...n.createHologram(e,i,s),_federation:O}:B={...s,_federation:{...s._federation||{},...O}},await n.put(k,i,B,null,{disableHologramRedirection:!0,autoPropagate:!1}),w.success++,!0}catch(B){return w.errors++,w.messages.push(`Error propagating ${s.id} to ${k}: ${B.message}`),!1}});await Promise.all(x)}else w.messages.push("No valid target spaces for federation propagation after lens filtering.");else w.messages.push("No valid target spaces found for federation propagation.")}else w.messages.push(`No federation found for ${e} or no notification targets available.`);if(E){console.log(`[Federation] Starting parent propagation for holon: ${e}`);try{let $,S=!1;if(typeof e=="string"&&e.startsWith("8")&&e.length>=15)try{$=TA(e),$>=0&&$<=15?(S=!0,console.log(`[Federation] Holon ${e} is valid H3 hexagon with resolution: ${$}`)):console.log(`[Federation] Holon ${e} has invalid resolution: ${$}`)}catch(x){console.log(`[Federation] Holon ${e} failed H3 validation: ${x.message}`)}else console.log(`[Federation] Holon ${e} is not a valid H3 hexagon: does not start with '8' or too short`);if(S||(console.log(`[Federation] Skipping parent propagation for non-H3 holon: ${e}`),w.parentPropagation.messages.push(`Holon ${e} is not a valid H3 hexagon. Skipping parent propagation.`),w.parentPropagation.skipped++),S&&$!==void 0){let x=[],k=e,B=$,O=0;for(console.log(`[Federation] Getting parent hexagons for ${e} (resolution ${$}) up to ${b} levels`);B>0&&O<b;)try{let I=OA(k,B-1);x.push(I),console.log(`[Federation] Found parent hexagon: ${I} (resolution ${B-1})`),k=I,B--,O++}catch(I){console.error(`[Federation] Error getting parent for ${k}: ${I.message}`),w.parentPropagation.messages.push(`Error getting parent for ${k}: ${I.message}`),w.parentPropagation.errors++;break}if(x.length>0){console.log(`[Federation] Found ${x.length} parent hexagons to propagate to: ${x.join(", ")}`),w.parentPropagation.messages.push(`Found ${x.length} parent hexagons to propagate to: ${x.join(", ")}`);let I=n.isHologram(s);console.log(`[Federation] Data is already hologram: ${I}`);let U=x.map(async q=>{try{console.log(`[Federation] Propagating to parent hexagon: ${q}`);let V,z={origin:e,sourceLens:i,propagatedAt:Date.now(),originalId:s.id,propagationType:"parent",parentLevel:$-TA(q)};if(d&&!I){let re=n.createHologram(e,i,s);console.log("[Federation] Created hologram for parent propagation:",re),V={...re,_federation:z}}else V={...s,_federation:{...s._federation||{},...z}};return console.log(`[Federation] Storing in parent hexagon ${q} with payload:`,V),await n.put(q,i,V,null,{disableHologramRedirection:!0,autoPropagate:!1}),console.log(`[Federation] Successfully propagated to parent hexagon: ${q}`),w.parentPropagation.success++,!0}catch(V){return console.error(`[Federation] Error propagating ${s.id} to parent hexagon ${q}: ${V.message}`),w.parentPropagation.errors++,w.parentPropagation.messages.push(`Error propagating ${s.id} to parent hexagon ${q}: ${V.message}`),!1}});await Promise.all(U)}else console.log(`[Federation] No parent hexagons found for ${e} (already at resolution 0 or max levels reached)`),w.parentPropagation.messages.push(`No parent hexagons found for ${e} (already at resolution 0 or max levels reached)`),w.parentPropagation.skipped++}}catch($){console.error(`[Federation] Error during parent propagation: ${$.message}`),w.parentPropagation.errors++,w.parentPropagation.messages.push(`Error during parent propagation: ${$.message}`)}}else console.log(`[Federation] Parent propagation disabled for holon: ${e}`);return w.propagated=w.success>0||w.parentPropagation.success>0,w}catch(v){return{...w,error:v.message}}}async function am(n,e,i,s,u,d="generic"){let m=`${e}_${i}_fedmsgs`,y=await n.getGlobal("federation_messages",m)||{id:m,originalChatId:e,originalMessageId:i,type:d,messages:[]},E=y.messages.find(b=>b.chatId===s);E?(E.messageId=u,E.timestamp=Date.now()):y.messages.push({chatId:s,messageId:u,timestamp:Date.now()}),await n.putGlobal("federation_messages",y)}async function Qu(n,e,i){let s=`${e}_${i}_fedmsgs`;return await n.getGlobal("federation_messages",s)}async function lm(n,e,i,s){let u=await Qu(n,e,i);if(u?.messages)for(let d of u.messages)try{await s(d.chatId,d.messageId)}catch{}}async function um(n,e,i=null,s={}){if(!e)throw new Error("resetFederation: Missing required space ID");let{notifyPartners:u=!0,spaceName:d=null}=s,m={success:!1,federatedCount:0,notifyCount:0,partnersNotified:0,errors:[]};try{let y=await Rn(n,e,i);if(!y)return{...m,success:!0,message:"No federation configuration found for this space"};m.federatedCount=y.federation?.length||0,m.notifyCount=y.notify?.length||0;let E={id:e,name:d||e,federation:[],notify:[],timestamp:Date.now()};if(await n.putGlobal("federation",E,i),u&&y.federation&&y.federation.length>0){let b=y.federation.map(async w=>{try{let v=await Rn(n,w);return v?(v.federation&&(v.federation=v.federation.filter($=>$!==e.toString())),v.notify&&(v.notify=v.notify.filter($=>$!==e.toString())),v.timestamp=Date.now(),await n.putGlobal("federation",v),m.partnersNotified++,!0):!1}catch(v){return m.errors.push({partner:w,error:v.message}),!1}});await Promise.all(b)}if(y.federation&&y.federation.length>0)for(let b of y.federation)try{let w=`${e}_${b}`,v=`${b}_${e}`,$=await n.getGlobal("federationMeta",w)||await n.getGlobal("federationMeta",v);$&&($.status="inactive",$.endedAt=Date.now(),await n.putGlobal("federationMeta",$))}catch{}return m.success=!0,m}catch(y){return{...m,success:!1,error:y.message}}}var qS=Ka(Fu(),1);async function fm(n,e,i){if(!e||!i)throw new Error("setSchema: Missing required parameters");if(!i.type||typeof i.type!="string")throw new Error("setSchema: Schema must have a type field");let s={type:"object",required:["type","properties"],properties:{type:{type:"string"},properties:{type:"object",additionalProperties:{type:"object",required:["type"],properties:{type:{type:"string"}}}},required:{type:"array",items:{type:"string"}}}};if(!n.validator.validate(s,i))throw new Error(`Invalid schema structure: ${JSON.stringify(n.validator.errors)}`);if(!i.properties||typeof i.properties!="object")throw new Error("Schema must have properties in strict mode");if(!i.required||!Array.isArray(i.required)||i.required.length===0)throw new Error("Schema must have required fields in strict mode");return await n.putGlobal("schemas",{id:e,schema:i,timestamp:Date.now()}),n.schemaCache.set(e,{schema:i,timestamp:Date.now()}),!0}async function cm(n,e,i={}){if(!e)throw new Error("getSchema: Missing lens parameter");let{useCache:s=!0,maxCacheAge:u=36e5}=i;if(s&&n.schemaCache.has(e)){let m=n.schemaCache.get(e);if(Date.now()-m.timestamp<u)return m.schema}let d=await n.getGlobal("schemas",e);return!d||!d.schema?null:(n.schemaCache.set(e,{schema:d.schema,timestamp:Date.now()}),d.schema)}function dm(n,e=null){return e?n.schemaCache.delete(e):(n.schemaCache.clear(),!0)}async function hm(n,e,i,s,u=null,d={}){if(!s)throw new Error("put: Missing required data parameter");if(!e||!i)throw new Error("put: Missing required holon or lens parameters:",e,i);let{disableHologramRedirection:m=!1}=d,y=e,E=i,b=s.id;b||(b=n.generateId(),s.id=b);try{let v=await Lu(n,y,E,b,u,{resolveHolograms:!1});if(!m&&v&&n.isHologram(v)){let $=n.parseSoulPath(v.soul);$?($.appname!==n.appname&&console.warn(`Existing hologram at ${y}/${E}/${b} has appname (${$.appname}) in its soul ${v.soul} which does not match current HoloSphere instance appname (${n.appname}). Redirecting put to soul's holon/lens within this instance.`),console.log(`Redirecting put for data (ID: ${s.id}). Original target ${y}/${E}/${b} contained hologram (ID: ${v.id}, Soul: ${v.soul}). New target is ${$.holon}/${$.lens}/${$.key}.`),y=$.holon,E=$.lens,b=$.key,s.id!==b&&console.warn(`Data ID ('${s.id}') differs from redirected target key ('${b}') derived from existing hologram's soul. Data will be stored under key '${b}'.`)):console.warn(`Existing item at ${y}/${E}/${b} (ID: ${v.id}) is a hologram, but its soul ('${v.soul}') is invalid. Proceeding with original target.`)}}catch(v){v.message&&v.message.includes("RESOLVED_NULL")||console.warn(`Error checking for existing hologram at ${y}/${E}/${b}: ${v.message}. Proceeding with original target.`)}let w=n.isHologram(s);if(n.strict&&!w){let v=await n.getSchema(E);if(!v)throw new Error("Schema required in strict mode");let $=JSON.parse(JSON.stringify(s));if(!n.validator.validate(v,$)){let x=`Schema validation failed: ${JSON.stringify(n.validator.errors)}`;throw new Error(x)}}try{let v=null;return u&&(v=n.gun.user(),await new Promise(($,S)=>{let x=n.userName(y);v.auth(x,u,k=>{k.err?(console.log(`Initial auth failed for ${x} during put, attempting to create...`),v.create(x,u,B=>{B.err?B.err.includes("already created")||B.err.includes("already being created")?(console.log(`User ${x} already existed or being created during put, re-attempting auth with fresh user object.`),n.gun.user().auth(x,u,I=>{I.err&&console.log(`Auth still failed after user existed check: ${I.err}. Resolving anyway for test operations.`),$()})):(console.log(`Create user error (resolving anyway for operations): ${B.err}`),$()):(console.log(`User ${x} created successfully during put, attempting auth...`),v.auth(x,u,O=>{O.err?S(new Error(`Failed to auth after create for ${x} during put: ${O.err}`)):$()}))})):$()})})),new Promise(($,S)=>{try{let x={...s};x._meta!==void 0&&delete x._meta;let k=JSON.stringify(x),B=async I=>{if(I.err)S(new Error(I.err));else{if(w)try{if(n.parseSoulPath(s.soul)){let re=n.getNodeRef(s.soul),L=`${n.appname}/${y}/${E}/${b}`;re.get("_holograms").get(L).put(!0),console.log(`Data (ID: ${s.id}) being put is a hologram. Added its instance soul ${L} to its target ${s.soul}'s _holograms set.`)}else console.warn(`Data (ID: ${s.id}) being put is a hologram, but could not parse its soul ${s.soul} for tracking.`)}catch(z){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${s.id}, soul: ${s.soul}):`,z)}let U=[];if(!w&&!d.isHologramUpdate)try{let z=`${n.appname}/${y}/${E}/${b}`,re=n.getNodeRef(z);await new Promise(L=>{re.get("_holograms").once(async J=>{if(J){let le=Object.keys(J).filter(ae=>ae!=="_"&&J[ae]===!0);if(le.length>0){console.log(`Updating ${le.length} active holograms for data ${s.id}`);let ae=le.map(async R=>{try{let M=n.parseSoulPath(R);if(M){let Q=await n.get(M.holon,M.lens,M.key,null,{resolveHolograms:!1});if(Q){let X={...Q,updated:Date.now()};await n.put(M.holon,M.lens,X,null,{autoPropagate:!1,disableHologramRedirection:!0,isHologramUpdate:!0}),console.log(`Updated hologram at ${R} with timestamp`),U.push({soul:R,holon:M.holon,lens:M.lens,key:M.key,id:M.key,timestamp:X.updated})}}}catch(M){console.warn(`Error updating hologram ${R}:`,M)}});await Promise.all(ae)}}L()})})}catch(z){console.warn("Error checking for active holograms to update:",z)}w||n.notifySubscribers({holon:y,lens:E,...s});let q=d.autoPropagate!==!1&&!w,V=null;if(q)try{let z={useHolograms:!0,...d.propagationOptions};V=await n.propagate(y,E,s,z),V&&V.errors>0&&console.warn("Auto-propagation had errors:",V)}catch(z){console.warn("Error in auto-propagation:",z)}$({success:!0,isHologramAtPath:w,pathHolon:y,pathLens:E,pathKey:b,propagationResult:V,updatedHolograms:U})}};(u?v.get("private").get(E).get(b):n.gun.get(n.appname).get(y).get(E).get(b)).put(k,B)}catch(x){S(x)}})}catch(v){throw console.error("Error in put:",v),v}}async function Lu(n,e,i,s,u=null,d={}){if(!e||!i||!s)return console.error("get: Missing required parameters"),null;let{resolveHolograms:m=!0,validationOptions:y={},visited:E}=d,b=null;if(n.strict&&(b=await n.getSchema(i),!b))throw new Error("Schema required in strict mode");try{let w=null;return u&&(w=n.gun.user(),await new Promise((v,$)=>{let S=n.userName(e);w.auth(S,u,x=>{x.err?$(new Error(`Authentication failed for ${S} during get: ${x.err}`)):v()})})),new Promise(v=>{let $=async x=>{let k=null;if(!x){v(null);return}try{if(k=await n.parse(x),!k){v(null);return}if(m&&n.isHologram(k)){let B=await n.resolveHologram(k,{followHolograms:m,visited:E});if(console.log("### get/handleData received resolved value:",B),B===null){console.warn(`Hologram at ${e}/${i}/${s} could not be fully resolved (target not found or sub-problem). Resolving null.`),v(null);return}B!==k&&(console.log("### get/handleData using resolved data:",B),k=B)}if(b&&!n.validator.validate(b,k)&&(console.error("get: Invalid data according to schema:",n.validator.errors),n.strict)){v(null);return}v(k)}catch(B){B.message?.startsWith("CIRCULAR_REFERENCE")?(console.warn(`Caught circular reference during get/handleData for key ${s}. Resolving null.`),v(null)):(console.error("Error processing data in get/handleData:",B),v(null))}};(u?w.get("private").get(i).get(s):n.gun.get(n.appname).get(e).get(i).get(s)).once($)})}catch(w){return console.error("Error in get:",w),null}}async function pm(n,e,i,s=null){if(!e||!i)throw new Error("getAll: Missing required parameters");let u=await n.getSchema(i);if(!u&&n.strict)throw new Error("getAll: Schema required in strict mode");try{let d=null;return s&&(d=n.gun.user(),await new Promise((m,y)=>{let E=n.userName(e);d.auth(E,s,b=>{b.err?(console.log(`Initial auth failed for ${E} during getAll, attempting to create...`),d.create(E,s,w=>{w.err?w.err.includes("already created")||w.err.includes("already being created")?(console.log(`User ${E} already existed or being created during getAll, re-attempting auth with fresh user object.`),n.gun.user().auth(E,s,$=>{$.err&&console.log(`Auth still failed after user existed check: ${$.err}. Resolving anyway for test operations.`),m()})):(console.log(`Create user error (resolving anyway for operations): ${w.err}`),m()):(console.log(`User ${E} created successfully during getAll, attempting auth...`),d.auth(E,s,v=>{v.err?y(new Error(`Failed to auth after create for ${E} during getAll: ${v.err}`)):m()}))})):m()})})),new Promise(m=>{let y=new Map,E=async(v,$)=>{if(!(!v||$==="_"))try{let S=await n.parse(v);if(!S||!S.id)return;if(n.isHologram(S)){let x=await n.resolveHologram(S,{followHolograms:!0});if(x!==S){u?(n.validator.validate(u,x)||!n.strict)&&y.set(x.id,x):y.set(x.id,x);return}}u?(n.validator.validate(u,S)||!n.strict)&&y.set(S.id,S):y.set(S.id,S)}catch(S){console.error("Error processing data:",S)}},b=async v=>{if(!v){m([]);return}let $=[];Object.keys(v).filter(S=>S!=="_").forEach(S=>{$.push(E(v[S],S))});try{await Promise.all($),m(Array.from(y.values()))}catch(S){console.error("Error in getAll:",S),m([])}};(s?d.get("private").get(i):n.gun.get(n.appname).get(e).get(i)).once(b)})}catch(d){return console.error("Error in getAll:",d),[]}}async function mm(n,e){if(e==null)return console.warn("Parse received null or undefined data."),null;if(typeof e=="string")try{return JSON.parse(e)}catch{return console.warn("Data was a string but not valid JSON, returning null:",e),null}if(typeof e=="object"&&e!==null){if(e.soul&&typeof e.soul=="string"&&e.id)return e;if(n.isHologram(e))return e;if(e._){console.warn("Parsing raw Gun object with metadata (_) - attempting cleanup:",e);let i=Object.keys(e).reduce((s,u)=>(u!=="_"&&(s[u]=e[u]),s),{});return Object.keys(i).length===0?(console.warn("Raw Gun object had only metadata (_), returning null."),null):i}else return e}return console.warn("Parsing encountered unexpected data type, returning null:",typeof e,e),null}async function gm(n,e,i,s,u=null){if(!e||!i||!s)throw new Error("delete: Missing required parameters");try{let d=null;u&&(d=n.gun.user(),await new Promise((v,$)=>{let S=n.userName(e);d.auth(S,u,x=>{x.err?(console.log(`Initial auth failed for ${S} during deleteFunc, attempting to create...`),d.create(S,u,k=>{k.err?k.err.includes("already created")?(console.log(`User ${S} already existed during deleteFunc, re-attempting auth with fresh user object.`),n.gun.user().auth(S,u,O=>{O.err?$(new Error(`Failed to auth with fresh user object after create attempt (user existed) for ${S} during deleteFunc: ${O.err}`)):v()})):$(new Error(`Failed to create user ${S} during deleteFunc: ${k.err}`)):(console.log(`User ${S} created successfully during deleteFunc, attempting auth...`),d.auth(S,u,B=>{B.err?$(new Error(`Failed to auth after create for ${S} during deleteFunc: ${B.err}`)):v()}))})):v()})}));let m=u?d.get("private").get(i).get(s):n.gun.get(n.appname).get(e).get(i).get(s),y=Promise.resolve(),E=await new Promise(v=>m.once(v)),b=null;try{typeof E=="string"?b=JSON.parse(E):b=E}catch(v){console.warn("[deleteFunc] Could not JSON parse data for deletion check:",E,v),b=null}if(b&&n.isHologram(b))try{let v=b.soul;if(n.parseSoulPath(v)){let S=n.getNodeRef(v),x=`${n.appname}/${e}/${i}/${s}`;y=new Promise(k=>{S.get("_holograms").get(x).put(null,B=>{B.err&&console.warn(`[deleteFunc] Error removing hologram ${x} from target ${v}:`,B.err),console.log(`Removed hologram ${x} from target ${v}'s _holograms list`),k()})})}else console.warn(`Could not parse target soul ${v} for hologram tracking removal.`)}catch(v){console.warn(`Error initiating hologram reference removal from target ${b.soul}:`,v),y=Promise.resolve()}return await y,new Promise((v,$)=>{m.put(null,S=>{S.err?$(new Error(S.err)):v(!0)})})}catch(d){throw console.error("Error in delete:",d),d}}async function ym(n,e,i,s=null){if(!e||!i)return console.error("deleteAll: Missing holon or lens parameter"),!1;try{let u=null;return s&&(u=n.gun.user(),await new Promise((d,m)=>{let y=n.userName(e);u.auth(y,s,E=>{E.err?(console.log(`Initial auth failed for ${y} during deleteAll, attempting to create...`),u.create(y,s,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${y} already existed or being created during deleteAll, re-attempting auth with fresh user object.`),n.gun.user().auth(y,s,v=>{v.err&&console.log(`Auth still failed after user existed check: ${v.err}. Resolving anyway for test operations.`),d()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),d()):(console.log(`User ${y} created successfully during deleteAll, attempting auth...`),u.auth(y,s,w=>{w.err?m(new Error(`Failed to auth after create for ${y} during deleteAll: ${w.err}`)):d()}))})):d()})})),new Promise(d=>{let m=[];(s?u.get("private").get(i):n.gun.get(n.appname).get(e).get(i)).once(async E=>{if(!E){d(!0);return}let b=Object.keys(E).filter(w=>w!=="_");for(let w of b)try{let v=s?u.get("private").get(i).get(w):n.gun.get(n.appname).get(e).get(i).get(w),$=await new Promise(k=>v.once(k)),S=null;try{typeof $=="string"?S=JSON.parse($):S=$}catch(k){console.warn("[deleteAll] Could not JSON parse data for deletion check:",$,k),S=null}if(S&&n.isHologram(S))try{let k=S.soul;if(n.parseSoulPath(k)){let O=n.getNodeRef(k),I=`${n.appname}/${e}/${i}/${w}`;await new Promise(U=>{O.get("_holograms").get(I).put(null,q=>{q.err&&console.warn(`[deleteAll] Error removing hologram ${I} from target ${k}:`,q.err),console.log(`Removed hologram ${I} from target ${k}'s _holograms list`),U()})})}else console.warn(`Could not parse target soul ${k} for hologram tracking removal during deleteAll.`)}catch(k){console.warn(`Error removing hologram reference from target ${S.soul} during deleteAll:`,k)}m.push(new Promise(k=>{(s?u.get("private").get(i).get(w):n.gun.get(n.appname).get(e).get(i).get(w)).put(null,O=>{k(!!O.ok)})}))}catch(v){console.warn(`Error processing key ${w} during deleteAll:`,v),m.push(new Promise($=>{(s?u.get("private").get(i).get(w):n.gun.get(n.appname).get(e).get(i).get(w)).put(null,x=>{$(!!x.ok)})}))}Promise.all(m).then(w=>{let v=w.every($=>$===!0);d(v)}).catch(w=>{console.error("Error in deleteAll:",w),d(!1)})})})}catch(u){return console.error("Error in deleteAll:",u),!1}}async function wm(n,e,i,s){if(!e||!i||!s)throw new Error("putNode: Missing required parameters");return new Promise((u,d)=>{try{let m=s.value&&n.isHologram(s.value);n.gun.get(n.appname).get(e).get(i).get("value").put(s.value,y=>{if(y.err)d(new Error(y.err));else{if(m)try{if(n.parseSoulPath(s.value.soul)){let b=n.getNodeRef(s.value.soul),w=`${n.appname}/${e}/${i}/value`;b.get("_holograms").get(w).put(!0),console.log(`Data (ID: ${s.id}) being put is a hologram. Added its instance soul ${w} to its target ${s.value.soul}'s _holograms set.`)}else console.warn(`Data (ID: ${s.id}) being put is a hologram, but could not parse its soul ${s.value.soul} for tracking.`)}catch(E){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${s.id}, soul: ${s.value.soul}):`,E)}u(!0)}})}catch(m){d(m)}})}async function _m(n,e,i,s){if(!e||!i||!s)throw new Error("getNode: Missing required parameters");return new Promise((u,d)=>{try{n.gun.get(n.appname).get(e).get(i).get(s).once(m=>{if(!m){u(null);return}u(m)})}catch(m){d(m)}})}function qu(n,e){if(typeof e!="string"||!e)throw new Error("getNodeRef: Invalid soul parameter");let i=e.split("/").filter(u=>{if(!u.trim()||/[<>:"/\\|?*]/.test(u))throw new Error("getNodeRef: Invalid path segment");return u.trim()});if(i.length===0)throw new Error("getNodeRef: Invalid soul format");let s=n.gun.get(n.appname);return i.forEach(u=>{s=s.get(u)}),s}async function vm(n,e){if(!e)throw new Error("getNodeBySoul: Missing soul parameter");return console.log(`getNodeBySoul: Accessing soul ${e}`),new Promise((i,s)=>{try{qu(n,e).once(d=>{if(console.log("getNodeBySoul: Retrieved data:",d),!d){i(null);return}i(d)})}catch(u){console.error("getNodeBySoul error:",u),s(u)}})}async function bm(n,e,i,s){if(!e||!i||!s)throw new Error("deleteNode: Missing required parameters");try{let u=n.gun.get(n.appname).get(e).get(i).get(s),d=Promise.resolve(),m=await new Promise(b=>u.once(b)),y=null;try{typeof m=="string"?y=JSON.parse(m):y=m}catch(b){console.warn("[deleteNode] Could not JSON parse data for deletion check:",m,b),y=null}if(y&&n.isHologram(y))try{let b=y.soul;if(n.parseSoulPath(b)){let v=n.getNodeRef(b),$=`${n.appname}/${e}/${i}/value`;d=new Promise(S=>{v.get("_holograms").get($).put(null,x=>{x.err&&console.warn(`[deleteNode] Error removing hologram ${$} from target ${b}:`,x.err),console.log(`Removed hologram ${$} from target ${b}'s _holograms list`),S()})})}else console.warn(`Could not parse target soul ${b} for hologram tracking removal during deleteNode.`)}catch(b){console.warn(`Error initiating hologram reference removal from target ${y.soul} during deleteNode:`,b),d=Promise.resolve()}return await d,new Promise((b,w)=>{u.put(null,v=>{v.err?w(new Error(v.err)):b(!0)})})}catch(u){throw console.error("Error in deleteNode:",u),u}}async function Em(n,e,i,s=null){try{if(!e||!i)throw new Error("Table name and data are required");let u=null;return s&&(u=n.gun.user(),await new Promise((d,m)=>{let y=n.userName(e);u.auth(y,s,E=>{E.err?(console.log(`Initial auth failed for ${y}, attempting to create...`),u.create(y,s,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${y} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(y,s,v=>{v.err&&console.log(`Auth still failed after user existed check: ${v.err}. Resolving anyway for test operations.`),d()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),d()):(console.log(`User ${y} created successfully, attempting auth...`),u.auth(y,s,w=>{w.err?m(new Error(`Failed to auth after create for ${y}: ${w.err}`)):d()}))})):d()})})),new Promise((d,m)=>{try{let y={...i};y._meta!==void 0&&delete y._meta;let E=JSON.stringify(y),b=n.isHologram(y),w=s?u.get("private").get(e):n.gun.get(n.appname).get(e);i.id?w.get(i.id).put(E,$=>{if($.err)m(new Error($.err));else{if(b)try{if(n.parseSoulPath(y.soul)){let x=n.getNodeRef(y.soul),k=`${n.appname}/${e}/${i.id}`;x.get("_holograms").get(k).put(!0),console.log(`Data (ID: ${i.id}) being put is a hologram. Added its instance soul ${k} to its target ${y.soul}'s _holograms set.`)}else console.warn(`Data (ID: ${i.id}) being put is a hologram, but could not parse its soul ${y.soul} for tracking.`)}catch(S){console.warn(`Error updating _holograms set for the target of the data being put (data ID: ${i.id}, soul: ${y.soul}):`,S)}d()}}):w.put(E,v=>{if(v.err)m(new Error(v.err));else{if(b)try{if(n.parseSoulPath(y.soul)){let S=n.getNodeRef(y.soul),x=`${n.appname}/${e}`;S.get("_holograms").get(x).put(!0),console.log(`Data being put is a hologram. Added its instance soul ${x} to its target ${y.soul}'s _holograms set.`)}else console.warn(`Data being put is a hologram, but could not parse its soul ${y.soul} for tracking.`)}catch($){console.warn(`Error updating _holograms set for the target of the data being put (soul: ${y.soul}):`,$)}d()}})}catch(y){m(y)}})}catch(u){throw console.error("Error in putGlobal:",u),u}}async function $m(n,e,i,s=null){try{let u=null;return s&&(u=n.gun.user(),await new Promise((d,m)=>{let y=n.userName(e);u.auth(y,s,E=>{E.err?(console.log(`Initial auth failed for ${y}, attempting to create...`),u.create(y,s,b=>{b.err?b.err.includes("already created")||b.err.includes("already being created")?(console.log(`User ${y} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(y,s,v=>{v.err&&console.log(`Auth still failed after user existed check: ${v.err}. Resolving anyway for test operations.`),d()})):(console.log(`Create user error (resolving anyway for operations): ${b.err}`),d()):(console.log(`User ${y} created successfully, attempting auth...`),u.auth(y,s,w=>{w.err?m(new Error(`Failed to auth after create for ${y}: ${w.err}`)):d()}))})):d()})})),new Promise(async d=>{let m=async b=>{if(!b){d(null);return}try{let w=await n.parse(b);if(!w){d(null);return}if(n.isHologram(w)){let v=await n.resolveHologram(w,{followHolograms:!0});if(v===null){console.log(`Hologram at ${e}/${i} points to non-existent data. Deleting hologram.`);try{await n.deleteGlobal(e,i,s)}catch($){console.error(`Failed to delete invalid global hologram at ${e}/${i}:`,$)}d(null);return}if(v!==w){d(v);return}}d(w)}catch(w){console.error("Error parsing data in getGlobal:",w),d(null)}};(s?u.get("private").get(e):n.gun.get(n.appname).get(e)).get(i).once(m)})}catch(u){return console.error("Error in getGlobal:",u),null}}async function Pm(n,e,i=null){if(!e)throw new Error("getAllGlobal: Missing table name parameter");try{let s=null;return i&&(s=n.gun.user(),await new Promise((u,d)=>{let m=n.userName(e);s.auth(m,i,y=>{y.err?(console.log(`Initial auth failed for ${m}, attempting to create...`),s.create(m,i,E=>{E.err?E.err.includes("already created")||E.err.includes("already being created")?(console.log(`User ${m} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(m,i,w=>{w.err&&console.log(`Auth still failed after user existed check: ${w.err}. Resolving anyway for test operations.`),u()})):(console.log(`Create user error (resolving anyway for operations): ${E.err}`),u()):(console.log(`User ${m} created successfully, attempting auth...`),s.auth(m,i,b=>{b.err?d(new Error(`Failed to auth after create for ${m}: ${b.err}`)):u()}))})):u()})})),new Promise(u=>{let d=[],m=!1,y=setTimeout(()=>{m||(m=!0,u(d))},5e3),E=async w=>{if(!w){clearTimeout(y),m=!0,u([]);return}let $=Object.keys(w).filter(S=>S!=="_").map(S=>new Promise(async x=>{let k=i?s.get("private").get(e).get(S):n.gun.get(n.appname).get(e).get(S),B=await new Promise(O=>{k.once(O)});if(B)try{let O=await n.parse(B);if(O)if(n.isHologram(O)){let I=await n.resolveHologram(O,{followHolograms:!0});if(I===null){console.log(`Hologram at ${e}/${S} points to non-existent data. Deleting hologram.`);try{await n.deleteGlobal(e,S,i)}catch(U){console.error(`Failed to delete invalid global hologram at ${e}/${S}:`,U)}x();return}I!==O?d.push(I):d.push(O)}else d.push(O)}catch(O){console.error("Error parsing data:",O)}x()}));await Promise.all($),clearTimeout(y),m||(m=!0,u(d))};(i?s.get("private").get(e):n.gun.get(n.appname).get(e)).once(E)})}catch(s){return console.error("Error in getAllGlobal:",s),[]}}async function km(n,e,i,s=null){if(!e||!i)throw new Error("deleteGlobal: Missing required parameters");try{let u=null;s&&(u=n.gun.user(),await new Promise((w,v)=>{let $=n.userName(e);u.auth($,s,S=>{S.err?(console.log(`Initial auth failed for ${$}, attempting to create...`),u.create($,s,x=>{x.err?x.err.includes("already created")||x.err.includes("already being created")?(console.log(`User ${$} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth($,s,B=>{B.err&&console.log(`Auth still failed after user existed check: ${B.err}. Resolving anyway for test operations.`),w()})):(console.log(`Create user error (resolving anyway for operations): ${x.err}`),w()):(console.log(`User ${$} created successfully, attempting auth...`),u.auth($,s,k=>{k.err?v(new Error(`Failed to auth after create for ${$}: ${k.err}`)):w()}))})):w()})}));let d=s?u.get("private").get(e).get(i):n.gun.get(n.appname).get(e).get(i),m=Promise.resolve(),y=await new Promise(w=>d.once(w)),E=null;try{typeof y=="string"?E=JSON.parse(y):E=y}catch(w){console.warn("[deleteGlobal] Could not JSON parse data for deletion check:",y,w),E=null}if(E&&n.isHologram(E))try{let w=E.soul;if(n.parseSoulPath(w)){let $=n.getNodeRef(w),S=`${n.appname}/${e}/${i}`;m=new Promise(x=>{$.get("_holograms").get(S).put(null,k=>{k.err&&console.warn(`[deleteGlobal] Error removing hologram ${S} from target ${w}:`,k.err),console.log(`Removed hologram ${S} from target ${w}'s _holograms list`),x()})})}else console.warn(`Could not parse target soul ${w} for hologram tracking removal during deleteGlobal.`)}catch(w){console.warn(`Error initiating hologram reference removal from target ${E.soul} during deleteGlobal:`,w),m=Promise.resolve()}return await m,new Promise((w,v)=>{d.put(null,$=>{$.err?(console.error("deleteGlobal - Deletion error:",$.err),v(new Error($.err))):w(!0)})})}catch(u){throw console.error("Error in deleteGlobal:",u),u}}async function Cm(n,e,i=null){if(!e)throw new Error("deleteAllGlobal: Missing table name parameter");try{let s=null;return i&&(s=n.gun.user(),await new Promise((u,d)=>{let m=n.userName(e);s.auth(m,i,y=>{y.err?(console.log(`Initial auth failed for ${m}, attempting to create...`),s.create(m,i,E=>{E.err?E.err.includes("already created")||E.err.includes("already being created")?(console.log(`User ${m} already existed or being created, re-attempting auth with fresh user object.`),n.gun.user().auth(m,i,w=>{w.err&&console.log(`Auth still failed after user existed check: ${w.err}. Resolving anyway for test cleanup.`),u()})):(console.log(`Create user error (resolving anyway for cleanup): ${E.err}`),u()):(console.log(`User ${m} created successfully, attempting auth...`),s.auth(m,i,b=>{b.err?d(new Error(`Failed to auth after create for ${m}: ${b.err}`)):u()}))})):u()})})),new Promise((u,d)=>{try{let m=new Set,y=setTimeout(()=>{m.size===0&&u(!0)},5e3),E=i?s.get("private").get(e):n.gun.get(n.appname).get(e);E.once(async b=>{if(!b){clearTimeout(y),u(!0);return}let w=Object.keys(b).filter($=>$!=="_");for(let $ of w)try{let S=i?s.get("private").get(e).get($):n.gun.get(n.appname).get(e).get($),x=await new Promise(O=>S.once(O)),k=null;try{typeof x=="string"?k=JSON.parse(x):k=x}catch(O){console.warn("[deleteAllGlobal] Could not JSON parse data for deletion check:",x,O),k=null}if(k&&n.isHologram(k))try{let O=k.soul;if(n.parseSoulPath(O)){let U=n.getNodeRef(O),q=`${n.appname}/${e}/${$}`;await new Promise(V=>{U.get("_holograms").get(q).put(null,z=>{z.err&&console.warn(`[deleteAllGlobal] Error removing hologram ${q} from target ${O}:`,z.err),console.log(`Removed hologram ${q} from target ${O}'s _holograms list`),V()})})}else console.warn(`Could not parse target soul ${O} for hologram tracking removal during deleteAllGlobal.`)}catch(O){console.warn(`Error removing hologram reference from target ${k.soul} during deleteAllGlobal:`,O)}m.add($)}catch(S){console.warn(`Error processing key ${$} during deleteAllGlobal:`,S),m.add($)}let v=w.map($=>new Promise((S,x)=>{(i?s.get("private").get(e).get($):n.gun.get(n.appname).get(e).get($)).put(null,B=>{B.err?(console.error(`Failed to delete ${$}:`,B.err),x(new Error(B.err))):S()})}));try{await Promise.all(v),E.put(null),clearTimeout(y),u(!0)}catch($){d($)}})}catch(m){d(m)}})}catch(s){throw console.error("Error in deleteAllGlobal:",s),s}}function Sm(n,e,i,s){if(ha(s))return console.warn("createHologram called with data that is already a hologram. Reusing existing soul:",s.soul),{id:s.id,soul:s.soul};if(!e||!i||!s||!s.id)throw new Error("createHologram: Missing required parameters for non-hologram data");let u=`${n.appname}/${e}/${i}/${s.id}`;return{id:s.id,soul:u}}function Uu(n){if(typeof n!="string")return null;let e=n.split("/");if(e.length<4)return null;let i=e.slice(3).join("/");return{appname:e[0],holon:e[1],lens:e[2],key:i}}function ha(n){return!n||typeof n!="object"?!1:!!(n.id&&typeof n.soul=="string"&&n.soul.length>0&&n.soul.includes("/"))}async function Dm(n,e,i={}){if(!ha(e))return e;let{followHolograms:s=!0,visited:u=new Set}=i;if(e.soul&&u.has(e.soul))throw console.warn(`!!! CIRCULAR hologram detected for soul: ${e.soul}. Returning original hologram.`),new Error(`CIRCULAR_REFERENCE:${e.soul}`);try{if(e.soul){let d=Uu(e.soul);if(!d)return console.warn(`Invalid soul format: ${e.soul}`),e;let m=new Set(u);m.add(e.soul),console.log(`Resolving hologram with soul: ${e.soul}`);let y=await n.get(d.holon,d.lens,d.key,null,{resolveHolograms:s,visited:m});return console.log("### resolveHologram received originalData:",y),y?(console.log(`### Returning RESOLVED data for soul: ${e.soul}`),{...y,_meta:{...y._meta||{},resolvedFromHologram:!0,hologramSoul:e.soul}}):(console.warn(`!!! Original data NOT FOUND for soul: ${e.soul}. Returning null.`),null)}else return console.warn("!!! resolveHologram called with object missing soul:",e),e}catch(d){return console.error(`!!! Error resolving hologram: ${d.message}`,d),e}}async function xm(n,e,i,s,u=15,d=null){let m=e,y=TA(m),E=[];for(;y>0&&u>0;)try{let b=await n.compute(m,i,s,d);b&&E.push(b),m=OA(m,y-1),y--,u--}catch(b){console.error("Error in compute hierarchy:",b);break}return E}async function Rm(n,e,i,s,u=null){if(!e||!i)throw new Error("compute: Missing required parameters");if(typeof s=="string"&&(s={operation:s}),!s?.operation)throw new Error("compute: Missing required parameters");let d;try{d=TA(e)}catch{throw new Error("compute: Invalid holon format")}if(d<1||d>15)throw new Error("compute: Invalid holon resolution (must be between 1 and 15)");let{operation:m,fields:y=[],targetField:E,depth:b,maxDepth:w}=s;if(b!==void 0&&b<0)throw new Error("compute: Invalid depth parameter");if(w!==void 0&&(w<1||w>15))throw new Error("compute: Invalid maxDepth parameter (must be between 1 and 15)");let v=["summarize","aggregate","concatenate"];if(!v.includes(m))throw new Error(`compute: Invalid operation (must be one of ${v.join(", ")})`);let $=OA(e,d-1),S=ic($,d),k=(await Promise.all(S.map(B=>n.getAll(B,i,u)))).flat().filter(Boolean);if(k.length>0)try{let B;switch(m){case"summarize":let O=y.length>0?k.map(I=>y.map(U=>I[U]).filter(Boolean).join(`
|
|
29
29
|
`)).join(`
|
|
30
30
|
`):JSON.stringify(k);B=await n.summarize(O);break;case"aggregate":B=y.reduce((I,U)=>(I[U]=k.reduce((q,V)=>q+(Number(V[U])||0),0),I),{});break;case"concatenate":B=y.reduce((I,U)=>(I[U]=k.reduce((q,V)=>{let z=V[U];return Array.isArray(z)?[...q,...z]:z?[...q,z]:q},[]),I[U]=Array.from(new Set(I[U])),I),{});break}if(B){let I={id:`${$}_${m}`,timestamp:Date.now()};return E?I[E]=B:typeof B=="object"?Object.assign(I,B):I.value=B,await n.put($,i,I,u),I}}catch(B){throw console.warn("Error in compute operation:",B),B}return null}async function Tm(n,e){if(!n.openai)return"OpenAI not initialized, please specify the API key in the constructor.";try{return(await n.openai.chat.completions.create({model:"gpt-4",messages:[{role:"system",content:"You are a helpful assistant that summarizes text concisely while preserving key information. Keep summaries clear and focused."},{role:"user",content:e}],temperature:.7,max_tokens:500})).choices[0].message.content.trim()}catch(i){throw console.error("Error in summarize:",i),new Error("Failed to generate summary")}}async function Om(n,e,i,s,u=15){await n.put(e,i,s);let d=TA(e);if(d===0||u<=0)return s;let m=OA(e,d-1),y=n.createHologram(e,i,s);return await n.put(m,i,y,null,{autoPropagate:!1}),d>1&&u>1?n.upcast(m,i,y,u-1):s}async function Im(n,e,i){(typeof n.getCellInfo!="function"||!n.db||typeof n.db.put!="function")&&console.warn("updateParent requires getCellInfo and db.put methods on the HoloSphere instance.");try{let s=await n.getCellInfo(e),u=TA(e),d=OA(e,u-1),m=await n.getCellInfo(d);m.wisdom[e]=i;let y=await n.summarize(Object.values(m.wisdom).join(`
|
|
31
|
-
`));return m.summary=y,await n.db.put("cell",m),m}catch(s){throw console.error("Error during updateParent:",s),s}}async function Bm(n,e,i){return Ya(n,e,i)}function Mm(n,e){let i=[],s=Ya(n,e,14);i.push(s);for(let u=13;u>=0;u--)i.push(OA(s,u));return i}function jm(n){let e=[],i=TA(n);for(let s=i;s>=0;s--)e.push(OA(n,s));return e}async function Nm(n,e,i,s){if(!e||!i)throw new Error("subscribe: Missing holon or lens parameters:",e,i);if(!s||typeof s!="function")throw new Error("subscribe: Callback must be a function");let u=n.generateId();try{let d=n.gun.get(n.appname).get(e).get(i).map(),m=d.on(async(y,E)=>{if(n.subscriptions[u]&&y)try{let b=await n.parse(y);if(b&&n.isHologram(b)){let w=await n.resolveHologram(b,{followHolograms:!0});w!==b&&(b=w)}n.subscriptions[u]&&s(b,E)}catch(b){console.error("Error processing subscribed data:",b)}});return n.subscriptions[u]={id:u,holon:e,lens:i,callback:s,mapChain:d,gunListener:m},{unsubscribe:async()=>{let y=n.subscriptions[u];if(y)try{y.mapChain&&y.mapChain.off(),delete n.subscriptions[u]}catch(E){console.error(`Error during unsubscribe logic for ${u}:`,E)}}}}catch(d){throw console.error("Error creating subscription:",d),d}}function Fm(n,e){if(!(!e||!e.holon||!e.lens))try{Object.values(n.subscriptions).forEach(i=>{if(i.holon===e.holon&&i.lens===e.lens)try{i.callback&&typeof i.callback=="function"&&i.callback(e)}catch(s){console.warn("Error in subscription callback:",s)}})}catch(i){console.warn("Error notifying subscribers:",i)}}function Qm(){return Date.now().toString(10)+Math.random().toString(2)}async function Lm(n){try{if(n.gun){let e=Object.keys(n.subscriptions);for(let i of e)try{let s=n.subscriptions[i];s&&s.mapChain&&s.mapChain.off()}catch(s){console.warn(`Error cleaning up subscription ${i}:`,s)}if(n.subscriptions={},n.clearSchemaCache(),n.gun.back)try{let i=n.gun.back("opt.mesh");if(i){if(i.hear)try{let s=Object.keys(i.hear);for(let u of s)Array.isArray(i.hear[u])&&(i.hear[u]=[]);typeof i.hear!="function"&&(i.hear={})}catch(s){console.warn("Error cleaning up Gun mesh hear:",s)}if(i.way)try{Object.values(i.way).forEach(s=>{s&&s.wire&&s.wire.close&&s.wire.close()})}catch(s){console.warn("Error closing mesh sockets:",s)}i.opt&&i.opt.peers&&(i.opt.peers={})}if(n.gun.back("opt.web"))try{let s=n.gun.back("opt.web");s&&s.close&&s.close()}catch(s){console.warn("Error closing web server:",s)}}catch(i){console.warn("Error accessing Gun mesh:",i)}try{n.gun.off()}catch(i){console.warn("Error turning off Gun listeners:",i)}await new Promise(i=>setTimeout(i,100))}console.log("HoloSphere instance closed successfully")}catch(e){console.error("Error closing HoloSphere instance:",e)}}function qm(n,e){return e?`${n.appname}:${e}`:null}var Um="1.1.
|
|
31
|
+
`));return m.summary=y,await n.db.put("cell",m),m}catch(s){throw console.error("Error during updateParent:",s),s}}async function Bm(n,e,i){return Ya(n,e,i)}function Mm(n,e){let i=[],s=Ya(n,e,14);i.push(s);for(let u=13;u>=0;u--)i.push(OA(s,u));return i}function jm(n){let e=[],i=TA(n);for(let s=i;s>=0;s--)e.push(OA(n,s));return e}async function Nm(n,e,i,s){if(!e||!i)throw new Error("subscribe: Missing holon or lens parameters:",e,i);if(!s||typeof s!="function")throw new Error("subscribe: Callback must be a function");let u=n.generateId();try{let d=n.gun.get(n.appname).get(e).get(i).map(),m=d.on(async(y,E)=>{if(n.subscriptions[u]&&y)try{let b=await n.parse(y);if(b&&n.isHologram(b)){let w=await n.resolveHologram(b,{followHolograms:!0});w!==b&&(b=w)}n.subscriptions[u]&&s(b,E)}catch(b){console.error("Error processing subscribed data:",b)}});return n.subscriptions[u]={id:u,holon:e,lens:i,callback:s,mapChain:d,gunListener:m},{unsubscribe:async()=>{let y=n.subscriptions[u];if(y)try{y.mapChain&&y.mapChain.off(),delete n.subscriptions[u]}catch(E){console.error(`Error during unsubscribe logic for ${u}:`,E)}}}}catch(d){throw console.error("Error creating subscription:",d),d}}function Fm(n,e){if(!(!e||!e.holon||!e.lens))try{Object.values(n.subscriptions).forEach(i=>{if(i.holon===e.holon&&i.lens===e.lens)try{i.callback&&typeof i.callback=="function"&&i.callback(e)}catch(s){console.warn("Error in subscription callback:",s)}})}catch(i){console.warn("Error notifying subscribers:",i)}}function Qm(){return Date.now().toString(10)+Math.random().toString(2)}async function Lm(n){try{if(n.gun){let e=Object.keys(n.subscriptions);for(let i of e)try{let s=n.subscriptions[i];s&&s.mapChain&&s.mapChain.off()}catch(s){console.warn(`Error cleaning up subscription ${i}:`,s)}if(n.subscriptions={},n.clearSchemaCache(),n.gun.back)try{let i=n.gun.back("opt.mesh");if(i){if(i.hear)try{let s=Object.keys(i.hear);for(let u of s)Array.isArray(i.hear[u])&&(i.hear[u]=[]);typeof i.hear!="function"&&(i.hear={})}catch(s){console.warn("Error cleaning up Gun mesh hear:",s)}if(i.way)try{Object.values(i.way).forEach(s=>{s&&s.wire&&s.wire.close&&s.wire.close()})}catch(s){console.warn("Error closing mesh sockets:",s)}i.opt&&i.opt.peers&&(i.opt.peers={})}if(n.gun.back("opt.web"))try{let s=n.gun.back("opt.web");s&&s.close&&s.close()}catch(s){console.warn("Error closing web server:",s)}}catch(i){console.warn("Error accessing Gun mesh:",i)}try{n.gun.off()}catch(i){console.warn("Error turning off Gun listeners:",i)}await new Promise(i=>setTimeout(i,100))}console.log("HoloSphere instance closed successfully")}catch(e){console.error("Error closing HoloSphere instance:",e)}}function qm(n,e){return e?`${n.appname}:${e}`:null}var Um="1.1.15",Gu=class{constructor(e,i=!1,s=null,u={}){console.log("HoloSphere v"+Um),this.appname=e,this.strict=i,this.validator=new Hm.default({allErrors:!0,strict:!1,validateSchema:!0});let m={...{peers:["https://gun.holons.io/gun","https://59.src.eco/gun"],axe:!1},...u};console.log("Initializing Gun with options:",m),this.gun=(0,Gm.default)(m),s!=null&&(this.openai=new Yc({apiKey:s})),this.subscriptions={},this.schemaCache=new Map}getGun(){return this.gun}async setSchema(e,i){return fm(this,e,i)}async getSchema(e,i={}){return cm(this,e,i)}clearSchemaCache(e=null){return dm(this,e)}async put(e,i,s,u=null,d={}){return hm(this,e,i,s,u,d)}async get(e,i,s,u=null,d={}){return Lu(this,e,i,s,u,d)}async getAll(e,i,s=null){return pm(this,e,i,s)}async parse(e){return mm(this,e)}async delete(e,i,s,u=null){return gm(this,e,i,s,u)}async deleteAll(e,i,s=null){return ym(this,e,i,s)}async putNode(e,i,s){return wm(this,e,i,s)}async getNode(e,i,s){return _m(this,e,i,s)}getNodeRef(e){return qu(this,e)}async getNodeBySoul(e){return vm(this,e)}async deleteNode(e,i,s){return bm(this,e,i,s)}async putGlobal(e,i,s=null){return Em(this,e,i,s)}async getGlobal(e,i,s=null){return $m(this,e,i,s)}async getAllGlobal(e,i=null){return Pm(this,e,i)}async deleteGlobal(e,i,s=null){return km(this,e,i,s)}async deleteAllGlobal(e,i=null){return Cm(this,e,i)}createHologram(e,i,s){return Sm(this,e,i,s)}parseSoulPath(e){return Uu(e)}isHologram(e){return ha(e)}async resolveHologram(e,i={}){return Dm(this,e,i)}async computeHierarchy(e,i,s,u=15,d=null){return xm(this,e,i,s,u,d)}async compute(e,i,s,u=null){return Rm(this,e,i,s,u)}async summarize(e){return Tm(this,e)}async upcast(e,i,s,u=15){return Om(this,e,i,s,u)}async updateParent(e,i){return Im(this,e,i)}async propagate(e,i,s,u={}){return sm(this,e,i,s,u)}async getHolon(e,i,s){return Bm(e,i,s)}getScalespace(e,i){return Mm(e,i)}getHolonScalespace(e){return jm(e)}async subscribe(e,i,s){return Nm(this,e,i,s)}notifySubscribers(e){return Fm(this,e)}generateId(){return Qm()}async federate(e,i,s=null,u=null,d=!0,m={}){return tm(this,e,i,s,u,d,m)}async subscribeFederation(e,i,s,u={}){return Am(this,e,i,s,u)}async getFederation(e,i=null){return Rn(this,e,i)}async getFederatedConfig(e,i,s=null){return rm(this,e,i,s)}async unfederate(e,i,s,u=null){return await nm(this,e,i,s,u)}async removeNotify(e,i,s=null){console.log(`HoloSphere.removeNotify called: ${e}, ${i}`);try{let u=await im(this,e,i,s);return console.log(`HoloSphere.removeNotify completed successfully: ${u}`),u}catch(u){throw console.error("HoloSphere.removeNotify failed:",u),u}}async getFederated(e,i,s={}){return om(this,e,i,s)}async federateMessage(e,i,s,u,d="generic"){return am(this,e,i,s,u,d)}async getFederatedMessages(e,i){return Qu(this,e,i)}async updateFederatedMessages(e,i,s){return lm(this,e,i,s)}async resetFederation(e,i=null){return um(this,e,i)}async close(){return Lm(this)}userName(e){return qm(this,e)}getVersion(){return Um}},Q8=Gu;return g1(L8);})();
|
|
32
32
|
/**
|
|
33
33
|
* @module holosphere
|
|
34
34
|
* @version 1.1.12
|
|
@@ -36,3 +36,4 @@ https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
|
|
|
36
36
|
* @author Roberto Valenti
|
|
37
37
|
* @license GPL-3.0-or-later
|
|
38
38
|
*/
|
|
39
|
+
if (typeof window !== 'undefined') { window.HoloSphere = HoloSphere.default || HoloSphere; } if (typeof global !== 'undefined') { global.HoloSphere = HoloSphere.default || HoloSphere; }
|