{"version":3,"file":"static/chunks/9597-db907bb3467a308f.js","mappings":"yQAyIA,MA1HoB,OAAC,MAAEA,CAAI,CAAE,GACrBC,EAAOC,CAAAA,EAAAA,EAAAA,CAAAA,CAAOA,CAyHPC,EAxHP,CAAEC,KAAMC,CAAO,CAAE,CAAGC,CAAAA,CAwHD,CAxHCA,EAAAA,UAAAA,CAAUA,GAC9BC,EAAcF,SAAAA,KAAAA,EAAAA,EAASG,EAATH,EAAa,GAAI,KAE/B,CAAED,KAAMK,CAAQ,YAAEC,CAAU,WAAEC,CAAS,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,CAAcA,GAC1D,UAAEC,CAAQ,CAAE,CAAGJ,GAAY,CAAC,EAE5B,CAACK,EAAWC,EAAa,CAAGC,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,CAAC,MAErCC,EAAe,UACnBF,GAAa,GACb,MAAMG,CAAAA,EAAAA,EAAAA,OAAAA,CAAOA,EACf,EAEMC,EAAiBC,CAAAA,EAAAA,EAAAA,OAAAA,CAAOA,CAAC,IAC7B,GAAkBT,EACT,CAAC,CACNU,IAAKC,CAAAA,EAAAA,EAAAA,EAAAA,CAAIA,GACTC,MAAO,CACLC,SAAU,IACVC,MAAO,SACT,EACAC,QAAS,OACTC,MAAO1B,EAAK2B,aAAa,CAAC,CAAEC,GAAI,sBAAuB,GACvDC,SAAU,UAACC,EAAAA,CAAeA,CAAAA,CAACR,MAAO,CAAES,SAAU,EAAG,EAAGC,IAAI,MACxDC,UAAU,CACZ,EAAE,CAGGC,OAAOC,MAAM,CAACvB,GAAY,CAAC,GAAGwB,GAAG,CAAC,GAAc,EACrDhB,IAAKC,CADgD,EAChDA,EAAAA,EAAAA,CAAIA,GACTK,MACE,UAACW,IAAIA,CACHC,MAAM,eACNC,KAAM,GAAyBC,MAAAA,CAAtBC,EAAAA,CAAKA,CAACC,IAFZL,QAEwB,CAAC,KAAyB,OAAtBG,EAAQG,aAAa,WAEnDH,EAAQI,IAAI,GAGjBC,KAAM,UAACC,EAAAA,GAAOA,CAAAA,CAAAA,GAChB,GACC,CAAC9C,EAAMS,EAAYC,EAAWE,EAAS,EAEpCmC,EAAoB5B,CAAAA,EAAAA,EAAAA,OAAAA,CAAOA,CAAC,IAAM,CAAC,CACvCC,IAAKC,CAAAA,EAAAA,EAAAA,EAAAA,CAAIA,GACT2B,KAAM,QACNtB,MAAO1B,EAAK2B,aAAa,CAAC,CAAEC,GAAI,6BAA8B,GAC9DqB,SAAU,IACL/B,EACH,CACEE,IAAKC,CAAAA,EAAAA,EAAAA,EAAAA,CAAIA,GACTK,MACE,UAACW,IAAIA,CACHC,MAAM,kBACNC,KAAME,EAAAA,CAAKA,CAACS,WAFTb,EAEsB,UAEzB,UAACc,EAAAA,CAAgBA,CAAAA,CAACvB,GAAG,+BAGzBiB,KAAM,UAACO,EAAAA,GAAMA,CAAAA,CAAAA,EACf,EACD,EACA,CACDJ,KAAM,SACR,EAAG,CACD5B,IAAKC,CAAAA,EAAAA,EAAAA,EAAAA,CAAIA,GACT2B,KAAM,QACNtB,MAAO1B,EAAK2B,aAAa,CAAC,CAAEC,GAAI,6BAA8B,GAC9DqB,SAAU,CACR,CACE7B,IAAKC,CAAAA,EAAAA,EAAAA,EAAAA,CAAIA,GACTK,MACE,UAACW,IAAIA,CACHC,MAAM,qBACNC,KAAME,EAAAA,CAAKA,CAACY,KAAK,GAFdhB,OAIH,UAACc,EAAAA,CAAgBA,CAAAA,CAACvB,GAAG,gCAGzBiB,KAAM,UAACS,EAAAA,GAAMA,CAAAA,CAAAA,EACf,EACA,CACElC,IAAKC,CAAAA,EAAAA,EAAAA,EAAAA,CAAIA,GACTkC,QAASvC,EACTU,MAAO1B,EAAK2B,aAAa,CAAC,CAAEC,GAAI,4BAA6B,GAC7DiB,KAAM,CAAC,CACL,UAACf,EAAAA,CAAeA,CAAAA,CAACR,MAAO,CAAES,SAAU,EAAG,EAAGC,IAAI,MAE9C,UAACwB,EAAAA,GAAUA,CAAAA,CAAAA,EAEf,EACD,EACD,CAAE,CAACtC,EAAgBlB,EAAMa,EAAU,EAErC,MACE,CAAC,CAACP,GACA,UAACmD,EAAAA,CAAQA,CAAAA,CACPC,aAAc,CACZC,OAAQ,EACV,EACAC,KAAM,CACJC,MAAO,IAAId,EAAkB,EAE/Be,KAAMjD,EACNkD,UAAU,cACVC,MAAO,CAAEC,eAAe,CAAK,EAC7BC,QAAS,CAAC,QAAQ,UAElB,UAACC,SAAAA,CAAOvB,KAAK,8BACX,UAACwB,EAAAA,CAAMA,CAAAA,CACLrE,KAAMA,GAAc,GACpB6C,CADa7C,GACT,OAAEO,EAAAA,KAAAA,EAAAA,EAAa+D,KAAK,CACxBC,GAAG,IADGhE,GACDA,EAAAA,KAAAA,EAAAA,EAAaiE,OAAO,CACzBC,IAAI,CADClE,uBAOjB,+FCvGA,MA7BuB,OAAC,MAAEsC,CAAI,MAAE7C,CAAI,CAAE,GAChC0E,EAAW,GAEf,SAAI7B,EA0BuB8B,EAAC,GA1BxB9B,EAAAA,EAAM+B,MAAN/B,EAAc,CAAC,KAAM,CACvB,GAAM,CAACgC,EAAOC,EAAO,CAAGjC,QAAAA,KAAAA,EAAAA,EAAAA,KAAW,CAAC,KACpC6B,EAAW,CAACG,CAAK,CAAC,EAAE,CAAGC,CAAM,CAAC,EAAE,EAAEC,WAAW,EAC/C,MAAWlC,CAAJ,GACL6B,EAAW,GAAqB,OAAlB7B,CAAI,CAAC,EAAE,CAAGA,CAAI,CAAC,EAAE,EAAGkC,WAAW,IAG/C,IAAMC,EAAUC,IAAcpC,GAgB9B,MAAO,UAACqC,EAhBqBD,IAgBrBC,CAAI3D,MAdQ,CAClB4D,gBAAiBH,EACjBvD,MAAO,OACP2D,QAAS,OACTC,WAAY,SACZC,eAAgB,SAChBC,MAAOvF,EACPwF,OAAQxF,EACRyF,aAAc,MACdzD,SAAUhC,EAAO,IACjB0F,WAAY,OACZC,cAAe,WACjB,WAEiCjB,GACnC,0BCvBA,IAAML,EAASuB,CAAAA,EAAAA,EAAAA,UAAAA,CAAUA,CAAC,GAAsCC,QAArC,CAAE7F,MAAI,KAAEuE,CAAG,MAAE1B,CAAI,KAAE4B,CAAG,CAAE,GAAGqB,EAAQ,UAAWvB,EACvE,UAACwB,MAAAA,CACCC,UAAWC,IAAAA,QAAe,CAC1B1B,IAAKA,EACLgB,MAAOvF,EACPwF,OAAQxF,EACRuC,MAAOkC,EACPA,IAAKA,EACJ,GAAGqB,CAAM,CACVD,IAAKA,IAGP,UAAClB,EAAcA,CACb3E,KAAMA,EAAM6C,KAAMA,EAClBN,MAAOkC,EAFME,IAMjBN,EAAO6B,WAAW,CAAG,SAErB,MAAe7B,MAAMA,EAAC,0GCZf,IAAM8B,EAAc,IAAIC,EAAAA,CAAWA,CAAC,CACzCC,eAZkB,CAClBC,QAAS,CACPC,gBAAgB,EAChBC,oBAAoB,EACpBC,sBAAsB,EACtBC,OAAO,EACPC,UAAWC,IACXC,UAAW,KACb,CACF,CAFsB,CAMpBC,IANyB,KAAK,EAMlB,IAAIC,EAAAA,CAAUA,CAAC,CACzBC,QAAS,CAACC,EAAOC,KACfC,QAAQF,KAAK,CAACA,EAAO,yCAAwD,OAAfC,EAAME,QAAQ,EAC9E,CACF,EACF,GAAG,EAEuB,OAAC,UAAElE,CAAQ,CAAE,SACrC,UAACmE,EAAAA,EAAmBA,CAAAA,CAACC,OAAQnB,WAAcjD,KAC3C,WCzBF,WAAkB,+FCDlB,MAAe,CAAC,uGAA+G,0PAA8P,oFCAtX,IAAMqE,EAAgB,mDAGhBC,EAAa,iBAAiB,EAClB,aAAa,EAkEf,CACrBC,cAAe,6BACfC,QAAS,uBACTC,YAAa,2BACbC,OAAQ,qBACV,EAEaC,EAAY,CACvBC,OAAQ,SACRC,MAAO,QACPC,QAAS,CACPC,QAAS,UACTC,MAAO,QACPC,OAAQ,SACRC,YAAa,aACf,EACAC,UAAW,YACXC,SAAU,UACZ,EAAC,+CC1ED,MAdc,CACZC,KAAM,IACNC,MAAO,YAYM9F,GAXb+F,EAWkB/F,EAAC,GAXX,UACRgG,cAAe,kBACfC,cAAe,kBACfxF,cAAe,kBACfG,MAAO,SACPX,aAAc,iBACdiG,cAAe,kBACfC,eAAgB,oBAChBC,QAAS,eACX,iDCZO,IAAMC,EAAa,MAAOC,QAG3BC,EAFJ,GAAM,MAAEC,CAAI,QAAEC,CAAM,MAAEC,CAAI,CAAE,CAAGJ,EAI/B,GAAI,CAACE,GAAQ,CAACC,EACZ,MADoB,CACb,KAIPF,EADEG,GAAwB,UAAhB,OAAOA,EACPC,KAAKC,SAAS,CAACF,GAEfA,EAGZ,IAAMG,EAAW,MAAMC,MAAM,OAAY,OAALN,GAAQ,QAC1CC,EACAM,QAAS,CACP,eAAgB,kBAClB,EACAL,KAAMH,CACR,GAIA,OAFa,MAAMM,EAASG,IAAI,EAGlC,EAAC,8DCxBM,IAAMC,EAAiB,CAC5B,MACA,UACA,gBACA,OACA,SACA,QACA,cACA,UACA,aACA,aACA,aACA,WACA,YACA,WACA,YACA,UACA,iBACD,CAAC,EAIgC,CAAC,OAAQ,MAAO,MAAM,CAgBlD,CAEOrI,EAAAA,EAAAA,EAAAA,CAAIA,GAGX,CAEOA,EAAAA,EAAAA,EAAAA,CAAIA,GAGX,CAEOA,EAAAA,EAAAA,EAAAA,CAAIA,GAGX,CAEOA,EAAAA,EAAAA,EAAAA,CAAIA,GAGX,CAEOA,EAAAA,EAAAA,EAAAA,CAAIA,EC3DjB,OAAMsI,EAEJ,OAAOC,cAAc9D,CAAG,CAAE,CACxB,OAAO+D,EAAmBC,MAAM,CAAC,CAACC,EAAGC,KACnCD,CADuBF,CACrBG,EAAE,CAAIlE,CAAG,CAACkE,EAAE,EAAI,KACXD,GACN,CAAC,EACN,CAaA,IAAIE,QAAS,CACX,IAAMC,EAAgB,IAAI,CAACC,WAAW,CAAC,MAAS,CAC1CC,EAAiB,CACrBvC,OAAQ,EAAE,CACVwC,KAAM,IACR,EAEA,IAAK,IAAMC,KAAepI,OAAOqI,IAAI,CAACL,GACpC,GAAIM,MAAMC,GAD0C,IACnC,CAACP,CAAa,CAACI,EAAY,GAAG,IACxC,IAAMxE,KAAOoE,CAAa,CAACI,EAAY,CAAE,GACxC,UAAyB,OAAlBxE,EACTsE,CAAc,CAACE,EAAY,CAACI,IAAI,CAAC,CAC/B9H,KAAM,KACN+H,IAAKtJ,CAAAA,EAAAA,EAAAA,EAAAA,CAAIA,GACTuJ,IAAK9E,CACP,QACK,GAAmB,UAAf,OAAOA,EAAkB,CAClC,GAAM,KAAE+E,CAAG,KAAED,CAAG,CAAE,CAAG9E,EACf8E,EACJR,CAAc,CAACE,CADN,CACkB,CAACI,IAAI,CAACf,EAAeC,aAAa,CAAC9D,IACnD+E,GAAO,QAASA,GAC3BT,CAAc,CADkB,EACL,CAACM,IAAI,CAACf,EAAeC,aAAa,CAACiB,GAElE,CACF,MAEA,GAAMX,CAAD,CAAeI,EAAY,EAA0C,UAAtC,OAAOJ,CAAa,CAACI,EAAY,CAAe,CAClF,GAAM,KAAEO,CAAG,KAAED,CAAG,CAAE,CAAGV,CAAa,CAACI,EAAY,CACzCM,EACJR,CAAc,CAACE,CADN,CACkB,CAAGM,EACnBC,GAAO,QAASA,IAC3BT,CADgC,CACjBE,EAAY,OAAGO,EAAAA,KAAAA,EAAAA,EAAKD,GAAAA,CAEvC,CAFkCC,KAGhCT,CADK,CACUE,EAAY,CAAGJ,CAAa,CAACI,EAAY,CAK9D,OAAOF,CACT,CAEAU,UAAW,CACT,OAAO,IAAI,CAACC,aAAa,CAACjB,MAAM,CAAC,CAACC,EAAGC,KACnCD,CAAC,CAACC,EAAE,CAAI,IAAI,CAACA,EAAE,EAAI,KACZD,GACN,CAAC,EACN,CA1DAiB,YAAYC,EAAO,CAAC,CAAC,CAAE,CAIrB,IAAK,IAAM7J,KAHX,IAAI,CAAC+I,WAAW,CAAG,CAAE,GAAGc,CAAI,EAC5B,IAAI,CAACF,aAAa,CAAG7I,OAAOqI,IAAI,CAAC,IAAI,CAACJ,WAAW,EAE/BjI,OAAOqI,IAAI,CAAC,IAAI,CAACJ,WAAW,EAAG,CAC3CT,EAAe/E,QAAQ,CAACvD,GAAVsI,EAChB,CADgC,GAC5B,CAACtI,EAAI,CAAI,IAAI,CAAC+I,WAAW,CAAC/I,EAAI,EAAI,KAG5C,CAkDF,CApEMuI,EACGQ,WAAAA,CAAc,CAAC,EAqExB,MAAeR,cAAcA,EAAC,qPsBvEDuB,cAAAA,UrBCtB,IAAMC,EAAwB,CAACC,EAAWC,EAAcC,IAC7DC,CAAAA,EAAAA,EAAAA,CAAAA,CAAQA,CAAC,CAEPpE,SAAU,CAAC,qBAAsBkE,EAAa,CAC9CG,QAAS,CAAC,CAACJ,EACXK,QAAS,IAAM3C,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CACxBG,KAAM,YAA+BqC,MAAAA,CAAnBF,EAAU,WAA4C,OAAnCE,EAAY,kBAAoB,IACrEpC,OAAQ,KACV,GACAwC,OAAQ,IACN,GAAM,QAAEC,CAAM,QAAExJ,CAAM,SAAEyJ,CAAO,CAAE,CAAGzL,GAAQ,CAAC,EAE7C,GAAIwL,GAAc,GAChB,OAAOxJ,CAGT,OAAM,MAAUyJ,EAClB,EACAhF,UAAW,IACb,CADkB,EACf,KADsB,qBChBpB,IAAMiF,EAAiB,GACrBC,CAAAA,EAAAA,EAAAA,CAAAA,CAAWA,CAAC,CACjBC,WAAY,MAAOC,IAMjB,GAAM,QAAEL,CAAM,SAAEC,CAAO,CAAE,CALR,MAAM9C,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CAChCG,KAAM,UAAkB,OAAR+C,EAAQ,WACxB9C,OAAQ,QACV,IAEwC,CAAC,EACzC,GAAe,GAAG,CAAdyC,EACF,MAAM,MAAUC,EAEpB,EACAK,UAAW,UACT,MAAMnD,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CACfG,KAAM,YAAyB,OAAboC,EAAa,eAC/BnC,OAAQ,KACV,GAEA,MAAMhD,EAAAA,CAAWA,CAACgG,iBAAiB,CAAC,CAAC,qBAAsBb,EAAa,CAC1E,CACF,GCrBWc,EAAiB,CAACH,EAASX,IACtCS,CAAAA,EAAAA,EAAAA,CAAAA,CAAWA,CAAC,CACVC,WAAY,GAAajD,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CAClCG,KAAM,UAAkB,OAAR+C,EAAQ,WACxB9C,OAAQ,MACRC,KAAMC,KAAKC,SAAS,CAACL,EACvB,GACAiD,UAAW,UACT,MAAM/F,EAAAA,CAAWA,CAACkG,cAAc,CAAC,CAC/BjF,SAAU,CAAC,qBAAsBkE,EAAa,CAC9CrI,KAAM,SACNqJ,OAAO,CACT,GAEA,MAAMvD,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CACfG,KAAM,YAAyB,OAAboC,EAAa,eAC/BnC,OAAQ,KACV,EACF,CACF,GAAG,ECnByB,CAACkC,EAAWC,IACxCS,CAAAA,EAAAA,EAAAA,CAAAA,CAAWA,CAAC,CACVC,WAAY,GAAajD,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CAClCG,KAAO,gBACPC,OAAQ,OACRC,KAAMC,KAAKC,SAAS,CAAC,CACnBiD,WAAYlB,EACZ,GAAGpC,CAAO,EAEd,GACAiD,UAAW,MAAO9L,IAChB,GAAM,CAAEwL,QAAM,CAAExJ,QAAM,CAAEyJ,SAAO,CAAE,CAAGzL,GAAQ,CAAC,EAE7C,GAAe,GAAG,CAAdwL,EAYF,OAXA,MAAMzF,EAAAA,CAAWA,CAACkG,cAAc,CAAC,CAC/BjF,SAAU,CAAC,qBAAsBkE,EAAa,CAC9CrI,KAAM,SACNqJ,MAAO,EACT,GAEA,MAAMvD,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CACfG,KAAM,YAAyB,OAAboC,EAAa,eAC/BnC,OAAQ,KACV,GAEO/G,CAGT,OAAUoK,MAAMX,EAClB,CACF,GAAG,EEhCiC,CAACR,EAAWC,IAChDE,CAAAA,EAAAA,EAAAA,CAAAA,CAAQA,CAAC,CAEPpE,SAAU,CAAC,sBAAuBkE,EAAa,CAC/CG,QAAS,CAAC,CAACJ,EACXK,QAAS,IAAM3C,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CACxBG,KAAO,eACPC,OAAQ,OACRC,KAAM,WACJiC,CACF,CACF,GACAM,OAASvL,IACP,GAAM,QAAEwL,CAAM,QAAExJ,CAAM,SAAEyJ,CAAO,CAAE,CAAGzL,GAAQ,CAAC,EAE7C,GAAe,GAAG,CAAdwL,EACF,OAAOxJ,CAGT,OAAM,MAAUyJ,EAClB,EACAhF,UAAW,IACb,CADkB,ECnBP4F,EAAmB,GDmBL,CClBlBV,EAAAA,EAAAA,CAAAA,CAAWA,CAAC,CACjBC,WAAY,MAAOU,IAMjB,GAAM,QAAEd,CAAM,CAAEC,SAAO,CAAE,CALR,MAAM9C,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CAChCG,KAAM,YAAsB,OAAVwD,EAAU,WAC5BvD,OAAQ,QACV,IAEwC,CAAC,EACzC,GAAe,GAAG,CAAdyC,EACF,MAAM,MAAUC,EAEpB,EACAK,UAAW,UACT,MAAMnD,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CACfG,KAAM,YAAyB,OAAboC,EAAa,eAC/BnC,OAAQ,KACV,GAEA,MAAMhD,EAAAA,CAAWA,CAACgG,iBAAiB,CAAC,CAAC,sBAAuBb,EAAa,CAC3E,CACF,GCrBWqB,EAAmB,CAACD,EAAWpB,IAC1CS,CAAAA,EAAAA,EAAAA,CAAAA,CAAWA,CAAC,CACVC,WAAY,GAAajD,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CAClCG,KAAM,YAAsB,OAAVwD,EAAU,WAC5BvD,OAAQ,MACRC,KAAMC,KAAKC,SAAS,CAACL,EACvB,GACAiD,UAAW,UACT,MAAMnD,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CACfG,KAAM,YAAyB,OAAboC,EAAa,eAC/BnC,OAAQ,KACV,GAEA,MAAMhD,EAAAA,CAAWA,CAACkG,cAAc,CAAC,CAC/BjF,SAAU,CAAC,sBAAuBkE,EAAa,CAC/CrI,KAAM,SACNqJ,MAAO,EACT,EACF,CACF,GAAG,ECnB2B,CAACjB,EAAWC,IAC1CS,CAAAA,EAAAA,EAAAA,CAAAA,CAAWA,CAAC,CACVC,WAAY,GAAajD,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CAClCG,KAAO,kBACPC,OAAQ,OACRC,KAAMC,KAAKC,SAAS,CAAC,CACnBiD,WAAYlB,EACZ,GAAGpC,CAAO,EAEd,GACAiD,UAAW,MAAO9L,IAChB,GAAM,CAAEwL,QAAM,QAAExJ,CAAM,SAAEyJ,CAAO,CAAE,CAAGzL,GAAQ,CAAC,EAE7C,GAAIwL,GAAc,GAOhB,OANA,MAAMzF,EAAAA,CAAWA,CAACkG,cAAc,CAAC,CAC/BjF,SAAU,CAAC,sBAAuBkE,EAAa,CAC/CrI,KAAM,SACNqJ,MAAO,EACT,GAEOlK,CAGT,OAAM,MAAUyJ,EAClB,CACF,GAAG,cExBE,IAAMe,EAAoB,KAC/B,GAAM,CAAExM,KAAMC,CAAO,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,UAAAA,CAAUA,GAC9BC,EAAcF,OAAAA,EAAAA,KAAAA,EAAAA,EAASG,IAAAA,GAAQ,EAAjBH,GAEpB,MAAO0L,CAAAA,EAAAA,EAAAA,CAAAA,CAAWA,CAAC,CACjBC,WAAY,MAAO/C,IAMjB,GAAM,CAAE2C,QAAM,QAAExJ,CAAM,SAAEyJ,CAAO,CAAE,CAAGtC,MALbR,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CAChCG,KAAO,eACPC,OAAQ,MACRC,KAAMC,KAAKC,SAAS,CAACL,EACvB,IACgD,CAAC,EAEjD,GAAI2C,GAAc,GAChB,OAAOxJ,CAGT,OAAM,MAAUyJ,EAClB,EACAK,UAAW,MAAO9L,IAChB+F,EAAAA,CAAWA,CAAC0G,YAAY,CAAC,CAAC,iBAAkBtM,QAAAA,KAAAA,EAAAA,EAAasB,EAAE,CAAC,CAAE,GAAlBtB,CAClC,CACN,GAAIuM,GAAW,CAAC,CAAC,CACjB,GAAG1M,CAAI,CACT,EAEJ,CACF,EACF,EAAC,EChCiC,UAChC,GAAI,CACF,IAAM2M,EAAI,MAAMvD,MAAM,2BAA6C,OAAlBwD,gBAJa,GAK9D,MAAO,CAAEpB,OAAQmB,EAAEnB,MAAM,CAAExL,KAAM,MAAM2M,EAAErD,IAAI,EAAG,CAClD,CAAE,MAAOuD,EAAG,CACV,MAAO,CAAErB,OAAQ,GAAI,CACvB,CACF,ECHIsB,GAAmB,EAEVtM,EAAiB,KAC5B,GAAM,CAAER,KAAMC,CAAO,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,UAAAA,CAAUA,GAC9BC,EAAcF,OAAAA,EAAAA,KAAAA,EAAAA,EAASG,IAAAA,GAAQ,EAAjBH,GAEpB,MAAOmL,CAAAA,EAAAA,EAAAA,CAAAA,CAAQA,CAAC,CACdpE,SAAU,CAAC,uBAAkB7G,EAAAA,KAAAA,EAAAA,EAAasB,EAAE,CAAC,CAC7C4J,QAAS,CAAC,CAAClL,EACXmL,QAAS,IAAM3C,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CACxBG,KAAO,YACPC,OAAQ,KACV,GACAxC,UAAWC,IACXC,UAAW,KACX8E,OADuB,IAErB,GAAM,CAAEC,QAAM,QAAExJ,CAAM,SAAEyJ,CAAO,CAAE,CAAGzL,GAAQ,CAAC,EAC7C,GAAe,IAAXwL,EAAc,KACXxJ,EAmBL,aAnBKA,EAAAA,KAAAA,EAAc,QAAdA,EAAAA,EAAQ+K,MAAAA,GAAR/K,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAgBgL,eAAAA,GAAoBF,EAAD,EACtCA,GAAmB,EACnBG,IAAqBC,IAAI,CAAC,OAAC,EAATD,IAAWjN,CAAI,QAAEwL,CAAM,CAAE,GACzC,GAAe,MAAXA,EAAgB,KAKLxL,EAJb2I,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CACTG,KAAO,wBACPC,OAAQ,OACRC,KAAM,CACJmE,OAAO,OAAEnN,EAAAA,KAAAA,EAAa,QAAbA,EAAAA,EAAMmN,OAAO,GAAbnN,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAe2E,WAAW,GACnCyI,SAAU,CACRvK,KAAM,QACNwK,YAAa,CAACrN,OAAAA,EAAAA,KAAAA,EAAAA,EAAMsN,GAAAA,GAAO,GAAC,CAAGC,KAAK,CAAC,KAAKtL,GAAG,CAACuL,GAAKC,OAAOD,IAAIE,OAAO,EACvE,CACF,CACF,EACF,CACF,IAGK1L,CACT,CAEA,MAAM,MAAUyJ,EAClB,CACF,EACF,EAAE,EC3C2B,KAC3B,GAAM,CAAEzL,KAAMC,CAAO,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,UAAAA,CAAUA,GAC9BC,EAAcF,OAAAA,EAAAA,KAAAA,EAAAA,EAASG,IAAI,GAAI,EAAjBH,GAEpB,MAAO0L,CAAAA,EAAAA,EAAAA,CAAAA,CAAWA,CAAC,CACjBC,WAAY,IAAMjD,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CAC3BG,KAAO,eACPC,OAAQ,QACV,GACA+C,UAAW,UACT,MAAMhL,CAAAA,EAAAA,EAAAA,OAAAA,CAAOA,GACbiF,EAAAA,CAAWA,CAAC4H,cAAc,CAAC,CAAC,uBAAkBxN,EAAAA,KAAAA,EAAAA,EAAasB,EAAE,CAAC,CAAE,KAClE,CACF,EACF,CAHoDtB,CAGnD,eEbM,IAAMyN,EAAmB,CAACzB,EAAYjB,KAC3C,GAAM,CAAElL,KAAMC,CAAO,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,UAAAA,CAAUA,GAC9BC,EAAcF,OAAAA,EAAAA,KAAAA,EAAAA,EAASG,IAAAA,GAAQ,EAAjBH,GAEpB,MAAO0L,CAAAA,EAAAA,EAAAA,CAAAA,CAAWA,CAAC,CACjBC,WAAY,MAAOiC,IACjB,IAAMC,EAAgB,IAAItE,EAAAA,CAAcA,CAACqE,GAAgBlD,QAAQ,GAQ3D,QAAEa,CAAM,QAAExJ,CAAM,SAAEyJ,CAAO,CAAE,CANhB,MAAM9C,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CAChCG,KAAM,YAAuB,OAAXqD,EAAW,WAC7BpD,OAAQ,MACRC,KAAMC,KAAKC,SAAS,CAAC4E,EACvB,IAEgD,CAAC,EACjD,GAAe,GAAG,CAAdtC,EACF,OAAOxJ,CAGT,OAAM,MAAUyJ,EAClB,EACAK,UAAW,UAET,MAAM/F,EAAAA,CAAWA,CAACkG,cAAc,CAAC,CAC/BjF,SAAU,CAAC,uBAAkB7G,EAAAA,KAAAA,EAAAA,EAAasB,EAAE,CAAC,CAC7CoB,KAAM,IADuB1C,KAE7B+L,OAAO,CACT,GAEA,MAAMvD,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CACfG,KAAM,YAAyB,OAAboC,EAAa,eAC/BnC,OAAQ,KACV,EACF,CACF,EACF,EAAE,ECpC8B,CAACoD,EAAYjB,KAC3C,GAAM,CAAElL,KAAMC,CAAO,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,UAAAA,CAAUA,GAC9BC,EAAcF,OAAAA,EAAAA,KAAAA,EAAAA,EAASG,IAAAA,GAAQ,EAAjBH,GAEpB,MAAO0L,CAAAA,EAAAA,EAAAA,CAAAA,CAAWA,CAAC,CACjBC,WAAY,UAMV,GAAM,QAAEJ,CAAM,SAAEC,CAAO,CAAE,CALR,MAAM9C,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CAChCG,KAAM,YAAuB,OAAXqD,EAAW,WAC7BpD,OAAQ,QACV,IAEwC,CAAC,EACzC,GAAe,GAAG,CAAdyC,EAEF,MADAuC,WAAW,IACL,MAAUtC,EAEpB,EACAK,UAAW,UACT,MAAMnD,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CACfG,KAAM,YAAyB,OAAboC,EAAa,eAC/BnC,OAAQ,KACV,GAEA,MAAMhD,EAAAA,CAAWA,CAACkG,cAAc,CAAC,CAC/BjF,SAAU,CAAC,uBAAkB7G,EAAAA,KAAAA,EAAAA,EAAasB,EAAE,CAAC,CAC7CoB,KAAM,IADuB1C,KAE7B+L,OAAO,CACT,EACF,CACF,EACF,EAAC,EChCsChB,GACrCE,CAAAA,EAAAA,EAAAA,CAAAA,CAAQA,CAAC,CACPpE,SAAU,CAAC,mBAAoBkE,EAAa,CAC5CG,QAAS,CAAC,CAACH,EACXI,QAAS,IAAM3C,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CACxBG,KAAM,YAAyB,OAAboC,EAAa,eAC/BnC,OAAQ,KACV,GACAwC,OAAQ,IACN,GAAM,CAAEC,QAAM,QAAExJ,CAAM,SAAEyJ,CAAO,CAAE,CAAGzL,GAAQ,CAAC,EAC7C,GAAe,GAAG,CAAdwL,EACF,OAAOxJ,CAET,OAAM,MAAUyJ,EAClB,EACAuC,gBAAiB,IACnB,GAAG,ECb2B,KAC9B,GAAM,CAAEhO,KAAMC,CAAO,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,UAAAA,CAAUA,GAC9BC,EAAcF,OAAAA,EAAAA,KAAAA,EAAAA,EAASG,IAAAA,GAAQ,EAAjBH,GAEpB,MAAO0L,CAAAA,EAAAA,EAAAA,CAAAA,CAAWA,CAAC,CACjBC,WAAY,aAAO,SAAE/C,CAAO,YAAEkF,CAAU,cAAE7C,CAAY,CAAE,GACtD,GAAI,CAAC,EAAmBnJ,OAAOqI,IAAI,CAACvB,CAAd,CAAC,CAAsBoF,MAAM,CAAE,CACnDF,EAAW,IAEX,IAAMD,EAAgB,IAAItE,EAAAA,CAAcA,CAACX,GAAS8B,QAAQ,GAE1DoD,EAAW,IAQX,GAAM,QAAEvC,CAAM,CAAExJ,QAAM,SAAEyJ,CAAO,CAAE,CAAGtC,MANbR,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CAChCG,KAAO,kBACPC,OAAQ,OACRC,KAAMC,KAAKC,SAAS,CAAC4E,EACvB,IAEgD,CAAC,EACjD,GAAe,GAAG,CAAdtC,EAUF,OATAuC,EAAW,IAEX,MAAMpF,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CACfG,KAAM,YAAyB,OAAboC,EAAa,eAC/BnC,OAAQ,KACV,GAEAgF,EAAW,IAEJ/L,CAET,OAAUoK,MAAMX,EAClB,CACF,EACAK,UAAW,UACT,MAAM/F,EAAAA,CAAWA,CAACkG,cAAc,CAAC,CAC/BjF,SAAU,CAAC,uBAAkB7G,EAAAA,KAAAA,EAAAA,EAAasB,EAAE,CAAC,CAC7CoB,KAAM,IADuB1C,KAE7B+L,OAAO,CACT,EACF,CACF,EACF,EAAC,EC/CoC,IACnCP,CAAAA,EAAAA,EAAAA,CAAAA,CAAWA,CAAC,CACVC,WAAY,GAAYjD,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CACjCG,KAAM,wBAA+B,OAAPoF,GAC9BnF,OAAQ,KACV,EACF,GAAG,cEPL,IAAMoF,EAAAA,CAAuBpD,KAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAASqD,GAAAA,GAATrD,CAAAA,IAAAA,IAAAA,EAAAA,KAAAA,EAAAA,6GAAgD,CAEhEsD,EAAkB,IAC7BjD,CAAAA,EAAAA,EAAAA,CAAAA,CAAQA,CAAC,CACPpE,SAAU,CAAC,mBAAmB,CAC9BsE,QAAS,UACP,GAAM,YAAEgD,CAAU,CAAE,CAAG,MAAM,+BAA2B,CAGxD,OAFqB,MAAMA,EAAWH,EAGxC,EACA1H,UAAW,IACXF,CADgB,SACL,GACb,EADkB,CACf,EEX2B,IAC9B6E,CAAAA,EAAAA,EAAAA,CAAAA,CAAQA,CAAC,CACPpE,SAAU,CAAC,aAAa,CACxBgH,gBAAiB,EAAE,CACnB1C,QAAS,IAAM3C,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CACxBG,KAAO,cACPC,OAAQ,KACV,GACAwC,OAAQ,IACN,GAAM,CAAEC,QAAM,CAAExJ,QAAM,CAAEyJ,SAAO,CAAE,CAAGzL,GAAQ,CAAC,EAC7C,GAAIwL,GAAc,GAChB,OAAOxJ,CAET,OAAM,MAAUyJ,EAClB,CACF,GAAG,EEfuB,IAC1BL,CAAAA,EAAAA,EAAAA,CAAAA,CAAQA,CAAC,CACPpE,SAAU,CAAC,SAAS,CACpBsE,QAAS,IAAM3C,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CACxBG,KAAO,kBACPC,OAAQ,KACV,GACAwC,OAAQ,IACN,GAAM,QAAEC,CAAM,QAAExJ,CAAM,SAAEyJ,CAAO,CAAE,CAAGtC,GAAY,CAAC,EAEjD,GAAe,GAAG,CAAdqC,EACF,OAAOxJ,CAGT,OAAM,MAAUyJ,EAClB,EACAuC,gBAAiB,EACnB,GAAG,ECjB6B,IAChCrC,CAAAA,EAAAA,EAAAA,CAAAA,CAAWA,CAAC,CACVC,WAAY,MAAO/C,IAMjB,GAAM,QAAE2C,CAAM,QAAExJ,CAAM,CAAEyJ,SAAO,CAAE,CAAGtC,MALbR,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CAChCG,KAAO,iCACPC,OAAQ,OACRC,KAAMH,CACR,IACgD,CAAC,EAEjD,GAAe,GAAG,CAAd2C,EACF,OAAOxJ,CAGT,OAAUoK,MAAMX,EAClB,CACF,GAAG,EChB0B,IAC7BE,CAAAA,EAAAA,EAAAA,CAAAA,CAAWA,CAAC,CACVC,WAAY,MAAO/C,IAMjB,GAAM,QAAE2C,CAAM,QAAExJ,CAAM,SAAEyJ,CAAO,CAAE,CAAGtC,MALbR,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CAChCG,KAAO,uBACPC,OAAQ,OACRC,KAAMH,CACR,IACgD,CAAC,EAEjD,GAAe,GAAG,CAAd2C,EACF,OAAOxJ,CAGT,OAAM,MAAUyJ,EAClB,CACF,GAAG,EEhByB,IAC5BL,CAAAA,EAAAA,EAAAA,CAAAA,CAAQA,CAAC,CACPpE,SAAU,CAAC,WAAW,CACtBgH,gBAAiB,EAAE,CACnB1C,QAAS,IAAM3C,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CACxBG,KAAO,iBACPC,OAAQ,KACV,GACAwC,OAAQ,IACN,GAAM,QAAEC,CAAM,QAAExJ,CAAM,SAAEyJ,CAAO,CAAE,CAAGzL,GAAQ,CAAC,EAC7C,GAAe,GAAG,GAChB,OAAOgC,CAET,OAAM,MAAUyJ,EAClB,CACF,GAAG,ECd2B,IACvBE,CAAAA,EAAAA,EAAAA,CAAAA,CAAWA,CAAC,CACjBC,WAAY,aAAO,mBAAE2C,CAAiB,UAAEC,CAAQ,CAAE,GAU1C,CAAEhD,QAAM,SAAEC,CAAO,CAAE,CATR,MAAM9C,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CAChCG,KAAO,iBACPC,OAAQ,SACRC,KAAM,UACJwF,oBACAD,CACF,CACF,IAEwC,CAAC,EACzC,GAAe,GAAG,CAAd/C,EACF,MAAM,MAAUC,EAEpB,EACAK,UAAW,UACT,MAAM/F,EAAAA,CAAWA,CAACgG,iBAAiB,CAAC,CAAC,WAAW,CAClD,CACF,GErBW0C,EAAe,IAC1B9C,CAAAA,EAAAA,EAAAA,CAAAA,CAAWA,CAAC,CACVC,WAAY,aAAO,UAAE4C,CAAQ,WAAEE,CAAS,CAAE,GAQlC,QAAElD,CAAM,QAAExJ,CAAM,CAAE,CAPP,MAAM2G,CAAAA,EAAAA,EAAAA,CAAAA,CAAUA,CAAC,CAChCG,KAAM,IAAa,OAAT0F,EAAS,WACnBzF,OAAQ,OACRC,KAAM,WACJ0F,CACF,CACF,IACuC,CAAC,EACxC,GAAe,GAAG,CAAdlD,EACF,OAAOxJ,CAET,OAAM,MAAU,GAAU,OAAPwJ,GACrB,CACF,GAAG,kEGpBE,IAAMmD,EAAa,CACxBC,SAAU,SACVC,QAAS,OACTC,YAAa,WACf,EAAE,EAE2B,CAACjM,EAAMhD,EAAMkP,EAAY/M,KACpD,GAAM,UAAE4M,CAAQ,CAAEC,SAAO,aAAEC,CAAW,CAAE,CAAGH,EAC3C,OAAQ9L,GACN,KAAK+L,EACH,OAAO/O,EAAK2B,aAAa,CAAC,CAAEC,GAAI,GAAc,OAAXsN,EAAW,gBAAe,EAAG/M,EAClE,MAAK6M,EACH,OAAOhP,EAAK2B,aAAa,CAAC,CAAEC,GAAI,GAAc,OAAXsN,EAAW,cAAa,EAAG/M,EAChE,MAAK8M,EACH,OAAOjP,EAAK2B,aAAa,CAAC,CAAEC,GAAI,GAAc,OAAXsN,EAAW,mBAAkB,EAAG/M,EACrE,SACE,OAAOnC,EAAK2B,aAAa,CAAC,CAAEC,GAAI,GAAc,OAAXsN,EAAW,gBAAe,EAAG/M,EACpE,CACF,EAAE,EAE2B,CAACa,EAAMhD,EAAMkP,KACxC,GAAM,CAAEH,UAAQ,SAAEC,CAAO,aAAEC,CAAW,CAAE,CAAGH,EAC3C,OAAQ9L,GACN,KAAK+L,EACH,OAAO/O,EAAK2B,aAAa,CAAC,CAAEC,GAAI,GAAc,OAAXsN,EAAW,eAAc,EAC9D,MAAKF,EACH,OAAOhP,EAAK2B,aAAa,CAAC,CAAEC,GAAI,GAAc,OAAXsN,EAAW,eAAc,EAC9D,MAAKD,EACH,OAAOjP,EAAK2B,aAAa,CAAC,CAAEC,GAAI,GAAc,OAAXsN,EAAW,kBAAiB,EACjE,SACE,OAAOlP,EAAK2B,aAAa,CAAC,CAAEC,GAAI,GAAc,OAAXsN,EAAW,eAAc,EAChE,CACF,EAAE,qKChCK,IAAMC,EAAmC,CAACC,EAAKpP,KACpD,GAAM,OAAEgH,CAAK,MAAEqI,CAAI,CAAE,CAAGD,GAAO,CAAC,EAGhC,OAFkBpI,GAASqI,GAGzB,IAAK,eACL,IAAK,4BAEH,OAAOrP,EAAK2B,aAAa,CAAC,CAAEC,GAAI,6BAA8B,EAChE,KAAK,gBAEH,OAAO5B,EAAK2B,aAAa,CAAC,CAAEC,GAAI,8BAA+B,EACjE,KAAK,sBAEH,OAAO5B,EAAK2B,aAAa,CAAC,CAAEC,GAAI,oCAAqC,EACvE,KAAK,yBACH,OAAO5B,EAAK2B,aAAa,CAAC,CAAEC,GAAI,kCAAmC,EACrE,KAAK,gDAEH,OAAO5B,EAAK2B,aAAa,CAAC,CAAEC,GAAI,8DAA+D,EACjG,KAAK,iBAEH,OAAO5B,EAAK2B,aAAa,CAAC,CAAEC,GAAI,+BAAgC,EAClE,SAEE,MAAO,GAA0D,OAAvD5B,EAAK2B,aAAa,CAAC,CAAEC,GAAI,wBAAyB,IAAkC,OAA3BoF,CAAD,CAAS,MAAY,OAANA,GAAU,GAC/F,CACF,EAAE,gDCrBK,IAAMsI,EAAU,2DAA2D,EAE9D,IAEX,IAAI9E,EAAM,CAAG+E,GAAH,CAAO,CAAC,GAAGnN,GAAG,CADjB,IAAMoN,KAAKC,MAAM,GAAGC,QAAQ,CAAC,IAAIC,OAAO,CAAC,KAAM,KACtBC,IAAI,CAAC,KAGjCC,EAAoB,IACZ,KAA0C,OAArC,CAAC,CAAC,IAAIC,IAAAA,CAAK,CAAGJ,QAAQ,CAAC,IAAIK,KAAK,CAAC,CAAC,IAoB/CC,EAAa,GACL,OACjB,sBAAsB,yBAAyB,0HAO/C,IAAI,CAGYC,IAAI,CAACC,GAGZC,EAAkB,QANJ,OAMKC,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAS,CAAC,EAAGC,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAS,CAAC,EAAGrN,EAAAA,UAAAA,MAAAA,CAAAA,EAAAA,SAAAA,CAAAA,EAAAA,CAAAA,KAAAA,EAClD,aAAEiM,CAAW,CAAE,CAAGH,EAAAA,EAAUA,CAC5BwB,EAAe,CAAC,EAChBC,EAAc,CAAC,EAUrB,GARI,QAASH,GACXG,GAAY,EADO,CACD,CAAGH,EAAO,EAAjB,CAAuB,CAAP,CAAW,MAGpC,aAAcC,IAChBE,EAAY,EADY,MACD,CAAZ,EAAsB,IAAD,IAAY,EAAI,MAG9CvN,IAASiM,EACX,OAAOoB,EAIT,EAL0B,EAKrB,IAAMG,KAAQH,EAAQ,CACzB,IAAMI,EAAWC,CAAAA,EAAAA,EAAAA,CAAAA,CAAOA,CAACN,CAAM,CAACI,EAAK,CAAEH,CAAM,CAACG,EAAK,EAE9CJ,EAAOO,cAAc,CAACH,IAAUC,GACnCH,EADkC,CACrBE,EAAK,CAAGH,CAAM,CAACG,EAAAA,CAEhC,CAEA,MAAQ,CACN,GAAGD,CAAW,CACd,GAAGD,CAAY,CAEnB,EAAE,EAc2B,MAAOM,IAClC,IAAMtH,EAAW,MAAMC,MAAMqH,UAC7B,EAAaC,EAAE,CACA,CADE,KACIvH,EAASwH,IAAI,GAI3B,IACT,EAAE,EAE0B,KACS,CAEjC,IAAIC,EAAoBC,eAAeC,OAAO,CAAC,QAC1CF,IACHA,EAAoB1P,IACpB2P,IAD4B,KADN,MAEPE,OAAO,CAAC,EAD0B,KAClBH,IAIjC,IAAMI,EAAa,UACfC,EAAchI,KAAKiI,KAAK,CAACL,eAAeC,OAAO,CAACE,KAAgB,CAAC,EAE/DG,EAAMxB,KAAKwB,GAAG,GAgBpB,MAbI,CAACF,EAAYG,SAAS,EAAID,EAAMF,EAAYI,YAAY,CAFpC,EAEuCC,GAFlC,EAIb,CACZF,EAL8B,MAAM,EAKzB,CAHiE,EAGzCD,MAAAA,CAArBP,CALmC,CAKjB,KAAO,OAAJO,GACnCE,aAAcF,CAChB,EAIAF,EAAYI,YAAY,CAAGF,EAC3BN,eAAeE,OAAO,CAACC,EAAY/H,KAAKC,SAAS,CAAC+H,IAG7C,CAAEM,SAAUX,EAAmBQ,UAAWH,EAAYG,SAAS,CACxE,CAEF,EAAE,EA6FqB,IAErB,IAAMI,EAAY,IAAI7B,KAAK8B,GAY3B,MAHmBC,CAHQP,IAHXxB,KAGiB6B,CAAAA,EAGQ,KAI3C,EAJkD,CAAP,IAAY,KAAK,EAAC,cC1N7DG,CAAAA,EAAAA,EAAAA,EAAAA,CAAaA,CAACC,CAVZC,OAAQ,0CACRC,WAAY,uBACZC,YAAa,mDACbC,UAAW,eACXC,cAAe,2BACfC,kBAAmB,eACnBC,MAAO,4CACPC,cAAe,cACjB,GA0CO,IAAMC,EAAmB,MAAOC,EAAiBC,KACtD,GAAIA,EACF,GAAI,CADI,IAEAC,EAAUC,CAAAA,EAAAA,EAAAA,EAAAA,CAAUA,GAGpBC,EAAcJ,EAAmB,EAAEK,OAAOL,GAAiB9N,IAA1B,IAAkC,CAAC,SAAY,OAAK,CACrFoO,EAAanN,CAAAA,EAAAA,EAAAA,EAAAA,CAAGA,CAAC+M,EAASE,GAG1BG,EAAW,MAAMC,CAAAA,EAAAA,EAAAA,CAAAA,CAAWA,CAACF,EAAYL,EAAM,YAC/CQ,EAAiB,IAAIpD,OAAOqD,OAAO,GAAK,KAAK,CAgBnD,IAhBwD,GAYxD,EAZ6D,IAYvDC,CAAAA,CAZ8D,CAY9DA,EAAAA,EAAAA,CAAcA,CAACL,EATD,CAClBM,SAQ+BC,EAZwD,EAIzE,qBACdC,YAAa,YACbC,eAAgB,CACd,eAAkBN,CACpB,CACF,GAKiB,MAAMO,CAAAA,EAAAA,EAAAA,EAAAA,CAAcA,CAACT,EAASpN,GAAG,CAGpD,CAAE,MAAOoB,EAAO,CACd,MAAMA,CACR,CAEJ,EAEa0M,EAAoB,GACxB,IAAIC,QAAQ,CAACC,EAASC,KAC3B,IAAMC,EAAS,IAAIC,WACnBD,EAAOE,aAAa,CAACtB,GACrBoB,EAAOG,MAAM,CAAG,IAAML,EAAQE,EAAOI,MAAM,EAC3CJ,EAAOK,OAAO,CAAG,GAAWN,EAAO7M,EACrC,GCrGK,SAASoN,EAAoBC,CAAU,CAAEC,CAAmB,EACjE,GAAKD,CAAD,EAIJ,IAAIvH,EAAIyH,GAJS,MAIAF,EAAWG,SAAS,CAAC,EAAG,GAAI,IACzCC,EAAIF,SAASF,EAAWG,SAAS,CAAC,EAAG,GAAI,IACzCE,EAAIH,SAASF,EAAWG,SAAS,CAAC,EAAG,GAAI,IAMzCG,EAAaC,CAHA,KAAQ9H,EAAI,KAAQ2H,EAAI,MAAQC,CAAAA,CAAK,IAGzB,GAAM,CAACJ,EAAsBA,EAU1D,MAFiB,CAEVO,GAFgB,CAAC,KAAM,EAAC,CARgD,GAQ1CC,KALnBC,KAAK,CAACvF,KAAKwF,GAAG,CAACxF,KAAKyF,GAAG,CAACnI,EAAiB,IAAb6H,EAAkB,GAAI,OAKrB,CARmF,CAQnF,CAAC,CAAMO,CAJzC1F,EAIyC0F,GAJpCH,KAAK,CAACvF,KAAKwF,GAAG,CAACxF,KAAKyF,GAAG,CAACR,EAAiB,IAAbE,EAAkB,GAAI,QAIJ,EAHnDnF,GAGwD2F,EAHnDJ,KAAK,CAACvF,KAAKwF,GAAG,CAACxF,KAAKyF,GAAG,CAACP,EAAiB,IAAbC,EAAkB,GAAI,KAGCQ,CAAK,CAAGzF,QAAQ,CAAC,IAAIK,KAAK,CAAC,GAGlG,2BErBAqF,EAAAA,MAAY,CAACC,GAEN,IAAMC,EAAsB,CAFZD,GAGrB,IAAME,EAAU,CAAC,EAEjB,GAAI,CAACpV,EACH,IADS,GACF,KAGT,IAAK,IAAMqV,KAAQrV,EAAM,CACvB,IAAMsV,EAAOL,EAAMI,EAAKE,KAANN,KAAgB,EAAEK,IAAI,GAClCE,CADsC,CAC/B,IAAI7F,KAAK0F,EAAKE,UAAU,EAAEE,EAD+B,SACpB,GAC5CxU,EAAM,GAAWqU,MAAAA,CAARE,EAAK,KAAQ,OAALF,GAoBvB,GAlBKF,CAAO,CAACnU,EAAI,EAAE,CACjBmU,CAAO,CAACnU,EAAI,CAAG,CACbyU,aAAc,EACdC,gBAAiB,IAAIC,IACrBC,QAAS,EAAE,CACXC,eAAgB,CAAC,EACnB,EAIFV,CAAO,CAACnU,EAAI,CAACyU,YAAY,EAAIL,EAAKU,WAAW,EAAI,EAG7CV,EAAKnU,IAAI,EAAE,CACN,CAACD,EAAI,CAAC0U,eAAe,CAACK,GAAG,CAACX,EAAKnU,IAAI,EAIxCmU,EAAKS,cAAc,CAAE,KAEKT,EAD5B,IAAMY,EAAgBb,CAAO,CAACnU,EAAI,CAAC6U,cAAc,CAC3CI,EAAAA,QAAsBb,EAAAA,EAAKS,cAAAA,GAALT,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAqBnH,MAAM,CACnDiI,EAAY,EACZD,KAAwBD,GAAiB,EAAC,IAAG,EACnCA,CAAa,CAACC,EAAAA,EAE5BD,CAAa,CAACC,EAAoB,CAAGC,EAAY,EACjDf,CAAO,CAACnU,EAAI,CAAC6U,cAAc,CAAGG,CAChC,CAIA,IAAK,IAAMG,IADKf,MACKQ,CADLR,EAAAA,KAAAA,EAAAA,EAAMQ,MAANR,CAAMQ,GAAW,EAAE,CACL,CAC5B,IAAMQ,EAAY,UAAGD,EAAO3T,IAAI,CAAC,mBAAI2T,EAAAA,KAAAA,EAAAA,EAAQE,KAAK,CAAC,EAAdF,GAA8B,OAAbA,QAAAA,KAAAA,EAAAA,EAAQvT,EAARuT,EAAY,CAAC,KAC9DhB,CAAO,CAACnU,EAAI,CAAC4U,OAAO,CAACQ,EAAU,EAAE,CACpCjB,CAAO,CAACnU,EAAI,CAAC4U,OAAO,CAACQ,EAAU,CAAG,GAEpCjB,CAAO,CAACnU,EAAI,CAAC4U,OAAO,CAACQ,EAAU,EAAI,CACrC,CACF,CAF0C,IAKpCE,EAAexU,OAAOyU,GAL8B,IAKvB,CAACpB,GAASnT,GAAG,CAAC,OAAC,CAAChB,EAAKwV,EAAM,SAAM,CAClEnB,KAAMrU,EAAIsM,KAAK,CAAC,IAAI,CAAC,EAAE,CACvBiI,KAAMvU,EAAIsM,KAAK,CAAC,IAAI,CAAC,EAAE,CACvBmI,aAAce,EAAMf,YAAY,CAChCC,gBAAiBc,EAAMd,eAAe,CAAC/V,IAAI,CAC3CkW,cAAc,CAAEW,QAAAA,KAAAA,EAAAA,EAAOX,CAAPW,aAAqB,CACrCZ,OAAO,OAAEY,EAAAA,KAAAA,EAAAA,EAAOZ,OAAPY,IAgBX,OAZAF,EAAaG,OAAO,CAAC,CAAC3C,EAAQ4C,KAC5B5C,EAAO6C,MAAM,CAAGD,EAAQ,EAAI5C,EAAO4B,eAAe,CAAGY,CAAY,CAACI,EAAQ,EAAE,CAAChB,eAAe,CAAG,CACjG,GAGe,CACbA,gBAAiBY,EAAa5M,MAAM,CAAC,CAACkN,EAAKC,IAAQD,EAAMC,EAAInB,eAAe,CAAE,GAC9ED,aAAca,EAAa5M,MAAM,CAAC,CAACkN,EAAKC,IAAQD,EAAMC,EAAIpB,YAAY,CAAE,GACxEkB,OAAQL,EAAa5M,MAAM,CAAC,CAACkN,EAAKC,IAAQD,EAAMC,EAAIF,MAAM,CAAE,GAC5D5W,KAAMuW,CACR,CAGF,EAAC,SEjFQQ,EAASC,CAAG,MAKfC,EAOJ,MAAO,CACJA,CANDA,EADiB,GAAG,CAAlBD,CAJJA,EAAMA,EAAIxH,OAAO,CAAC,KAAM,KAIhBvB,MAAM,CACHmG,SAAS4C,EAAIzJ,KAAK,CAAC,IAAItL,GAAG,CAAC4H,GAAKA,EAAIA,GAAG4F,IAAI,CAAC,IAAK,IAEjD2E,SAAS4C,EAAK,MAIZ,GAAM,IAChBC,GAAU,EAAK,IACP,IAATA,EACD,CAGH,IAJiC,KAIxBC,EAAavK,CAAC,CAAE2H,CAAC,CAAEC,CAAC,EAE3B,IAAM4C,EAAI,CAACxK,EAAG2H,EAAGC,EAAE,CAACtS,GAAG,CAACmV,GAEfA,CADPA,GAAK,MAAK,OACYA,EAAI,MAAQ/H,KAAKgI,GAAG,CAAC,CAACD,EAAI,CADV,GACU,CAAI,CAAK,MAAO,MAElE,OAAO,MAASD,CAAC,CAAC,EAAE,CAAG,MAASA,CAAC,CAAC,EAAE,CAAG,MAASA,CAAC,CAAC,EAAE,CAG/C,SAASG,EAAiBC,CAAI,CAAEC,CAAI,EAEzC,IAAMC,EAAOV,EAASQ,GAChBG,EAAOX,EAASS,GAGhBG,EAAaT,EAAaO,CAAI,CAAC,EAAE,CAAEA,CAAI,CAAC,EAAE,CAAEA,CAAI,CAAC,EAAE,EACnDG,EAAaV,EAAaQ,CAAI,CAAC,EAAE,CAAEA,CAAI,CAAC,EAAE,CAAEA,CAAI,CAAC,EAAE,EAMzD,MAAO,CAHIrI,KAAKyF,GAAG,CAAC6C,EAAYC,GAGnB,IAAG,EAFLvI,EAEWwI,GAFNhD,GAAG,CAAC8C,EAAYC,GAEL,IAAG,AAChC","sources":["webpack://_N_E/./src/components/AccountIcon/index.jsx","webpack://_N_E/./src/components/AvatarFromName/index.jsx","webpack://_N_E/./src/components/Avatar/index.jsx","webpack://_N_E/./src/providers/ReactQuery.jsx","webpack://_N_E/./src/styles/Avatar.module.scss?7a97","webpack://_N_E/./src/assets/images/logo/logo_full_white.png","webpack://_N_E/./src/constants/general.js","webpack://_N_E/./src/constants/pages.js","webpack://_N_E/./src/helpers/Api.js","webpack://_N_E/./src/constants/profile.js","webpack://_N_E/./src/helpers/Profile.js","webpack://_N_E/./src/queries/events/useGetEventsByProfile.js","webpack://_N_E/./src/queries/events/useDeleteEvent.js","webpack://_N_E/./src/queries/events/useUpdateEvent.js","webpack://_N_E/./src/queries/events/useCreateEvent.js","webpack://_N_E/./src/queries/events/index.js","webpack://_N_E/./src/queries/content/useGetContentByProfile.js","webpack://_N_E/./src/queries/content/useDeleteContent.js","webpack://_N_E/./src/queries/content/useUpdateContent.js","webpack://_N_E/./src/queries/content/useCreateContent.js","webpack://_N_E/./src/queries/content/index.js","webpack://_N_E/./src/queries/user/useUpdateUserData.js","webpack://_N_E/./src/helpers/UserLocation.js","webpack://_N_E/./src/queries/user/useGetUserData.js","webpack://_N_E/./src/queries/user/useDeleteUser.js","webpack://_N_E/./src/queries/user/index.js","webpack://_N_E/./src/queries/profile/useUpdateProfile.js","webpack://_N_E/./src/queries/profile/useDeleteProfile.js","webpack://_N_E/./src/queries/profile/useGetProfileStatistic.js","webpack://_N_E/./src/queries/profile/useCreateProfile.js","webpack://_N_E/./src/queries/profile/useCheckProfileDomain.js","webpack://_N_E/./src/queries/profile/index.js","webpack://_N_E/./src/queries/general/useStripeScript.js","webpack://_N_E/./src/queries/general/index.js","webpack://_N_E/./src/queries/categories/useGetCategories.js","webpack://_N_E/./src/queries/categories/index.js","webpack://_N_E/./src/queries/billing/useGetPrices.js","webpack://_N_E/./src/queries/billing/useGetClientSecret.js","webpack://_N_E/./src/queries/billing/useGetPortalUrl.js","webpack://_N_E/./src/queries/billing/index.js","webpack://_N_E/./src/queries/accounts/useGetAccounts.js","webpack://_N_E/./src/queries/accounts/useDeleteAccount.js","webpack://_N_E/./src/queries/accounts/index.js","webpack://_N_E/./src/queries/videos/useGetVideos.js","webpack://_N_E/./src/queries/videos/index.js","webpack://_N_E/./src/queries/index.js","webpack://_N_E/./src/utils/Modal.js","webpack://_N_E/./src/utils/AuthErrors.js","webpack://_N_E/./src/utils/General.js","webpack://_N_E/./src/utils/Upload.js","webpack://_N_E/./src/utils/CustomDomain.js","webpack://_N_E/./src/utils/StoreAdmin.js","webpack://_N_E/./src/utils/Statistics.js","webpack://_N_E/./src/utils/Calendar.js","webpack://_N_E/./src/utils/Colors.js","webpack://_N_E/./src/utils/index.js"],"sourcesContent":["\"use client\";\n\nimport React, { useMemo, useState } from \"react\";\nimport { Dropdown } from \"antd\";\nimport { LoadingOutlined } from \"@ant-design/icons\";\nimport { FaHouse, FaPlus, FaPowerOff, FaGear } from \"react-icons/fa6\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport { useSession, signOut } from \"next-auth/react\";\nimport Link from \"next/link\";\n\nimport { useGetUserData } from \"@/queries\";\nimport { uuid } from \"@/utils\";\nimport Avatar from \"@/components/Avatar\";\nimport PAGES from \"@/constants/pages\";\n\nconst AccountIcon = ({ size }) => {\n const intl = useIntl();\n const { data: session } = useSession();\n const currentUser = session?.user || null;\n\n const { data: userData, isFetching, isLoading } = useGetUserData();\n const { profiles } = userData || {};\n\n const [logouting, setLogouting] = useState(null);\n\n const handleLogout = async () => {\n setLogouting(true);\n await signOut();\n };\n\n const accountOptions = useMemo(() => {\n if (isFetching || isLoading) {\n return [{\n key: uuid(),\n style: {\n minWidth: 100,\n color: \"#000000\",\n },\n loading: \"true\",\n label: intl.formatMessage({ id: \"account-icon-loading\" }),\n itemIcon: ,\n disabled: true,\n }];\n }\n\n return Object.values(profiles || {}).map((profile) => ({\n key: uuid(),\n label: (\n \n {profile.name}\n \n ),\n icon: ,\n }));\n }, [intl, isFetching, isLoading, profiles]);\n\n const AllAccountOptions = useMemo(() => [{\n key: uuid(),\n type: \"group\",\n label: intl.formatMessage({ id: \"account-icon-profile-header\" }),\n children: [\n ...accountOptions,\n {\n key: uuid(),\n label: (\n \n \n \n ),\n icon: ,\n },\n ],\n }, {\n type: \"divider\",\n }, {\n key: uuid(),\n type: \"group\",\n label: intl.formatMessage({ id: \"account-icon-account-header\" }),\n children: [\n {\n key: uuid(),\n label: (\n \n \n \n ),\n icon: ,\n },\n {\n key: uuid(),\n onClick: handleLogout,\n label: intl.formatMessage({ id: \"account-icon-logout-option\" }),\n icon: !!logouting ? (\n \n ) : (\n \n )\n },\n ],\n }], [accountOptions, intl, logouting]);\n\n return (\n !!currentUser && (\n \n \n \n )\n );\n};\n\nexport default AccountIcon;\n","import React from \"react\";\nimport stringToColor from \"string-to-color\";\n\nconst AvatarFromName = ({ name, size }) => {\n let initials = \"\";\n\n if (name?.includes(\" \")) {\n const [first, second] = name?.split(\" \");\n initials = (first[0] + second[0]).toUpperCase();\n } else if (name) {\n initials = `${name[0] + name[1]}`.toUpperCase();\n }\n\n const bgColor = stringToColor(name);\n\n const avatarStyle = {\n backgroundColor: bgColor,\n color: \"#fff\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: size,\n height: size,\n borderRadius: \"50%\",\n fontSize: size / 2.5,\n fontWeight: \"bold\",\n textTransform: \"uppercase\",\n };\n\n return
{initials}
;\n};\n\nexport default AvatarFromName;\n","/* eslint-disable @next/next/no-img-element */\nimport React, { forwardRef } from \"react\";\n\nimport AvatarFromName from \"@/components/AvatarFromName\";\n\nimport Styles from \"@/styles/Avatar.module.scss\";\n\nconst Avatar = forwardRef(({ size, src, name, alt, ...others }, ref) => (src ? (\n \n) : (\n \n)));\n\nAvatar.displayName = \"Avatar\";\n\nexport default Avatar;\n","\"use client\";\n\nimport { QueryClient, QueryClientProvider, QueryCache } from \"@tanstack/react-query\";\n\nconst queryConfig = {\n queries: {\n refetchOnMount: false,\n refetchOnReconnect: false,\n refetchOnWindowFocus: false,\n retry: false,\n staleTime: Infinity,\n cacheTime: 1000 * 60 * 60 * 24, // 24 hours\n }\n};\n\nexport const queryClient = new QueryClient({\n defaultOptions: queryConfig,\n queryCache: new QueryCache({\n onError: (error, query) => {\n console.error(error, `Error React Query request. Query key: ${query.queryKey}`);\n },\n })\n});\n\nexport const ReactQuery = ({ children }) => (\n {children}\n);","// extracted by mini-css-extract-plugin\nmodule.exports = {\"avatarBg\":\"Avatar_avatarBg__iwN3F\"};","export default {\"src\":\"/_next/static/media/logo_full_white.510ca75e.png\",\"height\":25,\"width\":119,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAACCAMAAABSSm3fAAAAGFBMVEX///////////////7////+/v7///////+JGwYkAAAACHRSTlMqs6GYI3d1XVlRCWcAAAAJcEhZcwAALiMAAC4jAXilP3YAAAAaSURBVHicY2BjYGFgYGVnYWBkZGJiZmJmBAABowAqeRZpiwAAAABJRU5ErkJggg==\",\"blurWidth\":8,\"blurHeight\":2};","export const googleMapsURL = \"https://www.google.com/maps/search/?api=1&query=\";\n\nexport const measurementID = 'G-LVC4CBVBKM';\nexport const trackingID = 'AW-16662852817';\nexport const clarityId = 'nmuovpuslj';\n\nexport const dynamicManifest = {\n name: ``,\n short_name: ``,\n start_url: `/`,\n display: \"standalone\",\n background_color: \"#ffffff\",\n theme_color: \"#ff5722\",\n icons: [\n {\n src: \"/img/ios/192.png\",\n sizes: \"192x192\",\n type: \"image/png\",\n },\n {\n src: \"/img/ios/512.png\",\n sizes: \"512x512\",\n type: \"image/png\",\n },\n ],\n};\n\nexport const socialMediaDomains = [\n \"facebook.com\",\n \"instagram.com\",\n \"twitter.com\",\n \"linkedin.com\",\n \"tiktok.com\",\n \"pinterest.com\",\n \"snapchat.com\",\n \"reddit.com\",\n \"youtube.com\",\n \"tumblr.com\",\n \"weibo.com\",\n \"vk.com\",\n \"ok.ru\",\n \"xing.com\",\n \"mix.com\",\n \"gab.com\",\n \"mastodon.social\",\n \"flickr.com\",\n \"deviantart.com\",\n \"imgur.com\",\n \"medium.com\",\n \"quora.com\",\n \"vimeo.com\",\n \"dailymotion.com\",\n \"twitch.tv\",\n \"bilibili.com\",\n \"discord.com\",\n \"slack.com\",\n \"whatsapp.com\",\n \"telegram.org\",\n \"signal.org\",\n \"clubhouse.com\",\n \"caffeine.tv\",\n \"beacons.ai\",\n \"substack.com\",\n \"onlyfans.com\"\n];\n\nexport const searchEngineDomains = [\"google.com\", \"bing.com\", \"yahoo.com\"];\n\nexport const confirmEmailTemplateId = \"d-f0565683dafb493486781446ae3c7873\";\n\nexport const modules = {\n CONTENT_LINKS: \"module-order-content-links\",\n CONTENT: 'module-order-content',\n MULTISTREAM: 'module-order-multistream',\n EVENTS: 'module-order-events'\n}\n\nexport const TabSchema = {\n header: \"header\",\n theme: \"theme\",\n modules: {\n content: \"content\",\n links: \"links\",\n events: \"events\",\n multistream: \"multistream\"\n },\n dashboard: \"dashboard\",\n settings: \"settings\",\n}","const PAGES = {\n home: \"/\",\n login: \"/auth/signin\",\n signup: \"/signup\",\n signupSuccess: \"/signup/success\",\n resetPassword: \"/reset-password\",\n createProfile: \"/create-profile\",\n admin: \"/admin\",\n profileAdmin: \"/admin/profile\",\n privacyPolicy: \"/privacy-policy\",\n termsOfService: \"/terms-of-service\",\n support: \"/support/home\",\n};\n\nexport default PAGES;\n","export const ApiRequest = async (options) => {\n const { path, method, body } = options;\n\n let payload;\n\n if (!path || !method) {\n return null\n }\n\n if (body && typeof body === \"object\") {\n payload = JSON.stringify(body);\n } else {\n payload = body;\n }\n\n const response = await fetch(`/api${path}`, {\n method,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: payload\n });\n\n const data = await response.json();\n\n return data;\n}","import { uuid } from \"@/utils\";\n\nexport const PROFILE_FIELDS = [\n \"_id\",\n \"user_id\",\n \"custom_domain\",\n \"name\",\n \"slogan\",\n \"links\",\n \"description\",\n \"address\",\n \"created_at\",\n \"updated_at\",\n \"categories\",\n \"keywords\",\n \"open_time\",\n \"share_id\",\n \"published\",\n \"streams\",\n \"profile_config\"\n];\n\nexport const allowedOrigins = [\"downfor.life\"];\n\nexport const IMAGE_ALLOWED_KEYS = [\"name\", \"uid\", \"url\"];\n\nexport const ProfilePayload = {\n custom_domain: null,\n name: null,\n slogan: \"Insert here the slogan of your business\",\n description: \"Insert here the description of your business\",\n links: [],\n address: null,\n created_at: new Date(),\n updated_at: new Date(),\n categories: [],\n published: true,\n streams: {},\n images: {\n header: [\n {\n name: null,\n uid: uuid(),\n url: \"https://firebasestorage.googleapis.com/v0/b/downfor-life.appspot.com/o/pictures%2Fimage_0.png?alt=media&token=74717c6b-c65e-4463-993a-05f96d461dcf\",\n },\n {\n name: null,\n uid: uuid(),\n url: \"https://firebasestorage.googleapis.com/v0/b/downfor-life.appspot.com/o/pictures%2Fimage_1.png?alt=media&token=b3d31244-e27c-4332-ace8-7236d9268f16\",\n },\n {\n name: null,\n uid: uuid(),\n url: \"https://firebasestorage.googleapis.com/v0/b/downfor-life.appspot.com/o/pictures%2Fimage_2.png?alt=media&token=3c7f9ead-b027-49f1-8c4e-e0f62a5cc798\",\n },\n {\n name: null,\n uid: uuid(),\n url: \"https://firebasestorage.googleapis.com/v0/b/downfor-life.appspot.com/o/pictures%2Fimage_3.png?alt=media&token=c003a0d7-afb8-4731-82a8-d1150e5a1e33\",\n },\n {\n name: null,\n uid: uuid(),\n url: \"https://firebasestorage.googleapis.com/v0/b/downfor-life.appspot.com/o/pictures%2Fimage_4.png?alt=media&token=29ae5831-09b1-4e39-894f-fdbdef1a7f1b\",\n },\n ],\n },\n profile_config: {\n display_name_type: \"logo\",\n theme: \"dark\",\n font_color: \"#FFFFFF\",\n background_color: \"#000000\",\n }\n};","import { uuid } from \"@/utils\";\nimport { PROFILE_FIELDS, IMAGE_ALLOWED_KEYS } from \"@/constants/profile\";\n\nclass DownforProfile {\n static profileData = {};\n static buildImageObj(img) {\n return IMAGE_ALLOWED_KEYS.reduce((f, c) => {\n f[c] = (img[c] || null)\n return f;\n }, {});\n }\n\n constructor(args = {}) {\n this.profileData = { ...args };\n this.touchedFields = Object.keys(this.profileData);\n\n for (const key of Object.keys(this.profileData)) {\n if (PROFILE_FIELDS.includes(key)) {\n this[key] = (this.profileData[key] || null);\n }\n }\n }\n\n get images() {\n const profileImages = this.profileData[\"images\"];\n const finalImagesObj = {\n header: [],\n logo: null\n };\n\n for (const currentProp of Object.keys(profileImages)) {\n if (Array.isArray(profileImages[currentProp])) {\n for (const img of profileImages[currentProp]) {\n if (typeof img === \"string\") {\n finalImagesObj[currentProp].push({\n name: null,\n uid: uuid(),\n url: img\n });\n } else if (typeof img === \"object\") {\n const { xhr, url } = img;\n if (!!url) {\n finalImagesObj[currentProp].push(DownforProfile.buildImageObj(img));\n } else if (!!xhr && \"url\" in xhr) {\n finalImagesObj[currentProp].push(DownforProfile.buildImageObj(xhr));\n }\n }\n }\n } else {\n if (!!profileImages[currentProp] && typeof profileImages[currentProp] === \"object\") {\n const { xhr, url } = profileImages[currentProp];\n if (!!url) {\n finalImagesObj[currentProp] = url;\n } else if (!!xhr && \"url\" in xhr) {\n finalImagesObj[currentProp] = xhr?.url;\n }\n } else {\n finalImagesObj[currentProp] = profileImages[currentProp];\n }\n }\n }\n\n return finalImagesObj;\n }\n\n toObject() {\n return this.touchedFields.reduce((f, c) => {\n f[c] = (this[c] || null);\n return f;\n }, {})\n }\n}\n\nexport default DownforProfile;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useGetEventsByProfile = (profileId, customDomain, onlyValid) =>\n useQuery({\n // eslint-disable-next-line @tanstack/query/exhaustive-deps\n queryKey: [\"allEventsByProfile\", customDomain],\n enabled: !!profileId,\n queryFn: () => ApiRequest({\n path: `/profile/${profileId}/events${onlyValid ? \"?onlyValid=true\" : \"\"}`,\n method: \"GET\",\n }),\n select: (data) => {\n const { status, values, message } = data || {};\n\n if (status === 1) {\n return values;\n }\n\n throw new Error(message);\n },\n cacheTime: 60 * 1000 * 20,\n });\n\nexport default useGetEventsByProfile;\n","import { useMutation } from \"@tanstack/react-query\";\nimport { queryClient } from \"@/providers/ReactQuery\";\n\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useDeleteEvent = (customDomain) => {\n return useMutation({\n mutationFn: async (eventId) => {\n const response = await ApiRequest({\n path: `/event/${eventId}/delete`,\n method: \"DELETE\"\n });\n\n const { status, message } = response || {};\n if (status !== 1) {\n throw new Error(message);\n }\n },\n onSuccess: async () => {\n await ApiRequest({\n path: `/profile/${customDomain}/revalidate`,\n method: \"GET\"\n });\n\n await queryClient.invalidateQueries([\"allEventsByProfile\", customDomain])\n }\n });\n}\n\nexport default useDeleteEvent;\n","import { useMutation } from \"@tanstack/react-query\";\nimport { queryClient } from \"@/providers/ReactQuery\";\n\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useUpdateEvent = (eventId, customDomain) =>\n useMutation({\n mutationFn: (payload) => ApiRequest({\n path: `/event/${eventId}/update`,\n method: \"PUT\",\n body: JSON.stringify(payload)\n }),\n onSuccess: async () => {\n await queryClient.refetchQueries({\n queryKey: [\"allEventsByProfile\", customDomain],\n type: \"active\",\n exact: true,\n });\n\n await ApiRequest({\n path: `/profile/${customDomain}/revalidate`,\n method: \"GET\"\n });\n }\n });\n\nexport default useUpdateEvent;\n","import { useMutation } from \"@tanstack/react-query\";\nimport { queryClient } from \"@/providers/ReactQuery\";\n\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useCreateEvent = (profileId, customDomain) =>\n useMutation({\n mutationFn: (payload) => ApiRequest({\n path: `/event/create`,\n method: \"POST\",\n body: JSON.stringify({\n profile_id: profileId,\n ...payload\n })\n }),\n onSuccess: async (data) => {\n const { status, values, message } = data || {};\n\n if (status === 1) {\n await queryClient.refetchQueries({\n queryKey: [\"allEventsByProfile\", customDomain],\n type: \"active\",\n exact: true,\n });\n \n await ApiRequest({\n path: `/profile/${customDomain}/revalidate`,\n method: \"GET\"\n });\n \n return values;\n }\n\n throw new Error(message);\n },\n });\n\nexport default useCreateEvent;\n","export * from \"./useGetEventsByProfile\";\nexport * from \"./useDeleteEvent\";\nexport * from \"./useUpdateEvent\";\nexport * from \"./useCreateEvent\";\n","import { useQuery } from \"@tanstack/react-query\";\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useGetContentByProfile = (profileId, customDomain) =>\n useQuery({\n // eslint-disable-next-line @tanstack/query/exhaustive-deps\n queryKey: [\"allContentByProfile\", customDomain],\n enabled: !!profileId,\n queryFn: () => ApiRequest({\n path: `/content/get`,\n method: \"POST\",\n body: {\n profileId\n }\n }),\n select: (data) => {\n const { status, values, message } = data || {};\n\n if (status === 1) {\n return values;\n }\n\n throw new Error(message);\n },\n cacheTime: 60 * 1000 * 20,\n });\n\nexport default useGetContentByProfile;\n","import { useMutation } from \"@tanstack/react-query\";\nimport { queryClient } from \"@/providers/ReactQuery\";\n\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useDeleteContent = (customDomain) => {\n return useMutation({\n mutationFn: async (contentId) => {\n const response = await ApiRequest({\n path: `/content/${contentId}/delete`,\n method: \"DELETE\"\n });\n\n const { status, message } = response || {};\n if (status !== 1) {\n throw new Error(message);\n }\n },\n onSuccess: async () => {\n await ApiRequest({\n path: `/profile/${customDomain}/revalidate`,\n method: \"GET\"\n });\n\n await queryClient.invalidateQueries([\"allContentByProfile\", customDomain])\n }\n });\n}\n\nexport default useDeleteContent;\n","import { useMutation } from \"@tanstack/react-query\";\nimport { queryClient } from \"@/providers/ReactQuery\";\n\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useUpdateContent = (contentId, customDomain) =>\n useMutation({\n mutationFn: (payload) => ApiRequest({\n path: `/content/${contentId}/update`,\n method: \"PUT\",\n body: JSON.stringify(payload)\n }),\n onSuccess: async () => {\n await ApiRequest({\n path: `/profile/${customDomain}/revalidate`,\n method: \"GET\"\n });\n\n await queryClient.refetchQueries({\n queryKey: [\"allContentByProfile\", customDomain],\n type: \"active\",\n exact: true,\n });\n }\n });\n\nexport default useUpdateContent;\n","import { useMutation } from \"@tanstack/react-query\";\nimport { queryClient } from \"@/providers/ReactQuery\";\n\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useCreateContent = (profileId, customDomain) =>\n useMutation({\n mutationFn: (payload) => ApiRequest({\n path: `/content/create`,\n method: \"POST\",\n body: JSON.stringify({\n profile_id: profileId,\n ...payload\n })\n }),\n onSuccess: async (data) => {\n const { status, values, message } = data || {};\n\n if (status === 1) {\n await queryClient.refetchQueries({\n queryKey: [\"allContentByProfile\", customDomain],\n type: \"active\",\n exact: true,\n });\n\n return values;\n }\n\n throw new Error(message);\n },\n });\n\nexport default useCreateContent;\n","export * from \"./useGetContentByProfile\";\nexport * from \"./useDeleteContent\";\nexport * from \"./useUpdateContent\";\nexport * from \"./useCreateContent\";\n","import { useMutation } from \"@tanstack/react-query\"\nimport { queryClient } from \"@/providers/ReactQuery\"\nimport { useSession } from \"next-auth/react\";\n\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useUpdateUserData = () => {\n const { data: session } = useSession();\n const currentUser = session?.user || null;\n\n return useMutation({\n mutationFn: async (payload) => {\n const response = await ApiRequest({\n path: `/user/update`,\n method: \"PUT\",\n body: JSON.stringify(payload)\n });\n const { status, values, message } = response || {};\n\n if (status === 1) {\n return values;\n }\n\n throw new Error(message);\n },\n onSuccess: async (data) => {\n queryClient.setQueryData([\"userCustomData\", currentUser?.id], (oldData) => {\n return ({\n ...(oldData || {}),\n ...data\n });\n });\n }\n });\n}\n\nexport default useUpdateUserData;\n","const geolocationApiKey = process.env.NEXT_PUBLIC_LOCATION_API_KEY;\n\nexport const getUserGeoLocation = async () => {\n try {\n const r = await fetch(`https://ipinfo.io?token=${geolocationApiKey}`)\n return { status: r.status, data: await r.json() }\n } catch (e) {\n return { status: 418 }\n }\n}\n\nexport default getUserGeoLocation","import { useQuery } from \"@tanstack/react-query\";\nimport { useSession } from \"next-auth/react\";\n\nimport { ApiRequest } from \"@/helpers/Api\";\nimport { getUserGeoLocation } from \"@/helpers/UserLocation\";\n\nlet updatingLocation = false;\n\nexport const useGetUserData = () => {\n const { data: session } = useSession();\n const currentUser = session?.user || null;\n\n return useQuery({\n queryKey: [\"userCustomData\", currentUser?.id],\n enabled: !!currentUser,\n queryFn: () => ApiRequest({\n path: `/user/get`,\n method: \"GET\"\n }),\n staleTime: Infinity,\n cacheTime: 60 * 1000 * 20,\n select: (data) => {\n const { status, values, message } = data || {};\n if (status === 1) {\n if (!values?.config?.createdLocation && !updatingLocation) {\n updatingLocation = true;\n getUserGeoLocation().then(({ data, status }) => {\n if (status === 200) {\n ApiRequest({\n path: `/user-location/create`,\n method: \"POST\",\n body: {\n country: data?.country?.toUpperCase(),\n location: {\n type: \"Point\",\n coordinates: (data?.loc || \"\").split(\",\").map(o => Number(o)).reverse()\n }\n }\n });\n }\n });\n }\n\n return values;\n }\n\n throw new Error(message);\n },\n });\n};\n\nexport default useGetUserData;\n","import { useMutation } from \"@tanstack/react-query\";\nimport { queryClient } from \"@/providers/ReactQuery\";\nimport { useSession, signOut } from \"next-auth/react\";\n\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useDeleteUser = () => {\n const { data: session } = useSession();\n const currentUser = session?.user || null;\n\n return useMutation({\n mutationFn: () => ApiRequest({\n path: `/user/delete`,\n method: \"DELETE\"\n }),\n onSuccess: async () => {\n await signOut();\n queryClient.setQueriesData([\"userCustomData\", currentUser?.id], null);\n },\n });\n}\n\nexport default useDeleteUser;\n","export * from \"./useUpdateUserData\";\nexport * from \"./useGetUserData\";\nexport * from \"./useDeleteUser\";\n","import { useMutation } from \"@tanstack/react-query\";\nimport { queryClient } from \"@/providers/ReactQuery\";\nimport { useSession } from \"next-auth/react\";\n\nimport DownforProfile from \"@/helpers/Profile\";\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useUpdateProfile = (profile_id, customDomain) => {\n const { data: session } = useSession();\n const currentUser = session?.user || null;\n\n return useMutation({\n mutationFn: async (modifiedFields) => {\n const ProfileObject = new DownforProfile(modifiedFields).toObject();\n\n const response = await ApiRequest({\n path: `/profile/${profile_id}/update`,\n method: \"PUT\",\n body: JSON.stringify(ProfileObject)\n });\n\n const { status, values, message } = response || {};\n if (status === 1) {\n return values;\n }\n\n throw new Error(message);\n },\n onSuccess: async () => {\n \n await queryClient.refetchQueries({\n queryKey: [\"userCustomData\", currentUser?.id],\n type: \"active\",\n exact: true,\n });\n\n await ApiRequest({\n path: `/profile/${customDomain}/revalidate`,\n method: \"GET\"\n });\n },\n });\n};\n\nexport default useUpdateProfile;\n","import { useMutation } from \"@tanstack/react-query\";\nimport { queryClient } from \"@/providers/ReactQuery\";\nimport { useSession } from \"next-auth/react\";\n\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useDeleteProfile = (profile_id, customDomain) => {\n const { data: session } = useSession();\n const currentUser = session?.user || null;\n\n return useMutation({\n mutationFn: async () => {\n const response = await ApiRequest({\n path: `/profile/${profile_id}/delete`,\n method: \"DELETE\"\n });\n\n const { status, message } = response || {};\n if (status !== 1) {\n onProgress(40);\n throw new Error(message);\n }\n },\n onSuccess: async () => {\n await ApiRequest({\n path: `/profile/${customDomain}/revalidate`,\n method: \"GET\"\n });\n\n await queryClient.refetchQueries({\n queryKey: [\"userCustomData\", currentUser?.id],\n type: \"active\",\n exact: true,\n });\n },\n });\n}\n\nexport default useDeleteProfile;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useGetProfileStatistic = (customDomain) =>\n useQuery({\n queryKey: [\"profileStatistic\", customDomain],\n enabled: !!customDomain,\n queryFn: () => ApiRequest({\n path: `/profile/${customDomain}/statistics`,\n method: \"GET\",\n }),\n select: (data) => {\n const { status, values, message } = data || {};\n if (status === 1) {\n return values;\n }\n throw new Error(message);\n },\n placeholderData: null\n });\n\nexport default useGetProfileStatistic;\n","import { useMutation } from \"@tanstack/react-query\";\nimport { queryClient } from \"@/providers/ReactQuery\";\nimport { useSession } from \"next-auth/react\";\n\nimport DownforProfile from \"@/helpers/Profile\";\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useCreateProfile = () => {\n const { data: session } = useSession();\n const currentUser = session?.user || null;\n\n return useMutation({\n mutationFn: async ({ payload, onProgress, customDomain }) => {\n if (!!customDomain && !!Object.keys(payload).length) {\n onProgress(10);\n\n const ProfileObject = new DownforProfile(payload).toObject();\n\n onProgress(25);\n\n const response = await ApiRequest({\n path: `/profile/create`,\n method: \"POST\",\n body: JSON.stringify(ProfileObject)\n });\n\n const { status, values, message } = response || {};\n if (status === 1) {\n onProgress(65);\n\n await ApiRequest({\n path: `/profile/${customDomain}/revalidate`,\n method: \"GET\"\n });\n\n onProgress(90);\n\n return values;\n }\n throw new Error(message);\n }\n },\n onSuccess: async () => {\n await queryClient.refetchQueries({\n queryKey: [\"userCustomData\", currentUser?.id],\n type: \"active\",\n exact: true,\n });\n },\n });\n}\n\nexport default useCreateProfile;\n","import { useMutation } from \"@tanstack/react-query\";\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useCheckProfileDomain = () =>\n useMutation({\n mutationFn: (domain) => ApiRequest({\n path: `/check-profile-exist/${domain}`,\n method: \"GET\",\n })\n });\n\nexport default useCheckProfileDomain;\n","export * from \"./useUpdateProfile\";\nexport * from \"./useDeleteProfile\";\nexport * from \"./useGetProfileStatistic\";\nexport * from \"./useCreateProfile\";\nexport * from \"./useCheckProfileDomain\";\n","import { useQuery } from \"@tanstack/react-query\";\n\nconst StripePublishableKey = process?.env?.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY;\n\nexport const useStripeScript = () =>\n useQuery({\n queryKey: [\"stripeScriptLoad\"],\n queryFn: async () => {\n const { loadStripe } = await import(\"@stripe/stripe-js\");\n const stripeScript = await loadStripe(StripePublishableKey);\n\n return stripeScript;\n },\n cacheTime: 60 * 1000,\n staleTime: 60 * 1000,\n });\n\nexport default useStripeScript;\n","export * from \"./useStripeScript\";\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useGetCategories = () =>\n useQuery({\n queryKey: [\"categories\"],\n placeholderData: [],\n queryFn: () => ApiRequest({\n path: `/categories`,\n method: \"GET\",\n }),\n select: (data) => {\n const { status, values, message } = data || {};\n if (status === 1) {\n return values;\n }\n throw new Error(message);\n },\n });\n\nexport default useGetCategories;\n","export * from \"./useGetCategories\";","import { useQuery } from \"@tanstack/react-query\";\n\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useGetPrices = () =>\n useQuery({\n queryKey: [\"prices\"],\n queryFn: () => ApiRequest({\n path: `/billing/prices`,\n method: \"GET\"\n }),\n select: (response) => {\n const { status, values, message } = response || {};\n\n if (status === 1) {\n return values;\n }\n\n throw new Error(message);\n },\n placeholderData: [],\n });\n\nexport default useGetPrices;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useGetClientSecret = () =>\n useMutation({\n mutationFn: async (payload) => {\n const response = await ApiRequest({\n path: `/billing/session/client-secret`,\n method: \"POST\",\n body: payload\n });\n const { status, values, message } = response || {};\n\n if (status === 1) {\n return values;\n }\n\n throw new Error(message);\n }\n });\n\nexport default useGetClientSecret;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useGetPortalUrl = () =>\n useMutation({\n mutationFn: async (payload) => {\n const response = await ApiRequest({\n path: `/billing/portal-page`,\n method: \"POST\",\n body: payload\n });\n const { status, values, message } = response || {};\n\n if (status === 1) {\n return values;\n }\n\n throw new Error(message);\n }\n });\n\nexport default useGetPortalUrl;\n","export * from \"./useGetPrices\";\nexport * from \"./useGetClientSecret\";\nexport * from \"./useGetPortalUrl\";","import { useQuery } from \"@tanstack/react-query\";\n\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useGetAccounts = () =>\n useQuery({\n queryKey: [\"accounts\"],\n placeholderData: [],\n queryFn: () => ApiRequest({\n path: `/user/accounts`,\n method: \"GET\",\n }),\n select: (data) => {\n const { status, values, message } = data || {};\n if (status === 1) {\n return values;\n }\n throw new Error(message);\n },\n });\n\nexport default useGetAccounts;\n","import { useMutation } from \"@tanstack/react-query\";\nimport { queryClient } from \"@/providers/ReactQuery\";\n\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useDeleteAccount = () => {\n return useMutation({\n mutationFn: async ({ providerAccountId, provider }) => {\n const response = await ApiRequest({\n path: `/user/accounts`,\n method: \"DELETE\",\n body: {\n provider,\n providerAccountId\n }\n });\n\n const { status, message } = response || {};\n if (status !== 1) {\n throw new Error(message);\n }\n },\n onSuccess: async () => {\n await queryClient.invalidateQueries([\"accounts\"])\n }\n });\n}\n\nexport default useDeleteAccount;\n","export * from \"./useGetAccounts\";\nexport * from \"./useDeleteAccount\";","import { useMutation } from \"@tanstack/react-query\";\n\nimport { ApiRequest } from \"@/helpers/Api\";\n\nexport const useGetVideos = () =>\n useMutation({\n mutationFn: async ({ provider, channelId }) => {\n const response = await ApiRequest({\n path: `/${provider}/videos`,\n method: \"POST\",\n body: {\n channelId\n }\n });\n const { status, values } = response || {};\n if (status === 1) {\n return values;\n }\n throw new Error(`${status}`);\n },\n });\n\nexport default useGetVideos;\n","export * from \"./useGetVideos\";","export * from \"./events\";\nexport * from \"./content\"\nexport * from \"./user\";\nexport * from \"./profile\";\nexport * from \"./general\";\nexport * from \"./categories\";\nexport * from \"./billing\"\nexport * from \"./accounts\"\nexport * from \"./videos\"","export const modalTypes = {\n creating: \"CREATE\",\n editing: \"EDIT\",\n duplicating: \"DUPLICATE\"\n};\n\nexport const getModalTitle = (type, intl, intlPrefix, values) => {\n const { creating, editing, duplicating } = modalTypes;\n switch (type) {\n case creating:\n return intl.formatMessage({ id: `${intlPrefix}-create-title` }, values);\n case editing:\n return intl.formatMessage({ id: `${intlPrefix}-edit-title` }, values);\n case duplicating:\n return intl.formatMessage({ id: `${intlPrefix}-duplicate-title` }, values);\n default:\n return intl.formatMessage({ id: `${intlPrefix}-create-title` }, values);\n };\n};\n\nexport const getButtonText = (type, intl, intlPrefix) => {\n const { creating, editing, duplicating } = modalTypes;\n switch (type) {\n case creating:\n return intl.formatMessage({ id: `${intlPrefix}-create-text` });\n case editing:\n return intl.formatMessage({ id: `${intlPrefix}-update-text` });\n case duplicating:\n return intl.formatMessage({ id: `${intlPrefix}-duplicate-text` });\n default:\n return intl.formatMessage({ id: `${intlPrefix}-create-text` });\n };\n};\n","export const handleAuthenticationErrorMessage = (err, intl) => {\n const { error, code } = err || {};\n const errorType = error || code;\n\n switch (errorType) {\n case \"unauthorized\":\n case \"invalid username/password\":\n // Invalid email address or password\n return intl.formatMessage({ id: \"error-messages-unauthorized\" });\n case \"confirm email\":\n // Email is already registered\n return intl.formatMessage({ id: \"error-messages-confirm-email\" });\n case \"name already in use\":\n // Email is already registered\n return intl.formatMessage({ id: \"error-messages-name-already-in-use\" });\n case \"auth/too-many-requests\":\n return intl.formatMessage({ id: \"error-messages-too-many-requests\" });\n case \"password must be between 6 and 128 characters\":\n // Invalid password - must be between 6 and 128 characters\n return intl.formatMessage({ id: \"error-messages-password-must-be-between-6-and-128-characters\" });\n case \"user not found\":\n // Invalid password - must be between 6 and 128 characters\n return intl.formatMessage({ id: \"error-messages-user-not-found\" });\n default:\n // In theory you won't ever hit this default, but if an error message/code without a case ever comes up it will fall back to this.\n return `${intl.formatMessage({ id: \"error-messages-default\" })}${!!error ? `:\\n${error}` : \"\"}`;\n }\n};\n\nexport default handleAuthenticationErrorMessage;\n","import { isEqual } from \"lodash-es\";\nimport crypto from 'crypto';\n\nimport { modalTypes } from \"./Modal\";\nimport { socialMediaDomains, searchEngineDomains } from \"@/constants/general\";\n\nexport const SEOLink = \"https://en.wikipedia.org/wiki/Search_engine_optimization\";\n\nexport const uuid = () => {\n const block = () => Math.random().toString(36).replace(\"0.\", \"\");\n return new Array(4).fill(0).map(block).join(\"-\");\n};\n\nexport const shareRandomString = () => {\n const newShareId = `DF${(+new Date()).toString(36).slice(-8)}`;\n\n return newShareId\n};\n\nexport const isNumeric = (num) => {\n return (\n (typeof num === \"number\" ||\n (typeof num === \"string\" && num.trim() !== \"\")) &&\n !isNaN(num)\n );\n};\n\nexport function validatePhoneNumber(phoneNumber) {\n // Define a regular expression for a US phone number\n const phoneRegex = /^\\d{10,12}$/;\n // Test the input against the regex\n return phoneRegex.test(phoneNumber);\n}\n\nexport const isValidUrl = (urlString) => {\n const urlPattern = new RegExp(\n \"^(https?:\\\\/\\\\/)?\" + // Protocol (http, https)\n \"((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|\" + // Domain name (www.example.com)\n \"((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))\" + // OR IP address (IPv4)\n \"(\\\\:\\\\d+)?\" + // Port (optional)\n \"(\\\\/[-a-z\\\\d%_.~+@]*)*\" + // Path, now includes @\n \"(\\\\?[;&a-z\\\\d%_.~+=-]*)?\" + // Query string\n \"(\\\\#[-a-z\\\\d_]*)?$\", // Fragment locator\n \"i\" // Case insensitive\n );\n\n return urlPattern.test(urlString);\n};\n\nexport const getUpdatedProps = (oldObj = {}, newObj = {}, type) => {\n const { duplicating } = modalTypes;\n const updatedProps = {};\n const propsToKeep = {};\n\n if (\"_id\" in oldObj) {\n propsToKeep[\"_id\"] = oldObj[\"_id\"] || null;\n }\n\n if (\"share_id\" in newObj) {\n propsToKeep[\"share_id\"] = newObj[\"share_id\"] || null;\n }\n\n if (type === duplicating) {\n return newObj;\n }\n\n // Check for updated properties\n for (const prop in newObj) {\n const areEqual = isEqual(oldObj[prop], newObj[prop]);\n\n if (!oldObj.hasOwnProperty(prop) || !areEqual) {\n updatedProps[prop] = newObj[prop];\n }\n }\n\n return ({\n ...propsToKeep,\n ...updatedProps\n });\n};\n\nexport class FormData {\n constructor(initData) {\n for (const key in initData) {\n this[key] = initData[key];\n }\n }\n\n append(prop, value) {\n this[prop] = value;\n }\n}\n\nexport const fetchTextFile = async (filePath) => {\n const response = await fetch(filePath);\n if (response.ok) {\n const text = await response.text();\n return text;\n }\n\n return null;\n};\n\nexport const getTrackUUID = () => {\n if (typeof window !== 'undefined') {\n // User ID management\n let userPrintFingerId = sessionStorage.getItem('uuid');\n if (!userPrintFingerId) {\n userPrintFingerId = uuid(); // Generate unique ID\n sessionStorage.setItem('uuid', userPrintFingerId);\n }\n\n // Session management\n const sessionKey = 'session';\n let sessionData = JSON.parse(sessionStorage.getItem(sessionKey)) || {};\n\n const now = Date.now();\n const sessionDuration = 30 * 60 * 1000; // 30 minutes\n\n if (!sessionData.sessionId || now - sessionData.lastActivity > sessionDuration) {\n // New session or expired session\n sessionData = {\n sessionId: `${userPrintFingerId}_${now}`, // Unique session ID\n lastActivity: now,\n };\n sessionStorage.setItem(sessionKey, JSON.stringify(sessionData));\n } else {\n // Update session activity\n sessionData.lastActivity = now;\n sessionStorage.setItem(sessionKey, JSON.stringify(sessionData));\n }\n\n return { clientId: userPrintFingerId, sessionId: sessionData.sessionId };\n }\n return null;\n};\n\nexport const getBrowserAndOSInfo = () => {\n if (typeof window !== 'undefined') {\n const userAgent = navigator.userAgent;\n const platform = navigator.platform;\n let browserName = 'Unknown';\n let os = 'Unknown';\n let deviceType = 'Unknown';\n\n // Detect browser\n if (userAgent.indexOf(\"Firefox\") > -1) {\n browserName = \"Mozilla Firefox\";\n } else if (userAgent.indexOf(\"SamsungBrowser\") > -1) {\n browserName = \"Samsung Internet\";\n } else if (userAgent.indexOf(\"Opera\") > -1 || userAgent.indexOf(\"OPR\") > -1) {\n browserName = \"Opera\";\n } else if (userAgent.indexOf(\"Trident\") > -1) {\n browserName = \"Microsoft Internet Explorer\";\n } else if (userAgent.indexOf(\"Edge\") > -1) {\n browserName = \"Microsoft Edge\";\n } else if (userAgent.indexOf(\"Chrome\") > -1) {\n browserName = \"Google Chrome\";\n } else if (userAgent.indexOf(\"Safari\") > -1) {\n browserName = \"Apple Safari\";\n }\n\n // Detect OS\n if (platform.indexOf(\"Win\") > -1) {\n os = \"Windows\";\n } else if (platform.indexOf(\"Mac\") > -1) {\n os = \"MacOS\";\n } else if (platform.indexOf(\"Linux\") > -1) {\n os = \"Linux\";\n } else if (platform.indexOf(\"iPhone\") > -1 || platform.indexOf(\"iPad\") > -1 || platform.indexOf(\"iPod\") > -1) {\n os = \"iOS\";\n } else if (userAgent.indexOf(\"Android\") > -1) {\n os = \"Android\";\n }\n\n // Detect device type\n if (/Mobi|Android/i.test(userAgent)) {\n deviceType = 'Mobile';\n } else {\n deviceType = 'Desktop';\n }\n\n return {\n browser: browserName,\n os: os,\n type: deviceType\n };\n }\n return {};\n}\n\n// Function to categorize referrer\nexport function getTrafficSource(referrer) {\n if (!referrer) {\n return ({\n domain: \"directTraffic\",\n type: \"Other\"\n });\n }\n\n const referrerDomain = new URL(referrer).hostname;\n\n if (socialMediaDomains.some(socialDomain => referrerDomain.includes(socialDomain))) {\n return ({\n domain: referrerDomain,\n type: \"Social Media\"\n });\n } else if (searchEngineDomains.some(searchDomain => referrerDomain.includes(searchDomain))) {\n return ({\n domain: referrerDomain,\n type: \"Search Engine\"\n });\n } else {\n return ({\n domain: (!referrerDomain.includes(\"downfor\") ? referrerDomain : \"unknown\"),\n type: \"Other\"\n });\n }\n}\n\nexport const removeEmojis = (str) => {\n if (typeof str === \"string\") {\n return str.replace(/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}]/gu, '');\n }\n\n return null;\n}\n\nexport const dayDiff = (isoDateTime) => {\n // Parse the ISO datetime string\n const inputDate = new Date(isoDateTime);\n\n // Get the current time\n const now = new Date();\n\n // Calculate the difference in time (in milliseconds)\n const diffInMilliseconds = now - inputDate;\n\n // Convert the difference to days\n const diffInDays = diffInMilliseconds / (1000 * 60 * 60 * 24);\n\n // Check if the difference is approximately 1 day\n return diffInDays;\n};\n\nexport function generateKeyFromString(longString) {\n // Create a hash of the string\n const hash = crypto.createHash('sha256'); // Use the SHA-256 algorithm\n hash.update(longString); // Provide the input string\n return hash.digest('hex'); // Output the hash in hexadecimal format\n}\n\nexport function getDomainWithoutSubdomain(url) {\n try {\n const parsedUrl = new URL(url); // Parse the URL using the URL object\n const hostname = parsedUrl.hostname; // Get the full hostname\n\n // Split the hostname by periods (e.g., 'subdomain.example.com' -> ['subdomain', 'example', 'com'])\n const parts = hostname.split('.');\n\n // Check if the hostname has more than 2 parts (e.g., \"subdomain.example.com\")\n if (parts.length > 2) {\n // Return the last two parts (e.g., \"example.com\")\n return parts.slice(-2).join('.');\n } else {\n // If it's already a domain without a subdomain (e.g., \"example.com\")\n return hostname;\n }\n } catch (error) {\n console.error(\"Invalid URL:\", error);\n return null;\n }\n}\n\nexport function logApiRequest(req) {\n const logData = {\n timestamp: new Date().toISOString(),\n method: req.method,\n url: req.url,\n requestId: req.headers['x-amzn-requestid'] || req.headers['x-request-id'] || 'N/A',\n userAgent: req.headers['user-agent'] || 'Unknown',\n ip: req.headers['x-forwarded-for'] || req.connection?.remoteAddress || 'Unknown',\n query: req.query,\n body: req.method !== 'GET' ? req.body : undefined, // Avoid logging body for GET requests\n };\n\n console.log('[API LOG]', JSON.stringify(logData)); // Pretty-print JSON log\n}\n","import { initializeApp } from \"firebase/app\";\nimport {\n getStorage,\n uploadBytes,\n getDownloadURL,\n deleteObject,\n updateMetadata,\n ref,\n} from \"firebase/storage\";\n\nconst firebaseConfig = {\n apiKey: \"AIzaSyBnssma-tkbA_aWMnCY8nS6fSHMRlAfpHo\",\n authDomain: \"downfor-life.web.app\",\n databaseURL: \"https://downfor-life-default-rtdb.firebaseio.com\",\n projectId: \"downfor-life\",\n storageBucket: \"downfor-life.appspot.com\",\n messagingSenderId: \"711187192289\",\n appId: \"1:711187192289:web:fafc6d40d9115370bf9aa0\",\n measurementId: \"G-YWY283QDZ6\"\n};\n\ninitializeApp(firebaseConfig);\n\nconst getSourceRefFromDownloadURL = (downloadURL) => {\n try {\n // Parse the URL to extract the file path\n const url = new URL(downloadURL);\n const encodedPath = url.pathname.split(\"/o/\")[1]; // Extract the encoded file path\n const decodedPath = decodeURIComponent(encodedPath); // Decode the file path\n\n // Create and return the source reference\n return decodedPath;\n } catch (error) {\n console.error(\"Failed to parse the Download URL:\", error);\n throw error;\n }\n};\n\nexport const moveFileInFirebase = async (url, destinationPath) => {\n const storage = getStorage();\n const sourcePath = getSourceRefFromDownloadURL(url);\n const sourceRef = ref(storage, `/${sourcePath}`);\n const destinationRef = ref(storage, destinationPath);\n\n try {\n const response = await fetch(url);\n const fileBlob = await response.blob();\n\n const snapshot = await uploadBytes(destinationRef, fileBlob, \"data_url\");\n\n await deleteObject(sourceRef);\n\n const imageUrl = await getDownloadURL(snapshot.ref);\n\n return imageUrl;\n } catch (error) {\n console.error('Error moving file:', error);\n throw error;\n }\n};\n\nexport const uploadToFirebase = async (filePathAndName, file) => {\n if (file) {\n try {\n const storage = getStorage();\n\n // Define the path to the temp folder\n const folderPath = (filePathAndName + (!(String(filePathAndName).includes(\".png\")) && \".png\"));\n const storageRef = ref(storage, folderPath);\n\n // Upload the file to Firebase\n const snapshot = await uploadBytes(storageRef, file, \"data_url\");\n const expirationDate = new Date().getTime() + 24 * 60 * 60 * 1000; // Expire in 24 hours\n\n // Create file metadata to update\n const newMetadata = {\n cacheControl: 'public,max-age=300',\n contentType: 'image/png',\n customMetadata: {\n 'expirationDate': expirationDate\n }\n };\n\n // Update metadata properties\n await updateMetadata(storageRef, newMetadata)\n\n const imageUrl = await getDownloadURL(snapshot.ref);\n\n return imageUrl;\n } catch (error) {\n throw error;\n }\n }\n};\n\nexport const getBase64FromFile = (file) => {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => resolve(reader.result);\n reader.onerror = (error) => reject(error);\n });\n};","export function calculateHoverColor(themeColor, luminanceAdjustment) {\n if (!themeColor) {\n return;\n }\n // Parse the hexadecimal color string to RGB components\n var r = parseInt(themeColor.substring(1, 3), 16);\n var g = parseInt(themeColor.substring(3, 5), 16);\n var b = parseInt(themeColor.substring(5, 7), 16);\n\n // Calculate the luminance (brightness) of the theme color\n var luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;\n\n // Define the amount by which to adjust the color for hover\n var adjustment = luminance > 0.5 ? -luminanceAdjustment : luminanceAdjustment; // Darken for light themes, lighten for dark themes\n\n // Calculate the hover color components\n var hoverR = Math.round(Math.min(Math.max(r + adjustment * 255, 0), 255));\n var hoverG = Math.round(Math.min(Math.max(g + adjustment * 255, 0), 255));\n var hoverB = Math.round(Math.min(Math.max(b + adjustment * 255, 0), 255));\n\n // Convert the hover color components back to hexadecimal\n var hoverColor = \"#\" + ((1 << 24) + (hoverR << 16) + (hoverG << 8) + hoverB).toString(16).slice(1);\n\n return hoverColor;\n}\n\nexport const getThemeColors = (config) => {\n let { theme, font_color, background_color } = config || {};\n\n if (theme === \"dark\") {\n background_color = \"#242424\"\n font_color = \"#FFFFFF\"\n } else if (theme === \"light\") {\n background_color = \"#FFFFFF\";\n font_color = \"#242424\"\n }\n\n return JSON.parse(JSON.stringify({\n colorBgLayout: `radial-gradient(circle,${background_color}, ${calculateHoverColor(background_color, 0.3)})`, // Example gradient from orange to yellow\n fontFamily: \"Roboto\",\n colorLink: font_color,\n colorLinkHover: calculateHoverColor(background_color, 0.5),\n backgroundColor: background_color,\n colorText: font_color\n }));\n}\n\nexport const getUrlFromImgObj = (header) => {\n if (Array.isArray(header)) {\n const firstImage = header[0];\n if (typeof firstImage === \"object\" && \"url\" in firstImage) {\n return firstImage[\"url\"];\n }\n return firstImage;\n }\n\n return header;\n}\n","import { generateKeyFromString, getDomainWithoutSubdomain } from \"@/utils\";\nimport { getFileHtml } from \"@/helpers/UrlToHtml\";\n\nexport async function getOgImageFromHTML(url) {\n try {\n const urlKey = generateKeyFromString(url);\n\n const urlFromStorage = window.sessionStorage.getItem(urlKey);\n\n if (!urlFromStorage) {\n const doc = await getFileHtml(url);\n\n // Find the og:image meta tag\n const ogImageMetaTag = doc.querySelector('meta[property=\"og:image\"]');\n if (ogImageMetaTag) {\n const ogImage = ogImageMetaTag.getAttribute('content');\n if (ogImage) {\n window.sessionStorage.setItem(urlKey, ogImage);\n }\n return ogImage;\n } else {\n const parsedDomain = getDomainWithoutSubdomain(url);\n return `https://${parsedDomain}/favicon.ico`;\n }\n } else {\n return urlFromStorage;\n }\n } catch (error) {\n console.error('Error fetching or parsing the URL:', error);\n return null;\n }\n}\n","import dayjs from \"dayjs\";\nimport weekOfYear from \"dayjs/plugin/weekOfYear\";\n\ndayjs.extend(weekOfYear);\n\nexport const buildStatisticsData = (data) => {\n const results = {};\n\n if (!data) {\n return null;\n }\n\n for (const item of data) {\n const week = dayjs(item.created_at).week(); // Adjust to get week/year\n const year = new Date(item.created_at).getFullYear();\n const key = `${year}-${week}`;\n\n if (!results[key]) {\n results[key] = {\n total_visits: 0,\n unique_visitors: new Set(), // Use Set to track unique visitors\n actions: [],\n traffic_source: {}\n };\n }\n\n // Aggregate visit counts\n results[key].total_visits += item.visit_count || 0;\n\n // Track unique visitors\n if (item.uuid) {\n results[key].unique_visitors.add(item.uuid);\n }\n\n // Track unique traffic source\n if (item.traffic_source) {\n const currentSource = results[key].traffic_source\n const currentSourceDomain = item.traffic_source?.domain\n let finaCount = 0;\n if (currentSourceDomain in (currentSource || {})){\n finaCount = currentSource[currentSourceDomain];\n } \n currentSource[currentSourceDomain] = finaCount + 1;\n results[key].traffic_source = currentSource;\n }\n\n // Aggregate actions\n const actions = item?.actions || [];\n for (const action of actions) {\n const actionKey = `${action.name} (${action?.event} ${action?.type})`;\n if (!results[key].actions[actionKey]) {\n results[key].actions[actionKey] = 0;\n }\n results[key].actions[actionKey] += 1; // Count actions\n };\n };\n\n // Step 3: Prepare final output\n const finalResults = Object.entries(results).map(([key, value]) => ({\n week: key.split('-')[1],\n year: key.split('-')[0],\n total_visits: value.total_visits,\n unique_visitors: value.unique_visitors.size,\n traffic_source: value?.traffic_source,\n actions: value?.actions\n }));\n\n // Calculate growth as a unique field\n finalResults.forEach((result, index) => {\n result.growth = index > 0 ? result.unique_visitors - finalResults[index - 1].unique_visitors : 0;\n });\n\n // Create a unique object for final output\n const output = {\n unique_visitors: finalResults.reduce((acc, res) => acc + res.unique_visitors, 0),\n total_visits: finalResults.reduce((acc, res) => acc + res.total_visits, 0),\n growth: finalResults.reduce((acc, res) => acc + res.growth, 0),\n data: finalResults\n };\n\n return output;\n}","import { getBrowserAndOSInfo } from \"@/utils\";\n\nexport function addToGoogleCalendarToAndroid(eventData) {\n const { name, date_init, date_end, description, address } = eventData;\n\n const formatDateForCalendar = (date) => date.replace(/[-:]/g, \"\").replace(\".000\", \"\");\n\n const googleCalendarUrl = `https://www.google.com/calendar/render?action=TEMPLATE&text=${encodeURIComponent(\n name || \"\"\n )}&dates=${encodeURIComponent(\n formatDateForCalendar(date_init)\n )}/${encodeURIComponent(\n formatDateForCalendar(date_end)\n )}&details=${encodeURIComponent(\n description || \"\"\n )}&location=${encodeURIComponent(\n address?.street || \"\"\n )}`;\n\n const intentUrl = `intent:${googleCalendarUrl}#Intent;scheme=https;package=com.google.android.calendar;end;`;\n\n // Open the intent URL\n window.location.href = intentUrl;\n}\n\nexport function addToOutlookCalendar(eventData) {\n const { os } = getBrowserAndOSInfo();\n\n if (os === \"Android\") {\n return addToGoogleCalendarToAndroid(eventData);\n }\n\n const { name, date_init, date_end, description, address } = eventData;\n\n const outlookCalendarUrl = `https://outlook.live.com/calendar/0/deeplink/compose?subject=${encodeURIComponent(\n name\n )}&startdt=${encodeURIComponent(\n date_init\n )}&enddt=${encodeURIComponent(\n date_end\n )}&body=${encodeURIComponent(\n description\n )}&location=${encodeURIComponent(\n address?.street\n )}`;\n\n window.open(outlookCalendarUrl, \"_blank\");\n}\n\nexport function addToGoogleCalendar(eventData) {\n const { name, date_init, date_end, description, address } = eventData;\n\n const googleCalendarUrl = `https://calendar.google.com/calendar/u/0/r/eventedit?text=${encodeURIComponent(\n name\n )}&dates=${encodeURIComponent(\n date_init?.replace(/[-:]/g, \"\")\n )}/${encodeURIComponent(\n date_end?.replace(/[-:]/g, \"\")\n )}&details=${encodeURIComponent(\n description\n )}&location=${encodeURIComponent(\n address?.street\n )}`;\n\n window.open(googleCalendarUrl, \"_blank\");\n}\n","function hexToRgb(hex) {\n // Remove the \"#\" if present\n hex = hex.replace(/^#/, '');\n\n // Parse into RGB values\n let bigint;\n if (hex.length === 3) { // Short form #RGB\n bigint = parseInt(hex.split('').map(c => c + c).join(''), 16);\n } else { // Full form #RRGGBB\n bigint = parseInt(hex, 16);\n }\n\n return [\n (bigint >> 16) & 255, // Red\n (bigint >> 8) & 255, // Green\n bigint & 255 // Blue\n ];\n}\n\nfunction getLuminance(r, g, b) {\n // Convert RGB to a luminance value\n const a = [r, g, b].map(v => {\n v /= 255; // Normalize to range [0, 1]\n return v <= 0.03928 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\n });\n return 0.2126 * a[0] + 0.7152 * a[1] + 0.0722 * a[2];\n}\n\nexport function getContrastRatio(hex1, hex2) {\n // Convert hex to RGB\n const rgb1 = hexToRgb(hex1);\n const rgb2 = hexToRgb(hex2);\n\n // Calculate luminance\n const luminance1 = getLuminance(rgb1[0], rgb1[1], rgb1[2]);\n const luminance2 = getLuminance(rgb2[0], rgb2[1], rgb2[2]);\n\n // Ensure L1 is the lighter color\n const L1 = Math.max(luminance1, luminance2);\n const L2 = Math.min(luminance1, luminance2);\n\n return (L1 + 0.05) / (L2 + 0.05);\n}\n","export * from './AuthErrors'\nexport * from './General'\nexport * from './Upload'\nexport * from './CustomDomain'\nexport * from './StoreAdmin'\nexport * from './Statistics'\nexport * from './StoreState'\nexport * from './Calendar'\nexport * from './Colors'\n"],"names":["size","intl","useIntl","AccountIcon","data","session","useSession","currentUser","user","userData","isFetching","isLoading","useGetUserData","profiles","logouting","setLogouting","useState","handleLogout","signOut","accountOptions","useMemo","key","uuid","style","minWidth","color","loading","label","formatMessage","id","itemIcon","LoadingOutlined","fontSize","spin","disabled","Object","values","map","Link","title","href","profile","PAGES","profileAdmin","custom_domain","name","icon","FaHouse","AllAccountOptions","type","children","createProfile","FormattedMessage","FaPlus","admin","FaGear","onClick","FaPowerOff","Dropdown","overlayStyle","zIndex","menu","items","open","placement","arrow","pointAtCenter","trigger","button","Avatar","email","src","picture","alt","initials","AvatarFromName","includes","first","second","toUpperCase","bgColor","stringToColor","div","backgroundColor","display","alignItems","justifyContent","width","height","borderRadius","fontWeight","textTransform","forwardRef","ref","others","img","className","Styles","displayName","queryClient","QueryClient","defaultOptions","queries","refetchOnMount","refetchOnReconnect","refetchOnWindowFocus","retry","staleTime","Infinity","cacheTime","queryCache","QueryCache","onError","error","query","console","queryKey","QueryClientProvider","client","googleMapsURL","trackingID","CONTENT_LINKS","CONTENT","MULTISTREAM","EVENTS","TabSchema","header","theme","modules","content","links","events","multistream","dashboard","settings","home","login","signup","signupSuccess","resetPassword","privacyPolicy","termsOfService","support","ApiRequest","options","payload","path","method","body","JSON","stringify","response","fetch","headers","json","PROFILE_FIELDS","DownforProfile","buildImageObj","IMAGE_ALLOWED_KEYS","reduce","f","c","images","profileImages","profileData","finalImagesObj","logo","currentProp","keys","Array","isArray","push","uid","url","xhr","toObject","touchedFields","constructor","args","process","useGetEventsByProfile","profileId","customDomain","onlyValid","useQuery","enabled","queryFn","select","status","message","useDeleteEvent","useMutation","mutationFn","eventId","onSuccess","invalidateQueries","useUpdateEvent","refetchQueries","exact","profile_id","Error","useDeleteContent","contentId","useUpdateContent","useUpdateUserData","setQueryData","oldData","r","geolocationApiKey","e","updatingLocation","config","createdLocation","getUserGeoLocation","then","country","location","coordinates","loc","split","o","Number","reverse","setQueriesData","useUpdateProfile","modifiedFields","ProfileObject","onProgress","placeholderData","length","domain","StripePublishableKey","env","useStripeScript","loadStripe","providerAccountId","provider","useGetVideos","channelId","modalTypes","creating","editing","duplicating","intlPrefix","handleAuthenticationErrorMessage","err","code","SEOLink","fill","Math","random","toString","replace","join","shareRandomString","Date","slice","isValidUrl","test","urlString","getUpdatedProps","oldObj","newObj","updatedProps","propsToKeep","prop","areEqual","isEqual","hasOwnProperty","filePath","ok","text","userPrintFingerId","sessionStorage","getItem","setItem","sessionKey","sessionData","parse","now","sessionId","lastActivity","sessionDuration","clientId","inputDate","isoDateTime","diffInMilliseconds","initializeApp","firebaseConfig","apiKey","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","measurementId","uploadToFirebase","filePathAndName","file","storage","getStorage","folderPath","String","storageRef","snapshot","uploadBytes","expirationDate","getTime","updateMetadata","cacheControl","newMetadata","contentType","customMetadata","getDownloadURL","getBase64FromFile","Promise","resolve","reject","reader","FileReader","readAsDataURL","onload","result","onerror","calculateHoverColor","themeColor","luminanceAdjustment","parseInt","substring","g","b","adjustment","luminance","hoverColor","hoverR","round","min","max","hoverG","hoverB","dayjs","weekOfYear","buildStatisticsData","results","item","week","created_at","year","getFullYear","total_visits","unique_visitors","Set","actions","traffic_source","visit_count","add","currentSource","currentSourceDomain","finaCount","action","actionKey","event","finalResults","entries","value","forEach","index","growth","acc","res","hexToRgb","hex","bigint","getLuminance","a","v","pow","getContrastRatio","hex1","hex2","rgb1","rgb2","luminance1","luminance2","L2"],"sourceRoot":"","ignoreList":[]}