{"version":3,"file":"static/js/915.cf492f40.chunk.js","mappings":"iRAOMA,GAAYC,EAAAA,EAAAA,IAAW,gBAAGC,EAAO,EAAPA,QAASC,EAAK,EAALA,MAAOC,EAAO,EAAPA,QAAO,MAAe,CACpEC,KAAM,CACJC,OAAQ,SAACC,GAA2B,OAClCA,EAAMC,WAAU,qBAAgBC,EAAAA,EAAAA,GAAiBF,EAAMG,cAAY,oBAAkBR,EAAQS,QAAQC,KAAM,EAC7GC,UAAW,OACXC,WAAY,gCACZC,aAAcZ,EAAMY,aACpBC,MAAO,SAACT,GAA2B,OACjCA,EAAMU,WAAYR,EAAAA,EAAAA,GAAiBF,EAAMU,WAAaf,EAAQS,QAAQC,IAAI,EAC5E,UAAW,CACTM,gBAAiB,SAACX,GAA2B,OAC3CA,EAAMC,WAAU,WAAMC,EAAAA,EAAAA,GAAiBF,EAAMC,YAAW,gBAAUN,EAAQS,QAAQC,KAAI,KAAI,EAC5FC,UAAW,QAEb,aAAc,CACZG,MAAO,SAACT,GAA2B,OACjCA,EAAMU,WAAYR,EAAAA,EAAAA,GAAiBF,EAAMU,WAAaf,EAAQiB,OAAOC,KAAK,EAC5EF,gBAAiB,SAACX,GAA2B,OAC3CA,EAAMC,WAAU,WAAMC,EAAAA,EAAAA,GAAiBF,EAAMC,YAAW,gBAAUN,EAAQS,QAAQC,KAAI,KAAI,IAGhGS,KAAM,CACJC,QAAS,SAACf,GAA2B,OAAKA,EAAMH,SAAWA,EAAQ,EAAE,GAExE,IASM,SAASmB,EAAe,GAA0E,IAAxEN,EAAS,EAATA,UAAWT,EAAU,EAAVA,WAAeD,GAAK,YACxDiB,EAAUxB,GAAU,QAAEiB,UAAAA,EAAWT,WAAAA,GAAeD,IAEtD,OACE,SAAC,KAAM,gBAACiB,QAAS,CAAEnB,KAAMmB,EAAQnB,KAAMgB,KAAMG,EAAQH,OAAYd,GAAK,aACnEA,EAAMkB,WAGb,C,qRCZaC,EAAmD,SAACnB,GAC/D,MAgBIA,EAfFoB,KAAAA,OAAI,MAAG,GAAE,EACTC,EAcErB,EAdFqB,QACAC,EAaEtB,EAbFsB,UACAC,EAYEvB,EAZFuB,cAAc,EAYZvB,EAXFwB,UAAAA,OAAS,MAAG,CAAC,EAAC,EACdC,EAUEzB,EAVFyB,aACAC,EASE1B,EATF0B,YACAC,EAQE3B,EARF2B,WACAC,EAOE5B,EAPF4B,gBACAC,EAME7B,EANF6B,MAAM,EAMJ7B,EALF8B,eAAAA,OAAc,OAAQ,IAKpB9B,EAJF+B,gBAAAA,OAAe,OAAQ,IAIrB/B,EAHFgC,eAAAA,OAAc,OAAQ,IAGpBhC,EAFFiC,eAAAA,OAAc,MAAG,QAAO,IAEtBjC,EADFkC,QAAAA,OAAO,OAAQ,EAyBXC,EAAgBd,EAAQe,QAAO,SAACC,EAAKC,GAAG,OAAMA,EAAIT,MAAQQ,EAAME,OAAOC,SAASF,EAAIT,OAASQ,EAAM,GAAG,GAAG,GAE/G,OAAIN,GAAmC,IAAhBX,EAAKqB,QAExB,UAACC,EAAA,EAAG,CACFb,MAAM,OACNc,QAAQ,OACRC,eAAe,SACfC,WAAW,SACXC,cAAc,SACdC,GAAI,CACFpC,gBAAiB,SAACqC,GAAK,OAAKC,EAAAA,EAAAA,IAAMD,EAAMrD,QAAQS,QAAQC,KAAM,IAAK,EACnE6C,OAAQtB,GAAoC,yBAC5C,WAEF,SAACuB,EAAA,EAAU,CAAC5C,WAAW,oBAAoB6C,QAAQ,KAAKC,aAAc,EAAE,SAAC,aAGzE,SAACF,EAAA,EAAU,CAAC1C,MAAM,gBAAgB6C,UAAU,SAAQ,SAAC,qDAQzD,SAACC,EAAA,EAAK,CAACC,UAAW,EAAGC,MAAO,CAAE5B,MAAAA,GAAQ,UACpC,SAAC6B,EAAA,EAAc,CACbC,UAAU,eACVZ,GAAI,CACFG,OAAQtB,GACR,UAEF,UAACgC,EAAA,EAAK,CACJC,KAAK,QACLF,UAAU,aACVZ,GAAI,CACFe,SAAU3B,GACV,WAEF,SAAC4B,EAAA,EAAS,CACRhB,GAAI,CACFpC,gBAAiB,SAACqC,GAAK,OAAKA,EAAMrD,QAAQiB,OAAOC,KAAK,GACtD,UAEF,SAACmD,EAAA,EAAQ,UACN3C,EAAQ4C,KAAI,SAACC,EAAQC,GAAC,OACrB,SAACC,EAAA,EAAS,CAERC,MAAOH,EAAOG,OAAS,OACvBC,YAAa,kBAAOJ,EAAOK,cAxEtBC,EAwEiDN,OAvEnC,oBAAtBlE,EAAMyE,aACfzE,EAAMyE,YAAYD,KAFF,IAACA,CAwEwD,EAC7DE,MAAOR,EAAOQ,MAAM,SAEnBjD,IAAiByC,EAAOK,aACvB,SAACpB,EAAA,EAAU,CACTC,QAAQ,QACRL,GACGb,OAYGyC,EAXA,CACEC,OAAQ,UACRC,SAAU,WACVpE,MAAO,SAACuC,GAAK,OAAKA,EAAMrD,QAAQmF,cAAcC,IAAI,EAClD,UAAW,CACTtE,MAAO,SAACuC,GAAK,OAAKA,EAAMrD,QAAQqF,YAAY3E,IAAI,EAChD,0BAA2B,CACzB4E,QAAS,MAKpB,UAED,UAAC9B,EAAA,EAAU,CACT+B,UAAU,OACVL,SAAS,WACTtE,WAAY2B,EAAU,oBAAsB,UAAU,UAErDgC,EAAOQ,MACPS,QAAQnF,EAAMyE,eACb,SAACW,EAAA,EAAc,CACbC,QAASvD,GAAiBR,IAAc4C,EAAOoB,OAC/CC,UAAWhE,EACXiE,cAAeC,EAAAA,EACfC,aAAc5D,EACdiB,GAAI,CACF8B,SAAU,WACVc,MAAOxB,IAAM9C,EAAQoB,OAAS,EAAI,YAASkC,EAC3CiB,KAAMzB,IAAM9C,EAAQoB,OAAS,OAAIkC,EAAY,gBAOvD,SAACxB,EAAA,EAAU,CACTC,QAAQ,QACR7C,WAAW,oBACXwC,GAAI,CACFtC,MAAO,SAACuC,GAAK,OAAKA,EAAMrD,QAAQmF,cAAcC,IAAI,EAClD,UAAW,CACTtE,MAAO,SAACuC,GAAK,OAAKA,EAAMrD,QAAQqF,YAAY3E,IAAI,IAElD,SAED6D,EAAOQ,SAxDPR,EAAOQ,MA2DF,SAIlB,SAACmB,EAAA,EAAS,CACR9C,GAAI,CACF,mBAAoB,CAClB+C,aAAc,SAEhB,SAED1E,EAAK6C,KAAI,SAAC8B,EAAKC,GACd,IACMC,EAASC,IAAUvE,GADR,SAACwE,GAAU,OAAK,kBA7HpB,SAACC,EAA8BL,GAClDpE,GAAcyE,GAChBA,EAASL,EAEb,CAyHmDM,CAAiBF,EAAOJ,EAAK,CAAD,IAGnE,OACE,SAAC/B,EAAA,GAAQ,gBACPsC,OAAK,EACLC,KAAK,WACLC,UAAW,GAEPP,GAAM,IACVlD,GAAI,CACF0D,GAAI,CACF9F,gBAAiB,QAEnB,YAAa,CACXA,gBAAiB,SAACqC,GAAK,OAAKA,EAAMrD,QAAQ+G,KAAK,IAAI,IAErD,SAEDrF,EAAQ4C,KAAI,SAACC,GACZ,IAAMyC,EAAKzC,EAAOoB,QAAUpB,EAAO0C,kBAC7BC,EAAanF,GAAeyD,QAAQzD,EAAYiF,IAEtD,OACE,SAACvC,EAAA,EAAS,CAERC,MAAOH,EAAOG,OAAS,OACvByC,QAASD,EAAa,kBAlKlB,SAACd,EAAU7B,GACnC,GAAIxC,EAAa,CACf,IAAMiF,EAAKzC,EAAOoB,QAAUpB,EAAO0C,kBAEK,oBAA7BlF,EAAYiF,GAAIP,UACzB1E,EAAYiF,GAAIP,SAASL,EAAK7B,EAElC,CACF,CA0JkD6C,CAAkBhB,EAAK7B,EAAO,OAAGS,EAC7D,UAEA,SAACxB,EAAA,EAAU,CAACC,QAAQ,QAAQL,GAAI,CAAEiE,UAAW,cAAe,SACzD9C,EAAO+C,SAAW/C,EAAO+C,SAASlB,EAAK7B,GAAU6B,EAAI7B,EAAO0C,sBAN1D1C,EAAOQ,MAUlB,MA3BKsB,EA8BX,MAED5E,EAAKqB,OAAS,GAAKT,IAClB,SAACkF,EAAA,EAAW,CACVnE,GAAI,CACFpC,gBAAiB,SAACqC,GAAK,OAAKA,EAAMrD,QAAQiB,OAAOC,KAAK,GACtD,UAEF,SAACmD,EAAA,EAAQ,UACN3C,EAAQ4C,KAAI,SAACC,EAAQ8B,GAEpB,IAAMG,EAAQ3E,EAAU0C,EAAO0C,mBAY/B,OACE,SAACxC,EAAA,EAAS,CAAoBC,MAAOH,EAAOG,OAAS,OAAO,UAC1D,SAAClB,EAAA,EAAU,CAACC,QAAQ,QAAQ7C,WAAW,oBAAoBE,MAAM,cAAa,SACjE,IAAVuF,GAAgB9B,EAAOoB,OAEpBpB,EAAO+C,SACP/C,EAAO+C,SAASzF,EAAW0C,EAjBb,SAACiC,GACvB,MAAqB,kBAAVA,EACFA,EAEI,MAATA,EACK,EAGF,EACT,CAQ6CgB,CAAgBhB,IAAQ,GAC3DA,EAHAlE,KAHQiC,EAAOQ,MAU3B,cAQhB,E,4CChPad,EAAQ,SAAH,GAeE,IAAD,EAdjBxC,EAAI,EAAJA,KACAgG,EAAM,EAANA,OACAC,EAAK,EAALA,MACAC,EAAY,EAAZA,aACAhG,EAAS,EAATA,UACAC,EAAa,EAAbA,cACAI,EAAU,EAAVA,WACAD,EAAW,EAAXA,YACA6F,EAAgB,EAAhBA,iBACAC,EAAc,EAAdA,eACA5F,EAAe,EAAfA,gBACAK,EAAc,EAAdA,eAAe,EAAD,EACdwF,UAAAA,OAAS,OAAQ,MACjBvF,QAAAA,OAAO,OAAQ,EAEf,EAAwCwF,EAAAA,SAAe,IAAG,eAAnDC,EAAY,KAAEC,EAAe,KACpC,EAAoDF,EAAAA,SAChC,IAAlBnG,EAAsB,MAAQ,QAC/B,eAFMsG,EAAkB,KAAEC,EAAqB,KAGhD,EAA4CJ,EAAAA,SAAiCpG,GAAU,eAAhFyG,EAAc,KAAEC,EAAiB,KAClCC,EAAgBP,EAAAA,SACpB,iBAAO,CACL7F,MAAO,QACP6C,MAAO,UACPL,MAAO,OACR,GACD,IAGII,EAAciD,EAAAA,aAClB,YAAqC,IAAlCpC,EAAM,EAANA,OACGA,IAAWyC,EACbD,GAAsB,SAACI,GAAO,MAAkB,QAAZA,EAAoB,OAAS,KAAK,IAEtEF,EAAkB1C,EAEtB,GACA,CAACyC,IAsCH,OAnCAL,EAAAA,WAAgB,YACU,SAACS,GACvB,IAAMR,EAAe,GACfS,EAAeb,EAAmBA,EAAiBc,QAAO,SAACC,GAAC,OAAKA,EAAEC,WAAW,IAAI,KAClFC,EAAcjB,EAAmBA,EAAiBc,QAAO,SAACC,GAAC,OAAKA,EAAEG,UAAU,IAAI,KAEhFC,EAAcP,GAAI,kBACfF,GAAkBU,EAAAA,EAAWR,KAAK,kBAClCF,GAAkBU,EAAAA,EAAWC,EAAAA,EAAAA,YAAwB,kBAAmBvB,KAE7Ee,GACFT,EAAakB,KAAI,MAAjBlB,GAAY,OAASS,IAGvBT,EAAakB,KAAKH,GAEdF,GACFb,EAAakB,KAAI,MAAjBlB,GAAY,OAASa,IAGvBpB,EAAO0B,SAAQ,SAACC,GACdpB,EAAakB,KAAKF,EAAAA,EAAWI,GAC/B,IAGAnB,EAAgBD,EAClB,CAEAqB,CAAgB1B,EAClB,GAAG,CAACW,EAAeZ,EAAOD,EAAQG,EAAkBD,IAEpDI,EAAAA,WAAgB,WACdF,GAAkBA,EAAe,CAAEyB,MAAOlB,EAAgBxC,UAAWsC,GACvE,GAAG,CAACL,EAAgBK,EAAoBE,KAGtC,UAACrF,EAAA,EAAG,CACFmC,SAAS,WACT9B,GAAI,CACFG,OAAQtB,GAAmB,QAC3B,WAEF,SAACsH,EAAA,EAAiB,CAACC,KAAM1B,EAAW5D,KAAM,MAChB,KAApB,OAAJzC,QAAI,IAAJA,GAAW,QAAP,EAAJA,EAAMgI,aAAK,WAAP,EAAJ,EAAa3G,SAAwB,MAARrB,KAAkBqG,IAC/C,UAAC/E,EAAA,EAAG,CACFmC,SAAS,WACThD,MAAM,OACNwH,OAAQ,EACR1G,QAAQ,OACRG,cAAc,SACdF,eAAe,SACfC,WAAW,SACXE,GAAI,CACFpC,gBAAiB,SAACqC,GAAK,OAAKC,EAAAA,EAAAA,IAAMD,EAAMrD,QAAQS,QAAQC,KAAM,IAAK,EACnE6C,OAAQtB,GAAmB,QAC3B,WAEF,SAACuB,EAAA,EAAU,CAACC,QAAQ,KAAK7C,WAAW,oBAAoB8C,aAAc,EAAE,SAAC,aAGzE,SAACF,EAAA,EAAU,CAAC1C,MAAM,gBAAgB6C,UAAU,SAAQ,SAAC,qDAMzD,SAAC,IAAS,UACP,gBAAGzB,EAAK,EAALA,MAAOqB,EAAM,EAANA,OAAM,OACf,SAAC/B,EAAe,CACdC,KAAU,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMgI,MACZpH,gBAAc,EACdP,cAAc,EACdJ,QAASsG,EACTnG,UAAe,OAAJJ,QAAI,IAAJA,OAAI,EAAJA,EAAMkI,MACjBhI,UAAWyG,EACXxG,cAAesG,EACfpD,YAAaU,QAAQqC,GAAkB/C,OAAcE,EACrD/C,gBAAiBA,GAAmBsB,EACpCxB,YAAaA,EACbC,WAAYA,EACZE,MAAOA,EACPI,eAAgBA,EAChBC,QAASA,GACT,MAKZ,C,gMC7HC,8CA/BM,sHACgBqH,EAAAA,EAAAA,MAAY,KAAD,EACU,OADpCC,EAAM,OACZC,EAAAA,GAAAA,SAAAA,eAAkCD,GAAQ,UACtBE,EAAAA,EAAAA,MAAW,KAAD,EACF,OADtBC,EAAK,OACXf,EAAAA,EAAAA,SAAqBe,GAAO,WACPC,EAAAA,EAAAA,IAAUJ,EAAOK,UAAU,KAAD,GAc9C,OAdKC,EAAM,QAEDC,eACT/G,EAAAA,EAAAA,QAAAA,QAAAA,MAA6B9C,EAAAA,EAAAA,GAAiB4J,EAAOC,cACrDC,SAASC,cAAc,QAAQxG,MAAMyG,YAAY,kBAAmBJ,EAAOC,eAG7EN,EAAAA,GAAAA,SAAAA,UAA6BK,IAEvBK,GAAiBC,EAAAA,EAAAA,IAAoBC,EAAAA,EAAAA,aACrBZ,EAAAA,GAAAA,SAAAA,cAAiCU,GACrDV,EAAAA,GAAAA,SAAAA,oBAAuCU,GAEvCV,EAAAA,GAAAA,SAAAA,oBAAuCK,EAAOQ,kBAAkB,GAAGC,OAAO5D,IAC3E,WAEsB6D,EAAAA,EAAAA,MAAkB,KAAD,GACU,OAD5CC,EAAQ,OACdhB,EAAAA,GAAAA,SAAAA,qBAAwCgB,GAAU,WAExBC,EAAAA,EAAAA,MAAY,KAAD,GACO,OADtCC,EAAW,OACjBlB,EAAAA,GAAAA,WAAAA,UAA+BkB,GAAa,UAEhBlB,EAAAA,GAAAA,SAAAA,mBAAsC,KAAD,GACd,OAD7CmB,EAAa,OACnBnB,EAAAA,GAAAA,SAAAA,iBAAoCmB,GAAe,kBAE5CC,QAAQC,IAAI,CAACC,EAAAA,MAAS,6CAC9B,sB,4HC1BKtL,GAAYC,EAAAA,EAAAA,IAAW,iBAAO,CAClCsL,UAAW,CACTC,SAAU,QAEb,IAMYC,GAAUC,EAAAA,EAAAA,KAAS,SAAiB,GAA8B,IAA5BjK,EAAQ,EAARA,SAC3CkK,GAAQC,EAAAA,EAAAA,MACRC,GAAkBC,EAAAA,EAAAA,MAClBtK,EAAUxB,IAahB,GAXAiI,EAAAA,WAAgB,YACd8D,EAAAA,EAAAA,IAAY,WACLJ,EAAMK,ODtBV,WAAoB,+BCuBnBC,GAAQC,MAAK,WACXP,EAAMQ,aAAY,IAClBC,EAAAA,EAAAA,IAAqBC,EAAAA,GAAAA,kBACvB,GAEJ,GACF,GAAG,CAACV,IAEAA,EAAMW,cACR,OAAO,mBAGT,GAAIX,EAAMK,MAAO,CACf,GAAIL,EAAMtB,OAAQ,CAChB,IAAMkC,EAAgBV,EAAgBW,OAEtC,OACE,iCACE,oBAAStI,WAAWuI,EAAAA,EAAAA,SAAKjL,EAAQ+J,UAAW,iBAAiB,UAC3D,SAACmB,EAAA,EAAa,CAACC,SAAU,kBAAM,SAACjJ,EAAA,EAAU,CAACC,QAAQ,KAAI,SAAC,yBAAkC,EAAC,SACxFlC,OAIL,SAACmL,EAAA,EAAa,CACZ3H,MAAOsH,EAActH,MACrB4H,QAASN,EAAcO,QACvBC,kBAAmBR,EAAcQ,kBACjCC,kBAAmBT,EAAcS,kBACjCC,aAAcV,EAAcW,KAC5BC,cAAeZ,EAAcY,cAC7BC,aAAcb,EAAca,iBAIpC,CACE,OACE,iBAAKlJ,UAAU,YAAYF,MAAO,CAAEwH,SAAU,UAAW,WACvD,SAAC6B,EAAA,EAAM,KACP,qBAASnJ,UAAU,8BAA6B,WAC9C,0BAAM,gCACN,0BAAM,qCAKhB,CACE,OAAO,SAACoJ,EAAA,EAAS,CAACC,UAAQ,GAE9B,I,4ECjEMC,EAAQvF,EAAAA,YAA6C,SAAe1H,EAAoBkN,GAC5F,OACE,SAAC,KAAQ,QACP1J,UAAW,EACX2J,IAAKD,EACL9J,QAAQ,SACRL,GAAI,CACF,oBAAqB,CACnBJ,QAAS,OACTE,WAAY,YAGZ7C,GAGV,IAEMoN,EAAQ,CAAC,WAIFC,GAAclC,EAAAA,EAAAA,KAAS,WAAwB,IAAD,YACzD,EAAwBzD,EAAAA,SAA0C,WAAU,eAArE4F,EAAI,KAAEC,EAAO,KACpB,EAAwB7F,EAAAA,SAAe,SAAQ,eAAxC5G,EAAI,KAAE0M,EAAO,KACpB,EAA4B9F,EAAAA,SAAiC,MAAK,eAA3D+F,EAAM,KAAEC,EAAS,KAClBtC,GAAQuC,EAAAA,EAAAA,MAERC,EAAgB,WACpBxC,EAAMyC,WAAW,CAAEzM,KAAM,MAC3B,EAcA,OAZAsG,EAAAA,WAAgB,YACd8D,EAAAA,EAAAA,IAAY,WAAO,IAAD,MACS,EAGA,EAHR,QAAjB,EAAIJ,EAAMmB,eAAO,OAAb,EAAee,MACjBC,EAAqB,QAAd,EAACnC,EAAMmB,eAAO,aAAb,EAAee,MAER,QAAjB,EAAIlC,EAAMmB,eAAO,OAAb,EAAezL,MACjB0M,EAAqB,QAAd,EAACpC,EAAMmB,eAAO,aAAb,EAAezL,MAEzB4M,GAAuB,QAAb,EAAAtC,EAAMmB,eAAO,aAAb,EAAekB,SAAU,KACrC,GACF,GAAG,CAAc,QAAd,EAACrC,EAAMmB,eAAO,aAAb,EAAekB,OAAqB,QAAf,EAAErC,EAAMmB,eAAO,aAAb,EAAezL,KAAmB,QAAf,EAAEsK,EAAMmB,eAAO,aAAb,EAAee,QAG7D,SAACQ,EAAA,EAAQ,CACPC,aAAc,CAAEC,SAAU,MAAOC,WAAY,UAC7C9E,KAAMhE,QAAQiG,EAAMmB,SACpB2B,sBAAsDvJ,KAAvB,QAAb,EAAAyG,EAAMmB,eAAO,aAAb,EAAe2B,kBA5BrB,IA4B+E,QAAhB,EAAG9C,EAAMmB,eAAO,aAAb,EAAe2B,iBAC7FC,oBAAqBC,EAAAA,EACrBC,QAAuB,QAAd,EAACjD,EAAMmB,eAAO,OAAb,EAAe+B,uBAAoC3J,EAAhBiJ,EAC7C7K,GAAI,CACF,iBAAkB,CAChBvC,aAAc,EACdO,QAAS,WACTN,MAAO,SAACuC,GAAK,OAAKA,EAAMrD,QAAQiB,OAAOC,KAAK,GAE9C,iBACW,YAATyM,EACI,CACEiB,SAAU,GAEZ,CAAC,EACP,mBAAoB,CAClBxN,QAAS,iBAEX,UAEF,SAACkM,EAAK,CACJuB,SAAmB,YAATlB,EAAqB,UAAYA,EAC3Ce,QAAST,EACTa,KACGrB,EAA4BsB,SAASpB,IACpC,SAACqB,EAAA,EAAQ,CAACxF,MAAM,EAAMtF,KAAM,GAAI9C,QAAS,EAAGN,MAAM,iBAChDkE,EAEN5B,GACW,YAATuK,EACI,CACE3M,gBAAiB,SAACqC,GAAK,OAAKA,EAAMrD,QAAQiP,QAAQC,KAAK,GAEzD,CAAC,EACN,UAED,UAAC1L,EAAA,EAAU,WACRsK,GAAM,WAAQA,EAAM,OACpB3M,QAKX,IChGagO,EAAe,SAAsB,GAAoD,IAAlD5N,EAAQ,EAARA,SAAS,EAAD,EAAEgC,OAAAA,OAAM,MAAG,OAAM,EAC3E,OACE,iCACE,SAACmK,EAAW,KACZ,SAACnC,EAAO,WACN,SAAC6D,EAAA,GAAI,CACH/D,WAAS,EACTpI,eAAe,SACfM,OAAQA,EACRH,GAAI,CAAEhC,QAAS,SAACiC,GAAK,OAAKA,EAAMnD,QAAQ,EAAE,EAAEmP,cAAe,GAAI,SAE9D9N,QAKX,C,wMCHamL,EAAgB,SAAH,GAQE,IAP1BK,EAAY,EAAZA,aACAhI,EAAK,EAALA,MAAM,EAAD,EACL4H,QAAAA,OAAO,MAAG,yBAAwB,EAClCG,EAAiB,EAAjBA,kBACAD,EAAiB,EAAjBA,kBACAI,EAAa,EAAbA,cACAC,EAAY,EAAZA,aAeMoC,EAAa,WACW,oBAAjBpC,GACTA,GAEJ,EAEMqC,EAAsC,kBAAZ5C,EAAuBA,GAAU,SAACA,EAAO,IAEzE,OACE,UAAC,IAAM,CAACnD,KAAMuD,EAAc,kBAAgB,uBAAuB,mBAAiB,6BAA4B,WAC9G,UAAC,IAAW,CACV/F,GAAG,uBACH5D,GAAI,CACFJ,QAAS,OACTC,eAAgB,gBAChBC,WAAY,SACZtC,WAAY,gCACZgO,SAAU,SAACvL,GAAK,OAAKA,EAAMmM,WAAWC,MAAMb,QAAQ,GACpD,UAED7J,GACD,SAAC,IAAU,CAACb,KAAK,QAAQiD,QAASmI,EAAYlM,GAAI,CAAEtC,MAAO,WAAY,UACrE,SAAC,IAAS,UAGd,SAAC,IAAO,KACR,SAAC,IAAa,WACZ,SAAC,IAAiB,CAChBkG,GAAG,6BACH5D,GAAI,CACFwL,SAAU,SAACvL,GAAK,OAAKA,EAAMmM,WAAWC,MAAMb,QAAQ,EACpD9N,MAAO,SAACuC,GAAK,OAAKA,EAAMrD,QAAQqF,YAAY3E,IAAI,GAChD,SAED6O,OAGL,UAAC,IAAa,CACZnM,GAAI,CACFsM,SAAU,EACVC,SAAU,GACV,WAEF,SAAC,IAAe,CAACxI,QAlDH,WACU,oBAAjB+F,GACTA,IAEFoC,GACF,EA6C6ClM,GAAI,CAAEwM,YAAa,GAAI,SAC3D9C,KAEH,SAAC,IAAe,CAAC3F,QA3DE,WACM,oBAAlB8F,GACTA,IAEFqC,GACF,EAsDiD,UACzC,SAAC,IAAU,CAAC7L,QAAQ,KAAK7C,WAAW,oBAAoB8O,SAAU,EAAE,SACjE7C,WAMb,C","sources":["components/Buttons/OutlinedButton.tsx","components/Table/ScrollableTable.tsx","components/Table/Table.tsx","services/actions/app.js","views/AppView.tsx","views/App/InfoMessage.tsx","views/App/AppContainer.tsx","views/App/ConfirmDialog.tsx"],"sourcesContent":["import React from 'react';\nimport Button from '@mui/material/Button';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { standardizeColor } from 'utils/common';\nimport { ButtonProps } from '@mui/material';\nimport { Theme } from '@mui/material/styles';\n\nconst useStyles = makeStyles(({ palette, shape, spacing }: Theme) => ({\n root: {\n border: (props: TOutlinedButtonProps) =>\n props.background ? `1px solid ${standardizeColor(props.borderColor)}` : `1px solid ${palette.primary.main}`,\n boxShadow: 'none',\n fontFamily: 'Segoe UI Semibold, sans-serif',\n borderRadius: shape.borderRadius,\n color: (props: TOutlinedButtonProps) =>\n props.textColor ? standardizeColor(props.textColor) : palette.primary.main,\n '&:hover': {\n backgroundColor: (props: TOutlinedButtonProps) =>\n props.background ? `${standardizeColor(props.background)}1a` : `${palette.primary.main}1a`,\n boxShadow: 'none',\n },\n '&:disabled': {\n color: (props: TOutlinedButtonProps) =>\n props.textColor ? standardizeColor(props.textColor) : palette.common.white,\n backgroundColor: (props: TOutlinedButtonProps) =>\n props.background ? `${standardizeColor(props.background)}33` : `${palette.primary.main}33`,\n },\n },\n text: {\n padding: (props: TOutlinedButtonProps) => props.spacing || spacing(1),\n },\n}));\n\ntype TOutlinedButtonProps = {\n textColor?: string;\n background?: string;\n borderColor?: string;\n spacing?: number;\n};\n\nexport function OutlinedButton({ textColor, background, ...props }: TOutlinedButtonProps & ButtonProps) {\n const classes = useStyles({ textColor, background, ...props });\n\n return (\n \n );\n}\n","import React from 'react';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableRow from '@mui/material/TableRow';\nimport TableHead from '@mui/material/TableHead';\nimport TableContainer from '@mui/material/TableContainer';\nimport Paper from '@mui/material/Paper';\nimport Table from '@mui/material/Table';\nimport { Typography } from '@mui/material';\nimport TableSortLabel from '@mui/material/TableSortLabel';\nimport TableFooter from '@mui/material/TableFooter';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport mapValues from 'lodash/mapValues';\nimport Box from '@mui/material/Box';\nimport { TSortDirection } from 'components/Table/Table';\nimport { alpha } from '@mui/material/styles';\n\ninterface IScrollableTableProps {\n data?: any[];\n headers: any[];\n sortField: Nullable;\n sortDirection: TSortDirection;\n totalData: object;\n isBoardTable?: boolean;\n actionCells: any;\n actionRows: any;\n containerHeight: number | string;\n width: number;\n isBoardPreview?: boolean;\n showNoDataTitle?: boolean;\n haveTotalField?: boolean;\n totalFieldName?: string;\n headerClick?: (item: any) => void;\n preview?: boolean;\n}\n\nexport const ScrollableTable: React.FC = (props) => {\n const {\n data = [],\n headers,\n sortField,\n sortDirection,\n totalData = {},\n isBoardTable,\n actionCells,\n actionRows,\n containerHeight,\n width,\n isBoardPreview = false,\n showNoDataTitle = false,\n haveTotalField = false,\n totalFieldName = 'Total',\n preview = false,\n } = props;\n\n const headerClick = (c: any) => {\n if (typeof props.headerClick === 'function') {\n props.headerClick(c);\n }\n };\n\n const actionCellHandler = (row: any, column: any) => {\n if (actionCells) {\n const id = column.enumId || column.splitRequestField;\n\n if (typeof actionCells[id].callback === 'function') {\n actionCells[id].callback(row, column);\n }\n }\n };\n\n const actionRowHandler = (callback: (row: any) => void, row: any) => {\n if (actionRows && callback) {\n callback(row);\n }\n };\n\n const minTableWidth = headers.reduce((acc, cur) => (cur.width ? acc + Number.parseInt(cur.width) : acc + 100), 0);\n\n if (showNoDataTitle && data.length === 0) {\n return (\n alpha(theme.palette.primary.main, 0.05),\n height: containerHeight ? containerHeight : 'calc(100% - 3.438rem)',\n }}\n >\n \n No data\n \n \n Choose another filter settings or date range\n \n \n );\n }\n\n return (\n \n \n \n theme.palette.common.white,\n }}\n >\n \n {headers.map((column, i) => (\n !column.disableSort && headerClick(column)}\n title={column.title}\n >\n {isBoardTable && !column.disableSort ? (\n theme.palette.textSecondary.dark,\n '&:hover': {\n color: (theme) => theme.palette.textPrimary.main,\n '.MuiTableSortLabel-icon': {\n opacity: 0.5,\n },\n },\n }\n : undefined\n }\n >\n \n {column.title}\n {Boolean(props.headerClick) && (\n \n )}\n \n \n ) : (\n theme.palette.textSecondary.dark,\n '&:hover': {\n color: (theme) => theme.palette.textPrimary.main,\n },\n }}\n >\n {column.title}\n \n )}\n \n ))}\n \n \n \n {data.map((row, index) => {\n const iterator = (value: any) => () => actionRowHandler(value, row);\n const events = mapValues(actionRows, iterator);\n\n return (\n theme.palette.grey[100],\n },\n }}\n >\n {headers.map((column) => {\n const id = column.enumId || column.splitRequestField;\n const withAction = actionCells && Boolean(actionCells[id]);\n\n return (\n actionCellHandler(row, column) : undefined}\n // style={{ cursor: withAction ? 'pointer' : 'default', ...column?.style }}\n >\n \n {column.template ? column.template(row, column) : row[column.splitRequestField]}\n \n \n );\n })}\n \n );\n })}\n \n {data.length > 0 && haveTotalField && (\n theme.palette.common.white,\n }}\n >\n \n {headers.map((column, index) => {\n // @ts-ignore\n const value = totalData[column.splitRequestField];\n const getDefaultValue = (value: any) => {\n if (typeof value === 'number') {\n return value;\n }\n if (value == null) {\n return 0;\n }\n\n return '';\n };\n\n return (\n \n \n {index === 0 && !column.enumId\n ? totalFieldName\n : column.template\n ? column.template(totalData, column, getDefaultValue(value), true)\n : value}\n \n \n );\n })}\n \n \n )}\n \n \n \n );\n};\n","import React from 'react';\nimport { ScrollableTable } from 'components/Table/ScrollableTable';\nimport { allColumns } from 'assets/table-columns';\nimport { EnumsHelper } from 'utils/enumsHelper';\nimport { BackdropPreloader } from 'components/Preloaders/BackdropPreloader';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport AutoSizer from 'react-virtualized-auto-sizer';\nimport { alpha } from '@mui/material/styles';\n\nexport type TSortDirection = 'asc' | 'desc';\n\ntype TSortCallback = {\n field: Nullable;\n direction: TSortDirection;\n};\n\ninterface ITableProps {\n data: any;\n fields: number[];\n split: number;\n splitCaption?: string;\n sortField?: Nullable;\n sortDirection?: number;\n rowClassName?: string;\n bodyHeight?: number | string;\n actionRows?: any;\n actionCells?: any;\n additionalFields?: any[];\n onSortCallback: Nullable<({ field, direction }: TSortCallback) => void>;\n containerHeight: number | string;\n preloader: boolean;\n totalFieldName?: string;\n preview?: boolean;\n}\n\nexport const Table = ({\n data,\n fields,\n split,\n splitCaption,\n sortField,\n sortDirection,\n actionRows,\n actionCells,\n additionalFields,\n onSortCallback,\n containerHeight,\n totalFieldName,\n preloader = false,\n preview = false,\n}: ITableProps) => {\n const [tableHeaders, setTableHeaders] = React.useState([]);\n const [sortDirectionState, setSortDirectionState] = React.useState(\n sortDirection === 1 ? 'asc' : 'desc',\n );\n const [sortFieldState, setSortFieldState] = React.useState>(sortField);\n const defaultColumn = React.useMemo(\n () => ({\n width: '150px',\n title: 'default',\n align: 'left',\n }),\n [],\n );\n\n const headerClick = React.useCallback(\n ({ enumId }: { enumId: number }) => {\n if (enumId === sortFieldState) {\n setSortDirectionState((current) => (current === 'asc' ? 'desc' : 'asc'));\n } else {\n setSortFieldState(enumId);\n }\n },\n [sortFieldState],\n );\n\n React.useEffect(() => {\n const getTableHeaders = (name: Nullable) => {\n const tableHeaders = [];\n const insertBefore = additionalFields ? additionalFields.filter((f) => f.beforeFirst) : null;\n const insertAfter = additionalFields ? additionalFields.filter((f) => f.afterFirst) : null;\n\n const firstColumn = name\n ? { ...defaultColumn, ...allColumns[name] }\n : { ...defaultColumn, ...allColumns[EnumsHelper.getNameById('clickHouseSplit', split)] };\n\n if (insertBefore) {\n tableHeaders.push(...insertBefore);\n }\n\n tableHeaders.push(firstColumn);\n\n if (insertAfter) {\n tableHeaders.push(...insertAfter);\n }\n\n fields.forEach((item) => {\n tableHeaders.push(allColumns[item]);\n });\n\n // @ts-ignore\n setTableHeaders(tableHeaders);\n };\n\n getTableHeaders(splitCaption);\n }, [defaultColumn, split, fields, additionalFields, splitCaption]);\n\n React.useEffect(() => {\n onSortCallback && onSortCallback({ field: sortFieldState, direction: sortDirectionState });\n }, [onSortCallback, sortDirectionState, sortFieldState]);\n\n return (\n \n \n {(data?.items?.length === 0 || data == null) && !preloader && (\n alpha(theme.palette.primary.main, 0.05),\n height: containerHeight || '100%',\n }}\n >\n \n No data\n \n \n Choose another filter settings or date range\n \n \n )}\n\n \n {({ width, height }) => (\n \n )}\n \n \n );\n};\n","import { getConfig, getClient, getEnums, getSelfAccounts, onStart } from 'services/controllers/app';\nimport { getLimits } from 'services/controllers/customBoard';\nimport { rootStore } from 'store/rootStore';\nimport { EnumsHelper } from 'utils/enumsHelper';\nimport { theme } from 'styles/materialTheme';\nimport { standardizeColor } from 'utils/common';\nimport { LS_KEYS } from 'CONSTANTS/localStorageKeys';\nimport { getFromLocalStorage } from 'utils/localStorageHelper';\n\nexport async function start() {\n const config = await getConfig();\n rootStore.appStore.setAccountInfo(config);\n const enums = await getEnums();\n EnumsHelper.setEnums(enums);\n const client = await getClient(config.clientId);\n\n if (client.primaryColor) {\n theme.palette.primary.main = standardizeColor(client.primaryColor);\n document.querySelector('body').style.setProperty('--primary-color', client.primaryColor);\n }\n\n rootStore.appStore.setClient(client);\n\n const storedAgencyId = getFromLocalStorage(LS_KEYS.AGENCY_ID);\n if (storedAgencyId && rootStore.appStore.getAgencyById(storedAgencyId)) {\n rootStore.appStore.setSelectedAgencyId(storedAgencyId);\n } else {\n rootStore.appStore.setSelectedAgencyId(client.agencyAdvertisers[0].agency.id);\n }\n\n const accounts = await getSelfAccounts();\n rootStore.appStore.setAvailableAccounts(accounts);\n\n const boardLimits = await getLimits();\n rootStore.boardStore.setLimits(boardLimits);\n\n const campaignsTree = await rootStore.appStore.getCampaignsTree();\n rootStore.appStore.setCampaignsTree(campaignsTree);\n\n return Promise.all([onStart]);\n}\n","import React from 'react';\nimport { Header } from 'views/App/Header';\nimport { start } from 'services/actions/app';\nimport ErrorBoundary from 'components/Error/ErrorBoundary';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { Preloader } from 'components/Preloaders/Preloader';\nimport Typography from '@mui/material/Typography';\nimport { useAppStore, useNavigationStore } from 'store/hooks';\nimport { observer } from 'mobx-react';\nimport { ConfirmDialog } from 'views/App/ConfirmDialog';\nimport clsx from 'clsx';\nimport { runInAction } from 'mobx';\nimport { createAmplitudeEvent, EVENTS } from 'analytics';\n\nconst useStyles = makeStyles(() => ({\n container: {\n overflow: 'auto',\n },\n}));\n\ninterface IAppViewProps {\n children: React.ReactNode;\n}\n\nexport const AppView = observer(function AppView({ children }: IAppViewProps) {\n const store = useAppStore();\n const navigationStore = useNavigationStore();\n const classes = useStyles();\n\n React.useEffect(() => {\n runInAction(() => {\n if (!store.ready) {\n start().then(() => {\n store.changeReady(true);\n createAmplitudeEvent(EVENTS.APPLICATION_VISIT);\n });\n }\n });\n }, [store]);\n\n if (store.isProphylaxis) {\n return
;\n }\n\n if (store.ready) {\n if (store.client) {\n const dialogConfirm = navigationStore.dialog;\n\n return (\n <>\n
\n Something went wrong.}>\n {children}\n \n
\n\n \n \n );\n } else {\n return (\n
\n
\n
\n You do not have any orders\n Please contact your manager\n
\n
\n );\n }\n } else {\n return ;\n }\n});\n","import React from 'react';\nimport Snackbar from '@mui/material/Snackbar';\nimport MuiAlert, { AlertProps, AlertColor } from '@mui/material/Alert';\nimport Typography from '@mui/material/Typography';\nimport { observer } from 'mobx-react';\nimport { useMessageStore } from 'store/hooks';\nimport Slide from '@mui/material/Slide';\nimport { runInAction } from 'mobx';\nimport { Progress } from 'components/Preloaders/Progress';\n\ninterface IAlertProps {\n children?: React.ReactNode;\n severity?: AlertColor;\n onClose?: (event: React.SyntheticEvent) => void;\n}\n\nconst Alert = React.forwardRef(function Alert(props: IAlertProps, forwardedRef) {\n return (\n \n );\n});\n\nconst Types = ['preload'] as const;\ntype CustomColorT = typeof Types[number];\nconst AUTO_HIDE = 6000;\n\nexport const InfoMessage = observer(function InfoMessage() {\n const [type, setType] = React.useState('preload');\n const [text, setText] = React.useState('Error');\n const [status, setStatus] = React.useState>(null);\n const store = useMessageStore();\n\n const closeSnackbar = () => {\n store.setMessage({ data: null });\n };\n\n React.useEffect(() => {\n runInAction(() => {\n if (store.message?.type) {\n setType(store.message?.type);\n }\n if (store.message?.text) {\n setText(store.message?.text);\n }\n setStatus(store.message?.status || null);\n });\n }, [store.message?.status, store.message?.text, store.message?.type]);\n\n return (\n theme.palette.common.white,\n },\n '.MuiAlert-icon':\n type === 'preload'\n ? {\n fontSize: 0,\n }\n : {},\n '.MuiAlert-action': {\n padding: '2px 0 0 16px',\n },\n }}\n >\n \n ) : undefined\n }\n sx={\n type === 'preload'\n ? {\n backgroundColor: (theme) => theme.palette.warning.light,\n }\n : {}\n }\n >\n \n {status && `[${status}]: `}\n {text}\n \n \n \n );\n});\n","import React from 'react';\nimport { AppView } from 'views/AppView';\nimport Grid from '@mui/material/Grid';\nimport { InfoMessage } from 'views/App/InfoMessage';\n\ninterface IAppContainerProps {\n children: React.ReactNode;\n height?: string | number;\n}\n\nexport const AppContainer = function AppContainer({ children, height = '100%' }: IAppContainerProps) {\n return (\n <>\n \n \n theme.spacing(2), paddingBottom: 0 }}\n >\n {children}\n \n \n \n );\n};\n","import React from 'react';\nimport Dialog from '@mui/material/Dialog';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogActions from '@mui/material/DialogActions';\nimport Divider from '@mui/material/Divider';\nimport CloseIcon from '@mui/icons-material/Close';\nimport IconButton from '@mui/material/IconButton';\nimport { ContainedButton } from 'components/Buttons/ContainedButton';\nimport { SecondaryButton } from 'components/Buttons/SecondaryButton';\nimport { Typography } from '@mui/material';\n\ninterface IConfirmDialogProps {\n isDialogOpen: boolean;\n title: string;\n Message: string | React.FC;\n failureButtonText: string;\n successButtonText: string;\n actionSuccess?: Nullable<() => void>;\n actionCancel?: Nullable<() => void>;\n}\n\nexport const ConfirmDialog = ({\n isDialogOpen,\n title,\n Message = 'Default dialog message',\n failureButtonText,\n successButtonText,\n actionSuccess,\n actionCancel,\n}: IConfirmDialogProps) => {\n const applyButtonClick = () => {\n if (typeof actionSuccess === 'function') {\n actionSuccess();\n }\n hideDialog();\n };\n const handleClose = () => {\n if (typeof actionCancel === 'function') {\n actionCancel();\n }\n hideDialog();\n };\n\n const hideDialog = () => {\n if (typeof actionCancel === 'function') {\n actionCancel();\n }\n };\n\n const MessageComponent = typeof Message === 'string' ? Message : ;\n\n return (\n \n theme.typography.body2.fontSize,\n }}\n >\n {title}\n \n \n \n \n \n \n theme.typography.body2.fontSize,\n color: (theme) => theme.palette.textPrimary.main,\n }}\n >\n {MessageComponent}\n \n \n \n \n {failureButtonText}\n \n \n \n {successButtonText}\n \n \n \n \n );\n};\n"],"names":["useStyles","makeStyles","palette","shape","spacing","root","border","props","background","standardizeColor","borderColor","primary","main","boxShadow","fontFamily","borderRadius","color","textColor","backgroundColor","common","white","text","padding","OutlinedButton","classes","children","ScrollableTable","data","headers","sortField","sortDirection","totalData","isBoardTable","actionCells","actionRows","containerHeight","width","isBoardPreview","showNoDataTitle","haveTotalField","totalFieldName","preview","minTableWidth","reduce","acc","cur","Number","parseInt","length","Box","display","justifyContent","alignItems","flexDirection","sx","theme","alpha","height","Typography","variant","marginBottom","textAlign","Paper","elevation","style","TableContainer","className","Table","size","minWidth","TableHead","TableRow","map","column","i","TableCell","align","onMouseDown","disableSort","c","headerClick","title","undefined","cursor","position","textSecondary","dark","textPrimary","opacity","component","Boolean","TableSortLabel","active","enumId","direction","IconComponent","ExpandMoreIcon","hideSortIcon","right","left","TableBody","borderBottom","row","index","events","mapValues","value","callback","actionRowHandler","hover","role","tabIndex","td","grey","id","splitRequestField","withAction","onClick","actionCellHandler","wordBreak","template","TableFooter","getDefaultValue","fields","split","splitCaption","additionalFields","onSortCallback","preloader","React","tableHeaders","setTableHeaders","sortDirectionState","setSortDirectionState","sortFieldState","setSortFieldState","defaultColumn","current","name","insertBefore","filter","f","beforeFirst","insertAfter","afterFirst","firstColumn","allColumns","EnumsHelper","push","forEach","item","getTableHeaders","field","BackdropPreloader","open","items","zIndex","total","getConfig","config","rootStore","getEnums","enums","getClient","clientId","client","primaryColor","document","querySelector","setProperty","storedAgencyId","getFromLocalStorage","LS_KEYS","agencyAdvertisers","agency","getSelfAccounts","accounts","getLimits","boardLimits","campaignsTree","Promise","all","onStart","container","overflow","AppView","observer","store","useAppStore","navigationStore","useNavigationStore","runInAction","ready","start","then","changeReady","createAmplitudeEvent","EVENTS","isProphylaxis","dialogConfirm","dialog","clsx","ErrorBoundary","fallback","ConfirmDialog","Message","message","successButtonText","failureButtonText","isDialogOpen","show","actionSuccess","actionCancel","Header","Preloader","fullPage","Alert","forwardedRef","ref","Types","InfoMessage","type","setType","setText","status","setStatus","useMessageStore","closeSnackbar","setMessage","Snackbar","anchorOrigin","vertical","horizontal","autoHideDuration","TransitionComponent","Slide","onClose","preventClickClose","fontSize","severity","icon","includes","Progress","warning","light","AppContainer","Grid","paddingBottom","hideDialog","MessageComponent","typography","body2","paddingX","paddingY","marginRight"],"sourceRoot":""}