@devvit/public-api 0.10.21-next-2024-05-20-724913735.0 → 0.10.21-next-2024-05-20-31c943973.0

Sign up to get free protection for your applications and to get access to all the features.
package/public-api.min.js CHANGED
@@ -1,6 +1,6 @@
1
1
  var LP=Object.create;var ym=Object.defineProperty;var DP=Object.getOwnPropertyDescriptor;var _P=Object.getOwnPropertyNames;var NP=Object.getPrototypeOf,qP=Object.prototype.hasOwnProperty;var h=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var HP=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of _P(e))!qP.call(r,n)&&n!==t&&ym(r,n,{get:()=>e[n],enumerable:!(i=DP(e,n))||i.enumerable});return r};var kn=(r,e,t)=>(t=r!=null?LP(NP(r)):{},HP(e||!r||!r.__esModule?ym(t,"default",{value:r,enumerable:!0}):t,r));var dl=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var s=(r,e,t)=>(dl(r,e,"read from private field"),t?t.call(r):e.get(r)),l=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},d=(r,e,t,i)=>(dl(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t);var b=(r,e,t)=>(dl(r,e,"access private method"),t);var ne=h((uF,bm)=>{bm.exports=function(r){try{return!!r()}catch{return!0}}});var ia=h((cF,Pm)=>{var jP=ne();Pm.exports=!jP(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var J=h((mF,Cm)=>{var km=ia(),Sm=Function.prototype,ll=Sm.call,WP=km&&Sm.bind.bind(ll,ll);Cm.exports=km?WP:function(r){return function(){return ll.apply(r,arguments)}}});var wm=h((pF,Im)=>{var GP=Math.ceil,zP=Math.floor;Im.exports=Math.trunc||function(e){var t=+e;return(t>0?zP:GP)(t)}});var na=h((gF,Am)=>{var VP=wm();Am.exports=function(r){var e=+r;return e!==e||e===0?0:VP(e)}});var ce=h((fF,xm)=>{var sa=function(r){return r&&r.Math==Math&&r};xm.exports=sa(typeof globalThis=="object"&&globalThis)||sa(typeof window=="object"&&window)||sa(typeof self=="object"&&self)||sa(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var Cr=h((hF,Tm)=>{Tm.exports=!1});var oa=h((vF,Rm)=>{var Em=ce(),JP=Object.defineProperty;Rm.exports=function(r,e){try{JP(Em,r,{value:e,configurable:!0,writable:!0})}catch{Em[r]=e}return e}});var aa=h((yF,Om)=>{var $P=ce(),KP=oa(),Fm="__core-js_shared__",XP=$P[Fm]||KP(Fm,{});Om.exports=XP});var ul=h((bF,Um)=>{var ZP=Cr(),Mm=aa();(Um.exports=function(r,e){return Mm[r]||(Mm[r]=e!==void 0?e:{})})("versions",[]).push({version:"3.27.2",mode:ZP?"pure":"global",copyright:"\xA9 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.27.2/LICENSE",source:"https://github.com/zloirock/core-js"})});var da=h((PF,Bm)=>{Bm.exports=function(r){return r==null}});var la=h((kF,Lm)=>{var YP=da(),QP=TypeError;Lm.exports=function(r){if(YP(r))throw QP("Can't call method on "+r);return r}});var Sn=h((SF,Dm)=>{var ek=la(),tk=Object;Dm.exports=function(r){return tk(ek(r))}});var ke=h((CF,_m)=>{var rk=J(),ik=Sn(),nk=rk({}.hasOwnProperty);_m.exports=Object.hasOwn||function(e,t){return nk(ik(e),t)}});var cl=h((IF,Nm)=>{var sk=J(),ok=0,ak=Math.random(),dk=sk(1 .toString);Nm.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+dk(++ok+ak,36)}});var Hm=h((wF,qm)=>{qm.exports=typeof navigator<"u"&&String(navigator.userAgent)||""});var $m=h((AF,Jm)=>{var Vm=ce(),ml=Hm(),jm=Vm.process,Wm=Vm.Deno,Gm=jm&&jm.versions||Wm&&Wm.version,zm=Gm&&Gm.v8,_e,ua;zm&&(_e=zm.split("."),ua=_e[0]>0&&_e[0]<4?1:+(_e[0]+_e[1]));!ua&&ml&&(_e=ml.match(/Edge\/(\d+)/),(!_e||_e[1]>=74)&&(_e=ml.match(/Chrome\/(\d+)/),_e&&(ua=+_e[1])));Jm.exports=ua});var pl=h((xF,Xm)=>{var Km=$m(),lk=ne();Xm.exports=!!Object.getOwnPropertySymbols&&!lk(function(){var r=Symbol();return!String(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&Km&&Km<41})});var gl=h((TF,Zm)=>{var uk=pl();Zm.exports=uk&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Se=h((EF,Qm)=>{var ck=ce(),mk=ul(),Ym=ke(),pk=cl(),gk=pl(),fk=gl(),Ir=ck.Symbol,fl=mk("wks"),hk=fk?Ir.for||Ir:Ir&&Ir.withoutSetter||pk;Qm.exports=function(r){return Ym(fl,r)||(fl[r]=gk&&Ym(Ir,r)?Ir[r]:hk("Symbol."+r)),fl[r]}});var rp=h((RF,tp)=>{var vk=Se(),yk=vk("toStringTag"),ep={};ep[yk]="z";tp.exports=String(ep)==="[object z]"});var vl=h((FF,ip)=>{var hl=typeof document=="object"&&document.all,bk=typeof hl>"u"&&hl!==void 0;ip.exports={all:hl,IS_HTMLDDA:bk}});var $=h((OF,sp)=>{var np=vl(),Pk=np.all;sp.exports=np.IS_HTMLDDA?function(r){return typeof r=="function"||r===Pk}:function(r){return typeof r=="function"}});var ca=h((MF,ap)=>{var op=J(),kk=op({}.toString),Sk=op("".slice);ap.exports=function(r){return Sk(kk(r),8,-1)}});var Cn=h((UF,dp)=>{var Ck=rp(),Ik=$(),ma=ca(),wk=Se(),Ak=wk("toStringTag"),xk=Object,Tk=ma(function(){return arguments}())=="Arguments",Ek=function(r,e){try{return r[e]}catch{}};dp.exports=Ck?ma:function(r){var e,t,i;return r===void 0?"Undefined":r===null?"Null":typeof(t=Ek(e=xk(r),Ak))=="string"?t:Tk?ma(e):(i=ma(e))=="Object"&&Ik(e.callee)?"Arguments":i}});var In=h((BF,lp)=>{var Rk=Cn(),Fk=String;lp.exports=function(r){if(Rk(r)==="Symbol")throw TypeError("Cannot convert a Symbol value to a string");return Fk(r)}});var bl=h((LF,mp)=>{var yl=J(),Ok=na(),Mk=In(),Uk=la(),Bk=yl("".charAt),up=yl("".charCodeAt),Lk=yl("".slice),cp=function(r){return function(e,t){var i=Mk(Uk(e)),n=Ok(t),o=i.length,a,c;return n<0||n>=o?r?"":void 0:(a=up(i,n),a<55296||a>56319||n+1===o||(c=up(i,n+1))<56320||c>57343?r?Bk(i,n):a:r?Lk(i,n,n+2):(a-55296<<10)+(c-56320)+65536)}};mp.exports={codeAt:cp(!1),charAt:cp(!0)}});var fp=h((DF,gp)=>{var Dk=ce(),_k=$(),pp=Dk.WeakMap;gp.exports=_k(pp)&&/native code/.test(String(pp))});var pt=h((_F,yp)=>{var hp=$(),vp=vl(),Nk=vp.all;yp.exports=vp.IS_HTMLDDA?function(r){return typeof r=="object"?r!==null:hp(r)||r===Nk}:function(r){return typeof r=="object"?r!==null:hp(r)}});var me=h((NF,bp)=>{var qk=ne();bp.exports=!qk(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var kl=h((qF,kp)=>{var Hk=ce(),Pp=pt(),Pl=Hk.document,jk=Pp(Pl)&&Pp(Pl.createElement);kp.exports=function(r){return jk?Pl.createElement(r):{}}});var Sl=h((HF,Sp)=>{var Wk=me(),Gk=ne(),zk=kl();Sp.exports=!Wk&&!Gk(function(){return Object.defineProperty(zk("div"),"a",{get:function(){return 7}}).a!=7})});var Cl=h((jF,Cp)=>{var Vk=me(),Jk=ne();Cp.exports=Vk&&Jk(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Ve=h((WF,Ip)=>{var $k=pt(),Kk=String,Xk=TypeError;Ip.exports=function(r){if($k(r))return r;throw Xk(Kk(r)+" is not an object")}});var Ne=h((GF,wp)=>{var Zk=ia(),pa=Function.prototype.call;wp.exports=Zk?pa.bind(pa):function(){return pa.apply(pa,arguments)}});var wn=h((zF,Ap)=>{var Il=ce(),Yk=$(),Qk=function(r){return Yk(r)?r:void 0};Ap.exports=function(r,e){return arguments.length<2?Qk(Il[r]):Il[r]&&Il[r][e]}});var wl=h((VF,xp)=>{var eS=J();xp.exports=eS({}.isPrototypeOf)});var Al=h((JF,Tp)=>{var tS=wn(),rS=$(),iS=wl(),nS=gl(),sS=Object;Tp.exports=nS?function(r){return typeof r=="symbol"}:function(r){var e=tS("Symbol");return rS(e)&&iS(e.prototype,sS(r))}});var xl=h(($F,Ep)=>{var oS=String;Ep.exports=function(r){try{return oS(r)}catch{return"Object"}}});var ga=h((KF,Rp)=>{var aS=$(),dS=xl(),lS=TypeError;Rp.exports=function(r){if(aS(r))return r;throw lS(dS(r)+" is not a function")}});var fa=h((XF,Fp)=>{var uS=ga(),cS=da();Fp.exports=function(r,e){var t=r[e];return cS(t)?void 0:uS(t)}});var Mp=h((ZF,Op)=>{var Tl=Ne(),El=$(),Rl=pt(),mS=TypeError;Op.exports=function(r,e){var t,i;if(e==="string"&&El(t=r.toString)&&!Rl(i=Tl(t,r))||El(t=r.valueOf)&&!Rl(i=Tl(t,r))||e!=="string"&&El(t=r.toString)&&!Rl(i=Tl(t,r)))return i;throw mS("Can't convert object to primitive value")}});var Dp=h((YF,Lp)=>{var pS=Ne(),Up=pt(),Bp=Al(),gS=fa(),fS=Mp(),hS=Se(),vS=TypeError,yS=hS("toPrimitive");Lp.exports=function(r,e){if(!Up(r)||Bp(r))return r;var t=gS(r,yS),i;if(t){if(e===void 0&&(e="default"),i=pS(t,r,e),!Up(i)||Bp(i))return i;throw vS("Can't convert object to primitive value")}return e===void 0&&(e="number"),fS(r,e)}});var ha=h((QF,_p)=>{var bS=Dp(),PS=Al();_p.exports=function(r){var e=bS(r,"string");return PS(e)?e:e+""}});var Je=h(qp=>{var kS=me(),SS=Sl(),CS=Cl(),va=Ve(),Np=ha(),IS=TypeError,Fl=Object.defineProperty,wS=Object.getOwnPropertyDescriptor,Ol="enumerable",Ml="configurable",Ul="writable";qp.f=kS?CS?function(e,t,i){if(va(e),t=Np(t),va(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Ul in i&&!i[Ul]){var n=wS(e,t);n&&n[Ul]&&(e[t]=i.value,i={configurable:Ml in i?i[Ml]:n[Ml],enumerable:Ol in i?i[Ol]:n[Ol],writable:!1})}return Fl(e,t,i)}:Fl:function(e,t,i){if(va(e),t=Np(t),va(i),SS)try{return Fl(e,t,i)}catch{}if("get"in i||"set"in i)throw IS("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var wr=h((tO,Hp)=>{Hp.exports=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}}});var ya=h((rO,jp)=>{var AS=me(),xS=Je(),TS=wr();jp.exports=AS?function(r,e,t){return xS.f(r,e,TS(1,t))}:function(r,e,t){return r[e]=t,r}});var ba=h((iO,Gp)=>{var ES=ul(),RS=cl(),Wp=ES("keys");Gp.exports=function(r){return Wp[r]||(Wp[r]=RS(r))}});var Pa=h((nO,zp)=>{zp.exports={}});var Ar=h((sO,$p)=>{var FS=fp(),Jp=ce(),OS=pt(),MS=ya(),Bl=ke(),Ll=aa(),US=ba(),BS=Pa(),Vp="Object already initialized",Dl=Jp.TypeError,LS=Jp.WeakMap,ka,An,Sa,DS=function(r){return Sa(r)?An(r):ka(r,{})},_S=function(r){return function(e){var t;if(!OS(e)||(t=An(e)).type!==r)throw Dl("Incompatible receiver, "+r+" required");return t}};FS||Ll.state?(qe=Ll.state||(Ll.state=new LS),qe.get=qe.get,qe.has=qe.has,qe.set=qe.set,ka=function(r,e){if(qe.has(r))throw Dl(Vp);return e.facade=r,qe.set(r,e),e},An=function(r){return qe.get(r)||{}},Sa=function(r){return qe.has(r)}):(Gt=US("state"),BS[Gt]=!0,ka=function(r,e){if(Bl(r,Gt))throw Dl(Vp);return e.facade=r,MS(r,Gt,e),e},An=function(r){return Bl(r,Gt)?r[Gt]:{}},Sa=function(r){return Bl(r,Gt)});var qe,Gt;$p.exports={set:ka,get:An,has:Sa,enforce:DS,getterFor:_S}});var _l=h(Zp=>{"use strict";var Kp={}.propertyIsEnumerable,Xp=Object.getOwnPropertyDescriptor,NS=Xp&&!Kp.call({1:2},1);Zp.f=NS?function(e){var t=Xp(this,e);return!!t&&t.enumerable}:Kp});var ql=h((aO,Yp)=>{var qS=J(),HS=ne(),jS=ca(),Nl=Object,WS=qS("".split);Yp.exports=HS(function(){return!Nl("z").propertyIsEnumerable(0)})?function(r){return jS(r)=="String"?WS(r,""):Nl(r)}:Nl});var xr=h((dO,Qp)=>{var GS=ql(),zS=la();Qp.exports=function(r){return GS(zS(r))}});var Hl=h(tg=>{var VS=me(),JS=Ne(),$S=_l(),KS=wr(),XS=xr(),ZS=ha(),YS=ke(),QS=Sl(),eg=Object.getOwnPropertyDescriptor;tg.f=VS?eg:function(e,t){if(e=XS(e),t=ZS(t),QS)try{return eg(e,t)}catch{}if(YS(e,t))return KS(!JS($S.f,e,t),e[t])}});var Gl=h((uO,ig)=>{var jl=me(),eC=ke(),rg=Function.prototype,tC=jl&&Object.getOwnPropertyDescriptor,Wl=eC(rg,"name"),rC=Wl&&function(){}.name==="something",iC=Wl&&(!jl||jl&&tC(rg,"name").configurable);ig.exports={EXISTS:Wl,PROPER:rC,CONFIGURABLE:iC}});var Vl=h((cO,ng)=>{var nC=J(),sC=$(),zl=aa(),oC=nC(Function.toString);sC(zl.inspectSource)||(zl.inspectSource=function(r){return oC(r)});ng.exports=zl.inspectSource});var Kl=h((mO,ag)=>{var $l=J(),aC=ne(),dC=$(),Ca=ke(),Jl=me(),lC=Gl().CONFIGURABLE,uC=Vl(),og=Ar(),cC=og.enforce,mC=og.get,sg=String,Ia=Object.defineProperty,pC=$l("".slice),gC=$l("".replace),fC=$l([].join),hC=Jl&&!aC(function(){return Ia(function(){},"length",{value:8}).length!==8}),vC=String(String).split("String"),yC=ag.exports=function(r,e,t){pC(sg(e),0,7)==="Symbol("&&(e="["+gC(sg(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),t&&t.getter&&(e="get "+e),t&&t.setter&&(e="set "+e),(!Ca(r,"name")||lC&&r.name!==e)&&(Jl?Ia(r,"name",{value:e,configurable:!0}):r.name=e),hC&&t&&Ca(t,"arity")&&r.length!==t.arity&&Ia(r,"length",{value:t.arity});try{t&&Ca(t,"constructor")&&t.constructor?Jl&&Ia(r,"prototype",{writable:!1}):r.prototype&&(r.prototype=void 0)}catch{}var i=cC(r);return Ca(i,"source")||(i.source=fC(vC,typeof e=="string"?e:"")),r};Function.prototype.toString=yC(function(){return dC(this)&&mC(this).source||uC(this)},"toString")});var zt=h((pO,dg)=>{var bC=$(),PC=Je(),kC=Kl(),SC=oa();dg.exports=function(r,e,t,i){i||(i={});var n=i.enumerable,o=i.name!==void 0?i.name:e;if(bC(t)&&kC(t,o,i),i.global)n?r[e]=t:SC(e,t);else{try{i.unsafe?r[e]&&(n=!0):delete r[e]}catch{}n?r[e]=t:PC.f(r,e,{value:t,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return r}});var Xl=h((gO,lg)=>{var CC=na(),IC=Math.max,wC=Math.min;lg.exports=function(r,e){var t=CC(r);return t<0?IC(t+e,0):wC(t,e)}});var cg=h((fO,ug)=>{var AC=na(),xC=Math.min;ug.exports=function(r){return r>0?xC(AC(r),9007199254740991):0}});var wa=h((hO,mg)=>{var TC=cg();mg.exports=function(r){return TC(r.length)}});var fg=h((vO,gg)=>{var EC=xr(),RC=Xl(),FC=wa(),pg=function(r){return function(e,t,i){var n=EC(e),o=FC(n),a=RC(i,o),c;if(r&&t!=t){for(;o>a;)if(c=n[a++],c!=c)return!0}else for(;o>a;a++)if((r||a in n)&&n[a]===t)return r||a||0;return!r&&-1}};gg.exports={includes:pg(!0),indexOf:pg(!1)}});var Yl=h((yO,vg)=>{var OC=J(),Zl=ke(),MC=xr(),UC=fg().indexOf,BC=Pa(),hg=OC([].push);vg.exports=function(r,e){var t=MC(r),i=0,n=[],o;for(o in t)!Zl(BC,o)&&Zl(t,o)&&hg(n,o);for(;e.length>i;)Zl(t,o=e[i++])&&(~UC(n,o)||hg(n,o));return n}});var Aa=h((bO,yg)=>{yg.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Pg=h(bg=>{var LC=Yl(),DC=Aa(),_C=DC.concat("length","prototype");bg.f=Object.getOwnPropertyNames||function(e){return LC(e,_C)}});var Ql=h(kg=>{kg.f=Object.getOwnPropertySymbols});var Cg=h((SO,Sg)=>{var NC=wn(),qC=J(),HC=Pg(),jC=Ql(),WC=Ve(),GC=qC([].concat);Sg.exports=NC("Reflect","ownKeys")||function(e){var t=HC.f(WC(e)),i=jC.f;return i?GC(t,i(e)):t}});var Ag=h((CO,wg)=>{var Ig=ke(),zC=Cg(),VC=Hl(),JC=Je();wg.exports=function(r,e,t){for(var i=zC(e),n=JC.f,o=VC.f,a=0;a<i.length;a++){var c=i[a];!Ig(r,c)&&!(t&&Ig(t,c))&&n(r,c,o(e,c))}}});var Tg=h((IO,xg)=>{var $C=ne(),KC=$(),XC=/#|\.prototype\./,xn=function(r,e){var t=YC[ZC(r)];return t==eI?!0:t==QC?!1:KC(e)?$C(e):!!e},ZC=xn.normalize=function(r){return String(r).replace(XC,".").toLowerCase()},YC=xn.data={},QC=xn.NATIVE="N",eI=xn.POLYFILL="P";xg.exports=xn});var Tn=h((wO,Eg)=>{var eu=ce(),tI=Hl().f,rI=ya(),iI=zt(),nI=oa(),sI=Ag(),oI=Tg();Eg.exports=function(r,e){var t=r.target,i=r.global,n=r.stat,o,a,c,p,g,v;if(i?a=eu:n?a=eu[t]||nI(t,{}):a=(eu[t]||{}).prototype,a)for(c in e){if(g=e[c],r.dontCallGetSet?(v=tI(a,c),p=v&&v.value):p=a[c],o=oI(i?c:t+(n?".":"#")+c,r.forced),!o&&p!==void 0){if(typeof g==typeof p)continue;sI(g,p)}(r.sham||p&&p.sham)&&rI(g,"sham",!0),iI(a,c,g,r)}}});var tu=h((AO,Rg)=>{var aI=Yl(),dI=Aa();Rg.exports=Object.keys||function(e){return aI(e,dI)}});var Og=h(Fg=>{var lI=me(),uI=Cl(),cI=Je(),mI=Ve(),pI=xr(),gI=tu();Fg.f=lI&&!uI?Object.defineProperties:function(e,t){mI(e);for(var i=pI(t),n=gI(t),o=n.length,a=0,c;o>a;)cI.f(e,c=n[a++],i[c]);return e}});var Ug=h((TO,Mg)=>{var fI=wn();Mg.exports=fI("document","documentElement")});var En=h((EO,Hg)=>{var hI=Ve(),vI=Og(),Bg=Aa(),yI=Pa(),bI=Ug(),PI=kl(),kI=ba(),Lg=">",Dg="<",iu="prototype",nu="script",Ng=kI("IE_PROTO"),ru=function(){},qg=function(r){return Dg+nu+Lg+r+Dg+"/"+nu+Lg},_g=function(r){r.write(qg("")),r.close();var e=r.parentWindow.Object;return r=null,e},SI=function(){var r=PI("iframe"),e="java"+nu+":",t;return r.style.display="none",bI.appendChild(r),r.src=String(e),t=r.contentWindow.document,t.open(),t.write(qg("document.F=Object")),t.close(),t.F},xa,Ta=function(){try{xa=new ActiveXObject("htmlfile")}catch{}Ta=typeof document<"u"?document.domain&&xa?_g(xa):SI():_g(xa);for(var r=Bg.length;r--;)delete Ta[iu][Bg[r]];return Ta()};yI[Ng]=!0;Hg.exports=Object.create||function(e,t){var i;return e!==null?(ru[iu]=hI(e),i=new ru,ru[iu]=null,i[Ng]=e):i=Ta(),t===void 0?i:vI.f(i,t)}});var Wg=h((RO,jg)=>{var CI=ne();jg.exports=!CI(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype})});var ou=h((FO,zg)=>{var II=ke(),wI=$(),AI=Sn(),xI=ba(),TI=Wg(),Gg=xI("IE_PROTO"),su=Object,EI=su.prototype;zg.exports=TI?su.getPrototypeOf:function(r){var e=AI(r);if(II(e,Gg))return e[Gg];var t=e.constructor;return wI(t)&&e instanceof t?t.prototype:e instanceof su?EI:null}});var uu=h((OO,$g)=>{"use strict";var RI=ne(),FI=$(),OI=pt(),MI=En(),Vg=ou(),UI=zt(),BI=Se(),LI=Cr(),lu=BI("iterator"),Jg=!1,et,au,du;[].keys&&(du=[].keys(),"next"in du?(au=Vg(Vg(du)),au!==Object.prototype&&(et=au)):Jg=!0);var DI=!OI(et)||RI(function(){var r={};return et[lu].call(r)!==r});DI?et={}:LI&&(et=MI(et));FI(et[lu])||UI(et,lu,function(){return this});$g.exports={IteratorPrototype:et,BUGGY_SAFARI_ITERATORS:Jg}});var Rn=h((MO,Xg)=>{var _I=Je().f,NI=ke(),qI=Se(),Kg=qI("toStringTag");Xg.exports=function(r,e,t){r&&!t&&(r=r.prototype),r&&!NI(r,Kg)&&_I(r,Kg,{configurable:!0,value:e})}});var Tr=h((UO,Zg)=>{Zg.exports={}});var cu=h((BO,Yg)=>{"use strict";var HI=uu().IteratorPrototype,jI=En(),WI=wr(),GI=Rn(),zI=Tr(),VI=function(){return this};Yg.exports=function(r,e,t,i){var n=e+" Iterator";return r.prototype=jI(HI,{next:WI(+!i,t)}),GI(r,n,!1,!0),zI[n]=VI,r}});var ef=h((LO,Qg)=>{var JI=$(),$I=String,KI=TypeError;Qg.exports=function(r){if(typeof r=="object"||JI(r))return r;throw KI("Can't set "+$I(r)+" as a prototype")}});var rf=h((DO,tf)=>{var XI=J(),ZI=Ve(),YI=ef();tf.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r=!1,e={},t;try{t=XI(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set),t(e,[]),r=e instanceof Array}catch{}return function(n,o){return ZI(n),YI(o),r?t(n,o):n.__proto__=o,n}}():void 0)});var pu=h((_O,pf)=>{"use strict";var QI=Tn(),ew=Ne(),Ea=Cr(),cf=Gl(),tw=$(),rw=cu(),nf=ou(),sf=rf(),iw=Rn(),nw=ya(),mu=zt(),sw=Se(),of=Tr(),mf=uu(),ow=cf.PROPER,aw=cf.CONFIGURABLE,af=mf.IteratorPrototype,Ra=mf.BUGGY_SAFARI_ITERATORS,Fn=sw("iterator"),df="keys",On="values",lf="entries",uf=function(){return this};pf.exports=function(r,e,t,i,n,o,a){rw(t,e,i);var c=function(U){if(U===n&&y)return y;if(!Ra&&U in v)return v[U];switch(U){case df:return function(){return new t(this,U)};case On:return function(){return new t(this,U)};case lf:return function(){return new t(this,U)}}return function(){return new t(this)}},p=e+" Iterator",g=!1,v=r.prototype,m=v[Fn]||v["@@iterator"]||n&&v[n],y=!Ra&&m||c(n),P=e=="Array"&&v.entries||m,C,I,A;if(P&&(C=nf(P.call(new r)),C!==Object.prototype&&C.next&&(!Ea&&nf(C)!==af&&(sf?sf(C,af):tw(C[Fn])||mu(C,Fn,uf)),iw(C,p,!0,!0),Ea&&(of[p]=uf))),ow&&n==On&&m&&m.name!==On&&(!Ea&&aw?nw(v,"name",On):(g=!0,y=function(){return ew(m,this)})),n)if(I={values:c(On),keys:o?y:c(df),entries:c(lf)},a)for(A in I)(Ra||g||!(A in v))&&mu(v,A,I[A]);else QI({target:e,proto:!0,forced:Ra||g},I);return(!Ea||a)&&v[Fn]!==y&&mu(v,Fn,y,{name:n}),of[e]=y,I}});var gu=h((NO,gf)=>{gf.exports=function(r,e){return{value:r,done:e}}});var yf=h(()=>{"use strict";var dw=bl().charAt,lw=In(),hf=Ar(),uw=pu(),ff=gu(),vf="String Iterator",cw=hf.set,mw=hf.getterFor(vf);uw(String,"String",function(r){cw(this,{type:vf,string:lw(r),index:0})},function(){var e=mw(this),t=e.string,i=e.index,n;return i>=t.length?ff(void 0,!0):(n=dw(t,i),e.index+=n.length,ff(n,!1))})});var fu=h((jO,bf)=>{var pw=ne(),gw=Se(),fw=Cr(),hw=gw("iterator");bf.exports=!pw(function(){var r=new URL("b?a=1&b=2&c=3","http://a"),e=r.searchParams,t="";return r.pathname="c%20d",e.forEach(function(i,n){e.delete("b"),t+=n+i}),fw&&!r.toJSON||!e.sort||r.href!=="http://a/c%20d?a=1&c=3"||e.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!e[hw]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("http://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("http://a#\u0431").hash!=="#%D0%B1"||t!=="a1c3"||new URL("http://x",void 0).host!=="x"})});var kf=h((WO,Pf)=>{var vw=ca(),yw=J();Pf.exports=function(r){if(vw(r)==="Function")return yw(r)}});var Fa=h((GO,Cf)=>{var Sf=kf(),bw=ga(),Pw=ia(),kw=Sf(Sf.bind);Cf.exports=function(r,e){return bw(r),e===void 0?r:Pw?kw(r,e):function(){return r.apply(e,arguments)}}});var Af=h((zO,wf)=>{var If=Kl(),Sw=Je();wf.exports=function(r,e,t){return t.get&&If(t.get,e,{getter:!0}),t.set&&If(t.set,e,{setter:!0}),Sw.f(r,e,t)}});var hu=h((VO,xf)=>{var Cw=wl(),Iw=TypeError;xf.exports=function(r,e){if(Cw(e,r))return r;throw Iw("Incorrect invocation")}});var Ff=h((JO,Rf)=>{"use strict";var Tf=me(),ww=J(),Aw=Ne(),xw=ne(),vu=tu(),Tw=Ql(),Ew=_l(),Rw=Sn(),Fw=ql(),Er=Object.assign,Ef=Object.defineProperty,Ow=ww([].concat);Rf.exports=!Er||xw(function(){if(Tf&&Er({b:1},Er(Ef({},"a",{enumerable:!0,get:function(){Ef(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var r={},e={},t=Symbol(),i="abcdefghijklmnopqrst";return r[t]=7,i.split("").forEach(function(n){e[n]=n}),Er({},r)[t]!=7||vu(Er({},e)).join("")!=i})?function(e,t){for(var i=Rw(e),n=arguments.length,o=1,a=Tw.f,c=Ew.f;n>o;)for(var p=Fw(arguments[o++]),g=a?Ow(vu(p),a(p)):vu(p),v=g.length,m=0,y;v>m;)y=g[m++],(!Tf||Aw(c,p,y))&&(i[y]=p[y]);return i}:Er});var Uf=h(($O,Mf)=>{var Mw=Ne(),Of=Ve(),Uw=fa();Mf.exports=function(r,e,t){var i,n;Of(r);try{if(i=Uw(r,"return"),!i){if(e==="throw")throw t;return t}i=Mw(i,r)}catch(o){n=!0,i=o}if(e==="throw")throw t;if(n)throw i;return Of(i),t}});var Lf=h((KO,Bf)=>{var Bw=Ve(),Lw=Uf();Bf.exports=function(r,e,t,i){try{return i?e(Bw(t)[0],t[1]):e(t)}catch(n){Lw(r,"throw",n)}}});var _f=h((XO,Df)=>{var Dw=Se(),_w=Tr(),Nw=Dw("iterator"),qw=Array.prototype;Df.exports=function(r){return r!==void 0&&(_w.Array===r||qw[Nw]===r)}});var Gf=h((ZO,Wf)=>{var Hw=J(),jw=ne(),Nf=$(),Ww=Cn(),Gw=wn(),zw=Vl(),qf=function(){},Vw=[],Hf=Gw("Reflect","construct"),yu=/^\s*(?:class|function)\b/,Jw=Hw(yu.exec),$w=!yu.exec(qf),Mn=function(e){if(!Nf(e))return!1;try{return Hf(qf,Vw,e),!0}catch{return!1}},jf=function(e){if(!Nf(e))return!1;switch(Ww(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return $w||!!Jw(yu,zw(e))}catch{return!0}};jf.sham=!0;Wf.exports=!Hf||jw(function(){var r;return Mn(Mn.call)||!Mn(Object)||!Mn(function(){r=!0})||r})?jf:Mn});var bu=h((YO,zf)=>{"use strict";var Kw=ha(),Xw=Je(),Zw=wr();zf.exports=function(r,e,t){var i=Kw(e);i in r?Xw.f(r,i,Zw(0,t)):r[i]=t}});var Oa=h((QO,Jf)=>{var Yw=Cn(),Vf=fa(),Qw=da(),eA=Tr(),tA=Se(),rA=tA("iterator");Jf.exports=function(r){if(!Qw(r))return Vf(r,rA)||Vf(r,"@@iterator")||eA[Yw(r)]}});var Pu=h((eM,$f)=>{var iA=Ne(),nA=ga(),sA=Ve(),oA=xl(),aA=Oa(),dA=TypeError;$f.exports=function(r,e){var t=arguments.length<2?aA(r):e;if(nA(t))return sA(iA(t,r));throw dA(oA(r)+" is not iterable")}});var Yf=h((tM,Zf)=>{"use strict";var lA=Fa(),uA=Ne(),cA=Sn(),mA=Lf(),pA=_f(),gA=Gf(),fA=wa(),Kf=bu(),hA=Pu(),vA=Oa(),Xf=Array;Zf.exports=function(e){var t=cA(e),i=gA(this),n=arguments.length,o=n>1?arguments[1]:void 0,a=o!==void 0;a&&(o=lA(o,n>2?arguments[2]:void 0));var c=vA(t),p=0,g,v,m,y,P,C;if(c&&!(this===Xf&&pA(c)))for(y=hA(t,c),P=y.next,v=i?new this:[];!(m=uA(P,y)).done;p++)C=a?mA(y,o,[m.value,p],!0):m.value,Kf(v,p,C);else for(g=fA(t),v=i?new this(g):Xf(g);g>p;p++)C=a?o(t[p],p):t[p],Kf(v,p,C);return v.length=p,v}});var ku=h((rM,eh)=>{var Qf=Xl(),yA=wa(),bA=bu(),PA=Array,kA=Math.max;eh.exports=function(r,e,t){for(var i=yA(r),n=Qf(e,i),o=Qf(t===void 0?i:t,i),a=PA(kA(o-n,0)),c=0;n<o;n++,c++)bA(a,c,r[n]);return a.length=c,a}});var lh=h((iM,dh)=>{var Vt=J(),Su=2147483647,Un=36,sh=1,wu=26,SA=38,CA=700,IA=72,wA=128,AA="-",xA=/[^\0-\u007E]/,oh=/[.\u3002\uFF0E\uFF61]/g,th="Overflow: input needs wider integers to process",Cu=Un-sh,rh=RangeError,TA=Vt(oh.exec),Rr=Math.floor,Iu=String.fromCharCode,ih=Vt("".charCodeAt),ah=Vt([].join),gt=Vt([].push),EA=Vt("".replace),RA=Vt("".split),FA=Vt("".toLowerCase),OA=function(r){for(var e=[],t=0,i=r.length;t<i;){var n=ih(r,t++);if(n>=55296&&n<=56319&&t<i){var o=ih(r,t++);(o&64512)==56320?gt(e,((n&1023)<<10)+(o&1023)+65536):(gt(e,n),t--)}else gt(e,n)}return e},nh=function(r){return r+22+75*(r<26)},MA=function(r,e,t){var i=0;for(r=t?Rr(r/CA):r>>1,r+=Rr(r/e);r>Cu*wu>>1;)r=Rr(r/Cu),i+=Un;return Rr(i+(Cu+1)*r/(r+SA))},UA=function(r){var e=[];r=OA(r);var t=r.length,i=wA,n=0,o=IA,a,c;for(a=0;a<r.length;a++)c=r[a],c<128&&gt(e,Iu(c));var p=e.length,g=p;for(p&&gt(e,AA);g<t;){var v=Su;for(a=0;a<r.length;a++)c=r[a],c>=i&&c<v&&(v=c);var m=g+1;if(v-i>Rr((Su-n)/m))throw rh(th);for(n+=(v-i)*m,i=v,a=0;a<r.length;a++){if(c=r[a],c<i&&++n>Su)throw rh(th);if(c==i){for(var y=n,P=Un;;){var C=P<=o?sh:P>=o+wu?wu:P-o;if(y<C)break;var I=y-C,A=Un-C;gt(e,Iu(nh(C+I%A))),y=Rr(I/A),P+=Un}gt(e,Iu(nh(y))),o=MA(n,m,g==p),n=0,g++}}n++,i++}return ah(e,"")};dh.exports=function(r){var e=[],t=RA(EA(FA(r),oh,"."),"."),i,n;for(i=0;i<t.length;i++)n=t[i],gt(e,TA(xA,n)?"xn--"+UA(n):n);return ah(e,".")}});var Au=h((nM,uh)=>{var BA=TypeError;uh.exports=function(r,e){if(r<e)throw BA("Not enough arguments");return r}});var mh=h((sM,ch)=>{var LA=Se(),DA=En(),_A=Je().f,xu=LA("unscopables"),Tu=Array.prototype;Tu[xu]==null&&_A(Tu,xu,{configurable:!0,value:DA(null)});ch.exports=function(r){Tu[xu][r]=!0}});var yh=h((oM,vh)=>{"use strict";var NA=xr(),Eu=mh(),ph=Tr(),fh=Ar(),qA=Je().f,HA=pu(),Ma=gu(),jA=Cr(),WA=me(),hh="Array Iterator",GA=fh.set,zA=fh.getterFor(hh);vh.exports=HA(Array,"Array",function(r,e){GA(this,{type:hh,target:NA(r),index:0,kind:e})},function(){var r=zA(this),e=r.target,t=r.kind,i=r.index++;return!e||i>=e.length?(r.target=void 0,Ma(void 0,!0)):t=="keys"?Ma(i,!1):t=="values"?Ma(e[i],!1):Ma([i,e[i]],!1)},"values");var gh=ph.Arguments=ph.Array;Eu("keys");Eu("values");Eu("entries");if(!jA&&WA&&gh.name!=="values")try{qA(gh,"name",{value:"values"})}catch{}});var Ph=h((aM,bh)=>{var VA=zt();bh.exports=function(r,e,t){for(var i in e)VA(r,i,e[i],t);return r}});var Ch=h((dM,Sh)=>{var kh=ku(),JA=Math.floor,Ru=function(r,e){var t=r.length,i=JA(t/2);return t<8?$A(r,e):KA(r,Ru(kh(r,0,i),e),Ru(kh(r,i),e),e)},$A=function(r,e){for(var t=r.length,i=1,n,o;i<t;){for(o=i,n=r[i];o&&e(r[o-1],n)>0;)r[o]=r[--o];o!==i++&&(r[o]=n)}return r},KA=function(r,e,t,i){for(var n=e.length,o=t.length,a=0,c=0;a<n||c<o;)r[a+c]=a<n&&c<o?i(e[a],t[c])<=0?e[a++]:t[c++]:a<n?e[a++]:t[c++];return r};Sh.exports=Ru});var qu=h((lM,Wh)=>{"use strict";yh();var Bu=Tn(),Or=ce(),Ua=Ne(),$e=J(),XA=me(),Bh=fu(),Lh=zt(),ZA=Ph(),YA=Rn(),QA=cu(),_u=Ar(),Dh=hu(),Fu=$(),ex=ke(),tx=Fa(),rx=Cn(),ix=Ve(),_h=pt(),pe=In(),nx=En(),Ih=wr(),Lu=Pu(),sx=Oa(),Fr=Au(),ox=Se(),ax=Ch(),dx=ox("iterator"),Dn="URLSearchParams",Nh=Dn+"Iterator",qh=_u.set,He=_u.getterFor(Dn),lx=_u.getterFor(Nh),ux=Object.getOwnPropertyDescriptor,Nu=function(r){if(!XA)return Or[r];var e=ux(Or,r);return e&&e.value},wh=Nu("fetch"),La=Nu("Request"),Bn=Nu("Headers"),Ou=La&&La.prototype,Ah=Bn&&Bn.prototype,cx=Or.RegExp,mx=Or.TypeError,Hh=Or.decodeURIComponent,px=Or.encodeURIComponent,gx=$e("".charAt),xh=$e([].join),Jt=$e([].push),Du=$e("".replace),fx=$e([].shift),Th=$e([].splice),Eh=$e("".split),hx=$e("".slice),vx=/\+/g,Rh=Array(4),yx=function(r){return Rh[r-1]||(Rh[r-1]=cx("((?:%[\\da-f]{2}){"+r+"})","gi"))},bx=function(r){try{return Hh(r)}catch{return r}},Fh=function(r){var e=Du(r,vx," "),t=4;try{return Hh(e)}catch{for(;t;)e=Du(e,yx(t--),bx);return e}},Px=/[!'()~]|%20/g,kx={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},Sx=function(r){return kx[r]},Oh=function(r){return Du(px(r),Px,Sx)},Mu=QA(function(e,t){qh(this,{type:Nh,iterator:Lu(He(e).entries),kind:t})},"Iterator",function(){var e=lx(this),t=e.kind,i=e.iterator.next(),n=i.value;return i.done||(i.value=t==="keys"?n.key:t==="values"?n.value:[n.key,n.value]),i},!0),jh=function(r){this.entries=[],this.url=null,r!==void 0&&(_h(r)?this.parseObject(r):this.parseQuery(typeof r=="string"?gx(r,0)==="?"?hx(r,1):r:pe(r)))};jh.prototype={type:Dn,bindURL:function(r){this.url=r,this.update()},parseObject:function(r){var e=sx(r),t,i,n,o,a,c,p;if(e)for(t=Lu(r,e),i=t.next;!(n=Ua(i,t)).done;){if(o=Lu(ix(n.value)),a=o.next,(c=Ua(a,o)).done||(p=Ua(a,o)).done||!Ua(a,o).done)throw mx("Expected sequence with length 2");Jt(this.entries,{key:pe(c.value),value:pe(p.value)})}else for(var g in r)ex(r,g)&&Jt(this.entries,{key:g,value:pe(r[g])})},parseQuery:function(r){if(r)for(var e=Eh(r,"&"),t=0,i,n;t<e.length;)i=e[t++],i.length&&(n=Eh(i,"="),Jt(this.entries,{key:Fh(fx(n)),value:Fh(xh(n,"="))}))},serialize:function(){for(var r=this.entries,e=[],t=0,i;t<r.length;)i=r[t++],Jt(e,Oh(i.key)+"="+Oh(i.value));return xh(e,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var Da=function(){Dh(this,Ln);var e=arguments.length>0?arguments[0]:void 0;qh(this,new jh(e))},Ln=Da.prototype;ZA(Ln,{append:function(e,t){Fr(arguments.length,2);var i=He(this);Jt(i.entries,{key:pe(e),value:pe(t)}),i.updateURL()},delete:function(r){Fr(arguments.length,1);for(var e=He(this),t=e.entries,i=pe(r),n=0;n<t.length;)t[n].key===i?Th(t,n,1):n++;e.updateURL()},get:function(e){Fr(arguments.length,1);for(var t=He(this).entries,i=pe(e),n=0;n<t.length;n++)if(t[n].key===i)return t[n].value;return null},getAll:function(e){Fr(arguments.length,1);for(var t=He(this).entries,i=pe(e),n=[],o=0;o<t.length;o++)t[o].key===i&&Jt(n,t[o].value);return n},has:function(e){Fr(arguments.length,1);for(var t=He(this).entries,i=pe(e),n=0;n<t.length;)if(t[n++].key===i)return!0;return!1},set:function(e,t){Fr(arguments.length,1);for(var i=He(this),n=i.entries,o=!1,a=pe(e),c=pe(t),p=0,g;p<n.length;p++)g=n[p],g.key===a&&(o?Th(n,p--,1):(o=!0,g.value=c));o||Jt(n,{key:a,value:c}),i.updateURL()},sort:function(){var e=He(this);ax(e.entries,function(t,i){return t.key>i.key?1:-1}),e.updateURL()},forEach:function(e){for(var t=He(this).entries,i=tx(e,arguments.length>1?arguments[1]:void 0),n=0,o;n<t.length;)o=t[n++],i(o.value,o.key,this)},keys:function(){return new Mu(this,"keys")},values:function(){return new Mu(this,"values")},entries:function(){return new Mu(this,"entries")}},{enumerable:!0});Lh(Ln,dx,Ln.entries,{name:"entries"});Lh(Ln,"toString",function(){return He(this).serialize()},{enumerable:!0});YA(Da,Dn);Bu({global:!0,constructor:!0,forced:!Bh},{URLSearchParams:Da});!Bh&&Fu(Bn)&&(Mh=$e(Ah.has),Uh=$e(Ah.set),Uu=function(r){if(_h(r)){var e=r.body,t;if(rx(e)===Dn)return t=r.headers?new Bn(r.headers):new Bn,Mh(t,"content-type")||Uh(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),nx(r,{body:Ih(0,pe(e)),headers:Ih(0,t)})}return r},Fu(wh)&&Bu({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return wh(e,arguments.length>1?Uu(arguments[1]):{})}}),Fu(La)&&(Ba=function(e){return Dh(this,Ou),new La(e,arguments.length>1?Uu(arguments[1]):{})},Ou.constructor=Ba,Ba.prototype=Ou,Bu({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:Ba})));var Mh,Uh,Uu,Ba;Wh.exports={URLSearchParams:Da,getState:He}});var dv=h(()=>{"use strict";yf();var Cx=Tn(),rc=me(),Ix=fu(),ic=ce(),Gh=Fa(),xe=J(),ja=zt(),Ce=Af(),wx=hu(),Qu=ke(),nc=Ff(),Mr=Yf(),je=ku(),Ax=bl().codeAt,xx=lh(),rt=In(),Tx=Rn(),Ex=Au(),rv=qu(),iv=Ar(),Rx=iv.set,Wa=iv.getterFor("URL"),Fx=rv.URLSearchParams,Ox=rv.getState,_n=ic.URL,ec=ic.TypeError,Ga=ic.parseInt,Mx=Math.floor,zh=Math.pow,Ae=xe("".charAt),We=xe(/./.exec),qn=xe([].join),Ux=xe(1 .toString),Bx=xe([].pop),Br=xe([].push),Vh=xe("".replace),Lx=xe([].shift),Dx=xe("".split),jn=xe("".slice),za=xe("".toLowerCase),_x=xe([].unshift),Nx="Invalid authority",Hu="Invalid scheme",$t="Invalid host",Jh="Invalid port",nv=/[a-z]/i,qx=/[\d+-.a-z]/i,tc=/\d/,Hx=/^0x/i,jx=/^[0-7]+$/,Wx=/^\d+$/,sv=/^[\da-f]+$/i,Gx=/[\0\t\n\r #%/:<>?@[\\\]^|]/,zx=/[\0\t\n\r #/:<>?@[\\\]^|]/,Vx=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,Jx=/[\t\n\r]/g,Ie,$x=function(r){var e=Dx(r,"."),t,i,n,o,a,c,p;if(e.length&&e[e.length-1]==""&&e.length--,t=e.length,t>4)return r;for(i=[],n=0;n<t;n++){if(o=e[n],o=="")return r;if(a=10,o.length>1&&Ae(o,0)=="0"&&(a=We(Hx,o)?16:8,o=jn(o,a==8?1:2)),o==="")c=0;else{if(!We(a==10?Wx:a==8?jx:sv,o))return r;c=Ga(o,a)}Br(i,c)}for(n=0;n<t;n++)if(c=i[n],n==t-1){if(c>=zh(256,5-t))return null}else if(c>255)return null;for(p=Bx(i),n=0;n<i.length;n++)p+=i[n]*zh(256,3-n);return p},Kx=function(r){var e=[0,0,0,0,0,0,0,0],t=0,i=null,n=0,o,a,c,p,g,v,m,y=function(){return Ae(r,n)};if(y()==":"){if(Ae(r,1)!=":")return;n+=2,t++,i=t}for(;y();){if(t==8)return;if(y()==":"){if(i!==null)return;n++,t++,i=t;continue}for(o=a=0;a<4&&We(sv,y());)o=o*16+Ga(y(),16),n++,a++;if(y()=="."){if(a==0||(n-=a,t>6))return;for(c=0;y();){if(p=null,c>0)if(y()=="."&&c<4)n++;else return;if(!We(tc,y()))return;for(;We(tc,y());){if(g=Ga(y(),10),p===null)p=g;else{if(p==0)return;p=p*10+g}if(p>255)return;n++}e[t]=e[t]*256+p,c++,(c==2||c==4)&&t++}if(c!=4)return;break}else if(y()==":"){if(n++,!y())return}else if(y())return;e[t++]=o}if(i!==null)for(v=t-i,t=7;t!=0&&v>0;)m=e[t],e[t--]=e[i+v-1],e[i+--v]=m;else if(t!=8)return;return e},Xx=function(r){for(var e=null,t=1,i=null,n=0,o=0;o<8;o++)r[o]!==0?(n>t&&(e=i,t=n),i=null,n=0):(i===null&&(i=o),++n);return n>t&&(e=i,t=n),e},Nn=function(r){var e,t,i,n;if(typeof r=="number"){for(e=[],t=0;t<4;t++)_x(e,r%256),r=Mx(r/256);return qn(e,".")}else if(typeof r=="object"){for(e="",i=Xx(r),t=0;t<8;t++)n&&r[t]===0||(n&&(n=!1),i===t?(e+=t?":":"::",n=!0):(e+=Ux(r[t],16),t<7&&(e+=":")));return"["+e+"]"}return r},Ha={},ov=nc({},Ha,{" ":1,'"':1,"<":1,">":1,"`":1}),av=nc({},ov,{"#":1,"?":1,"{":1,"}":1}),ju=nc({},av,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),ft=function(r,e){var t=Ax(r,0);return t>32&&t<127&&!Qu(e,r)?r:encodeURIComponent(r)},_a={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Hn=function(r,e){var t;return r.length==2&&We(nv,Ae(r,0))&&((t=Ae(r,1))==":"||!e&&t=="|")},$h=function(r){var e;return r.length>1&&Hn(jn(r,0,2))&&(r.length==2||(e=Ae(r,2))==="/"||e==="\\"||e==="?"||e==="#")},Zx=function(r){return r==="."||za(r)==="%2e"},Yx=function(r){return r=za(r),r===".."||r==="%2e."||r===".%2e"||r==="%2e%2e"},Wu={},Kh={},Gu={},Xh={},Zh={},zu={},Yh={},Qh={},Na={},qa={},Vu={},Ju={},$u={},Ku={},ev={},Xu={},Ur={},Ke={},tv={},Kt={},tt={},sc=function(r,e,t){var i=rt(r),n,o,a;if(e){if(o=this.parse(i),o)throw ec(o);this.searchParams=null}else{if(t!==void 0&&(n=new sc(t,!0)),o=this.parse(i,null,n),o)throw ec(o);a=Ox(new Fx),a.bindURL(this),this.searchParams=a}};sc.prototype={type:"URL",parse:function(r,e,t){var i=this,n=e||Wu,o=0,a="",c=!1,p=!1,g=!1,v,m,y,P;for(r=rt(r),e||(i.scheme="",i.username="",i.password="",i.host=null,i.port=null,i.path=[],i.query=null,i.fragment=null,i.cannotBeABaseURL=!1,r=Vh(r,Vx,"")),r=Vh(r,Jx,""),v=Mr(r);o<=v.length;){switch(m=v[o],n){case Wu:if(m&&We(nv,m))a+=za(m),n=Kh;else{if(e)return Hu;n=Gu;continue}break;case Kh:if(m&&(We(qx,m)||m=="+"||m=="-"||m=="."))a+=za(m);else if(m==":"){if(e&&(i.isSpecial()!=Qu(_a,a)||a=="file"&&(i.includesCredentials()||i.port!==null)||i.scheme=="file"&&!i.host))return;if(i.scheme=a,e){i.isSpecial()&&_a[i.scheme]==i.port&&(i.port=null);return}a="",i.scheme=="file"?n=Ku:i.isSpecial()&&t&&t.scheme==i.scheme?n=Xh:i.isSpecial()?n=Qh:v[o+1]=="/"?(n=Zh,o++):(i.cannotBeABaseURL=!0,Br(i.path,""),n=tv)}else{if(e)return Hu;a="",n=Gu,o=0;continue}break;case Gu:if(!t||t.cannotBeABaseURL&&m!="#")return Hu;if(t.cannotBeABaseURL&&m=="#"){i.scheme=t.scheme,i.path=je(t.path),i.query=t.query,i.fragment="",i.cannotBeABaseURL=!0,n=tt;break}n=t.scheme=="file"?Ku:zu;continue;case Xh:if(m=="/"&&v[o+1]=="/")n=Na,o++;else{n=zu;continue}break;case Zh:if(m=="/"){n=qa;break}else{n=Ke;continue}case zu:if(i.scheme=t.scheme,m==Ie)i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=je(t.path),i.query=t.query;else if(m=="/"||m=="\\"&&i.isSpecial())n=Yh;else if(m=="?")i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=je(t.path),i.query="",n=Kt;else if(m=="#")i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=je(t.path),i.query=t.query,i.fragment="",n=tt;else{i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,i.path=je(t.path),i.path.length--,n=Ke;continue}break;case Yh:if(i.isSpecial()&&(m=="/"||m=="\\"))n=Na;else if(m=="/")n=qa;else{i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,n=Ke;continue}break;case Qh:if(n=Na,m!="/"||Ae(a,o+1)!="/")continue;o++;break;case Na:if(m!="/"&&m!="\\"){n=qa;continue}break;case qa:if(m=="@"){c&&(a="%40"+a),c=!0,y=Mr(a);for(var C=0;C<y.length;C++){var I=y[C];if(I==":"&&!g){g=!0;continue}var A=ft(I,ju);g?i.password+=A:i.username+=A}a=""}else if(m==Ie||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()){if(c&&a=="")return Nx;o-=Mr(a).length+1,a="",n=Vu}else a+=m;break;case Vu:case Ju:if(e&&i.scheme=="file"){n=Xu;continue}else if(m==":"&&!p){if(a=="")return $t;if(P=i.parseHost(a),P)return P;if(a="",n=$u,e==Ju)return}else if(m==Ie||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()){if(i.isSpecial()&&a=="")return $t;if(e&&a==""&&(i.includesCredentials()||i.port!==null))return;if(P=i.parseHost(a),P)return P;if(a="",n=Ur,e)return;continue}else m=="["?p=!0:m=="]"&&(p=!1),a+=m;break;case $u:if(We(tc,m))a+=m;else if(m==Ie||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()||e){if(a!=""){var U=Ga(a,10);if(U>65535)return Jh;i.port=i.isSpecial()&&U===_a[i.scheme]?null:U,a=""}if(e)return;n=Ur;continue}else return Jh;break;case Ku:if(i.scheme="file",m=="/"||m=="\\")n=ev;else if(t&&t.scheme=="file")if(m==Ie)i.host=t.host,i.path=je(t.path),i.query=t.query;else if(m=="?")i.host=t.host,i.path=je(t.path),i.query="",n=Kt;else if(m=="#")i.host=t.host,i.path=je(t.path),i.query=t.query,i.fragment="",n=tt;else{$h(qn(je(v,o),""))||(i.host=t.host,i.path=je(t.path),i.shortenPath()),n=Ke;continue}else{n=Ke;continue}break;case ev:if(m=="/"||m=="\\"){n=Xu;break}t&&t.scheme=="file"&&!$h(qn(je(v,o),""))&&(Hn(t.path[0],!0)?Br(i.path,t.path[0]):i.host=t.host),n=Ke;continue;case Xu:if(m==Ie||m=="/"||m=="\\"||m=="?"||m=="#"){if(!e&&Hn(a))n=Ke;else if(a==""){if(i.host="",e)return;n=Ur}else{if(P=i.parseHost(a),P)return P;if(i.host=="localhost"&&(i.host=""),e)return;a="",n=Ur}continue}else a+=m;break;case Ur:if(i.isSpecial()){if(n=Ke,m!="/"&&m!="\\")continue}else if(!e&&m=="?")i.query="",n=Kt;else if(!e&&m=="#")i.fragment="",n=tt;else if(m!=Ie&&(n=Ke,m!="/"))continue;break;case Ke:if(m==Ie||m=="/"||m=="\\"&&i.isSpecial()||!e&&(m=="?"||m=="#")){if(Yx(a)?(i.shortenPath(),m!="/"&&!(m=="\\"&&i.isSpecial())&&Br(i.path,"")):Zx(a)?m!="/"&&!(m=="\\"&&i.isSpecial())&&Br(i.path,""):(i.scheme=="file"&&!i.path.length&&Hn(a)&&(i.host&&(i.host=""),a=Ae(a,0)+":"),Br(i.path,a)),a="",i.scheme=="file"&&(m==Ie||m=="?"||m=="#"))for(;i.path.length>1&&i.path[0]==="";)Lx(i.path);m=="?"?(i.query="",n=Kt):m=="#"&&(i.fragment="",n=tt)}else a+=ft(m,av);break;case tv:m=="?"?(i.query="",n=Kt):m=="#"?(i.fragment="",n=tt):m!=Ie&&(i.path[0]+=ft(m,Ha));break;case Kt:!e&&m=="#"?(i.fragment="",n=tt):m!=Ie&&(m=="'"&&i.isSpecial()?i.query+="%27":m=="#"?i.query+="%23":i.query+=ft(m,Ha));break;case tt:m!=Ie&&(i.fragment+=ft(m,ov));break}o++}},parseHost:function(r){var e,t,i;if(Ae(r,0)=="["){if(Ae(r,r.length-1)!="]"||(e=Kx(jn(r,1,-1)),!e))return $t;this.host=e}else if(this.isSpecial()){if(r=xx(r),We(Gx,r)||(e=$x(r),e===null))return $t;this.host=e}else{if(We(zx,r))return $t;for(e="",t=Mr(r),i=0;i<t.length;i++)e+=ft(t[i],Ha);this.host=e}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme=="file"},includesCredentials:function(){return this.username!=""||this.password!=""},isSpecial:function(){return Qu(_a,this.scheme)},shortenPath:function(){var r=this.path,e=r.length;e&&(this.scheme!="file"||e!=1||!Hn(r[0],!0))&&r.length--},serialize:function(){var r=this,e=r.scheme,t=r.username,i=r.password,n=r.host,o=r.port,a=r.path,c=r.query,p=r.fragment,g=e+":";return n!==null?(g+="//",r.includesCredentials()&&(g+=t+(i?":"+i:"")+"@"),g+=Nn(n),o!==null&&(g+=":"+o)):e=="file"&&(g+="//"),g+=r.cannotBeABaseURL?a[0]:a.length?"/"+qn(a,"/"):"",c!==null&&(g+="?"+c),p!==null&&(g+="#"+p),g},setHref:function(r){var e=this.parse(r);if(e)throw ec(e);this.searchParams.update()},getOrigin:function(){var r=this.scheme,e=this.port;if(r=="blob")try{return new Lr(r.path[0]).origin}catch{return"null"}return r=="file"||!this.isSpecial()?"null":r+"://"+Nn(this.host)+(e!==null?":"+e:"")},getProtocol:function(){return this.scheme+":"},setProtocol:function(r){this.parse(rt(r)+":",Wu)},getUsername:function(){return this.username},setUsername:function(r){var e=Mr(rt(r));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var t=0;t<e.length;t++)this.username+=ft(e[t],ju)}},getPassword:function(){return this.password},setPassword:function(r){var e=Mr(rt(r));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var t=0;t<e.length;t++)this.password+=ft(e[t],ju)}},getHost:function(){var r=this.host,e=this.port;return r===null?"":e===null?Nn(r):Nn(r)+":"+e},setHost:function(r){this.cannotBeABaseURL||this.parse(r,Vu)},getHostname:function(){var r=this.host;return r===null?"":Nn(r)},setHostname:function(r){this.cannotBeABaseURL||this.parse(r,Ju)},getPort:function(){var r=this.port;return r===null?"":rt(r)},setPort:function(r){this.cannotHaveUsernamePasswordPort()||(r=rt(r),r==""?this.port=null:this.parse(r,$u))},getPathname:function(){var r=this.path;return this.cannotBeABaseURL?r[0]:r.length?"/"+qn(r,"/"):""},setPathname:function(r){this.cannotBeABaseURL||(this.path=[],this.parse(r,Ur))},getSearch:function(){var r=this.query;return r?"?"+r:""},setSearch:function(r){r=rt(r),r==""?this.query=null:(Ae(r,0)=="?"&&(r=jn(r,1)),this.query="",this.parse(r,Kt)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var r=this.fragment;return r?"#"+r:""},setHash:function(r){if(r=rt(r),r==""){this.fragment=null;return}Ae(r,0)=="#"&&(r=jn(r,1)),this.fragment="",this.parse(r,tt)},update:function(){this.query=this.searchParams.serialize()||null}};var Lr=function(e){var t=wx(this,Y),i=Ex(arguments.length,1)>1?arguments[1]:void 0,n=Rx(t,new sc(e,!1,i));rc||(t.href=n.serialize(),t.origin=n.getOrigin(),t.protocol=n.getProtocol(),t.username=n.getUsername(),t.password=n.getPassword(),t.host=n.getHost(),t.hostname=n.getHostname(),t.port=n.getPort(),t.pathname=n.getPathname(),t.search=n.getSearch(),t.searchParams=n.getSearchParams(),t.hash=n.getHash())},Y=Lr.prototype,we=function(r,e){return{get:function(){return Wa(this)[r]()},set:e&&function(t){return Wa(this)[e](t)},configurable:!0,enumerable:!0}};rc&&(Ce(Y,"href",we("serialize","setHref")),Ce(Y,"origin",we("getOrigin")),Ce(Y,"protocol",we("getProtocol","setProtocol")),Ce(Y,"username",we("getUsername","setUsername")),Ce(Y,"password",we("getPassword","setPassword")),Ce(Y,"host",we("getHost","setHost")),Ce(Y,"hostname",we("getHostname","setHostname")),Ce(Y,"port",we("getPort","setPort")),Ce(Y,"pathname",we("getPathname","setPathname")),Ce(Y,"search",we("getSearch","setSearch")),Ce(Y,"searchParams",we("getSearchParams")),Ce(Y,"hash",we("getHash","setHash")));ja(Y,"toJSON",function(){return Wa(this).serialize()},{enumerable:!0});ja(Y,"toString",function(){return Wa(this).serialize()},{enumerable:!0});_n&&(Zu=_n.createObjectURL,Yu=_n.revokeObjectURL,Zu&&ja(Lr,"createObjectURL",Gh(Zu,_n)),Yu&&ja(Lr,"revokeObjectURL",Gh(Yu,_n)));var Zu,Yu;Tx(Lr,"URL");Cx({global:!0,constructor:!0,forced:!Ix,sham:!rc},{URL:Lr})});var lv=h(()=>{dv()});var uv=h(()=>{"use strict";var Qx=Tn(),e0=Ne();Qx({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return e0(URL.prototype.toString,this)}})});var cv=h(()=>{qu()});var pv=h((yM,mv)=>{var t0=ce();mv.exports=t0});var fv=h((bM,gv)=>{lv();uv();cv();var r0=pv();gv.exports=r0.URL});var Fc=h((LL,by)=>{var vT=Object.prototype.toString;by.exports=function(e){if(e===void 0)return"undefined";if(e===null)return"null";var t=typeof e;if(t==="boolean")return"boolean";if(t==="string")return"string";if(t==="number")return"number";if(t==="symbol")return"symbol";if(t==="function")return ST(e)?"generatorfunction":"function";if(yT(e))return"array";if(wT(e))return"buffer";if(IT(e))return"arguments";if(PT(e))return"date";if(bT(e))return"error";if(kT(e))return"regexp";switch(yy(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(CT(e))return"generator";switch(t=vT.call(e),t){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return t.slice(8,-1).toLowerCase().replace(/\s/g,"")};function yy(r){return typeof r.constructor=="function"?r.constructor.name:null}function yT(r){return Array.isArray?Array.isArray(r):r instanceof Array}function bT(r){return r instanceof Error||typeof r.message=="string"&&r.constructor&&typeof r.constructor.stackTraceLimit=="number"}function PT(r){return r instanceof Date?!0:typeof r.toDateString=="function"&&typeof r.getDate=="function"&&typeof r.setDate=="function"}function kT(r){return r instanceof RegExp?!0:typeof r.flags=="string"&&typeof r.ignoreCase=="boolean"&&typeof r.multiline=="boolean"&&typeof r.global=="boolean"}function ST(r,e){return yy(r)==="GeneratorFunction"}function CT(r){return typeof r.throw=="function"&&typeof r.return=="function"&&typeof r.next=="function"}function IT(r){try{if(typeof r.length=="number"&&typeof r.callee=="function")return!0}catch(e){if(e.message.indexOf("callee")!==-1)return!0}return!1}function wT(r){return r.constructor&&typeof r.constructor.isBuffer=="function"?r.constructor.isBuffer(r):!1}});var Sy=h((DL,ky)=>{"use strict";var Py=Symbol.prototype.valueOf,AT=Fc();function xT(r,e){switch(AT(r)){case"array":return r.slice();case"object":return Object.assign({},r);case"date":return new r.constructor(Number(r));case"map":return new Map(r);case"set":return new Set(r);case"buffer":return FT(r);case"symbol":return OT(r);case"arraybuffer":return ET(r);case"float32array":case"float64array":case"int16array":case"int32array":case"int8array":case"uint16array":case"uint32array":case"uint8clampedarray":case"uint8array":return RT(r);case"regexp":return TT(r);case"error":return Object.create(r);default:return r}}function TT(r){let e=r.flags!==void 0?r.flags:/\w+$/.exec(r)||void 0,t=new r.constructor(r.source,e);return t.lastIndex=r.lastIndex,t}function ET(r){let e=new r.constructor(r.byteLength);return new Uint8Array(e).set(new Uint8Array(r)),e}function RT(r,e){return new r.constructor(r.buffer,r.byteOffset,r.length)}function FT(r){let e=r.length,t=Buffer.allocUnsafe?Buffer.allocUnsafe(e):Buffer.from(e);return r.copy(t),t}function OT(r){return Py?Object(Py.call(r)):{}}ky.exports=xT});var Iy=h((_L,Cy)=>{"use strict";Cy.exports=function(e){return e!=null&&typeof e=="object"&&Array.isArray(e)===!1}});var xy=h((NL,Ay)=>{"use strict";var MT=Iy();function wy(r){return MT(r)===!0&&Object.prototype.toString.call(r)==="[object Object]"}Ay.exports=function(e){var t,i;return!(wy(e)===!1||(t=e.constructor,typeof t!="function")||(i=t.prototype,wy(i)===!1)||i.hasOwnProperty("isPrototypeOf")===!1)}});var Ey=h((qL,Ty)=>{"use strict";var UT=Sy(),BT=Fc(),LT=xy();function Oc(r,e){switch(BT(r)){case"object":return DT(r,e);case"array":return _T(r,e);default:return UT(r)}}function DT(r,e){if(typeof e=="function")return e(r);if(e||LT(r)){let t=new r.constructor;for(let i in r)t[i]=Oc(r[i],e);return t}return r}function _T(r,e){let t=new r.constructor(r.length);for(let i=0;i<r.length;i++)t[i]=Oc(r[i],e);return t}Ty.exports=Oc});var Gc=h((rs,si)=>{var NT=200,Wc="__lodash_hash_undefined__",Sd=1,Hy=2,jy=9007199254740991,fd="[object Arguments]",Lc="[object Array]",qT="[object AsyncFunction]",Wy="[object Boolean]",Gy="[object Date]",zy="[object Error]",Vy="[object Function]",HT="[object GeneratorFunction]",hd="[object Map]",Jy="[object Number]",jT="[object Null]",ni="[object Object]",Ry="[object Promise]",WT="[object Proxy]",$y="[object RegExp]",vd="[object Set]",Ky="[object String]",GT="[object Symbol]",zT="[object Undefined]",Dc="[object WeakMap]",Xy="[object ArrayBuffer]",yd="[object DataView]",VT="[object Float32Array]",JT="[object Float64Array]",$T="[object Int8Array]",KT="[object Int16Array]",XT="[object Int32Array]",ZT="[object Uint8Array]",YT="[object Uint8ClampedArray]",QT="[object Uint16Array]",eE="[object Uint32Array]",tE=/[\\^$.*+?()[\]{}|]/g,rE=/^\[object .+?Constructor\]$/,iE=/^(?:0|[1-9]\d*)$/,q={};q[VT]=q[JT]=q[$T]=q[KT]=q[XT]=q[ZT]=q[YT]=q[QT]=q[eE]=!0;q[fd]=q[Lc]=q[Xy]=q[Wy]=q[yd]=q[Gy]=q[zy]=q[Vy]=q[hd]=q[Jy]=q[ni]=q[$y]=q[vd]=q[Ky]=q[Dc]=!1;var Zy=typeof global=="object"&&global&&global.Object===Object&&global,nE=typeof self=="object"&&self&&self.Object===Object&&self,ot=Zy||nE||Function("return this")(),Yy=typeof rs=="object"&&rs&&!rs.nodeType&&rs,Fy=Yy&&typeof si=="object"&&si&&!si.nodeType&&si,Qy=Fy&&Fy.exports===Yy,Mc=Qy&&Zy.process,Oy=function(){try{return Mc&&Mc.binding&&Mc.binding("util")}catch{}}(),My=Oy&&Oy.isTypedArray;function sE(r,e){for(var t=-1,i=r==null?0:r.length,n=0,o=[];++t<i;){var a=r[t];e(a,t,r)&&(o[n++]=a)}return o}function oE(r,e){for(var t=-1,i=e.length,n=r.length;++t<i;)r[n+t]=e[t];return r}function aE(r,e){for(var t=-1,i=r==null?0:r.length;++t<i;)if(e(r[t],t,r))return!0;return!1}function dE(r,e){for(var t=-1,i=Array(r);++t<r;)i[t]=e(t);return i}function lE(r){return function(e){return r(e)}}function uE(r,e){return r.has(e)}function cE(r,e){return r?.[e]}function mE(r){var e=-1,t=Array(r.size);return r.forEach(function(i,n){t[++e]=[n,i]}),t}function pE(r,e){return function(t){return r(e(t))}}function gE(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}var fE=Array.prototype,hE=Function.prototype,Cd=Object.prototype,Uc=ot["__core-js_shared__"],eb=hE.toString,Xe=Cd.hasOwnProperty,Uy=function(){var r=/[^.]+$/.exec(Uc&&Uc.keys&&Uc.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}(),tb=Cd.toString,vE=RegExp("^"+eb.call(Xe).replace(tE,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),By=Qy?ot.Buffer:void 0,bd=ot.Symbol,Ly=ot.Uint8Array,rb=Cd.propertyIsEnumerable,yE=fE.splice,nr=bd?bd.toStringTag:void 0,Dy=Object.getOwnPropertySymbols,bE=By?By.isBuffer:void 0,PE=pE(Object.keys,Object),_c=oi(ot,"DataView"),is=oi(ot,"Map"),Nc=oi(ot,"Promise"),qc=oi(ot,"Set"),Hc=oi(ot,"WeakMap"),ns=oi(Object,"create"),kE=ar(_c),SE=ar(is),CE=ar(Nc),IE=ar(qc),wE=ar(Hc),_y=bd?bd.prototype:void 0,Bc=_y?_y.valueOf:void 0;function sr(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}function AE(){this.__data__=ns?ns(null):{},this.size=0}function xE(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}function TE(r){var e=this.__data__;if(ns){var t=e[r];return t===Wc?void 0:t}return Xe.call(e,r)?e[r]:void 0}function EE(r){var e=this.__data__;return ns?e[r]!==void 0:Xe.call(e,r)}function RE(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=ns&&e===void 0?Wc:e,this}sr.prototype.clear=AE;sr.prototype.delete=xE;sr.prototype.get=TE;sr.prototype.has=EE;sr.prototype.set=RE;function at(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}function FE(){this.__data__=[],this.size=0}function OE(r){var e=this.__data__,t=Id(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():yE.call(e,t,1),--this.size,!0}function ME(r){var e=this.__data__,t=Id(e,r);return t<0?void 0:e[t][1]}function UE(r){return Id(this.__data__,r)>-1}function BE(r,e){var t=this.__data__,i=Id(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}at.prototype.clear=FE;at.prototype.delete=OE;at.prototype.get=ME;at.prototype.has=UE;at.prototype.set=BE;function or(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e<t;){var i=r[e];this.set(i[0],i[1])}}function LE(){this.size=0,this.__data__={hash:new sr,map:new(is||at),string:new sr}}function DE(r){var e=wd(this,r).delete(r);return this.size-=e?1:0,e}function _E(r){return wd(this,r).get(r)}function NE(r){return wd(this,r).has(r)}function qE(r,e){var t=wd(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}or.prototype.clear=LE;or.prototype.delete=DE;or.prototype.get=_E;or.prototype.has=NE;or.prototype.set=qE;function Pd(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new or;++e<t;)this.add(r[e])}function HE(r){return this.__data__.set(r,Wc),this}function jE(r){return this.__data__.has(r)}Pd.prototype.add=Pd.prototype.push=HE;Pd.prototype.has=jE;function wt(r){var e=this.__data__=new at(r);this.size=e.size}function WE(){this.__data__=new at,this.size=0}function GE(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}function zE(r){return this.__data__.get(r)}function VE(r){return this.__data__.has(r)}function JE(r,e){var t=this.__data__;if(t instanceof at){var i=t.__data__;if(!is||i.length<NT-1)return i.push([r,e]),this.size=++t.size,this;t=this.__data__=new or(i)}return t.set(r,e),this.size=t.size,this}wt.prototype.clear=WE;wt.prototype.delete=GE;wt.prototype.get=zE;wt.prototype.has=VE;wt.prototype.set=JE;function $E(r,e){var t=kd(r),i=!t&&lR(r),n=!t&&!i&&jc(r),o=!t&&!i&&!n&&lb(r),a=t||i||n||o,c=a?dE(r.length,String):[],p=c.length;for(var g in r)(e||Xe.call(r,g))&&!(a&&(g=="length"||n&&(g=="offset"||g=="parent")||o&&(g=="buffer"||g=="byteLength"||g=="byteOffset")||nR(g,p)))&&c.push(g);return c}function Id(r,e){for(var t=r.length;t--;)if(sb(r[t][0],e))return t;return-1}function KE(r,e,t){var i=e(r);return kd(r)?i:oE(i,t(r))}function os(r){return r==null?r===void 0?zT:jT:nr&&nr in Object(r)?rR(r):dR(r)}function Ny(r){return ss(r)&&os(r)==fd}function ib(r,e,t,i,n){return r===e?!0:r==null||e==null||!ss(r)&&!ss(e)?r!==r&&e!==e:XE(r,e,t,i,ib,n)}function XE(r,e,t,i,n,o){var a=kd(r),c=kd(e),p=a?Lc:It(r),g=c?Lc:It(e);p=p==fd?ni:p,g=g==fd?ni:g;var v=p==ni,m=g==ni,y=p==g;if(y&&jc(r)){if(!jc(e))return!1;a=!0,v=!1}if(y&&!v)return o||(o=new wt),a||lb(r)?nb(r,e,t,i,n,o):eR(r,e,p,t,i,n,o);if(!(t&Sd)){var P=v&&Xe.call(r,"__wrapped__"),C=m&&Xe.call(e,"__wrapped__");if(P||C){var I=P?r.value():r,A=C?e.value():e;return o||(o=new wt),n(I,A,t,i,o)}}return y?(o||(o=new wt),tR(r,e,t,i,n,o)):!1}function ZE(r){if(!db(r)||oR(r))return!1;var e=ob(r)?vE:rE;return e.test(ar(r))}function YE(r){return ss(r)&&ab(r.length)&&!!q[os(r)]}function QE(r){if(!aR(r))return PE(r);var e=[];for(var t in Object(r))Xe.call(r,t)&&t!="constructor"&&e.push(t);return e}function nb(r,e,t,i,n,o){var a=t&Sd,c=r.length,p=e.length;if(c!=p&&!(a&&p>c))return!1;var g=o.get(r);if(g&&o.get(e))return g==e;var v=-1,m=!0,y=t&Hy?new Pd:void 0;for(o.set(r,e),o.set(e,r);++v<c;){var P=r[v],C=e[v];if(i)var I=a?i(C,P,v,e,r,o):i(P,C,v,r,e,o);if(I!==void 0){if(I)continue;m=!1;break}if(y){if(!aE(e,function(A,U){if(!uE(y,U)&&(P===A||n(P,A,t,i,o)))return y.push(U)})){m=!1;break}}else if(!(P===C||n(P,C,t,i,o))){m=!1;break}}return o.delete(r),o.delete(e),m}function eR(r,e,t,i,n,o,a){switch(t){case yd:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case Xy:return!(r.byteLength!=e.byteLength||!o(new Ly(r),new Ly(e)));case Wy:case Gy:case Jy:return sb(+r,+e);case zy:return r.name==e.name&&r.message==e.message;case $y:case Ky:return r==e+"";case hd:var c=mE;case vd:var p=i&Sd;if(c||(c=gE),r.size!=e.size&&!p)return!1;var g=a.get(r);if(g)return g==e;i|=Hy,a.set(r,e);var v=nb(c(r),c(e),i,n,o,a);return a.delete(r),v;case GT:if(Bc)return Bc.call(r)==Bc.call(e)}return!1}function tR(r,e,t,i,n,o){var a=t&Sd,c=qy(r),p=c.length,g=qy(e),v=g.length;if(p!=v&&!a)return!1;for(var m=p;m--;){var y=c[m];if(!(a?y in e:Xe.call(e,y)))return!1}var P=o.get(r);if(P&&o.get(e))return P==e;var C=!0;o.set(r,e),o.set(e,r);for(var I=a;++m<p;){y=c[m];var A=r[y],U=e[y];if(i)var ue=a?i(U,A,y,e,r,o):i(A,U,y,r,e,o);if(!(ue===void 0?A===U||n(A,U,t,i,o):ue)){C=!1;break}I||(I=y=="constructor")}if(C&&!I){var Pn=r.constructor,ra=e.constructor;Pn!=ra&&"constructor"in r&&"constructor"in e&&!(typeof Pn=="function"&&Pn instanceof Pn&&typeof ra=="function"&&ra instanceof ra)&&(C=!1)}return o.delete(r),o.delete(e),C}function qy(r){return KE(r,mR,iR)}function wd(r,e){var t=r.__data__;return sR(e)?t[typeof e=="string"?"string":"hash"]:t.map}function oi(r,e){var t=cE(r,e);return ZE(t)?t:void 0}function rR(r){var e=Xe.call(r,nr),t=r[nr];try{r[nr]=void 0;var i=!0}catch{}var n=tb.call(r);return i&&(e?r[nr]=t:delete r[nr]),n}var iR=Dy?function(r){return r==null?[]:(r=Object(r),sE(Dy(r),function(e){return rb.call(r,e)}))}:pR,It=os;(_c&&It(new _c(new ArrayBuffer(1)))!=yd||is&&It(new is)!=hd||Nc&&It(Nc.resolve())!=Ry||qc&&It(new qc)!=vd||Hc&&It(new Hc)!=Dc)&&(It=function(r){var e=os(r),t=e==ni?r.constructor:void 0,i=t?ar(t):"";if(i)switch(i){case kE:return yd;case SE:return hd;case CE:return Ry;case IE:return vd;case wE:return Dc}return e});function nR(r,e){return e=e??jy,!!e&&(typeof r=="number"||iE.test(r))&&r>-1&&r%1==0&&r<e}function sR(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}function oR(r){return!!Uy&&Uy in r}function aR(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||Cd;return r===t}function dR(r){return tb.call(r)}function ar(r){if(r!=null){try{return eb.call(r)}catch{}try{return r+""}catch{}}return""}function sb(r,e){return r===e||r!==r&&e!==e}var lR=Ny(function(){return arguments}())?Ny:function(r){return ss(r)&&Xe.call(r,"callee")&&!rb.call(r,"callee")},kd=Array.isArray;function uR(r){return r!=null&&ab(r.length)&&!ob(r)}var jc=bE||gR;function cR(r,e){return ib(r,e)}function ob(r){if(!db(r))return!1;var e=os(r);return e==Vy||e==HT||e==qT||e==WT}function ab(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=jy}function db(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}function ss(r){return r!=null&&typeof r=="object"}var lb=My?lE(My):YE;function mR(r){return uR(r)?$E(r):QE(r)}function pR(){return[]}function gR(){return!1}si.exports=cR});var EP=h(Hd=>{"use strict";Hd.byteLength=LR;Hd.toByteArray=_R;Hd.fromByteArray=HR;var Ye=[],Be=[],BR=typeof Uint8Array<"u"?Uint8Array:Array,mm="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(hr=0,xP=mm.length;hr<xP;++hr)Ye[hr]=mm[hr],Be[mm.charCodeAt(hr)]=hr;var hr,xP;Be["-".charCodeAt(0)]=62;Be["_".charCodeAt(0)]=63;function TP(r){var e=r.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=e);var i=t===e?0:4-t%4;return[t,i]}function LR(r){var e=TP(r),t=e[0],i=e[1];return(t+i)*3/4-i}function DR(r,e,t){return(e+t)*3/4-t}function _R(r){var e,t=TP(r),i=t[0],n=t[1],o=new BR(DR(r,i,n)),a=0,c=n>0?i-4:i,p;for(p=0;p<c;p+=4)e=Be[r.charCodeAt(p)]<<18|Be[r.charCodeAt(p+1)]<<12|Be[r.charCodeAt(p+2)]<<6|Be[r.charCodeAt(p+3)],o[a++]=e>>16&255,o[a++]=e>>8&255,o[a++]=e&255;return n===2&&(e=Be[r.charCodeAt(p)]<<2|Be[r.charCodeAt(p+1)]>>4,o[a++]=e&255),n===1&&(e=Be[r.charCodeAt(p)]<<10|Be[r.charCodeAt(p+1)]<<4|Be[r.charCodeAt(p+2)]>>2,o[a++]=e>>8&255,o[a++]=e&255),o}function NR(r){return Ye[r>>18&63]+Ye[r>>12&63]+Ye[r>>6&63]+Ye[r&63]}function qR(r,e,t){for(var i,n=[],o=e;o<t;o+=3)i=(r[o]<<16&16711680)+(r[o+1]<<8&65280)+(r[o+2]&255),n.push(NR(i));return n.join("")}function HR(r){for(var e,t=r.length,i=t%3,n=[],o=16383,a=0,c=t-i;a<c;a+=o)n.push(qR(r,a,a+o>c?c:a+o));return i===1?(e=r[t-1],n.push(Ye[e>>2]+Ye[e<<4&63]+"==")):i===2&&(e=(r[t-2]<<8)+r[t-1],n.push(Ye[e>>10]+Ye[e>>4&63]+Ye[e<<2&63]+"=")),n.join("")}});var Uq=kn(fv(),1);function f(r,e){if(r==null)throw Error(e??"Expected nonnullish value.")}function Xt(r,e){if(!r)throw Error(e)}var Q;(function(r){r.COMMENT="t1_",r.ACCOUNT="t2_",r.LINK="t3_",r.MESSAGE="t4_",r.SUBREDDIT="t5_",r.AWARD="t6_"})(Q||(Q={}));function ht(r){return r.startsWith(Q.COMMENT)}function Va(r){return r.startsWith(Q.ACCOUNT)}function Zt(r){return r.startsWith(Q.LINK)}function hv(r){return r.startsWith(Q.MESSAGE)}function vv(r){return r.startsWith(Q.SUBREDDIT)}function yv(r){return r.startsWith(Q.AWARD)}function i0(r){Xt(ht(r),`Expected comment id to start with ${Q.COMMENT}, got ${r}}`)}function n0(r){Xt(Va(r),`Expected account id to start with ${Q.ACCOUNT}, got ${r}}`)}function s0(r){Xt(Zt(r),`Expected link id to start with ${Q.LINK}, got ${r}}`)}function o0(r){Xt(hv(r),`Expected message id to start with ${Q.MESSAGE}, got ${r}}`)}function a0(r){Xt(vv(r),`Expected subreddit id to start with ${Q.SUBREDDIT}, got ${r}}`)}function d0(r){Xt(yv(r),`Expected award id to start with ${Q.AWARD}, got ${r}}`)}function Dr(r){return i0(r),r}function ee(r){return n0(r),r}function ge(r){return s0(r),r}function l0(r){return o0(r),r}function Te(r){return a0(r),r}function u0(r){return d0(r),r}function fe(r){if(ht(r))return Dr(r);if(Va(r))return ee(r);if(Zt(r))return ge(r);if(hv(r))return l0(r);if(vv(r))return Te(r);if(yv(r))return u0(r);throw new Error(`Expected thing id to start with ${Object.values(Q).join(", ")} got ${r}}`)}function oc(r){return ht(r)}import*as S from"@devvit/protos";var Ja=class{constructor(e){}};var ac=(t=>(t.Installation="installation",t.App="app",t))(ac||{});function Yt(r,e=new Set){for(let t of r){if(t.type==="group"){Yt(t.fields,e);continue}let i=t.name;if(e.has(i))throw new Error(`Duplicate field name: ${i}`);e.add(i)}c0(r)}function c0(r){for(let e of r)if(e.type==="string"&&e.isSecret&&e.scope!=="app")throw`Invalid setting: only app settings can be secrets. Add "scope: SettingScope.App" to field "${e.name}"`}var vt=Object.freeze({INTERVAL:0,FORM:1,STATE:2,CHANNEL:3});var EM=["activity","add-emoji","add","add-media","add-to-feed","admin","align-center","align-left","align-right","all","appearance","approve","archived","aspect-ratio","aspect-rectangle","attach","audio","author","avatar-style","award","back","ban","best","binoculars","block","blockchain","bold","bot","boost","bounce","browse","browser","cake","calendar","camera","caret-down","caret-left","caret-right","caret-up","chat","chat-group","chat-new","checkbox-dismiss","checkbox","checkmark","chrome","clear","close","closed-captioning","code-block","code-inline","coins-color-old","coins-color","coins","collapse-left","collapse-right","collection","comment","comments","community","contest","controversial","crop","crosspost","crowd-control","custom-feed","customize","day","delete","discover","dismiss-all","distinguish","down-arrow","down","download","downvote","downvotes","drag","drugs","duplicate","edit","effect","embed","emoji","end-live-chat","error","expand-left","expand-right","external","feed-video","filter","format","forward","gif-post","heart","help","hide","history","home","hot","ignore-reports","image-post","inbox","info","invite","italic","join","joined","jump-down","jump-up","karma","keyboard","kick","language","leave","left","link","link-post","list-bulleted","list-numbered","live-chat","live","load","location","lock","logout","loop","mark-read","mask","media-gallery","meme","menu","message","mic","mic-mute","mod","mod-mail","mod-mode","mod-mute","mod-overflow","mod-queue","mod-unmute","music","new","night","notification","notification-frequent","notification-off","nsfw","nsfw-language","nsfw-violence","original","overflow-caret","overflow-horizontal","overflow-vertical","pause","payment","peace","pending-posts","phone","pin","planet","play","poll-post","popular","posts","powerup-color-outline","powerup-fill-color","powerup","predictions","premium","privacy","profile","qa","qr-code","quarantined","quote","r-slash","radio-button","raise-hand","random","ratings-everyone","ratings-mature","ratings-nsfw","ratings-violence","refresh","remove","reply","report","reverse","right","rising","rotate","rotate-image","rpan","rules","safari","save","saved","search","self","send","settings","share-android","share","share-ios","show","side-menu","skipback10","skipforward10","sort-az","sort","sort-price","sort-za","spam","spoiler","sponsored","star","statistics","status-live","sticker","strikethrough","subtract","superscript","swap-camera","swipe-back","swipe-down","swipe","swipe-up","table","tag","tap","telescope","text","text-post","text-size","toggle","tools","top","topic-activism","topic-addictionsupport","topic-advice","topic-animals","topic-anime","topic-art","topic-beauty","topic-business","topic-careers","topic-cars","topic-celebrity","topic-craftsdiy","topic-crypto","topic-culture","topic-diy","topic-entertainment","topic-ethics","topic-family","topic-fashion","topic","topic-fitness","topic-food","topic-funny","topic-gender","topic-health","topic-help","topic-history","topic-hobbies","topic-homegarden","topic-internet","topic-law","topic-learning","topic-lifestyle","topic-marketplace","topic-mature","topic-mensfashion","topic-menshealth","topic-meta","topic-military","topic-movies","topic-music","topic-news","topic-other","topic-outdoors","topic-pets","topic-photography","topic-places","topic-podcasts","topic-politics","topic-programming","topic-reading","topic-religion","topic-science","topic-sexorientation","topic-sports","topic-style","topic-tabletop","topic-technology","topic-television","topic-traumasupport","topic-travel","topic-videogaming","topic-womensfashion","topic-womenshealth","translate","trim","u-slash","unban","undo","unheart","unlock","unmod","unpin","unverified","up-arrow","up","upload","upvote","upvotes","user","user-note","users","vault","verified","video-camera","video-feed","video-live-1","video-live-fill-1","video-live","video-post","video-thread","video-transcription","view-card","view-classic","view-compact","view-grid","views","volume","volume-mute","wallet","warning","wiki-ban","wiki","wiki-unban","world"];import{AppSettingsDefinition as I0,GetFieldsResponse as w0}from"@devvit/protos";import{FormField as Qt,FormFieldType as Ee}from"@devvit/protos";function it(r){return r.map(e=>{switch(e.type){case"string":return m0(e);case"image":return p0(e);case"paragraph":return g0(e);case"number":return f0(e);case"select":return h0(e);case"boolean":return v0(e);case"group":return y0(e);default:throw new Error("Unknown field type.")}})}function m0(r){return Qt.fromPartial({defaultValue:{fieldType:Ee.STRING,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{stringConfig:{placeholder:r.placeholder}},fieldId:r.name,fieldType:Ee.STRING,helpText:r.helpText,label:r.label,required:r.required,isSecret:r.isSecret})}function p0(r){return Qt.fromPartial({disabled:r.disabled,fieldId:r.name,fieldType:Ee.IMAGE,helpText:r.helpText,label:r.label,required:r.required})}function g0(r){return Qt.fromPartial({defaultValue:{fieldType:Ee.PARAGRAPH,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{paragraphConfig:{lineHeight:r.lineHeight,placeholder:r.placeholder}},fieldId:r.name,fieldType:Ee.PARAGRAPH,helpText:r.helpText,label:r.label,required:r.required})}function f0(r){return Qt.fromPartial({defaultValue:{fieldType:Ee.NUMBER,numberValue:r.defaultValue},disabled:r.disabled,fieldConfig:{numberConfig:{}},fieldId:r.name,fieldType:Ee.NUMBER,helpText:r.helpText,label:r.label,required:r.required})}function h0(r){return Qt.fromPartial({defaultValue:{fieldType:Ee.SELECTION,selectionValue:{values:r.defaultValue}},disabled:r.disabled,fieldConfig:{selectionConfig:{choices:r.options,multiSelect:r.multiSelect}},fieldId:r.name,fieldType:Ee.SELECTION,helpText:r.helpText,label:r.label,required:r.required})}function v0(r){return Qt.fromPartial({defaultValue:{fieldType:Ee.BOOLEAN,boolValue:r.defaultValue},disabled:r.disabled,fieldId:r.name,fieldType:Ee.BOOLEAN,helpText:r.helpText,label:r.label})}function y0(r){return Qt.fromPartial({fieldType:Ee.GROUP,fieldConfig:{groupConfig:{fields:it(r.fields)}},label:r.label,helpText:r.helpText})}function M(r,e){u.prototype[r]=e}import{ValidateFormResponse as C0}from"@devvit/protos";import{RealtimeSubscriptionStatus as bv}from"@devvit/protos";var se=Object.freeze({Actor:"devvit-actor",App:"devvit-app",AppUser:"devvit-app-user",AppViewerAuthToken:"devvit-app-viewer-authorization",Caller:"devvit-caller",CallerPortID:"devvit-caller-port-id",Canary:"devvit-canary",DebugRenderXML:"devvit-debug-render-xml",GQLHost:"devvit-gql-host",Installation:"devvit-installation",ModPermissions:"devvit-mod-permissions",R2Auth:"devvit-sec-authorization",R2Host:"devvit-r2-host",RemoteHostname:"devvit-remote-hostname",SettingsUri:"devvit-sec-settings-uri",StreamID:"devvit-stream-id",Subreddit:"devvit-subreddit",TraceID:"devvit-trace-id",User:"devvit-user",Version:"devvit-version"});function Pv(r){function e(t){let i=r.currentHookIndex,n=r.getCurrentComponentState(),o=r.getPreviousComponentState(),a=r.metadata[se.App]?.values[0];f(a,"useChannel - app is missing from Context");let c=r.metadata[se.Installation]?.values[0];f(c,"useChannel - installation is missing from Context");async function p(I){let A=n[i].channel;if(n[i].active)if(n[i].connected)await r.realtime.send(A,I);else throw Error(`Failed to send to channel '${A}'; it is active but not yet connected`);else throw Error(`Cannot send a message over inactive channel: ${A}`)}function g(){if(!n[i].active){let I=n[i].channel;n[i].active=!0,r.addRealtimeChannel(I)}}function v(){if(n[i].active){let I=n[i].channel;n[i].active=!1,r.removeRealtimeChannel(I)}}function m(I){return async()=>{let A;switch(I.status){case bv.REALTIME_SUBSCRIBED:n[i].connected=!0,A=t.onSubscribed?.();break;case bv.REALTIME_UNSUBSCRIBED:n[i].connected=!1,A=t.onUnsubscribed?.();break;default:A=t.onMessage(I.event?.data??{});break}await A}}let y={channel:`${a}:${c}:${t.name}`,active:!1,connected:!1,preventCallback:!1,type:vt.CHANNEL};i in n?y=n[i]:i in o&&(y=o[i]);let P=r.realtimeEvent;r.isInitialRender?y.active=!1:P&&y.active&&P.event.channel===y.channel&&(y.preventCallback||r.runHook(m(P)),r.rerenderIn(0)),n[i]=y,r.currentHookIndex++;let C=0;return y.active&&y.connected?C=2:y.active&&!y.connected?C=1:!y.active&&y.connected?C=3:!y.active&&!y.connected&&(C=4),{subscribe:g,unsubscribe:v,send:p,status:C}}return e}import{FormFieldType as _r}from"@devvit/protos";function dc(r){switch(r.fieldType){case _r.STRING:return r.stringValue;case _r.IMAGE:return r.stringValue;case _r.PARAGRAPH:return r.stringValue;case _r.NUMBER:return r.numberValue;case _r.BOOLEAN:return r.boolValue;case _r.SELECTION:return r.selectionValue?.values??[];default:return}}function yt(r){return Object.keys(r).reduce((e,t)=>(e[t]=dc(r[t]),e),{})}function kv(r){function e(t,i){let n=r.currentHookIndex,o=r.getCurrentComponentKey(),a=r.getCurrentComponentState(),c=r.getPreviousComponentState(),p=`form.hook.${o}.${n}`,g={formKey:p,preventSubmit:!1,type:vt.FORM};n in a?g=a[n]:n in c&&(g=c[n]),a[n]=g,r.forms.set(p,t);let v=r.formSubmittedEvent;return v&&!g.preventSubmit&&v.formId===p&&r.runHook(async()=>{let m=i(yt(v.results));m&&m instanceof Promise&&await m,r.rerenderIn(0)}),a[n].preventSubmit=!1,r.currentHookIndex++,p}return e}function Sv(r){function e(t,i){let n=r.currentHookIndex,o=r.getCurrentComponentState(),a=r.getPreviousComponentState(),c=100,p=Math.max(c,i),g={lastRun:void 0,running:!1,preventCallback:!1,type:vt.INTERVAL};n in o?g=o[n]:n in a&&(g=a[n]);function v(){i<c&&console.error(`useInterval delay must be at least ${c}ms. Your interval of ${i}ms was automatically extended.`);for(let[y,P]of Object.entries(o))if(y!==n.toString()&&P?.type===vt.INTERVAL&&P?.running)throw new Error("Only one useInterval hook may be running at a time");o[n]={running:!0,lastRun:o[n]?.lastRun??Date.now(),preventCallback:!1,type:vt.INTERVAL},r.rerenderIn(p)}function m(){o[n].running=!1,o[n].lastRun=void 0,o[n].preventCallback=!1}return r.isEffectRender&&g.running&&(g.preventCallback||(g.lastRun===void 0||g.lastRun+p<Date.now())&&r.runHook(async()=>{let y=t();y&&y instanceof Promise&&await y,g.lastRun=Date.now()}),r.rerenderIn(p)),g.preventCallback=!1,o[n]=g,r.currentHookIndex++,{start:v,stop:m}}return e}function Cv(r){function e(t){let i=r.currentHookIndex,n=r.getCurrentComponentState(),o=r.getPreviousComponentState();if(i in n)return r.currentHookIndex++,[n[i],a];if(r.isInitialRender||!(i in o)){let c=t instanceof Function?t():t;if(c instanceof Promise)throw(async()=>{n[i]=await c,r.currentHookIndex=0})();n[i]=c}else n[i]=o[i];function a(c){if(r.isRendering)throw new Error("Cannot call setState while rendering.");n[i]=c instanceof Function?c(n[i]):c}return r.currentHookIndex++,[n[i],a]}return e}var Nr,qr,$a,Iv,Ka,wv,Hr=class{constructor(e,t){l(this,$a);l(this,Ka);l(this,Nr,void 0);l(this,qr,void 0);d(this,Nr,e),d(this,qr,t)}async getURL(e){return typeof e=="string"?b(this,$a,Iv).call(this,e):b(this,Ka,wv).call(this,e)}};Nr=new WeakMap,qr=new WeakMap,$a=new WeakSet,Iv=async function(e){let t=globalThis?.devvit?.config?.assets?.[e];if(t)return t;let i=await s(this,qr).call(this).GetAssetURL({path:e},s(this,Nr));if(!i.found)throw new Error(`Could not load the URL for asset ${e}`);return i.url},Ka=new WeakSet,wv=async function(e){let t={},i=[],n=globalThis?.devvit?.config?.assets;if(n)for(let a of e)n[a]?t[a]=n[a]:i.push(a);else i=e;if(i.length===0)return t;let o=await s(this,qr).call(this).GetAssetURLs({paths:i},s(this,Nr));i=[];for(let[a,c]of Object.entries(o.urls))c.found?t[a]=c.paths[0]:i.push(a);if(i.length>0)throw new Error(`The following assets were missing from the assets list: ${i.join(", ")}`);return t};var bt,jr=class{constructor(e){l(this,bt,void 0);d(this,bt,e)}async get(e){let{messages:t}=await u.kvStorePlugin.Get({keys:[e]},s(this,bt));try{if(t[e])return JSON.parse(t[e])}catch{return}}async put(e,t){let i={};i[e]=JSON.stringify(t),await u.kvStorePlugin.Put({messages:i},s(this,bt))}async delete(e){await u.kvStorePlugin.Del({keys:[e]},s(this,bt))}async list(){let{keys:e}=await u.kvStorePlugin.List({filter:"*"},s(this,bt));return e}};bt=new WeakMap;var Wn,Wr=class{constructor(e){l(this,Wn,void 0);d(this,Wn,e)}async upload(e){let t=await u.mediaPlugin.Upload(e,s(this,Wn));if(!t.mediaId)throw new Error("unable to get mediaId via uploads");return Promise.resolve({mediaId:t.mediaId,mediaUrl:t.mediaUrl})}};Wn=new WeakMap;var Gn,Gr=class{constructor(e){l(this,Gn,void 0);d(this,Gn,e)}async add(e){await u.modLogPlugin.Add(e,s(this,Gn))}};Gn=new WeakMap;var k,zn,Vr=class{constructor(e){l(this,k,void 0);l(this,zn,void 0);d(this,k,e),d(this,zn,new Za(e))}get modMail(){return s(this,zn)}getSubredditById(e){return he.getById(fe(e),s(this,k))}getSubredditByName(e){return he.getByName(e,s(this,k))}addSubredditRemovalReason(e,t){return he.addRemovalReason(e,t.title,t.message,s(this,k))}getSubredditRemovalReasons(e){return he.getRemovalReasons(e,s(this,k))}getCurrentSubreddit(){return he.getFromMetadata(s(this,k))}getPostById(e){return z.getById(fe(e),s(this,k))}submitPost(e){return z.submit(e,s(this,k))}crosspost(e){return z.crosspost(e,s(this,k))}getUserById(e){return w.getById(fe(e),s(this,k))}getCollectionById(e){return zr.getCollectionById({collectionId:e},s(this,k))}createCollection(e){return zr.create(e,s(this,k))}getCollectionsForSubreddit(e){return zr.getCollectionsForSubreddit({subredditId:e},s(this,k))}getUserByUsername(e){return w.getByUsername(e,s(this,k))}getCurrentUser(){return w.getFromMetadata(se.User,s(this,k))}getAppUser(){return w.getFromMetadata(se.AppUser,s(this,k))}getSnoovatarUrl(e){return w.getSnoovatarUrl(e,s(this,k))}getCommentById(e){return K.getById(fe(e),s(this,k))}getComments(e){return K.getComments(e,s(this,k))}getCommentsByUser(e){return K.getCommentsByUser(e,s(this,k))}submitComment(e){return K.submit({...e,id:fe(e.id)},s(this,k))}getControversialPosts(e){return z.getControversialPosts(e,s(this,k))}getTopPosts(e){return z.getTopPosts(e,s(this,k))}getHotPosts(e){return z.getHotPosts(e,s(this,k))}getNewPosts(e){return z.getNewPosts(e,s(this,k))}getRisingPosts(e){return z.getRisingPosts(e,s(this,k))}getPostsByUser(e){return z.getPostsByUser(e,s(this,k))}getCommentsAndPostsByUser(e){return w.getOverview(e,s(this,k))}getModerationLog(e){return Xa(e,s(this,k))}getApprovedUsers(e){return w.getSubredditUsersByType({type:"contributors",...e},s(this,k))}approveUser(e,t){return w.createRelationship({username:e,subredditName:t,type:"contributor"},s(this,k))}removeUser(e,t){return w.removeRelationship({username:e,subredditName:t,type:"contributor"},s(this,k))}getWikiContributors(e){return w.getSubredditUsersByType({type:"wikicontributors",...e},s(this,k))}addWikiContributor(e,t){return w.createRelationship({username:e,subredditName:t,type:"wikicontributor"},s(this,k))}removeWikiContributor(e,t){return w.removeRelationship({username:e,subredditName:t,type:"wikicontributor"},s(this,k))}getBannedUsers(e){return w.getSubredditUsersByType({type:"banned",...e},s(this,k))}banUser(e){return w.createRelationship({username:e.username,subredditName:e.subredditName,type:"banned",banReason:e.reason,banMessage:e.message,note:e.note,duration:e.duration},s(this,k))}unbanUser(e,t){return w.removeRelationship({username:e,subredditName:t,type:"banned"},s(this,k))}getBannedWikiContributors(e){return w.getSubredditUsersByType({type:"wikibanned",...e},s(this,k))}banWikiContributor(e){return w.createRelationship({...e,type:"wikibanned"},s(this,k))}unbanWikiContributor(e,t){return w.removeRelationship({username:e,subredditName:t,type:"wikibanned"},s(this,k))}getModerators(e){return w.getSubredditUsersByType({type:"moderators",...e},s(this,k))}inviteModerator(e){return w.createRelationship({type:"moderator_invite",subredditName:e.subredditName,username:e.subredditName,permissions:e.permissions??[]},s(this,k))}revokeModeratorInvite(e,t){return w.removeRelationship({username:e,subredditName:t,type:"moderator_invite"},s(this,k))}removeModerator(e,t){return w.removeRelationship({type:"moderator",subredditName:t,username:e},s(this,k))}setModeratorPermissions(e,t,i){return w.setModeratorPermissions(e,t,i,s(this,k))}getMutedUsers(e){return w.getSubredditUsersByType({type:"muted",...e},s(this,k))}muteUser(e){return w.createRelationship({...e,type:"muted"},s(this,k))}unmuteUser(e,t){return w.removeRelationship({username:e,subredditName:t,type:"muted"},s(this,k))}getModNotes(e){return Re.get(e,s(this,k))}deleteModNote(e){return Re.delete(e,s(this,k))}addModNote(e){let t={...e,redditId:fe(e.redditId)};return Re.add(t,s(this,k))}addRemovalNote(e){return Re.addRemovalNote(e,s(this,k))}async sendPrivateMessage(e){return er.send(e,s(this,k))}async sendPrivateMessageAsSubreddit(e){return er.sendAsSubreddit(e,s(this,k))}async approve(e){if(ht(e))return K.approve(e,s(this,k));if(Zt(e))return z.approve(e,s(this,k));throw new Error("id must start with either t1_ or t3_")}async remove(e,t){if(ht(e))return K.remove(e,t,s(this,k));if(Zt(e))return z.remove(e,t,s(this,k));throw new Error("id must start with either t1_ or t3_")}async getPostFlairTemplates(e){return oe.getPostFlairTemplates(e,s(this,k))}async getUserFlairTemplates(e){return oe.getUserFlairTemplates(e,s(this,k))}async createPostFlairTemplate(e){return oe.createPostFlairTemplate(e,s(this,k))}async createUserFlairTemplate(e){return oe.createUserFlairTemplate(e,s(this,k))}async editFlairTemplate(e){return oe.editFlairTemplate(e,s(this,k))}async deleteFlairTemplate(e,t){return oe.deleteFlairTemplate(e,t,s(this,k))}async setUserFlair(e){return Fe.setUserFlair(e,s(this,k))}async removeUserFlair(e,t){return Fe.removeUserFlair(e,t,s(this,k))}async setPostFlair(e){return Fe.setPostFlair(e,s(this,k))}async removePostFlair(e,t){return Fe.removePostFlair(e,ge(t),s(this,k))}async getWidgets(e){return te.getWidgets(e,s(this,k))}async deleteWidget(e,t){return te.delete(e,t,s(this,k))}async addWidget(e){return te.add(e,s(this,k))}async reorderWidgets(e,t){return te.reorder(e,t,s(this,k))}async getWikiPage(e,t){return ve.getPage(e,t,s(this,k))}async getWikiPages(e){return ve.getPages(e,s(this,k))}async createWikiPage(e){return ve.createPage(e,s(this,k))}async updateWikiPage(e){return ve.updatePage(e,s(this,k))}getWikiPageRevisions(e){return ve.getPageRevisions(e,s(this,k))}async revertWikiPage(e,t,i){return ve.revertPage(e,t,i,s(this,k))}async getWikiPageSettings(e,t){return ve.getPageSettings(e,t,s(this,k))}async updateWikiPageSettings(e){return ve.updatePageSettings(e,s(this,k))}async addEditorToWikiPage(e,t,i){return ve.addEditor(e,t,i,s(this,k))}async removeEditorFromWikiPage(e,t,i){return ve.removeEditor(e,t,i,s(this,k))}getMessages(e){return er.getMessages(e,s(this,k))}markAllMessagesAsRead(){return er.markAllAsRead(s(this,k))}report(e,t){return u.redditAPIPlugins.LinksAndComments.Report({reason:t.reason,thingId:e.id,srName:e.subredditName,usernames:e.authorName},s(this,k))}getModQueue(e){return he.aboutLocation({...e,location:"modqueue"},s(this,k))}getReports(e){return he.aboutLocation({...e,location:"reports"},s(this,k))}getSpam(e){return he.aboutLocation({...e,location:"spam"},s(this,k))}getUnmoderated(e){return he.aboutLocation({...e,location:"unmoderated"},s(this,k))}getEdited(e){return he.aboutLocation({...e,location:"edited"},s(this,k))}getVaultByAddress(e){return xv(e,s(this,k))}getVaultByUserId(e){return Tv(fe(e),s(this,k))}};k=new WeakMap,zn=new WeakMap;import{RedisKeyScope as lc}from"@devvit/protos";var E,R,F,uc=class{constructor(e,t,i){l(this,E,void 0);l(this,R,void 0);l(this,F,void 0);d(this,E,e),d(this,R,t),d(this,F,i)}async get(e){return await s(this,E).Get({key:e,transactionId:s(this,R)},s(this,F)),this}async multi(){await s(this,E).Multi(s(this,R),s(this,F))}async set(e,t,i){let n;return i?.expiration&&(n=Math.floor((i.expiration.getTime()-Date.now())/1e3),n<1&&(n=1)),await s(this,E).Set({key:e,value:t,nx:i?.nx===!0,xx:i?.xx===!0,expiration:n||0,transactionId:s(this,R)},s(this,F)),this}async del(...e){return await s(this,E).Del({keys:e,transactionId:s(this,R)},s(this,F)),this}async type(e){return await s(this,E).Type({key:e,transactionId:s(this,R)},s(this,F)),this}async exec(){let e=await s(this,E).Exec(s(this,R),s(this,F)),t=[];for(let i of e.response)i.members?t.push(i.members):i.nil!==void 0?t.push(null):i.num!==void 0?t.push(i.num):i.values!==void 0?t.push(i.values.values):i.str!==void 0&&t.push(i.str);return t}async discard(){await s(this,E).Discard(s(this,R),s(this,F))}async watch(...e){return await s(this,E).Watch({keys:e,transactionId:s(this,R)},s(this,F)),this}async unwatch(){return await s(this,E).Unwatch(s(this,R),s(this,F)),this}async getRange(e,t,i){return await s(this,E).GetRange({key:e,start:t,end:i,transactionId:s(this,R)},s(this,F)),this}async setRange(e,t,i){return await s(this,E).SetRange({key:e,offset:t,value:i,transactionId:s(this,R)},s(this,F)),this}async strlen(e){return await s(this,E).Strlen({key:e,transactionId:s(this,R)},s(this,F)),this}async mget(e){return await s(this,E).MGet({keys:e,transactionId:s(this,R)},s(this,F)),this}async mset(e){let t=Object.entries(e).map(([i,n])=>({key:i,value:n}));return await s(this,E).MSet({kv:t,transactionId:s(this,R)},s(this,F)),this}async incrBy(e,t){return await s(this,E).IncrBy({key:e,value:t,transactionId:s(this,R)},s(this,F)),this}async expire(e,t){return await s(this,E).Expire({key:e,seconds:t,transactionId:s(this,R)},s(this,F)),this}async expireTime(e){return await s(this,E).ExpireTime({key:e,transactionId:s(this,R)},s(this,F)),this}async zAdd(e,...t){return await s(this,E).ZAdd({key:e,members:t,transactionId:s(this,R)},s(this,F)),this}async zScore(e,t){return await s(this,E).ZScore({key:{key:e,transactionId:s(this,R)},member:t},s(this,F)),this}async zRank(e,t){return await s(this,E).ZRank({key:{key:e,transactionId:s(this,R)},member:t},s(this,F)),this}async zIncrBy(e,t,i){return await s(this,E).ZIncrBy({key:e,member:t,value:i,transactionId:s(this,R)},s(this,F)),this}async zScan(e,t,i,n){let o={key:e,cursor:t,pattern:i,count:n,transactionId:s(this,R)};return await s(this,E).ZScan(o,s(this,F)),this}async zCard(e){return await s(this,E).ZCard({key:e,transactionId:s(this,R)},s(this,F)),this}async zRange(e,t,i,n){let o={rev:!1,byLex:!1,byScore:!1,offset:0,count:1e3};return n?.reverse&&(o.rev=n.reverse),n?.by==="lex"?o.byLex=!0:n?.by==="score"&&(o.byScore=!0),await s(this,E).ZRange({key:{key:e,transactionId:s(this,R)},start:t+"",stop:i+"",...o},s(this,F)),this}async zRem(e,t){return await s(this,E).ZRem({key:{key:e,transactionId:s(this,R)},members:t},s(this,F)),this}async zRemRangeByLex(e,t,i){return await s(this,E).ZRemRangeByLex({key:{key:e,transactionId:s(this,R)},min:t,max:i},s(this,F)),this}async zRemRangeByRank(e,t,i){return await s(this,E).ZRemRangeByRank({key:{key:e,transactionId:s(this,R)},start:t,stop:i},s(this,F)),this}async zRemRangeByScore(e,t,i){return await s(this,E).ZRemRangeByScore({key:{key:e,transactionId:s(this,R)},min:t,max:i},s(this,F)),this}async hgetall(e){return await s(this,E).HGetAll({key:e,transactionId:s(this,R)},s(this,F)),this}async hget(e,t){return await s(this,E).HGet({key:e,field:t,transactionId:s(this,R)},s(this,F)),this}async hset(e,t){let i=Object.entries(t).map(([n,o])=>({field:n,value:o}));return await s(this,E).HSet({key:e,fv:i,transactionId:s(this,R)},s(this,F)),this}async hincrby(e,t,i){return await s(this,E).HIncrBy({key:e,field:t,value:i,transactionId:s(this,R)},s(this,F)),this}async hdel(e,t){return await s(this,E).HDel({key:e,fields:t,transactionId:s(this,R)},s(this,F)),this}async hscan(e,t,i,n){let o={key:e,cursor:t,pattern:i,count:n,transactionId:s(this,R)};return await s(this,E).HScan(o,s(this,F)),this}async hkeys(e){return await s(this,E).HKeys({key:e,transactionId:s(this,R)},s(this,F)),this}async hlen(e){return await s(this,E).HLen({key:e,transactionId:s(this,R)},s(this,F)),this}};E=new WeakMap,R=new WeakMap,F=new WeakMap;var O,Jr,cc=class cc{constructor(e,t=void 0,i=lc.INSTALLATION){l(this,O,void 0);l(this,Jr,void 0);d(this,O,e),d(this,Jr,t),this.scope=i,this.global=i===lc.INSTALLATION?new cc(s(this,O),s(this,Jr),lc.GLOBAL):this}get storage(){return s(this,Jr)||u.redisPlugin}async watch(...e){let t=await this.storage.Watch({keys:e},s(this,O));return new uc(this.storage,t,s(this,O))}async get(e){let t=await this.storage.Get({key:e,scope:this.scope},s(this,O));return t!==null?t.value??void 0:t}async set(e,t,i){let n;return i?.expiration&&(n=Math.floor((i.expiration.getTime()-Date.now())/1e3),n<1&&(n=1)),(await this.storage.Set({key:e,value:t,nx:i?.nx===!0&&!i.xx,xx:i?.xx===!0&&!i.nx,expiration:n||0,scope:this.scope},s(this,O))).value}async del(...e){await this.storage.Del({keys:e,scope:this.scope},s(this,O))}async incrBy(e,t){return(await this.storage.IncrBy({key:e,value:t,scope:this.scope},s(this,O))).value}async getRange(e,t,i){let n=await this.storage.GetRange({key:e,start:t,end:i,scope:this.scope},s(this,O));return n!==null?n.value:n}async setRange(e,t,i){return(await this.storage.SetRange({key:e,offset:t,value:i,scope:this.scope},s(this,O))).value}async strlen(e){return(await this.storage.Strlen({key:e,scope:this.scope},s(this,O))).value}async expire(e,t){await this.storage.Expire({key:e,seconds:t,scope:this.scope},s(this,O))}async expireTime(e){return(await this.storage.ExpireTime({key:e,scope:this.scope},s(this,O))).value}async zAdd(e,...t){return(await this.storage.ZAdd({key:e,members:t,scope:this.scope},s(this,O))).value}async zRange(e,t,i,n){let o={rev:!1,byLex:!1,byScore:!1,offset:0,count:1e3};return n?.reverse&&(o.rev=n.reverse),n?.by==="lex"?o.byLex=!0:n?.by==="score"?o.byScore=!0:(o.offset=0,o.count=0),(await this.storage.ZRange({key:{key:e},start:t+"",stop:i+"",...o,scope:this.scope},s(this,O))).members}async zRem(e,t){return(await this.storage.ZRem({key:{key:e},members:t,scope:this.scope},s(this,O))).value}async zRemRangeByLex(e,t,i){return(await this.storage.ZRemRangeByLex({key:{key:e},min:t,max:i,scope:this.scope},s(this,O))).value}async zRemRangeByRank(e,t,i){return(await this.storage.ZRemRangeByRank({key:{key:e},start:t,stop:i,scope:this.scope},s(this,O))).value}async zRemRangeByScore(e,t,i){return(await this.storage.ZRemRangeByScore({key:{key:e},min:t,max:i,scope:this.scope},s(this,O))).value}async zScore(e,t){let i=await this.storage.ZScore({key:{key:e},member:t,scope:this.scope},s(this,O));return i!==null?i.value:i}async zRank(e,t){let i=await this.storage.ZRank({key:{key:e},member:t,scope:this.scope},s(this,O));return i!==null?i.value:i}async zIncrBy(e,t,i){let n=await this.storage.ZIncrBy({key:e,member:t,value:i,scope:this.scope},s(this,O));return n!==null?n.value:n}async mget(e){let t=await this.storage.MGet({keys:e,scope:this.scope},s(this,O));return t!==null?t.values.map(i=>i||null):t}async mset(e){let t=Object.entries(e).map(([i,n])=>({key:i,value:n}));await this.storage.MSet({kv:t,scope:this.scope},s(this,O))}async zCard(e){let t=await this.storage.ZCard({key:e,scope:this.scope},s(this,O));return t!==null?t.value:t}async zScan(e,t,i,n){let o={key:e,cursor:t,pattern:i,count:n,scope:this.scope};return await this.storage.ZScan(o,s(this,O))}async type(e){let t=await this.storage.Type({key:e,scope:this.scope},s(this,O));return t!==null?t.value:t}async hget(e,t){let i=await this.storage.HGet({key:e,field:t,scope:this.scope},s(this,O));return i!==null?i.value??void 0:i}async hset(e,t){let i=Object.entries(t).map(([o,a])=>({field:o,value:a}));return(await this.storage.HSet({key:e,fv:i,scope:this.scope},s(this,O))).value}async hgetall(e){let t=await this.storage.HGetAll({key:e,scope:this.scope},s(this,O));return t!==null?t.fieldValues:t}async hdel(e,t){return(await this.storage.HDel({key:e,fields:t,scope:this.scope},s(this,O))).value}async hscan(e,t,i,n){let o={key:e,cursor:t,pattern:i,count:n,scope:this.scope};return await this.storage.HScan(o,s(this,O))}async hkeys(e){let t=await this.storage.HKeys({key:e,scope:this.scope},s(this,O));return t!==null?t.keys:t}async hincrby(e,t,i){return(await this.storage.HIncrBy({key:e,field:t,value:i,scope:this.scope},s(this,O))).value}async hlen(e){return(await this.storage.HLen({key:e,scope:this.scope})).value}};O=new WeakMap,Jr=new WeakMap;var $r=cc;var tr,Kr=class{constructor(e){l(this,tr,void 0);d(this,tr,e)}async runJob(e){return(await u.schedulerPlugin.Schedule({action:{type:e.name,data:e.data},cron:"cron"in e?e.cron:void 0,when:"runAt"in e?e.runAt:void 0},s(this,tr))).id}async cancelJob(e){await u.schedulerPlugin.Cancel({id:e},s(this,tr))}async listJobs(){return(await u.schedulerPlugin.List({after:new Date(0),before:new Date(Date.now()+31536e7)},s(this,tr))).actions.map(t=>(f(t.request?.action,"Scheduled job is malformed"),"when"in t.request&&t.request.when!=null?{id:t.id,name:t.request.action.type,runAt:t.request.when,data:t.request.action.data}:{id:t.id,name:t.request.action.type,cron:t.request.cron??"",data:t.request.action}))}};tr=new WeakMap;var Vn,Xr=class{constructor(e){l(this,Vn,void 0);d(this,Vn,e)}async get(e){return(await this.getAll())[e]}async getAll(){let t=await u.settingsPlugin.GetSettings({},s(this,Vn));if(!t.installationSettings)throw new Error("Could not get installation settings");if(!t.appSettings)throw new Error("Could not get app settings");return{...Ev(t.installationSettings.settings,u.installationSettings),...Ev(t.appSettings.settings,u.appSettings)}}};Vn=new WeakMap;function Ev(r,e){let t=Object.keys(r).reduce((i,n)=>(i[n]=dc(r[n]),i),{});return e&&Rv(t,e),t}function Rv(r,e){for(let t of e)t.type==="group"?Rv(r,t.fields):!(t.name in r)&&"defaultValue"in t&&(r[t.name]=t.defaultValue)}import{EffectType as mc,Form as b0,ToastAppearance as Fv}from"@devvit/protos";var rr,Zr,Ya=class{constructor(e){l(this,rr,[]);l(this,Zr,void 0);d(this,Zr,e)}showForm(e,t){let i=u.formDefinitions.get(e);if(!i&&s(this,Zr)){let a=s(this,Zr).forms.get(e);a&&(i={form:a,onSubmit:()=>{}})}if(!i)throw new Error("Form does not exist. Make sure you have added it using Devvit.createForm at the root of your app.");let n=i.form instanceof Function?i.form(t??{}):i.form,o=b0.fromPartial({id:e,title:n.title,acceptLabel:n.acceptLabel,cancelLabel:n.cancelLabel,shortDescription:n.description});Yt(n.fields),o.fields=it(n.fields),s(this,rr).push({type:mc.EFFECT_SHOW_FORM,showForm:{form:o}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?Fv.SUCCESS:Fv.NEUTRAL}:t={text:e},s(this,rr).push({type:mc.EFFECT_SHOW_TOAST,showToast:{toast:t}})}navigateTo(e){let t;typeof e=="string"?t=new URL(e).toString():t=new URL(e.permalink,"https://www.reddit.com").toString(),s(this,rr).push({type:mc.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}get __effects(){return s(this,rr)}};rr=new WeakMap,Zr=new WeakMap;var hc={now(){return new Date}};function Ov(r){return`__autocache__${r}`}function Mv(r){return`__lock__${r}`}var P0=300,k0=1e3,Qa=5e3,pc=3,Uv=.1,Bv=1e3,S0=3e4;function Lv(r){if(r.error)throw new Error(r.error);return r.value}var Pt,kt,Oe,Yr,td,Dv,rd,_v,id,Nv,Jn,gc,nd,qv,sd,Hv,$n,fc,od,jv,ed=class{constructor(e,t,i=hc){l(this,td);l(this,rd);l(this,id);l(this,Jn);l(this,nd);l(this,sd);l(this,$n);l(this,od);l(this,Pt,void 0);l(this,kt,{});l(this,Oe,void 0);l(this,Yr,void 0);d(this,Pt,e),d(this,Yr,t),d(this,Oe,i)}async cache(e,t){d(this,kt,s(this,Yr).__cache=s(this,Yr).__cache??{}),b(this,od,jv).call(this,t);let i=b(this,td,Dv).call(this,t.key);if(i!==void 0)return i;let n=await b(this,$n,fc).call(this,t.key),o=await b(this,rd,_v).call(this,t,n,e);return Lv(o)}};Pt=new WeakMap,kt=new WeakMap,Oe=new WeakMap,Yr=new WeakMap,td=new WeakSet,Dv=function(e){let t=s(this,kt)[e];if(t){let i=s(this,Oe).now().getTime(),n=t?.error&&t?.errorTime&&t.errorCount<pc&&Math.random()<Uv&&t.errorTime+Bv<i;if(t?.expires&&t.expires<i&&t.checkedAt+Bv<i||n){delete s(this,kt)[e];return}else return Lv(t)}},rd=new WeakSet,_v=async function(e,t,i){let n=t?.expires,o=n?b(this,sd,Hv).call(this,n):1;return!t||t?.error&&t.errorCount<pc&&Uv>Math.random()||o>Math.random()?b(this,id,Nv).call(this,e,t,i):t},id=new WeakSet,Nv=async function(e,t,i){let n=Mv(e.key),o=s(this,Oe).now().getTime(),a=new Date(o+e.ttl/2);if(await s(this,Pt).set(n,"1",{expiration:a,nx:!0}))return b(this,nd,qv).call(this,e.key,t,i,e.ttl);if(t)return t;{let p=s(this,Oe).now();return b(this,Jn,gc).call(this,p,e.key,e.ttl)}},Jn=new WeakSet,gc=async function(e,t,i){let n=Math.min(i,k0),o=await b(this,$n,fc).call(this,t);if(o)return o;if(s(this,Oe).now().getTime()-e.getTime()>=n)throw new Error(`Cache request timed out trying to get data at key: ${t}`);return await new Promise(a=>setTimeout(a,P0)),b(this,Jn,gc).call(this,e,t,i)},nd=new WeakSet,qv=async function(e,t,i,n){let o=s(this,Oe).now().getTime()+n;t=t??{value:null,expires:o,errorCount:0,error:null,errorTime:null,checkedAt:0};try{t.value=await i(),t.error=null,t.errorCount=0,t.errorTime=null}catch(a){t.value=null,t.error=a.message??"Unknown error",t.errorTime=s(this,Oe).now().getTime(),t.errorCount++}return s(this,kt)[e]=t,await s(this,Pt).set(Ov(e),JSON.stringify(t),{expiration:new Date(o+S0)}),t.error&&t.errorCount<pc&&await s(this,Pt).del(Mv(e)),t},sd=new WeakSet,Hv=function(e){let t=s(this,Oe).now().getTime(),i=e-t;return i<0?1:i<1e3?.1:i<2e3?.01:i<3e3?.001:0},$n=new WeakSet,fc=async function(e){let t=await s(this,Pt).get(Ov(e));if(t){let i=JSON.parse(t);return i.checkedAt=s(this,Oe).now().getTime(),s(this,kt)[e]=i,i}},od=new WeakSet,jv=function(e){e.ttl<Qa&&(console.warn(`Cache TTL cannot be less than ${Qa} milliseconds! Updating ttl value of ${e.ttl} to ${Qa}.`),e.ttl=Qa)};function Wv(r,e,t=hc){let i=new ed(r,e,t);return i.cache.bind(i)}var Kn,Qr=class{constructor(e){l(this,Kn,void 0);d(this,Kn,e)}async send(e,t){await u.realtimePlugin.Send({channel:e,data:t},s(this,Kn))}};Kn=new WeakMap;function Me({metadata:r,ui:e,hooks:t,reconciler:i}){let n=new Gr(r),o=new jr(r),a=new $r(r),c=Wv(a,i?i.state:{}),p=new Vr(r),g=new Kr(r),v=new Xr(r),m=e?new Ya(i):void 0,y=new Wr(r),P=new Hr(r,()=>u.assetsPlugin),C=new Qr(r),I=t&&i?Cv(i):void 0,A=t&&i?Sv(i):void 0,U=t&&i?kv(i):void 0,ue=t&&i?Pv(i):void 0;return{modLog:n,kvStore:o,redis:a,reddit:p,scheduler:g,settings:v,media:y,assets:P,realtime:C,get useForm(){return U??(()=>{throw new Error("useForm() is unavailable")})},get cache(){return c??(()=>{throw new Error("cache() is unavailable")})},get useState(){return I??(()=>{throw new Error("useState() is unavailable")})},get useInterval(){return A??(()=>{throw new Error("useInterval() is unavailable")})},get useChannel(){return ue??(()=>{throw new Error("useChannel() is unavailable")})},get ui(){if(!m)throw new Error("ui client is not available");return m}}}function ae(r,e,t){let i=r[se.Subreddit]?.values[0];f(i,"subreddit is missing from Context");let n=r[se.AppUser]?.values[0];f(n,"appAccountId is missing from Context");let o=r[se.User]?.values[0],a={metadata:r};return{appAccountId:n,subredditId:i,userId:o,postId:e,commentId:t,debug:a,toJSON(){return{appAccountId:n,subredditId:i,userId:o,postId:e,commentId:t,debug:a}}}}async function ad(r,e,t){if(!e)throw new Error("Settings were not defined.");let i=C0.fromPartial({success:!0,errors:{}}),n=yt(r.fieldValues),o=e.flatMap(a=>a.type==="group"?a.fields:a);return await Promise.all(o.map(async a=>{let c=a.name;if(c&&a.type!=="group"&&a.onValidate){let p=n[c],g=a.onValidate,v=Object.assign(Me({metadata:t}),ae(t)),m=await g({value:p,isEditing:r.editing},v);m&&(i.success=!1,i.errors[c]=m)}})),i}async function A0(){if(!u.appSettings)throw new Error("App settings were not defined.");return w0.fromPartial({fields:{fields:it(u.appSettings)}})}async function x0(r,e){return ad(r,u.appSettings,e)}function Gv(r){r.provides(I0),M("GetAppSettingsFields",A0),M("ValidateAppForm",x0)}import{CustomPostDefinition as H0}from"@devvit/protos";import{BlockRenderEventType as Tc,BlockType as _0,EffectType as dy}from"@devvit/protos";var zv="redd.it",T0="redditstatic.com",E0="redditmedia.com",R0="snoo.dev";var F0=[R0,zv,T0,E0],O0=/^data:([a-zA-Z]+\/[a-zA-Z0-9.+_-]+)?(;charset=[a-zA-Z0-9._+-]+)?(;base64)?,(.*)/;function M0(r){return r.trim().replace(/[\r\n]+/g,"")}function U0(r){let e=O0.exec(M0(r));if(e)return{mimeType:e[1],charset:e[2]?.split("=")[1],isBase64:!!e[3],data:e[4].trim()}}function B0(r){return["image/svg+xml"].includes(r)}function L0(r){let e=U0(r);return e?.mimeType?B0(e.mimeType):!1}function Vv(r){try{if(L0(r))return!0;let t=(new URL(r,`https://i.${zv}`)?.hostname).split(".").slice(-2).join(".");return!!t&&F0.includes(t)}catch{return!1}}function ei(r){return r.__effects}function Jv(){let r=new Set;return e=>{let t=e,i=1;for(;r.has(t);)t=`${e}.${i++}`;return r.add(t),t}}import{BlockActionType as D0,BlockAnimationDirection as ty,BlockAnimationLoopMode as ry,BlockAnimationType as iy,BlockAvatarBackground as ny,BlockAvatarFacing as sy,BlockAvatarSize as St,BlockBorderWidth as ld,BlockButtonAppearance as Ct,BlockButtonSize as bc,BlockFullSnooSize as ti,BlockGap as ud,BlockHorizontalAlignment as Pc,BlockIconSize as cd,BlockImageResizeMode as Xn,BlockPadding as Zn,BlockRadius as Yn,BlockSizeUnit as kc,BlockSpacerShape as Sc,BlockSpacerSize as md,BlockStackDirection as Cc,BlockTextOutline as Ic,BlockTextOverflow as wc,BlockTextSize as ri,BlockTextStyle as Ac,BlockTextWeight as oy,BlockType as Ue,BlockVerticalAlignment as xc}from"@devvit/protos";var vc={transparent:"transparent",black:"#000000",white:"#ffffff","coolgray-950":"#04090A","coolgray-900":"#0B1416","coolgray-850":"#0F1A1C","coolgray-800":"#131F23","coolgray-750":"#1A282D","coolgray-700":"#223237","coolgray-650":"#2A3C42","coolgray-600":"#33464C","coolgray-550":"#4B6066","coolgray-525":"#576F76","coolgray-500":"#667A80","coolgray-450":"#82959B","coolgray-400":"#A0B0B5","coolgray-350":"#B8C5C9","coolgray-300":"#D2DADD","coolgray-250":"#DAE0E3","coolgray-200":"#E2E7E9","coolgray-150":"#EAEDEF","coolgray-100":"#F2F4F5","coolgray-50":"#F9FAFA","puregray-950":"#080808","puregray-900":"#131313","puregray-850":"#181818","puregray-800":"#1E1E1E","puregray-750":"#272727","puregray-700":"#303030","puregray-650":"#393939","puregray-600":"#434343","puregray-550":"#5C5C5C","puregray-500":"#767676","puregray-450":"#919191","puregray-400":"#ACACAC","puregray-350":"#C3C3C3","puregray-300":"#D6D6D6","puregray-250":"#DDDDDD","puregray-200":"#E4E4E4","puregray-150":"#EBEBEB","puregray-100":"#F2F2F2","puregray-50":"#F8F8F8","orangered-950":"#190600","orangered-900":"#340E00","orangered-800":"#4F1500","orangered-700":"#721F00","orangered-600":"#962900","orangered-500":"#D93A00","orangered-400":"#FE7C53","orangered-300":"#FFBEA6","orangered-200":"#FFD5C6","orangered-100":"#FFEDE5","orangered-50":"#FFF6F3","red-950":"#1C0004","red-900":"#3A0008","red-800":"#58000C","red-700":"#7E0011","red-600":"#A50016","red-500":"#EB001F","red-400":"#FF6E80","red-300":"#FFADB8","red-200":"#FFCCD2","red-100":"#FFEAED","red-50":"#FFF6F7","sakurapink-950":"#1A0011","sakurapink-900":"#360024","sakurapink-800":"#530037","sakurapink-700":"#770051","sakurapink-600":"#9B006A","sakurapink-500":"#E00096","sakurapink-400":"#FF55BD","sakurapink-300":"#FFA5E3","sakurapink-200":"#FFC5EC","sakurapink-100":"#FFE5F9","sakurapink-50":"#FFF3FB","berrypurple-950":"#16001F","berrypurple-900":"#2E0041","berrypurple-800":"#470062","berrypurple-700":"#66008C","berrypurple-600":"#8700B5","berrypurple-500":"#BC0EFF","berrypurple-400":"#D55EFF","berrypurple-300":"#EEA7FF","berrypurple-200":"#F2C8FF","berrypurple-100":"#FBE6FF","berrypurple-50":"#FCF4FF","periwinkle-950":"#0D0B1F","periwinkle-900":"#1A1741","periwinkle-800":"#272262","periwinkle-700":"#372F8C","periwinkle-600":"#453BB5","periwinkle-500":"#6A5CFF","periwinkle-400":"#988EFF","periwinkle-300":"#C3BDFF","periwinkle-200":"#D8D4FF","periwinkle-100":"#ECEAFF","periwinkle-50":"#F7F6FF","alienblue-950":"#000C1D","alienblue-900":"#00183D","alienblue-800":"#00255D","alienblue-700":"#003584","alienblue-600":"#0045AC","alienblue-500":"#1870F4","alienblue-400":"#629FFF","alienblue-300":"#A7CCFF","alienblue-200":"#C6DCFF","alienblue-100":"#E4EFFF","alienblue-50":"#F3F7FF","lightblue-950":"#000D12","lightblue-900":"#001C26","lightblue-800":"#002A3A","lightblue-700":"#003F56","lightblue-600":"#005472","lightblue-500":"#007FAE","lightblue-400":"#47B0DB","lightblue-300":"#95DCFB","lightblue-200":"#B6E9FF","lightblue-100":"#D9F6FF","lightblue-50":"#ECFAFF","mintgreen-950":"#00100E","mintgreen-900":"#001E1B","mintgreen-800":"#002E28","mintgreen-700":"#00443C","mintgreen-600":"#005A4F","mintgreen-500":"#008675","mintgreen-400":"#45B9AB","mintgreen-300":"#96E1D8","mintgreen-200":"#B7ECE5","mintgreen-100":"#DAF7F4","mintgreen-50":"#ECFBF9","kiwigreen-950":"#021000","kiwigreen-900":"#032200","kiwigreen-800":"#053200","kiwigreen-700":"#084A00","kiwigreen-600":"#0A6000","kiwigreen-500":"#0E8A00","kiwigreen-400":"#55BD46","kiwigreen-300":"#A3E398","kiwigreen-200":"#BFEEB8","kiwigreen-100":"#DFF8DB","kiwigreen-50":"#EEFCED","lime-950":"#0C0E00","lime-900":"#1A1F00","lime-800":"#282F00","lime-700":"#3A4501","lime-600":"#4D5A01","lime-500":"#6B7E01","lime-400":"#A1B33B","lime-300":"#CFDB83","lime-200":"#DFE8A6","lime-100":"#EFF4CC","lime-50":"#F7FAE5","yellow-950":"#100D01","yellow-900":"#251E02","yellow-800":"#382D03","yellow-700":"#504104","yellow-600":"#665505","yellow-500":"#8F7407","yellow-400":"#DBAF00","yellow-300":"#FADB61","yellow-200":"#FFE88F","yellow-100":"#FFF2BD","yellow-50":"#FFFAE5","yelloworange-950":"#150C00","yelloworange-900":"#2C1A00","yelloworange-800":"#432700","yelloworange-700":"#623A00","yelloworange-600":"#814C00","yelloworange-500":"#B06400","yelloworange-400":"#FF9C1A","yelloworange-300":"#FFCD7C","yelloworange-200":"#FFDDA8","yelloworange-100":"#FFF0D3","yelloworange-50":"#FFF7EA","poopbrown-950":"#110B04","poopbrown-900":"#29190A","poopbrown-800":"#3B2510","poopbrown-700":"#54371A","poopbrown-600":"#6E4924","poopbrown-500":"#9A6D3F","poopbrown-400":"#CAA075","poopbrown-300":"#EECCAA","poopbrown-200":"#F6DDC3","poopbrown-100":"#FEEEDD","poopbrown-50":"#FEF7EE",pizzaRed:{light:"#ef5350",dark:"#c62828"},"global-brand-orangered":{light:"#FF4500",dark:"#FF4500"},"global-focus":{light:"#47B0DB",dark:"#007FAE"},"interactive-content-disabled":{light:"#0000003f",dark:"#ffffff3f"},"interactive-background-disabled":{light:"#0000000c",dark:"#ffffff0c"},"interactive-pressed":{light:"#00000028",dark:"#ffffff28"},"neutral-content":{light:"#2A3C42",dark:"#B8C5C9"},"neutral-content-disabled":{light:"#D6D6D6",dark:"#303030"},"neutral-content-weak":{light:"#576F76",dark:"#82959B"},"neutral-content-strong":{light:"#0F1A1C",dark:"#F2F4F5"},"neutral-background":{light:"#ffffff",dark:"#0B1416"},"neutral-background-selected":{light:"#EAEDEF",dark:"#1A282D"},"neutral-background-weak":{light:"#F9FAFA",dark:"#04090A"},"neutral-background-medium":{light:"#F8F8F8",dark:"#131313"},"neutral-background-strong":{light:"#ffffff",dark:"#0F1A1C"},"neutral-background-hover":{light:"#F2F4F5",dark:"#131F23"},"neutral-border":{light:"#00000033",dark:"#ffffff33"},"neutral-border-medium":{light:"#0000007f",dark:"#ffffff7f"},"neutral-border-weak":{light:"#00000019",dark:"#ffffff19"},"neutral-border-strong":{light:"#0F1A1C",dark:"#F2F4F5"},primary:{light:"#0045AC",dark:"#629FFF"},"primary-hover":{light:"#003584",dark:"#A7CCFF"},"primary-visited":{light:"#8700B5",dark:"#D55EFF"},"primary-onBackground":{light:"#ffffff",dark:"#ffffff"},"primary-onBackground-selected":{light:"#ffffff",dark:"#000000"},"primary-background":{light:"#0045AC",dark:"#0045AC"},"primary-background-hover":{light:"#003584",dark:"#1870F4"},"primary-background-selected":{light:"#00255D",dark:"#629FFF"},secondary:{light:"#0F1A1C",dark:"#F2F4F5"},"secondary-hover":{light:"#000000",dark:"#ffffff"},"secondary-weak":{light:"#576F76",dark:"#82959B"},"secondary-onBackground":{light:"#000000",dark:"#ffffff"},"secondary-background":{light:"#EAEDEF",dark:"#1A282D"},"secondary-background-hover":{light:"#E2E7E9",dark:"#223237"},"secondary-background-selected":{light:"#D2DADD",dark:"#33464C"},"secondary-plain":{light:"#0F1A1C",dark:"#F2F4F5"},"secondary-plain-hover":{light:"#000000",dark:"#ffffff"},"danger-background":{light:"#EB001F",dark:"#A50016"},"danger-background-disabled":{light:"#FFCCD2",dark:"#3A0008"},"danger-background-hover":{light:"#A50016",dark:"#EB001F"},"danger-onBackground":{light:"#ffffff",dark:"#ffffff"},"danger-content":{light:"#A50016",dark:"#FF6E80"},"danger-content-hover":{light:"#7E0011",dark:"#FFADB8"},"danger-content-default":{light:"#ffffff",dark:"#ffffff"},"brand-background":{light:"#D93A00",dark:"#D93A00"},"brand-onBackground":{light:"#ffffff",dark:"#ffffff"},"brand-background-hover":{light:"#962900",dark:"#962900"},"media-background":{light:"#00000099",dark:"#00000099"},"media-onbackground":{light:"#ffffff",dark:"#ffffff"},"media-onbackground-weak":{light:"#E2E7E9",dark:"#E2E7E9"},"media-background-hover":{light:"#000000cc",dark:"#000000cc"},"media-onbackground-disabled":{light:"#ffffff3f",dark:"#ffffff3f"},"media-border-selected":{light:"#ffffff",dark:"#ffffff"},"media-background-selected":{light:"#000000cc",dark:"#000000cc"},"success-content":{light:"#0A6000",dark:"#55BD46"},"success-hover":{light:"#084A00",dark:"#A3E398"},"success-onBackground":{light:"#ffffff",dark:"#ffffff"},"success-background":{light:"#0E8A00",dark:"#0A6000"},"success-background-hover":{light:"#0A6000",dark:"#0E8A00"},"warning-content":{light:"#665505",dark:"#DBAF00"},"warning-content-hover":{light:"#504104",dark:"#FADB61"},"warning-onBackground":{light:"#000000",dark:"#000000"},"warning-background":{light:"#DBAF00",dark:"#DBAF00"},"warning-background-hover":{light:"#8F7407",dark:"#FADB61"},"upvote-content":{light:"#962900",dark:"#FE7C53"},"upvote-content-weak":{light:"#FF4500",dark:"#FF4500"},"upvote-disabled":{light:"#9629004c",dark:"#FE7C534c"},"upvote-onBackground":{light:"#ffffff",dark:"#ffffff"},"upvote-background":{light:"#D93A00",dark:"#D93A00"},"upvote-background-hover":{light:"#962900",dark:"#962900"},"upvote-background-disabled":{light:"#D93A004c",dark:"#D93A004c"},"downvote-content":{light:"#453BB5",dark:"#988EFF"},"downvote-content-weak":{light:"#6A5CFF",dark:"#6A5CFF"},"downvote-disabled":{light:"#453BB54c",dark:"#988EFF4c"},"downvote-onBackground":{light:"#ffffff",dark:"#ffffff"},"downvote-background":{light:"#6A5CFF",dark:"#453BB5"},"downvote-background-hover":{light:"#453BB5",dark:"#453BB5"},"downvote-background-disabled":{light:"#6A5CFF4c",dark:"#6A5CFF4c"},"brand-gradient-default":{light:"",dark:""},"brand-gradient-default-highlight":{light:"",dark:""},"brand-gradient-hover":{light:"",dark:""},"brand-gradient-hover-highlight":{light:"",dark:""},"brand-gradient-active":{light:"",dark:""},"brand-gradient-active-highlight":{light:"",dark:""},"gradient-media":{light:"",dark:""},"gradient-media-strong":{light:"",dark:""},"transparent-background-hover":{light:"#82959B19",dark:"#667A8019"},"global-black":{light:"#000000",dark:"#000000"},"global-white":{light:"#ffffff",dark:"#ffffff"},"global-orangered":{light:"#D93A00",dark:"#D93A00"},"global-alienblue":{light:"#1870F4",dark:"#1870F4"},"global-darkblue":{light:"#131F23",dark:"#131F23"},"tone-1":{light:"#131313",dark:"#F2F2F2"},"tone-2":{light:"#434343",dark:"#ACACAC"},"tone-3":{light:"#ACACAC",dark:"#434343"},"tone-4":{light:"#E4E4E4",dark:"#303030"},"tone-5":{light:"#F2F2F2",dark:"#1E1E1E"},"tone-6":{light:"#F8F8F8",dark:"#131313"},"tone-7":{light:"#ffffff",dark:"#080808"},"action-upvote":{light:"#D93A00",dark:"#D93A00"},"action-downvote":{light:"#6A5CFF",dark:"#6A5CFF"},"alert-caution":{light:"#8F7407",dark:"#8F7407"},"identity-admin":{light:"#D93A00",dark:"#D93A00"},"identity-moderator":{light:"#0E8A00",dark:"#0E8A00"},"identity-self":{light:"#008675",dark:"#008675"},"identity-coins":{light:"#DBAF00",dark:"#DBAF00"},"category-live":{light:"#D93A00",dark:"#D93A00"},"category-nsfw":{light:"#E00096",dark:"#E00096"},"category-spoiler":{light:"#131313",dark:"#F2F2F2"},"ui-canvas":{light:"#F2F2F2",dark:"#080808"},"ui-modalbackground":{light:"#ffffff",dark:"#0F1A1C"},"avatar-gradient":{light:"",dark:""},"opacity-highlight":{light:"",dark:""},"opacity-08":{light:"#13131314",dark:"#13131314"},"opacity-50":{light:"#0000007f",dark:"#F2F2F27f"},scrim:{light:"#00000099",dark:"#00000099"},"scrim-strong":{light:"#000000cc",dark:"#000000cc"},"scrim-gradient":{light:"",dark:""},online:{light:"#55BD46",dark:"#55BD46"},favorite:{light:"#8F7407",dark:"#DBAF00"}};var $v={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",transparent:"#FFFFFF00",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},Kv=r=>!!r.match(/^(#[0-9a-fA-F]{3,8}).*/),Xv=r=>r in vc,yc=r=>r in $v,Zv=r=>!!r.match(/^rgba?\(.*/),Yv=r=>!!r.match(/^hsla?\(.*/),Qv=(r,e="light")=>{if(yc(r))return dd(r);let i=vc[r];return typeof i=="string"?i:i[e]},dd=r=>$v[r]??r,ey=r=>{let[e,t,i,n]=r.replace(/^rgba?\(|\s+|\)$/g,"").split(",");if(!e||!t||!i)return r;let a=[...[e,t,i].map(p=>parseFloat(p))];if(n){let p=parseFloat(n),g=Math.round(p*255);a.push(g)}return`#${a.map(p=>p.toString(16).padStart(2,"0")).join("")}`};var ay="data-",ii=class{async createBlocksElementOrThrow({type:e,props:t,children:i}){let n=await this.createBlocksElement({type:e,props:t,children:i});if(!n)throw new Error(`Could not create block of type ${e}`);return n}async createBlocksElement({type:e,props:t,children:i}){switch(e){case"blocks":return this.makeRoot(t,...i);case"hstack":return this.makeHStack(t,...i);case"vstack":return this.makeVStack(t,...i);case"zstack":return this.makeZStack(t,...i);case"text":return this.makeText(t,...i);case"button":return this.makeButton(t,...i);case"image":return await this.makeImage(t);case"spacer":return this.makeSpacer(t);case"icon":return this.makeIcon(t);case"avatar":return this.makeAvatar(t);case"fullsnoo":return this.makeFullSnoo(t);case"animation":return await this.makeAnimation(t);case"webview":return this.makeWebView(t);case"__fragment":throw new Error("root fragment is not supported - use 'blocks' instead")}}makeRootHeight(e){switch(e){case"regular":return 320;case"tall":return 512}}makeBlockPadding(e){switch(e){case"none":return Zn.PADDING_NONE;case"xsmall":return Zn.PADDING_XSMALL;case"small":return Zn.PADDING_SMALL;case"medium":return Zn.PADDING_MEDIUM;case"large":return Zn.PADDING_LARGE}}makeBlockRadius(e){switch(e){case"none":return Yn.RADIUS_NONE;case"small":return Yn.RADIUS_SMALL;case"medium":return Yn.RADIUS_MEDIUM;case"large":return Yn.RADIUS_LARGE;case"full":return Yn.RADIUS_FULL}}makeBlockGap(e){switch(e){case"none":return ud.GAP_NONE;case"small":return ud.GAP_SMALL;case"medium":return ud.GAP_MEDIUM;case"large":return ud.GAP_LARGE}}makeBlockAlignment(e){if(e===void 0)return;let t,i;if(e.includes("top")?t=xc.ALIGN_TOP:e.includes("middle")?t=xc.ALIGN_MIDDLE:e.includes("bottom")&&(t=xc.ALIGN_BOTTOM),e.includes("start")?i=Pc.ALIGN_START:e.includes("center")?i=Pc.ALIGN_CENTER:e.includes("end")&&(i=Pc.ALIGN_END),t!==void 0||i!==void 0)return{vertical:t,horizontal:i}}makeBlockBorder(e,t,i,n){if(!e&&!t)return;let o;switch(e){case"none":o=ld.BORDER_WIDTH_NONE;break;case"thin":o=ld.BORDER_WIDTH_THIN;break;case"thick":o=ld.BORDER_WIDTH_THICK;break;default:o=ld.BORDER_WIDTH_THIN;break}let a=t??"neutral-border-weak",c=this.getThemedColors(a,i,n);return{width:o,color:c?.light,colors:c}}makeBlockTextSize(e){switch(e){case"xsmall":return ri.TEXT_SIZE_XSMALL;case"small":return ri.TEXT_SIZE_SMALL;case"medium":return ri.TEXT_SIZE_MEDIUM;case"large":return ri.TEXT_SIZE_LARGE;case"xlarge":return ri.TEXT_SIZE_XLARGE;case"xxlarge":return ri.TEXT_SIZE_XXLARGE}}makeBlockTextStyle(e){switch(e){case"body":return Ac.TEXT_STYLE_BODY;case"metadata":return Ac.TEXT_STYLE_METADATA;case"heading":return Ac.TEXT_STYLE_HEADING}}makeBlockTextOutline(e){switch(e){case"none":return Ic.TEXT_OUTLINE_NONE;case"thin":return Ic.TEXT_OUTLINE_THIN;case"thick":return Ic.TEXT_OUTLINE_THICK}}makeBlockTextWeight(e){switch(e){case"regular":return oy.TEXT_WEIGHT_REGULAR;case"bold":return oy.TEXT_WEIGHT_BOLD}}makeBlockTextOverflow(e){switch(e){case"clip":return wc.TEXT_OVERFLOW_CLIP;case"ellipsis":return wc.TEXT_OVERFLOW_ELLIPSE}return wc.TEXT_OVERFLOW_ELLIPSE}makeBlockButtonAppearance(e){switch(e){case"secondary":return Ct.BUTTON_APPEARANCE_SECONDARY;case"primary":return Ct.BUTTON_APPEARANCE_PRIMARY;case"plain":return Ct.BUTTON_APPEARANCE_PLAIN;case"bordered":return Ct.BUTTON_APPEARANCE_BORDERED;case"media":return Ct.BUTTON_APPEARANCE_MEDIA;case"destructive":return Ct.BUTTON_APPEARANCE_DESTRUCTIVE;case"caution":return Ct.BUTTON_APPEARANCE_CAUTION;case"success":return Ct.BUTTON_APPEARANCE_SUCCESS}}makeBlockButtonSize(e){switch(e){case"small":return bc.BUTTON_SIZE_SMALL;case"medium":return bc.BUTTON_SIZE_MEDIUM;case"large":return bc.BUTTON_SIZE_LARGE}}makeBlockImageResizeMode(e){switch(e){case"none":return Xn.IMAGE_RESIZE_NONE;case"fit":return Xn.IMAGE_RESIZE_FIT;case"fill":return Xn.IMAGE_RESIZE_FILL;case"cover":return Xn.IMAGE_RESIZE_COVER;case"scale-down":return Xn.IMAGE_RESIZE_SCALE_DOWN}}makeBlockSpacerSize(e){switch(e){case"xsmall":return md.SPACER_XSMALL;case"small":return md.SPACER_SMALL;case"medium":return md.SPACER_MEDIUM;case"large":return md.SPACER_LARGE}}makeBlockSpacerShape(e){switch(e){case"invisible":return Sc.SPACER_INVISIBLE;case"thin":return Sc.SPACER_THIN;case"square":return Sc.SPACER_SQUARE}}makeBlockIconSize(e){switch(e){case"xsmall":return cd.ICON_SIZE_XSMALL;case"small":return cd.ICON_SIZE_SMALL;case"medium":return cd.ICON_SIZE_MEDIUM;case"large":return cd.ICON_SIZE_LARGE}}makeBlockAvatarSize(e){switch(e){case"xxsmall":return St.AVATAR_SIZE_XXSMALL;case"xsmall":return St.AVATAR_SIZE_XSMALL;case"small":return St.AVATAR_SIZE_SMALL;case"medium":return St.AVATAR_SIZE_MEDIUM;case"large":return St.AVATAR_SIZE_LARGE;case"xlarge":return St.AVATAR_SIZE_XXLARGE;case"xxlarge":return St.AVATAR_SIZE_XXLARGE;case"xxxlarge":return St.AVATAR_SIZE_XXXLARGE}}makeBlockAvatarFacing(e){switch(e){case"left":return sy.AVATAR_FACING_LEFT;case"right":return sy.AVATAR_FACING_RIGHT}}makeBlockFullSnooSize(e){switch(e){case"xsmall":return ti.FULLSNOO_XSMALL;case"small":return ti.FULLSNOO_SMALL;case"medium":return ti.FULLSNOO_MEDIUM;case"large":return ti.FULLSNOO_LARGE;case"xlarge":return ti.FULLSNOO_XLARGE;case"xxlarge":return ti.FULLSNOO_XXLARGE}}makeBlockAvatarBackground(e){switch(e){case"dark":return ny.AVATAR_BG_DARK;case"light":return ny.AVATAR_BG_LIGHT}}makeBlockAnimationType(e){return e==="lottie"||e===void 0?iy.ANIM_LOTTIE:iy.UNRECOGNIZED}makeBlockAnimationDirection(e){switch(e){case"backward":return ty.ANIM_DIR_BACKWARD;case"forward":return ty.ANIM_DIR_FORWARD}}makeBlockLoopMode(e){switch(e){case"repeat":return ry.ANIM_LOOP_REPEAT;case"bounce":return ry.ANIM_LOOP_BOUNCE}}makeBlockSize(e){if(e&&(e.width!=null||e.height!=null||e.grow)){let{value:t,unit:i}=this.parseSize(e.width)??{},{value:n,unit:o}=this.parseSize(e.height)??{};return{width:t,widthUnit:i,height:n,heightUnit:o,grow:e.grow}}}makeBlockSizes(e){if(e){let t=e.width!=null||e.minWidth!=null||e.maxWidth!=null,i=e.height!=null||e.minHeight!=null||e.maxHeight!=null;if(t||i||e.grow!=null)return{width:t?{value:this.parseSize(e.width),min:this.parseSize(e.minWidth),max:this.parseSize(e.maxWidth)}:void 0,height:i?{value:this.parseSize(e.height),min:this.parseSize(e.minHeight),max:this.parseSize(e.maxHeight)}:void 0,grow:e.grow}}}parseSize(e){if(e==null)return;if(typeof e=="number")return{value:e,unit:kc.SIZE_UNIT_PERCENT};let t=e.match(/^(\d+(?:\.\d+)?)(px|%)?$/);if(t==null)return;let i=kc.SIZE_UNIT_PERCENT;return t?.at(2)==="px"&&(i=kc.SIZE_UNIT_PIXELS),{value:Number.parseFloat(t[1]),unit:i}}getDataSet(e){return Object.keys(e).filter(t=>t.startsWith(ay)).reduce((t,i)=>(t[i.substring(ay.length)]=e[i],t),{})}makeActions(e,t){let i=[],n=this.getDataSet(t);if(t.onPress){let o=t.onPress;i.push({type:D0.ACTION_CLICK,id:o.toString(),data:n})}return i}blockColorToHex(e,t="light"){if(e)return e=e.toLowerCase(),Kv(e)?e:Xv(e)?Qv(e,t):yc(e)?dd(e):Zv(e)?ey(e):Yv(e)?e:(console.warn(`Could not parse color: ${e}.`),dd("red"))}async childrenToBlocks(e){let t=e.map(n=>{if(typeof n!="string")return this.createBlocksElement(n)});return(await Promise.all(t)).filter(n=>n!==void 0)}getThemedColors(e,t,i){let n=this.blockColorToHex(t,"light"),o=this.blockColorToHex(i,"dark"),a=[];if(e&&(!n||!o)){let c=Array.from(e?.matchAll(/[\w#-]+(?:\([\w\t ,.#-]+\))?/g)??[]);a.push(...c.map(p=>p[0]))}return n||(n=this.blockColorToHex(a?.at(0),"light")),o||(o=this.blockColorToHex(a?.at(1)??a?.at(0),"dark")),n||o?{light:n,dark:o}:void 0}parsePixels(e){return typeof e=="string"?Number(e.slice(0,-2)):e}childrenToString(e){return e.map(t=>t.toString()).join("")}async makeRoot(e,...t){return this.wrapRoot(e,await this.childrenToBlocks(t))}async wrapRoot(e,t){return this.makeBlock(Ue.BLOCK_ROOT,{},{rootConfig:{children:t,height:this.makeRootHeight(u.customPostType?.height??e?.height??"regular")}})}async makeStackBlock(e,t,i){let n=this.getThemedColors(t?.backgroundColor,t?.lightBackgroundColor,t?.darkBackgroundColor);return this.makeBlock(Ue.BLOCK_STACK,t,{stackConfig:{alignment:this.makeBlockAlignment(t?.alignment),backgroundColor:n?.light,backgroundColors:n,border:this.makeBlockBorder(t?.border,t?.borderColor,t?.lightBorderColor,t?.darkBorderColor),children:await this.childrenToBlocks(i),cornerRadius:this.makeBlockRadius(t?.cornerRadius),direction:e,gap:this.makeBlockGap(t?.gap),padding:this.makeBlockPadding(t?.padding),reverse:t?.reverse}})}async makeHStack(e,...t){return this.makeStackBlock(Cc.STACK_HORIZONTAL,e,t)}async makeVStack(e,...t){return this.makeStackBlock(Cc.STACK_VERTICAL,e,t)}async makeZStack(e,...t){return this.makeStackBlock(Cc.STACK_DEPTH,e,t)}makeText(e,...t){let i=this.getThemedColors(e?.color,e?.lightColor,e?.darkColor);return this.makeBlock(Ue.BLOCK_TEXT,e,{textConfig:{alignment:this.makeBlockAlignment(e?.alignment),color:i?.light,colors:i,outline:this.makeBlockTextOutline(e?.outline),size:this.makeBlockTextSize(e?.size),style:this.makeBlockTextStyle(e?.style),text:this.childrenToString(t),weight:this.makeBlockTextWeight(e?.weight),selectable:e?.selectable,wrap:e?.wrap,overflow:this.makeBlockTextOverflow(e?.overflow)}})}makeButton(e,...t){let i=this.getThemedColors(e?.textColor,e?.lightTextColor,e?.darkTextColor);return this.makeBlock(Ue.BLOCK_BUTTON,e,{buttonConfig:{buttonAppearance:this.makeBlockButtonAppearance(e?.appearance),icon:e?.icon,buttonSize:this.makeBlockButtonSize(e?.size),text:this.childrenToString(t),textColor:i?.light,textColors:i,disabled:e?.disabled}})}async makeImage(e){return e&&this.makeBlock(Ue.BLOCK_IMAGE,e,{imageConfig:{description:e?.description,resizeMode:this.makeBlockImageResizeMode(e.resizeMode),url:e.url,width:this.parsePixels(e.imageWidth),height:this.parsePixels(e.imageHeight)}})}makeSpacer(e){return this.makeBlock(Ue.BLOCK_SPACER,e,{spacerConfig:{size:this.makeBlockSpacerSize(e?.size),shape:this.makeBlockSpacerShape(e?.shape)}})}makeIcon(e){let t=this.getThemedColors(e?.color,e?.lightColor,e?.darkColor);return e&&this.makeBlock(Ue.BLOCK_ICON,e,{iconConfig:{icon:e.name,color:t?.light,colors:t,size:this.makeBlockIconSize(e.size)}})}makeAvatar(e){return e&&this.makeBlock(Ue.BLOCK_AVATAR,e,{avatarConfig:{thingId:e.thingId,size:this.makeBlockAvatarSize(e.size),facing:this.makeBlockAvatarFacing(e.facing),background:this.makeBlockAvatarBackground(e.background)}})}makeFullSnoo(e){return e&&this.makeBlock(Ue.BLOCK_FULLSNOO,e,{fullsnooConfig:{userId:e.userId,facing:this.makeBlockAvatarFacing(e.facing),size:this.makeBlockFullSnooSize(e.size)}})}async makeAnimation(e){return e&&this.makeBlock(Ue.BLOCK_ANIMATION,e,{animationConfig:{type:this.makeBlockAnimationType(e.type),url:e.url,loop:e.loop,loopMode:this.makeBlockLoopMode(e.loopMode),autoplay:e.autoplay,width:this.parsePixels(e.imageWidth),height:this.parsePixels(e.imageHeight),direction:this.makeBlockAnimationDirection(e.direction),speed:e.speed}})}makeWebView(e){return e&&this.makeBlock(Ue.BLOCK_WEBVIEW,e,{webviewConfig:{url:e.url}})}makeBlock(e,t,i){return{type:e,size:this.makeBlockSize(t),sizes:this.makeBlockSizes(t),config:i,actions:(t&&this.makeActions(e,t))??[],id:t?.id,key:t?.key}}async ensureRootBlock(e){let t=e;if(t.type===Ue.BLOCK_ROOT)return t.config?.rootConfig&&u.customPostType?.height&&(t.config.rootConfig.height=this.makeRootHeight(u.customPostType?.height)),t;let i=await this.wrapRoot(void 0,[t]);if(!i)throw new Error("Could not create root block");return i}};function ly(r){if(typeof r=="string")throw new Error("Root element cannot be a string")}var uy=r=>{let e="",t=r.props?Object.keys(r.props).map(i=>i==="onPress"?"":`${i}="${r.props[i]}"`).join(" "):"";e+=`<${r.type}${t?" "+t:""}>`;for(let i of r.children)typeof i=="string"?e+=i:e+=uy(i);return e+=`</${r.type}>`,e};function N0(r){return" ".repeat(r)}function q0(r){let e="",t=0,i=r.split(/>\s*</);for(let n=0;n<i.length;n++){let o=i[n];n===0&&(o=o.trim()),n===i.length-1&&(o=o.trim());let a=o.charAt(0)==="/";a&&t--,e+=N0(t),n!==0&&(e+="<"),e+=o,n!==i.length-1&&(e+=`>
2
2
  `),!a&&o.indexOf("</")===-1&&o.charAt(o.length-1)!=="/"&&t++}return e}var pd,cy,ir,Qn,es,Ec,ts,nt=class{constructor(e,t,i,n,o){l(this,pd);l(this,ir);l(this,es);this.renderState={};this.currentComponentKey=[];this.currentHookIndex=0;this.actions=new Map;this.forms=new Map;this.realtimeChannels=[];this.realtimeUpdated=!1;this.pendingHooks=[];this.isRendering=!1;this.transformer=new ii;this.effects=[];l(this,ts,!1);this.component=e,this.event=t,this.state={__renderState:{},...i},this.metadata=n,this.state.__realtimeChannels&&(this.realtimeChannels=this.state.__realtimeChannels);let a=Me({reconciler:this,hooks:!0,ui:!0,metadata:n});this.cache=a.cache,this.modLog=a.modLog,this.reddit=a.reddit,this.kvStore=a.kvStore,this.redis=a.redis,this.settings=a.settings,this.scheduler=a.scheduler,this.media=a.media,this.assets=a.assets,this.realtime=a.realtime,this.dimensions=o,this.ui=a.ui,this.hooks={useState:a.useState,useInterval:a.useInterval,useForm:a.useForm,useChannel:a.useChannel}}emitEffect(e,t){this.effects.push(t)}async render(){await this.reconcile(),this.isRendering=!0;let e=await this.buildBlocksUI();return this.isRendering=!1,e}makeUniqueActionID(e){let t=e,i=1;for(;this.actions.has(t);)t=`${e}.${i++}`;return t}async reconcile(){let e={type:this.component,props:b(this,ir,Qn).call(this),children:[]},t=await this.processBlock(e);if(ly(t),await this.transformer.createBlocksElementOrThrow(t),this.isUserActionRender&&this.blockRenderEventId){let i=this.actions.get(this.blockRenderEventId);i&&await i({})}for(let i of this.pendingHooks)await i();this.buildNextState(),b(this,pd,cy).call(this)}async buildBlocksUI(){let e={type:this.component,props:b(this,ir,Qn).call(this),children:[]},t=await this.renderElement(e);return this.transformer.ensureRootBlock(t)}async renderElement(e){let t=await this.processBlock(e);return ly(t),(u.debug.emitSnapshots||this.metadata[se.DebugRenderXML]?.values[0])&&console.log(q0(uy(t))),u.debug.emitState&&console.log(JSON.stringify(this.state,null,2)),await this.transformer.createBlocksElementOrThrow(t)}async processProps(e){if(e.onPress){let t=e.onPress,i=t.name,n=this.makeUniqueActionID(`${_0.BLOCK_BUTTON}.${i??"onPress"}`);this.actions.set(n,t),e.onPress=n}e.url&&(e.url=await this.getAssetUrl(e.url))}async getAssetUrl(e){let t,i=globalThis?.devvit?.config?.assets;if(i&&(t=i[e]),!t&&!Vv(e)){console.log("No assets loaded on the config - falling back to plugin");try{t=await this.assets.getURL(e),i&&t&&(i[e]=t)}catch{}}return t??e}async processBlock(e,t=Jv(),i=[]){let n=e;if(typeof n.type=="string"){let p=(await Promise.all(n.children.flatMap(async(m,y)=>m==null?[]:await this.processBlock(m,t,[...i,`${n.type}.${y}`])))).flat(),g=b(this,es,Ec).call(this,p);return await this.processProps(n.props||{}),{type:n.type,props:n.props,children:g}}if(typeof n.type=="function"){let c=t(`${i.length?i.join("."):"root"}.${n.type.name.length?n.type.name:"anonymous"}`);this.currentComponentKey.push(c),this.renderState[c]||(this.renderState[c]={});let p=n.children.flatMap(m=>m),g={...b(this,ir,Qn).call(this),...n.props,children:p},v;for(;v===void 0;)try{v=await n.type(g,b(this,ir,Qn).call(this))}catch(m){if(m instanceof Promise)v=await m;else throw m}if(!this.isInitialRender){let m=this.getPreviousComponentState();if(Object.keys(m).length!==this.currentHookIndex)throw new Error("Invalid hook call. Hooks can only be called at the top-level of a function component. Make sure that you are not calling hooks inside loops, conditions, or nested functions.")}if(this.currentComponentKey.pop(),this.currentHookIndex=0,typeof v=="object")return this.processBlock(v,t,[...i,n.type.name])}if(typeof n=="string")return n;if(typeof n=="number")return`${n}`;let o=[],a="";return Array.isArray(n)?o=n:typeof n.type>"u"&&n.children&&(o=n.children,a="fragmentChild."),{type:"__fragment",props:void 0,children:await Promise.all(o.flatMap(async(c,p)=>await this.processBlock(c,t,[...i,`${a}${p}`])))}}getCurrentComponentKey(){if(!this.currentComponentKey.at(-1))throw new Error("Current component key is missing");return this.currentComponentKey}getCurrentComponentState(){let e=this.currentComponentKey.at(-1);if(!e)throw new Error("Current component key is missing");return this.renderState[e]}getPreviousComponentState(){let e=this.currentComponentKey.at(-1);if(!e)throw new Error("Current component key is missing");return this.state.__renderState[e]||(this.state.__renderState[e]={}),this.state.__renderState[e]}get isInitialRender(){return this.event?this.event.type===Tc.RENDER_INITIAL:!1}get isUserActionRender(){return this.event?this.event.type===Tc.RENDER_USER_ACTION:!1}get isEffectRender(){return this.event?this.event.type===Tc.RENDER_EFFECT_EVENT:!1}get formSubmittedEvent(){return this.event?this.event.formSubmitted:!1}get blockRenderEventId(){return this.event?this.event.id:!1}get realtimeEvent(){if(!this.event)return!1;let e=this.event.realtimeEvent;return e?.event?.channel?e:!1}runHook(e){this.pendingHooks.push(e)}rerenderIn(e){s(this,ts)||(d(this,ts,!0),this.effects.push({type:dy.EFFECT_RERENDER_UI,rerenderUi:{delaySeconds:e/1e3}}))}addRealtimeChannel(e){this.realtimeChannels.push(e),this.realtimeUpdated=!0}removeRealtimeChannel(e){this.realtimeChannels=this.realtimeChannels.filter(t=>t!==e),this.realtimeUpdated=!0}get realtimeEffect(){return this.realtimeUpdated&&this.realtimeChannels.length>0?[{type:dy.EFFECT_REALTIME_SUB,realtimeSubscriptions:{subscriptionIds:this.realtimeChannels}}]:[]}getEffects(){return[...ei(this.ui),...this.effects,...this.realtimeEffect]}buildNextState(){for(let e of Object.keys(this.renderState))this.renderState[e]=Object.values(this.renderState[e]);this.state={__postData:this.state.__postData,__renderState:this.renderState,__cache:this.state.__cache,...this.realtimeChannels.length>0?{__realtimeChannels:this.realtimeChannels}:{}}}};pd=new WeakSet,cy=function(){this.actions.clear(),this.currentComponentKey=[],this.currentHookIndex=0,this.pendingHooks=[],this.realtimeChannels=[],this.realtimeUpdated=!1},ir=new WeakSet,Qn=function(){let e={...ae(this.metadata,this.state.__postData?.thingId),modLog:this.modLog,reddit:this.reddit,cache:this.cache,kvStore:this.kvStore,redis:this.redis,settings:this.settings,scheduler:this.scheduler,media:this.media,assets:this.assets,realtime:this.realtime,ui:this.ui,dimensions:this.dimensions,...this.hooks};return e.debug.effects=this,e},es=new WeakSet,Ec=function(e){let t=[];for(let i of e)typeof i=="string"?t.push(i):i.type==="__fragment"?t.push(...b(this,es,Ec).call(this,i.children)):t.push(i);return t},ts=new WeakMap;async function j0(r,e){let t=u.customPostType;if(!t)throw new Error("Custom post type not registered");let i=new nt((o,a)=>t.render(a),r.blocks,r.state,e,r.dimensions),n=await i.render();return{state:i.state,blocks:{ui:n},effects:i.getEffects()}}function my(r){r.provides(H0),M("RenderPost",j0)}import{GetFieldsResponse as W0,InstallationSettingsDefinition as G0}from"@devvit/protos";async function z0(){if(!u.installationSettings)throw new Error("Installation settings were not defined.");return W0.fromPartial({fields:{fields:it(u.installationSettings)}})}async function V0(r,e){return ad(r,u.installationSettings,e)}function py(r){r.provides(G0),M("GetSettingsFields",z0),M("ValidateForm",V0)}import{ContextActionDefinition as J0,ContextActionDescription as $0,ContextActionResponse as K0}from"@devvit/protos";var gy=r=>`menuItem.${r}`;function Rc(r){return u.menuItems.find((e,t)=>gy(t)===r)}async function X0(r,e){let t=u.menuItems;if(!t.length)throw new Error("No menu items registered.");return{actions:t.map((n,o)=>$0.fromPartial({actionId:gy(o),name:n.label,description:n.description,contexts:{subreddit:n.location.includes("subreddit"),post:n.location.includes("post"),comment:n.location.includes("comment")},users:{loggedOut:n.forUserType?.includes("loggedOut"),member:n.forUserType?.includes("member"),moderator:n.forUserType?.includes("moderator")},postFilters:n.postFilter==="currentApp"?{currentApp:!0}:void 0}))}}async function Z0(r,e){let t=Rc(r.actionId);if(!t)throw new Error(`MenuItem ${r.actionId} not found`);let i=r.comment?.id&&`t1_${r.comment.id}`,n=r.post?.id&&`t3_${r.post.id}`,o=r.subreddit?.id&&`t5_${r.subreddit.id}`,a=i||n||o;f(a,"targetId is missing from ContextActionRequest");let c={targetId:a,location:r.comment?"comment":r.post?"post":"subreddit"},p=Object.assign(Me({ui:!0,metadata:e}),ae(e,n,i));return await t.onPress(c,p),K0.fromPartial({effects:ei(p.ui)})}function fy(r){r.provides(J0),M("GetActions",X0),M("OnAction",Z0)}function st(r){return r?r===!0?!0:r.enabled:!1}import{SchedulerHandlerDefinition as Y0}from"@devvit/protos";async function Q0(r,e){let t=r.type,i=u.scheduledJobHandlers.get(t);if(!i)throw new Error(`Job ${t} not found`);let n={name:t,data:r.data},o=Object.assign(Me({metadata:e}),ae(e));await i(n,o)}function hy(r){r.provides(Y0),M("HandleScheduledAction",Q0)}import{HandlerResult as eT,OnAppInstallDefinition as tT,OnAppUpgradeDefinition as rT,OnCommentCreateDefinition as iT,OnCommentDeleteDefinition as nT,OnCommentReportDefinition as sT,OnCommentSubmitDefinition as oT,OnCommentUpdateDefinition as aT,OnModActionDefinition as dT,OnModMailDefinition as lT,OnPostCreateDefinition as uT,OnPostDeleteDefinition as cT,OnPostFlairUpdateDefinition as mT,OnPostReportDefinition as pT,OnPostSubmitDefinition as gT,OnPostUpdateDefinition as fT}from"@devvit/protos";var gd;(function(r){function e(o,a){return o.length<=a?o:`${o.slice(0,a-1)}\u2026`}r.ellipsize=e;function t(o){return o[0]==null?o:`${o[0].toLocaleUpperCase()}${o.slice(1)}`}r.capitalize=t;function i(o){return o==null||/^\s*$/.test(o)}r.isBlank=i;function n(o){return o instanceof Error?`${o.stack||o.message||o.name}`:String(o)}r.caughtToString=n})(gd||(gd={}));function re(r,e){return f(e),async(t,i)=>{let n={...t,type:r},o=Object.assign(Me({metadata:i}),ae(i)),a=await Promise.allSettled(e.map(p=>p(n,o))),c=hT(a);if(c)throw c.err;return eT.fromPartial({})}}function vy(r){for(let e of u.triggerOnEventHandlers.keys())switch(e){case"PostSubmit":r.provides(gT),M("OnPostSubmit",re("PostSubmit",u.triggerOnEventHandlers.get(e)));break;case"PostCreate":r.provides(uT),M("OnPostCreate",re("PostCreate",u.triggerOnEventHandlers.get(e)));break;case"PostUpdate":r.provides(fT),M("OnPostUpdate",re("PostUpdate",u.triggerOnEventHandlers.get(e)));break;case"PostReport":r.provides(pT),M("OnPostReport",re("PostReport",u.triggerOnEventHandlers.get(e)));break;case"PostDelete":r.provides(cT),M("OnPostDelete",re("PostDelete",u.triggerOnEventHandlers.get(e)));break;case"PostFlairUpdate":r.provides(mT),M("OnPostFlairUpdate",re("PostFlairUpdate",u.triggerOnEventHandlers.get(e)));break;case"CommentSubmit":r.provides(oT),M("OnCommentSubmit",re("CommentSubmit",u.triggerOnEventHandlers.get(e)));break;case"CommentCreate":r.provides(iT),M("OnCommentCreate",re("CommentCreate",u.triggerOnEventHandlers.get(e)));break;case"CommentUpdate":r.provides(aT),M("OnCommentUpdate",re("CommentUpdate",u.triggerOnEventHandlers.get(e)));break;case"CommentReport":r.provides(sT),M("OnCommentReport",re("CommentReport",u.triggerOnEventHandlers.get(e)));break;case"CommentDelete":r.provides(nT),M("OnCommentDelete",re("CommentDelete",u.triggerOnEventHandlers.get(e)));break;case"AppInstall":r.provides(tT),M("OnAppInstall",re("AppInstall",u.triggerOnEventHandlers.get(e)));break;case"AppUpgrade":r.provides(rT),M("OnAppUpgrade",re("AppUpgrade",u.triggerOnEventHandlers.get(e)));break;case"ModAction":r.provides(dT),M("OnModAction",re("ModAction",u.triggerOnEventHandlers.get(e)));break;case"ModMail":r.provides(lT),M("OnModMail",re("ModMail",u.triggerOnEventHandlers.get(e)));break;default:throw new Error(`Unknown trigger event: ${e}`)}}function hT(r){let e=r.reduce((t,i)=>i.status==="rejected"?[...t,i.reason]:t,[]);if(e.length!==0)return e.length===1?{err:e[0]}:{err:new Error(e.map(t=>gd.caughtToString(t)).join(`
3
- `))}}var ub=kn(Ey(),1),cb=kn(Gc(),1);import{EffectType as fR,UIEventHandlerDefinition as hR}from"@devvit/protos";async function vR(r,e){let t=r.state??{},i=(0,ub.default)(t),n=Me({ui:!0,metadata:e});if(r.event?.formSubmitted&&r.event.formSubmitted.formId){let p=r.event.formSubmitted.formId;if(p.includes("form.hook.")&&u.customPostType){let P=new nt((C,I)=>u.customPostType?.render(I)??null,r.event,r.state,e,void 0);return await P.reconcile(),{state:P.state,effects:P.getEffects()}}let g=u.formDefinitions.get(p);if(!g)throw new Error(`Form with key ${p} not found`);let v,m;if(i.__contextAction){let{actionId:P,thingId:C}=i.__contextAction,I=Rc(P);I?.location==="post"?v=C:I?.location==="comment"&&(m=C)}let y=Object.assign(n,ae(e,v,m));await g.onSubmit({values:yt(r.event.formSubmitted.results)},y)}else if(r.event?.realtimeEvent){if(u.customPostType){let p=new nt((g,v)=>u.customPostType?.render(v)??null,r.event,r.state,e,void 0);return await p.reconcile(),{state:p.state,effects:p.getEffects()}}}else if(r.event?.toastAction)throw new Error("Toast actions not yet implemented");let o=!(0,cb.default)(t,i),a=ei(n.ui),c=o?[...a,{type:fR.EFFECT_RERENDER_UI,rerenderUi:{delaySeconds:0}}]:a;return{state:i,effects:c}}function mb(r){r.provides(hR),M("HandleUIEvent",vR)}import{CustomPostDefinition as bb}from"@devvit/protos";var ai=class extends Error{};function Vc(r){let e=Ze({namespace:"useState"},({changed:t})=>{let i=r instanceof Function?r():r;if(i instanceof Promise)throw new Error("Cannot use async initializer with useState, use useAsyncState instead.");return{state:i,setter:o=>{e.state=o instanceof Function?o(e.state):o,t()}}});return[e.state,e.setter]}var dr,as,di,zc=class{constructor(e,t){this.state={value:null,loading:!1};l(this,dr,void 0);l(this,as,void 0);l(this,di,void 0);d(this,as,e),d(this,di,t.hookId),d(this,dr,t.changed)}async onUIEvent(){this.state.value===null&&(this.state.value=await s(this,as).call(this),this.state.loading=!1,s(this,dr).call(this))}setter(e){this.state.value=e instanceof Function?e(this.state.value):e,s(this,dr).call(this)}onLoad(e){if(this.state.value===null&&!this.state.loading){this.state.loading=!0,s(this,dr).call(this);let t={asyncRequest:{requestId:s(this,di)},hook:s(this,di)};throw e.addToRequeueEvents(t),new ai}}};dr=new WeakMap,as=new WeakMap,di=new WeakMap;function yR(r){let e=Ze({namespace:"useAsyncState"},t=>new zc(r,t));return[e.state.value,e.setter.bind(e)]}import{EffectType as Jc}from"@devvit/protos";var ui,li=class li{constructor(e){this.request=e;l(this,ui,void 0);this._segments=[];this._hooks={};this._prevHookId="";this._effects={};this._changed={};this._requeueEvents=[];this._rootProps={};this._generated={};this._undeliveredHandlers={};d(this,ui,e.state??{}),this._rootProps=e.props??{}}get devvitContext(){if(!this._devvitContext)throw new Error("Devvit context not available");return this._devvitContext}set devvitContext(e){this._devvitContext=e}get _changedState(){let e={};for(let t in this._changed)e[t]=this._state[t];return e}get _state(){return s(this,ui)}set _state(e){this._changed={},d(this,ui,e)}push(e){this._segments.push({...e,next:0})}pop(){this._segments.pop()}addUndeliveredEventHandler(e,t){this._undeliveredHandlers[e]=t}addGlobalUndeliveredEventHandler(e,t){li.addGlobalUndeliveredEventHandler(e,t)}getHook(e){return this._hooks[e.id]}static addGlobalUndeliveredEventHandler(e,t){li._staticUndeliveredHandlers[e]=t}async handleUndeliveredEvent(e){let t={...li._staticUndeliveredHandlers,...this._undeliveredHandlers};for(let[i,n]of Object.entries(t))await n(e,this)}emitEffect(e,t){this._effects[e]=t}addToRequeueEvents(...e){console.debug("requeueing events",e);let t=e.reduce((i,n)=>(n.retry?i.retry.push(n):i.normal.push(n),i),{retry:[],normal:[]});this._requeueEvents=[...t.retry,...this._requeueEvents,...t.normal]}get effects(){return Object.values(this._effects)}nextHookId(e){e.key===void 0&&(e.key=this._segments[this._segments.length-1].next+++""),this.push(e);try{let t=[];for(let n=this._segments.length-1;n>=0;n--){let o=this._segments[n];if(o.id){t.unshift(o.id);break}let a=[];o.namespace&&a.push(o.namespace),o.key!==void 0&&o.key!==!1&&a.push(o.key),t.unshift(a.join("-"))}let i=t.join(".");if(this._generated[i]&&!e.shared)throw new Error(`Hook id ${i} already used, cannot register another hook with the same id`);return this._generated[i]=!0,this._prevHookId=i,i}finally{this.pop()}}};ui=new WeakMap,li._staticUndeliveredHandlers={};var ci=li;var At={};ci.addGlobalUndeliveredEventHandler("intervals",async(r,e)=>{r.timer&&r.hook&&(delete At[r.hook],e.emitEffect("timers",{type:Jc.EFFECT_SET_INTERVALS,interval:{intervals:At}}))});var xt,mi,ds,pi,$c=class{constructor(e,t,i){l(this,xt,void 0);l(this,mi,void 0);l(this,ds,void 0);l(this,pi,void 0);this.state={duration:{seconds:0,nanos:0},running:!1};d(this,mi,i.changed),d(this,xt,i.hookId),d(this,ds,e),d(this,pi,i.context);let n=Math.floor(t/1e3),o=t%1e3*1e6;this.state.duration={seconds:n,nanos:o}}onLoad(){this.state.running?At[s(this,xt)]={duration:this.state.duration}:delete At[s(this,xt)]}async onUIEvent(e){await s(this,ds).call(this)}start(){At[s(this,xt)]={duration:this.state.duration},this.state.running=!0,s(this,mi).call(this),s(this,pi).emitEffect("timers",{type:Jc.EFFECT_SET_INTERVALS,interval:{intervals:At}})}stop(){delete At[s(this,xt)],this.state.running=!1,s(this,mi).call(this),s(this,pi).emitEffect("timers",{type:Jc.EFFECT_SET_INTERVALS,interval:{intervals:At}})}};xt=new WeakMap,mi=new WeakMap,ds=new WeakMap,pi=new WeakMap;function Kc(r,e){return Ze({namespace:"useInterval"},t=>new $c(r,e,t))}import{EffectType as Yc,Form as kR,ToastAppearance as gb}from"@devvit/protos";var Xc=class{constructor(e,t,i){this.state=null;this.hookId=e.hookId,this.form=t,this.onSubmit=i,this.onUIEvent=async n=>{n.formSubmitted&&await i(yt(n.formSubmitted.results))}}};function Zc(r,e){let t=Ze({namespace:"useForm"},i=>new Xc(i,r,e));return bR({id:t.hookId})}function bR(r){return`form.hook.${r.id}.0`}function PR(r){return{id:r.match(/form\.hook\.(.+)\.0/)[1]}}function pb(r,e){let t=PR(e);return r.getHook(t)}var Tt,Ad=class{constructor(e){l(this,Tt,void 0);d(this,Tt,e)}showForm(e,t){let i=pb(s(this,Tt),e);if(!i)throw new Error("Form does not exist. Make sure you have added it using useForm.");let n=i.form instanceof Function?i.form(t??{}):i.form,o=kR.fromPartial({id:e,title:n.title,acceptLabel:n.acceptLabel,cancelLabel:n.cancelLabel,shortDescription:n.description});Yt(n.fields),o.fields=it(n.fields),s(this,Tt).emitEffect(e,{type:Yc.EFFECT_SHOW_FORM,showForm:{form:o}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?gb.SUCCESS:gb.NEUTRAL}:t={text:e},s(this,Tt).emitEffect(e.toString(),{type:Yc.EFFECT_SHOW_TOAST,showToast:{toast:t}})}navigateTo(e){let t;typeof e=="string"?t=new URL(e).toString():t=new URL(e.permalink,"https://www.reddit.com").toString(),s(this,Tt).emitEffect(t,{type:Yc.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}};Tt=new WeakMap;var fb=new Proxy({},{get:function(r,e,t){throw new Error(`Unimplemented API: ${String(e)}`)}}),xd=class{buildContext(e,t,i){let n=new Gr(i),o=new jr(i),a=new $r(i),c=new Vr(i),p=new Kr(i),g=new Xr(i),v=new Ad(e),m=new Wr(i),y=new Hr(i,()=>u.assetsPlugin),P=new Qr(i),A={modLog:n,kvStore:o,redis:a,reddit:c,scheduler:p,settings:g,media:m,assets:y,realtime:P,ui:v,useState:Vc,useChannel:fb,useInterval:Kc,useForm:Zc,cache:fb,dimensions:t?.dimensions},U=ae(i);return U.debug.effects=e,{...U,...A}}};var Td=kn(Gc(),1);var de=null;function Qc(r){return JSON.parse(JSON.stringify(r))}function Ze(r,e){if(!de)throw new Error("Hooks can only be declared at the top of a component. You cannot declare hooks outside of components or inside of event handlers. It's almost always a mistake to declare hooks inside of loops or conditionals.");let t=de.nextHookId(r),i=de,n={hookId:t,changed:()=>{i._changed[t]=!0,i._state[t]=i?._hooks[t]?.state},context:de},o=de._state[t]===void 0;de._hooks[t]=de._hooks[t]??e(n);let a=de._hooks[t];return de._state[t]!==void 0&&(a.state=de._state[t]),a.onLoad&&a.onLoad(de),o&&a.state!==void 0&&a.state!==null&&n.changed(),a}var SR=null,gi,Od,ls,fi,Ed,Md,hb,us,em,Ud,vb,cs,tm,ms,rm,hi,Rd,ps,im,Bd,yb,Fd=class{constructor(e){l(this,fi);l(this,Md);l(this,us);l(this,Ud);l(this,cs);l(this,ms);l(this,hi);l(this,ps);l(this,Bd);l(this,gi,void 0);l(this,Od,new xd);l(this,ls,new ii);this._latestRenderContext=null;console.log("BlocksHandler v1"),d(this,gi,e),SR=this}async handle(e,t){let i=new ci(e),n=s(this,Od).buildContext(i,e.env??{},t);i.devvitContext=n;let o,a=e.events,p=!e.events?.length||a.some(P=>!P.async),g=a.some(P=>P.blocking),v,m,y=[...a];for(;a.length>0;){let P=[];if(!a[0].async)P.push(a.shift());else for(;a[0]?.async;)P.push(a.shift());if(!P.length)throw Error("batch must have at least one event");try{if(P[0].async){let I=Qc(i._state);await b(this,Md,hb).call(this,i,...P),i._state=I}else await b(this,Ud,vb).call(this,i,...P)}catch(I){if(console.debug("caught in handler",I),m){i._state=m._state,i._changed=v,i._effects=m._effects;let A=y.map(U=>{let ue={...U};return ue.retry=!0,ue});i.addToRequeueEvents(...A);break}else throw I}console.debug("remaining events",i._requeueEvents);let C=[];for(let I of i._requeueEvents){if(!p&&!I.async){console.debug("NOT reprocessing event in BlocksHandler, sync mismatch A",I),C.push(I);continue}if(p&&I.async&&!g){console.debug("NOT reprocessing event in BlocksHandler, sync mismatch B",I),C.push(I);continue}console.debug("reprocessing event in BlocksHandler",I),a.push(I)}i._requeueEvents=C,a.length>0&&(v={...i._changed},m={_state:Qc(i._state),_effects:{...i._effects}},y=[...a])}if(p){let P=Qc(i._state),C=[...i._requeueEvents],I={...i._effects},A=b(this,cs,tm).call(this,s(this,gi),i._rootProps??{},i);(0,Td.default)(i._state,P)||console.error("State was mutated during rendering",i._state,P),(0,Td.default)(i._requeueEvents,C)||console.error("Events were mutated during rendering",i._requeueEvents,C),(0,Td.default)(i._effects,I)||console.error("Effects were mutated during rendering",i._effects,I),A&&(o=await s(this,ls).createBlocksElementOrThrow(A),o=await s(this,ls).ensureRootBlock(o))}return{state:i._changedState,effects:i.effects,blocks:o,events:i._requeueEvents}}};gi=new WeakMap,Od=new WeakMap,ls=new WeakMap,fi=new WeakSet,Ed=function(e,...t){b(this,cs,tm).call(this,s(this,gi),e.request.props??{},e)},Md=new WeakSet,hb=async function(e,...t){b(this,fi,Ed).call(this,e,...t),await Promise.all(t.map(async i=>{if(!i.async)throw new Error("You can't mix main and other queues in one batch. This is likely a platform bug. Please file an issue in the Discord for someone to help! https://discord.com/channels/1050224141732687912/1115441897079574620");await b(this,us,em).call(this,e,i)}))},us=new WeakSet,em=async function(e,t){let i=e._hooks[t.hook];if(i&&i.onUIEvent)try{await i.onUIEvent(t,e)}catch(n){throw console.error("Error in event handler",n),n}else await e.handleUndeliveredEvent(t)},Ud=new WeakSet,vb=async function(e,...t){for(let i of t)b(this,fi,Ed).call(this,e,i),await b(this,us,em).call(this,e,i);b(this,fi,Ed).call(this,e)},cs=new WeakSet,tm=function(e,t,i){console.debug("renderRoot"),i._generated={},de=i,this._latestRenderContext=i;try{let n=b(this,ms,rm).call(this,e,t,i);if(n.length!==1)throw new Error("only one root");let o=n[0];if(typeof o=="string")throw new Error("There must be a root tag. Try wrapping your app in a <text></text>, <vstack> or other tag.");return o}catch(n){if(n instanceof ai)return;throw n}finally{de=null}},ms=new WeakSet,rm=function(e,t,i){i.push({namespace:e.name,...t});try{let n=e(t,i.devvitContext);return b(this,ps,im).call(this,n,i)}finally{i.pop()}},hi=new WeakSet,Rd=function(e,t){return e=e.flat(1/0),e.flatMap((i,n)=>(i&&typeof i=="object"&&"props"in i&&(i.props?.key||(i.props=i.props??{},i.props.key=n)),b(this,ps,im).call(this,i,t)))},ps=new WeakSet,im=function(e,t){if(Array.isArray(e))return b(this,hi,Rd).call(this,e,t);if(CR(e)){if(e.type===void 0)return b(this,hi,Rd).call(this,e.children,t);if(typeof e.type=="function"){let i={...e.props,children:e.children};return b(this,ms,rm).call(this,e.type,i,t)}else{t.push({namespace:e.type,...e.props});let i=b(this,hi,Rd).call(this,e.children,t),n=b(this,Bd,yb).call(this,e.props??{});return t.pop(),[{type:e.type,children:i,props:n}]}}else return[(e??"").toString()]},Bd=new WeakSet,yb=function(e){let t={};for(let i in e)if(typeof e[i]=="function"){let n=Ze({namespace:i,key:!1},({hookId:o})=>({hookId:o,state:null,onUIEvent:e[i]}));t[i]=n.hookId,"captureHookRef"in e[i]&&e[i].captureHookRef()}else{let n=e[i];n!=null&&(t[i]=n.toString())}return t};function CR(r){return typeof r=="object"&&r!=null&&"type"in r}var IR=[[bb,bb.methods.renderPostContent,(r,e)=>u.customPostType?.render(e)??null]];function wR(r){return async(e,t)=>new Fd(r).handle(e,t)}function Pb(r){for(let[e,t,i]of IR)r.provides(e),M(t.name,wR(i))}var gs,vi,lr,ur,cr,yi,bi,Et,mr,B,_,W,D=class D extends Ja{static configure(e){d(this,gs,e),st(e.http)&&b(this,_,W).call(this,S.HTTPDefinition),(st(e.kvStore)||st(e.redis))&&(b(this,_,W).call(this,S.KVStoreDefinition),b(this,_,W).call(this,S.RedisAPIDefinition)),st(e.media)&&b(this,_,W).call(this,S.MediaServiceDefinition),st(e.modLog)&&b(this,_,W).call(this,S.ModlogDefinition),st(e.redditAPI)&&(b(this,_,W).call(this,S.FlairDefinition),b(this,_,W).call(this,S.GraphQLDefinition),b(this,_,W).call(this,S.LinksAndCommentsDefinition),b(this,_,W).call(this,S.ListingsDefinition),b(this,_,W).call(this,S.ModerationDefinition),b(this,_,W).call(this,S.ModNoteDefinition),b(this,_,W).call(this,S.NewModmailDefinition),b(this,_,W).call(this,S.PrivateMessagesDefinition),b(this,_,W).call(this,S.SubredditsDefinition),b(this,_,W).call(this,S.PostCollectionsDefinition),b(this,_,W).call(this,S.UsersDefinition),b(this,_,W).call(this,S.WidgetsDefinition),b(this,_,W).call(this,S.WikiDefinition),b(this,_,W).call(this,S.RedditAPIV2Definition)),st(e.realtime)&&b(this,_,W).call(this,S.RealtimeDefinition)}static addMenuItem(e){s(this,vi).push(e)}static addCustomPostType(e){d(this,lr,e)}static createForm(e,t){let i=`form.${s(this,ur).size}`;return s(this,ur).set(i,{form:e,onSubmit:t}),i}static addSchedulerJob(e){if(s(this,B)[S.SchedulerDefinition.fullName]||b(this,_,W).call(this,S.SchedulerDefinition),s(this,cr).has(e.name))throw new Error(`Job ${e.name} is already defined`);s(this,cr).set(e.name,e.onRun)}static addSettings(e){Yt(e);let t=e.filter(n=>n.type==="group"||!n.scope||n.scope==="installation"),i=e.filter(n=>n.type!=="group"&&n.scope==="app");t.length>0&&d(this,yi,t),i.length>0&&d(this,bi,i),s(this,B)[S.SettingsDefinition.fullName]||b(this,_,W).call(this,S.SettingsDefinition)}static addTrigger(e){if("events"in e){for(let t of e.events)this.addTrigger({event:t,onEvent:(i,n)=>e.onEvent(i,n)});return this}return s(this,Et).has(e.event)?s(this,Et).get(e.event)?.push(e.onEvent):s(this,Et).set(e.event,[e.onEvent]),D}static get redditAPIPlugins(){if(!st(s(this,gs).redditAPI))throw new Error("Reddit API is not enabled. You can enable it by passing `redditAPI: true` to `Devvit.configure`.");return{Flair:s(this,B)[S.FlairDefinition.fullName],GraphQL:s(this,B)[S.GraphQLDefinition.fullName],LinksAndComments:s(this,B)[S.LinksAndCommentsDefinition.fullName],Listings:s(this,B)[S.ListingsDefinition.fullName],Moderation:s(this,B)[S.ModerationDefinition.fullName],ModNote:s(this,B)[S.ModNoteDefinition.fullName],NewModmail:s(this,B)[S.NewModmailDefinition.fullName],PrivateMessages:s(this,B)[S.PrivateMessagesDefinition.fullName],Subreddits:s(this,B)[S.SubredditsDefinition.fullName],PostCollections:s(this,B)[S.PostCollectionsDefinition.fullName],Users:s(this,B)[S.UsersDefinition.fullName],Widgets:s(this,B)[S.WidgetsDefinition.fullName],Wiki:s(this,B)[S.WikiDefinition.fullName]}}static get modLogPlugin(){let e=s(this,B)[S.ModlogDefinition.fullName];if(!e)throw new Error("ModLog is not enabled. You can enable it by passing `modLog: true` to `Devvit.configure`");return e}static get schedulerPlugin(){let e=s(this,B)[S.SchedulerDefinition.fullName];if(!e)throw new Error("Scheduler is not enabled. You can enable it by calling `Devvit.addSchedulerJob` at the top level of your app.");return e}static get kvStorePlugin(){let e=s(this,B)[S.KVStoreDefinition.fullName];if(!e)throw new Error("Key Value Store is not enabled. You can enable it by passing `kvStore: true` to `Devvit.configure`");return e}static get redisPlugin(){let e=s(this,B)[S.RedisAPIDefinition.fullName];if(!e)throw new Error("Redis is not enabled. You can enable it by passing `redis: true` to `Devvit.configure`");return e}static get mediaPlugin(){let e=s(this,B)[S.MediaServiceDefinition.fullName];if(!e)throw new Error("MediaService is not enabled. You can enable it by passing `media: true` to `Devvit.configure`");return e}static get redditapiv2Plugin(){let e=s(this,B)[S.RedditAPIV2Definition.fullName];if(!e)throw new Error("RedditAPIV2 is not enabled. You can enable it by passing `apiV2: true` to `Devvit.configure`");return e}static get assetsPlugin(){let e=s(this,B)[S.AssetResolverDefinition.fullName];if(!e)throw new Error("AssetsService is not available. This should not happen, and indicates a setup problem with the runtime.");return e}static get settingsPlugin(){let e=s(this,B)[S.SettingsDefinition.fullName];if(!e)throw new Error("Settings is not enabled. You can enable it by passing `settings: true` to `Devvit.configure`");return e}static get realtimePlugin(){let e=s(this,B)[S.RealtimeDefinition.fullName];if(!e)throw new Error("Realtime is not enabled. You can enable it by passing `realtime: true` to `Devvit.configure`");return e}static get menuItems(){return s(this,vi)}static get customPostType(){return s(this,lr)}static get formDefinitions(){return s(this,ur)}static get scheduledJobHandlers(){return s(this,cr)}static get installationSettings(){return s(this,yi)}static get appSettings(){return s(this,bi)}static get triggerOnEventHandlers(){return s(this,Et)}constructor(e){var t;super(e),b(t=D,_,W).call(t,S.AssetResolverDefinition);for(let i in s(D,mr)){let n=s(D,mr)[i];n.handler=e.use(n.def,n.options)}s(D,vi).length>0&&fy(e),s(D,cr).size>0&&hy(e),s(D,lr)&&(my(e),Pb(e)),(s(D,lr)||s(D,ur).size>0)&&mb(e),s(D,yi)&&py(e),s(D,bi)&&Gv(e),s(D,Et).size>0&&vy(e)}};gs=new WeakMap,vi=new WeakMap,lr=new WeakMap,ur=new WeakMap,cr=new WeakMap,yi=new WeakMap,bi=new WeakMap,Et=new WeakMap,mr=new WeakMap,B=new WeakMap,_=new WeakSet,W=function(e,t){s(this,mr)[e.fullName]={def:e,options:t??{},handler:void 0};let i={};for(let n of Object.values(e.methods))i[n.name]=(o,a)=>s(this,mr)[e.fullName].handler?.[n.name]?.(n.requestType?.fromPartial(o??{}),a);return s(this,B)[e.fullName]=i,i},l(D,_),D.debug={emitSnapshots:!1,emitState:!1},l(D,gs,{}),l(D,vi,[]),l(D,lr,void 0),l(D,ur,new Map),l(D,cr,new Map),l(D,yi,void 0),l(D,bi,void 0),l(D,Et,new Map),l(D,mr,{}),l(D,B,{});var u=D;(e=>{function r(t,i,...n){return{type:t,props:i,children:n}}e.createElement=r})(u||(u={}));function V(r){let e=Object.getOwnPropertyDescriptors(r.constructor.prototype);for(let[t,i]of Object.entries(e))i.get&&Object.defineProperty(r,t,{...i,enumerable:!0})}var nm;(function(r){r[r.bold=1]="bold",r[r.italic=2]="italic",r[r.underline=4]="underline",r[r.strikethrough=8]="strikethrough",r[r.subscript=16]="subscript",r[r.superscript=32]="superscript",r[r.monospace=64]="monospace"})(nm||(nm={}));var kb="text",Sb="raw",Cb="br",Ib="link",wb="c/",Ab="p/",xb="r/",Tb="u/",Eb="@",Rb="spoilertext",Fb="par",Ob="h",Mb="hr",Ub="blockquote",Bb="code",Lb="li",Db="list",_b="L",Nb="R",qb="C",Hb="table",jb="embed",Wb="img",Gb="gif",zb="video";function Vb(r){return{e:Gb,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function Jb(r,e){let t={},i=[];return Object.assign(t,fs(t,i),hs(t,i),vs(t,i),Ps(t,i),ks(t,i),Ss(t,i)),e(t),{e:Ub,c:i,...r.author&&{a:r.author}}}function $b(r,e){let t={},i=[];return Object.assign(t,om(t,i)),e(t),{e:Bb,c:i,...r.language&&{l:r.language}}}function Kb(r){return{e:wb,t:r.permalink}}function Xb(r,e){let t={},i=[];return Object.assign(t,om(t,i),bs(t,i)),e(t),{e:Ob,l:r.level,c:i}}function Zb(r){return{e:jb,u:r.sourceUrl,c:r.contentUrl,x:r.width,y:r.height}}function Yb(){return{e:Mb}}function Qb(r){return{e:Wb,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function eP(){return{e:Cb}}function tP(r){return{e:Ib,t:r.text,u:r.url,...r.formatting&&{f:r.formatting},...r.tooltip&&{a:r.tooltip}}}function rP(r,e){let t={},i=[];return Object.assign(t,yP(t,i)),e(t),{e:Db,o:r.ordered,c:i}}function iP(r){let e={},t=[];return Object.assign(e,fs(e,t),hs(e,t),vs(e,t),Ld(e,t),Ps(e,t),ks(e,t),Ss(e,t)),r(e),{e:Lb,c:t}}function nP(r){let e={},t=[];return Object.assign(e,Dd(e,t),bs(e,t),sm(e,t),am(e,t),ys(e,t)),r(e),{e:Fb,c:t}}function sP(r){return{e:Ab,t:r.permalink}}function oP(r){return{e:Sb,t:r}}function aP(r){let e={},t=[];return Object.assign(e,Dd(e,t),bs(e,t),sm(e,t)),r(e),{e:Rb,c:t}}function dP(r){return{e:xb,t:r.subredditName,l:r.showPrefix}}function lP(r){let e={},t=[],i=[];return Object.assign(e,bP(e,t,i)),r(e),{e:Hb,h:t,c:i}}function uP(r){let[e,t]=vP();return r(e),{c:t}}function cP(r,e){let[t,i]=vP();e(t);let n;switch(r.columnAlignment){case"left":n=_b;break;case"right":n=Nb;break;case"center":n=qb;break}return{...n&&{a:n},...i&&{c:i}}}function mP(r){let e={},t=[];return Object.assign(e,PP(e,t)),r(e),t}function pP(r){return{e:kb,t:r.text,...r.formatting&&{f:r.formatting}}}function gP(r){return{e:Tb,t:r.username,l:r.showPrefix}}function fP(r){return{e:Eb,t:r.username,l:r.showPrefix}}function hP(r){return{e:zb,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur},...r.thumbnail&&{p:r.thumbnail},...r.convertToGif&&{gifify:r.convertToGif}}}function vP(){let r={},e=[];return Object.assign(r,Dd(r,e),bs(r,e),am(r,e),ys(r,e)),[r,e]}function fs(r,e){return{blockQuote(t,i){return e.push(Jb(t,i)),r}}}function hs(r,e){return{codeBlock(t,i){return e.push($b(t,i)),r}}}function kP(r,e){return{embed(t){return e.push(Zb(t)),r}}}function vs(r,e){return{heading(t,i){return e.push(Xb(t,i)),r}}}function Ld(r,e){return{horizontalRule(){return e.push(Yb()),r}}}function ys(r,e){return{image(t){return e.push(Qb(t)),r},animatedImage(t){return e.push(Vb(t)),r}}}function sm(r,e){return{linebreak(){return e.push(eP()),r}}}function bs(r,e){return{link(t){return e.push(tP(t)),r},commentLink(t){return e.push(Kb(t)),r},postLink(t){return e.push(sP(t)),r},subredditLink(t){return e.push(dP(t)),r},userLink(t){return e.push(gP(t)),r},userMention(t){return e.push(fP(t)),r}}}function Ps(r,e){return{list(t,i){return e.push(rP(t,i)),r}}}function yP(r,e){return{item(t){return e.push(iP(t)),r}}}function ks(r,e){return{paragraph(t){return e.push(nP(t)),r}}}function om(r,e){return{rawText(t){return e.push(oP(t)),r}}}function am(r,e){return{spoiler(t){return e.push(aP(t)),r}}}function bP(r,e,t){return{headerCell(i,n){return e.push(cP(i,n)),r},row(i){return t.push(mP(i)),r}}}function Ss(r,e){return{table(t){return e.push(lP(t)),r}}}function PP(r,e){return{cell(t){return e.push(uP(t)),r}}}function Dd(r,e){return{text(t){return e.push(pP(t)),r}}}function SP(r,e){return{video(t){return e.push(hP(t)),r}}}var AR=function(r,e,t,i,n){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?n.call(r,t):n?n.value=t:e.set(r,t),t},xR=function(r,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(r):i?i.value:e.get(r)},_d,Cs=class{constructor(){_d.set(this,void 0);let e=[];Object.assign(this,ks(this,e),vs(this,e),Ld(this,e),fs(this,e),hs(this,e),kP(this,e),Ps(this,e),Ss(this,e),ys(this,e),SP(this,e)),AR(this,_d,{document:e},"f")}build(){return JSON.stringify(xR(this,_d,"f"))}paragraph(e){return this}heading(e,t){return this}horizontalRule(){return this}blockQuote(e,t){return this}codeBlock(e,t){return this}embed(e){return this}list(e,t){return this}table(e){return this}image(e){return this}animatedImage(e){return this}video(e){return this}};_d=new WeakMap;function Pi(r){let e;return r instanceof Cs?e=r.build():typeof r=="object"?e=JSON.stringify(r):e=r,e}var CP=100,IP=1/0,pr,gr,Rt,ki,Si,Nd,H=class{constructor(e){l(this,Si);l(this,pr,void 0);l(this,gr,void 0);l(this,Rt,void 0);l(this,ki,!1);this.pageSize=CP;this.limit=IP;this.children=[];V(this),this._fetch=e.fetch,this.pageSize=e.pageSize??CP,this.limit=e.limit??IP,d(this,gr,e.after),d(this,pr,e.before),d(this,Rt,e.more),e.children&&(this.children=e.children)}get hasMore(){return!s(this,ki)||!!(s(this,gr)||s(this,pr)||s(this,Rt))}async*[Symbol.asyncIterator](){let e=0;for(;;){if(e===this.children.length)if(this.hasMore){if((await b(this,Si,Nd).call(this)).length===0)break}else break;if(yield this.children[e],e++,e===this.limit)break}}setMore(e){d(this,Rt,e)}preventInitialFetch(){d(this,ki,!0)}async all(){for(;this.hasMore&&this.children.length<this.limit;)await b(this,Si,Nd).call(this);return this.children.slice(0,this.limit)}async get(e){let t=e<=this.limit?e:this.limit;for(;this.hasMore&&this.children.length<t;)await b(this,Si,Nd).call(this);return this.children.slice(0,t)}};pr=new WeakMap,gr=new WeakMap,Rt=new WeakMap,ki=new WeakMap,Si=new WeakSet,Nd=async function(){if(!this.hasMore)throw new Error("This listing does not have any more items to load.");let{children:e,before:t,after:i,more:n}=await this._fetch({before:s(this,pr),after:s(this,gr),limit:this.pageSize,more:s(this,Rt)});return this.children.push(...e),d(this,pr,t),d(this,gr,i),d(this,Rt,n),d(this,ki,!0),e};function TR(r){try{return!0}catch{return!1}}function ER(r){try{return!0}catch{return!1}}var Is,dm,Re=class{constructor(){}static get(e,t){let i=u.redditAPIPlugins.ModNote;return new H({hasMore:!0,before:e.before,limit:e.limit,pageSize:e.limit,fetch:async n=>{let o=await i.GetNotes({subreddit:e.subreddit,user:e.user,filter:e.filter,before:n.before,limit:n.limit},t);return{children:o.modNotes?.map(a=>b(this,Is,dm).call(this,a))||[],before:o.hasNextPage?o.endCursor:void 0,hasMore:o.hasNextPage}}})}static async delete(e,t){let i=u.redditAPIPlugins.ModNote,{deleted:n}=await i.DeleteNotes(e,t);return!!n}static async add(e,t){let n=await u.redditAPIPlugins.ModNote.PostNotes(e,t);if(!n?.created)throw new Error("Failed to create mod note");return b(this,Is,dm).call(this,n.created)}static async addRemovalNote(e,t){await u.redditAPIPlugins.ModNote.PostRemovalNote(e,t)}};Is=new WeakSet,dm=function(e){if(f(e.id,"Mod note ID is null or undefined"),f(e.createdAt,"Mod note createdAt is null or undefined"),f(e.type,"Mod note type is null or undefined"),f(e.subreddit,"Mod note subreddit is null or undefined"),f(e.subredditId,"Mod note subredditId is null or undefined"),f(e.operator,"Mod note operator is null or undefined"),f(e.operatorId,"Mod note operatorId is null or undefined"),f(e.user,"Mod note user is null or undefined"),f(e.userId,"Mod note userId is null or undefined"),f(e.userNoteData,"Mod note userNote is null or undefined"),f(e.modActionData,"Mod note modAction is null or undefined"),!TR(e.userNoteData?.label??""))throw new Error(`Invalid user note label: ${e.userNoteData?.label}`);if(!ER(e.type))throw new Error(`Invalid mod note type: ${e.type}`);return{id:e.id,user:{id:ee(e.userId??""),name:e.user},subreddit:{id:Te(e.subredditId??""),name:e.subreddit},operator:{id:ee(e.operatorId??""),name:e.operator},createdAt:new Date(e.createdAt*1e3),userNote:{note:e.userNoteData?.note,redditId:fe(e.userNoteData?.redditId??""),label:e.userNoteData?.label},type:e.type}},l(Re,Is);var Ci=class{static queryWithQueryString(e,t){return u.redditAPIPlugins.GraphQL.Query({query:e},t)}static query(e,t,i,n){return u.redditAPIPlugins.GraphQL.PersistedQuery({operationName:e,id:t,variables:i},n)}};var wP=["all","wiki","posts","access","mail","config","flair","channels","chat_config","chat_community","chat_operator"];function RR(r,e,t=!1){let i=t?"%2b":"+";return e.map(n=>(r.includes(n)?i:"-")+n).join(",")}function lm(r){return RR(r,wP,!0)}function AP(r){return r.filter(e=>wP.includes(e))}var FR=(t=>(t.User="USER_FLAIR",t.Post="LINK_FLAIR",t))(FR||{}),fr,Ii,wi,Ai,xi,Ti,Ei,Ri,Fi,Oi,Mi,qd,Ge=class Ge{constructor(e,t,i){l(this,fr,void 0);l(this,Ii,void 0);l(this,wi,void 0);l(this,Ai,void 0);l(this,xi,void 0);l(this,Ti,void 0);l(this,Ei,void 0);l(this,Ri,void 0);l(this,Fi,void 0);l(this,Oi,void 0);V(this),f(e.id),f(e.text),d(this,fr,e.id),d(this,Ii,t),d(this,wi,e.text),d(this,Ai,OR(e.textColor)),d(this,xi,MR(e.backgroundColor)),d(this,Ti,UR(e.allowableContent)),d(this,Ei,e.modOnly),d(this,Ri,e.maxEmojis),d(this,Fi,e.textEditable),d(this,Oi,i)}get id(){return s(this,fr)}get text(){return s(this,wi)}get textColor(){return s(this,Ai)}get backgroundColor(){return s(this,xi)}get allowableContent(){return s(this,Ti)}get modOnly(){return s(this,Ei)}get maxEmojis(){return s(this,Ri)}get allowUserEdits(){return s(this,Fi)}async delete(){return Ge.deleteFlairTemplate(s(this,fr),s(this,Ii),s(this,Oi))}async edit(e){return Ge.editFlairTemplate({id:s(this,fr),subredditName:s(this,Ii),text:e.text??s(this,wi),allowableContent:e.allowableContent??s(this,Ti),backgroundColor:e.backgroundColor??s(this,xi),maxEmojis:e.maxEmojis??s(this,Ri),modOnly:e.modOnly??s(this,Ei),textColor:e.textColor??s(this,Ai),allowUserEdits:e.allowUserEdits??s(this,Fi)},s(this,Oi))}static async createPostFlairTemplate(e,t){var i;return b(i=Ge,Mi,qd).call(i,{...e,flairType:"LINK_FLAIR"},t)}static async createUserFlairTemplate(e,t){var i;return b(i=Ge,Mi,qd).call(i,{...e,flairType:"USER_FLAIR"},t)}static async editFlairTemplate(e,t){var i;return b(i=Ge,Mi,qd).call(i,e,t)}static async getPostFlairTemplates(e,t){return(await u.redditAPIPlugins.Flair.LinkFlair({subreddit:e},t)).flair?.map(o=>new Ge(o,e,t))||[]}static async getUserFlairTemplates(e,t){return(await u.redditAPIPlugins.Flair.UserFlair({subreddit:e},t)).flair?.map(o=>new Ge(o,e,t))||[]}static async deleteFlairTemplate(e,t,i){await u.redditAPIPlugins.Flair.DeleteFlairTemplate({subreddit:e,flairTemplateId:t},i)}};fr=new WeakMap,Ii=new WeakMap,wi=new WeakMap,Ai=new WeakMap,xi=new WeakMap,Ti=new WeakMap,Ei=new WeakMap,Ri=new WeakMap,Fi=new WeakMap,Oi=new WeakMap,Mi=new WeakSet,qd=async function(e,t){let{subredditName:i,allowableContent:n="all",backgroundColor:o="transparent",flairType:a="",maxEmojis:c=10,modOnly:p=!1,text:g,textColor:v="dark",allowUserEdits:m=!1,id:y=""}=e;if(p&&m)throw new Error("Cannot have a mod only flair that is editable by users");let C=await u.redditAPIPlugins.Flair.FlairTemplate({subreddit:i,allowableContent:n,backgroundColor:o,flairType:a,maxEmojis:c,modOnly:p,text:g,textColor:v,textEditable:m,flairTemplateId:y,cssClass:"",overrideCss:!1},t);return new Ge(C,i,t)},l(Ge,Mi);var oe=Ge;function xs(r){return{flairCssClass:r.flairCssClass,user:r.user,flairText:r.flairText}}var ws,um,As,cm,Ft=class Ft{static async getUserFlairBySubreddit(e,t){return u.redditAPIPlugins.Flair.FlairList(e,t)}static setUserFlair(e,t){var i;return b(i=Ft,ws,um).call(i,e,t)}static setPostFlair(e,t){var i;return b(i=Ft,ws,um).call(i,{...e,postId:ge(e.postId)},t)}static async removePostFlair(e,t,i){var n;return b(n=Ft,As,cm).call(n,e,t,void 0,i)}static async removeUserFlair(e,t,i){var n;return b(n=Ft,As,cm).call(n,e,void 0,t,i)}};ws=new WeakSet,um=async function(e,t){await u.redditAPIPlugins.Flair.SelectFlair({subreddit:e.subredditName,flairTemplateId:e.flairTemplateId??"",text:e.text??"",name:e.username,link:e.postId,backgroundColor:e.backgroundColor??"",textColor:e.textColor??"dark",cssClass:e.cssClass??"",returnRtjson:"none"},t)},As=new WeakSet,cm=async function(e,t,i,n){await u.redditAPIPlugins.Flair.SelectFlair({subreddit:e,name:i??"",link:t??"",flairTemplateId:"",backgroundColor:"",text:"",textColor:"",cssClass:"",returnRtjson:"none"},n)},l(Ft,ws),l(Ft,As);var Fe=Ft;function OR(r){if(f(r,"Flair text color is required"),r==="light"||r==="dark")return r;throw new Error(`Invalid flair text color: ${r}`)}function MR(r){if(f(r,"Flair background color is required"),r==="transparent"||/^#([A-Fa-f0-9]{6})$/.test(r))return r;throw new Error(`Invalid flair background color: ${r}`)}function UR(r){if(r==="all"||r==="text"||r==="emoji")return r;throw new Error(`Invalid allowable content: ${r}`)}import{Block as jR}from"@devvit/protos";var RP=kn(EP(),1);var Ui,Es,Bi,Rs,Fs,Os,Ms,Us,Li,Bs,Ls,Ds,_s,Ns,qs,Ot,vr,Di,Mt,_i,Ni,qi,yr,Ut,Bt,Hi,Lt,Dt,_t,dt,Hs,js,ji,Wi,L,N=class N{constructor(e,t){l(this,Ui,void 0);l(this,Es,void 0);l(this,Bi,void 0);l(this,Rs,void 0);l(this,Fs,void 0);l(this,Os,void 0);l(this,Ms,void 0);l(this,Us,void 0);l(this,Li,void 0);l(this,Bs,void 0);l(this,Ls,void 0);l(this,Ds,void 0);l(this,_s,void 0);l(this,Ns,void 0);l(this,qs,void 0);l(this,Ot,void 0);l(this,vr,void 0);l(this,Di,void 0);l(this,Mt,void 0);l(this,_i,void 0);l(this,Ni,void 0);l(this,qi,void 0);l(this,yr,void 0);l(this,Ut,void 0);l(this,Bt,void 0);l(this,Hi,void 0);l(this,Lt,void 0);l(this,Dt,void 0);l(this,_t,void 0);l(this,dt,void 0);l(this,Hs,void 0);l(this,js,void 0);l(this,ji,void 0);l(this,Wi,void 0);l(this,L,void 0);V(this),f(e.id,"Post is missing id"),f(e.title,"Post is missing title"),f(e.createdUtc,"Post is missing created date"),f(e.author,"Post is missing author name"),f(e.subreddit,"Post is missing subreddit name"),f(e.subredditId,"Post is missing subreddit id"),f(e.url,"Post is missing url"),f(e.permalink,"Post is missing permalink"),d(this,Ui,ge(`t3_${e.id}`)),d(this,Bi,e.author),d(this,Es,e.authorFullname?ee(e.authorFullname):void 0),d(this,Fs,Te(e.subredditId)),d(this,Os,e.subreddit),d(this,Ds,e.score??0),d(this,_s,e.numComments??0),d(this,Ns,e.numReports??0);let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,Rs,i),d(this,Us,e.title),d(this,Li,e.selftext),d(this,Bs,e.selftextHtml),d(this,Ls,e.url),d(this,Ms,e.permalink),e.thumbnail&&e.thumbnail!=="self"&&e.thumbnail!=="nsfw"&&e.thumbnailHeight!=null&&e.thumbnailWidth!=null&&d(this,qs,{url:e.thumbnail,height:e.thumbnailHeight,width:e.thumbnailWidth}),d(this,Ot,e.approved??!1),d(this,Mt,e.removed??!1),d(this,_i,e.removedBy),d(this,Ni,e.removedByCategory),d(this,vr,e.spam??!1),d(this,Di,e.stickied??!1),d(this,qi,e.archived??!1),d(this,yr,e.edited??!1),d(this,Ut,e.locked??!1),d(this,Bt,e.over18??!1),d(this,Hi,e.quarantine??!1),d(this,Lt,e.spoiler),d(this,Dt,e.hidden??!1),d(this,_t,e.ignoreReports??!1),d(this,dt,e.distinguished),d(this,js,e.secureMedia),d(this,ji,(e.modReports??[]).map(([n])=>n)),d(this,Wi,(e.userReports??[]).map(([n])=>n)),d(this,L,t),(e.linkFlairBackgroundColor||e.linkFlairCssClass||e.linkFlairText||e.linkFlairType||e.linkFlairTemplateId||e.linkFlairRichtext||e.linkFlairTextColor)&&d(this,Hs,{backgroundColor:e.linkFlairBackgroundColor,cssClass:e.linkFlairCssClass,text:e.linkFlairText,type:e.linkFlairType,templateId:e.linkFlairTemplateId,richtext:(e.linkFlairRichtext??[]).map(({e:n,t:o,a,u:c})=>({elementType:n,text:o,emojiRef:a,url:c})),textColor:e.linkFlairTextColor})}get id(){return s(this,Ui)}get authorId(){return s(this,Es)}get authorName(){return s(this,Bi)}get subredditId(){return s(this,Fs)}get subredditName(){return s(this,Os)}get permalink(){return s(this,Ms)}get title(){return s(this,Us)}get body(){return s(this,Li)}get bodyHtml(){return s(this,Bs)}get url(){return s(this,Ls)}get thumbnail(){return s(this,qs)}get createdAt(){return s(this,Rs)}get score(){return s(this,Ds)}get numberOfComments(){return s(this,_s)}get numberOfReports(){return s(this,Ns)}get approved(){return s(this,Ot)}get spam(){return s(this,vr)}get stickied(){return s(this,Di)}get removed(){return s(this,Mt)}get removedBy(){return s(this,_i)}get removedByCategory(){return s(this,Ni)}get archived(){return s(this,qi)}get edited(){return s(this,yr)}get locked(){return s(this,Ut)}get nsfw(){return s(this,Bt)}get quarantined(){return s(this,Hi)}get spoiler(){return s(this,Lt)}get hidden(){return s(this,Dt)}get ignoringReports(){return s(this,_t)}get distinguishedBy(){return s(this,dt)}get comments(){return K.getComments({postId:this.id},s(this,L))}get flair(){return s(this,Hs)}get secureMedia(){return s(this,js)}get userReportReasons(){return s(this,Wi)}get modReportReasons(){return s(this,ji)}toJSON(){return{id:this.id,authorId:this.authorId,authorName:this.authorName,subredditId:this.subredditId,subredditName:this.subredditName,permalink:this.permalink,title:this.title,body:this.body,bodyHtml:this.bodyHtml,url:this.url,thumbnail:this.thumbnail,score:this.score,numberOfComments:this.numberOfComments,numberOfReports:this.numberOfReports,createdAt:this.createdAt,approved:this.approved,spam:this.spam,stickied:this.stickied,removed:this.removed,removedBy:s(this,_i),removedByCategory:s(this,Ni),archived:this.archived,edited:this.edited,locked:this.locked,nsfw:this.nsfw,quarantined:this.quarantined,spoiler:this.spoiler,hidden:this.hidden,ignoringReports:this.ignoringReports,distinguishedBy:this.distinguishedBy,flair:this.flair,secureMedia:this.secureMedia,modReportReasons:s(this,ji),userReportReasons:s(this,Wi)}}isApproved(){return s(this,Ot)}isSpam(){return s(this,vr)}isStickied(){return s(this,Di)}isRemoved(){return s(this,Mt)}isArchived(){return s(this,qi)}isEdited(){return s(this,yr)}isLocked(){return s(this,Ut)}isNsfw(){return s(this,Bt)}isQuarantined(){return s(this,Hi)}isSpoiler(){return s(this,Lt)}isHidden(){return s(this,Dt)}isIgnoringReports(){return s(this,_t)}isDistinguishedBy(){return s(this,dt)}async edit(e){let t=await N.edit({id:this.id,...e},s(this,L));d(this,Li,t.body),d(this,yr,t.edited)}async addComment(e){return K.submit({id:this.id,...e},s(this,L))}async delete(){return N.delete(this.id,s(this,L))}async approve(){await N.approve(this.id,s(this,L)),d(this,Ot,!0),d(this,Mt,!1)}async remove(e=!1){await N.remove(this.id,e,s(this,L)),d(this,Mt,!0),d(this,vr,e),d(this,Ot,!1)}async lock(){await N.lock(this.id,s(this,L)),d(this,Ut,!0)}async unlock(){await N.unlock(this.id,s(this,L)),d(this,Ut,!1)}async hide(){await N.hide(this.id,s(this,L)),d(this,Dt,!0)}async unhide(){await N.unhide(this.id,s(this,L)),d(this,Dt,!1)}async markAsNsfw(){await N.markAsNsfw(this.id,s(this,L)),d(this,Bt,!0)}async unmarkAsNsfw(){await N.unmarkAsNsfw(this.id,s(this,L)),d(this,Bt,!1)}async markAsSpoiler(){await N.markAsSpoiler(this.id,s(this,L)),d(this,Lt,!0)}async unmarkAsSpoiler(){await N.unmarkAsSpoiler(this.id,s(this,L)),d(this,Lt,!1)}async sticky(e){await N.sticky(this.id,e,s(this,L))}async unsticky(){await N.unsticky(this.id,s(this,L))}async distinguish(){let{distinguishedBy:e}=await N.distinguish(this.id,!1,s(this,L));d(this,dt,e)}async distinguishAsAdmin(){let{distinguishedBy:e}=await N.distinguish(this.id,!0,s(this,L));d(this,dt,e)}async undistinguish(){let{distinguishedBy:e}=await N.undistinguish(this.id,s(this,L));d(this,dt,e)}async ignoreReports(){await N.ignoreReports(this.id,s(this,L)),d(this,_t,!0)}async unignoreReports(){await N.unignoreReports(this.id,s(this,L)),d(this,_t,!1)}async getAuthor(){return w.getByUsername(s(this,Bi),s(this,L))}async crosspost(e){return N.crosspost({...e,postId:this.id},s(this,L))}addRemovalNote(e){return Re.addRemovalNote({itemIds:[s(this,Ui)],...e},s(this,L))}static async getById(e,t){let i=u.redditAPIPlugins.LinksAndComments,n=Zt(e)?e:`t3_${e}`,o=await i.Info({subreddits:[],thingIds:[n]},t);if(!o.data?.children?.length)throw new Error("could not find post");let a=o.data.children[0];if(!a?.data)throw new Error("could not find post");return new N(a.data,t)}static async submit(e,t){let i=u.redditAPIPlugins.LinksAndComments,n;if("preview"in e){f(t,"Missing metadata in `SubmitPostOptions`");let c=await new nt(()=>e.preview,void 0,{},t,void 0).buildBlocksUI(),p=jR.encode(c).finish();n=await i.Submit({kind:"custom",sr:e.subredditName,richtextJson:(0,RP.fromByteArray)(p),...e},t)}else n=await i.Submit({kind:"kind"in e?e.kind:"url"in e?"link":"self",sr:e.subredditName,richtextJson:"richtext"in e?Pi(e.richtext):void 0,...e},t);if("kind"in e&&["image","video","videogif"].includes(e.kind)&&!n.json?.data?.id&&"url"in e)throw new Error(`Post of ${e.kind} type with ${e.url} is being created asynchronously and should be updated in the subreddit soon.`);if(!n.json?.data?.id||n.json?.errors?.length)throw new Error(`failed to submit post - either post ID is empty or request failed with errors: ${n.json?.errors}`);return N.getById(`t3_${n.json.data.id}`,t)}static async crosspost(e,t){let i=u.redditAPIPlugins.LinksAndComments,{postId:n,subredditName:o,...a}=e,c=await i.Submit({kind:"crosspost",sr:o,crosspostFullname:ge(n),...a},t);if(!c.json?.data?.id||c.json?.errors?.length)throw new Error("failed to crosspost post");return N.getById(`t3_${c.json.data.id}`,t)}static async edit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:n}=e,o;if("richtext"in e&&(o=Pi(e.richtext)),(await i.EditUserText({thingId:n,text:"text"in e?e.text:"",richtextJson:o},t)).json?.errors?.length)throw new Error("Failed to edit post");return N.getById(n,t)}static async delete(e,t){await u.redditAPIPlugins.LinksAndComments.Del({id:e},t)}static async approve(e,t){await u.redditAPIPlugins.Moderation.Approve({id:e},t)}static async remove(e,t=!1,i){await u.redditAPIPlugins.Moderation.Remove({id:e,spam:t},i)}static async hide(e,t){await u.redditAPIPlugins.LinksAndComments.Hide({id:e},t)}static async unhide(e,t){await u.redditAPIPlugins.LinksAndComments.Unhide({id:e},t)}static async markAsNsfw(e,t){await u.redditAPIPlugins.LinksAndComments.MarkNSFW({id:e},t)}static async unmarkAsNsfw(e,t){await u.redditAPIPlugins.LinksAndComments.UnmarkNSFW({id:e},t)}static async markAsSpoiler(e,t){await u.redditAPIPlugins.LinksAndComments.Spoiler({id:e},t)}static async unmarkAsSpoiler(e,t){await u.redditAPIPlugins.LinksAndComments.Unspoiler({id:e},t)}static async sticky(e,t,i){await u.redditAPIPlugins.LinksAndComments.SetSubredditSticky({id:e,state:!0,num:t},i)}static async unsticky(e,t){await u.redditAPIPlugins.LinksAndComments.SetSubredditSticky({id:e,state:!1},t)}static async lock(e,t){await u.redditAPIPlugins.LinksAndComments.Lock({id:e},t)}static async unlock(e,t){await u.redditAPIPlugins.LinksAndComments.Unlock({id:e},t)}static async distinguish(e,t,i){let a=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:t?"admin":"yes",sticky:!1},i)).json?.data?.things?.[0]?.data;return f(a),{distinguishedBy:a.distinguished}}static async undistinguish(e,t){let o=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:"no",sticky:!1},t)).json?.data?.things?.[0]?.data;return f(o),{distinguishedBy:o.distinguished}}static async ignoreReports(e,t){await u.redditAPIPlugins.Moderation.IgnoreReports({id:e},t)}static async unignoreReports(e,t){await u.redditAPIPlugins.Moderation.UnignoreReports({id:e},t)}static getControversialPosts(e={},t){return this.getSortedPosts({...e,sort:"controversial"},t)}static getTopPosts(e={},t){return this.getSortedPosts({...e,sort:"top"},t)}static getSortedPosts(e,t){let i=u.redditAPIPlugins.Listings;return new H({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let o=await i.Sort({show:"all",sort:e.sort,t:e.timeframe,subreddit:e.subredditName,...n},t);return Ts(o,t)}})}static getHotPosts(e={location:"GLOBAL"},t){let i=u.redditAPIPlugins.Listings;return new H({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let o=await i.Hot({g:e.location,show:"all",subreddit:e.subredditName,...n},t);return Ts(o,t)}})}static getNewPosts(e,t){let i=u.redditAPIPlugins.Listings;return new H({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let o=await i.New({show:"all",subreddit:e.subredditName,...n},t);return Ts(o,t)}})}static getRisingPosts(e,t){let i=u.redditAPIPlugins.Listings;return new H({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let o=await i.Rising({show:"all",subreddit:e.subredditName,...n},t);return Ts(o,t)}})}static getPostsByUser(e,t){let i=u.redditAPIPlugins.Users;return new H({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(n){let o=await i.UserWhere({username:e.username,where:"submitted",...n},t);return Ts(o,t)}})}};Ui=new WeakMap,Es=new WeakMap,Bi=new WeakMap,Rs=new WeakMap,Fs=new WeakMap,Os=new WeakMap,Ms=new WeakMap,Us=new WeakMap,Li=new WeakMap,Bs=new WeakMap,Ls=new WeakMap,Ds=new WeakMap,_s=new WeakMap,Ns=new WeakMap,qs=new WeakMap,Ot=new WeakMap,vr=new WeakMap,Di=new WeakMap,Mt=new WeakMap,_i=new WeakMap,Ni=new WeakMap,qi=new WeakMap,yr=new WeakMap,Ut=new WeakMap,Bt=new WeakMap,Hi=new WeakMap,Lt=new WeakMap,Dt=new WeakMap,_t=new WeakMap,dt=new WeakMap,Hs=new WeakMap,js=new WeakMap,ji=new WeakMap,Wi=new WeakMap,L=new WeakMap;var z=N;function Ts(r,e){if(!r.data?.children)throw new Error("Listing response is missing children");return{children:r.data.children.map(i=>new z(i.data,e)),before:r.data.before,after:r.data.after}}var Ws,Gi,Gs,zs,Vs,Js,$s,Nt,Ks,Xs,lt,br=class br{constructor(e,t){l(this,Ws,void 0);l(this,Gi,void 0);l(this,Gs,void 0);l(this,zs,void 0);l(this,Vs,void 0);l(this,Js,void 0);l(this,$s,void 0);l(this,Nt,new Map);l(this,Ks,void 0);l(this,Xs,void 0);l(this,lt,void 0);V(this),f(e.id,"User ID is missing or undefined"),f(e.name,"Username is missing or undefined"),f(e.createdUtc,"User is missing created date"),d(this,Ws,ee(Va(e.id)?e.id:`t2_${e.id}`)),d(this,Gi,e.name),d(this,Js,e.over18??!1),d(this,$s,e.isEmployee??!1);let i=new Date(0);if(i.setUTCSeconds(e.createdUtc),d(this,Gs,i),d(this,zs,e.linkKarma??0),d(this,Vs,e.commentKarma??0),e.modPermissions)for(let[n,o]of Object.entries(e.modPermissions))s(this,Nt).set(n,AP(o));d(this,Ks,new URL(e.subreddit?.url??"","https://www.reddit.com").toString()),d(this,Xs,e.subreddit?.url??""),d(this,lt,t)}get id(){return s(this,Ws)}get username(){return s(this,Gi)}get createdAt(){return s(this,Gs)}get linkKarma(){return s(this,zs)}get commentKarma(){return s(this,Vs)}get nsfw(){return s(this,Js)}get isAdmin(){return s(this,$s)}get modPermissions(){return s(this,Nt)}get url(){return s(this,Ks)}get permalink(){return s(this,Xs)}toJSON(){return{id:this.id,username:this.username,createdAt:this.createdAt,linkKarma:this.linkKarma,commentKarma:this.commentKarma,nsfw:this.nsfw,modPermissionsBySubreddit:Object.fromEntries(this.modPermissions)}}async getModPermissionsForSubreddit(e){if(s(this,Nt).has(e))return s(this,Nt).get(e);let t=await br.getSubredditUsersByType({subredditName:e,type:"moderators",username:this.username},s(this,lt)).all();if(t.length===0)return[];let i=t[0].modPermissions.get(e)??[];return i.length>0&&s(this,Nt).set(e,i),i}getComments(e){return K.getCommentsByUser({username:this.username,...e},s(this,lt))}getPosts(e){return z.getPostsByUser({username:this.username,...e},s(this,lt))}async getUserFlairBySubreddit(e){let t=await Fe.getUserFlairBySubreddit({subreddit:e,name:s(this,Gi)},s(this,lt));return t.users[0]?xs(t.users[0]):void 0}getSnoovatarUrl(){return br.getSnoovatarUrl(this.username,s(this,lt))}static async getById(e,t){let o=(await u.redditAPIPlugins.Users.UserDataByAccountIds({ids:e},t))?.users?.[e]?.name;return f(o,"Expected the username in response to be not null"),br.getByUsername(o,t)}static async getByUsername(e,t){let n=await u.redditAPIPlugins.Users.UserAbout({username:e},t);if(!n.data?.id)throw new Error("failed to get user");return new br(n.data,t)}static async getFromMetadata(e,t){f(t);let i=t?.[e]?.values[0];return i?br.getById(ee(i),t):Promise.resolve(void 0)}static getSubredditUsersByType(e,t){let i=u.redditAPIPlugins.Subreddits;return new H({hasMore:!0,pageSize:e.pageSize,limit:e.limit,after:e.after,before:e.before,fetch:async n=>{let o=await i.AboutWhere({where:e.type,user:e.username,subreddit:e.subredditName,show:"all",...n},t);return GR(o,e.subredditName,t)}})}static async createRelationship(e,t){let i=u.redditAPIPlugins.Users,{type:n,subredditName:o,username:a,permissions:c,...p}=e,g=await i.Friend({type:n,subreddit:o,name:a,permissions:c?lm(c):void 0,...p},t);if(g.json?.errors?.length)throw new Error(g.json.errors.join(`
3
+ `))}}var ub=kn(Ey(),1),cb=kn(Gc(),1);import{EffectType as fR,UIEventHandlerDefinition as hR}from"@devvit/protos";async function vR(r,e){let t=r.state??{},i=(0,ub.default)(t),n=Me({ui:!0,metadata:e});if(r.event?.formSubmitted&&r.event.formSubmitted.formId){let p=r.event.formSubmitted.formId;if(p.includes("form.hook.")&&u.customPostType){let P=new nt((C,I)=>u.customPostType?.render(I)??null,r.event,r.state,e,void 0);return await P.reconcile(),{state:P.state,effects:P.getEffects()}}let g=u.formDefinitions.get(p);if(!g)throw new Error(`Form with key ${p} not found`);let v,m;if(i.__contextAction){let{actionId:P,thingId:C}=i.__contextAction,I=Rc(P);I?.location==="post"?v=C:I?.location==="comment"&&(m=C)}let y=Object.assign(n,ae(e,v,m));await g.onSubmit({values:yt(r.event.formSubmitted.results)},y)}else if(r.event?.realtimeEvent){if(u.customPostType){let p=new nt((g,v)=>u.customPostType?.render(v)??null,r.event,r.state,e,void 0);return await p.reconcile(),{state:p.state,effects:p.getEffects()}}}else if(r.event?.toastAction)throw new Error("Toast actions not yet implemented");let o=!(0,cb.default)(t,i),a=ei(n.ui),c=o?[...a,{type:fR.EFFECT_RERENDER_UI,rerenderUi:{delaySeconds:0}}]:a;return{state:i,effects:c}}function mb(r){r.provides(hR),M("HandleUIEvent",vR)}import{CustomPostDefinition as bb}from"@devvit/protos";var ai=class extends Error{};function Vc(r){let e=Ze({namespace:"useState"},({changed:t})=>{let i=r instanceof Function?r():r;if(i instanceof Promise)throw new Error("Cannot use async initializer with useState, use useAsyncState instead.");return{state:i,setter:o=>{e.state=o instanceof Function?o(e.state):o,t()}}});return[e.state,e.setter]}var dr,as,di,zc=class{constructor(e,t){this.state={value:null,loading:!1};l(this,dr,void 0);l(this,as,void 0);l(this,di,void 0);d(this,as,e),d(this,di,t.hookId),d(this,dr,t.changed)}async onUIEvent(){this.state.value===null&&(this.state.value=await s(this,as).call(this),this.state.loading=!1,s(this,dr).call(this))}setter(e){this.state.value=e instanceof Function?e(this.state.value):e,s(this,dr).call(this)}onLoad(e){if(this.state.value===null&&!this.state.loading){this.state.loading=!0,s(this,dr).call(this);let t={asyncRequest:{requestId:s(this,di)},hook:s(this,di)};throw e.addToRequeueEvents(t),new ai}}};dr=new WeakMap,as=new WeakMap,di=new WeakMap;function yR(r){let e=Ze({namespace:"useAsyncState"},t=>new zc(r,t));return[e.state.value,e.setter.bind(e)]}import{EffectType as Jc}from"@devvit/protos";var ui,li=class li{constructor(e){this.request=e;l(this,ui,void 0);this._segments=[];this._hooks={};this._prevHookId="";this._effects={};this._changed={};this._requeueEvents=[];this._rootProps={};this._generated={};this._undeliveredHandlers={};d(this,ui,e.state??{}),this._rootProps=e.props??{}}get devvitContext(){if(!this._devvitContext)throw new Error("Devvit context not available");return this._devvitContext}set devvitContext(e){this._devvitContext=e}get _changedState(){let e={};for(let t in this._changed)e[t]=this._state[t];return e}get _state(){return s(this,ui)}set _state(e){this._changed={},d(this,ui,e)}push(e){this._segments.push({...e,next:0})}pop(){this._segments.pop()}addUndeliveredEventHandler(e,t){this._undeliveredHandlers[e]=t}addGlobalUndeliveredEventHandler(e,t){li.addGlobalUndeliveredEventHandler(e,t)}getHook(e){return this._hooks[e.id]}static addGlobalUndeliveredEventHandler(e,t){li._staticUndeliveredHandlers[e]=t}async handleUndeliveredEvent(e){let t={...li._staticUndeliveredHandlers,...this._undeliveredHandlers};for(let[i,n]of Object.entries(t))await n(e,this)}emitEffect(e,t){this._effects[e]=t}addToRequeueEvents(...e){console.debug("requeueing events",e);let t=e.reduce((i,n)=>(n.retry?i.retry.push(n):i.normal.push(n),i),{retry:[],normal:[]});this._requeueEvents=[...t.retry,...this._requeueEvents,...t.normal]}get effects(){return Object.values(this._effects)}nextHookId(e){e.key===void 0&&(e.key=this._segments[this._segments.length-1].next+++""),this.push(e);try{let t=[];for(let n=this._segments.length-1;n>=0;n--){let o=this._segments[n];if(o.id){t.unshift(o.id);break}let a=[];o.namespace&&a.push(o.namespace),o.key!==void 0&&o.key!==!1&&a.push(o.key),t.unshift(a.join("-"))}let i=t.join(".");if(this._generated[i]&&!e.shared)throw new Error(`Hook id ${i} already used, cannot register another hook with the same id`);return this._generated[i]=!0,this._prevHookId=i,i}finally{this.pop()}}};ui=new WeakMap,li._staticUndeliveredHandlers={};var ci=li;var At={};ci.addGlobalUndeliveredEventHandler("intervals",async(r,e)=>{r.timer&&r.hook&&(delete At[r.hook],e.emitEffect("timers",{type:Jc.EFFECT_SET_INTERVALS,interval:{intervals:At}}))});var xt,mi,ds,pi,$c=class{constructor(e,t,i){l(this,xt,void 0);l(this,mi,void 0);l(this,ds,void 0);l(this,pi,void 0);this.state={duration:{seconds:0,nanos:0},running:!1};d(this,mi,i.changed),d(this,xt,i.hookId),d(this,ds,e),d(this,pi,i.context);let n=Math.floor(t/1e3),o=t%1e3*1e6;this.state.duration={seconds:n,nanos:o}}onLoad(){this.state.running?At[s(this,xt)]={duration:this.state.duration}:delete At[s(this,xt)]}async onUIEvent(e){await s(this,ds).call(this)}start(){At[s(this,xt)]={duration:this.state.duration},this.state.running=!0,s(this,mi).call(this),s(this,pi).emitEffect("timers",{type:Jc.EFFECT_SET_INTERVALS,interval:{intervals:At}})}stop(){delete At[s(this,xt)],this.state.running=!1,s(this,mi).call(this),s(this,pi).emitEffect("timers",{type:Jc.EFFECT_SET_INTERVALS,interval:{intervals:At}})}};xt=new WeakMap,mi=new WeakMap,ds=new WeakMap,pi=new WeakMap;function Kc(r,e){return Ze({namespace:"useInterval"},t=>new $c(r,e,t))}import{EffectType as Yc,Form as kR,ToastAppearance as gb}from"@devvit/protos";var Xc=class{constructor(e,t,i){this.state=null;this.hookId=e.hookId,this.form=t,this.onSubmit=i,this.onUIEvent=async n=>{n.formSubmitted&&await i(yt(n.formSubmitted.results))}}};function Zc(r,e){let t=Ze({namespace:"useForm"},i=>new Xc(i,r,e));return bR({id:t.hookId})}function bR(r){return`form.hook.${r.id}.0`}function PR(r){return{id:r.match(/form\.hook\.(.+)\.0/)[1]}}function pb(r,e){let t=PR(e);return r.getHook(t)}var Tt,Ad=class{constructor(e){l(this,Tt,void 0);d(this,Tt,e)}showForm(e,t){let i=pb(s(this,Tt),e);if(!i)throw new Error("Form does not exist. Make sure you have added it using useForm.");let n=i.form instanceof Function?i.form(t??{}):i.form,o=kR.fromPartial({id:e,title:n.title,acceptLabel:n.acceptLabel,cancelLabel:n.cancelLabel,shortDescription:n.description});Yt(n.fields),o.fields=it(n.fields),s(this,Tt).emitEffect(e,{type:Yc.EFFECT_SHOW_FORM,showForm:{form:o}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?gb.SUCCESS:gb.NEUTRAL}:t={text:e},s(this,Tt).emitEffect(e.toString(),{type:Yc.EFFECT_SHOW_TOAST,showToast:{toast:t}})}navigateTo(e){let t;typeof e=="string"?t=new URL(e).toString():t=new URL(e.permalink,"https://www.reddit.com").toString(),s(this,Tt).emitEffect(t,{type:Yc.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}};Tt=new WeakMap;var fb=new Proxy({},{get:function(r,e,t){throw new Error(`Unimplemented API: ${String(e)}`)}}),xd=class{buildContext(e,t,i){let n=new Gr(i),o=new jr(i),a=new $r(i),c=new Vr(i),p=new Kr(i),g=new Xr(i),v=new Ad(e),m=new Wr(i),y=new Hr(i,()=>u.assetsPlugin),P=new Qr(i),A={modLog:n,kvStore:o,redis:a,reddit:c,scheduler:p,settings:g,media:m,assets:y,realtime:P,ui:v,useState:Vc,useChannel:fb,useInterval:Kc,useForm:Zc,cache:fb,dimensions:t.env?.dimensions},U=ae(i,t.props?.postId);return U.debug.effects=e,{...U,...A}}};var Td=kn(Gc(),1);var de=null;function Qc(r){return JSON.parse(JSON.stringify(r))}function Ze(r,e){if(!de)throw new Error("Hooks can only be declared at the top of a component. You cannot declare hooks outside of components or inside of event handlers. It's almost always a mistake to declare hooks inside of loops or conditionals.");let t=de.nextHookId(r),i=de,n={hookId:t,changed:()=>{i._changed[t]=!0,i._state[t]=i?._hooks[t]?.state},context:de},o=de._state[t]===void 0;de._hooks[t]=de._hooks[t]??e(n);let a=de._hooks[t];return de._state[t]!==void 0&&(a.state=de._state[t]),a.onLoad&&a.onLoad(de),o&&a.state!==void 0&&a.state!==null&&n.changed(),a}var SR=null,gi,Od,ls,fi,Ed,Md,hb,us,em,Ud,vb,cs,tm,ms,rm,hi,Rd,ps,im,Bd,yb,Fd=class{constructor(e){l(this,fi);l(this,Md);l(this,us);l(this,Ud);l(this,cs);l(this,ms);l(this,hi);l(this,ps);l(this,Bd);l(this,gi,void 0);l(this,Od,new xd);l(this,ls,new ii);this._latestRenderContext=null;console.log("BlocksHandler v1"),d(this,gi,e),SR=this}async handle(e,t){let i=new ci(e),n=s(this,Od).buildContext(i,e,t);i.devvitContext=n;let o,a=e.events,p=!e.events?.length||a.some(P=>!P.async),g=a.some(P=>P.blocking),v,m,y=[...a];for(;a.length>0;){let P=[];if(!a[0].async)P.push(a.shift());else for(;a[0]?.async;)P.push(a.shift());if(!P.length)throw Error("batch must have at least one event");try{if(P[0].async){let I=Qc(i._state);await b(this,Md,hb).call(this,i,...P),i._state=I}else await b(this,Ud,vb).call(this,i,...P)}catch(I){if(console.debug("caught in handler",I),m){i._state=m._state,i._changed=v,i._effects=m._effects;let A=y.map(U=>{let ue={...U};return ue.retry=!0,ue});i.addToRequeueEvents(...A);break}else throw I}console.debug("remaining events",i._requeueEvents);let C=[];for(let I of i._requeueEvents){if(!p&&!I.async){console.debug("NOT reprocessing event in BlocksHandler, sync mismatch A",I),C.push(I);continue}if(p&&I.async&&!g){console.debug("NOT reprocessing event in BlocksHandler, sync mismatch B",I),C.push(I);continue}console.debug("reprocessing event in BlocksHandler",I),a.push(I)}i._requeueEvents=C,a.length>0&&(v={...i._changed},m={_state:Qc(i._state),_effects:{...i._effects}},y=[...a])}if(p){let P=Qc(i._state),C=[...i._requeueEvents],I={...i._effects},A=b(this,cs,tm).call(this,s(this,gi),i._rootProps??{},i);(0,Td.default)(i._state,P)||console.error("State was mutated during rendering",i._state,P),(0,Td.default)(i._requeueEvents,C)||console.error("Events were mutated during rendering",i._requeueEvents,C),(0,Td.default)(i._effects,I)||console.error("Effects were mutated during rendering",i._effects,I),A&&(o=await s(this,ls).createBlocksElementOrThrow(A),o=await s(this,ls).ensureRootBlock(o))}return{state:i._changedState,effects:i.effects,blocks:o,events:i._requeueEvents}}};gi=new WeakMap,Od=new WeakMap,ls=new WeakMap,fi=new WeakSet,Ed=function(e,...t){b(this,cs,tm).call(this,s(this,gi),e.request.props??{},e)},Md=new WeakSet,hb=async function(e,...t){b(this,fi,Ed).call(this,e,...t),await Promise.all(t.map(async i=>{if(!i.async)throw new Error("You can't mix main and other queues in one batch. This is likely a platform bug. Please file an issue in the Discord for someone to help! https://discord.com/channels/1050224141732687912/1115441897079574620");await b(this,us,em).call(this,e,i)}))},us=new WeakSet,em=async function(e,t){let i=e._hooks[t.hook];if(i&&i.onUIEvent)try{await i.onUIEvent(t,e)}catch(n){throw console.error("Error in event handler",n),n}else await e.handleUndeliveredEvent(t)},Ud=new WeakSet,vb=async function(e,...t){for(let i of t)b(this,fi,Ed).call(this,e,i),await b(this,us,em).call(this,e,i);b(this,fi,Ed).call(this,e)},cs=new WeakSet,tm=function(e,t,i){console.debug("renderRoot"),i._generated={},de=i,this._latestRenderContext=i;try{let n=b(this,ms,rm).call(this,e,t,i);if(n.length!==1)throw new Error("only one root");let o=n[0];if(typeof o=="string")throw new Error("There must be a root tag. Try wrapping your app in a <text></text>, <vstack> or other tag.");return o}catch(n){if(n instanceof ai)return;throw n}finally{de=null}},ms=new WeakSet,rm=function(e,t,i){i.push({namespace:e.name,...t});try{let n=e(t,i.devvitContext);return b(this,ps,im).call(this,n,i)}finally{i.pop()}},hi=new WeakSet,Rd=function(e,t){return e=e.flat(1/0),e.flatMap((i,n)=>(i&&typeof i=="object"&&"props"in i&&(i.props?.key||(i.props=i.props??{},i.props.key=n)),b(this,ps,im).call(this,i,t)))},ps=new WeakSet,im=function(e,t){if(Array.isArray(e))return b(this,hi,Rd).call(this,e,t);if(CR(e)){if(e.type===void 0)return b(this,hi,Rd).call(this,e.children,t);if(typeof e.type=="function"){let i={...e.props,children:e.children};return b(this,ms,rm).call(this,e.type,i,t)}else{t.push({namespace:e.type,...e.props});let i=b(this,hi,Rd).call(this,e.children,t),n=b(this,Bd,yb).call(this,e.props??{});return t.pop(),[{type:e.type,children:i,props:n}]}}else return[(e??"").toString()]},Bd=new WeakSet,yb=function(e){let t={};for(let i in e)if(typeof e[i]=="function"){let n=Ze({namespace:i,key:!1},({hookId:o})=>({hookId:o,state:null,onUIEvent:e[i]}));t[i]=n.hookId,"captureHookRef"in e[i]&&e[i].captureHookRef()}else{let n=e[i];n!=null&&(t[i]=n.toString())}return t};function CR(r){return typeof r=="object"&&r!=null&&"type"in r}var IR=[[bb,bb.methods.renderPostContent,(r,e)=>u.customPostType?.render(e)??null]];function wR(r){return async(e,t)=>new Fd(r).handle(e,t)}function Pb(r){for(let[e,t,i]of IR)r.provides(e),M(t.name,wR(i))}var gs,vi,lr,ur,cr,yi,bi,Et,mr,B,_,W,D=class D extends Ja{static configure(e){d(this,gs,e),st(e.http)&&b(this,_,W).call(this,S.HTTPDefinition),(st(e.kvStore)||st(e.redis))&&(b(this,_,W).call(this,S.KVStoreDefinition),b(this,_,W).call(this,S.RedisAPIDefinition)),st(e.media)&&b(this,_,W).call(this,S.MediaServiceDefinition),st(e.modLog)&&b(this,_,W).call(this,S.ModlogDefinition),st(e.redditAPI)&&(b(this,_,W).call(this,S.FlairDefinition),b(this,_,W).call(this,S.GraphQLDefinition),b(this,_,W).call(this,S.LinksAndCommentsDefinition),b(this,_,W).call(this,S.ListingsDefinition),b(this,_,W).call(this,S.ModerationDefinition),b(this,_,W).call(this,S.ModNoteDefinition),b(this,_,W).call(this,S.NewModmailDefinition),b(this,_,W).call(this,S.PrivateMessagesDefinition),b(this,_,W).call(this,S.SubredditsDefinition),b(this,_,W).call(this,S.PostCollectionsDefinition),b(this,_,W).call(this,S.UsersDefinition),b(this,_,W).call(this,S.WidgetsDefinition),b(this,_,W).call(this,S.WikiDefinition),b(this,_,W).call(this,S.RedditAPIV2Definition)),st(e.realtime)&&b(this,_,W).call(this,S.RealtimeDefinition)}static addMenuItem(e){s(this,vi).push(e)}static addCustomPostType(e){d(this,lr,e)}static createForm(e,t){let i=`form.${s(this,ur).size}`;return s(this,ur).set(i,{form:e,onSubmit:t}),i}static addSchedulerJob(e){if(s(this,B)[S.SchedulerDefinition.fullName]||b(this,_,W).call(this,S.SchedulerDefinition),s(this,cr).has(e.name))throw new Error(`Job ${e.name} is already defined`);s(this,cr).set(e.name,e.onRun)}static addSettings(e){Yt(e);let t=e.filter(n=>n.type==="group"||!n.scope||n.scope==="installation"),i=e.filter(n=>n.type!=="group"&&n.scope==="app");t.length>0&&d(this,yi,t),i.length>0&&d(this,bi,i),s(this,B)[S.SettingsDefinition.fullName]||b(this,_,W).call(this,S.SettingsDefinition)}static addTrigger(e){if("events"in e){for(let t of e.events)this.addTrigger({event:t,onEvent:(i,n)=>e.onEvent(i,n)});return this}return s(this,Et).has(e.event)?s(this,Et).get(e.event)?.push(e.onEvent):s(this,Et).set(e.event,[e.onEvent]),D}static get redditAPIPlugins(){if(!st(s(this,gs).redditAPI))throw new Error("Reddit API is not enabled. You can enable it by passing `redditAPI: true` to `Devvit.configure`.");return{Flair:s(this,B)[S.FlairDefinition.fullName],GraphQL:s(this,B)[S.GraphQLDefinition.fullName],LinksAndComments:s(this,B)[S.LinksAndCommentsDefinition.fullName],Listings:s(this,B)[S.ListingsDefinition.fullName],Moderation:s(this,B)[S.ModerationDefinition.fullName],ModNote:s(this,B)[S.ModNoteDefinition.fullName],NewModmail:s(this,B)[S.NewModmailDefinition.fullName],PrivateMessages:s(this,B)[S.PrivateMessagesDefinition.fullName],Subreddits:s(this,B)[S.SubredditsDefinition.fullName],PostCollections:s(this,B)[S.PostCollectionsDefinition.fullName],Users:s(this,B)[S.UsersDefinition.fullName],Widgets:s(this,B)[S.WidgetsDefinition.fullName],Wiki:s(this,B)[S.WikiDefinition.fullName]}}static get modLogPlugin(){let e=s(this,B)[S.ModlogDefinition.fullName];if(!e)throw new Error("ModLog is not enabled. You can enable it by passing `modLog: true` to `Devvit.configure`");return e}static get schedulerPlugin(){let e=s(this,B)[S.SchedulerDefinition.fullName];if(!e)throw new Error("Scheduler is not enabled. You can enable it by calling `Devvit.addSchedulerJob` at the top level of your app.");return e}static get kvStorePlugin(){let e=s(this,B)[S.KVStoreDefinition.fullName];if(!e)throw new Error("Key Value Store is not enabled. You can enable it by passing `kvStore: true` to `Devvit.configure`");return e}static get redisPlugin(){let e=s(this,B)[S.RedisAPIDefinition.fullName];if(!e)throw new Error("Redis is not enabled. You can enable it by passing `redis: true` to `Devvit.configure`");return e}static get mediaPlugin(){let e=s(this,B)[S.MediaServiceDefinition.fullName];if(!e)throw new Error("MediaService is not enabled. You can enable it by passing `media: true` to `Devvit.configure`");return e}static get redditapiv2Plugin(){let e=s(this,B)[S.RedditAPIV2Definition.fullName];if(!e)throw new Error("RedditAPIV2 is not enabled. You can enable it by passing `apiV2: true` to `Devvit.configure`");return e}static get assetsPlugin(){let e=s(this,B)[S.AssetResolverDefinition.fullName];if(!e)throw new Error("AssetsService is not available. This should not happen, and indicates a setup problem with the runtime.");return e}static get settingsPlugin(){let e=s(this,B)[S.SettingsDefinition.fullName];if(!e)throw new Error("Settings is not enabled. You can enable it by passing `settings: true` to `Devvit.configure`");return e}static get realtimePlugin(){let e=s(this,B)[S.RealtimeDefinition.fullName];if(!e)throw new Error("Realtime is not enabled. You can enable it by passing `realtime: true` to `Devvit.configure`");return e}static get menuItems(){return s(this,vi)}static get customPostType(){return s(this,lr)}static get formDefinitions(){return s(this,ur)}static get scheduledJobHandlers(){return s(this,cr)}static get installationSettings(){return s(this,yi)}static get appSettings(){return s(this,bi)}static get triggerOnEventHandlers(){return s(this,Et)}constructor(e){var t;super(e),b(t=D,_,W).call(t,S.AssetResolverDefinition);for(let i in s(D,mr)){let n=s(D,mr)[i];n.handler=e.use(n.def,n.options)}s(D,vi).length>0&&fy(e),s(D,cr).size>0&&hy(e),s(D,lr)&&(my(e),Pb(e)),(s(D,lr)||s(D,ur).size>0)&&mb(e),s(D,yi)&&py(e),s(D,bi)&&Gv(e),s(D,Et).size>0&&vy(e)}};gs=new WeakMap,vi=new WeakMap,lr=new WeakMap,ur=new WeakMap,cr=new WeakMap,yi=new WeakMap,bi=new WeakMap,Et=new WeakMap,mr=new WeakMap,B=new WeakMap,_=new WeakSet,W=function(e,t){s(this,mr)[e.fullName]={def:e,options:t??{},handler:void 0};let i={};for(let n of Object.values(e.methods))i[n.name]=(o,a)=>s(this,mr)[e.fullName].handler?.[n.name]?.(n.requestType?.fromPartial(o??{}),a);return s(this,B)[e.fullName]=i,i},l(D,_),D.debug={emitSnapshots:!1,emitState:!1},l(D,gs,{}),l(D,vi,[]),l(D,lr,void 0),l(D,ur,new Map),l(D,cr,new Map),l(D,yi,void 0),l(D,bi,void 0),l(D,Et,new Map),l(D,mr,{}),l(D,B,{});var u=D;(e=>{function r(t,i,...n){return{type:t,props:i,children:n}}e.createElement=r})(u||(u={}));function V(r){let e=Object.getOwnPropertyDescriptors(r.constructor.prototype);for(let[t,i]of Object.entries(e))i.get&&Object.defineProperty(r,t,{...i,enumerable:!0})}var nm;(function(r){r[r.bold=1]="bold",r[r.italic=2]="italic",r[r.underline=4]="underline",r[r.strikethrough=8]="strikethrough",r[r.subscript=16]="subscript",r[r.superscript=32]="superscript",r[r.monospace=64]="monospace"})(nm||(nm={}));var kb="text",Sb="raw",Cb="br",Ib="link",wb="c/",Ab="p/",xb="r/",Tb="u/",Eb="@",Rb="spoilertext",Fb="par",Ob="h",Mb="hr",Ub="blockquote",Bb="code",Lb="li",Db="list",_b="L",Nb="R",qb="C",Hb="table",jb="embed",Wb="img",Gb="gif",zb="video";function Vb(r){return{e:Gb,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function Jb(r,e){let t={},i=[];return Object.assign(t,fs(t,i),hs(t,i),vs(t,i),Ps(t,i),ks(t,i),Ss(t,i)),e(t),{e:Ub,c:i,...r.author&&{a:r.author}}}function $b(r,e){let t={},i=[];return Object.assign(t,om(t,i)),e(t),{e:Bb,c:i,...r.language&&{l:r.language}}}function Kb(r){return{e:wb,t:r.permalink}}function Xb(r,e){let t={},i=[];return Object.assign(t,om(t,i),bs(t,i)),e(t),{e:Ob,l:r.level,c:i}}function Zb(r){return{e:jb,u:r.sourceUrl,c:r.contentUrl,x:r.width,y:r.height}}function Yb(){return{e:Mb}}function Qb(r){return{e:Wb,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function eP(){return{e:Cb}}function tP(r){return{e:Ib,t:r.text,u:r.url,...r.formatting&&{f:r.formatting},...r.tooltip&&{a:r.tooltip}}}function rP(r,e){let t={},i=[];return Object.assign(t,yP(t,i)),e(t),{e:Db,o:r.ordered,c:i}}function iP(r){let e={},t=[];return Object.assign(e,fs(e,t),hs(e,t),vs(e,t),Ld(e,t),Ps(e,t),ks(e,t),Ss(e,t)),r(e),{e:Lb,c:t}}function nP(r){let e={},t=[];return Object.assign(e,Dd(e,t),bs(e,t),sm(e,t),am(e,t),ys(e,t)),r(e),{e:Fb,c:t}}function sP(r){return{e:Ab,t:r.permalink}}function oP(r){return{e:Sb,t:r}}function aP(r){let e={},t=[];return Object.assign(e,Dd(e,t),bs(e,t),sm(e,t)),r(e),{e:Rb,c:t}}function dP(r){return{e:xb,t:r.subredditName,l:r.showPrefix}}function lP(r){let e={},t=[],i=[];return Object.assign(e,bP(e,t,i)),r(e),{e:Hb,h:t,c:i}}function uP(r){let[e,t]=vP();return r(e),{c:t}}function cP(r,e){let[t,i]=vP();e(t);let n;switch(r.columnAlignment){case"left":n=_b;break;case"right":n=Nb;break;case"center":n=qb;break}return{...n&&{a:n},...i&&{c:i}}}function mP(r){let e={},t=[];return Object.assign(e,PP(e,t)),r(e),t}function pP(r){return{e:kb,t:r.text,...r.formatting&&{f:r.formatting}}}function gP(r){return{e:Tb,t:r.username,l:r.showPrefix}}function fP(r){return{e:Eb,t:r.username,l:r.showPrefix}}function hP(r){return{e:zb,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur},...r.thumbnail&&{p:r.thumbnail},...r.convertToGif&&{gifify:r.convertToGif}}}function vP(){let r={},e=[];return Object.assign(r,Dd(r,e),bs(r,e),am(r,e),ys(r,e)),[r,e]}function fs(r,e){return{blockQuote(t,i){return e.push(Jb(t,i)),r}}}function hs(r,e){return{codeBlock(t,i){return e.push($b(t,i)),r}}}function kP(r,e){return{embed(t){return e.push(Zb(t)),r}}}function vs(r,e){return{heading(t,i){return e.push(Xb(t,i)),r}}}function Ld(r,e){return{horizontalRule(){return e.push(Yb()),r}}}function ys(r,e){return{image(t){return e.push(Qb(t)),r},animatedImage(t){return e.push(Vb(t)),r}}}function sm(r,e){return{linebreak(){return e.push(eP()),r}}}function bs(r,e){return{link(t){return e.push(tP(t)),r},commentLink(t){return e.push(Kb(t)),r},postLink(t){return e.push(sP(t)),r},subredditLink(t){return e.push(dP(t)),r},userLink(t){return e.push(gP(t)),r},userMention(t){return e.push(fP(t)),r}}}function Ps(r,e){return{list(t,i){return e.push(rP(t,i)),r}}}function yP(r,e){return{item(t){return e.push(iP(t)),r}}}function ks(r,e){return{paragraph(t){return e.push(nP(t)),r}}}function om(r,e){return{rawText(t){return e.push(oP(t)),r}}}function am(r,e){return{spoiler(t){return e.push(aP(t)),r}}}function bP(r,e,t){return{headerCell(i,n){return e.push(cP(i,n)),r},row(i){return t.push(mP(i)),r}}}function Ss(r,e){return{table(t){return e.push(lP(t)),r}}}function PP(r,e){return{cell(t){return e.push(uP(t)),r}}}function Dd(r,e){return{text(t){return e.push(pP(t)),r}}}function SP(r,e){return{video(t){return e.push(hP(t)),r}}}var AR=function(r,e,t,i,n){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?n.call(r,t):n?n.value=t:e.set(r,t),t},xR=function(r,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?r!==e||!i:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(r):i?i.value:e.get(r)},_d,Cs=class{constructor(){_d.set(this,void 0);let e=[];Object.assign(this,ks(this,e),vs(this,e),Ld(this,e),fs(this,e),hs(this,e),kP(this,e),Ps(this,e),Ss(this,e),ys(this,e),SP(this,e)),AR(this,_d,{document:e},"f")}build(){return JSON.stringify(xR(this,_d,"f"))}paragraph(e){return this}heading(e,t){return this}horizontalRule(){return this}blockQuote(e,t){return this}codeBlock(e,t){return this}embed(e){return this}list(e,t){return this}table(e){return this}image(e){return this}animatedImage(e){return this}video(e){return this}};_d=new WeakMap;function Pi(r){let e;return r instanceof Cs?e=r.build():typeof r=="object"?e=JSON.stringify(r):e=r,e}var CP=100,IP=1/0,pr,gr,Rt,ki,Si,Nd,H=class{constructor(e){l(this,Si);l(this,pr,void 0);l(this,gr,void 0);l(this,Rt,void 0);l(this,ki,!1);this.pageSize=CP;this.limit=IP;this.children=[];V(this),this._fetch=e.fetch,this.pageSize=e.pageSize??CP,this.limit=e.limit??IP,d(this,gr,e.after),d(this,pr,e.before),d(this,Rt,e.more),e.children&&(this.children=e.children)}get hasMore(){return!s(this,ki)||!!(s(this,gr)||s(this,pr)||s(this,Rt))}async*[Symbol.asyncIterator](){let e=0;for(;;){if(e===this.children.length)if(this.hasMore){if((await b(this,Si,Nd).call(this)).length===0)break}else break;if(yield this.children[e],e++,e===this.limit)break}}setMore(e){d(this,Rt,e)}preventInitialFetch(){d(this,ki,!0)}async all(){for(;this.hasMore&&this.children.length<this.limit;)await b(this,Si,Nd).call(this);return this.children.slice(0,this.limit)}async get(e){let t=e<=this.limit?e:this.limit;for(;this.hasMore&&this.children.length<t;)await b(this,Si,Nd).call(this);return this.children.slice(0,t)}};pr=new WeakMap,gr=new WeakMap,Rt=new WeakMap,ki=new WeakMap,Si=new WeakSet,Nd=async function(){if(!this.hasMore)throw new Error("This listing does not have any more items to load.");let{children:e,before:t,after:i,more:n}=await this._fetch({before:s(this,pr),after:s(this,gr),limit:this.pageSize,more:s(this,Rt)});return this.children.push(...e),d(this,pr,t),d(this,gr,i),d(this,Rt,n),d(this,ki,!0),e};function TR(r){try{return!0}catch{return!1}}function ER(r){try{return!0}catch{return!1}}var Is,dm,Re=class{constructor(){}static get(e,t){let i=u.redditAPIPlugins.ModNote;return new H({hasMore:!0,before:e.before,limit:e.limit,pageSize:e.limit,fetch:async n=>{let o=await i.GetNotes({subreddit:e.subreddit,user:e.user,filter:e.filter,before:n.before,limit:n.limit},t);return{children:o.modNotes?.map(a=>b(this,Is,dm).call(this,a))||[],before:o.hasNextPage?o.endCursor:void 0,hasMore:o.hasNextPage}}})}static async delete(e,t){let i=u.redditAPIPlugins.ModNote,{deleted:n}=await i.DeleteNotes(e,t);return!!n}static async add(e,t){let n=await u.redditAPIPlugins.ModNote.PostNotes(e,t);if(!n?.created)throw new Error("Failed to create mod note");return b(this,Is,dm).call(this,n.created)}static async addRemovalNote(e,t){await u.redditAPIPlugins.ModNote.PostRemovalNote(e,t)}};Is=new WeakSet,dm=function(e){if(f(e.id,"Mod note ID is null or undefined"),f(e.createdAt,"Mod note createdAt is null or undefined"),f(e.type,"Mod note type is null or undefined"),f(e.subreddit,"Mod note subreddit is null or undefined"),f(e.subredditId,"Mod note subredditId is null or undefined"),f(e.operator,"Mod note operator is null or undefined"),f(e.operatorId,"Mod note operatorId is null or undefined"),f(e.user,"Mod note user is null or undefined"),f(e.userId,"Mod note userId is null or undefined"),f(e.userNoteData,"Mod note userNote is null or undefined"),f(e.modActionData,"Mod note modAction is null or undefined"),!TR(e.userNoteData?.label??""))throw new Error(`Invalid user note label: ${e.userNoteData?.label}`);if(!ER(e.type))throw new Error(`Invalid mod note type: ${e.type}`);return{id:e.id,user:{id:ee(e.userId??""),name:e.user},subreddit:{id:Te(e.subredditId??""),name:e.subreddit},operator:{id:ee(e.operatorId??""),name:e.operator},createdAt:new Date(e.createdAt*1e3),userNote:{note:e.userNoteData?.note,redditId:fe(e.userNoteData?.redditId??""),label:e.userNoteData?.label},type:e.type}},l(Re,Is);var Ci=class{static queryWithQueryString(e,t){return u.redditAPIPlugins.GraphQL.Query({query:e},t)}static query(e,t,i,n){return u.redditAPIPlugins.GraphQL.PersistedQuery({operationName:e,id:t,variables:i},n)}};var wP=["all","wiki","posts","access","mail","config","flair","channels","chat_config","chat_community","chat_operator"];function RR(r,e,t=!1){let i=t?"%2b":"+";return e.map(n=>(r.includes(n)?i:"-")+n).join(",")}function lm(r){return RR(r,wP,!0)}function AP(r){return r.filter(e=>wP.includes(e))}var FR=(t=>(t.User="USER_FLAIR",t.Post="LINK_FLAIR",t))(FR||{}),fr,Ii,wi,Ai,xi,Ti,Ei,Ri,Fi,Oi,Mi,qd,Ge=class Ge{constructor(e,t,i){l(this,fr,void 0);l(this,Ii,void 0);l(this,wi,void 0);l(this,Ai,void 0);l(this,xi,void 0);l(this,Ti,void 0);l(this,Ei,void 0);l(this,Ri,void 0);l(this,Fi,void 0);l(this,Oi,void 0);V(this),f(e.id),f(e.text),d(this,fr,e.id),d(this,Ii,t),d(this,wi,e.text),d(this,Ai,OR(e.textColor)),d(this,xi,MR(e.backgroundColor)),d(this,Ti,UR(e.allowableContent)),d(this,Ei,e.modOnly),d(this,Ri,e.maxEmojis),d(this,Fi,e.textEditable),d(this,Oi,i)}get id(){return s(this,fr)}get text(){return s(this,wi)}get textColor(){return s(this,Ai)}get backgroundColor(){return s(this,xi)}get allowableContent(){return s(this,Ti)}get modOnly(){return s(this,Ei)}get maxEmojis(){return s(this,Ri)}get allowUserEdits(){return s(this,Fi)}async delete(){return Ge.deleteFlairTemplate(s(this,fr),s(this,Ii),s(this,Oi))}async edit(e){return Ge.editFlairTemplate({id:s(this,fr),subredditName:s(this,Ii),text:e.text??s(this,wi),allowableContent:e.allowableContent??s(this,Ti),backgroundColor:e.backgroundColor??s(this,xi),maxEmojis:e.maxEmojis??s(this,Ri),modOnly:e.modOnly??s(this,Ei),textColor:e.textColor??s(this,Ai),allowUserEdits:e.allowUserEdits??s(this,Fi)},s(this,Oi))}static async createPostFlairTemplate(e,t){var i;return b(i=Ge,Mi,qd).call(i,{...e,flairType:"LINK_FLAIR"},t)}static async createUserFlairTemplate(e,t){var i;return b(i=Ge,Mi,qd).call(i,{...e,flairType:"USER_FLAIR"},t)}static async editFlairTemplate(e,t){var i;return b(i=Ge,Mi,qd).call(i,e,t)}static async getPostFlairTemplates(e,t){return(await u.redditAPIPlugins.Flair.LinkFlair({subreddit:e},t)).flair?.map(o=>new Ge(o,e,t))||[]}static async getUserFlairTemplates(e,t){return(await u.redditAPIPlugins.Flair.UserFlair({subreddit:e},t)).flair?.map(o=>new Ge(o,e,t))||[]}static async deleteFlairTemplate(e,t,i){await u.redditAPIPlugins.Flair.DeleteFlairTemplate({subreddit:e,flairTemplateId:t},i)}};fr=new WeakMap,Ii=new WeakMap,wi=new WeakMap,Ai=new WeakMap,xi=new WeakMap,Ti=new WeakMap,Ei=new WeakMap,Ri=new WeakMap,Fi=new WeakMap,Oi=new WeakMap,Mi=new WeakSet,qd=async function(e,t){let{subredditName:i,allowableContent:n="all",backgroundColor:o="transparent",flairType:a="",maxEmojis:c=10,modOnly:p=!1,text:g,textColor:v="dark",allowUserEdits:m=!1,id:y=""}=e;if(p&&m)throw new Error("Cannot have a mod only flair that is editable by users");let C=await u.redditAPIPlugins.Flair.FlairTemplate({subreddit:i,allowableContent:n,backgroundColor:o,flairType:a,maxEmojis:c,modOnly:p,text:g,textColor:v,textEditable:m,flairTemplateId:y,cssClass:"",overrideCss:!1},t);return new Ge(C,i,t)},l(Ge,Mi);var oe=Ge;function xs(r){return{flairCssClass:r.flairCssClass,user:r.user,flairText:r.flairText}}var ws,um,As,cm,Ft=class Ft{static async getUserFlairBySubreddit(e,t){return u.redditAPIPlugins.Flair.FlairList(e,t)}static setUserFlair(e,t){var i;return b(i=Ft,ws,um).call(i,e,t)}static setPostFlair(e,t){var i;return b(i=Ft,ws,um).call(i,{...e,postId:ge(e.postId)},t)}static async removePostFlair(e,t,i){var n;return b(n=Ft,As,cm).call(n,e,t,void 0,i)}static async removeUserFlair(e,t,i){var n;return b(n=Ft,As,cm).call(n,e,void 0,t,i)}};ws=new WeakSet,um=async function(e,t){await u.redditAPIPlugins.Flair.SelectFlair({subreddit:e.subredditName,flairTemplateId:e.flairTemplateId??"",text:e.text??"",name:e.username,link:e.postId,backgroundColor:e.backgroundColor??"",textColor:e.textColor??"dark",cssClass:e.cssClass??"",returnRtjson:"none"},t)},As=new WeakSet,cm=async function(e,t,i,n){await u.redditAPIPlugins.Flair.SelectFlair({subreddit:e,name:i??"",link:t??"",flairTemplateId:"",backgroundColor:"",text:"",textColor:"",cssClass:"",returnRtjson:"none"},n)},l(Ft,ws),l(Ft,As);var Fe=Ft;function OR(r){if(f(r,"Flair text color is required"),r==="light"||r==="dark")return r;throw new Error(`Invalid flair text color: ${r}`)}function MR(r){if(f(r,"Flair background color is required"),r==="transparent"||/^#([A-Fa-f0-9]{6})$/.test(r))return r;throw new Error(`Invalid flair background color: ${r}`)}function UR(r){if(r==="all"||r==="text"||r==="emoji")return r;throw new Error(`Invalid allowable content: ${r}`)}import{Block as jR}from"@devvit/protos";var RP=kn(EP(),1);var Ui,Es,Bi,Rs,Fs,Os,Ms,Us,Li,Bs,Ls,Ds,_s,Ns,qs,Ot,vr,Di,Mt,_i,Ni,qi,yr,Ut,Bt,Hi,Lt,Dt,_t,dt,Hs,js,ji,Wi,L,N=class N{constructor(e,t){l(this,Ui,void 0);l(this,Es,void 0);l(this,Bi,void 0);l(this,Rs,void 0);l(this,Fs,void 0);l(this,Os,void 0);l(this,Ms,void 0);l(this,Us,void 0);l(this,Li,void 0);l(this,Bs,void 0);l(this,Ls,void 0);l(this,Ds,void 0);l(this,_s,void 0);l(this,Ns,void 0);l(this,qs,void 0);l(this,Ot,void 0);l(this,vr,void 0);l(this,Di,void 0);l(this,Mt,void 0);l(this,_i,void 0);l(this,Ni,void 0);l(this,qi,void 0);l(this,yr,void 0);l(this,Ut,void 0);l(this,Bt,void 0);l(this,Hi,void 0);l(this,Lt,void 0);l(this,Dt,void 0);l(this,_t,void 0);l(this,dt,void 0);l(this,Hs,void 0);l(this,js,void 0);l(this,ji,void 0);l(this,Wi,void 0);l(this,L,void 0);V(this),f(e.id,"Post is missing id"),f(e.title,"Post is missing title"),f(e.createdUtc,"Post is missing created date"),f(e.author,"Post is missing author name"),f(e.subreddit,"Post is missing subreddit name"),f(e.subredditId,"Post is missing subreddit id"),f(e.url,"Post is missing url"),f(e.permalink,"Post is missing permalink"),d(this,Ui,ge(`t3_${e.id}`)),d(this,Bi,e.author),d(this,Es,e.authorFullname?ee(e.authorFullname):void 0),d(this,Fs,Te(e.subredditId)),d(this,Os,e.subreddit),d(this,Ds,e.score??0),d(this,_s,e.numComments??0),d(this,Ns,e.numReports??0);let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,Rs,i),d(this,Us,e.title),d(this,Li,e.selftext),d(this,Bs,e.selftextHtml),d(this,Ls,e.url),d(this,Ms,e.permalink),e.thumbnail&&e.thumbnail!=="self"&&e.thumbnail!=="nsfw"&&e.thumbnailHeight!=null&&e.thumbnailWidth!=null&&d(this,qs,{url:e.thumbnail,height:e.thumbnailHeight,width:e.thumbnailWidth}),d(this,Ot,e.approved??!1),d(this,Mt,e.removed??!1),d(this,_i,e.removedBy),d(this,Ni,e.removedByCategory),d(this,vr,e.spam??!1),d(this,Di,e.stickied??!1),d(this,qi,e.archived??!1),d(this,yr,e.edited??!1),d(this,Ut,e.locked??!1),d(this,Bt,e.over18??!1),d(this,Hi,e.quarantine??!1),d(this,Lt,e.spoiler),d(this,Dt,e.hidden??!1),d(this,_t,e.ignoreReports??!1),d(this,dt,e.distinguished),d(this,js,e.secureMedia),d(this,ji,(e.modReports??[]).map(([n])=>n)),d(this,Wi,(e.userReports??[]).map(([n])=>n)),d(this,L,t),(e.linkFlairBackgroundColor||e.linkFlairCssClass||e.linkFlairText||e.linkFlairType||e.linkFlairTemplateId||e.linkFlairRichtext||e.linkFlairTextColor)&&d(this,Hs,{backgroundColor:e.linkFlairBackgroundColor,cssClass:e.linkFlairCssClass,text:e.linkFlairText,type:e.linkFlairType,templateId:e.linkFlairTemplateId,richtext:(e.linkFlairRichtext??[]).map(({e:n,t:o,a,u:c})=>({elementType:n,text:o,emojiRef:a,url:c})),textColor:e.linkFlairTextColor})}get id(){return s(this,Ui)}get authorId(){return s(this,Es)}get authorName(){return s(this,Bi)}get subredditId(){return s(this,Fs)}get subredditName(){return s(this,Os)}get permalink(){return s(this,Ms)}get title(){return s(this,Us)}get body(){return s(this,Li)}get bodyHtml(){return s(this,Bs)}get url(){return s(this,Ls)}get thumbnail(){return s(this,qs)}get createdAt(){return s(this,Rs)}get score(){return s(this,Ds)}get numberOfComments(){return s(this,_s)}get numberOfReports(){return s(this,Ns)}get approved(){return s(this,Ot)}get spam(){return s(this,vr)}get stickied(){return s(this,Di)}get removed(){return s(this,Mt)}get removedBy(){return s(this,_i)}get removedByCategory(){return s(this,Ni)}get archived(){return s(this,qi)}get edited(){return s(this,yr)}get locked(){return s(this,Ut)}get nsfw(){return s(this,Bt)}get quarantined(){return s(this,Hi)}get spoiler(){return s(this,Lt)}get hidden(){return s(this,Dt)}get ignoringReports(){return s(this,_t)}get distinguishedBy(){return s(this,dt)}get comments(){return K.getComments({postId:this.id},s(this,L))}get flair(){return s(this,Hs)}get secureMedia(){return s(this,js)}get userReportReasons(){return s(this,Wi)}get modReportReasons(){return s(this,ji)}toJSON(){return{id:this.id,authorId:this.authorId,authorName:this.authorName,subredditId:this.subredditId,subredditName:this.subredditName,permalink:this.permalink,title:this.title,body:this.body,bodyHtml:this.bodyHtml,url:this.url,thumbnail:this.thumbnail,score:this.score,numberOfComments:this.numberOfComments,numberOfReports:this.numberOfReports,createdAt:this.createdAt,approved:this.approved,spam:this.spam,stickied:this.stickied,removed:this.removed,removedBy:s(this,_i),removedByCategory:s(this,Ni),archived:this.archived,edited:this.edited,locked:this.locked,nsfw:this.nsfw,quarantined:this.quarantined,spoiler:this.spoiler,hidden:this.hidden,ignoringReports:this.ignoringReports,distinguishedBy:this.distinguishedBy,flair:this.flair,secureMedia:this.secureMedia,modReportReasons:s(this,ji),userReportReasons:s(this,Wi)}}isApproved(){return s(this,Ot)}isSpam(){return s(this,vr)}isStickied(){return s(this,Di)}isRemoved(){return s(this,Mt)}isArchived(){return s(this,qi)}isEdited(){return s(this,yr)}isLocked(){return s(this,Ut)}isNsfw(){return s(this,Bt)}isQuarantined(){return s(this,Hi)}isSpoiler(){return s(this,Lt)}isHidden(){return s(this,Dt)}isIgnoringReports(){return s(this,_t)}isDistinguishedBy(){return s(this,dt)}async edit(e){let t=await N.edit({id:this.id,...e},s(this,L));d(this,Li,t.body),d(this,yr,t.edited)}async addComment(e){return K.submit({id:this.id,...e},s(this,L))}async delete(){return N.delete(this.id,s(this,L))}async approve(){await N.approve(this.id,s(this,L)),d(this,Ot,!0),d(this,Mt,!1)}async remove(e=!1){await N.remove(this.id,e,s(this,L)),d(this,Mt,!0),d(this,vr,e),d(this,Ot,!1)}async lock(){await N.lock(this.id,s(this,L)),d(this,Ut,!0)}async unlock(){await N.unlock(this.id,s(this,L)),d(this,Ut,!1)}async hide(){await N.hide(this.id,s(this,L)),d(this,Dt,!0)}async unhide(){await N.unhide(this.id,s(this,L)),d(this,Dt,!1)}async markAsNsfw(){await N.markAsNsfw(this.id,s(this,L)),d(this,Bt,!0)}async unmarkAsNsfw(){await N.unmarkAsNsfw(this.id,s(this,L)),d(this,Bt,!1)}async markAsSpoiler(){await N.markAsSpoiler(this.id,s(this,L)),d(this,Lt,!0)}async unmarkAsSpoiler(){await N.unmarkAsSpoiler(this.id,s(this,L)),d(this,Lt,!1)}async sticky(e){await N.sticky(this.id,e,s(this,L))}async unsticky(){await N.unsticky(this.id,s(this,L))}async distinguish(){let{distinguishedBy:e}=await N.distinguish(this.id,!1,s(this,L));d(this,dt,e)}async distinguishAsAdmin(){let{distinguishedBy:e}=await N.distinguish(this.id,!0,s(this,L));d(this,dt,e)}async undistinguish(){let{distinguishedBy:e}=await N.undistinguish(this.id,s(this,L));d(this,dt,e)}async ignoreReports(){await N.ignoreReports(this.id,s(this,L)),d(this,_t,!0)}async unignoreReports(){await N.unignoreReports(this.id,s(this,L)),d(this,_t,!1)}async getAuthor(){return w.getByUsername(s(this,Bi),s(this,L))}async crosspost(e){return N.crosspost({...e,postId:this.id},s(this,L))}addRemovalNote(e){return Re.addRemovalNote({itemIds:[s(this,Ui)],...e},s(this,L))}static async getById(e,t){let i=u.redditAPIPlugins.LinksAndComments,n=Zt(e)?e:`t3_${e}`,o=await i.Info({subreddits:[],thingIds:[n]},t);if(!o.data?.children?.length)throw new Error("could not find post");let a=o.data.children[0];if(!a?.data)throw new Error("could not find post");return new N(a.data,t)}static async submit(e,t){let i=u.redditAPIPlugins.LinksAndComments,n;if("preview"in e){f(t,"Missing metadata in `SubmitPostOptions`");let c=await new nt(()=>e.preview,void 0,{},t,void 0).buildBlocksUI(),p=jR.encode(c).finish();n=await i.Submit({kind:"custom",sr:e.subredditName,richtextJson:(0,RP.fromByteArray)(p),...e},t)}else n=await i.Submit({kind:"kind"in e?e.kind:"url"in e?"link":"self",sr:e.subredditName,richtextJson:"richtext"in e?Pi(e.richtext):void 0,...e},t);if("kind"in e&&["image","video","videogif"].includes(e.kind)&&!n.json?.data?.id&&"url"in e)throw new Error(`Post of ${e.kind} type with ${e.url} is being created asynchronously and should be updated in the subreddit soon.`);if(!n.json?.data?.id||n.json?.errors?.length)throw new Error(`failed to submit post - either post ID is empty or request failed with errors: ${n.json?.errors}`);return N.getById(`t3_${n.json.data.id}`,t)}static async crosspost(e,t){let i=u.redditAPIPlugins.LinksAndComments,{postId:n,subredditName:o,...a}=e,c=await i.Submit({kind:"crosspost",sr:o,crosspostFullname:ge(n),...a},t);if(!c.json?.data?.id||c.json?.errors?.length)throw new Error("failed to crosspost post");return N.getById(`t3_${c.json.data.id}`,t)}static async edit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:n}=e,o;if("richtext"in e&&(o=Pi(e.richtext)),(await i.EditUserText({thingId:n,text:"text"in e?e.text:"",richtextJson:o},t)).json?.errors?.length)throw new Error("Failed to edit post");return N.getById(n,t)}static async delete(e,t){await u.redditAPIPlugins.LinksAndComments.Del({id:e},t)}static async approve(e,t){await u.redditAPIPlugins.Moderation.Approve({id:e},t)}static async remove(e,t=!1,i){await u.redditAPIPlugins.Moderation.Remove({id:e,spam:t},i)}static async hide(e,t){await u.redditAPIPlugins.LinksAndComments.Hide({id:e},t)}static async unhide(e,t){await u.redditAPIPlugins.LinksAndComments.Unhide({id:e},t)}static async markAsNsfw(e,t){await u.redditAPIPlugins.LinksAndComments.MarkNSFW({id:e},t)}static async unmarkAsNsfw(e,t){await u.redditAPIPlugins.LinksAndComments.UnmarkNSFW({id:e},t)}static async markAsSpoiler(e,t){await u.redditAPIPlugins.LinksAndComments.Spoiler({id:e},t)}static async unmarkAsSpoiler(e,t){await u.redditAPIPlugins.LinksAndComments.Unspoiler({id:e},t)}static async sticky(e,t,i){await u.redditAPIPlugins.LinksAndComments.SetSubredditSticky({id:e,state:!0,num:t},i)}static async unsticky(e,t){await u.redditAPIPlugins.LinksAndComments.SetSubredditSticky({id:e,state:!1},t)}static async lock(e,t){await u.redditAPIPlugins.LinksAndComments.Lock({id:e},t)}static async unlock(e,t){await u.redditAPIPlugins.LinksAndComments.Unlock({id:e},t)}static async distinguish(e,t,i){let a=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:t?"admin":"yes",sticky:!1},i)).json?.data?.things?.[0]?.data;return f(a),{distinguishedBy:a.distinguished}}static async undistinguish(e,t){let o=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:"no",sticky:!1},t)).json?.data?.things?.[0]?.data;return f(o),{distinguishedBy:o.distinguished}}static async ignoreReports(e,t){await u.redditAPIPlugins.Moderation.IgnoreReports({id:e},t)}static async unignoreReports(e,t){await u.redditAPIPlugins.Moderation.UnignoreReports({id:e},t)}static getControversialPosts(e={},t){return this.getSortedPosts({...e,sort:"controversial"},t)}static getTopPosts(e={},t){return this.getSortedPosts({...e,sort:"top"},t)}static getSortedPosts(e,t){let i=u.redditAPIPlugins.Listings;return new H({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let o=await i.Sort({show:"all",sort:e.sort,t:e.timeframe,subreddit:e.subredditName,...n},t);return Ts(o,t)}})}static getHotPosts(e={location:"GLOBAL"},t){let i=u.redditAPIPlugins.Listings;return new H({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let o=await i.Hot({g:e.location,show:"all",subreddit:e.subredditName,...n},t);return Ts(o,t)}})}static getNewPosts(e,t){let i=u.redditAPIPlugins.Listings;return new H({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let o=await i.New({show:"all",subreddit:e.subredditName,...n},t);return Ts(o,t)}})}static getRisingPosts(e,t){let i=u.redditAPIPlugins.Listings;return new H({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,fetch:async n=>{let o=await i.Rising({show:"all",subreddit:e.subredditName,...n},t);return Ts(o,t)}})}static getPostsByUser(e,t){let i=u.redditAPIPlugins.Users;return new H({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(n){let o=await i.UserWhere({username:e.username,where:"submitted",...n},t);return Ts(o,t)}})}};Ui=new WeakMap,Es=new WeakMap,Bi=new WeakMap,Rs=new WeakMap,Fs=new WeakMap,Os=new WeakMap,Ms=new WeakMap,Us=new WeakMap,Li=new WeakMap,Bs=new WeakMap,Ls=new WeakMap,Ds=new WeakMap,_s=new WeakMap,Ns=new WeakMap,qs=new WeakMap,Ot=new WeakMap,vr=new WeakMap,Di=new WeakMap,Mt=new WeakMap,_i=new WeakMap,Ni=new WeakMap,qi=new WeakMap,yr=new WeakMap,Ut=new WeakMap,Bt=new WeakMap,Hi=new WeakMap,Lt=new WeakMap,Dt=new WeakMap,_t=new WeakMap,dt=new WeakMap,Hs=new WeakMap,js=new WeakMap,ji=new WeakMap,Wi=new WeakMap,L=new WeakMap;var z=N;function Ts(r,e){if(!r.data?.children)throw new Error("Listing response is missing children");return{children:r.data.children.map(i=>new z(i.data,e)),before:r.data.before,after:r.data.after}}var Ws,Gi,Gs,zs,Vs,Js,$s,Nt,Ks,Xs,lt,br=class br{constructor(e,t){l(this,Ws,void 0);l(this,Gi,void 0);l(this,Gs,void 0);l(this,zs,void 0);l(this,Vs,void 0);l(this,Js,void 0);l(this,$s,void 0);l(this,Nt,new Map);l(this,Ks,void 0);l(this,Xs,void 0);l(this,lt,void 0);V(this),f(e.id,"User ID is missing or undefined"),f(e.name,"Username is missing or undefined"),f(e.createdUtc,"User is missing created date"),d(this,Ws,ee(Va(e.id)?e.id:`t2_${e.id}`)),d(this,Gi,e.name),d(this,Js,e.over18??!1),d(this,$s,e.isEmployee??!1);let i=new Date(0);if(i.setUTCSeconds(e.createdUtc),d(this,Gs,i),d(this,zs,e.linkKarma??0),d(this,Vs,e.commentKarma??0),e.modPermissions)for(let[n,o]of Object.entries(e.modPermissions))s(this,Nt).set(n,AP(o));d(this,Ks,new URL(e.subreddit?.url??"","https://www.reddit.com").toString()),d(this,Xs,e.subreddit?.url??""),d(this,lt,t)}get id(){return s(this,Ws)}get username(){return s(this,Gi)}get createdAt(){return s(this,Gs)}get linkKarma(){return s(this,zs)}get commentKarma(){return s(this,Vs)}get nsfw(){return s(this,Js)}get isAdmin(){return s(this,$s)}get modPermissions(){return s(this,Nt)}get url(){return s(this,Ks)}get permalink(){return s(this,Xs)}toJSON(){return{id:this.id,username:this.username,createdAt:this.createdAt,linkKarma:this.linkKarma,commentKarma:this.commentKarma,nsfw:this.nsfw,modPermissionsBySubreddit:Object.fromEntries(this.modPermissions)}}async getModPermissionsForSubreddit(e){if(s(this,Nt).has(e))return s(this,Nt).get(e);let t=await br.getSubredditUsersByType({subredditName:e,type:"moderators",username:this.username},s(this,lt)).all();if(t.length===0)return[];let i=t[0].modPermissions.get(e)??[];return i.length>0&&s(this,Nt).set(e,i),i}getComments(e){return K.getCommentsByUser({username:this.username,...e},s(this,lt))}getPosts(e){return z.getPostsByUser({username:this.username,...e},s(this,lt))}async getUserFlairBySubreddit(e){let t=await Fe.getUserFlairBySubreddit({subreddit:e,name:s(this,Gi)},s(this,lt));return t.users[0]?xs(t.users[0]):void 0}getSnoovatarUrl(){return br.getSnoovatarUrl(this.username,s(this,lt))}static async getById(e,t){let o=(await u.redditAPIPlugins.Users.UserDataByAccountIds({ids:e},t))?.users?.[e]?.name;return f(o,"Expected the username in response to be not null"),br.getByUsername(o,t)}static async getByUsername(e,t){let n=await u.redditAPIPlugins.Users.UserAbout({username:e},t);if(!n.data?.id)throw new Error("failed to get user");return new br(n.data,t)}static async getFromMetadata(e,t){f(t);let i=t?.[e]?.values[0];return i?br.getById(ee(i),t):Promise.resolve(void 0)}static getSubredditUsersByType(e,t){let i=u.redditAPIPlugins.Subreddits;return new H({hasMore:!0,pageSize:e.pageSize,limit:e.limit,after:e.after,before:e.before,fetch:async n=>{let o=await i.AboutWhere({where:e.type,user:e.username,subreddit:e.subredditName,show:"all",...n},t);return GR(o,e.subredditName,t)}})}static async createRelationship(e,t){let i=u.redditAPIPlugins.Users,{type:n,subredditName:o,username:a,permissions:c,...p}=e,g=await i.Friend({type:n,subreddit:o,name:a,permissions:c?lm(c):void 0,...p},t);if(g.json?.errors?.length)throw new Error(g.json.errors.join(`
4
4
  `))}static async removeRelationship(e,t){await u.redditAPIPlugins.Users.Unfriend({type:e.type,subreddit:e.subredditName,name:e.username},t)}static async setModeratorPermissions(e,t,i,n){let a=await u.redditAPIPlugins.Users.SetPermissions({subreddit:t,name:e,type:"moderator",permissions:lm(i)},n);if(a.json?.errors?.length)throw new Error(a.json.errors.join(`
5
5
  `))}static async getSnoovatarUrl(e,t){let i="GetSnoovatarUrlByName",n="c47fd42345af268616d2d8904b56856acdc05cf61d3650380f539ad7d596ac0c";return(await Ci.query(i,n,{username:e},t)).data?.redditorInfoByName?.snoovatarIcon?.url}static getOverview(e,t){let i=u.redditAPIPlugins.Users;return new H({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(n){let o=await i.UserWhere({username:e.username,where:"overview",...n},t);return WR(o,t)}})}};Ws=new WeakMap,Gi=new WeakMap,Gs=new WeakMap,zs=new WeakMap,Vs=new WeakMap,Js=new WeakMap,$s=new WeakMap,Nt=new WeakMap,Ks=new WeakMap,Xs=new WeakMap,lt=new WeakMap;var w=br;function WR(r,e){if(!r.data?.children)throw new Error("Listing response is missing children");return{children:r.data.children.map(i=>{if(i.kind==="t3")return new z(i.data,e);if(i.kind==="t1")return new K(i.data,e);throw new Error(`Type ${i.kind} is not supported`)}),before:r.data.before,after:r.data.after}}async function GR(r,e,t){let i=u.redditAPIPlugins.Users;if(!r.data?.children)throw new Error("Listing response is missing children");let n=r.data.children.map(v=>(f(v.data?.id,"User id is still from listing data"),v.data.id)),o=100,a=[];for(let v=0;v<n.length;v+=o)a.push(n.slice(v,v+o));let p=(await Promise.all(a.map(v=>i.UserDataByAccountIds({ids:v.join(",")},t)))).reduce((v,m)=>({...v,...m.users}),{});return{children:r.data.children.map(v=>{let m=v.data?.id;f(m,"User id is missing from listing");let y=p[m];return f(y,"User data is missing from response"),new w({id:m,name:y.name,linkKarma:y.linkKarma,commentKarma:y.commentKarma,createdUtc:y.createdUtc,over18:y.profileOver18,snoovatarSize:[],modPermissions:{[e]:v.data?.modPermissions??[]}},t)}),before:r.data.before,after:r.data.after}}var Pr,Zs,zi,Vi,Ys,Qs,Ji,eo,to,$i,qt,kr,Ht,jt,ut,Sr,ct,ro,io,no,so,oo,ao,lo,Z,Ki,jd,Xi,Wd,j=class j{constructor(e,t){l(this,Pr,void 0);l(this,Zs,void 0);l(this,zi,void 0);l(this,Vi,void 0);l(this,Ys,void 0);l(this,Qs,void 0);l(this,Ji,void 0);l(this,eo,void 0);l(this,to,void 0);l(this,$i,void 0);l(this,qt,void 0);l(this,kr,void 0);l(this,Ht,void 0);l(this,jt,void 0);l(this,ut,void 0);l(this,Sr,void 0);l(this,ct,void 0);l(this,ro,void 0);l(this,io,void 0);l(this,no,void 0);l(this,so,void 0);l(this,oo,void 0);l(this,ao,void 0);l(this,lo,void 0);l(this,Z,void 0);var n;V(this),f(e.id,"Comment id is null or undefined"),f(e.body,"Comment body is null or undefined"),f(e.createdUtc,"Comment is missing created date"),f(e.author,"Comment author is null or undefined"),f(e.parentId,"Comment parentId is null or undefined"),f(e.linkId,"Comment linkId is null or undefined"),f(e.permalink,"Comment permalink is null or undefined"),f(e.subreddit,"Comment is missing subreddit name"),f(e.subredditId,"Comment is missing subreddit id"),d(this,Pr,Dr(`t1_${e.id}`)),d(this,Zs,e.authorFullname?ee(e.authorFullname):void 0),d(this,zi,e.author),d(this,Vi,e.body),d(this,eo,Te(e.subredditId)),d(this,to,e.subreddit),d(this,Qs,oc(e.parentId)?Dr(e.parentId):ge(e.parentId)),d(this,Ji,ge(e.linkId)),d(this,kr,e.edited??!1),d(this,Ht,e.locked??!1),d(this,jt,e.removed??!1),d(this,ut,e.stickied??!1),d(this,qt,e.approved??!1),d(this,Sr,e.spam??!1),d(this,ct,e.distinguished),d(this,ro,e.numReports??0),d(this,io,e.collapsedBecauseCrowdControl??!1),d(this,no,e.score??0),d(this,so,e.permalink),d(this,lo,new URL(e.permalink??"","https://www.reddit.com/").toString()),d(this,oo,(e.modReports??[]).map(([o])=>o)),d(this,ao,(e.userReports??[]).map(([o])=>o));let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,Ys,i),d(this,$i,b(n=j,Ki,jd).call(n,{postId:s(this,Ji),commentId:s(this,Pr)},t)),d(this,Z,t)}get id(){return s(this,Pr)}get authorId(){return s(this,Zs)}get authorName(){return s(this,zi)}get subredditId(){return s(this,eo)}get subredditName(){return s(this,to)}get body(){return s(this,Vi)}get createdAt(){return s(this,Ys)}get parentId(){return s(this,Qs)}get postId(){return s(this,Ji)}get replies(){return s(this,$i)}get distinguishedBy(){return s(this,ct)}get locked(){return s(this,Ht)}get stickied(){return s(this,ut)}get removed(){return s(this,jt)}get approved(){return s(this,qt)}get spam(){return s(this,Sr)}get edited(){return s(this,kr)}get numReports(){return s(this,ro)}get collapsedBecauseCrowdControl(){return s(this,io)}get score(){return s(this,no)}get permalink(){return s(this,so)}get userReportReasons(){return s(this,ao)}get modReportReasons(){return s(this,oo)}get url(){return s(this,lo)}toJSON(){return{id:this.id,authorName:this.authorName,subredditId:this.subredditId,subredditName:this.subredditName,body:this.body,createdAt:this.createdAt,parentId:this.parentId,postId:this.postId,replies:this.replies,approved:this.approved,locked:this.locked,removed:this.removed,stickied:this.stickied,spam:this.spam,edited:this.edited,distinguishedBy:this.distinguishedBy,numReports:this.numReports,collapsedBecauseCrowdControl:this.collapsedBecauseCrowdControl,score:this.score,permalink:this.permalink,modReportReasons:this.modReportReasons,userReportReasons:this.userReportReasons,url:this.url}}isLocked(){return s(this,Ht)}isApproved(){return s(this,qt)}isRemoved(){return s(this,jt)}isSpam(){return s(this,Sr)}isStickied(){return s(this,ut)}isDistinguished(){return!!s(this,ct)}isEdited(){return s(this,kr)}async delete(){return j.delete(this.id,s(this,Z))}async edit(e){let t=await j.edit({id:this.id,...e},s(this,Z));return d(this,Vi,t.body),d(this,kr,t.edited),this}async approve(){await j.approve(this.id,s(this,Z)),d(this,qt,!0),d(this,jt,!1)}async remove(e=!1){await j.remove(this.id,e,s(this,Z)),d(this,jt,!0),d(this,Sr,e),d(this,qt,!1)}async lock(){await j.lock(this.id,s(this,Z)),d(this,Ht,!0)}async unlock(){await j.unlock(this.id,s(this,Z)),d(this,Ht,!1)}async reply(e){return j.submit({id:this.id,...e},s(this,Z))}async getAuthor(){return w.getByUsername(s(this,zi),s(this,Z))}async distinguish(e=!1){let{distinguishedBy:t,stickied:i}=await j.distinguish(this.id,e,!1,s(this,Z));d(this,ct,t),d(this,ut,i)}async distinguishAsAdmin(e=!1){let{distinguishedBy:t,stickied:i}=await j.distinguish(this.id,e,!0,s(this,Z));d(this,ct,t),d(this,ut,i)}async undistinguish(){let{distinguishedBy:e,stickied:t}=await j.undistinguish(this.id,s(this,Z));d(this,ct,e),d(this,ut,t)}addRemovalNote(e){return Re.addRemovalNote({itemIds:[s(this,Pr)],...e},s(this,Z))}static async getById(e,t){let i=u.redditAPIPlugins.LinksAndComments,n=ht(e)?e:`t1_${e}`,o=await i.Info({subreddits:[],thingIds:[n]},t);if(!o.data?.children?.[0]?.data)throw new Error("not found");return new j(o.data.children[0].data,t)}static getComments(e,t){var a;let{postId:i,commentId:n,...o}=e;return b(a=j,Ki,jd).call(a,{postId:ge(i),commentId:n?Dr(n):void 0,...o},t)}static async edit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:n}=e,o;"richtext"in e&&(o=Pi(e.richtext));let a=await i.EditUserText({thingId:n,text:"text"in e?e.text:"",richtextJson:o},t);if(a.json?.errors?.length)throw new Error("Failed to edit comment");let c=a.json?.data?.things?.[0]?.data;return f(c),new j(c,t)}static async delete(e,t){await u.redditAPIPlugins.LinksAndComments.Del({id:e},t)}static async approve(e,t){await u.redditAPIPlugins.Moderation.Approve({id:e},t)}static async remove(e,t=!1,i){await u.redditAPIPlugins.Moderation.Remove({id:e,spam:t},i)}static async lock(e,t){await u.redditAPIPlugins.LinksAndComments.Lock({id:e},t)}static async unlock(e,t){await u.redditAPIPlugins.LinksAndComments.Unlock({id:e},t)}static async submit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:n}=e,o;"richtext"in e&&(o=Pi(e.richtext));let a=await i.Comment({thingId:n,text:"text"in e?e.text:"",richtextJson:o},t);if(a.json?.errors?.length)throw new Error("failed to reply to comment");let c=a.json?.data?.things?.[0]?.data;return f(c),new j(c,t)}static async distinguish(e,t,i,n){let c=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:i?"admin":"yes",sticky:t},n)).json?.data?.things?.[0]?.data;return f(c),{distinguishedBy:c.distinguished,stickied:!!c.stickied}}static async undistinguish(e,t){let o=(await u.redditAPIPlugins.Moderation.Distinguish({id:e,how:"no",sticky:!1},t)).json?.data?.things?.[0]?.data;return f(o),{distinguishedBy:o.distinguished,stickied:!!o.stickied}}static getCommentsByUser(e,t){let i=u.redditAPIPlugins.Users;return new H({hasMore:!0,before:e.before,after:e.after,pageSize:e.pageSize,limit:e.limit,async fetch(n){let o=await i.UserWhere({username:e.username,where:"comments",...n},t);return f(o.data,"Failed to get comments for user"),{children:o.data.children?.map(c=>new j(c.data,t))||[],before:o.data.before,after:o.data.after}}})}};Pr=new WeakMap,Zs=new WeakMap,zi=new WeakMap,Vi=new WeakMap,Ys=new WeakMap,Qs=new WeakMap,Ji=new WeakMap,eo=new WeakMap,to=new WeakMap,$i=new WeakMap,qt=new WeakMap,kr=new WeakMap,Ht=new WeakMap,jt=new WeakMap,ut=new WeakMap,Sr=new WeakMap,ct=new WeakMap,ro=new WeakMap,io=new WeakMap,no=new WeakMap,so=new WeakMap,oo=new WeakMap,ao=new WeakMap,lo=new WeakMap,Z=new WeakMap,Ki=new WeakSet,jd=function(e,t,i=0){return new H({limit:e.limit,pageSize:e.pageSize,fetch:async n=>{var y,P;let o=n.limit,a=u.redditAPIPlugins.Listings,c=u.redditAPIPlugins.LinksAndComments,p=e.commentId;if(n.more)if(n.more.children.length){let C=n.more;(!o||o>100)&&(o=100);let I=C.children.splice(0,o),A=await c.MoreChildren({linkId:e.postId,children:I,sort:e.sort},t);if(!A.json?.data?.things?.length)return{children:[]};let{children:U}=b(y=j,Xi,Wd).call(y,A.json.data.things,e.postId,e,t);return{children:U,more:C.children.length?C:void 0}}else p=n.more.parentId,i=i+n.more.depth;let v=(await a.Comments({article:e.postId.substring(3),comment:p?.substring(3),limit:o,depth:e.depth,sort:e.sort},t)).listings?.[1]?.data?.children??[],m=v[0];return p&&m?.data?.replyList?.data&&(v=m.data.replyList.data.children),b(P=j,Xi,Wd).call(P,v,p??e.postId,e,t,i)}})},Xi=new WeakSet,Wd=function(e,t,i,n,o=0){var g,v;let a=[],c,p={};for(let m of e){if(!m.data||(m.data.depth!=null&&(m.data.depth=m.data.depth+o),m.data.depth!=null&&i.depth!=null&&m.data.depth>=i.depth))continue;let y=m.data.parentId?p[m.data.parentId]:void 0;if(m.kind==="t1"){if(m.data.name===t)continue;let P=new j(m.data,n);if(p[P.id]=P,d(P,$i,b(g=j,Ki,jd).call(g,{...i,postId:P.postId,commentId:P.id},n,o)),"replyList"in m.data&&m.data.replyList?.data){let{children:C,more:I}=b(v=j,Xi,Wd).call(v,m.data.replyList.data.children,P.id,i,n,o);C.length&&P.replies.children.push(...C),I&&P.replies.setMore(I)}P.replies.preventInitialFetch(),y?y.replies.children.push(P):a.push(P)}else if(m.kind==="more"&&m.data.parentId&&m.data.depth!=null){let P={parentId:oc(m.data.parentId)?Dr(m.data.parentId):ge(m.data.parentId),children:m.data.children??[],depth:m.data.depth};y?y.replies.setMore(P):P.parentId===t&&(c=P)}}return{children:a,more:c}},l(j,Ki),l(j,Xi);var K=j;function Xa(r,e){let t=u.redditAPIPlugins.Moderation;return new H({hasMore:!0,after:r.after,before:r.before,limit:r.limit,pageSize:r.pageSize,fetch:async i=>{let n=await t.AboutLog({subreddit:r.subredditName,mod:r.moderatorUsernames?r.moderatorUsernames.join(","):void 0,type:r.type,...i},e);return zR(n)}})}function zR(r){if(!r.data?.children)throw new Error("AboutLogResponse is missing children");return{children:r.data.children.map(t=>{if(!t.data)throw new Error("ModAction from AboutLogResponse is missing or invalid");let{id:i,mod:n,modId36:o,createdUtc:a,subreddit:c,subredditNamePrefixed:p,action:g,srId36:v,description:m,details:y,targetAuthor:P,targetBody:C,targetFullname:I,targetPermalink:A,targetTitle:U}=t.data;f(i,"ModAction from AboutLogResponse is missing id"),f(n,"ModAction from AboutLogResponse is missing mod"),f(o,"ModAction from AboutLogResponse is missing modId36"),f(a,"ModAction from AboutLogResponse is missing createdUtc"),f(c,"ModAction from AboutLogResponse is missing subreddit"),f(p,"ModAction from AboutLogResponse is missing subredditNamePrefixed"),f(g,"ModAction from AboutLogResponse is missing action"),f(v,"ModAction from AboutLogResponse is missing srId36");let ue=new Date(0);return ue.setUTCSeconds(a),{id:i,type:g,moderatorName:n,moderatorId:`t2_${o}`,createdAt:ue,subredditName:c,subredditId:`t5_${v}`,description:m,details:y,target:I?{id:I,author:P,body:C,permalink:A,title:U}:void 0}}),after:r.data.after,before:r.data.before}}var VR=(a=>(a.New="New",a.InProgress="InProgress",a.Archived="Archived",a.Appeals="Appeals",a.JoinRequests="JoinRequests",a.Filtered="Filtered",a))(VR||{}),JR={0:"New",1:"InProgress",2:"Archived",3:"Appeals",4:"JoinRequests",5:"Filtered"},$R=(P=>(P.Highlighted="Highlighted",P.Unhighlighted="Unhighlighted",P.Archived="Archived",P.Unarchived="Unarchived",P.ReportedToAdmins="ReportedToAdmins",P.Muted="Muted",P.Unmuted="Unmuted",P.Banned="Banned",P.Unbanned="Unbanned",P.Approved="Approved",P.Disapproved="Disapproved",P.Filtered="Filtered",P.Unfiltered="Unfiltered",P))($R||{}),KR={0:"Highlighted",1:"Unhighlighted",2:"Archived",3:"Unarchived",4:"ReportedToAdmins",5:"Muted",6:"Unmuted",7:"Banned",8:"Unbanned",9:"Approved",10:"Disapproved",11:"Filtered",12:"Unfiltered"},G,X,ie,Gd,FP,zd,OP,Za=class{constructor(e){l(this,X);l(this,Gd);l(this,zd);l(this,G,void 0);d(this,G,e)}async bulkReadConversations(e,t){let i=u.redditAPIPlugins.NewModmail,{conversationIds:n}=await i.BulkReadConversations({entity:e.join(","),state:t},s(this,G));return n}async getConversations(e){let i=await u.redditAPIPlugins.NewModmail.GetConversations({after:e.after,entity:e.subreddits?e.subreddits.join(","):void 0,limit:e.limit,sort:e.sort,state:e.state},s(this,G)),n={};for(let o in i.conversations)n[o]=b(this,X,ie).call(this,{protoConversation:i.conversations[o],protoMessages:i.messages,protoModActions:{}});return{conversations:n,viewerId:i.viewerId}}async getConversation(e){let i=await u.redditAPIPlugins.NewModmail.GetConversation({...e,markRead:!!e.markRead},s(this,G));return{participantSubreddit:i.participantSubreddit,conversation:b(this,X,ie).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async getSubreddits(){let e=u.redditAPIPlugins.NewModmail,{subreddits:t}=await e.Subreddits({},s(this,G));return t}async createConversation(e){let i=await u.redditAPIPlugins.NewModmail.CreateConversation({body:e.body,isAuthorHidden:e.isAuthorHidden??!1,srName:e.subredditName,subject:e.subject,to:e.to?e.to:void 0},s(this,G));return{conversation:b(this,X,ie).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async reply(e){let i=await u.redditAPIPlugins.NewModmail.CreateConversationMessage({body:e.body,conversationId:e.conversationId,isAuthorHidden:e.isAuthorHidden??!1,isInternal:e.isInternal??!1},s(this,G));return{conversation:b(this,X,ie).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:{}}),user:i.user}}async highlightConversation(e){let i=await u.redditAPIPlugins.NewModmail.HighlightConversation({conversationId:e},s(this,G));return{conversation:b(this,X,ie).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async unhighlightConversation(e){let i=await u.redditAPIPlugins.NewModmail.UnhighlightConversation({conversationId:e},s(this,G));return{conversation:b(this,X,ie).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async archiveConversation(e){let i=await u.redditAPIPlugins.NewModmail.ArchiveConversation({conversationId:e},s(this,G));return{conversation:b(this,X,ie).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async unarchiveConversation(e){let i=await u.redditAPIPlugins.NewModmail.UnarchiveConversation({conversationId:e},s(this,G));return{conversation:b(this,X,ie).call(this,{protoConversation:i.conversation,protoMessages:i.messages,protoModActions:i.modActions})}}async muteConversation(e){let i=await u.redditAPIPlugins.NewModmail.MuteConversation({conversationId:e.conversationId,numHours:e.numHours},s(this,G));return{conversation:b(this,X,ie).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async unmuteConversation(e){let i=await u.redditAPIPlugins.NewModmail.UnmuteConversation({conversationId:e},s(this,G));return{conversation:b(this,X,ie).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async readConversations(e){await u.redditAPIPlugins.NewModmail.Read({conversationIds:e.join(",")},s(this,G))}async unreadConversations(e){await u.redditAPIPlugins.NewModmail.Unread({conversationIds:e.join(",")},s(this,G))}async approveConversation(e){let i=await u.redditAPIPlugins.NewModmail.ApproveConversation({conversationId:e},s(this,G));return{conversation:b(this,X,ie).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async disapproveConversation(e){let i=await u.redditAPIPlugins.NewModmail.DisapproveConversation({conversationId:e},s(this,G));return{conversation:b(this,X,ie).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async tempBanConversation(e){let i=await u.redditAPIPlugins.NewModmail.TempBan({...e},s(this,G));return{conversation:b(this,X,ie).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async unbanConversation(e){let i=await u.redditAPIPlugins.NewModmail.Unban({conversationId:e},s(this,G));return{conversation:b(this,X,ie).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async getUnreadCount(){return await u.redditAPIPlugins.NewModmail.UnreadCount({},s(this,G))}async getUserConversations(e){return await u.redditAPIPlugins.NewModmail.UserConversations({conversationId:e},s(this,G))}};G=new WeakMap,X=new WeakSet,ie=function({protoConversation:e,protoMessages:t,protoModActions:i}){return{...e,state:JR[e.state],messages:b(this,Gd,FP).call(this,e,t),modActions:b(this,zd,OP).call(this,e,i)}},Gd=new WeakSet,FP=function(e,t){let i={},n=e.objIds.filter(o=>o.key==="messages").map(({id:o})=>o);for(let o of n){let a=t[o];a&&(i[o]=a)}return i},zd=new WeakSet,OP=function(e,t){let i={},n=e.objIds.filter(o=>o.key==="modActions").map(({id:o})=>o);for(let o of n){let a=t[o];a&&(i[o]={...a,actionType:KR[a.actionTypeId]})}return i};var Zi,Yi,Vd,uo,co,mo,po,pm=class pm{constructor(e,t){l(this,Zi,void 0);l(this,Yi,void 0);l(this,Vd,void 0);l(this,uo,void 0);l(this,co,void 0);l(this,mo,void 0);l(this,po,void 0);if(V(this),f(e.id,"PrivateMessage: Invalid data, no id"),f(e.name,"PrivateMessage: Invalid data, no name"),f(e.created,"PrivateMessage: Invalid data, no created date"),d(this,Zi,fe(e.name)),e.author!=null)d(this,Yi,{type:"user",username:e.author,id:e.authorFullname?ee(e.authorFullname):void 0});else if(e.subreddit!=null)d(this,Yi,{type:"subreddit",name:e.subreddit,id:e.subredditId?Te(e.subredditId):void 0});else throw new Error("PrivateMessage: Invalid data, no author or subreddit");d(this,uo,e.body??""),d(this,co,e.bodyHtml??"");let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,mo,i),d(this,Vd,e.parentId?fe(e.parentId):void 0),d(this,po,t)}static async getMessages(e,t){let i=u.redditAPIPlugins.PrivateMessages;return new H({...e,fetch:async n=>{let o=await i.MessageWhere({...n,where:e.type??"inbox"},t);return{after:o.data?.after,before:o.data?.before,children:o.data?.children?.map(a=>new pm(a.data,t)).filter(Boolean)||[]}}})}static async send({to:e,subject:t,text:i},n){await u.redditAPIPlugins.PrivateMessages.Compose({to:e,subject:t,text:i,fromSr:""},n)}static async sendAsSubreddit({to:e,fromSubredditName:t,subject:i,text:n},o){await u.redditAPIPlugins.PrivateMessages.Compose({to:e,fromSr:t,subject:i,text:n},o)}static async markAllAsRead(e){await u.redditAPIPlugins.PrivateMessages.ReadAllMessages({filterTypes:""},e)}get id(){return s(this,Zi)}get from(){return s(this,Yi)}get body(){return s(this,uo)}get bodyHtml(){return s(this,co)}get created(){return s(this,mo)}async markAsRead(){await u.redditAPIPlugins.PrivateMessages.ReadMessage({id:s(this,Zi)},s(this,po))}};Zi=new WeakMap,Yi=new WeakMap,Vd=new WeakMap,uo=new WeakMap,co=new WeakMap,mo=new WeakMap,po=new WeakMap;var er=pm;var Av=(o=>(o.Reports="reports",o.Spam="spam",o.Modqueue="modqueue",o.Unmoderated="unmoderated",o.Edited="edited",o))(Av||{}),Qi,x,go,fo,ho,vo,yo,bo,Po,ko,So,en,T,Qe=class Qe{constructor(e,t){l(this,Qi,void 0);l(this,x,void 0);l(this,go,void 0);l(this,fo,void 0);l(this,ho,void 0);l(this,vo,void 0);l(this,yo,void 0);l(this,bo,void 0);l(this,Po,void 0);l(this,ko,void 0);l(this,So,void 0);l(this,en,void 0);l(this,T,void 0);V(this),f(e.id,"Subreddit id is missing or undefined"),f(e.displayName,"Subreddit name is missing or undefined"),d(this,Qi,Te(`t5_${e.id}`)),d(this,x,e.displayName),f(e.createdUtc,"Subreddit is missing created date");let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,go,i),d(this,fo,XR(e.subredditType)),d(this,ho,e.title),d(this,vo,e.description),f(e.lang,"Subreddit is missing language"),d(this,yo,e.lang),d(this,bo,e.subscribers??0),d(this,Po,e.activeUserCount??0),d(this,ko,e.over18??!1),d(this,en,e.url??""),d(this,So,{acceptFollowers:e.acceptFollowers??!1,allOriginalContent:e.allOriginalContent??!1,allowChatPostCreation:e.allowChatPostCreation??!1,allowDiscovery:e.allowDiscovery??!1,allowGalleries:e.allowGalleries??!1,allowImages:e.allowImages??!1,allowPolls:e.allowPolls??!1,allowPredictionContributors:e.allowPredictionContributors??!1,allowPredictions:e.allowPredictions??!1,allowPredictionsTournament:e.allowPredictionsTournament??!1,allowTalks:e.allowTalks??!1,allowVideoGifs:e.allowVideogifs??!1,allowVideos:e.allowVideos??!1,chatPostEnabled:e.isChatPostFeatureEnabled??!1,collectionsEnabled:e.collectionsEnabled??!1,crosspostable:e.isCrosspostableSubreddit??!1,emojisEnabled:e.emojisEnabled??!1,eventPostsEnabled:e.eventPostsEnabled??!1,linkFlairEnabled:e.linkFlairEnabled??!1,originalContentTagEnabled:e.originalContentTagEnabled??!1,restrictCommenting:e.restrictCommenting??!1,restrictPosting:e.restrictPosting??!1,shouldArchivePosts:e.shouldArchivePosts??!1,spoilersEnabled:e.spoilersEnabled??!1,wikiEnabled:e.wikiEnabled??!1,allowedPostType:ZR(e.submissionType),allowedMediaInComments:e.allowedMediaInComments.map(YR),bannerBackgroundColor:e.bannerBackgroundColor,bannerBackgroundImage:e.bannerBackgroundImage,bannerImage:e.bannerImg,communityIcon:e.communityIcon,headerTitle:e.headerTitle,mobileBannerImage:e.mobileBannerImage,userFlairs:{enabled:e.userFlairEnabledInSr??!1,usersCanAssign:e.canAssignUserFlair??!1},postFlairs:{enabled:e.linkFlairEnabled??!1,usersCanAssign:e.canAssignLinkFlair??!1},url:new URL(s(this,en),"https://www.reddit.com").toString()}),d(this,T,t)}get id(){return s(this,Qi)}get name(){return s(this,x)}get createdAt(){return s(this,go)}get type(){return s(this,fo)}get title(){return s(this,ho)}get description(){return s(this,vo)}get language(){return s(this,yo)}get numberOfSubscribers(){return s(this,bo)}get numberOfActiveUsers(){return s(this,Po)}get nsfw(){return s(this,ko)}get settings(){return s(this,So)}get userFlairsEnabled(){return this.settings.userFlairs.enabled}get postFlairsEnabled(){return this.settings.postFlairs.enabled}get usersCanAssignUserFlairs(){return this.settings.userFlairs.usersCanAssign}get usersCanAssignPostFlairs(){return this.settings.postFlairs.usersCanAssign}get url(){return this.settings.url}get permalink(){return s(this,en)}toJSON(){return{id:this.id,name:this.name,createdAt:this.createdAt,type:this.type,title:this.title,description:this.description,language:this.language,nsfw:this.nsfw,numberOfSubscribers:this.numberOfSubscribers,numberOfActiveUsers:this.numberOfActiveUsers,settings:this.settings}}async submitPost(e){let t={...e,subredditName:s(this,x)};return z.submit(t,s(this,T))}getControversialPosts(e={}){if(!s(this,x))throw new Error("subreddit missing displayName - it might not have been fetched");return z.getControversialPosts({...e,subredditName:s(this,x)},s(this,T))}getTopPosts(e={}){if(!s(this,x))throw new Error("subreddit missing displayName - it might not have been fetched");return z.getTopPosts({...e,subredditName:s(this,x)},s(this,T))}getApprovedUsers(e={}){return w.getSubredditUsersByType({type:"contributors",subredditName:s(this,x),...e},s(this,T))}approveUser(e){return w.createRelationship({username:e,subredditName:s(this,x),type:"contributor"},s(this,T))}removeUser(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"contributor"},s(this,T))}getWikiContributors(e={}){return w.getSubredditUsersByType({type:"wikicontributors",subredditName:s(this,x),...e},s(this,T))}addWikiContributor(e){return w.createRelationship({username:e,subredditName:s(this,x),type:"wikicontributor"},s(this,T))}removeWikiContributor(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"wikicontributor"},s(this,T))}getBannedUsers(e={}){return w.getSubredditUsersByType({type:"banned",subredditName:s(this,x),...e},s(this,T))}banUser(e){return w.createRelationship({username:e.username,subredditName:s(this,x),type:"banned",banReason:e.reason,banMessage:e.message,note:e.note,duration:e.duration},s(this,T))}unbanUser(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"banned"},s(this,T))}getBannedWikiContributors(e={}){return w.getSubredditUsersByType({type:"wikibanned",subredditName:s(this,x),...e},s(this,T))}banWikiContributor(e){return w.createRelationship({username:e.username,subredditName:s(this,x),type:"wikibanned",banReason:e.reason,note:e.note,duration:e.duration},s(this,T))}unbanWikiContributor(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"wikibanned"},s(this,T))}getModerators(e={}){return w.getSubredditUsersByType({type:"moderators",subredditName:s(this,x),...e},s(this,T))}inviteModerator(e,t){return w.createRelationship({type:"moderator_invite",subredditName:s(this,x),username:e,permissions:t??[]},s(this,T))}revokeModeratorInvite(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"moderator_invite"},s(this,T))}removeModerator(e){return w.removeRelationship({type:"moderator",subredditName:s(this,x),username:e},s(this,T))}setModeratorPermissions(e,t){return w.setModeratorPermissions(e,s(this,x),t,s(this,T))}getMutedUsers(e={}){return w.getSubredditUsersByType({type:"muted",subredditName:s(this,x),...e},s(this,T))}muteUser(e,t){return w.createRelationship({username:e,subredditName:s(this,x),type:"muted",note:t},s(this,T))}unmuteUser(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"muted"},s(this,T))}getModerationLog(e){return Xa({subredditName:s(this,x),...e},s(this,T))}getUserFlairTemplates(){return oe.getUserFlairTemplates(s(this,x),s(this,T))}getPostFlairTemplates(){return oe.getPostFlairTemplates(s(this,x),s(this,T))}createPostFlairTemplate(e){return oe.createPostFlairTemplate({subredditName:s(this,x),...e},s(this,T))}createUserFlairTemplate(e){return oe.createUserFlairTemplate({subredditName:s(this,x),...e},s(this,T))}async getUserFlair(e){if(e?.usernames!==void 0)return{users:await Promise.all(e.usernames.map(async i=>{let n=await Fe.getUserFlairBySubreddit({subreddit:s(this,x),name:i},s(this,T));return xs(n.users[0])}))};{let t=await Fe.getUserFlairBySubreddit({...e,subreddit:s(this,x)},s(this,T));return{next:t.next,prev:t.prev,users:t.users.map(i=>xs(i))}}}getModQueue(e={type:"all"}){return Qe.aboutLocation({...e,location:"modqueue",subreddit:s(this,x)},s(this,T))}getReports(e={type:"all"}){return Qe.aboutLocation({...e,location:"reports",subreddit:s(this,x)},s(this,T))}getSpam(e={type:"all"}){return Qe.aboutLocation({...e,location:"spam",subreddit:s(this,x)},s(this,T))}getUnmoderated(e={type:"all"}){return Qe.aboutLocation({...e,location:"unmoderated",subreddit:s(this,x)},s(this,T))}getEdited(e={type:"all"}){return Qe.aboutLocation({...e,location:"edited",subreddit:s(this,x)},s(this,T))}static aboutLocation(e,t){let i=u.redditAPIPlugins.Moderation,n;switch(e.type){case"post":n="links";break;case"comment":n="comments";break;default:n=void 0}return new H({...e,fetch:async o=>{let a=await i.AboutLocation({...o,...e,only:n},t);return MP(a,t)}})}getCommentsAndPostsByIds(e){let t=u.redditAPIPlugins.LinksAndComments;return new H({fetch:async()=>{let i=await t.Info({thingIds:e,subreddits:[s(this,Qi)]},s(this,T));return MP(i,s(this,T))}})}static async addRemovalReason(e,t,i,n){return(await u.redditAPIPlugins.Subreddits.SubredditAddRemovalReason({title:t,message:i,subreddit:e},n)).id}static async getRemovalReasons(e,t){let n=await u.redditAPIPlugins.Subreddits.SubredditGetRemovalReasons({subreddit:e},t);return n.order.map(o=>({...n.data[o]}))}static async getFromMetadata(e){f(e);let t=e?.[se.Subreddit]?.values[0];return f(t),Qe.getById(Te(t),e)}static async getById(e,t){let o=(await u.redditAPIPlugins.LinksAndComments.Info({thingIds:[e],subreddits:[]},t)).data?.children[0]?.data?.displayName;return f(o),Qe.getByName(o,t)}static async getByName(e,t){let n=await u.redditAPIPlugins.Subreddits.SubredditAbout({subreddit:e},t);if(!n?.data)throw new Error("not found");return new Qe(n.data,t)}};Qi=new WeakMap,x=new WeakMap,go=new WeakMap,fo=new WeakMap,ho=new WeakMap,vo=new WeakMap,yo=new WeakMap,bo=new WeakMap,Po=new WeakMap,ko=new WeakMap,So=new WeakMap,en=new WeakMap,T=new WeakMap;var he=Qe;function XR(r){if(r==="public"||r==="private"||r==="restricted"||r==="employees_only"||r==="gold_restricted"||r==="archived")return r;throw new Error(`invalid subreddit type: ${r}`)}function ZR(r){if(r==="any"||r==="link"||r==="self")return r;throw new Error(`invalid allowed post type: ${r}`)}function YR(r){if(r==="animated"||r==="giphy"||r==="static"||r==="expression")return r;throw new Error(`invalid comment media type: ${r}`)}function MP(r,e){let i=(r.data?.children??[]).map(a=>{let c=n(a);if(c!=null)return c;let p=o(a);return p??null}).filter(Boolean);return{after:r.data?.after,before:r.data?.before,children:i};function n(a){try{return new z(a.data,e)}catch{return null}}function o(a){try{return new K(a.data,e)}catch{return null}}}async function xv(r,e){return UP("GetVaultContactByAddress","3e2f7966a5c120e64fd2795d06a46595c52d988185be98d3ed71c3f81ae80d2e",{provider:"ethereum",address:r},e)}async function Tv(r,e){return UP("GetVaultContactByUserId","a854ddc19d0e22c4f36ed917fdbd568f299f3571427e393aee5e2972080fffe9",{provider:"ethereum",userId:r},e)}async function UP(r,e,t,i){let o=(await Ci.query(r,e,t,i))?.data?.vault?.contact;return{provider:o?.provider,userId:ee(o?.userId),address:o?.address,createdAt:o?.createdAt,isActive:o?.isActive}}import{CommunityListWidget_CommunityData as QR,GetWidgetsResponse_WidgetItem as le}from"@devvit/protos";var Co,Io,wo,Ao,fm=class fm{constructor(e,t,i){l(this,Co,void 0);l(this,Io,void 0);l(this,wo,void 0);l(this,Ao,void 0);V(this),d(this,Co,e.id),d(this,Io,e.shortName),d(this,wo,t),d(this,Ao,i)}get id(){return s(this,Co)}get name(){return s(this,Io)}get subredditName(){return s(this,wo)}toJSON(){return{id:this.id,name:this.name,subredditName:this.subredditName}}delete(){return fm.delete(this.subredditName,this.id,s(this,Ao))}static async getWidgets(e,t){let n=await u.redditAPIPlugins.Widgets.GetWidgets({subreddit:e},t);f(n.layout,"Failed to load widgets for subreddit");let o=n.items,a=[];for(let c of n.layout.sidebar?.order??[]){let p=o[c];switch(p?.kind){case"image":a.push(new Jd(p,e,t));break;case"calendar":a.push(new $d(p,e,t));break;case"textarea":a.push(new Kd(p,e,t));break;case"button":a.push(new Xd(p,e,t));break;case"community-list":a.push(new Zd(p,e,t));break;case"post-flair":a.push(new Yd(p,e,t));break;case"custom":a.push(new Qd(p,e,t));break;case"subreddit-rules":{let g=await u.redditAPIPlugins.Subreddits.SubredditAboutRules({subreddit:e},t);a.push(new gm(g,p,e,t));break}default:throw new Error(`Unknown widget type: ${p.kind}`)}}return a}static async delete(e,t,i){await u.redditAPIPlugins.Widgets.DeleteWidget({subreddit:e,id:t},i)}static async reorder(e,t,i){await u.redditAPIPlugins.Widgets.OrderWidgets({subreddit:e,order:t},i)}static async add(e,t){switch(e?.type){case"image":return Jd.create(e,t);case"calendar":return $d.create(e,t);case"textarea":return Kd.create(e,t);case"button":return Xd.create(e,t);case"community-list":return Zd.create(e,t);case"post-flair":return Yd.create(e,t);case"custom":return Qd.create(e,t);default:throw new Error("Unknown widget type")}}};Co=new WeakMap,Io=new WeakMap,wo=new WeakMap,Ao=new WeakMap;var te=fm,xo,el=class el extends te{constructor(t,i,n){super(t,i,n);l(this,xo,void 0);d(this,xo,t.data.map(o=>(f(o.url,"Image widget data is missing url"),f(o.height,"Image widget data is missing height"),f(o.width,"Image widget data is missing width"),f(o.linkUrl,"Image widget data is missing linkUrl"),{url:o.url,height:o.height,width:o.width,linkUrl:o.linkUrl})))}get images(){return s(this,xo)}toJSON(){return{...super.toJSON(),images:this.images}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddImageWidget(t,i);return new el(le.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateImageWidget(t,i);return new el(le.fromJSON(o),t.subreddit,i)}};xo=new WeakMap;var Jd=el,To,Eo,Ro,tl=class tl extends te{constructor(t,i,n){super(t,i,n);l(this,To,void 0);l(this,Eo,void 0);l(this,Ro,void 0);f(t.googleCalendarId,"Calendar widget data is missing googleCalendarId"),f(t.configuration,"Calendar widget data is missing configuration"),f(t.styles,"Calendar widget data is missing styles"),d(this,To,t.googleCalendarId),d(this,Eo,t.configuration),d(this,Ro,t.styles)}get googleCalendarId(){return s(this,To)}get configuration(){return s(this,Eo)}get styles(){return s(this,Ro)}toJSON(){return{...super.toJSON(),googleCalendarId:this.googleCalendarId,configuration:this.configuration,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddCalendarWidget(t,i);return new tl(le.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCalendarWidget(t,i);return new tl(le.fromJSON(o),t.subreddit,i)}};To=new WeakMap,Eo=new WeakMap,Ro=new WeakMap;var $d=tl,Fo,Oo,rl=class rl extends te{constructor(t,i,n){super(t,i,n);l(this,Fo,void 0);l(this,Oo,void 0);f(t.text,"Textarea widget data is missing text"),f(t.styles,"Textarea widget data is missing styles"),d(this,Fo,t.text),d(this,Oo,t.styles)}get text(){return s(this,Fo)}get styles(){return s(this,Oo)}toJSON(){return{...super.toJSON(),text:this.text,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddTextAreaWidget(t,i);return new rl(le.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateTextAreaWidget(t,i);return new rl(le.fromJSON(o),t.subreddit,i)}};Fo=new WeakMap,Oo=new WeakMap;var Kd=rl,Mo,Uo,Bo,il=class il extends te{constructor(t,i,n){super(t,i,n);l(this,Mo,void 0);l(this,Uo,void 0);l(this,Bo,void 0);f(t.styles,"Button widget data is missing styles"),d(this,Mo,t.buttons),d(this,Uo,t.description??""),d(this,Bo,t.styles)}get buttons(){return s(this,Mo)}get description(){return s(this,Uo)}get styles(){return s(this,Bo)}toJSON(){return{...super.toJSON(),buttons:this.buttons,description:this.description,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddButtonWidget(t,i);return new il(le.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateButtonWidget(t,i);return new il(le.fromJSON(o),t.subreddit,i)}};Mo=new WeakMap,Uo=new WeakMap,Bo=new WeakMap;var Xd=il,Lo,Do,nl=class nl extends te{constructor(t,i,n){super(t,i,n);l(this,Lo,void 0);l(this,Do,void 0);d(this,Lo,t.data.map(o=>QR.fromJSON(o))),f(t.styles,"Community list widget data is missing styles"),d(this,Do,t.styles)}get communities(){return s(this,Lo)}get styles(){return s(this,Do)}toJSON(){return{...super.toJSON(),communities:this.communities,styles:this.styles}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddCommunityListWidget(t,i);return new nl(le.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCommunityListWidget(t,i);return new nl(le.fromJSON(o),t.subreddit,i)}};Lo=new WeakMap,Do=new WeakMap;var Zd=nl,_o,No,qo,sl=class sl extends te{constructor(t,i,n){super(t,i,n);l(this,_o,void 0);l(this,No,void 0);l(this,qo,void 0);if(f(t.styles,"Post flair widget data is missing styles"),d(this,_o,t.styles),d(this,No,t.order.map(o=>t.templates[o])),!(t.display&&t.display==="list"||t.display==="cloud"))throw new Error("Post flair widget data is missing display type");d(this,qo,t.display)}get styles(){return s(this,_o)}get templates(){return s(this,No)}get display(){return s(this,qo)}toJSON(){return{...super.toJSON(),styles:this.styles,templates:this.templates,display:this.display}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddPostFlairWidget(t,i);return new sl(le.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdatePostFlairWidget(t,i);return new sl(le.fromJSON(o),t.subreddit,i)}};_o=new WeakMap,No=new WeakMap,qo=new WeakMap;var Yd=sl,Ho,jo,Wo,Go,zo,ol=class ol extends te{constructor(t,i,n){super(t,i,n);l(this,Ho,void 0);l(this,jo,void 0);l(this,Wo,void 0);l(this,Go,void 0);l(this,zo,void 0);f(t.stylesheetUrl,"Custom widget data is missing stylesheetUrl"),f(t.height,"Custom widget data is missing height"),f(t.css,"Custom widget data is missing css"),d(this,Ho,t.imageData??[]),d(this,jo,t.text??""),d(this,Wo,t.stylesheetUrl),d(this,Go,t.height),d(this,zo,t.css)}get images(){return s(this,Ho)}get text(){return s(this,jo)}get stylesheetUrl(){return s(this,Wo)}get height(){return s(this,Go)}get css(){return s(this,zo)}toJSON(){return{...super.toJSON(),images:this.images,text:this.text,stylesheetUrl:this.stylesheetUrl,height:this.height,css:this.css}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddCustomWidget(t,i);return new ol(le.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCustomWidget(t,i);return new ol(le.fromJSON(o),t.subreddit,i)}};Ho=new WeakMap,jo=new WeakMap,Wo=new WeakMap,Go=new WeakMap,zo=new WeakMap;var Qd=ol,Vo,gm=class extends te{constructor(t,i,n,o){super(i,n,o);l(this,Vo,void 0);let a=t.rules.map(({description:c,priority:p,shortName:g,violationReason:v})=>(f(c,"Subreddit rule is missing description"),f(p,"Subreddit rule is missing priority"),f(g,"Subreddit rule is missing shortName"),f(v,"Subreddit rule is missing violationReason"),{description:c,priority:p,shortName:g,violationReason:v}));d(this,Vo,a)}get rules(){return s(this,Vo)}toJSON(){return{...super.toJSON(),rules:this.rules}}};Vo=new WeakMap;var eF=(i=>(i[i.SUBREDDIT_PERMISSIONS=0]="SUBREDDIT_PERMISSIONS",i[i.APPROVED_CONTRIBUTORS_ONLY=1]="APPROVED_CONTRIBUTORS_ONLY",i[i.MODS_ONLY=2]="MODS_ONLY",i))(eF||{}),ye,be,tn,rn,nn,sn,on,ze,Le=class Le{constructor(e,t,i,n){l(this,ye,void 0);l(this,be,void 0);l(this,tn,void 0);l(this,rn,void 0);l(this,nn,void 0);l(this,sn,void 0);l(this,on,void 0);l(this,ze,void 0);V(this),d(this,ye,e),d(this,be,t),d(this,tn,i.contentMd),d(this,rn,i.revisionId),d(this,nn,new Date(i.revisionDate)),d(this,sn,i.reason??""),f(i.revisionBy?.data,"Wiki page author details are missing"),d(this,on,new w(i.revisionBy.data,n)),d(this,ze,n)}get name(){return s(this,ye)}get subredditName(){return s(this,be)}get content(){return s(this,tn)}get revisionId(){return s(this,rn)}get revisionDate(){return s(this,nn)}get revisionReason(){return s(this,sn)}get revisionAuthor(){return s(this,on)}toJSON(){return{name:s(this,ye),subredditName:s(this,be),content:s(this,tn),revisionId:s(this,rn),revisionDate:s(this,nn),revisionReason:s(this,sn),revisionAuthor:s(this,on).toJSON()}}async update(e,t){return Le.updatePage({subredditName:s(this,be),page:s(this,ye),content:e,reason:t},s(this,ze))}async getRevisions(e){return Le.getPageRevisions({subredditName:s(this,be),page:s(this,ye),...e},s(this,ze))}async revertTo(e){return Le.revertPage(s(this,be),s(this,ye),e,s(this,ze))}async getSettings(){return Le.getPageSettings(s(this,be),s(this,ye),s(this,ze))}async updateSettings(e){return Le.updatePageSettings({subredditName:s(this,be),page:s(this,ye),listed:e.listed,permLevel:e.permLevel},s(this,ze))}async addEditor(e){return Le.addEditor(s(this,be),s(this,ye),e,s(this,ze))}async removeEditor(e){return Le.removeEditor(s(this,be),s(this,ye),e,s(this,ze))}static async getPage(e,t,i){let o=await u.redditAPIPlugins.Wiki.GetWikiPage({subreddit:e,page:t},i);return f(o.data,"Failed to get wiki page"),new Le(t,e,o.data,i)}static async getPages(e,t){return(await u.redditAPIPlugins.Wiki.GetWikiPages({subreddit:e},t)).data||[]}static async createPage(e,t){return Le.updatePage(e,t)}static async updatePage(e,t){return await u.redditAPIPlugins.Wiki.EditWikiPage({subreddit:e.subredditName,page:e.page,content:e.content,reason:e.reason??""},t),Le.getPage(e.subredditName,e.page,t)}static getPageRevisions(e,t){let i=u.redditAPIPlugins.Wiki;return new H({hasMore:!0,after:e.after,limit:e.limit,pageSize:e.pageSize,async fetch(n){let o=await i.GetWikiPageRevisions({subreddit:e.subredditName,page:e.page,limit:n.limit,after:n.after,before:n.before},t);return tF(o,t)}})}static async revertPage(e,t,i,n){await u.redditAPIPlugins.Wiki.RevertWikiPage({subreddit:e,page:t,revision:i},n)}static async getPageSettings(e,t,i){let o=await u.redditAPIPlugins.Wiki.GetWikiPageSettings({subreddit:e,page:t},i);return f(o.data,"Failed to get wiki page settings"),new al(o.data,i)}static async updatePageSettings(e,t){let n=await u.redditAPIPlugins.Wiki.UpdateWikiPageSettings({subreddit:e.subredditName,page:e.page,listed:e.listed?"on":"",permlevel:e.permLevel},t);return f(n.data,"Failed to update wiki page settings"),new al(n.data,t)}static async addEditor(e,t,i,n){await u.redditAPIPlugins.Wiki.AllowEditor({act:"add",subreddit:e,page:t,username:i},n)}static async removeEditor(e,t,i,n){await u.redditAPIPlugins.Wiki.AllowEditor({act:"del",subreddit:e,page:t,username:i},n)}};ye=new WeakMap,be=new WeakMap,tn=new WeakMap,rn=new WeakMap,nn=new WeakMap,sn=new WeakMap,on=new WeakMap,ze=new WeakMap;var ve=Le,an,dn,ln,un,cn,mn,hm=class{constructor(e,t){l(this,an,void 0);l(this,dn,void 0);l(this,ln,void 0);l(this,un,void 0);l(this,cn,void 0);l(this,mn,void 0);d(this,an,e.id),d(this,dn,e.page),d(this,ln,new Date(e.timestamp)),f(e.author?.data,"Wiki page revision author details are missing"),d(this,un,new w(e.author.data,t)),d(this,cn,e.reason??""),d(this,mn,e.revisionHidden??!1)}get id(){return s(this,an)}get page(){return s(this,dn)}get date(){return s(this,ln)}get author(){return s(this,un)}get reason(){return s(this,cn)}get hidden(){return s(this,mn)}toJSON(){return{id:s(this,an),page:s(this,dn),date:s(this,ln),author:s(this,un).toJSON(),reason:s(this,cn),hidden:s(this,mn)}}};an=new WeakMap,dn=new WeakMap,ln=new WeakMap,un=new WeakMap,cn=new WeakMap,mn=new WeakMap;var pn,gn,fn,al=class{constructor(e,t){l(this,pn,void 0);l(this,gn,void 0);l(this,fn,void 0);d(this,pn,e.listed),d(this,gn,e.permLevel),d(this,fn,e.editors.map(i=>(f(i.data,"Wiki page editor details are missing"),new w(i.data,t))))}get listed(){return s(this,pn)}get permLevel(){return s(this,gn)}get editors(){return s(this,fn)}toJSON(){return{listed:s(this,pn),permLevel:s(this,gn),editors:s(this,fn).map(e=>e.toJSON())}}};pn=new WeakMap,gn=new WeakMap,fn=new WeakMap;function tF(r,e){return f(r.data?.children,"Wiki page revision listing is missing children"),{children:r.data.children.map(i=>new hm(i,e)),before:r.data.before,after:r.data.after}}var rF=(t=>(t.Gallery="GALLERY",t.Timeline="TIMELINE",t))(rF||{});function iF(r){return r==="GALLERY"?"GALLERY":"TIMELINE"}var De,Pe,$o,hn,vn,Ko,Xo,Zo,Yo,mt,Qo,ea,yn,Jo=class Jo{constructor(e,t){l(this,De,void 0);l(this,Pe,void 0);l(this,$o,void 0);l(this,hn,void 0);l(this,vn,void 0);l(this,Ko,void 0);l(this,Xo,void 0);l(this,Zo,void 0);l(this,Yo,void 0);l(this,mt,void 0);l(this,Qo,void 0);l(this,ea,void 0);l(this,yn,void 0);f(e.collectionId,"Collection Id is missing or undefined"),f(e.subredditId,"Subreddit Id is missing or undefined"),f(e.title,"Collection title is missing or undefined"),f(e.authorId,"Collection author's id is missing or undefined"),f(e.authorName,"Collection author's id is missing or undefined"),f(e.createdAtUtc,"Collection create timestamp is missing"),f(e.lastUpdateUtc,"Collection last updated timestamp is missing"),d(this,De,t),d(this,Pe,e.collectionId),d(this,$o,e.subredditId),d(this,hn,e.title),d(this,vn,e.description||""),d(this,Ko,e.authorId),d(this,Xo,e.authorName),d(this,Zo,e.permalink),d(this,Yo,e.primaryLinkId),d(this,mt,e.linkIds||[]),d(this,yn,iF(e.displayLayout)),d(this,Qo,e.createdAtUtc),d(this,ea,e.lastUpdateUtc),V(this)}get id(){return s(this,Pe)}get subredditId(){return s(this,$o)}get title(){return s(this,hn)}get description(){return s(this,vn)}get authorId(){return s(this,Ko)}get authorName(){return s(this,Xo)}get permalink(){return s(this,Zo)}get primaryLinkId(){return s(this,Yo)}get linkIds(){return s(this,mt)}get createdAtUtc(){return s(this,Qo)}get lastUpdateUtc(){return s(this,ea)}get displayLayout(){return s(this,yn)}static async getCollectionById(e,t){let n=await u.redditAPIPlugins.PostCollections.Collection(e,t);return new Jo(n,t)}static async create(e,t){let n=await u.redditAPIPlugins.PostCollections.Create({srFullname:e.subredditId,title:e.title,description:e.description,displayLayout:e.displayLayout},t);return new Jo(n,t)}static async getCollectionsForSubreddit(e,t){return(await u.redditapiv2Plugin.GetSubredditCollections({srFullname:e.subredditId},t)).collections.map(n=>new Jo(n,t))}async addPost(e){await u.redditAPIPlugins.PostCollections.AddPost({collectionId:s(this,Pe),linkFullname:e},s(this,De)),s(this,mt).push(e)}async removePost(e){await u.redditAPIPlugins.PostCollections.RemovePost({collectionId:s(this,Pe),linkFullname:e},s(this,De)),d(this,mt,s(this,mt).filter(i=>i!==e))}async delete(){await u.redditAPIPlugins.PostCollections.Delete({collectionId:s(this,Pe)},s(this,De))}async follow(e){await u.redditAPIPlugins.PostCollections.Follow({collectionId:s(this,Pe),follow:e},s(this,De))}async reorder(e){await u.redditAPIPlugins.PostCollections.Reorder({collectionId:s(this,Pe),linkIds:e.join(",")},s(this,De)),d(this,mt,e)}async updateTitle(e){await u.redditAPIPlugins.PostCollections.UpdateTitle({collectionId:s(this,Pe),title:e},s(this,De)),d(this,hn,e)}async updateDescription(e){await u.redditAPIPlugins.PostCollections.UpdateDescription({collectionId:s(this,Pe),description:e},s(this,De)),d(this,vn,e)}async updateLayout(e){await u.redditAPIPlugins.PostCollections.UpdateDisplayLayout({collectionId:s(this,Pe),displayLayout:e},s(this,De)),d(this,yn,e)}};De=new WeakMap,Pe=new WeakMap,$o=new WeakMap,hn=new WeakMap,vn=new WeakMap,Ko=new WeakMap,Xo=new WeakMap,Zo=new WeakMap,Yo=new WeakMap,mt=new WeakMap,Qo=new WeakMap,ea=new WeakMap,yn=new WeakMap;var zr=Jo;var nF=["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"],sF=["border-image","border-image-source","behavior","expression","list-style-image","cursor","content"],oF=["onload","onerror","onclick","onmouseover"];function aF(r){return/xmlns=["']http:\/\/www\.w3\.org\/2000\/svg["']/.test(r)?r:r.replace(/<svg\b/,'<svg xmlns="http://www.w3.org/2000/svg"')}function BP(r){if(r){if(!r.trim().startsWith("<svg")){console.log("The provided string is not a valid SVG.");return}try{let e=new RegExp(`<\\s*(${nF.join("|")})\\b`,"gi"),t=new RegExp(`(${sF.join("|")})\\s*:\\s*url\\s*\\((['"]?)(.*?)\\2\\)`,"gi"),i=new RegExp(`(${oF.join("|")})\\s*(=\\s*(['"]?)(.*?)\\3)?`,"gi");r=r.trim().replace(/\s+/g," "),r=aF(r);let n=r.match(e)||[],o=r.match(t)||[],a=r.match(i)||[],c=!1;return n.length>0&&(c=!0,console.warn(`Disallowed elements detected in SVG: ${n.map(p=>p.replace("<","")).join(", ")}`)),o.length>0&&(c=!0,console.warn(`Disallowed styles detected in SVG: ${o.map(p=>p.split(":")[0]).join(", ")}`)),a.length>0&&(c=!0,console.warn(`Disallowed attributes detected in SVG: ${a.map(p=>p.split("=")[0]).join(", ")}`)),c?void 0:r}catch{return}}}function Eq(r,...e){let t="";return r.forEach((i,n)=>{t+=i;let o=e[n];o!==void 0&&(t+=`${o}`)}),t=BP(t),t===void 0?"":`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(t)}`}var Wt,ta,bn,vm=class{constructor(e,t){l(this,Wt,void 0);l(this,ta,void 0);l(this,bn,void 0);console.debug("useAsync v1"),this.state={data:null,loading:!1,error:null},d(this,Wt,t.hookId),d(this,ta,e),d(this,bn,t.changed)}onLoad(e){if(console.debug("async onLoad ",s(this,Wt),this.state),this.state.data===null&&this.state.error===null&&this.state.loading===!1){this.state.loading=!0,s(this,bn).call(this);let t={hook:s(this,Wt),async:!0,asyncRequest:{requestId:s(this,Wt)}};console.debug("onLoad requeue"),e.addToRequeueEvents(t)}}async onUIEvent(e,t){if(e.asyncRequest){let i={requestId:e.asyncRequest.requestId};try{i.data={value:await s(this,ta).call(this)}}catch(o){o instanceof Error?i.error={message:o.message,details:o.stack??""}:i.error={message:"Unknown error",details:String(o)}}let n={asyncResponse:i,hook:s(this,Wt)};console.debug("onReq requeue"),t.addToRequeueEvents(n)}else if(e.asyncResponse){let i={data:e.asyncResponse.data?.value,loading:!1,error:e.asyncResponse.error??null};this.state=i,s(this,bn).call(this)}else throw new Error("Unknown event type")}};Wt=new WeakMap,ta=new WeakMap,bn=new WeakMap;function dF(r){return Ze({namespace:"useAsync"},t=>new vm(r,t)).state}export{EM as ALL_ICON_NAMES,Av as AboutLocations,Xd as ButtonWidget,$d as CalendarWidget,rF as CollectionDisplayLayout,K as Comment,Zd as CommunityListWidget,Qd as CustomWidget,u as Devvit,Fe as Flair,oe as FlairTemplate,FR as FlairType,vt as Hook,Jd as ImageWidget,H as Listing,$R as ModMailActionType,VR as ModMailConversationState,Za as ModMailService,Re as ModNote,z as Post,zr as PostCollection,Yd as PostFlairWidget,er as PrivateMessage,Cs as RichTextBuilder,ac as SettingScope,he as Subreddit,gm as SubredditRulesWidget,Kd as TextAreaWidget,w as User,te as Widget,ve as WikiPage,eF as WikiPagePermissionLevel,hm as WikiPageRevision,al as WikiPageSettings,xs as convertUserFlairProtoToAPI,Xa as getModerationLog,xv as getVaultByAddress,Tv as getVaultByUserId,Eq as svg,dF as useAsync,yR as useAsyncState,Zc as useForm,Kc as useInterval,Vc as useState};
6
6
  /*! Bundled license information: