@devvit/public-api 0.11.0-next-2024-08-08-4750f1ee5.0 → 0.11.0-next-2024-08-08-8533229b2.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,8 +1,8 @@
1
- var SS=Object.create;var Lm=Object.defineProperty;var PS=Object.getOwnPropertyDescriptor;var CS=Object.getOwnPropertyNames;var IS=Object.getPrototypeOf,wS=Object.prototype.hasOwnProperty;var Um=r=>{throw TypeError(r)};var h=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var xS=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of CS(e))!wS.call(r,n)&&n!==t&&Lm(r,n,{get:()=>e[n],enumerable:!(i=PS(e,n))||i.enumerable});return r};var _n=(r,e,t)=>(t=r!=null?SS(IS(r)):{},xS(e||!r||!r.__esModule?Lm(t,"default",{value:r,enumerable:!0}):t,r));var pl=(r,e,t)=>e.has(r)||Um("Cannot "+t);var s=(r,e,t)=>(pl(r,e,"read from private field"),t?t.call(r):e.get(r)),l=(r,e,t)=>e.has(r)?Um("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),d=(r,e,t,i)=>(pl(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),S=(r,e,t)=>(pl(r,e,"access private method"),t);var ae=h((eF,Bm)=>{Bm.exports=function(r){try{return!!r()}catch{return!0}}});var ba=h((tF,Dm)=>{var AS=ae();Dm.exports=!AS(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var Z=h((rF,qm)=>{var _m=ba(),Nm=Function.prototype,fl=Nm.call,TS=_m&&Nm.bind.bind(fl,fl);qm.exports=_m?TS:function(r){return function(){return fl.apply(r,arguments)}}});var jm=h((iF,Hm)=>{var ES=Math.ceil,RS=Math.floor;Hm.exports=Math.trunc||function(e){var t=+e;return(t>0?RS:ES)(t)}});var ka=h((nF,Wm)=>{var OS=jm();Wm.exports=function(r){var e=+r;return e!==e||e===0?0:OS(e)}});var me=h((sF,Gm)=>{var Sa=function(r){return r&&r.Math==Math&&r};Gm.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 jr=h((oF,Vm)=>{Vm.exports=!1});var Pa=h((aF,Jm)=>{var zm=me(),FS=Object.defineProperty;Jm.exports=function(r,e){try{FS(zm,r,{value:e,configurable:!0,writable:!0})}catch{zm[r]=e}return e}});var Ca=h((dF,Km)=>{var MS=me(),LS=Pa(),$m="__core-js_shared__",US=MS[$m]||LS($m,{});Km.exports=US});var gl=h((lF,Zm)=>{var BS=jr(),Xm=Ca();(Zm.exports=function(r,e){return Xm[r]||(Xm[r]=e!==void 0?e:{})})("versions",[]).push({version:"3.27.2",mode:BS?"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 Ia=h((uF,Ym)=>{Ym.exports=function(r){return r==null}});var wa=h((cF,Qm)=>{var DS=Ia(),_S=TypeError;Qm.exports=function(r){if(DS(r))throw _S("Can't call method on "+r);return r}});var Nn=h((mF,ep)=>{var NS=wa(),qS=Object;ep.exports=function(r){return qS(NS(r))}});var Ie=h((pF,tp)=>{var HS=Z(),jS=Nn(),WS=HS({}.hasOwnProperty);tp.exports=Object.hasOwn||function(e,t){return WS(jS(e),t)}});var hl=h((fF,rp)=>{var GS=Z(),VS=0,zS=Math.random(),JS=GS(1 .toString);rp.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+JS(++VS+zS,36)}});var np=h((gF,ip)=>{ip.exports=typeof navigator<"u"&&String(navigator.userAgent)||""});var cp=h((hF,up)=>{var lp=me(),vl=np(),sp=lp.process,op=lp.Deno,ap=sp&&sp.versions||op&&op.version,dp=ap&&ap.v8,We,xa;dp&&(We=dp.split("."),xa=We[0]>0&&We[0]<4?1:+(We[0]+We[1]));!xa&&vl&&(We=vl.match(/Edge\/(\d+)/),(!We||We[1]>=74)&&(We=vl.match(/Chrome\/(\d+)/),We&&(xa=+We[1])));up.exports=xa});var yl=h((vF,pp)=>{var mp=cp(),$S=ae();pp.exports=!!Object.getOwnPropertySymbols&&!$S(function(){var r=Symbol();return!String(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&mp&&mp<41})});var bl=h((yF,fp)=>{var KS=yl();fp.exports=KS&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var we=h((bF,hp)=>{var XS=me(),ZS=gl(),gp=Ie(),YS=hl(),QS=yl(),eP=bl(),Wr=XS.Symbol,kl=ZS("wks"),tP=eP?Wr.for||Wr:Wr&&Wr.withoutSetter||YS;hp.exports=function(r){return gp(kl,r)||(kl[r]=QS&&gp(Wr,r)?Wr[r]:tP("Symbol."+r)),kl[r]}});var bp=h((kF,yp)=>{var rP=we(),iP=rP("toStringTag"),vp={};vp[iP]="z";yp.exports=String(vp)==="[object z]"});var Pl=h((SF,kp)=>{var Sl=typeof document=="object"&&document.all,nP=typeof Sl>"u"&&Sl!==void 0;kp.exports={all:Sl,IS_HTMLDDA:nP}});var Y=h((PF,Pp)=>{var Sp=Pl(),sP=Sp.all;Pp.exports=Sp.IS_HTMLDDA?function(r){return typeof r=="function"||r===sP}:function(r){return typeof r=="function"}});var Aa=h((CF,Ip)=>{var Cp=Z(),oP=Cp({}.toString),aP=Cp("".slice);Ip.exports=function(r){return aP(oP(r),8,-1)}});var qn=h((IF,wp)=>{var dP=bp(),lP=Y(),Ta=Aa(),uP=we(),cP=uP("toStringTag"),mP=Object,pP=Ta(function(){return arguments}())=="Arguments",fP=function(r,e){try{return r[e]}catch{}};wp.exports=dP?Ta:function(r){var e,t,i;return r===void 0?"Undefined":r===null?"Null":typeof(t=fP(e=mP(r),cP))=="string"?t:pP?Ta(e):(i=Ta(e))=="Object"&&lP(e.callee)?"Arguments":i}});var Hn=h((wF,xp)=>{var gP=qn(),hP=String;xp.exports=function(r){if(gP(r)==="Symbol")throw TypeError("Cannot convert a Symbol value to a string");return hP(r)}});var Il=h((xF,Ep)=>{var Cl=Z(),vP=ka(),yP=Hn(),bP=wa(),kP=Cl("".charAt),Ap=Cl("".charCodeAt),SP=Cl("".slice),Tp=function(r){return function(e,t){var i=yP(bP(e)),n=vP(t),o=i.length,a,c;return n<0||n>=o?r?"":void 0:(a=Ap(i,n),a<55296||a>56319||n+1===o||(c=Ap(i,n+1))<56320||c>57343?r?kP(i,n):a:r?SP(i,n,n+2):(a-55296<<10)+(c-56320)+65536)}};Ep.exports={codeAt:Tp(!1),charAt:Tp(!0)}});var Fp=h((AF,Op)=>{var PP=me(),CP=Y(),Rp=PP.WeakMap;Op.exports=CP(Rp)&&/native code/.test(String(Rp))});var It=h((TF,Up)=>{var Mp=Y(),Lp=Pl(),IP=Lp.all;Up.exports=Lp.IS_HTMLDDA?function(r){return typeof r=="object"?r!==null:Mp(r)||r===IP}:function(r){return typeof r=="object"?r!==null:Mp(r)}});var pe=h((EF,Bp)=>{var wP=ae();Bp.exports=!wP(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var xl=h((RF,_p)=>{var xP=me(),Dp=It(),wl=xP.document,AP=Dp(wl)&&Dp(wl.createElement);_p.exports=function(r){return AP?wl.createElement(r):{}}});var Al=h((OF,Np)=>{var TP=pe(),EP=ae(),RP=xl();Np.exports=!TP&&!EP(function(){return Object.defineProperty(RP("div"),"a",{get:function(){return 7}}).a!=7})});var Tl=h((FF,qp)=>{var OP=pe(),FP=ae();qp.exports=OP&&FP(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Qe=h((MF,Hp)=>{var MP=It(),LP=String,UP=TypeError;Hp.exports=function(r){if(MP(r))return r;throw UP(LP(r)+" is not an object")}});var Ge=h((LF,jp)=>{var BP=ba(),Ea=Function.prototype.call;jp.exports=BP?Ea.bind(Ea):function(){return Ea.apply(Ea,arguments)}});var jn=h((UF,Wp)=>{var El=me(),DP=Y(),_P=function(r){return DP(r)?r:void 0};Wp.exports=function(r,e){return arguments.length<2?_P(El[r]):El[r]&&El[r][e]}});var Rl=h((BF,Gp)=>{var NP=Z();Gp.exports=NP({}.isPrototypeOf)});var Ol=h((DF,Vp)=>{var qP=jn(),HP=Y(),jP=Rl(),WP=bl(),GP=Object;Vp.exports=WP?function(r){return typeof r=="symbol"}:function(r){var e=qP("Symbol");return HP(e)&&jP(e.prototype,GP(r))}});var Fl=h((_F,zp)=>{var VP=String;zp.exports=function(r){try{return VP(r)}catch{return"Object"}}});var Ra=h((NF,Jp)=>{var zP=Y(),JP=Fl(),$P=TypeError;Jp.exports=function(r){if(zP(r))return r;throw $P(JP(r)+" is not a function")}});var Oa=h((qF,$p)=>{var KP=Ra(),XP=Ia();$p.exports=function(r,e){var t=r[e];return XP(t)?void 0:KP(t)}});var Xp=h((HF,Kp)=>{var Ml=Ge(),Ll=Y(),Ul=It(),ZP=TypeError;Kp.exports=function(r,e){var t,i;if(e==="string"&&Ll(t=r.toString)&&!Ul(i=Ml(t,r))||Ll(t=r.valueOf)&&!Ul(i=Ml(t,r))||e!=="string"&&Ll(t=r.toString)&&!Ul(i=Ml(t,r)))return i;throw ZP("Can't convert object to primitive value")}});var ef=h((jF,Qp)=>{var YP=Ge(),Zp=It(),Yp=Ol(),QP=Oa(),eC=Xp(),tC=we(),rC=TypeError,iC=tC("toPrimitive");Qp.exports=function(r,e){if(!Zp(r)||Yp(r))return r;var t=QP(r,iC),i;if(t){if(e===void 0&&(e="default"),i=YP(t,r,e),!Zp(i)||Yp(i))return i;throw rC("Can't convert object to primitive value")}return e===void 0&&(e="number"),eC(r,e)}});var Fa=h((WF,tf)=>{var nC=ef(),sC=Ol();tf.exports=function(r){var e=nC(r,"string");return sC(e)?e:e+""}});var et=h(nf=>{var oC=pe(),aC=Al(),dC=Tl(),Ma=Qe(),rf=Fa(),lC=TypeError,Bl=Object.defineProperty,uC=Object.getOwnPropertyDescriptor,Dl="enumerable",_l="configurable",Nl="writable";nf.f=oC?dC?function(e,t,i){if(Ma(e),t=rf(t),Ma(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Nl in i&&!i[Nl]){var n=uC(e,t);n&&n[Nl]&&(e[t]=i.value,i={configurable:_l in i?i[_l]:n[_l],enumerable:Dl in i?i[Dl]:n[Dl],writable:!1})}return Bl(e,t,i)}:Bl:function(e,t,i){if(Ma(e),t=rf(t),Ma(i),aC)try{return Bl(e,t,i)}catch{}if("get"in i||"set"in i)throw lC("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var Gr=h((VF,sf)=>{sf.exports=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}}});var La=h((zF,of)=>{var cC=pe(),mC=et(),pC=Gr();of.exports=cC?function(r,e,t){return mC.f(r,e,pC(1,t))}:function(r,e,t){return r[e]=t,r}});var Ua=h((JF,df)=>{var fC=gl(),gC=hl(),af=fC("keys");df.exports=function(r){return af[r]||(af[r]=gC(r))}});var Ba=h(($F,lf)=>{lf.exports={}});var Vr=h((KF,mf)=>{var hC=Fp(),cf=me(),vC=It(),yC=La(),ql=Ie(),Hl=Ca(),bC=Ua(),kC=Ba(),uf="Object already initialized",jl=cf.TypeError,SC=cf.WeakMap,Da,Wn,_a,PC=function(r){return _a(r)?Wn(r):Da(r,{})},CC=function(r){return function(e){var t;if(!vC(e)||(t=Wn(e)).type!==r)throw jl("Incompatible receiver, "+r+" required");return t}};hC||Hl.state?(Ve=Hl.state||(Hl.state=new SC),Ve.get=Ve.get,Ve.has=Ve.has,Ve.set=Ve.set,Da=function(r,e){if(Ve.has(r))throw jl(uf);return e.facade=r,Ve.set(r,e),e},Wn=function(r){return Ve.get(r)||{}},_a=function(r){return Ve.has(r)}):(nr=bC("state"),kC[nr]=!0,Da=function(r,e){if(ql(r,nr))throw jl(uf);return e.facade=r,yC(r,nr,e),e},Wn=function(r){return ql(r,nr)?r[nr]:{}},_a=function(r){return ql(r,nr)});var Ve,nr;mf.exports={set:Da,get:Wn,has:_a,enforce:PC,getterFor:CC}});var Wl=h(gf=>{"use strict";var pf={}.propertyIsEnumerable,ff=Object.getOwnPropertyDescriptor,IC=ff&&!pf.call({1:2},1);gf.f=IC?function(e){var t=ff(this,e);return!!t&&t.enumerable}:pf});var Vl=h((ZF,hf)=>{var wC=Z(),xC=ae(),AC=Aa(),Gl=Object,TC=wC("".split);hf.exports=xC(function(){return!Gl("z").propertyIsEnumerable(0)})?function(r){return AC(r)=="String"?TC(r,""):Gl(r)}:Gl});var zr=h((YF,vf)=>{var EC=Vl(),RC=wa();vf.exports=function(r){return EC(RC(r))}});var zl=h(bf=>{var OC=pe(),FC=Ge(),MC=Wl(),LC=Gr(),UC=zr(),BC=Fa(),DC=Ie(),_C=Al(),yf=Object.getOwnPropertyDescriptor;bf.f=OC?yf:function(e,t){if(e=UC(e),t=BC(t),_C)try{return yf(e,t)}catch{}if(DC(e,t))return LC(!FC(MC.f,e,t),e[t])}});var Kl=h((eM,Sf)=>{var Jl=pe(),NC=Ie(),kf=Function.prototype,qC=Jl&&Object.getOwnPropertyDescriptor,$l=NC(kf,"name"),HC=$l&&function(){}.name==="something",jC=$l&&(!Jl||Jl&&qC(kf,"name").configurable);Sf.exports={EXISTS:$l,PROPER:HC,CONFIGURABLE:jC}});var Zl=h((tM,Pf)=>{var WC=Z(),GC=Y(),Xl=Ca(),VC=WC(Function.toString);GC(Xl.inspectSource)||(Xl.inspectSource=function(r){return VC(r)});Pf.exports=Xl.inspectSource});var eu=h((rM,wf)=>{var Ql=Z(),zC=ae(),JC=Y(),Na=Ie(),Yl=pe(),$C=Kl().CONFIGURABLE,KC=Zl(),If=Vr(),XC=If.enforce,ZC=If.get,Cf=String,qa=Object.defineProperty,YC=Ql("".slice),QC=Ql("".replace),eI=Ql([].join),tI=Yl&&!zC(function(){return qa(function(){},"length",{value:8}).length!==8}),rI=String(String).split("String"),iI=wf.exports=function(r,e,t){YC(Cf(e),0,7)==="Symbol("&&(e="["+QC(Cf(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),t&&t.getter&&(e="get "+e),t&&t.setter&&(e="set "+e),(!Na(r,"name")||$C&&r.name!==e)&&(Yl?qa(r,"name",{value:e,configurable:!0}):r.name=e),tI&&t&&Na(t,"arity")&&r.length!==t.arity&&qa(r,"length",{value:t.arity});try{t&&Na(t,"constructor")&&t.constructor?Yl&&qa(r,"prototype",{writable:!1}):r.prototype&&(r.prototype=void 0)}catch{}var i=XC(r);return Na(i,"source")||(i.source=eI(rI,typeof e=="string"?e:"")),r};Function.prototype.toString=iI(function(){return JC(this)&&ZC(this).source||KC(this)},"toString")});var sr=h((iM,xf)=>{var nI=Y(),sI=et(),oI=eu(),aI=Pa();xf.exports=function(r,e,t,i){i||(i={});var n=i.enumerable,o=i.name!==void 0?i.name:e;if(nI(t)&&oI(t,o,i),i.global)n?r[e]=t:aI(e,t);else{try{i.unsafe?r[e]&&(n=!0):delete r[e]}catch{}n?r[e]=t:sI.f(r,e,{value:t,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return r}});var tu=h((nM,Af)=>{var dI=ka(),lI=Math.max,uI=Math.min;Af.exports=function(r,e){var t=dI(r);return t<0?lI(t+e,0):uI(t,e)}});var Ef=h((sM,Tf)=>{var cI=ka(),mI=Math.min;Tf.exports=function(r){return r>0?mI(cI(r),9007199254740991):0}});var Ha=h((oM,Rf)=>{var pI=Ef();Rf.exports=function(r){return pI(r.length)}});var Mf=h((aM,Ff)=>{var fI=zr(),gI=tu(),hI=Ha(),Of=function(r){return function(e,t,i){var n=fI(e),o=hI(n),a=gI(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}};Ff.exports={includes:Of(!0),indexOf:Of(!1)}});var iu=h((dM,Uf)=>{var vI=Z(),ru=Ie(),yI=zr(),bI=Mf().indexOf,kI=Ba(),Lf=vI([].push);Uf.exports=function(r,e){var t=yI(r),i=0,n=[],o;for(o in t)!ru(kI,o)&&ru(t,o)&&Lf(n,o);for(;e.length>i;)ru(t,o=e[i++])&&(~bI(n,o)||Lf(n,o));return n}});var ja=h((lM,Bf)=>{Bf.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var _f=h(Df=>{var SI=iu(),PI=ja(),CI=PI.concat("length","prototype");Df.f=Object.getOwnPropertyNames||function(e){return SI(e,CI)}});var nu=h(Nf=>{Nf.f=Object.getOwnPropertySymbols});var Hf=h((mM,qf)=>{var II=jn(),wI=Z(),xI=_f(),AI=nu(),TI=Qe(),EI=wI([].concat);qf.exports=II("Reflect","ownKeys")||function(e){var t=xI.f(TI(e)),i=AI.f;return i?EI(t,i(e)):t}});var Gf=h((pM,Wf)=>{var jf=Ie(),RI=Hf(),OI=zl(),FI=et();Wf.exports=function(r,e,t){for(var i=RI(e),n=FI.f,o=OI.f,a=0;a<i.length;a++){var c=i[a];!jf(r,c)&&!(t&&jf(t,c))&&n(r,c,o(e,c))}}});var zf=h((fM,Vf)=>{var MI=ae(),LI=Y(),UI=/#|\.prototype\./,Gn=function(r,e){var t=DI[BI(r)];return t==NI?!0:t==_I?!1:LI(e)?MI(e):!!e},BI=Gn.normalize=function(r){return String(r).replace(UI,".").toLowerCase()},DI=Gn.data={},_I=Gn.NATIVE="N",NI=Gn.POLYFILL="P";Vf.exports=Gn});var Vn=h((gM,Jf)=>{var su=me(),qI=zl().f,HI=La(),jI=sr(),WI=Pa(),GI=Gf(),VI=zf();Jf.exports=function(r,e){var t=r.target,i=r.global,n=r.stat,o,a,c,p,f,v;if(i?a=su:n?a=su[t]||WI(t,{}):a=(su[t]||{}).prototype,a)for(c in e){if(f=e[c],r.dontCallGetSet?(v=qI(a,c),p=v&&v.value):p=a[c],o=VI(i?c:t+(n?".":"#")+c,r.forced),!o&&p!==void 0){if(typeof f==typeof p)continue;GI(f,p)}(r.sham||p&&p.sham)&&HI(f,"sham",!0),jI(a,c,f,r)}}});var ou=h((hM,$f)=>{var zI=iu(),JI=ja();$f.exports=Object.keys||function(e){return zI(e,JI)}});var Xf=h(Kf=>{var $I=pe(),KI=Tl(),XI=et(),ZI=Qe(),YI=zr(),QI=ou();Kf.f=$I&&!KI?Object.defineProperties:function(e,t){ZI(e);for(var i=YI(t),n=QI(t),o=n.length,a=0,c;o>a;)XI.f(e,c=n[a++],i[c]);return e}});var Yf=h((yM,Zf)=>{var ew=jn();Zf.exports=ew("document","documentElement")});var zn=h((bM,sg)=>{var tw=Qe(),rw=Xf(),Qf=ja(),iw=Ba(),nw=Yf(),sw=xl(),ow=Ua(),eg=">",tg="<",du="prototype",lu="script",ig=ow("IE_PROTO"),au=function(){},ng=function(r){return tg+lu+eg+r+tg+"/"+lu+eg},rg=function(r){r.write(ng("")),r.close();var e=r.parentWindow.Object;return r=null,e},aw=function(){var r=sw("iframe"),e="java"+lu+":",t;return r.style.display="none",nw.appendChild(r),r.src=String(e),t=r.contentWindow.document,t.open(),t.write(ng("document.F=Object")),t.close(),t.F},Wa,Ga=function(){try{Wa=new ActiveXObject("htmlfile")}catch{}Ga=typeof document<"u"?document.domain&&Wa?rg(Wa):aw():rg(Wa);for(var r=Qf.length;r--;)delete Ga[du][Qf[r]];return Ga()};iw[ig]=!0;sg.exports=Object.create||function(e,t){var i;return e!==null?(au[du]=tw(e),i=new au,au[du]=null,i[ig]=e):i=Ga(),t===void 0?i:rw.f(i,t)}});var ag=h((kM,og)=>{var dw=ae();og.exports=!dw(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype})});var cu=h((SM,lg)=>{var lw=Ie(),uw=Y(),cw=Nn(),mw=Ua(),pw=ag(),dg=mw("IE_PROTO"),uu=Object,fw=uu.prototype;lg.exports=pw?uu.getPrototypeOf:function(r){var e=cw(r);if(lw(e,dg))return e[dg];var t=e.constructor;return uw(t)&&e instanceof t?t.prototype:e instanceof uu?fw:null}});var gu=h((PM,mg)=>{"use strict";var gw=ae(),hw=Y(),vw=It(),yw=zn(),ug=cu(),bw=sr(),kw=we(),Sw=jr(),fu=kw("iterator"),cg=!1,ut,mu,pu;[].keys&&(pu=[].keys(),"next"in pu?(mu=ug(ug(pu)),mu!==Object.prototype&&(ut=mu)):cg=!0);var Pw=!vw(ut)||gw(function(){var r={};return ut[fu].call(r)!==r});Pw?ut={}:Sw&&(ut=yw(ut));hw(ut[fu])||bw(ut,fu,function(){return this});mg.exports={IteratorPrototype:ut,BUGGY_SAFARI_ITERATORS:cg}});var Jn=h((CM,fg)=>{var Cw=et().f,Iw=Ie(),ww=we(),pg=ww("toStringTag");fg.exports=function(r,e,t){r&&!t&&(r=r.prototype),r&&!Iw(r,pg)&&Cw(r,pg,{configurable:!0,value:e})}});var Jr=h((IM,gg)=>{gg.exports={}});var hu=h((wM,hg)=>{"use strict";var xw=gu().IteratorPrototype,Aw=zn(),Tw=Gr(),Ew=Jn(),Rw=Jr(),Ow=function(){return this};hg.exports=function(r,e,t,i){var n=e+" Iterator";return r.prototype=Aw(xw,{next:Tw(+!i,t)}),Ew(r,n,!1,!0),Rw[n]=Ow,r}});var yg=h((xM,vg)=>{var Fw=Y(),Mw=String,Lw=TypeError;vg.exports=function(r){if(typeof r=="object"||Fw(r))return r;throw Lw("Can't set "+Mw(r)+" as a prototype")}});var kg=h((AM,bg)=>{var Uw=Z(),Bw=Qe(),Dw=yg();bg.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r=!1,e={},t;try{t=Uw(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set),t(e,[]),r=e instanceof Array}catch{}return function(n,o){return Bw(n),Dw(o),r?t(n,o):n.__proto__=o,n}}():void 0)});var yu=h((TM,Rg)=>{"use strict";var _w=Vn(),Nw=Ge(),Va=jr(),Tg=Kl(),qw=Y(),Hw=hu(),Sg=cu(),Pg=kg(),jw=Jn(),Ww=La(),vu=sr(),Gw=we(),Cg=Jr(),Eg=gu(),Vw=Tg.PROPER,zw=Tg.CONFIGURABLE,Ig=Eg.IteratorPrototype,za=Eg.BUGGY_SAFARI_ITERATORS,$n=Gw("iterator"),wg="keys",Kn="values",xg="entries",Ag=function(){return this};Rg.exports=function(r,e,t,i,n,o,a){Hw(t,e,i);var c=function(M){if(M===n&&b)return b;if(!za&&M in v)return v[M];switch(M){case wg:return function(){return new t(this,M)};case Kn:return function(){return new t(this,M)};case xg:return function(){return new t(this,M)}}return function(){return new t(this)}},p=e+" Iterator",f=!1,v=r.prototype,m=v[$n]||v["@@iterator"]||n&&v[n],b=!za&&m||c(n),y=e=="Array"&&v.entries||m,C,I,A;if(y&&(C=Sg(y.call(new r)),C!==Object.prototype&&C.next&&(!Va&&Sg(C)!==Ig&&(Pg?Pg(C,Ig):qw(C[$n])||vu(C,$n,Ag)),jw(C,p,!0,!0),Va&&(Cg[p]=Ag))),Vw&&n==Kn&&m&&m.name!==Kn&&(!Va&&zw?Ww(v,"name",Kn):(f=!0,b=function(){return Nw(m,this)})),n)if(I={values:c(Kn),keys:o?b:c(wg),entries:c(xg)},a)for(A in I)(za||f||!(A in v))&&vu(v,A,I[A]);else _w({target:e,proto:!0,forced:za||f},I);return(!Va||a)&&v[$n]!==b&&vu(v,$n,b,{name:n}),Cg[e]=b,I}});var bu=h((EM,Og)=>{Og.exports=function(r,e){return{value:r,done:e}}});var Ug=h(()=>{"use strict";var Jw=Il().charAt,$w=Hn(),Mg=Vr(),Kw=yu(),Fg=bu(),Lg="String Iterator",Xw=Mg.set,Zw=Mg.getterFor(Lg);Kw(String,"String",function(r){Xw(this,{type:Lg,string:$w(r),index:0})},function(){var e=Zw(this),t=e.string,i=e.index,n;return i>=t.length?Fg(void 0,!0):(n=Jw(t,i),e.index+=n.length,Fg(n,!1))})});var ku=h((FM,Bg)=>{var Yw=ae(),Qw=we(),ex=jr(),tx=Qw("iterator");Bg.exports=!Yw(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}),ex&&!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[tx]||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 _g=h((MM,Dg)=>{var rx=Aa(),ix=Z();Dg.exports=function(r){if(rx(r)==="Function")return ix(r)}});var Ja=h((LM,qg)=>{var Ng=_g(),nx=Ra(),sx=ba(),ox=Ng(Ng.bind);qg.exports=function(r,e){return nx(r),e===void 0?r:sx?ox(r,e):function(){return r.apply(e,arguments)}}});var Wg=h((UM,jg)=>{var Hg=eu(),ax=et();jg.exports=function(r,e,t){return t.get&&Hg(t.get,e,{getter:!0}),t.set&&Hg(t.set,e,{setter:!0}),ax.f(r,e,t)}});var Su=h((BM,Gg)=>{var dx=Rl(),lx=TypeError;Gg.exports=function(r,e){if(dx(e,r))return r;throw lx("Incorrect invocation")}});var $g=h((DM,Jg)=>{"use strict";var Vg=pe(),ux=Z(),cx=Ge(),mx=ae(),Pu=ou(),px=nu(),fx=Wl(),gx=Nn(),hx=Vl(),$r=Object.assign,zg=Object.defineProperty,vx=ux([].concat);Jg.exports=!$r||mx(function(){if(Vg&&$r({b:1},$r(zg({},"a",{enumerable:!0,get:function(){zg(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}),$r({},r)[t]!=7||Pu($r({},e)).join("")!=i})?function(e,t){for(var i=gx(e),n=arguments.length,o=1,a=px.f,c=fx.f;n>o;)for(var p=hx(arguments[o++]),f=a?vx(Pu(p),a(p)):Pu(p),v=f.length,m=0,b;v>m;)b=f[m++],(!Vg||cx(c,p,b))&&(i[b]=p[b]);return i}:$r});var Zg=h((_M,Xg)=>{var yx=Ge(),Kg=Qe(),bx=Oa();Xg.exports=function(r,e,t){var i,n;Kg(r);try{if(i=bx(r,"return"),!i){if(e==="throw")throw t;return t}i=yx(i,r)}catch(o){n=!0,i=o}if(e==="throw")throw t;if(n)throw i;return Kg(i),t}});var Qg=h((NM,Yg)=>{var kx=Qe(),Sx=Zg();Yg.exports=function(r,e,t,i){try{return i?e(kx(t)[0],t[1]):e(t)}catch(n){Sx(r,"throw",n)}}});var th=h((qM,eh)=>{var Px=we(),Cx=Jr(),Ix=Px("iterator"),wx=Array.prototype;eh.exports=function(r){return r!==void 0&&(Cx.Array===r||wx[Ix]===r)}});var ah=h((HM,oh)=>{var xx=Z(),Ax=ae(),rh=Y(),Tx=qn(),Ex=jn(),Rx=Zl(),ih=function(){},Ox=[],nh=Ex("Reflect","construct"),Cu=/^\s*(?:class|function)\b/,Fx=xx(Cu.exec),Mx=!Cu.exec(ih),Xn=function(e){if(!rh(e))return!1;try{return nh(ih,Ox,e),!0}catch{return!1}},sh=function(e){if(!rh(e))return!1;switch(Tx(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Mx||!!Fx(Cu,Rx(e))}catch{return!0}};sh.sham=!0;oh.exports=!nh||Ax(function(){var r;return Xn(Xn.call)||!Xn(Object)||!Xn(function(){r=!0})||r})?sh:Xn});var Iu=h((jM,dh)=>{"use strict";var Lx=Fa(),Ux=et(),Bx=Gr();dh.exports=function(r,e,t){var i=Lx(e);i in r?Ux.f(r,i,Bx(0,t)):r[i]=t}});var $a=h((WM,uh)=>{var Dx=qn(),lh=Oa(),_x=Ia(),Nx=Jr(),qx=we(),Hx=qx("iterator");uh.exports=function(r){if(!_x(r))return lh(r,Hx)||lh(r,"@@iterator")||Nx[Dx(r)]}});var wu=h((GM,ch)=>{var jx=Ge(),Wx=Ra(),Gx=Qe(),Vx=Fl(),zx=$a(),Jx=TypeError;ch.exports=function(r,e){var t=arguments.length<2?zx(r):e;if(Wx(t))return Gx(jx(t,r));throw Jx(Vx(r)+" is not iterable")}});var gh=h((VM,fh)=>{"use strict";var $x=Ja(),Kx=Ge(),Xx=Nn(),Zx=Qg(),Yx=th(),Qx=ah(),eA=Ha(),mh=Iu(),tA=wu(),rA=$a(),ph=Array;fh.exports=function(e){var t=Xx(e),i=Qx(this),n=arguments.length,o=n>1?arguments[1]:void 0,a=o!==void 0;a&&(o=$x(o,n>2?arguments[2]:void 0));var c=rA(t),p=0,f,v,m,b,y,C;if(c&&!(this===ph&&Yx(c)))for(b=tA(t,c),y=b.next,v=i?new this:[];!(m=Kx(y,b)).done;p++)C=a?Zx(b,o,[m.value,p],!0):m.value,mh(v,p,C);else for(f=eA(t),v=i?new this(f):ph(f);f>p;p++)C=a?o(t[p],p):t[p],mh(v,p,C);return v.length=p,v}});var xu=h((zM,vh)=>{var hh=tu(),iA=Ha(),nA=Iu(),sA=Array,oA=Math.max;vh.exports=function(r,e,t){for(var i=iA(r),n=hh(e,i),o=hh(t===void 0?i:t,i),a=sA(oA(o-n,0)),c=0;n<o;n++,c++)nA(a,c,r[n]);return a.length=c,a}});var xh=h((JM,wh)=>{var or=Z(),Au=2147483647,Zn=36,Ph=1,Ru=26,aA=38,dA=700,lA=72,uA=128,cA="-",mA=/[^\0-\u007E]/,Ch=/[.\u3002\uFF0E\uFF61]/g,yh="Overflow: input needs wider integers to process",Tu=Zn-Ph,bh=RangeError,pA=or(Ch.exec),Kr=Math.floor,Eu=String.fromCharCode,kh=or("".charCodeAt),Ih=or([].join),wt=or([].push),fA=or("".replace),gA=or("".split),hA=or("".toLowerCase),vA=function(r){for(var e=[],t=0,i=r.length;t<i;){var n=kh(r,t++);if(n>=55296&&n<=56319&&t<i){var o=kh(r,t++);(o&64512)==56320?wt(e,((n&1023)<<10)+(o&1023)+65536):(wt(e,n),t--)}else wt(e,n)}return e},Sh=function(r){return r+22+75*(r<26)},yA=function(r,e,t){var i=0;for(r=t?Kr(r/dA):r>>1,r+=Kr(r/e);r>Tu*Ru>>1;)r=Kr(r/Tu),i+=Zn;return Kr(i+(Tu+1)*r/(r+aA))},bA=function(r){var e=[];r=vA(r);var t=r.length,i=uA,n=0,o=lA,a,c;for(a=0;a<r.length;a++)c=r[a],c<128&&wt(e,Eu(c));var p=e.length,f=p;for(p&&wt(e,cA);f<t;){var v=Au;for(a=0;a<r.length;a++)c=r[a],c>=i&&c<v&&(v=c);var m=f+1;if(v-i>Kr((Au-n)/m))throw bh(yh);for(n+=(v-i)*m,i=v,a=0;a<r.length;a++){if(c=r[a],c<i&&++n>Au)throw bh(yh);if(c==i){for(var b=n,y=Zn;;){var C=y<=o?Ph:y>=o+Ru?Ru:y-o;if(b<C)break;var I=b-C,A=Zn-C;wt(e,Eu(Sh(C+I%A))),b=Kr(I/A),y+=Zn}wt(e,Eu(Sh(b))),o=yA(n,m,f==p),n=0,f++}}n++,i++}return Ih(e,"")};wh.exports=function(r){var e=[],t=gA(fA(hA(r),Ch,"."),"."),i,n;for(i=0;i<t.length;i++)n=t[i],wt(e,pA(mA,n)?"xn--"+bA(n):n);return Ih(e,".")}});var Ou=h(($M,Ah)=>{var kA=TypeError;Ah.exports=function(r,e){if(r<e)throw kA("Not enough arguments");return r}});var Eh=h((KM,Th)=>{var SA=we(),PA=zn(),CA=et().f,Fu=SA("unscopables"),Mu=Array.prototype;Mu[Fu]==null&&CA(Mu,Fu,{configurable:!0,value:PA(null)});Th.exports=function(r){Mu[Fu][r]=!0}});var Uh=h((XM,Lh)=>{"use strict";var IA=zr(),Lu=Eh(),Rh=Jr(),Fh=Vr(),wA=et().f,xA=yu(),Ka=bu(),AA=jr(),TA=pe(),Mh="Array Iterator",EA=Fh.set,RA=Fh.getterFor(Mh);Lh.exports=xA(Array,"Array",function(r,e){EA(this,{type:Mh,target:IA(r),index:0,kind:e})},function(){var r=RA(this),e=r.target,t=r.kind,i=r.index++;return!e||i>=e.length?(r.target=void 0,Ka(void 0,!0)):t=="keys"?Ka(i,!1):t=="values"?Ka(e[i],!1):Ka([i,e[i]],!1)},"values");var Oh=Rh.Arguments=Rh.Array;Lu("keys");Lu("values");Lu("entries");if(!AA&&TA&&Oh.name!=="values")try{wA(Oh,"name",{value:"values"})}catch{}});var Dh=h((ZM,Bh)=>{var OA=sr();Bh.exports=function(r,e,t){for(var i in e)OA(r,i,e[i],t);return r}});var qh=h((YM,Nh)=>{var _h=xu(),FA=Math.floor,Uu=function(r,e){var t=r.length,i=FA(t/2);return t<8?MA(r,e):LA(r,Uu(_h(r,0,i),e),Uu(_h(r,i),e),e)},MA=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},LA=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};Nh.exports=Uu});var Vu=h((QM,ov)=>{"use strict";Uh();var qu=Vn(),Zr=me(),Xa=Ge(),tt=Z(),UA=pe(),Yh=ku(),Qh=sr(),BA=Dh(),DA=Jn(),_A=hu(),Wu=Vr(),ev=Su(),Bu=Y(),NA=Ie(),qA=Ja(),HA=qn(),jA=Qe(),tv=It(),fe=Hn(),WA=zn(),Hh=Gr(),Hu=wu(),GA=$a(),Xr=Ou(),VA=we(),zA=qh(),JA=VA("iterator"),es="URLSearchParams",rv=es+"Iterator",iv=Wu.set,ze=Wu.getterFor(es),$A=Wu.getterFor(rv),KA=Object.getOwnPropertyDescriptor,Gu=function(r){if(!UA)return Zr[r];var e=KA(Zr,r);return e&&e.value},jh=Gu("fetch"),Ya=Gu("Request"),Yn=Gu("Headers"),Du=Ya&&Ya.prototype,Wh=Yn&&Yn.prototype,XA=Zr.RegExp,ZA=Zr.TypeError,nv=Zr.decodeURIComponent,YA=Zr.encodeURIComponent,QA=tt("".charAt),Gh=tt([].join),ar=tt([].push),ju=tt("".replace),eT=tt([].shift),Vh=tt([].splice),zh=tt("".split),tT=tt("".slice),rT=/\+/g,Jh=Array(4),iT=function(r){return Jh[r-1]||(Jh[r-1]=XA("((?:%[\\da-f]{2}){"+r+"})","gi"))},nT=function(r){try{return nv(r)}catch{return r}},$h=function(r){var e=ju(r,rT," "),t=4;try{return nv(e)}catch{for(;t;)e=ju(e,iT(t--),nT);return e}},sT=/[!'()~]|%20/g,oT={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},aT=function(r){return oT[r]},Kh=function(r){return ju(YA(r),sT,aT)},_u=_A(function(e,t){iv(this,{type:rv,iterator:Hu(ze(e).entries),kind:t})},"Iterator",function(){var e=$A(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),sv=function(r){this.entries=[],this.url=null,r!==void 0&&(tv(r)?this.parseObject(r):this.parseQuery(typeof r=="string"?QA(r,0)==="?"?tT(r,1):r:fe(r)))};sv.prototype={type:es,bindURL:function(r){this.url=r,this.update()},parseObject:function(r){var e=GA(r),t,i,n,o,a,c,p;if(e)for(t=Hu(r,e),i=t.next;!(n=Xa(i,t)).done;){if(o=Hu(jA(n.value)),a=o.next,(c=Xa(a,o)).done||(p=Xa(a,o)).done||!Xa(a,o).done)throw ZA("Expected sequence with length 2");ar(this.entries,{key:fe(c.value),value:fe(p.value)})}else for(var f in r)NA(r,f)&&ar(this.entries,{key:f,value:fe(r[f])})},parseQuery:function(r){if(r)for(var e=zh(r,"&"),t=0,i,n;t<e.length;)i=e[t++],i.length&&(n=zh(i,"="),ar(this.entries,{key:$h(eT(n)),value:$h(Gh(n,"="))}))},serialize:function(){for(var r=this.entries,e=[],t=0,i;t<r.length;)i=r[t++],ar(e,Kh(i.key)+"="+Kh(i.value));return Gh(e,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var Qa=function(){ev(this,Qn);var e=arguments.length>0?arguments[0]:void 0;iv(this,new sv(e))},Qn=Qa.prototype;BA(Qn,{append:function(e,t){Xr(arguments.length,2);var i=ze(this);ar(i.entries,{key:fe(e),value:fe(t)}),i.updateURL()},delete:function(r){Xr(arguments.length,1);for(var e=ze(this),t=e.entries,i=fe(r),n=0;n<t.length;)t[n].key===i?Vh(t,n,1):n++;e.updateURL()},get:function(e){Xr(arguments.length,1);for(var t=ze(this).entries,i=fe(e),n=0;n<t.length;n++)if(t[n].key===i)return t[n].value;return null},getAll:function(e){Xr(arguments.length,1);for(var t=ze(this).entries,i=fe(e),n=[],o=0;o<t.length;o++)t[o].key===i&&ar(n,t[o].value);return n},has:function(e){Xr(arguments.length,1);for(var t=ze(this).entries,i=fe(e),n=0;n<t.length;)if(t[n++].key===i)return!0;return!1},set:function(e,t){Xr(arguments.length,1);for(var i=ze(this),n=i.entries,o=!1,a=fe(e),c=fe(t),p=0,f;p<n.length;p++)f=n[p],f.key===a&&(o?Vh(n,p--,1):(o=!0,f.value=c));o||ar(n,{key:a,value:c}),i.updateURL()},sort:function(){var e=ze(this);zA(e.entries,function(t,i){return t.key>i.key?1:-1}),e.updateURL()},forEach:function(e){for(var t=ze(this).entries,i=qA(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 _u(this,"keys")},values:function(){return new _u(this,"values")},entries:function(){return new _u(this,"entries")}},{enumerable:!0});Qh(Qn,JA,Qn.entries,{name:"entries"});Qh(Qn,"toString",function(){return ze(this).serialize()},{enumerable:!0});DA(Qa,es);qu({global:!0,constructor:!0,forced:!Yh},{URLSearchParams:Qa});!Yh&&Bu(Yn)&&(Xh=tt(Wh.has),Zh=tt(Wh.set),Nu=function(r){if(tv(r)){var e=r.body,t;if(HA(e)===es)return t=r.headers?new Yn(r.headers):new Yn,Xh(t,"content-type")||Zh(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),WA(r,{body:Hh(0,fe(e)),headers:Hh(0,t)})}return r},Bu(jh)&&qu({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return jh(e,arguments.length>1?Nu(arguments[1]):{})}}),Bu(Ya)&&(Za=function(e){return ev(this,Du),new Ya(e,arguments.length>1?Nu(arguments[1]):{})},Du.constructor=Za,Za.prototype=Du,qu({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:Za})));var Xh,Zh,Nu,Za;ov.exports={URLSearchParams:Qa,getState:ze}});var wv=h(()=>{"use strict";Ug();var dT=Vn(),ac=pe(),lT=ku(),dc=me(),av=Ja(),Re=Z(),nd=sr(),xe=Wg(),uT=Su(),nc=Ie(),lc=$g(),Yr=gh(),Je=xu(),cT=Il().codeAt,mT=xh(),mt=Hn(),pT=Jn(),fT=Ou(),bv=Vu(),kv=Vr(),gT=kv.set,sd=kv.getterFor("URL"),hT=bv.URLSearchParams,vT=bv.getState,ts=dc.URL,sc=dc.TypeError,od=dc.parseInt,yT=Math.floor,dv=Math.pow,Ee=Re("".charAt),$e=Re(/./.exec),is=Re([].join),bT=Re(1 .toString),kT=Re([].pop),ei=Re([].push),lv=Re("".replace),ST=Re([].shift),PT=Re("".split),ss=Re("".slice),ad=Re("".toLowerCase),CT=Re([].unshift),IT="Invalid authority",zu="Invalid scheme",dr="Invalid host",uv="Invalid port",Sv=/[a-z]/i,wT=/[\d+-.a-z]/i,oc=/\d/,xT=/^0x/i,AT=/^[0-7]+$/,TT=/^\d+$/,Pv=/^[\da-f]+$/i,ET=/[\0\t\n\r #%/:<>?@[\\\]^|]/,RT=/[\0\t\n\r #/:<>?@[\\\]^|]/,OT=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,FT=/[\t\n\r]/g,Ae,MT=function(r){var e=PT(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&&Ee(o,0)=="0"&&(a=$e(xT,o)?16:8,o=ss(o,a==8?1:2)),o==="")c=0;else{if(!$e(a==10?TT:a==8?AT:Pv,o))return r;c=od(o,a)}ei(i,c)}for(n=0;n<t;n++)if(c=i[n],n==t-1){if(c>=dv(256,5-t))return null}else if(c>255)return null;for(p=kT(i),n=0;n<i.length;n++)p+=i[n]*dv(256,3-n);return p},LT=function(r){var e=[0,0,0,0,0,0,0,0],t=0,i=null,n=0,o,a,c,p,f,v,m,b=function(){return Ee(r,n)};if(b()==":"){if(Ee(r,1)!=":")return;n+=2,t++,i=t}for(;b();){if(t==8)return;if(b()==":"){if(i!==null)return;n++,t++,i=t;continue}for(o=a=0;a<4&&$e(Pv,b());)o=o*16+od(b(),16),n++,a++;if(b()=="."){if(a==0||(n-=a,t>6))return;for(c=0;b();){if(p=null,c>0)if(b()=="."&&c<4)n++;else return;if(!$e(oc,b()))return;for(;$e(oc,b());){if(f=od(b(),10),p===null)p=f;else{if(p==0)return;p=p*10+f}if(p>255)return;n++}e[t]=e[t]*256+p,c++,(c==2||c==4)&&t++}if(c!=4)return;break}else if(b()==":"){if(n++,!b())return}else if(b())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},UT=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},rs=function(r){var e,t,i,n;if(typeof r=="number"){for(e=[],t=0;t<4;t++)CT(e,r%256),r=yT(r/256);return is(e,".")}else if(typeof r=="object"){for(e="",i=UT(r),t=0;t<8;t++)n&&r[t]===0||(n&&(n=!1),i===t?(e+=t?":":"::",n=!0):(e+=bT(r[t],16),t<7&&(e+=":")));return"["+e+"]"}return r},id={},Cv=lc({},id,{" ":1,'"':1,"<":1,">":1,"`":1}),Iv=lc({},Cv,{"#":1,"?":1,"{":1,"}":1}),Ju=lc({},Iv,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),xt=function(r,e){var t=cT(r,0);return t>32&&t<127&&!nc(e,r)?r:encodeURIComponent(r)},ed={ftp:21,file:null,http:80,https:443,ws:80,wss:443},ns=function(r,e){var t;return r.length==2&&$e(Sv,Ee(r,0))&&((t=Ee(r,1))==":"||!e&&t=="|")},cv=function(r){var e;return r.length>1&&ns(ss(r,0,2))&&(r.length==2||(e=Ee(r,2))==="/"||e==="\\"||e==="?"||e==="#")},BT=function(r){return r==="."||ad(r)==="%2e"},DT=function(r){return r=ad(r),r===".."||r==="%2e."||r===".%2e"||r==="%2e%2e"},$u={},mv={},Ku={},pv={},fv={},Xu={},gv={},hv={},td={},rd={},Zu={},Yu={},Qu={},ec={},vv={},tc={},Qr={},rt={},yv={},lr={},ct={},uc=function(r,e,t){var i=mt(r),n,o,a;if(e){if(o=this.parse(i),o)throw sc(o);this.searchParams=null}else{if(t!==void 0&&(n=new uc(t,!0)),o=this.parse(i,null,n),o)throw sc(o);a=vT(new hT),a.bindURL(this),this.searchParams=a}};uc.prototype={type:"URL",parse:function(r,e,t){var i=this,n=e||$u,o=0,a="",c=!1,p=!1,f=!1,v,m,b,y;for(r=mt(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=lv(r,OT,"")),r=lv(r,FT,""),v=Yr(r);o<=v.length;){switch(m=v[o],n){case $u:if(m&&$e(Sv,m))a+=ad(m),n=mv;else{if(e)return zu;n=Ku;continue}break;case mv:if(m&&($e(wT,m)||m=="+"||m=="-"||m=="."))a+=ad(m);else if(m==":"){if(e&&(i.isSpecial()!=nc(ed,a)||a=="file"&&(i.includesCredentials()||i.port!==null)||i.scheme=="file"&&!i.host))return;if(i.scheme=a,e){i.isSpecial()&&ed[i.scheme]==i.port&&(i.port=null);return}a="",i.scheme=="file"?n=ec:i.isSpecial()&&t&&t.scheme==i.scheme?n=pv:i.isSpecial()?n=hv:v[o+1]=="/"?(n=fv,o++):(i.cannotBeABaseURL=!0,ei(i.path,""),n=yv)}else{if(e)return zu;a="",n=Ku,o=0;continue}break;case Ku:if(!t||t.cannotBeABaseURL&&m!="#")return zu;if(t.cannotBeABaseURL&&m=="#"){i.scheme=t.scheme,i.path=Je(t.path),i.query=t.query,i.fragment="",i.cannotBeABaseURL=!0,n=ct;break}n=t.scheme=="file"?ec:Xu;continue;case pv:if(m=="/"&&v[o+1]=="/")n=td,o++;else{n=Xu;continue}break;case fv:if(m=="/"){n=rd;break}else{n=rt;continue}case Xu:if(i.scheme=t.scheme,m==Ae)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=gv;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=lr;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=ct;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=rt;continue}break;case gv:if(i.isSpecial()&&(m=="/"||m=="\\"))n=td;else if(m=="/")n=rd;else{i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,n=rt;continue}break;case hv:if(n=td,m!="/"||Ee(a,o+1)!="/")continue;o++;break;case td:if(m!="/"&&m!="\\"){n=rd;continue}break;case rd:if(m=="@"){c&&(a="%40"+a),c=!0,b=Yr(a);for(var C=0;C<b.length;C++){var I=b[C];if(I==":"&&!f){f=!0;continue}var A=xt(I,Ju);f?i.password+=A:i.username+=A}a=""}else if(m==Ae||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()){if(c&&a=="")return IT;o-=Yr(a).length+1,a="",n=Zu}else a+=m;break;case Zu:case Yu:if(e&&i.scheme=="file"){n=tc;continue}else if(m==":"&&!p){if(a=="")return dr;if(y=i.parseHost(a),y)return y;if(a="",n=Qu,e==Yu)return}else if(m==Ae||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()){if(i.isSpecial()&&a=="")return dr;if(e&&a==""&&(i.includesCredentials()||i.port!==null))return;if(y=i.parseHost(a),y)return y;if(a="",n=Qr,e)return;continue}else m=="["?p=!0:m=="]"&&(p=!1),a+=m;break;case Qu:if($e(oc,m))a+=m;else if(m==Ae||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()||e){if(a!=""){var M=od(a,10);if(M>65535)return uv;i.port=i.isSpecial()&&M===ed[i.scheme]?null:M,a=""}if(e)return;n=Qr;continue}else return uv;break;case ec:if(i.scheme="file",m=="/"||m=="\\")n=vv;else if(t&&t.scheme=="file")if(m==Ae)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=lr;else if(m=="#")i.host=t.host,i.path=Je(t.path),i.query=t.query,i.fragment="",n=ct;else{cv(is(Je(v,o),""))||(i.host=t.host,i.path=Je(t.path),i.shortenPath()),n=rt;continue}else{n=rt;continue}break;case vv:if(m=="/"||m=="\\"){n=tc;break}t&&t.scheme=="file"&&!cv(is(Je(v,o),""))&&(ns(t.path[0],!0)?ei(i.path,t.path[0]):i.host=t.host),n=rt;continue;case tc:if(m==Ae||m=="/"||m=="\\"||m=="?"||m=="#"){if(!e&&ns(a))n=rt;else if(a==""){if(i.host="",e)return;n=Qr}else{if(y=i.parseHost(a),y)return y;if(i.host=="localhost"&&(i.host=""),e)return;a="",n=Qr}continue}else a+=m;break;case Qr:if(i.isSpecial()){if(n=rt,m!="/"&&m!="\\")continue}else if(!e&&m=="?")i.query="",n=lr;else if(!e&&m=="#")i.fragment="",n=ct;else if(m!=Ae&&(n=rt,m!="/"))continue;break;case rt:if(m==Ae||m=="/"||m=="\\"&&i.isSpecial()||!e&&(m=="?"||m=="#")){if(DT(a)?(i.shortenPath(),m!="/"&&!(m=="\\"&&i.isSpecial())&&ei(i.path,"")):BT(a)?m!="/"&&!(m=="\\"&&i.isSpecial())&&ei(i.path,""):(i.scheme=="file"&&!i.path.length&&ns(a)&&(i.host&&(i.host=""),a=Ee(a,0)+":"),ei(i.path,a)),a="",i.scheme=="file"&&(m==Ae||m=="?"||m=="#"))for(;i.path.length>1&&i.path[0]==="";)ST(i.path);m=="?"?(i.query="",n=lr):m=="#"&&(i.fragment="",n=ct)}else a+=xt(m,Iv);break;case yv:m=="?"?(i.query="",n=lr):m=="#"?(i.fragment="",n=ct):m!=Ae&&(i.path[0]+=xt(m,id));break;case lr:!e&&m=="#"?(i.fragment="",n=ct):m!=Ae&&(m=="'"&&i.isSpecial()?i.query+="%27":m=="#"?i.query+="%23":i.query+=xt(m,id));break;case ct:m!=Ae&&(i.fragment+=xt(m,Cv));break}o++}},parseHost:function(r){var e,t,i;if(Ee(r,0)=="["){if(Ee(r,r.length-1)!="]"||(e=LT(ss(r,1,-1)),!e))return dr;this.host=e}else if(this.isSpecial()){if(r=mT(r),$e(ET,r)||(e=MT(r),e===null))return dr;this.host=e}else{if($e(RT,r))return dr;for(e="",t=Yr(r),i=0;i<t.length;i++)e+=xt(t[i],id);this.host=e}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme=="file"},includesCredentials:function(){return this.username!=""||this.password!=""},isSpecial:function(){return nc(ed,this.scheme)},shortenPath:function(){var r=this.path,e=r.length;e&&(this.scheme!="file"||e!=1||!ns(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,f=e+":";return n!==null?(f+="//",r.includesCredentials()&&(f+=t+(i?":"+i:"")+"@"),f+=rs(n),o!==null&&(f+=":"+o)):e=="file"&&(f+="//"),f+=r.cannotBeABaseURL?a[0]:a.length?"/"+is(a,"/"):"",c!==null&&(f+="?"+c),p!==null&&(f+="#"+p),f},setHref:function(r){var e=this.parse(r);if(e)throw sc(e);this.searchParams.update()},getOrigin:function(){var r=this.scheme,e=this.port;if(r=="blob")try{return new ti(r.path[0]).origin}catch{return"null"}return r=="file"||!this.isSpecial()?"null":r+"://"+rs(this.host)+(e!==null?":"+e:"")},getProtocol:function(){return this.scheme+":"},setProtocol:function(r){this.parse(mt(r)+":",$u)},getUsername:function(){return this.username},setUsername:function(r){var e=Yr(mt(r));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var t=0;t<e.length;t++)this.username+=xt(e[t],Ju)}},getPassword:function(){return this.password},setPassword:function(r){var e=Yr(mt(r));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var t=0;t<e.length;t++)this.password+=xt(e[t],Ju)}},getHost:function(){var r=this.host,e=this.port;return r===null?"":e===null?rs(r):rs(r)+":"+e},setHost:function(r){this.cannotBeABaseURL||this.parse(r,Zu)},getHostname:function(){var r=this.host;return r===null?"":rs(r)},setHostname:function(r){this.cannotBeABaseURL||this.parse(r,Yu)},getPort:function(){var r=this.port;return r===null?"":mt(r)},setPort:function(r){this.cannotHaveUsernamePasswordPort()||(r=mt(r),r==""?this.port=null:this.parse(r,Qu))},getPathname:function(){var r=this.path;return this.cannotBeABaseURL?r[0]:r.length?"/"+is(r,"/"):""},setPathname:function(r){this.cannotBeABaseURL||(this.path=[],this.parse(r,Qr))},getSearch:function(){var r=this.query;return r?"?"+r:""},setSearch:function(r){r=mt(r),r==""?this.query=null:(Ee(r,0)=="?"&&(r=ss(r,1)),this.query="",this.parse(r,lr)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var r=this.fragment;return r?"#"+r:""},setHash:function(r){if(r=mt(r),r==""){this.fragment=null;return}Ee(r,0)=="#"&&(r=ss(r,1)),this.fragment="",this.parse(r,ct)},update:function(){this.query=this.searchParams.serialize()||null}};var ti=function(e){var t=uT(this,re),i=fT(arguments.length,1)>1?arguments[1]:void 0,n=gT(t,new uc(e,!1,i));ac||(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())},re=ti.prototype,Te=function(r,e){return{get:function(){return sd(this)[r]()},set:e&&function(t){return sd(this)[e](t)},configurable:!0,enumerable:!0}};ac&&(xe(re,"href",Te("serialize","setHref")),xe(re,"origin",Te("getOrigin")),xe(re,"protocol",Te("getProtocol","setProtocol")),xe(re,"username",Te("getUsername","setUsername")),xe(re,"password",Te("getPassword","setPassword")),xe(re,"host",Te("getHost","setHost")),xe(re,"hostname",Te("getHostname","setHostname")),xe(re,"port",Te("getPort","setPort")),xe(re,"pathname",Te("getPathname","setPathname")),xe(re,"search",Te("getSearch","setSearch")),xe(re,"searchParams",Te("getSearchParams")),xe(re,"hash",Te("getHash","setHash")));nd(re,"toJSON",function(){return sd(this).serialize()},{enumerable:!0});nd(re,"toString",function(){return sd(this).serialize()},{enumerable:!0});ts&&(rc=ts.createObjectURL,ic=ts.revokeObjectURL,rc&&nd(ti,"createObjectURL",av(rc,ts)),ic&&nd(ti,"revokeObjectURL",av(ic,ts)));var rc,ic;pT(ti,"URL");dT({global:!0,constructor:!0,forced:!lT,sham:!ac},{URL:ti})});var xv=h(()=>{wv()});var Av=h(()=>{"use strict";var _T=Vn(),NT=Ge();_T({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return NT(URL.prototype.toString,this)}})});var Tv=h(()=>{Vu()});var Rv=h((dL,Ev)=>{var qT=me();Ev.exports=qT});var Fv=h((lL,Ov)=>{xv();Av();Tv();var HT=Rv();Ov.exports=HT.URL});var _c=h((MD,Hy)=>{var tE=Object.prototype.toString;Hy.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 oE(e)?"generatorfunction":"function";if(rE(e))return"array";if(lE(e))return"buffer";if(dE(e))return"arguments";if(nE(e))return"date";if(iE(e))return"error";if(sE(e))return"regexp";switch(qy(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(aE(e))return"generator";switch(t=tE.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 qy(r){return typeof r.constructor=="function"?r.constructor.name:null}function rE(r){return Array.isArray?Array.isArray(r):r instanceof Array}function iE(r){return r instanceof Error||typeof r.message=="string"&&r.constructor&&typeof r.constructor.stackTraceLimit=="number"}function nE(r){return r instanceof Date?!0:typeof r.toDateString=="function"&&typeof r.getDate=="function"&&typeof r.setDate=="function"}function sE(r){return r instanceof RegExp?!0:typeof r.flags=="string"&&typeof r.ignoreCase=="boolean"&&typeof r.multiline=="boolean"&&typeof r.global=="boolean"}function oE(r,e){return qy(r)==="GeneratorFunction"}function aE(r){return typeof r.throw=="function"&&typeof r.return=="function"&&typeof r.next=="function"}function dE(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 lE(r){return r.constructor&&typeof r.constructor.isBuffer=="function"?r.constructor.isBuffer(r):!1}});var Gy=h((LD,Wy)=>{"use strict";var jy=Symbol.prototype.valueOf,uE=_c();function cE(r,e){switch(uE(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 gE(r);case"symbol":return hE(r);case"arraybuffer":return pE(r);case"float32array":case"float64array":case"int16array":case"int32array":case"int8array":case"uint16array":case"uint32array":case"uint8clampedarray":case"uint8array":return fE(r);case"regexp":return mE(r);case"error":return Object.create(r);default:return r}}function mE(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 pE(r){let e=new r.constructor(r.byteLength);return new Uint8Array(e).set(new Uint8Array(r)),e}function fE(r,e){return new r.constructor(r.buffer,r.byteOffset,r.length)}function gE(r){let e=r.length,t=Buffer.allocUnsafe?Buffer.allocUnsafe(e):Buffer.from(e);return r.copy(t),t}function hE(r){return jy?Object(jy.call(r)):{}}Wy.exports=cE});var zy=h((UD,Vy)=>{"use strict";Vy.exports=function(e){return e!=null&&typeof e=="object"&&Array.isArray(e)===!1}});var Ky=h((BD,$y)=>{"use strict";var vE=zy();function Jy(r){return vE(r)===!0&&Object.prototype.toString.call(r)==="[object Object]"}$y.exports=function(e){var t,i;return!(Jy(e)===!1||(t=e.constructor,typeof t!="function")||(i=t.prototype,Jy(i)===!1)||i.hasOwnProperty("isPrototypeOf")===!1)}});var Zy=h((DD,Xy)=>{"use strict";var yE=Gy(),bE=_c(),kE=Ky();function Nc(r,e){switch(bE(r)){case"object":return SE(r,e);case"array":return PE(r,e);default:return yE(r)}}function SE(r,e){if(typeof e=="function")return e(r);if(e||kE(r)){let t=new r.constructor;for(let i in r)t[i]=Nc(r[i],e);return t}return r}function PE(r,e){let t=new r.constructor(r.length);for(let i=0;i<r.length;i++)t[i]=Nc(r[i],e);return t}Xy.exports=Nc});var Zc=h((vs,Ai)=>{var CE=200,Xc="__lodash_hash_undefined__",Rd=1,lb=2,ub=9007199254740991,Cd="[object Arguments]",Wc="[object Array]",IE="[object AsyncFunction]",cb="[object Boolean]",mb="[object Date]",pb="[object Error]",fb="[object Function]",wE="[object GeneratorFunction]",Id="[object Map]",gb="[object Number]",xE="[object Null]",xi="[object Object]",Yy="[object Promise]",AE="[object Proxy]",hb="[object RegExp]",wd="[object Set]",vb="[object String]",TE="[object Symbol]",EE="[object Undefined]",Gc="[object WeakMap]",yb="[object ArrayBuffer]",xd="[object DataView]",RE="[object Float32Array]",OE="[object Float64Array]",FE="[object Int8Array]",ME="[object Int16Array]",LE="[object Int32Array]",UE="[object Uint8Array]",BE="[object Uint8ClampedArray]",DE="[object Uint16Array]",_E="[object Uint32Array]",NE=/[\\^$.*+?()[\]{}|]/g,qE=/^\[object .+?Constructor\]$/,HE=/^(?:0|[1-9]\d*)$/,j={};j[RE]=j[OE]=j[FE]=j[ME]=j[LE]=j[UE]=j[BE]=j[DE]=j[_E]=!0;j[Cd]=j[Wc]=j[yb]=j[cb]=j[xd]=j[mb]=j[pb]=j[fb]=j[Id]=j[gb]=j[xi]=j[hb]=j[wd]=j[vb]=j[Gc]=!1;var bb=typeof global=="object"&&global&&global.Object===Object&&global,jE=typeof self=="object"&&self&&self.Object===Object&&self,ht=bb||jE||Function("return this")(),kb=typeof vs=="object"&&vs&&!vs.nodeType&&vs,Qy=kb&&typeof Ai=="object"&&Ai&&!Ai.nodeType&&Ai,Sb=Qy&&Qy.exports===kb,qc=Sb&&bb.process,eb=function(){try{return qc&&qc.binding&&qc.binding("util")}catch{}}(),tb=eb&&eb.isTypedArray;function WE(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 GE(r,e){for(var t=-1,i=e.length,n=r.length;++t<i;)r[n+t]=e[t];return r}function VE(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 zE(r,e){for(var t=-1,i=Array(r);++t<r;)i[t]=e(t);return i}function JE(r){return function(e){return r(e)}}function $E(r,e){return r.has(e)}function KE(r,e){return r?.[e]}function XE(r){var e=-1,t=Array(r.size);return r.forEach(function(i,n){t[++e]=[n,i]}),t}function ZE(r,e){return function(t){return r(e(t))}}function YE(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}var QE=Array.prototype,eR=Function.prototype,Od=Object.prototype,Hc=ht["__core-js_shared__"],Pb=eR.toString,it=Od.hasOwnProperty,rb=function(){var r=/[^.]+$/.exec(Hc&&Hc.keys&&Hc.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}(),Cb=Od.toString,tR=RegExp("^"+Pb.call(it).replace(NE,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ib=Sb?ht.Buffer:void 0,Ad=ht.Symbol,nb=ht.Uint8Array,Ib=Od.propertyIsEnumerable,rR=QE.splice,yr=Ad?Ad.toStringTag:void 0,sb=Object.getOwnPropertySymbols,iR=ib?ib.isBuffer:void 0,nR=ZE(Object.keys,Object),Vc=Ti(ht,"DataView"),ys=Ti(ht,"Map"),zc=Ti(ht,"Promise"),Jc=Ti(ht,"Set"),$c=Ti(ht,"WeakMap"),bs=Ti(Object,"create"),sR=Sr(Vc),oR=Sr(ys),aR=Sr(zc),dR=Sr(Jc),lR=Sr($c),ob=Ad?Ad.prototype:void 0,jc=ob?ob.valueOf:void 0;function br(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 uR(){this.__data__=bs?bs(null):{},this.size=0}function cR(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}function mR(r){var e=this.__data__;if(bs){var t=e[r];return t===Xc?void 0:t}return it.call(e,r)?e[r]:void 0}function pR(r){var e=this.__data__;return bs?e[r]!==void 0:it.call(e,r)}function fR(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=bs&&e===void 0?Xc:e,this}br.prototype.clear=uR;br.prototype.delete=cR;br.prototype.get=mR;br.prototype.has=pR;br.prototype.set=fR;function vt(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 gR(){this.__data__=[],this.size=0}function hR(r){var e=this.__data__,t=Fd(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():rR.call(e,t,1),--this.size,!0}function vR(r){var e=this.__data__,t=Fd(e,r);return t<0?void 0:e[t][1]}function yR(r){return Fd(this.__data__,r)>-1}function bR(r,e){var t=this.__data__,i=Fd(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}vt.prototype.clear=gR;vt.prototype.delete=hR;vt.prototype.get=vR;vt.prototype.has=yR;vt.prototype.set=bR;function kr(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 kR(){this.size=0,this.__data__={hash:new br,map:new(ys||vt),string:new br}}function SR(r){var e=Md(this,r).delete(r);return this.size-=e?1:0,e}function PR(r){return Md(this,r).get(r)}function CR(r){return Md(this,r).has(r)}function IR(r,e){var t=Md(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}kr.prototype.clear=kR;kr.prototype.delete=SR;kr.prototype.get=PR;kr.prototype.has=CR;kr.prototype.set=IR;function Td(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new kr;++e<t;)this.add(r[e])}function wR(r){return this.__data__.set(r,Xc),this}function xR(r){return this.__data__.has(r)}Td.prototype.add=Td.prototype.push=wR;Td.prototype.has=xR;function Bt(r){var e=this.__data__=new vt(r);this.size=e.size}function AR(){this.__data__=new vt,this.size=0}function TR(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}function ER(r){return this.__data__.get(r)}function RR(r){return this.__data__.has(r)}function OR(r,e){var t=this.__data__;if(t instanceof vt){var i=t.__data__;if(!ys||i.length<CE-1)return i.push([r,e]),this.size=++t.size,this;t=this.__data__=new kr(i)}return t.set(r,e),this.size=t.size,this}Bt.prototype.clear=AR;Bt.prototype.delete=TR;Bt.prototype.get=ER;Bt.prototype.has=RR;Bt.prototype.set=OR;function FR(r,e){var t=Ed(r),i=!t&&JR(r),n=!t&&!i&&Kc(r),o=!t&&!i&&!n&&Ob(r),a=t||i||n||o,c=a?zE(r.length,String):[],p=c.length;for(var f in r)(e||it.call(r,f))&&!(a&&(f=="length"||n&&(f=="offset"||f=="parent")||o&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||jR(f,p)))&&c.push(f);return c}function Fd(r,e){for(var t=r.length;t--;)if(Ab(r[t][0],e))return t;return-1}function MR(r,e,t){var i=e(r);return Ed(r)?i:GE(i,t(r))}function Ss(r){return r==null?r===void 0?EE:xE:yr&&yr in Object(r)?qR(r):zR(r)}function ab(r){return ks(r)&&Ss(r)==Cd}function wb(r,e,t,i,n){return r===e?!0:r==null||e==null||!ks(r)&&!ks(e)?r!==r&&e!==e:LR(r,e,t,i,wb,n)}function LR(r,e,t,i,n,o){var a=Ed(r),c=Ed(e),p=a?Wc:Ut(r),f=c?Wc:Ut(e);p=p==Cd?xi:p,f=f==Cd?xi:f;var v=p==xi,m=f==xi,b=p==f;if(b&&Kc(r)){if(!Kc(e))return!1;a=!0,v=!1}if(b&&!v)return o||(o=new Bt),a||Ob(r)?xb(r,e,t,i,n,o):_R(r,e,p,t,i,n,o);if(!(t&Rd)){var y=v&&it.call(r,"__wrapped__"),C=m&&it.call(e,"__wrapped__");if(y||C){var I=y?r.value():r,A=C?e.value():e;return o||(o=new Bt),n(I,A,t,i,o)}}return b?(o||(o=new Bt),NR(r,e,t,i,n,o)):!1}function UR(r){if(!Rb(r)||GR(r))return!1;var e=Tb(r)?tR:qE;return e.test(Sr(r))}function BR(r){return ks(r)&&Eb(r.length)&&!!j[Ss(r)]}function DR(r){if(!VR(r))return nR(r);var e=[];for(var t in Object(r))it.call(r,t)&&t!="constructor"&&e.push(t);return e}function xb(r,e,t,i,n,o){var a=t&Rd,c=r.length,p=e.length;if(c!=p&&!(a&&p>c))return!1;var f=o.get(r);if(f&&o.get(e))return f==e;var v=-1,m=!0,b=t&lb?new Td:void 0;for(o.set(r,e),o.set(e,r);++v<c;){var y=r[v],C=e[v];if(i)var I=a?i(C,y,v,e,r,o):i(y,C,v,r,e,o);if(I!==void 0){if(I)continue;m=!1;break}if(b){if(!VE(e,function(A,M){if(!$E(b,M)&&(y===A||n(y,A,t,i,o)))return b.push(M)})){m=!1;break}}else if(!(y===C||n(y,C,t,i,o))){m=!1;break}}return o.delete(r),o.delete(e),m}function _R(r,e,t,i,n,o,a){switch(t){case xd:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case yb:return!(r.byteLength!=e.byteLength||!o(new nb(r),new nb(e)));case cb:case mb:case gb:return Ab(+r,+e);case pb:return r.name==e.name&&r.message==e.message;case hb:case vb:return r==e+"";case Id:var c=XE;case wd:var p=i&Rd;if(c||(c=YE),r.size!=e.size&&!p)return!1;var f=a.get(r);if(f)return f==e;i|=lb,a.set(r,e);var v=xb(c(r),c(e),i,n,o,a);return a.delete(r),v;case TE:if(jc)return jc.call(r)==jc.call(e)}return!1}function NR(r,e,t,i,n,o){var a=t&Rd,c=db(r),p=c.length,f=db(e),v=f.length;if(p!=v&&!a)return!1;for(var m=p;m--;){var b=c[m];if(!(a?b in e:it.call(e,b)))return!1}var y=o.get(r);if(y&&o.get(e))return y==e;var C=!0;o.set(r,e),o.set(e,r);for(var I=a;++m<p;){b=c[m];var A=r[b],M=e[b];if(i)var ce=a?i(M,A,b,e,r,o):i(A,M,b,r,e,o);if(!(ce===void 0?A===M||n(A,M,t,i,o):ce)){C=!1;break}I||(I=b=="constructor")}if(C&&!I){var Dn=r.constructor,ya=e.constructor;Dn!=ya&&"constructor"in r&&"constructor"in e&&!(typeof Dn=="function"&&Dn instanceof Dn&&typeof ya=="function"&&ya instanceof ya)&&(C=!1)}return o.delete(r),o.delete(e),C}function db(r){return MR(r,XR,HR)}function Md(r,e){var t=r.__data__;return WR(e)?t[typeof e=="string"?"string":"hash"]:t.map}function Ti(r,e){var t=KE(r,e);return UR(t)?t:void 0}function qR(r){var e=it.call(r,yr),t=r[yr];try{r[yr]=void 0;var i=!0}catch{}var n=Cb.call(r);return i&&(e?r[yr]=t:delete r[yr]),n}var HR=sb?function(r){return r==null?[]:(r=Object(r),WE(sb(r),function(e){return Ib.call(r,e)}))}:ZR,Ut=Ss;(Vc&&Ut(new Vc(new ArrayBuffer(1)))!=xd||ys&&Ut(new ys)!=Id||zc&&Ut(zc.resolve())!=Yy||Jc&&Ut(new Jc)!=wd||$c&&Ut(new $c)!=Gc)&&(Ut=function(r){var e=Ss(r),t=e==xi?r.constructor:void 0,i=t?Sr(t):"";if(i)switch(i){case sR:return xd;case oR:return Id;case aR:return Yy;case dR:return wd;case lR:return Gc}return e});function jR(r,e){return e=e??ub,!!e&&(typeof r=="number"||HE.test(r))&&r>-1&&r%1==0&&r<e}function WR(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}function GR(r){return!!rb&&rb in r}function VR(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||Od;return r===t}function zR(r){return Cb.call(r)}function Sr(r){if(r!=null){try{return Pb.call(r)}catch{}try{return r+""}catch{}}return""}function Ab(r,e){return r===e||r!==r&&e!==e}var JR=ab(function(){return arguments}())?ab:function(r){return ks(r)&&it.call(r,"callee")&&!Ib.call(r,"callee")},Ed=Array.isArray;function $R(r){return r!=null&&Eb(r.length)&&!Tb(r)}var Kc=iR||YR;function KR(r,e){return wb(r,e)}function Tb(r){if(!Rb(r))return!1;var e=Ss(r);return e==fb||e==wE||e==IE||e==AE}function Eb(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=ub}function Rb(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}function ks(r){return r!=null&&typeof r=="object"}var Ob=tb?JE(tb):BR;function XR(r){return $R(r)?FR(r):DR(r)}function ZR(){return[]}function YR(){return!1}Ai.exports=KR});var fS=h($d=>{"use strict";$d.byteLength=xO;$d.toByteArray=TO;$d.fromByteArray=OO;var ot=[],qe=[],wO=typeof Uint8Array<"u"?Uint8Array:Array,Em="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Ur=0,mS=Em.length;Ur<mS;++Ur)ot[Ur]=Em[Ur],qe[Em.charCodeAt(Ur)]=Ur;var Ur,mS;qe[45]=62;qe[95]=63;function pS(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 xO(r){var e=pS(r),t=e[0],i=e[1];return(t+i)*3/4-i}function AO(r,e,t){return(e+t)*3/4-t}function TO(r){var e,t=pS(r),i=t[0],n=t[1],o=new wO(AO(r,i,n)),a=0,c=n>0?i-4:i,p;for(p=0;p<c;p+=4)e=qe[r.charCodeAt(p)]<<18|qe[r.charCodeAt(p+1)]<<12|qe[r.charCodeAt(p+2)]<<6|qe[r.charCodeAt(p+3)],o[a++]=e>>16&255,o[a++]=e>>8&255,o[a++]=e&255;return n===2&&(e=qe[r.charCodeAt(p)]<<2|qe[r.charCodeAt(p+1)]>>4,o[a++]=e&255),n===1&&(e=qe[r.charCodeAt(p)]<<10|qe[r.charCodeAt(p+1)]<<4|qe[r.charCodeAt(p+2)]>>2,o[a++]=e>>8&255,o[a++]=e&255),o}function EO(r){return ot[r>>18&63]+ot[r>>12&63]+ot[r>>6&63]+ot[r&63]}function RO(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(EO(i));return n.join("")}function OO(r){for(var e,t=r.length,i=t%3,n=[],o=16383,a=0,c=t-i;a<c;a+=o)n.push(RO(r,a,a+o>c?c:a+o));return i===1?(e=r[t-1],n.push(ot[e>>2]+ot[e<<4&63]+"==")):i===2&&(e=(r[t-2]<<8)+r[t-1],n.push(ot[e>>10]+ot[e>>4&63]+ot[e<<2&63]+"=")),n.join("")}});var ZH=_n(Fv(),1);function g(r,e){if(r==null)throw Error(e??"Expected nonnullish value.")}function ur(r,e){if(!r)throw Error(e)}var ie;(function(r){r.COMMENT="t1_",r.ACCOUNT="t2_",r.LINK="t3_",r.MESSAGE="t4_",r.SUBREDDIT="t5_",r.AWARD="t6_"})(ie||(ie={}));function At(r){return r.startsWith(ie.COMMENT)}function dd(r){return r.startsWith(ie.ACCOUNT)}function cr(r){return r.startsWith(ie.LINK)}function Mv(r){return r.startsWith(ie.MESSAGE)}function Lv(r){return r.startsWith(ie.SUBREDDIT)}function Uv(r){return r.startsWith(ie.AWARD)}function jT(r){ur(At(r),`Expected comment id to start with ${ie.COMMENT}, got ${r}}`)}function WT(r){ur(dd(r),`Expected account id to start with ${ie.ACCOUNT}, got ${r}}`)}function GT(r){ur(cr(r),`Expected link id to start with ${ie.LINK}, got ${r}}`)}function VT(r){ur(Mv(r),`Expected message id to start with ${ie.MESSAGE}, got ${r}}`)}function zT(r){ur(Lv(r),`Expected subreddit id to start with ${ie.SUBREDDIT}, got ${r}}`)}function JT(r){ur(Uv(r),`Expected award id to start with ${ie.AWARD}, got ${r}}`)}function ri(r){return jT(r),r}function ne(r){return WT(r),r}function ge(r){return GT(r),r}function $T(r){return VT(r),r}function Oe(r){return zT(r),r}function KT(r){return JT(r),r}function he(r){if(At(r))return ri(r);if(dd(r))return ne(r);if(cr(r))return ge(r);if(Mv(r))return $T(r);if(Lv(r))return Oe(r);if(Uv(r))return KT(r);throw new Error(`Expected thing id to start with ${Object.values(ie).join(", ")} got ${r}}`)}function cc(r){return At(r)}import*as P from"@devvit/protos";var ld=class{constructor(e){}};var mc=(t=>(t.Installation="installation",t.App="app",t))(mc||{});function mr(r,e=new Set){for(let t of r){if(t.type==="group"){mr(t.fields,e);continue}let i=t.name;if(e.has(i))throw new Error(`Duplicate field name: ${i}`);e.add(i)}XT(r)}function XT(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 Tt=Object.freeze({INTERVAL:0,FORM:1,STATE:2,CHANNEL:3});var bL=["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","brand-awareness","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 m0,GetFieldsResponse as p0}from"@devvit/protos";import{FormField as pr,FormFieldType as Fe}from"@devvit/protos";function pt(r){return r.map(e=>{switch(e.type){case"string":return ZT(e);case"image":return YT(e);case"paragraph":return QT(e);case"number":return e0(e);case"select":return t0(e);case"boolean":return r0(e);case"group":return i0(e);default:throw new Error("Unknown field type.")}})}function ZT(r){return pr.fromPartial({defaultValue:{fieldType:Fe.STRING,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{stringConfig:{placeholder:r.placeholder}},fieldId:r.name,fieldType:Fe.STRING,helpText:r.helpText,label:r.label,required:r.required,isSecret:r.isSecret})}function YT(r){return pr.fromPartial({disabled:r.disabled,fieldId:r.name,fieldType:Fe.IMAGE,helpText:r.helpText,label:r.label,required:r.required})}function QT(r){return pr.fromPartial({defaultValue:{fieldType:Fe.PARAGRAPH,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{paragraphConfig:{lineHeight:r.lineHeight,placeholder:r.placeholder}},fieldId:r.name,fieldType:Fe.PARAGRAPH,helpText:r.helpText,label:r.label,required:r.required})}function e0(r){return pr.fromPartial({defaultValue:{fieldType:Fe.NUMBER,numberValue:r.defaultValue},disabled:r.disabled,fieldConfig:{numberConfig:{}},fieldId:r.name,fieldType:Fe.NUMBER,helpText:r.helpText,label:r.label,required:r.required})}function t0(r){return pr.fromPartial({defaultValue:{fieldType:Fe.SELECTION,selectionValue:{values:r.defaultValue}},disabled:r.disabled,fieldConfig:{selectionConfig:{choices:r.options,multiSelect:r.multiSelect}},fieldId:r.name,fieldType:Fe.SELECTION,helpText:r.helpText,label:r.label,required:r.required})}function r0(r){return pr.fromPartial({defaultValue:{fieldType:Fe.BOOLEAN,boolValue:r.defaultValue},disabled:r.disabled,fieldId:r.name,fieldType:Fe.BOOLEAN,helpText:r.helpText,label:r.label})}function i0(r){return pr.fromPartial({fieldType:Fe.GROUP,fieldConfig:{groupConfig:{fields:pt(r.fields)}},label:r.label,helpText:r.helpText})}function U(r,e){u.prototype[r]=e}import{ValidateFormResponse as c0}from"@devvit/protos";import{RealtimeSubscriptionStatus as Dv}from"@devvit/protos";var D=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",Debug:"devvit-debug",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",UserAgent:"devvit-user-agent",Version:"devvit-version",Language:"devvit-accept-language",Timezone:"devvit-accept-timezone",AppDependencies:"devvit-app-dependencies",WebviewTemplate:"devvit-webview-template"}),Bv;(function(r){r.Blocks="blocks",r.EmitSnapshots="emitSnapshots",r.EmitState="emitState",r.Realtime="realtime",r.Runtime="runtime",r.Surface="surface",r.UseAsync="useAsync",r.Payments="payments"})(Bv||(Bv={}));function _v(r){function e(t){let n=r.currentHookIndex,o=r.getCurrentComponentState(),a=r.getPreviousComponentState(),c=r.metadata[D.App]?.values[0];g(c,"useChannel - app is missing from Context");let p=r.metadata[D.Installation]?.values[0];g(p,"useChannel - installation is missing from Context");async function f(A){let M=o[n].channel;if(o[n].active)if(o[n].connected)await r.realtime.send(M,A);else throw Error(`Failed to send to channel '${M}'; it is active but not yet connected`);else throw Error(`Cannot send a message over inactive channel: ${M}`)}function v(){if(!o[n].active){let A=o[n].channel;o[n].active=!0,r.addRealtimeChannel(A)}}function m(){if(o[n].active){let A=o[n].channel;o[n].active=!1,r.removeRealtimeChannel(A)}}function b(A){return async()=>{let M;switch(A.status){case Dv.REALTIME_SUBSCRIBED:o[n].connected=!0,M=t.onSubscribed?.();break;case Dv.REALTIME_UNSUBSCRIBED:o[n].connected=!1,M=t.onUnsubscribed?.();break;default:M=t.onMessage(A.event?.data??{});break}await M}}let y={channel:`${c}:${p}:${t.name}`,active:!1,connected:!1,preventCallback:!1,type:Tt.CHANNEL};n in o?y=o[n]:n in a&&(y=a[n]);let C=r.realtimeEvent;r.isInitialRender?y.active=!1:C&&y.active&&C.event.channel===y.channel&&(y.preventCallback||r.runHook(b(C)),r.rerenderIn(0)),o[n]=y,r.currentHookIndex++;let I=0;return y.active&&y.connected?I=2:y.active&&!y.connected?I=1:!y.active&&y.connected?I=3:!y.active&&!y.connected&&(I=4),{subscribe:v,unsubscribe:m,send:f,status:I}}return e}import{FormFieldType as ii}from"@devvit/protos";function pc(r){switch(r.fieldType){case ii.STRING:return r.stringValue;case ii.IMAGE:return r.stringValue;case ii.PARAGRAPH:return r.stringValue;case ii.NUMBER:return r.numberValue;case ii.BOOLEAN:return r.boolValue;case ii.SELECTION:return r.selectionValue?.values??[];default:return}}function Et(r){return Object.keys(r).reduce((e,t)=>{let i=pc(r[t]);return i!==void 0&&(e[t]=i),e},{})}function Nv(r){function e(t,i){let n=r.currentHookIndex,o=r.getCurrentComponentKey(),a=r.getCurrentComponentState(),c=r.getPreviousComponentState(),p=`form.hook.${o}.${n}`,f={formKey:p,preventSubmit:!1,type:Tt.FORM};n in a?f=a[n]:n in c&&(f=c[n]),a[n]=f,r.forms.set(p,t);let v=r.formSubmittedEvent;return v&&!f.preventSubmit&&v.formId===p&&r.runHook(async()=>{let m=i(Et(v.results));m&&m instanceof Promise&&await m,r.rerenderIn(0)}),a[n].preventSubmit=!1,r.currentHookIndex++,p}return e}function qv(r){function e(t,i){let n=r.currentHookIndex,o=r.getCurrentComponentState(),a=r.getPreviousComponentState(),c=100,p=Math.max(c,i),f={lastRun:void 0,running:!1,preventCallback:!1,type:Tt.INTERVAL};n in o?f=o[n]:n in a&&(f=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[b,y]of Object.entries(o))if(b!==n.toString()&&y?.type===Tt.INTERVAL&&y?.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:Tt.INTERVAL},r.rerenderIn(p)}function m(){o[n].running=!1,o[n].lastRun=void 0,o[n].preventCallback=!1}return r.isEffectRender&&f.running&&(f.preventCallback||(f.lastRun===void 0||f.lastRun+p<Date.now())&&r.runHook(async()=>{let b=t();b&&b instanceof Promise&&await b,f.lastRun=Date.now()}),r.rerenderIn(p)),f.preventCallback=!1,o[n]=f,r.currentHookIndex++,{start:v,stop:m}}return e}function Hv(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 vc={now(){return new Date}};function jv(r){return`__autocache__${r}`}function Wv(r){return`__lock__${r}`}var s0=300,o0=1e3,ud=5e3,fc=3,Gv=.1,Vv=1e3,a0=3e4;function zv(r){if(r.error)throw new Error(r.error);return r.value}var Rt,Ot,Me,ni,$,Jv,$v,Kv,gc,Xv,Zv,hc,Yv,cd=class{constructor(e,t,i=vc){l(this,$);l(this,Rt);l(this,Ot,{});l(this,Me);l(this,ni);d(this,Rt,e),d(this,ni,t),d(this,Me,i)}async cache(e,t){d(this,Ot,s(this,ni).__cache=s(this,ni).__cache??{}),S(this,$,Yv).call(this,t);let i=S(this,$,Jv).call(this,t.key);if(i!==void 0)return i;let n=await S(this,$,hc).call(this,t.key),o=await S(this,$,$v).call(this,t,n,e);return zv(o)}};Rt=new WeakMap,Ot=new WeakMap,Me=new WeakMap,ni=new WeakMap,$=new WeakSet,Jv=function(e){let t=s(this,Ot)[e];if(t){let i=s(this,Me).now().getTime(),n=t?.error&&t?.errorTime&&t.errorCount<fc&&Math.random()<Gv&&t.errorTime+Vv<i;if(t?.expires&&t.expires<i&&t.checkedAt+Vv<i||n){delete s(this,Ot)[e];return}else return zv(t)}},$v=async function(e,t,i){let n=t?.expires,o=n?S(this,$,Zv).call(this,n):1;return!t||t?.error&&t.errorCount<fc&&Gv>Math.random()||o>Math.random()?S(this,$,Kv).call(this,e,t,i):t},Kv=async function(e,t,i){let n=Wv(e.key),o=s(this,Me).now().getTime(),a=new Date(o+e.ttl/2);if(await s(this,Rt).set(n,"1",{expiration:a,nx:!0}))return S(this,$,Xv).call(this,e.key,t,i,e.ttl);if(t)return t;{let p=s(this,Me).now();return S(this,$,gc).call(this,p,e.key,e.ttl)}},gc=async function(e,t,i){let n=Math.min(i,o0),o=await S(this,$,hc).call(this,t);if(o)return o;if(s(this,Me).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,s0)),S(this,$,gc).call(this,e,t,i)},Xv=async function(e,t,i,n){let o=s(this,Me).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,Me).now().getTime(),t.errorCount++}return s(this,Ot)[e]=t,await s(this,Rt).set(jv(e),JSON.stringify(t),{expiration:new Date(o+a0)}),t.error&&t.errorCount<fc&&await s(this,Rt).del(Wv(e)),t},Zv=function(e){let t=s(this,Me).now().getTime(),i=e-t;return i<0?1:i<1e3?.1:i<2e3?.01:i<3e3?.001:0},hc=async function(e){let t=await s(this,Rt).get(jv(e));if(t){let i=JSON.parse(t);return i.checkedAt=s(this,Me).now().getTime(),s(this,Ot)[e]=i,i}},Yv=function(e){e.ttl<ud&&(console.warn(`Cache TTL cannot be less than ${ud} milliseconds! Updating ttl value of ${e.ttl} to ${ud}.`),e.ttl=ud)};function Qv(r,e,t=vc){let i=new cd(r,e,t);return i.cache.bind(i)}function ey(r){new URL(r.slice(0,r.indexOf(",")))}var si,oi,di,ty,ry,ai=class{constructor(){l(this,di);l(this,si,{});l(this,oi,{});d(this,si,u.assets),d(this,oi,u.webviewAssets)}getURL(e,t){return typeof e=="string"?S(this,di,ty).call(this,e,t??{webview:!1}):S(this,di,ry).call(this,e,t??{webview:!1})}};si=new WeakMap,oi=new WeakMap,di=new WeakSet,ty=function(e,t){let i=t.webview?s(this,oi)[e]:s(this,si)[e];if(i)return i;try{return ey(e),encodeURI(e)}catch{return""}},ry=function(e,t){let i={},n=[],o=t.webview?s(this,oi):s(this,si);if(o)for(let a of e)if(o[a])i[a]=o[a];else try{ey(a),i[a]=encodeURI(a)}catch{n.push(a)}else n=e;if(n.length>0)throw new Error(`The following assets were missing from the assets list: ${n.join(", ")}`);return i};var Ft,li=class{constructor(e){l(this,Ft);d(this,Ft,e)}async get(e){let{messages:t}=await u.kvStorePlugin.Get({keys:[e]},s(this,Ft));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,Ft))}async delete(e){await u.kvStorePlugin.Del({keys:[e]},s(this,Ft))}async list(){let{keys:e}=await u.kvStorePlugin.List({filter:"*"},s(this,Ft));return e}};Ft=new WeakMap;var os,ui=class{constructor(e){l(this,os);d(this,os,e)}async upload(e){let t=await u.mediaPlugin.Upload(e,s(this,os));if(!t.mediaId)throw new Error("unable to get mediaId via uploads");return Promise.resolve({mediaId:t.mediaId,mediaUrl:t.mediaUrl})}};os=new WeakMap;var as,ci=class{constructor(e){l(this,as);d(this,as,e)}async add(e){await u.modLogPlugin.Add(e,s(this,as))}};as=new WeakMap;var ds,mi=class{constructor(e){l(this,ds);d(this,ds,e)}async send(e,t){await u.realtimePlugin.Send({channel:e,data:t},s(this,ds))}};ds=new WeakMap;var k,ls,fi=class{constructor(e){l(this,k);l(this,ls);d(this,k,e),d(this,ls,new pd(e))}get modMail(){return s(this,ls)}getSubredditById(e){return ve.getById(he(e),s(this,k))}getSubredditByName(e){return ve.getByName(e,s(this,k))}addSubredditRemovalReason(e,t){return ve.addRemovalReason(e,t.title,t.message,s(this,k))}getSubredditRemovalReasons(e){return ve.getRemovalReasons(e,s(this,k))}getCurrentSubreddit(){return ve.getFromMetadata(s(this,k))}getPostById(e){return z.getById(he(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(he(e),s(this,k))}getCollectionById(e){return pi.getCollectionById({collectionId:e},s(this,k))}createCollection(e){return pi.create(e,s(this,k))}getCollectionsForSubreddit(e){return pi.getCollectionsForSubreddit({subredditId:e},s(this,k))}getUserByUsername(e){return w.getByUsername(e,s(this,k))}getCurrentUser(){return w.getFromMetadata(D.User,s(this,k))}getAppUser(){return w.getFromMetadata(D.AppUser,s(this,k))}getSnoovatarUrl(e){return w.getSnoovatarUrl(e,s(this,k))}getCommentById(e){return Q.getById(he(e),s(this,k))}getComments(e){return Q.getComments(e,s(this,k))}getCommentsByUser(e){return Q.getCommentsByUser(e,s(this,k))}submitComment(e){return Q.submit({...e,id:he(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 md(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 Le.get(e,s(this,k))}deleteModNote(e){return Le.delete(e,s(this,k))}addModNote(e){let t={...e,redditId:e.redditId?he(e.redditId):void 0};return Le.add(t,s(this,k))}addRemovalNote(e){return Le.addRemovalNote(e,s(this,k))}async sendPrivateMessage(e){return fr.send(e,s(this,k))}async sendPrivateMessageAsSubreddit(e){return fr.sendAsSubreddit(e,s(this,k))}async approve(e){if(At(e))return Q.approve(e,s(this,k));if(cr(e))return z.approve(e,s(this,k));throw new Error("id must start with either t1_ or t3_")}async remove(e,t){if(At(e))return Q.remove(e,t,s(this,k));if(cr(e))return z.remove(e,t,s(this,k));throw new Error("id must start with either t1_ or t3_")}async getPostFlairTemplates(e){return de.getPostFlairTemplates(e,s(this,k))}async getUserFlairTemplates(e){return de.getUserFlairTemplates(e,s(this,k))}async createPostFlairTemplate(e){return de.createPostFlairTemplate(e,s(this,k))}async createUserFlairTemplate(e){return de.createUserFlairTemplate(e,s(this,k))}async editFlairTemplate(e){return de.editFlairTemplate(e,s(this,k))}async deleteFlairTemplate(e,t){return de.deleteFlairTemplate(e,t,s(this,k))}async setUserFlair(e){return Ue.setUserFlair(e,s(this,k))}async removeUserFlair(e,t){return Ue.removeUserFlair(e,t,s(this,k))}async setPostFlair(e){return Ue.setPostFlair(e,s(this,k))}async removePostFlair(e,t){return Ue.removePostFlair(e,ge(t),s(this,k))}async getWidgets(e){return se.getWidgets(e,s(this,k))}async deleteWidget(e,t){return se.delete(e,t,s(this,k))}async addWidget(e){return se.add(e,s(this,k))}async reorderWidgets(e,t){return se.reorder(e,t,s(this,k))}async getWikiPage(e,t){return ye.getPage(e,t,s(this,k))}async getWikiPages(e){return ye.getPages(e,s(this,k))}async createWikiPage(e){return ye.createPage(e,s(this,k))}async updateWikiPage(e){return ye.updatePage(e,s(this,k))}getWikiPageRevisions(e){return ye.getPageRevisions(e,s(this,k))}async revertWikiPage(e,t,i){return ye.revertPage(e,t,i,s(this,k))}async getWikiPageSettings(e,t){return ye.getPageSettings(e,t,s(this,k))}async updateWikiPageSettings(e){return ye.updatePageSettings(e,s(this,k))}async addEditorToWikiPage(e,t,i){return ye.addEditor(e,t,i,s(this,k))}async removeEditorFromWikiPage(e,t,i){return ye.removeEditor(e,t,i,s(this,k))}getMessages(e){return fr.getMessages(e,s(this,k))}markAllMessagesAsRead(){return fr.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 ve.aboutLocation({...e,location:"modqueue"},s(this,k))}getReports(e){return ve.aboutLocation({...e,location:"reports"},s(this,k))}getSpam(e){return ve.aboutLocation({...e,location:"spam"},s(this,k))}getUnmoderated(e){return ve.aboutLocation({...e,location:"unmoderated"},s(this,k))}getEdited(e){return ve.aboutLocation({...e,location:"edited"},s(this,k))}getVaultByAddress(e){return sy(e,s(this,k))}getVaultByUserId(e){return oy(he(e),s(this,k))}getSubredditLeaderboard(e){return ny(e,s(this,k))}};k=new WeakMap,ls=new WeakMap;import{RedisKeyScope as yc}from"@devvit/protos";var R,O,F,bc=class{constructor(e,t,i){l(this,R);l(this,O);l(this,F);d(this,R,e),d(this,O,t),d(this,F,i)}async get(e){return await s(this,R).Get({key:e,transactionId:s(this,O)},s(this,F)),this}async multi(){await s(this,R).Multi(s(this,O),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,R).Set({key:e,value:t,nx:i?.nx===!0,xx:i?.xx===!0,expiration:n||0,transactionId:s(this,O)},s(this,F)),this}async del(...e){return await s(this,R).Del({keys:e,transactionId:s(this,O)},s(this,F)),this}async type(e){return await s(this,R).Type({key:e,transactionId:s(this,O)},s(this,F)),this}async exec(){let e=await s(this,R).Exec(s(this,O),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,R).Discard(s(this,O),s(this,F))}async watch(...e){return await s(this,R).Watch({keys:e,transactionId:s(this,O)},s(this,F)),this}async unwatch(){return await s(this,R).Unwatch(s(this,O),s(this,F)),this}async getRange(e,t,i){return await s(this,R).GetRange({key:e,start:t,end:i,transactionId:s(this,O)},s(this,F)),this}async setRange(e,t,i){return await s(this,R).SetRange({key:e,offset:t,value:i,transactionId:s(this,O)},s(this,F)),this}async strlen(e){return this.strLen(e)}async strLen(e){return await s(this,R).Strlen({key:e,transactionId:s(this,O)},s(this,F)),this}async mget(e){return this.mGet(e)}async mGet(e){return await s(this,R).MGet({keys:e,transactionId:s(this,O)},s(this,F)),this}async mset(e){return this.mSet(e)}async mSet(e){let t=Object.entries(e).map(([i,n])=>({key:i,value:n}));return await s(this,R).MSet({kv:t,transactionId:s(this,O)},s(this,F)),this}async incrBy(e,t){return await s(this,R).IncrBy({key:e,value:t,transactionId:s(this,O)},s(this,F)),this}async expire(e,t){return await s(this,R).Expire({key:e,seconds:t,transactionId:s(this,O)},s(this,F)),this}async expireTime(e){return await s(this,R).ExpireTime({key:e,transactionId:s(this,O)},s(this,F)),this}async zAdd(e,...t){return await s(this,R).ZAdd({key:e,members:t,transactionId:s(this,O)},s(this,F)),this}async zScore(e,t){return await s(this,R).ZScore({key:{key:e,transactionId:s(this,O)},member:t},s(this,F)),this}async zRank(e,t){return await s(this,R).ZRank({key:{key:e,transactionId:s(this,O)},member:t},s(this,F)),this}async zIncrBy(e,t,i){return await s(this,R).ZIncrBy({key:e,member:t,value:i,transactionId:s(this,O)},s(this,F)),this}async zScan(e,t,i,n){let o={key:e,cursor:t,pattern:i,count:n,transactionId:s(this,O)};return await s(this,R).ZScan(o,s(this,F)),this}async zCard(e){return await s(this,R).ZCard({key:e,transactionId:s(this,O)},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,R).ZRange({key:{key:e,transactionId:s(this,O)},start:t+"",stop:i+"",...o},s(this,F)),this}async zRem(e,t){return await s(this,R).ZRem({key:{key:e,transactionId:s(this,O)},members:t},s(this,F)),this}async zRemRangeByLex(e,t,i){return await s(this,R).ZRemRangeByLex({key:{key:e,transactionId:s(this,O)},min:t,max:i},s(this,F)),this}async zRemRangeByRank(e,t,i){return await s(this,R).ZRemRangeByRank({key:{key:e,transactionId:s(this,O)},start:t,stop:i},s(this,F)),this}async zRemRangeByScore(e,t,i){return await s(this,R).ZRemRangeByScore({key:{key:e,transactionId:s(this,O)},min:t,max:i},s(this,F)),this}async hgetall(e){return this.hGetAll(e)}async hGetAll(e){return await s(this,R).HGetAll({key:e,transactionId:s(this,O)},s(this,F)),this}async hget(e,t){return this.hGet(e,t)}async hGet(e,t){return await s(this,R).HGet({key:e,field:t,transactionId:s(this,O)},s(this,F)),this}async hset(e,t){return this.hSet(e,t)}async hSet(e,t){let i=Object.entries(t).map(([n,o])=>({field:n,value:o}));return await s(this,R).HSet({key:e,fv:i,transactionId:s(this,O)},s(this,F)),this}async hincrby(e,t,i){return this.hIncrBy(e,t,i)}async hIncrBy(e,t,i){return await s(this,R).HIncrBy({key:e,field:t,value:i,transactionId:s(this,O)},s(this,F)),this}async hdel(e,t){return this.hDel(e,t)}async hDel(e,t){return await s(this,R).HDel({key:e,fields:t,transactionId:s(this,O)},s(this,F)),this}async hscan(e,t,i,n){return this.hScan(e,t,i,n)}async hScan(e,t,i,n){let o={key:e,cursor:t,pattern:i,count:n,transactionId:s(this,O)};return await s(this,R).HScan(o,s(this,F)),this}async hkeys(e){return this.hKeys(e)}async hKeys(e){return await s(this,R).HKeys({key:e,transactionId:s(this,O)},s(this,F)),this}async hlen(e){return this.hLen(e)}async hLen(e){return await s(this,R).HLen({key:e,transactionId:s(this,O)},s(this,F)),this}};R=new WeakMap,O=new WeakMap,F=new WeakMap;var L,gi,kc=class kc{constructor(e,t=void 0,i=yc.INSTALLATION){l(this,L);l(this,gi);d(this,L,e),d(this,gi,t),this.scope=i,this.global=i===yc.INSTALLATION?new kc(s(this,L),s(this,gi),yc.GLOBAL):this}get storage(){return s(this,gi)||u.redisPlugin}async watch(...e){let t=await this.storage.Watch({keys:e},s(this,L));return new bc(this.storage,t,s(this,L))}async get(e){let t=await this.storage.Get({key:e,scope:this.scope},s(this,L));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,L))).value}async del(...e){await this.storage.Del({keys:e,scope:this.scope},s(this,L))}async incrBy(e,t){return(await this.storage.IncrBy({key:e,value:t,scope:this.scope},s(this,L))).value}async getRange(e,t,i){let n=await this.storage.GetRange({key:e,start:t,end:i,scope:this.scope},s(this,L));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,L))).value}async strlen(e){return this.strLen(e)}async strLen(e){return(await this.storage.Strlen({key:e,scope:this.scope},s(this,L))).value}async expire(e,t){await this.storage.Expire({key:e,seconds:t,scope:this.scope},s(this,L))}async expireTime(e){return(await this.storage.ExpireTime({key:e,scope:this.scope},s(this,L))).value}async zAdd(e,...t){return(await this.storage.ZAdd({key:e,members:t,scope:this.scope},s(this,L))).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,L))).members}async zRem(e,t){return(await this.storage.ZRem({key:{key:e},members:t,scope:this.scope},s(this,L))).value}async zRemRangeByLex(e,t,i){return(await this.storage.ZRemRangeByLex({key:{key:e},min:t,max:i,scope:this.scope},s(this,L))).value}async zRemRangeByRank(e,t,i){return(await this.storage.ZRemRangeByRank({key:{key:e},start:t,stop:i,scope:this.scope},s(this,L))).value}async zRemRangeByScore(e,t,i){return(await this.storage.ZRemRangeByScore({key:{key:e},min:t,max:i,scope:this.scope},s(this,L))).value}async zScore(e,t){let i=await this.storage.ZScore({key:{key:e},member:t,scope:this.scope},s(this,L));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,L));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,L));return n!==null?n.value:n}async mget(e){return this.mGet(e)}async mGet(e){let t=await this.storage.MGet({keys:e,scope:this.scope},s(this,L));return t!==null?t.values.map(i=>i||null):t}async mset(e){return this.mSet(e)}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,L))}async zCard(e){let t=await this.storage.ZCard({key:e,scope:this.scope},s(this,L));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,L))}async type(e){let t=await this.storage.Type({key:e,scope:this.scope},s(this,L));return t!==null?t.value:t}async hget(e,t){return this.hGet(e,t)}async hGet(e,t){let i=await this.storage.HGet({key:e,field:t,scope:this.scope},s(this,L));return i!==null?i.value??void 0:i}async hset(e,t){return this.hSet(e,t)}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,L))).value}async hgetall(e){return this.hGetAll(e)}async hGetAll(e){let t=await this.storage.HGetAll({key:e,scope:this.scope},s(this,L));return t!==null?t.fieldValues:t}async hdel(e,t){return this.hDel(e,t)}async hDel(e,t){return(await this.storage.HDel({key:e,fields:t,scope:this.scope},s(this,L))).value}async hscan(e,t,i,n){return this.hScan(e,t,i,n)}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,L))}async hkeys(e){return this.hKeys(e)}async hKeys(e){let t=await this.storage.HKeys({key:e,scope:this.scope},s(this,L));return t!==null?t.keys:t}async hincrby(e,t,i){return this.hIncrBy(e,t,i)}async hIncrBy(e,t,i){return(await this.storage.HIncrBy({key:e,field:t,value:i,scope:this.scope},s(this,L))).value}async hlen(e){return this.hLen(e)}async hLen(e){return(await this.storage.HLen({key:e,scope:this.scope})).value}};L=new WeakMap,gi=new WeakMap;var hi=kc;var gr,vi=class{constructor(e){l(this,gr);d(this,gr,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,gr))).id}async cancelJob(e){await u.schedulerPlugin.Cancel({id:e},s(this,gr))}async listJobs(){return(await u.schedulerPlugin.List({after:new Date(0),before:new Date(Date.now()+31536e7)},s(this,gr))).actions.map(t=>(g(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}))}};gr=new WeakMap;var us,yi=class{constructor(e){l(this,us);d(this,us,e)}async get(e){return(await this.getAll())[e]}async getAll(){let t=await u.settingsPlugin.GetSettings({},s(this,us));if(!t.installationSettings)throw new Error("Could not get installation settings");if(!t.appSettings)throw new Error("Could not get app settings");return{...ay(t.installationSettings.settings,u.installationSettings),...ay(t.appSettings.settings,u.appSettings)}}};us=new WeakMap;function ay(r,e){let t=Object.keys(r).reduce((i,n)=>(i[n]=pc(r[n]),i),{});return e&&dy(t,e),t}function dy(r,e){for(let t of e)t.type==="group"?dy(r,t.fields):!(t.name in r)&&"defaultValue"in t&&(r[t.name]=t.defaultValue)}import{EffectType as Sc,Form as d0,ToastAppearance as ly}from"@devvit/protos";var hr,bi,fd=class{constructor(e){l(this,hr,[]);l(this,bi);d(this,bi,e)}showForm(e,t){let i=u.formDefinitions.get(e);if(!i&&s(this,bi)){let a=s(this,bi).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=d0.fromPartial({id:e,title:n.title,acceptLabel:n.acceptLabel,cancelLabel:n.cancelLabel,shortDescription:n.description});mr(n.fields),o.fields=pt(n.fields),s(this,hr).push({type:Sc.EFFECT_SHOW_FORM,showForm:{form:o}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?ly.SUCCESS:ly.NEUTRAL}:t={text:e},s(this,hr).push({type:Sc.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,hr).push({type:Sc.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}get __effects(){return s(this,hr)}};hr=new WeakMap,bi=new WeakMap;function Be({metadata:r,ui:e,hooks:t,reconciler:i}){let n=new ci(r),o=new li(r),a=new hi(r),c=Qv(a,i?i.state:{}),p=new fi(r),f=new vi(r),v=new yi(r),m=e?new fd(i):void 0,b=new ui(r),y=new ai,C=new mi(r),I=t&&i?Hv(i):void 0,A=t&&i?qv(i):void 0,M=t&&i?Nv(i):void 0,ce=t&&i?_v(i):void 0;return{modLog:n,kvStore:o,redis:a,reddit:p,scheduler:f,settings:v,media:b,assets:y,realtime:C,get useForm(){return M??(()=>{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 ce??(()=>{throw new Error("useChannel() is unavailable")})},get ui(){if(!m)throw new Error("ui client is not available");return m}}}var uy={name:"@devvit/public-api",version:"0.11.0-dev",license:"BSD-3-Clause",repository:{type:"git",url:"https://developers.reddit.com/"},type:"module",exports:{".":"./dist/index.js","./package.json":"./package.json","./*":"./dist/*"},main:"./dist/index.js",files:["dist/**"],scripts:{build:"yarn build:icon-types && yarn build:semantic-colors && tsc && cp -af devvit.tsconfig.json dist/ && yarn build:types && yarn build:min && yarn build:unmin","build:icon-types":"make-icons src/types/icons.ts","build:min":"esbuild --bundle --sourcemap=linked --target=es2020 --format=esm --metafile=dist/meta.min.json --outfile=dist/public-api.min.js --external:@devvit/protos --minify src/index.ts","build:semantic-colors":"node scripts/make-semantic-colors.js","build:types":"api-extractor run && sed -ne '/declare global {/,$ p' src/devvit/Devvit.ts >> dist/public-api.d.ts","build:unmin":"esbuild --bundle --sourcemap=inline --target=es2020 --format=iife --metafile=dist/meta.json --outfile=dist/public-api.iife.js --global-name=devvitPublicAPI src/index.ts",clean:"rm -rf .turbo api-extractor coverage dist src/devvit/internals/semanticColors.ts src/types/icons.ts || :",clobber:"yarn clean && rm -rf node_modules",dev:"tsc -w","dev:build":"chokidar ./src --command 'yarn build' --ignore './src/types/icons.ts' --ignore './src/devvit/internals/semanticColors.ts'",lint:"redlint .","lint:fix":"yarn lint --fix",prepublishOnly:"publish-package-json",test:"yarn test:unit && yarn test:types && yarn test:size","test:size":"filesize","test:types":"tsc --noEmit","test:unit":"vitest run","test:unit-with-coverage":"vitest run --coverage"},types:"./dist/index.d.ts",dependencies:{"@devvit/protos":"0.11.0-dev","@devvit/shared-types":"0.11.0-dev","base64-js":"1.5.1","clone-deep":"4.0.1","core-js":"3.27.2","lodash.isequal":"4.5.0"},devDependencies:{"@ampproject/filesize":"4.3.0","@devvit/eslint-config":"0.11.0-dev","@devvit/repo-tools":"0.11.0-dev","@devvit/tsconfig":"0.11.0-dev","@microsoft/api-extractor":"7.41.0","@reddit/faceplate-ui":"11.3.3","@types/clone-deep":"4.0.1","@types/core-js":"2.5.6","@types/lodash.isequal":"4.5.6","@vitest/coverage-c8":"0.32.0","chokidar-cli":"3.0.0",esbuild:"0.23.0",eslint:"8.9.0",typescript:"5.3.2",vitest:"1.6.0"},publishConfig:{directory:"dist"},filesize:{"dist/public-api.min.js":{gzip:"78 KB",none:"255 KB"}},source:"./src/index.ts"};function le(r,e,t){let i=r[D.Subreddit]?.values[0];g(i,"subreddit is missing from Context");let n=r[D.AppUser]?.values[0],o=r[D.User]?.values[0],a=u0(r);return{get appAccountId(){return g(n,"appAccountId is missing from Context"),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}}}}function u0(r){let e={blocks:void 0,emitSnapshots:void 0,emitState:void 0,realtime:void 0,runtime:void 0,surface:void 0,useAsync:void 0,payments:void 0},t={};for(let n in e)t[n.toLowerCase()]=n;let i={};for(let n of(r[D.Debug]?.values??[]).join().split(",")){let[o,a]=n.split("=");o&&(o=o.trim(),a=a?.trim(),o.toLowerCase()in t&&(o=t[o.toLowerCase()]),i[o]??(i[o]=a||"true"))}return r[D.Debug]&&console.info(`[api] @devvit/public-api v${uy.version} ${Object.entries(i).map(([n,o])=>`${n}=${o}`).join(" ")}`),{...i,metadata:r}}function cy(r){return r.flatMap(e=>e.type==="group"?cy(e.fields):e)}async function gd(r,e,t){if(!e)throw new Error("Settings were not defined.");let i={success:!0,errors:{}},n=Et(r.fieldValues),o=cy(e);return await Promise.all(o.map(async a=>{let c=a.name;if(c&&a.onValidate){let p=n[c],f=a.onValidate,v=Object.assign(Be({metadata:t}),le(t)),m=await f({value:p,isEditing:r.editing},v);m&&(i.success=!1,i.errors[c]=m)}})),c0.fromJSON(i)}async function f0(){if(!u.appSettings)throw new Error("App settings were not defined.");return p0.fromJSON({fields:{fields:pt(u.appSettings)}})}async function g0(r,e){return gd(r,u.appSettings,e)}function my(r){r.provides(m0),U("GetAppSettingsFields",f0),U("ValidateAppForm",g0)}import{CustomPostDefinition as P0,RenderPostResponse as C0}from"@devvit/protos";import{BlockRenderEventType as Uc,EffectType as Ry}from"@devvit/protos";function ki(r){return r.__effects}function py(){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 Lc,BlockAnimationDirection as Cy,BlockAnimationLoopMode as Iy,BlockAnimationType as wy,BlockAvatarBackground as xy,BlockAvatarFacing as Ay,BlockAvatarSize as Mt,BlockBorderWidth as bd,BlockButtonAppearance as Lt,BlockButtonSize as xc,BlockFullSnooSize as Pi,BlockGap as kd,BlockHorizontalAlignment as Ac,BlockIconSize as Sd,BlockImageResizeMode as cs,BlockPadding as ms,BlockRadius as ps,BlockSpacerShape as Tc,BlockSpacerSize as Pd,BlockStackDirection as Ec,BlockTextOutline as Rc,BlockTextOverflow as Oc,BlockTextSize as Ci,BlockTextStyle as Fc,BlockTextWeight as Ty,BlockType as De,BlockVerticalAlignment as Mc}from"@devvit/protos";var Pc={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 fy={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"},gy=r=>!!r.match(/^(#[0-9a-fA-F]{3,8}).*/),hy=r=>r in Pc,Cc=r=>r in fy,vy=r=>!!r.match(/^rgba?\(.*/),yy=r=>!!r.match(/^hsla?\(.*/),by=(r,e="light")=>{if(Cc(r))return hd(r);let i=Pc[r];return typeof i=="string"?i:i[e]},hd=r=>fy[r]??r,ky=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),f=Math.round(p*255);a.push(f)}return`#${a.map(p=>p.toString(16).padStart(2,"0")).join("")}`};import{BlockStackDirection as vd}from"@devvit/protos";var Ic={stackParentLayout:{hasHeight:!0,hasWidth:!0,direction:vd.UNRECOGNIZED,alignment:void 0}};function Py(r,e,t){if(!e)return{hasHeight:!1,hasWidth:!1};let{growDirection:i,stretchDirection:n}=h0(r?.grow,e.direction,e.alignment),o=t?.height?.value?.value||t?.height?.min?.value||Sy(2,i,n,e.hasHeight),a=t?.width?.value?.value||t?.width?.min?.value||Sy(1,i,n,e.hasWidth);return{hasHeight:!!o,hasWidth:!!a}}function Sy(r,e,t,i){return e===r&&i||t===r&&i}function h0(r,e,t){let i=e===vd.STACK_VERTICAL||e===vd.UNRECOGNIZED,n=e===vd.STACK_HORIZONTAL,o=0;n&&r?o=1:i&&r&&(o=2);let a=t===void 0||t.horizontal===void 0,c=t===void 0||t.vertical===void 0,p=n?!!c:i?!!a:!1,f=0;return n&&p?f=2:i&&p&&(f=1),{growDirection:o,stretchDirection:f}}import{BlockSizeUnit as vr,BlockStackDirection as yd}from"@devvit/protos";function Si(r){if(r==null)return;if(typeof r=="number")return{value:r,unit:vr.SIZE_UNIT_PERCENT};let e=r.match(/^(\d+(?:\.\d+)?)(px|%)?$/);if(e==null)return;let t=vr.SIZE_UNIT_PERCENT;return e.at(2)==="px"&&(t=vr.SIZE_UNIT_PIXELS),{value:Number.parseFloat(e[1]),unit:t}}function v0(r,e){return(r.width?.value?.unit===vr.SIZE_UNIT_PERCENT||r.width?.min?.unit===vr.SIZE_UNIT_PERCENT)&&(e.direction===yd.STACK_HORIZONTAL||e.direction===yd.STACK_DEPTH)&&(e.hasWidth||(r.width=void 0)),(r.height?.value?.unit===vr.SIZE_UNIT_PERCENT||r.height?.min?.unit===vr.SIZE_UNIT_PERCENT)&&(e.direction===yd.STACK_VERTICAL||e.direction===yd.STACK_DEPTH)&&(e.hasHeight||(r.height=void 0)),r}function wc(r,e){if(r){let t=r.width!=null||r.minWidth!=null||r.maxWidth!=null,i=r.height!=null||r.minHeight!=null||r.maxHeight!=null;if(t||i||r.grow!=null){let n={width:t?{value:Si(r.width),min:Si(r.minWidth),max:Si(r.maxWidth)}:void 0,height:i?{value:Si(r.height),min:Si(r.minHeight),max:Si(r.maxHeight)}:void 0,grow:r.grow};return e.stackParentLayout&&(n=v0(n,e.stackParentLayout)),n}}}var Ey="data-",y0=new Set(["onPress","onMessage"]),b0=new Map([["onPress",Lc.ACTION_CLICK],["onMessage",Lc.ACTION_WEBVIEW]]),fs,Ii=class{constructor(e=()=>{}){l(this,fs);d(this,fs,e)}createBlocksElementOrThrow({type:e,props:t,children:i}){let n=this.createBlocksElement({type:e,props:t,children:i},Ic);if(!n)throw new Error(`Could not create block of type ${e}`);return n}createBlocksElement({type:e,props:t,children:i},n){switch(e){case"blocks":return this.makeRoot(t,...i);case"hstack":return this.makeHStack(t,n,...i);case"vstack":return this.makeVStack(t,n,...i);case"zstack":return this.makeZStack(t,n,...i);case"text":return this.makeText(t,n,...i);case"button":return this.makeButton(t,n,...i);case"image":return this.makeImage(t,n);case"spacer":return this.makeSpacer(t,n);case"icon":return this.makeIcon(t,n);case"avatar":return this.makeAvatar(t,n);case"fullsnoo":return this.makeFullSnoo(t,n);case"animation":return this.makeAnimation(t,n);case"webview":return this.makeWebView(t,n);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 ms.PADDING_NONE;case"xsmall":return ms.PADDING_XSMALL;case"small":return ms.PADDING_SMALL;case"medium":return ms.PADDING_MEDIUM;case"large":return ms.PADDING_LARGE}}makeBlockRadius(e){switch(e){case"none":return ps.RADIUS_NONE;case"small":return ps.RADIUS_SMALL;case"medium":return ps.RADIUS_MEDIUM;case"large":return ps.RADIUS_LARGE;case"full":return ps.RADIUS_FULL}}makeBlockGap(e){switch(e){case"none":return kd.GAP_NONE;case"small":return kd.GAP_SMALL;case"medium":return kd.GAP_MEDIUM;case"large":return kd.GAP_LARGE}}makeBlockAlignment(e){if(e===void 0)return;let t,i;if(e.includes("top")?t=Mc.ALIGN_TOP:e.includes("middle")?t=Mc.ALIGN_MIDDLE:e.includes("bottom")&&(t=Mc.ALIGN_BOTTOM),e.includes("start")?i=Ac.ALIGN_START:e.includes("center")?i=Ac.ALIGN_CENTER:e.includes("end")&&(i=Ac.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=bd.BORDER_WIDTH_NONE;break;case"thin":o=bd.BORDER_WIDTH_THIN;break;case"thick":o=bd.BORDER_WIDTH_THICK;break;default:o=bd.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 Ci.TEXT_SIZE_XSMALL;case"small":return Ci.TEXT_SIZE_SMALL;case"medium":return Ci.TEXT_SIZE_MEDIUM;case"large":return Ci.TEXT_SIZE_LARGE;case"xlarge":return Ci.TEXT_SIZE_XLARGE;case"xxlarge":return Ci.TEXT_SIZE_XXLARGE}}makeBlockTextStyle(e){switch(e){case"body":return Fc.TEXT_STYLE_BODY;case"metadata":return Fc.TEXT_STYLE_METADATA;case"heading":return Fc.TEXT_STYLE_HEADING}}makeBlockTextOutline(e){switch(e){case"none":return Rc.TEXT_OUTLINE_NONE;case"thin":return Rc.TEXT_OUTLINE_THIN;case"thick":return Rc.TEXT_OUTLINE_THICK}}makeBlockTextWeight(e){switch(e){case"regular":return Ty.TEXT_WEIGHT_REGULAR;case"bold":return Ty.TEXT_WEIGHT_BOLD}}makeBlockTextOverflow(e){switch(e){case"clip":return Oc.TEXT_OVERFLOW_CLIP;case"ellipsis":return Oc.TEXT_OVERFLOW_ELLIPSE}return Oc.TEXT_OVERFLOW_ELLIPSE}makeBlockButtonAppearance(e){switch(e){case"secondary":return Lt.BUTTON_APPEARANCE_SECONDARY;case"primary":return Lt.BUTTON_APPEARANCE_PRIMARY;case"plain":return Lt.BUTTON_APPEARANCE_PLAIN;case"bordered":return Lt.BUTTON_APPEARANCE_BORDERED;case"media":return Lt.BUTTON_APPEARANCE_MEDIA;case"destructive":return Lt.BUTTON_APPEARANCE_DESTRUCTIVE;case"caution":return Lt.BUTTON_APPEARANCE_CAUTION;case"success":return Lt.BUTTON_APPEARANCE_SUCCESS}}makeBlockButtonSize(e){switch(e){case"small":return xc.BUTTON_SIZE_SMALL;case"medium":return xc.BUTTON_SIZE_MEDIUM;case"large":return xc.BUTTON_SIZE_LARGE}}makeBlockImageResizeMode(e){switch(e){case"none":return cs.IMAGE_RESIZE_NONE;case"fit":return cs.IMAGE_RESIZE_FIT;case"fill":return cs.IMAGE_RESIZE_FILL;case"cover":return cs.IMAGE_RESIZE_COVER;case"scale-down":return cs.IMAGE_RESIZE_SCALE_DOWN}}makeBlockSpacerSize(e){switch(e){case"xsmall":return Pd.SPACER_XSMALL;case"small":return Pd.SPACER_SMALL;case"medium":return Pd.SPACER_MEDIUM;case"large":return Pd.SPACER_LARGE}}makeBlockSpacerShape(e){switch(e){case"invisible":return Tc.SPACER_INVISIBLE;case"thin":return Tc.SPACER_THIN;case"square":return Tc.SPACER_SQUARE}}makeBlockIconSize(e){switch(e){case"xsmall":return Sd.ICON_SIZE_XSMALL;case"small":return Sd.ICON_SIZE_SMALL;case"medium":return Sd.ICON_SIZE_MEDIUM;case"large":return Sd.ICON_SIZE_LARGE}}makeBlockAvatarSize(e){switch(e){case"xxsmall":return Mt.AVATAR_SIZE_XXSMALL;case"xsmall":return Mt.AVATAR_SIZE_XSMALL;case"small":return Mt.AVATAR_SIZE_SMALL;case"medium":return Mt.AVATAR_SIZE_MEDIUM;case"large":return Mt.AVATAR_SIZE_LARGE;case"xlarge":return Mt.AVATAR_SIZE_XXLARGE;case"xxlarge":return Mt.AVATAR_SIZE_XXLARGE;case"xxxlarge":return Mt.AVATAR_SIZE_XXXLARGE}}makeBlockAvatarFacing(e){switch(e){case"left":return Ay.AVATAR_FACING_LEFT;case"right":return Ay.AVATAR_FACING_RIGHT}}makeBlockFullSnooSize(e){switch(e){case"xsmall":return Pi.FULLSNOO_XSMALL;case"small":return Pi.FULLSNOO_SMALL;case"medium":return Pi.FULLSNOO_MEDIUM;case"large":return Pi.FULLSNOO_LARGE;case"xlarge":return Pi.FULLSNOO_XLARGE;case"xxlarge":return Pi.FULLSNOO_XXLARGE}}makeBlockAvatarBackground(e){switch(e){case"dark":return xy.AVATAR_BG_DARK;case"light":return xy.AVATAR_BG_LIGHT}}makeBlockAnimationType(e){return e==="lottie"||e===void 0?wy.ANIM_LOTTIE:wy.UNRECOGNIZED}makeBlockAnimationDirection(e){switch(e){case"backward":return Cy.ANIM_DIR_BACKWARD;case"forward":return Cy.ANIM_DIR_FORWARD}}makeBlockLoopMode(e){switch(e){case"repeat":return Iy.ANIM_LOOP_REPEAT;case"bounce":return Iy.ANIM_LOOP_BOUNCE}}getDataSet(e){return Object.keys(e).filter(t=>t.startsWith(Ey)).reduce((t,i)=>(t[i.substring(Ey.length)]=e[i],t),{})}makeActions(e,t){let i=[],n=this.getDataSet(t);return y0.forEach(o=>{if(o in t){let a=t[o];i.push({type:b0.get(o)??Lc.UNRECOGNIZED,id:a.toString(),data:n})}}),i}blockColorToHex(e,t="light"){if(e)return e=e.toLowerCase(),gy(e)?e:hy(e)?by(e,t):Cc(e)?hd(e):vy(e)?ky(e):yy(e)?e:(console.warn(`Could not parse color: ${e}.`),hd("red"))}childrenToBlocks(e,t){return e.flatMap(i=>(typeof i!="string"?this.createBlocksElement(i,t):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}resolveAssetUrl(e,t){return s(this,fs).call(this)?.getURL(e,t)??e}childrenToString(e){return e.map(t=>t.toString()).join("")}makeRoot(e,...t){return this.wrapRoot(e,this.childrenToBlocks(t,Ic))}wrapRoot(e,t){return this.makeBlock(De.BLOCK_ROOT,{},{},{rootConfig:{children:t,height:this.makeRootHeight(u.customPostType?.height??e?.height??"regular")}})}makeStackBlock(e,t,i,n){let o=this.getThemedColors(t?.backgroundColor,t?.lightBackgroundColor,t?.darkBackgroundColor),a=this.makeBlockAlignment(t?.alignment),c=wc(t,i),p=Py(t,i.stackParentLayout,c);return this.makeBlock(De.BLOCK_STACK,t,i,{stackConfig:{alignment:a,backgroundColor:o?.light,backgroundColors:o,border:this.makeBlockBorder(t?.border,t?.borderColor,t?.lightBorderColor,t?.darkBorderColor),children:this.childrenToBlocks(n,{stackParentLayout:{...p,direction:e,alignment:a}}),cornerRadius:this.makeBlockRadius(t?.cornerRadius),direction:e,gap:this.makeBlockGap(t?.gap),padding:this.makeBlockPadding(t?.padding),reverse:t?.reverse}})}makeHStack(e,t,...i){return this.makeStackBlock(Ec.STACK_HORIZONTAL,e,t,i)}makeVStack(e,t,...i){return this.makeStackBlock(Ec.STACK_VERTICAL,e,t,i)}makeZStack(e,t,...i){return this.makeStackBlock(Ec.STACK_DEPTH,e,t,i)}makeText(e,t,...i){let n=this.getThemedColors(e?.color,e?.lightColor,e?.darkColor);return this.makeBlock(De.BLOCK_TEXT,e,t,{textConfig:{alignment:this.makeBlockAlignment(e?.alignment),color:n?.light,colors:n,outline:this.makeBlockTextOutline(e?.outline),size:this.makeBlockTextSize(e?.size),style:this.makeBlockTextStyle(e?.style),text:this.childrenToString(i),weight:this.makeBlockTextWeight(e?.weight),selectable:e?.selectable,wrap:e?.wrap,overflow:this.makeBlockTextOverflow(e?.overflow)}})}makeButton(e,t,...i){let n=this.getThemedColors(e?.textColor,e?.lightTextColor,e?.darkTextColor);return this.makeBlock(De.BLOCK_BUTTON,e,t,{buttonConfig:{buttonAppearance:this.makeBlockButtonAppearance(e?.appearance),icon:e?.icon,buttonSize:this.makeBlockButtonSize(e?.size),text:this.childrenToString(i),textColor:n?.light,textColors:n,disabled:e?.disabled}})}makeImage(e,t){return e&&this.makeBlock(De.BLOCK_IMAGE,e,t,{imageConfig:{description:e?.description,resizeMode:this.makeBlockImageResizeMode(e.resizeMode),url:this.resolveAssetUrl(e.url),width:this.parsePixels(e.imageWidth),height:this.parsePixels(e.imageHeight)}})}makeSpacer(e,t){return this.makeBlock(De.BLOCK_SPACER,e,t,{spacerConfig:{size:this.makeBlockSpacerSize(e?.size),shape:this.makeBlockSpacerShape(e?.shape)}})}makeIcon(e,t){let i=this.getThemedColors(e?.color,e?.lightColor,e?.darkColor);return e&&this.makeBlock(De.BLOCK_ICON,e,t,{iconConfig:{icon:e.name,color:i?.light,colors:i,size:this.makeBlockIconSize(e.size)}})}makeAvatar(e,t){return e&&this.makeBlock(De.BLOCK_AVATAR,e,t,{avatarConfig:{thingId:e.thingId,size:this.makeBlockAvatarSize(e.size),facing:this.makeBlockAvatarFacing(e.facing),background:this.makeBlockAvatarBackground(e.background)}})}makeFullSnoo(e,t){return e&&this.makeBlock(De.BLOCK_FULLSNOO,e,t,{fullsnooConfig:{userId:e.userId,facing:this.makeBlockAvatarFacing(e.facing),size:this.makeBlockFullSnooSize(e.size)}})}makeAnimation(e,t){return e&&this.makeBlock(De.BLOCK_ANIMATION,e,t,{animationConfig:{type:this.makeBlockAnimationType(e.type),url:this.resolveAssetUrl(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,t){return e&&this.makeBlock(De.BLOCK_WEBVIEW,e,t,{webviewConfig:{url:this.resolveAssetUrl(e.url,{webview:!0}),state:e.state}})}makeBlock(e,t,i,n){return{type:e,sizes:wc(t,i),config:n,actions:(t&&this.makeActions(e,t))??[],id:t?.id,key:t?.key}}ensureRootBlock(e){let t;if(e.type===De.BLOCK_ROOT?(e.config?.rootConfig&&u.customPostType?.height&&(e.config.rootConfig.height=this.makeRootHeight(u.customPostType?.height)),t=e):t=this.wrapRoot(void 0,[e]),!t)throw new Error("Could not create root block");return t}};fs=new WeakMap;function Oy(r){if(typeof r=="string")throw new Error("Root element cannot be a string")}var Fy=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+=Fy(i);return e+=`</${r.type}>`,e};function k0(r){return" ".repeat(r)}function S0(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+=k0(t),n!==0&&(e+="<"),e+=o,n!==i.length-1&&(e+=`>
2
- `),!a&&o.indexOf("</")===-1&&o.charAt(o.length-1)!=="/"&&t++}return e}var _e,My,gs,Bc,hs,ft=class{constructor(e,t,i,n,o){l(this,_e);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.assets);this.effects=[];l(this,hs,!1);this.component=e,this.event=t,this.state={__renderState:{},...i},this.metadata=n,this.state.__realtimeChannels&&(this.realtimeChannels=this.state.__realtimeChannels);let a=Be({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=S(this,_e,gs).call(this),t={type:this.component,props:e,children:[]},i=await this.processBlock(t);if(Oy(i),this.transformer.createBlocksElementOrThrow(i),this.isUserActionRender&&this.blockRenderEventId){let n=this.actions.get(this.blockRenderEventId);n&&await n(this.event.data)}for(let n of this.pendingHooks)await n();this.buildNextState(),S(this,_e,My).call(this)}async buildBlocksUI(){let e=S(this,_e,gs).call(this),t={type:this.component,props:e,children:[]},i=await this.renderElement(e,t);return this.transformer.ensureRootBlock(i)}async renderElement(e,t){let i=await this.processBlock(t);return Oy(i),(u.debug.emitSnapshots||e.debug.emitSnapshots)&&console.debug(S0(Fy(i))),(u.debug.emitState||e.debug.emitState)&&console.debug(JSON.stringify(this.state,void 0,2)),this.transformer.createBlocksElementOrThrow(i)}async processProps(e){let t=e.props??{},i=["onPress","onMessage"];for(let n of i)if(n in t){let o=t[n],a=o?.name,c=this.makeUniqueActionID(`${e.type}.${a??n}`);this.actions.set(c,o),t[n]=c}}async processBlock(e,t=py(),i=[]){let n=e;if(typeof n.type=="string"){let c=[];for(let m=0;m<n.children.length;m++){let b=n.children[m];b!=null&&c.push(await this.processBlock(b,t,[...i,`${n.type}.${m}`]))}let p=c.flat(),f=S(this,_e,Bc).call(this,p);return await this.processProps(n),{type:n.type,props:n.props,children:f}}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),f={...S(this,_e,gs).call(this),...n.props,children:p},v;for(;v===void 0;)try{v=await n.type(f,S(this,_e,gs).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===Uc.RENDER_INITIAL:!1}get isUserActionRender(){return this.event?this.event.type===Uc.RENDER_USER_ACTION:!1}get isEffectRender(){return this.event?this.event.type===Uc.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,hs)||(d(this,hs,!0),this.effects.push({type:Ry.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:Ry.EFFECT_REALTIME_SUB,realtimeSubscriptions:{subscriptionIds:this.realtimeChannels}}]:[]}getEffects(){return[...ki(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}:{}}}};_e=new WeakSet,My=function(){this.actions.clear(),this.currentComponentKey=[],this.currentHookIndex=0,this.pendingHooks=[],this.realtimeChannels=[],this.realtimeUpdated=!1},gs=function(){let e={...le(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,uiEnvironment:{timezone:this.metadata[D.Timezone]?.values[0],locale:this.metadata[D.Language]?.values[0],dimensions:this.dimensions},...this.hooks};return e.debug.effects=this,e},Bc=function(e){let t=[];for(let i of e)typeof i=="string"?t.push(i):i.type==="__fragment"?t.push(...S(this,_e,Bc).call(this,i.children)):t.push(i);return t},hs=new WeakMap;async function I0(r,e){let t=u.customPostType;if(!t)throw new Error("Custom post type not registered");let i=new ft((o,a)=>t.render(a),r.blocks,r.state,e,r.dimensions),n=await i.render();return C0.fromJSON({state:i.state,blocks:{ui:n},effects:i.getEffects()})}function Ly(r){r.provides(P0),U("RenderPost",I0)}import{GetFieldsResponse as w0,InstallationSettingsDefinition as x0}from"@devvit/protos";async function A0(){if(!u.installationSettings)throw new Error("Installation settings were not defined.");return w0.fromJSON({fields:{fields:pt(u.installationSettings)}})}async function T0(r,e){return gd(r,u.installationSettings,e)}function Uy(r){r.provides(x0),U("GetSettingsFields",A0),U("ValidateForm",T0)}import{ContextActionDefinition as E0,ContextActionList as R0,ContextActionResponse as O0}from"@devvit/protos";var By=r=>`menuItem.${r}`;function Dc(r){return u.menuItems.find((e,t)=>By(t)===r)}async function F0(r,e){let t=u.menuItems;if(!t.length)throw new Error("No menu items registered.");let i=t.map((n,o)=>({actionId:By(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}));return R0.fromJSON({actions:i})}async function M0(r,e){let t=Dc(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;g(a,"targetId is missing from ContextActionRequest");let c={targetId:a,location:r.comment?"comment":r.post?"post":"subreddit"},p=Object.assign(Be({ui:!0,metadata:e}),le(e,n,i),{uiEnvironment:{timezone:e[D.Timezone]?.values[0],locale:e[D.Language]?.values[0]}});return await t.onPress(c,p),O0.fromJSON({effects:ki(p.ui)})}function Dy(r){r.provides(E0),U("GetActions",F0),U("OnAction",M0)}function gt(r){return r?r===!0?!0:r.enabled:!1}import{SchedulerHandlerDefinition as L0}from"@devvit/protos";async function U0(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(Be({metadata:e}),le(e));await i(n,o)}function _y(r){r.provides(L0),U("HandleScheduledAction",U0)}import{HandlerResult as B0,OnAppInstallDefinition as D0,OnAppUpgradeDefinition as _0,OnCommentCreateDefinition as N0,OnCommentDeleteDefinition as q0,OnCommentReportDefinition as H0,OnCommentSubmitDefinition as j0,OnCommentUpdateDefinition as W0,OnModActionDefinition as G0,OnModMailDefinition as V0,OnPostCreateDefinition as z0,OnPostDeleteDefinition as J0,OnPostFlairUpdateDefinition as $0,OnPostReportDefinition as K0,OnPostSubmitDefinition as X0,OnPostUpdateDefinition as Z0,OnPostNsfwUpdateDefinition as Y0,OnPostSpoilerUpdateDefinition as Q0}from"@devvit/protos";var wi;(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})(wi||(wi={}));function ee(r,e){return g(e),async(t,i)=>{let n={...t,type:r},o=Object.assign(Be({metadata:i}),le(i)),a=await Promise.allSettled(e.map(p=>p(n,o))),c=eE(a);if(c)throw c.err;return B0.fromPartial({})}}function Ny(r){for(let e of u.triggerOnEventHandlers.keys())switch(e){case"PostSubmit":r.provides(X0),U("OnPostSubmit",ee("PostSubmit",u.triggerOnEventHandlers.get(e)));break;case"PostCreate":r.provides(z0),U("OnPostCreate",ee("PostCreate",u.triggerOnEventHandlers.get(e)));break;case"PostUpdate":r.provides(Z0),U("OnPostUpdate",ee("PostUpdate",u.triggerOnEventHandlers.get(e)));break;case"PostReport":r.provides(K0),U("OnPostReport",ee("PostReport",u.triggerOnEventHandlers.get(e)));break;case"PostDelete":r.provides(J0),U("OnPostDelete",ee("PostDelete",u.triggerOnEventHandlers.get(e)));break;case"PostFlairUpdate":r.provides($0),U("OnPostFlairUpdate",ee("PostFlairUpdate",u.triggerOnEventHandlers.get(e)));break;case"CommentSubmit":r.provides(j0),U("OnCommentSubmit",ee("CommentSubmit",u.triggerOnEventHandlers.get(e)));break;case"CommentCreate":r.provides(N0),U("OnCommentCreate",ee("CommentCreate",u.triggerOnEventHandlers.get(e)));break;case"CommentUpdate":r.provides(W0),U("OnCommentUpdate",ee("CommentUpdate",u.triggerOnEventHandlers.get(e)));break;case"CommentReport":r.provides(H0),U("OnCommentReport",ee("CommentReport",u.triggerOnEventHandlers.get(e)));break;case"CommentDelete":r.provides(q0),U("OnCommentDelete",ee("CommentDelete",u.triggerOnEventHandlers.get(e)));break;case"AppInstall":r.provides(D0),U("OnAppInstall",ee("AppInstall",u.triggerOnEventHandlers.get(e)));break;case"AppUpgrade":r.provides(_0),U("OnAppUpgrade",ee("AppUpgrade",u.triggerOnEventHandlers.get(e)));break;case"ModAction":r.provides(G0),U("OnModAction",ee("ModAction",u.triggerOnEventHandlers.get(e)));break;case"ModMail":r.provides(V0),U("OnModMail",ee("ModMail",u.triggerOnEventHandlers.get(e)));break;case"PostNsfwUpdate":r.provides(Y0),U("OnPostNsfwUpdate",ee("PostNsfwUpdate",u.triggerOnEventHandlers.get(e)));break;case"PostSpoilerUpdate":r.provides(Q0),U("OnPostSpoilerUpdate",ee("PostSpoilerUpdate",u.triggerOnEventHandlers.get(e)));break;default:throw new Error(`Unknown trigger event: ${e}`)}}function eE(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=>wi.caughtToString(t)).join(`
3
- `))}}var Fb=_n(Zy(),1),Mb=_n(Zc(),1);import{EffectType as QR,HandleUIEventResponse as Yc,UIEventHandlerDefinition as eO}from"@devvit/protos";async function tO(r,e){let t=r.state??{},i=(0,Fb.default)(t),n=Be({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 y=new ft((C,I)=>u.customPostType?.render(I)??null,r.event,r.state,e,void 0);return await y.reconcile(),Yc.fromJSON({state:y.state,effects:y.getEffects()})}let f=u.formDefinitions.get(p);if(!f)throw new Error(`Form with key ${p} not found`);let v,m;if(i.__contextAction){let{actionId:y,thingId:C}=i.__contextAction,I=Dc(y);I?.location==="post"?v=C:I?.location==="comment"&&(m=C)}let b=Object.assign(n,le(e,v,m),{uiEnvironment:{timezone:e[D.Timezone]?.values[0],locale:e[D.Language]?.values[0]}});await f.onSubmit({values:Et(r.event.formSubmitted.results)},b)}else if(r.event?.realtimeEvent){if(u.customPostType){let p=new ft((f,v)=>u.customPostType?.render(v)??null,r.event,r.state,e,void 0);return await p.reconcile(),Yc.fromJSON({state:p.state,effects:p.getEffects()})}}else if(r.event?.toastAction)throw new Error("Toast actions not yet implemented");let o=!(0,Mb.default)(t,i),a=ki(n.ui),c=o?[...a,{type:QR.EFFECT_RERENDER_UI,rerenderUi:{delaySeconds:0}}]:a;return Yc.fromJSON({state:i,effects:c})}function Lb(r){r.provides(eO),U("HandleUIEvent",tO)}import{CustomPostDefinition as nk,UIResponse as pO}from"@devvit/protos";import{EffectType as tm,Form as iO,ToastAppearance as Db}from"@devvit/protos";function Ub(r){let e=r.match(/form\.hook\.(.+)\.0/);if(e?.[1])return e[1]}var Qc=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(Et(n.formSubmitted.results))}}};function em(r,e){let t=Ke({namespace:"useForm",initializer:i=>new Qc(i,r,e)});return rO({id:t.hookId})}function rO(r){return`form.hook.${r.id}.0`}function Bb(r,e){let t=Ub(e);return r.getHook({id:t})}var Dt,Ld=class{constructor(e){l(this,Dt);d(this,Dt,e)}showForm(e,t){let i=Bb(s(this,Dt),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=iO.fromPartial({id:e,title:n.title,acceptLabel:n.acceptLabel,cancelLabel:n.cancelLabel,shortDescription:n.description});mr(n.fields),o.fields=pt(n.fields),s(this,Dt).emitEffect(e,{type:tm.EFFECT_SHOW_FORM,showForm:{form:o}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?Db.SUCCESS:Db.NEUTRAL}:t={text:e},s(this,Dt).emitEffect(e.toString(),{type:tm.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,Dt).emitEffect(t,{type:tm.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}};Dt=new WeakMap;import{EffectType as nO,RealtimeSubscriptionStatus as _b}from"@devvit/protos";var _t,nt,Nt,Pr,Ps,im,Ud=class Ud{constructor(e,t){l(this,Ps);l(this,_t);l(this,nt);l(this,Nt);l(this,Pr);d(this,_t,t.context),d(this,nt,!!t.context._devvitContext?.debug.realtime),d(this,Pr,e),d(this,Nt,t.invalidate);let i=t.context.meta[D.App]?.values[0];if(!i)throw Error("useChannel missing app ID metadata");let n=t.context.meta[D.Installation]?.values[0];if(!n)throw Error("useChannel missing install ID from metadata");let o=`${i}:${n}:${e.name}`;if(Object.values(s(this,_t).hooks).filter(c=>c instanceof Ud).some(c=>c.state.channel===o))throw Error(`useChannel channel names must be unique; "${o}" duplicated`);this.state={channel:o,connected:!1,subscribed:!1}}async onUIEvent(e){let t=e.realtimeEvent;if(!(!t||!this.state.subscribed))switch(t.status){case _b.REALTIME_SUBSCRIBED:s(this,nt)&&console.debug(`[realtime] "${this.state.channel}" connected`),this.state.connected=!0,s(this,Nt).call(this),await s(this,Pr).onSubscribed?.();break;case _b.REALTIME_UNSUBSCRIBED:s(this,nt)&&console.debug(`[realtime] "${this.state.channel}" disconnected`),this.state.connected=!1,s(this,Nt).call(this),await s(this,Pr).onUnsubscribed?.();break;default:s(this,nt)&&console.debug(`[realtime] "${this.state.channel}" received message: ${JSON.stringify(e,void 0,2)}`),s(this,Pr).onMessage(t.event?.data??{});break}}async send(e){if(s(this,nt)&&console.debug(`[realtime] "${this.state.channel}" send message: ${JSON.stringify(e,void 0,2)}`),!this.state.subscribed||!this.state.connected)throw console.debug(`[realtime] "${this.state.channel}" send failed; channel not connected`),Error(`useChannel send failed; "${this.state.channel}" channel not connected`);await s(this,_t).devvitContext.realtime.send(this.state.channel,e)}get status(){return this.state.subscribed&&this.state.connected?2:this.state.subscribed&&!this.state.connected?1:!this.state.subscribed&&this.state.connected?3:4}subscribe(){this.state.subscribed||(s(this,nt)&&console.debug(`[realtime] "${this.state.channel}" subscribed`),this.state.subscribed=!0,s(this,Nt).call(this),S(this,Ps,im).call(this))}unsubscribe(){this.state.subscribed&&(s(this,nt)&&console.debug(`[realtime] "${this.state.channel}" unsubscribed`),this.state.subscribed=!1,s(this,Nt).call(this),S(this,Ps,im).call(this))}};_t=new WeakMap,nt=new WeakMap,Nt=new WeakMap,Pr=new WeakMap,Ps=new WeakSet,im=function(){let e=Object.values(s(this,_t).hooks).filter(t=>t instanceof Ud&&t.state.subscribed).map(t=>t.state.channel);s(this,_t).emitEffect(this.state.channel,{type:nO.EFFECT_REALTIME_SUB,realtimeSubscriptions:{subscriptionIds:e}})};var rm=Ud;function nm(r){if(!r.name||/[^a-zA-Z0-9_]/.test(r.name))throw Error(`useChannel error: The name "${r.name}" you provided for the hook is invalid. Valid names can only contain letters, numbers, and underscores (_).`);let e=`useChannel:${r.name}`;return Ke({id:e,namespace:e,initializer:t=>new rm(r,t)})}import{EffectType as sm}from"@devvit/protos";function Nb(r){return typeof r=="object"&&r!==null&&"__deleted"in r}var Cr,Ei=class Ei{constructor(e,t){l(this,Cr);this._segments=[];this._hooks={};this._prevHookId="";this._effects={};this._changed={};this._touched={};this._requeueEvents=[];this._rootProps={};this._generated={};this._undeliveredHandlers={};this.request=e,this.meta=t,d(this,Cr,e.state??{__cache:{}}),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={__cache:s(this,Cr).__cache??{}};for(let i in this._changed)e[i]=this._state[i];let t=new Set(Object.keys(this._state));return Object.keys(this._hooks).forEach(i=>{i!=="__cache"&&t.delete(i)}),t.forEach(i=>{if(i==="__cache")return;let n={__deleted:!0};this._state[i]=e[i]=n}),e}get hooks(){return this._hooks}get _state(){return s(this,Cr)}set _state(e){this._hooks={},d(this,Cr,e)}push(e){this._segments.push({...e,next:0})}pop(){this._segments.pop()}addUndeliveredEventHandler(e,t){this._undeliveredHandlers[e]=t}addGlobalUndeliveredEventHandler(e,t){Ei.addGlobalUndeliveredEventHandler(e,t)}getHook(e){return this._hooks[e.id]}static addGlobalUndeliveredEventHandler(e,t){Ei._staticUndeliveredHandlers[e]=t}async handleUndeliveredEvent(e){let t={...Ei._staticUndeliveredHandlers,...this._undeliveredHandlers};for(let[i,n]of Object.entries(t))await n(e,this)}emitEffect(e,t){this._effects[e]=t}addToRequeueEvents(...e){this._devvitContext?.debug.blocks&&console.debug("[blocks] 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()}}};Cr=new WeakMap,Ei._staticUndeliveredHandlers={};var Ri=Ei;var qt={};Ri.addGlobalUndeliveredEventHandler("intervals",async(r,e)=>{r.timer&&r.hook&&(delete qt[r.hook],e.emitEffect("timers",{type:sm.EFFECT_SET_INTERVALS,interval:{intervals:qt}}))});var Ht,Oi,Cs,Fi,om=class{constructor(e,t,i){l(this,Ht);l(this,Oi);l(this,Cs);l(this,Fi);this.state={duration:{seconds:0,nanos:0},running:!1};d(this,Oi,i.invalidate),d(this,Ht,i.hookId),d(this,Cs,e),d(this,Fi,i.context);let n=Math.floor(t/1e3),o=t%1e3*1e6;this.state.duration={seconds:n,nanos:o}}onStateLoaded(){this.state.running?qt[s(this,Ht)]={duration:this.state.duration}:delete qt[s(this,Ht)]}async onUIEvent(e){await s(this,Cs).call(this)}start(){qt[s(this,Ht)]={duration:this.state.duration},this.state.running=!0,s(this,Oi).call(this),s(this,Fi).emitEffect("timers",{type:sm.EFFECT_SET_INTERVALS,interval:{intervals:qt}})}stop(){delete qt[s(this,Ht)],this.state.running=!1,s(this,Oi).call(this),s(this,Fi).emitEffect("timers",{type:sm.EFFECT_SET_INTERVALS,interval:{intervals:qt}})}};Ht=new WeakMap,Oi=new WeakMap,Cs=new WeakMap,Fi=new WeakMap;function am(r,e){let t=Ke({namespace:"useInterval",initializer:i=>new om(r,e,i)});return{start:()=>t.start(),stop:()=>t.stop()}}var Ir=class extends Error{};var dm="ServerCallRequired";function qb(r){return r?.message===dm}var Hb=_n(Zc(),1);function um(r){if(r instanceof Error){if(r.message===dm)throw r;return{message:r.message,details:r.stack??""}}else return{message:"Unknown error",details:wi.caughtToString(r)}}var Xe,st,Mi,Is,lm=class{constructor(e,t,i){l(this,Xe);l(this,st);l(this,Mi);l(this,Is);d(this,Xe,!!i.context.devvitContext.debug.useAsync),s(this,Xe)&&console.debug("[useAsync] v1",t),this.state={data:null,load_state:"initial",error:null,depends:null},d(this,st,i.hookId),this.initializer=e,d(this,Mi,i.invalidate),d(this,Is,i.context),this.localDepends=t.depends??null}onStateLoaded(){if(this.state.load_state!=="disabled"&&(s(this,Xe)&&console.debug("[useAsync] async onLoad ",s(this,st),this.state),s(this,Xe)&&console.debug("[useAsync] async onLoad have ",this.localDepends,"and",this.state.depends),!(0,Hb.default)(this.localDepends,this.state.depends)||this.state.load_state==="initial")){s(this,Xe)&&console.debug("[useAsync] attempting to resolve for hookId",s(this,st)),this.state.load_state="loading",this.state.depends=this.localDepends,s(this,Mi).call(this);let e={hook:s(this,st),async:!0,asyncRequest:{requestId:s(this,st)+"-"+JSON.stringify(this.state.depends)}};s(this,Xe)&&console.debug("[useAsync] onLoad requeue"),s(this,Is).addToRequeueEvents(e)}}async onUIEvent(e,t){if(e.asyncRequest){let i={requestId:e.asyncRequest.requestId};try{i.data={value:await this.initializer()}}catch(o){i.error=um(o)}let n={asyncResponse:i,hook:s(this,st)};s(this,Xe)&&console.debug("[useAsync] onReq requeue"),t.addToRequeueEvents(n)}else if(e.asyncResponse){let i=s(this,st)+"-"+JSON.stringify(this.state.depends);e.asyncResponse.requestId===i?(this.state={...this.state,data:e.asyncResponse.data?.value,error:e.asyncResponse.error??null,load_state:e.asyncResponse.error?"error":"loaded"},s(this,Mi).call(this)):s(this,Xe)&&console.debug("[useAsync] onResp skip, stale event")}else throw new Error("Unknown event type")}};Xe=new WeakMap,st=new WeakMap,Mi=new WeakMap,Is=new WeakMap;function sO(r,e={}){let t=Ke({namespace:"useAsync",initializer:i=>new lm(r,e,i),refresh:i=>{i.initializer=r,i.localDepends=e.depends??null}});return{data:t.state.data,error:t.state.error,loading:t.state.load_state==="loading"}}var yt,ws,wr,Li,xr,cm=class{constructor(e,t){this.state={value:null,load_state:"initial",error:null};l(this,yt);l(this,ws);l(this,wr);l(this,Li);l(this,xr);d(this,wr,e),d(this,Li,t.hookId),d(this,yt,t.invalidate),d(this,ws,t.context)}async onUIEvent(){if(this.state.load_state==="loading"&&s(this,xr)){try{this.state.value=await s(this,xr),this.state.load_state="loaded"}catch(e){this.state.load_state="error",this.state.error=um(e)}s(this,yt).call(this)}else console.warn("Invalid state: ",this.state.load_state,s(this,xr))}setter(e){this.state.value=e instanceof Function?e(this.state.value):e,this.state.load_state="loaded",s(this,yt).call(this)}onStateLoaded(){if(this.state.load_state==="loading")throw new Ir;if(this.state.load_state==="error")throw new Error(this.state.error?.message??"Unknown error");if(this.state.load_state==="initial"){let e;try{e=s(this,wr)instanceof Function?s(this,wr).call(this):s(this,wr)}catch(t){console.log("error in loading async",t),this.state.load_state="error",s(this,yt).call(this);return}if(e instanceof Promise){d(this,xr,e),this.state.load_state="loading";let t={asyncRequest:{requestId:s(this,Li)},hook:s(this,Li)};throw s(this,ws).addToRequeueEvents(t),s(this,yt).call(this),new Ir}else this.state.value=e,this.state.load_state="loaded";s(this,yt).call(this)}}};yt=new WeakMap,ws=new WeakMap,wr=new WeakMap,Li=new WeakMap,xr=new WeakMap;function mm(r){let e=Ke({namespace:"useState",initializer:t=>new cm(r,t)});return[e.state.value,e.setter.bind(e)]}var hm={now(){return new Date}};function jb(r){return`__autocache__${r}`}function Wb(r){return`__lock__${r}`}var oO=300,aO=1e3,Bd=5e3,pm=3,Gb=.1,Vb=1e3,dO=3e4;function zb(r){if(r.error)throw new Error(r.error);return r.value}var jt,Wt,Ne,Ui,K,Jb,$b,Kb,fm,Xb,Zb,gm,Yb,Dd=class{constructor(e,t,i=hm){l(this,K);l(this,jt);l(this,Wt,{});l(this,Ne);l(this,Ui);d(this,jt,e),d(this,Ui,t),d(this,Ne,i)}async cache(e,t){var a;(a=s(this,Ui)).__cache??(a.__cache={}),d(this,Wt,s(this,Ui).__cache),S(this,K,Yb).call(this,t);let i=S(this,K,Jb).call(this,t.key);if(i!==void 0)return i;let n=await S(this,K,gm).call(this,t.key),o=await S(this,K,$b).call(this,t,n,e);return zb(o)}};jt=new WeakMap,Wt=new WeakMap,Ne=new WeakMap,Ui=new WeakMap,K=new WeakSet,Jb=function(e){let t=s(this,Wt)[e];if(t){let i=s(this,Ne).now().getTime(),n=t?.error&&t?.errorTime&&t.errorCount<pm&&Math.random()<Gb&&t.errorTime+Vb<i;if(t?.expires&&t.expires<i&&t.checkedAt+Vb<i||n){delete s(this,Wt)[e];return}else return zb(t)}},$b=async function(e,t,i){let n=t?.expires,o=n?S(this,K,Zb).call(this,n):1;return!t||t?.error&&t.errorCount<pm&&Gb>Math.random()||o>Math.random()?S(this,K,Kb).call(this,e,t,i):t},Kb=async function(e,t,i){let n=Wb(e.key),o=s(this,Ne).now().getTime(),a=new Date(o+e.ttl/2);if(await s(this,jt).set(n,"1",{expiration:a,nx:!0}))return S(this,K,Xb).call(this,e.key,t,i,e.ttl);if(t)return t;{let p=s(this,Ne).now();return S(this,K,fm).call(this,p,e.key,e.ttl)}},fm=async function(e,t,i){let n=Math.min(i,aO),o=await S(this,K,gm).call(this,t);if(o)return o;if(s(this,Ne).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,oO)),S(this,K,fm).call(this,e,t,i)},Xb=async function(e,t,i,n){let o=s(this,Ne).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,Ne).now().getTime(),t.errorCount++}return s(this,Wt)[e]=t,await s(this,jt).set(jb(e),JSON.stringify(t),{expiration:new Date(o+dO)}),t.error&&t.errorCount<pm&&await s(this,jt).del(Wb(e)),t},Zb=function(e){let t=s(this,Ne).now().getTime(),i=e-t;return i<0?1:i<1e3?.1:i<2e3?.01:i<3e3?.001:0},gm=async function(e){let t=await s(this,jt).get(jb(e));if(t){let i=JSON.parse(t);return i.checkedAt=s(this,Ne).now().getTime(),s(this,Wt)[e]=i,i}},Yb=function(e){e.ttl<Bd&&(console.warn(`Cache TTL cannot be less than ${Bd} milliseconds! Updating ttl value of ${e.ttl} to ${Bd}.`),e.ttl=Bd)};function Qb(r,e,t=hm){let i=new Dd(r,e,t);return i.cache.bind(i)}var _d=class{buildContext(e,t,i){let n=new ci(i),o=new li(i),a=new hi(i),c=new fi(i),p=new vi(i),f=new yi(i),v=new Ld(e),m=new ui(i),b=new ai,y=new mi(i),C=Qb(a,e._state),I={modLog:n,kvStore:o,redis:a,reddit:c,scheduler:p,settings:f,media:m,assets:b,realtime:y,ui:v,useState:mm,useChannel:nm,useInterval:am,useForm:em,cache:C,dimensions:t.env?.dimensions,uiEnvironment:{timezone:i[D.Timezone]?.values[0],locale:i[D.Language]?.values[0],dimensions:t.env?.dimensions}},A=le(i,t.props?.postId);return A.debug.effects=e,{...A,...I}}};var be=null;function ek(r){return JSON.parse(JSON.stringify(r))}function lO(r){if(!(r!==""&&!/[-.]/.test(r)))throw new Error(`Hook with namespace '${r}' is invalid. Hook namespaces cannot be empty string or contain dashes/dots because they are used as delimiters internally. Please update the hook namespace and try again.`)}function uO(r){return r.blocking||r.resize?!1:!r.hook}function Ke({initializer:r,refresh:e,...t}){if(!be)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.");lO(t.namespace);let i=be.nextHookId(t),n=be;n._touched[i]=!0;let o={hookId:i,invalidate:()=>{n._changed[i]=!0,n._state[i]=n?._hooks[i]?.state},context:be},a=be._state[i]===void 0||Nb(be._state[i]);be._hooks[i]=be._hooks[i]??r(o);let c=be._hooks[i];return e?.(c),a||(c.state=be._state[i]),c.onStateLoaded?.(),a&&c.state!==void 0&&c.state!==null&&o.invalidate(),c}var cO=null,Bi,jd,xs,T,ke,Nd,tk,vm,rk,ym,bm,qd,km,ik,Hd=class{constructor(e){l(this,T);l(this,Bi);l(this,jd,new _d);l(this,xs,new Ii(()=>this._latestRenderContext?.devvitContext?.assets));this._latestRenderContext=null;s(this,T,ke)&&console.debug("[blocks] BlocksHandler v1"),d(this,Bi,e),cO=this}async handle(e,t){let i=new Ri(e,t),n=s(this,jd).buildContext(i,e,t);i.devvitContext=n;let o,a=e.events,p=!e.events?.length||a.some(y=>!y.async),f=a.some(y=>y.blocking),v,m,b=[...a];for(a.length===0&&a.push({}),s(this,T,ke)&&console.debug("[blocks] starting processing events");a.length>0;){s(this,T,ke)&&console.debug("[blocks] processing events loop iteration",a.length);let y=[];if(!a[0].async)y.push(a.shift());else for(;a[0]?.async;)y.push(a.shift());if(!y.length)throw Error("batch must have at least one event");try{if(y[0].async){let I=ek(i._state);await S(this,T,tk).call(this,i,...y),i._state=I}else await S(this,T,rk).call(this,i,...y)}catch(I){if(!qb(I))throw I;if(s(this,T,ke)&&console.debug("[blocks] caught in handler",I),i._latestRenderContent=void 0,m){i._state=m._state,i._changed=v,i._effects=m._effects;let A=b.map(M=>{let ce={...M};return ce.retry=!0,ce});i.addToRequeueEvents(...A);break}else throw console.error("[blocks] unhandled error in handler",I),I}s(this,T,ke)&&console.debug("[blocks] remaining events",i._requeueEvents);let C=[];for(let I of i._requeueEvents){if(!p&&!I.async){s(this,T,ke)&&console.debug("[blocks] NOT reprocessing event in BlocksHandler, sync mismatch A",I),C.push(I);continue}if(p&&I.async&&!f){s(this,T,ke)&&console.debug("[blocks] NOT reprocessing event in BlocksHandler, sync mismatch B",I),C.push(I);continue}s(this,T,ke)&&console.debug("[blocks] reprocessing event in BlocksHandler",I),a.push(I)}i._requeueEvents=C,a.length>0&&(v={...i._changed},m={_state:ek(i._state),_effects:{...i._effects}},b=[...a])}if(p){i._latestRenderContent||(i._latestRenderContent=S(this,T,ym).call(this,s(this,Bi),i.request.props??{},i));let y=i._latestRenderContent;y&&(o=s(this,xs).createBlocksElementOrThrow(y),o=s(this,xs).ensureRootBlock(o))}return{state:i._changedState,effects:i.effects,blocks:o,events:i._requeueEvents}}};Bi=new WeakMap,jd=new WeakMap,xs=new WeakMap,T=new WeakSet,ke=function(){return!!this._latestRenderContext?.devvitContext.debug.blocks},Nd=function(e,...t){e._touched={},S(this,T,ym).call(this,s(this,Bi),e.request.props??{},e);for(let i in e._hooks)e._touched[i]||delete e._hooks[i]},tk=async function(e,...t){S(this,T,Nd).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 S(this,T,vm).call(this,e,i)}))},vm=async function(e,t){uO(t)&&console.warn("Received an event in #attemptHook that does not have an associated hook. This will cause the event to be undelivered and may cause bugs. Make sure that event passes a hook field. Event:",{event:t});let i=e._hooks[t.hook];if(i?.onUIEvent)try{await i.onUIEvent(t,e)}catch(n){throw console.error("Error in event handler",n),n}else await e.handleUndeliveredEvent(t)},rk=async function(e,...t){for(let i of t)s(this,T,ke)&&console.log("[blocks] handling main queue event",i),s(this,T,ke)&&console.log("[blocks] before",e._state),S(this,T,Nd).call(this,e,i),await S(this,T,vm).call(this,e,i),s(this,T,ke)&&console.log("[blocks] after",e._state);S(this,T,Nd).call(this,e)},ym=function(e,t,i){s(this,T,ke)&&console.debug("[blocks] renderRoot"),i._generated={},be=i,this._latestRenderContext=i;try{let n=S(this,T,bm).call(this,e,t,i);if(n.length!==1)throw new Error(`There can only be one root element, received: ${n.length}. Please wrap these elements in a <vstack></vstack> or <hstack></hstack> to continue. Fragments cannot be used as a root element.`);let o=n[0];if(o==="[object Promise]")throw new Error('Root elements cannot be asynchronous. To use data from an async endpoint, please use "const [data] = context.useState(async () => {/** your async code */})".');if(typeof o=="string")throw new Error("The root element must return a valid block, not a string. Try wrapping the element in a <text>your content</text> tag to continue.");return i._latestRenderContent=o,o}catch(n){if(n instanceof Ir)return;throw n}finally{be=null}},bm=function(e,t,i){i.push({namespace:e.name||"anonymous",...t});try{let n=e(t,i.devvitContext);return S(this,T,km).call(this,n,i)}finally{i.pop()}},qd=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}`)),S(this,T,km).call(this,i,t)))},km=function(e,t){if(Array.isArray(e))return S(this,T,qd).call(this,e,t);if(mO(e))if(e.type===void 0){t.push({namespace:"fragment",...e.props});let i=S(this,T,qd).call(this,e.children,t);return t.pop(),i}else if(typeof e.type=="function"){let i={...e.props,children:e.children.flat(1/0)};return S(this,T,bm).call(this,e.type,i,t)}else{t.push({namespace:e.type,...e.props});let i=S(this,T,qd).call(this,e.children,t),n=S(this,T,ik).call(this,e.props??{});return t.pop(),[{type:e.type,children:i,props:n}]}else return[(e??"").toString()]},ik=function(e){let t={};for(let i in e)if(!(typeof e[i]>"u"))if(typeof e[i]=="function"){let n=Ke({namespace:i,key:!1,initializer:({hookId:o})=>({hookId:o,state:null,onUIEvent:a=>e[i](a.userAction?.data)})});t[i]=n.hookId,"captureHookRef"in e[i]&&e[i].captureHookRef()}else{let n=JSON.parse(JSON.stringify(e[i]));n!=null&&(t[i]=n)}return t};function mO(r){return typeof r=="object"&&r!=null&&"type"in r}var fO=[[nk,nk.methods.renderPostContent,(r,e)=>u.customPostType?.render(e)??null]];function gO(r){return async(e,t)=>{let i=new Hd(r);return pO.fromJSON(await i.handle(e,t))}}function sk(r){for(let[e,t,i]of fO)r.provides(e),U(t.name,gO(i))}var Di,As,_i,Ar,Tr,Ni,qi,Er,Gt,Ts,Es,Rr,N,B=class B extends ld{static configure(e){d(this,_i,{...s(this,_i),...e}),gt(e.http)&&this.use(P.HTTPDefinition),(gt(e.kvStore)||gt(e.redis))&&(this.use(P.KVStoreDefinition),this.use(P.RedisAPIDefinition)),gt(e.media)&&this.use(P.MediaServiceDefinition),gt(e.modLog)&&this.use(P.ModlogDefinition),gt(e.redditAPI)&&(this.use(P.FlairDefinition),this.use(P.GraphQLDefinition),this.use(P.LinksAndCommentsDefinition),this.use(P.ListingsDefinition),this.use(P.ModerationDefinition),this.use(P.ModNoteDefinition),this.use(P.NewModmailDefinition),this.use(P.PrivateMessagesDefinition),this.use(P.SubredditsDefinition),this.use(P.PostCollectionsDefinition),this.use(P.UsersDefinition),this.use(P.WidgetsDefinition),this.use(P.WikiDefinition),this.use(P.RedditAPIV2Definition)),gt(e.realtime)&&this.use(P.RealtimeDefinition)}static addMenuItem(e){s(this,qi).push(e)}static addCustomPostType(e){d(this,Ar,e)}static createForm(e,t){let i=`form.${s(this,Tr).size}`;return s(this,Tr).set(i,{form:e,onSubmit:t}),i}static addSchedulerJob(e){if(s(this,N)[P.SchedulerDefinition.fullName]||this.use(P.SchedulerDefinition),s(this,Er).has(e.name))throw new Error(`Job ${e.name} is already defined`);s(this,Er).set(e.name,e.onRun)}static addSettings(e){mr(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,Ni,t),i.length>0&&d(this,Di,i),s(this,N)[P.SettingsDefinition.fullName]||this.use(P.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,Gt).has(e.event)?s(this,Gt).get(e.event)?.push(e.onEvent):s(this,Gt).set(e.event,[e.onEvent]),B}static provide(e){s(this,Es).push(e)}static use(e,t){s(this,Rr)[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,Rr)[e.fullName].handler?.[n.name]?.(n.requestType?.fromPartial(o??{}),a);return s(this,N)[e.fullName]=i,i}static get redditAPIPlugins(){if(!gt(s(this,_i).redditAPI))throw new Error("Reddit API is not enabled. You can enable it by passing `redditAPI: true` to `Devvit.configure`.");return{Flair:s(this,N)[P.FlairDefinition.fullName],GraphQL:s(this,N)[P.GraphQLDefinition.fullName],LinksAndComments:s(this,N)[P.LinksAndCommentsDefinition.fullName],Listings:s(this,N)[P.ListingsDefinition.fullName],Moderation:s(this,N)[P.ModerationDefinition.fullName],ModNote:s(this,N)[P.ModNoteDefinition.fullName],NewModmail:s(this,N)[P.NewModmailDefinition.fullName],PrivateMessages:s(this,N)[P.PrivateMessagesDefinition.fullName],Subreddits:s(this,N)[P.SubredditsDefinition.fullName],PostCollections:s(this,N)[P.PostCollectionsDefinition.fullName],Users:s(this,N)[P.UsersDefinition.fullName],Widgets:s(this,N)[P.WidgetsDefinition.fullName],Wiki:s(this,N)[P.WikiDefinition.fullName]}}static get modLogPlugin(){let e=s(this,N)[P.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,N)[P.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,N)[P.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,N)[P.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,N)[P.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,N)[P.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 settingsPlugin(){let e=s(this,N)[P.SettingsDefinition.fullName];if(!e)throw new Error("Settings must first be configured with `Devvit.addSettings()` before they can be accessed");return e}static get realtimePlugin(){let e=s(this,N)[P.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,qi)}static get customPostType(){return s(this,Ar)}static get formDefinitions(){return s(this,Tr)}static get scheduledJobHandlers(){return s(this,Er)}static get installationSettings(){return s(this,Ni)}static get appSettings(){return s(this,Di)}static get triggerOnEventHandlers(){return s(this,Gt)}static get assets(){return s(this,As)}static get webviewAssets(){return s(this,Ts)}constructor(e){super(e),d(B,As,e.assets??{}),d(B,Ts,e.webviewAssets??{});for(let t in s(B,Rr)){let i=s(B,Rr)[t];i.handler=e.use(i.def,i.options)}s(B,qi).length>0&&Dy(e),s(B,Er).size>0&&_y(e),s(B,Ar)&&(Ly(e),sk(e)),(s(B,Ar)||s(B,Tr).size>0)&&Lb(e),s(B,Ni)&&Uy(e),s(B,Di)&&my(e),s(B,Gt).size>0&&Ny(e);for(let t of s(B,Es))e.provides(t)}};Di=new WeakMap,As=new WeakMap,_i=new WeakMap,Ar=new WeakMap,Tr=new WeakMap,Ni=new WeakMap,qi=new WeakMap,Er=new WeakMap,Gt=new WeakMap,Ts=new WeakMap,Es=new WeakMap,Rr=new WeakMap,N=new WeakMap,B.debug={},l(B,Di),l(B,As,{}),l(B,_i,{}),l(B,Ar),l(B,Tr,new Map),l(B,Ni),l(B,qi,[]),l(B,Er,new Map),l(B,Gt,new Map),l(B,Ts,{}),l(B,Es,[]),l(B,Rr,{}),l(B,N,{});var u=B;(e=>{function r(t,i,...n){return{type:t,props:i,children:n}}e.createElement=r})(u||(u={}));function X(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 Sm;(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"})(Sm||(Sm={}));var ok="text",ak="raw",dk="br",lk="link",uk="c/",ck="p/",mk="r/",pk="u/",fk="@",gk="spoilertext",hk="par",vk="h",yk="hr",bk="blockquote",kk="code",Sk="li",Pk="list",Ck="L",Ik="R",wk="C",xk="table",Ak="embed",Tk="img",Ek="gif",Rk="video";function Ok(r){return{e:Ek,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function Fk(r,e){let t={},i=[];return Object.assign(t,Rs(t,i),Os(t,i),Fs(t,i),Us(t,i),Bs(t,i),Ds(t,i)),e(t),{e:bk,c:i,...r.author&&{a:r.author}}}function Mk(r,e){let t={},i=[];return Object.assign(t,Cm(t,i)),e(t),{e:kk,c:i,...r.language&&{l:r.language}}}function Lk(r){return{e:uk,t:r.permalink}}function Uk(r,e){let t={},i=[];return Object.assign(t,Cm(t,i),Ls(t,i)),e(t),{e:vk,l:r.level,c:i}}function Bk(r){return{e:Ak,u:r.sourceUrl,c:r.contentUrl,x:r.width,y:r.height}}function Dk(){return{e:yk}}function _k(r){return{e:Tk,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function Nk(){return{e:dk}}function qk(r){return{e:lk,t:r.text,u:r.url,...r.formatting&&{f:r.formatting},...r.tooltip&&{a:r.tooltip}}}function Hk(r,e){let t={},i=[];return Object.assign(t,iS(t,i)),e(t),{e:Pk,o:r.ordered,c:i}}function jk(r){let e={},t=[];return Object.assign(e,Rs(e,t),Os(e,t),Fs(e,t),Wd(e,t),Us(e,t),Bs(e,t),Ds(e,t)),r(e),{e:Sk,c:t}}function Wk(r){let e={},t=[];return Object.assign(e,Gd(e,t),Ls(e,t),Pm(e,t),Im(e,t),Ms(e,t)),r(e),{e:hk,c:t}}function Gk(r){return{e:ck,t:r.permalink}}function Vk(r){return{e:ak,t:r}}function zk(r){let e={},t=[];return Object.assign(e,Gd(e,t),Ls(e,t),Pm(e,t)),r(e),{e:gk,c:t}}function Jk(r){return{e:mk,t:r.subredditName,l:r.showPrefix}}function $k(r){let e={},t=[],i=[];return Object.assign(e,nS(e,t,i)),r(e),{e:xk,h:t,c:i}}function Kk(r){let[e,t]=rS();return r(e),{c:t}}function Xk(r,e){let[t,i]=rS();e(t);let n;switch(r.columnAlignment){case"left":n=Ck;break;case"right":n=Ik;break;case"center":n=wk;break}return{...n&&{a:n},...i&&{c:i}}}function Zk(r){let e={},t=[];return Object.assign(e,sS(e,t)),r(e),t}function Yk(r){return{e:ok,t:r.text,...r.formatting&&{f:r.formatting}}}function Qk(r){return{e:pk,t:r.username,l:r.showPrefix}}function eS(r){return{e:fk,t:r.username,l:r.showPrefix}}function tS(r){return{e:Rk,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur},...r.thumbnail&&{p:r.thumbnail},...r.convertToGif&&{gifify:r.convertToGif}}}function rS(){let r={},e=[];return Object.assign(r,Gd(r,e),Ls(r,e),Im(r,e),Ms(r,e)),[r,e]}function Rs(r,e){return{blockQuote(t,i){return e.push(Fk(t,i)),r}}}function Os(r,e){return{codeBlock(t,i){return e.push(Mk(t,i)),r}}}function oS(r,e){return{embed(t){return e.push(Bk(t)),r}}}function Fs(r,e){return{heading(t,i){return e.push(Uk(t,i)),r}}}function Wd(r,e){return{horizontalRule(){return e.push(Dk()),r}}}function Ms(r,e){return{image(t){return e.push(_k(t)),r},animatedImage(t){return e.push(Ok(t)),r}}}function Pm(r,e){return{linebreak(){return e.push(Nk()),r}}}function Ls(r,e){return{link(t){return e.push(qk(t)),r},commentLink(t){return e.push(Lk(t)),r},postLink(t){return e.push(Gk(t)),r},subredditLink(t){return e.push(Jk(t)),r},userLink(t){return e.push(Qk(t)),r},userMention(t){return e.push(eS(t)),r}}}function Us(r,e){return{list(t,i){return e.push(Hk(t,i)),r}}}function iS(r,e){return{item(t){return e.push(jk(t)),r}}}function Bs(r,e){return{paragraph(t){return e.push(Wk(t)),r}}}function Cm(r,e){return{rawText(t){return e.push(Vk(t)),r}}}function Im(r,e){return{spoiler(t){return e.push(zk(t)),r}}}function nS(r,e,t){return{headerCell(i,n){return e.push(Xk(i,n)),r},row(i){return t.push(Zk(i)),r}}}function Ds(r,e){return{table(t){return e.push($k(t)),r}}}function sS(r,e){return{cell(t){return e.push(Kk(t)),r}}}function Gd(r,e){return{text(t){return e.push(Yk(t)),r}}}function aS(r,e){return{video(t){return e.push(tS(t)),r}}}var hO=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},vO=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)},Vd,_s=class{constructor(){Vd.set(this,void 0);let e=[];Object.assign(this,Bs(this,e),Fs(this,e),Wd(this,e),Rs(this,e),Os(this,e),oS(this,e),Us(this,e),Ds(this,e),Ms(this,e),aS(this,e)),hO(this,Vd,{document:e},"f")}build(){return JSON.stringify(vO(this,Vd,"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}};Vd=new WeakMap;function Hi(r){let e;return r instanceof _s?e=r.build():typeof r=="object"?e=JSON.stringify(r):e=r,e}var dS=100,lS=1/0,Or,Fr,Vt,ji,Wi,zd,W=class{constructor(e){l(this,Wi);l(this,Or);l(this,Fr);l(this,Vt);l(this,ji,!1);this.pageSize=dS;this.limit=lS;this.children=[];X(this),this._fetch=e.fetch,this.pageSize=e.pageSize??dS,this.limit=e.limit??lS,d(this,Fr,e.after),d(this,Or,e.before),d(this,Vt,e.more),e.children&&(this.children=e.children)}get hasMore(){return!s(this,ji)||!!(s(this,Fr)||s(this,Or)||s(this,Vt))}async*[Symbol.asyncIterator](){let e=0;for(;;){if(e===this.children.length)if(this.hasMore){if((await S(this,Wi,zd).call(this)).length===0)break}else break;if(yield this.children[e],e++,e===this.limit)break}}setMore(e){d(this,Vt,e)}preventInitialFetch(){d(this,ji,!0)}async all(){for(;this.hasMore&&this.children.length<this.limit;)await S(this,Wi,zd).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 S(this,Wi,zd).call(this);return this.children.slice(0,t)}};Or=new WeakMap,Fr=new WeakMap,Vt=new WeakMap,ji=new WeakMap,Wi=new WeakSet,zd=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,Or),after:s(this,Fr),limit:this.pageSize,more:s(this,Vt)});return this.children.push(...e),d(this,Or,t),d(this,Fr,i),d(this,Vt,n),d(this,ji,!0),e};function yO(r){try{return!0}catch{return!1}}function bO(r){try{return!0}catch{return!1}}var Ns,wm,Le=class{constructor(){}static get(e,t){let i=u.redditAPIPlugins.ModNote;return new W({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=>S(this,Ns,wm).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 S(this,Ns,wm).call(this,n.created)}static async addRemovalNote(e,t){await u.redditAPIPlugins.ModNote.PostRemovalNote(e,t)}};Ns=new WeakSet,wm=function(e){if(g(e.id,"Mod note ID is null or undefined"),g(e.createdAt,"Mod note createdAt is null or undefined"),g(e.type,"Mod note type is null or undefined"),g(e.subreddit,"Mod note subreddit is null or undefined"),g(e.subredditId,"Mod note subredditId is null or undefined"),g(e.operator,"Mod note operator is null or undefined"),g(e.operatorId,"Mod note operatorId is null or undefined"),g(e.user,"Mod note user is null or undefined"),g(e.userId,"Mod note userId is null or undefined"),g(e.userNoteData,"Mod note userNote is null or undefined"),g(e.modActionData,"Mod note modAction is null or undefined"),!yO(e.userNoteData?.label??""))throw new Error(`Invalid user note label: ${e.userNoteData?.label}`);if(!bO(e.type))throw new Error(`Invalid mod note type: ${e.type}`);return{id:e.id,user:{id:ne(e.userId??""),name:e.user},subreddit:{id:Oe(e.subredditId??""),name:e.subreddit},operator:{id:ne(e.operatorId??""),name:e.operator},createdAt:new Date(e.createdAt*1e3),userNote:{note:e.userNoteData?.note,redditId:he(e.userNoteData?.redditId??""),label:e.userNoteData?.label},type:e.type}},l(Le,Ns);var bt=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 uS=["all","wiki","posts","access","mail","config","flair","channels","chat_config","chat_community","chat_operator"];function kO(r,e,t=!1){let i=t?"%2b":"+";return e.map(n=>(r.includes(n)?i:"-")+n).join(",")}function xm(r){return kO(r,uS,!0)}function cS(r){return r.filter(e=>uS.includes(e))}var SO=(t=>(t.User="USER_FLAIR",t.Post="LINK_FLAIR",t))(SO||{}),Lr,Gi,Vi,zi,Ji,$i,Ki,Xi,Zi,Yi,Qi,Jd,Ze=class Ze{constructor(e,t,i){l(this,Lr);l(this,Gi);l(this,Vi);l(this,zi);l(this,Ji);l(this,$i);l(this,Ki);l(this,Xi);l(this,Zi);l(this,Yi);X(this),g(e.id),g(e.text),d(this,Lr,e.id),d(this,Gi,t),d(this,Vi,e.text),d(this,zi,PO(e.textColor)),d(this,Ji,CO(e.backgroundColor)),d(this,$i,IO(e.allowableContent)),d(this,Ki,e.modOnly),d(this,Xi,e.maxEmojis),d(this,Zi,e.textEditable),d(this,Yi,i)}get id(){return s(this,Lr)}get text(){return s(this,Vi)}get textColor(){return s(this,zi)}get backgroundColor(){return s(this,Ji)}get allowableContent(){return s(this,$i)}get modOnly(){return s(this,Ki)}get maxEmojis(){return s(this,Xi)}get allowUserEdits(){return s(this,Zi)}async delete(){return Ze.deleteFlairTemplate(s(this,Lr),s(this,Gi),s(this,Yi))}async edit(e){return Ze.editFlairTemplate({id:s(this,Lr),subredditName:s(this,Gi),text:e.text??s(this,Vi),allowableContent:e.allowableContent??s(this,$i),backgroundColor:e.backgroundColor??s(this,Ji),maxEmojis:e.maxEmojis??s(this,Xi),modOnly:e.modOnly??s(this,Ki),textColor:e.textColor??s(this,zi),allowUserEdits:e.allowUserEdits??s(this,Zi)},s(this,Yi))}static async createPostFlairTemplate(e,t){var i;return S(i=Ze,Qi,Jd).call(i,{...e,flairType:"LINK_FLAIR"},t)}static async createUserFlairTemplate(e,t){var i;return S(i=Ze,Qi,Jd).call(i,{...e,flairType:"USER_FLAIR"},t)}static async editFlairTemplate(e,t){var i;return S(i=Ze,Qi,Jd).call(i,e,t)}static async getPostFlairTemplates(e,t){return(await u.redditAPIPlugins.Flair.LinkFlair({subreddit:e},t)).flair?.map(o=>new Ze(o,e,t))||[]}static async getUserFlairTemplates(e,t){return(await u.redditAPIPlugins.Flair.UserFlair({subreddit:e},t)).flair?.map(o=>new Ze(o,e,t))||[]}static async deleteFlairTemplate(e,t,i){await u.redditAPIPlugins.Flair.DeleteFlairTemplate({subreddit:e,flairTemplateId:t},i)}};Lr=new WeakMap,Gi=new WeakMap,Vi=new WeakMap,zi=new WeakMap,Ji=new WeakMap,$i=new WeakMap,Ki=new WeakMap,Xi=new WeakMap,Zi=new WeakMap,Yi=new WeakMap,Qi=new WeakSet,Jd=async function(e,t){let{subredditName:i,allowableContent:n="all",backgroundColor:o="transparent",flairType:a="",maxEmojis:c=10,modOnly:p=!1,text:f,textColor:v="dark",allowUserEdits:m=!1,id:b=""}=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:f,textColor:v,textEditable:m,flairTemplateId:b,cssClass:"",overrideCss:!1},t);return new Ze(C,i,t)},l(Ze,Qi);var de=Ze;function qs(r){return{flairCssClass:r.flairCssClass,user:r.user,flairText:r.flairText}}var zt,Am,Tm,Mr=class Mr{static async getUserFlairBySubreddit(e,t){return u.redditAPIPlugins.Flair.FlairList(e,t)}static setUserFlair(e,t){var i;return S(i=Mr,zt,Am).call(i,e,t)}static setPostFlair(e,t){var i;return S(i=Mr,zt,Am).call(i,{...e,postId:ge(e.postId)},t)}static async removePostFlair(e,t,i){var n;return S(n=Mr,zt,Tm).call(n,e,t,void 0,i)}static async removeUserFlair(e,t,i){var n;return S(n=Mr,zt,Tm).call(n,e,void 0,t,i)}};zt=new WeakSet,Am=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)},Tm=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(Mr,zt);var Ue=Mr;function PO(r){if(g(r,"Flair text color is required"),r==="light"||r==="dark")return r;throw new Error(`Invalid flair text color: ${r}`)}function CO(r){if(g(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 IO(r){if(r==="all"||r==="text"||r==="emoji")return r;throw new Error(`Invalid allowable content: ${r}`)}import{Block as FO}from"@devvit/protos";var gS=_n(fS(),1);var en,js,tn,Ws,Gs,Vs,zs,Js,rn,$s,Ks,Xs,Zs,Ys,Qs,Jt,eo,to,Br,nn,$t,sn,on,an,Dr,Kt,Xt,dn,Zt,Yt,Qt,kt,ro,io,ln,un,_,H=class H{constructor(e,t){l(this,en);l(this,js);l(this,tn);l(this,Ws);l(this,Gs);l(this,Vs);l(this,zs);l(this,Js);l(this,rn);l(this,$s);l(this,Ks);l(this,Xs);l(this,Zs);l(this,Ys);l(this,Qs);l(this,Jt);l(this,eo);l(this,to);l(this,Br);l(this,nn);l(this,$t);l(this,sn);l(this,on);l(this,an);l(this,Dr);l(this,Kt);l(this,Xt);l(this,dn);l(this,Zt);l(this,Yt);l(this,Qt);l(this,kt);l(this,ro);l(this,io);l(this,ln);l(this,un);l(this,_);X(this),g(e.id,"Post is missing id"),g(e.title,"Post is missing title"),g(e.createdUtc,"Post is missing created date"),g(e.author,"Post is missing author name"),g(e.subreddit,"Post is missing subreddit name"),g(e.subredditId,"Post is missing subreddit id"),g(e.url,"Post is missing url"),g(e.permalink,"Post is missing permalink"),d(this,en,ge(`t3_${e.id}`)),d(this,tn,e.author),d(this,js,e.authorFullname?ne(e.authorFullname):void 0),d(this,Gs,Oe(e.subredditId)),d(this,Vs,e.subreddit),d(this,Xs,e.score??0),d(this,Zs,e.numComments??0),d(this,Ys,e.numReports??0);let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,Ws,i),d(this,Js,e.title),d(this,rn,e.selftext),d(this,$s,e.selftextHtml),d(this,Ks,e.url),d(this,zs,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,Jt,e.approved??!1),d(this,eo,e.approvedAtUtc??0),d(this,to,e.bannedAtUtc??0),d(this,$t,e.removed??!1),d(this,sn,e.removedBy),d(this,on,e.removedByCategory),d(this,Br,e.spam??!1),d(this,nn,e.stickied??!1),d(this,an,e.archived??!1),d(this,Dr,e.edited??!1),d(this,Kt,e.locked??!1),d(this,Xt,e.over18??!1),d(this,dn,e.quarantine??!1),d(this,Zt,e.spoiler),d(this,Yt,e.hidden??!1),d(this,Qt,e.ignoreReports??!1),d(this,kt,e.distinguished),d(this,io,e.secureMedia),d(this,ln,(e.modReports??[]).map(([n])=>n)),d(this,un,(e.userReports??[]).map(([n])=>n)),d(this,_,t),(e.linkFlairBackgroundColor||e.linkFlairCssClass||e.linkFlairText||e.linkFlairType||e.linkFlairTemplateId||e.linkFlairRichtext||e.linkFlairTextColor)&&d(this,ro,{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,en)}get authorId(){return s(this,js)}get authorName(){return s(this,tn)}get subredditId(){return s(this,Gs)}get subredditName(){return s(this,Vs)}get permalink(){return s(this,zs)}get title(){return s(this,Js)}get body(){return s(this,rn)}get bodyHtml(){return s(this,$s)}get url(){return s(this,Ks)}get thumbnail(){return s(this,Qs)}get createdAt(){return s(this,Ws)}get score(){return s(this,Xs)}get numberOfComments(){return s(this,Zs)}get numberOfReports(){return s(this,Ys)}get approved(){return s(this,Jt)}get approvedAtUtc(){return s(this,eo)}get bannedAtUtc(){return s(this,to)}get spam(){return s(this,Br)}get stickied(){return s(this,nn)}get removed(){return s(this,$t)}get removedBy(){return s(this,sn)}get removedByCategory(){return s(this,on)}get archived(){return s(this,an)}get edited(){return s(this,Dr)}get locked(){return s(this,Kt)}get nsfw(){return s(this,Xt)}get quarantined(){return s(this,dn)}get spoiler(){return s(this,Zt)}get hidden(){return s(this,Yt)}get ignoringReports(){return s(this,Qt)}get distinguishedBy(){return s(this,kt)}get comments(){return Q.getComments({postId:this.id},s(this,_))}get flair(){return s(this,ro)}get secureMedia(){return s(this,io)}get userReportReasons(){return s(this,un)}get modReportReasons(){return s(this,ln)}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,sn),removedByCategory:s(this,on),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,ln),userReportReasons:s(this,un)}}isApproved(){return s(this,Jt)}isSpam(){return s(this,Br)}isStickied(){return s(this,nn)}isRemoved(){return s(this,$t)}isArchived(){return s(this,an)}isEdited(){return s(this,Dr)}isLocked(){return s(this,Kt)}isNsfw(){return s(this,Xt)}isQuarantined(){return s(this,dn)}isSpoiler(){return s(this,Zt)}isHidden(){return s(this,Yt)}isIgnoringReports(){return s(this,Qt)}isDistinguishedBy(){return s(this,kt)}async edit(e){let t=await H.edit({id:this.id,...e},s(this,_));d(this,rn,t.body),d(this,Dr,t.edited)}async addComment(e){return Q.submit({id:this.id,...e},s(this,_))}async delete(){return H.delete(this.id,s(this,_))}async approve(){await H.approve(this.id,s(this,_)),d(this,Jt,!0),d(this,$t,!1)}async remove(e=!1){await H.remove(this.id,e,s(this,_)),d(this,$t,!0),d(this,Br,e),d(this,Jt,!1)}async lock(){await H.lock(this.id,s(this,_)),d(this,Kt,!0)}async unlock(){await H.unlock(this.id,s(this,_)),d(this,Kt,!1)}async hide(){await H.hide(this.id,s(this,_)),d(this,Yt,!0)}async unhide(){await H.unhide(this.id,s(this,_)),d(this,Yt,!1)}async markAsNsfw(){await H.markAsNsfw(this.id,s(this,_)),d(this,Xt,!0)}async unmarkAsNsfw(){await H.unmarkAsNsfw(this.id,s(this,_)),d(this,Xt,!1)}async markAsSpoiler(){await H.markAsSpoiler(this.id,s(this,_)),d(this,Zt,!0)}async unmarkAsSpoiler(){await H.unmarkAsSpoiler(this.id,s(this,_)),d(this,Zt,!1)}async sticky(e){await H.sticky(this.id,e,s(this,_))}async unsticky(){await H.unsticky(this.id,s(this,_))}async distinguish(){let{distinguishedBy:e}=await H.distinguish(this.id,!1,s(this,_));d(this,kt,e)}async distinguishAsAdmin(){let{distinguishedBy:e}=await H.distinguish(this.id,!0,s(this,_));d(this,kt,e)}async undistinguish(){let{distinguishedBy:e}=await H.undistinguish(this.id,s(this,_));d(this,kt,e)}async ignoreReports(){await H.ignoreReports(this.id,s(this,_)),d(this,Qt,!0)}async unignoreReports(){await H.unignoreReports(this.id,s(this,_)),d(this,Qt,!1)}async getAuthor(){return w.getByUsername(s(this,tn),s(this,_))}async crosspost(e){return H.crosspost({...e,postId:this.id},s(this,_))}addRemovalNote(e){return Le.addRemovalNote({itemIds:[s(this,en)],...e},s(this,_))}static async getById(e,t){let i=u.redditAPIPlugins.LinksAndComments,n=cr(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 H(a.data,t)}static async submit(e,t){let i=u.redditAPIPlugins.LinksAndComments,n;if("preview"in e){g(t,"Missing metadata in `SubmitPostOptions`");let c=await new ft(()=>e.preview,void 0,{},t,void 0).buildBlocksUI(),p=FO.encode(c).finish();n=await i.Submit({kind:"custom",sr:e.subredditName,richtextJson:(0,gS.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?Hi(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 H.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 H.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=Hi(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 H.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 g(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 g(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 W({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 Hs(o,t)}})}static getHotPosts(e={location:"GLOBAL"},t){let i=u.redditAPIPlugins.Listings;return new W({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 Hs(o,t)}})}static getNewPosts(e,t){let i=u.redditAPIPlugins.Listings;return new W({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 Hs(o,t)}})}static getRisingPosts(e,t){let i=u.redditAPIPlugins.Listings;return new W({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 Hs(o,t)}})}static getPostsByUser(e,t){let i=u.redditAPIPlugins.Users;return new W({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 Hs(o,t)}})}};en=new WeakMap,js=new WeakMap,tn=new WeakMap,Ws=new WeakMap,Gs=new WeakMap,Vs=new WeakMap,zs=new WeakMap,Js=new WeakMap,rn=new WeakMap,$s=new WeakMap,Ks=new WeakMap,Xs=new WeakMap,Zs=new WeakMap,Ys=new WeakMap,Qs=new WeakMap,Jt=new WeakMap,eo=new WeakMap,to=new WeakMap,Br=new WeakMap,nn=new WeakMap,$t=new WeakMap,sn=new WeakMap,on=new WeakMap,an=new WeakMap,Dr=new WeakMap,Kt=new WeakMap,Xt=new WeakMap,dn=new WeakMap,Zt=new WeakMap,Yt=new WeakMap,Qt=new WeakMap,kt=new WeakMap,ro=new WeakMap,io=new WeakMap,ln=new WeakMap,un=new WeakMap,_=new WeakMap;var z=H;function Hs(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 MO=(q=>(q.Custom="CUSTOM",q.Reddit="REDDIT",q.Instagram="INSTAGRAM",q.Twitter="TWITTER",q.Tiktok="TIKTOK",q.Twitch="TWITCH",q.Facebook="FACEBOOK",q.Youtube="YOUTUBE",q.Tumblr="TUMBLR",q.Spotify="SPOTIFY",q.Soundcloud="SOUNDCLOUD",q.Beacons="BEACONS",q.Linktree="LINKTREE",q.Discord="DISCORD",q.Venmo="VENMO",q.CashApp="CASH_APP",q.Patreon="PATREON",q.Kofi="KOFI",q.Paypal="PAYPAL",q.Cameo="CAMEO",q.Onlyfans="ONLYFANS",q.Substack="SUBSTACK",q.Kickstarter="KICKSTARTER",q.Indiegogo="INDIEGOGO",q.BuyMeACoffee="BUY_ME_A_COFFEE",q.Shopify="SHOPIFY",q))(MO||{}),no,cn,so,oo,ao,lo,uo,er,co,mo,at,_r=class _r{constructor(e,t){l(this,no);l(this,cn);l(this,so);l(this,oo);l(this,ao);l(this,lo);l(this,uo);l(this,er,new Map);l(this,co);l(this,mo);l(this,at);X(this),g(e.id,"User ID is missing or undefined"),g(e.name,"Username is missing or undefined"),g(e.createdUtc,"User is missing created date"),d(this,no,ne(dd(e.id)?e.id:`t2_${e.id}`)),d(this,cn,e.name),d(this,lo,e.over18??!1),d(this,uo,e.isEmployee??!1);let i=new Date(0);if(i.setUTCSeconds(e.createdUtc),d(this,so,i),d(this,oo,e.linkKarma??0),d(this,ao,e.commentKarma??0),e.modPermissions)for(let[n,o]of Object.entries(e.modPermissions))s(this,er).set(n,cS(o));d(this,co,new URL(e.subreddit?.url??"","https://www.reddit.com").toString()),d(this,mo,e.subreddit?.url??""),d(this,at,t)}get id(){return s(this,no)}get username(){return s(this,cn)}get createdAt(){return s(this,so)}get linkKarma(){return s(this,oo)}get commentKarma(){return s(this,ao)}get nsfw(){return s(this,lo)}get isAdmin(){return s(this,uo)}get modPermissions(){return s(this,er)}get url(){return s(this,co)}get permalink(){return s(this,mo)}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,er).has(e))return s(this,er).get(e);let t=await _r.getSubredditUsersByType({subredditName:e,type:"moderators",username:this.username},s(this,at)).all();if(t.length===0)return[];let i=t[0].modPermissions.get(e)??[];return i.length>0&&s(this,er).set(e,i),i}getComments(e){return Q.getCommentsByUser({username:this.username,...e},s(this,at))}getPosts(e){return z.getPostsByUser({username:this.username,...e},s(this,at))}async getUserFlairBySubreddit(e){let t=await Ue.getUserFlairBySubreddit({subreddit:e,name:s(this,cn)},s(this,at));return t.users[0]?qs(t.users[0]):void 0}getSnoovatarUrl(){return _r.getSnoovatarUrl(this.username,s(this,at))}async getSocialLinks(){let i=await bt.query("GetUserSocialLinks","2aca18ef5f4fc75fb91cdaace3e9aeeae2cb3843b5c26ad511e6f01b8521593a",{name:this.username},s(this,at));return i.data?.user?.profile?.socialLinks?i.data.user.profile.socialLinks.map(n=>({...n,handle:n.handle??void 0})):[]}static async getById(e,t){let o=(await u.redditAPIPlugins.Users.UserDataByAccountIds({ids:e},t))?.users?.[e]?.name;return o==null?void 0:_r.getByUsername(o,t)}static async getByUsername(e,t){let n=await u.redditAPIPlugins.Users.UserAbout({username:e},t);if(n.data?.id)return new _r(n.data,t)}static async getFromMetadata(e,t){g(t);let i=t?.[e]?.values[0];return i?_r.getById(ne(i),t):Promise.resolve(void 0)}static getSubredditUsersByType(e,t){let i=u.redditAPIPlugins.Subreddits;return new W({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 UO(o,e.subredditName,t)}})}static async createRelationship(e,t){let i=u.redditAPIPlugins.Users,{type:n,subredditName:o,username:a,permissions:c,...p}=e,f=await i.Friend({type:n,subreddit:o,name:a,permissions:c?xm(c):void 0,...p},t);if(f.json?.errors?.length)throw new Error(f.json.errors.join(`
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:xm(i)},n);if(a.json?.errors?.length)throw new Error(a.json.errors.join(`
5
- `))}static async getSnoovatarUrl(e,t){return(await bt.query("GetSnoovatarUrlByName","c47fd42345af268616d2d8904b56856acdc05cf61d3650380f539ad7d596ac0c",{username:e},t)).data?.redditorInfoByName?.snoovatarIcon?.url}static getOverview(e,t){let i=u.redditAPIPlugins.Users;return new W({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 LO(o,t)}})}};no=new WeakMap,cn=new WeakMap,so=new WeakMap,oo=new WeakMap,ao=new WeakMap,lo=new WeakMap,uo=new WeakMap,er=new WeakMap,co=new WeakMap,mo=new WeakMap,at=new WeakMap;var w=_r;function LO(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 Q(i.data,e);throw new Error(`Type ${i.kind} is not supported`)}),before:r.data.before,after:r.data.after}}async function UO(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=>(g(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;g(m,"User id is missing from listing");let b=p[m];return g(b,"User data is missing from response"),new w({id:m,name:b.name,linkKarma:b.linkKarma,commentKarma:b.commentKarma,createdUtc:b.createdUtc,over18:b.profileOver18,snoovatarSize:[],modPermissions:{[e]:v.data?.modPermissions??[]}},t)}),before:r.data.before,after:r.data.after}}var Nr,po,mn,pn,fo,go,fn,ho,vo,gn,tr,yo,bo,qr,rr,ir,St,Hr,Pt,ko,So,Po,Co,Io,wo,xo,te,dt,Kd,Xd,G=class G{constructor(e,t){l(this,Nr);l(this,po);l(this,mn);l(this,pn);l(this,fo);l(this,go);l(this,fn);l(this,ho);l(this,vo);l(this,gn);l(this,tr);l(this,yo);l(this,bo);l(this,qr);l(this,rr);l(this,ir);l(this,St);l(this,Hr);l(this,Pt);l(this,ko);l(this,So);l(this,Po);l(this,Co);l(this,Io);l(this,wo);l(this,xo);l(this,te);var n;X(this),g(e.id,"Comment id is null or undefined"),g(e.body,"Comment body is null or undefined"),g(e.createdUtc,"Comment is missing created date"),g(e.author,"Comment author is null or undefined"),g(e.parentId,"Comment parentId is null or undefined"),g(e.linkId,"Comment linkId is null or undefined"),g(e.permalink,"Comment permalink is null or undefined"),g(e.subreddit,"Comment is missing subreddit name"),g(e.subredditId,"Comment is missing subreddit id"),d(this,Nr,ri(`t1_${e.id}`)),d(this,po,e.authorFullname?ne(e.authorFullname):void 0),d(this,mn,e.author),d(this,pn,e.body),d(this,ho,Oe(e.subredditId)),d(this,vo,e.subreddit),d(this,go,cc(e.parentId)?ri(e.parentId):ge(e.parentId)),d(this,fn,ge(e.linkId)),d(this,qr,e.edited??!1),d(this,rr,e.locked??!1),d(this,ir,e.removed??!1),d(this,St,e.stickied??!1),d(this,tr,e.approved??!1),d(this,yo,e.approvedAtUtc??0),d(this,bo,e.bannedAtUtc??0),d(this,Hr,e.spam??!1),d(this,Pt,e.distinguished),d(this,ko,e.numReports??0),d(this,So,e.collapsedBecauseCrowdControl??!1),d(this,Po,e.score??0),d(this,Co,e.permalink),d(this,xo,new URL(e.permalink??"","https://www.reddit.com/").toString()),d(this,Io,(e.modReports??[]).map(([o])=>o)),d(this,wo,(e.userReports??[]).map(([o])=>o));let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,fo,i),d(this,gn,S(n=G,dt,Kd).call(n,{postId:s(this,fn),commentId:s(this,Nr)},t)),d(this,te,t)}get id(){return s(this,Nr)}get authorId(){return s(this,po)}get authorName(){return s(this,mn)}get subredditId(){return s(this,ho)}get subredditName(){return s(this,vo)}get body(){return s(this,pn)}get createdAt(){return s(this,fo)}get parentId(){return s(this,go)}get postId(){return s(this,fn)}get replies(){return s(this,gn)}get distinguishedBy(){return s(this,Pt)}get locked(){return s(this,rr)}get stickied(){return s(this,St)}get removed(){return s(this,ir)}get approved(){return s(this,tr)}get approvedAtUtc(){return s(this,yo)}get bannedAtUtc(){return s(this,bo)}get spam(){return s(this,Hr)}get edited(){return s(this,qr)}get numReports(){return s(this,ko)}get collapsedBecauseCrowdControl(){return s(this,So)}get score(){return s(this,Po)}get permalink(){return s(this,Co)}get userReportReasons(){return s(this,wo)}get modReportReasons(){return s(this,Io)}get url(){return s(this,xo)}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,rr)}isApproved(){return s(this,tr)}isRemoved(){return s(this,ir)}isSpam(){return s(this,Hr)}isStickied(){return s(this,St)}isDistinguished(){return!!s(this,Pt)}isEdited(){return s(this,qr)}async delete(){return G.delete(this.id,s(this,te))}async edit(e){let t=await G.edit({id:this.id,...e},s(this,te));return d(this,pn,t.body),d(this,qr,t.edited),this}async approve(){await G.approve(this.id,s(this,te)),d(this,tr,!0),d(this,ir,!1)}async remove(e=!1){await G.remove(this.id,e,s(this,te)),d(this,ir,!0),d(this,Hr,e),d(this,tr,!1)}async lock(){await G.lock(this.id,s(this,te)),d(this,rr,!0)}async unlock(){await G.unlock(this.id,s(this,te)),d(this,rr,!1)}async reply(e){return G.submit({id:this.id,...e},s(this,te))}async getAuthor(){return w.getByUsername(s(this,mn),s(this,te))}async distinguish(e=!1){let{distinguishedBy:t,stickied:i}=await G.distinguish(this.id,e,!1,s(this,te));d(this,Pt,t),d(this,St,i)}async distinguishAsAdmin(e=!1){let{distinguishedBy:t,stickied:i}=await G.distinguish(this.id,e,!0,s(this,te));d(this,Pt,t),d(this,St,i)}async undistinguish(){let{distinguishedBy:e,stickied:t}=await G.undistinguish(this.id,s(this,te));d(this,Pt,e),d(this,St,t)}addRemovalNote(e){return Le.addRemovalNote({itemIds:[s(this,Nr)],...e},s(this,te))}static async getById(e,t){let i=u.redditAPIPlugins.LinksAndComments,n=At(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 G(o.data.children[0].data,t)}static getComments(e,t){var a;let{postId:i,commentId:n,...o}=e;return S(a=G,dt,Kd).call(a,{postId:ge(i),commentId:n?ri(n):void 0,...o},t)}static async edit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:n}=e,o;"richtext"in e&&(o=Hi(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 g(c),new G(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=Hi(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 g(c),new G(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 g(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 g(o),{distinguishedBy:o.distinguished,stickied:!!o.stickied}}static getCommentsByUser(e,t){let i=u.redditAPIPlugins.Users;return new W({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 g(o.data,"Failed to get comments for user"),{children:o.data.children?.map(c=>new G(c.data,t))||[],before:o.data.before,after:o.data.after}}})}};Nr=new WeakMap,po=new WeakMap,mn=new WeakMap,pn=new WeakMap,fo=new WeakMap,go=new WeakMap,fn=new WeakMap,ho=new WeakMap,vo=new WeakMap,gn=new WeakMap,tr=new WeakMap,yo=new WeakMap,bo=new WeakMap,qr=new WeakMap,rr=new WeakMap,ir=new WeakMap,St=new WeakMap,Hr=new WeakMap,Pt=new WeakMap,ko=new WeakMap,So=new WeakMap,Po=new WeakMap,Co=new WeakMap,Io=new WeakMap,wo=new WeakMap,xo=new WeakMap,te=new WeakMap,dt=new WeakSet,Kd=function(e,t,i=0){return new W({limit:e.limit,pageSize:e.pageSize,fetch:async n=>{var b,y;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:M}=S(b=G,dt,Xd).call(b,A.json.data.things,e.postId,e,t);return{children:M,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),S(y=G,dt,Xd).call(y,v,p??e.postId,e,t,i)}})},Xd=function(e,t,i,n,o=0){var f,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 b=m.data.parentId?p[m.data.parentId]:void 0;if(m.kind==="t1"){if(m.data.name===t)continue;let y=new G(m.data,n);if(p[y.id]=y,d(y,gn,S(f=G,dt,Kd).call(f,{...i,postId:y.postId,commentId:y.id},n,o)),"replyList"in m.data&&m.data.replyList?.data){let{children:C,more:I}=S(v=G,dt,Xd).call(v,m.data.replyList.data.children,y.id,i,n,o);C.length&&y.replies.children.push(...C),I&&y.replies.setMore(I)}y.replies.preventInitialFetch(),b?b.replies.children.push(y):a.push(y)}else if(m.kind==="more"&&m.data.parentId&&m.data.depth!=null){let y={parentId:cc(m.data.parentId)?ri(m.data.parentId):ge(m.data.parentId),children:m.data.children??[],depth:m.data.depth};b?b.replies.setMore(y):y.parentId===t&&(c=y)}}return{children:a,more:c}},l(G,dt);var Q=G;function md(r,e){let t=u.redditAPIPlugins.Moderation;return new W({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 BO(n)}})}function BO(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:f,srId36:v,description:m,details:b,targetAuthor:y,targetBody:C,targetFullname:I,targetPermalink:A,targetTitle:M}=t.data;g(i,"ModAction from AboutLogResponse is missing id"),g(n,"ModAction from AboutLogResponse is missing mod"),g(o,"ModAction from AboutLogResponse is missing modId36"),g(a,"ModAction from AboutLogResponse is missing createdUtc"),g(c,"ModAction from AboutLogResponse is missing subreddit"),g(p,"ModAction from AboutLogResponse is missing subredditNamePrefixed"),g(f,"ModAction from AboutLogResponse is missing action"),g(v,"ModAction from AboutLogResponse is missing srId36");let ce=new Date(0);return ce.setUTCSeconds(a),{id:i,type:f,moderatorName:n,moderatorId:`t2_${o}`,createdAt:ce,subredditName:c,subredditId:`t5_${v}`,description:m,details:b,target:I?{id:I,author:y,body:C,permalink:A,title:M}:void 0}}),after:r.data.after,before:r.data.before}}var DO=(a=>(a.New="New",a.InProgress="InProgress",a.Archived="Archived",a.Appeals="Appeals",a.JoinRequests="JoinRequests",a.Filtered="Filtered",a))(DO||{}),_O={0:"New",1:"InProgress",2:"Archived",3:"Appeals",4:"JoinRequests",5:"Filtered"},NO=(y=>(y.Highlighted="Highlighted",y.Unhighlighted="Unhighlighted",y.Archived="Archived",y.Unarchived="Unarchived",y.ReportedToAdmins="ReportedToAdmins",y.Muted="Muted",y.Unmuted="Unmuted",y.Banned="Banned",y.Unbanned="Unbanned",y.Approved="Approved",y.Disapproved="Disapproved",y.Filtered="Filtered",y.Unfiltered="Unfiltered",y))(NO||{}),qO={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"},V,J,oe,hS,vS,pd=class{constructor(e){l(this,J);l(this,V);d(this,V,e)}async bulkReadConversations(e,t){let i=u.redditAPIPlugins.NewModmail,{conversationIds:n}=await i.BulkReadConversations({entity:e.join(","),state:t},s(this,V));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,V)),n={};for(let o in i.conversations)n[o]=S(this,J,oe).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,V));return{participantSubreddit:i.participantSubreddit,conversation:S(this,J,oe).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,V));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,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).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,V))}async unreadConversations(e){await u.redditAPIPlugins.NewModmail.Unread({conversationIds:e.join(",")},s(this,V))}async approveConversation(e){let i=await u.redditAPIPlugins.NewModmail.ApproveConversation({conversationId:e},s(this,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async getUnreadCount(){return await u.redditAPIPlugins.NewModmail.UnreadCount({},s(this,V))}async getUserConversations(e){return await u.redditAPIPlugins.NewModmail.UserConversations({conversationId:e},s(this,V))}};V=new WeakMap,J=new WeakSet,oe=function({protoConversation:e,protoMessages:t,protoModActions:i}){return{...e,state:_O[e.state],messages:S(this,J,hS).call(this,e,t),modActions:S(this,J,vS).call(this,e,i)}},hS=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},vS=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:qO[a.actionTypeId]})}return i};var hn,vn,Zd,Ao,To,Eo,Ro,Rm=class Rm{constructor(e,t){l(this,hn);l(this,vn);l(this,Zd);l(this,Ao);l(this,To);l(this,Eo);l(this,Ro);if(X(this),g(e.id,"PrivateMessage: Invalid data, no id"),g(e.name,"PrivateMessage: Invalid data, no name"),g(e.created,"PrivateMessage: Invalid data, no created date"),d(this,hn,he(e.name)),e.author!=null)d(this,vn,{type:"user",username:e.author,id:e.authorFullname?ne(e.authorFullname):void 0});else if(e.subreddit!=null)d(this,vn,{type:"subreddit",name:e.subreddit,id:e.subredditId?Oe(e.subredditId):void 0});else throw new Error("PrivateMessage: Invalid data, no author or subreddit");d(this,Ao,e.body??""),d(this,To,e.bodyHtml??"");let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,Eo,i),d(this,Zd,e.parentId?he(e.parentId):void 0),d(this,Ro,t)}static async getMessages(e,t){let i=u.redditAPIPlugins.PrivateMessages;return new W({...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 Rm(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,hn)}get from(){return s(this,vn)}get body(){return s(this,Ao)}get bodyHtml(){return s(this,To)}get created(){return s(this,Eo)}async markAsRead(){await u.redditAPIPlugins.PrivateMessages.ReadMessage({id:s(this,hn)},s(this,Ro))}};hn=new WeakMap,vn=new WeakMap,Zd=new WeakMap,Ao=new WeakMap,To=new WeakMap,Eo=new WeakMap,Ro=new WeakMap;var fr=Rm;var iy=(o=>(o.Reports="reports",o.Spam="spam",o.Modqueue="modqueue",o.Unmoderated="unmoderated",o.Edited="edited",o))(iy||{}),yn,x,Oo,Fo,Mo,Lo,Uo,Bo,Do,_o,No,bn,E,lt=class lt{constructor(e,t){l(this,yn);l(this,x);l(this,Oo);l(this,Fo);l(this,Mo);l(this,Lo);l(this,Uo);l(this,Bo);l(this,Do);l(this,_o);l(this,No);l(this,bn);l(this,E);X(this),g(e.id,"Subreddit id is missing or undefined"),g(e.displayName,"Subreddit name is missing or undefined"),d(this,yn,Oe(`t5_${e.id}`)),d(this,x,e.displayName),g(e.createdUtc,"Subreddit is missing created date");let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,Oo,i),d(this,Fo,HO(e.subredditType)),d(this,Mo,e.title),d(this,Lo,e.description),g(e.lang,"Subreddit is missing language"),d(this,Uo,e.lang),d(this,Bo,e.subscribers??0),d(this,Do,e.activeUserCount??0),d(this,_o,e.over18??!1),d(this,bn,e.url??""),d(this,No,{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:jO(e.submissionType),allowedMediaInComments:(e.allowedMediaInComments??[]).map(WO),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,bn),"https://www.reddit.com").toString()}),d(this,E,t)}get id(){return s(this,yn)}get name(){return s(this,x)}get createdAt(){return s(this,Oo)}get type(){return s(this,Fo)}get title(){return s(this,Mo)}get description(){return s(this,Lo)}get language(){return s(this,Uo)}get numberOfSubscribers(){return s(this,Bo)}get numberOfActiveUsers(){return s(this,Do)}get nsfw(){return s(this,_o)}get settings(){return s(this,No)}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,bn)}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,E))}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,E))}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,E))}getApprovedUsers(e={}){return w.getSubredditUsersByType({type:"contributors",subredditName:s(this,x),...e},s(this,E))}approveUser(e){return w.createRelationship({username:e,subredditName:s(this,x),type:"contributor"},s(this,E))}removeUser(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"contributor"},s(this,E))}getWikiContributors(e={}){return w.getSubredditUsersByType({type:"wikicontributors",subredditName:s(this,x),...e},s(this,E))}addWikiContributor(e){return w.createRelationship({username:e,subredditName:s(this,x),type:"wikicontributor"},s(this,E))}removeWikiContributor(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"wikicontributor"},s(this,E))}getBannedUsers(e={}){return w.getSubredditUsersByType({type:"banned",subredditName:s(this,x),...e},s(this,E))}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,E))}unbanUser(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"banned"},s(this,E))}getBannedWikiContributors(e={}){return w.getSubredditUsersByType({type:"wikibanned",subredditName:s(this,x),...e},s(this,E))}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,E))}unbanWikiContributor(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"wikibanned"},s(this,E))}getModerators(e={}){return w.getSubredditUsersByType({type:"moderators",subredditName:s(this,x),...e},s(this,E))}inviteModerator(e,t){return w.createRelationship({type:"moderator_invite",subredditName:s(this,x),username:e,permissions:t??[]},s(this,E))}revokeModeratorInvite(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"moderator_invite"},s(this,E))}removeModerator(e){return w.removeRelationship({type:"moderator",subredditName:s(this,x),username:e},s(this,E))}setModeratorPermissions(e,t){return w.setModeratorPermissions(e,s(this,x),t,s(this,E))}getMutedUsers(e={}){return w.getSubredditUsersByType({type:"muted",subredditName:s(this,x),...e},s(this,E))}muteUser(e,t){return w.createRelationship({username:e,subredditName:s(this,x),type:"muted",note:t},s(this,E))}unmuteUser(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"muted"},s(this,E))}getModerationLog(e){return md({subredditName:s(this,x),...e},s(this,E))}getUserFlairTemplates(){return de.getUserFlairTemplates(s(this,x),s(this,E))}getPostFlairTemplates(){return de.getPostFlairTemplates(s(this,x),s(this,E))}createPostFlairTemplate(e){return de.createPostFlairTemplate({subredditName:s(this,x),...e},s(this,E))}createUserFlairTemplate(e){return de.createUserFlairTemplate({subredditName:s(this,x),...e},s(this,E))}async getUserFlair(e){if(e?.usernames!==void 0)return{users:await Promise.all(e.usernames.map(async i=>{let n=await Ue.getUserFlairBySubreddit({subreddit:s(this,x),name:i},s(this,E));return qs(n.users[0])}))};{let t=await Ue.getUserFlairBySubreddit({...e,subreddit:s(this,x)},s(this,E));return{next:t.next,prev:t.prev,users:t.users.map(i=>qs(i))}}}getModQueue(e={type:"all"}){return lt.aboutLocation({...e,location:"modqueue",subreddit:s(this,x)},s(this,E))}getReports(e={type:"all"}){return lt.aboutLocation({...e,location:"reports",subreddit:s(this,x)},s(this,E))}getSpam(e={type:"all"}){return lt.aboutLocation({...e,location:"spam",subreddit:s(this,x)},s(this,E))}getUnmoderated(e={type:"all"}){return lt.aboutLocation({...e,location:"unmoderated",subreddit:s(this,x)},s(this,E))}getEdited(e={type:"all"}){return lt.aboutLocation({...e,location:"edited",subreddit:s(this,x)},s(this,E))}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 W({...e,fetch:async o=>{let a=await i.AboutLocation({...o,...e,only:n},t);return yS(a,t)}})}getCommentsAndPostsByIds(e){let t=u.redditAPIPlugins.LinksAndComments;return new W({fetch:async()=>{let i=await t.Info({thingIds:e,subreddits:[s(this,yn)]},s(this,E));return yS(i,s(this,E))}})}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){g(e);let t=e?.[D.Subreddit]?.values[0];return g(t),lt.getById(Oe(t),e)}static async getById(e,t){let o=(await u.redditAPIPlugins.LinksAndComments.Info({thingIds:[e],subreddits:[]},t)).data?.children[0]?.data?.displayName;return g(o),lt.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 lt(n.data,t)}};yn=new WeakMap,x=new WeakMap,Oo=new WeakMap,Fo=new WeakMap,Mo=new WeakMap,Lo=new WeakMap,Uo=new WeakMap,Bo=new WeakMap,Do=new WeakMap,_o=new WeakMap,No=new WeakMap,bn=new WeakMap,E=new WeakMap;var ve=lt;async function ny(r,e){let o=(await bt.query("GetSubredditLeaderboard","18ead70c46b6446d45ecd8b679b16d9a929a933d6ef25d8262a459cb18b72848",{id:r},e)).data?.subredditInfoById?.leaderboard;if(!o)throw new Error("subreddit leaderboard not found");if(!o.summary)throw new Error("subreddit leaderboard summary not found");return{id:o.id,summary:o.summary}}function HO(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 jO(r){if(r==="any"||r==="link"||r==="self")return r;throw new Error(`invalid allowed post type: ${r}`)}function WO(r){if(r==="animated"||r==="giphy"||r==="static"||r==="expression")return r;throw new Error(`invalid comment media type: ${r}`)}function yS(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 Q(a.data,e)}catch{return null}}}async function sy(r,e){return bS("GetVaultContactByAddress","3e2f7966a5c120e64fd2795d06a46595c52d988185be98d3ed71c3f81ae80d2e",{provider:"ethereum",address:r},e)}async function oy(r,e){return bS("GetVaultContactByUserId","a854ddc19d0e22c4f36ed917fdbd568f299f3571427e393aee5e2972080fffe9",{provider:"ethereum",userId:r},e)}async function bS(r,e,t,i){let o=(await bt.query(r,e,t,i))?.data?.vault?.contact;return{provider:o?.provider,userId:ne(o?.userId),address:o?.address,createdAt:o?.createdAt,isActive:o?.isActive}}import{CommunityListWidget_CommunityData as GO,GetWidgetsResponse_WidgetItem as ue}from"@devvit/protos";var qo,Ho,jo,Wo,Fm=class Fm{constructor(e,t,i){l(this,qo);l(this,Ho);l(this,jo);l(this,Wo);X(this),d(this,qo,e.id),d(this,Ho,e.shortName),d(this,jo,t),d(this,Wo,i)}get id(){return s(this,qo)}get name(){return s(this,Ho)}get subredditName(){return s(this,jo)}toJSON(){return{id:this.id,name:this.name,subredditName:this.subredditName}}delete(){return Fm.delete(this.subredditName,this.id,s(this,Wo))}static async getWidgets(e,t){let n=await u.redditAPIPlugins.Widgets.GetWidgets({subreddit:e},t);g(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 Yd(p,e,t));break;case"calendar":a.push(new Qd(p,e,t));break;case"textarea":a.push(new el(p,e,t));break;case"button":a.push(new tl(p,e,t));break;case"community-list":a.push(new rl(p,e,t));break;case"post-flair":a.push(new il(p,e,t));break;case"custom":a.push(new nl(p,e,t));break;case"subreddit-rules":{let f=await u.redditAPIPlugins.Subreddits.SubredditAboutRules({subreddit:e},t);a.push(new Om(f,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 Yd.create(e,t);case"calendar":return Qd.create(e,t);case"textarea":return el.create(e,t);case"button":return tl.create(e,t);case"community-list":return rl.create(e,t);case"post-flair":return il.create(e,t);case"custom":return nl.create(e,t);default:throw new Error("Unknown widget type")}}};qo=new WeakMap,Ho=new WeakMap,jo=new WeakMap,Wo=new WeakMap;var se=Fm,Go,sl=class sl extends se{constructor(t,i,n){super(t,i,n);l(this,Go);d(this,Go,t.data.map(o=>(g(o.url,"Image widget data is missing url"),g(o.height,"Image widget data is missing height"),g(o.width,"Image widget data is missing width"),g(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,Go)}toJSON(){return{...super.toJSON(),images:this.images}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddImageWidget(t,i);return new sl(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateImageWidget(t,i);return new sl(ue.fromJSON(o),t.subreddit,i)}};Go=new WeakMap;var Yd=sl,Vo,zo,Jo,ol=class ol extends se{constructor(t,i,n){super(t,i,n);l(this,Vo);l(this,zo);l(this,Jo);g(t.googleCalendarId,"Calendar widget data is missing googleCalendarId"),g(t.configuration,"Calendar widget data is missing configuration"),g(t.styles,"Calendar widget data is missing styles"),d(this,Vo,t.googleCalendarId),d(this,zo,t.configuration),d(this,Jo,t.styles)}get googleCalendarId(){return s(this,Vo)}get configuration(){return s(this,zo)}get styles(){return s(this,Jo)}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 ol(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCalendarWidget(t,i);return new ol(ue.fromJSON(o),t.subreddit,i)}};Vo=new WeakMap,zo=new WeakMap,Jo=new WeakMap;var Qd=ol,$o,Ko,al=class al extends se{constructor(t,i,n){super(t,i,n);l(this,$o);l(this,Ko);g(t.text,"Textarea widget data is missing text"),g(t.styles,"Textarea widget data is missing styles"),d(this,$o,t.text),d(this,Ko,t.styles)}get text(){return s(this,$o)}get styles(){return s(this,Ko)}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 al(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateTextAreaWidget(t,i);return new al(ue.fromJSON(o),t.subreddit,i)}};$o=new WeakMap,Ko=new WeakMap;var el=al,Xo,Zo,Yo,dl=class dl extends se{constructor(t,i,n){super(t,i,n);l(this,Xo);l(this,Zo);l(this,Yo);g(t.styles,"Button widget data is missing styles"),d(this,Xo,t.buttons),d(this,Zo,t.description??""),d(this,Yo,t.styles)}get buttons(){return s(this,Xo)}get description(){return s(this,Zo)}get styles(){return s(this,Yo)}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 dl(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateButtonWidget(t,i);return new dl(ue.fromJSON(o),t.subreddit,i)}};Xo=new WeakMap,Zo=new WeakMap,Yo=new WeakMap;var tl=dl,Qo,ea,ll=class ll extends se{constructor(t,i,n){super(t,i,n);l(this,Qo);l(this,ea);d(this,Qo,t.data.map(o=>GO.fromJSON(o))),g(t.styles,"Community list widget data is missing styles"),d(this,ea,t.styles)}get communities(){return s(this,Qo)}get styles(){return s(this,ea)}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 ll(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCommunityListWidget(t,i);return new ll(ue.fromJSON(o),t.subreddit,i)}};Qo=new WeakMap,ea=new WeakMap;var rl=ll,ta,ra,ia,ul=class ul extends se{constructor(t,i,n){super(t,i,n);l(this,ta);l(this,ra);l(this,ia);if(g(t.styles,"Post flair widget data is missing styles"),d(this,ta,t.styles),d(this,ra,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,ia,t.display)}get styles(){return s(this,ta)}get templates(){return s(this,ra)}get display(){return s(this,ia)}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 ul(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdatePostFlairWidget(t,i);return new ul(ue.fromJSON(o),t.subreddit,i)}};ta=new WeakMap,ra=new WeakMap,ia=new WeakMap;var il=ul,na,sa,oa,aa,da,cl=class cl extends se{constructor(t,i,n){super(t,i,n);l(this,na);l(this,sa);l(this,oa);l(this,aa);l(this,da);g(t.stylesheetUrl,"Custom widget data is missing stylesheetUrl"),g(t.height,"Custom widget data is missing height"),g(t.css,"Custom widget data is missing css"),d(this,na,t.imageData??[]),d(this,sa,t.text??""),d(this,oa,t.stylesheetUrl),d(this,aa,t.height),d(this,da,t.css)}get images(){return s(this,na)}get text(){return s(this,sa)}get stylesheetUrl(){return s(this,oa)}get height(){return s(this,aa)}get css(){return s(this,da)}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 cl(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCustomWidget(t,i);return new cl(ue.fromJSON(o),t.subreddit,i)}};na=new WeakMap,sa=new WeakMap,oa=new WeakMap,aa=new WeakMap,da=new WeakMap;var nl=cl,la,Om=class extends se{constructor(t,i,n,o){super(i,n,o);l(this,la);let a=t.rules.map(({description:c,priority:p,shortName:f,violationReason:v})=>(g(c,"Subreddit rule is missing description"),g(p,"Subreddit rule is missing priority"),g(f,"Subreddit rule is missing shortName"),g(v,"Subreddit rule is missing violationReason"),{description:c,priority:p,shortName:f,violationReason:v}));d(this,la,a)}get rules(){return s(this,la)}toJSON(){return{...super.toJSON(),rules:this.rules}}};la=new WeakMap;var VO=(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))(VO||{}),Se,Pe,kn,Sn,Pn,Cn,In,Ye,He=class He{constructor(e,t,i,n){l(this,Se);l(this,Pe);l(this,kn);l(this,Sn);l(this,Pn);l(this,Cn);l(this,In);l(this,Ye);X(this),d(this,Se,e),d(this,Pe,t),d(this,kn,i.contentMd),d(this,Sn,i.revisionId),d(this,Pn,new Date(i.revisionDate)),d(this,Cn,i.reason??""),g(i.revisionBy?.data,"Wiki page author details are missing"),d(this,In,new w(i.revisionBy.data,n)),d(this,Ye,n)}get name(){return s(this,Se)}get subredditName(){return s(this,Pe)}get content(){return s(this,kn)}get revisionId(){return s(this,Sn)}get revisionDate(){return s(this,Pn)}get revisionReason(){return s(this,Cn)}get revisionAuthor(){return s(this,In)}toJSON(){return{name:s(this,Se),subredditName:s(this,Pe),content:s(this,kn),revisionId:s(this,Sn),revisionDate:s(this,Pn),revisionReason:s(this,Cn),revisionAuthor:s(this,In).toJSON()}}async update(e,t){return He.updatePage({subredditName:s(this,Pe),page:s(this,Se),content:e,reason:t},s(this,Ye))}async getRevisions(e){return He.getPageRevisions({subredditName:s(this,Pe),page:s(this,Se),...e},s(this,Ye))}async revertTo(e){return He.revertPage(s(this,Pe),s(this,Se),e,s(this,Ye))}async getSettings(){return He.getPageSettings(s(this,Pe),s(this,Se),s(this,Ye))}async updateSettings(e){return He.updatePageSettings({subredditName:s(this,Pe),page:s(this,Se),listed:e.listed,permLevel:e.permLevel},s(this,Ye))}async addEditor(e){return He.addEditor(s(this,Pe),s(this,Se),e,s(this,Ye))}async removeEditor(e){return He.removeEditor(s(this,Pe),s(this,Se),e,s(this,Ye))}static async getPage(e,t,i){let o=await u.redditAPIPlugins.Wiki.GetWikiPage({subreddit:e,page:t},i);return g(o.data,"Failed to get wiki page"),new He(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 He.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),He.getPage(e.subredditName,e.page,t)}static getPageRevisions(e,t){let i=u.redditAPIPlugins.Wiki;return new W({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 zO(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 g(o.data,"Failed to get wiki page settings"),new ml(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 g(n.data,"Failed to update wiki page settings"),new ml(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)}};Se=new WeakMap,Pe=new WeakMap,kn=new WeakMap,Sn=new WeakMap,Pn=new WeakMap,Cn=new WeakMap,In=new WeakMap,Ye=new WeakMap;var ye=He,wn,xn,An,Tn,En,Rn,Mm=class{constructor(e,t){l(this,wn);l(this,xn);l(this,An);l(this,Tn);l(this,En);l(this,Rn);d(this,wn,e.id),d(this,xn,e.page),d(this,An,new Date(e.timestamp)),g(e.author?.data,"Wiki page revision author details are missing"),d(this,Tn,new w(e.author.data,t)),d(this,En,e.reason??""),d(this,Rn,e.revisionHidden??!1)}get id(){return s(this,wn)}get page(){return s(this,xn)}get date(){return s(this,An)}get author(){return s(this,Tn)}get reason(){return s(this,En)}get hidden(){return s(this,Rn)}toJSON(){return{id:s(this,wn),page:s(this,xn),date:s(this,An),author:s(this,Tn).toJSON(),reason:s(this,En),hidden:s(this,Rn)}}};wn=new WeakMap,xn=new WeakMap,An=new WeakMap,Tn=new WeakMap,En=new WeakMap,Rn=new WeakMap;var On,Fn,Mn,ml=class{constructor(e,t){l(this,On);l(this,Fn);l(this,Mn);d(this,On,e.listed),d(this,Fn,e.permLevel),d(this,Mn,e.editors.map(i=>(g(i.data,"Wiki page editor details are missing"),new w(i.data,t))))}get listed(){return s(this,On)}get permLevel(){return s(this,Fn)}get editors(){return s(this,Mn)}toJSON(){return{listed:s(this,On),permLevel:s(this,Fn),editors:s(this,Mn).map(e=>e.toJSON())}}};On=new WeakMap,Fn=new WeakMap,Mn=new WeakMap;function zO(r,e){return g(r.data?.children,"Wiki page revision listing is missing children"),{children:r.data.children.map(i=>new Mm(i,e)),before:r.data.before,after:r.data.after}}var JO=(t=>(t.Gallery="GALLERY",t.Timeline="TIMELINE",t))(JO||{});function $O(r){return r==="GALLERY"?"GALLERY":"TIMELINE"}var je,Ce,ca,Ln,Un,ma,pa,fa,ga,Ct,ha,va,Bn,ua=class ua{constructor(e,t){l(this,je);l(this,Ce);l(this,ca);l(this,Ln);l(this,Un);l(this,ma);l(this,pa);l(this,fa);l(this,ga);l(this,Ct);l(this,ha);l(this,va);l(this,Bn);g(e.collectionId,"Collection Id is missing or undefined"),g(e.subredditId,"Subreddit Id is missing or undefined"),g(e.title,"Collection title is missing or undefined"),g(e.authorId,"Collection author's id is missing or undefined"),g(e.authorName,"Collection author's id is missing or undefined"),g(e.createdAtUtc,"Collection create timestamp is missing"),g(e.lastUpdateUtc,"Collection last updated timestamp is missing"),d(this,je,t),d(this,Ce,e.collectionId),d(this,ca,e.subredditId),d(this,Ln,e.title),d(this,Un,e.description||""),d(this,ma,e.authorId),d(this,pa,e.authorName),d(this,fa,e.permalink),d(this,ga,e.primaryLinkId),d(this,Ct,e.linkIds||[]),d(this,Bn,$O(e.displayLayout)),d(this,ha,e.createdAtUtc),d(this,va,e.lastUpdateUtc),X(this)}get id(){return s(this,Ce)}get subredditId(){return s(this,ca)}get title(){return s(this,Ln)}get description(){return s(this,Un)}get authorId(){return s(this,ma)}get authorName(){return s(this,pa)}get permalink(){return s(this,fa)}get primaryLinkId(){return s(this,ga)}get linkIds(){return s(this,Ct)}get createdAtUtc(){return s(this,ha)}get lastUpdateUtc(){return s(this,va)}get displayLayout(){return s(this,Bn)}static async getCollectionById(e,t){let n=await u.redditAPIPlugins.PostCollections.Collection(e,t);return new ua(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 ua(n,t)}static async getCollectionsForSubreddit(e,t){return(await u.redditapiv2Plugin.GetSubredditCollections({srFullname:e.subredditId},t)).collections.map(n=>new ua(n,t))}async addPost(e){await u.redditAPIPlugins.PostCollections.AddPost({collectionId:s(this,Ce),linkFullname:e},s(this,je)),s(this,Ct).push(e)}async removePost(e){await u.redditAPIPlugins.PostCollections.RemovePost({collectionId:s(this,Ce),linkFullname:e},s(this,je)),d(this,Ct,s(this,Ct).filter(i=>i!==e))}async delete(){await u.redditAPIPlugins.PostCollections.Delete({collectionId:s(this,Ce)},s(this,je))}async follow(e){await u.redditAPIPlugins.PostCollections.Follow({collectionId:s(this,Ce),follow:e},s(this,je))}async reorder(e){await u.redditAPIPlugins.PostCollections.Reorder({collectionId:s(this,Ce),linkIds:e.join(",")},s(this,je)),d(this,Ct,e)}async updateTitle(e){await u.redditAPIPlugins.PostCollections.UpdateTitle({collectionId:s(this,Ce),title:e},s(this,je)),d(this,Ln,e)}async updateDescription(e){await u.redditAPIPlugins.PostCollections.UpdateDescription({collectionId:s(this,Ce),description:e},s(this,je)),d(this,Un,e)}async updateLayout(e){await u.redditAPIPlugins.PostCollections.UpdateDisplayLayout({collectionId:s(this,Ce),displayLayout:e},s(this,je)),d(this,Bn,e)}};je=new WeakMap,Ce=new WeakMap,ca=new WeakMap,Ln=new WeakMap,Un=new WeakMap,ma=new WeakMap,pa=new WeakMap,fa=new WeakMap,ga=new WeakMap,Ct=new WeakMap,ha=new WeakMap,va=new WeakMap,Bn=new WeakMap;var pi=ua;var KO=["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"],XO=["border-image","border-image-source","behavior","expression","list-style-image","cursor","content"],ZO=["onload","onerror","onclick","onmouseover"];function YO(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 kS(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*(${KO.join("|")})\\b`,"gi"),t=new RegExp(`(${XO.join("|")})\\s*:\\s*url\\s*\\((['"]?)(.*?)\\2\\)`,"gi"),i=new RegExp(`(${ZO.join("|")})\\s*(=\\s*(['"]?)(.*?)\\3)?`,"gi");r=r.trim().replace(/\s+/g," "),r=YO(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 KH(r,...e){let t="";return r.forEach((i,n)=>{t+=i;let o=e[n];o!==void 0&&(t+=`${o}`)}),t=kS(t),t===void 0?"":`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(t)}`}export{bL as ALL_ICON_NAMES,iy as AboutLocations,tl as ButtonWidget,Qd as CalendarWidget,JO as CollectionDisplayLayout,Q as Comment,rl as CommunityListWidget,nl as CustomWidget,u as Devvit,Ue as Flair,de as FlairTemplate,SO as FlairType,Tt as Hook,Yd as ImageWidget,W as Listing,NO as ModMailActionType,DO as ModMailConversationState,pd as ModMailService,Le as ModNote,z as Post,pi as PostCollection,il as PostFlairWidget,fr as PrivateMessage,_s as RichTextBuilder,mc as SettingScope,MO as SocialLinkType,ve as Subreddit,Om as SubredditRulesWidget,el as TextAreaWidget,w as User,se as Widget,ye as WikiPage,VO as WikiPagePermissionLevel,Mm as WikiPageRevision,ml as WikiPageSettings,qs as convertUserFlairProtoToAPI,md as getModerationLog,ny as getSubredditLeaderboard,sy as getVaultByAddress,oy as getVaultByUserId,KH as svg,sO as useAsync,nm as useChannel,em as useForm,am as useInterval,mm as useState};
1
+ var PS=Object.create;var Um=Object.defineProperty;var CS=Object.getOwnPropertyDescriptor;var IS=Object.getOwnPropertyNames;var wS=Object.getPrototypeOf,xS=Object.prototype.hasOwnProperty;var Bm=r=>{throw TypeError(r)};var h=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var AS=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of IS(e))!xS.call(r,n)&&n!==t&&Um(r,n,{get:()=>e[n],enumerable:!(i=CS(e,n))||i.enumerable});return r};var _n=(r,e,t)=>(t=r!=null?PS(wS(r)):{},AS(e||!r||!r.__esModule?Um(t,"default",{value:r,enumerable:!0}):t,r));var fl=(r,e,t)=>e.has(r)||Bm("Cannot "+t);var s=(r,e,t)=>(fl(r,e,"read from private field"),t?t.call(r):e.get(r)),l=(r,e,t)=>e.has(r)?Bm("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),d=(r,e,t,i)=>(fl(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t),S=(r,e,t)=>(fl(r,e,"access private method"),t);var ae=h((tF,Dm)=>{Dm.exports=function(r){try{return!!r()}catch{return!0}}});var ba=h((rF,_m)=>{var TS=ae();_m.exports=!TS(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var Z=h((iF,Hm)=>{var Nm=ba(),qm=Function.prototype,gl=qm.call,ES=Nm&&qm.bind.bind(gl,gl);Hm.exports=Nm?ES:function(r){return function(){return gl.apply(r,arguments)}}});var Wm=h((nF,jm)=>{var RS=Math.ceil,OS=Math.floor;jm.exports=Math.trunc||function(e){var t=+e;return(t>0?OS:RS)(t)}});var ka=h((sF,Gm)=>{var FS=Wm();Gm.exports=function(r){var e=+r;return e!==e||e===0?0:FS(e)}});var me=h((oF,Vm)=>{var Sa=function(r){return r&&r.Math==Math&&r};Vm.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 jr=h((aF,zm)=>{zm.exports=!1});var Pa=h((dF,$m)=>{var Jm=me(),MS=Object.defineProperty;$m.exports=function(r,e){try{MS(Jm,r,{value:e,configurable:!0,writable:!0})}catch{Jm[r]=e}return e}});var Ca=h((lF,Xm)=>{var LS=me(),US=Pa(),Km="__core-js_shared__",BS=LS[Km]||US(Km,{});Xm.exports=BS});var hl=h((uF,Ym)=>{var DS=jr(),Zm=Ca();(Ym.exports=function(r,e){return Zm[r]||(Zm[r]=e!==void 0?e:{})})("versions",[]).push({version:"3.27.2",mode:DS?"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 Ia=h((cF,Qm)=>{Qm.exports=function(r){return r==null}});var wa=h((mF,ep)=>{var _S=Ia(),NS=TypeError;ep.exports=function(r){if(_S(r))throw NS("Can't call method on "+r);return r}});var Nn=h((pF,tp)=>{var qS=wa(),HS=Object;tp.exports=function(r){return HS(qS(r))}});var Ie=h((fF,rp)=>{var jS=Z(),WS=Nn(),GS=jS({}.hasOwnProperty);rp.exports=Object.hasOwn||function(e,t){return GS(WS(e),t)}});var vl=h((gF,ip)=>{var VS=Z(),zS=0,JS=Math.random(),$S=VS(1 .toString);ip.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+$S(++zS+JS,36)}});var sp=h((hF,np)=>{np.exports=typeof navigator<"u"&&String(navigator.userAgent)||""});var mp=h((vF,cp)=>{var up=me(),yl=sp(),op=up.process,ap=up.Deno,dp=op&&op.versions||ap&&ap.version,lp=dp&&dp.v8,We,xa;lp&&(We=lp.split("."),xa=We[0]>0&&We[0]<4?1:+(We[0]+We[1]));!xa&&yl&&(We=yl.match(/Edge\/(\d+)/),(!We||We[1]>=74)&&(We=yl.match(/Chrome\/(\d+)/),We&&(xa=+We[1])));cp.exports=xa});var bl=h((yF,fp)=>{var pp=mp(),KS=ae();fp.exports=!!Object.getOwnPropertySymbols&&!KS(function(){var r=Symbol();return!String(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&pp&&pp<41})});var kl=h((bF,gp)=>{var XS=bl();gp.exports=XS&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var we=h((kF,vp)=>{var ZS=me(),YS=hl(),hp=Ie(),QS=vl(),eP=bl(),tP=kl(),Wr=ZS.Symbol,Sl=YS("wks"),rP=tP?Wr.for||Wr:Wr&&Wr.withoutSetter||QS;vp.exports=function(r){return hp(Sl,r)||(Sl[r]=eP&&hp(Wr,r)?Wr[r]:rP("Symbol."+r)),Sl[r]}});var kp=h((SF,bp)=>{var iP=we(),nP=iP("toStringTag"),yp={};yp[nP]="z";bp.exports=String(yp)==="[object z]"});var Cl=h((PF,Sp)=>{var Pl=typeof document=="object"&&document.all,sP=typeof Pl>"u"&&Pl!==void 0;Sp.exports={all:Pl,IS_HTMLDDA:sP}});var Y=h((CF,Cp)=>{var Pp=Cl(),oP=Pp.all;Cp.exports=Pp.IS_HTMLDDA?function(r){return typeof r=="function"||r===oP}:function(r){return typeof r=="function"}});var Aa=h((IF,wp)=>{var Ip=Z(),aP=Ip({}.toString),dP=Ip("".slice);wp.exports=function(r){return dP(aP(r),8,-1)}});var qn=h((wF,xp)=>{var lP=kp(),uP=Y(),Ta=Aa(),cP=we(),mP=cP("toStringTag"),pP=Object,fP=Ta(function(){return arguments}())=="Arguments",gP=function(r,e){try{return r[e]}catch{}};xp.exports=lP?Ta:function(r){var e,t,i;return r===void 0?"Undefined":r===null?"Null":typeof(t=gP(e=pP(r),mP))=="string"?t:fP?Ta(e):(i=Ta(e))=="Object"&&uP(e.callee)?"Arguments":i}});var Hn=h((xF,Ap)=>{var hP=qn(),vP=String;Ap.exports=function(r){if(hP(r)==="Symbol")throw TypeError("Cannot convert a Symbol value to a string");return vP(r)}});var wl=h((AF,Rp)=>{var Il=Z(),yP=ka(),bP=Hn(),kP=wa(),SP=Il("".charAt),Tp=Il("".charCodeAt),PP=Il("".slice),Ep=function(r){return function(e,t){var i=bP(kP(e)),n=yP(t),o=i.length,a,c;return n<0||n>=o?r?"":void 0:(a=Tp(i,n),a<55296||a>56319||n+1===o||(c=Tp(i,n+1))<56320||c>57343?r?SP(i,n):a:r?PP(i,n,n+2):(a-55296<<10)+(c-56320)+65536)}};Rp.exports={codeAt:Ep(!1),charAt:Ep(!0)}});var Mp=h((TF,Fp)=>{var CP=me(),IP=Y(),Op=CP.WeakMap;Fp.exports=IP(Op)&&/native code/.test(String(Op))});var It=h((EF,Bp)=>{var Lp=Y(),Up=Cl(),wP=Up.all;Bp.exports=Up.IS_HTMLDDA?function(r){return typeof r=="object"?r!==null:Lp(r)||r===wP}:function(r){return typeof r=="object"?r!==null:Lp(r)}});var pe=h((RF,Dp)=>{var xP=ae();Dp.exports=!xP(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var Al=h((OF,Np)=>{var AP=me(),_p=It(),xl=AP.document,TP=_p(xl)&&_p(xl.createElement);Np.exports=function(r){return TP?xl.createElement(r):{}}});var Tl=h((FF,qp)=>{var EP=pe(),RP=ae(),OP=Al();qp.exports=!EP&&!RP(function(){return Object.defineProperty(OP("div"),"a",{get:function(){return 7}}).a!=7})});var El=h((MF,Hp)=>{var FP=pe(),MP=ae();Hp.exports=FP&&MP(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Qe=h((LF,jp)=>{var LP=It(),UP=String,BP=TypeError;jp.exports=function(r){if(LP(r))return r;throw BP(UP(r)+" is not an object")}});var Ge=h((UF,Wp)=>{var DP=ba(),Ea=Function.prototype.call;Wp.exports=DP?Ea.bind(Ea):function(){return Ea.apply(Ea,arguments)}});var jn=h((BF,Gp)=>{var Rl=me(),_P=Y(),NP=function(r){return _P(r)?r:void 0};Gp.exports=function(r,e){return arguments.length<2?NP(Rl[r]):Rl[r]&&Rl[r][e]}});var Ol=h((DF,Vp)=>{var qP=Z();Vp.exports=qP({}.isPrototypeOf)});var Fl=h((_F,zp)=>{var HP=jn(),jP=Y(),WP=Ol(),GP=kl(),VP=Object;zp.exports=GP?function(r){return typeof r=="symbol"}:function(r){var e=HP("Symbol");return jP(e)&&WP(e.prototype,VP(r))}});var Ml=h((NF,Jp)=>{var zP=String;Jp.exports=function(r){try{return zP(r)}catch{return"Object"}}});var Ra=h((qF,$p)=>{var JP=Y(),$P=Ml(),KP=TypeError;$p.exports=function(r){if(JP(r))return r;throw KP($P(r)+" is not a function")}});var Oa=h((HF,Kp)=>{var XP=Ra(),ZP=Ia();Kp.exports=function(r,e){var t=r[e];return ZP(t)?void 0:XP(t)}});var Zp=h((jF,Xp)=>{var Ll=Ge(),Ul=Y(),Bl=It(),YP=TypeError;Xp.exports=function(r,e){var t,i;if(e==="string"&&Ul(t=r.toString)&&!Bl(i=Ll(t,r))||Ul(t=r.valueOf)&&!Bl(i=Ll(t,r))||e!=="string"&&Ul(t=r.toString)&&!Bl(i=Ll(t,r)))return i;throw YP("Can't convert object to primitive value")}});var tf=h((WF,ef)=>{var QP=Ge(),Yp=It(),Qp=Fl(),eC=Oa(),tC=Zp(),rC=we(),iC=TypeError,nC=rC("toPrimitive");ef.exports=function(r,e){if(!Yp(r)||Qp(r))return r;var t=eC(r,nC),i;if(t){if(e===void 0&&(e="default"),i=QP(t,r,e),!Yp(i)||Qp(i))return i;throw iC("Can't convert object to primitive value")}return e===void 0&&(e="number"),tC(r,e)}});var Fa=h((GF,rf)=>{var sC=tf(),oC=Fl();rf.exports=function(r){var e=sC(r,"string");return oC(e)?e:e+""}});var et=h(sf=>{var aC=pe(),dC=Tl(),lC=El(),Ma=Qe(),nf=Fa(),uC=TypeError,Dl=Object.defineProperty,cC=Object.getOwnPropertyDescriptor,_l="enumerable",Nl="configurable",ql="writable";sf.f=aC?lC?function(e,t,i){if(Ma(e),t=nf(t),Ma(i),typeof e=="function"&&t==="prototype"&&"value"in i&&ql in i&&!i[ql]){var n=cC(e,t);n&&n[ql]&&(e[t]=i.value,i={configurable:Nl in i?i[Nl]:n[Nl],enumerable:_l in i?i[_l]:n[_l],writable:!1})}return Dl(e,t,i)}:Dl:function(e,t,i){if(Ma(e),t=nf(t),Ma(i),dC)try{return Dl(e,t,i)}catch{}if("get"in i||"set"in i)throw uC("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var Gr=h((zF,of)=>{of.exports=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}}});var La=h((JF,af)=>{var mC=pe(),pC=et(),fC=Gr();af.exports=mC?function(r,e,t){return pC.f(r,e,fC(1,t))}:function(r,e,t){return r[e]=t,r}});var Ua=h(($F,lf)=>{var gC=hl(),hC=vl(),df=gC("keys");lf.exports=function(r){return df[r]||(df[r]=hC(r))}});var Ba=h((KF,uf)=>{uf.exports={}});var Vr=h((XF,pf)=>{var vC=Mp(),mf=me(),yC=It(),bC=La(),Hl=Ie(),jl=Ca(),kC=Ua(),SC=Ba(),cf="Object already initialized",Wl=mf.TypeError,PC=mf.WeakMap,Da,Wn,_a,CC=function(r){return _a(r)?Wn(r):Da(r,{})},IC=function(r){return function(e){var t;if(!yC(e)||(t=Wn(e)).type!==r)throw Wl("Incompatible receiver, "+r+" required");return t}};vC||jl.state?(Ve=jl.state||(jl.state=new PC),Ve.get=Ve.get,Ve.has=Ve.has,Ve.set=Ve.set,Da=function(r,e){if(Ve.has(r))throw Wl(cf);return e.facade=r,Ve.set(r,e),e},Wn=function(r){return Ve.get(r)||{}},_a=function(r){return Ve.has(r)}):(nr=kC("state"),SC[nr]=!0,Da=function(r,e){if(Hl(r,nr))throw Wl(cf);return e.facade=r,bC(r,nr,e),e},Wn=function(r){return Hl(r,nr)?r[nr]:{}},_a=function(r){return Hl(r,nr)});var Ve,nr;pf.exports={set:Da,get:Wn,has:_a,enforce:CC,getterFor:IC}});var Gl=h(hf=>{"use strict";var ff={}.propertyIsEnumerable,gf=Object.getOwnPropertyDescriptor,wC=gf&&!ff.call({1:2},1);hf.f=wC?function(e){var t=gf(this,e);return!!t&&t.enumerable}:ff});var zl=h((YF,vf)=>{var xC=Z(),AC=ae(),TC=Aa(),Vl=Object,EC=xC("".split);vf.exports=AC(function(){return!Vl("z").propertyIsEnumerable(0)})?function(r){return TC(r)=="String"?EC(r,""):Vl(r)}:Vl});var zr=h((QF,yf)=>{var RC=zl(),OC=wa();yf.exports=function(r){return RC(OC(r))}});var Jl=h(kf=>{var FC=pe(),MC=Ge(),LC=Gl(),UC=Gr(),BC=zr(),DC=Fa(),_C=Ie(),NC=Tl(),bf=Object.getOwnPropertyDescriptor;kf.f=FC?bf:function(e,t){if(e=BC(e),t=DC(t),NC)try{return bf(e,t)}catch{}if(_C(e,t))return UC(!MC(LC.f,e,t),e[t])}});var Xl=h((tM,Pf)=>{var $l=pe(),qC=Ie(),Sf=Function.prototype,HC=$l&&Object.getOwnPropertyDescriptor,Kl=qC(Sf,"name"),jC=Kl&&function(){}.name==="something",WC=Kl&&(!$l||$l&&HC(Sf,"name").configurable);Pf.exports={EXISTS:Kl,PROPER:jC,CONFIGURABLE:WC}});var Yl=h((rM,Cf)=>{var GC=Z(),VC=Y(),Zl=Ca(),zC=GC(Function.toString);VC(Zl.inspectSource)||(Zl.inspectSource=function(r){return zC(r)});Cf.exports=Zl.inspectSource});var tu=h((iM,xf)=>{var eu=Z(),JC=ae(),$C=Y(),Na=Ie(),Ql=pe(),KC=Xl().CONFIGURABLE,XC=Yl(),wf=Vr(),ZC=wf.enforce,YC=wf.get,If=String,qa=Object.defineProperty,QC=eu("".slice),eI=eu("".replace),tI=eu([].join),rI=Ql&&!JC(function(){return qa(function(){},"length",{value:8}).length!==8}),iI=String(String).split("String"),nI=xf.exports=function(r,e,t){QC(If(e),0,7)==="Symbol("&&(e="["+eI(If(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),t&&t.getter&&(e="get "+e),t&&t.setter&&(e="set "+e),(!Na(r,"name")||KC&&r.name!==e)&&(Ql?qa(r,"name",{value:e,configurable:!0}):r.name=e),rI&&t&&Na(t,"arity")&&r.length!==t.arity&&qa(r,"length",{value:t.arity});try{t&&Na(t,"constructor")&&t.constructor?Ql&&qa(r,"prototype",{writable:!1}):r.prototype&&(r.prototype=void 0)}catch{}var i=ZC(r);return Na(i,"source")||(i.source=tI(iI,typeof e=="string"?e:"")),r};Function.prototype.toString=nI(function(){return $C(this)&&YC(this).source||XC(this)},"toString")});var sr=h((nM,Af)=>{var sI=Y(),oI=et(),aI=tu(),dI=Pa();Af.exports=function(r,e,t,i){i||(i={});var n=i.enumerable,o=i.name!==void 0?i.name:e;if(sI(t)&&aI(t,o,i),i.global)n?r[e]=t:dI(e,t);else{try{i.unsafe?r[e]&&(n=!0):delete r[e]}catch{}n?r[e]=t:oI.f(r,e,{value:t,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return r}});var ru=h((sM,Tf)=>{var lI=ka(),uI=Math.max,cI=Math.min;Tf.exports=function(r,e){var t=lI(r);return t<0?uI(t+e,0):cI(t,e)}});var Rf=h((oM,Ef)=>{var mI=ka(),pI=Math.min;Ef.exports=function(r){return r>0?pI(mI(r),9007199254740991):0}});var Ha=h((aM,Of)=>{var fI=Rf();Of.exports=function(r){return fI(r.length)}});var Lf=h((dM,Mf)=>{var gI=zr(),hI=ru(),vI=Ha(),Ff=function(r){return function(e,t,i){var n=gI(e),o=vI(n),a=hI(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}};Mf.exports={includes:Ff(!0),indexOf:Ff(!1)}});var nu=h((lM,Bf)=>{var yI=Z(),iu=Ie(),bI=zr(),kI=Lf().indexOf,SI=Ba(),Uf=yI([].push);Bf.exports=function(r,e){var t=bI(r),i=0,n=[],o;for(o in t)!iu(SI,o)&&iu(t,o)&&Uf(n,o);for(;e.length>i;)iu(t,o=e[i++])&&(~kI(n,o)||Uf(n,o));return n}});var ja=h((uM,Df)=>{Df.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Nf=h(_f=>{var PI=nu(),CI=ja(),II=CI.concat("length","prototype");_f.f=Object.getOwnPropertyNames||function(e){return PI(e,II)}});var su=h(qf=>{qf.f=Object.getOwnPropertySymbols});var jf=h((pM,Hf)=>{var wI=jn(),xI=Z(),AI=Nf(),TI=su(),EI=Qe(),RI=xI([].concat);Hf.exports=wI("Reflect","ownKeys")||function(e){var t=AI.f(EI(e)),i=TI.f;return i?RI(t,i(e)):t}});var Vf=h((fM,Gf)=>{var Wf=Ie(),OI=jf(),FI=Jl(),MI=et();Gf.exports=function(r,e,t){for(var i=OI(e),n=MI.f,o=FI.f,a=0;a<i.length;a++){var c=i[a];!Wf(r,c)&&!(t&&Wf(t,c))&&n(r,c,o(e,c))}}});var Jf=h((gM,zf)=>{var LI=ae(),UI=Y(),BI=/#|\.prototype\./,Gn=function(r,e){var t=_I[DI(r)];return t==qI?!0:t==NI?!1:UI(e)?LI(e):!!e},DI=Gn.normalize=function(r){return String(r).replace(BI,".").toLowerCase()},_I=Gn.data={},NI=Gn.NATIVE="N",qI=Gn.POLYFILL="P";zf.exports=Gn});var Vn=h((hM,$f)=>{var ou=me(),HI=Jl().f,jI=La(),WI=sr(),GI=Pa(),VI=Vf(),zI=Jf();$f.exports=function(r,e){var t=r.target,i=r.global,n=r.stat,o,a,c,p,f,v;if(i?a=ou:n?a=ou[t]||GI(t,{}):a=(ou[t]||{}).prototype,a)for(c in e){if(f=e[c],r.dontCallGetSet?(v=HI(a,c),p=v&&v.value):p=a[c],o=zI(i?c:t+(n?".":"#")+c,r.forced),!o&&p!==void 0){if(typeof f==typeof p)continue;VI(f,p)}(r.sham||p&&p.sham)&&jI(f,"sham",!0),WI(a,c,f,r)}}});var au=h((vM,Kf)=>{var JI=nu(),$I=ja();Kf.exports=Object.keys||function(e){return JI(e,$I)}});var Zf=h(Xf=>{var KI=pe(),XI=El(),ZI=et(),YI=Qe(),QI=zr(),ew=au();Xf.f=KI&&!XI?Object.defineProperties:function(e,t){YI(e);for(var i=QI(t),n=ew(t),o=n.length,a=0,c;o>a;)ZI.f(e,c=n[a++],i[c]);return e}});var Qf=h((bM,Yf)=>{var tw=jn();Yf.exports=tw("document","documentElement")});var zn=h((kM,og)=>{var rw=Qe(),iw=Zf(),eg=ja(),nw=Ba(),sw=Qf(),ow=Al(),aw=Ua(),tg=">",rg="<",lu="prototype",uu="script",ng=aw("IE_PROTO"),du=function(){},sg=function(r){return rg+uu+tg+r+rg+"/"+uu+tg},ig=function(r){r.write(sg("")),r.close();var e=r.parentWindow.Object;return r=null,e},dw=function(){var r=ow("iframe"),e="java"+uu+":",t;return r.style.display="none",sw.appendChild(r),r.src=String(e),t=r.contentWindow.document,t.open(),t.write(sg("document.F=Object")),t.close(),t.F},Wa,Ga=function(){try{Wa=new ActiveXObject("htmlfile")}catch{}Ga=typeof document<"u"?document.domain&&Wa?ig(Wa):dw():ig(Wa);for(var r=eg.length;r--;)delete Ga[lu][eg[r]];return Ga()};nw[ng]=!0;og.exports=Object.create||function(e,t){var i;return e!==null?(du[lu]=rw(e),i=new du,du[lu]=null,i[ng]=e):i=Ga(),t===void 0?i:iw.f(i,t)}});var dg=h((SM,ag)=>{var lw=ae();ag.exports=!lw(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype})});var mu=h((PM,ug)=>{var uw=Ie(),cw=Y(),mw=Nn(),pw=Ua(),fw=dg(),lg=pw("IE_PROTO"),cu=Object,gw=cu.prototype;ug.exports=fw?cu.getPrototypeOf:function(r){var e=mw(r);if(uw(e,lg))return e[lg];var t=e.constructor;return cw(t)&&e instanceof t?t.prototype:e instanceof cu?gw:null}});var hu=h((CM,pg)=>{"use strict";var hw=ae(),vw=Y(),yw=It(),bw=zn(),cg=mu(),kw=sr(),Sw=we(),Pw=jr(),gu=Sw("iterator"),mg=!1,ut,pu,fu;[].keys&&(fu=[].keys(),"next"in fu?(pu=cg(cg(fu)),pu!==Object.prototype&&(ut=pu)):mg=!0);var Cw=!yw(ut)||hw(function(){var r={};return ut[gu].call(r)!==r});Cw?ut={}:Pw&&(ut=bw(ut));vw(ut[gu])||kw(ut,gu,function(){return this});pg.exports={IteratorPrototype:ut,BUGGY_SAFARI_ITERATORS:mg}});var Jn=h((IM,gg)=>{var Iw=et().f,ww=Ie(),xw=we(),fg=xw("toStringTag");gg.exports=function(r,e,t){r&&!t&&(r=r.prototype),r&&!ww(r,fg)&&Iw(r,fg,{configurable:!0,value:e})}});var Jr=h((wM,hg)=>{hg.exports={}});var vu=h((xM,vg)=>{"use strict";var Aw=hu().IteratorPrototype,Tw=zn(),Ew=Gr(),Rw=Jn(),Ow=Jr(),Fw=function(){return this};vg.exports=function(r,e,t,i){var n=e+" Iterator";return r.prototype=Tw(Aw,{next:Ew(+!i,t)}),Rw(r,n,!1,!0),Ow[n]=Fw,r}});var bg=h((AM,yg)=>{var Mw=Y(),Lw=String,Uw=TypeError;yg.exports=function(r){if(typeof r=="object"||Mw(r))return r;throw Uw("Can't set "+Lw(r)+" as a prototype")}});var Sg=h((TM,kg)=>{var Bw=Z(),Dw=Qe(),_w=bg();kg.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r=!1,e={},t;try{t=Bw(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set),t(e,[]),r=e instanceof Array}catch{}return function(n,o){return Dw(n),_w(o),r?t(n,o):n.__proto__=o,n}}():void 0)});var bu=h((EM,Og)=>{"use strict";var Nw=Vn(),qw=Ge(),Va=jr(),Eg=Xl(),Hw=Y(),jw=vu(),Pg=mu(),Cg=Sg(),Ww=Jn(),Gw=La(),yu=sr(),Vw=we(),Ig=Jr(),Rg=hu(),zw=Eg.PROPER,Jw=Eg.CONFIGURABLE,wg=Rg.IteratorPrototype,za=Rg.BUGGY_SAFARI_ITERATORS,$n=Vw("iterator"),xg="keys",Kn="values",Ag="entries",Tg=function(){return this};Og.exports=function(r,e,t,i,n,o,a){jw(t,e,i);var c=function(M){if(M===n&&b)return b;if(!za&&M in v)return v[M];switch(M){case xg:return function(){return new t(this,M)};case Kn:return function(){return new t(this,M)};case Ag:return function(){return new t(this,M)}}return function(){return new t(this)}},p=e+" Iterator",f=!1,v=r.prototype,m=v[$n]||v["@@iterator"]||n&&v[n],b=!za&&m||c(n),y=e=="Array"&&v.entries||m,C,I,A;if(y&&(C=Pg(y.call(new r)),C!==Object.prototype&&C.next&&(!Va&&Pg(C)!==wg&&(Cg?Cg(C,wg):Hw(C[$n])||yu(C,$n,Tg)),Ww(C,p,!0,!0),Va&&(Ig[p]=Tg))),zw&&n==Kn&&m&&m.name!==Kn&&(!Va&&Jw?Gw(v,"name",Kn):(f=!0,b=function(){return qw(m,this)})),n)if(I={values:c(Kn),keys:o?b:c(xg),entries:c(Ag)},a)for(A in I)(za||f||!(A in v))&&yu(v,A,I[A]);else Nw({target:e,proto:!0,forced:za||f},I);return(!Va||a)&&v[$n]!==b&&yu(v,$n,b,{name:n}),Ig[e]=b,I}});var ku=h((RM,Fg)=>{Fg.exports=function(r,e){return{value:r,done:e}}});var Bg=h(()=>{"use strict";var $w=wl().charAt,Kw=Hn(),Lg=Vr(),Xw=bu(),Mg=ku(),Ug="String Iterator",Zw=Lg.set,Yw=Lg.getterFor(Ug);Xw(String,"String",function(r){Zw(this,{type:Ug,string:Kw(r),index:0})},function(){var e=Yw(this),t=e.string,i=e.index,n;return i>=t.length?Mg(void 0,!0):(n=$w(t,i),e.index+=n.length,Mg(n,!1))})});var Su=h((MM,Dg)=>{var Qw=ae(),ex=we(),tx=jr(),rx=ex("iterator");Dg.exports=!Qw(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}),tx&&!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[rx]||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 Ng=h((LM,_g)=>{var ix=Aa(),nx=Z();_g.exports=function(r){if(ix(r)==="Function")return nx(r)}});var Ja=h((UM,Hg)=>{var qg=Ng(),sx=Ra(),ox=ba(),ax=qg(qg.bind);Hg.exports=function(r,e){return sx(r),e===void 0?r:ox?ax(r,e):function(){return r.apply(e,arguments)}}});var Gg=h((BM,Wg)=>{var jg=tu(),dx=et();Wg.exports=function(r,e,t){return t.get&&jg(t.get,e,{getter:!0}),t.set&&jg(t.set,e,{setter:!0}),dx.f(r,e,t)}});var Pu=h((DM,Vg)=>{var lx=Ol(),ux=TypeError;Vg.exports=function(r,e){if(lx(e,r))return r;throw ux("Incorrect invocation")}});var Kg=h((_M,$g)=>{"use strict";var zg=pe(),cx=Z(),mx=Ge(),px=ae(),Cu=au(),fx=su(),gx=Gl(),hx=Nn(),vx=zl(),$r=Object.assign,Jg=Object.defineProperty,yx=cx([].concat);$g.exports=!$r||px(function(){if(zg&&$r({b:1},$r(Jg({},"a",{enumerable:!0,get:function(){Jg(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}),$r({},r)[t]!=7||Cu($r({},e)).join("")!=i})?function(e,t){for(var i=hx(e),n=arguments.length,o=1,a=fx.f,c=gx.f;n>o;)for(var p=vx(arguments[o++]),f=a?yx(Cu(p),a(p)):Cu(p),v=f.length,m=0,b;v>m;)b=f[m++],(!zg||mx(c,p,b))&&(i[b]=p[b]);return i}:$r});var Yg=h((NM,Zg)=>{var bx=Ge(),Xg=Qe(),kx=Oa();Zg.exports=function(r,e,t){var i,n;Xg(r);try{if(i=kx(r,"return"),!i){if(e==="throw")throw t;return t}i=bx(i,r)}catch(o){n=!0,i=o}if(e==="throw")throw t;if(n)throw i;return Xg(i),t}});var eh=h((qM,Qg)=>{var Sx=Qe(),Px=Yg();Qg.exports=function(r,e,t,i){try{return i?e(Sx(t)[0],t[1]):e(t)}catch(n){Px(r,"throw",n)}}});var rh=h((HM,th)=>{var Cx=we(),Ix=Jr(),wx=Cx("iterator"),xx=Array.prototype;th.exports=function(r){return r!==void 0&&(Ix.Array===r||xx[wx]===r)}});var dh=h((jM,ah)=>{var Ax=Z(),Tx=ae(),ih=Y(),Ex=qn(),Rx=jn(),Ox=Yl(),nh=function(){},Fx=[],sh=Rx("Reflect","construct"),Iu=/^\s*(?:class|function)\b/,Mx=Ax(Iu.exec),Lx=!Iu.exec(nh),Xn=function(e){if(!ih(e))return!1;try{return sh(nh,Fx,e),!0}catch{return!1}},oh=function(e){if(!ih(e))return!1;switch(Ex(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Lx||!!Mx(Iu,Ox(e))}catch{return!0}};oh.sham=!0;ah.exports=!sh||Tx(function(){var r;return Xn(Xn.call)||!Xn(Object)||!Xn(function(){r=!0})||r})?oh:Xn});var wu=h((WM,lh)=>{"use strict";var Ux=Fa(),Bx=et(),Dx=Gr();lh.exports=function(r,e,t){var i=Ux(e);i in r?Bx.f(r,i,Dx(0,t)):r[i]=t}});var $a=h((GM,ch)=>{var _x=qn(),uh=Oa(),Nx=Ia(),qx=Jr(),Hx=we(),jx=Hx("iterator");ch.exports=function(r){if(!Nx(r))return uh(r,jx)||uh(r,"@@iterator")||qx[_x(r)]}});var xu=h((VM,mh)=>{var Wx=Ge(),Gx=Ra(),Vx=Qe(),zx=Ml(),Jx=$a(),$x=TypeError;mh.exports=function(r,e){var t=arguments.length<2?Jx(r):e;if(Gx(t))return Vx(Wx(t,r));throw $x(zx(r)+" is not iterable")}});var hh=h((zM,gh)=>{"use strict";var Kx=Ja(),Xx=Ge(),Zx=Nn(),Yx=eh(),Qx=rh(),eA=dh(),tA=Ha(),ph=wu(),rA=xu(),iA=$a(),fh=Array;gh.exports=function(e){var t=Zx(e),i=eA(this),n=arguments.length,o=n>1?arguments[1]:void 0,a=o!==void 0;a&&(o=Kx(o,n>2?arguments[2]:void 0));var c=iA(t),p=0,f,v,m,b,y,C;if(c&&!(this===fh&&Qx(c)))for(b=rA(t,c),y=b.next,v=i?new this:[];!(m=Xx(y,b)).done;p++)C=a?Yx(b,o,[m.value,p],!0):m.value,ph(v,p,C);else for(f=tA(t),v=i?new this(f):fh(f);f>p;p++)C=a?o(t[p],p):t[p],ph(v,p,C);return v.length=p,v}});var Au=h((JM,yh)=>{var vh=ru(),nA=Ha(),sA=wu(),oA=Array,aA=Math.max;yh.exports=function(r,e,t){for(var i=nA(r),n=vh(e,i),o=vh(t===void 0?i:t,i),a=oA(aA(o-n,0)),c=0;n<o;n++,c++)sA(a,c,r[n]);return a.length=c,a}});var Ah=h(($M,xh)=>{var or=Z(),Tu=2147483647,Zn=36,Ch=1,Ou=26,dA=38,lA=700,uA=72,cA=128,mA="-",pA=/[^\0-\u007E]/,Ih=/[.\u3002\uFF0E\uFF61]/g,bh="Overflow: input needs wider integers to process",Eu=Zn-Ch,kh=RangeError,fA=or(Ih.exec),Kr=Math.floor,Ru=String.fromCharCode,Sh=or("".charCodeAt),wh=or([].join),wt=or([].push),gA=or("".replace),hA=or("".split),vA=or("".toLowerCase),yA=function(r){for(var e=[],t=0,i=r.length;t<i;){var n=Sh(r,t++);if(n>=55296&&n<=56319&&t<i){var o=Sh(r,t++);(o&64512)==56320?wt(e,((n&1023)<<10)+(o&1023)+65536):(wt(e,n),t--)}else wt(e,n)}return e},Ph=function(r){return r+22+75*(r<26)},bA=function(r,e,t){var i=0;for(r=t?Kr(r/lA):r>>1,r+=Kr(r/e);r>Eu*Ou>>1;)r=Kr(r/Eu),i+=Zn;return Kr(i+(Eu+1)*r/(r+dA))},kA=function(r){var e=[];r=yA(r);var t=r.length,i=cA,n=0,o=uA,a,c;for(a=0;a<r.length;a++)c=r[a],c<128&&wt(e,Ru(c));var p=e.length,f=p;for(p&&wt(e,mA);f<t;){var v=Tu;for(a=0;a<r.length;a++)c=r[a],c>=i&&c<v&&(v=c);var m=f+1;if(v-i>Kr((Tu-n)/m))throw kh(bh);for(n+=(v-i)*m,i=v,a=0;a<r.length;a++){if(c=r[a],c<i&&++n>Tu)throw kh(bh);if(c==i){for(var b=n,y=Zn;;){var C=y<=o?Ch:y>=o+Ou?Ou:y-o;if(b<C)break;var I=b-C,A=Zn-C;wt(e,Ru(Ph(C+I%A))),b=Kr(I/A),y+=Zn}wt(e,Ru(Ph(b))),o=bA(n,m,f==p),n=0,f++}}n++,i++}return wh(e,"")};xh.exports=function(r){var e=[],t=hA(gA(vA(r),Ih,"."),"."),i,n;for(i=0;i<t.length;i++)n=t[i],wt(e,fA(pA,n)?"xn--"+kA(n):n);return wh(e,".")}});var Fu=h((KM,Th)=>{var SA=TypeError;Th.exports=function(r,e){if(r<e)throw SA("Not enough arguments");return r}});var Rh=h((XM,Eh)=>{var PA=we(),CA=zn(),IA=et().f,Mu=PA("unscopables"),Lu=Array.prototype;Lu[Mu]==null&&IA(Lu,Mu,{configurable:!0,value:CA(null)});Eh.exports=function(r){Lu[Mu][r]=!0}});var Bh=h((ZM,Uh)=>{"use strict";var wA=zr(),Uu=Rh(),Oh=Jr(),Mh=Vr(),xA=et().f,AA=bu(),Ka=ku(),TA=jr(),EA=pe(),Lh="Array Iterator",RA=Mh.set,OA=Mh.getterFor(Lh);Uh.exports=AA(Array,"Array",function(r,e){RA(this,{type:Lh,target:wA(r),index:0,kind:e})},function(){var r=OA(this),e=r.target,t=r.kind,i=r.index++;return!e||i>=e.length?(r.target=void 0,Ka(void 0,!0)):t=="keys"?Ka(i,!1):t=="values"?Ka(e[i],!1):Ka([i,e[i]],!1)},"values");var Fh=Oh.Arguments=Oh.Array;Uu("keys");Uu("values");Uu("entries");if(!TA&&EA&&Fh.name!=="values")try{xA(Fh,"name",{value:"values"})}catch{}});var _h=h((YM,Dh)=>{var FA=sr();Dh.exports=function(r,e,t){for(var i in e)FA(r,i,e[i],t);return r}});var Hh=h((QM,qh)=>{var Nh=Au(),MA=Math.floor,Bu=function(r,e){var t=r.length,i=MA(t/2);return t<8?LA(r,e):UA(r,Bu(Nh(r,0,i),e),Bu(Nh(r,i),e),e)},LA=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},UA=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};qh.exports=Bu});var zu=h((eL,av)=>{"use strict";Bh();var Hu=Vn(),Zr=me(),Xa=Ge(),tt=Z(),BA=pe(),Qh=Su(),ev=sr(),DA=_h(),_A=Jn(),NA=vu(),Gu=Vr(),tv=Pu(),Du=Y(),qA=Ie(),HA=Ja(),jA=qn(),WA=Qe(),rv=It(),fe=Hn(),GA=zn(),jh=Gr(),ju=xu(),VA=$a(),Xr=Fu(),zA=we(),JA=Hh(),$A=zA("iterator"),es="URLSearchParams",iv=es+"Iterator",nv=Gu.set,ze=Gu.getterFor(es),KA=Gu.getterFor(iv),XA=Object.getOwnPropertyDescriptor,Vu=function(r){if(!BA)return Zr[r];var e=XA(Zr,r);return e&&e.value},Wh=Vu("fetch"),Ya=Vu("Request"),Yn=Vu("Headers"),_u=Ya&&Ya.prototype,Gh=Yn&&Yn.prototype,ZA=Zr.RegExp,YA=Zr.TypeError,sv=Zr.decodeURIComponent,QA=Zr.encodeURIComponent,eT=tt("".charAt),Vh=tt([].join),ar=tt([].push),Wu=tt("".replace),tT=tt([].shift),zh=tt([].splice),Jh=tt("".split),rT=tt("".slice),iT=/\+/g,$h=Array(4),nT=function(r){return $h[r-1]||($h[r-1]=ZA("((?:%[\\da-f]{2}){"+r+"})","gi"))},sT=function(r){try{return sv(r)}catch{return r}},Kh=function(r){var e=Wu(r,iT," "),t=4;try{return sv(e)}catch{for(;t;)e=Wu(e,nT(t--),sT);return e}},oT=/[!'()~]|%20/g,aT={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},dT=function(r){return aT[r]},Xh=function(r){return Wu(QA(r),oT,dT)},Nu=NA(function(e,t){nv(this,{type:iv,iterator:ju(ze(e).entries),kind:t})},"Iterator",function(){var e=KA(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),ov=function(r){this.entries=[],this.url=null,r!==void 0&&(rv(r)?this.parseObject(r):this.parseQuery(typeof r=="string"?eT(r,0)==="?"?rT(r,1):r:fe(r)))};ov.prototype={type:es,bindURL:function(r){this.url=r,this.update()},parseObject:function(r){var e=VA(r),t,i,n,o,a,c,p;if(e)for(t=ju(r,e),i=t.next;!(n=Xa(i,t)).done;){if(o=ju(WA(n.value)),a=o.next,(c=Xa(a,o)).done||(p=Xa(a,o)).done||!Xa(a,o).done)throw YA("Expected sequence with length 2");ar(this.entries,{key:fe(c.value),value:fe(p.value)})}else for(var f in r)qA(r,f)&&ar(this.entries,{key:f,value:fe(r[f])})},parseQuery:function(r){if(r)for(var e=Jh(r,"&"),t=0,i,n;t<e.length;)i=e[t++],i.length&&(n=Jh(i,"="),ar(this.entries,{key:Kh(tT(n)),value:Kh(Vh(n,"="))}))},serialize:function(){for(var r=this.entries,e=[],t=0,i;t<r.length;)i=r[t++],ar(e,Xh(i.key)+"="+Xh(i.value));return Vh(e,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var Qa=function(){tv(this,Qn);var e=arguments.length>0?arguments[0]:void 0;nv(this,new ov(e))},Qn=Qa.prototype;DA(Qn,{append:function(e,t){Xr(arguments.length,2);var i=ze(this);ar(i.entries,{key:fe(e),value:fe(t)}),i.updateURL()},delete:function(r){Xr(arguments.length,1);for(var e=ze(this),t=e.entries,i=fe(r),n=0;n<t.length;)t[n].key===i?zh(t,n,1):n++;e.updateURL()},get:function(e){Xr(arguments.length,1);for(var t=ze(this).entries,i=fe(e),n=0;n<t.length;n++)if(t[n].key===i)return t[n].value;return null},getAll:function(e){Xr(arguments.length,1);for(var t=ze(this).entries,i=fe(e),n=[],o=0;o<t.length;o++)t[o].key===i&&ar(n,t[o].value);return n},has:function(e){Xr(arguments.length,1);for(var t=ze(this).entries,i=fe(e),n=0;n<t.length;)if(t[n++].key===i)return!0;return!1},set:function(e,t){Xr(arguments.length,1);for(var i=ze(this),n=i.entries,o=!1,a=fe(e),c=fe(t),p=0,f;p<n.length;p++)f=n[p],f.key===a&&(o?zh(n,p--,1):(o=!0,f.value=c));o||ar(n,{key:a,value:c}),i.updateURL()},sort:function(){var e=ze(this);JA(e.entries,function(t,i){return t.key>i.key?1:-1}),e.updateURL()},forEach:function(e){for(var t=ze(this).entries,i=HA(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 Nu(this,"keys")},values:function(){return new Nu(this,"values")},entries:function(){return new Nu(this,"entries")}},{enumerable:!0});ev(Qn,$A,Qn.entries,{name:"entries"});ev(Qn,"toString",function(){return ze(this).serialize()},{enumerable:!0});_A(Qa,es);Hu({global:!0,constructor:!0,forced:!Qh},{URLSearchParams:Qa});!Qh&&Du(Yn)&&(Zh=tt(Gh.has),Yh=tt(Gh.set),qu=function(r){if(rv(r)){var e=r.body,t;if(jA(e)===es)return t=r.headers?new Yn(r.headers):new Yn,Zh(t,"content-type")||Yh(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),GA(r,{body:jh(0,fe(e)),headers:jh(0,t)})}return r},Du(Wh)&&Hu({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return Wh(e,arguments.length>1?qu(arguments[1]):{})}}),Du(Ya)&&(Za=function(e){return tv(this,_u),new Ya(e,arguments.length>1?qu(arguments[1]):{})},_u.constructor=Za,Za.prototype=_u,Hu({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:Za})));var Zh,Yh,qu,Za;av.exports={URLSearchParams:Qa,getState:ze}});var xv=h(()=>{"use strict";Bg();var lT=Vn(),dc=pe(),uT=Su(),lc=me(),dv=Ja(),Re=Z(),nd=sr(),xe=Gg(),cT=Pu(),sc=Ie(),uc=Kg(),Yr=hh(),Je=Au(),mT=wl().codeAt,pT=Ah(),mt=Hn(),fT=Jn(),gT=Fu(),kv=zu(),Sv=Vr(),hT=Sv.set,sd=Sv.getterFor("URL"),vT=kv.URLSearchParams,yT=kv.getState,ts=lc.URL,oc=lc.TypeError,od=lc.parseInt,bT=Math.floor,lv=Math.pow,Ee=Re("".charAt),$e=Re(/./.exec),is=Re([].join),kT=Re(1 .toString),ST=Re([].pop),ei=Re([].push),uv=Re("".replace),PT=Re([].shift),CT=Re("".split),ss=Re("".slice),ad=Re("".toLowerCase),IT=Re([].unshift),wT="Invalid authority",Ju="Invalid scheme",dr="Invalid host",cv="Invalid port",Pv=/[a-z]/i,xT=/[\d+-.a-z]/i,ac=/\d/,AT=/^0x/i,TT=/^[0-7]+$/,ET=/^\d+$/,Cv=/^[\da-f]+$/i,RT=/[\0\t\n\r #%/:<>?@[\\\]^|]/,OT=/[\0\t\n\r #/:<>?@[\\\]^|]/,FT=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,MT=/[\t\n\r]/g,Ae,LT=function(r){var e=CT(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&&Ee(o,0)=="0"&&(a=$e(AT,o)?16:8,o=ss(o,a==8?1:2)),o==="")c=0;else{if(!$e(a==10?ET:a==8?TT:Cv,o))return r;c=od(o,a)}ei(i,c)}for(n=0;n<t;n++)if(c=i[n],n==t-1){if(c>=lv(256,5-t))return null}else if(c>255)return null;for(p=ST(i),n=0;n<i.length;n++)p+=i[n]*lv(256,3-n);return p},UT=function(r){var e=[0,0,0,0,0,0,0,0],t=0,i=null,n=0,o,a,c,p,f,v,m,b=function(){return Ee(r,n)};if(b()==":"){if(Ee(r,1)!=":")return;n+=2,t++,i=t}for(;b();){if(t==8)return;if(b()==":"){if(i!==null)return;n++,t++,i=t;continue}for(o=a=0;a<4&&$e(Cv,b());)o=o*16+od(b(),16),n++,a++;if(b()=="."){if(a==0||(n-=a,t>6))return;for(c=0;b();){if(p=null,c>0)if(b()=="."&&c<4)n++;else return;if(!$e(ac,b()))return;for(;$e(ac,b());){if(f=od(b(),10),p===null)p=f;else{if(p==0)return;p=p*10+f}if(p>255)return;n++}e[t]=e[t]*256+p,c++,(c==2||c==4)&&t++}if(c!=4)return;break}else if(b()==":"){if(n++,!b())return}else if(b())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},BT=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},rs=function(r){var e,t,i,n;if(typeof r=="number"){for(e=[],t=0;t<4;t++)IT(e,r%256),r=bT(r/256);return is(e,".")}else if(typeof r=="object"){for(e="",i=BT(r),t=0;t<8;t++)n&&r[t]===0||(n&&(n=!1),i===t?(e+=t?":":"::",n=!0):(e+=kT(r[t],16),t<7&&(e+=":")));return"["+e+"]"}return r},id={},Iv=uc({},id,{" ":1,'"':1,"<":1,">":1,"`":1}),wv=uc({},Iv,{"#":1,"?":1,"{":1,"}":1}),$u=uc({},wv,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),xt=function(r,e){var t=mT(r,0);return t>32&&t<127&&!sc(e,r)?r:encodeURIComponent(r)},ed={ftp:21,file:null,http:80,https:443,ws:80,wss:443},ns=function(r,e){var t;return r.length==2&&$e(Pv,Ee(r,0))&&((t=Ee(r,1))==":"||!e&&t=="|")},mv=function(r){var e;return r.length>1&&ns(ss(r,0,2))&&(r.length==2||(e=Ee(r,2))==="/"||e==="\\"||e==="?"||e==="#")},DT=function(r){return r==="."||ad(r)==="%2e"},_T=function(r){return r=ad(r),r===".."||r==="%2e."||r===".%2e"||r==="%2e%2e"},Ku={},pv={},Xu={},fv={},gv={},Zu={},hv={},vv={},td={},rd={},Yu={},Qu={},ec={},tc={},yv={},rc={},Qr={},rt={},bv={},lr={},ct={},cc=function(r,e,t){var i=mt(r),n,o,a;if(e){if(o=this.parse(i),o)throw oc(o);this.searchParams=null}else{if(t!==void 0&&(n=new cc(t,!0)),o=this.parse(i,null,n),o)throw oc(o);a=yT(new vT),a.bindURL(this),this.searchParams=a}};cc.prototype={type:"URL",parse:function(r,e,t){var i=this,n=e||Ku,o=0,a="",c=!1,p=!1,f=!1,v,m,b,y;for(r=mt(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=uv(r,FT,"")),r=uv(r,MT,""),v=Yr(r);o<=v.length;){switch(m=v[o],n){case Ku:if(m&&$e(Pv,m))a+=ad(m),n=pv;else{if(e)return Ju;n=Xu;continue}break;case pv:if(m&&($e(xT,m)||m=="+"||m=="-"||m=="."))a+=ad(m);else if(m==":"){if(e&&(i.isSpecial()!=sc(ed,a)||a=="file"&&(i.includesCredentials()||i.port!==null)||i.scheme=="file"&&!i.host))return;if(i.scheme=a,e){i.isSpecial()&&ed[i.scheme]==i.port&&(i.port=null);return}a="",i.scheme=="file"?n=tc:i.isSpecial()&&t&&t.scheme==i.scheme?n=fv:i.isSpecial()?n=vv:v[o+1]=="/"?(n=gv,o++):(i.cannotBeABaseURL=!0,ei(i.path,""),n=bv)}else{if(e)return Ju;a="",n=Xu,o=0;continue}break;case Xu:if(!t||t.cannotBeABaseURL&&m!="#")return Ju;if(t.cannotBeABaseURL&&m=="#"){i.scheme=t.scheme,i.path=Je(t.path),i.query=t.query,i.fragment="",i.cannotBeABaseURL=!0,n=ct;break}n=t.scheme=="file"?tc:Zu;continue;case fv:if(m=="/"&&v[o+1]=="/")n=td,o++;else{n=Zu;continue}break;case gv:if(m=="/"){n=rd;break}else{n=rt;continue}case Zu:if(i.scheme=t.scheme,m==Ae)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=hv;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=lr;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=ct;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=rt;continue}break;case hv:if(i.isSpecial()&&(m=="/"||m=="\\"))n=td;else if(m=="/")n=rd;else{i.username=t.username,i.password=t.password,i.host=t.host,i.port=t.port,n=rt;continue}break;case vv:if(n=td,m!="/"||Ee(a,o+1)!="/")continue;o++;break;case td:if(m!="/"&&m!="\\"){n=rd;continue}break;case rd:if(m=="@"){c&&(a="%40"+a),c=!0,b=Yr(a);for(var C=0;C<b.length;C++){var I=b[C];if(I==":"&&!f){f=!0;continue}var A=xt(I,$u);f?i.password+=A:i.username+=A}a=""}else if(m==Ae||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()){if(c&&a=="")return wT;o-=Yr(a).length+1,a="",n=Yu}else a+=m;break;case Yu:case Qu:if(e&&i.scheme=="file"){n=rc;continue}else if(m==":"&&!p){if(a=="")return dr;if(y=i.parseHost(a),y)return y;if(a="",n=ec,e==Qu)return}else if(m==Ae||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()){if(i.isSpecial()&&a=="")return dr;if(e&&a==""&&(i.includesCredentials()||i.port!==null))return;if(y=i.parseHost(a),y)return y;if(a="",n=Qr,e)return;continue}else m=="["?p=!0:m=="]"&&(p=!1),a+=m;break;case ec:if($e(ac,m))a+=m;else if(m==Ae||m=="/"||m=="?"||m=="#"||m=="\\"&&i.isSpecial()||e){if(a!=""){var M=od(a,10);if(M>65535)return cv;i.port=i.isSpecial()&&M===ed[i.scheme]?null:M,a=""}if(e)return;n=Qr;continue}else return cv;break;case tc:if(i.scheme="file",m=="/"||m=="\\")n=yv;else if(t&&t.scheme=="file")if(m==Ae)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=lr;else if(m=="#")i.host=t.host,i.path=Je(t.path),i.query=t.query,i.fragment="",n=ct;else{mv(is(Je(v,o),""))||(i.host=t.host,i.path=Je(t.path),i.shortenPath()),n=rt;continue}else{n=rt;continue}break;case yv:if(m=="/"||m=="\\"){n=rc;break}t&&t.scheme=="file"&&!mv(is(Je(v,o),""))&&(ns(t.path[0],!0)?ei(i.path,t.path[0]):i.host=t.host),n=rt;continue;case rc:if(m==Ae||m=="/"||m=="\\"||m=="?"||m=="#"){if(!e&&ns(a))n=rt;else if(a==""){if(i.host="",e)return;n=Qr}else{if(y=i.parseHost(a),y)return y;if(i.host=="localhost"&&(i.host=""),e)return;a="",n=Qr}continue}else a+=m;break;case Qr:if(i.isSpecial()){if(n=rt,m!="/"&&m!="\\")continue}else if(!e&&m=="?")i.query="",n=lr;else if(!e&&m=="#")i.fragment="",n=ct;else if(m!=Ae&&(n=rt,m!="/"))continue;break;case rt:if(m==Ae||m=="/"||m=="\\"&&i.isSpecial()||!e&&(m=="?"||m=="#")){if(_T(a)?(i.shortenPath(),m!="/"&&!(m=="\\"&&i.isSpecial())&&ei(i.path,"")):DT(a)?m!="/"&&!(m=="\\"&&i.isSpecial())&&ei(i.path,""):(i.scheme=="file"&&!i.path.length&&ns(a)&&(i.host&&(i.host=""),a=Ee(a,0)+":"),ei(i.path,a)),a="",i.scheme=="file"&&(m==Ae||m=="?"||m=="#"))for(;i.path.length>1&&i.path[0]==="";)PT(i.path);m=="?"?(i.query="",n=lr):m=="#"&&(i.fragment="",n=ct)}else a+=xt(m,wv);break;case bv:m=="?"?(i.query="",n=lr):m=="#"?(i.fragment="",n=ct):m!=Ae&&(i.path[0]+=xt(m,id));break;case lr:!e&&m=="#"?(i.fragment="",n=ct):m!=Ae&&(m=="'"&&i.isSpecial()?i.query+="%27":m=="#"?i.query+="%23":i.query+=xt(m,id));break;case ct:m!=Ae&&(i.fragment+=xt(m,Iv));break}o++}},parseHost:function(r){var e,t,i;if(Ee(r,0)=="["){if(Ee(r,r.length-1)!="]"||(e=UT(ss(r,1,-1)),!e))return dr;this.host=e}else if(this.isSpecial()){if(r=pT(r),$e(RT,r)||(e=LT(r),e===null))return dr;this.host=e}else{if($e(OT,r))return dr;for(e="",t=Yr(r),i=0;i<t.length;i++)e+=xt(t[i],id);this.host=e}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme=="file"},includesCredentials:function(){return this.username!=""||this.password!=""},isSpecial:function(){return sc(ed,this.scheme)},shortenPath:function(){var r=this.path,e=r.length;e&&(this.scheme!="file"||e!=1||!ns(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,f=e+":";return n!==null?(f+="//",r.includesCredentials()&&(f+=t+(i?":"+i:"")+"@"),f+=rs(n),o!==null&&(f+=":"+o)):e=="file"&&(f+="//"),f+=r.cannotBeABaseURL?a[0]:a.length?"/"+is(a,"/"):"",c!==null&&(f+="?"+c),p!==null&&(f+="#"+p),f},setHref:function(r){var e=this.parse(r);if(e)throw oc(e);this.searchParams.update()},getOrigin:function(){var r=this.scheme,e=this.port;if(r=="blob")try{return new ti(r.path[0]).origin}catch{return"null"}return r=="file"||!this.isSpecial()?"null":r+"://"+rs(this.host)+(e!==null?":"+e:"")},getProtocol:function(){return this.scheme+":"},setProtocol:function(r){this.parse(mt(r)+":",Ku)},getUsername:function(){return this.username},setUsername:function(r){var e=Yr(mt(r));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var t=0;t<e.length;t++)this.username+=xt(e[t],$u)}},getPassword:function(){return this.password},setPassword:function(r){var e=Yr(mt(r));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var t=0;t<e.length;t++)this.password+=xt(e[t],$u)}},getHost:function(){var r=this.host,e=this.port;return r===null?"":e===null?rs(r):rs(r)+":"+e},setHost:function(r){this.cannotBeABaseURL||this.parse(r,Yu)},getHostname:function(){var r=this.host;return r===null?"":rs(r)},setHostname:function(r){this.cannotBeABaseURL||this.parse(r,Qu)},getPort:function(){var r=this.port;return r===null?"":mt(r)},setPort:function(r){this.cannotHaveUsernamePasswordPort()||(r=mt(r),r==""?this.port=null:this.parse(r,ec))},getPathname:function(){var r=this.path;return this.cannotBeABaseURL?r[0]:r.length?"/"+is(r,"/"):""},setPathname:function(r){this.cannotBeABaseURL||(this.path=[],this.parse(r,Qr))},getSearch:function(){var r=this.query;return r?"?"+r:""},setSearch:function(r){r=mt(r),r==""?this.query=null:(Ee(r,0)=="?"&&(r=ss(r,1)),this.query="",this.parse(r,lr)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var r=this.fragment;return r?"#"+r:""},setHash:function(r){if(r=mt(r),r==""){this.fragment=null;return}Ee(r,0)=="#"&&(r=ss(r,1)),this.fragment="",this.parse(r,ct)},update:function(){this.query=this.searchParams.serialize()||null}};var ti=function(e){var t=cT(this,re),i=gT(arguments.length,1)>1?arguments[1]:void 0,n=hT(t,new cc(e,!1,i));dc||(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())},re=ti.prototype,Te=function(r,e){return{get:function(){return sd(this)[r]()},set:e&&function(t){return sd(this)[e](t)},configurable:!0,enumerable:!0}};dc&&(xe(re,"href",Te("serialize","setHref")),xe(re,"origin",Te("getOrigin")),xe(re,"protocol",Te("getProtocol","setProtocol")),xe(re,"username",Te("getUsername","setUsername")),xe(re,"password",Te("getPassword","setPassword")),xe(re,"host",Te("getHost","setHost")),xe(re,"hostname",Te("getHostname","setHostname")),xe(re,"port",Te("getPort","setPort")),xe(re,"pathname",Te("getPathname","setPathname")),xe(re,"search",Te("getSearch","setSearch")),xe(re,"searchParams",Te("getSearchParams")),xe(re,"hash",Te("getHash","setHash")));nd(re,"toJSON",function(){return sd(this).serialize()},{enumerable:!0});nd(re,"toString",function(){return sd(this).serialize()},{enumerable:!0});ts&&(ic=ts.createObjectURL,nc=ts.revokeObjectURL,ic&&nd(ti,"createObjectURL",dv(ic,ts)),nc&&nd(ti,"revokeObjectURL",dv(nc,ts)));var ic,nc;fT(ti,"URL");lT({global:!0,constructor:!0,forced:!uT,sham:!dc},{URL:ti})});var Av=h(()=>{xv()});var Tv=h(()=>{"use strict";var NT=Vn(),qT=Ge();NT({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return qT(URL.prototype.toString,this)}})});var Ev=h(()=>{zu()});var Ov=h((lL,Rv)=>{var HT=me();Rv.exports=HT});var Mv=h((uL,Fv)=>{Av();Tv();Ev();var jT=Ov();Fv.exports=jT.URL});var Nc=h((LD,jy)=>{var rE=Object.prototype.toString;jy.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 aE(e)?"generatorfunction":"function";if(iE(e))return"array";if(uE(e))return"buffer";if(lE(e))return"arguments";if(sE(e))return"date";if(nE(e))return"error";if(oE(e))return"regexp";switch(Hy(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(dE(e))return"generator";switch(t=rE.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 Hy(r){return typeof r.constructor=="function"?r.constructor.name:null}function iE(r){return Array.isArray?Array.isArray(r):r instanceof Array}function nE(r){return r instanceof Error||typeof r.message=="string"&&r.constructor&&typeof r.constructor.stackTraceLimit=="number"}function sE(r){return r instanceof Date?!0:typeof r.toDateString=="function"&&typeof r.getDate=="function"&&typeof r.setDate=="function"}function oE(r){return r instanceof RegExp?!0:typeof r.flags=="string"&&typeof r.ignoreCase=="boolean"&&typeof r.multiline=="boolean"&&typeof r.global=="boolean"}function aE(r,e){return Hy(r)==="GeneratorFunction"}function dE(r){return typeof r.throw=="function"&&typeof r.return=="function"&&typeof r.next=="function"}function lE(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 uE(r){return r.constructor&&typeof r.constructor.isBuffer=="function"?r.constructor.isBuffer(r):!1}});var Vy=h((UD,Gy)=>{"use strict";var Wy=Symbol.prototype.valueOf,cE=Nc();function mE(r,e){switch(cE(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 hE(r);case"symbol":return vE(r);case"arraybuffer":return fE(r);case"float32array":case"float64array":case"int16array":case"int32array":case"int8array":case"uint16array":case"uint32array":case"uint8clampedarray":case"uint8array":return gE(r);case"regexp":return pE(r);case"error":return Object.create(r);default:return r}}function pE(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 fE(r){let e=new r.constructor(r.byteLength);return new Uint8Array(e).set(new Uint8Array(r)),e}function gE(r,e){return new r.constructor(r.buffer,r.byteOffset,r.length)}function hE(r){let e=r.length,t=Buffer.allocUnsafe?Buffer.allocUnsafe(e):Buffer.from(e);return r.copy(t),t}function vE(r){return Wy?Object(Wy.call(r)):{}}Gy.exports=mE});var Jy=h((BD,zy)=>{"use strict";zy.exports=function(e){return e!=null&&typeof e=="object"&&Array.isArray(e)===!1}});var Xy=h((DD,Ky)=>{"use strict";var yE=Jy();function $y(r){return yE(r)===!0&&Object.prototype.toString.call(r)==="[object Object]"}Ky.exports=function(e){var t,i;return!($y(e)===!1||(t=e.constructor,typeof t!="function")||(i=t.prototype,$y(i)===!1)||i.hasOwnProperty("isPrototypeOf")===!1)}});var Yy=h((_D,Zy)=>{"use strict";var bE=Vy(),kE=Nc(),SE=Xy();function qc(r,e){switch(kE(r)){case"object":return PE(r,e);case"array":return CE(r,e);default:return bE(r)}}function PE(r,e){if(typeof e=="function")return e(r);if(e||SE(r)){let t=new r.constructor;for(let i in r)t[i]=qc(r[i],e);return t}return r}function CE(r,e){let t=new r.constructor(r.length);for(let i=0;i<r.length;i++)t[i]=qc(r[i],e);return t}Zy.exports=qc});var Yc=h((vs,Ai)=>{var IE=200,Zc="__lodash_hash_undefined__",Od=1,ub=2,cb=9007199254740991,Id="[object Arguments]",Gc="[object Array]",wE="[object AsyncFunction]",mb="[object Boolean]",pb="[object Date]",fb="[object Error]",gb="[object Function]",xE="[object GeneratorFunction]",wd="[object Map]",hb="[object Number]",AE="[object Null]",xi="[object Object]",Qy="[object Promise]",TE="[object Proxy]",vb="[object RegExp]",xd="[object Set]",yb="[object String]",EE="[object Symbol]",RE="[object Undefined]",Vc="[object WeakMap]",bb="[object ArrayBuffer]",Ad="[object DataView]",OE="[object Float32Array]",FE="[object Float64Array]",ME="[object Int8Array]",LE="[object Int16Array]",UE="[object Int32Array]",BE="[object Uint8Array]",DE="[object Uint8ClampedArray]",_E="[object Uint16Array]",NE="[object Uint32Array]",qE=/[\\^$.*+?()[\]{}|]/g,HE=/^\[object .+?Constructor\]$/,jE=/^(?:0|[1-9]\d*)$/,j={};j[OE]=j[FE]=j[ME]=j[LE]=j[UE]=j[BE]=j[DE]=j[_E]=j[NE]=!0;j[Id]=j[Gc]=j[bb]=j[mb]=j[Ad]=j[pb]=j[fb]=j[gb]=j[wd]=j[hb]=j[xi]=j[vb]=j[xd]=j[yb]=j[Vc]=!1;var kb=typeof global=="object"&&global&&global.Object===Object&&global,WE=typeof self=="object"&&self&&self.Object===Object&&self,ht=kb||WE||Function("return this")(),Sb=typeof vs=="object"&&vs&&!vs.nodeType&&vs,eb=Sb&&typeof Ai=="object"&&Ai&&!Ai.nodeType&&Ai,Pb=eb&&eb.exports===Sb,Hc=Pb&&kb.process,tb=function(){try{return Hc&&Hc.binding&&Hc.binding("util")}catch{}}(),rb=tb&&tb.isTypedArray;function GE(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 VE(r,e){for(var t=-1,i=e.length,n=r.length;++t<i;)r[n+t]=e[t];return r}function zE(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 JE(r,e){for(var t=-1,i=Array(r);++t<r;)i[t]=e(t);return i}function $E(r){return function(e){return r(e)}}function KE(r,e){return r.has(e)}function XE(r,e){return r?.[e]}function ZE(r){var e=-1,t=Array(r.size);return r.forEach(function(i,n){t[++e]=[n,i]}),t}function YE(r,e){return function(t){return r(e(t))}}function QE(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}var eR=Array.prototype,tR=Function.prototype,Fd=Object.prototype,jc=ht["__core-js_shared__"],Cb=tR.toString,it=Fd.hasOwnProperty,ib=function(){var r=/[^.]+$/.exec(jc&&jc.keys&&jc.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}(),Ib=Fd.toString,rR=RegExp("^"+Cb.call(it).replace(qE,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),nb=Pb?ht.Buffer:void 0,Td=ht.Symbol,sb=ht.Uint8Array,wb=Fd.propertyIsEnumerable,iR=eR.splice,yr=Td?Td.toStringTag:void 0,ob=Object.getOwnPropertySymbols,nR=nb?nb.isBuffer:void 0,sR=YE(Object.keys,Object),zc=Ti(ht,"DataView"),ys=Ti(ht,"Map"),Jc=Ti(ht,"Promise"),$c=Ti(ht,"Set"),Kc=Ti(ht,"WeakMap"),bs=Ti(Object,"create"),oR=Sr(zc),aR=Sr(ys),dR=Sr(Jc),lR=Sr($c),uR=Sr(Kc),ab=Td?Td.prototype:void 0,Wc=ab?ab.valueOf:void 0;function br(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 cR(){this.__data__=bs?bs(null):{},this.size=0}function mR(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}function pR(r){var e=this.__data__;if(bs){var t=e[r];return t===Zc?void 0:t}return it.call(e,r)?e[r]:void 0}function fR(r){var e=this.__data__;return bs?e[r]!==void 0:it.call(e,r)}function gR(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=bs&&e===void 0?Zc:e,this}br.prototype.clear=cR;br.prototype.delete=mR;br.prototype.get=pR;br.prototype.has=fR;br.prototype.set=gR;function vt(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 hR(){this.__data__=[],this.size=0}function vR(r){var e=this.__data__,t=Md(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():iR.call(e,t,1),--this.size,!0}function yR(r){var e=this.__data__,t=Md(e,r);return t<0?void 0:e[t][1]}function bR(r){return Md(this.__data__,r)>-1}function kR(r,e){var t=this.__data__,i=Md(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}vt.prototype.clear=hR;vt.prototype.delete=vR;vt.prototype.get=yR;vt.prototype.has=bR;vt.prototype.set=kR;function kr(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 SR(){this.size=0,this.__data__={hash:new br,map:new(ys||vt),string:new br}}function PR(r){var e=Ld(this,r).delete(r);return this.size-=e?1:0,e}function CR(r){return Ld(this,r).get(r)}function IR(r){return Ld(this,r).has(r)}function wR(r,e){var t=Ld(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}kr.prototype.clear=SR;kr.prototype.delete=PR;kr.prototype.get=CR;kr.prototype.has=IR;kr.prototype.set=wR;function Ed(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new kr;++e<t;)this.add(r[e])}function xR(r){return this.__data__.set(r,Zc),this}function AR(r){return this.__data__.has(r)}Ed.prototype.add=Ed.prototype.push=xR;Ed.prototype.has=AR;function Bt(r){var e=this.__data__=new vt(r);this.size=e.size}function TR(){this.__data__=new vt,this.size=0}function ER(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}function RR(r){return this.__data__.get(r)}function OR(r){return this.__data__.has(r)}function FR(r,e){var t=this.__data__;if(t instanceof vt){var i=t.__data__;if(!ys||i.length<IE-1)return i.push([r,e]),this.size=++t.size,this;t=this.__data__=new kr(i)}return t.set(r,e),this.size=t.size,this}Bt.prototype.clear=TR;Bt.prototype.delete=ER;Bt.prototype.get=RR;Bt.prototype.has=OR;Bt.prototype.set=FR;function MR(r,e){var t=Rd(r),i=!t&&$R(r),n=!t&&!i&&Xc(r),o=!t&&!i&&!n&&Fb(r),a=t||i||n||o,c=a?JE(r.length,String):[],p=c.length;for(var f in r)(e||it.call(r,f))&&!(a&&(f=="length"||n&&(f=="offset"||f=="parent")||o&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||WR(f,p)))&&c.push(f);return c}function Md(r,e){for(var t=r.length;t--;)if(Tb(r[t][0],e))return t;return-1}function LR(r,e,t){var i=e(r);return Rd(r)?i:VE(i,t(r))}function Ss(r){return r==null?r===void 0?RE:AE:yr&&yr in Object(r)?HR(r):JR(r)}function db(r){return ks(r)&&Ss(r)==Id}function xb(r,e,t,i,n){return r===e?!0:r==null||e==null||!ks(r)&&!ks(e)?r!==r&&e!==e:UR(r,e,t,i,xb,n)}function UR(r,e,t,i,n,o){var a=Rd(r),c=Rd(e),p=a?Gc:Ut(r),f=c?Gc:Ut(e);p=p==Id?xi:p,f=f==Id?xi:f;var v=p==xi,m=f==xi,b=p==f;if(b&&Xc(r)){if(!Xc(e))return!1;a=!0,v=!1}if(b&&!v)return o||(o=new Bt),a||Fb(r)?Ab(r,e,t,i,n,o):NR(r,e,p,t,i,n,o);if(!(t&Od)){var y=v&&it.call(r,"__wrapped__"),C=m&&it.call(e,"__wrapped__");if(y||C){var I=y?r.value():r,A=C?e.value():e;return o||(o=new Bt),n(I,A,t,i,o)}}return b?(o||(o=new Bt),qR(r,e,t,i,n,o)):!1}function BR(r){if(!Ob(r)||VR(r))return!1;var e=Eb(r)?rR:HE;return e.test(Sr(r))}function DR(r){return ks(r)&&Rb(r.length)&&!!j[Ss(r)]}function _R(r){if(!zR(r))return sR(r);var e=[];for(var t in Object(r))it.call(r,t)&&t!="constructor"&&e.push(t);return e}function Ab(r,e,t,i,n,o){var a=t&Od,c=r.length,p=e.length;if(c!=p&&!(a&&p>c))return!1;var f=o.get(r);if(f&&o.get(e))return f==e;var v=-1,m=!0,b=t&ub?new Ed:void 0;for(o.set(r,e),o.set(e,r);++v<c;){var y=r[v],C=e[v];if(i)var I=a?i(C,y,v,e,r,o):i(y,C,v,r,e,o);if(I!==void 0){if(I)continue;m=!1;break}if(b){if(!zE(e,function(A,M){if(!KE(b,M)&&(y===A||n(y,A,t,i,o)))return b.push(M)})){m=!1;break}}else if(!(y===C||n(y,C,t,i,o))){m=!1;break}}return o.delete(r),o.delete(e),m}function NR(r,e,t,i,n,o,a){switch(t){case Ad:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case bb:return!(r.byteLength!=e.byteLength||!o(new sb(r),new sb(e)));case mb:case pb:case hb:return Tb(+r,+e);case fb:return r.name==e.name&&r.message==e.message;case vb:case yb:return r==e+"";case wd:var c=ZE;case xd:var p=i&Od;if(c||(c=QE),r.size!=e.size&&!p)return!1;var f=a.get(r);if(f)return f==e;i|=ub,a.set(r,e);var v=Ab(c(r),c(e),i,n,o,a);return a.delete(r),v;case EE:if(Wc)return Wc.call(r)==Wc.call(e)}return!1}function qR(r,e,t,i,n,o){var a=t&Od,c=lb(r),p=c.length,f=lb(e),v=f.length;if(p!=v&&!a)return!1;for(var m=p;m--;){var b=c[m];if(!(a?b in e:it.call(e,b)))return!1}var y=o.get(r);if(y&&o.get(e))return y==e;var C=!0;o.set(r,e),o.set(e,r);for(var I=a;++m<p;){b=c[m];var A=r[b],M=e[b];if(i)var ce=a?i(M,A,b,e,r,o):i(A,M,b,r,e,o);if(!(ce===void 0?A===M||n(A,M,t,i,o):ce)){C=!1;break}I||(I=b=="constructor")}if(C&&!I){var Dn=r.constructor,ya=e.constructor;Dn!=ya&&"constructor"in r&&"constructor"in e&&!(typeof Dn=="function"&&Dn instanceof Dn&&typeof ya=="function"&&ya instanceof ya)&&(C=!1)}return o.delete(r),o.delete(e),C}function lb(r){return LR(r,ZR,jR)}function Ld(r,e){var t=r.__data__;return GR(e)?t[typeof e=="string"?"string":"hash"]:t.map}function Ti(r,e){var t=XE(r,e);return BR(t)?t:void 0}function HR(r){var e=it.call(r,yr),t=r[yr];try{r[yr]=void 0;var i=!0}catch{}var n=Ib.call(r);return i&&(e?r[yr]=t:delete r[yr]),n}var jR=ob?function(r){return r==null?[]:(r=Object(r),GE(ob(r),function(e){return wb.call(r,e)}))}:YR,Ut=Ss;(zc&&Ut(new zc(new ArrayBuffer(1)))!=Ad||ys&&Ut(new ys)!=wd||Jc&&Ut(Jc.resolve())!=Qy||$c&&Ut(new $c)!=xd||Kc&&Ut(new Kc)!=Vc)&&(Ut=function(r){var e=Ss(r),t=e==xi?r.constructor:void 0,i=t?Sr(t):"";if(i)switch(i){case oR:return Ad;case aR:return wd;case dR:return Qy;case lR:return xd;case uR:return Vc}return e});function WR(r,e){return e=e??cb,!!e&&(typeof r=="number"||jE.test(r))&&r>-1&&r%1==0&&r<e}function GR(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}function VR(r){return!!ib&&ib in r}function zR(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||Fd;return r===t}function JR(r){return Ib.call(r)}function Sr(r){if(r!=null){try{return Cb.call(r)}catch{}try{return r+""}catch{}}return""}function Tb(r,e){return r===e||r!==r&&e!==e}var $R=db(function(){return arguments}())?db:function(r){return ks(r)&&it.call(r,"callee")&&!wb.call(r,"callee")},Rd=Array.isArray;function KR(r){return r!=null&&Rb(r.length)&&!Eb(r)}var Xc=nR||QR;function XR(r,e){return xb(r,e)}function Eb(r){if(!Ob(r))return!1;var e=Ss(r);return e==gb||e==xE||e==wE||e==TE}function Rb(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=cb}function Ob(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}function ks(r){return r!=null&&typeof r=="object"}var Fb=rb?$E(rb):DR;function ZR(r){return KR(r)?MR(r):_R(r)}function YR(){return[]}function QR(){return!1}Ai.exports=XR});var gS=h(Kd=>{"use strict";Kd.byteLength=AO;Kd.toByteArray=EO;Kd.fromByteArray=FO;var ot=[],qe=[],xO=typeof Uint8Array<"u"?Uint8Array:Array,Rm="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Ur=0,pS=Rm.length;Ur<pS;++Ur)ot[Ur]=Rm[Ur],qe[Rm.charCodeAt(Ur)]=Ur;var Ur,pS;qe[45]=62;qe[95]=63;function fS(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 AO(r){var e=fS(r),t=e[0],i=e[1];return(t+i)*3/4-i}function TO(r,e,t){return(e+t)*3/4-t}function EO(r){var e,t=fS(r),i=t[0],n=t[1],o=new xO(TO(r,i,n)),a=0,c=n>0?i-4:i,p;for(p=0;p<c;p+=4)e=qe[r.charCodeAt(p)]<<18|qe[r.charCodeAt(p+1)]<<12|qe[r.charCodeAt(p+2)]<<6|qe[r.charCodeAt(p+3)],o[a++]=e>>16&255,o[a++]=e>>8&255,o[a++]=e&255;return n===2&&(e=qe[r.charCodeAt(p)]<<2|qe[r.charCodeAt(p+1)]>>4,o[a++]=e&255),n===1&&(e=qe[r.charCodeAt(p)]<<10|qe[r.charCodeAt(p+1)]<<4|qe[r.charCodeAt(p+2)]>>2,o[a++]=e>>8&255,o[a++]=e&255),o}function RO(r){return ot[r>>18&63]+ot[r>>12&63]+ot[r>>6&63]+ot[r&63]}function OO(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(RO(i));return n.join("")}function FO(r){for(var e,t=r.length,i=t%3,n=[],o=16383,a=0,c=t-i;a<c;a+=o)n.push(OO(r,a,a+o>c?c:a+o));return i===1?(e=r[t-1],n.push(ot[e>>2]+ot[e<<4&63]+"==")):i===2&&(e=(r[t-2]<<8)+r[t-1],n.push(ot[e>>10]+ot[e>>4&63]+ot[e<<2&63]+"=")),n.join("")}});var YH=_n(Mv(),1);function g(r,e){if(r==null)throw Error(e??"Expected nonnullish value.")}function ur(r,e){if(!r)throw Error(e)}var ie;(function(r){r.COMMENT="t1_",r.ACCOUNT="t2_",r.LINK="t3_",r.MESSAGE="t4_",r.SUBREDDIT="t5_",r.AWARD="t6_"})(ie||(ie={}));function At(r){return r.startsWith(ie.COMMENT)}function dd(r){return r.startsWith(ie.ACCOUNT)}function cr(r){return r.startsWith(ie.LINK)}function Lv(r){return r.startsWith(ie.MESSAGE)}function Uv(r){return r.startsWith(ie.SUBREDDIT)}function Bv(r){return r.startsWith(ie.AWARD)}function WT(r){ur(At(r),`Expected comment id to start with ${ie.COMMENT}, got ${r}}`)}function GT(r){ur(dd(r),`Expected account id to start with ${ie.ACCOUNT}, got ${r}}`)}function VT(r){ur(cr(r),`Expected link id to start with ${ie.LINK}, got ${r}}`)}function zT(r){ur(Lv(r),`Expected message id to start with ${ie.MESSAGE}, got ${r}}`)}function JT(r){ur(Uv(r),`Expected subreddit id to start with ${ie.SUBREDDIT}, got ${r}}`)}function $T(r){ur(Bv(r),`Expected award id to start with ${ie.AWARD}, got ${r}}`)}function ri(r){return WT(r),r}function ne(r){return GT(r),r}function ge(r){return VT(r),r}function KT(r){return zT(r),r}function Oe(r){return JT(r),r}function XT(r){return $T(r),r}function he(r){if(At(r))return ri(r);if(dd(r))return ne(r);if(cr(r))return ge(r);if(Lv(r))return KT(r);if(Uv(r))return Oe(r);if(Bv(r))return XT(r);throw new Error(`Expected thing id to start with ${Object.values(ie).join(", ")} got ${r}}`)}function mc(r){return At(r)}import*as P from"@devvit/protos";var ld=class{constructor(e){}};var pc=(t=>(t.Installation="installation",t.App="app",t))(pc||{});function mr(r,e=new Set){for(let t of r){if(t.type==="group"){mr(t.fields,e);continue}let i=t.name;if(e.has(i))throw new Error(`Duplicate field name: ${i}`);e.add(i)}ZT(r)}function ZT(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 Tt=Object.freeze({INTERVAL:0,FORM:1,STATE:2,CHANNEL:3});var kL=["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","brand-awareness","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 p0,GetFieldsResponse as f0}from"@devvit/protos";import{FormField as pr,FormFieldType as Fe}from"@devvit/protos";function pt(r){return r.map(e=>{switch(e.type){case"string":return YT(e);case"image":return QT(e);case"paragraph":return e0(e);case"number":return t0(e);case"select":return r0(e);case"boolean":return i0(e);case"group":return n0(e);default:throw new Error("Unknown field type.")}})}function YT(r){return pr.fromPartial({defaultValue:{fieldType:Fe.STRING,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{stringConfig:{placeholder:r.placeholder}},fieldId:r.name,fieldType:Fe.STRING,helpText:r.helpText,label:r.label,required:r.required,isSecret:r.isSecret})}function QT(r){return pr.fromPartial({disabled:r.disabled,fieldId:r.name,fieldType:Fe.IMAGE,helpText:r.helpText,label:r.label,required:r.required})}function e0(r){return pr.fromPartial({defaultValue:{fieldType:Fe.PARAGRAPH,stringValue:r.defaultValue},disabled:r.disabled,fieldConfig:{paragraphConfig:{lineHeight:r.lineHeight,placeholder:r.placeholder}},fieldId:r.name,fieldType:Fe.PARAGRAPH,helpText:r.helpText,label:r.label,required:r.required})}function t0(r){return pr.fromPartial({defaultValue:{fieldType:Fe.NUMBER,numberValue:r.defaultValue},disabled:r.disabled,fieldConfig:{numberConfig:{}},fieldId:r.name,fieldType:Fe.NUMBER,helpText:r.helpText,label:r.label,required:r.required})}function r0(r){return pr.fromPartial({defaultValue:{fieldType:Fe.SELECTION,selectionValue:{values:r.defaultValue}},disabled:r.disabled,fieldConfig:{selectionConfig:{choices:r.options,multiSelect:r.multiSelect}},fieldId:r.name,fieldType:Fe.SELECTION,helpText:r.helpText,label:r.label,required:r.required})}function i0(r){return pr.fromPartial({defaultValue:{fieldType:Fe.BOOLEAN,boolValue:r.defaultValue},disabled:r.disabled,fieldId:r.name,fieldType:Fe.BOOLEAN,helpText:r.helpText,label:r.label})}function n0(r){return pr.fromPartial({fieldType:Fe.GROUP,fieldConfig:{groupConfig:{fields:pt(r.fields)}},label:r.label,helpText:r.helpText})}function U(r,e){u.prototype[r]=e}import{ValidateFormResponse as m0}from"@devvit/protos";import{RealtimeSubscriptionStatus as _v}from"@devvit/protos";var D=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",Debug:"devvit-debug",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",UserAgent:"devvit-user-agent",Version:"devvit-version",Language:"devvit-accept-language",Timezone:"devvit-accept-timezone",AppDependencies:"devvit-app-dependencies",WebviewTemplate:"devvit-webview-template"}),Dv;(function(r){r.Blocks="blocks",r.EmitSnapshots="emitSnapshots",r.EmitState="emitState",r.Realtime="realtime",r.Runtime="runtime",r.Surface="surface",r.UseAsync="useAsync",r.Payments="payments"})(Dv||(Dv={}));function Nv(r){function e(t){let n=r.currentHookIndex,o=r.getCurrentComponentState(),a=r.getPreviousComponentState(),c=r.metadata[D.App]?.values[0];g(c,"useChannel - app is missing from Context");let p=r.metadata[D.Installation]?.values[0];g(p,"useChannel - installation is missing from Context");async function f(A){let M=o[n].channel;if(o[n].active)if(o[n].connected)await r.realtime.send(M,A);else throw Error(`Failed to send to channel '${M}'; it is active but not yet connected`);else throw Error(`Cannot send a message over inactive channel: ${M}`)}function v(){if(!o[n].active){let A=o[n].channel;o[n].active=!0,r.addRealtimeChannel(A)}}function m(){if(o[n].active){let A=o[n].channel;o[n].active=!1,r.removeRealtimeChannel(A)}}function b(A){return async()=>{let M;switch(A.status){case _v.REALTIME_SUBSCRIBED:o[n].connected=!0,M=t.onSubscribed?.();break;case _v.REALTIME_UNSUBSCRIBED:o[n].connected=!1,M=t.onUnsubscribed?.();break;default:M=t.onMessage(A.event?.data??{});break}await M}}let y={channel:`${c}:${p}:${t.name}`,active:!1,connected:!1,preventCallback:!1,type:Tt.CHANNEL};n in o?y=o[n]:n in a&&(y=a[n]);let C=r.realtimeEvent;r.isInitialRender?y.active=!1:C&&y.active&&C.event.channel===y.channel&&(y.preventCallback||r.runHook(b(C)),r.rerenderIn(0)),o[n]=y,r.currentHookIndex++;let I=0;return y.active&&y.connected?I=2:y.active&&!y.connected?I=1:!y.active&&y.connected?I=3:!y.active&&!y.connected&&(I=4),{subscribe:v,unsubscribe:m,send:f,status:I}}return e}import{FormFieldType as ii}from"@devvit/protos";function fc(r){switch(r.fieldType){case ii.STRING:return r.stringValue;case ii.IMAGE:return r.stringValue;case ii.PARAGRAPH:return r.stringValue;case ii.NUMBER:return r.numberValue;case ii.BOOLEAN:return r.boolValue;case ii.SELECTION:return r.selectionValue?.values??[];default:return}}function Et(r){return Object.keys(r).reduce((e,t)=>{let i=fc(r[t]);return i!==void 0&&(e[t]=i),e},{})}function qv(r){function e(t,i){let n=r.currentHookIndex,o=r.getCurrentComponentKey(),a=r.getCurrentComponentState(),c=r.getPreviousComponentState(),p=`form.hook.${o}.${n}`,f={formKey:p,preventSubmit:!1,type:Tt.FORM};n in a?f=a[n]:n in c&&(f=c[n]),a[n]=f,r.forms.set(p,t);let v=r.formSubmittedEvent;return v&&!f.preventSubmit&&v.formId===p&&r.runHook(async()=>{let m=i(Et(v.results));m&&m instanceof Promise&&await m,r.rerenderIn(0)}),a[n].preventSubmit=!1,r.currentHookIndex++,p}return e}function Hv(r){function e(t,i){let n=r.currentHookIndex,o=r.getCurrentComponentState(),a=r.getPreviousComponentState(),c=100,p=Math.max(c,i),f={lastRun:void 0,running:!1,preventCallback:!1,type:Tt.INTERVAL};n in o?f=o[n]:n in a&&(f=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[b,y]of Object.entries(o))if(b!==n.toString()&&y?.type===Tt.INTERVAL&&y?.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:Tt.INTERVAL},r.rerenderIn(p)}function m(){o[n].running=!1,o[n].lastRun=void 0,o[n].preventCallback=!1}return r.isEffectRender&&f.running&&(f.preventCallback||(f.lastRun===void 0||f.lastRun+p<Date.now())&&r.runHook(async()=>{let b=t();b&&b instanceof Promise&&await b,f.lastRun=Date.now()}),r.rerenderIn(p)),f.preventCallback=!1,o[n]=f,r.currentHookIndex++,{start:v,stop:m}}return e}function jv(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 yc={now(){return new Date}};function Wv(r){return`__autocache__${r}`}function Gv(r){return`__lock__${r}`}var o0=300,a0=1e3,ud=5e3,gc=3,Vv=.1,zv=1e3,d0=3e4;function Jv(r){if(r.error)throw new Error(r.error);return r.value}var Rt,Ot,Me,ni,$,$v,Kv,Xv,hc,Zv,Yv,vc,Qv,cd=class{constructor(e,t,i=yc){l(this,$);l(this,Rt);l(this,Ot,{});l(this,Me);l(this,ni);d(this,Rt,e),d(this,ni,t),d(this,Me,i)}async cache(e,t){d(this,Ot,s(this,ni).__cache=s(this,ni).__cache??{}),S(this,$,Qv).call(this,t);let i=S(this,$,$v).call(this,t.key);if(i!==void 0)return i;let n=await S(this,$,vc).call(this,t.key),o=await S(this,$,Kv).call(this,t,n,e);return Jv(o)}};Rt=new WeakMap,Ot=new WeakMap,Me=new WeakMap,ni=new WeakMap,$=new WeakSet,$v=function(e){let t=s(this,Ot)[e];if(t){let i=s(this,Me).now().getTime(),n=t?.error&&t?.errorTime&&t.errorCount<gc&&Math.random()<Vv&&t.errorTime+zv<i;if(t?.expires&&t.expires<i&&t.checkedAt+zv<i||n){delete s(this,Ot)[e];return}else return Jv(t)}},Kv=async function(e,t,i){let n=t?.expires,o=n?S(this,$,Yv).call(this,n):1;return!t||t?.error&&t.errorCount<gc&&Vv>Math.random()||o>Math.random()?S(this,$,Xv).call(this,e,t,i):t},Xv=async function(e,t,i){let n=Gv(e.key),o=s(this,Me).now().getTime(),a=new Date(o+e.ttl/2);if(await s(this,Rt).set(n,"1",{expiration:a,nx:!0}))return S(this,$,Zv).call(this,e.key,t,i,e.ttl);if(t)return t;{let p=s(this,Me).now();return S(this,$,hc).call(this,p,e.key,e.ttl)}},hc=async function(e,t,i){let n=Math.min(i,a0),o=await S(this,$,vc).call(this,t);if(o)return o;if(s(this,Me).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,o0)),S(this,$,hc).call(this,e,t,i)},Zv=async function(e,t,i,n){let o=s(this,Me).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,Me).now().getTime(),t.errorCount++}return s(this,Ot)[e]=t,await s(this,Rt).set(Wv(e),JSON.stringify(t),{expiration:new Date(o+d0)}),t.error&&t.errorCount<gc&&await s(this,Rt).del(Gv(e)),t},Yv=function(e){let t=s(this,Me).now().getTime(),i=e-t;return i<0?1:i<1e3?.1:i<2e3?.01:i<3e3?.001:0},vc=async function(e){let t=await s(this,Rt).get(Wv(e));if(t){let i=JSON.parse(t);return i.checkedAt=s(this,Me).now().getTime(),s(this,Ot)[e]=i,i}},Qv=function(e){e.ttl<ud&&(console.warn(`Cache TTL cannot be less than ${ud} milliseconds! Updating ttl value of ${e.ttl} to ${ud}.`),e.ttl=ud)};function ey(r,e,t=yc){let i=new cd(r,e,t);return i.cache.bind(i)}function ty(r){new URL(r.slice(0,r.indexOf(",")))}var si,oi,di,ry,iy,ai=class{constructor(){l(this,di);l(this,si,{});l(this,oi,{});d(this,si,u.assets),d(this,oi,u.webviewAssets)}getURL(e,t){return typeof e=="string"?S(this,di,ry).call(this,e,t??{webview:!1}):S(this,di,iy).call(this,e,t??{webview:!1})}};si=new WeakMap,oi=new WeakMap,di=new WeakSet,ry=function(e,t){let i=t.webview?s(this,oi)[e]:s(this,si)[e];if(i)return i;try{return ty(e),encodeURI(e)}catch{return""}},iy=function(e,t){let i={},n=[],o=t.webview?s(this,oi):s(this,si);if(o)for(let a of e)if(o[a])i[a]=o[a];else try{ty(a),i[a]=encodeURI(a)}catch{n.push(a)}else n=e;if(n.length>0)throw new Error(`The following assets were missing from the assets list: ${n.join(", ")}`);return i};var Ft,li=class{constructor(e){l(this,Ft);d(this,Ft,e)}async get(e){let{messages:t}=await u.kvStorePlugin.Get({keys:[e]},s(this,Ft));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,Ft))}async delete(e){await u.kvStorePlugin.Del({keys:[e]},s(this,Ft))}async list(){let{keys:e}=await u.kvStorePlugin.List({filter:"*"},s(this,Ft));return e}};Ft=new WeakMap;var os,ui=class{constructor(e){l(this,os);d(this,os,e)}async upload(e){let t=await u.mediaPlugin.Upload(e,s(this,os));if(!t.mediaId)throw new Error("unable to get mediaId via uploads");return Promise.resolve({mediaId:t.mediaId,mediaUrl:t.mediaUrl})}};os=new WeakMap;var as,ci=class{constructor(e){l(this,as);d(this,as,e)}async add(e){await u.modLogPlugin.Add(e,s(this,as))}};as=new WeakMap;var ds,mi=class{constructor(e){l(this,ds);d(this,ds,e)}async send(e,t){await u.realtimePlugin.Send({channel:e,data:t},s(this,ds))}};ds=new WeakMap;var k,ls,fi=class{constructor(e){l(this,k);l(this,ls);d(this,k,e),d(this,ls,new pd(e))}get modMail(){return s(this,ls)}getSubredditById(e){return ve.getById(he(e),s(this,k))}getSubredditByName(e){return ve.getByName(e,s(this,k))}addSubredditRemovalReason(e,t){return ve.addRemovalReason(e,t.title,t.message,s(this,k))}getSubredditRemovalReasons(e){return ve.getRemovalReasons(e,s(this,k))}getCurrentSubreddit(){return ve.getFromMetadata(s(this,k))}getPostById(e){return z.getById(he(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(he(e),s(this,k))}getCollectionById(e){return pi.getCollectionById({collectionId:e},s(this,k))}createCollection(e){return pi.create(e,s(this,k))}getCollectionsForSubreddit(e){return pi.getCollectionsForSubreddit({subredditId:e},s(this,k))}getUserByUsername(e){return w.getByUsername(e,s(this,k))}getCurrentUser(){return w.getFromMetadata(D.User,s(this,k))}getAppUser(){return w.getFromMetadata(D.AppUser,s(this,k))}getSnoovatarUrl(e){return w.getSnoovatarUrl(e,s(this,k))}getCommentById(e){return Q.getById(he(e),s(this,k))}getComments(e){return Q.getComments(e,s(this,k))}getCommentsByUser(e){return Q.getCommentsByUser(e,s(this,k))}submitComment(e){return Q.submit({...e,id:he(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 md(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 Le.get(e,s(this,k))}deleteModNote(e){return Le.delete(e,s(this,k))}addModNote(e){let t={...e,redditId:e.redditId?he(e.redditId):void 0};return Le.add(t,s(this,k))}addRemovalNote(e){return Le.addRemovalNote(e,s(this,k))}async sendPrivateMessage(e){return fr.send(e,s(this,k))}async sendPrivateMessageAsSubreddit(e){return fr.sendAsSubreddit(e,s(this,k))}async approve(e){if(At(e))return Q.approve(e,s(this,k));if(cr(e))return z.approve(e,s(this,k));throw new Error("id must start with either t1_ or t3_")}async remove(e,t){if(At(e))return Q.remove(e,t,s(this,k));if(cr(e))return z.remove(e,t,s(this,k));throw new Error("id must start with either t1_ or t3_")}async getPostFlairTemplates(e){return de.getPostFlairTemplates(e,s(this,k))}async getUserFlairTemplates(e){return de.getUserFlairTemplates(e,s(this,k))}async createPostFlairTemplate(e){return de.createPostFlairTemplate(e,s(this,k))}async createUserFlairTemplate(e){return de.createUserFlairTemplate(e,s(this,k))}async editFlairTemplate(e){return de.editFlairTemplate(e,s(this,k))}async deleteFlairTemplate(e,t){return de.deleteFlairTemplate(e,t,s(this,k))}async setUserFlair(e){return Ue.setUserFlair(e,s(this,k))}async removeUserFlair(e,t){return Ue.removeUserFlair(e,t,s(this,k))}async setPostFlair(e){return Ue.setPostFlair(e,s(this,k))}async removePostFlair(e,t){return Ue.removePostFlair(e,ge(t),s(this,k))}async getWidgets(e){return se.getWidgets(e,s(this,k))}async deleteWidget(e,t){return se.delete(e,t,s(this,k))}async addWidget(e){return se.add(e,s(this,k))}async reorderWidgets(e,t){return se.reorder(e,t,s(this,k))}async getWikiPage(e,t){return ye.getPage(e,t,s(this,k))}async getWikiPages(e){return ye.getPages(e,s(this,k))}async createWikiPage(e){return ye.createPage(e,s(this,k))}async updateWikiPage(e){return ye.updatePage(e,s(this,k))}getWikiPageRevisions(e){return ye.getPageRevisions(e,s(this,k))}async revertWikiPage(e,t,i){return ye.revertPage(e,t,i,s(this,k))}async getWikiPageSettings(e,t){return ye.getPageSettings(e,t,s(this,k))}async updateWikiPageSettings(e){return ye.updatePageSettings(e,s(this,k))}async addEditorToWikiPage(e,t,i){return ye.addEditor(e,t,i,s(this,k))}async removeEditorFromWikiPage(e,t,i){return ye.removeEditor(e,t,i,s(this,k))}getMessages(e){return fr.getMessages(e,s(this,k))}markAllMessagesAsRead(){return fr.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 ve.aboutLocation({...e,location:"modqueue"},s(this,k))}getReports(e){return ve.aboutLocation({...e,location:"reports"},s(this,k))}getSpam(e){return ve.aboutLocation({...e,location:"spam"},s(this,k))}getUnmoderated(e){return ve.aboutLocation({...e,location:"unmoderated"},s(this,k))}getEdited(e){return ve.aboutLocation({...e,location:"edited"},s(this,k))}getVaultByAddress(e){return oy(e,s(this,k))}getVaultByUserId(e){return ay(he(e),s(this,k))}getSubredditLeaderboard(e){return sy(e,s(this,k))}};k=new WeakMap,ls=new WeakMap;import{RedisKeyScope as bc}from"@devvit/protos";function fd(r){return r&&typeof r=="object"&&"message"in r&&r.message!==void 0&&typeof r.message=="string"?r.message.includes("redis: nil"):!1}var R,O,F,kc=class{constructor(e,t,i){l(this,R);l(this,O);l(this,F);d(this,R,e),d(this,O,t),d(this,F,i)}async get(e){return await s(this,R).Get({key:e,transactionId:s(this,O)},s(this,F)),this}async multi(){await s(this,R).Multi(s(this,O),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,R).Set({key:e,value:t,nx:i?.nx===!0,xx:i?.xx===!0,expiration:n||0,transactionId:s(this,O)},s(this,F)),this}async del(...e){return await s(this,R).Del({keys:e,transactionId:s(this,O)},s(this,F)),this}async type(e){return await s(this,R).Type({key:e,transactionId:s(this,O)},s(this,F)),this}async exec(){let e=await s(this,R).Exec(s(this,O),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,R).Discard(s(this,O),s(this,F))}async watch(...e){return await s(this,R).Watch({keys:e,transactionId:s(this,O)},s(this,F)),this}async unwatch(){return await s(this,R).Unwatch(s(this,O),s(this,F)),this}async getRange(e,t,i){return await s(this,R).GetRange({key:e,start:t,end:i,transactionId:s(this,O)},s(this,F)),this}async setRange(e,t,i){return await s(this,R).SetRange({key:e,offset:t,value:i,transactionId:s(this,O)},s(this,F)),this}async strlen(e){return this.strLen(e)}async strLen(e){return await s(this,R).Strlen({key:e,transactionId:s(this,O)},s(this,F)),this}async mget(e){return this.mGet(e)}async mGet(e){return await s(this,R).MGet({keys:e,transactionId:s(this,O)},s(this,F)),this}async mset(e){return this.mSet(e)}async mSet(e){let t=Object.entries(e).map(([i,n])=>({key:i,value:n}));return await s(this,R).MSet({kv:t,transactionId:s(this,O)},s(this,F)),this}async incrBy(e,t){return await s(this,R).IncrBy({key:e,value:t,transactionId:s(this,O)},s(this,F)),this}async expire(e,t){return await s(this,R).Expire({key:e,seconds:t,transactionId:s(this,O)},s(this,F)),this}async expireTime(e){return await s(this,R).ExpireTime({key:e,transactionId:s(this,O)},s(this,F)),this}async zAdd(e,...t){return await s(this,R).ZAdd({key:e,members:t,transactionId:s(this,O)},s(this,F)),this}async zScore(e,t){return await s(this,R).ZScore({key:{key:e,transactionId:s(this,O)},member:t},s(this,F)),this}async zRank(e,t){return await s(this,R).ZRank({key:{key:e,transactionId:s(this,O)},member:t},s(this,F)),this}async zIncrBy(e,t,i){return await s(this,R).ZIncrBy({key:e,member:t,value:i,transactionId:s(this,O)},s(this,F)),this}async zScan(e,t,i,n){let o={key:e,cursor:t,pattern:i,count:n,transactionId:s(this,O)};return await s(this,R).ZScan(o,s(this,F)),this}async zCard(e){return await s(this,R).ZCard({key:e,transactionId:s(this,O)},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,R).ZRange({key:{key:e,transactionId:s(this,O)},start:t+"",stop:i+"",...o},s(this,F)),this}async zRem(e,t){return await s(this,R).ZRem({key:{key:e,transactionId:s(this,O)},members:t},s(this,F)),this}async zRemRangeByLex(e,t,i){return await s(this,R).ZRemRangeByLex({key:{key:e,transactionId:s(this,O)},min:t,max:i},s(this,F)),this}async zRemRangeByRank(e,t,i){return await s(this,R).ZRemRangeByRank({key:{key:e,transactionId:s(this,O)},start:t,stop:i},s(this,F)),this}async zRemRangeByScore(e,t,i){return await s(this,R).ZRemRangeByScore({key:{key:e,transactionId:s(this,O)},min:t,max:i},s(this,F)),this}async hgetall(e){return this.hGetAll(e)}async hGetAll(e){return await s(this,R).HGetAll({key:e,transactionId:s(this,O)},s(this,F)),this}async hget(e,t){return this.hGet(e,t)}async hGet(e,t){return await s(this,R).HGet({key:e,field:t,transactionId:s(this,O)},s(this,F)),this}async hset(e,t){return this.hSet(e,t)}async hSet(e,t){let i=Object.entries(t).map(([n,o])=>({field:n,value:o}));return await s(this,R).HSet({key:e,fv:i,transactionId:s(this,O)},s(this,F)),this}async hincrby(e,t,i){return this.hIncrBy(e,t,i)}async hIncrBy(e,t,i){return await s(this,R).HIncrBy({key:e,field:t,value:i,transactionId:s(this,O)},s(this,F)),this}async hdel(e,t){return this.hDel(e,t)}async hDel(e,t){return await s(this,R).HDel({key:e,fields:t,transactionId:s(this,O)},s(this,F)),this}async hscan(e,t,i,n){return this.hScan(e,t,i,n)}async hScan(e,t,i,n){let o={key:e,cursor:t,pattern:i,count:n,transactionId:s(this,O)};return await s(this,R).HScan(o,s(this,F)),this}async hkeys(e){return this.hKeys(e)}async hKeys(e){return await s(this,R).HKeys({key:e,transactionId:s(this,O)},s(this,F)),this}async hlen(e){return this.hLen(e)}async hLen(e){return await s(this,R).HLen({key:e,transactionId:s(this,O)},s(this,F)),this}};R=new WeakMap,O=new WeakMap,F=new WeakMap;var L,gi,Sc=class Sc{constructor(e,t=void 0,i=bc.INSTALLATION){l(this,L);l(this,gi);d(this,L,e),d(this,gi,t),this.scope=i,this.global=i===bc.INSTALLATION?new Sc(s(this,L),s(this,gi),bc.GLOBAL):this}get storage(){return s(this,gi)||u.redisPlugin}async watch(...e){let t=await this.storage.Watch({keys:e},s(this,L));return new kc(this.storage,t,s(this,L))}async get(e){try{let t=await this.storage.Get({key:e,scope:this.scope},{...s(this,L),"throw-redis-nil":{values:["true"]}});return t!==null?t.value??void 0:t}catch(t){if(fd(t))return;throw 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,L))).value}async del(...e){await this.storage.Del({keys:e,scope:this.scope},s(this,L))}async incrBy(e,t){return(await this.storage.IncrBy({key:e,value:t,scope:this.scope},s(this,L))).value}async getRange(e,t,i){let n=await this.storage.GetRange({key:e,start:t,end:i,scope:this.scope},s(this,L));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,L))).value}async strlen(e){return this.strLen(e)}async strLen(e){return(await this.storage.Strlen({key:e,scope:this.scope},s(this,L))).value}async expire(e,t){await this.storage.Expire({key:e,seconds:t,scope:this.scope},s(this,L))}async expireTime(e){return(await this.storage.ExpireTime({key:e,scope:this.scope},s(this,L))).value}async zAdd(e,...t){return(await this.storage.ZAdd({key:e,members:t,scope:this.scope},s(this,L))).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,L))).members}async zRem(e,t){return(await this.storage.ZRem({key:{key:e},members:t,scope:this.scope},s(this,L))).value}async zRemRangeByLex(e,t,i){return(await this.storage.ZRemRangeByLex({key:{key:e},min:t,max:i,scope:this.scope},s(this,L))).value}async zRemRangeByRank(e,t,i){return(await this.storage.ZRemRangeByRank({key:{key:e},start:t,stop:i,scope:this.scope},s(this,L))).value}async zRemRangeByScore(e,t,i){return(await this.storage.ZRemRangeByScore({key:{key:e},min:t,max:i,scope:this.scope},s(this,L))).value}async zScore(e,t){try{let i=await this.storage.ZScore({key:{key:e},member:t,scope:this.scope},{...s(this,L),"throw-redis-nil":{values:["true"]}});return i!==null?i.value:i}catch(i){if(fd(i))return;throw i}}async zRank(e,t){try{let i=await this.storage.ZRank({key:{key:e},member:t,scope:this.scope},{...s(this,L),"throw-redis-nil":{values:["true"]}});return i!==null?i.value:i}catch(i){if(fd(i))return;throw i}}async zIncrBy(e,t,i){let n=await this.storage.ZIncrBy({key:e,member:t,value:i,scope:this.scope},s(this,L));return n!==null?n.value:n}async mget(e){return this.mGet(e)}async mGet(e){let t=await this.storage.MGet({keys:e,scope:this.scope},s(this,L));return t!==null?t.values.map(i=>i||null):t}async mset(e){return this.mSet(e)}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,L))}async zCard(e){let t=await this.storage.ZCard({key:e,scope:this.scope},s(this,L));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,L))}async type(e){let t=await this.storage.Type({key:e,scope:this.scope},s(this,L));return t!==null?t.value:t}async hget(e,t){return this.hGet(e,t)}async hGet(e,t){try{let i=await this.storage.HGet({key:e,field:t,scope:this.scope},{...s(this,L),"throw-redis-nil":{values:["true"]}});return i!==null?i.value??void 0:i}catch(i){if(fd(i))return;throw i}}async hset(e,t){return this.hSet(e,t)}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,L))).value}async hgetall(e){return this.hGetAll(e)}async hGetAll(e){let t=await this.storage.HGetAll({key:e,scope:this.scope},s(this,L));return t!==null?t.fieldValues:t}async hdel(e,t){return this.hDel(e,t)}async hDel(e,t){return(await this.storage.HDel({key:e,fields:t,scope:this.scope},s(this,L))).value}async hscan(e,t,i,n){return this.hScan(e,t,i,n)}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,L))}async hkeys(e){return this.hKeys(e)}async hKeys(e){let t=await this.storage.HKeys({key:e,scope:this.scope},s(this,L));return t!==null?t.keys:t}async hincrby(e,t,i){return this.hIncrBy(e,t,i)}async hIncrBy(e,t,i){return(await this.storage.HIncrBy({key:e,field:t,value:i,scope:this.scope},s(this,L))).value}async hlen(e){return this.hLen(e)}async hLen(e){return(await this.storage.HLen({key:e,scope:this.scope})).value}};L=new WeakMap,gi=new WeakMap;var hi=Sc;var gr,vi=class{constructor(e){l(this,gr);d(this,gr,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,gr))).id}async cancelJob(e){await u.schedulerPlugin.Cancel({id:e},s(this,gr))}async listJobs(){return(await u.schedulerPlugin.List({after:new Date(0),before:new Date(Date.now()+31536e7)},s(this,gr))).actions.map(t=>(g(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}))}};gr=new WeakMap;var us,yi=class{constructor(e){l(this,us);d(this,us,e)}async get(e){return(await this.getAll())[e]}async getAll(){let t=await u.settingsPlugin.GetSettings({},s(this,us));if(!t.installationSettings)throw new Error("Could not get installation settings");if(!t.appSettings)throw new Error("Could not get app settings");return{...dy(t.installationSettings.settings,u.installationSettings),...dy(t.appSettings.settings,u.appSettings)}}};us=new WeakMap;function dy(r,e){let t=Object.keys(r).reduce((i,n)=>(i[n]=fc(r[n]),i),{});return e&&ly(t,e),t}function ly(r,e){for(let t of e)t.type==="group"?ly(r,t.fields):!(t.name in r)&&"defaultValue"in t&&(r[t.name]=t.defaultValue)}import{EffectType as Pc,Form as l0,ToastAppearance as uy}from"@devvit/protos";var hr,bi,gd=class{constructor(e){l(this,hr,[]);l(this,bi);d(this,bi,e)}showForm(e,t){let i=u.formDefinitions.get(e);if(!i&&s(this,bi)){let a=s(this,bi).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=l0.fromPartial({id:e,title:n.title,acceptLabel:n.acceptLabel,cancelLabel:n.cancelLabel,shortDescription:n.description});mr(n.fields),o.fields=pt(n.fields),s(this,hr).push({type:Pc.EFFECT_SHOW_FORM,showForm:{form:o}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?uy.SUCCESS:uy.NEUTRAL}:t={text:e},s(this,hr).push({type:Pc.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,hr).push({type:Pc.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}get __effects(){return s(this,hr)}};hr=new WeakMap,bi=new WeakMap;function Be({metadata:r,ui:e,hooks:t,reconciler:i}){let n=new ci(r),o=new li(r),a=new hi(r),c=ey(a,i?i.state:{}),p=new fi(r),f=new vi(r),v=new yi(r),m=e?new gd(i):void 0,b=new ui(r),y=new ai,C=new mi(r),I=t&&i?jv(i):void 0,A=t&&i?Hv(i):void 0,M=t&&i?qv(i):void 0,ce=t&&i?Nv(i):void 0;return{modLog:n,kvStore:o,redis:a,reddit:p,scheduler:f,settings:v,media:b,assets:y,realtime:C,get useForm(){return M??(()=>{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 ce??(()=>{throw new Error("useChannel() is unavailable")})},get ui(){if(!m)throw new Error("ui client is not available");return m}}}var cy={name:"@devvit/public-api",version:"0.11.0-dev",license:"BSD-3-Clause",repository:{type:"git",url:"https://developers.reddit.com/"},type:"module",exports:{".":"./dist/index.js","./package.json":"./package.json","./*":"./dist/*"},main:"./dist/index.js",files:["dist/**"],scripts:{build:"yarn build:icon-types && yarn build:semantic-colors && tsc && cp -af devvit.tsconfig.json dist/ && yarn build:types && yarn build:min && yarn build:unmin","build:icon-types":"make-icons src/types/icons.ts","build:min":"esbuild --bundle --sourcemap=linked --target=es2020 --format=esm --metafile=dist/meta.min.json --outfile=dist/public-api.min.js --external:@devvit/protos --minify src/index.ts","build:semantic-colors":"node scripts/make-semantic-colors.js","build:types":"api-extractor run && sed -ne '/declare global {/,$ p' src/devvit/Devvit.ts >> dist/public-api.d.ts","build:unmin":"esbuild --bundle --sourcemap=inline --target=es2020 --format=iife --metafile=dist/meta.json --outfile=dist/public-api.iife.js --global-name=devvitPublicAPI src/index.ts",clean:"rm -rf .turbo api-extractor coverage dist src/devvit/internals/semanticColors.ts src/types/icons.ts || :",clobber:"yarn clean && rm -rf node_modules",dev:"tsc -w","dev:build":"chokidar ./src --command 'yarn build' --ignore './src/types/icons.ts' --ignore './src/devvit/internals/semanticColors.ts'",lint:"redlint .","lint:fix":"yarn lint --fix",prepublishOnly:"publish-package-json",test:"yarn test:unit && yarn test:types && yarn test:size","test:size":"filesize","test:types":"tsc --noEmit","test:unit":"vitest run","test:unit-with-coverage":"vitest run --coverage"},types:"./dist/index.d.ts",dependencies:{"@devvit/protos":"0.11.0-dev","@devvit/shared-types":"0.11.0-dev","base64-js":"1.5.1","clone-deep":"4.0.1","core-js":"3.27.2","lodash.isequal":"4.5.0"},devDependencies:{"@ampproject/filesize":"4.3.0","@devvit/eslint-config":"0.11.0-dev","@devvit/repo-tools":"0.11.0-dev","@devvit/tsconfig":"0.11.0-dev","@microsoft/api-extractor":"7.41.0","@reddit/faceplate-ui":"11.3.3","@types/clone-deep":"4.0.1","@types/core-js":"2.5.6","@types/lodash.isequal":"4.5.6","@vitest/coverage-c8":"0.32.0","chokidar-cli":"3.0.0",esbuild:"0.23.0",eslint:"8.9.0",typescript:"5.3.2",vitest:"1.6.0"},publishConfig:{directory:"dist"},filesize:{"dist/public-api.min.js":{gzip:"78 KB",none:"255 KB"}},source:"./src/index.ts"};function le(r,e,t){let i=r[D.Subreddit]?.values[0];g(i,"subreddit is missing from Context");let n=r[D.AppUser]?.values[0],o=r[D.User]?.values[0],a=c0(r);return{get appAccountId(){return g(n,"appAccountId is missing from Context"),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}}}}function c0(r){let e={blocks:void 0,emitSnapshots:void 0,emitState:void 0,realtime:void 0,runtime:void 0,surface:void 0,useAsync:void 0,payments:void 0},t={};for(let n in e)t[n.toLowerCase()]=n;let i={};for(let n of(r[D.Debug]?.values??[]).join().split(",")){let[o,a]=n.split("=");o&&(o=o.trim(),a=a?.trim(),o.toLowerCase()in t&&(o=t[o.toLowerCase()]),i[o]??(i[o]=a||"true"))}return r[D.Debug]&&console.info(`[api] @devvit/public-api v${cy.version} ${Object.entries(i).map(([n,o])=>`${n}=${o}`).join(" ")}`),{...i,metadata:r}}function my(r){return r.flatMap(e=>e.type==="group"?my(e.fields):e)}async function hd(r,e,t){if(!e)throw new Error("Settings were not defined.");let i={success:!0,errors:{}},n=Et(r.fieldValues),o=my(e);return await Promise.all(o.map(async a=>{let c=a.name;if(c&&a.onValidate){let p=n[c],f=a.onValidate,v=Object.assign(Be({metadata:t}),le(t)),m=await f({value:p,isEditing:r.editing},v);m&&(i.success=!1,i.errors[c]=m)}})),m0.fromJSON(i)}async function g0(){if(!u.appSettings)throw new Error("App settings were not defined.");return f0.fromJSON({fields:{fields:pt(u.appSettings)}})}async function h0(r,e){return hd(r,u.appSettings,e)}function py(r){r.provides(p0),U("GetAppSettingsFields",g0),U("ValidateAppForm",h0)}import{CustomPostDefinition as C0,RenderPostResponse as I0}from"@devvit/protos";import{BlockRenderEventType as Bc,EffectType as Oy}from"@devvit/protos";function ki(r){return r.__effects}function fy(){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 Uc,BlockAnimationDirection as Iy,BlockAnimationLoopMode as wy,BlockAnimationType as xy,BlockAvatarBackground as Ay,BlockAvatarFacing as Ty,BlockAvatarSize as Mt,BlockBorderWidth as kd,BlockButtonAppearance as Lt,BlockButtonSize as Ac,BlockFullSnooSize as Pi,BlockGap as Sd,BlockHorizontalAlignment as Tc,BlockIconSize as Pd,BlockImageResizeMode as cs,BlockPadding as ms,BlockRadius as ps,BlockSpacerShape as Ec,BlockSpacerSize as Cd,BlockStackDirection as Rc,BlockTextOutline as Oc,BlockTextOverflow as Fc,BlockTextSize as Ci,BlockTextStyle as Mc,BlockTextWeight as Ey,BlockType as De,BlockVerticalAlignment as Lc}from"@devvit/protos";var Cc={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 gy={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"},hy=r=>!!r.match(/^(#[0-9a-fA-F]{3,8}).*/),vy=r=>r in Cc,Ic=r=>r in gy,yy=r=>!!r.match(/^rgba?\(.*/),by=r=>!!r.match(/^hsla?\(.*/),ky=(r,e="light")=>{if(Ic(r))return vd(r);let i=Cc[r];return typeof i=="string"?i:i[e]},vd=r=>gy[r]??r,Sy=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),f=Math.round(p*255);a.push(f)}return`#${a.map(p=>p.toString(16).padStart(2,"0")).join("")}`};import{BlockStackDirection as yd}from"@devvit/protos";var wc={stackParentLayout:{hasHeight:!0,hasWidth:!0,direction:yd.UNRECOGNIZED,alignment:void 0}};function Cy(r,e,t){if(!e)return{hasHeight:!1,hasWidth:!1};let{growDirection:i,stretchDirection:n}=v0(r?.grow,e.direction,e.alignment),o=t?.height?.value?.value||t?.height?.min?.value||Py(2,i,n,e.hasHeight),a=t?.width?.value?.value||t?.width?.min?.value||Py(1,i,n,e.hasWidth);return{hasHeight:!!o,hasWidth:!!a}}function Py(r,e,t,i){return e===r&&i||t===r&&i}function v0(r,e,t){let i=e===yd.STACK_VERTICAL||e===yd.UNRECOGNIZED,n=e===yd.STACK_HORIZONTAL,o=0;n&&r?o=1:i&&r&&(o=2);let a=t===void 0||t.horizontal===void 0,c=t===void 0||t.vertical===void 0,p=n?!!c:i?!!a:!1,f=0;return n&&p?f=2:i&&p&&(f=1),{growDirection:o,stretchDirection:f}}import{BlockSizeUnit as vr,BlockStackDirection as bd}from"@devvit/protos";function Si(r){if(r==null)return;if(typeof r=="number")return{value:r,unit:vr.SIZE_UNIT_PERCENT};let e=r.match(/^(\d+(?:\.\d+)?)(px|%)?$/);if(e==null)return;let t=vr.SIZE_UNIT_PERCENT;return e.at(2)==="px"&&(t=vr.SIZE_UNIT_PIXELS),{value:Number.parseFloat(e[1]),unit:t}}function y0(r,e){return(r.width?.value?.unit===vr.SIZE_UNIT_PERCENT||r.width?.min?.unit===vr.SIZE_UNIT_PERCENT)&&(e.direction===bd.STACK_HORIZONTAL||e.direction===bd.STACK_DEPTH)&&(e.hasWidth||(r.width=void 0)),(r.height?.value?.unit===vr.SIZE_UNIT_PERCENT||r.height?.min?.unit===vr.SIZE_UNIT_PERCENT)&&(e.direction===bd.STACK_VERTICAL||e.direction===bd.STACK_DEPTH)&&(e.hasHeight||(r.height=void 0)),r}function xc(r,e){if(r){let t=r.width!=null||r.minWidth!=null||r.maxWidth!=null,i=r.height!=null||r.minHeight!=null||r.maxHeight!=null;if(t||i||r.grow!=null){let n={width:t?{value:Si(r.width),min:Si(r.minWidth),max:Si(r.maxWidth)}:void 0,height:i?{value:Si(r.height),min:Si(r.minHeight),max:Si(r.maxHeight)}:void 0,grow:r.grow};return e.stackParentLayout&&(n=y0(n,e.stackParentLayout)),n}}}var Ry="data-",b0=new Set(["onPress","onMessage"]),k0=new Map([["onPress",Uc.ACTION_CLICK],["onMessage",Uc.ACTION_WEBVIEW]]),fs,Ii=class{constructor(e=()=>{}){l(this,fs);d(this,fs,e)}createBlocksElementOrThrow({type:e,props:t,children:i}){let n=this.createBlocksElement({type:e,props:t,children:i},wc);if(!n)throw new Error(`Could not create block of type ${e}`);return n}createBlocksElement({type:e,props:t,children:i},n){switch(e){case"blocks":return this.makeRoot(t,...i);case"hstack":return this.makeHStack(t,n,...i);case"vstack":return this.makeVStack(t,n,...i);case"zstack":return this.makeZStack(t,n,...i);case"text":return this.makeText(t,n,...i);case"button":return this.makeButton(t,n,...i);case"image":return this.makeImage(t,n);case"spacer":return this.makeSpacer(t,n);case"icon":return this.makeIcon(t,n);case"avatar":return this.makeAvatar(t,n);case"fullsnoo":return this.makeFullSnoo(t,n);case"animation":return this.makeAnimation(t,n);case"webview":return this.makeWebView(t,n);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 ms.PADDING_NONE;case"xsmall":return ms.PADDING_XSMALL;case"small":return ms.PADDING_SMALL;case"medium":return ms.PADDING_MEDIUM;case"large":return ms.PADDING_LARGE}}makeBlockRadius(e){switch(e){case"none":return ps.RADIUS_NONE;case"small":return ps.RADIUS_SMALL;case"medium":return ps.RADIUS_MEDIUM;case"large":return ps.RADIUS_LARGE;case"full":return ps.RADIUS_FULL}}makeBlockGap(e){switch(e){case"none":return Sd.GAP_NONE;case"small":return Sd.GAP_SMALL;case"medium":return Sd.GAP_MEDIUM;case"large":return Sd.GAP_LARGE}}makeBlockAlignment(e){if(e===void 0)return;let t,i;if(e.includes("top")?t=Lc.ALIGN_TOP:e.includes("middle")?t=Lc.ALIGN_MIDDLE:e.includes("bottom")&&(t=Lc.ALIGN_BOTTOM),e.includes("start")?i=Tc.ALIGN_START:e.includes("center")?i=Tc.ALIGN_CENTER:e.includes("end")&&(i=Tc.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=kd.BORDER_WIDTH_NONE;break;case"thin":o=kd.BORDER_WIDTH_THIN;break;case"thick":o=kd.BORDER_WIDTH_THICK;break;default:o=kd.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 Ci.TEXT_SIZE_XSMALL;case"small":return Ci.TEXT_SIZE_SMALL;case"medium":return Ci.TEXT_SIZE_MEDIUM;case"large":return Ci.TEXT_SIZE_LARGE;case"xlarge":return Ci.TEXT_SIZE_XLARGE;case"xxlarge":return Ci.TEXT_SIZE_XXLARGE}}makeBlockTextStyle(e){switch(e){case"body":return Mc.TEXT_STYLE_BODY;case"metadata":return Mc.TEXT_STYLE_METADATA;case"heading":return Mc.TEXT_STYLE_HEADING}}makeBlockTextOutline(e){switch(e){case"none":return Oc.TEXT_OUTLINE_NONE;case"thin":return Oc.TEXT_OUTLINE_THIN;case"thick":return Oc.TEXT_OUTLINE_THICK}}makeBlockTextWeight(e){switch(e){case"regular":return Ey.TEXT_WEIGHT_REGULAR;case"bold":return Ey.TEXT_WEIGHT_BOLD}}makeBlockTextOverflow(e){switch(e){case"clip":return Fc.TEXT_OVERFLOW_CLIP;case"ellipsis":return Fc.TEXT_OVERFLOW_ELLIPSE}return Fc.TEXT_OVERFLOW_ELLIPSE}makeBlockButtonAppearance(e){switch(e){case"secondary":return Lt.BUTTON_APPEARANCE_SECONDARY;case"primary":return Lt.BUTTON_APPEARANCE_PRIMARY;case"plain":return Lt.BUTTON_APPEARANCE_PLAIN;case"bordered":return Lt.BUTTON_APPEARANCE_BORDERED;case"media":return Lt.BUTTON_APPEARANCE_MEDIA;case"destructive":return Lt.BUTTON_APPEARANCE_DESTRUCTIVE;case"caution":return Lt.BUTTON_APPEARANCE_CAUTION;case"success":return Lt.BUTTON_APPEARANCE_SUCCESS}}makeBlockButtonSize(e){switch(e){case"small":return Ac.BUTTON_SIZE_SMALL;case"medium":return Ac.BUTTON_SIZE_MEDIUM;case"large":return Ac.BUTTON_SIZE_LARGE}}makeBlockImageResizeMode(e){switch(e){case"none":return cs.IMAGE_RESIZE_NONE;case"fit":return cs.IMAGE_RESIZE_FIT;case"fill":return cs.IMAGE_RESIZE_FILL;case"cover":return cs.IMAGE_RESIZE_COVER;case"scale-down":return cs.IMAGE_RESIZE_SCALE_DOWN}}makeBlockSpacerSize(e){switch(e){case"xsmall":return Cd.SPACER_XSMALL;case"small":return Cd.SPACER_SMALL;case"medium":return Cd.SPACER_MEDIUM;case"large":return Cd.SPACER_LARGE}}makeBlockSpacerShape(e){switch(e){case"invisible":return Ec.SPACER_INVISIBLE;case"thin":return Ec.SPACER_THIN;case"square":return Ec.SPACER_SQUARE}}makeBlockIconSize(e){switch(e){case"xsmall":return Pd.ICON_SIZE_XSMALL;case"small":return Pd.ICON_SIZE_SMALL;case"medium":return Pd.ICON_SIZE_MEDIUM;case"large":return Pd.ICON_SIZE_LARGE}}makeBlockAvatarSize(e){switch(e){case"xxsmall":return Mt.AVATAR_SIZE_XXSMALL;case"xsmall":return Mt.AVATAR_SIZE_XSMALL;case"small":return Mt.AVATAR_SIZE_SMALL;case"medium":return Mt.AVATAR_SIZE_MEDIUM;case"large":return Mt.AVATAR_SIZE_LARGE;case"xlarge":return Mt.AVATAR_SIZE_XXLARGE;case"xxlarge":return Mt.AVATAR_SIZE_XXLARGE;case"xxxlarge":return Mt.AVATAR_SIZE_XXXLARGE}}makeBlockAvatarFacing(e){switch(e){case"left":return Ty.AVATAR_FACING_LEFT;case"right":return Ty.AVATAR_FACING_RIGHT}}makeBlockFullSnooSize(e){switch(e){case"xsmall":return Pi.FULLSNOO_XSMALL;case"small":return Pi.FULLSNOO_SMALL;case"medium":return Pi.FULLSNOO_MEDIUM;case"large":return Pi.FULLSNOO_LARGE;case"xlarge":return Pi.FULLSNOO_XLARGE;case"xxlarge":return Pi.FULLSNOO_XXLARGE}}makeBlockAvatarBackground(e){switch(e){case"dark":return Ay.AVATAR_BG_DARK;case"light":return Ay.AVATAR_BG_LIGHT}}makeBlockAnimationType(e){return e==="lottie"||e===void 0?xy.ANIM_LOTTIE:xy.UNRECOGNIZED}makeBlockAnimationDirection(e){switch(e){case"backward":return Iy.ANIM_DIR_BACKWARD;case"forward":return Iy.ANIM_DIR_FORWARD}}makeBlockLoopMode(e){switch(e){case"repeat":return wy.ANIM_LOOP_REPEAT;case"bounce":return wy.ANIM_LOOP_BOUNCE}}getDataSet(e){return Object.keys(e).filter(t=>t.startsWith(Ry)).reduce((t,i)=>(t[i.substring(Ry.length)]=e[i],t),{})}makeActions(e,t){let i=[],n=this.getDataSet(t);return b0.forEach(o=>{if(o in t){let a=t[o];i.push({type:k0.get(o)??Uc.UNRECOGNIZED,id:a.toString(),data:n})}}),i}blockColorToHex(e,t="light"){if(e)return e=e.toLowerCase(),hy(e)?e:vy(e)?ky(e,t):Ic(e)?vd(e):yy(e)?Sy(e):by(e)?e:(console.warn(`Could not parse color: ${e}.`),vd("red"))}childrenToBlocks(e,t){return e.flatMap(i=>(typeof i!="string"?this.createBlocksElement(i,t):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}resolveAssetUrl(e,t){return s(this,fs).call(this)?.getURL(e,t)??e}childrenToString(e){return e.map(t=>t.toString()).join("")}makeRoot(e,...t){return this.wrapRoot(e,this.childrenToBlocks(t,wc))}wrapRoot(e,t){return this.makeBlock(De.BLOCK_ROOT,{},{},{rootConfig:{children:t,height:this.makeRootHeight(u.customPostType?.height??e?.height??"regular")}})}makeStackBlock(e,t,i,n){let o=this.getThemedColors(t?.backgroundColor,t?.lightBackgroundColor,t?.darkBackgroundColor),a=this.makeBlockAlignment(t?.alignment),c=xc(t,i),p=Cy(t,i.stackParentLayout,c);return this.makeBlock(De.BLOCK_STACK,t,i,{stackConfig:{alignment:a,backgroundColor:o?.light,backgroundColors:o,border:this.makeBlockBorder(t?.border,t?.borderColor,t?.lightBorderColor,t?.darkBorderColor),children:this.childrenToBlocks(n,{stackParentLayout:{...p,direction:e,alignment:a}}),cornerRadius:this.makeBlockRadius(t?.cornerRadius),direction:e,gap:this.makeBlockGap(t?.gap),padding:this.makeBlockPadding(t?.padding),reverse:t?.reverse}})}makeHStack(e,t,...i){return this.makeStackBlock(Rc.STACK_HORIZONTAL,e,t,i)}makeVStack(e,t,...i){return this.makeStackBlock(Rc.STACK_VERTICAL,e,t,i)}makeZStack(e,t,...i){return this.makeStackBlock(Rc.STACK_DEPTH,e,t,i)}makeText(e,t,...i){let n=this.getThemedColors(e?.color,e?.lightColor,e?.darkColor);return this.makeBlock(De.BLOCK_TEXT,e,t,{textConfig:{alignment:this.makeBlockAlignment(e?.alignment),color:n?.light,colors:n,outline:this.makeBlockTextOutline(e?.outline),size:this.makeBlockTextSize(e?.size),style:this.makeBlockTextStyle(e?.style),text:this.childrenToString(i),weight:this.makeBlockTextWeight(e?.weight),selectable:e?.selectable,wrap:e?.wrap,overflow:this.makeBlockTextOverflow(e?.overflow)}})}makeButton(e,t,...i){let n=this.getThemedColors(e?.textColor,e?.lightTextColor,e?.darkTextColor);return this.makeBlock(De.BLOCK_BUTTON,e,t,{buttonConfig:{buttonAppearance:this.makeBlockButtonAppearance(e?.appearance),icon:e?.icon,buttonSize:this.makeBlockButtonSize(e?.size),text:this.childrenToString(i),textColor:n?.light,textColors:n,disabled:e?.disabled}})}makeImage(e,t){return e&&this.makeBlock(De.BLOCK_IMAGE,e,t,{imageConfig:{description:e?.description,resizeMode:this.makeBlockImageResizeMode(e.resizeMode),url:this.resolveAssetUrl(e.url),width:this.parsePixels(e.imageWidth),height:this.parsePixels(e.imageHeight)}})}makeSpacer(e,t){return this.makeBlock(De.BLOCK_SPACER,e,t,{spacerConfig:{size:this.makeBlockSpacerSize(e?.size),shape:this.makeBlockSpacerShape(e?.shape)}})}makeIcon(e,t){let i=this.getThemedColors(e?.color,e?.lightColor,e?.darkColor);return e&&this.makeBlock(De.BLOCK_ICON,e,t,{iconConfig:{icon:e.name,color:i?.light,colors:i,size:this.makeBlockIconSize(e.size)}})}makeAvatar(e,t){return e&&this.makeBlock(De.BLOCK_AVATAR,e,t,{avatarConfig:{thingId:e.thingId,size:this.makeBlockAvatarSize(e.size),facing:this.makeBlockAvatarFacing(e.facing),background:this.makeBlockAvatarBackground(e.background)}})}makeFullSnoo(e,t){return e&&this.makeBlock(De.BLOCK_FULLSNOO,e,t,{fullsnooConfig:{userId:e.userId,facing:this.makeBlockAvatarFacing(e.facing),size:this.makeBlockFullSnooSize(e.size)}})}makeAnimation(e,t){return e&&this.makeBlock(De.BLOCK_ANIMATION,e,t,{animationConfig:{type:this.makeBlockAnimationType(e.type),url:this.resolveAssetUrl(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,t){return e&&this.makeBlock(De.BLOCK_WEBVIEW,e,t,{webviewConfig:{url:this.resolveAssetUrl(e.url,{webview:!0}),state:e.state}})}makeBlock(e,t,i,n){return{type:e,sizes:xc(t,i),config:n,actions:(t&&this.makeActions(e,t))??[],id:t?.id,key:t?.key}}ensureRootBlock(e){let t;if(e.type===De.BLOCK_ROOT?(e.config?.rootConfig&&u.customPostType?.height&&(e.config.rootConfig.height=this.makeRootHeight(u.customPostType?.height)),t=e):t=this.wrapRoot(void 0,[e]),!t)throw new Error("Could not create root block");return t}};fs=new WeakMap;function Fy(r){if(typeof r=="string")throw new Error("Root element cannot be a string")}var My=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+=My(i);return e+=`</${r.type}>`,e};function S0(r){return" ".repeat(r)}function P0(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+=S0(t),n!==0&&(e+="<"),e+=o,n!==i.length-1&&(e+=`>
2
+ `),!a&&o.indexOf("</")===-1&&o.charAt(o.length-1)!=="/"&&t++}return e}var _e,Ly,gs,Dc,hs,ft=class{constructor(e,t,i,n,o){l(this,_e);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.assets);this.effects=[];l(this,hs,!1);this.component=e,this.event=t,this.state={__renderState:{},...i},this.metadata=n,this.state.__realtimeChannels&&(this.realtimeChannels=this.state.__realtimeChannels);let a=Be({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=S(this,_e,gs).call(this),t={type:this.component,props:e,children:[]},i=await this.processBlock(t);if(Fy(i),this.transformer.createBlocksElementOrThrow(i),this.isUserActionRender&&this.blockRenderEventId){let n=this.actions.get(this.blockRenderEventId);n&&await n(this.event.data)}for(let n of this.pendingHooks)await n();this.buildNextState(),S(this,_e,Ly).call(this)}async buildBlocksUI(){let e=S(this,_e,gs).call(this),t={type:this.component,props:e,children:[]},i=await this.renderElement(e,t);return this.transformer.ensureRootBlock(i)}async renderElement(e,t){let i=await this.processBlock(t);return Fy(i),(u.debug.emitSnapshots||e.debug.emitSnapshots)&&console.debug(P0(My(i))),(u.debug.emitState||e.debug.emitState)&&console.debug(JSON.stringify(this.state,void 0,2)),this.transformer.createBlocksElementOrThrow(i)}async processProps(e){let t=e.props??{},i=["onPress","onMessage"];for(let n of i)if(n in t){let o=t[n],a=o?.name,c=this.makeUniqueActionID(`${e.type}.${a??n}`);this.actions.set(c,o),t[n]=c}}async processBlock(e,t=fy(),i=[]){let n=e;if(typeof n.type=="string"){let c=[];for(let m=0;m<n.children.length;m++){let b=n.children[m];b!=null&&c.push(await this.processBlock(b,t,[...i,`${n.type}.${m}`]))}let p=c.flat(),f=S(this,_e,Dc).call(this,p);return await this.processProps(n),{type:n.type,props:n.props,children:f}}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),f={...S(this,_e,gs).call(this),...n.props,children:p},v;for(;v===void 0;)try{v=await n.type(f,S(this,_e,gs).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===Bc.RENDER_INITIAL:!1}get isUserActionRender(){return this.event?this.event.type===Bc.RENDER_USER_ACTION:!1}get isEffectRender(){return this.event?this.event.type===Bc.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,hs)||(d(this,hs,!0),this.effects.push({type:Oy.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:Oy.EFFECT_REALTIME_SUB,realtimeSubscriptions:{subscriptionIds:this.realtimeChannels}}]:[]}getEffects(){return[...ki(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}:{}}}};_e=new WeakSet,Ly=function(){this.actions.clear(),this.currentComponentKey=[],this.currentHookIndex=0,this.pendingHooks=[],this.realtimeChannels=[],this.realtimeUpdated=!1},gs=function(){let e={...le(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,uiEnvironment:{timezone:this.metadata[D.Timezone]?.values[0],locale:this.metadata[D.Language]?.values[0],dimensions:this.dimensions},...this.hooks};return e.debug.effects=this,e},Dc=function(e){let t=[];for(let i of e)typeof i=="string"?t.push(i):i.type==="__fragment"?t.push(...S(this,_e,Dc).call(this,i.children)):t.push(i);return t},hs=new WeakMap;async function w0(r,e){let t=u.customPostType;if(!t)throw new Error("Custom post type not registered");let i=new ft((o,a)=>t.render(a),r.blocks,r.state,e,r.dimensions),n=await i.render();return I0.fromJSON({state:i.state,blocks:{ui:n},effects:i.getEffects()})}function Uy(r){r.provides(C0),U("RenderPost",w0)}import{GetFieldsResponse as x0,InstallationSettingsDefinition as A0}from"@devvit/protos";async function T0(){if(!u.installationSettings)throw new Error("Installation settings were not defined.");return x0.fromJSON({fields:{fields:pt(u.installationSettings)}})}async function E0(r,e){return hd(r,u.installationSettings,e)}function By(r){r.provides(A0),U("GetSettingsFields",T0),U("ValidateForm",E0)}import{ContextActionDefinition as R0,ContextActionList as O0,ContextActionResponse as F0}from"@devvit/protos";var Dy=r=>`menuItem.${r}`;function _c(r){return u.menuItems.find((e,t)=>Dy(t)===r)}async function M0(r,e){let t=u.menuItems;if(!t.length)throw new Error("No menu items registered.");let i=t.map((n,o)=>({actionId:Dy(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}));return O0.fromJSON({actions:i})}async function L0(r,e){let t=_c(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;g(a,"targetId is missing from ContextActionRequest");let c={targetId:a,location:r.comment?"comment":r.post?"post":"subreddit"},p=Object.assign(Be({ui:!0,metadata:e}),le(e,n,i),{uiEnvironment:{timezone:e[D.Timezone]?.values[0],locale:e[D.Language]?.values[0]}});return await t.onPress(c,p),F0.fromJSON({effects:ki(p.ui)})}function _y(r){r.provides(R0),U("GetActions",M0),U("OnAction",L0)}function gt(r){return r?r===!0?!0:r.enabled:!1}import{SchedulerHandlerDefinition as U0}from"@devvit/protos";async function B0(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(Be({metadata:e}),le(e));await i(n,o)}function Ny(r){r.provides(U0),U("HandleScheduledAction",B0)}import{HandlerResult as D0,OnAppInstallDefinition as _0,OnAppUpgradeDefinition as N0,OnCommentCreateDefinition as q0,OnCommentDeleteDefinition as H0,OnCommentReportDefinition as j0,OnCommentSubmitDefinition as W0,OnCommentUpdateDefinition as G0,OnModActionDefinition as V0,OnModMailDefinition as z0,OnPostCreateDefinition as J0,OnPostDeleteDefinition as $0,OnPostFlairUpdateDefinition as K0,OnPostReportDefinition as X0,OnPostSubmitDefinition as Z0,OnPostUpdateDefinition as Y0,OnPostNsfwUpdateDefinition as Q0,OnPostSpoilerUpdateDefinition as eE}from"@devvit/protos";var wi;(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})(wi||(wi={}));function ee(r,e){return g(e),async(t,i)=>{let n={...t,type:r},o=Object.assign(Be({metadata:i}),le(i)),a=await Promise.allSettled(e.map(p=>p(n,o))),c=tE(a);if(c)throw c.err;return D0.fromPartial({})}}function qy(r){for(let e of u.triggerOnEventHandlers.keys())switch(e){case"PostSubmit":r.provides(Z0),U("OnPostSubmit",ee("PostSubmit",u.triggerOnEventHandlers.get(e)));break;case"PostCreate":r.provides(J0),U("OnPostCreate",ee("PostCreate",u.triggerOnEventHandlers.get(e)));break;case"PostUpdate":r.provides(Y0),U("OnPostUpdate",ee("PostUpdate",u.triggerOnEventHandlers.get(e)));break;case"PostReport":r.provides(X0),U("OnPostReport",ee("PostReport",u.triggerOnEventHandlers.get(e)));break;case"PostDelete":r.provides($0),U("OnPostDelete",ee("PostDelete",u.triggerOnEventHandlers.get(e)));break;case"PostFlairUpdate":r.provides(K0),U("OnPostFlairUpdate",ee("PostFlairUpdate",u.triggerOnEventHandlers.get(e)));break;case"CommentSubmit":r.provides(W0),U("OnCommentSubmit",ee("CommentSubmit",u.triggerOnEventHandlers.get(e)));break;case"CommentCreate":r.provides(q0),U("OnCommentCreate",ee("CommentCreate",u.triggerOnEventHandlers.get(e)));break;case"CommentUpdate":r.provides(G0),U("OnCommentUpdate",ee("CommentUpdate",u.triggerOnEventHandlers.get(e)));break;case"CommentReport":r.provides(j0),U("OnCommentReport",ee("CommentReport",u.triggerOnEventHandlers.get(e)));break;case"CommentDelete":r.provides(H0),U("OnCommentDelete",ee("CommentDelete",u.triggerOnEventHandlers.get(e)));break;case"AppInstall":r.provides(_0),U("OnAppInstall",ee("AppInstall",u.triggerOnEventHandlers.get(e)));break;case"AppUpgrade":r.provides(N0),U("OnAppUpgrade",ee("AppUpgrade",u.triggerOnEventHandlers.get(e)));break;case"ModAction":r.provides(V0),U("OnModAction",ee("ModAction",u.triggerOnEventHandlers.get(e)));break;case"ModMail":r.provides(z0),U("OnModMail",ee("ModMail",u.triggerOnEventHandlers.get(e)));break;case"PostNsfwUpdate":r.provides(Q0),U("OnPostNsfwUpdate",ee("PostNsfwUpdate",u.triggerOnEventHandlers.get(e)));break;case"PostSpoilerUpdate":r.provides(eE),U("OnPostSpoilerUpdate",ee("PostSpoilerUpdate",u.triggerOnEventHandlers.get(e)));break;default:throw new Error(`Unknown trigger event: ${e}`)}}function tE(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=>wi.caughtToString(t)).join(`
3
+ `))}}var Mb=_n(Yy(),1),Lb=_n(Yc(),1);import{EffectType as eO,HandleUIEventResponse as Qc,UIEventHandlerDefinition as tO}from"@devvit/protos";async function rO(r,e){let t=r.state??{},i=(0,Mb.default)(t),n=Be({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 y=new ft((C,I)=>u.customPostType?.render(I)??null,r.event,r.state,e,void 0);return await y.reconcile(),Qc.fromJSON({state:y.state,effects:y.getEffects()})}let f=u.formDefinitions.get(p);if(!f)throw new Error(`Form with key ${p} not found`);let v,m;if(i.__contextAction){let{actionId:y,thingId:C}=i.__contextAction,I=_c(y);I?.location==="post"?v=C:I?.location==="comment"&&(m=C)}let b=Object.assign(n,le(e,v,m),{uiEnvironment:{timezone:e[D.Timezone]?.values[0],locale:e[D.Language]?.values[0]}});await f.onSubmit({values:Et(r.event.formSubmitted.results)},b)}else if(r.event?.realtimeEvent){if(u.customPostType){let p=new ft((f,v)=>u.customPostType?.render(v)??null,r.event,r.state,e,void 0);return await p.reconcile(),Qc.fromJSON({state:p.state,effects:p.getEffects()})}}else if(r.event?.toastAction)throw new Error("Toast actions not yet implemented");let o=!(0,Lb.default)(t,i),a=ki(n.ui),c=o?[...a,{type:eO.EFFECT_RERENDER_UI,rerenderUi:{delaySeconds:0}}]:a;return Qc.fromJSON({state:i,effects:c})}function Ub(r){r.provides(tO),U("HandleUIEvent",rO)}import{CustomPostDefinition as sk,UIResponse as fO}from"@devvit/protos";import{EffectType as rm,Form as nO,ToastAppearance as _b}from"@devvit/protos";function Bb(r){let e=r.match(/form\.hook\.(.+)\.0/);if(e?.[1])return e[1]}var em=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(Et(n.formSubmitted.results))}}};function tm(r,e){let t=Ke({namespace:"useForm",initializer:i=>new em(i,r,e)});return iO({id:t.hookId})}function iO(r){return`form.hook.${r.id}.0`}function Db(r,e){let t=Bb(e);return r.getHook({id:t})}var Dt,Ud=class{constructor(e){l(this,Dt);d(this,Dt,e)}showForm(e,t){let i=Db(s(this,Dt),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=nO.fromPartial({id:e,title:n.title,acceptLabel:n.acceptLabel,cancelLabel:n.cancelLabel,shortDescription:n.description});mr(n.fields),o.fields=pt(n.fields),s(this,Dt).emitEffect(e,{type:rm.EFFECT_SHOW_FORM,showForm:{form:o}})}showToast(e){let t;e instanceof Object?t={text:e.text,appearance:e.appearance==="success"?_b.SUCCESS:_b.NEUTRAL}:t={text:e},s(this,Dt).emitEffect(e.toString(),{type:rm.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,Dt).emitEffect(t,{type:rm.EFFECT_NAVIGATE_TO_URL,navigateToUrl:{url:t}})}};Dt=new WeakMap;import{EffectType as sO,RealtimeSubscriptionStatus as Nb}from"@devvit/protos";var _t,nt,Nt,Pr,Ps,nm,Bd=class Bd{constructor(e,t){l(this,Ps);l(this,_t);l(this,nt);l(this,Nt);l(this,Pr);d(this,_t,t.context),d(this,nt,!!t.context._devvitContext?.debug.realtime),d(this,Pr,e),d(this,Nt,t.invalidate);let i=t.context.meta[D.App]?.values[0];if(!i)throw Error("useChannel missing app ID metadata");let n=t.context.meta[D.Installation]?.values[0];if(!n)throw Error("useChannel missing install ID from metadata");let o=`${i}:${n}:${e.name}`;if(Object.values(s(this,_t).hooks).filter(c=>c instanceof Bd).some(c=>c.state.channel===o))throw Error(`useChannel channel names must be unique; "${o}" duplicated`);this.state={channel:o,connected:!1,subscribed:!1}}async onUIEvent(e){let t=e.realtimeEvent;if(!(!t||!this.state.subscribed))switch(t.status){case Nb.REALTIME_SUBSCRIBED:s(this,nt)&&console.debug(`[realtime] "${this.state.channel}" connected`),this.state.connected=!0,s(this,Nt).call(this),await s(this,Pr).onSubscribed?.();break;case Nb.REALTIME_UNSUBSCRIBED:s(this,nt)&&console.debug(`[realtime] "${this.state.channel}" disconnected`),this.state.connected=!1,s(this,Nt).call(this),await s(this,Pr).onUnsubscribed?.();break;default:s(this,nt)&&console.debug(`[realtime] "${this.state.channel}" received message: ${JSON.stringify(e,void 0,2)}`),s(this,Pr).onMessage(t.event?.data??{});break}}async send(e){if(s(this,nt)&&console.debug(`[realtime] "${this.state.channel}" send message: ${JSON.stringify(e,void 0,2)}`),!this.state.subscribed||!this.state.connected)throw console.debug(`[realtime] "${this.state.channel}" send failed; channel not connected`),Error(`useChannel send failed; "${this.state.channel}" channel not connected`);await s(this,_t).devvitContext.realtime.send(this.state.channel,e)}get status(){return this.state.subscribed&&this.state.connected?2:this.state.subscribed&&!this.state.connected?1:!this.state.subscribed&&this.state.connected?3:4}subscribe(){this.state.subscribed||(s(this,nt)&&console.debug(`[realtime] "${this.state.channel}" subscribed`),this.state.subscribed=!0,s(this,Nt).call(this),S(this,Ps,nm).call(this))}unsubscribe(){this.state.subscribed&&(s(this,nt)&&console.debug(`[realtime] "${this.state.channel}" unsubscribed`),this.state.subscribed=!1,s(this,Nt).call(this),S(this,Ps,nm).call(this))}};_t=new WeakMap,nt=new WeakMap,Nt=new WeakMap,Pr=new WeakMap,Ps=new WeakSet,nm=function(){let e=Object.values(s(this,_t).hooks).filter(t=>t instanceof Bd&&t.state.subscribed).map(t=>t.state.channel);s(this,_t).emitEffect(this.state.channel,{type:sO.EFFECT_REALTIME_SUB,realtimeSubscriptions:{subscriptionIds:e}})};var im=Bd;function sm(r){if(!r.name||/[^a-zA-Z0-9_]/.test(r.name))throw Error(`useChannel error: The name "${r.name}" you provided for the hook is invalid. Valid names can only contain letters, numbers, and underscores (_).`);let e=`useChannel:${r.name}`;return Ke({id:e,namespace:e,initializer:t=>new im(r,t)})}import{EffectType as om}from"@devvit/protos";function qb(r){return typeof r=="object"&&r!==null&&"__deleted"in r}var Cr,Ei=class Ei{constructor(e,t){l(this,Cr);this._segments=[];this._hooks={};this._prevHookId="";this._effects={};this._changed={};this._touched={};this._requeueEvents=[];this._rootProps={};this._generated={};this._undeliveredHandlers={};this.request=e,this.meta=t,d(this,Cr,e.state??{__cache:{}}),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={__cache:s(this,Cr).__cache??{}};for(let i in this._changed)e[i]=this._state[i];let t=new Set(Object.keys(this._state));return Object.keys(this._hooks).forEach(i=>{i!=="__cache"&&t.delete(i)}),t.forEach(i=>{if(i==="__cache")return;let n={__deleted:!0};this._state[i]=e[i]=n}),e}get hooks(){return this._hooks}get _state(){return s(this,Cr)}set _state(e){this._hooks={},d(this,Cr,e)}push(e){this._segments.push({...e,next:0})}pop(){this._segments.pop()}addUndeliveredEventHandler(e,t){this._undeliveredHandlers[e]=t}addGlobalUndeliveredEventHandler(e,t){Ei.addGlobalUndeliveredEventHandler(e,t)}getHook(e){return this._hooks[e.id]}static addGlobalUndeliveredEventHandler(e,t){Ei._staticUndeliveredHandlers[e]=t}async handleUndeliveredEvent(e){let t={...Ei._staticUndeliveredHandlers,...this._undeliveredHandlers};for(let[i,n]of Object.entries(t))await n(e,this)}emitEffect(e,t){this._effects[e]=t}addToRequeueEvents(...e){this._devvitContext?.debug.blocks&&console.debug("[blocks] 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()}}};Cr=new WeakMap,Ei._staticUndeliveredHandlers={};var Ri=Ei;var qt={};Ri.addGlobalUndeliveredEventHandler("intervals",async(r,e)=>{r.timer&&r.hook&&(delete qt[r.hook],e.emitEffect("timers",{type:om.EFFECT_SET_INTERVALS,interval:{intervals:qt}}))});var Ht,Oi,Cs,Fi,am=class{constructor(e,t,i){l(this,Ht);l(this,Oi);l(this,Cs);l(this,Fi);this.state={duration:{seconds:0,nanos:0},running:!1};d(this,Oi,i.invalidate),d(this,Ht,i.hookId),d(this,Cs,e),d(this,Fi,i.context);let n=Math.floor(t/1e3),o=t%1e3*1e6;this.state.duration={seconds:n,nanos:o}}onStateLoaded(){this.state.running?qt[s(this,Ht)]={duration:this.state.duration}:delete qt[s(this,Ht)]}async onUIEvent(e){await s(this,Cs).call(this)}start(){qt[s(this,Ht)]={duration:this.state.duration},this.state.running=!0,s(this,Oi).call(this),s(this,Fi).emitEffect("timers",{type:om.EFFECT_SET_INTERVALS,interval:{intervals:qt}})}stop(){delete qt[s(this,Ht)],this.state.running=!1,s(this,Oi).call(this),s(this,Fi).emitEffect("timers",{type:om.EFFECT_SET_INTERVALS,interval:{intervals:qt}})}};Ht=new WeakMap,Oi=new WeakMap,Cs=new WeakMap,Fi=new WeakMap;function dm(r,e){let t=Ke({namespace:"useInterval",initializer:i=>new am(r,e,i)});return{start:()=>t.start(),stop:()=>t.stop()}}var Ir=class extends Error{};var lm="ServerCallRequired";function Hb(r){return r?.message===lm}var jb=_n(Yc(),1);function cm(r){if(r instanceof Error){if(r.message===lm)throw r;return{message:r.message,details:r.stack??""}}else return{message:"Unknown error",details:wi.caughtToString(r)}}var Xe,st,Mi,Is,um=class{constructor(e,t,i){l(this,Xe);l(this,st);l(this,Mi);l(this,Is);d(this,Xe,!!i.context.devvitContext.debug.useAsync),s(this,Xe)&&console.debug("[useAsync] v1",t),this.state={data:null,load_state:"initial",error:null,depends:null},d(this,st,i.hookId),this.initializer=e,d(this,Mi,i.invalidate),d(this,Is,i.context),this.localDepends=t.depends??null}onStateLoaded(){if(this.state.load_state!=="disabled"&&(s(this,Xe)&&console.debug("[useAsync] async onLoad ",s(this,st),this.state),s(this,Xe)&&console.debug("[useAsync] async onLoad have ",this.localDepends,"and",this.state.depends),!(0,jb.default)(this.localDepends,this.state.depends)||this.state.load_state==="initial")){s(this,Xe)&&console.debug("[useAsync] attempting to resolve for hookId",s(this,st)),this.state.load_state="loading",this.state.depends=this.localDepends,s(this,Mi).call(this);let e={hook:s(this,st),async:!0,asyncRequest:{requestId:s(this,st)+"-"+JSON.stringify(this.state.depends)}};s(this,Xe)&&console.debug("[useAsync] onLoad requeue"),s(this,Is).addToRequeueEvents(e)}}async onUIEvent(e,t){if(e.asyncRequest){let i={requestId:e.asyncRequest.requestId};try{i.data={value:await this.initializer()}}catch(o){i.error=cm(o)}let n={asyncResponse:i,hook:s(this,st)};s(this,Xe)&&console.debug("[useAsync] onReq requeue"),t.addToRequeueEvents(n)}else if(e.asyncResponse){let i=s(this,st)+"-"+JSON.stringify(this.state.depends);e.asyncResponse.requestId===i?(this.state={...this.state,data:e.asyncResponse.data?.value,error:e.asyncResponse.error??null,load_state:e.asyncResponse.error?"error":"loaded"},s(this,Mi).call(this)):s(this,Xe)&&console.debug("[useAsync] onResp skip, stale event")}else throw new Error("Unknown event type")}};Xe=new WeakMap,st=new WeakMap,Mi=new WeakMap,Is=new WeakMap;function oO(r,e={}){let t=Ke({namespace:"useAsync",initializer:i=>new um(r,e,i),refresh:i=>{i.initializer=r,i.localDepends=e.depends??null}});return{data:t.state.data,error:t.state.error,loading:t.state.load_state==="loading"}}var yt,ws,wr,Li,xr,mm=class{constructor(e,t){this.state={value:null,load_state:"initial",error:null};l(this,yt);l(this,ws);l(this,wr);l(this,Li);l(this,xr);d(this,wr,e),d(this,Li,t.hookId),d(this,yt,t.invalidate),d(this,ws,t.context)}async onUIEvent(){if(this.state.load_state==="loading"&&s(this,xr)){try{this.state.value=await s(this,xr),this.state.load_state="loaded"}catch(e){this.state.load_state="error",this.state.error=cm(e)}s(this,yt).call(this)}else console.warn("Invalid state: ",this.state.load_state,s(this,xr))}setter(e){this.state.value=e instanceof Function?e(this.state.value):e,this.state.load_state="loaded",s(this,yt).call(this)}onStateLoaded(){if(this.state.load_state==="loading")throw new Ir;if(this.state.load_state==="error")throw new Error(this.state.error?.message??"Unknown error");if(this.state.load_state==="initial"){let e;try{e=s(this,wr)instanceof Function?s(this,wr).call(this):s(this,wr)}catch(t){console.log("error in loading async",t),this.state.load_state="error",s(this,yt).call(this);return}if(e instanceof Promise){d(this,xr,e),this.state.load_state="loading";let t={asyncRequest:{requestId:s(this,Li)},hook:s(this,Li)};throw s(this,ws).addToRequeueEvents(t),s(this,yt).call(this),new Ir}else this.state.value=e,this.state.load_state="loaded";s(this,yt).call(this)}}};yt=new WeakMap,ws=new WeakMap,wr=new WeakMap,Li=new WeakMap,xr=new WeakMap;function pm(r){let e=Ke({namespace:"useState",initializer:t=>new mm(r,t)});return[e.state.value,e.setter.bind(e)]}var vm={now(){return new Date}};function Wb(r){return`__autocache__${r}`}function Gb(r){return`__lock__${r}`}var aO=300,dO=1e3,Dd=5e3,fm=3,Vb=.1,zb=1e3,lO=3e4;function Jb(r){if(r.error)throw new Error(r.error);return r.value}var jt,Wt,Ne,Ui,K,$b,Kb,Xb,gm,Zb,Yb,hm,Qb,_d=class{constructor(e,t,i=vm){l(this,K);l(this,jt);l(this,Wt,{});l(this,Ne);l(this,Ui);d(this,jt,e),d(this,Ui,t),d(this,Ne,i)}async cache(e,t){var a;(a=s(this,Ui)).__cache??(a.__cache={}),d(this,Wt,s(this,Ui).__cache),S(this,K,Qb).call(this,t);let i=S(this,K,$b).call(this,t.key);if(i!==void 0)return i;let n=await S(this,K,hm).call(this,t.key),o=await S(this,K,Kb).call(this,t,n,e);return Jb(o)}};jt=new WeakMap,Wt=new WeakMap,Ne=new WeakMap,Ui=new WeakMap,K=new WeakSet,$b=function(e){let t=s(this,Wt)[e];if(t){let i=s(this,Ne).now().getTime(),n=t?.error&&t?.errorTime&&t.errorCount<fm&&Math.random()<Vb&&t.errorTime+zb<i;if(t?.expires&&t.expires<i&&t.checkedAt+zb<i||n){delete s(this,Wt)[e];return}else return Jb(t)}},Kb=async function(e,t,i){let n=t?.expires,o=n?S(this,K,Yb).call(this,n):1;return!t||t?.error&&t.errorCount<fm&&Vb>Math.random()||o>Math.random()?S(this,K,Xb).call(this,e,t,i):t},Xb=async function(e,t,i){let n=Gb(e.key),o=s(this,Ne).now().getTime(),a=new Date(o+e.ttl/2);if(await s(this,jt).set(n,"1",{expiration:a,nx:!0}))return S(this,K,Zb).call(this,e.key,t,i,e.ttl);if(t)return t;{let p=s(this,Ne).now();return S(this,K,gm).call(this,p,e.key,e.ttl)}},gm=async function(e,t,i){let n=Math.min(i,dO),o=await S(this,K,hm).call(this,t);if(o)return o;if(s(this,Ne).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,aO)),S(this,K,gm).call(this,e,t,i)},Zb=async function(e,t,i,n){let o=s(this,Ne).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,Ne).now().getTime(),t.errorCount++}return s(this,Wt)[e]=t,await s(this,jt).set(Wb(e),JSON.stringify(t),{expiration:new Date(o+lO)}),t.error&&t.errorCount<fm&&await s(this,jt).del(Gb(e)),t},Yb=function(e){let t=s(this,Ne).now().getTime(),i=e-t;return i<0?1:i<1e3?.1:i<2e3?.01:i<3e3?.001:0},hm=async function(e){let t=await s(this,jt).get(Wb(e));if(t){let i=JSON.parse(t);return i.checkedAt=s(this,Ne).now().getTime(),s(this,Wt)[e]=i,i}},Qb=function(e){e.ttl<Dd&&(console.warn(`Cache TTL cannot be less than ${Dd} milliseconds! Updating ttl value of ${e.ttl} to ${Dd}.`),e.ttl=Dd)};function ek(r,e,t=vm){let i=new _d(r,e,t);return i.cache.bind(i)}var Nd=class{buildContext(e,t,i){let n=new ci(i),o=new li(i),a=new hi(i),c=new fi(i),p=new vi(i),f=new yi(i),v=new Ud(e),m=new ui(i),b=new ai,y=new mi(i),C=ek(a,e._state),I={modLog:n,kvStore:o,redis:a,reddit:c,scheduler:p,settings:f,media:m,assets:b,realtime:y,ui:v,useState:pm,useChannel:sm,useInterval:dm,useForm:tm,cache:C,dimensions:t.env?.dimensions,uiEnvironment:{timezone:i[D.Timezone]?.values[0],locale:i[D.Language]?.values[0],dimensions:t.env?.dimensions}},A=le(i,t.props?.postId);return A.debug.effects=e,{...A,...I}}};var be=null;function tk(r){return JSON.parse(JSON.stringify(r))}function uO(r){if(!(r!==""&&!/[-.]/.test(r)))throw new Error(`Hook with namespace '${r}' is invalid. Hook namespaces cannot be empty string or contain dashes/dots because they are used as delimiters internally. Please update the hook namespace and try again.`)}function cO(r){return r.blocking||r.resize?!1:!r.hook}function Ke({initializer:r,refresh:e,...t}){if(!be)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.");uO(t.namespace);let i=be.nextHookId(t),n=be;n._touched[i]=!0;let o={hookId:i,invalidate:()=>{n._changed[i]=!0,n._state[i]=n?._hooks[i]?.state},context:be},a=be._state[i]===void 0||qb(be._state[i]);be._hooks[i]=be._hooks[i]??r(o);let c=be._hooks[i];return e?.(c),a||(c.state=be._state[i]),c.onStateLoaded?.(),a&&c.state!==void 0&&c.state!==null&&o.invalidate(),c}var mO=null,Bi,Wd,xs,T,ke,qd,rk,ym,ik,bm,km,Hd,Sm,nk,jd=class{constructor(e){l(this,T);l(this,Bi);l(this,Wd,new Nd);l(this,xs,new Ii(()=>this._latestRenderContext?.devvitContext?.assets));this._latestRenderContext=null;s(this,T,ke)&&console.debug("[blocks] BlocksHandler v1"),d(this,Bi,e),mO=this}async handle(e,t){let i=new Ri(e,t),n=s(this,Wd).buildContext(i,e,t);i.devvitContext=n;let o,a=e.events,p=!e.events?.length||a.some(y=>!y.async),f=a.some(y=>y.blocking),v,m,b=[...a];for(a.length===0&&a.push({}),s(this,T,ke)&&console.debug("[blocks] starting processing events");a.length>0;){s(this,T,ke)&&console.debug("[blocks] processing events loop iteration",a.length);let y=[];if(!a[0].async)y.push(a.shift());else for(;a[0]?.async;)y.push(a.shift());if(!y.length)throw Error("batch must have at least one event");try{if(y[0].async){let I=tk(i._state);await S(this,T,rk).call(this,i,...y),i._state=I}else await S(this,T,ik).call(this,i,...y)}catch(I){if(!Hb(I))throw I;if(s(this,T,ke)&&console.debug("[blocks] caught in handler",I),i._latestRenderContent=void 0,m){i._state=m._state,i._changed=v,i._effects=m._effects;let A=b.map(M=>{let ce={...M};return ce.retry=!0,ce});i.addToRequeueEvents(...A);break}else throw console.error("[blocks] unhandled error in handler",I),I}s(this,T,ke)&&console.debug("[blocks] remaining events",i._requeueEvents);let C=[];for(let I of i._requeueEvents){if(!p&&!I.async){s(this,T,ke)&&console.debug("[blocks] NOT reprocessing event in BlocksHandler, sync mismatch A",I),C.push(I);continue}if(p&&I.async&&!f){s(this,T,ke)&&console.debug("[blocks] NOT reprocessing event in BlocksHandler, sync mismatch B",I),C.push(I);continue}s(this,T,ke)&&console.debug("[blocks] reprocessing event in BlocksHandler",I),a.push(I)}i._requeueEvents=C,a.length>0&&(v={...i._changed},m={_state:tk(i._state),_effects:{...i._effects}},b=[...a])}if(p){i._latestRenderContent||(i._latestRenderContent=S(this,T,bm).call(this,s(this,Bi),i.request.props??{},i));let y=i._latestRenderContent;y&&(o=s(this,xs).createBlocksElementOrThrow(y),o=s(this,xs).ensureRootBlock(o))}return{state:i._changedState,effects:i.effects,blocks:o,events:i._requeueEvents}}};Bi=new WeakMap,Wd=new WeakMap,xs=new WeakMap,T=new WeakSet,ke=function(){return!!this._latestRenderContext?.devvitContext.debug.blocks},qd=function(e,...t){e._touched={},S(this,T,bm).call(this,s(this,Bi),e.request.props??{},e);for(let i in e._hooks)e._touched[i]||delete e._hooks[i]},rk=async function(e,...t){S(this,T,qd).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 S(this,T,ym).call(this,e,i)}))},ym=async function(e,t){cO(t)&&console.warn("Received an event in #attemptHook that does not have an associated hook. This will cause the event to be undelivered and may cause bugs. Make sure that event passes a hook field. Event:",{event:t});let i=e._hooks[t.hook];if(i?.onUIEvent)try{await i.onUIEvent(t,e)}catch(n){throw console.error("Error in event handler",n),n}else await e.handleUndeliveredEvent(t)},ik=async function(e,...t){for(let i of t)s(this,T,ke)&&console.log("[blocks] handling main queue event",i),s(this,T,ke)&&console.log("[blocks] before",e._state),S(this,T,qd).call(this,e,i),await S(this,T,ym).call(this,e,i),s(this,T,ke)&&console.log("[blocks] after",e._state);S(this,T,qd).call(this,e)},bm=function(e,t,i){s(this,T,ke)&&console.debug("[blocks] renderRoot"),i._generated={},be=i,this._latestRenderContext=i;try{let n=S(this,T,km).call(this,e,t,i);if(n.length!==1)throw new Error(`There can only be one root element, received: ${n.length}. Please wrap these elements in a <vstack></vstack> or <hstack></hstack> to continue. Fragments cannot be used as a root element.`);let o=n[0];if(o==="[object Promise]")throw new Error('Root elements cannot be asynchronous. To use data from an async endpoint, please use "const [data] = context.useState(async () => {/** your async code */})".');if(typeof o=="string")throw new Error("The root element must return a valid block, not a string. Try wrapping the element in a <text>your content</text> tag to continue.");return i._latestRenderContent=o,o}catch(n){if(n instanceof Ir)return;throw n}finally{be=null}},km=function(e,t,i){i.push({namespace:e.name||"anonymous",...t});try{let n=e(t,i.devvitContext);return S(this,T,Sm).call(this,n,i)}finally{i.pop()}},Hd=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}`)),S(this,T,Sm).call(this,i,t)))},Sm=function(e,t){if(Array.isArray(e))return S(this,T,Hd).call(this,e,t);if(pO(e))if(e.type===void 0){t.push({namespace:"fragment",...e.props});let i=S(this,T,Hd).call(this,e.children,t);return t.pop(),i}else if(typeof e.type=="function"){let i={...e.props,children:e.children.flat(1/0)};return S(this,T,km).call(this,e.type,i,t)}else{t.push({namespace:e.type,...e.props});let i=S(this,T,Hd).call(this,e.children,t),n=S(this,T,nk).call(this,e.props??{});return t.pop(),[{type:e.type,children:i,props:n}]}else return[(e??"").toString()]},nk=function(e){let t={};for(let i in e)if(!(typeof e[i]>"u"))if(typeof e[i]=="function"){let n=Ke({namespace:i,key:!1,initializer:({hookId:o})=>({hookId:o,state:null,onUIEvent:a=>e[i](a.userAction?.data)})});t[i]=n.hookId,"captureHookRef"in e[i]&&e[i].captureHookRef()}else{let n=JSON.parse(JSON.stringify(e[i]));n!=null&&(t[i]=n)}return t};function pO(r){return typeof r=="object"&&r!=null&&"type"in r}var gO=[[sk,sk.methods.renderPostContent,(r,e)=>u.customPostType?.render(e)??null]];function hO(r){return async(e,t)=>{let i=new jd(r);return fO.fromJSON(await i.handle(e,t))}}function ok(r){for(let[e,t,i]of gO)r.provides(e),U(t.name,hO(i))}var Di,As,_i,Ar,Tr,Ni,qi,Er,Gt,Ts,Es,Rr,N,B=class B extends ld{static configure(e){d(this,_i,{...s(this,_i),...e}),gt(e.http)&&this.use(P.HTTPDefinition),(gt(e.kvStore)||gt(e.redis))&&(this.use(P.KVStoreDefinition),this.use(P.RedisAPIDefinition)),gt(e.media)&&this.use(P.MediaServiceDefinition),gt(e.modLog)&&this.use(P.ModlogDefinition),gt(e.redditAPI)&&(this.use(P.FlairDefinition),this.use(P.GraphQLDefinition),this.use(P.LinksAndCommentsDefinition),this.use(P.ListingsDefinition),this.use(P.ModerationDefinition),this.use(P.ModNoteDefinition),this.use(P.NewModmailDefinition),this.use(P.PrivateMessagesDefinition),this.use(P.SubredditsDefinition),this.use(P.PostCollectionsDefinition),this.use(P.UsersDefinition),this.use(P.WidgetsDefinition),this.use(P.WikiDefinition),this.use(P.RedditAPIV2Definition)),gt(e.realtime)&&this.use(P.RealtimeDefinition)}static addMenuItem(e){s(this,qi).push(e)}static addCustomPostType(e){d(this,Ar,e)}static createForm(e,t){let i=`form.${s(this,Tr).size}`;return s(this,Tr).set(i,{form:e,onSubmit:t}),i}static addSchedulerJob(e){if(s(this,N)[P.SchedulerDefinition.fullName]||this.use(P.SchedulerDefinition),s(this,Er).has(e.name))throw new Error(`Job ${e.name} is already defined`);s(this,Er).set(e.name,e.onRun)}static addSettings(e){mr(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,Ni,t),i.length>0&&d(this,Di,i),s(this,N)[P.SettingsDefinition.fullName]||this.use(P.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,Gt).has(e.event)?s(this,Gt).get(e.event)?.push(e.onEvent):s(this,Gt).set(e.event,[e.onEvent]),B}static provide(e){s(this,Es).push(e)}static use(e,t){s(this,Rr)[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,Rr)[e.fullName].handler?.[n.name]?.(n.requestType?.fromPartial(o??{}),a);return s(this,N)[e.fullName]=i,i}static get redditAPIPlugins(){if(!gt(s(this,_i).redditAPI))throw new Error("Reddit API is not enabled. You can enable it by passing `redditAPI: true` to `Devvit.configure`.");return{Flair:s(this,N)[P.FlairDefinition.fullName],GraphQL:s(this,N)[P.GraphQLDefinition.fullName],LinksAndComments:s(this,N)[P.LinksAndCommentsDefinition.fullName],Listings:s(this,N)[P.ListingsDefinition.fullName],Moderation:s(this,N)[P.ModerationDefinition.fullName],ModNote:s(this,N)[P.ModNoteDefinition.fullName],NewModmail:s(this,N)[P.NewModmailDefinition.fullName],PrivateMessages:s(this,N)[P.PrivateMessagesDefinition.fullName],Subreddits:s(this,N)[P.SubredditsDefinition.fullName],PostCollections:s(this,N)[P.PostCollectionsDefinition.fullName],Users:s(this,N)[P.UsersDefinition.fullName],Widgets:s(this,N)[P.WidgetsDefinition.fullName],Wiki:s(this,N)[P.WikiDefinition.fullName]}}static get modLogPlugin(){let e=s(this,N)[P.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,N)[P.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,N)[P.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,N)[P.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,N)[P.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,N)[P.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 settingsPlugin(){let e=s(this,N)[P.SettingsDefinition.fullName];if(!e)throw new Error("Settings must first be configured with `Devvit.addSettings()` before they can be accessed");return e}static get realtimePlugin(){let e=s(this,N)[P.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,qi)}static get customPostType(){return s(this,Ar)}static get formDefinitions(){return s(this,Tr)}static get scheduledJobHandlers(){return s(this,Er)}static get installationSettings(){return s(this,Ni)}static get appSettings(){return s(this,Di)}static get triggerOnEventHandlers(){return s(this,Gt)}static get assets(){return s(this,As)}static get webviewAssets(){return s(this,Ts)}constructor(e){super(e),d(B,As,e.assets??{}),d(B,Ts,e.webviewAssets??{});for(let t in s(B,Rr)){let i=s(B,Rr)[t];i.handler=e.use(i.def,i.options)}s(B,qi).length>0&&_y(e),s(B,Er).size>0&&Ny(e),s(B,Ar)&&(Uy(e),ok(e)),(s(B,Ar)||s(B,Tr).size>0)&&Ub(e),s(B,Ni)&&By(e),s(B,Di)&&py(e),s(B,Gt).size>0&&qy(e);for(let t of s(B,Es))e.provides(t)}};Di=new WeakMap,As=new WeakMap,_i=new WeakMap,Ar=new WeakMap,Tr=new WeakMap,Ni=new WeakMap,qi=new WeakMap,Er=new WeakMap,Gt=new WeakMap,Ts=new WeakMap,Es=new WeakMap,Rr=new WeakMap,N=new WeakMap,B.debug={},l(B,Di),l(B,As,{}),l(B,_i,{}),l(B,Ar),l(B,Tr,new Map),l(B,Ni),l(B,qi,[]),l(B,Er,new Map),l(B,Gt,new Map),l(B,Ts,{}),l(B,Es,[]),l(B,Rr,{}),l(B,N,{});var u=B;(e=>{function r(t,i,...n){return{type:t,props:i,children:n}}e.createElement=r})(u||(u={}));function X(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 Pm;(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"})(Pm||(Pm={}));var ak="text",dk="raw",lk="br",uk="link",ck="c/",mk="p/",pk="r/",fk="u/",gk="@",hk="spoilertext",vk="par",yk="h",bk="hr",kk="blockquote",Sk="code",Pk="li",Ck="list",Ik="L",wk="R",xk="C",Ak="table",Tk="embed",Ek="img",Rk="gif",Ok="video";function Fk(r){return{e:Rk,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function Mk(r,e){let t={},i=[];return Object.assign(t,Rs(t,i),Os(t,i),Fs(t,i),Us(t,i),Bs(t,i),Ds(t,i)),e(t),{e:kk,c:i,...r.author&&{a:r.author}}}function Lk(r,e){let t={},i=[];return Object.assign(t,Im(t,i)),e(t),{e:Sk,c:i,...r.language&&{l:r.language}}}function Uk(r){return{e:ck,t:r.permalink}}function Bk(r,e){let t={},i=[];return Object.assign(t,Im(t,i),Ls(t,i)),e(t),{e:yk,l:r.level,c:i}}function Dk(r){return{e:Tk,u:r.sourceUrl,c:r.contentUrl,x:r.width,y:r.height}}function _k(){return{e:bk}}function Nk(r){return{e:Ek,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur}}}function qk(){return{e:lk}}function Hk(r){return{e:uk,t:r.text,u:r.url,...r.formatting&&{f:r.formatting},...r.tooltip&&{a:r.tooltip}}}function jk(r,e){let t={},i=[];return Object.assign(t,nS(t,i)),e(t),{e:Ck,o:r.ordered,c:i}}function Wk(r){let e={},t=[];return Object.assign(e,Rs(e,t),Os(e,t),Fs(e,t),Gd(e,t),Us(e,t),Bs(e,t),Ds(e,t)),r(e),{e:Pk,c:t}}function Gk(r){let e={},t=[];return Object.assign(e,Vd(e,t),Ls(e,t),Cm(e,t),wm(e,t),Ms(e,t)),r(e),{e:vk,c:t}}function Vk(r){return{e:mk,t:r.permalink}}function zk(r){return{e:dk,t:r}}function Jk(r){let e={},t=[];return Object.assign(e,Vd(e,t),Ls(e,t),Cm(e,t)),r(e),{e:hk,c:t}}function $k(r){return{e:pk,t:r.subredditName,l:r.showPrefix}}function Kk(r){let e={},t=[],i=[];return Object.assign(e,sS(e,t,i)),r(e),{e:Ak,h:t,c:i}}function Xk(r){let[e,t]=iS();return r(e),{c:t}}function Zk(r,e){let[t,i]=iS();e(t);let n;switch(r.columnAlignment){case"left":n=Ik;break;case"right":n=wk;break;case"center":n=xk;break}return{...n&&{a:n},...i&&{c:i}}}function Yk(r){let e={},t=[];return Object.assign(e,oS(e,t)),r(e),t}function Qk(r){return{e:ak,t:r.text,...r.formatting&&{f:r.formatting}}}function eS(r){return{e:fk,t:r.username,l:r.showPrefix}}function tS(r){return{e:gk,t:r.username,l:r.showPrefix}}function rS(r){return{e:Ok,id:r.mediaId,...r.caption&&{c:r.caption},...r.blur&&{o:r.blur},...r.thumbnail&&{p:r.thumbnail},...r.convertToGif&&{gifify:r.convertToGif}}}function iS(){let r={},e=[];return Object.assign(r,Vd(r,e),Ls(r,e),wm(r,e),Ms(r,e)),[r,e]}function Rs(r,e){return{blockQuote(t,i){return e.push(Mk(t,i)),r}}}function Os(r,e){return{codeBlock(t,i){return e.push(Lk(t,i)),r}}}function aS(r,e){return{embed(t){return e.push(Dk(t)),r}}}function Fs(r,e){return{heading(t,i){return e.push(Bk(t,i)),r}}}function Gd(r,e){return{horizontalRule(){return e.push(_k()),r}}}function Ms(r,e){return{image(t){return e.push(Nk(t)),r},animatedImage(t){return e.push(Fk(t)),r}}}function Cm(r,e){return{linebreak(){return e.push(qk()),r}}}function Ls(r,e){return{link(t){return e.push(Hk(t)),r},commentLink(t){return e.push(Uk(t)),r},postLink(t){return e.push(Vk(t)),r},subredditLink(t){return e.push($k(t)),r},userLink(t){return e.push(eS(t)),r},userMention(t){return e.push(tS(t)),r}}}function Us(r,e){return{list(t,i){return e.push(jk(t,i)),r}}}function nS(r,e){return{item(t){return e.push(Wk(t)),r}}}function Bs(r,e){return{paragraph(t){return e.push(Gk(t)),r}}}function Im(r,e){return{rawText(t){return e.push(zk(t)),r}}}function wm(r,e){return{spoiler(t){return e.push(Jk(t)),r}}}function sS(r,e,t){return{headerCell(i,n){return e.push(Zk(i,n)),r},row(i){return t.push(Yk(i)),r}}}function Ds(r,e){return{table(t){return e.push(Kk(t)),r}}}function oS(r,e){return{cell(t){return e.push(Xk(t)),r}}}function Vd(r,e){return{text(t){return e.push(Qk(t)),r}}}function dS(r,e){return{video(t){return e.push(rS(t)),r}}}var vO=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},yO=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)},zd,_s=class{constructor(){zd.set(this,void 0);let e=[];Object.assign(this,Bs(this,e),Fs(this,e),Gd(this,e),Rs(this,e),Os(this,e),aS(this,e),Us(this,e),Ds(this,e),Ms(this,e),dS(this,e)),vO(this,zd,{document:e},"f")}build(){return JSON.stringify(yO(this,zd,"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}};zd=new WeakMap;function Hi(r){let e;return r instanceof _s?e=r.build():typeof r=="object"?e=JSON.stringify(r):e=r,e}var lS=100,uS=1/0,Or,Fr,Vt,ji,Wi,Jd,W=class{constructor(e){l(this,Wi);l(this,Or);l(this,Fr);l(this,Vt);l(this,ji,!1);this.pageSize=lS;this.limit=uS;this.children=[];X(this),this._fetch=e.fetch,this.pageSize=e.pageSize??lS,this.limit=e.limit??uS,d(this,Fr,e.after),d(this,Or,e.before),d(this,Vt,e.more),e.children&&(this.children=e.children)}get hasMore(){return!s(this,ji)||!!(s(this,Fr)||s(this,Or)||s(this,Vt))}async*[Symbol.asyncIterator](){let e=0;for(;;){if(e===this.children.length)if(this.hasMore){if((await S(this,Wi,Jd).call(this)).length===0)break}else break;if(yield this.children[e],e++,e===this.limit)break}}setMore(e){d(this,Vt,e)}preventInitialFetch(){d(this,ji,!0)}async all(){for(;this.hasMore&&this.children.length<this.limit;)await S(this,Wi,Jd).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 S(this,Wi,Jd).call(this);return this.children.slice(0,t)}};Or=new WeakMap,Fr=new WeakMap,Vt=new WeakMap,ji=new WeakMap,Wi=new WeakSet,Jd=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,Or),after:s(this,Fr),limit:this.pageSize,more:s(this,Vt)});return this.children.push(...e),d(this,Or,t),d(this,Fr,i),d(this,Vt,n),d(this,ji,!0),e};function bO(r){try{return!0}catch{return!1}}function kO(r){try{return!0}catch{return!1}}var Ns,xm,Le=class{constructor(){}static get(e,t){let i=u.redditAPIPlugins.ModNote;return new W({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=>S(this,Ns,xm).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 S(this,Ns,xm).call(this,n.created)}static async addRemovalNote(e,t){await u.redditAPIPlugins.ModNote.PostRemovalNote(e,t)}};Ns=new WeakSet,xm=function(e){if(g(e.id,"Mod note ID is null or undefined"),g(e.createdAt,"Mod note createdAt is null or undefined"),g(e.type,"Mod note type is null or undefined"),g(e.subreddit,"Mod note subreddit is null or undefined"),g(e.subredditId,"Mod note subredditId is null or undefined"),g(e.operator,"Mod note operator is null or undefined"),g(e.operatorId,"Mod note operatorId is null or undefined"),g(e.user,"Mod note user is null or undefined"),g(e.userId,"Mod note userId is null or undefined"),g(e.userNoteData,"Mod note userNote is null or undefined"),g(e.modActionData,"Mod note modAction is null or undefined"),!bO(e.userNoteData?.label??""))throw new Error(`Invalid user note label: ${e.userNoteData?.label}`);if(!kO(e.type))throw new Error(`Invalid mod note type: ${e.type}`);return{id:e.id,user:{id:ne(e.userId??""),name:e.user},subreddit:{id:Oe(e.subredditId??""),name:e.subreddit},operator:{id:ne(e.operatorId??""),name:e.operator},createdAt:new Date(e.createdAt*1e3),userNote:{note:e.userNoteData?.note,redditId:he(e.userNoteData?.redditId??""),label:e.userNoteData?.label},type:e.type}},l(Le,Ns);var bt=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 cS=["all","wiki","posts","access","mail","config","flair","channels","chat_config","chat_community","chat_operator"];function SO(r,e,t=!1){let i=t?"%2b":"+";return e.map(n=>(r.includes(n)?i:"-")+n).join(",")}function Am(r){return SO(r,cS,!0)}function mS(r){return r.filter(e=>cS.includes(e))}var PO=(t=>(t.User="USER_FLAIR",t.Post="LINK_FLAIR",t))(PO||{}),Lr,Gi,Vi,zi,Ji,$i,Ki,Xi,Zi,Yi,Qi,$d,Ze=class Ze{constructor(e,t,i){l(this,Lr);l(this,Gi);l(this,Vi);l(this,zi);l(this,Ji);l(this,$i);l(this,Ki);l(this,Xi);l(this,Zi);l(this,Yi);X(this),g(e.id),g(e.text),d(this,Lr,e.id),d(this,Gi,t),d(this,Vi,e.text),d(this,zi,CO(e.textColor)),d(this,Ji,IO(e.backgroundColor)),d(this,$i,wO(e.allowableContent)),d(this,Ki,e.modOnly),d(this,Xi,e.maxEmojis),d(this,Zi,e.textEditable),d(this,Yi,i)}get id(){return s(this,Lr)}get text(){return s(this,Vi)}get textColor(){return s(this,zi)}get backgroundColor(){return s(this,Ji)}get allowableContent(){return s(this,$i)}get modOnly(){return s(this,Ki)}get maxEmojis(){return s(this,Xi)}get allowUserEdits(){return s(this,Zi)}async delete(){return Ze.deleteFlairTemplate(s(this,Lr),s(this,Gi),s(this,Yi))}async edit(e){return Ze.editFlairTemplate({id:s(this,Lr),subredditName:s(this,Gi),text:e.text??s(this,Vi),allowableContent:e.allowableContent??s(this,$i),backgroundColor:e.backgroundColor??s(this,Ji),maxEmojis:e.maxEmojis??s(this,Xi),modOnly:e.modOnly??s(this,Ki),textColor:e.textColor??s(this,zi),allowUserEdits:e.allowUserEdits??s(this,Zi)},s(this,Yi))}static async createPostFlairTemplate(e,t){var i;return S(i=Ze,Qi,$d).call(i,{...e,flairType:"LINK_FLAIR"},t)}static async createUserFlairTemplate(e,t){var i;return S(i=Ze,Qi,$d).call(i,{...e,flairType:"USER_FLAIR"},t)}static async editFlairTemplate(e,t){var i;return S(i=Ze,Qi,$d).call(i,e,t)}static async getPostFlairTemplates(e,t){return(await u.redditAPIPlugins.Flair.LinkFlair({subreddit:e},t)).flair?.map(o=>new Ze(o,e,t))||[]}static async getUserFlairTemplates(e,t){return(await u.redditAPIPlugins.Flair.UserFlair({subreddit:e},t)).flair?.map(o=>new Ze(o,e,t))||[]}static async deleteFlairTemplate(e,t,i){await u.redditAPIPlugins.Flair.DeleteFlairTemplate({subreddit:e,flairTemplateId:t},i)}};Lr=new WeakMap,Gi=new WeakMap,Vi=new WeakMap,zi=new WeakMap,Ji=new WeakMap,$i=new WeakMap,Ki=new WeakMap,Xi=new WeakMap,Zi=new WeakMap,Yi=new WeakMap,Qi=new WeakSet,$d=async function(e,t){let{subredditName:i,allowableContent:n="all",backgroundColor:o="transparent",flairType:a="",maxEmojis:c=10,modOnly:p=!1,text:f,textColor:v="dark",allowUserEdits:m=!1,id:b=""}=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:f,textColor:v,textEditable:m,flairTemplateId:b,cssClass:"",overrideCss:!1},t);return new Ze(C,i,t)},l(Ze,Qi);var de=Ze;function qs(r){return{flairCssClass:r.flairCssClass,user:r.user,flairText:r.flairText}}var zt,Tm,Em,Mr=class Mr{static async getUserFlairBySubreddit(e,t){return u.redditAPIPlugins.Flair.FlairList(e,t)}static setUserFlair(e,t){var i;return S(i=Mr,zt,Tm).call(i,e,t)}static setPostFlair(e,t){var i;return S(i=Mr,zt,Tm).call(i,{...e,postId:ge(e.postId)},t)}static async removePostFlair(e,t,i){var n;return S(n=Mr,zt,Em).call(n,e,t,void 0,i)}static async removeUserFlair(e,t,i){var n;return S(n=Mr,zt,Em).call(n,e,void 0,t,i)}};zt=new WeakSet,Tm=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)},Em=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(Mr,zt);var Ue=Mr;function CO(r){if(g(r,"Flair text color is required"),r==="light"||r==="dark")return r;throw new Error(`Invalid flair text color: ${r}`)}function IO(r){if(g(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 wO(r){if(r==="all"||r==="text"||r==="emoji")return r;throw new Error(`Invalid allowable content: ${r}`)}import{Block as MO}from"@devvit/protos";var hS=_n(gS(),1);var en,js,tn,Ws,Gs,Vs,zs,Js,rn,$s,Ks,Xs,Zs,Ys,Qs,Jt,eo,to,Br,nn,$t,sn,on,an,Dr,Kt,Xt,dn,Zt,Yt,Qt,kt,ro,io,ln,un,_,H=class H{constructor(e,t){l(this,en);l(this,js);l(this,tn);l(this,Ws);l(this,Gs);l(this,Vs);l(this,zs);l(this,Js);l(this,rn);l(this,$s);l(this,Ks);l(this,Xs);l(this,Zs);l(this,Ys);l(this,Qs);l(this,Jt);l(this,eo);l(this,to);l(this,Br);l(this,nn);l(this,$t);l(this,sn);l(this,on);l(this,an);l(this,Dr);l(this,Kt);l(this,Xt);l(this,dn);l(this,Zt);l(this,Yt);l(this,Qt);l(this,kt);l(this,ro);l(this,io);l(this,ln);l(this,un);l(this,_);X(this),g(e.id,"Post is missing id"),g(e.title,"Post is missing title"),g(e.createdUtc,"Post is missing created date"),g(e.author,"Post is missing author name"),g(e.subreddit,"Post is missing subreddit name"),g(e.subredditId,"Post is missing subreddit id"),g(e.url,"Post is missing url"),g(e.permalink,"Post is missing permalink"),d(this,en,ge(`t3_${e.id}`)),d(this,tn,e.author),d(this,js,e.authorFullname?ne(e.authorFullname):void 0),d(this,Gs,Oe(e.subredditId)),d(this,Vs,e.subreddit),d(this,Xs,e.score??0),d(this,Zs,e.numComments??0),d(this,Ys,e.numReports??0);let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,Ws,i),d(this,Js,e.title),d(this,rn,e.selftext),d(this,$s,e.selftextHtml),d(this,Ks,e.url),d(this,zs,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,Jt,e.approved??!1),d(this,eo,e.approvedAtUtc??0),d(this,to,e.bannedAtUtc??0),d(this,$t,e.removed??!1),d(this,sn,e.removedBy),d(this,on,e.removedByCategory),d(this,Br,e.spam??!1),d(this,nn,e.stickied??!1),d(this,an,e.archived??!1),d(this,Dr,e.edited??!1),d(this,Kt,e.locked??!1),d(this,Xt,e.over18??!1),d(this,dn,e.quarantine??!1),d(this,Zt,e.spoiler),d(this,Yt,e.hidden??!1),d(this,Qt,e.ignoreReports??!1),d(this,kt,e.distinguished),d(this,io,e.secureMedia),d(this,ln,(e.modReports??[]).map(([n])=>n)),d(this,un,(e.userReports??[]).map(([n])=>n)),d(this,_,t),(e.linkFlairBackgroundColor||e.linkFlairCssClass||e.linkFlairText||e.linkFlairType||e.linkFlairTemplateId||e.linkFlairRichtext||e.linkFlairTextColor)&&d(this,ro,{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,en)}get authorId(){return s(this,js)}get authorName(){return s(this,tn)}get subredditId(){return s(this,Gs)}get subredditName(){return s(this,Vs)}get permalink(){return s(this,zs)}get title(){return s(this,Js)}get body(){return s(this,rn)}get bodyHtml(){return s(this,$s)}get url(){return s(this,Ks)}get thumbnail(){return s(this,Qs)}get createdAt(){return s(this,Ws)}get score(){return s(this,Xs)}get numberOfComments(){return s(this,Zs)}get numberOfReports(){return s(this,Ys)}get approved(){return s(this,Jt)}get approvedAtUtc(){return s(this,eo)}get bannedAtUtc(){return s(this,to)}get spam(){return s(this,Br)}get stickied(){return s(this,nn)}get removed(){return s(this,$t)}get removedBy(){return s(this,sn)}get removedByCategory(){return s(this,on)}get archived(){return s(this,an)}get edited(){return s(this,Dr)}get locked(){return s(this,Kt)}get nsfw(){return s(this,Xt)}get quarantined(){return s(this,dn)}get spoiler(){return s(this,Zt)}get hidden(){return s(this,Yt)}get ignoringReports(){return s(this,Qt)}get distinguishedBy(){return s(this,kt)}get comments(){return Q.getComments({postId:this.id},s(this,_))}get flair(){return s(this,ro)}get secureMedia(){return s(this,io)}get userReportReasons(){return s(this,un)}get modReportReasons(){return s(this,ln)}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,sn),removedByCategory:s(this,on),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,ln),userReportReasons:s(this,un)}}isApproved(){return s(this,Jt)}isSpam(){return s(this,Br)}isStickied(){return s(this,nn)}isRemoved(){return s(this,$t)}isArchived(){return s(this,an)}isEdited(){return s(this,Dr)}isLocked(){return s(this,Kt)}isNsfw(){return s(this,Xt)}isQuarantined(){return s(this,dn)}isSpoiler(){return s(this,Zt)}isHidden(){return s(this,Yt)}isIgnoringReports(){return s(this,Qt)}isDistinguishedBy(){return s(this,kt)}async edit(e){let t=await H.edit({id:this.id,...e},s(this,_));d(this,rn,t.body),d(this,Dr,t.edited)}async addComment(e){return Q.submit({id:this.id,...e},s(this,_))}async delete(){return H.delete(this.id,s(this,_))}async approve(){await H.approve(this.id,s(this,_)),d(this,Jt,!0),d(this,$t,!1)}async remove(e=!1){await H.remove(this.id,e,s(this,_)),d(this,$t,!0),d(this,Br,e),d(this,Jt,!1)}async lock(){await H.lock(this.id,s(this,_)),d(this,Kt,!0)}async unlock(){await H.unlock(this.id,s(this,_)),d(this,Kt,!1)}async hide(){await H.hide(this.id,s(this,_)),d(this,Yt,!0)}async unhide(){await H.unhide(this.id,s(this,_)),d(this,Yt,!1)}async markAsNsfw(){await H.markAsNsfw(this.id,s(this,_)),d(this,Xt,!0)}async unmarkAsNsfw(){await H.unmarkAsNsfw(this.id,s(this,_)),d(this,Xt,!1)}async markAsSpoiler(){await H.markAsSpoiler(this.id,s(this,_)),d(this,Zt,!0)}async unmarkAsSpoiler(){await H.unmarkAsSpoiler(this.id,s(this,_)),d(this,Zt,!1)}async sticky(e){await H.sticky(this.id,e,s(this,_))}async unsticky(){await H.unsticky(this.id,s(this,_))}async distinguish(){let{distinguishedBy:e}=await H.distinguish(this.id,!1,s(this,_));d(this,kt,e)}async distinguishAsAdmin(){let{distinguishedBy:e}=await H.distinguish(this.id,!0,s(this,_));d(this,kt,e)}async undistinguish(){let{distinguishedBy:e}=await H.undistinguish(this.id,s(this,_));d(this,kt,e)}async ignoreReports(){await H.ignoreReports(this.id,s(this,_)),d(this,Qt,!0)}async unignoreReports(){await H.unignoreReports(this.id,s(this,_)),d(this,Qt,!1)}async getAuthor(){return w.getByUsername(s(this,tn),s(this,_))}async crosspost(e){return H.crosspost({...e,postId:this.id},s(this,_))}addRemovalNote(e){return Le.addRemovalNote({itemIds:[s(this,en)],...e},s(this,_))}static async getById(e,t){let i=u.redditAPIPlugins.LinksAndComments,n=cr(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 H(a.data,t)}static async submit(e,t){let i=u.redditAPIPlugins.LinksAndComments,n;if("preview"in e){g(t,"Missing metadata in `SubmitPostOptions`");let c=await new ft(()=>e.preview,void 0,{},t,void 0).buildBlocksUI(),p=MO.encode(c).finish();n=await i.Submit({kind:"custom",sr:e.subredditName,richtextJson:(0,hS.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?Hi(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 H.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 H.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=Hi(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 H.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 g(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 g(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 W({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 Hs(o,t)}})}static getHotPosts(e={location:"GLOBAL"},t){let i=u.redditAPIPlugins.Listings;return new W({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 Hs(o,t)}})}static getNewPosts(e,t){let i=u.redditAPIPlugins.Listings;return new W({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 Hs(o,t)}})}static getRisingPosts(e,t){let i=u.redditAPIPlugins.Listings;return new W({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 Hs(o,t)}})}static getPostsByUser(e,t){let i=u.redditAPIPlugins.Users;return new W({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 Hs(o,t)}})}};en=new WeakMap,js=new WeakMap,tn=new WeakMap,Ws=new WeakMap,Gs=new WeakMap,Vs=new WeakMap,zs=new WeakMap,Js=new WeakMap,rn=new WeakMap,$s=new WeakMap,Ks=new WeakMap,Xs=new WeakMap,Zs=new WeakMap,Ys=new WeakMap,Qs=new WeakMap,Jt=new WeakMap,eo=new WeakMap,to=new WeakMap,Br=new WeakMap,nn=new WeakMap,$t=new WeakMap,sn=new WeakMap,on=new WeakMap,an=new WeakMap,Dr=new WeakMap,Kt=new WeakMap,Xt=new WeakMap,dn=new WeakMap,Zt=new WeakMap,Yt=new WeakMap,Qt=new WeakMap,kt=new WeakMap,ro=new WeakMap,io=new WeakMap,ln=new WeakMap,un=new WeakMap,_=new WeakMap;var z=H;function Hs(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 LO=(q=>(q.Custom="CUSTOM",q.Reddit="REDDIT",q.Instagram="INSTAGRAM",q.Twitter="TWITTER",q.Tiktok="TIKTOK",q.Twitch="TWITCH",q.Facebook="FACEBOOK",q.Youtube="YOUTUBE",q.Tumblr="TUMBLR",q.Spotify="SPOTIFY",q.Soundcloud="SOUNDCLOUD",q.Beacons="BEACONS",q.Linktree="LINKTREE",q.Discord="DISCORD",q.Venmo="VENMO",q.CashApp="CASH_APP",q.Patreon="PATREON",q.Kofi="KOFI",q.Paypal="PAYPAL",q.Cameo="CAMEO",q.Onlyfans="ONLYFANS",q.Substack="SUBSTACK",q.Kickstarter="KICKSTARTER",q.Indiegogo="INDIEGOGO",q.BuyMeACoffee="BUY_ME_A_COFFEE",q.Shopify="SHOPIFY",q))(LO||{}),no,cn,so,oo,ao,lo,uo,er,co,mo,at,_r=class _r{constructor(e,t){l(this,no);l(this,cn);l(this,so);l(this,oo);l(this,ao);l(this,lo);l(this,uo);l(this,er,new Map);l(this,co);l(this,mo);l(this,at);X(this),g(e.id,"User ID is missing or undefined"),g(e.name,"Username is missing or undefined"),g(e.createdUtc,"User is missing created date"),d(this,no,ne(dd(e.id)?e.id:`t2_${e.id}`)),d(this,cn,e.name),d(this,lo,e.over18??!1),d(this,uo,e.isEmployee??!1);let i=new Date(0);if(i.setUTCSeconds(e.createdUtc),d(this,so,i),d(this,oo,e.linkKarma??0),d(this,ao,e.commentKarma??0),e.modPermissions)for(let[n,o]of Object.entries(e.modPermissions))s(this,er).set(n,mS(o));d(this,co,new URL(e.subreddit?.url??"","https://www.reddit.com").toString()),d(this,mo,e.subreddit?.url??""),d(this,at,t)}get id(){return s(this,no)}get username(){return s(this,cn)}get createdAt(){return s(this,so)}get linkKarma(){return s(this,oo)}get commentKarma(){return s(this,ao)}get nsfw(){return s(this,lo)}get isAdmin(){return s(this,uo)}get modPermissions(){return s(this,er)}get url(){return s(this,co)}get permalink(){return s(this,mo)}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,er).has(e))return s(this,er).get(e);let t=await _r.getSubredditUsersByType({subredditName:e,type:"moderators",username:this.username},s(this,at)).all();if(t.length===0)return[];let i=t[0].modPermissions.get(e)??[];return i.length>0&&s(this,er).set(e,i),i}getComments(e){return Q.getCommentsByUser({username:this.username,...e},s(this,at))}getPosts(e){return z.getPostsByUser({username:this.username,...e},s(this,at))}async getUserFlairBySubreddit(e){let t=await Ue.getUserFlairBySubreddit({subreddit:e,name:s(this,cn)},s(this,at));return t.users[0]?qs(t.users[0]):void 0}getSnoovatarUrl(){return _r.getSnoovatarUrl(this.username,s(this,at))}async getSocialLinks(){let i=await bt.query("GetUserSocialLinks","2aca18ef5f4fc75fb91cdaace3e9aeeae2cb3843b5c26ad511e6f01b8521593a",{name:this.username},s(this,at));return i.data?.user?.profile?.socialLinks?i.data.user.profile.socialLinks.map(n=>({...n,handle:n.handle??void 0})):[]}static async getById(e,t){let o=(await u.redditAPIPlugins.Users.UserDataByAccountIds({ids:e},t))?.users?.[e]?.name;return o==null?void 0:_r.getByUsername(o,t)}static async getByUsername(e,t){let n=await u.redditAPIPlugins.Users.UserAbout({username:e},t);if(n.data?.id)return new _r(n.data,t)}static async getFromMetadata(e,t){g(t);let i=t?.[e]?.values[0];return i?_r.getById(ne(i),t):Promise.resolve(void 0)}static getSubredditUsersByType(e,t){let i=u.redditAPIPlugins.Subreddits;return new W({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 BO(o,e.subredditName,t)}})}static async createRelationship(e,t){let i=u.redditAPIPlugins.Users,{type:n,subredditName:o,username:a,permissions:c,...p}=e,f=await i.Friend({type:n,subreddit:o,name:a,permissions:c?Am(c):void 0,...p},t);if(f.json?.errors?.length)throw new Error(f.json.errors.join(`
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:Am(i)},n);if(a.json?.errors?.length)throw new Error(a.json.errors.join(`
5
+ `))}static async getSnoovatarUrl(e,t){return(await bt.query("GetSnoovatarUrlByName","c47fd42345af268616d2d8904b56856acdc05cf61d3650380f539ad7d596ac0c",{username:e},t)).data?.redditorInfoByName?.snoovatarIcon?.url}static getOverview(e,t){let i=u.redditAPIPlugins.Users;return new W({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 UO(o,t)}})}};no=new WeakMap,cn=new WeakMap,so=new WeakMap,oo=new WeakMap,ao=new WeakMap,lo=new WeakMap,uo=new WeakMap,er=new WeakMap,co=new WeakMap,mo=new WeakMap,at=new WeakMap;var w=_r;function UO(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 Q(i.data,e);throw new Error(`Type ${i.kind} is not supported`)}),before:r.data.before,after:r.data.after}}async function BO(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=>(g(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;g(m,"User id is missing from listing");let b=p[m];return g(b,"User data is missing from response"),new w({id:m,name:b.name,linkKarma:b.linkKarma,commentKarma:b.commentKarma,createdUtc:b.createdUtc,over18:b.profileOver18,snoovatarSize:[],modPermissions:{[e]:v.data?.modPermissions??[]}},t)}),before:r.data.before,after:r.data.after}}var Nr,po,mn,pn,fo,go,fn,ho,vo,gn,tr,yo,bo,qr,rr,ir,St,Hr,Pt,ko,So,Po,Co,Io,wo,xo,te,dt,Xd,Zd,G=class G{constructor(e,t){l(this,Nr);l(this,po);l(this,mn);l(this,pn);l(this,fo);l(this,go);l(this,fn);l(this,ho);l(this,vo);l(this,gn);l(this,tr);l(this,yo);l(this,bo);l(this,qr);l(this,rr);l(this,ir);l(this,St);l(this,Hr);l(this,Pt);l(this,ko);l(this,So);l(this,Po);l(this,Co);l(this,Io);l(this,wo);l(this,xo);l(this,te);var n;X(this),g(e.id,"Comment id is null or undefined"),g(e.body,"Comment body is null or undefined"),g(e.createdUtc,"Comment is missing created date"),g(e.author,"Comment author is null or undefined"),g(e.parentId,"Comment parentId is null or undefined"),g(e.linkId,"Comment linkId is null or undefined"),g(e.permalink,"Comment permalink is null or undefined"),g(e.subreddit,"Comment is missing subreddit name"),g(e.subredditId,"Comment is missing subreddit id"),d(this,Nr,ri(`t1_${e.id}`)),d(this,po,e.authorFullname?ne(e.authorFullname):void 0),d(this,mn,e.author),d(this,pn,e.body),d(this,ho,Oe(e.subredditId)),d(this,vo,e.subreddit),d(this,go,mc(e.parentId)?ri(e.parentId):ge(e.parentId)),d(this,fn,ge(e.linkId)),d(this,qr,e.edited??!1),d(this,rr,e.locked??!1),d(this,ir,e.removed??!1),d(this,St,e.stickied??!1),d(this,tr,e.approved??!1),d(this,yo,e.approvedAtUtc??0),d(this,bo,e.bannedAtUtc??0),d(this,Hr,e.spam??!1),d(this,Pt,e.distinguished),d(this,ko,e.numReports??0),d(this,So,e.collapsedBecauseCrowdControl??!1),d(this,Po,e.score??0),d(this,Co,e.permalink),d(this,xo,new URL(e.permalink??"","https://www.reddit.com/").toString()),d(this,Io,(e.modReports??[]).map(([o])=>o)),d(this,wo,(e.userReports??[]).map(([o])=>o));let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,fo,i),d(this,gn,S(n=G,dt,Xd).call(n,{postId:s(this,fn),commentId:s(this,Nr)},t)),d(this,te,t)}get id(){return s(this,Nr)}get authorId(){return s(this,po)}get authorName(){return s(this,mn)}get subredditId(){return s(this,ho)}get subredditName(){return s(this,vo)}get body(){return s(this,pn)}get createdAt(){return s(this,fo)}get parentId(){return s(this,go)}get postId(){return s(this,fn)}get replies(){return s(this,gn)}get distinguishedBy(){return s(this,Pt)}get locked(){return s(this,rr)}get stickied(){return s(this,St)}get removed(){return s(this,ir)}get approved(){return s(this,tr)}get approvedAtUtc(){return s(this,yo)}get bannedAtUtc(){return s(this,bo)}get spam(){return s(this,Hr)}get edited(){return s(this,qr)}get numReports(){return s(this,ko)}get collapsedBecauseCrowdControl(){return s(this,So)}get score(){return s(this,Po)}get permalink(){return s(this,Co)}get userReportReasons(){return s(this,wo)}get modReportReasons(){return s(this,Io)}get url(){return s(this,xo)}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,rr)}isApproved(){return s(this,tr)}isRemoved(){return s(this,ir)}isSpam(){return s(this,Hr)}isStickied(){return s(this,St)}isDistinguished(){return!!s(this,Pt)}isEdited(){return s(this,qr)}async delete(){return G.delete(this.id,s(this,te))}async edit(e){let t=await G.edit({id:this.id,...e},s(this,te));return d(this,pn,t.body),d(this,qr,t.edited),this}async approve(){await G.approve(this.id,s(this,te)),d(this,tr,!0),d(this,ir,!1)}async remove(e=!1){await G.remove(this.id,e,s(this,te)),d(this,ir,!0),d(this,Hr,e),d(this,tr,!1)}async lock(){await G.lock(this.id,s(this,te)),d(this,rr,!0)}async unlock(){await G.unlock(this.id,s(this,te)),d(this,rr,!1)}async reply(e){return G.submit({id:this.id,...e},s(this,te))}async getAuthor(){return w.getByUsername(s(this,mn),s(this,te))}async distinguish(e=!1){let{distinguishedBy:t,stickied:i}=await G.distinguish(this.id,e,!1,s(this,te));d(this,Pt,t),d(this,St,i)}async distinguishAsAdmin(e=!1){let{distinguishedBy:t,stickied:i}=await G.distinguish(this.id,e,!0,s(this,te));d(this,Pt,t),d(this,St,i)}async undistinguish(){let{distinguishedBy:e,stickied:t}=await G.undistinguish(this.id,s(this,te));d(this,Pt,e),d(this,St,t)}addRemovalNote(e){return Le.addRemovalNote({itemIds:[s(this,Nr)],...e},s(this,te))}static async getById(e,t){let i=u.redditAPIPlugins.LinksAndComments,n=At(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 G(o.data.children[0].data,t)}static getComments(e,t){var a;let{postId:i,commentId:n,...o}=e;return S(a=G,dt,Xd).call(a,{postId:ge(i),commentId:n?ri(n):void 0,...o},t)}static async edit(e,t){let i=u.redditAPIPlugins.LinksAndComments,{id:n}=e,o;"richtext"in e&&(o=Hi(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 g(c),new G(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=Hi(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 g(c),new G(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 g(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 g(o),{distinguishedBy:o.distinguished,stickied:!!o.stickied}}static getCommentsByUser(e,t){let i=u.redditAPIPlugins.Users;return new W({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 g(o.data,"Failed to get comments for user"),{children:o.data.children?.map(c=>new G(c.data,t))||[],before:o.data.before,after:o.data.after}}})}};Nr=new WeakMap,po=new WeakMap,mn=new WeakMap,pn=new WeakMap,fo=new WeakMap,go=new WeakMap,fn=new WeakMap,ho=new WeakMap,vo=new WeakMap,gn=new WeakMap,tr=new WeakMap,yo=new WeakMap,bo=new WeakMap,qr=new WeakMap,rr=new WeakMap,ir=new WeakMap,St=new WeakMap,Hr=new WeakMap,Pt=new WeakMap,ko=new WeakMap,So=new WeakMap,Po=new WeakMap,Co=new WeakMap,Io=new WeakMap,wo=new WeakMap,xo=new WeakMap,te=new WeakMap,dt=new WeakSet,Xd=function(e,t,i=0){return new W({limit:e.limit,pageSize:e.pageSize,fetch:async n=>{var b,y;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:M}=S(b=G,dt,Zd).call(b,A.json.data.things,e.postId,e,t);return{children:M,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),S(y=G,dt,Zd).call(y,v,p??e.postId,e,t,i)}})},Zd=function(e,t,i,n,o=0){var f,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 b=m.data.parentId?p[m.data.parentId]:void 0;if(m.kind==="t1"){if(m.data.name===t)continue;let y=new G(m.data,n);if(p[y.id]=y,d(y,gn,S(f=G,dt,Xd).call(f,{...i,postId:y.postId,commentId:y.id},n,o)),"replyList"in m.data&&m.data.replyList?.data){let{children:C,more:I}=S(v=G,dt,Zd).call(v,m.data.replyList.data.children,y.id,i,n,o);C.length&&y.replies.children.push(...C),I&&y.replies.setMore(I)}y.replies.preventInitialFetch(),b?b.replies.children.push(y):a.push(y)}else if(m.kind==="more"&&m.data.parentId&&m.data.depth!=null){let y={parentId:mc(m.data.parentId)?ri(m.data.parentId):ge(m.data.parentId),children:m.data.children??[],depth:m.data.depth};b?b.replies.setMore(y):y.parentId===t&&(c=y)}}return{children:a,more:c}},l(G,dt);var Q=G;function md(r,e){let t=u.redditAPIPlugins.Moderation;return new W({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 DO(n)}})}function DO(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:f,srId36:v,description:m,details:b,targetAuthor:y,targetBody:C,targetFullname:I,targetPermalink:A,targetTitle:M}=t.data;g(i,"ModAction from AboutLogResponse is missing id"),g(n,"ModAction from AboutLogResponse is missing mod"),g(o,"ModAction from AboutLogResponse is missing modId36"),g(a,"ModAction from AboutLogResponse is missing createdUtc"),g(c,"ModAction from AboutLogResponse is missing subreddit"),g(p,"ModAction from AboutLogResponse is missing subredditNamePrefixed"),g(f,"ModAction from AboutLogResponse is missing action"),g(v,"ModAction from AboutLogResponse is missing srId36");let ce=new Date(0);return ce.setUTCSeconds(a),{id:i,type:f,moderatorName:n,moderatorId:`t2_${o}`,createdAt:ce,subredditName:c,subredditId:`t5_${v}`,description:m,details:b,target:I?{id:I,author:y,body:C,permalink:A,title:M}:void 0}}),after:r.data.after,before:r.data.before}}var _O=(a=>(a.New="New",a.InProgress="InProgress",a.Archived="Archived",a.Appeals="Appeals",a.JoinRequests="JoinRequests",a.Filtered="Filtered",a))(_O||{}),NO={0:"New",1:"InProgress",2:"Archived",3:"Appeals",4:"JoinRequests",5:"Filtered"},qO=(y=>(y.Highlighted="Highlighted",y.Unhighlighted="Unhighlighted",y.Archived="Archived",y.Unarchived="Unarchived",y.ReportedToAdmins="ReportedToAdmins",y.Muted="Muted",y.Unmuted="Unmuted",y.Banned="Banned",y.Unbanned="Unbanned",y.Approved="Approved",y.Disapproved="Disapproved",y.Filtered="Filtered",y.Unfiltered="Unfiltered",y))(qO||{}),HO={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"},V,J,oe,vS,yS,pd=class{constructor(e){l(this,J);l(this,V);d(this,V,e)}async bulkReadConversations(e,t){let i=u.redditAPIPlugins.NewModmail,{conversationIds:n}=await i.BulkReadConversations({entity:e.join(","),state:t},s(this,V));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,V)),n={};for(let o in i.conversations)n[o]=S(this,J,oe).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,V));return{participantSubreddit:i.participantSubreddit,conversation:S(this,J,oe).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,V));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,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).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,V))}async unreadConversations(e){await u.redditAPIPlugins.NewModmail.Unread({conversationIds:e.join(",")},s(this,V))}async approveConversation(e){let i=await u.redditAPIPlugins.NewModmail.ApproveConversation({conversationId:e},s(this,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).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,V));return{conversation:S(this,J,oe).call(this,{protoConversation:i.conversations,protoMessages:i.messages,protoModActions:i.modActions}),user:i.user}}async getUnreadCount(){return await u.redditAPIPlugins.NewModmail.UnreadCount({},s(this,V))}async getUserConversations(e){return await u.redditAPIPlugins.NewModmail.UserConversations({conversationId:e},s(this,V))}};V=new WeakMap,J=new WeakSet,oe=function({protoConversation:e,protoMessages:t,protoModActions:i}){return{...e,state:NO[e.state],messages:S(this,J,vS).call(this,e,t),modActions:S(this,J,yS).call(this,e,i)}},vS=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},yS=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:HO[a.actionTypeId]})}return i};var hn,vn,Yd,Ao,To,Eo,Ro,Om=class Om{constructor(e,t){l(this,hn);l(this,vn);l(this,Yd);l(this,Ao);l(this,To);l(this,Eo);l(this,Ro);if(X(this),g(e.id,"PrivateMessage: Invalid data, no id"),g(e.name,"PrivateMessage: Invalid data, no name"),g(e.created,"PrivateMessage: Invalid data, no created date"),d(this,hn,he(e.name)),e.author!=null)d(this,vn,{type:"user",username:e.author,id:e.authorFullname?ne(e.authorFullname):void 0});else if(e.subreddit!=null)d(this,vn,{type:"subreddit",name:e.subreddit,id:e.subredditId?Oe(e.subredditId):void 0});else throw new Error("PrivateMessage: Invalid data, no author or subreddit");d(this,Ao,e.body??""),d(this,To,e.bodyHtml??"");let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,Eo,i),d(this,Yd,e.parentId?he(e.parentId):void 0),d(this,Ro,t)}static async getMessages(e,t){let i=u.redditAPIPlugins.PrivateMessages;return new W({...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 Om(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,hn)}get from(){return s(this,vn)}get body(){return s(this,Ao)}get bodyHtml(){return s(this,To)}get created(){return s(this,Eo)}async markAsRead(){await u.redditAPIPlugins.PrivateMessages.ReadMessage({id:s(this,hn)},s(this,Ro))}};hn=new WeakMap,vn=new WeakMap,Yd=new WeakMap,Ao=new WeakMap,To=new WeakMap,Eo=new WeakMap,Ro=new WeakMap;var fr=Om;var ny=(o=>(o.Reports="reports",o.Spam="spam",o.Modqueue="modqueue",o.Unmoderated="unmoderated",o.Edited="edited",o))(ny||{}),yn,x,Oo,Fo,Mo,Lo,Uo,Bo,Do,_o,No,bn,E,lt=class lt{constructor(e,t){l(this,yn);l(this,x);l(this,Oo);l(this,Fo);l(this,Mo);l(this,Lo);l(this,Uo);l(this,Bo);l(this,Do);l(this,_o);l(this,No);l(this,bn);l(this,E);X(this),g(e.id,"Subreddit id is missing or undefined"),g(e.displayName,"Subreddit name is missing or undefined"),d(this,yn,Oe(`t5_${e.id}`)),d(this,x,e.displayName),g(e.createdUtc,"Subreddit is missing created date");let i=new Date(0);i.setUTCSeconds(e.createdUtc),d(this,Oo,i),d(this,Fo,jO(e.subredditType)),d(this,Mo,e.title),d(this,Lo,e.description),g(e.lang,"Subreddit is missing language"),d(this,Uo,e.lang),d(this,Bo,e.subscribers??0),d(this,Do,e.activeUserCount??0),d(this,_o,e.over18??!1),d(this,bn,e.url??""),d(this,No,{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:WO(e.submissionType),allowedMediaInComments:(e.allowedMediaInComments??[]).map(GO),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,bn),"https://www.reddit.com").toString()}),d(this,E,t)}get id(){return s(this,yn)}get name(){return s(this,x)}get createdAt(){return s(this,Oo)}get type(){return s(this,Fo)}get title(){return s(this,Mo)}get description(){return s(this,Lo)}get language(){return s(this,Uo)}get numberOfSubscribers(){return s(this,Bo)}get numberOfActiveUsers(){return s(this,Do)}get nsfw(){return s(this,_o)}get settings(){return s(this,No)}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,bn)}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,E))}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,E))}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,E))}getApprovedUsers(e={}){return w.getSubredditUsersByType({type:"contributors",subredditName:s(this,x),...e},s(this,E))}approveUser(e){return w.createRelationship({username:e,subredditName:s(this,x),type:"contributor"},s(this,E))}removeUser(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"contributor"},s(this,E))}getWikiContributors(e={}){return w.getSubredditUsersByType({type:"wikicontributors",subredditName:s(this,x),...e},s(this,E))}addWikiContributor(e){return w.createRelationship({username:e,subredditName:s(this,x),type:"wikicontributor"},s(this,E))}removeWikiContributor(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"wikicontributor"},s(this,E))}getBannedUsers(e={}){return w.getSubredditUsersByType({type:"banned",subredditName:s(this,x),...e},s(this,E))}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,E))}unbanUser(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"banned"},s(this,E))}getBannedWikiContributors(e={}){return w.getSubredditUsersByType({type:"wikibanned",subredditName:s(this,x),...e},s(this,E))}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,E))}unbanWikiContributor(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"wikibanned"},s(this,E))}getModerators(e={}){return w.getSubredditUsersByType({type:"moderators",subredditName:s(this,x),...e},s(this,E))}inviteModerator(e,t){return w.createRelationship({type:"moderator_invite",subredditName:s(this,x),username:e,permissions:t??[]},s(this,E))}revokeModeratorInvite(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"moderator_invite"},s(this,E))}removeModerator(e){return w.removeRelationship({type:"moderator",subredditName:s(this,x),username:e},s(this,E))}setModeratorPermissions(e,t){return w.setModeratorPermissions(e,s(this,x),t,s(this,E))}getMutedUsers(e={}){return w.getSubredditUsersByType({type:"muted",subredditName:s(this,x),...e},s(this,E))}muteUser(e,t){return w.createRelationship({username:e,subredditName:s(this,x),type:"muted",note:t},s(this,E))}unmuteUser(e){return w.removeRelationship({username:e,subredditName:s(this,x),type:"muted"},s(this,E))}getModerationLog(e){return md({subredditName:s(this,x),...e},s(this,E))}getUserFlairTemplates(){return de.getUserFlairTemplates(s(this,x),s(this,E))}getPostFlairTemplates(){return de.getPostFlairTemplates(s(this,x),s(this,E))}createPostFlairTemplate(e){return de.createPostFlairTemplate({subredditName:s(this,x),...e},s(this,E))}createUserFlairTemplate(e){return de.createUserFlairTemplate({subredditName:s(this,x),...e},s(this,E))}async getUserFlair(e){if(e?.usernames!==void 0)return{users:await Promise.all(e.usernames.map(async i=>{let n=await Ue.getUserFlairBySubreddit({subreddit:s(this,x),name:i},s(this,E));return qs(n.users[0])}))};{let t=await Ue.getUserFlairBySubreddit({...e,subreddit:s(this,x)},s(this,E));return{next:t.next,prev:t.prev,users:t.users.map(i=>qs(i))}}}getModQueue(e={type:"all"}){return lt.aboutLocation({...e,location:"modqueue",subreddit:s(this,x)},s(this,E))}getReports(e={type:"all"}){return lt.aboutLocation({...e,location:"reports",subreddit:s(this,x)},s(this,E))}getSpam(e={type:"all"}){return lt.aboutLocation({...e,location:"spam",subreddit:s(this,x)},s(this,E))}getUnmoderated(e={type:"all"}){return lt.aboutLocation({...e,location:"unmoderated",subreddit:s(this,x)},s(this,E))}getEdited(e={type:"all"}){return lt.aboutLocation({...e,location:"edited",subreddit:s(this,x)},s(this,E))}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 W({...e,fetch:async o=>{let a=await i.AboutLocation({...o,...e,only:n},t);return bS(a,t)}})}getCommentsAndPostsByIds(e){let t=u.redditAPIPlugins.LinksAndComments;return new W({fetch:async()=>{let i=await t.Info({thingIds:e,subreddits:[s(this,yn)]},s(this,E));return bS(i,s(this,E))}})}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){g(e);let t=e?.[D.Subreddit]?.values[0];return g(t),lt.getById(Oe(t),e)}static async getById(e,t){let o=(await u.redditAPIPlugins.LinksAndComments.Info({thingIds:[e],subreddits:[]},t)).data?.children[0]?.data?.displayName;return g(o),lt.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 lt(n.data,t)}};yn=new WeakMap,x=new WeakMap,Oo=new WeakMap,Fo=new WeakMap,Mo=new WeakMap,Lo=new WeakMap,Uo=new WeakMap,Bo=new WeakMap,Do=new WeakMap,_o=new WeakMap,No=new WeakMap,bn=new WeakMap,E=new WeakMap;var ve=lt;async function sy(r,e){let o=(await bt.query("GetSubredditLeaderboard","18ead70c46b6446d45ecd8b679b16d9a929a933d6ef25d8262a459cb18b72848",{id:r},e)).data?.subredditInfoById?.leaderboard;if(!o)throw new Error("subreddit leaderboard not found");if(!o.summary)throw new Error("subreddit leaderboard summary not found");return{id:o.id,summary:o.summary}}function jO(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 WO(r){if(r==="any"||r==="link"||r==="self")return r;throw new Error(`invalid allowed post type: ${r}`)}function GO(r){if(r==="animated"||r==="giphy"||r==="static"||r==="expression")return r;throw new Error(`invalid comment media type: ${r}`)}function bS(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 Q(a.data,e)}catch{return null}}}async function oy(r,e){return kS("GetVaultContactByAddress","3e2f7966a5c120e64fd2795d06a46595c52d988185be98d3ed71c3f81ae80d2e",{provider:"ethereum",address:r},e)}async function ay(r,e){return kS("GetVaultContactByUserId","a854ddc19d0e22c4f36ed917fdbd568f299f3571427e393aee5e2972080fffe9",{provider:"ethereum",userId:r},e)}async function kS(r,e,t,i){let o=(await bt.query(r,e,t,i))?.data?.vault?.contact;return{provider:o?.provider,userId:ne(o?.userId),address:o?.address,createdAt:o?.createdAt,isActive:o?.isActive}}import{CommunityListWidget_CommunityData as VO,GetWidgetsResponse_WidgetItem as ue}from"@devvit/protos";var qo,Ho,jo,Wo,Mm=class Mm{constructor(e,t,i){l(this,qo);l(this,Ho);l(this,jo);l(this,Wo);X(this),d(this,qo,e.id),d(this,Ho,e.shortName),d(this,jo,t),d(this,Wo,i)}get id(){return s(this,qo)}get name(){return s(this,Ho)}get subredditName(){return s(this,jo)}toJSON(){return{id:this.id,name:this.name,subredditName:this.subredditName}}delete(){return Mm.delete(this.subredditName,this.id,s(this,Wo))}static async getWidgets(e,t){let n=await u.redditAPIPlugins.Widgets.GetWidgets({subreddit:e},t);g(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 Qd(p,e,t));break;case"calendar":a.push(new el(p,e,t));break;case"textarea":a.push(new tl(p,e,t));break;case"button":a.push(new rl(p,e,t));break;case"community-list":a.push(new il(p,e,t));break;case"post-flair":a.push(new nl(p,e,t));break;case"custom":a.push(new sl(p,e,t));break;case"subreddit-rules":{let f=await u.redditAPIPlugins.Subreddits.SubredditAboutRules({subreddit:e},t);a.push(new Fm(f,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 Qd.create(e,t);case"calendar":return el.create(e,t);case"textarea":return tl.create(e,t);case"button":return rl.create(e,t);case"community-list":return il.create(e,t);case"post-flair":return nl.create(e,t);case"custom":return sl.create(e,t);default:throw new Error("Unknown widget type")}}};qo=new WeakMap,Ho=new WeakMap,jo=new WeakMap,Wo=new WeakMap;var se=Mm,Go,ol=class ol extends se{constructor(t,i,n){super(t,i,n);l(this,Go);d(this,Go,t.data.map(o=>(g(o.url,"Image widget data is missing url"),g(o.height,"Image widget data is missing height"),g(o.width,"Image widget data is missing width"),g(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,Go)}toJSON(){return{...super.toJSON(),images:this.images}}static async create(t,i){let o=await u.redditAPIPlugins.Widgets.AddImageWidget(t,i);return new ol(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateImageWidget(t,i);return new ol(ue.fromJSON(o),t.subreddit,i)}};Go=new WeakMap;var Qd=ol,Vo,zo,Jo,al=class al extends se{constructor(t,i,n){super(t,i,n);l(this,Vo);l(this,zo);l(this,Jo);g(t.googleCalendarId,"Calendar widget data is missing googleCalendarId"),g(t.configuration,"Calendar widget data is missing configuration"),g(t.styles,"Calendar widget data is missing styles"),d(this,Vo,t.googleCalendarId),d(this,zo,t.configuration),d(this,Jo,t.styles)}get googleCalendarId(){return s(this,Vo)}get configuration(){return s(this,zo)}get styles(){return s(this,Jo)}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 al(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCalendarWidget(t,i);return new al(ue.fromJSON(o),t.subreddit,i)}};Vo=new WeakMap,zo=new WeakMap,Jo=new WeakMap;var el=al,$o,Ko,dl=class dl extends se{constructor(t,i,n){super(t,i,n);l(this,$o);l(this,Ko);g(t.text,"Textarea widget data is missing text"),g(t.styles,"Textarea widget data is missing styles"),d(this,$o,t.text),d(this,Ko,t.styles)}get text(){return s(this,$o)}get styles(){return s(this,Ko)}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 dl(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateTextAreaWidget(t,i);return new dl(ue.fromJSON(o),t.subreddit,i)}};$o=new WeakMap,Ko=new WeakMap;var tl=dl,Xo,Zo,Yo,ll=class ll extends se{constructor(t,i,n){super(t,i,n);l(this,Xo);l(this,Zo);l(this,Yo);g(t.styles,"Button widget data is missing styles"),d(this,Xo,t.buttons),d(this,Zo,t.description??""),d(this,Yo,t.styles)}get buttons(){return s(this,Xo)}get description(){return s(this,Zo)}get styles(){return s(this,Yo)}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 ll(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateButtonWidget(t,i);return new ll(ue.fromJSON(o),t.subreddit,i)}};Xo=new WeakMap,Zo=new WeakMap,Yo=new WeakMap;var rl=ll,Qo,ea,ul=class ul extends se{constructor(t,i,n){super(t,i,n);l(this,Qo);l(this,ea);d(this,Qo,t.data.map(o=>VO.fromJSON(o))),g(t.styles,"Community list widget data is missing styles"),d(this,ea,t.styles)}get communities(){return s(this,Qo)}get styles(){return s(this,ea)}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 ul(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCommunityListWidget(t,i);return new ul(ue.fromJSON(o),t.subreddit,i)}};Qo=new WeakMap,ea=new WeakMap;var il=ul,ta,ra,ia,cl=class cl extends se{constructor(t,i,n){super(t,i,n);l(this,ta);l(this,ra);l(this,ia);if(g(t.styles,"Post flair widget data is missing styles"),d(this,ta,t.styles),d(this,ra,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,ia,t.display)}get styles(){return s(this,ta)}get templates(){return s(this,ra)}get display(){return s(this,ia)}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 cl(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdatePostFlairWidget(t,i);return new cl(ue.fromJSON(o),t.subreddit,i)}};ta=new WeakMap,ra=new WeakMap,ia=new WeakMap;var nl=cl,na,sa,oa,aa,da,ml=class ml extends se{constructor(t,i,n){super(t,i,n);l(this,na);l(this,sa);l(this,oa);l(this,aa);l(this,da);g(t.stylesheetUrl,"Custom widget data is missing stylesheetUrl"),g(t.height,"Custom widget data is missing height"),g(t.css,"Custom widget data is missing css"),d(this,na,t.imageData??[]),d(this,sa,t.text??""),d(this,oa,t.stylesheetUrl),d(this,aa,t.height),d(this,da,t.css)}get images(){return s(this,na)}get text(){return s(this,sa)}get stylesheetUrl(){return s(this,oa)}get height(){return s(this,aa)}get css(){return s(this,da)}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 ml(ue.fromJSON(o),t.subreddit,i)}static async update(t,i){let o=await u.redditAPIPlugins.Widgets.UpdateCustomWidget(t,i);return new ml(ue.fromJSON(o),t.subreddit,i)}};na=new WeakMap,sa=new WeakMap,oa=new WeakMap,aa=new WeakMap,da=new WeakMap;var sl=ml,la,Fm=class extends se{constructor(t,i,n,o){super(i,n,o);l(this,la);let a=t.rules.map(({description:c,priority:p,shortName:f,violationReason:v})=>(g(c,"Subreddit rule is missing description"),g(p,"Subreddit rule is missing priority"),g(f,"Subreddit rule is missing shortName"),g(v,"Subreddit rule is missing violationReason"),{description:c,priority:p,shortName:f,violationReason:v}));d(this,la,a)}get rules(){return s(this,la)}toJSON(){return{...super.toJSON(),rules:this.rules}}};la=new WeakMap;var zO=(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))(zO||{}),Se,Pe,kn,Sn,Pn,Cn,In,Ye,He=class He{constructor(e,t,i,n){l(this,Se);l(this,Pe);l(this,kn);l(this,Sn);l(this,Pn);l(this,Cn);l(this,In);l(this,Ye);X(this),d(this,Se,e),d(this,Pe,t),d(this,kn,i.contentMd),d(this,Sn,i.revisionId),d(this,Pn,new Date(i.revisionDate)),d(this,Cn,i.reason??""),g(i.revisionBy?.data,"Wiki page author details are missing"),d(this,In,new w(i.revisionBy.data,n)),d(this,Ye,n)}get name(){return s(this,Se)}get subredditName(){return s(this,Pe)}get content(){return s(this,kn)}get revisionId(){return s(this,Sn)}get revisionDate(){return s(this,Pn)}get revisionReason(){return s(this,Cn)}get revisionAuthor(){return s(this,In)}toJSON(){return{name:s(this,Se),subredditName:s(this,Pe),content:s(this,kn),revisionId:s(this,Sn),revisionDate:s(this,Pn),revisionReason:s(this,Cn),revisionAuthor:s(this,In).toJSON()}}async update(e,t){return He.updatePage({subredditName:s(this,Pe),page:s(this,Se),content:e,reason:t},s(this,Ye))}async getRevisions(e){return He.getPageRevisions({subredditName:s(this,Pe),page:s(this,Se),...e},s(this,Ye))}async revertTo(e){return He.revertPage(s(this,Pe),s(this,Se),e,s(this,Ye))}async getSettings(){return He.getPageSettings(s(this,Pe),s(this,Se),s(this,Ye))}async updateSettings(e){return He.updatePageSettings({subredditName:s(this,Pe),page:s(this,Se),listed:e.listed,permLevel:e.permLevel},s(this,Ye))}async addEditor(e){return He.addEditor(s(this,Pe),s(this,Se),e,s(this,Ye))}async removeEditor(e){return He.removeEditor(s(this,Pe),s(this,Se),e,s(this,Ye))}static async getPage(e,t,i){let o=await u.redditAPIPlugins.Wiki.GetWikiPage({subreddit:e,page:t},i);return g(o.data,"Failed to get wiki page"),new He(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 He.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),He.getPage(e.subredditName,e.page,t)}static getPageRevisions(e,t){let i=u.redditAPIPlugins.Wiki;return new W({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 JO(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 g(o.data,"Failed to get wiki page settings"),new pl(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 g(n.data,"Failed to update wiki page settings"),new pl(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)}};Se=new WeakMap,Pe=new WeakMap,kn=new WeakMap,Sn=new WeakMap,Pn=new WeakMap,Cn=new WeakMap,In=new WeakMap,Ye=new WeakMap;var ye=He,wn,xn,An,Tn,En,Rn,Lm=class{constructor(e,t){l(this,wn);l(this,xn);l(this,An);l(this,Tn);l(this,En);l(this,Rn);d(this,wn,e.id),d(this,xn,e.page),d(this,An,new Date(e.timestamp)),g(e.author?.data,"Wiki page revision author details are missing"),d(this,Tn,new w(e.author.data,t)),d(this,En,e.reason??""),d(this,Rn,e.revisionHidden??!1)}get id(){return s(this,wn)}get page(){return s(this,xn)}get date(){return s(this,An)}get author(){return s(this,Tn)}get reason(){return s(this,En)}get hidden(){return s(this,Rn)}toJSON(){return{id:s(this,wn),page:s(this,xn),date:s(this,An),author:s(this,Tn).toJSON(),reason:s(this,En),hidden:s(this,Rn)}}};wn=new WeakMap,xn=new WeakMap,An=new WeakMap,Tn=new WeakMap,En=new WeakMap,Rn=new WeakMap;var On,Fn,Mn,pl=class{constructor(e,t){l(this,On);l(this,Fn);l(this,Mn);d(this,On,e.listed),d(this,Fn,e.permLevel),d(this,Mn,e.editors.map(i=>(g(i.data,"Wiki page editor details are missing"),new w(i.data,t))))}get listed(){return s(this,On)}get permLevel(){return s(this,Fn)}get editors(){return s(this,Mn)}toJSON(){return{listed:s(this,On),permLevel:s(this,Fn),editors:s(this,Mn).map(e=>e.toJSON())}}};On=new WeakMap,Fn=new WeakMap,Mn=new WeakMap;function JO(r,e){return g(r.data?.children,"Wiki page revision listing is missing children"),{children:r.data.children.map(i=>new Lm(i,e)),before:r.data.before,after:r.data.after}}var $O=(t=>(t.Gallery="GALLERY",t.Timeline="TIMELINE",t))($O||{});function KO(r){return r==="GALLERY"?"GALLERY":"TIMELINE"}var je,Ce,ca,Ln,Un,ma,pa,fa,ga,Ct,ha,va,Bn,ua=class ua{constructor(e,t){l(this,je);l(this,Ce);l(this,ca);l(this,Ln);l(this,Un);l(this,ma);l(this,pa);l(this,fa);l(this,ga);l(this,Ct);l(this,ha);l(this,va);l(this,Bn);g(e.collectionId,"Collection Id is missing or undefined"),g(e.subredditId,"Subreddit Id is missing or undefined"),g(e.title,"Collection title is missing or undefined"),g(e.authorId,"Collection author's id is missing or undefined"),g(e.authorName,"Collection author's id is missing or undefined"),g(e.createdAtUtc,"Collection create timestamp is missing"),g(e.lastUpdateUtc,"Collection last updated timestamp is missing"),d(this,je,t),d(this,Ce,e.collectionId),d(this,ca,e.subredditId),d(this,Ln,e.title),d(this,Un,e.description||""),d(this,ma,e.authorId),d(this,pa,e.authorName),d(this,fa,e.permalink),d(this,ga,e.primaryLinkId),d(this,Ct,e.linkIds||[]),d(this,Bn,KO(e.displayLayout)),d(this,ha,e.createdAtUtc),d(this,va,e.lastUpdateUtc),X(this)}get id(){return s(this,Ce)}get subredditId(){return s(this,ca)}get title(){return s(this,Ln)}get description(){return s(this,Un)}get authorId(){return s(this,ma)}get authorName(){return s(this,pa)}get permalink(){return s(this,fa)}get primaryLinkId(){return s(this,ga)}get linkIds(){return s(this,Ct)}get createdAtUtc(){return s(this,ha)}get lastUpdateUtc(){return s(this,va)}get displayLayout(){return s(this,Bn)}static async getCollectionById(e,t){let n=await u.redditAPIPlugins.PostCollections.Collection(e,t);return new ua(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 ua(n,t)}static async getCollectionsForSubreddit(e,t){return(await u.redditapiv2Plugin.GetSubredditCollections({srFullname:e.subredditId},t)).collections.map(n=>new ua(n,t))}async addPost(e){await u.redditAPIPlugins.PostCollections.AddPost({collectionId:s(this,Ce),linkFullname:e},s(this,je)),s(this,Ct).push(e)}async removePost(e){await u.redditAPIPlugins.PostCollections.RemovePost({collectionId:s(this,Ce),linkFullname:e},s(this,je)),d(this,Ct,s(this,Ct).filter(i=>i!==e))}async delete(){await u.redditAPIPlugins.PostCollections.Delete({collectionId:s(this,Ce)},s(this,je))}async follow(e){await u.redditAPIPlugins.PostCollections.Follow({collectionId:s(this,Ce),follow:e},s(this,je))}async reorder(e){await u.redditAPIPlugins.PostCollections.Reorder({collectionId:s(this,Ce),linkIds:e.join(",")},s(this,je)),d(this,Ct,e)}async updateTitle(e){await u.redditAPIPlugins.PostCollections.UpdateTitle({collectionId:s(this,Ce),title:e},s(this,je)),d(this,Ln,e)}async updateDescription(e){await u.redditAPIPlugins.PostCollections.UpdateDescription({collectionId:s(this,Ce),description:e},s(this,je)),d(this,Un,e)}async updateLayout(e){await u.redditAPIPlugins.PostCollections.UpdateDisplayLayout({collectionId:s(this,Ce),displayLayout:e},s(this,je)),d(this,Bn,e)}};je=new WeakMap,Ce=new WeakMap,ca=new WeakMap,Ln=new WeakMap,Un=new WeakMap,ma=new WeakMap,pa=new WeakMap,fa=new WeakMap,ga=new WeakMap,Ct=new WeakMap,ha=new WeakMap,va=new WeakMap,Bn=new WeakMap;var pi=ua;var XO=["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"],ZO=["border-image","border-image-source","behavior","expression","list-style-image","cursor","content"],YO=["onload","onerror","onclick","onmouseover"];function QO(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 SS(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*(${XO.join("|")})\\b`,"gi"),t=new RegExp(`(${ZO.join("|")})\\s*:\\s*url\\s*\\((['"]?)(.*?)\\2\\)`,"gi"),i=new RegExp(`(${YO.join("|")})\\s*(=\\s*(['"]?)(.*?)\\3)?`,"gi");r=r.trim().replace(/\s+/g," "),r=QO(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 XH(r,...e){let t="";return r.forEach((i,n)=>{t+=i;let o=e[n];o!==void 0&&(t+=`${o}`)}),t=SS(t),t===void 0?"":`data:image/svg+xml;charset=UTF-8,${encodeURIComponent(t)}`}export{kL as ALL_ICON_NAMES,ny as AboutLocations,rl as ButtonWidget,el as CalendarWidget,$O as CollectionDisplayLayout,Q as Comment,il as CommunityListWidget,sl as CustomWidget,u as Devvit,Ue as Flair,de as FlairTemplate,PO as FlairType,Tt as Hook,Qd as ImageWidget,W as Listing,qO as ModMailActionType,_O as ModMailConversationState,pd as ModMailService,Le as ModNote,z as Post,pi as PostCollection,nl as PostFlairWidget,fr as PrivateMessage,_s as RichTextBuilder,pc as SettingScope,LO as SocialLinkType,ve as Subreddit,Fm as SubredditRulesWidget,tl as TextAreaWidget,w as User,se as Widget,ye as WikiPage,zO as WikiPagePermissionLevel,Lm as WikiPageRevision,pl as WikiPageSettings,qs as convertUserFlairProtoToAPI,md as getModerationLog,sy as getSubredditLeaderboard,oy as getVaultByAddress,ay as getVaultByUserId,XH as svg,oO as useAsync,sm as useChannel,tm as useForm,dm as useInterval,pm as useState};
6
6
  /*! Bundled license information:
7
7
 
8
8
  shallow-clone/index.js: