{"version":3,"mappings":";0pCAAA,MAAeA,GAAA,sCCAAC,GAAA,krCCAFC,GAAa,aACbC,GAAY,YACZC,GAAW,WACXC,GAAoB,oBCE3BC,GAAe,CACnB,CACE,GAAI,EACJ,OAAQ,CAAEC,aAAW,EACrB,SAAUJ,GACV,MAAO,uDACP,YAAa,iFACb,KAAM,CAAEK,OAAK,EACb,WAAY,MACZ,MAAO,IACP,MAAO,kBACP,SAAU,EACZ,EACA,CACE,GAAI,EACJ,OAAQ,CAAED,aAAW,EACrB,SAAUL,GACV,MAAO,uDACP,YAAa,iFACb,KAAM,CAAEM,OAAK,EACb,WAAY,MACZ,MAAO,IACP,MAAO,kBACP,SAAU,EACZ,EACA,CACE,GAAI,EACJ,OAAQ,CAAED,aAAW,EACrB,SAAUF,GACV,MAAO,uDACP,YAAa,iFACb,KAAM,CAAEG,OAAK,EACb,WAAY,MACZ,MAAO,IACP,MAAO,kBACP,SAAU,EACZ,EACA,CACE,GAAI,EACJ,OAAQ,CAAED,aAAW,EACrB,SAAU,aACV,MAAO,uDACP,YAAa,iFACb,KAAM,CAAEC,OAAK,EACb,WAAY,MACZ,MAAO,IACP,MAAO,kBACP,SAAU,EACZ,EACA,CACE,GAAI,EACJ,OAAQ,CAAED,aAAW,EACrB,SAAUH,GACV,MAAO,uDACP,YAAa,iFACb,KAAM,CAAEI,OAAK,EACb,WAAY,MACZ,MAAO,IACP,MAAO,kBACP,SAAU,EACZ,EACA,CACE,GAAI,EACJ,OAAQ,CAAED,aAAW,EACrB,SAAUH,GACV,MAAO,uDACP,YAAa,iFACb,KAAM,CAAEI,OAAK,EACb,WAAY,MACZ,MAAO,IACP,MAAO,kBACP,SAAU,EACZ,CACF,EAEMC,GAAmBC,EAAY,CACnC,KAAM,2BACNJ,GACA,SAAU,CACR,eAAgB,CAACK,EAAMC,IAAkC,CAC/CD,IAAM,IAAYE,IACrBA,EAAK,KAAOD,EAAO,UAAcC,EAAA,SAAW,CAACA,EAAK,UAC9CA,EACR,CACH,CACF,CACF,CAAC,EAE+BJ,GAAiB,QACjD,MAAeK,GAAAL,GAAiB,QC5F1BH,GAAe,CACnB,CACE,GAAI,EACJ,gBAAiB,CACnB,EACA,CACE,GAAI,EACJ,gBAAiB,CACnB,EACA,CACE,GAAI,EACJ,gBAAiB,CACnB,EACA,CACE,GAAI,EACJ,gBAAiB,CACnB,CACF,EAEMS,GAAgBL,EAAY,CAChC,KAAM,wBACNJ,GACA,SAAU,CACR,WAAY,CAACK,EAAMC,IAAkC,CAC3CD,IAAM,IAAYE,IACrBA,EAAK,KAAOD,EAAO,UAASC,EAAK,iBAAmB,GAChDA,EACR,CACH,CACF,CACF,CAAC,EAE2BE,GAAc,QAC1C,MAAeC,GAAAD,GAAc,QChCvBT,GAA2B,CAC/B,OAAQ,GACR,KAAM,EACR,EAEMW,GAAYP,EAAY,CAC5B,KAAM,oBACNJ,GACA,SAAU,CACR,aAAc,CAACK,EAAMC,IAAkC,CACrDD,EAAM,OAASC,EAAO,OACxB,EACA,WAAY,CAACD,EAAMC,IAAkC,CACnDD,EAAM,KAAOC,EAAO,OACtB,CACF,CACF,CAAC,EAEcM,GAAAD,GAAU,QACiBA,GAAU,QCpBpD,MAAMX,GAAe,SAEfa,GAAcT,EAAY,CAC9B,KAAM,sBACNJ,GACA,SAAU,CACR,aAAc,CAACK,EAAMC,IACZA,EAAO,OAElB,CACF,CAAC,EAE6BO,GAAY,QAC1C,MAAeC,GAAAD,GAAY,QCZrBb,GAA6B,GAE7Be,GAAmBX,EAAY,CACnC,KAAM,sBACNJ,GACA,SAAU,CAAC,CACb,CAAC,EAEcgB,GAAAD,GAAiB,QCXnBE,EAAU,wDCUjBC,GAAWC,EAAU,CACzB,YAAa,WACb,UAAWC,EAAe,CAAE,QAAS,GAAG,OAAAH,EAAO,iBAAiB,EAChE,SAAU,CAAC,QAAQ,EACnB,UAAYI,IAAa,CACvB,qBAAsBA,EAAQ,SAA2C,CACvE,MAAQC,IAAgB,CACtB,IAAK,yBACL,KAAM,KAAK,UAAU,CACnB,GAAIA,CAAA,CACL,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,QAAQ,EAC3B,EACD,uBAAwBD,EAAQ,SAA2C,CACzE,MAAQE,IAAkB,CACxB,IAAK,2BACL,KAAM,KAAK,UAAU,CACnB,KAAMA,CAAA,CACP,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,QAAQ,EAC3B,EACD,yBAA0BF,EAAQ,SAAoD,CACpF,MAAQG,IAAqB,CAC3B,IAAK,sBACL,KAAM,KAAK,UAAUA,CAAe,EACpC,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,QAAQ,EAC3B,EACD,iBAAkBH,EAAQ,SAAoD,CAC5E,MAAQG,IAAqB,CAC3B,IAAK,sBACL,KAAM,KAAK,UAAUA,CAAe,EACpC,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,QAAQ,EAC3B,GAEL,CAAC,EC5DKxB,GAA4B,GAE5ByB,GAAmBrB,EAAY,CACnC,KAAM,sBACNJ,GACA,SAAU,CAAC,CACb,CAAC,EAEc0B,GAAAD,GAAiB,QCP1BE,GAAYR,EAAU,CAC1B,YAAa,YACb,UAAWC,EAAe,CAAE,QAAS,GAAG,OAAAH,EAAO,iBAAiB,EAChE,SAAU,CAAC,QAAQ,EACnB,UAAYI,IAAa,CACvB,aAAcA,EAAQ,SAA+C,CACnE,MAAO,KAAO,CACZ,IAAK,WACL,KAAM,KAAK,UAAU,CACnB,KAAM,KACN,UAAW,GACZ,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,QAAQ,EAC3B,EACD,kBAAmBA,EAAQ,SAA4C,CACrE,MAAQO,IAAiB,CACvB,IAAK,WACL,KAAM,KAAK,UAAU,CACnB,KAAAA,EACA,UAAW,GACZ,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAKF,gBAAiB,CAAC,QAAQ,EAC3B,GAEL,CAAC,EC1CYC,GAAmB,EACnBC,GAA2B,ECgClCC,EAAgBZ,EAAU,CAC9B,YAAa,gBACb,UAAWC,EAAe,CAAE,QAAS,GAAG,OAAAH,EAAO,UAAU,EACzD,SAAU,CAAC,aAAa,EACxB,UAAYI,IAAa,CACvB,oBAAqBA,EAAQ,SAAuD,CAClF,MAAQW,IAAa,CACnB,IAAK,gCACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,aAAa,EAC/B,uBAAwB,CAACC,EAAkDC,EAAMC,IACxEF,CACT,CACD,EACD,uCAAwCZ,EAAQ,SAG9C,CACA,MAAQW,IAAa,CACnB,IAAK,gCACL,KAAM,KAAK,UAAU,CACnB,QAASA,EAAQ,QACjB,OAAQA,EAAQ,OAChB,WAAYA,EAAQ,WACpB,SAAU,KACV,kBAAmB,KACnB,kBAAmB,KACnB,cAAe,KAChB,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,aAAa,EAC/B,uBAAwB,CAACC,EAAkDC,EAAMC,IACxEF,CACT,CACD,EACD,0BAA2BZ,EAAQ,SAAiD,CAClF,MAAQe,IAAQ,CACd,IAAK,2BACL,OAAQ,OACR,KAAM,KAAK,UAAU,CACnB,aAAcA,CAAA,CACf,EACD,QAAS,CACP,eAAgB,kBAClB,IAEF,uBAAwB,CAACH,EAAkDC,EAAMC,IACxEF,CACT,CACD,EACD,kCAAmCZ,EAAQ,SAGzC,CACA,MAAQgB,IAAY,CAClB,IAAK,gCACL,KAAM,KAAK,UAAU,CACnB,QAAS,KACT,OAAQ,KACR,sBAAuBA,EACvB,WAAY,KACZ,SAAU,KACV,kBAAmB,KACnB,kBAAmB,KACnB,cAAe,KAChB,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,aAAa,EAC/B,uBAAwB,CAACJ,EAAkDC,EAAMC,IACxEF,CACT,CACD,EACD,0BAA2BZ,EAAQ,SAGjC,CACA,MAAQgB,IAAY,CAClB,IAAK,gCACL,KAAM,KAAK,UAAU,CACnB,QAAS,KACT,OAAAA,EACA,WAAY,KACZ,SAAU,KACV,kBAAmB,KACnB,kBAAmB,KACnB,cAAe,KAChB,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,aAAa,EAC/B,uBAAwB,CAACJ,EAAkDC,EAAMC,IACxEF,CACT,CACD,EACD,2BAA4BZ,EAAQ,SAGlC,CACA,MAAQiB,IAAa,CACnB,IAAK,gCACL,KAAM,KAAK,UAAU,CACnB,QAAAA,EACA,OAAQ,KACR,WAAY,KACZ,SAAU,KACV,kBAAmB,KACnB,kBAAmB,KACnB,cAAe,KAChB,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,aAAa,EAC/B,uBAAwB,CAACL,EAAkDC,EAAMC,IACxEF,CACT,CACD,EACD,yBAA0BZ,EAAQ,SAA0E,CAC1G,MAAQW,IAAa,CACnB,IAAK,+BACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,uBAAwB,CAACC,EAAkDC,EAAMC,IACxEF,CACT,CACD,EACD,qCAAsCZ,EAAQ,SAA8E,CAC1H,MAAQW,IAAa,CACnB,IAAK,+BACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,uBAAwB,CAACC,EAAkDC,EAAMC,IACxEF,CACT,CACD,EACD,uBAAwBZ,EAAQ,SAA2D,CACzF,MAAQkB,IAAe,CACrB,IAAK,gCACL,KAAM,KAAK,UAAU,CACnB,QAAS,KACT,OAAQ,KACR,WAAY,KACZ,SAAU,KACV,kBAAmB,KACnB,kBAAmB,KACnB,cAAe,KACf,UAAAA,EACA,SAAU,EACX,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,yBAA0BlB,EAAQ,SAAkD,CAClF,MAAQe,IAAQ,CACd,IAAK,8BACL,KAAM,KAAK,UAAU,CACnB,GAAAA,CAAA,CACD,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,oBAAqBf,EAAQ,SAAmC,CAC9D,MAAQe,IAAQ,CACd,IAAK,0BACL,KAAM,KAAK,UAAU,CACnB,aAAcA,CAAA,CACf,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,2BAA4Bf,EAAQ,MAA+C,CACjF,MAAQmB,IAAU,CAChB,IAAK,iCAAiC,OAAAA,GACtC,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,wBAAyBnB,EAAQ,MAA6C,CAC5E,MAAQmB,IAAU,CAChB,IAAK,0BAA0B,OAAAA,GAC/B,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,uBAAwBnB,EAAQ,MAA6C,CAC3E,MAAQoB,IAAkB,CACxB,IAAK,kCAAkC,OAAAA,GACvC,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,+BAAgCpB,EAAQ,MAA+D,CACrG,MAAQe,IAAQ,CACd,IAAK,8BAA8B,OAAAA,GACnC,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,6BAA8Bf,EAAQ,MAA4D,CAChG,MAAQe,IAAQ,CACd,IAAK,4BAA4B,OAAAA,GACjC,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,+BAAgCf,EAAQ,MAAmD,CACzF,MAAQe,IAAQ,CACd,IAAK,uBAAuB,OAAAA,GAC5B,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,IAEF,kBAAoBH,GAAiD,CACnE,IAAIS,EAAkC,GAClCC,EAAkDV,EACtD,OAAGA,EAAS,KAAK,UAAYW,EAAE,SAAS,EAAE,OAAS,GAAWF,EAAA,KAAKT,EAAS,KAAK,UAAYW,EAAE,SAAS,EAAE,CAAC,CAAC,EACnGX,EAAA,KAAK,QAAmBY,GAAA,CAC5BA,EAAQ,SAAS,YAAcf,IAChCY,EAAQ,KAAKG,CAAO,CACtB,CACD,EACDF,EAAY,KAAOD,EACZC,CACT,EACD,EACD,wBAAyBtB,EAAQ,MAAmD,CAClF,MAAQe,IAAQ,CACd,IAAK,uBAAuB,OAAAA,GAC5B,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,4BAA6Bf,EAAQ,MAAuD,CAC1F,MAAQe,IAAQ,CACd,IAAK,2BAA2B,OAAAA,GAChC,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,iCAAkCf,EAAQ,MAAyD,CACjG,MAAQe,IAAQ,CACd,IAAK,iCAAiC,OAAAA,GACtC,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,oCAAqCf,EAAQ,MAA6D,CACxG,MAAQe,IAAQ,CACd,IAAK,oCAAoC,OAAAA,GACzC,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,sBAAuBf,EAAQ,MAAgD,CAC7E,MAAQe,IAAQ,CACd,IAAK,qBAAqB,OAAAA,GAC1B,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,mCAAoCf,EAAQ,MAA6D,CACvG,MAAQe,IAAQ,CACd,IAAK,mCAAmC,OAAAA,GACxC,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,mCAAoCf,EAAQ,MAAyD,CACnG,MAAQe,IAAQ,CACd,IAAK,mCAAmC,OAAAA,GACxC,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,kCAAmCf,EAAQ,MAA6D,CACtG,MAAQe,IAAQ,CACd,IAAK,kCAAkC,OAAAA,GACvC,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,6BAA8Bf,EAAQ,MAAoD,CACxF,MAAQe,IAAQ,CACd,IAAK,4BAA4B,OAAAA,GACjC,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,2BAA4Bf,EAAQ,MAA+C,CACjF,MAAQe,IAAQ,CACd,IAAK,2BAA2B,OAAAA,GAChC,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,yBAA0Bf,EAAQ,MAAgD,CAChF,MAAQe,IAAQ,CACd,IAAK,wBAAwB,OAAAA,GAC7B,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,SAAUf,EAAQ,MAA6C,CAC7D,MAAQe,IAAQ,CACd,IAAK,qBAAqB,OAAAA,GAC1B,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,GAEL,CAAC,ECrZKU,GAAU3B,EAAU,CACxB,YAAa,UACb,UAAWC,EAAe,CAAE,QAAS,GAAG,OAAAH,EAAO,iBAAiB,EAChE,SAAU,CAAC,QAAQ,EACnB,UAAYI,IAAa,CACvB,cAAeA,EAAQ,SAA0C,CAC/D,MAAQ0B,IAAe,CACrB,IAAK,oBACL,KAAM,KAAK,UAAU,CACnB,GAAAA,EACA,KAAM,KACP,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,QAAQ,EAC3B,EACD,mBAAoB1B,EAAQ,SAAmD,CAC7E,MAAQW,IAAiC,CACvC,IAAK,oBACL,KAAM,KAAK,UAAU,CACnB,GAAIA,EAAQ,GACZ,KAAMA,EAAQ,KACf,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,QAAQ,EAC3B,GAEL,CAAC,ECvCKhC,GAA2B,GAE3BgD,GAAmB5C,EAAY,CACnC,KAAM,sBACNJ,GACA,SAAU,CAAC,CACb,CAAC,EAEciD,GAAAD,GAAiB,QCN1BE,GAAc/B,EAAU,CAC5B,YAAa,cACb,UAAWC,EAAe,CAAE,QAAS,GAAG,OAAAH,EAAO,oBAAoB,EACnE,SAAU,CAAC,WAAW,EACtB,UAAYI,IAAa,CACvB,aAAcA,EAAQ,SAA8C,CAClE,MAAQ8B,IAAkB,CACxB,IAAK,mBACL,KAAM,KAAK,UAAU,CACnB,aAAAA,CAAA,CACD,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,WAAW,EAC9B,GAEL,CAAC,ECrBKnD,GAA+B,GAE/BoD,GAAqBhD,EAAY,CACrC,KAAM,yBACNJ,GACA,SAAU,CAAC,CACb,CAAC,EAEcqD,GAAAD,GAAmB,QCPrBE,GAAwBC,GACnC,4BACA,MAAOpB,EAAY,CAAC,SAAAqB,EAAU,SAAAC,KACrB,MAAM,MAAM,GAAG,OAAAxC,EAAO,4BAA4B,CACvD,KAAM,KAAK,UAAUkB,CAAG,EACxB,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,EACD,EACE,KAAMuB,GAAQA,EAAI,MAAM,EACxB,KAAMA,GAAQ,OACN,OAAAC,EAAAD,EAAI,OAAJ,KAAAC,EAAY,EAAC,CACrB,CAEP,EAOM3D,GAA6B,CACjC,MAAO,CAAC,EACR,OAAQ,SACV,EAEM4D,GAAsBxD,EAAY,CACtC,KAAM,8BACNJ,GACA,SAAS,CACP,iBAAkB,CAACK,EAAOC,IAAW,CACnCD,EAAM,MAAQC,EAAO,OACvB,EACA,oBAAsBD,GAAkBL,EAC1C,EACA,cAAgBqB,GAAY,CAC1BA,EAAQ,QAAQiC,GAAsB,QAAS,CAACjD,EAAOC,IAAW,CAChED,EAAM,OAAS,UAChB,EACDgB,EAAQ,QAAQiC,GAAsB,UAAW,CAACjD,EAAO,CAAC,QAAAwD,KAAa,CACrExD,EAAM,MAAQwD,EACdxD,EAAM,OAAS,UAChB,EACDgB,EAAQ,QAAQiC,GAAsB,SAAU,CAACjD,EAAOC,IAAW,CACjED,EAAM,OAAS,SAChB,CACH,CACF,CAAC,EAEcyD,GAAAF,GAAoB,QAG/BA,GAAoB,QC5CxB,MAAM5D,GAA8B,CAClC,OAAQ,KACR,aAAc,KACd,cAAe,KACf,iBAAkB,KAClB,aAAc,KACd,YAAa,KACb,SAAU,KACV,SAAU,IACZ,EAEM+D,GAAyB3D,EAAY,CACzC,KAAM,iCACNJ,GACA,SAAU,CACR,iBAAkB,CAACK,EAAOC,IAAoC,CAC5DD,EAAM,aAAeC,EAAO,OAC9B,EACA,kBAAmB,CAACD,EAAOC,IAAkC,CAC3DD,EAAM,OAASC,EAAO,OACxB,EACA,oBAAqB,CAACD,EAAOC,IAAkC,CAC7DD,EAAM,cAAgBC,EAAO,OAC/B,EACA,wBAAyB,CAACD,EAAOC,IAAkC,CACjED,EAAM,cAAgBC,EAAO,OAC/B,EACA,4BAA6B,CAACD,EAAOC,IAAkC,CACrED,EAAM,iBAAmBC,EAAO,OAClC,EACA,uBAAwB,CAACD,EAAOC,IAAkC,CAChED,EAAM,YAAcC,EAAO,OAC7B,EACA,oBAAqB,CAACD,EAAOC,IAAkC,CAC7DD,EAAM,SAAWC,EAAO,OAC1B,EACA,oBAAqB,CAACD,EAAOC,IAAkC,CAC7DD,EAAM,SAAWC,EAAO,OAC1B,CACF,CACF,CAAC,EAWGyD,GAAuB,QAC3B,MAAeC,GAAAD,GAAuB,QCrDhCE,GAAU9C,EAAU,CACxB,YAAa,WACb,UAAWC,EAAe,CAAE,QAAS,GAAG,OAAAH,EAAO,KAAK,EACpD,SAAU,CAAC,OAAO,EAClB,UAAYI,IAAa,CAEvB,WAAYA,EAAQ,SAAyD,CAC3E,MAAQW,IAAa,CACnB,IAAK,sBACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,OAAO,EACzB,kBAAmB,CAACC,EAAyCC,EAAMgC,IAC1DjC,EAET,uBAAwB,CAACA,EAA6BC,EAAMC,IAAO,OACjE,OAAOwB,EAAA1B,EAAS,OAAT,YAAA0B,EAAe,OAAO,GAAG,KAClC,EACD,EACD,sBAAuBtC,EAAQ,SAAmE,CAChG,MAAQW,IAAa,CACnB,IAAK,iCACL,KAAM,KAAK,UAAU,CACnB,OAAUA,EAAQ,OAClB,aAAgBA,EAAQ,aACzB,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,mBAChB,cAAiB,UAAU,OAAAA,EAAQ,MACrC,GACF,CACD,EACD,yBAA0BX,EAAQ,SAAmE,CACnG,MAAQW,IAAa,CACnB,IAAK,oCACL,KAAM,KAAK,UAAU,CACnB,OAAQA,EAAQ,OAChB,aAAcA,EAAQ,aACvB,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,mBAChB,cAAiB,UAAU,OAAAA,EAAQ,MACrC,GACF,CACD,EACD,SAAUX,EAAQ,SAAwD,CACxE,MAAO,KAAO,CACZ,IAAK,qCACL,KAAM,KAAK,UAAU,CACnB,oBAAuB,OACvB,YAAe,OACf,KAAQ,iBACR,QAAW,WACX,cAAiB,MACjB,MAAS,iBACT,UAAa,cACd,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,OAAO,EAC1B,EACD,YAAaA,EAAQ,SAAwD,CAC3E,MAAQW,GAAa,cACnB,IAAK,mBACL,KAAM,KAAK,UAAU,CACnB,SAAUA,EAAQ,SACnB,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,mBAChB,cAAiB,UAAU,QAAA2B,EAAA3B,EAAQ,QAAR,KAAA2B,EAAiB,GAC9C,IAEF,gBAAiB,CAAC,OAAO,EAC1B,EACD,eAAgBtC,EAAQ,SAA2D,CACjF,MAAQW,IAAa,CACnB,IAAK,sBACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,OAAO,EAC1B,EACD,aAAcX,EAAQ,SAA+D,CACnF,MAAQW,IAAa,CACnB,IAAK,oBACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,OAAO,EAC1B,EACD,gBAAiBX,EAAQ,SAAkE,CACzF,MAAQW,IAAa,CACnB,IAAK,uBACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,OAAO,EAC1B,EACD,YAAaX,EAAQ,SAA8D,CACjF,MAAQW,IAAa,CACnB,IAAK,mBACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,OAAO,EAC1B,EACD,eAAgBX,EAAQ,SAAkE,CACxF,MAAQW,IAAa,CACnB,IAAK,sBACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,OAAO,EAC1B,EAED,YAAaX,EAAQ,MAAqD,CACxE,MAAO,IAAM,WACd,EACD,YAAaA,EAAQ,MAAkD,CACrE,MAAQ8C,GAAW,UAAU,OAAAA,EAAM,CACpC,EAED,yBAA0B9C,EAAQ,SAA2E,CAC3G,MAAQW,IAAa,CACnB,IAAK,gCACL,OAAQ,QACR,KAAMA,CAAA,EACR,CACD,EACD,mBAAoBX,EAAQ,SAAqE,CAC/F,MAAQW,IAAa,CACnB,IAAK,yBACL,OAAQ,QACR,KAAMA,CAAA,EACR,CACD,EAED,WAAYX,EAAQ,SAAqD,CACvE,MAAQ+C,IAAc,CACpB,IAAK,iBAAiB,OAAAA,GACtB,OAAQ,UACV,CACD,EAED,kBAAmB/C,EAAQ,SAAoE,CAC7F,MAAQW,IAAa,CACnB,IAAK,wBACL,OAAQ,MACR,KAAMA,CAAA,EACR,CACD,GAEL,CAAC,ECpLKqC,GAAalD,EAAU,CAC3B,YAAa,aACb,UAAWC,EAAe,CAAE,QAAS,GAAG,OAAAH,GAAW,EACnD,SAAU,CAAC,SAAS,EACpB,UAAYI,IAAa,CACvB,MAAOA,EAAQ,SAAuD,CACpE,MAAQW,IAAa,CACnB,IAAK,iBACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,SAAS,EAC3B,uBAAwB,CAACC,EAAuCC,EAAMC,IAAO,OAC3E,OAAOwB,EAAA1B,EAAS,OAAT,YAAA0B,EAAe,OACxB,EACD,EACD,oBAAqBtC,EAAQ,SAA2D,CACtF,MAAQW,IAAa,CACnB,IAAK,0BACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,SAAS,EAC3B,uBAAwB,CAACC,EAAiDC,EAAMC,IAAO,OACrF,OAAOwB,EAAA1B,EAAS,OAAT,YAAA0B,EAAe,iBACxB,EACD,EACD,OAAQtC,EAAQ,SAAoD,CAClE,MAAO,KAAO,CACZ,IAAK,kBACL,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,SAAS,EAC5B,EACD,cAAeA,EAAQ,SAAgE,CACrF,MAAQW,IAAa,CACnB,IAAK,mCACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,SAAS,EAC3B,uBAAwB,CAACC,EAAiDC,EAAMC,IAAO,OACrF,OAAOwB,EAAA1B,EAAS,OAAT,YAAA0B,EAAe,iBACxB,EACD,EACD,aAActC,EAAQ,SAAqE,CACzF,MAAQW,IAAa,CACnB,IAAK,kCACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,SAAS,EAC3B,uBAAwB,CAACC,EAAiDC,EAAMC,IAAO,OACrF,OAAOwB,EAAA1B,EAAS,OAAT,YAAA0B,EAAe,iBACxB,EACD,EACD,eAAgBtC,EAAQ,MAAgC,CACtD,MAAQ+C,GAAa,4BAA4B,OAAAA,GACjD,uBAAwB,CAACnC,EAA+CC,EAAMC,IAAO,OACnF,OAAOwB,EAAA1B,EAAS,OAAT,YAAA0B,EAAe,UACxB,EACD,EACD,qBAAsBtC,EAAQ,SAAkD,CAC9E,MAAO,KAAO,CACZ,IAAK,kCACL,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,SAAS,EAC5B,EACD,cAAeA,EAAQ,MAA6C,CAClE,MAAQiD,GAAS,gCAAgC,OAAAA,GACjD,uBAAwB,CAACrC,EAAUC,EAAMC,IAChCF,EAAS,IAClB,CACD,EACD,qBAAsBZ,EAAQ,SAAkD,CAC9E,MAAO,KAAO,CACZ,IAAK,kCACL,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,SAAS,EAC5B,EACD,cAAeA,EAAQ,MAA6C,CAClE,MAAQiD,GAAS,gCAAgC,OAAAA,GACjD,uBAAwB,CAACrC,EAAUC,EAAMC,IAChCF,EAAS,IAClB,CACD,EACD,mBAAoBZ,EAAQ,SAAkD,CAC5E,MAAO,KAAO,CACZ,IAAK,gCACL,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,SAAS,EAC5B,EACD,YAAaA,EAAQ,MAA6C,CAChE,MAAQiD,GAAS,8BAA8B,OAAAA,GAC/C,uBAAwB,CAACrC,EAAUC,EAAMC,IAChCF,EAAS,IAClB,CACD,GAEL,CAAC,EChIKjC,GAA6B,CACjC,MAAO,CAAC,CACV,EAEMuE,GAAuBnE,EAAY,CACvC,KAAM,sBACNJ,GACA,SAAU,CACR,kBAAmB,CAACK,EAAMC,IAAoC,CAC5DD,EAAM,MAAQC,EAAO,OACvB,CACF,CACF,CAAC,EAEkCiE,GAAqB,QACxD,MAAeC,GAAAD,GAAqB,QChB9BE,GAAatD,EAAU,CAC3B,YAAa,aACb,UAAWC,EAAe,CAAE,QAAS,GAAG,OAAAH,EAAO,UAAU,EACzD,SAAU,CAAC,UAAU,EACrB,UAAYI,IAAa,CACvB,WAAYA,EAAQ,SAA0C,CAC5D,MAAQe,IAAQ,CACd,IAAK,+BACL,KAAM,KAAK,UAAU,CACnB,GAAMA,CAAA,CACP,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,UAAU,EAC7B,EACD,kBAAmBf,EAAQ,SAAwD,CACjF,MAAQoB,IAAkB,CACxB,IAAK,kCACL,KAAM,KAAK,UAAU,CACnB,aAAgBA,CAAA,CACjB,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,UAAU,EAC7B,EACD,kBAAmBpB,EAAQ,SAAgD,CACzE,MAAQqD,IAA2B,CACjC,IAAK,0CACL,KAAM,KAAK,UAAU,CACnB,sBAAyBA,CAAA,CAC1B,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,UAAU,EAC7B,GAEL,CAAC,EChDK1E,GAA8B,GAE9B2E,GAAgBvE,EAAY,CAChC,KAAM,uBACNJ,GACA,SAAU,CAAC,CACb,CAAC,EAEc4E,GAAAD,GAAc,QCFvBE,GAAU1D,EAAU,CACxB,YAAa,UACb,UAAWC,EAAe,CAAE,QAAS,GAAG,OAAAH,EAAO,gBAAgB,EAC/D,SAAU,CAAC,OAAO,EAClB,UAAYI,IAAa,CACvB,SAAUA,EAAQ,SAAkC,CAClD,MAAQW,IAAa,CACnB,IAAK,gBACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,OAAO,EAC1B,GAEL,CAAC,ECxBKhC,GAA2B,GAE3B8E,GAAa1E,EAAY,CAC7B,KAAM,qBACNJ,GACA,SAAU,CAAC,CACb,CAAC,EAEc+E,GAAAD,GAAW,QCIpBE,GAAU7D,EAAU,CACxB,YAAa,UACb,UAAWC,EAAe,CAAE,QAAS,GAAG,OAAAH,GAAW,EACnD,SAAU,CAAC,OAAO,EAClB,UAAYI,IAAa,CACvB,QAASA,EAAQ,SAAkC,CACjD,MAAQW,IAAa,CACnB,IAAK,mBACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,OAAO,EAC1B,EACD,oBAAqBX,EAAQ,SAAwC,CACnE,MAAQW,IAAa,CACnB,IAAK,6BACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,OAAO,EAC1B,EACD,gBAAiBX,EAAQ,SAAiD,CACxE,MAAQ4D,IAAW,CACjB,IAAK,sBACL,KAAM,KAAK,UAAU,CACnB,MAAAA,EACA,SAAU,KACV,UAAW,KACZ,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,OAAO,EAC1B,EACD,+BAAgC5D,EAAQ,MAAmD,CACzF,MAAQoB,GAAiB,6CAA6C,OAAAA,GACtE,uBAAwB,CAACR,EAAUC,EAAMC,IAChCF,EAAS,IAClB,CACD,EACD,oBAAqBZ,EAAQ,MAAmD,CAC9E,MAAO,IAAM,6BACb,uBAAwB,CAACY,EAAUC,EAAMC,IAChCF,EAAS,IAClB,CACD,EACD,kBAAmBZ,EAAQ,MAA8C,CACvE,MAAQe,GAAO,oCAAoC,OAAAA,GACnD,uBAAwB,CAACH,EAAUC,EAAMC,IAChCF,EAAS,IAClB,CACD,GAEL,CAAC,ECxEKjC,GAA2B,GAE3BkF,GAAa9E,EAAY,CAC7B,KAAM,qBACNJ,GACA,SAAU,CAAC,CACb,CAAC,EAEcmF,GAAAD,GAAW,QCRpBlF,GAAgC,GAEhCoF,GAAiBhF,EAAY,CACjC,KAAM,yBACNJ,GACA,SAAU,CAAC,CACb,CAAC,EAEcqF,GAAAD,GAAe,QCAxBE,GAAenE,EAAU,CAC7B,YAAa,eACb,UAAWC,EAAe,CAAE,QAAS,GAAG,OAAAH,GAAW,EACnD,SAAU,CAAC,WAAW,EACtB,UAAYI,IAAa,CACvB,WAAYA,EAAQ,SAAwC,CAC1D,MAAO,KAAO,CACZ,IAAK,gBACL,KAAM,KAAK,UAAU,CACnB,MAAO,SACP,KAAM,SACN,WAAY,uCACb,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,WAAW,EAC9B,EACD,oBAAqBA,EAAQ,SAA0C,CACrE,MAAQkE,IAAgB,CACtB,IAAK,wBACL,KAAM,KAAK,UAAU,CACnB,MAAO,SACP,KAAM,SACN,WAAAA,CAAA,CACD,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,WAAW,EAC9B,EACD,YAAalE,EAAQ,SAA8C,CACjE,MAAQe,IAAQ,CACd,IAAK,uBACL,KAAM,KAAK,UAAU,CACnB,GAAAA,CAAA,CACD,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,WAAW,EAC9B,EACD,mBAAoBf,EAAQ,SAAgD,CAC1E,MAAO,KAAO,CACZ,IAAK,yBACL,KAAM,KAAK,UAAU,CACnB,GAAI,uCACJ,KAAM,SACP,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,WAAW,EAC9B,EACD,mBAAoBA,EAAQ,MAA4C,CACtE,MAAO,KAAO,CACZ,IAAK,+BACL,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,mBAAoBA,EAAQ,MAA8C,CACxE,MAAQe,IAAQ,CACd,IAAK,iCAAiC,OAAAA,GACtC,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,GAEL,CAAC,ECzFKpC,GAAqC,GAErCwF,GAAqBpF,EAAY,CACrC,KAAM,6BACNJ,GACA,SAAU,CAAC,CACb,CAAC,EAEcyF,GAAAD,GAAmB,QCN5BE,GAAkBvE,EAAU,CAChC,YAAa,kBACb,UAAWC,EAAe,CAAE,QAAS,GAAG,OAAAH,EAAO,wBAAwB,EACvE,SAAU,CAAC,eAAe,EAC1B,UAAYI,IAAa,CACvB,OAAQA,EAAQ,SAAkD,CAChE,MAAO,KAAO,CACZ,IAAK,WACL,KAAM,CACJ,MAAO,GACP,UAAW,EACf,EACE,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,eAAe,EAClC,GAEL,CAAC,ECtBKrB,GAAgC,GAEhC2F,GAAiBvF,EAAY,CACjC,KAAM,yBACNJ,GACA,SAAU,CAAC,CACb,CAAC,EAEc4F,GAAAD,GAAe,QCFxBE,GAAe1E,EAAU,CAC7B,YAAa,eACb,UAAWC,EAAe,CAAE,QAAS,GAAG,OAAAH,EAAO,cAAc,EAC7D,SAAU,CAAC,WAAW,EACtB,UAAYI,IAAa,CACvB,wBAAyBA,EAAQ,SAAsD,CACrF,MAAQW,IAAa,CACnB,IAAK,aACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,WAAW,EAC9B,EACD,WAAYX,EAAQ,MAAkD,CACpE,MAAO,KAAO,CACZ,IAAK,eACL,OAAQ,MACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,EACD,qBAAsBA,EAAQ,SAAsE,CAClG,MAAQW,IAAa,CACnB,IAAK,gBACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,WAAW,EAC9B,GAEL,CAAC,EC3CKhC,GAAmC,GAEnC8F,GAAqB1F,EAAY,CACrC,KAAM,4BACNJ,GACA,SAAU,CAAC,CACb,CAAC,EAEc+F,GAAAD,GAAmB,QCJ5BE,GAAkB7E,EAAU,CAChC,YAAa,kBACb,UAAWC,EAAe,CAAE,QAAS,GAAG,OAAAH,GAAW,EACnD,SAAU,CAAC,eAAe,EAC1B,UAAYgF,IAAkB,CAC5B,aAAcA,EAAa,MAA6B,CACtD,MAAO,IAAM,oDACd,EACD,gBAAiBA,EAAa,SAG5B,CACA,MAAQjE,IAAa,CACnB,IAAK,kCACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,GACF,CACD,GAEL,CAAC,EC1BKhC,GAA+B,GAE/BkG,GAAiB9F,EAAY,CACjC,KAAM,wBACNJ,GACA,SAAU,CAAC,CACb,CAAC,EAEcmG,GAAAD,GAAe,QCJxBE,GAAcjF,EAAU,CAC5B,YAAa,cACb,UAAWC,EAAe,CAAE,QAAS,GAAG,OAAAH,GAAW,EACnD,SAAU,CAAC,WAAW,EACtB,UAAYoF,IAAc,CACxB,gBAAiBA,EAAS,SAA0D,CAClF,MAAQrE,IAAa,CACnB,IAAK,6BACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,WAAW,EAC9B,EACD,kBAAmBqE,EAAS,SAAoD,CAC9E,MAAQrE,IAAa,CACnB,IAAK,6BACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,WAAW,EAC9B,EACD,uBAAwBqE,EAAS,SAAoD,CACnF,MAAQrE,IAAa,CACnB,IAAK,mCACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,WAAW,EAC9B,GAEL,CAAC,EC3CKhC,GAA8B,GAE9BsG,GAA2BlG,EAAY,CAC3C,KAAM,mCACNJ,GACA,SAAU,CAAC,CACb,CAAC,EAEcuG,GAAAD,GAAyB,QCHlCE,GAAuBrF,EAAU,CACrC,YAAa,uBACb,UAAWC,EAAe,CAAE,QAAS,GAAG,OAAAH,EAAO,UAAU,EACzD,SAAU,CAAC,oBAAoB,EAC/B,UAAYI,IAAa,CACvB,yBAA0BA,EAAQ,SAAmD,CACnF,MAAQoF,IAAa,CACnB,IAAK,0BACL,KAAM,KAAK,UAAU,CACnB,IAAKA,CAAA,CACN,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,oBAAoB,EACtC,uBAAwB,CAACxE,EAAkDC,EAAMC,IACxEF,CACT,CACD,GAEL,CAAC,EC3BKjC,GAA8B,GAE9B0G,GAAYtG,EAAY,CAC5B,KAAM,oBACNJ,GACA,SAAU,CAAC,CACb,CAAC,EAEc2G,GAAAD,GAAU,QCLnBE,GAAUzF,EAAU,CACxB,YAAa,UACb,UAAWC,EAAe,CAAE,QAAS,GAAG,OAAAH,EAAO,QAAQ,EACvD,SAAU,CAAC,MAAM,EACjB,UAAYI,IAAa,CACvB,OAAQA,EAAQ,SAA6C,CAC3D,MAAO,KAAO,CACZ,IAAK,WACL,KAAM,CACJ,YAAa,KACb,UAAW,EACf,EACE,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,MAAM,EACzB,GAEL,CAAC,ECvBKrB,GAA8B,GAE9B6G,GAAoBzG,EAAY,CACpC,KAAM,wBACNJ,GACA,SAAU,CAAC,CACb,CAAC,EAEc8G,GAAAD,GAAkB,QCE3BE,GAAa5F,EAAU,CAC3B,YAAa,aACb,UAAWC,EAAe,CAAE,QAAS,GAAG,OAAAH,GAAW,EACnD,SAAU,CAAC,UAAU,EACrB,UAAYI,IAAa,CACvB,yBAA0BA,EAAQ,SAAwD,CACxF,MAAQW,IAAa,CACnB,IAAK,+BACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,UAAU,EAC7B,EACD,yBAA0BX,EAAQ,MAAqC,CACrE,MAAQe,GAAO,sCAAsC,OAAAA,EAAE,CACxD,EACD,uBAAwBf,EAAQ,MAAiD,CAC/E,MAAQe,GAAO,oDAAoD,OAAAA,EAAE,CACtE,EACD,0BAA2Bf,EAAQ,SAA6C,CAC9E,MAAQW,IAAa,CACnB,IAAK,kCACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,UAAU,EAC7B,EACD,wBAAyBX,EAAQ,SAAqC,CACpE,MAAQW,IAAa,CACnB,IAAK,uBACL,KAAM,KAAK,UAAUA,CAAO,EAC5B,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,UAAU,EAC7B,EACD,iBAAkBX,EAAQ,SAAmD,CAC3E,MAAO,KAAO,CACZ,IAAK,4BACL,KAAM,KAAK,UAAU,CACnB,MAAO,KACP,UAAW,KACZ,EACD,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,UAAU,EAC7B,EACD,kBAAmBA,EAAQ,SAA+B,CACxD,MAAQ2F,IAAS,CACf,IAAK,6BACL,KAAM,KAAK,UAAUA,CAAG,EACxB,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,UAAU,EAC7B,EACD,0BAA2B3F,EAAQ,SAA+B,CAChE,MAAQ2F,IAAS,CACf,IAAK,sCACL,KAAM,KAAK,UAAUA,CAAG,EACxB,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,UAAU,EAC7B,EACD,YAAa3F,EAAQ,MAAoC,CACvD,MAAQe,GAAO,gCAAgC,OAAAA,EAAE,CAClD,EACD,oBAAqBf,EAAQ,MAA8C,CACzE,MAAQ4F,GAAQ,mCAAmC,OAAAA,EAAG,CACvD,EACD,wBAAyB5F,EAAQ,MAAwC,CACvE,MAAQe,GAAO,kEAAkE,OAAAA,EAAE,CACpF,EACD,gBAAiBf,EAAQ,MAA4C,CACnE,MAAQ6F,GAAW,8BAA8B,OAAAA,GAAU,KAAO,QAAUA,EAAM,CACnF,EACD,qBAAsB7F,EAAQ,MAAgD,CAC5E,MAAQ6F,GAAW,yCAAyC,OAAAA,GAAU,KAAO,QAAUA,EAAM,CAC9F,EACD,cAAe7F,EAAQ,MAAwC,CAC7D,MAAQmB,GAAS,gCAAgC,OAAAA,EAAI,CACtD,EACD,yBAA0BnB,EAAQ,MAAqC,CACrE,MAAQmB,GAAS,0CAA0C,OAAAA,EAAI,CAChE,EACD,yBAA0BnB,EAAQ,SAA6D,CAC7F,MAAQ2F,IAAS,CACf,IAAK,wCACL,KAAM,KAAK,UAAUA,CAAG,EACxB,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,UAAU,EAC7B,EACD,oBAAqB3F,EAAQ,SAAsC,CACjE,MAAQ2F,IAAS,CACf,IAAK,8CACL,KAAM,KAAK,UAAUA,CAAG,EACxB,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,IAEF,gBAAiB,CAAC,UAAU,EAC7B,GAEL,CAAC,EC1FYG,GAAQC,GAAe,CAClC,QAAS,CACP,eAAgBxD,GAChB,YAAazD,GACb,OAAQU,GACR,iBAAA2D,GACA,SAAU/D,GACV,KAAME,GACN,OAAQI,GACR,OAAQU,GACR,UAAW2B,GACX,OAAQJ,GACR,kBAAmBe,GACnB,QAASY,GACT,MAAOG,GACP,MAAOI,GACP,UAAWG,GACX,cAAeG,GACf,WAAYG,GACZ,cAAeI,GACf,UAAWG,GACX,oBAAqBI,GACrB,KAAMI,GACN,SAAUI,GACV,CAACjB,GAAa,WAAW,EAAGA,GAAa,QACzC,CAACP,GAAa,WAAW,EAAGA,GAAa,QACzC,CAACpE,GAAS,WAAW,EAAGA,GAAS,QACjC,CAACS,GAAU,WAAW,EAAGA,GAAU,QACnC,CAACI,EAAc,WAAW,EAAGA,EAAc,QAC3C,CAACe,GAAQ,WAAW,EAAGA,GAAQ,QAC/B,CAACI,GAAY,WAAW,EAAGA,GAAY,QACvC,CAACe,GAAQ,WAAW,EAAGA,GAAQ,QAC/B,CAACI,GAAW,WAAW,EAAGA,GAAW,QACrC,CAACI,GAAW,WAAW,EAAGA,GAAW,QACrC,CAACI,GAAQ,WAAW,EAAGA,GAAQ,QAC/B,CAACG,GAAQ,WAAW,EAAGA,GAAQ,QAC/B,CAACU,GAAgB,WAAW,EAAGA,GAAgB,QAC/C,CAACM,GAAgB,WAAW,EAAGA,GAAgB,QAC/C,CAACI,GAAY,WAAW,EAAGA,GAAY,QACvC,CAACI,GAAqB,WAAW,EAAGA,GAAqB,QACzD,CAACI,GAAQ,WAAW,EAAGA,GAAQ,QAC/B,CAACG,GAAW,WAAW,EAAGA,GAAW,OACvC,EACA,WAAaM,GACXA,EAAA,EAAuB,OAAO,CAC5BnG,GAAS,WACTS,GAAU,WACVI,EAAc,WACde,GAAQ,WACRI,GAAY,WACZe,GAAQ,WACRI,GAAW,WACXI,GAAW,WACXI,GAAQ,WACRG,GAAQ,WACRM,GAAa,WACbI,GAAgB,WAChBG,GAAa,WACbG,GAAgB,WAChBI,GAAY,WACZI,GAAqB,WACrBI,GAAQ,WACRG,GAAW,WACZ,CACL,CAAC,+6BC5GK/G,GAAkC,CACtC,CACE,MAAO,kBACP,KAAM,QACN,YAAa,UACb,SAAU,QACV,SAAU,KACZ,CACF,EAEMsH,GAAalH,EAAY,CAC7B,KAAM,QACN,aAAAJ,GACA,SAAU,CACR,QAAS,CAACK,EAAMC,IAA2C,CACzD,IAAIiH,EAAWlH,EACNkH,EAAA,KAAKjH,EAAO,OAAO,EACpBD,EAAAkH,CACV,EACA,mBAAoB,CAAClH,EAAMC,IAClBD,EAAM,OAAYuC,KAAE,QAAUtC,EAAO,QAAQ,UAAYsC,EAAE,WAAatC,EAAO,QAAQ,QAAQ,CAE1G,CACF,CAAC,EAEY,CAAC,QAAAkH,GAAS,mBAAAC,IAAsBH,GAAW,QACzCA,GAAW,QC7BnB,MAAMI,GAAmB,sBACnBC,GAAW,WACXC,GAAiB,iBACjBC,GAAyB,kBACzBC,GAAmB,mBACnBC,GAAmB,mBACnBC,GAAkB,kBAClBC,GAAuB,uBACvBC,GAAkB,kBAClBC,GAAmB,mBACnBC,GAAwB,wBACxBC,GAAc,cACdC,GAAqB,qBAIrBC,GAAO,WACPC,GAAQ,QAERC,GAAY,YACZC,GAAqB,0BACrBC,GAA6B,kCAC7BC,GAAwB,wBACxBC,GAAc,cACdC,GAAyB,yBACzBC,GAAc,cACdC,GAAa,aACbC,GAAY,YAEZC,GAAS,SACTC,GAAS,gBACTC,GAAiB,iBACjBC,GAAgB,gBAChBC,GAAoB,oBAEpBC,GAAgB,eAChBC,GAA0B,0BAE1BC,GAAY,YACZC,GAAuB,6BACvBC,GAAgB,sBAChBC,GAAyB,yBACzBC,GAAyB,yBACzBC,GAA6B,kCAC7BC,GAAmB,mBACnBC,GAA6B,6BAC7BC,GAAa,aACbC,GAAqB,qBACrBC,GAAiC,iCChDjCC,GAAkB,kBAClBC,GAAsB,sBACtBC,GAAmB,mBACnBC,GAAgB,gBAChBC,GAAkB,kBAClBC,GAAyB,yBACzBC,GAAmC,mCAGnCC,GAA4B,aAC5BC,GAAgC,gBAChCC,GAA6B,aAC7BC,GAA0B,UAC1BC,GAA4B,YAC5BC,GAAmC,mBACnCC,GAA6C,2BCS7CC,EAAcC,GAEvB,OAAOA,GAAO,UACdA,GAAO,MACPA,GAAO,MACPA,EAAI,QAAU,IACdA,GAAO,YAQJ,SAASC,GAAeC,EAA8B,CAC3D,OAAOA,GAAQ,MAAaA,GAAQ,MAAQA,EAAK,OAAS,CAC5D,CAOa,MAAAC,GAAaH,GAAgB,CACxC,MAAMI,EAAqC,CACzC,EAAG,eACH,EAAG,eACH,EAAG,eACH,EAAG,eACH,EAAG,eACH,EAAG,QACH,EAAG,SAEL,QAASC,KAAUD,EACjBJ,EAAMA,EAAI,QAAQI,EAAQC,CAAM,EAAGA,CAAM,EAE3C,OAAOL,EAAI,QAAQ,OAAQ,GAAG,EAAE,YAAY,CAC9C,EAEgB,SAAAM,GACdC,EACAC,EACQ,CACR,IAAIC,EAEJ,OAAQF,EAAW,CACjB,KAAKtB,GACiBwB,EAAAjB,GACpB,MACF,KAAKN,GACiBuB,EAAAhB,GACpB,MACF,KAAKN,GACiBsB,EAAAf,GACpB,MACF,KAAKN,GACiBqB,EAAAd,GACpB,MACF,KAAKN,GACiBoB,EAAAb,GACpB,MACF,KAAKN,GACiBmB,EAAAZ,GACpB,MACF,KAAKN,GACiBkB,EAAAX,GACpB,MACF,QACsBW,EAAA,MACxB,CAEA,IAAIC,EAAU,EACd,SAAW,CAACC,EAAKC,CAAG,IAAK,OAAO,QAAQJ,CAAU,EAAG,CAC/C,GAAAI,EAAI,MAAQH,EACP,OAAAC,EAEEA,GAAA,CACb,CACO,QACT,CAEgB,SAAAG,GAAoBN,EAAmBC,EAAoC,CACzF,IAAIC,EACAK,EAAa,CAAE,KAAM,GAAI,MAAO,EAAG,EAEvC,OAAQP,EAAW,CACjB,KAAKtB,GACiBwB,EAAAjB,GACpB,MACF,KAAKN,GACiBuB,EAAAhB,GACpB,MACF,KAAKN,GACiBsB,EAAAf,GACpB,MACF,KAAKN,GACiBqB,EAAAd,GACpB,MACF,KAAKN,GACiBoB,EAAAb,GACpB,MACF,KAAKN,GACiBmB,EAAAZ,GACpB,MACF,KAAKN,GACiBkB,EAAAX,GACpBgB,EAAW,MAAQ,KACnB,MACF,QACsBL,EAAA,MACxB,CAEA,GAAIA,GAAqB,MACvB,SAAW,CAACE,EAAKC,CAAG,IAAK,OAAO,QAAQJ,CAAU,EAC5C,GAAAI,EAAI,MAAQH,EACP,OAAAG,EAIN,OAAAE,CACT,CAEO,SAASC,IAAsB,CACpC,IAAIC,EAAmB,SAAS,iBAC9B,wBAEEC,EAAc,GACD,OAAAD,EAAA,QAAStJ,GAAY,CACpC,IAAIwJ,EAAQxJ,EAAQ,MAAM,QAAQ,MAAO,EAAE,GACvCwJ,GAAS,IAAMA,GAAS,QACZD,EAAA,GAChB,CACD,EACMA,CACT,CAEO,SAASE,IAAgB,OACxB,MAAAC,EAAY,SAAS,cAAc,yBAAyB,EAClE,IAAIC,EAAe,QACnB,GAAID,GAAa,KACAC,GAAA7I,EAAA4I,EAAU,aAAa,cAAc,IAArC,KAAA5I,EAA0C,YACpD,CACC,MAAA8I,EAAiB,SAAS,cAAc,sBAAsB,EAChEA,GAAkB,OAA0BD,EAAAC,EAAe,QAAQ,WACzE,CACA,OAAOD,GAAgB,MACzB,CAgBO,SAASE,GAAkBC,EAAqB,CACrD,MAAMC,EAAUD,EAAY,QAAQ,MAAO,EAAE,EAC7C,IAAIE,EAAYD,EAChB,OAAIA,EAAQ,OAAS,GAAKA,EAAQ,QAAU,EAC9BC,EAAA,IAAI,OAAAD,EAAQ,MAAM,EAAG,CAAC,EAAC,MAAK,OAAAA,EAAQ,MAAM,CAAC,GAC9CA,EAAQ,OAAS,IAC1BC,EAAY,IAAI,OAAAD,EAAQ,MAAM,EAAG,CAAC,EAAC,MAAK,OAAAA,EAAQ,MAAM,EAAG,CAAC,EAAC,KAAI,OAAAA,EAAQ,MAAM,EAAG,EAAE,IAG7EC,CACT,CAEO,SAASC,GAAiBzB,EAAgB,CAC/C,IAAI0B,EAAS,IACR,OAAA1B,EAAA,QAAS9K,GAAS,CACXwM,GAAA,KAAK,UAAUxM,CAAI,EAC9B,EACSwM,GAAA,IACHA,CACT,CAgBgB,SAAAC,GAAgB3B,EAAW4B,EAA0B,CACnE,IAAIF,EAAgB,GAChBG,EAAY,GACZrB,EAAU,EAEd,QAASsB,EAAI,EAAGA,EAAI9B,EAAK,OAAQ8B,IAC1BD,EAAA,KAAK7B,EAAK8B,CAAC,CAAC,EACNtB,GAAA,EACPA,GAAWoB,GACbF,EAAO,KAAKG,CAAI,EAChBA,EAAO,GACGrB,EAAA,GACDsB,GAAK9B,EAAK,OAAS,GAC5B0B,EAAO,KAAKG,CAAI,EAGb,OAAAH,CACT,CAGO,SAASK,GAAoB/B,EAAmB,CACrD,IAAIgC,EAAqB,IACpB,OAAAhC,EAAA,QAAQ,CAAC9K,EAAM+M,IAAU,CACdD,GAAA,KAAK,UAAU9M,CAAI,EAC7B+M,EAAQjC,EAAK,OAAS,IACVgC,GAAA,KAChB,CACD,EACaA,GAAA,IACPA,CACT,CAEO,SAASE,IAAW,CAClB,cAAO,OAAO,MAAQ,GAC/B,CAEO,SAASC,IAAU,CAEtB,gBAAS,KAAK,SAAS,SAAS,GAChC,SAAS,MAAQ,qCACjB,SAAS,KAAK,SAAS,WAAW,CAEtC,CAEa,MAAAC,GAAkBC,GAAkB,CAC/C,IAAIC,EAAYD,EAAQA,EAAM,WAAa,GAC3C,OAAKA,EAAM,SAAW,WAAS,GAAG,EAGpBC,IAAU,QAAQ,IAAK,GAAG,EAF1BA,EAAAD,EAAM,QAAQ,CAAC,EAAE,QAAQ,IAAK,GAAG,EAAE,WAI7CC,EAAU,QAAU,IAAeA,EAAA,GAAG,OAAAA,EAAU,MAAM,EAAG,CAAC,EAAC,KAAI,OAAAA,EAAU,MAAM,CAAC,IAC7EA,CACT,EAEaC,GAAwC,IAAM,CACzD,eAAe,WAAW9D,EAA0B,CACtD,EAkBa+D,GAAmB9B,GACN,IAAI,KAAK,aAAa,QAAS,CACrD,MAAO,WACP,SAAU,MACX,EAAE,OAAOA,CAAG,EAIR,SAAS+B,GAAUC,EAA4C,WACpE,OAAIA,GAAS,KAAkB,MAC3B,OAAOA,GAAS,UAEhBC,GAAArK,EAAA,WAAWoK,CAAK,IAAhB,YAAApK,EAAmB,eAAe,QAAS,CAAE,MAAO,WAAY,SAAU,KAAO,KAAjF,KAAAqK,EAAsF,OAEnFC,EAAAF,EAAM,eAAe,QAAS,CAAE,MAAO,WAAY,SAAU,MAAO,IAApE,KAAAE,EAAyE,KAClF,CAEO,MAAMC,GAAqB,IAAmB,CAE7C,MAAAC,EAAgB,eAAe,QAAQ,UAAU,EACnD,OAAAA,IAAkB,MAAQA,IAAkB,KACvCA,EAIe,UAAU,SAAS,MAAM,EAAG,CAAC,IAC1B,KAAO,KAAO,IAC3C,EA0BaC,GAAiBC,GAA+B,CACrD,MAAAC,EAAO,IAAI,KAAKD,CAAU,EAC5B,IACF,MAAO,GAAG,OAAAC,EAAK,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAG,GAAG,EAAC,KAAK,QAAAA,EAAK,SAAa,KACxE,SAAS,EACT,SAAS,EAAG,GAAG,EAAC,KAAI,OAAAA,EAAK,cAAc,SAAS,EAAE,SAAS,EAAG,GAAG,EAAC,OAC/DC,EAAA,CACC,QACT,CACF,EAEaC,GAAmB,CAC9BC,EACAC,EACAC,EACAC,EACApM,IACG,CACH,MAAMqM,EAA+C,CACnD,MAAOJ,GAAA,KAAAA,EAAS,GAChB,UAAWC,GAAA,KAAAA,EAAU,GACrB,OAAQC,GAAA,KAAAA,EAAU,GAClB,SAAUC,UAAY,GACtB,KAAMpM,GAAA,KAAAA,EAAQ,IAGhB,eAAe,QAAQ2H,GAAgC,KAAK,UAAU0E,CAAS,CAAC,CAClF,EAEaC,GAAgB7J,GACpBA,EAAM,SAAS,GAAG,GAAKA,EAAM,SAAS,MAAM,EC3XxC8J,GAAc,eAEdC,GAAe,gBACfC,GAAY,aACZC,GAA6B,6BCJnC,MAAMC,EAAc,CAMzB,YAAYC,EAAqBC,EAAmBC,EAAsBC,EAAoB,CAL9FC,GAAA,mBAAsB,IACtBA,GAAA,iBAAoB,IACpBA,GAAA,oBAAuB,IACvBA,GAAA,YAAqB,MAGnB,KAAK,YAAcJ,EACnB,KAAK,UAAYC,EACjB,KAAK,aAAeC,EACpB,KAAK,KAAOC,CACd,CACF,CCaa,MAAAE,GAAcC,gBAA+B,EAAqB,EAE/D,SAAAC,GAAa,CAAE,SAAAC,GAA+B,CAC5D,KAAM,CAACC,EAAQC,CAAS,EAAIC,WAA4B,IAAI,EACtDC,EAAmB,IAAM,CACzB,IAAAC,EAAS,aAAa,QAAQlB,EAAW,EACzCmB,EAAU,aAAa,QAAQlB,EAAY,EAE/C,OAAO9D,EAAW+E,CAAM,GAAK/E,EAAWgF,CAAO,GAG3CC,EAAe,IAAM,OACzB,IAAIC,EAAmB,KACpB,aAAa,QAAQnB,EAAS,GAAK,MAAa,aAAa,QAAQA,EAAS,GAAK,MAAQ,aAAa,QAAQA,EAAS,GAAK,cAC5GmB,GAAAzM,EAAA,aAAa,QAAQsL,EAAS,IAA9B,KAAAtL,EAAmC,MAElD,MAAA0M,EAAU,KAAK,MAAMD,CAAgB,EAMpC,OAJ+B,OAAO,OAC3C,IAAIjB,GAAc,GAAI,GAAI,GAAI,IAAI,EAClCkB,CAAA,CAEK,EAGH,CAACC,EAAeC,CAAgB,EAAIR,WAAkBC,EAAkB,GACxE,CAACT,EAAMiB,CAAO,EAAIT,WAAsB,IAAI,EAC5C,CAACU,EAAWC,CAAY,EAAIX,WAA+BI,EAAc,GACzE3M,EAAWmN,KACX,CAACC,EAAY,CAAE,KAAAC,EAAM,MAAAC,EAAO,QAAAC,EAAS,UAAAC,EAAW,UAAAC,CAAW,GAAI5M,GAAW,iBAAiB,EAC3F,CAAC6M,EAAgBC,CAAiB,EAAIpB,WAAkBkB,CAAS,EAEjEG,EAAUC,GAAiC,CAEtC7N,EAAAgE,GADwB6J,CACT,CAAC,GAGrBC,EAAQ,MAAOD,GAAgC,CAC9CrB,EAAiB,GAAG,MAAMY,EAAWS,CAAW,GAGjDE,EAAsBC,GAA6B,aACnD,IAACxB,IAAoB,CACvB,MAAMyB,EAAwB,CAC5B,QAAQ9N,EAAA6N,EAAU,cAAV,KAAA7N,EAAyB,GACjC,SAASqK,EAAAwD,EAAU,eAAV,KAAAxD,EAA0B,IAErC8B,EAAU2B,CAAS,EAEnB,aAAa,QAAQ1C,IAAad,EAAAuD,EAAU,cAAV,KAAAvD,EAAyB,EAAE,EAC7D,aAAa,QAAQe,IAAc0C,EAAAF,EAAU,eAAV,KAAAE,EAA0B,EAAE,CACjE,CACAC,EAAqBH,CAAS,EAC9BL,EAAkB,EAAI,GAGlBS,EAAmB,MAAOP,GAAgC,CACzDrB,EAAiB,GAAG,MAAMY,EAAWS,CAAW,GAGjDQ,EAAc,IAAM,SACxB,MAAMJ,EAAwB,CAC5B,QAAQ9N,EAAAkN,GAAA,YAAAA,EAAM,KAAK,cAAX,KAAAlN,EAA0B,GAClC,SAASqK,EAAA6C,GAAA,YAAAA,EAAM,KAAK,eAAX,KAAA7C,EAA2B,IAEtC8B,EAAU2B,CAAS,GAGfK,GAAmB,IAAM,SAC7B,aAAa,QAAQ/C,IAAapL,EAAAkM,GAAA,YAAAA,EAAQ,SAAR,KAAAlM,EAAkB,EAAE,EACtD,aAAa,QAAQqL,IAAchB,EAAA6B,GAAA,YAAAA,EAAQ,UAAR,KAAA7B,EAAmB,EAAE,GAGpD+D,EAAmB,IAAM,iBACzB,IAAAC,EAAoB,SAAS,cAAc,gBAAgB,EAC3DC,EAAwB,SAAS,cAAc,oBAAoB,EACnEC,EAAoB,SAAS,cAAc,2BAA2B,EACtEC,EAAuB,SAAS,cAAc,8BAA8B,EAC5EC,IAAYzO,EAAAmN,GAAA,YAAAA,EAAO,aAAP,KAAAnN,EAAqB,IAAI,oBAAoB,SAAS,SAAS,EAC3E,0CACAmN,GAAA,YAAAA,EAAO,WACPkB,GAAqB,OACLA,EAAA,UAAU,OAAO,QAAQ,EAC3CC,EAAsB,UAAYG,GAAA,KAAAA,EAAY,IAE5CF,GAAqB,QACvBlE,GAAAkE,EAAkB,cAAc,OAAO,IAAvC,MAAAlE,GAA0C,UAAU,IAAI,uBACxDC,GAAAiE,EAAkB,cAAc,OAAO,IAAvC,MAAAjE,GAA0C,UAAU,IAAI,uBAEtDkE,GAAwB,QAC1BT,EAAAS,EAAqB,cAAc,OAAO,IAA1C,MAAAT,EAA6C,UAAU,IAAI,uBAC3DW,EAAAF,EAAqB,cAAc,OAAO,IAA1C,MAAAE,EAA6C,UAAU,IAAI,sBAC7D,EAGIC,EAAqB,IAAM,CAC3B,IAAAC,EAAsB,SAAS,cAAc,eAAe,EAC5DA,GAAuB,OAEHA,EAAA,UAAU,OAAO,QAAQ,EACzBA,EAAA,UAAU,OAAO,cAAc,EAKvD,EAGIC,GAA2B3B,GAAyB,OACxD,IAAI4B,EAAmD,GACnD,IAIF,IAAIC,EAAa1G,GAAoBtB,GAAkCmG,EAAK,KAAK,MAAM,EACvF4B,EAAuB,KAAK,OAAM9O,EAAA+O,EAAW,QAAX,KAAA/O,EAAoB,IAAI,QACpD4K,EAAA,CAAC,CACF,OAAAkE,CAAA,EAGHd,EAAuB,CAACH,EAAgC,OAAS,CACrE,IAAI9O,EAAU8O,GAAa,KAAOA,EAAYX,GAAA,YAAAA,EAAM,KAChDnO,GAAW,OACb,aAAa,QAAQuM,GAAW,KAAK,UAAUvM,CAAO,CAAC,EAC1C,qBACXwM,GACA,KAAK,UAAUsD,GAAwB9P,CAAO,CAAC,GAEjDgO,EAAaP,GAAc,EAC7B,EAGFwC,YAAU,IAAM,CACKL,GAAA,EAClB,CAACtB,CAAS,CAAC,EAEd2B,YAAU,IAAM,CACT3C,EAAiB,GAAoB8B,IAAA,EACzC,CAACjC,CAAM,CAAC,EAEX8C,YAAU,IAAM,CACV,CAAC3C,EAAiB,GAAKiB,IACbY,IACSF,KAEvBR,EAAkBF,CAAS,GAC1B,CAACA,CAAS,CAAC,EAEd0B,YAAU,IAAM,CACV,CAAC3C,EAAiB,GAAKe,GACRgB,GACnB,EACC,CAAChB,CAAO,CAAC,EAEZ4B,YAAU,IAAM,CACMC,GAAA,EACnB,CAAC/C,CAAM,CAAC,EAEX,MAAMgD,EAAS,IAAM,CACnB,aAAa,WAAW9D,EAAW,EACnC,aAAa,WAAWC,EAAY,EACpC,aAAa,WAAWC,EAAS,EACjCsB,EAAiB,EAAK,GAGlBqC,EAAsB,IAAM,CAC5B,IAAAxD,EAAc,aAAa,QAAQL,EAAW,EAC9CO,EAAe,aAAa,QAAQN,EAAY,EAChD9D,EAAWkE,CAAW,GAAKlE,EAAWoE,CAAY,EAAGiB,EAAiB,EAAI,EACzEA,EAAiB,EAAK,GAI3B,OAAAuC,EAACrD,GAAY,SAAZ,CACC,MAAO,CACL,KAAAF,EACA,cAAAe,EACA,OAAAT,EACA,UAAAC,EACA,mBAAAyB,EACA,MAAAD,EACA,iBAAAM,EACA,eAAAV,EACA,UAAAT,EACA,OAAAoC,EACA,OAAAzB,EACA,iBAAApB,CACF,EAEC,SAAAJ,CAAA,EAGP,CAEO,SAASmD,IAAU,CACxB,OAAOC,aAAWvD,EAAW,CAC/B,CC7NA,MAAewD,GAAA,8iHCYFC,GAASC,EAAA,WACpB,CACE,CAAE,SAAAvD,EAAU,QAAAwD,EAAS,UAAAC,EAAW,cAAAC,EAAc,SAAU,kBAAAC,EAAoB,uBAAwB,QAAAC,EAAS,GAAGC,CAAA,EAChHC,IAKEZ,EAHgB,SAGf,CACC,IAAKY,EACL,UAAWC,GACTN,EAEA,QAAQ,OAAAC,EAAa,KAAI,OAAAC,EAAiB,yKAC1C,CACE,2CAA4CC,IAAY,UACxD,sDAAuDA,IAAY,YACnE,yBAA0BA,IAAY,WACtC,0BAA4BA,IAAY,SACxC,iBAAkBA,IAAY,aAChC,CACF,EACC,GAAGC,EAEH,SAAA7D,CAAA,EAIT,EC9BMgE,GAAeT,EAAA,WACnB,CACE,CAAE,SAAAvD,EAAU,UAAAyD,EAAW,QAAAQ,EAAS,QAAAL,EAAS,GAAGC,CAAM,EAClDC,IAGEZ,EAACgB,GAAA,CACC,IAAKJ,EACJ,GAAGD,EACJ,UAAWE,GACTN,EACA,CACE,4BAA6BQ,IAAY,GACzC,aAAc,CAACA,EACf,4BAA8BL,IAAY,QAAaA,GAAW,IAAMA,IAAY,UACpF,6BAA+BA,IAAY,QAC7C,EACA,8LACF,EAEC,SAAA5D,CAAA,EAIT,EAEMmE,GAAoBZ,EAAA,WACxB,CACE,CAAE,SAAAvD,EAAU,GAAG6D,CAAA,EACfC,IAGEZ,EAACkB,GAAA,CAAwB,IAAKN,EAAe,GAAGD,EAC7C,SAAA7D,CACH,EAGN,EAEAgE,GAAa,YAAc,gBAC3BG,GAAkB,YAAc,qBAEzB,MAAME,GAAW,CACtB,KAAML,GACN,UAAWG,EACb,ECvCA,SAASG,GAAc,CAAE,UAAAb,EAAW,SAAAzD,EAAU,aAAAuE,EAAe,IAAwB,CAEjF,OAAArB,EAAC,OACC,UAAWa,GACT,0CACE,OAAAQ,EAAe,UAAY,GAC7B,wFACE,OAAAd,GAAA,MAAAA,EAAW,SAAS,OAAS,GAAK,eAEpCA,CACF,EAEC,SAAAzD,CAAA,EAGP,CAEA,SAASwE,GAAc,CAAE,UAAAf,EAAW,SAAAzD,GAAgC,CAClE,SACG,OAAK,WAAW+D,GAAKN,EAAW,uBAAuB,EACrD,SAAAzD,CACH,EAEJ,CAEA,SAASyE,GAAe,CAAE,UAAAhB,EAAW,GAAGI,GAA8B,CAElE,OAAAX,EAAC,SACE,GAAGW,EACJ,UAAWE,GACTN,EACA,GAAG,OAAAA,GAAA,MAAAA,EAAW,SAAS,OAAS,GAAK,cAAa,YAChD,OAAAA,GAAA,MAAAA,EAAW,SAAS,UAAY,GAAK,UACvC,oDACF,GAGN,CAEAa,GAAc,YAAc,iBAC5BG,GAAe,YAAc,kBAC7BD,GAAc,YAAc,iBAErB,MAAME,GAAY,CACvB,KAAMJ,GACN,MAAOG,GACP,KAAMD,EACR,EC/DeG,GAAA,gDCAAC,GAAA,qUCaf,SAAwBC,GAAY,CAClC,YAAAC,EACA,WAAAC,EACA,iBAAAC,EACA,cAAAC,EACA,eAAAC,CACF,EAAU,CACR,KAAM,CAACC,EAAYC,CAAa,EAAIjF,WAAiB,EAAE,EACjD,CAACkF,EAAWC,CAAY,EAAInF,WAAkB,EAAK,EACnD,CAACoF,EAASC,CAAU,EAAIrF,WAAS,EAAI,EAC3C,IAAIsF,EAA0B,KAE9B1C,YAAU,IAAM,CACV+B,GAA4BY,GAAA,EAC/B,CAACZ,CAAW,CAAC,EAEhB/B,YAAU,IAAM,CACVgC,GAA0BY,GAAA,EAC7B,CAACZ,CAAU,CAAC,EAEfhC,YAAU,IAAM,CACdiC,EAAiBG,CAAU,GAC1B,CAACA,CAAU,CAAC,EAGf,MAAMO,EAAiB,IAAM,CACrB,MAAAE,EACH,OAAe,mBAAsB,OAAe,wBAEvD,GAAI,CAACA,EAAmB,CACtB,QAAQ,MAAM,kDAAkD,EAChE,MACF,CAEAH,EAAc,IAAIG,EACdH,GAAe,OACjBA,EAAY,KAAO,QACnBA,EAAY,eAAiB,GAC7BA,EAAY,gBAAkB,EAE9BA,EAAY,QAAU,IAAM,CAC1BH,EAAa,EAAI,GAGPG,EAAA,SAAYI,GAAkC,CACxD,IAAIC,EAAgB,GACX,QAAAvI,EAAIsI,EAAM,YAAatI,EAAIsI,EAAM,QAAQ,OAAQ,EAAEtI,EACtDsI,EAAM,QAAQtI,CAAC,EAAE,UACnBuI,GAAiBD,EAAM,QAAQ,CAAC,EAAE,CAAC,EAAE,WAAa,KAGtDT,EAAcU,CAAa,EAC3Bd,EAAiBc,CAAa,GAGpBL,EAAA,QAAWI,GAAuC,CACpD,cAAM,sBAAuBA,EAAM,KAAK,EAC5CA,EAAM,MAAM,SAAS,aAAa,IAChCZ,GAAiB,MAAWA,EAAc,EAAK,EACnDO,EAAW,EAAK,EAClB,EAGFC,EAAY,MAAQ,IAAM,CACxBH,EAAa,EAAK,EACfJ,GAA+BA,GAAA,EAGpCO,EAAY,MAAM,EACpB,EAGIM,EAA8B,SAAY,CAC1C,IAEF,MAAM,UAAU,aAAa,aAAa,CAAE,MAAO,GAAM,EAErDd,GAAiB,MAAWA,EAAc,EAAI,EAClDO,EAAW,EAAI,QACRQ,EAAK,CAERf,GAAiB,MAAWA,EAAc,EAAK,EACnDO,EAAW,EAAK,EAChB,QAAQ,MAAMQ,CAAG,CACnB,GAGFjD,YAAU,IAAM,CACTwC,GACyBQ,GAC9B,EACC,CAACR,CAAO,CAAC,EAGZ,MAAMI,EAAgB,IAAM,CACtBrK,EAAW6J,CAAU,GACnBM,IACFA,EAAY,KAAK,EACjBH,EAAa,EAAK,GAEpBN,EAAiBG,CAAU,GAE3B,WAAW,IAAM,GAAI,GAAI,CAC3B,EAGFpC,mBAAU,IAAM,CACR,MAAA6C,EACH,OAAe,mBAAsB,OAAe,wBAEnDA,EACFH,EAAc,IAAIG,EAElB,QAAQ,MAAM,qDAAqD,CAEvE,EAAG,CAAE,GAGD1C,EAAA+C,EAAA,GAEN,CCrIA,MAAeC,GAAA,0oECUR,SAASC,GAAqB,CAAE,UAAAC,EAAW,WAAAC,EAAY,MAAAxH,EAAO,YAAAyH,GAAsB,CAClDnG,WAAS,EAAE,EAClBA,WAAS,EAAE,EAC3C,KAAM,CAACoG,EAAaC,CAAc,EAAIrG,WAAStB,CAAK,EAC9C,CAAC4H,EAAmBC,CAAoB,EAAIvG,WAASmG,CAAW,EAGpE,OAAApD,EAAA+C,EAAA,CACG,WAEGU,EAAAV,EAAA,WAAA/C,EAAC,MAAI,WAAU,mJACb,SAAAA,EAAC,OAAI,UAAU,sCACb,SAACA,EAAA,OAAI,UAAU,8IACb,SAACyD,EAAA,OAAI,UAAU,uCACb,UAACzD,EAAA,MAAG,UAAU,iCAAkC,SAAYqD,EAAA,EAC3DrD,EAAA,KAAE,UAAU,eACV,SACHuD,EAAA,EACFvD,EAACI,GAAO,SAAQ,SAAS,UAAU,qBAAqB,SAAU,QAAU,UAAW,QAAS+C,EAAY,SAAa,mBACzH,EACF,CACF,GACF,EACAnD,EAAC,MAAI,WAAU,yCAA0C,IAC3D,EACE,IACN,EAEJ,CC3BwB,SAAA0D,GAAW,CAAE,iBAAAC,GAA2B,CAC9D,KAAM,CAAC/B,EAAagC,CAAc,EAAI3G,WAAS,EAAK,EAC9C,CAAC4E,EAAYgC,CAAa,EAAI5G,WAAS,EAAK,EAC5C,CAAC6G,EAAoBC,CAAqB,EAAI9G,WAAS,EAAE,EACzD,CAACgF,EAAYC,CAAa,EAAIjF,WAAS,EAAE,EACzC,CAAC+G,EAAYC,CAAa,EAAIhH,WAAS,EAAK,EAC5C,CAACoF,EAASC,CAAU,EAAIrF,WAAS,EAAI,EAErC,CAACiG,EAAWgB,CAAY,EAAIjH,WAAS,EAAK,EAE1CkH,EAAoBlL,GAAgB,CACpC0K,GAAoB,MAAWA,EAAiB1K,CAAG,EACvD8K,EAAsB9K,CAAG,GAGrBmL,EAAuB,IAAM,CAC7BT,GAAoB,MAAWA,EAAiBG,CAAkB,EACtE5B,EAAc4B,CAAkB,EAEhCF,EAAe,EAAK,EACpBC,EAAc,EAAI,GAelB,OAAAJ,EAAC,MAAI,WAAU,YACZ,UAAAO,GAAc3B,GAGXrC,EAAA+C,EAAA,UAAA/C,EAAC,OACC,MAAM,6BACN,QAAQ,iBACR,MAAM,OACN,KAAK,UACL,UAAU,YAEV,SAAAA,EAAC,OAAK,GAAE,gOAAiO,KAE7O,EAED,CAAC4B,GAAeS,GACfrC,EAAC,UAAO,GAAG,gBAAgB,MAAM,oBAAoB,QA5B7B,IAAM,CAC9BqC,IACF4B,EAAc,EAAI,EAClBL,EAAe,EAAI,EACnB,WAAW,IAAM,CACfC,EAAc,EAAK,EACnBI,EAAc,EAAK,GAClB,GAAI,EACT,EAqBM,SAACjE,EAAA,OAAI,IAAKgD,GAAgB,IAAI,iBAAiB,MAAO,GAAI,UAAU,YAAY,CAClF,GAED,CAACX,GACArC,EAAC,OAAK,WAAU,iBAAiB,QAAS,IAAMkE,EAAa,EAAI,EAC/D,SAAAlE,EAAC,OACC,MAAM,6BACN,QAAQ,iBACR,MAAM,OACN,KAAK,UAEL,SAAAA,EAAC,OAAK,GAAE,8WAA+W,KAE3X,EAGD4B,GAAe,CAACC,GAAc,CAACmC,GAAc3B,GAC5CrC,EAAC,SAAO,IAAG,gBAAgB,KAAK,oBAAoB,SAAQ,GAAC,QAASoE,EACpE,SAAApE,EAAC,OACC,MAAM,6BACN,OAAO,OACP,QAAQ,iBACR,MAAM,OACN,KAAK,MAEL,SAAAA,EAAC,OAAK,GAAE,wYAAyY,KAGrZ,EAEFA,EAAC2B,GAAA,CACC,YAAAC,EACA,WAAAC,EACA,eAAgB,IAAMuC,EAAqB,EAC3C,cAAgBnL,GAAiBqJ,EAAWrJ,CAAG,EAC/C,iBAAmBA,GAAgBkL,EAAiBlL,CAAG,EACzD,EAEA+G,EAACiD,GAAA,CACC,UAAAC,EACA,WAAY,IAAMgB,EAAa,CAAChB,CAAS,EACzC,MAAM,0BACN,YAAY,oHACd,CACF,GAEJ,CCjGA,SAASmB,IAAqC,CAC5C,KAAM,CAACC,EAAYC,CAAa,EAAItH,WAAS,EAAE,EACSA,WAAS,CAAC,EAC5BA,WAAS,EAAE,EACjD,KAAM,CAACuH,EAAeC,CAAgB,EAAIxH,WAAS,OAAO,EAE1C,IAAIyH,GACoBzH,WAAmB,EAAE,EAE7D4C,YAAU,IAAM,CACR,IAAA8E,EAAS,SAAS,cAAc,QAAQ,EAC9B,SAAS,cAAc,0BAA0B,GAChDA,GAAUlK,MACpB,OAAO,YAAckK,EAAO,cAAgB,KAC9BF,EAAA,OAAO,YAAc,GAAK,IAAI,CAErD,EAAG,CAAE,GAEC,MAAAG,EAAqB3L,GAAgB,CACzCsL,EAActL,CAAG,EACF,uBAAQtC,GAAWsC,CAAG,GAIrC,OAAA+G,EAAC,UAAQ,WAAU,8CACjB,SAAAA,EAAC,OACC,MAAO,CAAE,gBAAiB,OAAO,OAAAyB,GAAgB,KAAK,OAAQ+C,CAAa,EAC3E,UAAU,6IAEV,SAAAf,EAAC,OACC,GAAG,0BACH,eAAc,GACd,UACE,qJAGF,UAACA,EAAA,MAAG,UAAU,oEAAoE,yDACnC,IAC5CzD,EAAA,QAAK,UAAU,2BAA2B,SAAK,WAClD,IACC,MAAI,WAAU,cACb,SAACyD,EAAA,OAAI,UAAU,qCACb,UAAAzD,EAAC,OAAI,UAAU,gBACb,SAACyD,EAAA,OAAI,UAAU,+GACb,UAAAzD,EAACwB,GAAU,KAAV,CAAe,UAAU,uBACxB,SAAAxB,EAACwB,GAAU,MAAV,CACC,SAAW/F,GAAMmJ,EAAkBnJ,EAAE,OAAO,KAAK,EACjD,MAAO6I,EACP,UAAW,uEACX,YAAa,2CAEjB,EACAtE,EAAC,MAAI,WAAU,0BACb,SAAAA,EAAC,OAAI,IAAK0B,GAAyB,IAAI,YAAY,CACrD,GACA1B,EAAC,MAAI,WAAU,oCAEb,SAAAA,EAAC0D,GAAA,IAEH,GACF,CACF,GACA1D,EAAC,MAAI,WAAU,gDACb,SAAAyD,EAACrD,GAAA,CACC,GAAG,uBACH,QAAQ,UACR,UAAU,4DACX,mBAECJ,EAAC,OAAK,WAAU,OACd,SAAAyD,EAAC,OACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6BAEN,UAACzD,EAAA,KAAE,YAAU,uBACX,SAAAA,EAAC,QACC,EAAE,o7BACF,KAAK,UAET,IACC,OACC,UAAAA,EAAC,WAAS,IAAG,iBACX,SAACA,EAAA,QAAK,MAAM,KAAK,OAAO,KAAK,KAAK,QAAQ,UAAU,mBAAmB,CACzE,GACF,KAEJ,KAEJ,GACF,CACF,IACF,EAEJ,GAEJ,CACA,MAAe6E,UAAKR,EAAkC,ECrGtD,SAAwBS,EAAgB,CAAC,MAAAC,EAAM,OAAAC,EAAO,OAAQ,UAAAzE,GAAiB,CAC7E,OACGP,EAAAiF,GAAA,CAAS,MAAAF,EAAc,OAAAC,EAAgB,UAAAzE,CAAqB,EAEjE,+GCde2E,GAAA,suCCAA9X,GAAA,0xBCAA+X,GAAA,mCC+Bf,SAASC,GAAe,CACtB,KAAAtW,EACA,GAAAQ,EACA,MAAA+V,EACA,aAAAC,EACA,mBAAAC,EACA,SAAAC,EAAW,GACX,UAAAC,EACA,gBAAAC,EAAkB,GAClB,QAAAhF,EAAU,SACV,KAAAiF,EAAO,OACP,gBAAAC,EACA,gBAAAC,EAAkB,GAClB,QAAAC,EAAU,GACV,SAAAC,EAAW,GACX,YAAAC,EAAc,GACd,OAAAC,EACA,SAAAC,EACA,cAAAC,EACA,QAAAC,EACA,gBAAAC,EAAkB,GAClB,mBAAAC,CACF,EAAU,CACR,KAAM,CAACC,EAAUC,CAAW,EAAIvJ,WAASqI,GAAA,KAAAA,EAAgB,EAAE,EACrD,CAACmB,EAAmBC,CAAoB,EAAIzJ,WAAS,EAAK,EAC1D,CAAC0J,GAAgBC,CAAiB,EAAI3J,EAAA,SAC1C7E,EAAWkN,CAAY,EAAI,eAAiB,IAExC,CAACuB,EAAWC,EAAY,EAAI7J,WAAS0I,CAAI,EACzC,CAACoB,EAAgBC,CAAiB,EAAI/J,EAAA,SAC1C7E,EAAWkN,CAAY,EAAI,eAAiB,IAG9CzF,YAAU,IAAM,CACViG,GAAWR,GAAgB,MAC7BkB,EAAYV,EAAUmB,EAAU3B,CAAY,EAAIA,CAAY,GAC7D,CAACQ,EAASR,CAAY,CAAC,EAE1BzF,YAAU,IAAM,CACVmG,GAAeV,GAAgB,OAC7BA,EAAa,QAAU,GACzBkB,EAAYR,EAAciB,EAAU3B,CAAY,EAAIA,CAAY,EAEhEkB,EAAYR,EAAckB,GAAW5B,CAAY,EAAIA,CAAY,EACnE,EACD,CAACU,EAAaV,CAAY,CAAC,EAE9BzF,YAAU,IAAM,CACVkG,GAAYT,GAAgB,MAC9BkB,EAAYT,EAAWmB,GAAW5B,CAAY,EAAIA,CAAY,GAC/D,CAACS,EAAUT,CAAY,CAAC,EAE3BzF,YAAU,IAAM,CACVgG,GAAmBP,GAAgB,MACrCkB,EAAYX,EAAkBjM,GAAkB0L,CAAY,EAAIA,CAAY,GAC7E,CAACO,EAAiBP,CAAY,CAAC,EAE5B,MAAA6B,EAA0BlO,GAAgB,CAG9C,GAFIiN,GAAY,MAAWA,EAASjN,CAAG,EAEnCwM,GAAa,MAAaxM,EAAI,SAAS,EAAE,OAASwM,EAC7C,SAE0Be,EAA7BX,EAA6BjM,GAAkBX,CAAG,EAC7C6M,EAAqBmB,EAAUhO,CAAG,EAClC8M,EAAsBmB,GAAWjO,CAAG,EACpC+M,EACK/M,EAAI,QAAU,GAAKgO,EAAUhO,CAAG,EAAIiO,GAAWjO,CAAG,EAC7CA,CALoC,EAOrDsN,GAAYnO,EAAWmO,CAAQ,GACjCK,EAAkB,cAAc,EAChCI,EAAkB,cAAc,IAEhCJ,EAAkB,EAAE,EACpBI,EAAkB,EAAE,EACtB,EAGII,EAAe,IACfzB,GAAQ,QACN,EAAAY,EAAS,SAAS,GAAG,EAMpB,GAGHc,EAAiB,IAAM,CACvB7B,IACEpN,EAAWmO,CAAQ,GAAKa,KAC1BR,EAAkB,mCAAmC,EACrDI,EAAkB,mCAAmC,IAErDJ,EAAkB,oBAAoB,EACtCI,EAAkB,oBAAoB,GAE1C,EAGIM,EAAsB7L,GAAc,CACpC0K,GAAiB,MACnBA,EAAc1K,CAAC,CACjB,EAGI8L,EAA2BtO,GAAiB,CAC5CoN,GACFK,EAAqBzN,CAAG,CAC1B,EAOIuO,EAAyB,IAAM,CACtBV,GAAAD,GAAa,OAAS,WAAa,MAAM,GAGlDI,EAAarM,GAA0B,CAC3C,MAAMd,EAAUc,EAAM,QAAQ,MAAO,EAAE,EACvC,IAAIb,EAAYD,EACZ,OAAAA,EAAQ,QAAU,EACRC,EAAA,GAAG,OAAAD,EAAQ,MAAM,EAAG,CAAC,EAAC,KAAI,OAAAA,EAAQ,MAAM,CAAC,GAC5CA,EAAQ,QAAU,GAC3BC,EAAY,GAAG,OAAAD,EAAQ,MAAM,EAAG,CAAC,EAAC,KAAI,OAAAA,EAAQ,MAAM,EAAG,CAAC,EAAC,KAAI,OAAAA,EAAQ,MACnE,EACA,GACD,KAAI,OAAAA,EAAQ,MAAM,EAAG,EAAE,GACfA,EAAQ,QAAU,IAC3BC,EAAY,GAAG,OAAAD,EAAQ,MAAM,EAAG,CAAC,EAAC,KAAI,OAAAA,EAAQ,MAAM,EAAG,CAAC,EAAC,KAAI,OAAAA,EAAQ,MAAM,CAAC,IAEvEC,GAAA,KAAAA,EAAa,IAGhBmN,GAActM,GAA0B,CAC5C,MAAMd,EAAUc,EAAM,QAAQ,MAAO,EAAE,EACvC,IAAIb,EAAYD,EACZ,OAAAA,EAAQ,QAAU,EACRC,EAAA,GAAG,OAAAD,EAAQ,MAAM,EAAG,CAAC,GAAI,OAAAA,EAAQ,MAAM,CAAC,GAC3CA,EAAQ,QAAU,GAC3BC,EAAY,GAAG,OAAAD,EAAQ,MAAM,EAAG,CAAC,EAAC,KAAI,OAAAA,EAAQ,MAAM,EAAG,EAAE,EAAC,KAAI,OAAAA,EAAQ,MAAM,GAAI,EAAE,GACzEA,EAAQ,QAAU,GAC3BC,EAAY,GAAG,OAAAD,EAAQ,MAAM,EAAG,CAAC,EAAC,KAAI,OAAAA,EAAQ,MAAM,EAAG,EAAE,EAAC,KAAI,OAAAA,EAAQ,MAAM,EAAE,GACrEA,EAAQ,QAAU,IACfC,EAAA,GAAG,OAAAD,EAAQ,MAAM,EAAG,CAAC,EAAC,KAAI,OAAAA,EAAQ,MAAM,CAAC,IAOhDC,GAAA,KAAAA,EAAa,IAGhBH,GAAqBgB,GAA0B,CACnD,MAAMd,EAAUc,EAAM,QAAQ,MAAO,EAAE,EACvC,IAAIb,EAAYD,EAChB,OAAIA,EAAQ,OAAS,GAAKA,EAAQ,QAAU,EAC9BC,EAAA,IAAI,OAAAD,EAAQ,MAAM,EAAG,CAAC,EAAC,MAAK,OAAAA,EAAQ,MAAM,CAAC,GAC9CA,EAAQ,OAAS,IAC1BC,EAAY,IAAI,OAAAD,EAAQ,MAAM,EAAG,CAAC,EAAC,MAAK,OAAAA,EAAQ,MAAM,EAAG,CAAC,EAAC,KAAI,OAAAA,EAAQ,MAAM,EAAG,EAAE,IAG7EC,CAAA,EAIP,OAAAiG,EAAC,OACC,GAAA1Q,EACA,UAAWuR,GACT,0BACA,CAAE,+BAAgCH,IAAY,QAAS,EACvD,CAAE,sCAAuCA,IAAY,QAAS,EAC9D,CAAE,uCAAwCA,IAAY,SAAU,EAChE6E,CACF,EAEA,SAAA9B,EAAC,MAAI,WAAU,8BACZ,UAAA4C,GAAmBI,GAClBzG,EAAC,MAAI,WAAU,4BAA6B,SAAmBsG,EAAA,EAEjEtG,EAAC,SACC,KAAAlR,EACA,YAAY,IACZ,KAAM+X,EACN,UAAWhG,GACT,wCACAkG,EACA,CAAE,aAAcrG,IAAY,UAAYgF,CAAgB,EACxD,CACE,kBAAmBhF,IAAY,UAAaA,IAAY,WAAa,CAACgF,CACxE,CACF,EACA,MAAO,CAAE,OAAQtN,EAAW6N,CAAM,EAAIA,EAAS,MAAO,EACtD,MAAOM,EACP,SAAW9K,GAAM0L,EAAuB1L,EAAE,OAAO,KAAK,EACtD,UAAYA,GAAM6L,EAAmB7L,EAAE,GAAG,EAC1C,OAAQ,IAAM4L,EAAe,EAC7B,SAAA7B,CAAA,CACF,EACCI,GACC5F,EAAC,OACC,MAAM,6BACN,KAAK,UACL,UAAU,kDAMV,QAASwH,EACT,OAAO,KACP,QAAQ,iBACR,MAAM,KAEN,SAAAxH,EAAC,OAAK,GAAE,+aAAgb,GAC1b,EAED5H,EAAWgO,CAAO,GACjBpG,EAAC,OACC,IAAKoG,EACL,aAAc,IAAMmB,EAAwB,EAAI,EAChD,aAAc,IAAMA,EAAwB,EAAK,EACjD,UAAU,mCACZ,EAGFvH,EAAC,SACC,UAAWa,GACT,kEACA8F,EACF,EAEC,SAAAtB,CAAA,CACH,GACF,GAGN,CAEA,MAAeR,UAAKO,EAAc,ECzQ3B,SAASqC,GAAW,CAAE,UAAAvE,EAAW,WAAAC,EAAY,MAAAxH,EAAO,YAAAyH,GAAsB,CAC/E,KAAM,CAACsE,EAAaC,CAAe,EAAI1K,WAAS,EAAE,EAC5C,CAAC2K,EAAUC,CAAW,EAAI5K,WAAS,EAAE,EACrC,CAACoG,EAAaC,CAAc,EAAIrG,WAAStB,CAAK,EAC9C,CAAC4H,EAAmBC,CAAoB,EAAIvG,WAASmG,CAAW,EAEtEvD,mBAAU,IAAM,CACd,OAAQ,OAAQ,CACd,IAAK,QACH8H,EAAe,SAAS,EACxBE,EAAY,SAAS,EACrB,KACJ,CACF,EAAG,CAAE,GAEH7H,EAAA+C,EAAA,CACG,WAEGU,EAAAV,EAAA,WAAC/C,EAAA,OAAI,UAAU,mJACb,SAACA,EAAA,OAAI,UAAU,sCACb,SAAAyD,EAAC,MAAI,WAAU,4JACb,UAACzD,EAAA,OAAI,UAAU,+DACb,SAAAyD,EAAC,OACC,MAAM,KACN,UAAU,qBACV,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6BAEN,UAACzD,EAAA,QAAK,MAAM,KAAK,OAAO,KAAK,GAAG,KAAK,KAAM4H,CAAU,GACrD5H,EAAC,QACC,EAAE,qBACF,OAAQ0H,EACR,YAAY,IACZ,cAAc,QACd,kBAAgB,QAClB,KAEJ,EACAjE,EAAC,MAAI,WAAU,uCACb,UAACzD,EAAA,MAAG,UAAU,iCAAkC,SAAYqD,EAAA,EAC3DrD,EAAA,KAAE,UAAU,eACV,SACHuD,EAAA,EACFvD,EAACI,GAAO,SAAQ,SAAS,UAAU,qBAAqB,SAAU,QAAU,UAAW,QAAS+C,EAAY,SAAa,mBACzH,EACF,EACF,GACF,EACAnD,EAAC,MAAI,WAAU,yCAA0C,IAC3D,EACE,IACN,EAEJ,CCjEA,MAAe8H,GAAA,yyDCAAC,GAAA,o5BCuBf,SAAwBC,GAAmB,CACzC,aAAArY,EACA,gBAAAsY,EACA,kBAAAC,EAAoB,OACpB,eAAAC,CACF,EAAU,SAER,MAAMC,EAAOnI,KACW,UAASpP,EAAA,eAAe,QAAQoF,EAAW,IAAlC,KAAApF,EAAuC,GAAG,EAC3E,KAAM,CAACwX,EAAoBC,CAAqB,EAAIrL,WAAS,EAAK,EAC5DsL,EAAY,MAAM,QAAQH,EAAK,SAAS,EAAIA,EAAK,UAAU,CAAC,EAAIA,EAAK,UACrE,CAACI,EAAgBC,CAAiB,EAAIxL,WAAS,EAAK,EACpD,CAACyL,EAAqBC,CAAsB,EAAI1L,WAAqCsL,EAAY,KAAK,OAAMrN,EAAA,aAAa,QAAQkB,EAA0B,IAA/C,KAAAlB,EAAoD,IAAI,EAAI,CAAE,GAE1K0N,EAAmB,IAAM,CAC7BH,EAAkB,EAAK,GAcnB,CAACI,EAAsBC,CAAuB,EAAI7L,EAAA,SACtDiL,GAAqB,KAAYA,EAAoB,IAGvDrI,YAAU,IAAM,CACV,OAAO6I,GAAwB,UACVC,EAAA,KAAK,MAAMD,CAAmB,CAAC,CACxD,EACC,CAACA,CAAmB,CAAC,EAExB7I,YAAU,IAAM,GAAI,CAACqI,CAAiB,CAAC,EAEvCrI,YAAU,IAAM,CACd8I,EAAuBjJ,GAAyB,GAC/C,CAAC,OAAO,QAAQ,CAAC,EAEd,MACJqJ,EACA,CAAE,UAAWC,EAAmB,QAASC,EAAiB,UAAWC,CAAkB,GACrF/X,GAAQ,mCACN,CACJgY,EACA,CACE,UAAWC,EACX,QAASC,EACT,MAAOC,EACP,UAAWC,CACb,GACEpY,GAAQ,sCAEZ0O,YAAU,IAAM,CACVwJ,GAAuBG,EAA4B,EAAI,GAC1D,CAACH,CAAqB,CAAC,EAE1B,MAAM3J,EAA0B,IAAM,OAChC,IAAA+J,EAA2CrB,EAAK,UAAU,CAAC,GAAK,MAAQA,EAAK,UAAU,CAAC,EAAE,MAAQ,KAAO,KAAK,OAAMvX,EAAA,aAAa,QAAQuL,EAA0B,IAA/C,KAAAvL,EAAoD,IAAI,EAAI,GAC7K,OAAA4Y,CAAA,EAGHC,GAA2B,MAAOC,GAAiB,CACvD,GAAKtB,EA2BHI,EAAkB,EAAI,EACtB,WAAW,IAAM,CACfA,EAAkB,EAAK,GACtB,GAAI,MA9BgB,CACvB,MAAMmB,EAA0C,CAC9C,aAAcja,EACd,eAAgB,MAGlB,GAAIwY,GAAkB,KACpBA,EAAeyB,CAAa,UAExBxB,EAAK,cAAe,CAClB,IAAA/W,EAASkX,EAAU,KAAK,GACxBsB,EAAQtB,EAAU,YAClBrZ,EAAoC,CACtC,OAAAmC,EACA,aAAA1B,EACA,MAAAka,CAAA,EAEEF,EACF,MAAMR,EAA4Bja,CAAO,EAEzC,MAAM6Z,EAAsB7Z,CAAO,CACrC,MAEA,OAAO,SAAS,KAAO,SAE3B,CAMF,EAGF2Q,YAAU,IAAM,CACdiJ,EAAwBZ,GAAqB,KAAYA,EAAoB4B,EAAY,IACxF,CAAC,SAAS,QAAQ,CAAC,EAEtBjK,YAAU,IAAM,CACVmJ,GACFe,EAAsB,EAAK,CAC7B,EACC,CAACf,CAAiB,CAAC,EAEtBnJ,YAAU,IAAM,CACVwJ,GACFU,EAAsB,EAAI,CAC5B,EACC,CAACd,CAAe,CAAC,EAEpBpJ,YAAU,IAAM,CACVuJ,GACFI,EAA4B,EAAK,CACnC,EACC,CAACJ,CAAuB,CAAC,EAEtB,MAAAI,EAA+BvL,GAAqB,CACxD6K,EAAwB,EAAK,EAC7BkB,GAAoB,EAAI,EACpB/L,GAEE,OAAO,SAAS,UAAY,cAAgBqL,GAC3C,KAAK,UAAUA,CAAmB,EAAE,SAFtB,oCAE2C,GAC7C,qBAAQlN,GAA4B,KAAK,UAAUsM,EAAoB,OAAO5Y,GAAKA,EAAE,cAAgBH,CAAY,CAAC,CAAC,CAGtI,EAQIoa,EAAyB9L,GAAqB,CAClD,eAAe,WAAWhI,EAAW,EACrC6S,EAAwB,EAAI,EAC5BkB,GAAoB,EAAK,EACrB/L,GACE,OAAO,SAAS,UAAY,cAC9B,WAAW,IAAM,CACf,OAAO,SAAS,UACf,GAAG,CAEV,EAGI+L,GAAuBC,GAAsB,OACjD,MAAML,EAA0C,CAC9C,aAAcja,EACd,eAAgB,MAEd,IAAAua,EAAqD3B,EAAY,KAAK,OAAM1X,EAAA,aAAa,QAAQuL,EAA0B,IAA/C,KAAAvL,EAAoD,IAAI,EAAI,GACxIoZ,GACFC,EAAyBA,EAAuB,OAC7Cpa,GAAgCA,EAAE,cAAgBH,CAAA,EAErDmZ,EAAwB,EAAK,IAE7BoB,EAAuB,KAAKN,CAAa,EACzCd,EAAwB,EAAI,GAG9BH,EAAuBuB,CAAsB,EAC7CC,EAA4BD,CAAsB,GAG9CC,EAA+BD,GAAuD,CAC1F,aAAa,QAAQ9N,GAA4B,KAAK,UAAU8N,CAAsB,CAAC,GAGnFJ,EAAa,IAAM,OACvB,GAAI5B,GAAqB,KAAW,CAClC,IAAIkC,EAAgB,GAEP,OADkChC,EAAK,UAAU,CAAC,GAAK,MAAQA,EAAK,UAAU,CAAC,EAAE,MAAQ,KAAO,KAAK,OAAMvX,EAAA,aAAa,QAAQuL,EAA0B,IAA/C,KAAAvL,EAAoD,IAAI,EAAI,IACvK,QAASd,GAAY,CAC5B,GAAAA,EAAQ,cAAgBJ,EAAc,CACxBya,EAAA,GAChB,MACF,EACD,EACMA,CAAA,KAEA,QAAAlC,CACT,EAGF,OAEIzE,EAAAV,EAAA,WAAC/C,EAAA,UAAO,UAAU,gBAChB,SAAAA,EAAC,OACC,UAAU,uEACV,QAAS,IAAM0J,GAAyBb,CAAoB,EAE5D,SAAA7I,EAACqK,YAAS,SAAUrK,EAAC8E,IAAgB,EACnC,SAAA9E,EAAA+C,EAAA,CACG,YAAqBwG,EACpBvJ,EAAC,OACC,IAAI,gBACJ,MAAO,GACP,IAAKmF,GACL,UAAU,gCACV,MAAO,CAAE,cAAe,KAAM,IAGhCnF,EAAC,OACC,IAAI,gBACJ,IAAK6I,EAAuBd,GAAmBD,GAC/C,UAAU,cACV,MAAO,CAAE,cAAe,KAAM,IAGpC,CACF,KAEJ,EACA9H,EAACyH,GAAA,CACC,UAAWe,EACX,WAAYI,EACZ,MAAM,QACN,YAAY,mEACd,CACF,GAEJ,CChPS0B,GAAG,EAMY,SAAAC,GAAsB,CAAE,aAAAC,GAAuB,iBACrE,KAAM,CAAE,KAAAzM,EAAM,UAAAI,EAAW,QAAAF,EAAS,UAAAC,CAAA,EAAcjP,EAAc,uCAC5Dub,GAAA,KAAAA,EAAgB,IAEZ,CAACC,EAAYC,CAAa,EAAIzN,EAAA,SAAoC,CAAE,GACpE,CAAC0N,EAAoBC,CAAqB,EAAI3N,WAAiB,CAAC,EAEtE,SAAS4N,EAAkBC,EAAiC,CACnD,WAAI,QAASC,GAAY,CACxB,MAAAC,EAAM,IAAI,MAChBA,EAAI,IAAMF,EACVE,EAAI,OAAS,IAAM,CACjBD,EAAQD,CAAM,GAEhBE,EAAI,QAAU,IAAM,CAClBD,EAAQE,EAAW,EACrB,CACD,CACH,CAEApL,YAAU,IAAM,CACV1B,IAAaJ,GAAA,YAAAA,EAAM,OAAQ,OACL,SAAY,CAClC,MAAMmN,EAAsC,GACjC,UAAAzd,KAAQsQ,GAAA,YAAAA,EAAM,KAAM,CAC7B,MAAMoN,EAAc,MAAMN,EAAkBpd,EAAK,OAAO,EAC/Cyd,EAAAzd,EAAK,OAAO,EAAI0d,CAC3B,CACAT,EAAcQ,CAAQ,KAI1B,EACC,CAAC/M,CAAS,CAAC,EAEd,MAAMiN,EAA2B,IAAM,SACjCT,IAAsBzP,GAAArK,EAAAkN,GAAA,YAAAA,EAAM,OAAN,YAAAlN,EAAY,SAAZ,KAAAqK,EAAsB,GAAK,GACnD0P,EAAsBD,EAAqB,CAAC,GAG1CU,EAA2B,IAAM,CACjCV,GAAsB,GAAGC,EAAsBD,EAAqB,CAAC,GAG3E,SACG,MACE,WAAazM,GAAA8B,EAAC8E,EAAgB,QAAQ,GAAK,GAC3C3G,KAAatN,EAAAkN,GAAA,YAAAA,EAAM,OAAN,YAAAlN,EAAY,QAAS,GAChC4S,EAAA,OAAI,UAAU,gCAEb,UAAAzD,EAAC,OACC,WACEjC,GAAA,YAAAA,EAAM,KAAK,MAAM4M,EAAqB,EAAGA,EAAqB,GAAG,QAAS,EACtE,aACA,aAGL,SAACvS,EAAWqS,GAAWtP,GAAAD,EAAA6C,GAAA,YAAAA,EAAM,KAAK4M,KAAX,YAAAzP,EAAgC,UAAhC,KAAAC,EAA2C,EAAE,CAAC,EAGpEsI,EAAC,OACC,MAAO,CACL,gBAAiB,QACf,OAAAgH,GAAWlL,GAAAX,EAAAb,GAAA,YAAAA,EAAM,KAAK4M,KAAX,YAAA/L,EAAgC,UAAhC,KAAAW,EAA2C,EAAE,EAC1D,KACF,EACA,UAAU,sDAGV,UAAAS,EAAC,UACC,UAAU,0CACV,SAAU2K,GAAsB,EAChC,QAASU,EAET,SAAA5H,EAAC,OACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,UAAU,sBACV,MAAM,6BAEN,UAAAzD,EAAC,QACC,EAAE,KACF,EAAE,KACF,MAAM,KACN,OAAO,KACP,UAAU,qBACV,KAAK,UACL,eAAa,MACf,EACAA,EAAC,QACC,EAAE,uFACF,KAAK,QACP,GACF,EACF,EAEAA,EAAC,OAAI,UAAU,+BACb,WAACgI,GAAmB,cAAcwC,EAAc,CAClD,GAGAxK,EAAC,UACC,UAAU,iEACV,SAAU2K,KAAuBW,EAAAvN,GAAA,YAAAA,EAAM,KAAK,SAAX,KAAAuN,EAAqB,GAAK,EAC3D,QAASF,EAET,SAAA3H,EAAC,OACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,UAAU,GACV,MAAM,6BAEN,UAACzD,EAAA,QAAK,MAAM,KAAK,OAAO,KAAK,KAAK,UAAU,eAAa,KAAM,GAC/DA,EAAC,QACC,EAAE,wFACF,KAAK,QACP,GACF,EACF,GACF,EAjEAA,EAAC8E,EAAgB,WAAU,cAAe,EAiE1C,CAEJ,EACC9E,EAAA,OAAI,UAAU,wBACZ,0BAAM,KAAK,MAAM2K,EAAqB,EAAGA,EAAqB,GAAG,IAAI,CAACld,EAAM+M,IAAU,WACrF,OAEKwF,EAAA+C,EAAA,UAAC3K,EAAWqS,EAAWhd,EAAK,OAAO,CAAC,EAMjCuS,EAAA+C,EAAA,UAAA/C,EAAC,OACC,MAAO,CAAE,gBAAiB,QAAQ,OAAAyK,EAAWhd,EAAK,OAAO,EAAC,KAAK,EAC/D,UAAU,yCAEV,SAAAuS,EAAC,UACC,UAAU,gBACV,QAAS,IAAM4K,EAAsBpQ,EAAQmQ,EAAqB,CAAC,EACnE,SACEnQ,GAAS,KAAK3J,EAAAkN,GAAA,YAAAA,EAAM,OAAN,YAAAlN,EAAY,QAAS,GAAK8Z,EAAqB,GAAK,EAGnE,SAAAnQ,GAAS,KAAKU,EAAA6C,GAAA,YAAAA,EAAM,OAAN,YAAA7C,EAAY,QAAS,GAAKyP,EAAqB,GAAK,GACjE3K,EAAC,OACC,UAAU,yEACV,MAAO,CAAE,aAAc,QAAS,EAEhC,SAAAyD,EAAC,MAAI,WAAU,QAAQ,gBACnBtI,EAAA4C,GAAA,YAAAA,EAAM,OAAN,YAAA5C,EAAY,QAAS,GAAKwP,EAAqB,IACnD,EACF,EAEJ,GAEJ,GA5BA3K,EAAA+C,EAAA,CACE,WAAC+B,EAAgB,QAAQ,MAAQ,EACnC,EA4BJ,EAEH,GACH,GACF,IAxHM0F,CA0HV,CAEJ,CC9KA,MAAMe,GAAuBC,EAAA,KAAK,IAAMC,EAAA,WAAO,oCAAwB,EAAC,2BAClEC,GAA8BF,EAAA,KAAK,IAAMC,EAAA,WAAO,2CAA+B,EAAC,+BAChFE,GAAsBH,EAAA,KAAK,IAAMC,EAAA,WAAO,mCAAuB,EAAC,2BAChEG,GAA2BJ,EAAA,KAAK,IAAMC,EAAA,WAAO,wCAA4B,EAAC,2BAC1EI,GAAgCL,EAAA,KAAK,IAAMC,EAAA,WAAO,6CAAiC,EAAC,2BACpFK,GAAuBN,EAAA,KAAK,IAAMC,EAAA,WAAO,oCAAwB,EAAC,8BAClE3G,GAAkB0G,OAAK,IAAMC,EAAA,+BAAAM,EAAA,EAAsC,SAUzE,SAAwBC,GAAe,CACrC,WAAAC,EACA,kBAAA/D,EACA,WAAAgE,EACA,eAAA/D,EACA,YAAAgE,EAAc,GACd,cAAAC,CACF,EAAU,OACR,MAAMC,EAAaC,KACblE,EAAOnI,KACP,CAACuI,EAAgBC,CAAiB,EAAIxL,WAAS,EAAK,EACpD,CAACyL,EAAqBC,CAAsB,EAAI1L,EAAA,SACpDmL,EAAK,WAAa,MAAQA,EAAK,UAAU,CAAC,GAAK,MAAQA,EAAK,UAAU,CAAC,EAAE,MAAQ,KAC7E,KAAK,OAAMvX,EAAA,aAAa,QAAQuL,EAA0B,IAA/C,KAAAvL,EAAoD,IAAI,EACnE,CAAC,GAED,CACJ0b,EACA,CACE,KAAMC,EACN,UAAWC,EACX,QAASC,EACT,UAAWC,CACb,GACE1Y,GAAW,sCAET2Y,EAA2B,SAAY,CACrC,MAAAC,EAAiB,eAAe,QAAQlW,EAAS,EACjDzH,EAAkC,CACtC,aAAc+c,EAAW,GACzB,YAAaA,EAAW,MACxB,eAAgBY,GAAA,KAAAA,EAAkB,IAEpC,MAAMN,EAA4Brd,CAAO,GAGrC0Z,EAAmBkE,cAAY,IAAM,CACzCrE,EAAkB,EAAK,GACtB,CAACD,CAAc,CAAC,EAEnB3I,YAAU,IAAM,CACV,OAAO6I,GAAwB,UACVC,EAAA,KAAK,MAAMD,CAAmB,CAAC,CACxD,EACC,CAACA,CAAmB,CAAC,EAExB,MAAMqE,EAAsB,SAAY,CAClC,SAAS,UAAY,WACNrR,GAAAuQ,EAAW,MAAOA,EAAW,UAAWA,EAAW,OAAQA,EAAW,SAAUA,EAAW,IAAI,EACrGI,EAAA,oBAAoB,OAAAJ,EAAW,KAAM,EACzC,gBAAS,EAAE,CAAC,GAEnB,MAAMW,EAAyB,CACjC,EAGF/M,mBAAU,IAAM,OACV8M,IACF,eAAe,QAAQzV,IAA4BrG,EAAA2b,GAAA,YAAAA,EAAqB,OAArB,KAAA3b,EAA6B,EAAE,EACjE6K,GAAAuQ,EAAW,MAAOA,EAAW,UAAWA,EAAW,OAAQA,EAAW,SAAUA,EAAW,IAAI,EACrGI,EAAA,oBAAoB,OAAAJ,EAAW,KAAM,EAClD,EACC,CAACU,CAAwB,CAAC,EAG3BlJ,EAAC,OACC,kBAAiB,GAAG,OAAAwI,EAAW,IAC/B,UAAW,iHAAiH,OAAAG,GAC5H,MAAO,CAAE,aAAc,gBAAiB,UAAW,yBAA0B,EAE7E,UAAA3I,EAAC,MACC,WAACzD,EAAAqK,EAAA,UAAS,SAAUrK,EAAC8E,GAAgB,IACnC,SAAC9E,EAAAuL,GAAA,CAAqB,YAAAY,EAA0B,WAAAD,EAAwB,oBAAAa,EAA0C,WAAAd,CAAwB,GAC5I,EACAxI,EAAC,MAAI,WAAU,YACb,UAAAzD,EAACqK,WAAS,UAAWrK,EAAA8E,GAAA,CAAgB,GACnC,SAAA9E,EAAC0L,GAAA,CACC,WAAAO,EACA,kBAAA/D,EACA,eAAAC,CAAA,GAEJ,EACAnI,EAACqK,YAAS,SAAUrK,EAAC8E,KAAgB,EACnC,SAAA9E,EAAC,OAAI,QAAS+M,EAAqB,UAAU,iBAC3C,SAAA/M,EAAC2L,IAAoB,MAAOM,EAAW,MAAO,QAASA,EAAW,SAAU,EAC9E,CACF,KACC5B,WAAS,UAAWrK,EAAA8E,GAAA,EAAgB,EACnC,SAAC9E,EAAA,OAAI,QAAS+M,EAAqB,UAAU,iBAC3C,SAAA/M,EAAC4L,GAAyB,YAAAK,CAAA,CAAwB,CACpD,GACF,EACAjM,EAACqK,YAAS,SAAUrK,EAAC8E,KAAgB,EACnC,SAAA9E,EAAC6L,GAA8B,YAAAI,CAAA,CAAwB,CACzD,IACF,GACF,IACC,MACC,WAACjM,EAAA,OAAI,UAAU,iEAIf,GACCA,EAAAqK,WAAA,CAAS,SAAUrK,EAAC8E,IAAgB,GACnC,SAAA9E,EAAC8L,GAAA,CACC,UAAWW,EACX,oBAAAM,CAAA,GAEJ,GACF,EAEA/M,EAACyH,GAAA,CACC,UAAWe,EACX,WAAYI,EACZ,MAAM,QACN,YAAY,mEACd,IAGN,CC/HA,SAAwBoE,GAAmB,CACzC,KAAAC,EACA,QAAAC,EACA,WAAAC,EAAa,GACb,wBAAAC,EAA0B,QAC1B,YAAAC,EAAc,GACd,eAAAC,EAAiB,GACjB,uBAAAC,EACA,gBAAAC,EAAkB,GAClB,gBAAAC,EAAkB,MACpB,EAAU,CACR,MAAM3I,EAAkB0G,OAAK,UAAM,+BAAmD,OAAC,EACjFlc,EAAKgb,KACL,CAACoD,EAAgB,CAAE,KAAA3P,EAAM,QAAAE,EAAS,UAAAE,EAAW,UAAAD,EAAW,MAAAF,CAAO,GACnE/O,EAAc,+BAA+B,EACzC,CAAC0e,EAAuBC,CAAwB,EAAI3Q,WAAS,CAAC,EAC9D4Q,EAAuB,uCAE7B,IAAIC,EAAsB,EACtBC,EAAoB,EAElB,MAAAC,EAAoBvS,GAAwB,CAClCqS,EAAArS,EAAE,eAAe,CAAC,EAAE,SAG9BwS,EAAmBxS,GAAwB,CACnCsS,EAAAtS,EAAE,eAAe,CAAC,EAAE,SAG5ByS,EAAiB,IAAM,OACvBJ,EAAcC,EAAY,KACxBJ,IAAyB9c,EAAA4c,GAAA,YAAAA,EAAiB,SAAjB,KAAA5c,EAA2B,GAAK,EAC3D+c,EAAyBD,EAAwB,CAAC,EAElDC,EAAyB,CAAC,GAI1BE,EAAcC,EAAY,MAExBJ,EAAwB,EAE1BC,EAAyBD,EAAwB,CAAC,EAE/CF,GAA0CG,GAAAH,GAAA,YAAAA,EAAiB,QAAS,CAAC,EAE5E,EAGF5N,YAAU,IAAM,EACV4N,GAAmB,MAAaA,EAAgB,OAAS,IAC5CU,IACjB,EACC,CAACV,CAAe,CAAC,EAEpB,MAAMU,GAAiB,SAAY,CAUjC,MAAMT,EATwB,CAC5B,QAAS,KACT,OAAQ,KACR,WAAY,KACZ,SAAU,KACV,kBAAmB,KACnB,kBAAmB,KACnB,cAAe,KAEW,GAG9B,OAAIxP,EACK8B,EAAC,MAAI,IAAG,YAAa,GAG1B/B,EAEAwF,EAAC,OACC,MAAO,CAAE,gBAAiB,0BAA2B,EACrD,UAAU,oDACV,KAAK,QAEL,UAACzD,EAAA,KAAE,UAAU,YAAY,SAA6C,kDACtEA,EAAC,KACC,SAACA,EAAA,KAAE,KAAM,SAAS,KAAM,qCAAyB,CACnD,MAKFmN,GAAcM,GAAmB,OAEhC,MAAI,WAAW,GAAG,OAAAD,EAAkB,QAAU,IAC5C,UAAgBC,EAAAE,CAAqB,GAAK,MACzC3N,EAAC,OACC,aAAcgO,EACd,YAAaC,EACb,WAAYC,EAEZ,SAAAlO,EAACgM,GAAA,CACC,WAAYyB,EAAgBE,CAAqB,EACjD,cAAc,cAChB,EACF,IAED,MAAI,WAAU,+BACZ,SAAAF,EAAgB,OAAS,GACxBzN,EAAA+C,EAAA,CACG,SAAgB0K,EAAA,MAAM,EAAGR,CAAI,EAAE,IAAI,CAACxf,EAAM+M,IAEvCwF,EAAC,UACC,QAAS,IAAM4N,EAAyBpT,CAAK,EAC7C,UAAW,UACT,OAAAmT,GAAyBnT,EAAQ,eAAiB,iBACpD,yDAGL,EACH,CAEJ,EASF,IAGEiT,GAAmB,KAGjBzN,EAAA+C,EAAA,UAAA/C,EAAA+C,EAAA,CACG,SAAa5E,GAAAJ,GAAQ,OAAaA,GAAA,YAAAA,EAAM,KAAK,OAAOjO,GAAKA,EAAE,uBAAyB+d,KAAyB,KAE1GpK,EAAAV,EAAA,WAAA/C,EAAC,OACC,UAAW,UACT,OAAAsN,EAAiB,yBAA2B,yBAC9C,WAEC,SAAKvP,EAAA,KAAK,OAAOjO,GAAKA,EAAE,uBAAyB+d,CAAoB,EAAE,MAAM,EAAGZ,CAAI,EAAE,IAAI,CAACxf,EAAmB+M,IAE1GwF,EAAA,OAAI,UAAU,6BACb,SAACA,EAAA,OAAI,UAAU,SACb,SAACA,EAAAqK,EAAA,UAAS,SAAUrK,EAAC8E,IAAgB,EACnC,SAAA9E,EAACgM,GAAA,CACC,WAAYve,EACZ,eACE8f,GAA0B,KACtBA,EACA,OAEN,kBAAmBF,EAAc,GAAO,QAE5C,EACF,EAb+C,EAAA5f,EAAK,GAAK6B,CAc3D,CAEH,EACH,EACA0Q,EAAC,OAAI,UAAU,oCACZ,WACEA,EAAA,KAAE,KAAM,mBACP,SAAAA,EAACI,IAAO,QAAQ,UAAU,SAAS,mBAAmB,UAAU,SAAS,CAC3E,GAECJ,EAAA,QAAI,CAET,GACF,GAEEA,EAAA+C,EAAA,IAEN,CACF,GAIA/C,EAAA+C,EAAA,CAEI,cACE,SACEU,EAAAV,EAAA,WAAA/C,EAAC,OACC,UAAW,UACT,OAAAsN,EAAiB,yBAA2B,yBAC9C,UAEC,SAAAG,GAAA,YAAAA,EAAiB,MAAM,EAAGR,GAAM,IAAI,CAACxf,EAAmB+M,IAEpDwF,EAAAqK,EAAA,UAAgC,SAAUrK,EAAC8E,IAAgB,EAC1D,SAAA9E,EAAC,OACC,UAAW,iBAAiB,OAAAoN,GAG5B,SAAApN,EAAC,OAAI,UAAWvF,KAAa,OAAS,0BAGpC,SAAAuF,EAACgM,GAAA,CACC,WAAYve,EACZ,kBAAmB4f,EAAc,GAAO,OAC1C,EACF,GATK5f,EAAK,EAHC,GAAAA,EAAK,KAAO6c,GAc3B,GAEH,CACH,EACC4C,IACE,MAAI,WAAU,oCACb,SAAClN,EAAA,KAAE,KAAM,SACP,SAAAA,EAACI,GAAA,CACC,GAAG,qBACH,QAAQ,UACR,SAAS,mBACT,UAAU,SAEd,IACF,EAEAJ,EAAC,MAAI,KAET,EACF,CAEJ,EAIR,gHCnPwB,SAAAoO,GAA6B,CAAE,aAAAze,GAAuB,CACtE,MAAC0e,EAAwB,CAAE,KAAAtQ,EAAM,QAAAE,EAAS,UAAAC,EAAW,UAAAC,EAAW,OAAAtC,CAAQ,GAC5E5M,EAAc,qCAAqC,EAErD4Q,YAAU,IAAM,CACCyO,GAAA,EACd,CAAC3e,CAAY,CAAC,EAEjB,MAAM2e,EAAiB,SAAY,CACjC,MAAMD,EAAuB1e,CAAY,GAG3C,OAEIqQ,EAAA+C,EAAA,UAAAU,EAAC,MAAI,WAAU,gBACZ,UACCvF,GAAA8B,EAAC,OAAI,UAAU,OACb,WAAC8E,EAAgB,QAAQ,IAAK,CAChC,GAED3G,GAAaJ,GAAQ,OAAaA,GAAA,YAAAA,EAAM,KAAK,QAAS,GAEnD0F,EAAAV,EAAA,WAACU,EAAA,MAAG,UAAU,iCACZ,UAACzD,EAAA,QAAK,UAAU,gBAAgB,SAA8B,mCAC7DA,EAAA,QAAK,UAAU,oBAAoB,SAAW,iBACjD,EAEEyD,EAAAV,EAAA,WAAA/C,EAAC,OAAI,UAAU,kBACb,SAACA,EAAAqK,WAAA,CAAS,SAAWrK,EAAA8E,EAAA,EAAgB,EACnC,SAAA9E,EAACgN,IAAmB,KAAM,EAAG,gBAAiBjP,GAAA,YAAAA,EAAM,KAAM,EAC5D,CACF,GACAiC,EAAC,OAAI,UAAU,iBACb,WAACqK,EAAS,mBAAWrK,EAAA8E,EAAA,EAAgB,EACnC,SAAA9E,EAACgN,GAAA,CACC,KAAM,EACN,gBAAiB,GACjB,WAAU,GACV,gBAAiBjP,GAAA,YAAAA,EAAM,OAE3B,CACF,IACF,GACF,EAEJ,EACF,EAEJ,CC1DA,MAAewQ,GAAA,gnCCAAC,GAAA,44BCAAC,GAAA,64CCAFC,GAAiB,UACjBC,GAAY,YACZC,GAAQ,OACRC,GAAU,UCuBvB,SAAwBC,GAAU,CAChC,GAAAC,EACA,YAAAC,EACA,sBAAAC,EACA,SAAAC,CACF,EAAyB,CACqBjS,WAAS,EAAK,EAC1D,KAAM,CAACkS,EAAeC,CAAgB,EAAInS,WAAS,CAAC,EAC9C,CAACoS,EAAOC,CAAQ,EAAIrS,EAAA,SAAmB,CAAE,GAEzC,CACJ,KAAMsS,EACN,QAASC,EACT,UAAWC,EACX,UAAWC,EACX,OAAQC,EACR,MAAOC,CACL,EAAA3gB,EAAc,oCAAoC8f,GAAA,KAAAA,EAAM,EAAE,EAExD,CACJ,KAAMc,EACN,QAASC,EACT,UAAWC,EACX,UAAWC,EACX,OAAQC,EACR,MAAOC,CACL,EAAAjhB,EAAc,qCAAqC8f,GAAA,KAAAA,EAAM,EAAE,EAM/DlP,YAAU,IAAM,CACV6P,GAAmCS,GAAA,EACtC,CAACT,CAAmB,CAAC,EAExB,MAAMS,EAAgB,IAAM,CAC1B,IAAI5X,EAAiB,GACjBgX,GAAkB,MAAaA,EAAe,KAAK,OAAS,IAC9CA,GAAA,MAAAA,EAAA,KAAK,QAASxf,GAAY,CACpCA,EAAQ,cAAc,OAAS2e,IAChBU,EAAArf,EAAQ,cAAc,QAAQ,GAG/CA,EAAQ,cAAc,OAAS4e,IAC/B5e,EAAQ,cAAc,OAAS6e,IAC/B7e,EAAQ,cAAc,OAAS8e,KAE1BtW,EAAA,KAAKxI,EAAQ,cAAc,QAAQ,CAC1C,IAIJwI,EAAO,CAAC,GAAG,IAAI,IAAIA,CAAI,CAAC,EACxBA,EAAK,KAAK,EACV+W,EAAS/W,CAAI,GAGT6X,EAAe,IACfJ,EACE,SAASH,GAAA,YAAAA,EAAU,KAAK,SAAS,EAC5B,GAAG,gBAASA,GAAA,YAAAA,EAAU,KAAK,SAAS,EAAC,MAErCA,GAAA,YAAAA,EAAU,KAAK,UAGnB,GAGT,OAEIpM,EAAAV,EAAA,WAACU,EAAA,OAAI,UAAU,8FACb,UAAAzD,EAAC,OAAI,UAAU,SACb,SAACyD,EAAA,OAAI,UAAU,kCACb,UAACzD,EAAA,OAAI,UAAU,cACb,SAAAA,EAACqK,YAAS,SAAUrK,EAAC8E,IAAgB,EACnC,SAAA9E,EAAC,OACC,IAAI,eACJ,IAAKwO,GACL,UAAU,kBACV,MAAO,CAAE,YAAa,KAAM,IAEhC,CACF,KACC,MAAI,WAAU,aACb,SAAC/K,EAAA,KAAE,UAAU,sCACV,UAAA4L,EAAM,OAAS,EAAIA,EAAM,CAAC,EAAI,MAAQA,EAAMA,EAAM,OAAS,CAAC,EAAIA,EAAM,CAAC,EAAE,cAC5E,CACF,IACF,CACF,KACC,MAAI,WAAU,SACb,SAAC5L,EAAA,OAAI,UAAU,kCACb,UAACzD,EAAA,OAAI,UAAU,cACb,SAAAA,EAACqK,YAAS,SAAUrK,EAAC8E,IAAgB,EACnC,SAAA9E,EAAC,OACC,IAAI,WACJ,IAAKuO,GACL,UAAU,kBACV,MAAO,CAAE,YAAa,KAAM,IAEhC,CACF,KACC,MAAI,WAAU,aACb,SAAC9K,EAAA,KAAE,UAAU,sCACV,UAAA0L,EAAc,SAAOA,GAAiB,EAAI,GAAK,OAClD,CACF,IACF,CACF,KACC,MAAI,WAAU,SACb,SAAC1L,EAAA,OAAI,UAAU,mCACb,UAACzD,EAAA,OAAI,UAAU,cACb,SAAAA,EAACqK,YAAS,SAAUrK,EAAC8E,IAAgB,EACnC,SAAA9E,EAAC,OACC,IAAI,aACJ,IAAKyO,GACL,UAAU,kBACV,MAAO,CAAE,YAAa,KAAM,IAEhC,CACF,GACCqB,GACE9P,EAAA,OAAI,UAAU,0BAA0B,KAAK,QAAQ,SAEtD,yFAEDgQ,GACEhQ,EAAA,OAAI,UAAU,aACb,SAACA,EAAA,KAAE,UAAU,sCAAuC,SAAaoQ,EAAA,CAAE,GACrE,GAEJ,CACF,IACF,IACC,MAAI,WAAU,uEACb,SAACpQ,EAAA,KAAG,WAAY,CAClB,EACF,GAEJ,CCjKA,MAAMqQ,GAAY7E,EAAA,KAAK,IAAMC,EAAA,WAAO,yBAAa,EAAC,4BAM1B,SAAA6E,GAAc,CAAE,aAAA9F,GAAuB,CACvD,MAAE,KAAAzM,EAAM,QAAAE,EAAS,UAAAE,EAAW,UAAAD,GAChCjP,EAAc,uCAAuCub,GAAA,KAAAA,EAAgB,EAAE,EAEnE,CAAC+F,EAAWC,CAAY,EAAIvT,EAAsB,WAExD4C,mBAAU,IAAM,CACd,GAAG1B,IAAaJ,GAAA,YAAAA,EAAM,KAAK,QAAS,EAAE,CACpC,IAAI0S,EAAwB,GACtB1S,GAAA,MAAAA,EAAA,KAAK,QAAShO,GAAY,OACpB0gB,EAAA,KAAK,CAAC,KAAM1gB,EAAQ,aAAa,KAAM,OAAOc,EAAAd,EAAQ,aAAa,QAArB,KAAAc,EAA8B,EAAG,KAE3F2f,EAAaC,CAAS,CACxB,GACC,CAACtS,CAAS,CAAC,EAITsF,EAAAV,EAAA,WAAA9E,KACE,MAAI,WAAU,0BAA0B,KAAK,QAAQ,SAEtD,yFAEDC,GAAa8B,EAAC8E,EAAgB,QAAQ,GAAK,GAC3C3G,GAAaoS,GAAa,MAAavQ,EAACqQ,GAAA,CAAU,SAAQ,GACnC,cAAeE,EACf,OAAO,mCACP,MAAO,eAAe,CAChD,GAEJ,gHC7BwB,SAAAG,GAAS,CAAE,aAAAlG,GAAsC,CAC7BvN,WAAS,EAAI,EACvD,KAAM,CAAE,KAAAc,EAAM,QAAAE,EAAS,UAAAE,EAAW,UAAAD,CAAA,EAAcjP,EAAc,iCAC5Dub,GAAA,KAAAA,EAAgB,IAGZmG,EAAoBC,GAAyB,OAG3C,MAAAC,EAFS,IAAI,YACA,gBAAgBD,EAAM,WAAW,EACjC,cAAc,QAAQ,EAClC,OAAA/f,EAAAggB,GAAA,YAAAA,EAAQ,aAAa,SAArB,KAAAhgB,EAA+B,IAGxC,OAEK4S,EAAAV,EAAA,WAAa7E,GAAA8B,EAAC8E,EAAgB,QAAQ,GAAK,GAC3C3G,GAAa/F,EAAW2F,GAAA,YAAAA,EAAM,KAAK,SAAS,EAEzC0F,EAAAV,EAAA,WAAAU,EAAC,UAAQ,WAAU,WAAW,GAAG,8BAC/B,UAACA,EAAA,OAAI,UAAU,wBACb,UAACzD,EAAA,MAAG,UAAU,+CAA+C,SAE7D,kBACC,IAAE,QAAO,SAAS,KAAM,qCAAqC,OAAAjC,GAAA,YAAAA,EAAM,KAAK,SAAS,QAAQ,IAAK,KAAMA,GAAA,YAAAA,EAAM,KAAK,UAAW,UAAU,6DAA6D,SAElM,iBACF,IACC,MACC,UAAAiC,EAAC,UACC,IAAK2Q,EAAiB5S,GAAA,YAAAA,EAAM,KAAK,SAAS,EAC1C,MAAM,OACN,UAAU,0BAEd,GACF,EACAiC,EAAC,KAAG,WAAU,oCAAqC,IACrD,EAEEA,EAAA+C,EAAA,GAEN,GAEJ,gHCjDMsN,GAAY7E,EAAA,KAAK,IAAMC,EAAA,WAAO,yBAAa,EAAC,4BAM1B,SAAAqF,GAAY,CAAE,aAAAtG,GAAuB,CACrD,MAAE,KAAAzM,EAAM,QAAAE,EAAS,UAAAE,EAAW,UAAAD,GAChCjP,EAAc,qCAAqCub,GAAA,KAAAA,EAAgB,EAAE,EAEjE,CAAC+F,EAAWC,CAAY,EAAIvT,EAAsB,WAExD4C,mBAAU,IAAM,CACd,GAAG1B,IAAaJ,GAAA,YAAAA,EAAM,KAAK,QAAS,EAAE,CACpC,IAAI0S,EAAwB,GACtB1S,GAAA,MAAAA,EAAA,KAAK,QAAmBhO,GAAA,OAClB0gB,EAAA,KAAK,CAAC,KAAM1gB,EAAQ,UAAU,KAAM,OAAOc,EAAAd,EAAQ,UAAU,OAAlB,KAAAc,EAA0B,EAAG,KAEpF2f,EAAaC,CAAS,CACxB,GACC,CAACtS,CAAS,CAAC,EAITsF,EAAAV,EAAA,WAAA9E,KACE,MAAI,WAAU,0BAA0B,KAAK,QAAQ,SAEtD,yFAEDC,GAAa8B,EAAC8E,EAAgB,QAAQ,GAAK,GAC3C3G,GAAaoS,GAAa,MAAcvQ,EAACqQ,GAAA,CAAU,SAAQ,GACpC,cAAeE,EACf,OAAO,iCACP,MAAO,eAAe,CAChD,GAEJ,gHCvBA,SAAwBQ,GAAa,CAAE,MAAAC,EAAO,aAAAxG,EAAc,YAAAyG,GAAqC,YACzF,MACJ,KAAMC,EACN,UAAWC,EACX,QAASC,EACT,UAAWC,CACT,EAAApiB,EAAc,iCAAiCub,GAAA,KAAAA,EAAgB,EAAE,EAC/D,CACJ,KAAMqF,EACN,UAAWG,EACX,QAASF,EACT,UAAWC,CACT,EAAA9gB,EAAc,qCAAqCub,GAAA,KAAAA,EAAgB,EAAE,EACnE,CACJ,KAAM8G,EACN,UAAWC,EACX,QAASC,EACT,UAAWC,CACT,EAAAxiB,EAAc,uCAAuCub,GAAA,KAAAA,EAAgB,EAAE,EACrE,CACJ,KAAMkH,EACN,UAAWC,EACX,QAASC,EACT,UAAWC,CACT,EAAA5iB,EAAc,qCAAqCub,GAAA,KAAAA,EAAgB,EAAE,EACnE,CACJ,KAAMsH,EACN,UAAWC,EACX,QAASC,EACT,UAAWC,CACT,EAAAhjB,EAAc,4CAA4Cub,GAAA,KAAAA,EAAgB,EAAE,EAEtCvN,WAAS,EAAI,EACvD,KAAM,CAACiV,EAAwBC,CAAyB,EAAIlV,EAAsB,WAC1BA,WAAsB,EAE9E4C,YAAU,IAAM,CACd,GAAI0R,IAA0BD,GAAA,YAAAA,EAAmB,KAAK,QAAS,EAAG,CAChE,IAAIb,EAAyB,GACVa,GAAA,MAAAA,EAAA,KAAK,QAASvhB,GAAY,OACjC0gB,EAAA,KAAK,CAAE,KAAM1gB,EAAQ,aAAa,KAAM,OAAOc,EAAAd,EAAQ,aAAa,QAArB,KAAAc,EAA8B,EAAI,KAE7FshB,EAA0B1B,CAAS,CACrC,GACC,CAACc,CAAsB,CAAC,EAE3B1R,YAAU,IAAM,CACd,GAAI8R,IAAwBD,GAAA,YAAAA,EAAiB,KAAK,QAAS,EAAG,CAC5D,IAAIjB,EAAyB,GACZiB,GAAA,MAAAA,EAAA,KAAK,QAAS3hB,GAAY,OAC/B0gB,EAAA,KAAK,CAAE,KAAM1gB,EAAQ,UAAU,KAAM,OAAOc,EAAAd,EAAQ,UAAU,QAAlB,KAAAc,EAA2B,EAAI,KAEvFshB,EAA0B1B,CAAS,CACrC,GACC,CAACkB,CAAoB,CAAC,EAEzB,MAAMvB,GAAe,IACfJ,EACE,SAASH,GAAA,YAAAA,EAAU,KAAK,SAAS,EAC5B,GAAG,gBAASA,GAAA,YAAAA,EAAU,KAAK,SAAS,EAAC,MAErCA,GAAA,YAAAA,EAAU,KAAK,UAGnB,GAGT,OAEIpM,EAAAV,EAAA,WAAAU,EAAC,UAAQ,WAAU,WAAW,GAAG,oCAC/B,UAACzD,EAAA,MAAG,UAAU,oDAAoD,SAElE,kBACAA,EAAC,OAAI,UAAWa,GAAA,EACd,SAAC4C,EAAA,KAAE,UAAU,0CACV,UAAWrL,EAAA4Y,CAAK,EAAMvN,EAAAV,EAAA,uBAAU/C,EAAA,QAAK,UAAU,aAAc,SAAMgR,EAAA,GAAO,EAAQhR,EAAA+C,EAAA,IAClFsO,GAAoBrR,EAAC8E,EAAgB,QAAQ,GAAK,GAClDqM,GAEG1N,EAAAV,EAAA,WAAA/C,EAAC,KAAG,IAAE,eACK,OAAK,WAAU,aAAc,SAAAkR,GAAA,YAAAA,EAAa,KAAK,SAAS,GACrE,EAEDnB,GAAiB/P,EAAC8E,EAAgB,QAAQ,GAAK,GAC/CkL,EAEGvM,EAAAV,EAAA,WAAA/C,EAAC,KAAG,IAAE,0BACkBA,EAAA,QAAK,UAAU,aAAc,cAAe,GACtE,EAEEA,EAAA+C,EAAA,IAEH0O,GAA0BzR,EAAC8E,EAAgB,QAAQ,GAAK,GACxDyM,GAA0BD,EAAkB,KAAK,OAAS,EAEvD7N,EAAAV,EAAA,WAAA/C,EAAC,KAAG,IAAE,mBACS,KAAG,IAClBA,EAAC,QAAK,UAAU,aACb,6BAAmB,qBAAM,IAAI,CAACvS,EAAM4M,IAC5B,GAAG,OAAA5M,EAAK,aAAa,OAC1B,OAAA4M,GAAIiX,GAAA,YAAAA,EAAmB,KAAK,QAAS,EAAI,KAAO,KAGtD,GACF,EAEEtR,EAAA+C,EAAA,IA4CH4O,GAAwBD,EAAgB,KAAK,OAAS,EAEnDjO,EAAAV,EAAA,WAAA/C,EAAC,KAAG,IAAE,kBACQ,KAAG,IACjBA,EAAC,QAAK,UAAU,aACb,6BAAiB,qBAAM,IAAI,CAACvS,EAAM4M,IAC1B,GAAG,OAAA5M,EAAK,UAAU,MACvB,OAAA4M,GAAIqX,GAAA,YAAAA,EAAiB,KAAK,QAAS,EAAI,KAAO,KAGpD,GACF,EAEE1R,EAAA+C,EAAA,IAEHgP,IAA+BD,GAAA,YAAAA,EAAwB,KAAK,QAAS,EAElErO,EAAAV,EAAA,WAAA/C,EAAC,KAAG,IAAE,kBACU,IAChBA,EAAC,QAAK,UAAU,aACb,8BAAwB,sBAAM,IAAI,CAACvS,EAAM4M,IACjC,GAAG,OAAA5M,EAAK,SAAS,MACtB,OAAA4M,GAAIyX,GAAA,YAAAA,EAAwB,KAAK,QAAS,EAAI,KAAO,KAG3D,GACF,EAEE9R,EAAA+C,EAAA,IAEH3K,EAAW6Y,CAAW,EAEnBxN,EAAAV,EAAA,WAAA/C,EAAC,KAAG,IAAE,gBAEL,KAAG,IACHA,EAAA,QAAK,UAAU,aAAc,SAAYiR,EAAA,GAC5C,EAEEjR,EAAA+C,EAAA,IAEHiN,EAEGvM,EAAAV,EAAA,WAAA/C,EAAC,KAAG,IAAE,8BAEL,KAAG,MACH,OAAK,WAAU,aAAc,SAAA6P,EAAS,KAAK,0BAA0B,GACxE,EAEE7P,EAAA+C,EAAA,KAEN,CACF,IACF,EACA/C,EAAC,KAAG,WAAU,kCAAmC,EACnD,GAEJ,gHClNwB,SAAAoS,GAAQ,CAAE,aAAA5H,GAAsC,OAC5BvN,WAAS,EAAI,EACjD,MAAC,KAAAc,EAAM,QAAAE,EAAS,UAAAE,EAAW,UAAAD,GAAajP,EAAc,2CAA2Cub,GAAA,KAAAA,EAAc,EAAE,EAQvH,OAEK/G,EAAAV,EAAA,WAAa7E,GAAA8B,EAAC8E,EAAgB,QAAQ,GAAI,GAC1C3G,GAAa/F,EAAW2F,GAAA,YAAAA,EAAM,KAAK,WAAW,EAE3C0F,EAAAV,EAAA,WAAAU,EAAC,UAAQ,WAAU,WAAW,GAAG,6BAC/B,UAACzD,EAAA,MAAG,UAAU,oDAAoD,SAElE,cACCA,EAAA,OAAI,UAAWa,GAAA,EACd,SAAAb,EAAC,MAAI,WAAU,0BACb,SAAAyD,EAAC,MAAI,WAAU,kCACb,UAACzD,EAAA,OAAI,UAAU,SACb,SAAAA,EAAC,MAAG,UAAU,+DAA+D,6EAE7E,CACF,GACAA,EAAC,OAAI,UAAU,8BACb,WAAC,IAAE,QAAO,SAAS,KAAM,GAAG,QAAAnP,EAAAkN,GAAA,YAAAA,EAAM,KAAK,cAAX,MAAAlN,EAAwB,SAAS,QAAU,GAAK,YAAa,OAAAkN,GAAA,YAAAA,EAAM,KAAK,aAClG,SAAAiC,EAACI,GAAA,CACC,GAAG,eACH,QAAQ,UACR,UAAU,0EACX,+BAGH,CACF,GACF,EACF,GACF,GACF,EACAJ,EAAC,KAAG,WAAU,iCAAkC,IAClD,EAEEA,EAAA+C,EAAA,GAEN,GAEJ,gHClDwB,SAAAsP,GAAoB,CAAE,aAAA7H,GAAuB,OACzBvN,WAAS,EAAI,EACjD,MAAE,KAAAc,EAAM,QAAAE,EAAS,UAAAE,EAAW,UAAAD,GAChCjP,EAAc,0CAA0Cub,GAAA,KAAAA,EAAgB,EAAE,EAE5E,OAEM/G,EAAAV,EAAA,WAAc7E,GAAA8B,EAAC8E,EAAgB,QAAQ,GAAK,GAC7C3G,IAAaJ,GAAA,YAAAA,EAAM,KAAK,QAAS,GAE9B0F,EAAAV,EAAA,WAAAU,EAAC,WACC,UAAU,WACV,GAAI,yCAEJ,UAACzD,EAAA,MAAG,UAAU,oDAAoD,SAElE,+BAEAA,EAAC,OAEC,SACGA,EAAA+C,EAAA,WAAAlS,EAAAkN,GAAA,YAAAA,EAAM,OAAN,YAAAlN,EAAY,IAAKpD,GAEduS,EAAC,OAEC,UAAU,kEAEV,WAAC,KAAG,WAAU,sCAAuC,SAAAvS,EAAK,iBAAiB,KAAK,GAH3E,GAAG,OAAA+K,GAAU/K,EAAK,EAAE,EAAC,GAOlC,EACF,GACF,EACAuS,EAAC,KAAG,WAAU,iCAAkC,IAClD,CAEJ,GAEJ,CCvCwB,SAAAsS,GAAM,CAAE,SAAAC,GAAmB,CACPtV,kBAAS,EAAI,EASlD+C,EAAA+C,EAAA,UAAA3K,EAAWma,CAAQ,GAEhB9O,EAAAV,EAAA,WAAAU,EAAC,UAAQ,WAAU,0BAA0B,GAAG,2BAC9C,UAACzD,EAAA,MAAG,UAAU,oDAAoD,SAElE,UACAA,EAAC,OAAI,UAAWa,GAAA,EACd,SAAC4C,EAAA,MAAG,UAAU,wBAAwB,qBAC3B,IACTzD,EAAC,KAAE,KAAMuS,EAAU,UAAU,kCAAkC,OAAO,SACnE,SACHA,CAAA,IACF,CACF,IACF,EACAvS,EAAC,KAAG,WAAU,kCAAmC,GACnD,EAEJ,EAEJ,gHChCwB,SAAAwS,GAAY,CAAE,YAAAC,GAAsB,CAC1D,MAAMC,EAAgB,IAAc,CAC5B,MAAAlX,EAAO,IAAI,KAAKiX,CAAW,EACjC,MAAO,GAAG,OAAAjX,EAAK,QAAQ,EAAI,GAAK,IAAMA,EAAK,QAAY,EAAAA,EAAK,QAAS,OACnE,OAAAA,EAAK,SAAS,EAAI,EAAI,GAAK,IAAM,IAChC,OAAAA,EAAK,SAAS,EAAI,EAAC,KAAI,OAAAA,EAAK,cAAa,EAG9C,OAEKwE,EAAA+C,EAAA,UAAA3K,EAAWqa,CAAW,GAEnBhP,EAAAV,EAAA,WAAC/C,EAAA,WAAQ,UAAU,WAAW,GAAG,2BAC/B,SAACyD,EAAA,OAAI,UAAW5C,GAAA,EACd,UAACb,EAAA,MAAG,UAAU,oDAAoD,SAElE,iCACAA,EAAC,KAAG,WAAU,oCACZ,SAAAA,EAAC,KAAE,UAAU,sCAAuC,SAAc0S,EAAA,EAAE,CACtE,GACC1S,EAAA,KAAE,UAAU,6CAA6C,SAM1D,6ZACF,CACF,GACAA,EAAC,KAAG,WAAU,kCAAmC,GACnD,EAEJ,EAEJ,gHC7Ce2S,GAAA,yWCAAC,GAAA,skBCYS,SAAAC,GAAW,CAAE,KAAAC,EAAO,EAAG,KAAA7F,EAAO,GAAI,IAAA8F,EAAM,EAAG,YAAAC,EAAc,QAAgB,CAE7F,OAAAhT,EAAC,OAAI,GAAG,sBAAsB,UAAU,gCACrC,eAAM,KAAK,CAAE,OAAQ+S,GAAO,CAACE,EAAG5Y,IAAMA,EAAI,CAAC,EAAE,IAAK6Y,GAAO,CACpD,IAAAC,EAAOD,GAAMJ,EAAOH,GAAeC,GACvC,OAAQ5S,EAAA,OAAyB,UAAW,GAAG,OAAAgT,GAAe,SAAChT,EAAA,OAAI,IAAI,YAAY,QAAQ,OAAQ,UAAW,kCAAmC,MAAO,CAAC,MAAO,GAAG,OAAAiN,EAAI,OAAO,IAAKkG,CAAK,IAAvK,GAAG,OAAAD,GAAK,OAAA5I,GAAA,EAAiK,CAC3L,EACH,EAEJ,gHCHgB,SAAA8I,GAAa,CAAE,WAAAnH,GAAqB,aAClD,KAAM,CAACoH,EAAaC,CAAc,EAAIrW,WAAS,EAAE,EAC3C,CAACsW,EAAmB,CAAE,KAAAxV,EAAM,UAAAG,EAAW,UAAAC,EAAW,QAAAF,EAAS,EAC/DtM,GAAW,+BACP,CACJ6hB,EACA,CACE,KAAMC,EACN,UAAWC,EACX,UAAWC,EACX,QAASC,CACX,GACEjiB,GAAW,+BAETkiB,EAAoB,SAAY,CAC9B,MAAAL,EAAkBvH,EAAW,qBAAqB,GAEpD6H,EAAoB,SAAY,CAC9B,MAAAP,EAAkBtH,EAAW,EAAE,GAGvCpM,YAAU,IAAM,CACIiU,IACAD,GACpB,EAAG,CAAE,GAEL,SAAShJ,GAAoB,OACrB,MAAAG,EAAM,IAAI,MACZA,EAAA,KAAMna,EAAAob,GAAA,YAAAA,EAAY,6BAAZ,KAAApb,EAA0C,GACpDma,EAAI,OAAS,IAAM,OACFsI,GAAAziB,EAAAob,GAAA,YAAAA,EAAY,6BAAZ,KAAApb,EAA0C,EAAE,GAE7Dma,EAAI,QAAU,IAAM,CAClBsI,EAAelmB,EAAI,EAEvB,CAEAyS,YAAU,IAAM,CACIgL,GAAA,EACjB,CAACoB,CAAU,CAAC,EAEf,MAAM8H,EAAkB,IAAM,OACxB,IAAAC,EAAcjW,GAAA,YAAAA,EAAM,KAAK,IAAKjO,GAAMA,EAAE,cAAc,OACtD,CAACmkB,EAAYC,IAAMD,EAAaC,EAChC,GAEF,OAAO,YAAYF,GAAA,KAAAA,EAAe,GAAG,SAAU,GAAI,aAAYnjB,EAAAkN,GAAA,YAAAA,EAAM,KAAK,SAAX,KAAAlN,EAAqB,GAAG,SAAU,IAGnG,YAEK,SAAC,CAAAoN,GACCwF,EAAA,OAAI,UAAU,GAEb,UAACzD,EAAA,MAAG,UAAU,oDAAoD,SAAe,oBAChF9B,KACE,MACC,WAAC8B,EAAA8E,EAAA,CAAgB,OAAQ,GAAK,GAAG,KACnC,EAED3G,QAEG,SAAC6B,EAAA,OAAI,UAAU,OACb,SAAAyD,EAAC,MAAI,WAAU,GACb,UAACzD,EAAA,OAAI,UAAU,GACb,SAAAA,EAAC,OACC,UAAU,mFACV,MAAO,CAAE,aAAc,QAAS,EAEhC,SAAAyD,EAAC,MAAI,WAAU,cACb,UAAAzD,EAAC,IAAE,MAAM,gBAAgB,OAAAiM,EAAW,uBAClC,SAAAjM,EAAC,OACC,UAAU,wFACV,MAAO,CAAE,YAAa,KAAM,EAE5B,SAACA,EAAAqK,EAAA,UAAS,SAAUrK,EAAC8E,IAAgB,EACnC,SAAA9E,EAAC,OACC,IAAKqT,EACL,UAAU,uEAEd,IAEJ,EACCrT,EAAA,MAAG,UAAU,6CACX,WAAW,oBACd,EACAyD,EAAC,MAAI,WAAU,8CACb,UAACzD,EAAA,MAAG,UAAU,4BAA4B,SAAU,eAElDA,EAAA+C,EAAA,UAAAU,EAAC,MAAI,WAAU,OACb,UAAAzD,EAAC,OACC,IAAI,YACJ,UAAW,kCACX,IAAK2S,EAAA,CACP,EACAlP,EAAC,QACC,UAAU,iCACV,MAAO,CAAE,cAAe,QAAS,EAEjC,UAAAzD,EAAC,QAAK,UAAU,0BACb,aAAkB,QAAQ,CAAC,EAC9B,EAAQ,IACP2T,GACC3T,EAAA+C,EAAA,CACG,UAAa7H,GAAArK,EAAA4iB,GAAA,YAAAA,EAAA,mBAAA5iB,EAAM,eAAN,MAAAqK,EACV,IAAI,QAAA0D,GAAAzD,EAAAsY,GAAA,YAAAA,EAAa,OAAb,YAAAtY,EAAmB,eAAnB,KAAAyD,EAAmC,EAAC,aACxC,GACN,GAEJ,GACF,CACF,IACF,GACF,IAEJ,EACAoB,EAAC,OAAI,UAAU,gDACZ,0BAAM,KAAK,IAAKvS,GAGXuS,EAAA+C,EAAA,UAAAU,EAAC,MAAI,WAAU,0CACb,UAAAzD,EAAC,KAAG,WAAU,yBAA0B,SAAAvS,EAAK,MAAM,EAKnDuS,EAAC,MAAI,WAAU,kBACb,SAAAA,EAAC6S,GAAA,CACC,KAAM,KAAK,KAAKplB,EAAK,mBAAmB,EACxC,IAAK,KAAK,KAAKA,EAAK,YAAY,IAEpC,EACF,EACF,IAGN,EAsBF,EACF,GACF,EAEFuS,EAAC,KAAG,WAAU,kCAAmC,GACnD,EAEJ,EAEJ,CCxKA,SAASmU,GAAgB,CAAE,KAAAC,EAAM,iBAAAC,EAAkB,gBAAAC,EAAiB,WAAAC,EAAY,aAAA5kB,GAAuB,OAC/F,MAAC6kB,EAAc,CAAC,KAAAzW,EAAM,UAAAI,EAAW,UAAAD,EAAW,QAAAD,EAAQ,EAAI3K,GAAY,+BACpE+Y,EAAaC,KAEbmI,EAAY,SAAW,CAK3BD,EAJyB,CACvB,WAAYD,EACZ,aAAA5kB,CAAA,CAEc,GAGZ+kB,EAAe5H,cAAY,SAAW,CAE1C,MAAM2H,EAAU,GACf,CAAC,OAAO,QAAQ,CAAC,EAEpB5U,mBAAU,IAAM,EACX1B,GAAaF,IACXmW,GAAQ,MACE/H,EAAC+H,EAAK,SAAS,MAAM,EAAuCA,EAAnCA,EAAO,aAAa,OAAAG,EAAmB,CAE/E,EACC,CAACpW,EAAWF,CAAO,CAAC,EAGrB+B,EAAA+C,EAAA,CACE,WAAC,MAAI,WAAW,eAAe,OAAA5E,GAAaF,EAAU,aAAe,IACnE,SAAA+B,EAAC,UACC,MAAM,kBACN,SAAU,CAAC5H,EAAWgc,CAAI,EAC1B,QAASM,EACT,UAAU,SAET,gBAAO,WAAa,IACnB1U,EAAC,OACC,IAAKqU,GAAA,KAAAA,EAAoBM,GACzB,MAAM,QACN,QAAQ,OACR,UAAU,4DACV,IAAI,uBAGN3U,EAAC,OACC,KAAKnP,EAAAyjB,GAAA,KAAAA,EAAmBD,IAAnB,KAAAxjB,EAAuCyjB,EAC5C,MAAM,QACN,QAAQ,OACR,UAAU,4DACV,IAAI,qBACN,GAGN,EACF,EAEJ,CACA,MAAezP,UAAKsP,EAAe,2GC7DnC,SAAwBS,GAAuB,CAAE,SAAAC,EAAU,aAAAllB,EAAe,KAAM,sBAAAiC,EAAwB,MAAe,CAC/G,MACJkjB,EACA,CACE,KAAMC,EACN,QAASC,EACT,UAAWC,EACX,UAAWC,CACb,GACE5hB,GAAY,6BAEV6hB,EAAkB,SAAY,CAClC,MAAMjmB,EAA8B,CAClC,KAAMkmB,EAAe,QAAM,EAC3B,sBAAAxjB,CAAA,EAEF,MAAMkjB,EAAa5lB,CAAO,GAG5B,SAASkmB,EAAW5Z,EAAY,CACxB,MAAA6Z,EAAO7Z,EAAK,cACZ8Z,EAAQ,OAAO9Z,EAAK,WAAa,CAAC,EAAE,SAAS,EAAG,GAAG,EACnD+Z,EAAM,OAAO/Z,EAAK,QAAS,GAAE,SAAS,EAAG,GAAG,EAC5Cga,EAAQ,OAAOha,EAAK,SAAU,GAAE,SAAS,EAAG,GAAG,EAC/Cia,EAAU,OAAOja,EAAK,WAAY,GAAE,SAAS,EAAG,GAAG,EACnDka,EAAU,OAAOla,EAAK,WAAY,GAAE,SAAS,EAAG,GAAG,EACnDma,EAAe,OAAOna,EAAK,gBAAiB,GAAE,SAAS,EAAG,GAAG,EAEnE,MAAO,GAAG,OAAA6Z,EAAI,KAAI,OAAAC,EAAK,KAAI,OAAAC,EAAG,KAAI,OAAAC,EAAK,KAAI,OAAAC,EAAO,KAAI,OAAAC,EAAO,KAAI,OAAAC,EAAY,IAC/E,CAEAC,yBAAgB,IAAM,CACJT,GAClB,EAAG,CAAE,GAgCA1R,EAAAV,EAAA,WAAsBmS,GAAAlV,EAAC8E,EAAgB,QAAQ,GAAK,GACpDmQ,GAAsBjV,EAAA+C,EAAA,CAAG,UA/BFvI,GAAkB,CAC5C,GAAIya,EAAoB,CACtB,IAAIY,EAAY,OAShB,GARIrb,IAAU,EACZqb,EAAYd,GAAA,YAAAA,EAAe,KAAK,OAAQjlB,GAAMA,EAAE,gBAAkB,GACzD0K,IAAU,EACnBqb,EAAYd,GAAA,YAAAA,EAAe,KAAK,OAAQjlB,GAAMA,EAAE,gBAAkB,GACzD0K,GAAS,IAClBqb,EAAYd,GAAA,YAAAA,EAAe,KAAK,OAAQjlB,GAAMA,EAAE,gBAAkB,IAGhE+lB,GAAa,MAAaA,EAAU,OAAS,EAAG,CAC9C,IAAAtiB,EAAWsiB,EAAU,CAAC,EAC1B,MAAO,CAAClmB,GAAgB4D,EAAS,cAAgB5D,EAC/CqQ,EAACmU,GAAA,CACC,iBAAkB5gB,EAAS,iBAC3B,gBAAiBA,EAAS,gBAC1B,WAAYA,EAAS,GACrB,aAAcA,EAAS,aACvB,KAAM,oBAAoB,OAAAA,EAAS,KAAI,GAErCyM,EAAA+C,EAAA,QAEN,QAAS/C,EAAA+C,EAAA,GAEb,IAM+C8R,EAAW,CAAC,EAAE,CAC7D,GAEJ,CC5DA,MAAMiB,GAAsB,kCACtBC,GAAoB,sCACpBC,GAAsB,qCAEtBC,GACJ,0GACIC,GACJ,+EACIC,GAAwB,GAEvB,SAASC,GAAoB,CAClC,UAAAC,EACA,WAAAC,EACA,OAAAza,EACA,MAAAF,EACA,QAAA4a,CACF,EAAU,CACR,KAAM,CAACC,EAAYC,CAAa,EAAIxZ,WAAStB,CAAK,EAC5C,CAAC+a,EAAcC,CAAe,EAAI1Z,WAASsZ,CAAO,EACvCjK,GAAY,EAE7B,MAAMsK,EAAiB,IAAM,CAC3B,OAAO,SAAS,QAAO,EAGzB,SAASC,GAAoB,CAC3B,OAAIN,GAAW,KACT1a,GAAU,UAAkBsa,GACzBta,GAAU,QACbqa,GACAD,GAECM,CACT,CAEA,SAASO,GAAkB,CACzB,OAAInb,GAAS,KACPE,GAAU,UAAkBma,GACzBna,GAAU,QACbka,GACAD,GAECna,CACT,CAGAkE,mBAAU,IAAM,CACd8W,EAAgBE,GAAmB,EACnCJ,EAAcK,GAAiB,GAC9B,CAACjb,CAAM,CAAC,EAaXgE,YAAU,IAAM,CACd,GAAI,SAAS,KAAK,SAAS,kBAAkB,EAAG,CAC1C,IAAAkX,EAAmB,SAAS,cAAc,qBAAqB,EAC/DA,GAAoB,OAClBV,EACeU,EAAA,UAAU,OAAO,UAAU,EAE3BA,EAAA,UAAU,IAAI,UAAU,EAG/C,GACC,CAACV,CAAS,CAAC,EAKZrW,EAAA+C,EAAA,CACG,WAEGU,EAAAV,EAAA,WAAC/C,EAAA,OAAI,UAAU,yJACb,SAACA,EAAA,OAAI,UAAU,yCACb,SAAAyD,EAAC,MAAI,WAAU,6HACb,UAACA,EAAA,OAAI,UAAU,gDAEX,UAAAzD,EAAC,OAEC,IAAKgX,GACL,UAAU,yDAERlS,EAAgB,IACtB9E,EAAC,MAAI,WAAU,mBACb,SAAAA,EAAC,UACC,GAAG,2BACH,QAASsW,EACT,UAAU,6GAEV,SAAAtW,EAAC,OAAK,WAAU,yDAEd,SAAAA,EAAC,OACC,MAAM,6BACN,MAAO,GACP,KAAM,UACN,QAAQ,cAER,SAAAA,EAAC,OAAK,GAAE,0LAA2L,KAEvM,IAEJ,GACF,EAEAyD,EAAC,MAAI,WAAU,0CACZ,UAAU5H,GAAA,YACR,MACC,UAAAmE,EAACqK,YAAS,SAAUrK,EAAC8E,IAAgB,EACnC,SAAA9E,EAAC,OACC,IAAI,eAEJ,IAAKiX,GACL,UAAU,wBAEd,EACF,GACE,KACHjX,EAAA,MAAG,UAAU,kCAAmC,SAAWwW,EAAA,EAC5DxW,EAAC,KACC,UAAU,sCACV,wBAAyB,CAAE,OAAQ0W,GAAA,KAAAA,EAAgB,EAAG,EACvD,GACH,EAEC7a,GAAU,UACRmE,EAAA,OAAI,UAAU,6CACb,SAAAA,EAACI,GAAA,CACC,QAAQ,SACR,QAAS,IAAM,CAEEwW,GACjB,EACA,GAAG,8BACH,UAAU,mBACX,oBAGH,EACE,KACN,EACF,GACF,EACA5W,EAAC,MAAI,WAAU,wCAAyC,IAC1D,EACE,IACN,EAEJ,CCjLA,MAAekX,GAAA,kCCwCC,SAAAC,GAAoB,CAAE,aAAAxnB,EAAc,WAAAynB,EAAa,KAAM,eAAAC,EAAgB,OAAAC,EAAQ,YAAAnL,EAAc,IAAgB,0BAC3H,MAAM/D,EAAOnI,KAEPsX,EADU,IAAI7S,KACK,IAAIvO,EAAS,EAChCqhB,GAAsB3mB,GAAA,eAAe,QAAQqF,EAAU,IAAjC,KAAArF,GAAsC,GAC5D4mB,EAAiC,KAAK,MAC1C,aAAa,QAAQ/gB,EAAuB,KAC1CwE,GAAA,aAAa,QAAQxE,EAAuB,IAA5C,YAAAwE,GAA+C,aAAc,cAC3DC,GAAA,aAAa,QAAQzE,EAAuB,IAA5C,KAAAyE,GACA,MAEAuc,EAAOpN,KACP,CAACqN,EAAaC,CAAc,EAAI3a,WAAkB,CAACvC,IAAS,EAC5D6N,EAAY,MAAM,QAAQH,EAAK,SAAS,EAAIA,EAAK,UAAU,CAAC,EAAIA,EAAK,UACrEyP,EAAWzf,GAAWwG,GAAA2J,GAAA,YAAAA,EAAW,OAAX,YAAA3J,GAAiB,EAAE,EACzCkZ,EAA+B,uCAC/BC,EAAa,uCACb,CAACC,EAAcC,CAAe,EAAIhb,WAAS,EAAK,EAChD,CAACoZ,EAAW6B,CAAY,EAAIjb,WAAS,EAAK,EAC1C,CAACkb,EAAeC,CAAgB,EAAInb,WAAS,SAAS,EACtD,CAACyZ,EAAc2B,CAAe,EAAIpb,WAA6B,MAAS,EACxE,CAACqb,GAA2B,CAAC,KAAKC,EAAgB,UAAUC,EAAqB,UAAUC,GAAqB,QAAQC,CAAA,CAAkB,EAAIplB,GAAY,kCAAkC,EAC5L,CACJqlB,EACA,CACE,KAAMnM,EACN,UAAWC,EACX,QAASC,EACT,UAAWC,CACb,GACE1Y,GAAW,uCACT,CAAC/E,EAAS0pB,CAAU,EAAI3b,WAAgB,CAC5C,WAAA8a,EACA,MAAMxY,GAAAkY,GAAA,YAAAA,EAAgB,WAAhB,KAAAlY,GAA4B,GAClC,IAAK,GACL,OAAO+L,GAAAmM,GAAA,YAAAA,EAAgB,QAAhB,KAAAnM,GAAyB,GAChC,OAAOuN,GAAApB,GAAA,YAAAA,EAAgB,cAAhB,KAAAoB,GAA+B,GACtC,aAAAlpB,EACA,sBAAuB0nB,EACvB,iBAAkBS,EAClB,SAAU,CACR,qBAAsBJ,EACtB,oBAAAF,EACA,iBAAkB,SAAS,KAC3B,SAAU,SAASD,CAAQ,EAC3B,aAAA5nB,EACA,QAAS+nB,EACT,mBAAoB,EACtB,EACD,EAEK,CACJoB,EACA,CAAE,QAASC,GAAgB,UAAWC,GAAkB,MAAAhb,EAAO,UAAWib,CAAiB,GACzF/mB,GAAQ,qBAEN,CACJgnB,EACA,CACE,KAAMC,GACN,MAAOC,GACP,QAASC,EACT,UAAWC,EACX,UAAWC,EACb,GACEpoB,GAAQ,wBAENqoB,GAAa,SAAY,CAC7B,IAAIC,EAAgC,CAClC,MAAOvqB,EAAQ,MACf,SAAUA,EAAQ,KAClB,YAAaA,EAAQ,OAGvB,MAAMgqB,EAAcO,CAAa,GAG7BC,GAA4B,SAAY,CACtC,MAAApqB,EAAK,eAAe,QAAQ4H,EAA0B,EACxD5H,GACF,MAAMqpB,EAA6BrpB,CAAE,CACvC,EAGIqqB,GAAyB,SAAW,CACrCvC,GAODkB,GANyB,CACvB,WAAAlB,EACA,sBAAuBC,EACvB,aAAA1nB,CAAA,CAG2B,CAC/B,EAGFkQ,YAAU,IAAM,CACV8M,GACF,eAAe,WAAWzV,EAA0B,CACtD,EACC,CAACyV,CAAwB,CAAC,EAEvB,MAAAiN,GAAoB,MAAOjX,GAA4C,CAC3EA,EAAM,eAAe,EAErBuV,EAAa,EAAI,EACjB,MAAM2B,GAAS,EACf,MAAMH,GAA0B,EAC7BtC,GAAY,MAAMuC,GAAuB,EACvC9B,GACH,MAAM2B,GAAW,CACnB,EAGIK,GAAW,SAAY,CAC3B,IAAIC,EAAW5qB,EAAQ,MAAM,QAAQ,IAAK,EAAE,EAAE,QAAQ,IAAK,EAAE,EAAE,QAAQ,IAAK,EAAE,EAAE,QAAQ,IAAK,EAAE,EAC3F6qB,GAAa7qB,EACjB6qB,GAAW,MAAQD,EAAS,MAAM,EAAG,EAAE,EACvC,MAAMhB,EAAYiB,EAAU,GAG9Bla,YAAU,IAAM,CACd,GAAI,CAACmZ,IAAoB,CAACM,GAAuB,CAAC7M,GAA4B,CAACgM,GAAqB,CAClG,MAAMuB,EAA8B,CAClC,SAAU9qB,EAAQ,KAClB,MAAOA,EAAQ,MACf,YAAaA,EAAQ,OAEvB,aAAa,QAAQwH,GAAyB,KAAK,UAAUsjB,CAAW,CAAC,GAErEf,GAAoBF,KAAgBb,EAAa,EAAI,EACrDL,GACEoB,GAAkBb,EAAiB,SAAS,EAC5CW,IAAgBX,EAAiB,OAAO,IAExCa,IAAqBM,IAAuBF,KAC9CjB,EAAiB,SAAS,EACtBmB,IACFlB,EACE,2OAGAgB,GACFhB,EACE,iHAIFU,IACFX,EAAiB,OAAO,EAG9B,GACC,CACDa,EACAK,EACA7M,EACAuM,GACAD,GACAQ,GACAF,EACAb,EACAC,EAAA,CACD,EAYD,MAAMwB,GAA6B,IAAM,CACnC,IAAAC,EAAe,SAAS,cAAc,2BAA2B,EACjEC,GAAY,GACZD,GAAgB,OACNC,GAAAD,EAAa,aAAa,cAAc,IAAM,SAE5D,IAAIE,GAAYlrB,EAAQ,SACxBkrB,GAAU,mBAAqBD,GAC/BvB,EAAW,CAAE,GAAG1pB,EAAS,SAAUkrB,EAAW,IAGhD,SAASC,IAA+B,CACtCnC,EAAa,EAAK,EAClBE,EAAiB,SAAS,EAC1BC,EAAgB,MAAS,CAC3B,CAEA,SAASiC,GAAS1f,EAAY,CACxBA,GACFgd,EAAe,EAAK,CAExB,CAEA,OAEInU,EAAAV,EAAA,WACE/C,EAAA+C,EAAA,UAAAU,EAAC,MAAI,WAAU,wEACb,UAAAA,EAAC,OACC,UAAU,mCAET,UAAA0I,KAAgB,MAAI,KAAKoO,GAAc,MAAO,GAAI,UAAU,mCAAkC,EAE9Fva,EAAA,MAAG,UAAU,sCAAsC,SAEpD,kCACF,EAEAA,EAAC,MAAI,WAAU,0BACb,SAAAyD,EAAC,OAAK,IAAI6T,EAAQ,SAAUsC,GAAmB,OAAO,OACpD,UAACnW,EAAA,OAAI,UAAU,yBAMb,UAAAzD,EAACoF,GAAA,CACC,KAAK,OACL,MAAM,QACN,SAAQ,GACR,aAAclW,EAAQ,KACtB,SAAW+J,GAAQ2f,EAAW,CAAE,GAAG1pB,EAAS,KAAM+J,EAAK,EACzD,EASA+G,EAACoF,GAAA,CACC,KAAK,QACL,MAAM,UACN,SAAQ,GACR,KAAK,QACL,aAAclW,EAAQ,MACtB,SAAW+J,GAAQ2f,EAAW,CAAE,GAAG1pB,EAAS,MAAO+J,EAAK,EAC1D,EACA+G,EAACoF,GAAA,CACC,KAAK,eACL,MAAM,WACN,aAAclW,EAAQ,MACtB,gBAAe,GACf,SAAW+J,GAAQ2f,EAAW,CAAE,GAAG1pB,EAAS,MAAO+J,EAAK,EAC1D,GAEF,EACC+G,EAAA,OACC,SAACyD,EAAA,OAAI,UAAU,OACb,UAAAzD,EAACmB,GAAS,KAAT,CACC,GAAG,2BACH,UAAU,4BACV,QAAQ,SACR,QAAS8Y,GAET,SAAAja,EAACmB,GAAS,UAAT,CAEC,SAAAnB,EAAC,OACC,MAAM,6BACN,MAAM,KACN,KAAK,UACL,QAAQ,cAER,SAAAA,EAAC,OAAK,GAAE,qHAAsH,KAElI,EACF,EACCA,EAAA,SAAM,UAAU,wCAAwC,SAEzD,2DACF,CACF,KACC,MACC,UAAAA,EAACwa,IAAU,QAAQ,2CAA2C,SAAAF,EAAoB,GACpF,EACCta,EAAA,OAAI,UAAU,OACZ,SACCgY,GAAAhY,EAAC,OACC,UAAU,gEACV,KAAK,QAEL,SAAAA,EAAC,KAAE,SAGH,oHAGN,IACC,MAAI,WAAU,mBACb,SAACyD,EAAA,KAAE,UAAU,uDAAuD,kGAE3D,IACPzD,EAAC,QACC,SAACA,EAAA,KAAE,KAAK,iBAAiB,UAAU,0BAA0B,yBAE7D,CACF,GAAQ,IAAI,iBAEd,CACF,GACAA,EAAC,MAAI,WAAU,wCACb,SAAAyD,EAACrD,GAAA,CACC,SAAUuX,EACV,QAAQ,SACR,KAAK,SACL,GAAG,8BACH,UAAU,iDACX,+BACoB,IAClB2B,GAAuBN,GACrBhZ,EAAA,OAAI,IAAKmF,GAAa,MAAO,EAAI,GAEhCnF,EAAA+C,EAAA,OAGR,GACF,CACF,IACF,CACF,GAGE/C,EAAA+C,EAAA,UAAA/C,EAACoW,GAAA,CACC,OAAQ+B,EACR,UAAA9B,EACA,QAASK,EACT,WAAY2D,EAAA,GAEhB,CACF,GAEJ,CCxXA,MAAe1F,GAAA,0oBCWf,SAAwB8F,GAAe,CAAE,sBAAA7oB,EAAwB,KAAM,aAAAjC,GAAuB,CAC5F,KAAM,CAAE,KAAAoO,EAAM,UAAAG,EAAW,QAAAD,EAAS,UAAAE,CAAA,EAAclK,GAAW,gCACzDrC,GAAA,KAAAA,EAAyB,IAErB,CAAC8oB,EAAOC,CAAQ,EAAI1d,EAAkB,WAE5C4C,YAAU,IAAM,CACV1B,GACiByc,GACrB,EACC,CAACzc,CAAS,CAAC,EAEd,MAAMyc,EAAqB,IAAM,CAC/B,IAAIC,EAAoB,GAClB9c,GAAA,MAAAA,EAAA,KAAK,OAAQjO,GAAMA,EAAE,UAAU,QAASrC,GAAS,CACjDA,EAAK,aAAa,OAAQqC,GAAMA,EAAE,WAAaH,CAAY,EAAE,OAAS,GACxEkrB,EAAS,KAAKptB,CAAI,CACpB,GAEFktB,EAASE,CAAQ,GAGnB,OAEKpX,EAAAV,EAAA,WAAa7E,GAAA8B,EAAC8E,EAAgB,QAAQ,GAAK,GAC3C3G,GAAauc,GAASA,EAAM,OAAS,QAEjC,SAAO,kBAAa,IACnB1a,EAAC,OAAI,UAAU,aACZ,SAAM0a,EAAA,IAAKjtB,GAAS,OACnB,OACGuS,EAAA,KAAE,KAAM,WAAavS,EAAK,GACzB,SAAAuS,EAAC,OACC,KAAKnP,EAAApD,EAAK,mBAAL,KAAAoD,EAAyB8jB,GAC9B,MAAM,QACN,QAAQ,OACR,UAAU,8EACV,IAAI,qBAER,GAEH,GACH,EAEC3U,EAAA,OAAI,UAAU,aACZ,SAAA0a,EAAM,IAAKjtB,GAAS,OACnB,OACGuS,EAAA,KAAE,KAAM,WAAavS,EAAK,GACzB,SAAAuS,EAAC,OACC,KAAKnP,EAAApD,EAAK,kBAAL,KAAAoD,EAAwB8jB,GAC7B,MAAM,QACN,QAAQ,OACR,UAAU,6EACV,IAAI,qBAER,IAEH,EACH,CAEJ,EAEJ,GAEJ,CCnDwB,SAAAmG,GAAe,CAAE,WAAA7O,GAAqB,SAE1D,OAAAxI,EAAC,MAAI,WAAU,QACb,UAAAzD,EAAC8O,GAAA,CACC,GAAI7C,EAAW,GACf,YAAaA,EAAW,YACxB,SAAUA,EAAW,SACrB,sBAAuBA,EAAW,sBACpC,EAEAjM,EAAC,MAAI,WAAU,OACb,SAAAA,EAAC4U,GAAA,CACC,SAAU,EACV,aAAc3I,EAAW,GACzB,sBAAuBA,EAAW,wBAEtC,IACCwO,GAAe,cAAcxO,EAAW,GAAI,sBAAuBA,EAAW,sBAAsB,EACrGjM,EAAC,KAAG,WAAU,kCAAmC,GAEjDA,EAACqK,EAAS,mBAAWrK,EAAA8E,EAAA,EAAgB,EACnC,SAAA9E,EAACsQ,GAAc,cAAcrE,EAAW,EAAI,GAC9C,EAEAjM,EAACqK,EAAS,mBAAWrK,EAAA8E,EAAA,EAAgB,EACnC,SAAA9E,EAAC0Q,GAAS,cAAczE,EAAW,EAAI,GACzC,EAEAjM,EAACqK,EAAS,mBAAWrK,EAAA8E,EAAA,EAAgB,EACnC,SAAA9E,EAAC8Q,GAAY,cAAc7E,GAAA,YAAAA,EAAY,EAAI,GAC7C,EAEAjM,EAACqK,EAAS,mBAAWrK,EAAA8E,EAAA,EAAgB,EACnC,SAAA9E,EAACoS,GAAQ,cAAcnG,GAAA,YAAAA,EAAY,EAAI,GACzC,EAEAjM,EAACqK,EAAS,mBAAWrK,EAAA8E,EAAA,EAAgB,EACnC,SAAA9E,EAACqS,GAAoB,cAAcpG,EAAW,EAAI,GACpD,EAECjM,EAAAqK,WAAA,CAAS,SAAUrK,EAAC8E,GAAgB,GACnC,SAAA9E,EAAC+Q,GAAA,CACC,MAAO9E,GAAA,YAAAA,EAAY,MACnB,YAAaA,EAAW,oBACxB,aAAcA,EAAW,KAE7B,EAEAjM,EAACqK,EAAS,mBAAWrK,EAAA8E,EAAA,EAAgB,EACnC,SAAA9E,EAACsS,GAAM,UAAUrG,EAAW,GAAK,GACnC,EAEAjM,EAACqK,EAAS,mBAAWrK,EAAA8E,EAAA,EAAgB,EACnC,SAAA9E,EAACwS,GAAY,aAAavG,EAAW,WAAa,GACpD,IAEC,MAAI,WAAU,YACb,SAAAjM,EAACmX,IAAoB,OAAQ7M,GAAM,kBAAgBzZ,EAAAob,EAAW,wBAAX,KAAApb,EAAoC,GAAI,cAAcqK,EAAA+Q,EAAW,KAAX,KAAA/Q,EAAiB,EAAI,GAChI,EAEA8E,EAACqK,YAAS,SAAUrK,EAAC8E,IAAgB,EACnC,SAAA9E,EAACoT,GAAa,YAAAnH,CAAA,CAAuB,CACvC,EACF,GAEJ,CC/EO,SAAS8O,GAAkB,CAAE,UAAA7X,EAAW,WAAAC,EAAY,OAAAtH,EAAS,UAAW,OAAAiP,GAAiB,CAC9F,KAAM,CAACpD,EAAaC,CAAc,EAAI1K,WAAS,EAAE,EAC3C,CAAC2K,EAAUC,CAAW,EAAI5K,WAAS,EAAE,EACrC,CAACoG,EAAaC,CAAc,EAAIrG,WAAS,EAAE,EAC3C,CAACsG,EAAmBC,CAAoB,EAAIvG,WAAS,EAAE,EAE7D4C,mBAAU,IAAM,CACd,OAAQhE,EAAQ,CACd,IAAK,QACHyH,EAAe,gBAAgB,EAC/BE,EACE,qHAEFmE,EAAe,SAAS,EACxBE,EAAY,SAAS,EACrB,MACF,IAAK,UACHvE,EAAe,UAAU,EACzBE,EAAqB,sDAAsD,EAC3EqE,EAAY,SAAS,EACrBF,EAAe,SAAS,EAC1B,QACErE,EAAe,gCAAgC,EAC/CE,EAAqB,wCAAwC,EAC7DqE,EAAY,SAAS,EACrBF,EAAe,SAAS,EACxB,KACJ,GACC,CAAC9L,CAAM,CAAC,EAETmE,EAAA+C,EAAA,CACG,WAEGU,EAAAV,EAAA,WAAC/C,EAAA,OAAI,UAAU,kJACb,SAACA,EAAA,OAAI,UAAU,mBACb,SAAAyD,EAAC,MAAI,WAAU,+HACb,UAACzD,EAAA,OAAI,UAAU,qDACb,SAAAyD,EAAC,UACC,KAAK,SACL,QAASN,EACT,MAAO,CAAE,MAAO,YAAa,EAC7B,UAAU,6LAEV,UAACnD,EAAA,QAAK,UAAU,UAAU,SAAU,eACpCA,EAAC,OACC,UAAU,UACV,MAAM,6BACN,KAAK,OACL,QAAQ,YACR,OAAO,eACP,cAAY,OAEZ,SAAAA,EAAC,QACC,iBAAe,QACf,kBAAgB,QAChB,eAAa,IACb,EAAE,uBACJ,EACF,KAEJ,EACAA,EAAC,MAAI,WAAU,uCACb,SAAAA,EAAC,OAAI,IAAK8K,EAAQ,UAAU,SAAQ,CACtC,GACF,EACF,GACF,EACA9K,EAAC,MAAI,WAAU,yCAA0C,IAC3D,EACE,IACN,EAEJ,CCjEwB,SAAAgb,GAAO,CAAE,YAAAC,GAAqC,CAC1Bhe,WAAS,EAAI,EACvD,KAAM,CAAE,KAAAc,EAAM,UAAAI,EAAW,QAAAF,EAAS,UAAAC,CAAA,EAAcjP,EAAc,gCAC5DgsB,GAAA,KAAAA,EAAe,IAEX,CAACxQ,EAAYC,CAAa,EAAIzN,EAAA,SAAoC,CAAE,GACpE,CAACie,EAAkBC,CAAmB,EAAIle,WAAS,EAAE,EACrD,CAACiG,EAAWgB,CAAY,EAAIjH,WAAS,EAAK,EAEhD,SAAS4N,EAAkBC,EAAiC,CACnD,WAAI,QAASC,GAAY,CACxB,MAAAC,EAAM,IAAI,MAChBA,EAAI,IAAMF,EACVE,EAAI,OAAS,IAAM,CACjBD,EAAQD,CAAM,GAEhBE,EAAI,QAAU,IAAM,CAClBD,EAAQE,EAAW,EACrB,CACD,CACH,CAEApL,YAAU,IAAM,CACV1B,IAAaJ,GAAA,YAAAA,EAAM,OAAQ,OACL,SAAY,CAClC,MAAMmN,EAAsC,GACjC,UAAAzd,KAAQsQ,GAAA,YAAAA,EAAM,KAAM,CAC7B,MAAMoN,EAAc,MAAMN,EAAkBpd,EAAK,OAAO,EAC/Cyd,EAAAzd,EAAK,OAAO,EAAI0d,CAC3B,CACAT,EAAcQ,CAAQ,KAI1B,EACC,CAAC/M,CAAS,CAAC,EAER,MAAAid,EAAiBpQ,GAAe,CACpCmQ,EAAoBnQ,CAAG,EACvB9G,EAAa,EAAI,GAGnB,OAEKT,EAAAV,EAAA,WAAa7E,GAAA8B,EAAC8E,EAAgB,QAAQ,GAAK,GAC3C3G,IACDJ,GAAA,YAAAA,EAAM,KAAK,OAAQjO,GAAMA,EAAE,SAAS,YAAcf,IAAkB,QAAS,EAEzE0U,EAAAV,EAAA,WAAAU,EAAC,UAAQ,WAAU,WAAW,GAAG,2BAC/B,UAACzD,EAAA,MAAG,UAAU,oDAAoD,SAAM,aACvE,MAAI,WAAWa,GAAK,wBAAwB,EAC1C,0BAAM,KAAK,OAAQ/Q,GAAMA,EAAE,SAAS,YAAcf,IAAkB,IAAKtB,GAAS,OACjF,SACG4c,WAAS,YAAWvF,EAAgB,QAAQ,IAAK,EAChD,SAAA9E,EAAC,OAEC,QAAS,IAAMob,EAAc3Q,EAAWhd,EAAK,OAAO,CAAC,EACrD,UAAU,mDACV,MAAO,CACL,gBAAiB,QAAQ,OAAAgd,EAAWhd,EAAK,OAAO,EAAC,MACjD,eAAgB,UAChB,mBAAoB,SACpB,OAAQ,OACV,GARK,GAAG,OAAA+K,IAAU3H,EAAApD,GAAA,YAAAA,EAAM,QAAN,KAAAoD,EAAe,EAAE,EAUvC,GAEH,GACH,GACF,EACAmP,EAAC,KAAG,WAAU,6BAA8B,GAC5CA,EAAC+a,IAAkB,OAAQG,EAAkB,UAAAhY,EAAsB,WAAY,IAAMgB,EAAa,EAAK,EAAE,GAC3G,EAEElE,EAAA+C,EAAA,GAEN,GAEJ,gHCvFwB,SAAAsY,GAAM,CAAE,aAAA7Q,GAAuB,OAC/C,MAAE,KAAAzM,EAAM,QAAAE,EAAS,UAAAE,EAAW,UAAAD,GAChCjP,EAAc,gCAAgCub,GAAA,KAAAA,EAAgB,EAAE,EAE5D8Q,EAAgBlH,GACjBA,EAAK,SAAS,OAAO,EACfA,EACAA,EAAK,SAAS,OAAO,EACrBA,EAAK,QAAQ,SAAU,QAAQ,EAAE,QAAQ,KAAM,EAAE,EAEjDA,EAAK,MAAM,EAAGA,EAAK,QAAQ,GAAG,CAAC,EAAE,QAAQ,YAAa,oBAAoB,EAGrF,OAEK3Q,EAAAV,EAAA,WAAa7E,GAAA8B,EAAC8E,EAAgB,QAAQ,GAAK,GAC3C3G,KAActN,EAAAkN,GAAA,YAAAA,EAAM,KAAK,UAAYjO,EAAE,SAAS,YAAc,GAAG,SAAnD,KAAAe,EAA6D,GAAK,KAC9E,MACC,WAACmP,EAAA,MAAG,UAAU,oDAAoD,SAElE,UACAA,EAAC,OACC,SAACA,EAAAqK,EAAA,UAAS,SAAWrK,EAAA8E,EAAA,CAAiB,OAAQ,IAAI,EAChD,SAAA9E,EAAC,UACC,MAAM,OACN,UAAU,gBACV,IAAKsb,EAAavd,GAAA,YAAAA,EAAM,KAAK,OAAOjO,GAAKA,EAAE,SAAS,YAAc,GAAG,GAAG,OAAO,EAC/E,MAAM,uBACN,MAAM,wGAEV,CACF,GACAkQ,EAAC,KAAG,WAAU,kCAAmC,IACnD,CAEJ,GAEJ,gHClCwB,SAAAub,GAAa,CAAE,WAAAtP,GAAqB,CAC1D,OAGIxI,EAAAV,EAAA,WAAC/C,EAAAqK,EAAA,UAAS,SAAUrK,EAAC8E,EAAgB,IACnC,WAACuW,GAAM,cAAcpP,GAAA,YAAAA,EAAY,EAAI,GACvC,EAEAjM,EAACqK,EAAS,mBAAWrK,EAAA8E,EAAA,EAAgB,EACnC,SAAA9E,EAACgb,GAAO,aAAa/O,EAAW,EAAI,GACtC,CACF,GAEJ,CCSwB,SAAAuP,GAAU,CAAE,MAAAC,GAAgB,CACRxe,WAAS,EAAI,EACvD,KAAM,CAACye,EAAqBC,CAAsB,EAAI1e,WAAS,CAAC,EAC1D,CAAC2e,EAAcC,CAAe,EAAI5e,EAAqC,WACvE,CAACkS,EAAeC,CAAgB,EAAInS,WAAS,CAAC,EAC9C,CAACoS,EAAOC,CAAQ,EAAIrS,EAAA,SAAmB,CAAE,GACzC,CAACie,EAAkBC,CAAmB,EAAIle,WAAS,EAAE,EACrD,CAACiG,EAAWgB,CAAY,EAAIjH,WAAS,EAAK,EAE1C6e,EAAsBthB,GAAkB,CAC5CmhB,EAAuBnhB,CAAK,EAC5BqhB,EAAgBJ,CAAK,GAGjBL,EAAiBpQ,GAAgB,CACrCmQ,EAAoBnQ,CAAG,EACvB9G,EAAa,EAAI,GAGnBrE,YAAU,IAAM,CACV4b,GAAS,MACXI,EAAgBJ,CAAK,CACvB,EACC,CAACA,CAAK,CAAC,EAEV5b,YAAU,IAAM,CACAsQ,GAAA,EACb,CAACyL,CAAY,CAAC,EAEjB,MAAMzL,EAAgB,IAAM,OAC1B,IAAI5X,EAAiB,GACjBkjB,GAAS,MAAaA,EAAM,SAAS,OAAS,KAC1C5qB,EAAA4qB,EAAA,iBAAA5qB,EAAU,QAASd,GAAY,CAC/BA,EAAQ,cAAc,OAAS2e,IAChBU,EAAArf,EAAQ,cAAc,QAAQ,GAG/CA,EAAQ,cAAc,OAAS4e,IAC/B5e,EAAQ,cAAc,OAAS6e,IAC/B7e,EAAQ,cAAc,OAAS8e,KAE1BtW,EAAA,KAAKxI,EAAQ,cAAc,QAAQ,CAC1C,IAIJwI,EAAO,CAAC,GAAG,IAAI,IAAIA,CAAI,CAAC,EACxBA,EAAK,KAAK,EACV+W,EAAS/W,CAAI,GAIb,OAAAyH,EAAA+C,EAAA,CACG,SAAS0Y,GAAA,KAENhY,EAAAV,EAAA,WAACU,EAAA,WAAQ,UAAU,WACjB,UAACzD,EAAA,OAAI,GAAI,+BACP,SAAAA,EAAC,MAAG,UAAU,oDAAoD,+BAElE,CACF,KAEC,MACC,WAACA,EAAA,OAAI,UAAU,kCAcb,SAAAA,EAAC,UACC,QAAS,IAAM8b,EAAmB,CAAC,EACnC,UAAW,yIAEX,SAAC9b,EAAA,MAAG,UAAU,iBAAiB,SAAS,gBAE5C,EACC4b,GAAgB,MACfnY,EAAC,UACC,WAACA,EAAA,OAAI,UAAU,2BACb,UAAAA,EAAC,MACC,WAACzD,EAAA,SAAM,UAAU,sCACd,SAAA4b,EAAa,mBAAqB,EACjC,QAEE5b,EAAA+C,EAAA,wBAAY,GAElB,EACC/C,EAAA,MAAG,UAAU,oCACX,SAAa4b,EAAA,mBAAqB,EACjC,eAEG5b,EAAA+C,EAAA,UAAAhI,GAAgB6gB,EAAa,iBAAiB,CAAE,GAEvD,GACF,EACAnY,EAAC,MAAI,WAAU,eACb,UAACzD,EAAA,SAAM,UAAU,sCAAsC,SAAe,sBACrE,KAAG,WAAU,qCACX,SAAa4b,EAAA,SAAS,cACzB,GACF,IACC,MACC,WAAC5b,EAAA,SAAM,UAAU,sCAAsC,SAEvD,gCACC,KAAG,WAAU,qCACX,SAAa4b,EAAA,OAAO,cACvB,GACF,GACF,EACAnY,EAAC,MAAI,WAAU,mFACb,UAAAzD,EAAC,OAAI,UAAU,SACb,SAACyD,EAAA,OAAI,UAAU,uCACb,UAAAzD,EAAC,OAAI,UAAU,cACb,WAACqK,WAAS,YAAWvF,EAAgB,IACnC,SAAC9E,EAAA,OAAI,IAAI,eAAe,IAAKwO,GAAa,UAAU,eAAe,EACrE,CACF,GACCxO,EAAA,OAAI,UAAU,aACb,SAACA,EAAA,KAAE,UAAU,sCACV,SAASqP,GAAA,KAAYA,EAAQ,aAAe,eAC/C,GACF,GACF,CACF,KACC,MAAI,WAAU,SACb,SAAC5L,EAAA,OAAI,UAAU,uCACb,UAAAzD,EAAC,OAAI,UAAU,cACb,WAACqK,WAAS,YAAWvF,EAAgB,IACnC,SAAC9E,EAAA,OAAI,IAAI,WAAW,IAAKuO,GAAS,UAAU,eAAe,EAC7D,CACF,GACCvO,EAAA,OAAI,UAAU,aACb,SAACA,EAAA,KAAE,UAAU,sCACV,SAAiBmP,GAAA,KACdA,EAAgB,WAChB,eACN,GACF,GACF,CACF,IAiBF,EACC7W,GAAYsjB,EAAa,KAAK,GAC7BA,EAAa,MAAM,OAAQ9rB,GAAMA,EAAE,SAAS,YAAcf,EAAgB,EACvE,OAAS,GACViR,EAAA+C,EAAA,CACE,WAAC,MACC,WAAC/C,EAAA,MAAG,UAAU,yCAAyC,SAEvD,qBAECA,EAAA,OAAI,UAAU,kBACZ,WAAa,MAAM,OACjBlQ,GAAMA,EAAE,SAAS,YAAcf,EAAA,EAChC,IAAKtB,GAEHuS,EAAC,OACC,IAAKvS,EAAK,QACV,UAAU,6BACV,QAAS,IAAM2tB,EAAc3tB,EAAK,OAAO,GAG9C,EACH,GACF,CACF,GAEH6K,GAAYsjB,EAAa,KAAK,GAC7BA,EAAa,MAAM,OAAQ9rB,GAAMA,EAAE,SAAS,YAAcf,EAAgB,EACvE,OAAS,GACViR,EAAA+C,EAAA,CACE,WAAC,MACC,WAAC/C,EAAA,MAAG,UAAU,yCAAyC,SAEvD,sBACCA,EAAA,OAAI,UAAU,4BACZ,WAAa,MAAM,OACjBlQ,GAAMA,EAAE,SAAS,YAAcf,EAAA,EAChC,IAAKtB,GAEHuS,EAAC,OACC,IAAKvS,EAAK,QACV,UAAU,wBACV,QAAS,IAAM2tB,EAAc3tB,EAAK,OAAO,GAG9C,EACH,GACF,CACF,GAEH2K,EAAWwjB,EAAa,cAAc,QAEnC,SAACnY,EAAA,OAAI,UAAU,QACb,UAACzD,EAAA,MAAG,UAAU,yCAAyC,SAEvD,sCACAA,EAAC,KACC,UAAU,uBACV,wBAAyB,CAAE,OAAQ4b,EAAa,cAAe,EAChE,GACH,CACF,GAEF5b,EAAC+a,GAAA,CACC,OAAQG,EACR,UAAAhY,EACA,WAAY,IAAMgB,EAAa,EAAK,EACtC,GACF,GAEJ,GACF,EACAlE,EAAC,KAAG,WAAU,kCAAmC,EACnD,SAEE,EAEN,EAEJ,CCzQwB,SAAA+b,GAAU,CAAE,aAAAvR,GAAsC,OAClE,MAAC,KAAAzM,EAAM,UAAAI,EAAW,QAAAF,EAAS,UAAAC,GAAajP,EAAc,2CAA2Cub,GAAA,KAAAA,EAAgB,EAAE,EAC/EvN,WAAS,EAAI,EACLA,WAAS,EAAK,EAChE,MAAM+e,EAAc,qBACdC,EAAgB,kBAmChBC,EAA2BC,GAAmB,CAClD,IAAIC,EAAQ,SAAS,cAAc,IAAMD,CAAM,EAC3CC,GAAS,MACLA,EAAA,UAAU,OAAO,QAAQ,CACjC,EAWF,OAEK3Y,EAAAV,EAAA,WAAa7E,GAAA8B,EAAC8E,EAAgB,QAAQ,GAAI,GAC1C3G,IAAaJ,GAAA,YAAAA,EAAM,KAAK,QAAS,EAE9B0F,EAAAV,EAAA,WAACU,EAAA,WAAQ,UAAU,WACjB,UAACzD,EAAA,OAAI,GAAG,+BAEN,SAAAA,EAAC,MAAG,UAAU,oDAAoD,qBAElE,CACF,GACAA,EAAC,MAAI,WAAWa,GAAK,aAAa,EAC/B,UAAMhQ,EAAAkN,GAAA,YAAAA,EAAA,mBAAAlN,EAAM,IAAKpD,KAEb,MACC,WAAAuS,EAAC,KAAE,OAAO,SAAS,KAAM,GAAG,OAAAvS,EAAK,KAC/B,SAAAgW,EAAC,UAQC,GAAIhW,EAAK,OAAS,KAAY+K,GAAU/K,EAAK,KAAK,EAAI,GACtD,UAAU,wEAGV,UAAAuS,EAAC,OACC,UAAU,eACV,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6BAEN,SAAAA,EAAC,QACC,EAAE,iHACF,KAAK,UACP,EACF,EACAyD,EAAC,OAAK,WAAU,yBACb,UAAKhW,EAAA,MAAO,IACbuS,EAAC,OACC,IAAKmF,GACL,GAAI,GAAG,OAAA8W,GAAgB,OAAAzjB,GAAU/K,EAAK,KAAK,GAC3C,UAAU,uBACZ,GACF,KAEJ,EACAgW,EAAC,OACC,GAAI,GAAG,OAAAuY,GAAc,OAAAxjB,GAAU/K,EAAK,KAAK,GACzC,UAAU,gHACV,KAAK,QAEL,UAACuS,EAAA,UAAO,UAAU,YAAY,SAAc,mBAC5CyD,EAAC,OAAK,WAAU,kBACb,cAAI,mGAGP,EACAzD,EAAC,QACC,UAAU,2DACV,QAAS,IACPkc,EAAwB,qBAAqB,OAAA1jB,GAAU/K,EAAK,KAAK,EAAG,EAGtE,SAAAgW,EAAC,OACC,UAAU,oCACV,KAAK,SACL,MAAM,6BACN,QAAQ,YAER,UAAAzD,EAAC,SAAM,SAAK,UACZA,EAAC,OAAK,GAAE,sOAAuO,IACjP,EACF,GACF,IAhEQ,GAAG,OAAAxH,GAAU/K,EAAK,EAAE,EAiE9B,GAGN,GACF,EACAuS,EAAC,KAAG,WAAU,6BAA8B,IAC9C,EAEEA,EAAA+C,EAAA,GAEN,GAEJ,gHCnJA,SAAwBsZ,GAAiB,CAAE,WAAApQ,EAAY,MAAAwP,GAAe,CACpE,OAGIhY,EAAAV,EAAA,WAAA/C,EAACqK,WAAS,UAAWrK,EAAA8E,EAAA,CAAgB,GACnC,SAAA9E,EAACwb,GAAA,CACC,MAAAC,CAAA,GAGJ,EAEAzb,EAACqK,EAAS,mBAAWrK,EAAA8E,EAAA,EAAgB,EACnC,SAAA9E,EAAC+b,GAAU,cAAc9P,EAAW,EAAI,GAC1C,CACF,GAEJ,CCfwB,SAAAqQ,GAAoB,CAAC,WAAArQ,GAAmB,CAC9D,KAAM,CAACsQ,EAAiBC,CAAkB,EAAIvf,WAAS,CAAC,EAClD,CAAE,KAAAc,EAAM,UAAAG,EAAW,QAAAD,EAAS,UAAAE,GAAclP,EAAc,iBAAiBgd,EAAW,EAAE,EAEtF,CAACwQ,EAAaC,CAAc,EAAIzf,WAAS,CAAC,WAAY,SAAS,CAAC,EAGtE4C,mBAAU,IAAM,CACd,GAAG1B,EAAU,CACX,IAAI5F,EAAOkkB,EACXlkB,EAAK,KAAK,UAAU,EACpBmkB,EAAenkB,CAAI,CACrB,GACC,CAAC4F,CAAS,CAAC,EAEd0B,YAAU,IAAM,GACb,CAAC4c,CAAW,CAAC,EAIZhZ,EAAAV,EAAA,WAAA/C,EAAC,OAAI,UAAU,kCACZ,WAAY,IAAI,CAACvS,EAAM+M,IAEpBwF,EAAC,UACC,UACE,iFACCuc,GAAmB/hB,EAChB,4BACA,qBAEN,QAAS,IAAMgiB,EAAmBhiB,CAAK,EAEtC,SAAA/M,CAAA,EAGN,EACH,EACC8uB,GAAmB,GAAMvc,EAAA8a,GAAA,CAAe,WAAA7O,CAAwB,GAChEsQ,GAAmB,GAAMvc,EAAAub,GAAA,CAAa,WAAAtP,CAAwB,GAC9DsQ,GAAmB,GAAKpe,GAAaJ,GAAQ,QAAcse,GAAiB,YAAApQ,EAAwB,MAAOlO,GAAA,YAAAA,EAAM,IAAM,EAC1H,GAEJ,CC1CO,SAAS4e,GAA8B,CAAE,UAAAzZ,EAAW,WAAAC,EAAY,OAAAyZ,GAAiB,OACpD3f,WAAS,EAAK,EAChD,KAAM,CAAC0N,EAAoBC,CAAqB,EAAI3N,WAAiB,CAAC,EAEhE4f,EAAWC,GAAa,CAC5B,aAAc,IAAM1R,EAAyB,EAE7C,cAAe,IAAMC,EAAyB,EAC/C,EAEKD,EAA2B,IAAM,OACjCT,IAAsB9Z,EAAA+rB,EAAO,SAAP,KAAA/rB,EAAiB,GAAK,GAC9C+Z,EAAsBD,EAAqB,CAAC,GAG1CU,EAA2B,IAAM,CACjCV,GAAsB,GAAGC,EAAsBD,EAAqB,CAAC,GAG3E9K,YAAU,IAAM,GAEb,CAAC8K,CAAkB,CAAC,EAEjB,MAAAoS,EAA4BviB,GAAkB,CAC/CA,GAASmQ,GAAoBqS,EAA8BxiB,EAAQmQ,CAAkB,EACxFC,EAAsBpQ,CAAK,GAGvBwiB,EAAiCC,GAAkB,CACjD,MAAAC,EAAW,SAAS,cAAc,oCAAoC,EAC5E,GAAGA,EAAS,CACV,MAAMC,EAAgBD,EAAS,WACtBA,EAAA,OAAO,CAAC,KAAMD,EAAOE,EAAgB,IAAMA,EAAgB,IAAI,CAC1E,CAEA,WAAW,IAAM,CACbD,EAAS,MAAM,eAAiB,UACjC,EAAE,GAIL,OAAAld,EAAA+C,EAAA,CACG,YAEGU,EAAAV,EAAA,WAAC/C,EAAA,OAAI,UAAU,yKACb,SAACA,EAAA,OAAI,UAAU,2DACb,SAAAyD,EAAC,MAAI,WAAU,uMAEb,UAACzD,EAAA,OAAI,UAAU,GAAG,MAAO,CAAE,UAAW,KACpC,WAAAA,EAAC,MAAI,WAAU,2EACb,SAAAA,EAAC,QACC,UAAU,qEACV,QAASmD,EAGT,SAAAnD,EAAC,OACC,MAAO,GACP,KAAK,eACL,UAAU,eACV,MAAM,6BACN,QAAQ,cAER,SAAAA,EAAC,OAAK,GAAE,0LAA2L,GACrM,IAEJ,CACF,KACC,MAEC,WAACA,EAAA,UAAO,SAAU2K,GAAsB,EAAG,UAAU,+DAA+D,QAASU,EAC7H,SAACrL,EAAA,OAAI,MAAM,6BAA6B,OAAO,OAAO,QAAQ,iBAAiB,MAAM,OAAO,KAAK,UAAU,SAAAA,EAAC,OAAK,GAAE,oDAAoD,EAAE,GACzK,IAEC,MACE,UAAC5H,EAAWwkB,EAAOjS,CAAkB,EAAE,OAAO,EAG7ClH,EAAC,OAAI,UAAU,gEAAiE,GAAGoZ,EACjF,UAAA7c,EAAC,OACC,UAAU,kCACV,KAAKnP,EAAA+rB,EAAOjS,CAAkB,EAAE,UAA3B,KAAA9Z,EAAsC,GAC7C,EACA4S,EAAC,MAAI,WAAU,wGACb,UAACzD,EAAA,QAAK,UAAU,sBACd,SAAAyD,EAAC,OACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,UAAU,qBACV,MAAM,6BAEN,UAAAzD,EAAC,QACC,EAAE,+LACF,OAAO,QACP,eAAa,UACb,iBAAe,QACf,kBAAgB,QAClB,EACAA,EAAC,QACC,EAAE,qqCACF,OAAO,QACP,eAAa,UACb,iBAAe,QACf,kBAAgB,QAClB,KAEJ,EACAyD,EAAC,OAAK,WAAU,gBACb,UAAqBkH,EAAA,EAAE,IAAEiS,GAAA,YAAAA,EAAQ,QACpC,GACF,GACF,IArCC9X,EAAgB,WAAU,eAAe,CAuC9C,GAEC9E,EAAA,UAAO,SAAU2K,EAAqB,IAAKiS,GAAA,YAAAA,EAAQ,QAAQ,UAAU,2EAA2E,QAASxR,EAC1J,SAAApL,EAAC,MAAI,OAAM,6BAA6B,OAAO,OAAO,QAAQ,iBAAiB,MAAM,OAAO,KAAK,UAAW,SAAAA,EAAC,OAAK,GAAE,qDAAsD,EAAE,GAC5K,EACAA,EAAC,MAAI,WAAU,+BACb,SAAAA,EAAC,OACC,UAAU,2EACV,MAAO,CAAE,WAAY,SAAU,WAAY,kBAAoB,EAE9D,SAAO4c,EAAA,IAAI,CAACnvB,EAAM+M,IAAU,OAC3B,YAEK,SACC/M,GAAAuS,EAAC,UACC,UAAU,YACV,KAAK,SACL,QAAS,IACP+c,EAAyBviB,CAAK,EAGhC,SAAAwF,EAAC,OACC,UAAU,4BACV,MAAO,CACL,gBAAiB,QAAQ,QAAAnP,EAAApD,GAAA,YAAAA,EAAM,UAAN,KAAAoD,EAAiB,GAAE,MAC5C,eAAgB,QAChB,mBAAoB,SACpB,iBAAkB,WACpB,EACD,EAGP,IAEH,IAEL,GACF,EACF,EACF,GACF,EACAmP,EAAC,MAAI,WAAU,2CAA4C,GAC7D,EAEJ,EAEJ,CC3JSsK,GAAG,EAMY,SAAA8S,GAA8B,CAAE,aAAA5S,GAAuB,WACvE,MAAE,KAAAzM,EAAM,UAAAI,EAAW,QAAAF,EAAS,UAAAC,GAChCjP,EAAc,uCAAuCub,GAAA,KAAAA,EAAgB,EAAE,EACrCvN,WAAoC,EAAE,EAC1E,KAAM,CAAC0N,EAAoBC,CAAqB,EAAI3N,WAAiB,CAAC,EAChE,CAACiG,EAAWgB,CAAY,EAAIjH,WAAS,EAAK,EAgB1CogB,EAAa,IAAM,CACvB,MAAMC,EAAiB,OAAO,WAAa,SAAS,gBAAgB,YACpE,SAAS,KAAK,MAAM,aAAe,GAAG,OAAAA,EAAc,MAC3C,cAAK,MAAM,SAAW,UAG3BC,EAAe,IAAM,CAChB,cAAK,MAAM,aAAe,GAC1B,cAAK,MAAM,SAAW,IAGjC1d,YAAU,KACJqD,EACSma,IAEEE,IAGR,IAAM,CACEA,GAAA,GAEd,CAACra,CAAS,CAAC,EAEdrD,YAAU,IAAM,CACR,MAAA2d,EAAa,SAAS,cAAc,gBAAgB,EACpDC,EAAgB,SAAS,cAAc,sCAAsC,EAChFD,IACEta,EACUsa,EAAA,UAAU,OAAO,QAAQ,EAEzBA,EAAA,UAAU,IAAI,QAAQ,GAGlCC,IACEva,EACaua,EAAA,UAAU,IAAI,QAAQ,EAEtBA,EAAA,UAAU,OAAO,QAAQ,EAE3C,EACC,CAACva,CAAS,CAAC,EAEd,MAAM2Z,EAAWC,GAAa,CAC5B,aAAc,IAAM1R,EAAyB,EAE7C,cAAe,IAAMC,EAAyB,EAC/C,EAEKD,EAA2B,IAAM,SACjCT,IAAsBzP,GAAArK,EAAAkN,GAAA,YAAAA,EAAM,OAAN,YAAAlN,EAAY,SAAZ,KAAAqK,EAAsB,GAAK,GACnD0P,EAAsBD,EAAqB,CAAC,GAG1CU,EAA2B,IAAM,CACjCV,GAAsB,GAAGC,EAAsBD,EAAqB,CAAC,GAG3E,OACGlH,EAAA,OAAuB,UAAU,WAAY,GAAGoZ,EAC9C,UAAa3e,GAAA8B,EAAC8E,EAAgB,QAAQ,GAAK,GAC3C3G,KAAatN,EAAAkN,GAAA,YAAAA,EAAM,OAAN,YAAAlN,EAAY,QAAS,GAG/B4S,EAAAV,EAAA,WAAA/C,EAAC,MACE,UAAC5H,EAAW2F,GAAA,YAAAA,EAAM,KAAK4M,GAAoB,OAAO,EAGjDlH,EAAC,OACC,MAAO,CACL,gBAAiB,QAAQ,QAAAvI,EAAA6C,GAAA,YAAAA,EAAM,KAAK4M,GAAoB,UAA/B,KAAAzP,EAA0C,GAAE,KACvE,EACA,QAAS,IAAMgJ,EAAa,EAAI,EAChC,UAAU,gEAEV,UAACT,EAAA,OAAI,UAAU,6BACb,UAAAzD,EAAC,MAAI,WAAU,wBACb,SAAAA,EAAC,MAAI,WAAU,gFACb,SAAAA,EAAC,IAAE,MAAK,IAAI,UAAU,GACpB,SAAAA,EAAC,OACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6BACN,UAAU,wBAEV,SAAAA,EAAC,QACC,EAAE,4DACF,KAAK,UACP,GAEJ,EACF,GACF,EACCA,EAAA,OAAI,UAAU,uBACb,SAACA,EAAA,OAAI,UAAU,kCACb,SAACA,EAAAgI,GAAA,CAAmB,aAAcwC,CAAc,EAClD,GACF,GACF,EACAxK,EAAC,MAAI,WAAU,4BACb,SAAAA,EAAC,UACC,QAAS,IAAMkE,EAAa,EAAI,EAChC,KAAK,SACL,UAAU,qEAEV,SAAAT,EAAC,MAAI,WAAU,QACb,UAACzD,EAAA,QAAK,UAAU,sBACd,SAAAyD,EAAC,OACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,UAAU,qBACV,MAAM,6BAEN,UAAAzD,EAAC,QACC,EAAE,+LACF,OAAO,QACP,eAAa,UACb,iBAAe,QACf,kBAAgB,QAClB,EACAA,EAAC,QACC,EAAE,qqCACF,OAAO,QACP,eAAa,UACb,iBAAe,QACf,kBAAgB,QAClB,KAEJ,IACC,OAAK,WAAU,gBAAiB,UAAA7E,EAAA4C,GAAA,YAAAA,EAAM,OAAN,YAAA5C,EAAY,OAAO,GACtD,IAEJ,KAtEF6E,EAAC8E,EAAgB,WAAU,cAAe,GAyE9C,EACA9E,EAAC2c,GAAA,CACC,OAAQ5e,GAAA,YAAAA,EAAM,KACd,UAAAmF,EACA,WAAY,IAAMgB,EAAa,EAAK,EACtC,GACF,IAtFMsG,CAwFV,CAEJ,CCjMA,MAAekT,GAAA,wzCCkBS,SAAAC,GAAkC,CAAE,aAAAnT,GAAuB,WAC3E,MAAE,KAAAzM,EAAM,UAAAI,EAAW,QAAAF,EAAS,UAAAC,GAChCjP,EAAc,uCAAuCub,GAAA,KAAAA,EAAgB,EAAE,EAGvE,OAAA/G,EAAC,MAAuB,WAAU,gBAC/B,UAAavF,GAAA8B,EAAC8E,EAAgB,QAAQ,GAAK,GAC3C3G,KAAatN,EAAAkN,GAAA,YAAAA,EAAM,OAAN,YAAAlN,EAAY,QAAS,GAE/BmP,EAAA+C,EAAA,UAAA/C,EAAC,OACE,SAAC5H,EAAW2F,GAAA,YAAAA,EAAM,KAAK,GAAG,OAAO,EAGhCiC,EAAC,OACC,MAAO,CACL,gBAAiB,QAAQ,QAAA9E,EAAA6C,GAAA,YAAAA,EAAM,KAAK,GAAG,UAAd,KAAA7C,EAAyB,GAAE,KACtD,EACA,UAAU,gEAEV,SAAA8E,EAAC,MAAI,WAAU,4BACb,SAAAA,EAAC,UACC,KAAK,SACL,UAAU,qEAEV,SAAAyD,EAAC,MAAI,WAAU,QACb,UAACzD,EAAA,QAAK,UAAU,sBACd,SAAAyD,EAAC,OACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,UAAU,qBACV,MAAM,6BAEN,UAAAzD,EAAC,QACC,EAAE,+LACF,OAAO,QACP,eAAa,UACb,iBAAe,QACf,kBAAgB,QAClB,EACAA,EAAC,QACC,EAAE,qqCACF,OAAO,QACP,eAAa,UACb,iBAAe,QACf,kBAAgB,QAClB,KAEJ,IACC,OAAK,WAAU,gBAAiB,UAAA7E,EAAA4C,GAAA,YAAAA,EAAM,OAAN,YAAA5C,EAAY,OAAO,GACtD,IAEJ,MA1CD2J,EAAgB,WAAU,eAAe,EA6C9C,CACF,KApDM0F,CAsDV,CAEJ,CC5DegB,OAAK,IAAMC,EAAA,WAAO,sBAA6C,gCAAC,EACxCD,EAAA,KACrC,IAAMC,EAAA,WAAO,qBAA0D,4BACzE,EACA,MAAM3G,GAAkB0G,OAAK,IAAMC,EAAA,+BAAAM,EAAA,EAAmD,OAAC,EAOhF,SAAS6R,GAAqB,CACnC,eAAAC,EACA,wBAAAC,EACA,wBAAAC,CACF,EAAU,aACR,OAEIta,EAAAV,EAAA,WAACU,EAAA,UAAO,UAAU,+EAChB,UAAAzD,EAAC,OAAI,GAAG,wBACN,SAACyD,EAAA,OAAI,UAAU,mBACb,UAACzD,EAAA,OAAI,UAAU,cACb,SAAAA,EAAC,OACC,MAAM,6BACN,MAAM,KACN,KAAK,eACL,UAAU,kBACV,QAAQ,cAER,SAAAA,EAAC,OAAK,GAAE,2JAA4J,KAExK,EACAA,EAAC,MAAI,WAAU,SACb,SAAAA,EAAC,KAAE,KAAM,IACP,SAACA,EAAAqK,EAAA,UAAS,SAAUrK,EAAC8E,KAAgB,EACnC,SAAA9E,EAAC,MAAI,KAAI,aAAa,IAAK5S,GAAM,UAAU,wBAAyB,EACtE,EACF,GACF,GACF,CACF,GACC4S,EAAA,OAAI,UAAU,OACb,SAACyD,EAAAjC,GAAU,KAAV,CAAe,UAAW/G,GAAA,EAAa,cAAgB,GACrD,WAACA,GAAS,GACRuF,EAAAwB,GAAU,KAAV,CACC,SAAAxB,EAAC,OACC,MAAM,6BACN,KAAK,eACL,MAAM,KACN,OAAO,KACP,QAAQ,cAER,SAAAA,EAAC,OAAK,GAAE,iJAAkJ,KAE9J,EAEFA,EAACwB,GAAU,MAAV,CACC,GAAG,8BACH,UACE,oEAAsE/G,GAAS,EAC3E,cACA,GAEN,YAAY,yBACd,EACCuF,EAAAwB,GAAU,KAAV,CAAe,UAAU,YACxB,SAACxB,EAAA,OAAI,IAAK0B,GAAyB,UAAU,MAAM,CACrD,KACCF,GAAU,KAAV,CACC,SAAAxB,EAAC0D,IAAW,GACd,GACF,CACF,GACAD,EAACrD,GAAA,CACC,QAAQ,YACR,aAAW,UACX,GAAG,oBACH,MAAM,UACN,UAAW,sBAEX,UAAAJ,EAAC,QAAK,SAAO,YACbA,EAAC,OACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6BAEN,SAAAA,EAAC,QACC,EAAE,4VACF,OAAO,UACT,EACF,GACF,GACF,EACAyD,EAAC,MAAI,WAAU,yBACZ,UAAAqa,GAEG9d,EAAA+C,EAAA,UAAA/C,EAAC8E,GAAgB,QAAQ,GAAK,GAChC,EAEDiZ,GAA2BF,GAC1B7d,EAAA+C,EAAA,CACE,SAAC/C,EAAAqK,WAAA,CAAS,SAAWrK,EAAA8E,GAAA,EAAgB,EACnC,SAAA9E,EAAC2d,IAAkC,cAAc9sB,EAAAgtB,GAAA,YAAAA,EAAgB,KAAhB,KAAAhtB,EAAsB,GAAI,CAC7E,GACF,EAGA4S,EAAAV,EAAA,WAACU,EAAA,OAAI,UAAU,YACb,UAAAzD,EAAC,OAAI,UAAU,iCACb,WAAC8E,GAAgB,QAAQ,GAAI,CAC/B,GACA9E,EAAC,OAAI,UAAU,6DACb,WAAC,MAAI,WAAU,uBACb,SAACA,EAAA,KAAE,KAAK,IACN,SAAAA,EAAC,OAAI,UAAU,8DACb,WAACqK,EAAS,mBAAWrK,EAAA8E,GAAA,EAAgB,EACnC,SAAA9E,EAAC,OACC,IAAI,aACJ,IAAK0d,GACL,UAAU,wBACV,MAAO,CAAE,cAAe,KAAM,EAElC,GACF,GACF,EACF,CACF,IACF,EACC1d,EAAA,WAAQ,UAAU,2CACjB,WAAC,MAAI,WAAU,yBACb,SAAAA,EAAC,OAAI,UAAU,gBACb,SAACyD,EAAA,OAAI,UAAU,yBAEb,UAAAzD,EAAC,OAAI,UAAU,mBACb,SAACA,EAAA,OAAI,UAAU,8FACb,SAAAyD,EAAC,OACC,UAAU,4DACV,MAAO,CAAE,UAAW,iCAAkC,EAGtD,UAACA,EAAA,OAAI,UAAU,cACb,UAAAzD,EAAC,MAAG,UAAU,oCACX,2BAAgB,qBAAsB,EAAI,QAAU,aACvD,KACC,KAAG,WAAU,uCACX,SAAC,CAAA+d,GACF,CAACF,IACDA,GAAA,YAAAA,EAAgB,qBAAsB,EAClC,eACA,GAAG,OAAA9iB,IAAgBG,EAAA2iB,GAAA,YAAAA,EAAgB,oBAAhB,KAAA3iB,EAAqC,CAAC,GAC/D,GACF,EACA8E,EAAC,MAAI,WAAU,cACb,SAAAA,EAACI,GAAA,CACC,QAAQ,SACR,UAAU,iDACV,cAAc,OAEd,SAAAJ,EAAC,SAAM,SAAe,sBAE1B,KAEJ,CACF,GACC+d,GAA2BF,EAExB7d,EAAA+C,EAAA,UAAA/C,EAAC,OACC,UAAU,yCACV,MAAO,CAAE,aAAc,YAAa,EAEpC,WAAC,MACC,WAAAA,EAAC,KAAG,WAAU,6DACX,UAAA7E,EAAA0iB,GAAA,YAAAA,EAAgB,QAAhB,KAAA1iB,EAAyB,GAC5B,EACAsI,EAAC,KACC,UAAU,oEACV,MAAO,CAAE,SAAU,UAAW,EAE9B,UAACzD,EAAA,QAAK,UAAU,YAEd,SAAAA,EAAC,OACC,MAAM,6BACN,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,UAAU,eAEV,SAAAA,EAAC,QACC,EAAE,inBACF,KAAK,QACL,eAAa,OACf,IAEJ,EAAQ,KACPpB,EAAAif,GAAA,YAAAA,EAAgB,WAAhB,KAAAjf,EAA4B,IAC/B,GACF,IAEJ,EAEAoB,EAAA+C,EAAA,CACE,WAAC,MAAI,WAAU,aAAa,CAC9B,GAED/C,EAAA,OACC,SAACyD,EAAA,OAAI,UAAU,kCACb,UAAAzD,EAAC,UACC,UACE,yGAEH,oBAED,EACAA,EAAC,UACC,UACE,iGAEH,mBAED,GACF,CACF,IACF,EACF,CACF,GACF,EACC+d,GAA2BF,EAC1B7d,EAAA+C,EAAA,CACE,SAAC/C,EAAA,OAAI,UAAU,aACb,SAAAA,EAAC8O,GAAA,CACC,GAAI+O,GAAA,YAAAA,EAAgB,GACpB,YAAaA,GAAA,YAAAA,EAAgB,YAC7B,SAAUA,GAAA,YAAAA,EAAgB,SAC1B,sBAAuBA,GAAA,YAAAA,EAAgB,sBACzC,EACF,CACF,GAEC7d,EAAA,OAAI,UAAU,YACb,SAACA,EAAA8E,GAAA,CAAgB,OAAQ,GAAG,CAC9B,IAEJ,GACF,CACF,GAEJ,CCtPA,MAAMkZ,GAASxS,EAAA,KAAK,IAAMC,EAAA,WAAO,sBAA6C,gCAAC,EACzEwS,GAAiCzS,EAAA,KACrC,IAAMC,EAAA,WAAO,qBAA0D,4BACzE,EACMyS,GAAQ1S,EAAA,KAAK,UAAM,OAAO,qBAA2B,+BAAC,EACtD1G,GAAkB0G,OAAK,IAAMC,EAAA,+BAAAM,EAAA,EAAmD,OAAC,EAKhF,SAASoS,GAAiB,CAAE,cAAAC,EAAgB,IAAe,gDAChE,KAAM,CAACC,EAAwBC,CAAyB,EAAIrhB,EAAsB,WAC5E,CAACyQ,EAAgB,CAAE,KAAA3P,EAAM,QAAAE,EAAS,UAAAC,EAAW,UAAAC,EAAW,EAC5DlP,EAAc,iCACVsvB,EAAQC,KACRjrB,EAAW,IAAI,gBAAgB,SAAS,MAAM,EAAE,IAAI,UAAU,EAE9D,CACJ,KAAMkrB,EACN,QAASC,EACT,UAAWZ,EACX,UAAWC,CAAA,EACT9uB,EAAc,iCAAgCiM,GAAArK,EAAA0tB,EAAM,OAAN,YAAA1tB,EAAY,aAAZ,KAAAqK,EAA0B,EAAE,EAExEyjB,EAAc,KAAK,OAAMxjB,GAAA,aAAa,QAAQvF,EAAkB,IAAvC,KAAAuF,GAA4C,IAAI,EACzE,CAACyjB,EAA0BC,CAA2B,EAAI5hB,EAAA,SAC9D,KAAK,OAAM2B,EAAA,eAAe,QAAQ/I,EAA0B,IAAjD,KAAA+I,EAAsD,IAAI,GAGjE,CACJkgB,EACA,CAAE,UAAWC,EAAiB,QAASC,EAAe,UAAWC,CAAgB,GAC/EhwB,EAAc,iCAEZiwB,EAAY,SAAY,OAC5B,MAAMJ,GAAqBjuB,EAAA4tB,GAAA,YAAAA,EAAoB,KAAK,KAAzB,KAAA5tB,EAA+B,EAAE,GAG9DgP,YAAU,IAAM,CACVwe,IAA2B,QAAaD,GAC3BjQ,IACjB,EACC,CAACiQ,CAAa,CAAC,EAElBve,YAAU,IAAM,CACVkf,GACaI,GACjB,EACC,CAACJ,CAAe,CAAC,EAEpB,MAAMI,EAAiB,IAAM,OACvB,GAAA/mB,EAAWmmB,EAAM,IAAI,EAAG,CAC1B,IAAIhmB,EAAsB,GACpBomB,SAAc,aAAa,QAAQ/oB,EAAkB,EACpD2C,EAAA,KAAK,MAAMomB,YAAe,IAAI,EAChCpmB,EAAA,MAAK1H,EAAA0tB,EAAM,OAAN,KAAA1tB,EAAc,EAAE,EAE1B,aAAa,QAAQ+E,GAAoBwpB,EAAU7mB,CAAI,CAAC,CAC1D,GAGFsH,YAAU,IAAM,CACC,uBACbhK,GACA,KAAK,UAAU+oB,GAAA,KAAAA,EAA4B,IAAI,EACjD,EACC,CAACA,CAAwB,CAAC,EAE7B,MAAMS,EAA0B,IAAM,CAC9B,MAAA/vB,EAAKmvB,GAAA,YAAAA,EAAoB,KAAK,GAChCnvB,GAAM,MAAa,CAACsvB,EAAyB,SAAStvB,CAAE,GAC1DuvB,EAA6BS,GAAc,CAAC,GAAGA,EAAWhwB,CAAE,CAAC,CAC/D,EAGI8vB,EAAa7mB,GAAmB,CACpC,IAAIF,EAAM,IACJ,OAAAE,GAAA,MAAAA,EAAA,QAAQ,CAACxI,GAASyK,KAAU,CAChCnC,GAAO,IAAI,OAAAtI,GAAO,KACdyK,IAASjC,EAAK,OAAS,IAAUF,GAAA,OAEhCA,GAAA,IACAA,CAAA,EAGTwH,YAAU,IAAM,CACVke,GAA2BK,IACxBO,EAAY,SAASJ,EAAM,IAAI,GAAaW,IACzBG,IAC1B,EACC,CAACtB,EAAyBK,CAAa,CAAC,EAE3C,MAAMjQ,GAAiB,SAAY,CAYjC,GAFA,MAAMT,EATwB,CAC5B,QAAS,KACT,OAAQ,KACR,SAAU,KACV,WAAY,KACZ,kBAAmB,KACnB,kBAAmB,KACnB,cAAe,KAEW,EAExB,CAACzP,GAAW,CAACC,GAAaH,GAAQ,KAAW,CAC3C,IAAAwhB,EAAaxhB,EAAK,KAAK,OAAQtQ,IAAsBA,GAAK,MAAQ8wB,EAAM,IAAI,EAChFD,EAA0BiB,EAAW,OAAS,EAAIA,EAAW,CAAC,EAAI,MAAS,CAC7E,GAGF,YAEK,SACCnB,EAAApe,EAAA+C,EAAA,CAEI,SAACU,EAAA,OAAI,UAAU,UACb,UAAAA,EAAC+b,GACC,WAAA/b,EAAC,QAAM,uBAAS6H,GAAA/L,EAAAkf,GAAA,YAAAA,EAAoB,OAApB,YAAAlf,EAA0B,QAA1B,KAAA+L,EAAmC,IAAG,IACrD,OAAK,KAAI,YAAY,KAAM,OAAO,SAAS,KAAM,GACpD,EACCwS,GAA2B9d,EAAC8E,GAAgB,QAAQ,GAAK,GACzDiZ,EAEGta,EAAAV,EAAA,WAAA/C,EAACqK,YAAS,SAAUrK,EAAC8E,GAAgB,IAClC,YACC,EAAA9E,EAAC,MAAI,WAAU,OACb,SAACA,EAAAod,GAAA,CAA8B,aAAcqB,GAAA,YAAAA,EAAoB,KAAK,GAAI,CAC5E,GAGCze,EAAAuK,GAAA,CAAsB,aAAckU,GAAA,YAAAA,EAAoB,KAAK,GAAI,EAEtE,EACAze,EAAC,UAAQ,WAAU,2CACjB,SAAAA,EAAC,MAAI,WAAU,yBACb,SAAAyD,EAAC,MAAI,WAAU,gBACb,UAACA,EAAA,OAAI,UAAU,yBAEb,UAACzD,EAAA,OAAI,UAAU,mBACb,SAAAA,EAACqK,YAAS,SAAUrK,EAAC8E,KAAgB,EACnC,SAAA9E,EAACie,GAAA,CACC,gBACEwB,GAAA5G,EAAA4F,GAAA,YAAAA,EAAoB,OAApB,YAAA5F,EAA0B,wBAA1B,KAAA4G,EAAmD,GAErD,WAAYlsB,EACZ,cAAcmsB,GAAAC,EAAAlB,GAAA,YAAAA,EAAoB,OAApB,YAAAkB,EAA0B,KAA1B,KAAAD,EAAgC,GAC9C,OAAOE,EAAAnB,GAAA,YAAAA,EAAoB,OAApB,YAAAmB,EAA0B,kBACjC,aAAaC,EAAApB,GAAA,YAAAA,EAAoB,OAApB,YAAAoB,EAA0B,oBACvC,SAASC,GAAArB,GAAA,YAAAA,EAAoB,OAApB,YAAAqB,GAA0B,2BACnC,aAAaC,GAAAtB,GAAA,YAAAA,EAAoB,OAApB,YAAAsB,GAA0B,YACvC,oBACEC,EAAAvB,GAAA,YAAAA,EAAoB,OAApB,YAAAuB,EAA0B,iCAGhC,CACF,GACAhgB,EAAC,OACC,UAAU,yCACV,MAAO,CAAE,aAAc,YAAa,EAEpC,WAAC,MAEC,WAAAA,EAACqK,WAAS,UAAWrK,EAAA8E,GAAA,CAAgB,GACnC,SAAA9E,EAACge,GAAA,CACC,UAAUiC,EAAAxB,GAAA,YAAAA,EAAoB,OAApB,YAAAwB,EAA0B,SACpC,IAAIC,EAAAzB,GAAA,YAAAA,EAAoB,OAApB,YAAAyB,EAA0B,GAC9B,OAAOC,GAAA1B,GAAA,YAAAA,EAAoB,OAApB,YAAA0B,GAA0B,MACjC,aAAaC,GAAA3B,GAAA,YAAAA,EAAoB,OAApB,YAAA2B,GAA0B,cAE3C,EACCpgB,EAAAsc,GAAA,CAAoB,WAAYmC,GAAA,YAAAA,EAAoB,IAAM,IAC7D,EACF,GACF,EAECze,EAAAoO,GAAA,CAA6B,aAAcqQ,GAAA,YAAAA,EAAoB,KAAK,GAAI,EAC3E,EACF,GACF,GACF,EAGGze,EAAA+C,EAAA,UAAA2b,EAEG1e,EAAA+C,EAAA,UAAA/C,EAACke,GAAA,CACC,UAAU,MACV,iBAAiB,gMAGrB,EAEAle,EAAC,MAAI,WAAW,GAAG,OAAAvF,GAAS,EAAI,aAAe,IAC7C,SAACuF,EAAA,OAAI,GAAG,YAAa,EACvB,GAEJ,EAEJ,EAEJ,GAGEA,EAAA+C,EAAA,UAAA/C,EAAC4d,GAAA,CACC,eAAgBa,GAAA,YAAAA,EAAoB,KACpC,wBAAAX,EACA,wBAAAC,CAAA,EAEJ,EAEJ,EAEJ,CClOA,MAAMsC,GAAY7U,EAAA,KAAK,IAAMC,EAAA,WAAO,qBAAU,eAAC,4CAW/C,SAAwB6U,IAAM,CAC5B,MAAMxkB,EAAW,OAAO,SAClBykB,EAAU,IAAI7b,GACd,CAAC8b,EAAaC,CAAc,EAAIxjB,WAAS,EAAK,EAC9C,CAACyjB,EAAmBC,CAAoB,EAAI1jB,EAAA,SAChDnB,EAAS,WAAa,MACrB,CAACA,EAAS,SAAS,SAAS,mBAAmB,GAAK,CAACrB,KAAS,EAG3DmmB,EAAkB,IACf9kB,EAAS,UAAY,WAAaA,EAAS,UAAY,aAG1D+kB,EAAa,IAAM,CAEvB,GAAI,CAACH,EAAmB,CACtB,MAAMI,EAAO,SAAS,KAChBC,EAAO,SAAS,KAEhBC,EAAU,SAAS,cAAc,QAAQ,EAC/CA,EAAQ,MAAQ,GAChBA,EAAQ,UAAY,mGAEpBF,EAAK,YAAYE,CAAO,EAElB,MAAAC,EAAU,SAAS,cAAc,QAAQ,EAC/CA,EAAQ,MAAQ,GAChBA,EAAQ,UAAY,qbAOpBH,EAAK,YAAYG,CAAO,EAElB,MAAAC,EAAW,SAAS,cAAc,MAAM,EAE9CA,EAAS,IAAM,aACfA,EAAS,KAAO,2EAChBJ,EAAK,YAAYI,CAAQ,EAEnB,MAAAC,EAAU,SAAS,cAAc,QAAQ,EAC/CA,EAAQ,KAAO,sBACfA,EAAQ,MAAQ,GAChBA,EAAQ,UAAY,0YAapBL,EAAK,YAAYK,CAAO,EAElB,MAAAC,EAAQ,SAAS,cAAc,MAAM,EAC3CA,EAAM,KAAO,mBACbA,EAAM,QAAU,uCAEhBN,EAAK,YAAYM,CAAK,EAEhB,MAAAC,EAAc,SAAS,cAAc,QAAQ,EACnDA,EAAY,MAAQ,GACpBA,EAAY,IACV,iFACFA,EAAY,UAAY,iBAExBP,EAAK,YAAYO,CAAW,EAEtB,MAAAC,EAAqB,SAAS,cAAc,MAAM,EACxDA,EAAmB,IAAM,aACzBA,EAAmB,KAAO,+BACpB,MAAAC,EAAkB,SAAS,cAAc,MAAM,EACrDA,EAAgB,IAAM,aACtBA,EAAgB,KAAO,4BACvBA,EAAgB,YAAc,OAE9BT,EAAK,YAAYS,CAAe,EAE1B,MAAAC,EAAU,SAAS,cAAc,QAAQ,EAC/CA,EAAQ,UAAY,2SAOpBT,EAAK,YAAYS,CAAO,EAExBb,EAAqB,EAAI,EAClB,2BAAoB,aAAcE,CAAU,EAC5C,2BAAoB,YAAaA,CAAU,EAC3C,2BAAoB,SAAUA,CAAU,EACxC,2BAAoB,QAASA,CAAU,CAChD,GAGFhhB,YAAU,IACJpF,MACK,wBAAiB,aAAcomB,CAAU,EACzC,wBAAiB,YAAaA,CAAU,EACxC,wBAAiB,SAAUA,CAAU,EACrC,wBAAiB,QAASA,CAAU,EAEpC,IAAM,CACJ,2BAAoB,aAAcA,CAAU,EAC5C,2BAAoB,YAAaA,CAAU,EAC3C,2BAAoB,SAAUA,CAAU,EACxC,2BAAoB,QAASA,CAAU,KAGzC,wBAAiB,OAAQA,CAAU,EACnC,IAAM,CACJ,2BAAoB,OAAQA,CAAU,IAGhD,CAAE,GAELhhB,YAAU,IAAM,CACVpF,MACF,WAAW,IAAM,CACXimB,GACFC,EAAqB,EAAI,GAE1B,GAAI,CAEX,EAAG,CAAE,GAsCL9gB,YAAU,IAAM,CACV+gB,KACFH,EAAe,EAAI,EAERgB,IACDC,GAAA,EACX,CAAC5lB,EAAS,QAAQ,CAAC,EAEtB,MAAM2lB,EAAe,IAAM,CACrB,IAAAE,EAAe,eAAe,QAAQzrB,EAAU,EAC/CkC,EAAWupB,CAAY,GAC1B,eAAe,QAAQzrB,GAAY,IAAI,KAAK,EAAE,aAAa,CAC7D,EAGI0rB,EAAsB,IACnB,KAAK,MAAM,KAAK,SAAY,KAAc,EAAI,EAGjDF,EAAc,IAAM,CACpB,IAAAnK,EAAWgJ,EAAQ,IAAIpqB,EAAS,GAChCohB,GAAY,MAAaA,GAAY,MAAQA,GAAY,IACnDgJ,EAAA,IAAIpqB,GAAWyrB,EAAqB,EAC9C,EAIA,OAAA5hB,EAAC,OAAI,UAAW,kBACd,WAACnD,GACC,UAAAmD,EAACqK,EAAS,mBAAWrK,EAAA,OAAI,GAAG,YAAa,GAEtC,WACEA,EAAAqgB,GAAA,CAAU,GAGRrgB,EAAA+C,EAAA,UAAAjH,EAAS,UAAY,IAElB2H,EAAAV,EAAA,WAAC/C,EAAA,UAAO,UAAU,+EAChB,SAACA,EAAA,OAAI,GAAG,wBACN,SAAAyD,EAAC,MAAI,WAAU,mBACb,UAACzD,EAAA,OAAI,UAAU,cACb,SAAAA,EAAC,OACC,MAAM,6BACN,MAAM,KACN,KAAK,eACL,UAAU,kBACV,QAAQ,cAER,SAAAA,EAAC,OAAK,GAAE,2JAA4J,KAExK,EACAA,EAAC,MAAI,WAAU,SACb,SAAAA,EAAC,KAAE,KAAM,IACP,SAACA,EAAAqK,EAAA,UAAS,SAAUrK,EAAC8E,IAAgB,EACnC,SAAA9E,EAAC,MAAI,KAAI,aAAa,IAAK5S,GAAM,UAAU,wBAAyB,EACtE,EACF,GACF,EACA4S,EAAC,MAAI,WAAU,cACb,SAAAA,EAAC,IAAE,MAAK,UACN,SAAAyD,EAAC,OAAK,WAAU,qDACd,UAAAzD,EAAC,OACC,IAAKkF,GACL,MAAO,GACP,IAAI,YACJ,UAAU,SACZ,EACClF,EAAA,OAAI,UAAU,wBAAwB,SAAM,WAC/C,EACF,GACF,EACF,EACF,GACF,IACC,MAAI,WAAU,4CACb,SAACA,EAAA,KAAE,KAAM,IAAK,UAAU,QACtB,SAACA,EAAA,OAAI,IAAI,aAAa,IAAK5S,GAAM,UAAU,mBAAmB,EAChE,CACF,KAECiX,GAAmC,IACnCrE,EAAA,OAAI,GAAG,aAAa,UAAU,kBAAkB,GAcnD,EAGGA,EAAA+C,EAAA,UAAAjH,EAAS,SAAS,SAAS,kBAAkB,EAE1CkE,EAAA+C,EAAA,UAAA/C,EAAC,OAAI,UAAU,aACb,WAACme,GAAiB,eAAe,GAAO,CAC1C,GACF,EAGE1a,EAAAV,EAAA,WAAC/C,EAAA,OAAI,GAAG,YAAa,GACpBA,EAAA,OAAI,UAAU,mBACb,SAACA,EAAA,OAAI,IAAI,aAAa,IAAK5S,GAAM,UAAU,kBAAmB,GAChE,EACF,EAEJ,EAEJ,EAEJ,EACF,EACF,EAEJ,CC1SAy0B,GAAS,WAAW,SAAS,eAAe,MAAM,CAAgB,EAAE,SACjEC,GAAM,WAAN,CACC,SAAC9hB,EAAA+hB,GAAA,CAAS,MAAA1tB,GACR,SAAC2L,EAAAqK,EAAA,UAAS,SAAWrK,EAAA,OAAI,GAAG,YAAa,GAAQ,WAACsgB,GAAI,IAAE,EAC1D,CACF,EACF","names":["EnterpriseImg","Logo$1","LANCAMENTO","NA_PLANTA","EM_OBRAS","PRONTO_PARA_MORAR","initialState","ImgPrimary","Logo","enterprisesSlice","createSlice","state","action","item","enterprisesSlice$1","journeysSlice","journeysSlice$1","userSlice","userSlice$1","searchSlice","search","statusFetchSlice","statusFetchSlice$1","API_URL","stateApi","createApi","fetchBaseQuery","builder","id_country","slug_country","country_name_id","statesFetchSlice","statesFetchSlice$1","statusApi","name","ENUM_PHOTO_PLANT","ENUM_PHOTO_AREA_LOCATION","enterpriseApi","content","response","meta","arg","id","cityId","stateId","pageIndex","slug","enterpriseId","dataAux","newResponse","x","element","cityApi","uf","citiesFetchSlice","citiesFetchSlice$1","districtApi","localidadeId","districtFetchSlice","districtFetchSlice$1","fetchCardsEnterprises","createAsyncThunk","dispatch","getState","res","_a","cardEnterpriseSlice","payload","cardEnterpriseSlice$1","filterEnterprisesSlice","filterEnterprisesSlice$1","userApi","args","userId","username","accountApi","code","searchListLocalSlice","searchListLocals","builderApi","constructionCompanyId","buildersSlice","buildersSlice$1","mailApi","mailsSlice","mailsSlice$1","leadApi","email","leadsSlice","leadsSlice$1","pressroomSlice","pressRoomSlice","pressroomApi","categoryId","differentialsSlice","differentialsSlice$1","differentialApi","simulatorSlice","simulatorSlice$1","simulatorApi","autocompletesSlice","autocomplessSlice","autocompleteApi","autocomplete","campaignsSlice","campaignsSlice$1","campaignApi","campaign","cardsEnterprisesIdsSlice","cardsEnterprisesIdsSlice$1","cardEnterpriseIdsApi","listIds","tagsSlice","tagsSlice$1","tagsApi","generalFetchSlice","generalsSlice","generalApi","obj","cep","idioma","store","configureStore","getDefaultMiddleware","usersSlice","stateAux","addUser","getByEmailPassword","HISTORICO_BUSCAS","LOCATION","FILTER_ADDRESS","FILTER_NUMBER_BEDROOMS","FILTER_PRICE_MAX","FILTER_PRICE_MIN","FILTER_area_MAX","FILTER_DIFFERENTIALS","FILTER_area_MIN","FILTER_BATHROOMS","FILTER_PARKING_SPACES","FILTER_SUIT","FILTER_LIST_STATUS","CODE","EMAIL","LOCATIONS","VIEWED_ENTERPRISES","RECENTS_VIEWED_ENTERPRISES","EMAIL_FORGOT_PASSWORD","STATUS_FULL","FILTER_SELECTED_STATUS","RELOAD_PAGE","DATE_ENTRY","DEVICE_ID","STATES","CITIES","SELECTED_STATE","SELECTED_CITY","SELECTED_DISTRICT","NAME_OF_EMPTY","FORM_INFOS_CONTACT_LEAD","FULL_TEXT","DIFFERENTIALS_FILTER","STATUS_FILTER","SIMULATION_DATA_BACKUP","ARGUMENTS_AUTOCOMPLETE","SEL_ARGUMENTS_AUTOCOMPLETE","CLICK_SEARCH_NAV","ID_PRODUCT_SEARCHED_VIEWED","TYPE_LOGIN","INFOS_BLOG_COMMENT","INFOS_CARD_SELECTED_ENTERPRISE","USER_CLAIM_ROLE","USER_CLAIM_FULLNAME","USER_CLAIM_EMAIL","USER_CLAIM_ID","USER_CLAIM_NAME","USER_CLAIM_PHONENUMBER","USER_CLAIM_FAVORITES_ENTERPRISES","USER_CLAIM_TYPE_NAME_ROLE","USER_CLAIM_TYPE_NAME_FULLNAME","USER_CLAIM_TYPE_NAME_EMAIL","USER_CLAIM_TYPE_NAME_ID","USER_CLAIM_TYPE_NAME_NAME","USER_CLAIM_TYPE_NAME_PHONENUMBER","USER_CLAIM_TYPE_NAME_FAVORITES_ENTERPRISES","isValidStr","str","isValidList","list","strToSlug","accents","letter","getIndexClaimByClaimName","claimName","userClaims","userClaimTypeName","counter","key","val","getClaimByClaimName","emptyClaim","validRequiredInputs","requiredElements","validFields","valEl","isCheckTermos","checkHTML","valCheckHTML","inputCheckHTML","formatPhoneNumber","phoneNumber","cleaned","formatted","convertString","result","separateList","separator","temp","i","saveListAsString","listString","index","isMobile","isLocal","getPriceFormat","value","valFormat","cleanSelectedArgumentsForAutocomplete","formatMoneyReal","formatBRL","valor","_b","_c","getDefaultLanguage","savedLanguage","formatDateBar","dateString","date","e","saveCardsStorage","title","banner","status","location","cardInfos","isValidEmail","ACCESSTOKEN","REFRESHTOKEN","USERINFOS","USER_FAVORITES_ENTERPRISES","ResponseLogin","accessToken","expiresIn","refreshToken","user","__publicField","AuthContext","createContext","AuthProvider","children","tokens","setTokens","useState","getAuthenticated","access","refresh","getUserLogin","storageUserInfos","jsonObj","authenticated","setAuthenticated","setUser","loginUser","setLoginUser","useDispatch","useAccount","data","error","isError","isLoading","isSuccess","isSuccessLogin","setIsSuccessLogin","signup","credentials","login","loginBySocialMedia","dataParam","authToken","_d","saveInfosUserCookies","loginConstrutora","handleToken","saveCookiesToken","handleErrorLogin","boxErrorLoginHTML","contentErrorLoginHTML","boxEmailLoginHTML","boxPasswordLoginHTML","errorStr","_e","handleLoadingLogin","boxLoadingLoginHTML","getFavoritesEnterprises","favoritesEnterprises","claimsUser","useEffect","handleAuthenticated","logout","jsx","useAuth","useContext","GlemoLogo","Button","forwardRef","asChild","className","paddingXClass","fontSizeClassName","variant","props","forwardedRef","clsx","CheckboxRoot","rounded","RadixCheckbox.Root","CheckboxIndicator","RadixCheckbox.Indicator","Checkbox","TextInputRoot","roundedInput","TextInputIcon","TextInputInput","TextInput","BgBestProperties","SeparatorMicrophoneGray","VoiceToText","startListen","stopListen","transcriptListen","handleAllowed","stopTranscript","transcript","setTranscript","listening","setListening","allowed","setAllowed","recognition","startListening","stopListening","SpeechRecognition","event","newTranscript","requestMicrophonePermission","err","Fragment","MicrophoneIcon","ModalErrorMicrophone","showModal","closeModal","description","titleStatus","setTitleStatus","descriptionStatus","setDescriptionStatus","jsxs","Voice2Text","changeTranscript","setStartListen","setStopListen","transcriptRealTime","setTranscriptRealTime","waitListen","setWaitListen","setShowModal","handleTranscript","handleStopTranscript","SectionBestPropertiesFullTextBasic","valueInput","setValueInput","heightSection","setHeightSection","Cookies","header","handleChangeInput","memo","SkeletonLoading","count","height","Skeleton","UserLoginIcon","IconLoading","TextInputField","label","defaultValue","classNameContainer","required","maxLength","roundedBorderLg","type","hasViewPassword","maskPhoneNumber","maskCPF","maskCNPJ","maskCPFCNPJ","border","setInput","handleKeyDown","iconImg","isSpeechBalloon","speechBalloonInfos","valInput","setValInput","openSpeechBalloon","setopenSpeechBalloon","classNameLabel","setClassNameLabel","typeInput","setTypeInput","classNameInput","setClassNameInput","formatCPF","formatCNPJ","handleChangeValueInput","isValidInput","handleFocusOut","handleKeyDownConst","handleOpenSpeechBalloon","handleClickSeePassword","ModalError","colorStatus","setColorStatus","bgStatus","setBgStatus","IconFavorite","IconFavoriteFull","FavoriteEnterprise","enterpriseTitle","isFavoriteDefault","removeFavorite","auth","errorFavoriteLocal","seterrorFavoriteLocal","userInfos","showModalError","setShowModalError","favoriteEnterprises","setfavoriteEnterprises","handleCloseModal","isFavoriteEnterprise","setIsFavoriteEnterprise","useFavoriteEnterprise","isSuccessFavorite","isErrorFavorite","isLoadingFavorite","useFavoriteDeleteEnterprise","isSuccessFavoriteDelete","isErrorFavoriteDelete","errorFavoriteDelete","isLoadingFavoriteDelete","handleSuccessFavoriteDelete","favoritesAux","handlefavoriteEnterprise","fav","newEnterprise","token","isFavorite","handleSuccessFavorite","updateListFavorites","isDelete","favoriteEnterprisesAux","updateFavoritesLocalStorage","isFavoriteAux","Suspense","v4","NewCarouselEnterprise","EnterpriseId","bannerUrls","setBannerUrls","currentBannerIndex","setCurrentBannerIndex","checkImagemBanner","imgUrl","resolve","img","NotFoundImg","tempUrls","url","handleNextBannerCarousel","handlePrevBannerCarousel","_f","CardEnterpriseHeader","lazy","__vitePreload","CardEnterpriseStatusActions","CardEnterpriseInfos","CardEnterpriseCharacters","CardEnterpriseAdvertiserPrice","CardEnterpriseFooter","index$3","CardEnterprise","enterprise","conditions","isPromotion","classNameCard","navigation","useNavigate","useAddProductSearchedViewed","dataProductSearched","isLoadingProductSearched","isErrorProductSearched","isSuccessProductSearched","addProductSearchedViewed","argumentSearch","useCallback","addEnterpriseViewed","SectionEnterprises","size","seeMore","isCarousel","marginRowCardsClassName","isFavorites","is3CardsByLine","cardRemoveItemFavorite","paddingCarousel","listEnterprises","useEnterprises","selectedIndexCarousel","setSelectedIndexCarousel","id_construtora_teste","touchStartX","touchEndX","handleTouchStart","handleTouchMove","handleTouchEnd","getEnterprises","SecionRecommendedEnterprises","enterprisesRecommended","getRecommended","IconCar","IconBedroom","IconRuler","PARKING_SPACES","DORMITORY","ROOMS","BEDROOM","BaseInfos","Id","Description","ConstructionCompanyId","StatusId","parkingSpaces","setParkingSpaces","rooms","setRooms","dataTipologies","isErrorTipologies","isLoadingTipologies","isSuccessTipologies","statusTipologies","errorTipologies","dataInfo","isErrorInfo","isLoadingInfo","isSuccessInfo","statusInfo","errorInfo","getTipologies","getTotalArea","IconsText","Differentials","dataIcons","setDataIcons","listIcons","Location","extractIframeSrc","html","iframe","Proximities","FichaTecnica","Title","Realization","dataAddress","isSuccessAddress","isErrorAddress","isLoadingAddress","dataDifferentials","isSuccessDifferentials","isErrorDifferentials","isLoadingDifferentials","dataProximities","isSuccessProximities","isErrorProximities","isLoadingProximities","dataAdjacentsDistricts","isSuccessAdjacentsDistricts","isErrorAdjacentsDistricts","isLoadingAdjacentsDistricts","dataIconsDifferentials","setDataIconsDifferentials","Tour360","FinancingConditions","Fonte","fonteUrl","LastPublish","lastPublish","formattedDate","IconStarFull","IconStarEmpty","Evaluation","nota","max","marginClass","_","el","star","AboutCompany","validUrlImg","setValidUrlImg","useBuilderComment","useBuilderReviews","dataReviews","isLoadingReviews","isSuccessReviews","isErrorReviews","getReviewsBuilder","getCommentBuilder","getScoreBuilder","sumComments","partialSum","a","CardPatrocinado","link","bannerDesktopUrl","bannerMobileUrl","idCampaign","useSendClick","sendClick","handleToPage","BannerNotFound","CardPatrocinadoByIndex","position","useCampaigns","dataCampaigns","isErrorCampaigns","isSuccessCampaigns","isLoadingCampaigns","getCampaignsDay","formatDate","year","month","day","hours","minutes","seconds","milliseconds","useLayoutEffect","campaigns","defaultTitleSuccess","defaultTitleError","defaultTitleLoading","defaultMessageSuccess","defaultMessageError","defaultMessageLoading","PopupContactRequest","showPopup","closePopup","message","titlePopup","setTitlePopup","messagePopup","setmessagePopup","redirectToHome","getDefaultMessage","getDefaultTitle","modalContactHTML","LogoGlemo","Loading","Tag","CardFormContactLead","campaignId","constructionId","formId","deviceId","navigationStartDate","formInfosLocal","uuid","disabledBtn","setDisabledBtn","isLogged","typeLeadSourceIdTenhoIntesse","statusLead","isNewAccount","setIsNewAccount","setShowPopup","statusMessage","setStatusMessage","setMessagePopup","useSendConversionCampaign","dataConversion","isSuccessConversion","isLoadingConversion","isErrorConversion","useUpdtProductSearchedViewed","setContent","_g","useAddLeads","isErrorAddLead","isLoadingAddLead","isSuccessAddLead","useCreateUser","dataCreateUser","errorCreateUser","isErrorCreateUser","isLoadingCreateUser","isSuccessCreateUser","createUser","newUserCreate","updtProductSearchedViewed","sendConversionCampaign","handleSendMessage","sendLead","newPhone","contentAux","contentLead","handleCheckedContatoDireto","checkboxHTML","isChecked","metadaAux","handleChangeStatusModalPopup","onChange","TagPromotion","ReCAPTCHA","CardBannerFair","fairs","setFairs","getFairByProductId","listFair","SectionDetails","ModalPresentation","Planta","EntepriseId","selectedImgModal","setSelectedImgModal","handleShowImg","Video","getLinkEmbed","SectionMedia","KnowUnits","units","indexSelectedButton","setIndexSelectedButton","selectedUnit","setSelectedUnit","handleSelectedItem","Downloads","idInitAlert","idInitLoading","handleShowErrorDownload","idHTML","alert","SectionKnowUnits","NavInternEnterprise","selectedSection","setSelectedSection","navsSection","setNavsSection","ModalCarouselEnterpriseMobile","photos","handlers","useSwipeable","changeCurrentBannerIndex","changeOverflowCarouselGallery","left","carousel","currentScroll","CarouselEnterpriseModalMobile","lockScroll","scrollBarWidth","unlockScroll","headerHTML","cardPriceHTML","IconShare","CarouselEnterpriseModalMobileInit","InternEnterpriseInit","dataEnterprise","isLoadingEnterpriseData","isSuccessEnterpriseData","Header","CardEnterpriseInternInfosPrice","Error","InternEnterprise","isLoadingFull","enterpriseGeneralInfos","setenterpriseGeneralInfos","param","useParams","dataEnterpriseData","isErrorEnterpriseData","listStorage","recentsViewedEnterprises","setrecentsViewedEnterprises","useViewedEnterprises","isSuccessViewed","isErrorViewed","isLoadingViewed","setViewed","addStorageSlug","listToStr","addStorageRecentsViewed","prevState","dataBySlug","Helmet","_h","_j","_i","_k","_l","_m","_n","_o","_p","_q","_r","_s","AppRouter","App","cookies","allowLocals","setAllowLocals","loadingComponents","setLoadingComponents","isValidPathname","handleLoad","head","body","script1","script2","linkTiny","script3","adopt","scriptAdopt","linkfontsgoogleapi","linkfontsgtatic","script5","addDateEntry","addDeviceId","dateEntryAux","randomNumberInRange","ReactDOM","React","Provider"],"ignoreList":[],"sources":["../../src/assets/ex-enterprise.webp","../../src/assets/mrv-logo.webp","../../src/constants/categoryEnterprise.tsx","../../src/store/reducers/enterprises.tsx","../../src/store/reducers/journeys.tsx","../../src/store/reducers/users/user.tsx","../../src/store/reducers/search.tsx","../../src/store/reducers/status/status.tsx","../../src/constants/baseUrlApiStatic.tsx","../../src/store/reducers/state/stateApi.tsx","../../src/store/reducers/state/states.tsx","../../src/store/reducers/status/statusApi.tsx","../../src/constants/enterprisePresentationMediaTypesEnums.tsx","../../src/store/reducers/enterprise/enterpriseApi.tsx","../../src/store/reducers/city/cityApi.tsx","../../src/store/reducers/city/cities.tsx","../../src/store/reducers/district/districtApi.tsx","../../src/store/reducers/district/districts.tsx","../../src/store/reducers/cardsEnteprises/enterprises.tsx","../../src/store/reducers/filterEnterprises.tsx","../../src/store/reducers/users/userApi.tsx","../../src/store/reducers/accounts/accountApi.tsx","../../src/store/reducers/searchListLocals.tsx","../../src/store/reducers/builders/builderApi.tsx","../../src/store/reducers/builders/builders.tsx","../../src/store/reducers/mail/mailApi.tsx","../../src/store/reducers/mail/mails.tsx","../../src/store/reducers/leads/leadApi.tsx","../../src/store/reducers/leads/leads.tsx","../../src/store/reducers/pressrooms/pressrooms.tsx","../../src/store/reducers/pressrooms/pressroomApi.tsx","../../src/store/reducers/differentials/differentials.tsx","../../src/store/reducers/differentials/differentialApi.tsx","../../src/store/reducers/simulators/simulators.tsx","../../src/store/reducers/simulators/simulatorApi.tsx","../../src/store/reducers/autocompletes/autocompletes.tsx","../../src/store/reducers/autocompletes/autocompleteApi.tsx","../../src/store/reducers/campaigns/campaigns.tsx","../../src/store/reducers/campaigns/campaignApi.tsx","../../src/store/reducers/cardsEnterprisesIds/cardsEnterprisesIds.tsx","../../src/store/reducers/cardsEnterprisesIds/cardEnterpriseIdsApi.tsx","../../src/store/reducers/tags/tags.tsx","../../src/store/reducers/tags/tagsApi.tsx","../../src/store/reducers/general/generals.tsx","../../src/store/reducers/general/generalApi.tsx","../../src/store/index.tsx","../../src/store/reducers/users.tsx","../../src/constants/storageNames.tsx","../../src/constants/userClaims.tsx","../../src/common_functions/index.tsx","../../src/constants/loginInfos.tsx","../../src/store/reducers/interfaces/ResponseLogin.tsx","../../src/hooks/useAuth.tsx","../../src/assets/glemo-logo.webp","../../src/components/common/Button/index.tsx","../../src/components/common/Checkbox/index.tsx","../../src/components/common/TextInput/index.tsx","../../src/assets/bg_best_properties_dark.webp","../../src/assets/icons/separator-microphone-gray.svg","../../src/components/utilities/VoiceToText/index.tsx","../../src/assets/icons/microphone-blue.svg","../../src/components/Modais/ModalErrorAllowMicrophone/index.tsx","../../src/components/Voice2Text/index.tsx","../../src/components/Sections/SectionBestPropertiesFullText/indexBasic.tsx","../../src/components/common/SkeletonLoading/index.tsx","../../src/assets/icons/blue-user.svg","../../src/assets/Image-not-found.webp","../../src/assets/loading-gif.gif","../../src/components/common/TextInputField/index.tsx","../../src/components/Modais/ModalError/index.tsx","../../src/assets/icons/icon-favorite.svg","../../src/assets/icons/icon-favorite-full.svg","../../src/components/FavoriteEnterprise/index.tsx","../../src/components/Carousels/NewCarouselEnterprise/index.tsx","../../src/components/Cards/CardEnterprise/index.tsx","../../src/components/Sections/SectionEnterprises/index.tsx","../../src/components/Sections/SecionRecommendedEnterprises/index.tsx","../../src/assets/icons/icon-car.svg","../../src/assets/icons/icon-bedroom.svg","../../src/assets/icons/icon-ruler.svg","../../src/constants/enterpriseSpecificationsTypes.tsx","../../src/components/InternEnterprise/BaseInfos.tsx","../../src/components/InternEnterprise/Differentials.tsx","../../src/components/InternEnterprise/Location.tsx","../../src/components/InternEnterprise/Proximities.tsx","../../src/components/InternEnterprise/FichaTecnica.tsx","../../src/components/InternEnterprise/Tour360.tsx","../../src/components/InternEnterprise/FinancingConditions.tsx","../../src/components/InternEnterprise/Fonte.tsx","../../src/components/InternEnterprise/LastPublish.tsx","../../src/assets/icons/icon-star-full.svg","../../src/assets/icons/icon-star-empty.svg","../../src/components/Evaluation/index.tsx","../../src/components/InternEnterprise/AboutCompany.tsx","../../src/components/Cards/CardPatrocinado/index.tsx","../../src/components/Cards/CardPatrocinadoByIndex/index.tsx","../../src/components/Popups/PopupContactRequest/index.tsx","../../src/assets/tag_promo.webp","../../src/components/Cards/CardFormContactLead/index.tsx","../../src/assets/Image-not-found-horiz.webp","../../src/components/Cards/CardBannerFair/index.tsx","../../src/components/InternEnterprise/SectionDetails.tsx","../../src/components/Modais/ModalPresentation/index.tsx","../../src/components/InternEnterprise/Planta.tsx","../../src/components/InternEnterprise/Video.tsx","../../src/components/InternEnterprise/SectionMedia.tsx","../../src/components/InternEnterprise/KnowUnits.tsx","../../src/components/InternEnterprise/Downloads.tsx","../../src/components/InternEnterprise/SectionKnowUnits.tsx","../../src/components/NavInternEnterprise/index.tsx","../../src/components/Modais/ModalCarouselEnterpriseMobile/index.tsx","../../src/components/Carousels/CarouselEnterpriseModalMobile/index.tsx","../../src/assets/icons/icon-blue-share.svg","../../src/components/Carousels/CarouselEnterpriseModalMobile/indexInit.tsx","../../src/components/InternEnterprise/InternEnterpriseInit/index.tsx","../../src/pages/Empreendimentos/InternEnterprise/index.tsx","../../src/App.tsx","../../src/main.tsx"],"sourcesContent":["export default \"__VITE_ASSET__CuA$cVl1__\"","export default \"data:image/webp;base64,UklGRmoDAABXRUJQVlA4WAoAAAAQAAAAMwAANAAAQUxQSDsBAAABgFZrb97mhSAIghAIglAGMwQziBjEDBwGLQObgSFoDAxh34ktn7PfETEBGEqPmHLOWaMQfEqyXpOGEIKm2luSabT3qoLLWzQLPIP2/hIM3E6L48QqYzCfJoMOE0wMto+gUglT+VnoFptiuhrfYFM4VONrTeFSG105Epyex4Vg5IXs7Q82htut02+nwnE6fuEP5/zj9JYB8Id7AoI/BZq/Av5YkB4rhLRCKiu82grWV+gf/9r3Fayt0M4VXnEFlRWE+gJA8fcCHv4CQN2bAYB60x/UrTpuxj8QCxw/A34v0U80/MnGXtj4L0QjH2wRV7WRB2qK69poHjXFXTWexaa4rxbmSI8YuVnmcXSYYCwlC4No74kwnE/LfI/3XhlT+bSmQn+R7KUrY76k2nspOT+b9ZoEblkkhMfGGAwAVlA4IAgCAABQCgCdASo0ADUAPm00lUgkIyIhphqpOIANiWIAS4D7AbgDeAPQA6S8lWHkY+h0DfiB/941R/0ZGcfC1oygLf8kVfDStLkJxCz29/BCReguNekg8Se/rBq6NPA4AP7+wibAfoOFXc0vhUpsWVMrvks29ysDn4/v//7qa5VwHGcOci+u59xk48vNH5+Culsz71eMzz/OQiyb6UFfA/t8twvYVQyAt1XtnQp3OvfHXjSxMHODw4PTfiersJz9Z7468LM/fx6GFn+2P9uJDD/a3X9f8yjf/T/l6PFn7tjLO//HTe22D9z/ZbYzZa7LfO0+lcPT2nEp658eR1Mv1kz4nCxTjSL9wVCBvcYi+cZL5xn/5RI/zvpa1XmX7qtiEMplOuNeBs443jnKNxm5pI7kZ7P9VfLV9n/7/8mam8Ps8U3W9ez///STtP/g7on+ZCQih8ZX+LyNMbZuqxNIFLNmPT1j1yBxs1Yfdk0zAKVtHl+LtPbHjCTf6f+Smqgr5/vgKr+gPc3Gw/FYW/5ngWJFuCoAIo6YWuvsKeXe9aDBqI/Afe7pwy+M+Xvz7YujE4NbI+BpnFCZ81aFAheHVf/6sQ2ryPMwkljd1QRqbzpV0sevO8jj+lPaRgGKf8eiqRfOmEqD/9+Fv//6PhErWfWBhZjNt483tvPx/67f63vfF//9zfqqyDlAAAAA\"","export const LANCAMENTO = 'LANÇAMENTO'\nexport const NA_PLANTA = 'NA PLANTA'\nexport const EM_OBRAS = 'EM OBRAS'\nexport const PRONTO_PARA_MORAR = 'PRONTO PARA MORAR'\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit'\nimport ImgPrimary from '../../assets/ex-enterprise.webp'\nimport Logo from '../../assets/mrv-logo.webp'\nimport { NA_PLANTA, LANCAMENTO, PRONTO_PARA_MORAR, EM_OBRAS } from '../../constants/categoryEnterprise'\n\nconst initialState = [\n {\n id: 1,\n imgUrl: { ImgPrimary },\n category: NA_PLANTA,\n title: 'Lorem ipsum dolor sit ametLorem ipsum dolor sit amet',\n description: 'Lorem ipsum dolor sit ametLorem ipsum dolor sit ametLorem ipsum dolor sit amet',\n logo: { Logo },\n advertiser: 'MRV',\n price: 500.0,\n route: '/empreendimento',\n favorite: false\n },\n {\n id: 2,\n imgUrl: { ImgPrimary },\n category: LANCAMENTO,\n title: 'Lorem ipsum dolor sit ametLorem ipsum dolor sit amet',\n description: 'Lorem ipsum dolor sit ametLorem ipsum dolor sit ametLorem ipsum dolor sit amet',\n logo: { Logo },\n advertiser: 'MRV',\n price: 500.0,\n route: '/empreendimento',\n favorite: false\n },\n {\n id: 3,\n imgUrl: { ImgPrimary },\n category: PRONTO_PARA_MORAR,\n title: 'Lorem ipsum dolor sit ametLorem ipsum dolor sit amet',\n description: 'Lorem ipsum dolor sit ametLorem ipsum dolor sit ametLorem ipsum dolor sit amet',\n logo: { Logo },\n advertiser: 'MRV',\n price: 500.0,\n route: '/empreendimento',\n favorite: false\n },\n {\n id: 4,\n imgUrl: { ImgPrimary },\n category: 'LANÇAMENTO',\n title: 'Lorem ipsum dolor sit ametLorem ipsum dolor sit amet',\n description: 'Lorem ipsum dolor sit ametLorem ipsum dolor sit ametLorem ipsum dolor sit amet',\n logo: { Logo },\n advertiser: 'MRV',\n price: 500.0,\n route: '/empreendimento',\n favorite: false\n },\n {\n id: 5,\n imgUrl: { ImgPrimary },\n category: EM_OBRAS,\n title: 'Lorem ipsum dolor sit ametLorem ipsum dolor sit amet',\n description: 'Lorem ipsum dolor sit ametLorem ipsum dolor sit ametLorem ipsum dolor sit amet',\n logo: { Logo },\n advertiser: 'MRV',\n price: 500.0,\n route: '/empreendimento',\n favorite: false\n },\n {\n id: 6,\n imgUrl: { ImgPrimary },\n category: EM_OBRAS,\n title: 'Lorem ipsum dolor sit ametLorem ipsum dolor sit amet',\n description: 'Lorem ipsum dolor sit ametLorem ipsum dolor sit ametLorem ipsum dolor sit amet',\n logo: { Logo },\n advertiser: 'MRV',\n price: 500.0,\n route: '/empreendimento',\n favorite: false\n },\n]\n\nconst enterprisesSlice = createSlice({\n name: 'enterprises',\n initialState,\n reducers: {\n changeFavorite: (state,action: PayloadAction) => {\n state = state.map(item => {\n if(item.id === action.payload) item.favorite = !item.favorite\n return item\n })\n }\n }\n})\n\nexport const {changeFavorite} = enterprisesSlice.actions\nexport default enterprisesSlice.reducer\n","import { PayloadAction, createSlice } from '@reduxjs/toolkit'\n\nconst initialState = [\n {\n id: 1,\n number_journeys: 5\n },\n {\n id: 2,\n number_journeys: 2\n },\n {\n id: 3,\n number_journeys: 1\n },\n {\n id: 4,\n number_journeys: 7\n }\n]\n\nconst journeysSlice = createSlice({\n name: 'journeys',\n initialState,\n reducers: {\n addJourney: (state,action: PayloadAction) => {\n state = state.map(item => {\n if(item.id === action.payload) item.number_journeys += 1\n return item\n })\n }\n }\n})\n\nexport const {addJourney} = journeysSlice.actions\nexport default journeysSlice.reducer\n","import { PayloadAction, createSlice } from \"@reduxjs/toolkit\"\nimport { IUserProps } from \"./interfaces/IUserStore\"\n\nconst initialState: IUserProps = {\n userId: '',\n code: ''\n}\n\nconst userSlice = createSlice({\n name: \"user\",\n initialState,\n reducers: {\n changeUserId: (state,action: PayloadAction) => {\n state.userId = action.payload\n },\n changeCode: (state,action: PayloadAction) => {\n state.code = action.payload\n }\n }\n})\n\nexport default userSlice.reducer\nexport const {changeUserId, changeCode} = userSlice.actions\n","import { PayloadAction, createSlice } from '@reduxjs/toolkit'\n\nconst initialState = \"inicio\"\n\nconst searchSlice = createSlice({\n name: 'search',\n initialState,\n reducers: {\n changeSearch: (state,action: PayloadAction) => {\n return action.payload\n }\n }\n})\n\nexport const {changeSearch} = searchSlice.actions\nexport default searchSlice.reducer\n","import { createSlice } from \"@reduxjs/toolkit\"\nimport { IStatusProps } from \"./interfaces/IStatusStore\"\n\nconst initialState: IStatusProps = {}\n\nconst statusFetchSlice = createSlice({\n name: \"status\",\n initialState,\n reducers: {}\n})\n\nexport default statusFetchSlice.reducer\n","export const API_URL = \"https://glemo-admin-service-qas.azurewebsites.net/api\"\n// hml\n// export const API_URL = \"https://glemo-admin-service-hml.azurewebsites.net/api\"\n// local\n// export const API_URL = \"https://localhost:7135/api\"\nexport const MAIL_API_URL = 'http://frontend-glemo.web21f104.uni5.net/'\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { State } from '../../../interfaces/state'\nimport { API_URL } from '../../../constants/baseUrlApiStatic'\nimport { DataRTKReturnList } from '../../../interfaces/dataRTKReturn'\n\ninterface bodyCountryName{\n countryId: string,\n name: string\n}\n\nconst stateApi = createApi({\n reducerPath: 'stateApi',\n baseQuery: fetchBaseQuery({ baseUrl: `${API_URL}/glemo/states` }),\n tagTypes: ['states'],\n endpoints: (builder) => ({\n getStatesByCountryId: builder.mutation, string>({\n query: (id_country) => ({\n url: `/get-all-by-country-id`,\n body: JSON.stringify({\n id: id_country\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['states']\n }),\n getStatesByCountrySlug: builder.mutation, string>({\n query: (slug_country) => ({\n url: `/get-all-by-country-slug`,\n body: JSON.stringify({\n slug: slug_country\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['states']\n }),\n getStatesByCountryNameId: builder.mutation, bodyCountryName>({\n query: (country_name_id) => ({\n url: `/get-all-by-country`,\n body: JSON.stringify(country_name_id),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['states']\n }),\n getStateIdByName: builder.mutation, bodyCountryName>({\n query: (country_name_id) => ({\n url: `/get-all-by-country`,\n body: JSON.stringify(country_name_id),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['states']\n }),\n })\n})\n\nexport default stateApi\n","import { createSlice } from \"@reduxjs/toolkit\"\nimport { State } from \"../../../interfaces/state\"\nimport { IStateProps } from \"./interfaces/IStateStore\"\n\nconst initialState: IStateProps = {}\n\nconst statesFetchSlice = createSlice({\n name: \"states\",\n initialState,\n reducers: {}\n})\n\nexport default statesFetchSlice.reducer\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { API_URL } from '../../../constants/baseUrlApiStatic'\nimport { Status } from '../../../interfaces/status'\nimport { DataRTKReturnList, DataRTKReturn } from '../../../interfaces/dataRTKReturn'\n\nconst statusApi = createApi({\n reducerPath: 'statusApi',\n baseQuery: fetchBaseQuery({ baseUrl: `${API_URL}/glemo/status` }),\n tagTypes: ['status'],\n endpoints: (builder) => ({\n getStatusAll: builder.mutation, undefined>({\n query: () => ({\n url: `/get-all`,\n body: JSON.stringify({\n name: null,\n activated: true\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['status']\n }),\n getStatusIdByName: builder.mutation, string>({\n query: (name:string) => ({\n url: `/get-all`,\n body: JSON.stringify({\n name: name,\n activated: true\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n // transformResponse: (rawResult: {result: {status:Status}}) => {\n // return rawResult.result.status.Id\n // },\n invalidatesTags: ['status']\n }),\n })\n})\n\nexport default statusApi\n","export const ENUM_PHOTO_PLANT = 2\nexport const ENUM_PHOTO_AREA_LOCATION = 3\nexport const ENUM_PHOTO_BANNER = 1\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { API_URL } from '../../../constants/baseUrlApiStatic'\nimport { IContentGetEnterpriseCards } from './interfaces/IContentApis'\nimport { Enterprise2 } from '../../../interfaces/enterprise/enterprise_2'\nimport { EnterpriseDetail } from '../../../interfaces/enterprise/entepriseDetail'\nimport { DataRTKReturn, DataRTKReturnList } from '../../../interfaces/dataRTKReturn'\nimport {\n IContentCard,\n IContentCardDistrictCityStateId\n} from '../../../interfaces/enterprise/argsApi'\nimport { IDefaultResponse } from '../../../interfaces/api/response'\nimport { IResponseError, IResponseErrorNotFound } from '../interfaces/IResponseApi'\nimport { EnterpriseGlobalDifferential } from '../../../interfaces/enterprise/enterpriseDifferentials'\nimport { EnterpriseGlobalProximity } from '../../../interfaces/enterprise/enterpriseProximities'\nimport { EnterprisePhotos } from '../../../interfaces/enterprise/enterprisePhotos'\nimport { EnterpriseTipologies } from '../../../interfaces/enterprise/enterpriseTipologies'\nimport { EnterpriseTag } from '../../../interfaces/enterprise/enterpriseTags'\nimport { EnterprisePaymentCondition } from '../../../interfaces/enterprise/enterprisePaymentCondition'\nimport { EnterpriseInformation } from '../../../interfaces/enterprise/enterpriseInformation'\nimport { EnterpriseAddress } from '../../../interfaces/enterprise/enterpriseAddress'\nimport { EnterpriseAdjacentDistrict } from '../../../interfaces/enterprise/enterpriseAdjacentDistrict'\nimport { EnterpriseAdjacentCity } from '../../../interfaces/enterprise/enterpriseAdjacentCity'\nimport { EnterpriseData } from '../../../interfaces/enterprise/enterpriseData'\nimport { EnteprisePresentationFiles } from '../../../interfaces/enterprise/enterprisePresentationFiles'\nimport { EnteprisePresentationMedia } from '../../../interfaces/enterprise/enterprisePresentationMedia'\nimport { ENUM_PHOTO_AREA_LOCATION, ENUM_PHOTO_BANNER } from '../../../constants/enterprisePresentationMediaTypesEnums'\nimport { EnterpriseUnit } from '../../../interfaces/enterprise/enterpriseUnit'\nimport { RequestCardsByArgumentPageIndex, RequestCardsByArgumentsAutocomplete } from '../../../interfaces/api/request'\n\nconst photosCategoryId = \"e4d0a9b2-9080-4996-ac7b-416241700193\"\nconst mainPhotoCategoryId = \"260fd25d-44fb-4073-8ef4-17b567a49dbe\"\nconst plantCategoryId = \"cd4dd752-7dc2-4f04-8c0e-2658dba81cb5\"\n\nconst enterpriseApi = createApi({\n reducerPath: 'enterpriseApi',\n baseQuery: fetchBaseQuery({ baseUrl: `${API_URL}/glemo` }),\n tagTypes: ['enterprises'],\n endpoints: (builder) => ({\n getCardsEnterprises: builder.mutation, IContentCard>({\n query: (content) => ({\n url: `/enterprises/cards-by-filters`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['enterprises'],\n transformErrorResponse: (response: IResponseError, meta, arg) => {\n return response\n }\n }),\n getCardsEnterprisesCityStateDistrictId: builder.mutation<\n DataRTKReturnList,\n IContentCardDistrictCityStateId\n >({\n query: (content) => ({\n url: `/enterprises/cards-by-filters`,\n body: JSON.stringify({\n stateId: content.stateId,\n cityId: content.cityId,\n districtId: content.districtId,\n statusId: null,\n priceMinimumValue: null,\n priceMaximumValue: null,\n numberOfRooms: null\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['enterprises'],\n transformErrorResponse: (response: IResponseError, meta, arg) => {\n return response\n }\n }),\n getRecommendedEnterprises: builder.mutation, string>({\n query: (id) => ({\n url: `/enterprises/recommended`,\n method: 'POST',\n body: JSON.stringify({\n enterpriseId: id\n }),\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n transformErrorResponse: (response: IResponseError, meta, arg) => {\n return response\n }\n }),\n getCardsEnterprisesConstructionId: builder.mutation<\n DataRTKReturnList,\n string\n >({\n query: (cityId) => ({\n url: `/enterprises/cards-by-filters`,\n body: JSON.stringify({\n stateId: null,\n cityId: null,\n constructionCompanyId: cityId,\n districtId: null,\n statusId: null,\n priceMinimumValue: null,\n priceMaximumValue: null,\n numberOfRooms: null\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['enterprises'],\n transformErrorResponse: (response: IResponseError, meta, arg) => {\n return response\n }\n }),\n getCardsEnterprisesCityId: builder.mutation<\n DataRTKReturnList,\n string\n >({\n query: (cityId) => ({\n url: `/enterprises/cards-by-filters`,\n body: JSON.stringify({\n stateId: null,\n cityId: cityId,\n districtId: null,\n statusId: null,\n priceMinimumValue: null,\n priceMaximumValue: null,\n numberOfRooms: null\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['enterprises'],\n transformErrorResponse: (response: IResponseError, meta, arg) => {\n return response\n }\n }),\n getCardsEnterprisesStateId: builder.mutation<\n DataRTKReturnList,\n string\n >({\n query: (stateId) => ({\n url: `/enterprises/cards-by-filters`,\n body: JSON.stringify({\n stateId: stateId,\n cityId: null,\n districtId: null,\n statusId: null,\n priceMinimumValue: null,\n priceMaximumValue: null,\n numberOfRooms: null\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['enterprises'],\n transformErrorResponse: (response: IResponseError, meta, arg) => {\n return response\n }\n }),\n getEnterprisesByFullText: builder.mutation, RequestCardsByArgumentPageIndex>({\n query: (content) => ({\n url: `/products/search-by-argument`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n transformErrorResponse: (response: IResponseError, meta, arg) => {\n return response\n }\n }),\n getEnterprisesByFullTextAutocomplete: builder.mutation, RequestCardsByArgumentsAutocomplete>({\n query: (content) => ({\n url: `/products/search-by-argument`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n transformErrorResponse: (response: IResponseError, meta, arg) => {\n return response\n }\n }),\n getAllCardsEnterprises: builder.mutation, number|undefined>({\n query: (pageIndex) => ({\n url: `/enterprises/cards-by-filters`,\n body: JSON.stringify({\n stateId: null,\n cityId: null,\n districtId: null,\n statusId: null,\n priceMinimumValue: null,\n priceMaximumValue: null,\n numberOfRooms: null,\n pageIndex: pageIndex,\n pageSize: 9\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getEnterpriseDetailsById: builder.mutation, string>({\n query: (id) => ({\n url: `/enterprises/detailed-by-id`,\n body: JSON.stringify({\n id: id\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n addViewedEnterprise: builder.mutation({\n query: (id) => ({\n url: `/enterprises/viewed/add`,\n body: JSON.stringify({\n enterpriseId: id\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getEnterpriseDetailsBySlug: builder.query, string>({\n query: (slug) => ({\n url: `/enterprises/detailed-by-slug/${slug}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getEnterpriseDataBySlug: builder.query, string>({\n query: (slug) => ({\n url: `/enterprises/data?slug=${slug}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getEnterprisesDataById: builder.query, string>({\n query: (enterpriseId) => ({\n url: `/enterprises/data?enterpriseId=${enterpriseId}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getEnterpriseDifferentialsById: builder.query, string>({\n query: (id) => ({\n url: `/enterprises/differentials/${id}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getEnterpriseProximitiesById: builder.query, string>({\n query: (id) => ({\n url: `/enterprises/proximities/${id}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getEnterprisesMediasPhotosById: builder.query, string>({\n query: (id) => ({\n url: `/enterprises/medias/${id}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n transformResponse: (response:DataRTKReturnList) => {\n let dataAux:Array = []\n let newResponse:DataRTKReturnList = response\n if(response.Data.filter(x => x.MainPhoto).length > 0) dataAux.push(response.Data.filter(x => x.MainPhoto)[0])\n response.Data.forEach(element => {\n if(element.Category.Enumerator == ENUM_PHOTO_AREA_LOCATION){\n dataAux.push(element)\n }\n });\n newResponse.Data = dataAux\n return newResponse\n }\n }),\n getEnterpriseMediasById: builder.query, string>({\n query: (id) => ({\n url: `/enterprises/medias/${id}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getEnterpriseTipologiesById: builder.query, string>({\n query: (id) => ({\n url: `/enterprises/tipologies/${id}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getEnterpriseAdjacentsCitiesById: builder.query, string>({\n query: (id) => ({\n url: `/enterprises/adjacents/cities/${id}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getEnterpriseAdjacentsDistrictsById: builder.query, string>({\n query: (id) => ({\n url: `/enterprises/adjacents/districts/${id}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getEnterpriseTagsById: builder.query, string>({\n query: (id) => ({\n url: `/enterprises/tags/${id}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getEnterprisePresentationFilesById: builder.query, string>({\n query: (id) => ({\n url: `/enterprises/presentation-files/${id}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getEnterprisePresentationMediaById: builder.query, string>({\n query: (id) => ({\n url: `/enterprises/presentation-media/${id}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getEnterprisePaymentConditionById: builder.query, string>({\n query: (id) => ({\n url: `/enterprises/payment-condition/${id}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getEnterpriseInformationById: builder.query, string>({\n query: (id) => ({\n url: `/enterprises/information/${id}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getEnterpriseLegalTextById: builder.query, string>({\n query: (id) => ({\n url: `/enterprises/legal-text/${id}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getEnterpriseAddressById: builder.query, string>({\n query: (id) => ({\n url: `/enterprises/address/${id}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getUnits: builder.query, string>({\n query: (id) => ({\n url: `/enterprises/info/${id}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n })\n})\n\nexport default enterpriseApi\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { API_URL } from '../../../constants/baseUrlApiStatic'\nimport { IContentByStateNameId } from './interfaces/IContentApis'\nimport { City } from '../../../interfaces/city'\nimport { DataRTKReturnList } from '../../../interfaces/dataRTKReturn'\nimport { DataRTKReturn } from '../../../interfaces/dataRTKReturn'\nimport { IGetByStateNameCity } from './interfaces/argsApi'\n\nconst cityApi = createApi({\n reducerPath: 'cityApi',\n baseQuery: fetchBaseQuery({ baseUrl: `${API_URL}/glemo/cities` }),\n tagTypes: ['cities'],\n endpoints: (builder) => ({\n getAllByState: builder.mutation, string>({\n query: (uf:string) => ({\n url: `/get-all-by-state`,\n body: JSON.stringify({\n uf: uf,\n name: null\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['cities']\n }),\n getByStateNameCity: builder.mutation, IGetByStateNameCity>({\n query: (content:IGetByStateNameCity) => ({\n url: `/get-all-by-state`,\n body: JSON.stringify({\n uf: content.uf,\n name: content.city\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['cities']\n })\n })\n})\n\nexport default cityApi\n","import { createSlice } from \"@reduxjs/toolkit\"\nimport { ICityProps } from \"./interfaces/ICityStore\"\n\nconst initialState: ICityProps = {}\n\nconst citiesFetchSlice = createSlice({\n name: \"cities\",\n initialState,\n reducers: {}\n})\n\nexport default citiesFetchSlice.reducer\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { API_URL } from '../../../constants/baseUrlApiStatic'\nimport { District } from '../../../interfaces/district'\nimport { DataRTKReturnList } from '../../../interfaces/dataRTKReturn'\n\nconst districtApi = createApi({\n reducerPath: 'districtApi',\n baseQuery: fetchBaseQuery({ baseUrl: `${API_URL}/glemo/districts` }),\n tagTypes: ['districts'],\n endpoints: (builder) => ({\n getAllByCity: builder.mutation, number>({\n query: (localidadeId) => ({\n url: `/get-all-by-city`,\n body: JSON.stringify({\n localidadeId: localidadeId\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['districts']\n }),\n })\n})\n\nexport default districtApi\n","import { createSlice } from \"@reduxjs/toolkit\"\nimport { IDistrictProps } from \"./interfaces/IDistrictStore\"\n\nconst initialState: IDistrictProps = {}\n\nconst districtFetchSlice = createSlice({\n name: \"districts\",\n initialState,\n reducers: {}\n})\n\nexport default districtFetchSlice.reducer\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { API_URL } from \"../../../constants/baseUrlApiStatic\";\n\n\nexport const fetchCardsEnterprises = createAsyncThunk(\n 'api/fetchCardsEnterprises',\n async (arg:Object, {dispatch, getState}) => {\n return await fetch(`${API_URL}/glemo/enterprises/cards`, {\n body: JSON.stringify(arg),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n .then((res) => res.json())\n .then((res) => {\n return res.Data ?? []\n })\n }\n)\n\ninterface IInitialState {\n items: []\n status: 'loading'|'pending'|'success' | 'failed'\n}\n\nconst initialState:IInitialState = {\n items: [],\n status: 'pending'\n}\n\nconst cardEnterpriseSlice = createSlice({\n name: 'cardEnterprise',\n initialState,\n reducers:{\n enteprisesFilter: (state, action) => {\n state.items = action.payload\n },\n defaultInitialState: (state) => (state =initialState)\n },\n extraReducers: (builder) => {\n builder.addCase(fetchCardsEnterprises.pending, (state, action) => {\n state.status = 'loading'\n })\n builder.addCase(fetchCardsEnterprises.fulfilled, (state, {payload}) => {\n state.items = payload\n state.status = 'success'\n })\n builder.addCase(fetchCardsEnterprises.rejected, (state, action) => {\n state.status = 'failed'\n })\n }\n})\n\nexport default cardEnterpriseSlice.reducer\nexport const {\n defaultInitialState\n} = cardEnterpriseSlice.actions\n","import { PayloadAction, createSlice } from '@reduxjs/toolkit'\n\ninterface IInitialState {\n search: string | null\n searchCityId: string | null\n searchStateId: string | null\n searchDistrictId: string | null\n statusIdList: string[] | null\n numberRooms: number | null\n priceMin: string | null\n priceMax: string | null\n}\n\nconst initialState: IInitialState = {\n search: null,\n searchCityId: null,\n searchStateId: null,\n searchDistrictId: null,\n statusIdList: null,\n numberRooms: null,\n priceMin: null,\n priceMax: null\n}\n\nconst filterEnterprisesSlice = createSlice({\n name: 'filterEnterprises',\n initialState,\n reducers: {\n changeStatusList: (state, action: PayloadAction) => {\n state.statusIdList = action.payload\n },\n changeSearchState: (state, action: PayloadAction) => {\n state.search = action.payload\n },\n changeSearchStateId: (state, action: PayloadAction) => {\n state.searchStateId = action.payload\n },\n changeSearchStateCityId: (state, action: PayloadAction) => {\n state.searchStateId = action.payload\n },\n changeSearchStateDistrictId: (state, action: PayloadAction) => {\n state.searchDistrictId = action.payload\n },\n changeNumberRoomsState: (state, action: PayloadAction) => {\n state.numberRooms = action.payload\n },\n changePriceMinState: (state, action: PayloadAction) => {\n state.priceMin = action.payload\n },\n changePriceMaxState: (state, action: PayloadAction) => {\n state.priceMax = action.payload\n }\n }\n})\n\nexport const {\n changeSearchState,\n changeNumberRoomsState,\n changePriceMaxState,\n changePriceMinState,\n changeSearchStateCityId,\n changeSearchStateDistrictId,\n changeSearchStateId,\n changeStatusList,\n} = filterEnterprisesSlice.actions\nexport default filterEnterprisesSlice.reducer\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { API_URL } from '../../../constants/baseUrlApiStatic'\nimport { DataRTKReturn, DataRTKReturnList } from '../../../interfaces/dataRTKReturn'\nimport { IRequestActivateOrDeactivate, IRequestArgument, IRequestChangePassword, IRequestClaimAdd, IRequestClaimRemove, IRequestCreate, IRequestFavoriteEnterprise, IRequestRoleAdd, IRequestUpdateDetails } from './interfaces/IRequestApi'\nimport { IResponseError, IResponseErrorNotFound } from '../interfaces/IResponseApi'\nimport { Data } from '@react-google-maps/api'\nimport { IDataMessageWithErrors, IResponseErrorList } from '../interfaces/IResponseApi'\nimport { IFavoriteEnterprise } from '../../../interfaces/users/favoriteEnterprise'\nimport { IFavoriteEnterpriseToken } from '../../../interfaces/users/favoriteEnterpriseToken'\nimport { UserArgumentToken, UserDetails } from '../../../interfaces/user'\nimport { IResponseStatus } from './interfaces/IResponseApi'\n\nconst userApi = createApi({\n reducerPath: 'usersApi',\n baseQuery: fetchBaseQuery({ baseUrl: `${API_URL}/` }),\n tagTypes: ['users'],\n endpoints: (builder) => ({\n //POST\n createUser: builder.mutation, IRequestCreate>({\n query: (content) => ({\n url: `/glemo/users/create`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['users'],\n transformResponse: (response:DataRTKReturn, meta, args) => {\n return response\n },\n transformErrorResponse: (response:IResponseErrorList, meta, arg) =>{\n return response.data?.Errors[0].Error\n }\n }),\n addFavoriteEnterprise: builder.mutation, IFavoriteEnterpriseToken>({\n query: (content) => ({\n url: `/users/favorite-enterprise/add`,\n body: JSON.stringify({\n \"userId\": content.userId,\n \"enterpriseId\": content.enterpriseId\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${content.token}`\n }\n })\n }),\n deleteFavoriteEnterprise: builder.mutation, IFavoriteEnterpriseToken>({\n query: (content) => ({\n url: `/users/favorite-enterprise/delete`,\n body: JSON.stringify({\n userId: content.userId,\n enterpriseId: content.enterpriseId\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${content.token}`\n }\n }),\n }),\n testUser: builder.mutation, undefined>({\n query: () => ({\n url: `/glemo/construction-company/create`,\n body: JSON.stringify({\n \"legalRepresentative\": \"test\",\n \"razaoSocial\": \"test\",\n \"cnpj\": \"16017599000106\",\n \"zipCode\": \"32606414\",\n \"addressNumber\": \"123\",\n \"email\": \"teste@test.com\",\n \"mainPhone\": \"31999999999\"\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['users']\n }),\n getByIdUser: builder.mutation, UserArgumentToken>({\n query: (content) => ({\n url: `/users/get-by-id`,\n body: JSON.stringify({\n argument: content.Argument\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${content.Token ?? \"\"}`\n }\n }),\n invalidatesTags: ['users']\n }),\n getByEmailUser: builder.mutation, IRequestArgument>({\n query: (content) => ({\n url: `/users/get-by-email`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['users']\n }),\n addClaimUser: builder.mutation, IRequestClaimAdd>({\n query: (content) => ({\n url: `/users/claims/add`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['users']\n }),\n removeClaimUser: builder.mutation, IRequestClaimRemove>({\n query: (content) => ({\n url: `/users/claims/remove`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['users']\n }),\n addRoleUser: builder.mutation, IRequestRoleAdd>({\n query: (content) => ({\n url: `/users/roles/add`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['users']\n }),\n removeRoleUser: builder.mutation, IRequestClaimRemove>({\n query: (content) => ({\n url: `/users/roles/remove`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['users']\n }),\n //GET\n getAllUsers: builder.query, undefined>({\n query: () => `/get-all`,\n }),\n checkUserId: builder.query, string>({\n query: (userId) => `/check/${userId}`,\n }),\n //PATCH\n activateOrDeactivateUser: builder.mutation, IRequestActivateOrDeactivate>({\n query: (content) => ({\n url: `/users/activate-or-deactivate`,\n method: 'PATCH',\n body: content,\n }),\n }),\n changePasswordUser: builder.mutation, IRequestChangePassword>({\n query: (content) => ({\n url: `/users/change-password`,\n method: 'PATCH',\n body: content,\n }),\n }),\n //DELETE\n deleteUser: builder.mutation, string>({\n query: (username) => ({\n url: `/users/delete/${username}`,\n method: 'DELETE',\n }),\n }),\n //PUT\n updateDetailsUser: builder.mutation, IRequestUpdateDetails>({\n query: (content) => ({\n url: `/users/update-details`,\n method: 'PUT',\n body: content,\n }),\n }),\n })\n})\n\nexport default userApi\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { API_URL } from '../../../constants/baseUrlApiStatic'\nimport { DataRTKReturn, DataRTKReturnList } from '../../../interfaces/dataRTKReturn'\nimport { IRequestConfirmEmail, IRequestLogin, IRequestResetPassword } from './interfaces/IRequestApi'\nimport { IDataMessage, IDataMessageWithErrors, IDataStatusCodeError, IResponseConfirmEmail, IResponseError, IResponseErrorNotFound, IResponseEx, IResponseLogin } from '../interfaces/IResponseApi'\nimport { IDefaultResponse } from '../../../interfaces/api/response'\nimport { ResponseLogin } from '../../../interfaces/responseLogin'\nimport { RequestLoginUserCode } from '../../../interfaces/api/request'\n\nconst accountApi = createApi({\n reducerPath: 'accountApi',\n baseQuery: fetchBaseQuery({ baseUrl: `${API_URL}` }),\n tagTypes: ['account'],\n endpoints: (builder) => ({\n login: builder.mutation, IRequestLogin>({\n query: (content) => ({\n url: `/account/login`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['account'],\n transformErrorResponse: (response:IResponseError, meta, arg) =>{\n return response.data?.Message\n }\n }),\n resetPasswordByCode: builder.mutation, RequestLoginUserCode>({\n query: (content) => ({\n url: `/account/reset-password`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['account'],\n transformErrorResponse: (response:IResponseError, meta, arg) =>{\n return response.data?.MessageWithErrors\n }\n }),\n logout: builder.mutation, undefined>({\n query: () => ({\n url: `/account/logout`,\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['account']\n }),\n resetPassword: builder.mutation, IRequestResetPassword>({\n query: (content) => ({\n url: `/activate-account/reset-password`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['account'],\n transformErrorResponse: (response:IResponseError, meta, arg) =>{\n return response.data?.MessageWithErrors\n }\n }),\n confirmEmail: builder.mutation, IRequestConfirmEmail>({\n query: (content) => ({\n url: `/activate-account/confirm-email`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['account'],\n transformErrorResponse: (response:IResponseError, meta, arg) =>{\n return response.data?.MessageWithErrors\n }\n }),\n forgotPassword: builder.query({\n query: (username) => `/account/forgot-password/${username}`,\n transformErrorResponse: (response:IResponseError, meta, arg) =>{\n return response.data?.StatusCode\n }\n }),\n requestLoginFacebook: builder.mutation, undefined>({\n query: () => ({\n url: `/account/request-login-facebook`,\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['account']\n }),\n loginFacebook: builder.query, string>({\n query: (code) => `/account/login-facebook?code=${code}`,\n transformErrorResponse: (response, meta, arg) =>{\n return response.data\n }\n }),\n requestLoginLinkedin: builder.mutation, undefined>({\n query: () => ({\n url: `/account/request-login-linkedin`,\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['account']\n }),\n loginLinkedin: builder.query, string>({\n query: (code) => `/account/login-linkedin?code=${code}`,\n transformErrorResponse: (response, meta, arg) =>{\n return response.data\n }\n }),\n requestLoginGoogle: builder.mutation, undefined>({\n query: () => ({\n url: `/account/request-login-google`,\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['account']\n }),\n loginGoogle: builder.query, string>({\n query: (code) => `/account/login-google?code=${code}`,\n transformErrorResponse: (response, meta, arg) =>{\n return response.data\n }\n }),\n })\n})\n\nexport default accountApi\n","import { PayloadAction, createSlice } from '@reduxjs/toolkit'\nimport { SearchLocal } from '../../classes/searchLocal'\n\ninterface IInitialState {\n items: string[]\n}\n\nconst initialState:IInitialState = {\n items: []\n}\n\nconst searchListLocalSlice = createSlice({\n name: 'search',\n initialState,\n reducers: {\n setItemsListLocal: (state,action: PayloadAction) => {\n state.items = action.payload\n }\n }\n})\n\nexport const {setItemsListLocal} = searchListLocalSlice.actions\nexport default searchListLocalSlice.reducer\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { API_URL } from '../../../constants/baseUrlApiStatic'\nimport { IDefaultResponse } from '../../../interfaces/api/response'\nimport { DataRTKReturn, DataRTKReturnList } from '../../../interfaces/dataRTKReturn'\nimport { IBuilder, IBuilderEvaluation, IBuilderReview } from '../../../interfaces/builder/builder'\n\nconst builderApi = createApi({\n reducerPath: 'builderApi',\n baseQuery: fetchBaseQuery({ baseUrl: `${API_URL}/glemo` }),\n tagTypes: ['builders'],\n endpoints: (builder) => ({\n getDetails: builder.mutation, string>({\n query: (id) => ({\n url: `/construction-company/detail`,\n body: JSON.stringify({\n \"id\": id\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['builders']\n }),\n getCommentBuilder: builder.mutation, string>({\n query: (enterpriseId) => ({\n url: `/assesment-construction-company`,\n body: JSON.stringify({\n \"enterpriseId\": enterpriseId\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['builders']\n }),\n getReviewsBuilder: builder.mutation, string>({\n query: (constructionCompanyId) => ({\n url: `/assesment-construction-company-reviews`,\n body: JSON.stringify({\n \"constructionCompanyId\": constructionCompanyId\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['builders']\n }),\n })\n})\n\nexport default builderApi\n","import { createSlice } from \"@reduxjs/toolkit\"\nimport { IBuilderProps } from \"./interfaces/IBuilderStore\"\n\nconst initialState: IBuilderProps = {}\n\nconst buildersSlice = createSlice({\n name: \"builder\",\n initialState,\n reducers: {}\n})\n\nexport default buildersSlice.reducer\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { API_URL } from '../../../constants/baseUrlApiStatic'\nimport { Enterprise2 } from '../../../interfaces/enterprise/enterprise_2'\nimport { EnterpriseDetail } from '../../../interfaces/enterprise/entepriseDetail'\nimport { DataRTKReturn, DataRTKReturnList } from '../../../interfaces/dataRTKReturn'\nimport { IContentCard } from '../../../interfaces/enterprise/argsApi'\nimport { IDefaultResponse } from '../../../interfaces/api/response'\nimport { IMail } from '../../../interfaces/mail'\n\nconst mailApi = createApi({\n reducerPath: 'mailApi',\n baseQuery: fetchBaseQuery({ baseUrl: `${API_URL}/glemo/email` }),\n tagTypes: ['mails'],\n endpoints: (builder) => ({\n sendMail: builder.mutation({\n query: (content) => ({\n url: `/send-contact`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['mails']\n }),\n })\n})\n\nexport default mailApi\n","import { createSlice } from \"@reduxjs/toolkit\"\nimport { IMailProps } from \"./interfaces/IMailStore\"\nconst initialState: IMailProps = {}\n\nconst mailsSlice = createSlice({\n name: \"mails\",\n initialState,\n reducers: {}\n})\n\nexport default mailsSlice.reducer\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { State } from '../../../interfaces/state'\nimport { API_URL } from '../../../constants/baseUrlApiStatic'\nimport { DataRTKReturn, DataRTKReturnList } from '../../../interfaces/dataRTKReturn'\nimport { IDefaultResponse } from '../../../interfaces/api/response'\nimport { ILead } from '../../../interfaces/lead'\nimport { ILeadAnswer, ILeadJourneyStep, ILeadQuestion } from '../../../interfaces/leads/ileads'\nimport { Enterprise2 } from '../../../interfaces/enterprise/enterprise_2'\n\ninterface bodyCountryName {\n countryId: string\n name: string\n}\n\nconst leadApi = createApi({\n reducerPath: 'leadApi',\n baseQuery: fetchBaseQuery({ baseUrl: `${API_URL}` }),\n tagTypes: ['leads'],\n endpoints: (builder) => ({\n addLead: builder.mutation({\n query: (content) => ({\n url: `/glemo/leads/add`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['leads']\n }),\n createAnswerJourney: builder.mutation({\n query: (content) => ({\n url: `/leads/create-leads-answer`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['leads']\n }),\n getLeadsJourney: builder.mutation, string>({\n query: (email) => ({\n url: `/glemo/leads-jorney`,\n body: JSON.stringify({\n email: email,\n pageSize: null,\n pageIndex: null\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['leads']\n }),\n getLeadJourneyCompletionStatus: builder.query, string>({\n query: (enterpriseId) => `/leads/get-lead-journey-completion-status/${enterpriseId}`,\n transformErrorResponse: (response, meta, arg) =>{\n return response.data\n }\n }),\n getQuestionsJourney: builder.query, undefined>({\n query: () => `/leads/get-leads-questions`,\n transformErrorResponse: (response, meta, arg) =>{\n return response.data\n }\n }),\n getAnswersJourney: builder.query, string>({\n query: (id) => `/leads/get-leads-answers-by-lead/${id}`,\n transformErrorResponse: (response, meta, arg) =>{\n return response.data\n }\n }),\n })\n})\n\nexport default leadApi\n","import { createSlice } from \"@reduxjs/toolkit\"\nimport { State } from \"../../../interfaces/state\"\nimport { ILeadProps } from \"./interfaces/ILeadStore\"\nconst initialState: ILeadProps = {}\n\nconst leadsSlice = createSlice({\n name: \"leads\",\n initialState,\n reducers: {}\n})\n\nexport default leadsSlice.reducer\n","import { createSlice } from \"@reduxjs/toolkit\"\nimport { IPressroomProps } from \"./interfaces/IPressroomStore\"\n\nconst initialState: IPressroomProps = {}\n\nconst pressroomSlice = createSlice({\n name: \"pressroom\",\n initialState,\n reducers: {}\n})\n\nexport default pressroomSlice.reducer\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { API_URL } from '../../../constants/baseUrlApiStatic'\nimport { DataRTKReturn, DataRTKReturnList } from '../../../interfaces/dataRTKReturn'\nimport { IDefaultResponse } from '../../../interfaces/api/response'\nimport { IResponseError, IResponseErrorNotFound } from '../interfaces/IResponseApi'\nimport { News, NewsById } from '../../../interfaces/pressroom/news'\nimport { IRequestNewsGetAll } from '../../../interfaces/pressroom/api/requests'\nimport { NewsCategory } from '../../../interfaces/pressroom/newsCategory'\nimport { GalleryFile } from '../../../interfaces/pressroom/galleryFile'\nimport { FullGalleryFile } from '../../../interfaces/pressroom/fullGalleryFile'\n\nconst pressroomApi = createApi({\n reducerPath: 'pressroomApi',\n baseQuery: fetchBaseQuery({ baseUrl: `${API_URL}` }),\n tagTypes: ['pressroom'],\n endpoints: (builder) => ({\n getNewsAll: builder.mutation, null>({\n query: () => ({\n url: `/news/get-all`,\n body: JSON.stringify({\n title: 'string',\n text: 'string',\n categoryId: '3fa85f64-5717-4562-b3fc-2c963f66afa6'\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['pressroom']\n }),\n getNewsByCategoryId: builder.mutation, string>({\n query: (categoryId) => ({\n url: `/news/get-by-category`,\n body: JSON.stringify({\n title: 'string',\n text: 'string',\n categoryId: categoryId\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['pressroom']\n }),\n getNewsById: builder.mutation, string>({\n query: (id) => ({\n url: `/news/get-news-by-id`,\n body: JSON.stringify({\n id: id\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['pressroom']\n }),\n getNewsCategoryAll: builder.mutation, null>({\n query: () => ({\n url: `/news-category/get-all`,\n body: JSON.stringify({\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n name: 'string'\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['pressroom']\n }),\n getAllGalleryFiles: builder.query, null>({\n query: () => ({\n url: `/gallery-files/get-file-list`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n getGalleryFileById: builder.query, string>({\n query: (id) => ({\n url: `/gallery-files/get-file-by-id/${id}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n })\n })\n})\n\nexport default pressroomApi\n","import { createSlice } from \"@reduxjs/toolkit\"\nimport { ICharacteristicProps } from \"./interfaces/ICharacteristicStore\"\n\nconst initialState: ICharacteristicProps = {}\n\nconst differentialsSlice = createSlice({\n name: \"differentials\",\n initialState,\n reducers: {}\n})\n\nexport default differentialsSlice.reducer\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { API_URL } from '../../../constants/baseUrlApiStatic'\nimport { DataRTKReturn, DataRTKReturnList } from '../../../interfaces/dataRTKReturn'\nimport { IconTitle } from '../../../interfaces/enterprise/enterpriseIconTitle'\n\nconst differentialApi = createApi({\n reducerPath: 'differentialApi',\n baseQuery: fetchBaseQuery({ baseUrl: `${API_URL}/glemo/differentials` }),\n tagTypes: ['differentials'],\n endpoints: (builder) => ({\n getAll: builder.mutation, undefined>({\n query: () => ({\n url: `/get-all`,\n body: {\n title: \"\",\n activated: true\n },\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['differentials']\n })\n })\n})\n\nexport default differentialApi\n","import { createSlice } from \"@reduxjs/toolkit\"\nimport { ISimulatorProps } from \"./interfaces/ISimulatorStore\"\n\nconst initialState: ISimulatorProps = {}\n\nconst simulatorSlice = createSlice({\n name: \"simulator\",\n initialState,\n reducers: {}\n})\n\nexport default simulatorSlice.reducer\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { API_URL } from '../../../constants/baseUrlApiStatic'\nimport { DataRTKReturn, DataRTKReturnList } from '../../../interfaces/dataRTKReturn'\nimport { News } from '../../../interfaces/pressroom/news'\nimport { Simulator, SimulatorFormAnswer } from '../../../interfaces/simulator/simulators'\nimport { Enterprise2 } from '../../../interfaces/enterprise/enterprise_2'\nimport { SimulatorAnswers, SimulatorEnterprise, SimulatorResponse } from '../../../interfaces/simulator/simulatorResponse'\nimport { EnterpriseDetail } from '../../../interfaces/enterprise/entepriseDetail'\n\nconst simulatorApi = createApi({\n reducerPath: 'simulatorApi',\n baseQuery: fetchBaseQuery({ baseUrl: `${API_URL}/simulator` }),\n tagTypes: ['simulator'],\n endpoints: (builder) => ({\n getSimulationByDataUser: builder.mutation, Simulator>({\n query: (content) => ({\n url: `/calculate`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['simulator']\n }),\n getAnswers: builder.query, undefined>({\n query: () => ({\n url: `/get-answers`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n sendSimulatorAnswers: builder.mutation, SimulatorFormAnswer>({\n query: (content) => ({\n url: `/send-answers`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['simulator']\n }),\n })\n})\n\nexport default simulatorApi\n","import { createSlice } from \"@reduxjs/toolkit\"\nimport { IAutocompleteProps } from \"./interfaces/IAutocompleteStore\"\n\nconst initialState: IAutocompleteProps = {}\n\nconst autocompletesSlice = createSlice({\n name: \"autocomplete\",\n initialState,\n reducers: {}\n})\n\nexport default autocompletesSlice.reducer\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { API_URL } from '../../../constants/baseUrlApiStatic'\nimport { IDefaultResponse } from '../../../interfaces/api/response'\nimport { DataRTKReturn } from '../../../interfaces/dataRTKReturn'\nimport { Argument } from '../../../interfaces/arguments'\nimport { IProductSearchedRequest } from './interfaces/IProductSearchedRequest'\n\nconst autocompleteApi = createApi({\n reducerPath: 'autocompleteApi',\n baseQuery: fetchBaseQuery({ baseUrl: `${API_URL}` }),\n tagTypes: ['autocompletes'],\n endpoints: (autocomplete) => ({\n getArguments: autocomplete.query({\n query: () => `/helpers/auto-complete/argument-address-full-text`\n }),\n productSearched: autocomplete.mutation<\n boolean,\n IProductSearchedRequest\n >({\n query: (content) => ({\n url: `/product-searched/add-or-update`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n }),\n })\n})\n\nexport default autocompleteApi\n","import { createSlice } from \"@reduxjs/toolkit\"\nimport { ICampaignProps } from \"./interfaces/ICampaignStore\"\n\nconst initialState: ICampaignProps = {}\n\nconst campaignsSlice = createSlice({\n name: \"campaign\",\n initialState,\n reducers: {}\n})\n\nexport default campaignsSlice.reducer\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { API_URL } from '../../../constants/baseUrlApiStatic'\nimport { IDefaultResponse } from '../../../interfaces/api/response'\nimport { DataRTKReturn, DataRTKReturnList } from '../../../interfaces/dataRTKReturn'\nimport { RequestCampaignDay } from '../../../interfaces/api/request'\nimport { Campaign, CampaignInfo } from '../../../interfaces/campaign'\n\nconst campaignApi = createApi({\n reducerPath: 'campaignApi',\n baseQuery: fetchBaseQuery({ baseUrl: `${API_URL}` }),\n tagTypes: ['campaigns'],\n endpoints: (campaign) => ({\n getCampaignsDay: campaign.mutation, RequestCampaignDay>({\n query: (content) => ({\n url: `/Campaign/get-campaign-day`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['campaigns']\n }),\n sendClickCampaign: campaign.mutation, CampaignInfo>({\n query: (content) => ({\n url: `/glemo/send-click-campaign`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['campaigns']\n }),\n sendConversionCampaign: campaign.mutation, CampaignInfo>({\n query: (content) => ({\n url: `/glemo/send-conversions-campaign`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['campaigns']\n }),\n })\n})\n\nexport default campaignApi\n","import { createSlice } from \"@reduxjs/toolkit\"\nimport { IContentProps } from \"./interfaces/IContentProps\"\n\nconst initialState: IContentProps = {}\n\nconst cardsEnterprisesIdsSlice = createSlice({\n name: \"cardsEnterprisesIds\",\n initialState,\n reducers: {}\n})\n\nexport default cardsEnterprisesIdsSlice.reducer\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { API_URL } from '../../../constants/baseUrlApiStatic'\nimport { City } from '../../../interfaces/city'\nimport { DataRTKReturnList } from '../../../interfaces/dataRTKReturn'\nimport { DataRTKReturn } from '../../../interfaces/dataRTKReturn'\nimport { Enterprise2 } from '../../../interfaces/enterprise/enterprise_2'\nimport { IResponseError, IResponseErrorNotFound } from '../interfaces/IResponseApi'\n\nconst cardEnterpriseIdsApi = createApi({\n reducerPath: 'cardEnterpriseIdsApi',\n baseQuery: fetchBaseQuery({ baseUrl: `${API_URL}/glemo` }),\n tagTypes: ['cardEnterprisesIds'],\n endpoints: (builder) => ({\n getEnterprisesCardsByIds: builder.mutation, string[]>({\n query: (listIds) => ({\n url: `/enterprise-card-by-ids`,\n body: JSON.stringify({\n ids: listIds\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['cardEnterprisesIds'],\n transformErrorResponse: (response: IResponseError, meta, arg) => {\n return response\n }\n })\n })\n})\n\nexport default cardEnterpriseIdsApi\n","import { createSlice } from \"@reduxjs/toolkit\"\nimport { IContentProps } from \"./interfaces/IContentStore\"\n\nconst initialState: IContentProps = {}\n\nconst tagsSlice = createSlice({\n name: \"tags\",\n initialState,\n reducers: {}\n})\n\nexport default tagsSlice.reducer\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { API_URL } from '../../../constants/baseUrlApiStatic'\nimport { DataRTKReturn, DataRTKReturnList } from '../../../interfaces/dataRTKReturn'\nimport { IconTitle } from '../../../interfaces/enterprise/enterpriseIconTitle'\nimport { ITag } from '../../../interfaces/tag'\n\nconst tagsApi = createApi({\n reducerPath: 'tagsApi',\n baseQuery: fetchBaseQuery({ baseUrl: `${API_URL}/tag` }),\n tagTypes: ['tags'],\n endpoints: (builder) => ({\n getAll: builder.mutation, undefined>({\n query: () => ({\n url: `/get-all`,\n body: {\n description: null,\n activated: true\n },\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['tags']\n })\n })\n})\n\nexport default tagsApi\n","import { createSlice } from \"@reduxjs/toolkit\"\nimport { IGeneralProps } from \"./interfaces/IGeneralStore\"\n\nconst initialState: IGeneralProps = {}\n\nconst generalFetchSlice = createSlice({\n name: \"generals\",\n initialState,\n reducers: {}\n})\n\nexport default generalFetchSlice.reducer\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\nimport { API_URL } from '../../../constants/baseUrlApiStatic'\nimport { District } from '../../../interfaces/district'\nimport { DataRTKReturn, DataRTKReturnList } from '../../../interfaces/dataRTKReturn'\nimport { IProductSearchedViewed, IProductSearchedViewedUpdt } from '../../../interfaces/productSearchedViewed'\nimport { IBuilderSearch } from '../../../interfaces/builderSearch'\nimport { IFair } from '../../../interfaces/fair/fair'\nimport { IPromotion } from '../../../interfaces/promotion'\nimport { IAddressZipcode } from '../../../interfaces/addressZipcode'\nimport { IContactNewsletter } from '../../../interfaces/contact'\nimport { ICardBlog, ICategoryBlog, ICommentBlog } from '../../../interfaces/blog'\nimport {INotification, IReqNotification, IToggleNotification} from '../../../interfaces/notifications'\n\nconst generalApi = createApi({\n reducerPath: 'generalApi',\n baseQuery: fetchBaseQuery({ baseUrl: `${API_URL}` }),\n tagTypes: ['generals'],\n endpoints: (builder) => ({\n addProductSearchedViewed: builder.mutation, IProductSearchedViewed>({\n query: (content) => ({\n url: `/product-searched-viewed/add`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['generals']\n }),\n getProductSearchedViewed: builder.query, string>({\n query: (id) => `/product-searched-viewed/get-by-id/${id}`\n }),\n getProductsByBuilderId: builder.query, string>({\n query: (id) => `/glemo/construction-company-by-argument?argument=${id}`\n }),\n updtProductSearchedViewed: builder.mutation({\n query: (content) => ({\n url: `/product-searched-viewed/update`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['generals']\n }),\n createContactNewsletter: builder.mutation({\n query: (content) => ({\n url: `/news/create-contact`,\n body: JSON.stringify(content),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['generals']\n }),\n getPromotionsAll: builder.mutation, undefined>({\n query: () => ({\n url: `/glemo/promotions/get-all`,\n body: JSON.stringify({\n title: null,\n activated: null\n }),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['generals']\n }),\n createCommentBlog: builder.mutation({\n query: (obj) => ({\n url: `/glemo/create-comment-blog`,\n body: JSON.stringify(obj),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['generals']\n }),\n createCommentResponseBlog: builder.mutation({\n query: (obj) => ({\n url: `/glemo/create-response-comment-blog`,\n body: JSON.stringify(obj),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['generals']\n }),\n getFairById: builder.query, string>({\n query: (id) => `/glemo/get-fair-by-id?fairId=${id}`,\n }),\n getAddressByZipCode: builder.query, string>({\n query: (cep) => `/addresses/get-full-by-zip-code/${cep}`,\n }),\n getFairByConstructionId: builder.query, string>({\n query: (id) => `/get-all/fair/by-construction-company-id?constructionCompanyId=${id}`,\n }),\n getAllCardsBlog: builder.query, string>({\n query: (idioma) => `/glemo/get-all-blog?idioma=${idioma == 'pt' ? 'pt-br' : idioma}`,\n }),\n getAllCategoriesBlog: builder.query, string>({\n query: (idioma) => `/glemo/blog/get-all-categories?idioma=${idioma == 'pt' ? 'pt-br' : idioma}`,\n }),\n getBlogBySlug: builder.query, string>({\n query: (slug) => `/glemo/get-blog-by-slug?slug=${slug}`,\n }),\n getBlogDescriptionBySlug: builder.query, string>({\n query: (slug) => `/glemo/glemo/get-blog-description?slug=${slug}`,\n }),\n getNotificationsByUserId: builder.mutation, IReqNotification>({\n query: (obj) => ({\n url: `/glemo/notificaion/get-all-by-user-id`,\n body: JSON.stringify(obj),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['generals']\n }),\n toggleNotifications: builder.mutation({\n query: (obj) => ({\n url: `/glemo/notificaion/toggle-read-notification`,\n body: JSON.stringify(obj),\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n }),\n invalidatesTags: ['generals']\n }),\n })\n})\n\nexport default generalApi\n","import { configureStore } from '@reduxjs/toolkit'\nimport enterprisesSlice from './reducers/enterprises'\nimport journeysSlice from './reducers/journeys'\nimport usersSlice from './reducers/users'\nimport userSlice from './reducers/users/user'\nimport searchSlice from './reducers/search'\nimport statusFetchSlice from './reducers/status/status'\nimport { TypedUseSelectorHook, useSelector } from 'react-redux'\n// import enterprisesCardsSlice from './reducers/enterprisesCards'\nimport stateApi from './reducers/state/stateApi'\nimport statesFetchSlice from './reducers/state/states'\nimport statusApi from './reducers/status/statusApi'\nimport enterpriseApi from './reducers/enterprise/enterpriseApi'\nimport cityApi from './reducers/city/cityApi'\nimport citiesFetchSlice from './reducers/city/cities'\nimport districtApi from './reducers/district/districtApi'\nimport districtFetchSlice from './reducers/district/districts'\nimport cardEnterpriseSlice from './reducers/cardsEnteprises/enterprises'\nimport filterEnterprisesSlice from './reducers/filterEnterprises'\nimport userApi from './reducers/users/userApi'\nimport accountApi from './reducers/accounts/accountApi'\nimport searchListLocals from './reducers/searchListLocals'\nimport builderApi from './reducers/builders/builderApi'\nimport buildersSlice from './reducers/builders/builders'\nimport mailApi from './reducers/mail/mailApi'\nimport mailsSlice from './reducers/mail/mails'\nimport leadApi from './reducers/leads/leadApi'\nimport leadsSlice from './reducers/leads/leads'\nimport pressRoomSlice from './reducers/pressrooms/pressrooms'\nimport pressroomApi from './reducers/pressrooms/pressroomApi'\nimport differentialsSlice from './reducers/differentials/differentials'\nimport differentialApi from './reducers/differentials/differentialApi'\nimport simulatorSlice from './reducers/simulators/simulators'\nimport simulatorApi from './reducers/simulators/simulatorApi'\nimport autocomplessSlice from './reducers/autocompletes/autocompletes'\nimport autocompleteApi from './reducers/autocompletes/autocompleteApi'\nimport campaignsSlice from './reducers/campaigns/campaigns'\nimport campaignApi from './reducers/campaigns/campaignApi'\nimport cardsEnterprisesIdsSlice from './reducers/cardsEnterprisesIds/cardsEnterprisesIds'\nimport cardEnterpriseIdsApi from './reducers/cardsEnterprisesIds/cardEnterpriseIdsApi'\nimport tagsSlice from './reducers/tags/tags'\nimport tagsApi from './reducers/tags/tagsApi'\nimport generalsSlice from './reducers/general/generals'\nimport generalApi from './reducers/general/generalApi'\n\nexport const useTypedSelector: TypedUseSelectorHook = useSelector\n\nexport const store = configureStore({\n reducer: {\n cardEnteprises: cardEnterpriseSlice,\n enterprises: enterprisesSlice,\n search: searchSlice,\n searchListLocals: searchListLocals,\n journeys: journeysSlice,\n user: userSlice,\n status: statusFetchSlice,\n states: statesFetchSlice,\n districts: districtFetchSlice,\n cities: citiesFetchSlice,\n filterEnterprises: filterEnterprisesSlice,\n builder: buildersSlice,\n mails: mailsSlice,\n leads: leadsSlice,\n pressRoom: pressRoomSlice,\n differentials: differentialsSlice,\n simulators: simulatorSlice,\n autocompletes: autocomplessSlice,\n campaigns: campaignsSlice,\n cardsEnterprisesIds: cardsEnterprisesIdsSlice,\n tags: tagsSlice,\n generals: generalsSlice,\n [simulatorApi.reducerPath]: simulatorApi.reducer,\n [pressroomApi.reducerPath]: pressroomApi.reducer,\n [stateApi.reducerPath]: stateApi.reducer,\n [statusApi.reducerPath]: statusApi.reducer,\n [enterpriseApi.reducerPath]: enterpriseApi.reducer,\n [cityApi.reducerPath]: cityApi.reducer,\n [districtApi.reducerPath]: districtApi.reducer,\n [userApi.reducerPath]: userApi.reducer,\n [accountApi.reducerPath]: accountApi.reducer,\n [builderApi.reducerPath]: builderApi.reducer,\n [mailApi.reducerPath]: mailApi.reducer,\n [leadApi.reducerPath]: leadApi.reducer,\n [differentialApi.reducerPath]: differentialApi.reducer,\n [autocompleteApi.reducerPath]: autocompleteApi.reducer,\n [campaignApi.reducerPath]: campaignApi.reducer,\n [cardEnterpriseIdsApi.reducerPath]: cardEnterpriseIdsApi.reducer,\n [tagsApi.reducerPath]: tagsApi.reducer,\n [generalApi.reducerPath]: generalApi.reducer\n },\n middleware: (getDefaultMiddleware) =>\n getDefaultMiddleware().concat([\n stateApi.middleware,\n statusApi.middleware,\n enterpriseApi.middleware,\n cityApi.middleware,\n districtApi.middleware,\n userApi.middleware,\n accountApi.middleware,\n builderApi.middleware,\n mailApi.middleware,\n leadApi.middleware,\n pressroomApi.middleware,\n differentialApi.middleware,\n simulatorApi.middleware,\n autocompleteApi.middleware,\n campaignApi.middleware,\n cardEnterpriseIdsApi.middleware,\n tagsApi.middleware,\n generalApi.middleware\n ])\n})\n\nexport type RootState = ReturnType\nexport type AppDispatch = typeof store.dispatch\n\n","import { PayloadAction, createSlice } from '@reduxjs/toolkit'\nimport { User, UserLoginInput, UserSignupInput } from '../../@types/Auth'\n\nconst initialState: UserSignupInput[] = [\n {\n email: 'teste@email.com',\n name: 'teste',\n phoneNumber: '0000000',\n username: 'teste',\n password: '123'\n }\n]\n\nconst usersSlice = createSlice({\n name: 'users',\n initialState,\n reducers: {\n addUser: (state,action: PayloadAction) => {\n let stateAux = state\n stateAux.push(action.payload)\n state = stateAux\n },\n getByEmailPassword: (state,action: PayloadAction) => {\n return state.filter(x => x.email === action.payload.username && x.password === action.payload.password)\n },\n }\n})\n\nexport const {addUser, getByEmailPassword} = usersSlice.actions\nexport default usersSlice.reducer\n","export const HISTORICO_BUSCAS = 'historico-de-buscas'\nexport const LOCATION = 'location'\nexport const FILTER_ADDRESS = 'filter-address'\nexport const FILTER_NUMBER_BEDROOMS = 'filter-bedrooms'\nexport const FILTER_PRICE_MAX = 'filter-price-max'\nexport const FILTER_PRICE_MIN = 'filter-price-min'\nexport const FILTER_area_MAX = 'filter-area-max'\nexport const FILTER_DIFFERENTIALS = 'filter-differentials'\nexport const FILTER_area_MIN = 'filter-area-min'\nexport const FILTER_BATHROOMS = 'filter-bathrooms'\nexport const FILTER_PARKING_SPACES = 'filter-parking-spaces'\nexport const FILTER_SUIT = 'filter-suit'\nexport const FILTER_LIST_STATUS = 'filter-list-status'\nexport const FILTER_CITY = 'filter-city'\nexport const FILTER_STATE = 'filter-state'\nexport const FILTER_DISTRICT = 'filter-district'\nexport const CODE = 'code-web'\nexport const EMAIL = 'email'\nexport const FIRST_COOKIE = 'first-cookie'\nexport const LOCATIONS = 'locations'\nexport const VIEWED_ENTERPRISES = 'user-viewed-enterprises'\nexport const RECENTS_VIEWED_ENTERPRISES = 'user-recents-viewed-enterprises'\nexport const EMAIL_FORGOT_PASSWORD = 'email-forgot-password'\nexport const STATUS_FULL = 'status-full'\nexport const FILTER_SELECTED_STATUS = 'selected-status-filter'\nexport const RELOAD_PAGE = 'reload-page'\nexport const DATE_ENTRY = 'date-entry'\nexport const DEVICE_ID = 'device-id'\nexport const LOCALIDADES_TEMP = 'temp-locals'\nexport const STATES = 'states'\nexport const CITIES = 'states-cities'\nexport const SELECTED_STATE = 'selected-state'\nexport const SELECTED_CITY = 'selected-city'\nexport const SELECTED_DISTRICT = 'selected-district'\nexport const SELECTED_LOCATION = 'selected-location'\nexport const NAME_OF_EMPTY = 'manual-empty'\nexport const FORM_INFOS_CONTACT_LEAD = 'form-infos-contact-lead'\nexport const FULL_TEXT_FILTER = 'full-text-filter'\nexport const FULL_TEXT = \"full-text\"\nexport const DIFFERENTIALS_FILTER = 'differentials-modal-filter'\nexport const STATUS_FILTER = \"status-modal-filter\"\nexport const SIMULATION_DATA_BACKUP = \"simulation-data-backup\"\nexport const ARGUMENTS_AUTOCOMPLETE = 'arguments-autocomplete'\nexport const SEL_ARGUMENTS_AUTOCOMPLETE = 'selected-arguments-autocomplete'\nexport const CLICK_SEARCH_NAV = 'click-search-nav'\nexport const ID_PRODUCT_SEARCHED_VIEWED = 'id-product-searched-viewed'\nexport const TYPE_LOGIN = 'type-login'\nexport const INFOS_BLOG_COMMENT = 'infos-blog-comment'\nexport const INFOS_CARD_SELECTED_ENTERPRISE = 'infos-card-selected-enterprise'\n","export const USER_CLAIM_ROLE = 'user-claim-role'\nexport const USER_CLAIM_FULLNAME = 'user-claim-fullname'\nexport const USER_CLAIM_EMAIL = 'user-claim-email'\nexport const USER_CLAIM_ID = 'user-claim-id'\nexport const USER_CLAIM_NAME = 'user-claim-name'\nexport const USER_CLAIM_PHONENUMBER = 'user-claim-phonenumber'\nexport const USER_CLAIM_FAVORITES_ENTERPRISES = 'user-claim-favorites-enterprises'\n\n\nexport const USER_CLAIM_TYPE_NAME_ROLE = 'user:roles'\nexport const USER_CLAIM_TYPE_NAME_FULLNAME = 'user:fullname'\nexport const USER_CLAIM_TYPE_NAME_EMAIL = 'user:email'\nexport const USER_CLAIM_TYPE_NAME_ID = 'user:id'\nexport const USER_CLAIM_TYPE_NAME_NAME = 'user:name'\nexport const USER_CLAIM_TYPE_NAME_PHONENUMBER = 'user:phonenumber'\nexport const USER_CLAIM_TYPE_NAME_FAVORITES_ENTERPRISES = 'user:favoritesenterprise'\n","import {\n INFOS_CARD_SELECTED_ENTERPRISE,\n SEL_ARGUMENTS_AUTOCOMPLETE\n} from '../constants/storageNames'\nimport {\n USER_CLAIM_ROLE,\n USER_CLAIM_FULLNAME,\n USER_CLAIM_EMAIL,\n USER_CLAIM_ID,\n USER_CLAIM_NAME,\n USER_CLAIM_PHONENUMBER,\n USER_CLAIM_FAVORITES_ENTERPRISES,\n USER_CLAIM_TYPE_NAME_ROLE,\n USER_CLAIM_TYPE_NAME_FULLNAME,\n USER_CLAIM_TYPE_NAME_EMAIL,\n USER_CLAIM_TYPE_NAME_ID,\n USER_CLAIM_TYPE_NAME_NAME,\n USER_CLAIM_TYPE_NAME_PHONENUMBER,\n USER_CLAIM_TYPE_NAME_FAVORITES_ENTERPRISES\n} from '../constants/userClaims'\nimport { CardEnterpriseResumeInfosInitPage } from '../interfaces/enterprise'\nimport { Enterprise2 } from '../interfaces/enterprise/enterprise_2'\nimport { IClaim } from '../store/reducers/interfaces/IResponseApi'\n\nexport const isValidStr = (str: string | null | undefined) => {\n return (\n typeof str == 'string' &&\n str != undefined &&\n str != null &&\n str.trim() != '' &&\n str != 'undefined'\n )\n}\n\nexport function isValidObj(obj: T) {\n return obj != undefined && JSON.stringify(obj) != '{}' && obj != null\n}\n\nexport function isValidList(list: T[] | undefined | null) {\n return list != undefined && list != null && list.length > 0\n}\nexport function isValidData(data: T[] | undefined | null, isLoading: boolean, isError: boolean) {\n return data != undefined && data != null && data.length > 0 && !isLoading && !isError\n}\nexport function isValidSet(list: Set | undefined | null) {\n return list != undefined && list != null && list.size > 0\n}\nexport const strToSlug = (str: string) => {\n const accents: { [key: string]: RegExp } = {\n a: /[\\xE0-\\xE6]/g,\n e: /[\\xE8-\\xEB]/g,\n i: /[\\xEC-\\xEF]/g,\n o: /[\\xF2-\\xF6]/g,\n u: /[\\xF9-\\xFC]/g,\n c: /\\xE7/g,\n n: /\\xF1/g\n }\n for (let letter in accents) {\n str = str.replace(accents[letter], letter)\n }\n return str.replace(/\\s+/g, '-').toLowerCase()\n}\n\nexport function getIndexClaimByClaimName(\n claimName: string,\n userClaims: Record\n): number {\n let userClaimTypeName: string | undefined = undefined\n\n switch (claimName) {\n case USER_CLAIM_ROLE:\n userClaimTypeName = USER_CLAIM_TYPE_NAME_ROLE\n break\n case USER_CLAIM_FULLNAME:\n userClaimTypeName = USER_CLAIM_TYPE_NAME_FULLNAME\n break\n case USER_CLAIM_EMAIL:\n userClaimTypeName = USER_CLAIM_TYPE_NAME_EMAIL\n break\n case USER_CLAIM_ID:\n userClaimTypeName = USER_CLAIM_TYPE_NAME_ID\n break\n case USER_CLAIM_NAME:\n userClaimTypeName = USER_CLAIM_TYPE_NAME_NAME\n break\n case USER_CLAIM_PHONENUMBER:\n userClaimTypeName = USER_CLAIM_TYPE_NAME_PHONENUMBER\n break\n case USER_CLAIM_FAVORITES_ENTERPRISES:\n userClaimTypeName = USER_CLAIM_TYPE_NAME_FAVORITES_ENTERPRISES\n break\n default:\n userClaimTypeName = undefined\n }\n\n var counter = 0\n for (const [key, val] of Object.entries(userClaims)) {\n if (val.Type == userClaimTypeName) {\n return counter\n }\n counter += 1\n }\n return 0\n}\n\nexport function getClaimByClaimName(claimName: string, userClaims: Record) {\n let userClaimTypeName: string | undefined = undefined\n let emptyClaim = { Type: '', Value: '' }\n\n switch (claimName) {\n case USER_CLAIM_ROLE:\n userClaimTypeName = USER_CLAIM_TYPE_NAME_ROLE\n break\n case USER_CLAIM_FULLNAME:\n userClaimTypeName = USER_CLAIM_TYPE_NAME_FULLNAME\n break\n case USER_CLAIM_EMAIL:\n userClaimTypeName = USER_CLAIM_TYPE_NAME_EMAIL\n break\n case USER_CLAIM_ID:\n userClaimTypeName = USER_CLAIM_TYPE_NAME_ID\n break\n case USER_CLAIM_NAME:\n userClaimTypeName = USER_CLAIM_TYPE_NAME_NAME\n break\n case USER_CLAIM_PHONENUMBER:\n userClaimTypeName = USER_CLAIM_TYPE_NAME_PHONENUMBER\n break\n case USER_CLAIM_FAVORITES_ENTERPRISES:\n userClaimTypeName = USER_CLAIM_TYPE_NAME_FAVORITES_ENTERPRISES\n emptyClaim.Value = '[]'\n break\n default:\n userClaimTypeName = undefined\n }\n\n if (userClaimTypeName != undefined) {\n for (const [key, val] of Object.entries(userClaims)) {\n if (val.Type == userClaimTypeName) {\n return val\n }\n }\n }\n return emptyClaim\n}\n\nexport function validRequiredInputs() {\n let requiredElements = document.querySelectorAll(\n 'form input[required]'\n ) as NodeListOf\n let validFields = true\n requiredElements.forEach((element) => {\n let valEl = element.value.replace(/\\s/g, '')\n if (valEl == '' || valEl == undefined) {\n validFields = false\n }\n })\n return validFields\n}\n\nexport function isCheckTermos() {\n const checkHTML = document.querySelector(\"button[role='checkbox']\") as HTMLElement\n let valCheckHTML = 'false'\n if (checkHTML != undefined) {\n valCheckHTML = checkHTML.getAttribute('aria-checked') ?? 'false'\n } else {\n const inputCheckHTML = document.querySelector('input[type=checkbox]') as HTMLInputElement\n if (inputCheckHTML != undefined) valCheckHTML = inputCheckHTML.checked.toString()\n }\n return valCheckHTML == 'true'\n}\n\nexport function convertListStrToStr(list: Array | null) {\n let strList = isValidList(list) ? '[' : '[]'\n list?.forEach((item, index) => {\n strList += `\"${item}\"${index != list.length - 1 ? ',' : ']'}`\n })\n return strList\n}\n\nexport const checkImageExists = (url: string): boolean => {\n let img = new Image()\n img.src = url\n return img.complete && img.naturalHeight !== 0\n}\n\nexport function formatPhoneNumber(phoneNumber: string) {\n const cleaned = phoneNumber.replace(/\\D/g, '')\n let formatted = cleaned\n if (cleaned.length > 2 && cleaned.length <= 7) {\n formatted = `(${cleaned.slice(0, 2)}) ${cleaned.slice(2)}`\n } else if (cleaned.length > 7) {\n formatted = `(${cleaned.slice(0, 2)}) ${cleaned.slice(2, 7)}-${cleaned.slice(7, 11)}`\n }\n\n return formatted\n}\n\nexport function convertString(list: Array) {\n let result = '['\n list.forEach((item) => {\n result += JSON.stringify(item)\n })\n result += ']'\n return result\n}\n\nexport const filterCityUfLocal = (item: string) => {\n let cityUf = item.split('/')\n let city = ''\n let uf = ''\n if (cityUf.length >= 1) {\n city = cityUf[0].slice(0, cityUf[0].indexOf('['))\n }\n if (cityUf.length >= 2) {\n uf = cityUf[1].slice(0, cityUf[1].indexOf('['))\n }\n\n return `${city} / ${uf}`\n}\n\nexport function separateList(list: T[], separator: number): T[][] {\n let result: T[][] = []\n let temp: T[] = []\n let counter = 0\n\n for (let i = 0; i < list.length; i++) {\n temp.push(list[i])\n counter += 1\n if (counter == separator) {\n result.push(temp)\n temp = []\n counter = 0\n } else if (i == list.length - 1) {\n result.push(temp)\n }\n }\n return result\n}\n\n// Função genérica para salvar uma lista de objetos como string\nexport function saveListAsString(list: T[]): string {\n let listString: string = '['\n list.forEach((item, index) => {\n listString += JSON.stringify(item)\n if (index < list.length - 1) {\n listString += ', '\n }\n })\n listString += ']'\n return listString\n}\n\nexport function isMobile() {\n return window.screen.width < 769\n}\n\nexport function isLocal() {\n return (\n location.host.includes('127.0.0') ||\n location.host == 'frontend-glemo.web21f104.uni5.net' ||\n location.host.includes('localhost')\n )\n}\n\nexport const getPriceFormat = (value: number) => {\n let valFormat = value ? value.toString() : ''\n if (!value.toString().includes('.')) {\n valFormat = value.toFixed(2).replace('.', ',').toString()\n } else {\n valFormat = valFormat.replace('.', ',')\n }\n if (valFormat.length == 9) valFormat = `${valFormat.slice(0, 3)}.${valFormat.slice(3)}`\n return valFormat\n}\n\nexport const cleanSelectedArgumentsForAutocomplete = () => {\n sessionStorage.removeItem(SEL_ARGUMENTS_AUTOCOMPLETE)\n}\n\nexport function joinLists(list1: T[], list2: T[]) {\n if (!list1 || !list2) {\n return undefined\n }\n\n const result = list1.reduce((acc, item1) => {\n const match = list2.find((item2) => item1 === item2)\n if (match) {\n acc.push({ ...item1, ...match })\n }\n return acc\n }, [] as T[])\n\n return result.length > 0 ? result : undefined\n}\n\nexport const formatMoneyReal = (val: number) => {\n const formattedAmount = new Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL'\n }).format(val)\n return formattedAmount\n}\n\nexport function formatBRL(valor: string | number | undefined): string {\n if (valor == undefined) return 'N/I'\n if (typeof valor == 'string')\n return (\n parseFloat(valor)?.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' }) ?? 'N/I'\n )\n return valor.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' }) ?? 'N/I'\n}\n\nexport const getDefaultLanguage = (): 'en' | 'pt' => {\n // Verifica se o idioma foi salvo no sessionStorage\n const savedLanguage = sessionStorage.getItem('language')\n if (savedLanguage === 'en' || savedLanguage === 'pt') {\n return savedLanguage\n }\n\n // Caso contrário, utiliza o idioma do navegador\n const browserLanguage = navigator.language.slice(0, 2)\n return browserLanguage === 'pt' ? 'pt' : 'en' // Default para 'en' caso não seja 'pt'\n}\n\nexport const formatDate = (dateString: string): string => {\n const months = [\n 'janeiro',\n 'fevereiro',\n 'março',\n 'abril',\n 'maio',\n 'junho',\n 'julho',\n 'agosto',\n 'setembro',\n 'outubro',\n 'novembro',\n 'dezembro'\n ]\n\n const date = new Date(dateString)\n try {\n return `${date.getDate()}.${months[date.getMonth()].slice(0, 3)}.${date.getFullYear()}`\n } catch {\n return ''\n }\n}\n\nexport const formatDateBar = (dateString: string): string => {\n const date = new Date(dateString)\n try {\n return `${date.getDate().toString().padStart(2, '0')}/${(date.getMonth() + 1)\n .toString()\n .padStart(2, '0')}/${date.getFullYear().toString().padStart(4, '0')}`\n } catch {\n return ''\n }\n}\n\nexport const saveCardsStorage = (\n title: string | undefined,\n banner: string | undefined,\n status: string | undefined,\n location: string | undefined,\n slug: string | undefined\n) => {\n const cardInfos: CardEnterpriseResumeInfosInitPage = {\n Title: title ?? \"\",\n BannerUrl: banner ?? \"\",\n Status: status ?? \"\",\n Location: location ?? \"\",\n Slug: slug ?? \"\"\n }\n\n sessionStorage.setItem(INFOS_CARD_SELECTED_ENTERPRISE, JSON.stringify(cardInfos))\n}\n\nexport const isValidEmail = (email: string) => {\n return email.includes('@') && email.includes('.com')\n}\n","export const ACCESSTOKEN = 'access-token'\nexport const EXPIRETOKEN = 'expire-token'\nexport const REFRESHTOKEN = 'refresh-token'\nexport const USERINFOS = 'user-infos'\nexport const USER_FAVORITES_ENTERPRISES = 'user-favorites-enterprises'\n","export class ResponseLogin {\n AccessToken: string = ''\n ExpiresIn: string = ''\n RefreshToken: string = ''\n User: IUser | null = null\n\n constructor(accessToken: string, expiresIn: string, refreshToken: string, user: IUser | null) {\n this.AccessToken = accessToken\n this.ExpiresIn = expiresIn\n this.RefreshToken = refreshToken\n this.User = user\n }\n}\n\nexport interface IUser {\n Id: string\n Email: string\n Claims: IClaim[]\n Roles: IRole[]\n}\n\nexport interface IRole {\n Name: string\n}\n\nexport interface IClaim {\n Type: string\n Value: string\n}\n","import { createContext, useContext, useEffect, useState } from 'react'\nimport {\n AuthContextData,\n AuthProviderProps,\n AuthTokens,\n User,\n UserLoginInput,\n UserSignupInput\n} from '../@types/Auth'\nimport { Cookies } from 'react-cookie'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { addUser, getByEmailPassword } from '../store/reducers/users'\nimport accountApi from '../store/reducers/accounts/accountApi'\nimport { getClaimByClaimName, getIndexClaimByClaimName, isValidStr } from '../common_functions'\nimport {\n ACCESSTOKEN,\n REFRESHTOKEN,\n USERINFOS,\n USER_FAVORITES_ENTERPRISES\n} from '../constants/loginInfos'\nimport { ResponseLogin } from '../store/reducers/interfaces/ResponseLogin'\nimport { IFavoriteEnterpriseClaim } from '../interfaces/users/favoriteEnterpriseClaim'\nimport { USER_CLAIM_FAVORITES_ENTERPRISES } from '../constants/userClaims'\nimport { IResponseLogin } from '../store/reducers/interfaces/IResponseApi'\n\nexport const AuthContext = createContext({} as AuthContextData)\n\nexport function AuthProvider({ children }: AuthProviderProps) {\n const [tokens, setTokens] = useState(null)\n const getAuthenticated = () => {\n let access = localStorage.getItem(ACCESSTOKEN)\n let refresh = localStorage.getItem(REFRESHTOKEN)\n\n return isValidStr(access) && isValidStr(refresh)\n }\n\n const getUserLogin = () => {\n var storageUserInfos = '{}'\n if(localStorage.getItem(USERINFOS) != undefined && localStorage.getItem(USERINFOS) != null && localStorage.getItem(USERINFOS) != 'undefined'){\n storageUserInfos = localStorage.getItem(USERINFOS) ?? '{}'\n }\n const jsonObj = JSON.parse(storageUserInfos)\n\n let responseLoginObj: ResponseLogin = Object.assign(\n new ResponseLogin('', '', '', null),\n jsonObj\n )\n return responseLoginObj\n }\n\n const [authenticated, setAuthenticated] = useState(getAuthenticated())\n const [user, setUser] = useState(null)\n const [loginUser, setLoginUser] = useState(getUserLogin())\n const dispatch = useDispatch()\n const [useAccount, { data, error, isError, isLoading, isSuccess }] = accountApi.useLoginMutation()\n const [isSuccessLogin, setIsSuccessLogin] = useState(isSuccess)\n\n const signup = (credentials: UserSignupInput) => {\n const newUser: UserSignupInput = credentials\n dispatch(addUser(newUser))\n }\n\n const login = async (credentials: UserLoginInput) => {\n if (!getAuthenticated()) await useAccount(credentials)\n }\n\n const loginBySocialMedia = (dataParam:IResponseLogin) => {\n if (!getAuthenticated()) {\n const authToken: AuthTokens = {\n access: dataParam.AccessToken ?? '',\n refresh: dataParam.RefreshToken ?? ''\n }\n setTokens(authToken)\n\n localStorage.setItem(ACCESSTOKEN, dataParam.AccessToken ?? '')\n localStorage.setItem(REFRESHTOKEN, dataParam.RefreshToken ?? '')\n }\n saveInfosUserCookies(dataParam)\n setIsSuccessLogin(true)\n }\n\n const loginConstrutora = async (credentials: UserLoginInput) => {\n if (!getAuthenticated()) await useAccount(credentials)\n }\n\n const handleToken = () => {\n const authToken: AuthTokens = {\n access: data?.Data.AccessToken ?? '',\n refresh: data?.Data.RefreshToken ?? ''\n }\n setTokens(authToken)\n }\n\n const saveCookiesToken = () => {\n localStorage.setItem(ACCESSTOKEN, tokens?.access ?? '')\n localStorage.setItem(REFRESHTOKEN, tokens?.refresh ?? '')\n }\n\n const handleErrorLogin = () => {\n let boxErrorLoginHTML = document.querySelector('#boxErrorLogin') as HTMLElement\n let contentErrorLoginHTML = document.querySelector('#contentErrorLogin') as HTMLElement\n let boxEmailLoginHTML = document.querySelector('#emailContainerInputLogin') as HTMLElement\n let boxPasswordLoginHTML = document.querySelector('#passwordContainerInputLogin') as HTMLElement\n let errorStr = (error?.toString() ?? '').toLocaleLowerCase().includes('incapaz')\n ? 'E-mail/senha incorreto, tente novamente'\n : error?.toString()\n if (boxErrorLoginHTML != undefined) {\n boxErrorLoginHTML.classList.remove('hidden')\n contentErrorLoginHTML.innerHTML = errorStr ?? ''\n }\n if (boxEmailLoginHTML != undefined) {\n boxEmailLoginHTML.querySelector('label')?.classList.add('label-filled-error')\n boxEmailLoginHTML.querySelector('input')?.classList.add('input-filled-error')\n }\n if (boxPasswordLoginHTML != undefined) {\n boxPasswordLoginHTML.querySelector('label')?.classList.add('label-filled-error')\n boxPasswordLoginHTML.querySelector('input')?.classList.add('input-filled-error')\n }\n }\n\n const handleLoadingLogin = () => {\n let boxLoadingLoginHTML = document.querySelector('#loadingLogin') as HTMLElement\n if (boxLoadingLoginHTML != undefined) {\n if (isLoading) {\n boxLoadingLoginHTML.classList.toggle('hidden')\n boxLoadingLoginHTML.classList.toggle('inline-block')\n } else {\n boxLoadingLoginHTML.classList.toggle('hidden')\n boxLoadingLoginHTML.classList.toggle('inline-block')\n }\n }\n }\n\n const getFavoritesEnterprises = (data: IResponseLogin) => {\n var favoritesEnterprises: IFavoriteEnterpriseClaim[] = []\n try {\n // var claimsUser = data.User.Claims[\n // getIndexClaimByClaimName(USER_CLAIM_FAVORITES_ENTERPRISES)\n // ]\n var claimsUser = getClaimByClaimName(USER_CLAIM_FAVORITES_ENTERPRISES, data.User.Claims)\n favoritesEnterprises = JSON.parse(claimsUser.Value ?? '[]')\n } catch {}\n return favoritesEnterprises\n }\n\n const saveInfosUserCookies = (dataParam:IResponseLogin|null = null) => {\n var dataAux = dataParam != null ? dataParam : data?.Data\n if (dataAux != undefined) {\n localStorage.setItem(USERINFOS, JSON.stringify(dataAux))\n localStorage.setItem(\n USER_FAVORITES_ENTERPRISES,\n JSON.stringify(getFavoritesEnterprises(dataAux))\n )\n setLoginUser(getUserLogin())\n }\n }\n\n useEffect(() => {\n handleLoadingLogin()\n }, [isLoading])\n\n useEffect(() => {\n if (!getAuthenticated()) saveCookiesToken()\n }, [tokens])\n\n useEffect(() => {\n if (!getAuthenticated() && isSuccess) {\n handleToken()\n saveInfosUserCookies()\n }\n setIsSuccessLogin(isSuccess)\n }, [isSuccess])\n\n useEffect(() => {\n if (!getAuthenticated() && isError) {\n handleErrorLogin()\n }\n }, [isError])\n\n useEffect(() => {\n handleAuthenticated()\n }, [tokens])\n\n const logout = () => {\n localStorage.removeItem(ACCESSTOKEN)\n localStorage.removeItem(REFRESHTOKEN)\n localStorage.removeItem(USERINFOS)\n setAuthenticated(false)\n }\n\n const handleAuthenticated = () => {\n let accessToken = localStorage.getItem(ACCESSTOKEN)\n let refreshToken = localStorage.getItem(REFRESHTOKEN)\n if (isValidStr(accessToken) && isValidStr(refreshToken)) setAuthenticated(true)\n else setAuthenticated(false)\n }\n\n return (\n \n {children}\n \n )\n}\n\nexport function useAuth() {\n return useContext(AuthContext)\n}\n","export default \"data:image/webp;base64,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\"","import React from 'react'\nimport clsx from 'clsx'\nimport { ButtonHTMLAttributes, forwardRef, ReactNode, Ref } from 'react'\n\nexport interface ButtonProps extends ButtonHTMLAttributes {\n children: ReactNode\n asChild?: boolean\n paddingXClass?: string\n variant: 'primary' | 'secondary' | 'tertiary' | 'transparent' | 'orange'\n fontSizeClassName?: string\n}\n\nexport const Button = forwardRef(\n (\n { children, asChild, className, paddingXClass=\"px-3.5\", fontSizeClassName = 'text-base lg:text-xl', variant, ...props }: ButtonProps,\n forwardedRef: Ref\n ) => {\n const Component = 'button'\n\n return (\n \n {children}\n \n )\n }\n)\n","import * as RadixCheckbox from '@radix-ui/react-checkbox'\nimport clsx from 'clsx'\nimport { forwardRef, Ref } from 'react'\nimport React from 'react'\n\nexport interface CheckboxProps extends RadixCheckbox.CheckboxProps {\n rounded?: boolean,\n variant?: string\n}\n\nconst CheckboxRoot = forwardRef(\n (\n { children, className, rounded, variant, ...props }: CheckboxProps,\n forwardedRef: Ref\n ) => {\n return (\n \n {children}\n \n )\n }\n)\n\nconst CheckboxIndicator = forwardRef(\n (\n { children, ...props }: RadixCheckbox.CheckboxIndicatorProps,\n forwardedRef: Ref\n ) => {\n return (\n \n {children}\n \n )\n }\n)\n\nCheckboxRoot.displayName = 'Checkbox.Root'\nCheckboxIndicator.displayName = 'Checkbox.Indicator'\n\nexport const Checkbox = {\n Root: CheckboxRoot,\n Indicator: CheckboxIndicator\n}\n","import React, { InputHTMLAttributes, ReactNode } from 'react';\nimport clsx from 'clsx';\n\nexport interface TextInputProps {\n className?: string;\n children: ReactNode;\n roundedInput?: boolean;\n}\n\nexport interface TextInputIconProps {\n className?: string;\n children: ReactNode;\n}\n\nexport interface TextInputInputProps extends InputHTMLAttributes {}\n\nfunction TextInputRoot({ className, children, roundedInput = true }: TextInputProps) {\n return (\n \n {children}\n \n );\n}\n\nfunction TextInputIcon({ className, children }: TextInputIconProps) {\n return (\n \n {children}\n \n );\n}\n\nfunction TextInputInput({ className, ...props }: TextInputInputProps) {\n return (\n \n );\n}\n\nTextInputRoot.displayName = 'TextInput.Root';\nTextInputInput.displayName = 'TextInput.Input';\nTextInputIcon.displayName = 'TextInput.Icon';\n\nexport const TextInput = {\n Root: TextInputRoot,\n Input: TextInputInput,\n Icon: TextInputIcon\n};\n","export default \"__VITE_ASSET__WCS5puuN__\"","export default \"data:image/svg+xml,%3csvg%20width='3'%20height='28'%20viewBox='0%200%203%2028'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='0.847046'%20y='27.9529'%20width='27.9529'%20height='1.69412'%20rx='0.847059'%20transform='rotate(-90%200.847046%2027.9529)'%20fill='%23C4C4C4'%20fill-opacity='0.4'/%3e%3c/svg%3e\"","import React, { useState, useEffect } from 'react'\r\nimport { isValidStr } from '../../../common_functions'\r\n\r\ntype Recognizer = SpeechRecognition | null\r\n\r\ninterface Props {\r\n startListen?: boolean\r\n stopListen?: boolean\r\n stopTranscript?: () => void\r\n handleAllowed?: (allowed: boolean) => void\r\n transcriptListen: (val: string) => void\r\n}\r\n\r\nexport default function VoiceToText({\r\n startListen,\r\n stopListen,\r\n transcriptListen,\r\n handleAllowed,\r\n stopTranscript\r\n}: Props) {\r\n const [transcript, setTranscript] = useState('')\r\n const [listening, setListening] = useState(false)\r\n const [allowed, setAllowed] = useState(true)\r\n let recognition: Recognizer = null\r\n\r\n useEffect(() => {\r\n if (startListen) startListening()\r\n }, [startListen])\r\n\r\n useEffect(() => {\r\n if (stopListen) stopListening()\r\n }, [stopListen])\r\n\r\n useEffect(() => {\r\n transcriptListen(transcript)\r\n }, [transcript])\r\n\r\n // Função para iniciar o reconhecimento de fala\r\n const startListening = () => {\r\n const SpeechRecognition =\r\n (window as any).SpeechRecognition || (window as any).webkitSpeechRecognition\r\n\r\n if (!SpeechRecognition) {\r\n console.error('SpeechRecognition not supported by this browser.')\r\n return\r\n }\r\n\r\n recognition = new SpeechRecognition()\r\n if (recognition != null) {\r\n recognition.lang = 'pt-BR'\r\n recognition.interimResults = false\r\n recognition.maxAlternatives = 1\r\n\r\n recognition.onstart = () => {\r\n setListening(true)\r\n }\r\n\r\n recognition.onresult = (event: SpeechRecognitionEvent) => {\r\n let newTranscript = ''\r\n for (let i = event.resultIndex; i < event.results.length; ++i) {\r\n if (event.results[i].isFinal) {\r\n newTranscript += event.results[0][0].transcript + ' '\r\n }\r\n }\r\n setTranscript(newTranscript)\r\n transcriptListen(newTranscript)\r\n }\r\n\r\n recognition.onerror = (event: SpeechRecognitionErrorEvent) => {\r\n console.error('Recognition error: ', event.error)\r\n if (event.error.includes('not-allowed')) {\r\n if (handleAllowed != undefined) handleAllowed(false)\r\n setAllowed(false)\r\n }\r\n }\r\n\r\n recognition.onend = () => {\r\n setListening(false)\r\n if(stopTranscript) stopTranscript()\r\n }\r\n\r\n recognition.start()\r\n }\r\n }\r\n\r\n const requestMicrophonePermission = async () => {\r\n try {\r\n // Solicita o acesso ao microfone\r\n await navigator.mediaDevices.getUserMedia({ audio: true })\r\n // O usuário concedeu a permissão\r\n if (handleAllowed != undefined) handleAllowed(true)\r\n setAllowed(true)\r\n } catch (err) {\r\n // O usuário recusou a permissão, ou ocorreu um erro\r\n if (handleAllowed != undefined) handleAllowed(false)\r\n setAllowed(false)\r\n console.error(err)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (!allowed) {\r\n requestMicrophonePermission()\r\n }\r\n }, [allowed])\r\n\r\n // Função para parar o reconhecimento de fala\r\n const stopListening = () => {\r\n if (isValidStr(transcript)) {\r\n if (recognition) {\r\n recognition.stop()\r\n setListening(false)\r\n }\r\n transcriptListen(transcript)\r\n } else {\r\n setTimeout(() => {}, 1000)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const SpeechRecognition =\r\n (window as any).SpeechRecognition || (window as any).webkitSpeechRecognition\r\n\r\n if (SpeechRecognition) {\r\n recognition = new SpeechRecognition()\r\n } else {\r\n console.error('SpeechRecognition is not supported by this browser.')\r\n }\r\n }, [])\r\n\r\n return (\r\n <>\r\n )\r\n}\r\n","export default \"data:image/svg+xml,%3csvg%20width='17'%20height='17'%20viewBox='0%200%2017%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5826_7949)'%3e%3cpath%20d='M11.7411%204.17656C11.7411%203.32787%2011.4039%202.51394%2010.8038%201.91382C10.2037%201.3137%209.38978%200.976563%208.54109%200.976562C7.6924%200.976563%206.87846%201.3137%206.27835%201.91382C5.67823%202.51394%205.34109%203.32787%205.34109%204.17656V7.37656C5.34109%208.22526%205.67823%209.03919%206.27835%209.6393C6.87846%2010.2394%207.6924%2010.5766%208.54109%2010.5766C9.38978%2010.5766%2010.2037%2010.2394%2010.8038%209.6393C11.4039%209.03919%2011.7411%208.22526%2011.7411%207.37656V4.17656Z'%20fill='%230059FF'/%3e%3cpath%20d='M7.74119%2012.9766V16.1766H9.34119V12.9766H7.74119Z'%20fill='%230059FF'/%3e%3cpath%20d='M13.3412%207.37646C13.3412%208.6495%2012.8354%209.8704%2011.9353%2010.7706C11.0351%2011.6708%209.8142%2012.1765%208.54116%2012.1765C7.26812%2012.1765%206.04722%2011.6708%205.14705%2010.7706C4.24688%209.8704%203.74116%208.6495%203.74116%207.37646H2.14116C2.14116%209.07385%202.81545%2010.7017%204.01568%2011.9019C5.21591%2013.1022%206.84378%2013.7765%208.54116%2013.7765C10.2385%2013.7765%2011.8664%2013.1022%2013.0666%2011.9019C14.2669%2010.7017%2014.9412%209.07385%2014.9412%207.37646H13.3412Z'%20fill='%230059FF'/%3e%3cpath%20d='M3.74116%205.77661H3.34116C3.0229%205.77661%202.71768%205.90304%202.49264%206.12808C2.26759%206.35313%202.14116%206.65835%202.14116%206.97661V7.37661H3.74116V5.77661ZM14.9412%206.97661C14.9412%206.65835%2014.8147%206.35313%2014.5897%206.12808C14.3646%205.90304%2014.0594%205.77661%2013.7412%205.77661H13.3412V7.37661H14.9412V6.97661ZM10.9412%2016.5766C10.9412%2016.2584%2010.8147%2015.9531%2010.5897%2015.7281C10.3646%2015.503%2010.0594%2015.3766%209.74116%2015.3766H7.34116C7.0229%2015.3766%206.71768%2015.503%206.49263%2015.7281C6.26759%2015.9531%206.14116%2016.2584%206.14116%2016.5766V16.9766H10.9412V16.5766Z'%20fill='%230059FF'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_5826_7949'%3e%3crect%20width='16'%20height='16'%20fill='white'%20transform='matrix(-1%200%200%201%2016.5411%200.976562)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e\"","import React from 'react'\nimport { Button } from '../../common'\nimport { useEffect, useState } from 'react'\ninterface Props {\n showModal: boolean\n closeModal: () => void\n title?: string\n description?: string\n}\n\nexport function ModalErrorMicrophone({ showModal, closeModal, title, description }: Props) {\n const [colorStatus, setColorStatus ] = useState('')\n const [bgStatus, setBgStatus] = useState('')\n const [titleStatus, setTitleStatus] = useState(title)\n const [descriptionStatus, setDescriptionStatus] = useState(description)\n\n return (\n <>\n {showModal ? (\n <>\n
\n
\n
\n
\n

{titleStatus}

\n

\n {descriptionStatus}\n

\n \n
\n
\n
\n
\n
\n \n ) : null}\n \n )\n}\n","import { useEffect, useState } from 'react'\nimport VoiceToText from '../../components/utilities/VoiceToText'\nimport MicrophoneIcon from '../../assets/icons/microphone-blue.svg'\nimport SkeletonLoading from '../../components/common/SkeletonLoading'\nimport { ModalErrorMicrophone } from '../Modais/ModalErrorAllowMicrophone'\nimport MicOff from '../../assets/icons/mic-off.svg'\n\ninterface Props {\n changeTranscript?: (transcript: string) => void\n}\n\nexport default function Voice2Text({ changeTranscript }: Props) {\n const [startListen, setStartListen] = useState(false)\n const [stopListen, setStopListen] = useState(false)\n const [transcriptRealTime, setTranscriptRealTime] = useState('')\n const [transcript, setTranscript] = useState('')\n const [waitListen, setWaitListen] = useState(false)\n const [allowed, setAllowed] = useState(true)\n\n const [showModal, setShowModal] = useState(false)\n\n const handleTranscript = (val: string) => {\n if (changeTranscript != undefined) changeTranscript(val)\n setTranscriptRealTime(val)\n }\n\n const handleStopTranscript = () => {\n if (changeTranscript != undefined) changeTranscript(transcriptRealTime)\n setTranscript(transcriptRealTime)\n\n setStartListen(false)\n setStopListen(true)\n }\n\n const handleStartTranscript = () => {\n if (allowed) {\n setWaitListen(true)\n setStartListen(true)\n setTimeout(() => {\n setStopListen(false)\n setWaitListen(false)\n }, 1000)\n }\n }\n\n return (\n
\n {waitListen && allowed && (\n <>\n {/* Aguarde para começar... */}\n \n \n \n \n )}\n {!startListen && allowed && (\n \n )}\n {!allowed && (\n setShowModal(true)}>\n \n \n \n \n )}\n\n {startListen && !stopListen && !waitListen && allowed && (\n \n )}\n handleStopTranscript()}\n handleAllowed={(val: boolean) => setAllowed(val)}\n transcriptListen={(val: string) => handleTranscript(val)}\n />\n\n setShowModal(!showModal)}\n title=\"Habilite seu microfone!\"\n description=\"Para usar a Busca por Voz é necessário habilitar as permissões do seu microfone. Ao habilitar, atualize a página.\"\n />\n
\n )\n}\n","import React, { memo, useEffect, useState } from 'react'\nimport { Button, TextInput } from '../../common'\nimport BgBestProperties from '../../../assets/bg_best_properties_dark.webp'\nimport {\n FULL_TEXT,\n} from '../../../constants/storageNames'\nimport { Cookies } from 'react-cookie'\nimport { isMobile, isValidList } from '../../../common_functions'\nimport SeparatorMicrophoneGray from '../../../assets/icons/separator-microphone-gray.svg'\nimport Voice2Text from '../../Voice2Text'\n\n\nfunction SectionBestPropertiesFullTextBasic() {\n const [valueInput, setValueInput] = useState('')\n const [countIndexSuggestion, setCountIndexSuggestion] = useState(0)\n const [placeholder, setPlaceholder] = useState('')\n const [heightSection, setHeightSection] = useState('654px')\n\n const cookies = new Cookies()\n const [originalList, setOriginalList] = useState([])\n\n useEffect(() => {\n let header = document.querySelector('header') as HTMLElement\n let section = document.querySelector('.section-best-properties') as HTMLElement\n if (section && header && isMobile()){\n if(window.innerHeight - header.clientHeight >= 653)\n setHeightSection(window.innerHeight - 10 + 'px')\n }\n }, [])\n\n const handleChangeInput = (val: string) => {\n setValueInput(val)\n sessionStorage.setItem(FULL_TEXT, val)\n }\n\n return (\n
\n \n \n

\n Encontre seu imóvel novo por texto ou voz no{' '}\n glemO\n

\n
\n
\n
\n
\n \n handleChangeInput(e.target.value)}\n value={valueInput}\n className={`w-full bg-transparent text-xl input-search-best-properties-full-text`}\n placeholder={\"Área privativa espaçosa para churrasco\"}\n />\n \n
\n \"Separador\"\n
\n
\n {/* */}\n \n
\n
\n
\n
\n \n BUSCAR\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n \n
\n )\n}\nexport default memo(SectionBestPropertiesFullTextBasic)\n","import Skeleton from 'react-loading-skeleton'\nimport React from 'react'\nimport 'react-loading-skeleton/dist/skeleton.css'\n\ninterface Props{\n count?: number\n height?: number|string\n className?: string\n}\n\nexport default function SkeletonLoading({count,height='auto', className}:Props){\n return(\n \n )\n}\n","export default \"data:image/svg+xml,%3csvg%20width='17'%20height='16'%20viewBox='0%200%2017%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.20001%200C9.26088%200%2010.2783%200.421427%2011.0284%201.17157C11.7786%201.92172%2012.2%202.93913%2012.2%204C12.2%205.06087%2011.7786%206.07828%2011.0284%206.82843C10.2783%207.57857%209.26088%208%208.20001%208C7.13915%208%206.12173%207.57857%205.37158%206.82843C4.62144%206.07828%204.20001%205.06087%204.20001%204C4.20001%202.93913%204.62144%201.92172%205.37158%201.17157C6.12173%200.421427%207.13915%200%208.20001%200ZM8.20001%202C7.66958%202%207.16087%202.21071%206.7858%202.58579C6.41073%202.96086%206.20001%203.46957%206.20001%204C6.20001%204.53043%206.41073%205.03914%206.7858%205.41421C7.16087%205.78929%207.66958%206%208.20001%206C8.73044%206%209.23915%205.78929%209.61423%205.41421C9.9893%205.03914%2010.2%204.53043%2010.2%204C10.2%203.46957%209.9893%202.96086%209.61423%202.58579C9.23915%202.21071%208.73044%202%208.20001%202ZM8.20001%209C10.87%209%2016.2%2010.33%2016.2%2013V16H0.200012V13C0.200012%2010.33%205.53001%209%208.20001%209ZM8.20001%2010.9C5.23001%2010.9%202.10001%2012.36%202.10001%2013V14.1H14.3V13C14.3%2012.36%2011.17%2010.9%208.20001%2010.9Z'%20fill='%230059FF'/%3e%3c/svg%3e\"","export default \"data:image/webp;base64,UklGRjgCAABXRUJQVlA4TCsCAAAv4AA4AJegoG0bZvwJ/2Q0FLRtw/AnvJu2Ctq2YcYfcc+WzX9kKUJkYGjsrblCmA0EOcuBsxyFZQE+DwESJNuqGug94QGKEe/d/25j1GSox/wT0f8J0K//v/7/+v/r//9WlP56I1ipvS0puCI92OM1iR8Kep3dkNHv7ITYOtZ8IJlH7OsRs7hgxfO+1r6uB1h90J44S29nPj2CI5L2NjtCf9uKZmFkUgVJbiUOyrSAOOSWZETCgzjJMiILcXq38cjExRZGQx64nGUwjJdYdTDyNWzhPUm8JeWGFt9SWdw1f9hCoIivNN+whfumSgAszorXWPX2aSEOi7hKtkvIt4VKHLO4SvOlLdw1VeJkEU9p5YUkN4WK0yyu0o2nit48VZ4DingqVvBFS3pzqLhePKWSaiOJbY5y01R5A4o4SlWjmcWgd4eKe4uv3jtV3oQigxAW4vYiY1CJN5YRmBbirUX8V4k3F3dFu7IQby/iK9ubyamV+MDiKbEGbvHEtBAfWcRPtgNgM3mxEp/J7CWxhmduUQ4W4lNmcZLtOGYzUZ1W4mOKj8QaXnOLogsxGLbjdLNKjIVYw8WGT/aR7fiRPSTWMDi2Y2zEGgbHdoyNWMPg2I7BkYXDM/9LY3aNRuthVNf09Hco8YQcVZW+aj1SFzyegLX2dcVhFQ9o5gHYVxwyqQvDdtTlpk5Me7f25AXNYJfIpH60tbG/+2riCFXLc29L0q//v/7/+v9/zAEA\"","export default \"__VITE_ASSET__DfbObudZ__\"","import clsx from 'clsx'\nimport { useEffect, useState } from 'react'\nimport React from 'react'\nimport './TextInputField.css'\nimport { isValidStr } from '../../../common_functions'\nimport { memo } from 'react'\n\ninterface Props {\n id?: string\n name: string\n label: string\n defaultValue?: string\n required?: boolean\n classNameContainer?: string\n maxLength?: number\n type?: string\n variant?: 'normal' | 'orange' | 'primary'\n roundedBorderLg?: boolean\n border?: string\n maskPhoneNumber?: boolean\n maskCPF?: boolean\n maskCPFCNPJ?: boolean\n maskCNPJ?: boolean\n setInput?: (val: string) => void\n handleKeyDown?: (val: string) => void\n iconImg?: string\n isSpeechBalloon?: boolean\n speechBalloonInfos?: string\n hasViewPassword?: boolean\n}\n\nfunction TextInputField({\n name,\n id,\n label,\n defaultValue,\n classNameContainer,\n required = false,\n maxLength,\n roundedBorderLg = false,\n variant = 'normal',\n type = 'text',\n hasViewPassword,\n maskPhoneNumber = false,\n maskCPF = false,\n maskCNPJ = false,\n maskCPFCNPJ = false,\n border,\n setInput,\n handleKeyDown,\n iconImg,\n isSpeechBalloon = false,\n speechBalloonInfos\n}: Props) {\n const [valInput, setValInput] = useState(defaultValue ?? '')\n const [openSpeechBalloon, setopenSpeechBalloon] = useState(false)\n const [classNameLabel, setClassNameLabel] = useState(\n isValidStr(defaultValue) ? 'label-filled' : ''\n )\n const [typeInput, setTypeInput] = useState(type)\n const [classNameInput, setClassNameInput] = useState(\n isValidStr(defaultValue) ? 'input-filled' : ''\n )\n\n useEffect(() => {\n if (maskCPF && defaultValue != undefined)\n setValInput(maskCPF ? formatCPF(defaultValue) : defaultValue)\n }, [maskCPF, defaultValue])\n\n useEffect(() => {\n if (maskCPFCNPJ && defaultValue != undefined)\n if (defaultValue.length <= 11) {\n setValInput(maskCPFCNPJ ? formatCPF(defaultValue) : defaultValue)\n } else {\n setValInput(maskCPFCNPJ ? formatCNPJ(defaultValue) : defaultValue)\n }\n }, [maskCPFCNPJ, defaultValue])\n\n useEffect(() => {\n if (maskCNPJ && defaultValue != undefined)\n setValInput(maskCNPJ ? formatCNPJ(defaultValue) : defaultValue)\n }, [maskCNPJ, defaultValue])\n\n useEffect(() => {\n if (maskPhoneNumber && defaultValue != undefined)\n setValInput(maskPhoneNumber ? formatPhoneNumber(defaultValue) : defaultValue)\n }, [maskPhoneNumber, defaultValue])\n\n const handleChangeValueInput = (val: string) => {\n if (setInput != undefined) setInput(val)\n\n if (maxLength != undefined && val.toString().length > maxLength) {\n return false\n } else {\n if (maskPhoneNumber) setValInput(formatPhoneNumber(val))\n else if (maskCPF) setValInput(formatCPF(val))\n else if (maskCNPJ) setValInput(formatCNPJ(val))\n else if (maskCPFCNPJ) {\n setValInput(val.length <= 11 ? formatCPF(val) : formatCNPJ(val))\n } else setValInput(val)\n }\n if (valInput && isValidStr(valInput)) {\n setClassNameLabel('label-filled')\n setClassNameInput('input-filled')\n } else {\n setClassNameLabel('')\n setClassNameInput('')\n }\n }\n\n const isValidInput = () => {\n if (type == 'email') {\n if (valInput.includes('@')) {\n return true\n } else {\n return false\n }\n }\n return true\n }\n\n const handleFocusOut = () => {\n if (required) {\n if (isValidStr(valInput) && isValidInput()) {\n setClassNameLabel('label-filled label-filled-success')\n setClassNameInput('input-filled input-filled-success')\n } else {\n setClassNameLabel('label-filled-error')\n setClassNameInput('input-filled-error')\n }\n }\n }\n\n const handleKeyDownConst = (e: string) => {\n if (handleKeyDown != undefined) {\n handleKeyDown(e)\n }\n }\n\n const handleOpenSpeechBalloon = (val: boolean) => {\n if (isSpeechBalloon) {\n setopenSpeechBalloon(val)\n }\n }\n\n const handleMouseDown = () => setTypeInput('text')\n const handleMouseUp = () => setTypeInput('password')\n const handleMouseLeave = () => setTypeInput('password')\n\n const handleClickSeePassword = () => {\n setTypeInput(typeInput == 'text' ? 'password' : 'text')\n }\n\n const formatCPF = (value: string): string => {\n const cleaned = value.replace(/\\D/g, '')\n let formatted = cleaned\n if (cleaned.length == 3) {\n formatted = `${cleaned.slice(0, 3)}.${cleaned.slice(3)}`\n } else if (cleaned.length >= 11) {\n formatted = `${cleaned.slice(0, 3)}.${cleaned.slice(3, 6)}.${cleaned.slice(\n 6,\n 9\n )}-${cleaned.slice(9, 11)}`\n } else if (cleaned.length >= 6) {\n formatted = `${cleaned.slice(0, 3)}.${cleaned.slice(3, 6)}.${cleaned.slice(6)}`\n }\n return formatted ?? ''\n }\n\n const formatCNPJ = (value: string): string => {\n const cleaned = value.replace(/\\D/g, '')\n let formatted = cleaned\n if (cleaned.length == 2) {\n formatted = `${cleaned.slice(0, 2)}${cleaned.slice(2)}`\n } else if (cleaned.length >= 14) {\n formatted = `${cleaned.slice(0, 8)}/${cleaned.slice(8, 12)}-${cleaned.slice(12, 14)}`\n } else if (cleaned.length >= 12) {\n formatted = `${cleaned.slice(0, 8)}/${cleaned.slice(8, 12)}-${cleaned.slice(12)}`\n } else if (cleaned.length >= 8) {\n formatted = `${cleaned.slice(0, 8)}/${cleaned.slice(8)}`\n }\n // } else if (cleaned.length >= 11) {\n // formatted = `${cleaned.slice(0, 3)}.${cleaned.slice(3,6)}.${cleaned.slice(6,9)}-${cleaned.slice(9, 11)}`\n // } else if(cleaned.length >= 6){\n // formatted = `${cleaned.slice(0, 3)}.${cleaned.slice(3,6)}.${cleaned.slice(6)}`\n // }\n return formatted ?? ''\n }\n\n const formatPhoneNumber = (value: string): string => {\n const cleaned = value.replace(/\\D/g, '')\n let formatted = cleaned\n if (cleaned.length > 2 && cleaned.length <= 7) {\n formatted = `(${cleaned.slice(0, 2)}) ${cleaned.slice(2)}`\n } else if (cleaned.length > 7) {\n formatted = `(${cleaned.slice(0, 2)}) ${cleaned.slice(2, 7)}-${cleaned.slice(7, 11)}`\n }\n\n return formatted\n }\n\n return (\n \n
\n {isSpeechBalloon && openSpeechBalloon && (\n
{speechBalloonInfos}
\n )}\n handleChangeValueInput(e.target.value)}\n onKeyDown={(e) => handleKeyDownConst(e.key)}\n onBlur={() => handleFocusOut()}\n required={required}\n />\n {hasViewPassword && (\n \n \n \n )}\n {isValidStr(iconImg) && (\n handleOpenSpeechBalloon(true)}\n onMouseLeave={() => handleOpenSpeechBalloon(false)}\n className=\"absolute -mt-[35px] right-0 me-3\"\n />\n )}\n\n \n {label}\n \n
\n \n )\n}\n\nexport default memo(TextInputField)\n","import React from 'react'\nimport { Button } from '../../common'\nimport { useEffect, useState } from 'react'\ninterface Props {\n showModal: boolean\n closeModal: () => void\n title?: string\n description?: string\n}\n\nexport function ModalError({ showModal, closeModal, title, description }: Props) {\n const [colorStatus, setColorStatus ] = useState('')\n const [bgStatus, setBgStatus] = useState('')\n const [titleStatus, setTitleStatus] = useState(title)\n const [descriptionStatus, setDescriptionStatus] = useState(description)\n\n useEffect(() => {\n switch (status) {\n case 'error':\n setColorStatus('#df0101')\n setBgStatus('#F8E0E0')\n break;\n }\n }, [])\n return (\n <>\n {showModal ? (\n <>\n
\n
\n
\n
\n \n \n \n \n
\n
\n

{titleStatus}

\n

\n {descriptionStatus}\n

\n \n
\n
\n
\n
\n
\n \n ) : null}\n \n )\n}\n","export default \"data:image/svg+xml,%3csvg%20width='22'%20height='19'%20viewBox='0%200%2022%2019'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M9.29321%203.40532C8.78269%202.89481%207.89018%202.38157%206.24352%202.79334C4.5912%203.20652%203.37225%204.43762%202.96737%205.95552C2.56999%207.44528%202.92954%209.33691%204.70897%2011.116L10.2965%2016.7027C10.6872%2017.0933%2011.318%2017.0932%2011.7086%2016.7024C12.9634%2015.4468%2014.9572%2013.4519%2017.293%2011.1161C19.0716%209.33756%2019.4313%207.44587%2019.034%205.95584C18.6293%204.43777%2017.4106%203.20652%2015.7579%202.79335C14.1107%202.38153%2013.218%202.89487%2012.7076%203.40532C12.4284%203.68454%2012.2362%203.99412%2012.1136%204.23919C12.0532%204.36003%2012.0122%204.46028%2011.9876%204.52591C11.9753%204.55857%2011.9673%204.58218%2011.9632%204.5949L11.9599%204.60499C11.835%205.03045%2011.4445%205.32318%2011.0005%205.32321C10.5565%205.32324%2010.166%205.03056%2010.041%204.60512L10.0378%204.59501C10.0336%204.58228%2010.0256%204.55867%2010.0134%204.52601C9.98874%204.46036%209.94769%204.36011%209.88725%204.23925C9.76467%203.99416%209.57245%203.68456%209.29321%203.40532ZM11.0004%202.31132C11.0902%202.20413%2011.1877%202.0968%2011.2934%201.9911C12.2829%201.00155%2013.8903%200.264887%2016.243%200.853069C18.5903%201.4399%2020.3714%203.20866%2020.9665%205.44058C21.5691%207.70055%2020.9287%2010.3089%2018.7073%2012.5303C16.3716%2014.866%2014.3779%2016.8606%2013.1232%2018.1161C11.9518%2019.2883%2010.0544%2019.2889%208.88243%2018.1171L3.29487%2012.5304C1.07254%2010.3084%200.432109%207.70004%201.03493%205.44007C1.63024%203.20825%203.41167%201.4399%205.75833%200.853083C8.11066%200.264853%209.71791%201.00161%2010.7074%201.9911C10.8131%202.0968%2010.9106%202.20413%2011.0004%202.31132Z'%20fill='%230059FF'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20width='20'%20height='18'%20viewBox='0%200%2020%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M4.8794%200.838154C7.05518%200.294072%208.48378%200.97482%209.35363%201.84466C9.44838%201.93941%209.53598%202.03583%209.61687%202.13239C9.71187%202.24581%209.85223%202.31133%2010.0002%202.31133C10.1481%202.31133%2010.2885%202.2458%2010.3835%202.13239C10.4644%202.03582%2010.552%201.9394%2010.6467%201.84466C11.5166%200.974792%2012.9453%200.294088%2015.1215%200.838147C17.2952%201.38158%2018.9357%203.01599%2019.4832%205.0694C20.0343%207.13659%2019.4644%209.5658%2017.3535%2011.6768C15.0178%2014.0125%2013.0241%2016.0072%2011.7693%2017.2627C10.7931%2018.2396%209.21239%2018.24%208.23573%2017.2635L2.64816%2011.6768C0.536321%209.5653%20-0.0335694%207.13605%200.51781%205.06894C1.0655%203.01565%202.70627%201.38157%204.8794%200.838154Z'%20fill='%23FF1F00'/%3e%3c/svg%3e\"","import IconFavorite from '../../assets/icons/icon-favorite.svg'\nimport IconFavoriteFull from '../../assets/icons/icon-favorite-full.svg'\nimport IconLoading from '../../assets/loading-gif.gif'\nimport React from 'react'\nimport { Suspense, useEffect, useState } from 'react'\nimport { Enterprise2 } from '../../interfaces/enterprise/enterprise_2'\nimport SkeletonLoading from '../common/SkeletonLoading'\nimport { RELOAD_PAGE } from '../../constants/storageNames'\nimport userApi from '../../store/reducers/users/userApi'\nimport { useAuth } from '../../hooks/useAuth'\nimport { IFavoriteEnterpriseToken } from '../../interfaces/users/favoriteEnterpriseToken'\nimport { isValidStr } from '../../common_functions'\nimport { USER_CLAIM_FAVORITES_ENTERPRISES } from '../../constants/userClaims'\nimport { IFavoriteEnterpriseClaim } from '../../interfaces/users/favoriteEnterpriseClaim'\nimport { USERINFOS, USER_FAVORITES_ENTERPRISES } from '../../constants/loginInfos'\nimport { ModalError } from '../Modais/ModalError'\n\ninterface Props {\n enterpriseId: string\n enterpriseTitle?: string\n isFavoriteDefault?: boolean | undefined\n removeFavorite?: (elementObj: IFavoriteEnterpriseClaim) => void | undefined\n}\nexport default function FavoriteEnterprise({\n enterpriseId,\n enterpriseTitle,\n isFavoriteDefault = undefined,\n removeFavorite\n}: Props) {\n //CODIGO DOS FAVORITOS\n const auth = useAuth()\n const reloadPageLocal = parseInt(sessionStorage.getItem(RELOAD_PAGE) ?? '0')\n const [errorFavoriteLocal, seterrorFavoriteLocal] = useState(false)\n const userInfos = Array.isArray(auth.loginUser) ? auth.loginUser[0] : auth.loginUser\n const [showModalError, setShowModalError] = useState(false)\n const [favoriteEnterprises, setfavoriteEnterprises] = useState(userInfos ? JSON.parse(localStorage.getItem(USER_FAVORITES_ENTERPRISES) ?? \"[]\") : [])\n\n const handleCloseModal = () => {\n setShowModalError(false)\n }\n\n // useEffect(() => {\n // if (auth.authenticated && !isValidStr(auth.loginUser[0].AccessToken) && reloadPageLocal <= 3) {\n // window.location.reload()\n // let counterReload = parseInt(sessionStorage.getItem(RELOAD_PAGE) ?? '0')\n // counterReload += 1\n // sessionStorage.setItem(RELOAD_PAGE, counterReload.toString())\n // } else if (reloadPageLocal > 3) {\n // seterrorFavoriteLocal(true)\n // }\n // }, [])\n\n const [isFavoriteEnterprise, setIsFavoriteEnterprise] = useState(\n isFavoriteDefault != undefined ? isFavoriteDefault : false\n )\n\n useEffect(() => {\n if (typeof favoriteEnterprises === 'string') {\n setfavoriteEnterprises(JSON.parse(favoriteEnterprises))\n }\n }, [favoriteEnterprises])\n\n useEffect(() => {}, [isFavoriteDefault])\n\n useEffect(() => {\n setfavoriteEnterprises(getFavoritesEnterprises())\n }, [window.location])\n\n const [\n useFavoriteEnterprise,\n { isSuccess: isSuccessFavorite, isError: isErrorFavorite, isLoading: isLoadingFavorite }\n ] = userApi.useAddFavoriteEnterpriseMutation()\n const [\n useFavoriteDeleteEnterprise,\n {\n isSuccess: isSuccessFavoriteDelete,\n isError: isErrorFavoriteDelete,\n error: errorFavoriteDelete,\n isLoading: isLoadingFavoriteDelete\n }\n ] = userApi.useDeleteFavoriteEnterpriseMutation()\n\n useEffect(() => {\n if (isErrorFavoriteDelete) handleSuccessFavoriteDelete(true)\n }, [isErrorFavoriteDelete])\n\n const getFavoritesEnterprises = () => {\n var favoritesAux: IFavoriteEnterpriseClaim[] = auth.loginUser[0] != null && auth.loginUser[0].User != null ? JSON.parse(localStorage.getItem(USER_FAVORITES_ENTERPRISES) ?? \"[]\") : []\n return favoritesAux\n }\n\n const handlefavoriteEnterprise = async (fav: boolean) => {\n if (!errorFavoriteLocal) {\n const newEnterprise: IFavoriteEnterpriseClaim = {\n EnterpriseId: enterpriseId,\n EnterpriseName: null\n }\n\n if (removeFavorite != undefined) {\n removeFavorite(newEnterprise)\n } else {\n if (auth.authenticated) {\n let userId = userInfos.User.Id\n let token = userInfos.AccessToken\n let content: IFavoriteEnterpriseToken = {\n userId: userId,\n enterpriseId: enterpriseId,\n token: token\n }\n if (fav) {\n await useFavoriteDeleteEnterprise(content)\n } else {\n await useFavoriteEnterprise(content)\n }\n } else {\n window.location.href = '/entrar'\n }\n }\n } else {\n setShowModalError(true)\n setTimeout(() => {\n setShowModalError(false)\n }, 2000)\n }\n }\n\n useEffect(() => {\n setIsFavoriteEnterprise(isFavoriteDefault != undefined ? isFavoriteDefault : isFavorite())\n }, [location.pathname])\n\n useEffect(() => {\n if (isSuccessFavorite) {\n handleSuccessFavorite(false)\n }\n }, [isSuccessFavorite])\n\n useEffect(() => {\n if (isErrorFavoriteDelete) {\n handleSuccessFavorite(true)\n }\n }, [isErrorFavorite])\n\n useEffect(() => {\n if (isSuccessFavoriteDelete) {\n handleSuccessFavoriteDelete(false)\n }\n }, [isSuccessFavoriteDelete])\n\n const handleSuccessFavoriteDelete = (isError: boolean) => {\n setIsFavoriteEnterprise(false)\n updateListFavorites(true)\n if (isError) {\n let messageError = \"Favorito do Usuário não encontrada\"\n if (window.location.pathname == '/favoritos' && errorFavoriteDelete) {\n if(JSON.stringify(errorFavoriteDelete).includes(messageError)){\n localStorage.setItem(USER_FAVORITES_ENTERPRISES, JSON.stringify(favoriteEnterprises.filter(x => x.EnterpriseId != enterpriseId)))\n }\n }\n }\n // if(window.location.pathname == '/favoritos'){\n // setTimeout(() => {\n // window.location.reload()\n // }, 500);\n // }\n }\n\n const handleSuccessFavorite = (isError: boolean) => {\n sessionStorage.removeItem(RELOAD_PAGE)\n setIsFavoriteEnterprise(true)\n updateListFavorites(false)\n if (isError) {\n if (window.location.pathname == '/favoritos') {\n setTimeout(() => {\n window.location.reload()\n }, 500)\n }\n }\n }\n\n const updateListFavorites = (isDelete: boolean) => {\n const newEnterprise: IFavoriteEnterpriseClaim = {\n EnterpriseId: enterpriseId,\n EnterpriseName: null\n }\n let favoriteEnterprisesAux: IFavoriteEnterpriseClaim[] = userInfos ? JSON.parse(localStorage.getItem(USER_FAVORITES_ENTERPRISES) ?? \"[]\") : []\n if (isDelete) {\n favoriteEnterprisesAux = favoriteEnterprisesAux.filter(\n (x: IFavoriteEnterpriseClaim) => x.EnterpriseId != enterpriseId\n )\n setIsFavoriteEnterprise(false)\n } else {\n favoriteEnterprisesAux.push(newEnterprise)\n setIsFavoriteEnterprise(true)\n }\n\n setfavoriteEnterprises(favoriteEnterprisesAux)\n updateFavoritesLocalStorage(favoriteEnterprisesAux)\n }\n\n const updateFavoritesLocalStorage = (favoriteEnterprisesAux: IFavoriteEnterpriseClaim[]) => {\n localStorage.setItem(USER_FAVORITES_ENTERPRISES, JSON.stringify(favoriteEnterprisesAux))\n }\n\n const isFavorite = () => {\n if (isFavoriteDefault == undefined) {\n let isFavoriteAux = false\n let favoritesAux: IFavoriteEnterpriseClaim[] = auth.loginUser[0] != null && auth.loginUser[0].User != null ? JSON.parse(localStorage.getItem(USER_FAVORITES_ENTERPRISES) ?? \"[]\") : []\n favoritesAux.forEach((element) => {\n if (element.EnterpriseId == enterpriseId) {\n isFavoriteAux = true\n return\n }\n })\n return isFavoriteAux\n } else {\n return isFavoriteDefault\n }\n }\n\n return (\n <>\n \n \n \n )\n}\n","import React, { useEffect, useState } from 'react'\n\nimport { v4 } from 'uuid'\n\nimport { BannerCarouselInternEnterprise } from '../../Banners/BannerCarouselInternEnterprise'\nimport NotFoundImg from '../../../assets/Image-not-found.webp'\nimport enterpriseApi from '../../../store/reducers/enterprise/enterpriseApi'\nimport SkeletonLoading from '../../common/SkeletonLoading'\nimport FavoriteEnterprise from '../../FavoriteEnterprise'\nimport { EnterprisePhotos } from '../../../interfaces/enterprise/enterprisePhotos'\nimport { isValidStr } from '../../../common_functions'\n\ninterface Props {\n EnterpriseId: string\n}\n\nlet id = v4()\n\ninterface Item {\n FileUrl: string\n}\n\nexport default function NewCarouselEnterprise({ EnterpriseId }: Props) {\n const { data, isSuccess, isError, isLoading } = enterpriseApi.useGetEnterprisesMediasPhotosByIdQuery(\n EnterpriseId ?? ''\n )\n const [bannerUrls, setBannerUrls] = useState<{ [key: string]: string }>({})\n const [currentBannerIndex, setCurrentBannerIndex] = useState(0)\n\n function checkImagemBanner(imgUrl: string): Promise {\n return new Promise((resolve) => {\n const img = new Image()\n img.src = imgUrl\n img.onload = () => {\n resolve(imgUrl)\n }\n img.onerror = () => {\n resolve(NotFoundImg) // Utilize a URL ou caminho da imagem NotFoundImg\n }\n })\n }\n\n useEffect(() => {\n if (isSuccess && data?.Data != undefined) {\n const fetchBannerUrls = async () => {\n const tempUrls: { [key: string]: string } = {}\n for (const item of data?.Data) {\n const url: string = await checkImagemBanner(item.FileUrl)\n tempUrls[item.FileUrl] = url\n }\n setBannerUrls(tempUrls)\n }\n\n fetchBannerUrls()\n }\n }, [isSuccess])\n\n const handleNextBannerCarousel = () => {\n if (currentBannerIndex < (data?.Data?.length ?? 0) - 1)\n setCurrentBannerIndex(currentBannerIndex + 1)\n }\n\n const handlePrevBannerCarousel = () => {\n if (currentBannerIndex != 0) setCurrentBannerIndex(currentBannerIndex - 1)\n }\n\n return (\n
\n {isLoading && }\n {isSuccess && data?.Data?.length > 0 && (\n
\n {/* mainbanner */}\n 0\n ? 'col-span-2'\n : 'col-span-3'\n }\n >\n {!isValidStr(bannerUrls[data?.Data[currentBannerIndex]?.FileUrl ?? '']) ? (\n \n ) : (\n \n {/* left arrow carousel */}\n \n \n \n \n \n \n\n
\n \n
\n\n {/* right arrow carousel */}\n \n \n \n \n \n \n
\n )}\n
\n
\n {data?.Data.slice(currentBannerIndex + 1, currentBannerIndex + 4).map((item, index) => {\n return (\n <>\n {!isValidStr(bannerUrls[item.FileUrl]) ? (\n <>\n \n \n ) : (\n <>\n \n setCurrentBannerIndex(index + currentBannerIndex + 1)}\n disabled={\n index == 2 && data?.Data?.length - 4 - (currentBannerIndex + 1) > 0\n }\n >\n {index == 2 && data?.Data?.length - 4 - (currentBannerIndex + 1) > 0 && (\n \n
\n +{data?.Data?.length - 4 - (currentBannerIndex + 1)}\n
\n
\n )}\n \n \n \n )}\n \n )\n })}\n \n \n )}\n \n )\n}\n","import React from 'react'\nimport { Suspense, lazy, useCallback, useEffect, useState } from 'react'\nimport LogoMrv from '../../../assets/mrv-logo.webp'\nimport { Enterprise2 } from '../../../interfaces/enterprise/enterprise_2'\nimport enterpriseApi from '../../../store/reducers/enterprise/enterpriseApi'\nimport { useAuth } from '../../../hooks/useAuth'\nimport { USER_CLAIM_FAVORITES_ENTERPRISES } from '../../../constants/userClaims'\nimport { IFavoriteEnterpriseClaim } from '../../../interfaces/users/favoriteEnterpriseClaim'\nimport { ModalError } from '../../Modais/ModalError'\nimport { useNavigate } from 'react-router-dom'\nimport { USER_FAVORITES_ENTERPRISES } from '../../../constants/loginInfos'\nimport generalApi from '../../../store/reducers/general/generalApi'\nimport { IProductSearchedViewed } from '../../../interfaces/productSearchedViewed'\nimport { FULL_TEXT, ID_PRODUCT_SEARCHED_VIEWED } from '../../../constants/storageNames'\nimport { IProductConditions } from '../../../interfaces/fair/fair'\nimport { saveCardsStorage } from '../../../common_functions'\n\nconst CardEnterpriseHeader = lazy(() => import('./CardEnterpriseHeader'))\nconst CardEnterpriseStatusActions = lazy(() => import('./CardEnterpriseStatusActions'))\nconst CardEnterpriseInfos = lazy(() => import('./CardEnterpriseInfos'))\nconst CardEnterpriseCharacters = lazy(() => import('./CardEnterpriseCharacters'))\nconst CardEnterpriseAdvertiserPrice = lazy(() => import('./CardEnterpriseAdvertiserPrice'))\nconst CardEnterpriseFooter = lazy(() => import('./CardEnterpriseFooter'))\nconst SkeletonLoading = lazy(() => import('../../common/SkeletonLoading'))\n\ninterface Props {\n enterprise: Enterprise2\n isFavoriteDefault?: boolean | undefined\n conditions?: IProductConditions[]\n removeFavorite?: (elementObj: IFavoriteEnterpriseClaim) => void | undefined\n classNameCard?: string\n isPromotion?: boolean\n}\nexport default function CardEnterprise({\n enterprise,\n isFavoriteDefault,\n conditions,\n removeFavorite,\n isPromotion = false,\n classNameCard\n}: Props) {\n const navigation = useNavigate()\n const auth = useAuth()\n const [showModalError, setShowModalError] = useState(false)\n const [favoriteEnterprises, setfavoriteEnterprises] = useState(\n auth.loginUser != null && auth.loginUser[0] != null && auth.loginUser[0].User != null\n ? JSON.parse(localStorage.getItem(USER_FAVORITES_ENTERPRISES) ?? '[]')\n : []\n )\n const [\n useAddProductSearchedViewed,\n {\n data: dataProductSearched,\n isLoading: isLoadingProductSearched,\n isError: isErrorProductSearched,\n isSuccess: isSuccessProductSearched\n }\n ] = generalApi.useAddProductSearchedViewedMutation()\n\n const addProductSearchedViewed = async () => {\n const argumentSearch = sessionStorage.getItem(FULL_TEXT)\n const content: IProductSearchedViewed = {\n enterpriseId: enterprise.Id,\n productName: enterprise.Title,\n searchArgument: argumentSearch ?? ''\n }\n await useAddProductSearchedViewed(content)\n }\n\n const handleCloseModal = useCallback(() => {\n setShowModalError(false)\n }, [showModalError])\n\n useEffect(() => {\n if (typeof favoriteEnterprises === 'string') {\n setfavoriteEnterprises(JSON.parse(favoriteEnterprises))\n }\n }, [favoriteEnterprises])\n\n const addEnterpriseViewed = async () => {\n if (location.pathname != '/busca/') {\n saveCardsStorage(enterprise.Title, enterprise.BannerUrl, enterprise.Status, enterprise.Location, enterprise.Slug)\n navigation(`/empreendimentos/${enterprise.Slug}`)\n window.scrollTo(0,0)\n } else {\n await addProductSearchedViewed()\n }\n }\n\n useEffect(() => {\n if (isSuccessProductSearched) {\n sessionStorage.setItem(ID_PRODUCT_SEARCHED_VIEWED, dataProductSearched?.Data ?? '')\n saveCardsStorage(enterprise.Title, enterprise.BannerUrl, enterprise.Status, enterprise.Location, enterprise.Slug)\n navigation(`/empreendimentos/${enterprise.Slug}`)\n }\n }, [isSuccessProductSearched])\n\n return (\n \n
\n }>\n \n \n
\n }>\n \n \n }>\n
\n \n
\n
\n }>\n
\n \n
\n
\n }>\n \n \n
\n
\n
\n
\n\n\n\n
\n }>\n \n \n
\n\n \n \n )\n}\n","import React, { useState } from 'react'\nimport { Suspense, lazy, useEffect } from 'react'\nimport { Button } from '../../common'\nimport enterpriseApi from '../../../store/reducers/enterprise/enterpriseApi'\nimport { Enterprise2 } from '../../../interfaces/enterprise/enterprise_2'\nimport { IContentCard } from '../../../interfaces/enterprise/argsApi'\nimport CardEnterprise from '../../Cards/CardEnterprise'\nimport CarouselEnterprise2 from '../../Carousels/CarouselEnterprise2'\nimport { IFavoriteEnterpriseClaim } from '../../../interfaces/users/favoriteEnterpriseClaim'\nimport { isMobile } from '../../../common_functions'\nimport { v4 } from 'uuid'\nimport CarouselTinySliderChildren from '../../Carousels/CarouselTinySliderChildren'\n\ninterface Props {\n size: number\n seeMore?: boolean\n marginRowCardsClassName?: string\n isCarousel?: boolean\n isFavorites?: boolean\n cardRemoveItemFavorite?: (elementObj: IFavoriteEnterpriseClaim) => void\n is3CardsByLine?: boolean\n listEnterprises?: Enterprise2[]\n paddingCarousel?: boolean\n}\n\nexport default function SectionEnterprises({\n size,\n seeMore,\n isCarousel = false,\n marginRowCardsClassName = 'py-10',\n isFavorites = false,\n is3CardsByLine = true,\n cardRemoveItemFavorite,\n paddingCarousel = true,\n listEnterprises = undefined\n}: Props) {\n const SkeletonLoading = lazy(() => import('../../../components/common/SkeletonLoading'))\n const id = v4()\n const [useEnterprises, { data, isError, isSuccess, isLoading, error }] =\n enterpriseApi.useGetCardsEnterprisesMutation()\n const [selectedIndexCarousel, setSelectedIndexCarousel] = useState(0)\n const id_construtora_teste = '7e850aad-29ee-47ed-bc78-648607a22666'\n\n let touchStartX: number = 0\n let touchEndX: number = 0\n\n const handleTouchStart = (e: React.TouchEvent) => {\n touchStartX = e.changedTouches[0].screenX\n }\n\n const handleTouchMove = (e: React.TouchEvent) => {\n touchEndX = e.changedTouches[0].screenX\n }\n\n const handleTouchEnd = () => {\n if (touchStartX - touchEndX > 50) {\n if (selectedIndexCarousel < (listEnterprises?.length ?? 0) - 1) {\n setSelectedIndexCarousel(selectedIndexCarousel + 1)\n }else{\n setSelectedIndexCarousel(0)\n }\n }\n\n if (touchStartX - touchEndX < -50) {\n // Swiped right\n if (selectedIndexCarousel > 0) {\n // Certifique-se de não ir abaixo de 0\n setSelectedIndexCarousel(selectedIndexCarousel - 1)\n }else{\n if(listEnterprises) setSelectedIndexCarousel(listEnterprises?.length - 1)\n }\n }\n }\n\n useEffect(() => {\n if (listEnterprises == undefined || listEnterprises.length < 1) {\n getEnterprises()\n }\n }, [listEnterprises])\n\n const getEnterprises = async () => {\n const content: IContentCard = {\n stateId: null,\n cityId: null,\n districtId: null,\n statusId: null,\n priceMaximumValue: null,\n priceMinimumValue: null,\n numberOfRooms: null\n }\n await useEnterprises(content)\n }\n\n if (isLoading) {\n return
\n }\n\n if (isError) {\n return (\n \n

Houve um erro ao carregar os empreendimentos!

\n

\n Tente atualizar a página.\n

\n \n )\n }\n\n if (isCarousel && listEnterprises != undefined) {\n return (\n
\n {listEnterprises[selectedIndexCarousel] != undefined && (\n \n \n
\n )}\n
\n {listEnterprises.length > 0 && (\n <>\n {listEnterprises.slice(0, size).map((item, index) => {\n return (\n setSelectedIndexCarousel(index)}\n className={`bullet ${\n selectedIndexCarousel == index ? 'bg-[#0059FF]' : 'bg-[#00000033]'\n } m-auto w-[12px] aspect-square mx-[5px] rounded-full`}\n >\n )\n })}\n \n )}\n
\n {/* \n {\n listEnterprises?.slice(0, size).map((item) => {\n return \n })\n }\n */}\n {/* */}\n \n )\n } else {\n if (listEnterprises == undefined) {\n return (\n <>\n <>\n {isSuccess && data != undefined && data?.Data.filter(x => x.ConstructionCompanyId != id_construtora_teste) != undefined ? (\n <>\n \n {data.Data.filter(x => x.ConstructionCompanyId != id_construtora_teste).slice(0, size).map((item: Enterprise2, index: number) => {\n return (\n
\n
\n }>\n \n \n
\n
\n )\n })}\n \n
\n {seeMore ? (\n \n
\n \n ) : (\n <>\n )}\n \n \n )\n } else {\n return (\n <>\n {\n <>\n <>\n \n {listEnterprises?.slice(0, size).map((item: Enterprise2, index: number) => {\n return (\n }>\n \n
\n \n
\n \n
\n )\n })}\n \n {seeMore ? (\n
\n \n \n \n
\n ) : (\n
\n )}\n \n \n }\n \n )\n }\n }\n}\n","import { Suspense, useEffect } from 'react'\nimport SkeletonLoading from '../../common/SkeletonLoading'\nimport SectionEnterprises from '../SectionEnterprises'\nimport enterpriseApi from '../../../store/reducers/enterprise/enterpriseApi'\nimport { Enterprise2 } from '../../../interfaces/enterprise/enterprise_2'\n\ninterface Props {\n enterpriseId: string\n}\n\nexport default function SecionRecommendedEnterprises({ enterpriseId }: Props) {\n const [enterprisesRecommended, { data, isError, isLoading, isSuccess, status }] =\n enterpriseApi.useGetRecommendedEnterprisesMutation()\n\n useEffect(() => {\n getRecommended()\n }, [enterpriseId])\n\n const getRecommended = async () => {\n await enterprisesRecommended(enterpriseId)\n }\n\n return (\n <>\n
\n {isLoading && (\n
\n \n
\n )}\n {isSuccess && data != undefined && data?.Data.length > 0 && (\n <>\n

\n Quem viu esse empreendimento, \n viu também:\n

\n <>\n
\n }>\n \n \n
\n
\n }>\n \n \n
\n \n \n )}\n
\n \n )\n}\n","export default \"data:image/svg+xml,%3csvg%20width='18'%20height='17'%20viewBox='0%200%2018%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M15.92%201.88842C15.72%201.29842%2015.16%200.878418%2014.5%200.878418H3.5C2.84%200.878418%202.29%201.29842%202.08%201.88842L0%207.87842V15.8784C0%2016.4284%200.45%2016.8784%201%2016.8784H2C2.55%2016.8784%203%2016.4284%203%2015.8784V14.8784H15V15.8784C15%2016.4284%2015.45%2016.8784%2016%2016.8784H17C17.55%2016.8784%2018%2016.4284%2018%2015.8784V7.87842L15.92%201.88842ZM3.85%202.87842H14.14L15.22%205.98842H2.77L3.85%202.87842ZM16%2012.8784H2V7.87842H16V12.8784Z'%20fill='%2318181B'/%3e%3cpath%20d='M4.5%2011.8784C5.32843%2011.8784%206%2011.2068%206%2010.3784C6%209.54999%205.32843%208.87842%204.5%208.87842C3.67157%208.87842%203%209.54999%203%2010.3784C3%2011.2068%203.67157%2011.8784%204.5%2011.8784Z'%20fill='%2318181B'/%3e%3cpath%20d='M13.5%2011.8784C14.3284%2011.8784%2015%2011.2068%2015%2010.3784C15%209.54999%2014.3284%208.87842%2013.5%208.87842C12.6716%208.87842%2012%209.54999%2012%2010.3784C12%2011.2068%2012.6716%2011.8784%2013.5%2011.8784Z'%20fill='%2318181B'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20width='20'%20height='15'%20viewBox='0%200%2020%2015'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M19%206.65842V3.87842C19%202.22842%2017.65%200.878418%2016%200.878418H12C11.23%200.878418%2010.53%201.17842%2010%201.65842C9.47%201.17842%208.77%200.878418%208%200.878418H4C2.35%200.878418%201%202.22842%201%203.87842V6.65842C0.39%207.20842%200%207.99842%200%208.87842V14.8784H2V12.8784H18V14.8784H20V8.87842C20%207.99842%2019.61%207.20842%2019%206.65842ZM12%202.87842H16C16.55%202.87842%2017%203.32842%2017%203.87842V5.87842H11V3.87842C11%203.32842%2011.45%202.87842%2012%202.87842ZM3%203.87842C3%203.32842%203.45%202.87842%204%202.87842H8C8.55%202.87842%209%203.32842%209%203.87842V5.87842H3V3.87842ZM2%2010.8784V8.87842C2%208.32842%202.45%207.87842%203%207.87842H17C17.55%207.87842%2018%208.32842%2018%208.87842V10.8784H2Z'%20fill='%2318181B'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20width='24'%20height='25'%20viewBox='0%200%2024%2025'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M23.1%207.07861L17.2%201.17861C16.9%200.878613%2016.4%200.878613%2016.1%201.17861L0.2%2016.9786C0.1%2017.1786%200%2017.3786%200%2017.5786C0%2017.7786%200.1%2017.9786%200.2%2018.0786L6.1%2023.9786C6.2%2024.0786%206.4%2024.1786%206.6%2024.1786C6.8%2024.1786%207%2024.0786%207.1%2023.9786L23.1%208.07861C23.2%207.97861%2023.3%207.77861%2023.3%207.57861C23.4%207.37861%2023.3%207.17861%2023.1%207.07861ZM18.8%209.77861L16.6%207.57861C16.3%207.27861%2015.7%207.27861%2015.4%207.57861L15.2%207.77861C14.9%208.07861%2014.9%208.67861%2015.2%208.97861L17.4%2011.1786L16.7%2011.8786L15.2%2010.3786C14.9%2010.0786%2014.3%2010.0786%2014%2010.3786L13.8%2010.5786C13.5%2010.8786%2013.5%2011.4786%2013.8%2011.7786L15.3%2013.2786L14.6%2013.9786L12.4%2011.7786C12.1%2011.4786%2011.5%2011.4786%2011.2%2011.7786L11%2011.9786C10.7%2012.2786%2010.7%2012.8786%2011%2013.1786L13.2%2015.3786L12.5%2016.0786L11%2014.5786C10.7%2014.2786%2010.1%2014.2786%209.8%2014.5786L9.6%2014.7786C9.3%2015.0786%209.3%2015.6786%209.6%2015.9786L11.1%2017.4786L10.4%2018.1786L8.2%2015.9786C7.9%2015.6786%207.3%2015.6786%207%2015.9786L6.8%2016.1786C6.5%2016.4786%206.5%2017.0786%206.8%2017.3786L9%2019.5786L6.9%2021.6786L2.6%2017.3786L16.7%203.47861L20.9%207.67861L18.8%209.77861Z'%20fill='%2318181B'/%3e%3c/svg%3e\"","export const PARKING_SPACES = \"Parking\"\nexport const DORMITORY = \"Dormitory\"\nexport const ROOMS = \"Room\"\nexport const BEDROOM = \"BedRoom\"\n","import IconCar from '../../assets/icons/icon-car.svg'\nimport React, { lazy, useEffect } from 'react'\nimport IconBedroom from '../../assets/icons/icon-bedroom.svg'\nimport IconRuler from '../../assets/icons/icon-ruler.svg'\n// import { MapPin } from 'phosphor-react'\nimport { Link } from 'react-router-dom'\nimport SkeletonLoading from '../common/SkeletonLoading'\nimport { Suspense, useState } from 'react'\nimport enterpriseApi from '../../store/reducers/enterprise/enterpriseApi'\nimport {\n BEDROOM,\n DORMITORY,\n PARKING_SPACES,\n ROOMS\n} from '../../constants/enterpriseSpecificationsTypes'\nimport statusApi from '../../store/reducers/status/statusApi'\nimport { CardFormContactLead } from '../Cards/CardFormContactLead'\nimport { v4 } from 'uuid'\n\ninterface EnterpriseDetailCard {\n Id: string | undefined\n ConstructionCompanyId: string | undefined\n Description: string | undefined\n StatusId: string | undefined\n}\n\nexport default function BaseInfos({\n Id,\n Description,\n ConstructionCompanyId,\n StatusId\n}: EnterpriseDetailCard) {\n const [openShareModal, setOpenShareModal] = useState(false)\n const [parkingSpaces, setParkingSpaces] = useState(0)\n const [rooms, setRooms] = useState([])\n\n const {\n data: dataTipologies,\n isError: isErrorTipologies,\n isLoading: isLoadingTipologies,\n isSuccess: isSuccessTipologies,\n status: statusTipologies,\n error: errorTipologies\n } = enterpriseApi.useGetEnterpriseTipologiesByIdQuery(Id ?? '')\n\n const {\n data: dataInfo,\n isError: isErrorInfo,\n isLoading: isLoadingInfo,\n isSuccess: isSuccessInfo,\n status: statusInfo,\n error: errorInfo\n } = enterpriseApi.useGetEnterpriseInformationByIdQuery(Id ?? '')\n\n const handleShareModal = () => {\n setOpenShareModal(!openShareModal)\n }\n\n useEffect(() => {\n if (isSuccessTipologies) getTipologies()\n }, [isSuccessTipologies])\n\n const getTipologies = () => {\n var list: number[] = []\n if (dataTipologies != undefined && dataTipologies.Data.length > 0) {\n dataTipologies?.Data.forEach((element) => {\n if (element.Specification.Type === PARKING_SPACES) {\n setParkingSpaces(element.Specification.Quantity)\n }\n if (\n element.Specification.Type === DORMITORY ||\n element.Specification.Type === ROOMS ||\n element.Specification.Type === BEDROOM\n ) {\n list.push(element.Specification.Quantity)\n }\n })\n }\n\n list = [...new Set(list)]\n list.sort()\n setRooms(list)\n }\n\n const getTotalArea = () => {\n if (isSuccessInfo) {\n if (parseInt(dataInfo?.Data.TotalArea)) {\n return `${parseInt(dataInfo?.Data.TotalArea)}m²`\n } else {\n return dataInfo?.Data.TotalArea\n }\n }\n return ''\n }\n\n return (\n <>\n
\n
\n
\n
\n }>\n \n \n
\n
\n

\n {rooms.length > 1 ? rooms[0] + ' a ' + rooms[rooms.length - 1] : rooms[0]} quarto(s)\n

\n
\n
\n
\n
\n
\n
\n }>\n \n \n
\n
\n

\n {parkingSpaces} vaga {parkingSpaces <= 1 ? '' : '(s)'}\n

\n
\n
\n
\n
\n
\n
\n }>\n \n \n
\n {isErrorInfo && (\n
\n Houve um erro ao carregar essa sessão do empreendimento, tente novamente mais tarde!\n
\n )}\n {isSuccessInfo && (\n
\n

{getTotalArea()}

\n
\n )}\n
\n
\n
\n
\n

{Description}

\n
\n \n )\n}\n","import { lazy, useEffect, useState } from 'react'\nimport enterpriseApi from '../../store/reducers/enterprise/enterpriseApi'\nimport SkeletonLoading from '../common/SkeletonLoading'\nimport { IconTitle } from '../../interfaces/enterprise/enterpriseIconTitle'\n\nconst IconsText = lazy(() => import('./IconsText'))\n\ninterface Props {\n EnterpriseId: string\n}\n\nexport default function Differentials({ EnterpriseId }: Props) {\n const { data, isError, isSuccess, isLoading } =\n enterpriseApi.useGetEnterpriseDifferentialsByIdQuery(EnterpriseId ?? '')\n\n const [dataIcons, setDataIcons] = useState()\n\n useEffect(() => {\n if(isSuccess && data?.Data.length > 0){\n var listIcons:IconTitle[] = []\n data?.Data.forEach((element) => {\n listIcons.push({Icon: element.Differential.Icon, Title: element.Differential.Title ?? \"\"})\n });\n setDataIcons(listIcons)\n }\n }, [isSuccess])\n\n return (\n <>\n {isError && (\n
\n Houve um erro ao carregar essa sessão do empreendimento, tente novamente mais tarde!\n
\n )}\n {isLoading && }\n {isSuccess && dataIcons != undefined && }\n \n )\n}\n","import React from 'react'\nimport Arrow from '../../assets/icons/icon-arrow-up.svg'\nimport { Suspense, useEffect, useState } from 'react'\nimport clsx from 'clsx'\nimport { isValidStr } from '../../common_functions'\nimport SkeletonLoading from '../common/SkeletonLoading'\nimport enterpriseApi from '../../store/reducers/enterprise/enterpriseApi'\n\ninterface EnterpriseDetailCard {\n EnterpriseId: string\n}\n\nexport default function Location({ EnterpriseId }: EnterpriseDetailCard) {\n const [hiddenContent, setHiddenContent] = useState(true)\n const { data, isError, isSuccess, isLoading } = enterpriseApi.useGetEnterpriseAddressByIdQuery(\n EnterpriseId ?? ''\n )\n\n const extractIframeSrc = (html: string): string => {\n const parser = new DOMParser()\n const doc = parser.parseFromString(html, 'text/html')\n const iframe = doc.querySelector('iframe')\n return iframe?.getAttribute('src') ?? ''\n }\n\n return (\n <>\n {isLoading && }\n {isSuccess && isValidStr(data?.Data.GoogleMap) ? (\n <>\n
\n
\n

\n Localização\n

\n \n Ver no Maps\n \n
\n
\n \n
\n
\n
\n \n ) : (\n <>\n )}\n \n )\n}\n","import { lazy, useEffect, useState } from 'react'\nimport enterpriseApi from '../../store/reducers/enterprise/enterpriseApi'\nimport SkeletonLoading from '../common/SkeletonLoading'\nimport { IconTitle } from '../../interfaces/enterprise/enterpriseIconTitle'\n\nconst IconsText = lazy(() => import('./IconsText'))\n\ninterface Props {\n EnterpriseId: string\n}\n\nexport default function Proximities({ EnterpriseId }: Props) {\n const { data, isError, isSuccess, isLoading } =\n enterpriseApi.useGetEnterpriseProximitiesByIdQuery(EnterpriseId ?? '')\n\n const [dataIcons, setDataIcons] = useState()\n\n useEffect(() => {\n if(isSuccess && data?.Data.length > 0){\n var listIcons:IconTitle[] = []\n data?.Data.forEach(element => {\n listIcons.push({Icon: element.Proximity.Icon, Title: element.Proximity.Name ?? \"\"})\n });\n setDataIcons(listIcons)\n }\n }, [isSuccess])\n\n return (\n <>\n {isError && (\n
\n Houve um erro ao carregar essa sessão do empreendimento, tente novamente mais tarde!\n
\n )}\n {isLoading && }\n {isSuccess && dataIcons != undefined && }\n \n )\n}\n","import React from 'react'\nimport Arrow from '../../assets/icons/icon-arrow-up.svg'\nimport { useEffect, useState } from 'react'\nimport clsx from 'clsx'\nimport { EnterpriseTechnicalInformation } from '../../interfaces/enterprise/enterpriseTechnicalInformation'\nimport { isValidList, isValidStr } from '../../common_functions'\nimport { UnitType } from '../../interfaces/enterprise/enterpriseUnitType'\nimport { IconTitle } from '../../interfaces/enterprise/enterpriseIconTitle'\nimport { IconName } from '../../interfaces/enterprise/enterpriseIconName'\nimport enterpriseApi from '../../store/reducers/enterprise/enterpriseApi'\nimport SkeletonLoading from '../common/SkeletonLoading'\n\ninterface EnterpriseDetailCard {\n Title: string | undefined\n EnterpriseId: string\n Realization: string\n}\n\nexport default function FichaTecnica({ Title, EnterpriseId, Realization }: EnterpriseDetailCard) {\n const {\n data: dataAddress,\n isSuccess: isSuccessAddress,\n isError: isErrorAddress,\n isLoading: isLoadingAddress\n } = enterpriseApi.useGetEnterpriseAddressByIdQuery(EnterpriseId ?? '')\n const {\n data: dataInfo,\n isSuccess: isSuccessInfo,\n isError: isErrorInfo,\n isLoading: isLoadingInfo\n } = enterpriseApi.useGetEnterpriseInformationByIdQuery(EnterpriseId ?? '')\n const {\n data: dataDifferentials,\n isSuccess: isSuccessDifferentials,\n isError: isErrorDifferentials,\n isLoading: isLoadingDifferentials\n } = enterpriseApi.useGetEnterpriseDifferentialsByIdQuery(EnterpriseId ?? '')\n const {\n data: dataProximities,\n isSuccess: isSuccessProximities,\n isError: isErrorProximities,\n isLoading: isLoadingProximities\n } = enterpriseApi.useGetEnterpriseProximitiesByIdQuery(EnterpriseId ?? '')\n const {\n data: dataAdjacentsDistricts,\n isSuccess: isSuccessAdjacentsDistricts,\n isError: isErrorAdjacentsDistricts,\n isLoading: isLoadingAdjacentsDistricts\n } = enterpriseApi.useGetEnterpriseAdjacentsDistrictsByIdQuery(EnterpriseId ?? '')\n\n const [hiddenContent, setHiddenContent] = useState(true)\n const [dataIconsDifferentials, setDataIconsDifferentials] = useState()\n const [dataIconsProximities, setDataIconsProximities] = useState()\n\n useEffect(() => {\n if (isSuccessDifferentials && dataDifferentials?.Data.length > 0) {\n var listIcons: IconTitle[] = []\n dataDifferentials?.Data.forEach((element) => {\n listIcons.push({ Icon: element.Differential.Icon, Title: element.Differential.Title ?? '' })\n })\n setDataIconsDifferentials(listIcons)\n }\n }, [isSuccessDifferentials])\n\n useEffect(() => {\n if (isSuccessProximities && dataProximities?.Data.length > 0) {\n var listIcons: IconTitle[] = []\n dataProximities?.Data.forEach((element) => {\n listIcons.push({ Icon: element.Proximity.Icon, Title: element.Proximity.Title ?? '' })\n })\n setDataIconsDifferentials(listIcons)\n }\n }, [isSuccessProximities])\n\n const getTotalArea = () => {\n if (isSuccessInfo) {\n if (parseInt(dataInfo?.Data.TotalArea)) {\n return `${parseInt(dataInfo?.Data.TotalArea)}m²`\n } else {\n return dataInfo?.Data.TotalArea\n }\n }\n return ''\n }\n\n return (\n <>\n
\n

\n Ficha Técnica\n

\n
\n

\n {isValidStr(Title) ? <>Produto: {Title} : <>}\n {isLoadingAddress && }\n {isSuccessAddress && (\n <>\n
\n Endereço: {dataAddress?.Data.Location}\n \n )}\n {isLoadingInfo && }\n {isSuccessInfo ? (\n <>\n
\n Área Total do Terreno: {getTotalArea()}\n \n ) : (\n <>\n )}\n {isLoadingDifferentials && }\n {isSuccessDifferentials && dataDifferentials.Data.length > 0 ? (\n <>\n
\n Diferenciais:
\n \n {dataDifferentials?.Data?.map((item, i) => {\n return `${item.Differential.Title}${\n i < dataDifferentials?.Data.length - 1 ? ', ' : ''\n }`\n })}\n \n \n ) : (\n <>\n )}\n {/* {isValidList(RecreationAreas) ? (\n <>\n
\n Área de lazer:{' '}\n {RecreationAreas?.map((item, i) => {\n return `${item}${i < RecreationAreas.length - 1 ? ', ' : ''}`\n })}\n \n ) : (\n <>\n )} */}\n {/* {isValidList(UnitTypes) ? (\n <>\n
\n Tipologia das unidades:{' '}\n {UnitTypes?.map((item, i) => {\n return `${item.Value}${i < UnitTypes.length - 1 ? ', ' : ''}`\n })}\n \n ) : (\n <>\n )}\n {isValidStr(RoomsFullText) ? (\n <>\n
\n {RoomsFullText}\n
\n *Área real privativa acessória com valores aproximados.\n \n ) : (\n <>\n )} */}\n {/* {isValidStr(SuitesFullText) ? (\n <>\n
\n {SuitesFullText}\n
\n *Área real privativa acessória com valores aproximados.\n \n ) : (\n <>\n )} */}\n {isSuccessProximities && dataProximities.Data.length > 0 ? (\n <>\n
\n Proximidade:
\n \n {dataProximities?.Data?.map((item, i) => {\n return `${item.Proximity.Name}${\n i < dataProximities?.Data.length - 1 ? ', ' : ''\n }`\n })}\n \n \n ) : (\n <>\n )}\n {isSuccessAdjacentsDistricts && dataAdjacentsDistricts?.Data.length > 0 ? (\n <>\n
\n Vias de acesso:{' '}\n \n {dataAdjacentsDistricts?.Data?.map((item, i) => {\n return `${item.District.Name}${\n i < dataAdjacentsDistricts?.Data.length - 1 ? ', ' : ''\n }`\n })}\n \n \n ) : (\n <>\n )}\n {isValidStr(Realization) ? (\n <>\n
\n Realização:\n
\n {Realization}\n \n ) : (\n <>\n )}\n {isSuccessInfo ? (\n <>\n
\n Registro de Incorporação:\n
\n {dataInfo.Data.IncorporationRegistration}\n \n ) : (\n <>\n )}\n

\n
\n
\n
\n \n )\n}\n","import React from 'react'\nimport Img from '../../assets/localizacao-ex.webp'\nimport Arrow from '../../assets/icons/icon-arrow-up.svg'\nimport { Suspense, useEffect, useState } from 'react'\nimport clsx from 'clsx'\nimport { Button } from '../common'\nimport { isValidStr } from '../../common_functions'\nimport SkeletonLoading from '../common/SkeletonLoading'\nimport enterpriseApi from '../../store/reducers/enterprise/enterpriseApi'\n\ninterface EnterpriseDetailCard {\n EnterpriseId: string\n}\n\nexport default function Tour360({ EnterpriseId }: EnterpriseDetailCard) {\n const [hiddenContent, setHiddenContent] = useState(true)\n const {data, isError, isSuccess, isLoading} = enterpriseApi.useGetEnterprisePresentationMediaByIdQuery(EnterpriseId??\"\")\n const categoryIdTourVirtual = '18db3ade-c66a-4b7d-9806-5b0f58871682'\n\n const bgStyles = {\n backgroundImage: `url(${Img})`,\n aspectRatio: '15/11'\n }\n\n return (\n <>\n {isLoading && }\n {isSuccess && isValidStr(data?.Data.TourVirtual) ? (\n <>\n
\n

\n Tour 360°\n

\n
\n
\n
\n
\n
\n Quer ver o imóvel por dentro sem sair de casa? Faça um Tour 360°!\n
\n
\n \n
\n
\n
\n
\n
\n \n ) : (\n <>\n )}\n \n )\n}\n","import React from 'react'\nimport Icon from '../../assets/icons/icon-differentials-ex.webp'\nimport Arrow from '../../assets/icons/icon-arrow-up.svg'\nimport { Suspense, useEffect, useState } from 'react'\nimport clsx from 'clsx'\nimport SkeletonLoading from '../common/SkeletonLoading'\nimport { v4 } from 'uuid'\nimport { strToSlug } from '../../common_functions'\nimport enterpriseApi from '../../store/reducers/enterprise/enterpriseApi'\n\nexport interface Props {\n EnterpriseId: string\n}\nexport default function FinancingConditions({ EnterpriseId }: Props) {\n const [hiddenContent, setHiddenContent] = useState(true)\n const { data, isError, isSuccess, isLoading } =\n enterpriseApi.useGetEnterprisePaymentConditionByIdQuery(EnterpriseId ?? '')\n\n return (\n <>\n {(isLoading) && }\n {isSuccess && data?.Data.length > 0 && (\n <>\n \n

\n Condições de Financiamento\n

\n {/* CONTENT */}\n \n <>\n {data?.Data?.map((item) => {\n return (\n \n
{item.PaymentCondition.Name}
\n \n )\n })}\n \n \n \n
\n \n )}\n \n )\n}\n","import React from 'react'\nimport Img from '../../assets/localizacao-ex.webp'\nimport Arrow from '../../assets/icons/icon-arrow-up.svg'\nimport { Suspense, useEffect, useState } from 'react'\nimport clsx from 'clsx'\nimport { Link } from 'react-router-dom'\nimport SkeletonLoading from '../common/SkeletonLoading'\nimport { isValidStr } from '../../common_functions'\n\ninterface Props {\n fonteUrl: string\n}\n\nexport default function Fonte({ fonteUrl }: Props) {\n const [hiddenContent, setHiddenContent] = useState(true)\n\n const bgStyles = {\n backgroundImage: `url(${Img})`,\n aspectRatio: '15/11'\n }\n\n return (\n <>\n {isValidStr(fonteUrl) && (\n <>\n
\n

\n Fonte\n

\n
\n
\n Produto:{' '}\n \n {fonteUrl}\n \n
\n
\n
\n
\n \n )}\n \n )\n}\n","import React from 'react'\nimport Img from '../../assets/localizacao-ex.webp'\nimport Arrow from '../../assets/icons/icon-arrow-up.svg'\nimport { Suspense, useEffect, useState } from 'react'\nimport clsx from 'clsx'\nimport { isValidStr } from '../../common_functions'\n// import { format } from 'date-fns';\ninterface Props {\n lastPublish: string\n}\n\nexport default function LastPublish({ lastPublish }: Props) {\n const formattedDate = (): string => {\n const date = new Date(lastPublish)\n return `${date.getDate() < 10 ? '0' + date.getDate() : date.getDate()}/${\n date.getMonth() + 1 < 10 ? '0' : ''\n }${date.getMonth() + 1}/${date.getFullYear()}`\n }\n\n return (\n <>\n {isValidStr(lastPublish) && (\n <>\n
\n
\n

\n Data da última atualização*:\n

\n
\n

{formattedDate()}

\n
\n

\n *O glemO é um hub imobiliário digital, que funciona como um intermediador de compra\n e venda de imóveis novos. Caso ocorra qualquer alteração nos dados do produto, tais\n como preço, disponibilidade ou especificações, nós não nos responsabilizamos por\n tais mudanças do parceiro.   Recomendamos que todos os detalhes sejam confirmados\n diretamente com a empresa responsável, antes de efetivar qualquer transação. \n

\n
\n
\n
\n \n )}\n \n )\n}\n","export default \"data:image/svg+xml,%3csvg%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11%200.82373L14.3061%207.52337L21.6998%208.598L16.3497%2013.8126L17.6126%2021.1765L11%2017.7L4.38697%2021.1765L5.6499%2013.8126L0.299805%208.598L7.69349%207.52337L11%200.82373Z'%20fill='%23F1D02D'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M10.7998%201.95355L13.6576%207.74464L13.7739%207.98036L14.034%208.01817L20.4251%208.94708L15.8005%2013.4546L15.6123%2013.6381L15.6567%2013.8971L16.7484%2020.2625L11.0325%2017.2574L10.7998%2017.1351L10.5671%2017.2574L4.85082%2020.2625L5.94251%2013.8971L5.98695%2013.6381L5.7987%2013.4546L1.17411%208.94708L7.56521%208.01817L7.82533%207.98037L7.94166%207.74466L10.7998%201.95355Z'%20fill='%23E1E0E2'%20stroke='%23E1E0E2'/%3e%3c/svg%3e\"","import React from 'react'\nimport IconStarFull from '../../assets/icons/icon-star-full.svg'\nimport IconStarEmpty from '../../assets/icons/icon-star-empty.svg'\nimport { v4 } from 'uuid'\n\ninterface Prop {\n nota: number | undefined,\n size?: number,\n max?: number,\n marginClass?: string\n}\n\nexport default function Evaluation({ nota = 5, size = 25, max = 5, marginClass = \"mx-2\" }: Prop) {\n return (\n
\n {Array.from({ length: max }, (_, i) => i + 1).map((el) => {\n let star = el <= nota ? IconStarFull : IconStarEmpty\n return
\"Star
\n })}\n
\n )\n}\n","import Logo from '../../assets/Image-not-found.webp'\nimport React, { useEffect, useState } from 'react'\nimport { Suspense } from 'react'\nimport SkeletonLoading from '../common/SkeletonLoading'\nimport Evaluation from '../Evaluation'\nimport { EnterpriseData } from '../../interfaces/enterprise/enterpriseData'\nimport IconStarFull from '../../assets/icons/icon-star-full.svg'\nimport IconLoading from '../../assets/loading-gif.gif'\nimport builderApi from '../../store/reducers/builders/builderApi'\n\ninterface Props {\n enterprise: EnterpriseData\n}\ninterface EvaluationProps {\n title: string\n evaluation: number\n}\n\nexport function AboutCompany({ enterprise }: Props) {\n const [validUrlImg, setValidUrlImg] = useState('')\n const [useBuilderComment, { data, isLoading, isSuccess, isError }] =\n builderApi.useGetCommentBuilderMutation()\n const [\n useBuilderReviews,\n {\n data: dataReviews,\n isLoading: isLoadingReviews,\n isSuccess: isSuccessReviews,\n isError: isErrorReviews\n }\n ] = builderApi.useGetReviewsBuilderMutation()\n\n const getReviewsBuilder = async () => {\n await useBuilderReviews(enterprise.ConstructionCompanyId)\n }\n const getCommentBuilder = async () => {\n await useBuilderComment(enterprise.Id)\n }\n\n useEffect(() => {\n getCommentBuilder()\n getReviewsBuilder()\n }, [])\n\n function checkImagemBanner() {\n const img = new Image()\n img.src = enterprise?.ConstructionCompanyLogoUrl ?? ''\n img.onload = () => {\n setValidUrlImg(enterprise?.ConstructionCompanyLogoUrl ?? '')\n }\n img.onerror = () => {\n setValidUrlImg(Logo)\n }\n }\n\n useEffect(() => {\n checkImagemBanner()\n }, [enterprise])\n\n const getScoreBuilder = () => {\n let sumComments = data?.Data.map((x) => x.AverageScore).reduce(\n (partialSum, a) => partialSum + a,\n 0\n )\n return parseFloat((sumComments ?? 1).toString()) / parseFloat((data?.Data.length ?? 1).toString())\n }\n\n return (\n <>\n {!isError && (\n
\n {/* SOBRE A EMPRESA */}\n

Sobre a empresa

\n {isLoading && (\n
\n {' '}\n
\n )}\n {isSuccess && (\n <>\n
\n
\n
\n \n \n \n

\n {enterprise.ConstructionCompany}\n

\n
\n

Nota geral

\n <>\n
\n \n \n \n {getScoreBuilder().toFixed(1)}\n {' '}\n {isSuccessReviews && (\n <>\n {dataReviews?.Data?.TotalReviews ?? 0 > 0\n ? `(${dataReviews?.Data?.TotalReviews ?? 0} Reviews)`\n : ''}\n \n )}\n \n
\n \n
\n
\n
\n
\n
\n {data?.Data.map((item) => {\n return (\n <>\n
\n

{item.Quest}

\n {/*

\n (Em uma escala de 1 a {Math.ceil(item.AverageScore)}, sendo 1 muito\n insatisfeito e {Math.ceil(item.AverageScore)} muito satisfeito)\n

*/}\n
\n \n
\n
\n \n )\n })}\n
\n {/* {data?.Data.length > 3 && (\n <>\n {data?.Data.slice(3, data?.Data.length).map((item) => {\n return (\n <>\n
\n

{item.Quest}

\n

\n (Em uma escala de 1 a {item.AverageScore}, sendo 1 muito\n insatisfeito e 5 muito satisfeito)\n

\n \n
\n \n )\n })}\n \n )} */}\n
\n \n \n )}\n
\n \n )}\n \n )\n}\n","import React, { useCallback, useEffect } from 'react'\nimport BannerNotFound from '../../../assets/Image-not-found.webp'\nimport SkeletonLoading from '../../common/SkeletonLoading'\nimport { Suspense, memo } from 'react'\nimport { isValidStr } from '../../../common_functions'\nimport { useNavigate } from 'react-router-dom'\nimport campaignApi from '../../../store/reducers/campaigns/campaignApi'\nimport { CampaignInfo } from '../../../interfaces/campaign'\n\ninterface Props {\n link?: string\n bannerDesktopUrl?: string\n bannerMobileUrl?: string\n idCampaign: string\n enterpriseId: string\n}\n\nfunction CardPatrocinado({ link, bannerDesktopUrl, bannerMobileUrl, idCampaign, enterpriseId }: Props) {\n const [useSendClick, {data, isSuccess, isLoading, isError}] = campaignApi.useSendClickCampaignMutation()\n const navigation = useNavigate()\n\n const sendClick = async() => {\n const obj:CampaignInfo = {\n campaignId: idCampaign,\n enterpriseId: enterpriseId\n }\n useSendClick(obj)\n }\n\n const handleToPage = useCallback(async() => {\n // if (link != undefined) window.open(link, \"_blank\")\n await sendClick()\n }, [window.location])\n\n useEffect(() => {\n if(isSuccess || isError){\n if(link != undefined) {\n navigation(!link.includes('http') ? link + `?campanha=${idCampaign}` : link)\n }\n }\n }, [isSuccess, isError])\n\n return (\n <>\n
\n \n {window.innerWidth > 767 ? (\n \n ) : (\n \n )}\n \n
\n \n )\n}\nexport default memo(CardPatrocinado)\n","import React, { useLayoutEffect } from 'react'\nimport { RequestCampaignDay } from '../../../interfaces/api/request'\nimport campaignApi from '../../../store/reducers/campaigns/campaignApi'\nimport CardPatrocinado from '../CardPatrocinado'\nimport SkeletonLoading from '../../common/SkeletonLoading'\n\ninterface Props {\n position: number\n enterpriseId?: string | null\n constructionCompanyId?: string | null\n}\n\nexport default function CardPatrocinadoByIndex({ position, enterpriseId = null, constructionCompanyId = null }: Props) {\n const [\n useCampaigns,\n {\n data: dataCampaigns,\n isError: isErrorCampaigns,\n isSuccess: isSuccessCampaigns,\n isLoading: isLoadingCampaigns\n }\n ] = campaignApi.useGetCampaignsDayMutation()\n\n const getCampaignsDay = async () => {\n const content: RequestCampaignDay = {\n date: formatDate(new Date()),\n constructionCompanyId: constructionCompanyId\n }\n await useCampaigns(content)\n }\n\n function formatDate(date: Date) {\n const year = date.getFullYear()\n const month = String(date.getMonth() + 1).padStart(2, '0') // meses começam em 0\n const day = String(date.getDate()).padStart(2, '0')\n const hours = String(date.getHours()).padStart(2, '0')\n const minutes = String(date.getMinutes()).padStart(2, '0')\n const seconds = String(date.getSeconds()).padStart(2, '0')\n const milliseconds = String(date.getMilliseconds()).padStart(3, '0')\n\n return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${milliseconds}Z`\n }\n\n useLayoutEffect(() => {\n getCampaignsDay()\n }, [])\n\n const getCardPatrocinado = (index: number) => {\n if (isSuccessCampaigns) {\n var campaigns = undefined\n if (index === 0) {\n campaigns = dataCampaigns?.Data.filter((x) => x.PositionSearch == 1)\n } else if (index === 1) {\n campaigns = dataCampaigns?.Data.filter((x) => x.PositionSearch == 2)\n } else if (index == 2) {\n campaigns = dataCampaigns?.Data.filter((x) => x.PositionSearch == 3)\n }\n\n if (campaigns != undefined && campaigns.length > 0) {\n var campaign = campaigns[0]\n return !enterpriseId || campaign.EnterpriseId != enterpriseId ? (\n \n ) : <>\n } else {\n return <>\n }\n }\n }\n\n return (\n <>\n {isLoadingCampaigns && }\n {isSuccessCampaigns && <>{getCardPatrocinado(position - 1)}}\n \n )\n}\n","import React, { useState } from 'react'\n// import { X } from 'phosphor-react'\nimport { Button } from '../../common'\nimport LogoGlemo from '../../../assets/glemo-logo.webp'\nimport Loading from '../../../assets/loading-gif.gif'\nimport { Suspense, useEffect } from 'react'\nimport SkeletonLoading from '../../common/SkeletonLoading'\nimport { Navigate, useNavigate } from 'react-router-dom'\ninterface Props {\n showPopup?: boolean\n closePopup?: () => void\n status: string //'error' | 'success' | 'loading'\n title?: string\n titleError?: string\n titleLoading?: string\n titleSuccess?: string\n message?: string\n messageError?: string\n messageSuccess?: string\n}\n\nconst defaultTitleSuccess = 'Solicitação de contato enviada!'\nconst defaultTitleError = 'Solicitação de contato não enviada!'\nconst defaultTitleLoading = 'Sua mensagem está sendo enviada...'\n\nconst defaultMessageSuccess =\n 'A construtora entrará em contato em breve. Se construtora não entrar em contato nós cuidaremos de você!'\nconst defaultMessageError =\n 'Houve um erro ao enviar sua mensagem, por favor, tente novamente mais tarde!'\nconst defaultMessageLoading = ''\n\nexport function PopupContactRequest({\n showPopup,\n closePopup,\n status,\n title,\n message,\n}: Props) {\n const [titlePopup, setTitlePopup] = useState(title)\n const [messagePopup, setmessagePopup] = useState(message)\n const navigate = useNavigate();\n\n const redirectToHome = () => {\n window.location.reload();\n };\n\n function getDefaultMessage() {\n if (message == undefined) {\n if (status == 'loading') return defaultMessageLoading\n return status == 'error'\n ? defaultMessageError\n : defaultMessageSuccess\n }\n return message\n }\n\n function getDefaultTitle() {\n if (title == undefined) {\n if (status == 'loading') return defaultTitleLoading\n return status == 'error'\n ? defaultTitleError\n : defaultTitleSuccess\n }\n return title\n }\n\n\n useEffect(() => {\n setmessagePopup(getDefaultMessage())\n setTitlePopup(getDefaultTitle())\n }, [status])\n\n // useEffect(() => {\n // const closePopupContactRequest = document.querySelector(\n // '#closePopupContactRequest'\n // ) as HTMLElement\n // closePopupContactRequest?.addEventListener('click', () => closePopup)\n // const concluirPopupContactRequest = document.querySelector(\n // '#concluirPopupContactRequest'\n // ) as HTMLElement\n // concluirPopupContactRequest?.addEventListener('click', () => closePopup)\n // }, [closePopup])\n\n useEffect(() => {\n if (location.href.includes('/empreendimentos')) {\n let modalContactHTML = document.querySelector('.modal-form-contact') as HTMLElement\n if (modalContactHTML != undefined) {\n if (showPopup) {\n modalContactHTML.classList.remove('z-[1000]')\n } else {\n modalContactHTML.classList.add('z-[1000]')\n }\n }\n }\n }, [showPopup])\n\n const handleChangeShowModal = () => {}\n\n return (\n <>\n {showPopup ? (\n <>\n
\n
\n
\n
\n {(\n \n ) || }\n
\n \n \n {/* */}\n \n \n \n \n \n
\n
\n {/*body*/}\n
\n {status == 'loading' ? (\n
\n }>\n \n \n
\n ) : null}\n
{titlePopup}
\n

\n
\n {/*footer*/}\n {status != 'loading' ? (\n
\n {\n closePopup;\n redirectToHome();\n }}\n id=\"concluirPopupContactRequest\"\n className=\"font-bold w-full\"\n >\n FECHAR\n \n
\n ) : null}\n
\n
\n
\n
\n \n ) : null}\n \n )\n}\n","export default \"__VITE_ASSET__B6m5eO$d__\"","import { Button, Checkbox } from '../../common'\nimport React from 'react'\nimport ContactImg from '../../../assets/contact-img.webp'\nimport TextInputField from '../../common/TextInputField'\nimport ReCAPTCHA from 'react-google-recaptcha'\nimport { Suspense, useEffect, useState } from 'react'\nimport { PopupContactRequest } from '../../Popups/PopupContactRequest'\nimport leadApi from '../../../store/reducers/leads/leadApi'\nimport { ILead } from '../../../interfaces/lead'\nimport { Cookies } from 'react-cookie'\nimport IconLoading from '../../../assets/loading-gif.gif'\nimport {\n DATE_ENTRY,\n DEVICE_ID,\n EMAIL,\n FORM_INFOS_CONTACT_LEAD,\n ID_PRODUCT_SEARCHED_VIEWED\n} from '../../../constants/storageNames'\nimport Logo from '../../../assets/glemo-logo.webp'\nimport { v4 } from 'uuid'\nimport SkeletonLoading from '../../common/SkeletonLoading'\nimport { isLocal, isValidStr } from '../../../common_functions'\nimport { useAuth } from '../../../hooks/useAuth'\nimport { IRequestCreate } from '../../../store/reducers/users/interfaces/IRequestApi'\nimport userApi from '../../../store/reducers/users/userApi'\nimport { USERINFOS } from '../../../constants/loginInfos'\nimport generalApi from '../../../store/reducers/general/generalApi'\nimport { IProductSearchedViewedUpdt } from '../../../interfaces/productSearchedViewed'\nimport TagPromotion from '../../../assets/tag_promo.webp'\nimport campaignApi from '../../../store/reducers/campaigns/campaignApi'\nimport { CampaignInfo } from '../../../interfaces/campaign'\n\ninterface Props {\n enterpriseId: string\n constructionId: string\n formId: string\n isPromotion?: boolean\n campaignId?: string | null\n}\n\nexport function CardFormContactLead({ enterpriseId, campaignId = null, constructionId, formId, isPromotion = false }: Props) {\n const auth = useAuth()\n const cookies = new Cookies()\n const deviceId = cookies.get(DEVICE_ID)\n const navigationStartDate = sessionStorage.getItem(DATE_ENTRY) ?? ''\n const formInfosLocal: IRequestCreate = JSON.parse(\n localStorage.getItem(FORM_INFOS_CONTACT_LEAD) &&\n localStorage.getItem(FORM_INFOS_CONTACT_LEAD)?.toString() != 'undefined'\n ? localStorage.getItem(FORM_INFOS_CONTACT_LEAD) ?? '{}'\n : '{}'\n )\n const uuid = v4()\n const [disabledBtn, setDisabledBtn] = useState(!isLocal())\n const userInfos = Array.isArray(auth.loginUser) ? auth.loginUser[0] : auth.loginUser\n const isLogged = isValidStr(userInfos?.User?.Id)\n const typeLeadSourceIdTenhoIntesse = 'ACB81872-EA1E-4AD0-B54E-80B555E49AE0'\n const statusLead = 'DCF1D21E-8319-4B94-BF64-96B86213F0C7'\n const [isNewAccount, setIsNewAccount] = useState(false)\n const [showPopup, setShowPopup] = useState(false)\n const [statusMessage, setStatusMessage] = useState('loading')\n const [messagePopup, setMessagePopup] = useState(undefined)\n const [useSendConversionCampaign, {data:dataConversion, isSuccess:isSuccessConversion, isLoading:isLoadingConversion, isError:isErrorConversion}] = campaignApi.useSendConversionCampaignMutation()\n const [\n useUpdtProductSearchedViewed,\n {\n data: dataProductSearched,\n isLoading: isLoadingProductSearched,\n isError: isErrorProductSearched,\n isSuccess: isSuccessProductSearched\n }\n ] = generalApi.useLazyGetProductSearchedViewedQuery()\n const [content, setContent] = useState({\n statusLead: statusLead,\n name: formInfosLocal?.fullName ?? '',\n cpf: '',\n email: formInfosLocal?.email ?? '',\n phone: formInfosLocal?.phoneNumber ?? '',\n enterpriseId: enterpriseId,\n constructionCompanyId: constructionId,\n typeLeadSourceId: typeLeadSourceIdTenhoIntesse,\n metadata: {\n redirectionSourceUrl: uuid,\n navigationStartDate: navigationStartDate,\n urlSubmittedForm: location.href,\n deviceId: parseInt(deviceId),\n enterpriseId: enterpriseId,\n traceId: uuid,\n allowDirectContact: true\n }\n })\n\n const [\n useAddLeads,\n { isError: isErrorAddLead, isLoading: isLoadingAddLead, error, isSuccess: isSuccessAddLead }\n ] = leadApi.useAddLeadMutation()\n\n const [\n useCreateUser,\n {\n data: dataCreateUser,\n error: errorCreateUser,\n isError: isErrorCreateUser,\n isLoading: isLoadingCreateUser,\n isSuccess: isSuccessCreateUser\n }\n ] = userApi.useCreateUserMutation()\n\n const createUser = async () => {\n let newUserCreate: IRequestCreate = {\n email: content.email,\n fullName: content.name,\n phoneNumber: content.phone\n }\n\n await useCreateUser(newUserCreate)\n }\n\n const updtProductSearchedViewed = async () => {\n const id = sessionStorage.getItem(ID_PRODUCT_SEARCHED_VIEWED)\n if (id) {\n await useUpdtProductSearchedViewed(id)\n }\n }\n\n const sendConversionCampaign = async() => {\n if(campaignId){\n const obj:CampaignInfo = {\n campaignId:campaignId,\n constructionCompanyId: constructionId,\n enterpriseId: enterpriseId\n }\n\n useSendConversionCampaign(obj)\n }\n }\n\n useEffect(() => {\n if (isSuccessProductSearched) {\n sessionStorage.removeItem(ID_PRODUCT_SEARCHED_VIEWED)\n }\n }, [isSuccessProductSearched])\n\n const handleSendMessage = async (event: React.FormEvent) => {\n event.preventDefault()\n\n setShowPopup(true)\n await sendLead()\n await updtProductSearchedViewed()\n if(campaignId) await sendConversionCampaign()\n if (!isLogged) {\n await createUser()\n }\n }\n\n const sendLead = async () => {\n var newPhone = content.phone.replace('(', '').replace(')', '').replace(' ', '').replace('-', '')\n var contentAux = content\n contentAux.phone = newPhone.slice(0, 11)\n await useAddLeads(contentAux)\n }\n\n useEffect(() => {\n if (!isLoadingAddLead && !isLoadingCreateUser && !isLoadingProductSearched && !isLoadingConversion) {\n const contentLead: IRequestCreate = {\n fullName: content.name,\n email: content.email,\n phoneNumber: content.phone\n }\n localStorage.setItem(FORM_INFOS_CONTACT_LEAD, JSON.stringify(contentLead))\n\n if (isSuccessAddLead || isErrorAddLead) setShowPopup(true)\n if (isLogged) {\n if (isSuccessAddLead) setStatusMessage('success')\n if (isErrorAddLead) setStatusMessage('error')\n } else {\n if (isSuccessAddLead && (isSuccessCreateUser || isErrorCreateUser)) {\n setStatusMessage('success')\n if (isSuccessCreateUser) {\n setMessagePopup(\n 'Oba! Agora você faz parte do glemO, confirme sua conta no e-mail cadastrado para ver sua jornada completa nesse empreendimento. A construtora entrará em contato em breve. Se construtora não entrar em contato nós cuidaremos de você!'\n )\n }\n if (isErrorCreateUser) {\n setMessagePopup(\n `Oba! A construtora entrará em contato em breve. Se construtora não entrar em contato nós cuidaremos de você!`\n )\n }\n }\n if (isErrorAddLead) {\n setStatusMessage('error')\n }\n }\n }\n }, [\n isSuccessAddLead,\n isLoadingCreateUser,\n isLoadingProductSearched,\n isLoadingAddLead,\n isErrorAddLead,\n isSuccessCreateUser,\n isErrorCreateUser,\n isSuccessConversion,\n isLoadingConversion\n ])\n\n // useEffect(() => {\n // if (isSuccessAddLead) setStatusMessage('success')\n // }, [isSuccessAddLead])\n\n // useEffect(() => {\n // if (isErrorAddLead) {\n // setStatusMessage('error')\n // }\n // }, [isErrorAddLead])\n\n const handleCheckedContatoDireto = () => {\n let checkboxHTML = document.querySelector('#checkboxModalFormContact') as HTMLElement\n let isChecked = false\n if (checkboxHTML != undefined) {\n isChecked = checkboxHTML.getAttribute('aria-checked') === 'false'\n }\n let metadaAux = content.metadata\n metadaAux.allowDirectContact = isChecked\n setContent({ ...content, metadata: metadaAux })\n }\n\n function handleChangeStatusModalPopup() {\n setShowPopup(false)\n setStatusMessage('loading')\n setMessagePopup(undefined)\n }\n\n function onChange(value: any) {\n if (value) {\n setDisabledBtn(false)\n }\n }\n\n return (\n <>\n <>\n
\n \n {isPromotion && }\n\n

\n Tenho interesse neste imóvel\n

\n
\n {/*body*/}\n
\n
\n
\n {/* */}\n setContent({ ...content, name: val })}\n />\n {/* setContent({ ...content, cpf: val })}\n maxLength={11}\n /> */}\n setContent({ ...content, email: val })}\n />\n setContent({ ...content, phone: val })}\n />\n {/* */}\n
\n
\n
\n \n \n {/* */}\n \n \n \n \n \n \n Este número é meu WhatsApp e permito o contato direto\n \n
\n
\n
\n \n
\n
\n {isNewAccount && (\n \n

\n Verifique seu e-mail, confirme sua conta, depois atualize a página e demonstre\n interesse nos empreendimentos.\n

\n
\n )}\n
\n
\n

\n Ao enviar seus dados para a construtora, automaticamente você estará aceitando\n nossos{' '}\n \n \n termos de uso\n \n {' '}\n da plataforma\n

\n
\n
\n \n ENVIAR INFORMAÇÕES{' '}\n {isLoadingCreateUser || isLoadingAddLead ? (\n \n ) : (\n <>\n )}\n \n
\n \n \n \n \n <>\n {/* POPUP */}\n \n \n \n )\n}\n","export default \"data:image/webp;base64,UklGRswBAABXRUJQVlA4IMABAACwFQCdASrhAIcAPm02lEekIyIhKFmYeIANiWlu4XEw8N+TmYgksiuDItZT8LYZSNmZtrZMGxcBq4n3JI8haT1LVanW/bJhUgxvYeI+IET8kRM5U0hlEErq26/zmABcG7QHAafHXQifkiJrRDw3n2k7l+nLhZGrtub7bKik/C2Avtil72LnjhPUx2BXYxA+oBq4gECoegrdiLb0IyIsQqj3I+vIIrgyL0yUkI8T8LYauJ+SQSiwAAD+/ul5ZEghXeIYM9AUT5FhjeSw4c+QbKgbb+ccSCik4LZJc5UNRzlb7PWA384v2+oIitTrIEgFNdwK3e7e+iqn01jutv8KhyQyjK3Crrz5zft0BCuOKCfWNsfp7IZrXF0+F4FNL/G1SMTPD7H+EZGeozM/khNi3aFAHuHa1dkYZtCr+hdDLfkEBBa49Q9ovJOh7BloFdwK3fbwazRSivSvNJgYXGlbmSLyYB+o+WDVDNFDbJaHgTsyXAqgJTGn/8QU+peYE+4FA5QAkteH9BPLf1agEhudEvpyhAry9m/FEXvO/L/RWhmPUg6QyekE1T054h0e3v6MRjFi4GqYDcbdbXIwAAAAAAAA\"","import { useEffect, useState } from 'react'\nimport BannerNotFound from '../../../assets/Image-not-found-horiz.webp'\nimport generalApi from '../../../store/reducers/general/generalApi'\nimport SkeletonLoading from '../../common/SkeletonLoading'\nimport { IFair } from '../../../interfaces/fair/fair'\n\ninterface Props {\n constructionCompanyId?: string | null\n enterpriseId: string\n}\n\nexport default function CardBannerFair({ constructionCompanyId = null, enterpriseId }: Props) {\n const { data, isLoading, isError, isSuccess } = generalApi.useGetFairByConstructionIdQuery(\n constructionCompanyId ?? ''\n )\n const [fairs, setFairs] = useState()\n\n useEffect(() => {\n if (isSuccess) {\n getFairByProductId()\n }\n }, [isSuccess])\n\n const getFairByProductId = () => {\n let listFair: IFair[] = []\n data?.Data.filter((x) => x.IsActive).forEach((item) => {\n if (item.FairProducts.filter((x) => x.ProductId == enterpriseId).length > 0) {\n listFair.push(item)\n }\n })\n setFairs(listFair)\n }\n\n return (\n <>\n {isLoading && }\n {isSuccess && fairs && fairs.length > 0 && (\n <>\n {window.innerWidth > 767 ? (\n
\n {fairs.map((item) => {\n return (\n \n \n \n )\n })}\n
\n ) : (\n
\n {fairs.map((item) => {\n return (\n \n \n \n )\n })}\n
\n )}\n \n )}\n \n )\n}\n","import { EnterpriseData } from '../../interfaces/enterprise/enterpriseData'\nimport CardPatrocinado from '../Cards/CardPatrocinado'\nimport BaseInfos from './BaseInfos'\n\nimport { Suspense, useEffect, useState } from 'react'\nimport SkeletonLoading from '../common/SkeletonLoading'\nimport Differentials from './Differentials'\nimport Location from './Location'\nimport Proximities from './Proximities'\nimport FichaTecnica from './FichaTecnica'\nimport Tour360 from './Tour360'\nimport FinancingConditions from './FinancingConditions'\nimport Fonte from './Fonte'\nimport LastPublish from './LastPublish'\nimport { AboutCompany } from './AboutCompany'\nimport CardPatrocinadoByIndex from '../Cards/CardPatrocinadoByIndex'\nimport { CardFormContactLead } from '../Cards/CardFormContactLead'\nimport CardBannerFair from '../Cards/CardBannerFair'\nimport { v4 } from 'uuid'\n\ninterface Props {\n enterprise: EnterpriseData\n}\n\nexport default function SectionDetails({ enterprise }: Props) {\n return (\n
\n \n\n
\n \n
\n \n
\n {/* DIFERENCIAIS */}\n }>\n \n \n {/* LOCALIZAÇÃO */}\n }>\n \n \n {/* PROXIMIDADES */}\n }>\n \n \n {/* TOUR 360 */}\n }>\n \n \n {/* CONDICOES DE FINANCIAMENTO */}\n }>\n \n \n {/* FICHA TECNICA */}\n }>\n \n \n {/* FONTE */}\n }>\n \n \n {/*DATA DE ATUALIZAÇÃO*/}\n }>\n \n \n {/* FORM LEAD */}\n
\n \n
\n {/* SOBRE A EMPRESA */}\n }>\n \n \n
\n )\n}\n","import React from 'react'\nimport { Button } from '../../common'\nimport { useEffect, useState } from 'react'\ninterface Props {\n showModal: boolean\n closeModal: () => void\n status?: 'error' | 'loading' | 'success'\n imgUrl: string\n}\n\nexport function ModalPresentation({ showModal, closeModal, status = 'loading', imgUrl }: Props) {\n const [colorStatus, setColorStatus] = useState('')\n const [bgStatus, setBgStatus] = useState('')\n const [titleStatus, setTitleStatus] = useState('')\n const [descriptionStatus, setDescriptionStatus] = useState('')\n\n useEffect(() => {\n switch (status) {\n case 'error':\n setTitleStatus('Houve um erro!')\n setDescriptionStatus(\n 'Houve um erro durante a sua solicitação! Por favor, tente novamente mais tarde ou entre em contato com o suporte.'\n )\n setColorStatus('#df0101')\n setBgStatus('#F8E0E0')\n break\n case 'success':\n setTitleStatus('Sucesso!')\n setDescriptionStatus('Parabéns! Sua solicitação foi realizada com sucesso!')\n setBgStatus('#D1FAE5')\n setColorStatus('#059669')\n default:\n setTitleStatus('Solicitação em carregamento...')\n setDescriptionStatus('Sua solicitação está em processamento.')\n setBgStatus('#F5F6CE')\n setColorStatus('#FFBF00')\n break\n }\n }, [status])\n return (\n <>\n {showModal ? (\n <>\n
\n
\n
\n
\n \n Close menu\n \n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n \n ) : null}\n \n )\n}\n","import React from 'react'\nimport Img from '../../assets/localizacao-ex.webp'\nimport Arrow from '../../assets/icons/icon-arrow-up.svg'\nimport { Suspense, useEffect, useState } from 'react'\nimport clsx from 'clsx'\nimport { isValidList, strToSlug } from '../../common_functions'\nimport { API_URL } from '../../constants/baseUrlApiStatic'\nimport SkeletonLoading from '../common/SkeletonLoading'\nimport enterpriseApi from '../../store/reducers/enterprise/enterpriseApi'\nimport { ENUM_PHOTO_PLANT } from '../../constants/enterprisePresentationMediaTypesEnums'\nimport NotFoundImg from '../../assets/Image-not-found.webp'\nimport { ModalPresentation } from '../Modais/ModalPresentation'\n\ninterface EnterpriseDetailCard {\n EntepriseId: string\n}\n\nexport default function Planta({ EntepriseId }: EnterpriseDetailCard) {\n const [hiddenContent, setHiddenContent] = useState(true)\n const { data, isSuccess, isError, isLoading } = enterpriseApi.useGetEnterpriseMediasByIdQuery(\n EntepriseId ?? ''\n )\n const [bannerUrls, setBannerUrls] = useState<{ [key: string]: string }>({})\n const [selectedImgModal, setSelectedImgModal] = useState('')\n const [showModal, setShowModal] = useState(false)\n\n function checkImagemBanner(imgUrl: string): Promise {\n return new Promise((resolve) => {\n const img = new Image()\n img.src = imgUrl\n img.onload = () => {\n resolve(imgUrl)\n }\n img.onerror = () => {\n resolve(NotFoundImg) // Utilize a URL ou caminho da imagem NotFoundImg\n }\n })\n }\n\n useEffect(() => {\n if (isSuccess && data?.Data != undefined) {\n const fetchBannerUrls = async () => {\n const tempUrls: { [key: string]: string } = {}\n for (const item of data?.Data) {\n const url: string = await checkImagemBanner(item.FileUrl)\n tempUrls[item.FileUrl] = url\n }\n setBannerUrls(tempUrls)\n }\n\n fetchBannerUrls()\n }\n }, [isSuccess])\n\n const handleShowImg = (img:string) => {\n setSelectedImgModal(img)\n setShowModal(true)\n }\n\n return (\n <>\n {isLoading && }\n {isSuccess &&\n data?.Data.filter((x) => x.Category.Enumerator == ENUM_PHOTO_PLANT).length > 0 ? (\n <>\n
\n

Planta

\n
\n {data?.Data.filter((x) => x.Category.Enumerator == ENUM_PHOTO_PLANT).map((item) => {\n return (\n }>\n handleShowImg(bannerUrls[item.FileUrl])}\n className=\"bg-cover bg-no-repeat w-full aspect-[15/11] mt-4\"\n style={{\n backgroundImage: `url('${bannerUrls[item.FileUrl]}')`,\n backgroundSize: 'contain',\n backgroundPosition: 'center',\n height: '350px'\n }}\n >
\n \n )\n })}\n \n
\n
\n setShowModal(false)}/>\n \n ) : (\n <>\n )}\n \n )\n}\n","import { Suspense } from 'react'\nimport enterpriseApi from '../../store/reducers/enterprise/enterpriseApi'\nimport SkeletonLoading from '../common/SkeletonLoading'\n\ninterface Props {\n EnterpriseId: string\n}\n\nexport default function Video({ EnterpriseId }: Props) {\n const { data, isError, isSuccess, isLoading } =\n enterpriseApi.useGetEnterpriseMediasByIdQuery(EnterpriseId ?? '')\n\n const getLinkEmbed = (link:string) => {\n if(link.includes(\"embed\")){\n return link\n }else if(link.includes(\"watch\")){\n return link.replace(\"watch?\", \"embed/\").replace(\"v=\", \"\")\n }else{\n return link.slice(0, link.indexOf(\"?\")).replace(\"youtu.be/\", \"youtube.com/embed/\")\n }\n }\n return (\n <>\n {isLoading && }\n {isSuccess && (data?.Data.filter(x => x.Category.Enumerator == 5).length ?? 0) > 0 && (\n
\n

\n Vídeo\n

\n
\n }>\n x.Category.Enumerator == 5)[0].FileUrl)}\n title=\"YouTube video player\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n >\n \n
\n
\n
\n )}\n \n )\n}\n","import { Suspense } from 'react'\nimport { EnterpriseData } from '../../interfaces/enterprise/enterpriseData'\nimport Planta from './Planta'\nimport Video from './Video'\nimport SkeletonLoading from '../common/SkeletonLoading'\nimport Downloads from './Downloads'\n\ninterface Props {\n enterprise: EnterpriseData\n}\n\nexport default function SectionMedia({ enterprise }: Props) {\n return (\n <>\n {/* VIDEO */}\n }>\n \n {/* PLANTA */}\n }>\n \n \n \n )\n}\n","import React from 'react'\nimport Icon from '../../assets/icons/icon-differentials-ex.webp'\nimport Arrow from '../../assets/icons/icon-arrow-up.svg'\nimport { Suspense, useEffect, useState } from 'react'\nimport clsx from 'clsx'\nimport SkeletonLoading from '../common/SkeletonLoading'\nimport { v4 } from 'uuid'\nimport { formatMoneyReal, isValidList, isValidStr, strToSlug } from '../../common_functions'\nimport { Enterprise2 } from '../../interfaces/enterprise/enterprise_2'\nimport { IEnterpriseUnit } from '../../interfaces/enterprise/units'\nimport IconShare from '../../assets/icons/icon-blue-share.svg'\nimport IconLoading from '../../assets/loading-gif.gif'\nimport IconArrow from '../../assets/icons/icon-white-arrow.svg'\nimport IconCar from '../../assets/icons/icon-car.svg'\nimport IconBedroom from '../../assets/icons/icon-bedroom.svg'\nimport IconRuler from '../../assets/icons/icon-ruler.svg'\n\nimport StaticImg from '../../assets/no-image.webp'\nimport enterpriseApi from '../../store/reducers/enterprise/enterpriseApi'\nimport { EnterpriseUnit } from '../../interfaces/enterprise/enterpriseUnit'\nimport { ENUM_PHOTO_PLANT } from '../../constants/enterprisePresentationMediaTypesEnums'\nimport {\n BEDROOM,\n DORMITORY,\n PARKING_SPACES,\n ROOMS\n} from '../../constants/enterpriseSpecificationsTypes'\nimport { ModalPresentation } from '../Modais/ModalPresentation'\n\nexport interface Props {\n units: EnterpriseUnit\n}\n\nexport default function KnowUnits({ units }: Props) {\n const [hiddenContent, setHiddenContent] = useState(true)\n const [indexSelectedButton, setIndexSelectedButton] = useState(0)\n const [selectedUnit, setSelectedUnit] = useState()\n const [parkingSpaces, setParkingSpaces] = useState(0)\n const [rooms, setRooms] = useState([])\n const [selectedImgModal, setSelectedImgModal] = useState('')\n const [showModal, setShowModal] = useState(false)\n\n const handleSelectedItem = (index: number) => {\n setIndexSelectedButton(index)\n setSelectedUnit(units)\n }\n\n const handleShowImg = (img: string) => {\n setSelectedImgModal(img)\n setShowModal(true)\n }\n\n useEffect(() => {\n if (units != undefined) {\n setSelectedUnit(units)\n }\n }, [units])\n\n useEffect(() => {\n getTipologies()\n }, [selectedUnit])\n\n const getTipologies = () => {\n var list: number[] = []\n if (units != undefined && units.Typology.length > 0) {\n units.Typology?.forEach((element) => {\n if (element.Specification.Type === PARKING_SPACES) {\n setParkingSpaces(element.Specification.Quantity)\n }\n if (\n element.Specification.Type === DORMITORY ||\n element.Specification.Type === ROOMS ||\n element.Specification.Type === BEDROOM\n ) {\n list.push(element.Specification.Quantity)\n }\n })\n }\n\n list = [...new Set(list)]\n list.sort()\n setRooms(list)\n }\n\n return (\n <>\n {units != undefined ? (\n <>\n
\n
\n

\n Conheça as Unidades\n

\n
\n {/* CONTENT */}\n
\n
\n {/* {units?.map((item: IEnterpriseUnit, index) => {\n return (\n handleSelectedItem(index)}\n key={`${strToSlug(item.Title)}`}\n className={`rounded-2xl px-4 py-2 lg:m-2 lg:min-w-[170px] inline-flex w-full lg:w-fit border-1 font-semibold border-[#CCC] ${\n indexSelectedButton == index ? 'bg-[#F15C00] text-white' : 'text-gray-600'\n }`}\n >\n
{item.Title}
\n \n )\n })} */}\n handleSelectedItem(0)}\n className={`rounded-2xl px-4 py-2 lg:m-2 lg:min-w-[170px] inline-flex w-full lg:w-fit border-1 font-semibold border-[#CCC] ${'bg-[#F15C00] text-white'}`}\n >\n
Unidade 1
\n \n
\n {selectedUnit != undefined && (\n
\n
\n
\n \n {selectedUnit.PriceMinimumValue == 0 ? (\n 'Valor'\n ) : (\n <>A partir de:\n )}\n \n

\n {selectedUnit.PriceMinimumValue == 0 ? (\n 'Sob Consulta'\n ) : (\n <>{formatMoneyReal(selectedUnit.PriceMinimumValue)}\n )}\n

\n
\n
\n Tipo da Unidade\n
\n {selectedUnit.UnitType.toUpperCase()}\n
\n
\n
\n \n Status de Obra da Unidade\n \n
\n {selectedUnit.Status.toUpperCase()}\n
\n
\n
\n
\n
\n
\n
\n }>\n \"icon-bedroom\"\n \n
\n
\n

\n {rooms != undefined ? rooms + ' quarto(s)' : 'Não informado'}\n

\n
\n
\n
\n
\n
\n
\n }>\n \"icon-car\"\n \n
\n
\n

\n {parkingSpaces != undefined\n ? parkingSpaces + ' vaga(s)'\n : 'Não informado'}\n

\n
\n
\n
\n {/*
\n
\n
\n }>\n \"icon-ruler\"\n \n
\n
\n

\n {selectedUnit.TotalArea != undefined\n ? selectedUnit.TotalArea + ' m²'\n : 'Não informado'}\n

\n
\n
\n
*/}\n
\n {isValidList(selectedUnit.Media) &&\n selectedUnit.Media.filter((x) => x.Category.Enumerator != ENUM_PHOTO_PLANT)\n .length > 0 && (\n <>\n
\n

\n Fotos da unidade\n

\n {/*
*/}\n
\n {selectedUnit.Media.filter(\n (x) => x.Category.Enumerator != ENUM_PHOTO_PLANT\n ).map((item) => {\n return (\n handleShowImg(item.FileUrl)}\n />\n )\n })}\n
\n
\n \n )}\n {isValidList(selectedUnit.Media) &&\n selectedUnit.Media.filter((x) => x.Category.Enumerator == ENUM_PHOTO_PLANT)\n .length > 0 && (\n <>\n
\n

\n Planta da Unidade\n

\n
\n {selectedUnit.Media.filter(\n (x) => x.Category.Enumerator == ENUM_PHOTO_PLANT\n ).map((item) => {\n return (\n handleShowImg(item.FileUrl)}\n />\n )\n })}\n
\n
\n \n )}\n {isValidStr(selectedUnit.AdditionalInfo) && (\n <>\n
\n

\n Informações adicionais da unidade\n

\n

\n
\n \n )}\n setShowModal(false)}\n />\n
\n )}\n
\n
\n
\n \n ) : (\n <>\n )}\n \n )\n}\n","import React from 'react'\nimport { useState } from 'react'\nimport clsx from 'clsx'\nimport { strToSlug } from '../../common_functions'\nimport SkeletonLoading from '../common/SkeletonLoading'\nimport IconLoading from '../../assets/loading-gif.gif'\nimport enterpriseApi from '../../store/reducers/enterprise/enterpriseApi'\n\ninterface EnterpriseDetailCard {\n EnterpriseId: string\n}\n\nexport default function Downloads({ EnterpriseId }: EnterpriseDetailCard) {\n const {data, isSuccess, isError, isLoading} = enterpriseApi.useGetEnterprisePresentationFilesByIdQuery(EnterpriseId ?? \"\")\n const [hiddenContent, setHiddenContent] = useState(true)\n const [showErrorDownload, setShowErrorDownload] = useState(false)\n const idInitAlert = 'alertErrorDownload'\n const idInitLoading = 'loadingDownload'\n\n const handleDownload = async (url: string, filename: string, slugEl: string) => {\n const idAlertHTML = idInitAlert + slugEl\n const idLoadingHTML = idInitLoading + slugEl\n handleShowLoadingDownload(idLoadingHTML)\n try {\n const response = await fetch(url)\n if (response.status === 200) {\n const blob = await response.blob()\n const downloadUrl = window.URL.createObjectURL(blob)\n const link = document.createElement('a')\n link.href = downloadUrl\n link.download = filename\n document.body.appendChild(link)\n link.click()\n link.remove()\n window.URL.revokeObjectURL(downloadUrl)\n } else {\n // Handle the error if the response is not successful\n handleShowLoadingDownload(idLoadingHTML)\n handleShowErrorDownload(idAlertHTML)\n }\n } catch (error) {\n // Handle the error if the fetch fails\n console.error(error)\n handleShowLoadingDownload(idLoadingHTML)\n handleShowErrorDownload(idAlertHTML)\n }\n\n setTimeout(() => {\n handleShowErrorDownload(idAlertHTML)\n }, 2000)\n }\n\n const handleShowErrorDownload = (idHTML: string) => {\n let alert = document.querySelector('#' + idHTML) as HTMLElement\n if (alert != undefined) {\n alert.classList.toggle('hidden')\n }\n }\n\n const handleShowLoadingDownload = (idHTML: string) => {\n let alert = document.querySelector('#' + idHTML) as HTMLElement\n if (alert != undefined) {\n alert.classList.toggle('hidden')\n alert.classList.toggle('inline-block')\n }\n }\n\n return (\n <>\n {isLoading && }\n {isSuccess && data?.Data.length > 0 ? (\n <>\n
\n \n
\n {data?.Data?.map((item) => {\n return (\n
\n \n \n // handleDownload(\n // item.Url\n // item.Title,\n // strToSlug(item.Title)\n // )\n // }\n id={item.Title != undefined ? strToSlug(item.Title) : ''}\n className=\"bg-[#C4C4C4]/[0.3] mx-auto w-full md:w-auto rounded-lg px-3 py-1 my-4\"\n >\n {/* DOWNLOAD ICON */}\n \n \n \n \n {item.Title}{' '}\n \n \n \n \n
\n
\n )\n })}\n \n
\n
\n \n ) : (\n <>\n )}\n \n )\n}\n","import { Suspense } from 'react'\nimport { EnterpriseData } from '../../interfaces/enterprise/enterpriseData'\nimport KnowUnits from './KnowUnits'\nimport SkeletonLoading from '../common/SkeletonLoading'\nimport Downloads from './Downloads'\nimport { EnterpriseUnit } from '../../interfaces/enterprise/enterpriseUnit'\n\ninterface Props {\n enterprise: EnterpriseData\n units: EnterpriseUnit\n}\n\nexport default function SectionKnowUnits({ enterprise, units}: Props) {\n return (\n <>\n {/* CONHECA AS UNIDADES */}\n }>\n \n \n {/* DOWNLOADS */}\n }>\n \n \n \n )\n}\n","import React, { useEffect, useState } from \"react\"\nimport SectionDetails from \"../InternEnterprise/SectionDetails\"\nimport SectionMedia from \"../InternEnterprise/SectionMedia\"\nimport SectionKnowUnits from \"../InternEnterprise/SectionKnowUnits\"\nimport { EnterpriseData } from \"../../interfaces/enterprise/enterpriseData\"\nimport enterpriseApi from \"../../store/reducers/enterprise/enterpriseApi\"\nimport SkeletonLoading from \"../common/SkeletonLoading\"\n\n\ninterface Props {\n enterprise: EnterpriseData\n}\n\nexport default function NavInternEnterprise({enterprise}:Props) {\n const [selectedSection, setSelectedSection] = useState(0)\n const { data, isLoading, isError, isSuccess } = enterpriseApi.useGetUnitsQuery(enterprise.Id)\n // let navsSection: { [id: number]: string } = { 0: 'Detalhes', 1: 'Galeria' }\n const [navsSection, setNavsSection] = useState([\"Detalhes\", \"Galeria\"])\n // let navsSection:string[] = [\"Detalhes\", \"Galeria\"]\n\n useEffect(() => {\n if(isSuccess){\n var list = navsSection\n list.push(\"Unidades\")\n setNavsSection(list)\n }\n }, [isSuccess])\n\n useEffect(() => {\n }, [navsSection])\n\n return (\n <>\n
\n {navsSection.map((item, index) => {\n return (\n setSelectedSection(index)}\n >\n {item}\n \n )\n })}\n
\n {selectedSection == 0 && }\n {selectedSection == 1 && }\n {selectedSection == 2 && isSuccess && data != undefined && }\n \n )\n}\n","import { Suspense, useEffect, useState } from 'react'\nimport { EnterprisePhotos } from '../../../interfaces/enterprise/enterprisePhotos'\nimport { isValidStr } from '../../../common_functions'\nimport SkeletonLoading from '../../common/SkeletonLoading'\nimport FavoriteEnterprise from '../../FavoriteEnterprise'\nimport { useSwipeable } from 'react-swipeable'\n\ninterface Props {\n showModal: boolean\n closeModal: () => void\n photos: EnterprisePhotos[]\n}\n\nexport function ModalCarouselEnterpriseMobile({ showModal, closeModal, photos }: Props) {\n const [showPopup, setShowPopup] = useState(false)\n const [currentBannerIndex, setCurrentBannerIndex] = useState(0)\n\n const handlers = useSwipeable({\n onSwipedLeft: () => handleNextBannerCarousel(),\n\n onSwipedRight: () => handlePrevBannerCarousel()\n })\n\n const handleNextBannerCarousel = () => {\n if (currentBannerIndex < (photos.length ?? 0) - 1)\n setCurrentBannerIndex(currentBannerIndex + 1)\n }\n\n const handlePrevBannerCarousel = () => {\n if (currentBannerIndex != 0) setCurrentBannerIndex(currentBannerIndex - 1)\n }\n\n useEffect(() => {\n\n }, [currentBannerIndex])\n\n const changeCurrentBannerIndex = (index: number) => {\n if(index != currentBannerIndex) changeOverflowCarouselGallery(index < currentBannerIndex)\n setCurrentBannerIndex(index)\n }\n\n const changeOverflowCarouselGallery = (left: boolean) => {\n const carousel = document.querySelector(\".carousel-gallery-modal-enterprise\") as HTMLElement\n if(carousel){\n const currentScroll = carousel.scrollLeft\n carousel.scroll({left: left ? currentScroll - 100 : currentScroll + 100})\n }\n\n setTimeout(() => {\n carousel.style.scrollBehavior = 'smooth';\n }, 50);\n }\n\n return (\n <>\n {showModal && (\n <>\n
\n
\n
\n {/* CONTENT */}\n
\n
\n \n {/* */}\n \n \n \n \n
\n
\n
\n {/* prev button */}\n \n {/* mainbanner */}\n
\n {!isValidStr(photos[currentBannerIndex].FileUrl) ? (\n \n ) : (\n
\n \n
\n \n \n \n \n \n \n \n {currentBannerIndex + 1}/{photos?.length}\n \n
\n
\n )}\n
\n {/* next button */}\n \n
\n \n {photos.map((item, index) => {\n return (\n <>\n {item && (\n \n changeCurrentBannerIndex(index)\n }\n >\n
\n \n )}\n \n )\n })}\n
\n
\n
\n
\n \n \n
\n \n )}\n \n )\n}\n","import React, { useEffect, useState } from 'react'\n\nimport { v4 } from 'uuid'\n\nimport { BannerCarouselInternEnterprise } from '../../Banners/BannerCarouselInternEnterprise'\nimport NotFoundImg from '../../../assets/Image-not-found.webp'\nimport enterpriseApi from '../../../store/reducers/enterprise/enterpriseApi'\nimport SkeletonLoading from '../../common/SkeletonLoading'\nimport FavoriteEnterprise from '../../FavoriteEnterprise'\nimport { EnterprisePhotos } from '../../../interfaces/enterprise/enterprisePhotos'\nimport { isValidStr } from '../../../common_functions'\nimport { useSwipeable } from 'react-swipeable'\nimport { ModalCarouselEnterpriseMobile } from '../../Modais/ModalCarouselEnterpriseMobile'\n\ninterface Props {\n EnterpriseId: string\n}\n\nlet id = v4()\n\ninterface Item {\n FileUrl: string\n}\n\nexport default function CarouselEnterpriseModalMobile({ EnterpriseId }: Props) {\n const { data, isSuccess, isError, isLoading } =\n enterpriseApi.useGetEnterprisesMediasPhotosByIdQuery(EnterpriseId ?? '')\n const [bannerUrls, setBannerUrls] = useState<{ [key: string]: string }>({})\n const [currentBannerIndex, setCurrentBannerIndex] = useState(0)\n const [showModal, setShowModal] = useState(false)\n\n // useEffect(() => {\n // let body: HTMLElement | null = document.querySelector('body')\n\n // if (body != null) {\n // if (showModal) {\n // body.setAttribute('style', 'overflow-y: hidden')\n // body.classList.add(\"overflow-y-hidden\")\n // } else {\n // body.classList.remove(\"overflow-y-hidden\")\n // body.setAttribute('style', 'overflow-y: auto')\n // }\n // }\n // }, [showModal])\n\n const lockScroll = () => {\n const scrollBarWidth = window.innerWidth - document.documentElement.clientWidth;\n document.body.style.paddingRight = `${scrollBarWidth}px`;\n document.body.style.overflow = 'hidden';\n };\n\n const unlockScroll = () => {\n document.body.style.paddingRight = '';\n document.body.style.overflow = '';\n };\n\n useEffect(() => {\n if (showModal) {\n lockScroll();\n } else {\n unlockScroll();\n }\n\n return () => {\n unlockScroll();\n };\n }, [showModal]);\n\n useEffect(() => {\n const headerHTML = document.querySelector(\".header-mobile\") as HTMLElement\n const cardPriceHTML = document.querySelector(\".card-enterprise-intern-infos-prices\") as HTMLElement\n if(headerHTML){\n if(showModal){\n headerHTML.classList.remove(\"z-[99]\")\n }else{\n headerHTML.classList.add(\"z-[99]\")\n }\n }\n if(cardPriceHTML){\n if(showModal){\n cardPriceHTML.classList.add(\"hidden\")\n }else{\n cardPriceHTML.classList.remove(\"hidden\")\n }\n }\n }, [showModal])\n\n const handlers = useSwipeable({\n onSwipedLeft: () => handleNextBannerCarousel(),\n\n onSwipedRight: () => handlePrevBannerCarousel()\n })\n\n const handleNextBannerCarousel = () => {\n if (currentBannerIndex < (data?.Data?.length ?? 0) - 1)\n setCurrentBannerIndex(currentBannerIndex + 1)\n }\n\n const handlePrevBannerCarousel = () => {\n if (currentBannerIndex != 0) setCurrentBannerIndex(currentBannerIndex - 1)\n }\n\n return (\n
\n {isLoading && }\n {isSuccess && data?.Data?.length > 0 && (\n <>\n {/* mainbanner */}\n
\n {!isValidStr(data?.Data[currentBannerIndex].FileUrl) ? (\n \n ) : (\n setShowModal(true)}\n className=\"w-full aspect-[360/290] bg-no-repeat bg-cover bg-center mt-10\"\n >\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n setShowModal(true)}\n type=\"button\"\n className=\"bg-[#0A0A0ACC] text-white px-1 text-center align-middle rounded-sm\"\n >\n
\n \n \n \n \n \n \n {data?.Data?.length}\n
\n \n
\n
\n )}\n
\n setShowModal(false)}\n />\n \n )}\n \n )\n}\n","export default \"data:image/svg+xml,%3csvg%20width='19'%20height='19'%20viewBox='0%200%2019%2019'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M0%203.84375C0%202.1869%201.34315%200.84375%203%200.84375H4C4.55228%200.84375%205%201.29147%205%201.84375C5%202.39603%204.55228%202.84375%204%202.84375H3C2.44772%202.84375%202%203.29147%202%203.84375V15.8438C2%2016.396%202.44772%2016.8438%203%2016.8438H15C15.5523%2016.8438%2016%2016.396%2016%2015.8438V14.8438C16%2014.2915%2016.4477%2013.8438%2017%2013.8438C17.5523%2013.8438%2018%2014.2915%2018%2014.8438V15.8438C18%2017.5006%2016.6569%2018.8438%2015%2018.8438H3C1.34315%2018.8438%200%2017.5006%200%2015.8438V3.84375Z'%20fill='%230059FF'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M10.0002%202.84375C9.44787%202.84375%209.00015%202.39603%209.00015%201.84375C9.00015%201.29147%209.44787%200.84375%2010.0002%200.84375H17.0712C17.6235%200.84375%2018.0712%201.29147%2018.0712%201.84375L18.0712%208.91482C18.0712%209.4671%2017.6235%209.91482%2017.0712%209.91482C16.5189%209.91482%2016.0712%209.4671%2016.0712%208.91482L16.0712%204.1869L8.70711%2011.551C8.31658%2011.9415%207.68342%2011.9415%207.29289%2011.551C6.90237%2011.1605%206.90237%2010.5273%207.29289%2010.1368L14.5859%202.84375H10.0002Z'%20fill='%230059FF'/%3e%3c/svg%3e\"","import React, { useEffect, useState } from 'react'\n\nimport { v4 } from 'uuid'\n\nimport { BannerCarouselInternEnterprise } from '../../Banners/BannerCarouselInternEnterprise'\nimport NotFoundImg from '../../../assets/Image-not-found.webp'\nimport enterpriseApi from '../../../store/reducers/enterprise/enterpriseApi'\nimport SkeletonLoading from '../../common/SkeletonLoading'\nimport FavoriteEnterprise from '../../FavoriteEnterprise'\nimport { EnterprisePhotos } from '../../../interfaces/enterprise/enterprisePhotos'\nimport { isValidStr } from '../../../common_functions'\nimport { useSwipeable } from 'react-swipeable'\nimport { ModalCarouselEnterpriseMobile } from '../../Modais/ModalCarouselEnterpriseMobile'\n\ninterface Props {\n EnterpriseId: string\n}\n\nexport default function CarouselEnterpriseModalMobileInit({ EnterpriseId }: Props) {\n const { data, isSuccess, isError, isLoading } =\n enterpriseApi.useGetEnterprisesMediasPhotosByIdQuery(EnterpriseId ?? '')\n\n return (\n
\n {isLoading && }\n {isSuccess && data?.Data?.length > 0 && (\n <>\n
\n {!isValidStr(data?.Data[0].FileUrl) ? (\n \n ) : (\n \n
\n \n
\n \n \n \n \n \n \n {data?.Data?.length}\n
\n \n
\n
\n )}\n
\n \n )}\n \n )\n}\n","import React from 'react'\nimport enterpriseApi from '../../../store/reducers/enterprise/enterpriseApi'\nimport { Suspense, lazy, useEffect, useState } from 'react'\nimport { useParams } from 'react-router-dom'\nimport { Helmet } from 'react-helmet'\nimport Logo from '../../../assets/glemo-logo.webp'\nimport UserLoginIcon from '../../../assets/icons/blue-user.svg'\nimport SeparatorMicrophoneGray from '../../../assets/icons/separator-microphone-gray.svg'\nimport IconShare from '../../../assets/icons/icon-blue-share.svg'\n\nimport { formatMoneyReal, isMobile } from '../../../common_functions'\nimport NewCarouselEnterprise from '../../../components/Carousels/NewCarouselEnterprise'\nimport CarouselEnterpriseModalMobile from '../../../components/Carousels/CarouselEnterpriseModalMobile'\nimport CarouselEnterpriseModalMobileInit from '../../../components/Carousels/CarouselEnterpriseModalMobile/indexInit'\nimport { Button, TextInput } from '../../../components/common'\nimport Voice2Text from '../../../components/Voice2Text'\nimport { EnterpriseData } from '../../../interfaces/enterprise/enterpriseData'\nimport BaseInfos from '../BaseInfos'\n\nconst Header = lazy(() => import('../../../components/InternEnterprise/Header'))\nconst CardEnterpriseInternInfosPrice = lazy(\n () => import('../../../components/Cards/CardEnterpriseInternInfosPrice')\n)\nconst SkeletonLoading = lazy(() => import('../../../components/common/SkeletonLoading'))\n\ninterface Props {\n dataEnterprise: EnterpriseData | undefined\n isLoadingEnterpriseData: boolean\n isSuccessEnterpriseData: boolean\n}\nexport function InternEnterpriseInit({\n dataEnterprise,\n isLoadingEnterpriseData,\n isSuccessEnterpriseData\n}: Props) {\n return (\n <>\n
\n
\n
\n
\n \n \n \n
\n \n
\n
\n
\n \n {!isMobile() && (\n \n \n \n \n \n )}\n \n \n \n \n \n \n \n \n
\n \n Filtros\n \n \n \n \n
\n
\n {isLoadingEnterpriseData && (\n <>\n \n \n )}\n {isSuccessEnterpriseData && dataEnterprise && (\n <>\n }>\n \n \n \n )}\n <>\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n {/* INFORMACOES */}\n
\n
\n \n {/* {isPromotion && } */}\n
\n
\n {dataEnterprise?.PriceMinimumValue === 0 ? 'Valor' : `A partir de`}\n
\n
\n {!isSuccessEnterpriseData ||\n !dataEnterprise ||\n dataEnterprise?.PriceMinimumValue === 0\n ? 'Sob Consulta'\n : `${formatMoneyReal(dataEnterprise?.PriceMinimumValue ?? 0)}`}\n
\n
\n
\n \n TENHO INTERESSE\n \n
\n
\n
\n
\n {isSuccessEnterpriseData && dataEnterprise ? (\n <>\n \n
\n

\n {dataEnterprise?.Title ?? ''}\n

\n \n \n {/* */}\n \n \n \n {' '}\n {dataEnterprise?.Location ?? ''}\n

\n
\n
\n \n ) : (\n <>\n
\n \n )}\n
\n
\n \n Detalhes\n \n \n Galeria\n \n
\n
\n
\n
\n \n \n {isSuccessEnterpriseData && dataEnterprise ? (\n <>\n
\n \n
\n \n ) : (\n
\n \n
\n )}\n \n \n \n )\n}\n","import React from 'react'\nimport enterpriseApi from '../../../store/reducers/enterprise/enterpriseApi'\nimport { Suspense, lazy, useEffect, useState } from 'react'\nimport { useParams } from 'react-router-dom'\nimport { Enterprise2 } from '../../../interfaces/enterprise/enterprise_2'\nimport { Helmet } from 'react-helmet'\nimport { IContentCard } from '../../../interfaces/enterprise/argsApi'\n\nimport { isMobile, isValidStr } from '../../../common_functions'\nimport NewCarouselEnterprise from '../../../components/Carousels/NewCarouselEnterprise'\nimport SecionRecommendedEnterprises from '../../../components/Sections/SecionRecommendedEnterprises'\nimport {\n INFOS_CARD_SELECTED_ENTERPRISE,\n RECENTS_VIEWED_ENTERPRISES,\n VIEWED_ENTERPRISES\n} from '../../../constants/storageNames'\nimport NavInternEnterprise from '../../../components/NavInternEnterprise'\nimport CarouselEnterpriseModalMobile from '../../../components/Carousels/CarouselEnterpriseModalMobile'\nimport { CardEnterpriseResumeInfosInitPage } from '../../../interfaces/enterprise'\nimport { InternEnterpriseInit } from '../../../components/InternEnterprise/InternEnterpriseInit'\nimport BaseInfos from '../../../components/InternEnterprise/BaseInfos'\n\nconst Header = lazy(() => import('../../../components/InternEnterprise/Header'))\nconst CardEnterpriseInternInfosPrice = lazy(\n () => import('../../../components/Cards/CardEnterpriseInternInfosPrice')\n)\nconst Error = lazy(() => import('../../../components/Error'))\nconst SkeletonLoading = lazy(() => import('../../../components/common/SkeletonLoading'))\n\ninterface Props {\n isLoadingFull?: boolean\n}\nexport function InternEnterprise({ isLoadingFull = true }: Props) {\n const [enterpriseGeneralInfos, setenterpriseGeneralInfos] = useState()\n const [useEnterprises, { data, isError, isLoading, isSuccess }] =\n enterpriseApi.useGetCardsEnterprisesMutation()\n const param = useParams()\n const campaign = new URLSearchParams(location.search).get('campanha')\n\n const {\n data: dataEnterpriseData,\n isError: isErrorEnterpriseData,\n isLoading: isLoadingEnterpriseData,\n isSuccess: isSuccessEnterpriseData\n } = enterpriseApi.useGetEnterpriseDataBySlugQuery(param.slug?.toString() ?? '')\n\n const listStorage = JSON.parse(localStorage.getItem(VIEWED_ENTERPRISES) ?? '[]')\n const [recentsViewedEnterprises, setrecentsViewedEnterprises] = useState(\n JSON.parse(sessionStorage.getItem(RECENTS_VIEWED_ENTERPRISES) ?? '[]')\n )\n\n const [\n useViewedEnterprises,\n { isSuccess: isSuccessViewed, isError: isErrorViewed, isLoading: isLoadingViewed }\n ] = enterpriseApi.useAddViewedEnterpriseMutation()\n\n const setViewed = async () => {\n await useViewedEnterprises(dataEnterpriseData?.Data.Id ?? '')\n }\n\n useEffect(() => {\n if (enterpriseGeneralInfos === undefined && isLoadingFull) {\n getEnterprises()\n }\n }, [isLoadingFull])\n\n useEffect(() => {\n if (isSuccessViewed) {\n addStorageSlug()\n }\n }, [isSuccessViewed])\n\n const addStorageSlug = () => {\n if (isValidStr(param.Slug)) {\n let list: Array = []\n const listStorage = localStorage.getItem(VIEWED_ENTERPRISES)\n list = JSON.parse(listStorage ?? '[]')\n list.push(param.Slug ?? '')\n\n localStorage.setItem(VIEWED_ENTERPRISES, listToStr(list))\n }\n }\n\n useEffect(() => {\n sessionStorage.setItem(\n RECENTS_VIEWED_ENTERPRISES,\n JSON.stringify(recentsViewedEnterprises ?? '[]')\n )\n }, [recentsViewedEnterprises])\n\n const addStorageRecentsViewed = () => {\n const id = dataEnterpriseData?.Data.Id\n if (id != undefined && !recentsViewedEnterprises.includes(id)) {\n setrecentsViewedEnterprises((prevState) => [...prevState, id])\n }\n }\n\n const listToStr = (list: string[]) => {\n let str = '['\n list?.forEach((element, index) => {\n str += `\"${element}\"`\n if (index != list.length - 1) str += ','\n })\n str += ']'\n return str\n }\n\n useEffect(() => {\n if (isSuccessEnterpriseData && isLoadingFull) {\n if (!listStorage.includes(param.Slug)) setViewed()\n addStorageRecentsViewed()\n }\n }, [isSuccessEnterpriseData, isLoadingFull])\n\n const getEnterprises = async () => {\n const content: IContentCard = {\n stateId: null,\n cityId: null,\n statusId: null,\n districtId: null,\n priceMaximumValue: null,\n priceMinimumValue: null,\n numberOfRooms: null\n }\n await useEnterprises(content)\n\n if (!isError && !isLoading && data != undefined) {\n let dataBySlug = data.Data.filter((item: Enterprise2) => item.Slug == param.Slug)\n setenterpriseGeneralInfos(dataBySlug.length > 0 ? dataBySlug[0] : undefined)\n }\n }\n\n return (\n <>\n {isLoadingFull ? (\n <>\n {\n
\n \n glemO | {dataEnterpriseData?.Data?.Title ?? ''}\n \n \n {isLoadingEnterpriseData && }\n {isSuccessEnterpriseData ? (\n <>\n }>\n {isMobile() ? (\n
\n \n
\n ) : (\n // \n \n )}\n
\n
\n
\n
\n
\n {/* INFORMACOES */}\n
\n }>\n \n \n
\n \n
\n {/* HEADER */}\n }>\n \n \n \n
\n
\n
\n {/* RELACIONADOS */}\n \n
\n
\n \n \n ) : (\n <>\n {isErrorEnterpriseData ? (\n <>\n \n \n ) : (\n
\n
\n
\n )}\n \n )}\n \n }\n \n ) : (\n <>\n \n \n )}\n \n )\n}\n","import React, { useLayoutEffect } from 'react'\nimport { Suspense, lazy, useEffect, useState } from 'react'\nimport { AuthProvider, useAuth } from './hooks/useAuth'\nimport { Cookies } from 'react-cookie'\nimport Logo from './assets/glemo-logo.webp'\nimport { DATE_ENTRY, DEVICE_ID, LOCATIONS } from './constants/storageNames'\nimport { isMobile, isValidStr } from './common_functions'\nconst AppRouter = lazy(() => import('./routes'))\nimport HeaderMobile from './components/HeaderMobile'\nimport SectionBestPropertiesFullTextBasic from './components/Sections/SectionBestPropertiesFullText/indexBasic'\nimport CarouselConstructionCompanies from './components/Carousels/CarouselConstructionCompanies'\nimport { Header } from './components'\nimport SkeletonLoading from './components/common/SkeletonLoading'\nimport UserLoginIcon from './assets/icons/blue-user.svg'\nimport { InternEnterpriseInit } from './pages/Empreendimentos/InternEnterpriseInit'\nimport { Button, TextInput } from './components/common'\nimport { InternEnterprise } from './pages'\n\nexport default function App() {\n const location = window.location\n const cookies = new Cookies()\n const [allowLocals, setAllowLocals] = useState(false)\n const [loadingComponents, setLoadingComponents] = useState(\n location.pathname !== '/' &&\n (!location.pathname.includes('/empreendimentos/') || !isMobile())\n );\n\n const isValidPathname = () => {\n return location.pathname != '/entrar' && location.pathname != '/registrar'\n }\n\n const handleLoad = () => {\n // alert('Invoked handle load')\n if (!loadingComponents) {\n const head = document.head\n const body = document.body\n\n const script1 = document.createElement('script')\n script1.defer = true\n script1.innerHTML = `window.dataLayer = window.dataLayer || [];\n function gtag() { dataLayer.push(arguments); }`\n head.appendChild(script1)\n\n const script2 = document.createElement('script')\n script2.defer = true\n script2.innerHTML = `(function (w, d, s, l, i) {\n w[l] = w[l] || []; w[l].push({\n 'gtm.start': new Date().getTime(), event: 'gtm.js'\n }); var f = d.getElementsByTagName(s)[0],\n j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =\n 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);\n })(window, document, 'script', 'dataLayer', 'GTM-WQ39T96');`\n head.appendChild(script2)\n\n const linkTiny = document.createElement('link')\n // \n linkTiny.rel = 'stylesheet'\n linkTiny.href = 'https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.3/tiny-slider.css'\n head.appendChild(linkTiny)\n\n const script3 = document.createElement('script')\n script3.type = 'application/ld+json'\n script3.defer = true\n script3.innerHTML = `{\n \"@context\": \"https://schema.org\",\n \"@type\": \"Organization\",\n \"name\": \"glemO\",\n \"alternateName\": \"glemo Imóveis\",\n \"url\": \"https://www.glemo.com.br\",\n \"logo\": \"https://www.glemo.com.br/assets/glemo-logo-2-c14faa1a.png\",\n \"sameAs\": [\n \"https://www.instagram.com/portalglemo/\",\n \"https://www.facebook.com/portalglemo\"\n ]\n }`\n\n head.appendChild(script3)\n\n const adopt = document.createElement('meta')\n adopt.name = 'adopt-website-id'\n adopt.content = '2c1b73d6-dc7b-4ab5-845a-9797ac244096'\n\n head.appendChild(adopt)\n\n const scriptAdopt = document.createElement('script')\n scriptAdopt.defer = true\n scriptAdopt.src =\n '//tag.goadopt.io/injector.js?website_code=2c1b73d6-dc7b-4ab5-845a-9797ac244096'\n scriptAdopt.className = 'adopt-injector'\n\n head.appendChild(scriptAdopt)\n\n const linkfontsgoogleapi = document.createElement('link')\n linkfontsgoogleapi.rel = 'preconnect'\n linkfontsgoogleapi.href = 'https://fonts.googleapis.com'\n const linkfontsgtatic = document.createElement('link')\n linkfontsgtatic.rel = 'preconnect'\n linkfontsgtatic.href = 'https://fonts.gstatic.com'\n linkfontsgtatic.crossOrigin = 'true'\n\n head.appendChild(linkfontsgtatic)\n\n const script5 = document.createElement('script')\n script5.innerHTML = `document.addEventListener('df-messenger-opened', function (event) {\n let adPolicy = document.querySelector('#adopt-controller-button')\n if (adPolicy != undefined && window.screen.width < 769) {\n adPolicy.style.setProperty('display', 'none', 'important')\n }\n })\n `\n body.appendChild(script5)\n\n setLoadingComponents(true)\n window.removeEventListener('touchstart', handleLoad)\n window.removeEventListener('touchmove', handleLoad)\n window.removeEventListener('scroll', handleLoad)\n window.removeEventListener('click', handleLoad)\n }\n }\n\n useEffect(() => {\n if (isMobile()) {\n window.addEventListener('touchstart', handleLoad)\n window.addEventListener('touchmove', handleLoad)\n window.addEventListener('scroll', handleLoad)\n window.addEventListener('click', handleLoad)\n\n return () => {\n window.removeEventListener('touchstart', handleLoad)\n window.removeEventListener('touchmove', handleLoad)\n window.removeEventListener('scroll', handleLoad)\n window.removeEventListener('click', handleLoad)\n }\n } else {\n window.addEventListener('load', handleLoad)\n return () => {\n window.removeEventListener('load', handleLoad)\n }\n }\n }, [])\n\n useEffect(() => {\n if(!isMobile()){\n setTimeout(() => {\n if(!loadingComponents){\n setLoadingComponents(true)\n }\n }, 3000);\n }\n }, [])\n\n // useEffect(() => {\n // window.addEventListener('load', handleLoad)\n // return () => {\n // window.removeEventListener('load', handleLoad)\n // }\n // }, [])\n\n // useEffect(() => {\n // if (isMobile()) {\n // const waitForImagesToLoad = (): Promise => {\n // const images: HTMLImageElement[] = Array.from(document.images) as HTMLImageElement[]\n // if (images.length === 0) {\n // return Promise.resolve()\n // }\n // const promises = images.map((img) => {\n // if (img.complete) {\n // return Promise.resolve()\n // }\n // return new Promise((resolve) => {\n // img.onload = img.onerror = () => resolve()\n // })\n // })\n // return Promise.all(promises).then(() => {})\n // }\n\n // waitForImagesToLoad().then(() => {\n // // alert('Página completamente carregada com todas as imagens.');\n // setTimeout(() => {\n // if (!loadingComponents) {\n // handleLoad()\n // }\n // }, 5000)\n // })\n // }\n // }, [loadingComponents])\n\n useEffect(() => {\n if (isValidPathname()) {\n setAllowLocals(true)\n }\n addDateEntry()\n addDeviceId()\n }, [location.pathname])\n\n const addDateEntry = () => {\n let dateEntryAux = sessionStorage.getItem(DATE_ENTRY)\n if (!isValidStr(dateEntryAux)) {\n sessionStorage.setItem(DATE_ENTRY, new Date().toISOString())\n }\n }\n\n const randomNumberInRange = () => {\n return Math.floor(Math.random() * (10000 - 0 + 1)) + 0\n }\n\n const addDeviceId = () => {\n let deviceId = cookies.get(DEVICE_ID)\n if (deviceId == undefined || deviceId == null || deviceId == 0) {\n cookies.set(DEVICE_ID, randomNumberInRange())\n }\n }\n\n return (\n
\n \n
}>\n {/* */}\n {loadingComponents ? (\n \n ) : (\n <>\n {location.pathname == '/' ? (\n <>\n
\n
\n
\n
\n \n \n \n
\n \n \n
\n
\n
\n
\n \n \"Glemo\n \n
\n {/*
*/}\n \n
\n {/* */}\n {/*
\n

\n <>\n Baseados \n na sua localização\n \n

\n

\n Descubra as nossas principais escolhas próximas a você.\n

\n
\n
*/}\n \n ) : (\n <>\n {location.pathname.includes('/empreendimentos') ? (\n <>\n
\n \n
\n \n ) : (\n <>\n
\n
\n \"Glemo\n
\n \n )}\n \n )}\n \n )}\n \n \n \n )\n}\n","import React, { Suspense, lazy } from 'react'\nimport ReactDOM from 'react-dom/client'\nimport {Provider} from 'react-redux'\nimport './styles/global.css'\nimport './styles/tinySlider.css'\nimport 'tailwindcss/tailwind.css'\nimport { store } from './store'\nimport App from './App'\n\nReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(\n \n \n }>\n \n \n)\n"],"file":"assets/index-FpXIYe4p.js"}