{"version":3,"file":"js/app.18672e98.js","mappings":"UAAIA,ECAAC,EACAC,ECwCAC,EASAC,E,aClDJ,SAASC,EAAoBC,GAC5B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBF,EAAM,KAEjD,MADAC,EAAEE,KAAO,mBACHF,CACP,CACAF,EAAoBK,KAAO,IAAM,GACjCL,EAAoBM,QAAUN,EAC9BA,EAAoBO,GAAK,MACzBC,EAAOC,QAAUT,C,gDCRjB,I,4DC0BA,wB,sTAQAU,EAAA,cAAAC,EAAAA,GASA,iBACAT,GACAA,EAAAU,gB,CAGA,wB,+BARA,KAAAC,gBAAAA,C,OALAC,EAAAA,EAAAA,IAAA,CAAAC,QAAA,GAAAC,KAAAC,UADAP,EAAA,UACAQ,aAAA,G,IACAJ,EAAAA,EAAAA,IAAA,CAAAC,QAAA,GAAAC,KAAAC,UAFAP,EAAA,UAEAS,mBAAA,G,IACAL,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAHAV,EAAA,UAGAW,sBAAA,G,IACAP,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAJAV,EAAA,UAIAY,0BAAA,G,IAAAR,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAJAV,EAAA,UAIAa,wBAAA,G,IAKAC,EAAAA,EAAAA,IAAA,WATAd,EAAA,UAUAe,mBAAA,M,IAIAD,EAAAA,EAAAA,IAAA,sBAdAd,EAAA,UAeAgB,wBAAA,MAfAhB,EAAA,IADAiB,EAAAA,EAAAA,IAAA,KACAjB,GClCmO,UCmBnO,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIkB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CACxG,4BACA,CAAE,oBAAqBN,EAAIL,iBAAkB,iBAAkBK,EAAIN,sBAAwB,CAACU,EAAG,MAAM,CAACG,YAAY,QAAQ,CAACH,EAAG,MAAM,CAACI,MAAM,CAAC,MAAQ,OAAO,OAASR,EAAIf,qBAAqBmB,EAAG,OAAO,CAACG,YAAY,2BAA2BE,GAAG,CAAC,OAAST,EAAIH,mBAAmB,CAACO,EAAG,KAAK,CAACE,MAAM,CAAC,QAAS,WAAY,CAAE,mBAAoBN,EAAIP,kBAAmB,CAAEO,EAAkB,eAAEI,EAAG,SAAS,CAACG,YAAY,YAAYC,MAAM,CAAC,KAAO,UAAUC,GAAG,CAAC,MAAQT,EAAIF,wBAAwB,CAACM,EAAG,qCAAqC,CAACI,MAAM,CAAC,KAAO,SAAS,GAAGR,EAAIU,KAAKV,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIV,OAAO,OAAQU,EAAe,YAAEI,EAAG,IAAI,CAACG,YAAY,+BAA+B,CAACP,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIT,gBAAgBS,EAAIU,KAAKV,EAAIa,GAAG,YAAY,IAAI,GAC5sB,IGSpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,sXCqCA,oB,sTA0BAC,EAAA,eAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAC,EAAAA,KAmBA,wB,CAKA,UACAC,WAAA,KAAAC,qBAAA,KAAAC,mB,CAGA,uB,IACA,WAAAC,qBAAA,kCAAAC,oBAAA,eAAAC,MAAA,CACA,MAAAC,EAAA,KAAAF,aAAAC,OACAE,QAAA/C,QAAA8C,GAAAE,OAAAC,IACA,KAAAC,IAAA,iDAAAD,GACA,KAAAN,qBAAA,I,EAKAQ,qBACA,YAAAC,2BAAAC,EAAAC,C,CAGAC,oBACA,YAAAH,2BAAAI,EAAAC,C,CAGAC,uBACA,qCAAAC,gB,+BA3CA,KAAAT,KAAAU,EAAAA,EAAAA,IAAA,0BAAAlB,mBAAA,IAGA,KAAAY,oBAAAA,EACA,KAAAG,mBAAAA,EACA,KAAAJ,oBAAAA,EAAA,KAAAG,mBAAAA,EAGA,KAAAK,gBAAAA,EAAA,KAAAC,gBAAAA,EAEA,KAAAH,aAAAA,EAEA,KAAAhB,qBAAA,C,OAfAnC,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WADAsB,EAAA,UACArB,sBAAA,G,IAAAgD,EAAAA,EAAAA,IAAA,iBADA3B,EAAA,UACAQ,oBAAA,G,IAkBA1B,EAAAA,EAAAA,IAAA,sBAnBAkB,EAAA,UAoBAhB,wBAAA,MApBAgB,EAAA,IANAf,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CACAC,kBAAA,IACAC,sBAAA,SAGA9B,GC/D2N,UCmB3N,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAId,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,oBAAoB,CAACG,YAAY,kBAAkB,CAACH,EAAG,wBAAwB,CAACG,YAAY,sBAAsBC,MAAM,CAAC,cAAgBR,EAAI6C,iBAAiBzC,EAAG,MAAM,CAACG,YAAY,0BAA0B,CAAEP,EAAkB,eAAEI,EAAG,SAAS,CAACG,YAAY,cAAcC,MAAM,CAAC,KAAO,UAAUC,GAAG,CAAC,MAAQT,EAAIF,wBAAwB,CAACM,EAAG,kCAAkC,CAACI,MAAM,CAAC,KAAO,aAAa,GAAGR,EAAIU,KAAKN,EAAG,MAAM,CAACG,YAAY,0BAA0B,CAACP,EAAIa,GAAG,YAAY,GAAGT,EAAG,MAAM,CAACG,YAAY,qBAAqBuC,MAAO9C,EAAoB,kBAAG,CAAEA,EAAuB,oBAAEI,EAAG,UAAU,CAACA,EAAG,SAAS,CAACI,MAAM,CAAC,OAASR,EAAIuC,gBAAgB,KAAO,YAAY,MAAQ,wBAAwBnC,EAAG,SAAS,CAACI,MAAM,CAAC,OAASR,EAAIwC,gBAAgB,KAAO,eAAepC,EAAG,MAAM,CAACG,YAAY,iBAAiBC,MAAM,CAAC,IAAM,QAAQJ,EAAG,QAAQ,CAAC2C,IAAI,eAAexC,YAAY,kBAAkBC,MAAM,CAAC,YAAc,GAAG,SAAW,GAAG,MAAQ,GAAG,sBAAwB,IAAIwC,SAAS,CAAC,OAAQ,IAAO,CAAC5C,EAAG,SAAS,CAACI,MAAM,CAAC,IAAMR,EAAI6B,eAAe,KAAO,4BAA4BzB,EAAG,SAAS,CAACI,MAAM,CAAC,IAAMR,EAAIiC,cAAc,KAAO,gCAAgC7B,EAAG,gBAAgB,CAACG,YAAY,SAASC,MAAM,CAAC,KAAO,aAAa,UAAW,MAAS,IAAI,EAAE,GAC3yC,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,iCCSA,oB,sTAIAyC,EAAA,eAAAlC,EAAAA,EAAAA,IAAAmC,EAAAA,M,IACAhE,EAAAA,EAAAA,OADA+D,EAAA,UACAE,yBAAA,GADAF,EAAA,IADAlD,EAAAA,EAAAA,IAAA,KACAkD,GCbqO,U,eCmBrO,SAXgB,OACd,GCTW,WAAa,IAAIjD,EAAIC,KAASC,EAAGF,EAAIG,eAAuC,OAAjBH,EAAIK,MAAMD,IAAIF,GAAa,MAAM,CAACK,YAAY,SAASD,MAAMN,EAAImD,mBAAmB,CAACnD,EAAIa,GAAG,SAASb,EAAIa,GAAG,WAAW,EAAE,GAC3K,IDWpB,EACA,KACA,WACA,MAI8B,QEnBhC,ICOA,oB,sTAIAuC,EAAA,cAAArE,EAAAA,GAKA,UACA,KAAAsE,WAAA,KACA,KAAAC,SAAA,I,CAIAC,cACA,YAAAJ,kBAAA,CAAAK,MAAA,KAAAF,S,CAGA,gBACA,KAAAA,SAAA,C,+BAdA,KAAAA,SAAA,C,OAFApE,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAAAiE,EAAA,UAAAD,yBAAA,GAAAC,EAAA,IADArD,EAAAA,EAAAA,IAAA,KACAqD,GCXsO,UCmBtO,SAXgB,OACd,GHTW,WAAa,IAAIpD,EAAIC,KAASC,EAAGF,EAAIG,eAAuC,OAAjBH,EAAIK,MAAMD,IAAIF,GAAa,MAAM,CAACK,YAAY,OAAOD,MAAMN,EAAIuD,SAAS,CAACvD,EAAIa,GAAG,SAAS,EAAE,GAC7I,IGWpB,EACA,KACA,WACA,MAI8B,Q,aCehC,oB,sTAaA4C,EAAA,cAAA1E,EAAAA,GAQA2E,aACA,YAAAC,K,CAGA,gCACA,cAAAC,YACA,KAAAC,UAAA,KAAAC,OAAA,KAAAH,OAAA,KAAAA,M,CAIA,kCACA,gBAAAC,YACA,KAAAC,UAAA,KAAAC,OAAA,KAAAH,OAAA,KAAAA,M,CAIA,UACAA,GACA,OAAAA,C,OAzBAzE,EAAAA,EAAAA,IAAA,CAAAC,SAAA,KADAsE,EAAA,UACAM,kBAAA,G,IACA7E,EAAAA,EAAAA,OAFAuE,EAAA,UAEAE,aAAA,G,IACAzE,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAHAsE,EAAA,UAGAO,qBAAA,G,IACA9E,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAJAsE,EAAA,UAIAQ,sBAAA,G,IACA/E,EAAAA,EAAAA,IAAA,CAAAC,SAAA,KALAsE,EAAA,UAKAK,cAAA,G,IAAA5E,EAAAA,EAAAA,IAAA,CAAAC,QAAA,UALAsE,EAAA,UAKAG,kBAAA,G,IAmBAhE,EAAAA,EAAAA,IAAA,UAxBA6D,EAAA,UAyBAI,YAAA,MAzBAJ,EAAA,IAPA1D,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CACAO,oBAAA,EACAG,qBAAA,EACAc,mBAAA,SAGAT,GC/C+N,UCmB/N,SAXgB,OACd,GXTW,WAAa,IAAIzD,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,UAAUD,MAAM,CAAE6D,OAAQnE,EAAI0D,OAAQI,OAAQ9D,EAAI8D,SAAU,CAAC9D,EAAIa,GAAG,UAAS,WAAW,MAAO,CAACT,EAAG,sBAAsB,CAACE,MAAON,EAAI4D,WAAa,QAASpD,MAAM,CAAC,kBAAoBR,EAAIgE,eAAeI,SAAS,CAAC,MAAQ,SAASC,GAAQ,OAAOrE,EAAIsE,gCAAgCC,MAAM,KAAMC,UAAU,GAAGC,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,SAASC,GAAG,WAAW,MAAO,CAACxE,EAAG,qCAAqC,CAACG,YAAY,cAAcD,MAAMN,EAAI0D,OAAS,KAAO,OAAOlD,MAAM,CAAC,KAAO,MAAMC,GAAG,CAAC,MAAQT,EAAI6E,iCAAiC,EAAEC,OAAM,GAAM,CAACH,IAAI,QAAQC,GAAG,WAAW,MAAO,CAAC5E,EAAIa,GAAG,SAAS,EAAEiE,OAAM,IAAO,MAAK,KAAQ,GAAE,CAAC,OAAS9E,EAAI0D,SAAStD,EAAG,sBAAsB,CAACI,MAAM,CAAC,SAAW,MAAM,CAACJ,EAAG,uBAAuB,CAAC2E,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAAStB,MAAO3D,EAAU,OAAEkF,WAAW,WAAW1E,MAAM,CAAC,kBAAoBR,EAAIiE,gBAAgBQ,YAAYzE,EAAI0E,GAAG,CAAE1E,EAAImF,OAAW,KAAE,CAACR,IAAI,OAAOC,GAAG,WAAW,MAAO,CAAC5E,EAAIa,GAAG,QAAQ,EAAEiE,OAAM,GAAM,MAAM,MAAK,MAAS,IAAI,EAAE,GACtjC,IWWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,2CCsBA,oB,sTAMAM,EAAA,eAAArE,EAAAA,EAAAA,IAAAE,EAAAA,O,IACA/B,EAAAA,EAAAA,OADAkG,EAAA,UACA9F,aAAA,G,IACAJ,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAFA4F,EAAA,UAEA3F,sBAAA,G,IACAP,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAHA4F,EAAA,UAGAC,yBAAA,GAHAD,EAAA,IADArF,EAAAA,EAAAA,IAAA,CAAA2C,WAAA,CAAA4C,cAAA,IAAAC,aAAA,QACAH,GC5B2N,UCkB3N,SAXgB,E,SAAA,GACd,GHRW,WAAa,IAAIpF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAY,SAAEI,EAAG,MAAM,CAACJ,EAAIa,GAAG,UAAS,WAAW,MAAO,CAACT,EAAG,eAAe,CAACI,MAAM,CAAC,MAAQR,EAAIV,MAAM,eAAiBU,EAAIP,eAAe,kBAAoBO,EAAIqF,mBAAmBZ,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,OAAOC,GAAG,WAAW,MAAO,CAAC5E,EAAIa,GAAG,eAAe,EAAEiE,OAAM,GAAM,CAACH,IAAI,QAAQC,GAAG,WAAW,MAAO,CAAC5E,EAAIa,GAAG,gBAAgB,EAAEiE,OAAM,IAAO,MAAK,KAAQ,KAAI,GAAG1E,EAAG,MAAM,CAACJ,EAAIa,GAAG,WAAU,WAAW,MAAO,CAACT,EAAG,iBAAiB,KAAI,EAAE,GAChgB,IGUpB,EACA,KACA,KACA,MAI8B,O,iDClBhC,I,iCCQA,oB,sTAIAoF,EAAA,cAAAzG,EAAAA,G,8BAIA0G,KAAAA,mBAAAA,C,OAHAvG,EAAAA,EAAAA,OADAsG,EAAA,UACAE,aAAA,G,IAAAxG,EAAAA,EAAAA,OADAsG,EAAA,UACAG,YAAA,GADAH,EAAA,GADAzF,EAAAA,IACAyF,GCZ6N,U,eCmB7N,SAXgB,OACd,GCTW,WAAa,IAAIxF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACI,MAAM,CAAC,GAAKR,EAAI2F,OAAO,CAACvF,EAAG,MAAM,CAACG,YAAY,OAAOC,MAAM,CAAC,IAAMR,EAAI0F,OAAS1F,EAAIyF,mBAAmB,IAAM,OAAO,GAC/M,IDWpB,EACA,KACA,WACA,MAI8B,Q,qCERhC,oB,sTAKAG,EAAA,eAAA7E,EAAAA,EAAAA,IAAAmC,EAAAA,IAGA2C,cACA,YAAAC,gBAAA,KAAAC,cAGA,KAAAC,MAAA,iDAAAC,IAAA,KAAAF,gBAFA,KAAAC,MAAA,iC,CAIAD,oBACA,SAAAD,eACA,SAEA,MAAAI,EAAAC,KAAAC,MAAA,KAAAN,gBAAAK,KAAAC,OAAA,IAAAD,MAAAE,YACA,OAAAC,KAAAC,MAAAL,EAAA,M,CAGAM,kBACA,OAAAxB,KAAAyB,EAAAA,EAAAA,Q,OAlBAvH,EAAAA,EAAAA,OAAA0G,EAAA,UAAAE,sBAAA,GAAAF,EAAA,IADA7F,EAAAA,EAAAA,IAAA,KACA6F,GChBkO,UCmBlO,SAXgB,OACd,GCTW,WAAa,IAAI5F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,eAAe,CAACH,EAAG,IAAI,CAACG,YAAY,kBAAkB,CAACP,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI6F,YAAYzF,EAAG,cAAc,CAACG,YAAY,OAAOC,MAAM,CAAC,GAAKR,EAAIwG,cAAc,CAACxG,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIgG,MAAM,mCAAmC,QAAQ,EAAE,GAClU,IDWpB,EACA,KACA,WACA,MAI8B,Q,SEnBhC,I,iCC0BA,oB,sTAWAU,EAAA,eAAA3F,EAAAA,EAAAA,IAAAmC,EAAAA,EAAAyD,EAAAA,KAIA7D,YACA,6BAAA8D,O,CAGAC,iBACA,YAAAvH,OAAA,KAAA0G,MAAA,+B,CAGAc,yBAAAC,GACAA,GACA,KAAAC,MAAA,a,OAbA9H,EAAAA,EAAAA,IAAA,CAAAE,KAAAC,UADAqH,EAAA,UACApH,aAAA,G,IAAAJ,EAAAA,EAAAA,IAAA,CAAAE,KAAAC,OAAAF,QAAA,WADAuH,EAAA,UACAE,cAAA,GADAF,EAAA,IANA3G,EAAAA,EAAAA,IAAA,CACA2C,WAAA,GACAqC,WAAA,CACAkC,kBAAA,SAGAP,GCrC6N,UCmB7N,SAXgB,OACd,GCTW,WAAa,IAAI1G,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,QAAQuC,MAAO9C,EAAS,OAAG,CAACI,EAAG,SAAS,CAACG,YAAY,iBAAiB,CAACH,EAAG,IAAI,CAACG,YAAY,gBAAgB,CAACP,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAI6G,YAAY,OAAOzG,EAAG,aAAa,CAACI,MAAM,CAAC,SAAyC,IAA9BR,EAAIkH,sBAA4B,MAAQ,YAAY,KAAO,SAASzG,GAAG,CAAC,MAAQT,EAAImH,6BAA6B,CAACnH,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIgG,MAAM,4CAA4C,QAAQ,GAAG5F,EAAG,MAAM,CAACG,YAAY,kBAAkB,CAACH,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACP,EAAIa,GAAG,WAAWT,EAAG,MAAM,CAAC2E,WAAW,CAAC,CAACC,KAAK,qBAAqBC,QAAQ,uBAAuBtB,MAAO3D,EAA4B,yBAAEkF,WAAW,6BAA6B3E,YAAY,oBAAoB,MAAM,GAC1wB,IDWpB,EACA,KACA,WACA,MAI8B,Q,2DEyBhC,SAAA6G,EAAAA,EAAAA,iBAAA,CACA1E,WAAA,CAAA2E,aAAA,IAAAX,kBAAA,EAAAY,oBAAA,IAAAC,QAAA,MACAC,QACA,MAAAC,GAAA1E,EAAAA,EAAAA,KAAA,aAAA2E,KAAA7E,IAAA8E,EAAAA,EAAAA,MAGAC,EAAAA,EAAAA,QACA,IAAAF,EAAAG,MAAAC,6BACA,K,IAEAL,EAEAA,EAHAC,EAAAG,MAAAC,2BACA,QAAAL,EAAAA,EAAA9D,aAAA,IAAA8D,GAAAA,EAAAM,OAEA,QAAAN,EAAAA,EAAA9D,aAAA,IAAA8D,GAAAA,EAAAO,M,KAKAC,EAAAA,EAAAA,YAAA,K,IAEAR,EADAC,EAAAG,MAAAC,6BACA,QAAAL,EAAAA,EAAA9D,aAAA,IAAA8D,GAAAA,EAAAM,O,IAgBA,OACAG,QALA,KACAR,EAAAS,UAAAC,0BAAA,EAKAX,UACAY,OAfA,KACAX,EAAAG,MAAAC,2BACAJ,EAAAS,UAAAC,2BAEAV,EAAAS,UAAAG,yB,KAYAzF,MACA0F,EAAAA,EAAAA,M,ICpF4N,ICmB5N,SAXgB,OACd,GPTW,WAAa,IAAIvI,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,UAAU,CAAC2C,IAAI,UAAUvC,MAAM,CAAC,OAAS,2BAA2B,UAAY,cAAcC,GAAG,CAAC,KAAOT,EAAIoI,0BAA0B3D,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,SAASC,GAAG,SAAS7B,GACxR,IAAIgE,EAAYhE,EAAIgE,UACpB,MAAO,CAAC3G,EAAG,sBAAsB,CAACI,MAAM,CAAC,SAAWuG,EAAU,iBAAmB/G,EAAIkH,uBAAuB9C,SAAS,CAAC,MAAQ,SAASC,GAAQ,OAAOrE,EAAIqI,OAAO9D,MAAM,KAAMC,UAAU,KAAK,GAAG,CAACG,IAAI,UAAUC,GAAG,WAAW,MAAO,CAACxE,EAAG,oBAAoB,CAACG,YAAY,QAAQE,GAAG,CAAC,WAAaT,EAAIwI,WAAW,CAAExI,EAAI6C,eAAiB7C,EAAI6C,cAAc4F,OAAQzI,EAAI0I,GAAI1I,EAAiB,eAAE,SAAS2I,GAAc,OAAOvI,EAAG,eAAe,CAACuE,IAAIgE,EAAahK,GAAG6B,MAAM,CAAC,KAAOR,EAAI4I,oBAAoBD,GAAc,SAAWA,EAAaE,UAAU,OAASF,EAAaG,QAAQ,WAAaH,EAAaI,YAAYtI,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAOrE,EAAIgJ,yBAAyBL,EAAa,IAAI,IAAG,CAACvI,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACH,EAAG,oCAAoC,CAACI,MAAM,CAAC,KAAO,QAAQJ,EAAG,IAAI,CAACG,YAAY,4BAA4B,CAACP,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIgG,MAAM,0CAA0C,KAAK,GAAG,EAAElB,OAAM,MAAS,GACn5B,IOSpB,EACA,KACA,WACA,MAI8B,QCnBhC,I,WCeA,oB,sTAWAmE,EAAA,eAAAlI,EAAAA,EAAAA,IAAAmI,EAAAA,IAGAC,oBAAA,mBAAAC,KAAAC,MAAA,OAGA,KAAAD,KAAAE,SAAA,iB,CAGAC,gBACA,eAAAH,KAAAC,MACA,SAGA,QAAAD,KAAAE,SAAA,CACA,yBAAAF,KAAAC,MAAA,CAEA,OAAAG,GADA,CAAAC,KAAA,KAAAL,KAAAC,MAAAK,QAAA,c,CAIA,QAAAN,KAAAC,MAAArE,KAAA,CAEA,OAAAwE,GADA,CAAAxE,KAAA,KAAAoE,KAAAC,MAAArE,M,CAIA,OAAAwE,GAAA,G,CAEA,OAAAG,KAAA,KAAAP,KAAAC,M,CAIA,c,OA/BAnK,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAAA8J,EAAA,UAAAG,YAAA,G,IA+BAxJ,EAAAA,EAAAA,IAAA,UA/BAqJ,EAAA,UAgCAW,cAAA,MAhCAX,EAAA,IALAlJ,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CACAmH,gBAAA,QAGAZ,GC1B8N,UCmB9N,SAXgB,OACd,GCTW,WAAa,IAAIjJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIoJ,KAAW,OAAEhJ,EAAGJ,EAAImJ,cAAcnJ,EAAI8J,GAAG,CAACC,IAAI,YAAYxJ,YAAY,sBAAsBE,GAAG,CAAC,MAAQT,EAAI4J,cAAc,YAAY5J,EAAIuJ,WAAU,GAAO,CAACnJ,EAAGJ,EAAIoJ,KAAKY,KAAK,CAACD,IAAI,YAAYxJ,YAAY,YAAYC,MAAM,CAAC,KAAO,QAAQJ,EAAG,OAAO,CAACJ,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIoJ,KAAKpE,UAAU,GAAGhF,EAAIU,IAAI,GAClX,IDWpB,EACA,KACA,WACA,MAI8B,Q,qCE+ChC,oB,sTAaAuJ,EAAA,eAAAlJ,EAAAA,EAAAA,IAAAE,EAAAA,KAOA,oBAEA,KAAAiJ,eAAAC,OAAA1L,KAAA,KAAA2L,WAAAC,KAAA,Q,CAGA,kBAAAxC,GACA,KAAAyC,UAAAzC,C,CAGA,iBAAAvJ,EAAA8K,G,IACAA,EAAA,aAAAA,EAAAA,EAAAmB,cAAA,IAAAnB,OAAAA,EAAAA,EAAAX,SACAnK,EAAAU,gB,CAGA,uB,CAKA,aAAAuL,GACA,OAAAA,GAAA,iBAAAA,GAAAJ,OAAA1L,KAAA8L,GAAA9B,OAAA,C,CAGA,SAAAW,GACA,OAAAe,OAAAK,OAAApB,EAAAmB,QAAA,G,CAGA,WAAAE,GACA,aAAAC,SAAAD,GAAAhC,OAAA,E,CAGA,aAAAW,GACA,SAAAuB,EAAAA,EAAAA,OAAAvB,EAAAwB,gB,CAGAC,WACA,OAAAV,OAAAK,OAAA,KAAAJ,WACAU,QAAA1B,GAAAA,EAAA2B,SACAD,QAAA1B,MACAuB,EAAAA,EAAAA,OAAAvB,EAAAwB,kB,CAIA,0BAAAI,GAEA,OAAAA,EAGAb,OAAAc,QAAAD,GACAF,QAAA,I,IAAAI,EAAA9B,GAAA,E,OAAAA,EAAA2B,MAAA,IACAI,QAAA,CAAAC,EAAA,K,IAAAzG,EAAAhB,GAAA,EAEA,OADAyH,EAAAzG,GAAAhB,EACAyH,CAAA,GACA,IARA,E,CAWAC,wBACA,YAAAC,0BAAA,KAAAlB,U,CAGA,GAAAhB,GACA,OAAAA,EAAAE,SAAA,iB,CAGA,eAAAF,GACA,GAAAA,EAAAC,MAAAkC,SAAA,Q,IAEA,EADA,MAAA/B,EAAAJ,EAAAC,MAAAmC,MAAA,UACA,OAAAhC,IAAA,KAAAiC,OAAAhC,MAAAD,KAAA,eAAAiC,OAAAC,aAAA,eAAAC,K,CAEA,OAAAvC,EAAAC,MAAAuC,SAAA,KAAAH,OAAAhC,K,CAGA,MAAAL,GACA,IAAAA,EAAAE,SASA,OAAAK,KAAAP,EAAAC,OARA,IACA,OACAG,GAAA,CAAAC,KAAAL,EAAAC,MAAAK,QAAA,c,CAEC,MAADmC,GACA,OAAArC,GAAAJ,EAAAC,M,gCAlFA,KAAAa,eAAA,QAAAI,WAAA,C,OAHApL,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MADA8K,EAAA,UACAG,iBAAA,G,IAAAlL,EAAAA,EAAAA,IAAA,CAAAC,QAAA,gBADA8K,EAAA,UACA6B,YAAA,G,IAMAC,EAAAA,EAAAA,IAAA,cAPA9B,EAAA,UAQA+B,oBAAA,M,IAaApM,EAAAA,EAAAA,IAAA,eArBAqK,EAAA,UAsBAgC,uBAAA,MAtBAhC,EAAA,IANAlK,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CACAuG,aAAA,EACAxF,cAAA,QAGAwG,GC/E0N,UCmB1N,SAXgB,OACd,GPTW,WAAa,IAAIjK,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAASF,EAAIkM,SAAw3B9L,EAAG,MAAM,CAACG,YAAY,kBAAkBP,EAAI0I,GAAI1I,EAAQ,MAAE,SAASyK,EAAS0B,GAAO,OAAO/L,EAAG,gBAAgB,CAAC2E,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAAStB,MAA2B,cAApB8G,EAAS2B,OAAwBlH,WAAW,oCAAoCP,IAAI8F,EAAS2B,OAAO5L,MAAM,CAAC,WAAaR,EAAI+D,WAAW0G,GAAU,WAAa,UAAUhG,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,QAAQC,GAAG,WAAW,MAAO,CAAG6F,EAASF,OAA0PnK,EAAG,IAAI,CAACG,YAAY,uBAAuBE,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAOrE,EAAIqM,iBAAiBhI,EAAQoG,EAAS,IAAI,CAACrK,EAAG,OAAO,CAACJ,EAAIW,GAAGX,EAAIY,GAAG6J,EAASzF,WAA9Y5E,EAAGJ,EAAIsM,GAAG7B,GAAUzK,EAAI8J,GAAG,CAACC,IAAI,YAAYxJ,YAAY,uBAAuBE,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAOrE,EAAIqM,iBAAiBhI,EAAQoG,EAAS,IAAI,YAAYzK,EAAIuM,MAAM9B,IAAU,GAAO,CAACrK,EAAG,OAAO,CAACJ,EAAIW,GAAGX,EAAIY,GAAG6J,EAASzF,WAAkL,EAAEF,OAAM,GAAM,CAACH,IAAI,OAAOC,GAAG,WAAW,MAAO,CAAE6F,EAAe,OAAErK,EAAG,KAAK,CAACG,YAAY,yBAAyBP,EAAI0I,GAAI1I,EAAIsL,0BAA0Bb,EAASF,SAAS,SAASnB,GAAM,OAAOhJ,EAAG,KAAK,CAACuE,IAAIyE,EAAKgD,OAAO7L,YAAY,WAAWD,MAAM,CAAE6D,OAAQnE,EAAIwM,eAAepD,IAAQ3I,GAAG,CAAC,MAAQT,EAAIiM,uBAAuB,CAAEjM,EAAIyM,aAAarD,GAAOhJ,EAAG,eAAe,CAACI,MAAM,CAAC,KAAO4I,EAAK,MAAQ,WAAWpJ,EAAIU,MAAM,EAAE,IAAG,GAAGV,EAAIU,KAAK,EAAEoE,OAAM,IAAO,MAAK,GAAM4H,MAAM,CAAC/I,MAAO3D,EAAIkK,eAAeiC,GAAQQ,SAAS,SAAUC,GAAM5M,EAAI6M,KAAK7M,EAAIkK,eAAgBiC,EAAOS,EAAI,EAAE1H,WAAW,0BAA0B,IAAG,GAApvE9E,EAAG,MAAM,CAACA,EAAG,KAAK,CAACG,YAAY,aAAaP,EAAI0I,GAAI1I,EAAqB,mBAAE,SAASyK,GAAU,OAAOrK,EAAG,KAAK,CAAC2E,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAAStB,MAA2B,cAApB8G,EAAS2B,OAAwBlH,WAAW,oCAAoCP,IAAI8F,EAAS2B,OAAO7L,YAAY,YAAYE,GAAG,CAAC,WAAa,SAAS4D,GAAQ,OAAOrE,EAAI8M,mBAAkB,EAAK,EAAE,WAAa,SAASzI,GAAQ,OAAOrE,EAAI8M,mBAAkB,EAAM,IAAI,CAAC1M,EAAGJ,EAAIsM,GAAG7B,GAAUzK,EAAI8J,GAAG,CAACC,IAAI,YAAYxJ,YAAY,aAAa,YAAYP,EAAIuM,MAAM9B,IAAU,GAAO,CAACrK,EAAG,OAAO,CAACJ,EAAIW,GAAGX,EAAIY,GAAG6J,EAASzF,WAAW5E,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,cAAc,CAAEiK,EAASF,QAAUvK,EAAI+M,aAAatC,EAASF,SAAWvK,EAAIsK,UAAWlK,EAAG,KAAK,CAACG,YAAY,kBAAkBP,EAAI0I,GAAI+B,EAAe,QAAE,SAAS9G,EAAMgB,GAAK,OAAOvE,EAAG,KAAK,CAACuE,IAAIA,GAAK,CAACvE,EAAG,eAAe,CAACI,MAAM,CAAC,KAAOmD,MAAU,EAAE,IAAG,GAAG3D,EAAIU,QAAQ,EAAE,IAAG,IAA64C,GACh1E,IOWpB,EACA,KACA,WACA,MAI8B,QCnBhC,I,WCAA,oB,sTAGqBsM,EAAN,cAAiCjO,EAAAA,G,8BAC5C,KAAOkO,aAAuB,uCAC9B,KAAOC,eAAyB,0BAChC,KAAOC,SAAmB,EAC1B,KAAOC,MAAgB,C,GAJNJ,EAAkB,IADtCjN,EAAAA,EAAAA,IAAU,CAAC,IACSiN,GCerB,wB,sTAOAK,EAAA,eAAAtM,EAAAA,EAAAA,IAAAiM,I,8BACA,KAAAM,OAAA,E,GADAD,EAAA,IAHAtN,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CAAA6K,cAAA,SAEAF,GCzBuP,UCmBvP,SAXgB,OACd,GCTW,WAAa,IAAIrN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,8BAA8B,CAACH,EAAG,gBAAgB,CAAC0C,MAAQ,WAA2B,EAAb9C,EAAIsN,OAAc,KAAO9M,MAAM,CAAC,OAAsB,EAAbR,EAAIsN,OAAW,MAAqB,EAAbtN,EAAIsN,OAAW,MAAQtN,EAAIoN,MAAM,aAAepN,EAAIiN,aAAa,eAAiBjN,EAAIkN,eAAe,QAAUlN,EAAImN,UAAU,CAAC/M,EAAG,SAAS,CAACI,MAAM,CAAC,GAAKR,EAAIsN,OAAO,GAAKtN,EAAIsN,OAAO,EAAItN,EAAIsN,aAAa,EAAE,GAClb,IDWpB,EACA,KACA,WACA,MAI8B,Q,wEEoBhC,qB,sTA2BAE,GAAA,eAAAzM,EAAAA,EAAAA,IACAE,EAAAA,GACAwM,GAAAA,GACA9G,EAAAA,GACAzD,EAAAA,IAUAwK,iCACA,YAAAC,cAAA,KAAAC,sB,CAGA,UACA,KAAAC,iB,CAGAC,uBACA,KAAAF,wBAAA,C,CAGA,qBAAAG,IACA,IAAAA,IACA,KAAAH,wBAAA,EACA1M,YAAA,SAAA0M,wBAAA,SAEA,KAAAD,aAAAI,C,CAGA,W,CAKA,Y,CAKAC,YACA,YAAA5D,UAAAD,OAAAK,OAAA,KAAAJ,UAAAG,QAAA,M,CAGA0D,eACA,YAAA7D,UAAAvB,UAAA,KAAAuB,UAAAvB,UAAA,E,CAGAqF,mBACA,YAAA9D,UAAA+D,YAAA,KAAA/D,UAAAgE,UACA,QAAAhE,UAAA+D,cAAA,KAAA/D,UAAAgE,YACA,KAAAC,gB,CAGAA,uB,IACA,4BAAAC,uBAAA,eAAAC,aAAA,eAAAD,uBAAA,eAAAE,U,CAGA,YAAAC,EAAAC,GACA,mBAAAA,IACAA,IACAD,EAAAzP,iB,+BAzDA,KAAA2P,QAAA,EACA,KAAAhB,cAAA,OAAAC,wBAAA,EAEA,KAAAgB,yBAAAC,EAAAA,GAAAA,GAAA,KAAAC,eAAA,I,QANA5P,EAAAA,EAAAA,OALAsO,GAAA,UAKApD,iBAAA,G,KA6BAxK,EAAAA,EAAAA,IAAA,SAlCA4N,GAAA,UAmCAuB,WAAA,M,KAIAnP,EAAAA,EAAAA,IAAA,UAvCA4N,GAAA,UAwCAwB,YAAA,MAxCAxB,GAAA,KAZAzN,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CACAuG,aAAA,EACAoE,sCAAA,EACA4B,mBAAA,KACAC,eAAA,KACArF,gBAAA,KAEA9E,WAAA,CACAoK,aAAAC,IAAAA,cAGA5B,IClE8N,YCmB9N,UAXgB,OACd,IRTW,WAAa,IAAIxN,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAEJ,EAAmB,gBAAEI,EAAG,MAAM,CAACG,YAAY,qCAAqCE,GAAG,CAAC,WAAa,SAAS4D,GAAQ,OAAOrE,EAAI4O,yBAAwB,EAAM,IAAI,CAAE5O,EAAIoK,WAAapK,EAAIsO,gBAAiBlO,EAAG,kBAAkB,CAACE,MAAM,CAAE,iBAAkBN,EAAI4N,wBAAyBpN,MAAM,CAAC,KAAO,GAAG,MAAQR,EAAIiO,SAAS,QAAUjO,EAAIkO,aAAa,aAAc,EAAK,cAAc,eAAe9J,SAAS,CAAC,UAAY,SAASC,GAAQ,OAAOrE,EAAI4O,yBAAwB,EAAK,KAAK5O,EAAIU,KAAKN,EAAG,iBAAiB,CAAC2E,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAAStB,MAAO3D,EAA8B,2BAAEkF,WAAW,+BAA+B3E,YAAY,iBAAiBC,MAAM,CAAC,MAAQR,EAAIkO,aAAa,cAAc,qBAAqB9J,SAAS,CAAC,WAAa,SAASC,GAAQ,OAAOrE,EAAI8N,qBAAqBvJ,MAAM,KAAMC,UAAU,EAAE,WAAa,SAASH,GAAQ,OAAOrE,EAAI4O,yBAAwB,EAAM,IAAI5O,EAAI0I,GAAI1I,EAAS,OAAE,SAASoJ,GAAM,OAAOhJ,EAAG,eAAe,CAACuE,IAAIyE,EAAKgD,OAAO7L,YAAY,2BAA2BC,MAAM,CAAC,KAAO4I,GAAM3I,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAOrE,EAAIqP,YAAYhL,EAAQ+E,EAAKkG,QAAQ,IAAI,IAAG,IAAI,GAAGtP,EAAIU,MAAM,GAC1rC,IQWpB,EACA,KACA,WACA,MAI8B,Q,2NCmEhC,SAAS6O,KACL,MAAM,MAAEvJ,IAAUuC,EAAAA,EAAAA,OACZ,SAAE2D,IAAasD,EAAAA,EAAAA,OAEf,cAAEC,EAAa,iBAAEC,EAAgB,mBAAEC,IAAuBC,EAAAA,GAAAA,MAE1D,sBAAEC,EAAqB,kBAAEC,IAAsBC,EAAAA,GAAAA,KAE/CC,GAAoBC,EAAAA,GAAAA,MACpBC,EAAeF,EAAkBnI,MAAMqI,aACvCC,EAAwBH,EAAkBI,QAAQD,uBAElD,kCAAEE,IAAsCC,EAAAA,EAAAA,MAExCC,GAA0BC,EAAAA,EAAAA,WAAS,KAEhCL,EAAsBD,EAAaO,UAChCN,EAAsBD,EAAaQ,SACnCP,EAAsBD,EAAaS,aACvCjB,EAAiBkB,GAAAA,GAAAA,aAA0BA,GAAAA,GAAAA,YAAyBA,GAAAA,GAAAA,kBAItEC,GAAsBL,EAAAA,EAAAA,WAAS,IAE7Bd,EACIkB,GAAAA,GAAAA,WACAA,GAAAA,GAAAA,YACAA,GAAAA,GAAAA,YACAA,GAAAA,GAAAA,sBACAA,GAAAA,GAAAA,aACAA,GAAAA,GAAAA,cACAA,GAAAA,GAAAA,WACCL,EAAwB5M,QAIrC,SAASmN,EACL9L,GAEA,MAAM+L,EAAclB,EAAsBlM,MAAMqN,MAAK5H,GAAQA,EAAKpE,OAASA,IAE3E,GAAI+L,GAAeA,EAAYE,SAAU,CACrC,MAAMC,EAAeH,EAAYE,SAASD,MAAKG,GA0BvD,SAA0B,G,IAAA,YACtBC,EAAW,OACXrG,GAFsB,EAOtB,QAASqG,GAAgBA,GAAejB,EAAsBiB,MAAmBrG,IAAU,E,CAjC/BsG,CAAiBF,MAAW,KAEpF,GAAID,GAAgBA,EAAaI,SAC7B,MAAO,CAAEtM,KAAMkM,EAAaI,S,CAIpC,MAAO,G,CAGX,MAAMC,GAAwCf,EAAAA,EAAAA,WAAS,KACnD,MAEMgB,GAFW1B,EAAkBnM,MAAMsN,UAAY,IAErBnG,QAC5B1B,KACKA,EAAKgI,aAAcjB,EAAsB/G,EAAKgI,iBAC9ChI,EAAKqI,yBAA0BpB,EAAkCjH,EAAKqI,4BAG/E,OAAID,EAAe/I,OAAS,EACjB,mBAAmB+I,EAAe,GAAGF,WAGzC,GAAG,IAad,OAAOd,EAAAA,EAAAA,WAAS,KACL,CACHzF,OAAQ8F,EAAoBlN,QAAUuI,EAASvI,MAC/CqB,KAAMgB,EAAM,sCACZqD,MAAOoG,EAAcmB,GAAAA,GAAAA,YAA0B,eAAiB,iBAChEtH,UAAU,EACViB,OAAQ,CACJmH,aAAc,CACV3G,OAAQ2E,EAAiBkB,GAAAA,GAAAA,WAAwBA,GAAAA,GAAAA,aACjD5L,KAAMgB,EAAM,8CACZqD,MAAOyH,EAAkC,gBACzC9G,KAAM,yBACNV,UAAU,GAEdqI,SAAU,CACN5G,OAAQwF,EAAwB5M,MAChCqB,KAAMgB,EAAM,0CACZqD,MAAOyH,EAAkC,YACzC9G,KAAM,qDACNV,UAAU,GAEdsI,OAAQ,CACJ7G,OAAQoF,EAAsBD,EAAa2B,SAAWpC,EAAcmB,GAAAA,GAAAA,aACpE5L,KAAMgB,EAAM,wCACZqD,MAAOyH,EAAkC,UACzC9G,KAAM,6CACNV,UAAU,GAEdwI,oBAAqB,CACjB/G,OACIoF,EAAsBD,EAAa6B,oBACnCtC,EAAcmB,GAAAA,GAAAA,uBAClB5L,KAAMgB,EAAM,uDACZqD,MAAO,gBACPW,KAAM,oCACNV,UAAU,GAEd0I,QAAS,CACLjH,OAAQoF,EAAsBD,EAAa+B,UAAYxC,EAAcmB,GAAAA,GAAAA,cACrE5L,KAAMgB,EAAM,yCACZqD,MAAO,iBACPW,KAAM,sCACNV,UAAU,GAEd4I,aAAc,CACVnH,OAAQoF,EAAsBD,EAAaiC,MAAQ1C,EAAcmB,GAAAA,GAAAA,UACjE5L,KAAMgB,EAAM,8CACZqD,MAAO,sBACPW,KAAM,gDACNV,UAAU,GAEd8I,SAAU,CACNrH,OACIoF,EAAsBD,EAAamC,gBACnC1C,EAAmBiB,GAAAA,GAAAA,SAAsBA,GAAAA,GAAAA,eAC7C5L,KAAMgB,EAAM,0CACZqD,MAAOkI,EAAsC5N,MAC7CqG,KAAM,uCACNV,UAAU,O,CAOvB,SAASgJ,KACZ,MAAM,MAAEtM,IAAUuC,EAAAA,EAAAA,MAEZyH,GAAoBC,EAAAA,GAAAA,OACpB,cAAER,EAAa,qBAAE8C,IAAyB3C,EAAAA,GAAAA,MAC1C,SAAE1D,IAAasD,EAAAA,EAAAA,MAEfgD,EAhNV,WACI,MAAM,MAAExM,IAAUuC,EAAAA,EAAAA,MACZkK,GAA0BC,EAAAA,GAAAA,MAC1BpE,GAAkBkC,EAAAA,EAAAA,WAAS,IAAMiC,EAAwB5K,MAAMyG,kBAE/D0B,GAAoBC,EAAAA,GAAAA,MACpBC,EAAeF,EAAkBnI,MAAMqI,aACvCC,EAAwBH,EAAkBI,QAAQD,sBAGlDwC,GADWC,EAAAA,GAAAA,KACcC,YAAYC,GAAAA,IAE3C,SAASC,IACLJ,EAAcK,SAAStR,MAAMuR,QAAQpH,M,CAGzC,MAAMqH,GAAkBC,EAAAA,GAAAA,MAExB,SAASC,IACLF,EAAgB/K,UAAUiL,qB,CAG9B,OAAO5C,EAAAA,EAAAA,WAA8B,K,IAEjBlC,EACDA,EACAA,EAHf,MAAO,CACHH,WAAiC,QAArBG,EAAAA,EAAgB3K,aAAK,IAArB2K,OAAAA,EAAAA,EAAuBC,UACnCH,UAAgC,QAArBE,EAAAA,EAAgB3K,aAAK,IAArB2K,OAAAA,EAAAA,EAAuBE,SAClC3F,UAAgC,QAArByF,EAAAA,EAAgB3K,aAAK,IAArB2K,OAAAA,EAAAA,EAAuBL,SAClC1D,OAAQ,CACJqH,OAAQ,CACJ7G,OAAQoF,EAAsBD,EAAa2B,QAC3CzF,OAAQ,YACRpH,KAAMgB,EAAM,0CACZgE,KAAM,6CACNX,MAAO,KACPiG,QAAS8D,GAEbhB,SAAU,CACNrH,QAAQ,EACRqB,OAAQ,eACRpH,KAAMgB,EAAM,yCACZqD,MAAO,oBACPW,KAAM,uCACNV,UAAU,GAEd+J,SAAU,CACNtI,QAAQ,EACRqB,OAAQ,WACRpH,KAAMgB,EAAM,yCACZqD,MAAO,KACPW,KAAM,2BACNsF,QAASyD,IAGpB,G,CA2JkBO,GACjBC,EAAsBhE,KAEtBW,EAAeF,EAAkBnI,MAAMqI,cAEvC,kCAAEG,EAAiC,yBAAEmD,IAA6BlD,EAAAA,EAAAA,MAClEH,EAAwBH,EAAkBI,QAAQD,sBAElDsD,GAAyBjD,EAAAA,EAAAA,WAA8C,KAAM,CAC/EkD,WAAY,CACR3I,QAAQ,EACR/F,KAAMgB,EAAM,+CACZqD,MAAO,gBACPW,KAAM,wBACNV,UAAU,GAEdqK,QAAS,CACL5I,OAAQoF,EAAsBD,EAAaO,UAAYhB,EAAcmB,GAAAA,GAAAA,WACrE5L,KAAMgB,EAAM,2CACZqD,MAAO,wBACPW,KAAM,qCACNV,UAAU,GAEdsK,MAAO,CACH7I,OAAQ0E,EAAcmB,GAAAA,GAAAA,WACtB5L,KAAMgB,EAAM,yCACZqD,MAAO,sBACPW,KAAM,yBACNV,UAAU,GAEduK,OAAQ,CACJ9I,OACIsF,EAAkCmD,EAAyBM,2BAC3D3D,EAAsBD,EAAa6D,mBACnC5D,EAAsBD,EAAa8D,SACnCzB,EAAqB5O,MACzBqB,KAAMgB,EAAM,0CACZqD,MAAO,sBACPW,KAAM,6DACNV,UAAU,GAEd2K,iBAAkB,CACdlJ,OAAQoF,EAAsBD,EAAagE,oBAAsBzE,EAAcmB,GAAAA,GAAAA,WAC/E5L,KAAMgB,EAAM,4CACZqD,MAAO,iCACPW,KAAM,uCACNV,UAAU,GAEd6K,aAAc,CACVpJ,OAAQoF,EAAsBD,EAAa2B,SAAWpC,EAAcmB,GAAAA,GAAAA,WACpE5L,KAAMgB,EAAM,0CACZqD,MAAO,uBACPW,KAAM,6CACNV,UAAU,OAiElB,OA7DekH,EAAAA,EAAAA,WAA0B,KAAM,CAC3C4D,KAAM,CACF/K,MAAO,YAEXgL,KAAM,CACFC,KAAM,CACFvJ,QAAQ,EACR/F,KAAMgB,EAAM,qCACZqD,MAAO,WACPC,UAAU,GAEdiL,MAAO,CACHxJ,QAAQ,EACR/F,KAAMgB,EAAM,sCACZqD,MAAO,oBACPC,UAAU,GAEdkL,YAAa,CACTzJ,OAAQoF,EAAsBD,EAAauE,aAAehF,EAAcmB,GAAAA,GAAAA,WACxE5L,KAAMgB,EAAM,wCACZqD,MAAO,UACPC,UAAU,EACViB,OACI8F,EAAkCmD,EAAyBM,2BAC3D3D,EAAsBD,EAAa6D,mBACnCxB,EAAqB5O,MACf,CACI+P,WAAY,CACR3I,QAAQ,EACR/F,KAAMgB,EAAM,+CACZqD,MAAO,UACPW,KAAM,wBACNV,UAAU,GAEduK,OAAQ,CACJ9I,OACIsF,EACImD,EAAyBM,2BAE7B3D,EAAsBD,EAAa6D,mBACnCxB,EAAqB5O,MACzBqB,KAAMgB,EAAM,0CACZqD,MAAO,gBACPW,KAAM,6DACNV,UAAU,SAGlBoL,GAEdC,iBAAkB,CACd5J,OAAQoF,EAAsBD,EAAauE,YAAchF,EAAcmB,GAAAA,GAAAA,WACvE5L,KAAMgB,EAAM,wCACZqD,MAAO,iBAAgB6C,EAASvI,MAAQ,UAAY,IACpD2F,UAAU,EACViB,OAAQ2B,EAASvI,WAAQ+Q,EAAYjB,EAAuB9P,OAEhEiR,MAAOrB,EAAoB5P,OAE/BkR,KAAMrC,EAAe7O,S,iBCpU7B,MC5B+N,ID4B/NyD,EAAAA,EAAAA,iBAAA,CACApC,KAAA,gBACAtC,WAAA,CAAA8C,YAAA,EAAAyE,SAAA,EAAArE,iBAAA,EAAAkP,iBAAA,EAAAtH,aAAA,IACAhG,QACA,MAAA6B,GAAA0L,EAAAA,EAAAA,OACA,SAAA7I,IAAAsD,EAAAA,EAAAA,OACA,kCAAAa,EAAC,yBAADmD,IAAAlD,EAAAA,EAAAA,MACA0E,EAAA1C,KACA2C,GAAAC,EAAAA,EAAAA,MACAC,GAAAC,EAAAA,EAAAA,MACA3C,GAAAC,EAAAA,GAAAA,MAAApE,GAAAkC,EAAAA,EAAAA,WAAA,IAAAiC,EAAA5K,MAAAyG,kBAGA+G,GAAA7E,EAAAA,EAAAA,WAAA,IACAH,EACAmD,EAAA8B,0CAIAC,GAAA/E,EAAAA,EAAAA,WAAA,IACAH,EAAAmD,EAAAgC,iBAAAtJ,EAAAvI,QAEAmC,GAAA0K,EAAAA,EAAAA,WAAA,IAAA2E,EAAAtN,MAAA/B,kBAIAsK,SAAA,sBAAAD,GACAtI,OAAA,aAAAqI,KAAAD,EAAAA,GAAAA,MAGAwF,GAAAjF,EAAAA,EAAAA,WAAA,K,IAIAlC,EACA6G,EAEA9L,EANA,GAAA6C,EAAAvI,QAAAwM,EAAAD,EAAA+B,SACA,SAEA,MAAAyD,GAAA,QAAApH,EAAAA,EAAA3K,aAAA,IAAA2K,OAAAA,EAAAA,EAAAqH,mBAAAC,GAAAA,GAAAA,MACAC,EAAA,QAAAV,EAAAA,EAAAtN,MAAAiO,0BAAA,IAAAX,OAAAA,EAAAA,EAAAY,aACAC,EAAAlQ,EAAAnC,MACA8R,GAAA,QAAApM,EAAAA,EAAA4M,YAAA,IAAA5M,OAAAA,EAAAA,EAAAoM,6BAAA,EAEA,OADAC,GAAAD,GACAJ,EAAA1R,MACAwR,EAAAtN,MAAAqO,gBAAAF,EACAH,CAAA,IAEAM,GAAA3F,EAAAA,EAAAA,WAAA,K,IAAAyE,EAAAA,OAAA,QAAAA,EAAAA,EAAApN,MAAAuO,qBAAA,IAAAnB,OAAAA,EAAAA,EAAAoB,QAAA,IAGA,OACArB,gBACAS,4BACAF,4BACAF,4CACAc,kBACArQ,iB,IE7DA,UAXgB,OACd,IrCTW,WAAa,IAAI9F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,kBAAkB,CAACH,EAAG,cAAc,CAACG,YAAY,OAAOC,MAAM,CAAC,KAAO,CAAEiJ,KAAMzJ,EAAIgV,cAAcZ,KAAK/K,OAAQ,MAAQrJ,EAAImW,mBAAmB/V,EAAG,WAAW,CAACG,YAAY,eAAeC,MAAM,CAAC,KAAO,aAAa,UAAYR,EAAIgV,cAAcX,QAAQjU,EAAG,MAAM,CAACG,YAAY,sBAAsB,CAAEP,EAA6B,0BAAEI,EAAG,mBAAmB,CAACG,YAAY,cAAcC,MAAM,CAAC,eAAiBR,EAAI8F,kBAAkB9F,EAAIU,KAAMV,EAA6B,0BAAEI,EAAG,mBAAmB,CAACG,YAAY,sBAAsBP,EAAIU,KAAKN,EAAG,eAAe,CAACG,YAAY,oBAAoBC,MAAM,CAAC,UAAYR,EAAIgV,cAAcH,SAAS,IAAI,EAAE,GACrtB,IqCWpB,EACA,KACA,WACA,MAI8B,O,+CCnBhC,I,6ECmCA,oB,sTASAtP,EAAA,eAAAxE,EAAAA,EAAAA,IAAAuV,EAAAA,GAAA3P,EAAAA,KAMAsH,e,IACA,wBAAAmI,qBAAA,eAAAC,WAAA5Q,C,OANAvG,EAAAA,EAAAA,OADAqG,EAAA,UACAjG,aAAA,G,IACAJ,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAFA+F,EAAA,UAEA9F,sBAAA,G,IACAP,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAHA+F,EAAA,UAGAF,yBAAA,G,IAAAnG,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAHA+F,EAAA,UAGAgR,iBAAA,GAHAhR,EAAA,IADAxF,EAAAA,EAAAA,IAAA,CAAA2C,WAAA,CAAA8T,aAAA,IAAAlP,oBAAA,QACA/B,GC5C8N,UCmB9N,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIvF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,yBAAyB,CAACH,EAAG,MAAM,CAACG,YAAY,uBAAuBH,EAAG,MAAM,CAACG,YAAY,wBAAwBH,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAACH,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAACP,EAAIa,GAAG,QAAO,WAAW,MAAO,CAAEb,EAAkB,eAAEI,EAAG,eAAe,CAACA,EAAG,kCAAkC,CAACG,YAAY,eAAeC,MAAM,CAAC,KAAO,SAAS,GAAGR,EAAIU,KAAK,KAAI,GAAGN,EAAG,MAAM,CAACG,YAAY,sBAAsB,CAAEP,EAAa,UAAEA,EAAIa,GAAG,UAAS,WAAW,MAAO,CAAEb,EAAS,MAAEI,EAAG,KAAK,CAACG,YAAY,gBAAgB,CAACP,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIV,UAAUc,EAAG,cAAc,CAACG,YAAY,YAAYC,MAAM,CAAC,GAAK,MAAM,CAACJ,EAAG,MAAM,CAACG,YAAY,OAAOC,MAAM,CAAC,IAAM,sBAAsB,IAAMR,EAAIiO,cAAc,IAAGjO,EAAIU,MAAM,GAAGN,EAAG,MAAM,CAACG,YAAY,qBAAqB,CAACP,EAAIa,GAAG,SAAQ,WAAW,MAAO,CAAEb,EAAqB,kBAAEI,EAAG,sBAAsB,CAACI,MAAM,CAAC,iBAAmBR,EAAIkH,uBAAuBzG,GAAG,CAAC,MAAQT,EAAIsI,2BAA2BtI,EAAIU,KAAK,KAAI,MAAM,GACliC,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,iCCcA,oB,sTAMA+V,EAAA,eAAA1V,EAAAA,EAAAA,IAAAmI,EAAAA,IAaA/F,wBACA,OACA,KAAAuT,eAAA,oBACA,KAAAC,SAAA,cACA,KAAAC,UAAA,gBACA,KAAAC,MACA,KAAAC,UACA,KAAAC,SAAA,cACA,KAAAC,KACA,KAAAC,QAAA,aACA,KAAAC,QAAA,gBACA,KAAAC,YAAA,uB,CAIA,UACA7Y,GACA,OAAAA,C,CAGA,gBACA8Y,EAAAC,GACA,MAAAC,EAAA,KAAAC,IACAC,EAAAF,EAAAG,cAAA,SACAD,IACAA,EAAA1U,MAAA4U,OAAAL,GAAAD,EAAA,GAAAE,EAAAK,gBAAA,G,CAIA,QAAArZ,GACA,QAAAyY,SAGA,OAFAzY,EAAAU,sBACAV,EAAAsZ,kBAIA,KAAAC,UAAAvZ,E,CAGAwZ,kBACA,OACAC,QAAA,KAAAA,QACAhB,SAAA,KAAAA,S,OAtDA7X,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MADAsX,EAAA,UACAnX,aAAA,G,IACAJ,EAAAA,EAAAA,IAAA,CAAAC,QAAA,QAFAsX,EAAA,UAEAK,iBAAA,G,IACA5X,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAHAiX,EAAA,UAGAC,sBAAA,G,IACAxX,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAJAiX,EAAA,UAIAE,gBAAA,G,IACAzX,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WALAiX,EAAA,UAKAG,iBAAA,G,IACA1X,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WANAiX,EAAA,UAMAsB,eAAA,G,IACA7Y,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAPAiX,EAAA,UAOAM,gBAAA,G,IACA7X,EAAAA,EAAAA,IAAA,CAAAC,QAAA,WARAsX,EAAA,UAQAO,YAAA,G,IACA9X,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WATAiX,EAAA,UASAQ,eAAA,G,IACA/X,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAVAiX,EAAA,UAUAS,eAAA,G,IAAAhY,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAVAiX,EAAA,UAUAU,mBAAA,G,IAkBAvX,EAAAA,EAAAA,IAAA,UA5BA6W,EAAA,UA6BAoB,YAAA,M,IAIA9L,EAAAA,EAAAA,IAAA,YAjCA0K,EAAA,UAkCAuB,kBAAA,MAlCAvB,EAAA,IADA1W,EAAAA,EAAAA,IAAA,CAAA2C,WAAA,CAAAuV,QAAA,QACAxB,GCpB4N,UCmB5N,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIzW,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACG,YAAY,mBAAmBD,MAAMN,EAAImD,kBAAkB3C,MAAM,CAAC,KAAO,SAAS,SAAWR,EAAI+W,UAAUtW,GAAG,CAAC,MAAQT,EAAIsP,UAAU,CAAClP,EAAG,OAAO,CAACG,YAAY,OAAOD,MAAMN,EAAI8X,aAAa,CAAG9X,EAAIiX,QAAoF7W,EAAG,WAA9E,CAACJ,EAAIa,GAAG,WAAU,WAAW,MAAO,CAACb,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIV,OAAO,KAAK,MAAmB,IAAI,GAChY,IGWpB,EACA,KACA,WACA,MAI8B,O,+CCnBhC,I,WCsBA,oB,sTAIA4Y,EAAA,cAAAnZ,EAAAA,GAgBA,SACA,KAAAgY,UAAA,KAAAoB,UAGA,KAAAC,YAAA,KAAAA,WACA,KAAAC,WACA,KAAAC,U,CAGAC,qBACA,MAAAC,EAOA,CACAd,MAAA,QAAAV,SACApQ,OAAA,QAAAoQ,UAgBA,OAdA,KAAAH,QACA2B,EAAAC,gBAAA,KAAA5B,MACA2B,EAAAE,YAAA,KAAA7B,OAEA,KAAA8B,gBACAH,EAAA,sBAAAxB,SACAwB,EAAA,qBAAAxB,UAEA,KAAA4B,QACAJ,EAAA,wBAEA,KAAAK,cAAA,KAAAT,aACAI,EAAAC,gBAAA,eAEAD,C,CAGA,aACAla,GACA,KAAA8Z,WAAA9Z,C,CAGA,WAEA,YAAA8Z,U,CAGA,UAEA,YAAAA,U,CAGA,UACA,KAAAA,WAAA,KAAAU,cAAA,KAAAnV,K,CAGA,aAEA,KAAAyU,aACA,KAAAA,YAAA,E,+BA/DA,KAAAA,YAAA,C,OAZAlZ,EAAAA,EAAAA,IAAA,CAAAC,SAAA,KADA+Y,EAAA,UACAY,oBAAA,G,IACA5Z,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAFA0Y,EAAA,UAEAnB,gBAAA,G,IACA7X,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAHA+Y,EAAA,UAGAa,aAAA,G,IACA7Z,EAAAA,EAAAA,OAJAgZ,EAAA,UAIAvU,aAAA,G,IACAzE,EAAAA,EAAAA,OALAgZ,EAAA,UAKArB,aAAA,G,IACA3X,EAAAA,EAAAA,IAAA,CAAAC,SAAA,KANA+Y,EAAA,UAMAc,aAAA,G,IACA9Z,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAPA+Y,EAAA,UAOAlB,YAAA,G,IACA9X,EAAAA,EAAAA,IAAA,CAAAC,SAAA,KARA+Y,EAAA,UAQAS,qBAAA,G,IACAzZ,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WATA0Y,EAAA,UASAU,aAAA,G,IACA1Z,EAAAA,EAAAA,IAAA,CAAAC,SAAA,KAVA+Y,EAAA,UAUAC,eAAA,G,IACAjZ,EAAAA,EAAAA,IAAA,CAAAC,SAAA,KAXA+Y,EAAA,UAWAW,mBAAA,G,IAAA3Z,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAXA0Y,EAAA,UAWAe,eAAA,G,IA2CAlN,EAAAA,EAAAA,IAAA,UAtDAmM,EAAA,UAuDAgB,eAAA,M,IAIAtZ,EAAAA,EAAAA,IAAA,WA3DAsY,EAAA,UA4DAG,WAAA,M,IAIAzY,EAAAA,EAAAA,IAAA,UAhEAsY,EAAA,UAiEAI,UAAA,M,IAQAvM,EAAAA,EAAAA,IAAA,UAzEAmM,EAAA,UA0EAiB,aAAA,MA1EAjB,EAAA,IADAnY,EAAAA,EAAAA,IAAA,KACAmY,GC1BoO,UCmBpO,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIlY,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACG,YAAY,mBAAmBD,MAAM,CAAE8Y,QAASpZ,EAAIoY,WAAYrB,SAAU/W,EAAI+W,SAAUkC,QAASjZ,EAAIiZ,SAAUzY,MAAM,CAAC,SAAW,KAAKC,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAIA,EAAOjF,KAAKia,QAAQ,QAAQrZ,EAAIsZ,GAAGjV,EAAOkV,QAAQ,QAAQ,GAAGlV,EAAOM,IAAI,CAAC,IAAI,cAAc3E,EAAIsZ,GAAGjV,EAAOkV,QAAQ,QAAQ,GAAGlV,EAAOM,IAAI,SAAkB,KAAc3E,EAAIqI,OAAO9D,MAAM,KAAMC,UAAU,IAAI,CAACpE,EAAG,QAAQ,CAACI,MAAM,CAAC,KAAO,WAAW,SAAWR,EAAI+W,UAAU/T,SAAS,CAAC,MAAQhD,EAAI2D,SAASvD,EAAG,OAAO,CAACG,YAAY,gBAAgBuC,MAAO9C,EAAkB,eAAES,GAAG,CAAC,MAAQ,SAAS4D,GAAiC,OAAzBA,EAAOuT,kBAAyB5X,EAAIqI,OAAO9D,MAAM,KAAMC,UAAU,IAAI,CAACxE,EAAIa,GAAG,QAAO,WAAW,MAAO,CAACT,EAAG,yCAAyC,CAAC2E,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAAStB,OAA0B,IAAnB3D,EAAIoY,WAAqBlT,WAAW,wBAAwB3E,YAAY,OAAOC,MAAM,CAAC,KAAO,QAAQ,KAAI,GAAGJ,EAAG,OAAO,CAACE,MAAM,CAAE,iBAAkBN,EAAI+Y,OAAQtY,GAAG,CAAC,MAAQ,SAAS4D,GAAiC,OAAzBA,EAAOuT,kBAAyB5X,EAAIqI,OAAO9D,MAAM,KAAMC,UAAU,IAAI,CAACxE,EAAIa,GAAG,WAAU,WAAW,MAAO,CAACb,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+Y,QAAQ,KAAI,IAAI,GACjpC,IGWpB,EACA,KACA,WACA,MAI8B,O,yDCnBhC,I,sBCiCA,oB,kTAOA,MAAAS,EAAAC,GACA,iBAAAA,EACA,GAAAA,MAEAA,EAAA7N,SAAA,KAAA6N,EAAA,GAAAC,SAAAD,EAAA,Q,IAMAE,EAAA,cAAA5a,EAAAA,GAqBA6a,cACA,OAAApa,QAAA,KAAA2F,OAAAhG,Q,CAGA,gBACAiY,EAAAC,GACA,KAAAwC,cAAA,EACA,KAAAC,qBAAA1C,GAAAC,IACA,KAAA0C,WAAA,E,CAIAC,qBACA,OACA,qBAAAC,gBAAA,cAAAA,aACA,oBAAAC,UAAA,EACA,kBAAAC,YACAC,SAAA,KAAAC,W,CAIAC,mBACA,QAAAC,YAAA,CACA,MAAA7C,EAAAgC,SAAA,QAAA1C,KAAA,SAEA,OACAU,MAAA,OACA9Q,OAAA,IACA4T,WAJAd,SAAA,QAAA1C,KAAA,SAIAU,EAAA,Q,CAIA,OACAA,MAAA,KAAAA,MACA9Q,OAAA,KAAAA,OACA6T,SAAA,KAAA/C,M,CAIAgD,iCACA,OACAC,UAAA,KAAAZ,WAAA,KAAAa,iB,CAIAC,iCACA,OACAF,UAAA,KAAAZ,WAAA,KAAAa,iB,CAIAlD,YACA,YAAA6C,YAAA,OAAAf,EAAA,KAAAxC,KAAA,G,CAGApQ,aACA,YAAA2T,YAAA,OAAAf,EAAA,KAAAxC,KAAA,G,CAGA8D,eACA,YAAAC,iBACA,YAMA,QACA,UALA,aACA,UACA,YACA,U,CAMA,uBAEA,KAAAhB,WAAA,EACA,KAAAF,cAAA,C,CAGA,kBAEA,KAAAE,WAAA,C,CAGAa,uBACA,mBAAAI,KAAA,UAAAA,MAAA,KAAAnB,Y,+BAvFA,KAAAA,cAAA,OAAAE,WAAA,C,OAjBA7a,EAAAA,EAAAA,IAAA,CAAAC,QAAA,cAAAC,KAAA6b,SADAtB,EAAA,UACA3C,YAAA,G,IACA9X,EAAAA,EAAAA,IAAA,CAAAE,KAAAC,UAFAsa,EAAA,UAEAqB,WAAA,G,IACA9b,EAAAA,EAAAA,IAAA,CAAAC,aAAAuV,EAAAtV,KAAAC,UAHAsa,EAAA,UAGAuB,WAAA,G,IACAhc,EAAAA,EAAAA,IAAA,CAAAC,QAAA,QAAAC,KAAAC,UAJAsa,EAAA,UAIAoB,uBAAA,G,IAIA7b,EAAAA,EAAAA,IAAA,CAAAC,QAAA,SAAAC,KAAAC,UARAsa,EAAA,UASAM,oBAAA,G,IACA/a,EAAAA,EAAAA,IAAA,CAAAC,QAAA,OAAAC,KAAAC,UAVAsa,EAAA,UAUAO,aAAA,G,IACAhb,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAXAma,EAAA,UAWAY,mBAAA,G,IACArb,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAZAma,EAAA,UAYAQ,mBAAA,G,IACAjb,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAbAma,EAAA,UAaAwB,uBAAA,G,IACAjc,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAdAma,EAAA,UAcAU,kBAAA,G,IACAnb,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAfAma,EAAA,UAeAyB,yBAAA,G,IAAAlc,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAfAma,EAAA,UAeAG,2BAAA,G,IAUA/N,EAAAA,EAAAA,IAAA,QAzBA4N,EAAA,UA0BA0B,kBAAA,M,IAmEAzb,EAAAA,EAAAA,IAAA,UA7FA+Z,EAAA,UA8FA2B,uBAAA,M,IAKA1b,EAAAA,EAAAA,IAAA,SAnGA+Z,EAAA,UAoGA4B,kBAAA,MApGA5B,EAAA,IAHA5Z,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CAAA8Y,eAAA,SAEA7B,GClDmO,UCmBnO,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAI3Z,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,kBAAkBD,MAAMN,EAAIga,eAAelX,MAAO9C,EAAgB,cAAG,CAAEA,EAAI+Z,WAAa/Z,EAAI4a,iBAAkBxa,EAAG,iBAAiB,CAACG,YAAY,mBAAmBC,MAAM,CAAC,MAAQR,EAAI0X,MAAM,OAAS1X,EAAI4G,OAAO,aAAe,OAAO5G,EAAIU,KAAMV,EAAoB,iBAAEI,EAAG,MAAM,CAACG,YAAY,UAAUD,MAAMN,EAAI0a,2BAA2Bla,MAAM,CAAC,IAAMR,EAAIgb,IAAI,MAAQhb,EAAI0X,MAAM,OAAS1X,EAAI4G,OAAO,IAAM5G,EAAIkb,KAAKza,GAAG,CAAC,KAAOT,EAAIub,gBAAgB,MAAQvb,EAAIsb,wBAAyBtb,EAAmB,gBAAEI,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAACH,EAAG,mDAAmD,CAACG,YAAY,gBAAgBC,MAAM,CAAC,KAAOR,EAAI8a,aAAa,GAAG9a,EAAIU,KAAMV,EAAW,QAAEI,EAAG,MAAM,CAACG,YAAY,UAAUD,MAAMN,EAAI6a,4BAA4B,CAAC7a,EAAIa,GAAG,UAAU,KAAK,CAAC,UAAYb,EAAI+Z,WAAa/Z,EAAI4a,oBAAoB,GAAG5a,EAAIU,KAAMV,EAAIob,mBAAqBpb,EAAI4a,iBAAkBxa,EAAG,MAAM,CAACG,YAAY,mBAAmBP,EAAIU,MAAM,EAAE,GACvgC,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,sBCWA,oB,sTAIA+a,EAAA,cAAA1c,EAAAA,GAKA6a,cACA,aAAAzU,OAAAhG,O,OALAD,EAAAA,EAAAA,OADAuc,EAAA,UACAnc,aAAA,G,IACAJ,EAAAA,EAAAA,OAFAuc,EAAA,UAEAC,eAAA,G,IAAAxc,EAAAA,EAAAA,IAAA,CAAAC,SAAA,KAFAsc,EAAA,UAEAE,kCAAA,GAFAF,EAAA,IADA1b,EAAAA,EAAAA,IAAA,KACA0b,GCf8N,U,eCmB9N,SAXgB,OACd,GCTW,WAAa,IAAIzb,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAAEP,EAAW,QAAEI,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACP,EAAIa,GAAG,YAAY,GAAGb,EAAIU,KAAKN,EAAG,KAAK,CAACG,YAAY,wBAAwB,CAACP,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIV,UAAUc,EAAG,IAAI,CAACG,YAAY,0BAA0B,CAACP,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI0b,aAAa,GACrW,IDWpB,EACA,KACA,WACA,MAI8B,QEnBhC,ICgBA,oB,sTAGAE,EAAA,cAAA7c,EAAAA,KAAA6c,EAAA,IAAA7b,EAAAA,EAAAA,IAAA,CAAA2C,WAAA,MAAAkZ,GCnBoO,UCkBpO,SAXgB,OACd,GHRW,WAAa,IAAiB1b,EAATD,KAAgBE,eAAmBC,EAAnCH,KAA0CI,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACI,MAAM,CAAC,MAAQ,6BAA6B,cAAc,+BAA+B,MAAQ,KAAK,OAAS,KAAK,QAAU,cAAc,CAACJ,EAAG,OAAO,CAACI,MAAM,CAAC,KAAO,eAAe,EAAI,g8BAAg8B,GAC7sC,IGUpB,EACA,KACA,KACA,MAI8B,QCRhC,wB,sTAQAqb,EAAA,eAAA9a,EAAAA,EAAAA,IAAAmC,EAAAA,MAAA2Y,EAAA,IAAA9b,EAAAA,EAAAA,IAAA,CAAA2C,WAAA,CAAA+Y,aAAA,EAAAK,mBAAA,MAAAD,GClBgO,UCkBhO,SAXgB,OACd,GXRW,WAAa,IAAI7b,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,eAAe,CAACI,MAAM,CAAC,MAAQR,EAAIgG,MAAM,mCAAmC,QAAUhG,EAAIgG,MAAM,sCAAsC,CAAC5F,EAAG,uBAAuB,EAAE,GAChP,IWUpB,EACA,KACA,KACA,MAI8B,O,gDClBhC,I,gCC0BA,oB,sTAKAyJ,EAAA,cAAA9K,EAAAA,GAeA,eAAAgd,QAGA,KAAAC,UAAAC,IAAA,SAAAvW,IACAA,EAAAsV,MAAA,KAAAtV,OACA,KAAAwW,kB,IAKAC,yBACA,YAAAC,cAAA,KAAA1W,K,CAGAwV,UACA,4BAAAmB,SAAA,sBAAAA,SAAA,KAAAA,QAAA9Q,SAAA,KACA,KAAA8Q,QAAAhW,YACAiW,EAAAA,EAAAA,IAAA,KAAAD,Q,CAGAxF,YACA,YAAAlY,GAAA,KAAA4d,gBAAA,KAAAC,iB,CAGA/D,sBACA,MAAAgE,GAAA5F,EAAAA,EAAAA,IAAA,KAAAA,OACA,OAAA4F,GACAA,EAAAC,QAAA,IACAD,aAAAA,EAAAA,EAAAE,aAEA,KAAA9F,K,CAIA0F,sBACA,YAAAK,OAAA,KAAAje,GAAA,KAAAie,OAAAnU,O,CAGA+T,wBACA,4BAAAH,QACA,KAAAO,OAAA,KAAAP,QAAA5T,OAAA,KAAAmU,OAAAnU,QAEA,KAAAmU,OAAA,KAAAP,QAAA,KAAAO,OAAAnU,O,CAIAoU,eACA,YAAA7F,KAAA,GACA,GACA,KAAAA,KAAA,IACA,GAEA,QAAAA,I,CAIA8F,kBACA,sBAAAC,MACA,SAEA,Q,CAIAC,wBACA,OACAH,SAAA,KAAAA,SAAA,KACAhG,MAAA,KAAAA,MACAoG,WAAA,KAAAjG,MAAA,W,CAIAkG,gCACA,OACAxF,MAAA,KAAAV,KAAA,KACApQ,OAAA,KAAAoQ,KAAA,KACAyB,gBAAA,KAAAA,gB,CAIA,mBAEA,KAAAoB,cAAA,C,CAGAe,uBACA,YAAAlV,QAAA,KAAAmU,Y,CAGA,gBACA,KAAAmC,UAAAmB,KAAA,Q,+BA/FA,KAAAtD,cAAA,EAEA,KAAA+C,OAAA,uE,OAXA1d,EAAAA,EAAAA,IAAA,CAAAC,QAAA,YADA0K,EAAA,UACAkT,aAAA,G,IACA7d,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAFA0K,EAAA,UAEAnE,aAAA,G,IACAxG,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAHA0K,EAAA,UAGAmN,YAAA,G,IACA9X,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAJA0K,EAAA,UAIAwS,eAAA,G,IACAnd,EAAAA,EAAAA,OALA2K,EAAA,UAKAlL,UAAA,G,IACAO,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MANA0K,EAAA,UAMAuT,uBAAA,G,IACAle,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAPAqK,EAAA,UAOAwT,oBAAA,G,IACAne,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WARAqK,EAAA,UAQAkS,cAAA,G,IAAA7c,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WARAqK,EAAA,UAQAuS,mBAAA,G,IAuFAxc,EAAAA,EAAAA,IAAA,UA/FAiK,EAAA,UAgGAqS,mBAAA,MAhGArS,EAAA,IADA9J,EAAAA,EAAAA,IAAA,KACA8J,GC/BiO,UCmBjO,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAI7J,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAAEP,EAAsB,mBAAEI,EAAG,OAAO,CAACG,YAAY,sBAAsBD,MAAMN,EAAI8c,cAAc9c,EAAIU,KAAKN,EAAG,OAAO,CAACG,YAAY,eAAeD,MAAMN,EAAI8c,YAAYha,MAAO9C,EAA6B,2BAAG,CAAGA,EAAI4a,iBAA2J5a,EAAU,OAAE,CAAEA,EAAgB,aAAEI,EAAG,MAAM,CAAC2E,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,0BAA0BtB,MAAO3D,EAAS,MAAEkF,WAAW,QAAQoY,IAAI,qBAAqB/c,YAAY,wBAAwBH,EAAG,MAAM,CAAC2E,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAAStB,MAAO3D,EAAS,MAAEkF,WAAW,UAAU3E,YAAY,QAAQD,MAAMN,EAAI8c,YAAYrc,GAAG,CAAC,MAAQT,EAAIkc,qBAAqB,CAAElc,EAAgB,aAAEI,EAAG,MAAM,CAACG,YAAY,sBAAsBuC,MAAM,CAAG,mBAAoB9C,EAAI0F,SAAWtF,EAAG,MAAM,CAACG,YAAY,QAAQD,MAAMN,EAAI8c,YAAYtc,MAAM,CAAC,IAAMR,EAAI0F,OAAOjF,GAAG,CAAC,MAAQT,EAAIkc,qBAAlsB9b,EAAG,OAAO,CAACG,YAAY,qBAAqBD,MAAMN,EAAIod,gBAAgBta,MAAO9C,EAAqB,mBAAG,CAACA,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIkb,KAAK,QAAulB,IAAI,GACxjC,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,iGC4DA,oB,sTAoCAjM,EAAA,eAAAlO,EAAAA,EAAAA,IAAAE,EAAAA,KAmBA,iBACA,KAAAsc,qBACA,KAAAC,e,CAIAC,mBACA,OAAAxC,MAAAyC,QAAA,KAAAC,UAAA,KAAAA,SAAA,MAAAA,S,CAKAC,mBACA,MAAAra,EAAA,GAOA,OANA,KAAAsa,iBACAta,EAAAua,KAAA,KAAAC,kBAEA,KAAAC,WACAza,EAAAua,KAAA,oBAEAva,C,CAGA0a,kBACA,YAAA/R,SACA,KAAAuR,aAAAS,KAAA,KAAAxU,QAAA,YAAAyU,OAGA,KAAAV,aAAAlS,SAAA,wBAAAkS,aAAAS,KAAA,I,CAGAE,iBACA,YAAAC,iBACA,QAEA,E,CAGA,aAEA,KAAAC,UAAA,S,CAGA,aAEA,KAAAA,UAAA,OACA,KAAAC,MAAA,C,CAGA,kBACA,KAAAd,aAAAlS,SAAA,eAAAW,WACA,KAAAsS,gB,CAIA,iBACA,KAAAD,KAAA,KAAAf,gBAAA,KAAAiB,c,CAGA,gBAEA,KAAAC,gCACA,KAAAA,gCACA,KAAAA,8BAAA,MAGA,KAAAH,MAAA,OAAAD,UAAA,OAGA,KAAApS,WACAyS,EAAAA,EAAAA,IAAA,E,CAIA,eAEA,KAAAL,UAAA,eAAAC,MAAA,EAGA,KAAAG,8BAAAE,EAAAA,EAAAA,YAAA,KACA,QAAAC,iBAAA,CACA,MAAAC,EAAA,KAAAD,mBAIA,OAHA,IAAAC,GACA,KAAAtB,gBAEAsB,C,CAEA,KAAAtB,e,IAIA,KAAAtR,WACAyS,EAAAA,EAAAA,IAAA,E,CAIA,sBAAAhb,GACA,KAAAob,cACA,KAAAR,KAAA5a,EACA,KAAA2a,UAAA3a,EAAA,iB,+BAxGA,KAAA4a,MAAA,OAAAD,UAAA,OAEA,KAAAI,8BAAA,I,OAfAxf,EAAAA,EAAAA,IAAA,CAAAC,QAAA,WADA8P,EAAA,UACA0O,gBAAA,G,IACAze,EAAAA,EAAAA,IAAA,CAAAC,QAAA,YAFA8P,EAAA,UAEA+P,iBAAA,G,IACA9f,EAAAA,EAAAA,IAAA,CAAAC,SAAA,KAHA8P,EAAA,UAGA8I,eAAA,G,IACA7Y,EAAAA,EAAAA,IAAA,CAAAC,SAAA,KAJA8P,EAAA,UAIAoP,wBAAA,G,IACAnf,EAAAA,EAAAA,IAAA,CAAAC,SAAA,KALA8P,EAAA,UAKA8P,mBAAA,G,IACA7f,EAAAA,EAAAA,IAAA,CAAAC,QAAA,KANA8P,EAAA,UAMAgQ,cAAA,G,IACA/f,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAPA8P,EAAA,UAOA8O,wBAAA,G,IAEA7e,EAAAA,EAAAA,IAAA,CAAAC,QAAA,QATA8P,EAAA,UASA4P,wBAAA,G,IACA3f,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAVAyP,EAAA,UAUAsO,2BAAA,G,IACAre,EAAAA,EAAAA,IAAA,CAAAC,QAAA,KAAAC,KAAAC,UAXA4P,EAAA,UAWAiQ,uBAAA,G,IAAAhgB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAXAyP,EAAA,UAWAyH,sBAAA,G,IAiBAyI,EAAAA,EAAAA,IAAA,CAAAxT,KAAAyT,EAAAA,EAAAjgB,SAAA,KA5BA8P,EAAA,UA4BA+O,iBAAA,G,IA6BApe,EAAAA,EAAAA,IAAA,SAzDAqP,EAAA,UA0DAoQ,aAAA,M,IAIAzf,EAAAA,EAAAA,IAAA,UA9DAqP,EAAA,UA+DAqQ,aAAA,M,IAeA1f,EAAAA,EAAAA,IAAA,UA9EAqP,EAAA,UA+EAuO,gBAAA,M,IAcA5d,EAAAA,EAAAA,IAAA,SA7FAqP,EAAA,UA8FAwP,eAAA,MA9FAxP,EAAA,IARAlP,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CACA+T,WAAA,KAEA1R,WAAA,CACAoK,aAAAC,IAAAA,cAGAH,GChG0O,UCoB1O,SAXgB,E,SAAA,GACd,GHVW,WAAa,IAAIjP,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,OAAOD,MAAM,CAAE,UAAWN,EAAIue,OAAQ,CAAGve,EAAIkM,SAAm/BlM,EAAIU,KAA7+BN,EAAG,YAAY,CAACI,MAAM,CAAC,UAAYR,EAAIgf,UAAU,QAAUhf,EAAIie,YAAY,MAAQ,CAAElW,KAAM,IAAKC,KAAM,IAAK,iBAAmBhI,EAAI4d,aAAa,OAAS5d,EAAIif,OAAO,kBAAoB,iBAAiB,KAAOjf,EAAIue,MAAM9d,GAAG,CAAC,KAAOT,EAAIqf,WAAW,KAAOrf,EAAIsf,YAAY7a,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,UAAUC,GAAG,WAAW,MAAO,CAACxE,EAAG,MAAM,CAACK,GAAG,CAAC,UAAY,SAAS4D,GAAQ,OAAOrE,EAAIuf,uBAAsB,EAAK,EAAE,WAAa,SAASlb,GAAQ,OAAOrE,EAAIuf,uBAAsB,EAAM,EAAE,MAAQvf,EAAIwf,iBAAiB,CAACxf,EAAIa,GAAG,YAAY,GAAG,EAAEiE,OAAM,IAAO,MAAK,IAAO,CAAC1E,EAAG,MAAM,CAACG,YAAY,eAAeD,MAAM,CAAEyX,QAAS/X,EAAI+X,SAAUvX,MAAM,CAAC,cAAc,2BAA2BC,GAAG,CAAC,MAAQT,EAAIyf,iBAAiB,CAACzf,EAAIa,GAAG,WAAU,WAAW,MAAO,CAACT,EAAG,aAAa,CAACG,YAAY,iBAAiBD,MAAMN,EAAIoe,YAAY,CAAChe,EAAG,4BAA4B,CAACG,YAAY,OAAOD,MAAwB,YAAlBN,EAAIse,UAA0B,gBAAkB,gBAAgB9d,MAAM,CAAC,KAAOR,EAAIkf,oBAAoB,GAAG,GAAE,CAAC,KAAOlf,EAAIue,QAAQ,KAAeve,EAAY,SAAEI,EAAG,MAAM,CAACG,YAAY,eAAeD,MAAM,CAAEyX,QAAS/X,EAAI+X,SAAUtX,GAAG,CAAC,MAAQT,EAAIyf,iBAAiB,CAACzf,EAAIa,GAAG,WAAU,WAAW,MAAO,CAACT,EAAG,aAAa,CAACG,YAAY,iBAAiBD,MAAMN,EAAIoe,YAAY,CAAChe,EAAG,4BAA4B,CAACG,YAAY,OAAOD,MAAwB,YAAlBN,EAAIse,UAA0B,gBAAkB,gBAAgB,GAAG,GAAE,CAAC,KAAOte,EAAIue,QAAQ,GAAGve,EAAIU,KAAMV,EAAIue,MAAQve,EAAIkM,SAAU9L,EAAG,MAAM,CAACG,YAAY,qBAAqBE,GAAG,CAAC,MAAQT,EAAIwd,gBAAgB,CAACxd,EAAIa,GAAG,YAAY,GAAGb,EAAIU,MAAM,EAAE,GAC9oD,IGYpB,EACA,KACA,WACA,MAI8B,O,gDCpBhC,I,sBCuBA,G,SAAA,kB,uTAQAwO,EAAA,eAAAnO,EAAAA,EAAAA,IAAAE,EAAAA,KAOA,gBACA,KAAAye,QAAA1Y,MAAA,gB,CAGA2Y,sBACA,YAAAzT,SAGA,cAFA,eAAA0T,W,OAZA1gB,EAAAA,EAAAA,IAAA,CAAA2gB,UAAA,KADA3Q,EAAA,UACA5P,aAAA,G,IACAJ,EAAAA,EAAAA,IAAA,CAAA2gB,UAAA,KAFA3Q,EAAA,UAEA6J,aAAA,G,IACA7Z,EAAAA,EAAAA,IAAA,CAAAC,QAAA,WAHA+P,EAAA,UAGA0Q,iBAAA,G,IACA1gB,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAJA+P,EAAA,UAIA4L,gBAAA,G,IAAA5b,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAJA+P,EAAA,UAIA4Q,oBAAA,GAJA5Q,EAAA,IADAnP,EAAAA,EAAAA,IAAA,KACAmP,GC/BsO,UCmBtO,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIlP,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,aAAa,CAACI,MAAM,CAAC,OAAS,GAAG,KAAO,SAAS,KAAO,kBAAkB,CAACJ,EAAG,MAAM,CAACG,YAAY,aAAauC,MAAO9C,EAAmB,iBAAG,CAACI,EAAG,MAAM,CAACG,YAAY,iBAAiBE,GAAG,CAAC,MAAQT,EAAIwd,gBAAgB,CAACpd,EAAG,8BAA8B,CAACE,MAA0B,WAApBN,EAAI8f,aAA4B,gBAAkB,aAAatf,MAAM,CAAC,KAAO,SAAS,GAAIR,EAAS,MAAEI,EAAG,KAAK,CAACG,YAAY,SAAS,CAACP,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIV,UAAUU,EAAIU,KAAMV,EAAS,MAAEI,EAAG,IAAI,CAACG,YAAY,eAAe,CAACP,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAI+Y,OAAO,OAAO/Y,EAAIU,KAAKN,EAAG,KAAK,CAACJ,EAAIa,GAAG,YAAY,MAAM,GACjnB,IGWpB,EACA,KACA,WACA,MAI8B,O,yDCRhC,MCXgO,GDWhOuG,E,SAAAA,iBAAA,CACApC,KAAA,mBEOA,SAXgB,E,SAAA,GACd,GCTW,WAAa,IAAIhF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACG,YAAY,mBAAmBE,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAOrE,EAAIgH,MAAM,QAAQ,IAAI,CAAC5G,EAAG,kCAAkC,CAACI,MAAM,CAAC,KAAO,SAAS,EAAE,GAChP,IDWpB,EACA,KACA,WACA,MAI8B,O,gDEnBhC,I,uDCgDA,G,SAAA,kB,uTAYAuf,EAAA,cAAAhhB,EAAAA,GAgBA,UACA,KAAAihB,uB,CAGA,UACA,KAAAC,kCAAAC,EAAAA,EAAAA,KAAAC,IACA,KAAAA,kBAAAA,CAAA,G,CAIA,gBACA,KAAAF,kCACA,KAAAA,mCAEA,KAAAvB,+BACA,KAAAA,gCAEA,KAAA0B,0BACA,KAAAA,0B,CAIA,wBAEA,KAAArZ,WACA,KAAA1D,WAAA,KACA,KAAAA,WAAA,KACA,MAAAgd,EAAA,KAAAA,QACAC,EAAAA,EAAAA,IAAAD,GACA,KAAAD,yBAAA,KAAAG,EAAAA,EAAAA,IAAAF,EAAA,GACA,IAEA,KAAA3B,8BAAAE,EAAAA,EAAAA,YAAA,KACA,KAAA4B,kBAAA,MAGA,KAAAJ,2BACA,KAAAA,2BACA,KAAAA,yBAAA,MAEA,KAAA1B,gCACA,KAAAA,gCACA,KAAAA,8BAAA,M,CAKA+B,gBACA,OAAAjhB,QAAA,KAAA2F,OAAA,O,CAGAub,gBACA,OAAAlhB,QAAA,KAAA2F,OAAA,O,CAGA5B,cACA,OACA,wCAAAod,aACA,8CAAAD,UACA,sCAAAE,WACA,MAAAC,WAAArhB,QAAA,KAAAqhB,W,CAIA,mBACA,KAAAD,YACA,KAAAE,gB,CAIA,iB,CAKA,gBAAArS,GACA,KAAAsS,oBACAtS,EAAAzP,gB,CAIA,iB,+BA1FA,KAAAmhB,mBAAA,EAKA,KAAAzB,8BAAA,KACA,KAAAuB,iCAAA,UAAAG,yBAAA,I,OAZAlhB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WADAugB,EAAA,UACAhZ,iBAAA,G,IACA7H,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAFAugB,EAAA,UAEAgB,0BAAA,G,IACA7hB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAHAugB,EAAA,UAGAiB,iBAAA,G,IACA9hB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAJAugB,EAAA,UAIAY,oBAAA,G,IACAzhB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WALAugB,EAAA,UAKAa,kBAAA,G,IAAA1hB,EAAAA,EAAAA,IAAA,CAAAC,QAAA,GAAAC,KAAAC,UALA0gB,EAAA,UAKAc,iBAAA,G,IAIApe,EAAAA,EAAAA,OATAsd,EAAA,UASAM,cAAA,G,IA6BAtU,EAAAA,EAAAA,IAAA,cAtCAgU,EAAA,UAuCAC,wBAAA,M,IA+CApgB,EAAAA,EAAAA,IAAA,UAtFAmgB,EAAA,UAuFAe,iBAAA,M,IAUAlhB,EAAAA,EAAAA,IAAA,kBAjGAmgB,EAAA,UAkGAP,iBAAA,MAlGAO,EAAA,IALAhgB,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CACAue,KAAA,QAGAlB,GC5DwO,UCmBxO,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAI/f,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACI,MAAM,CAAC,GAAK,eAAe,CAACJ,EAAG,OAAO,CAAEJ,EAAa,UAAEI,EAAG,MAAM,CAACG,YAAY,uBAAuBD,MAAMN,EAAIuD,QAAQ9C,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAGA,EAAO6c,SAAW7c,EAAO8c,cAAuB,KAAcnhB,EAAIwgB,iBAAiBjc,MAAM,KAAMC,UAAU,EAAE,SAAW,SAASH,GAAQ,OAAGA,EAAO6c,SAAW7c,EAAO8c,cAAuB,KAAcnhB,EAAIwgB,iBAAiBjc,MAAM,KAAMC,UAAU,EAAE,UAAYxE,EAAIohB,kBAAkB,CAAEphB,EAAc,WAAEI,EAAG,MAAM,CAACG,YAAY,uBAAuBE,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAGA,EAAO6c,SAAW7c,EAAO8c,cAAuB,KAAcnhB,EAAIwgB,iBAAiBjc,MAAM,KAAMC,UAAU,EAAE,SAAW,SAASH,GAAQ,OAAGA,EAAO6c,SAAW7c,EAAO8c,cAAuB,KAAcnhB,EAAIwgB,iBAAiBjc,MAAM,KAAMC,UAAU,IAAI,CAACpE,EAAG,8BAA8B,CAACG,YAAY,eAAeC,MAAM,CAAC,KAAO,MAAMC,GAAG,CAAC,MAAQT,EAAIwgB,qBAAqB,GAAGxgB,EAAIU,KAAKN,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,aAAa,CAACJ,EAAG,MAAM,CAACG,YAAY,qBAAqBD,MAAM,CAAE,sBAAuBN,EAAImgB,mBAAoB1f,GAAG,CAAC,MAAQT,EAAIwf,iBAAiB,CAACxf,EAAIa,GAAG,UAAUT,EAAG,MAAM,CAAC2C,IAAI,SAASxC,YAAY,gBAAgBD,MAAM,CAAE,aAAcN,EAAIygB,UAAW,aAAczgB,EAAIghB,YAAa,CAAChhB,EAAIa,GAAG,WAAYb,EAAa,UAAEI,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACP,EAAIa,GAAG,WAAW,GAAGb,EAAIU,MAAM,IAAI,MAAM,GAAGV,EAAIU,QAAQ,EAAE,GACl6C,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,WCgCA,oB,sTAOA2gB,EAAA,cAAAtiB,EAAAA,GAKAuiB,eAEA,MADA,CAAAC,MAAA,GAAAC,OAAA,GAAAC,MAAA,IACA,KAAAzK,K,CAGA1J,aACA,YAAAgU,SAAA,C,CAGAI,mBACA,YAAAJ,SAAA,KAAAK,W,CAGAC,kBACA,YAAAF,aAAA,C,CAGAC,kBAEA,MADA,CAAAJ,MAAA,EAAAC,OAAA,EAAAC,MAAA,GACA,KAAAzK,K,CAGA6K,sBACA,SAAAvb,KAAAwb,GAAA,KAAAxU,M,CAGAyU,uBACA,YAAAF,gBAAA,KAAAG,SAAA,SAAAH,e,CAGAI,sBACA,OAAAC,SAAA,KAAAC,W,CAGAC,gBACA,OACA,sBAAAT,Y,OAxCAziB,EAAAA,EAAAA,IAAA,CAAAC,QAAA,WADAkiB,EAAA,UACArK,YAAA,G,IACA9X,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAFAkiB,EAAA,UAEAW,gBAAA,G,IAAA9iB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAFA6hB,EAAA,UAEAc,kBAAA,GAFAd,EAAA,IADAthB,EAAAA,EAAAA,IAAA,KACAshB,GCvCoO,UCmBpO,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIrhB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,WAAWuC,MAAO9C,EAAa,UAAEQ,MAAM,CAAC,MAAQR,EAAI0hB,aAAa,OAAS1hB,EAAI0hB,aAAa,SAAY,OAAS1hB,EAAI0hB,aAAe,IAAM1hB,EAAI0hB,aAAc,QAAU,MAAM,MAAQ,+BAA+B,CAACthB,EAAG,SAAS,CAACG,YAAY,mBAAmBC,MAAM,CAAC,KAAO,OAAO,EAAIR,EAAIsN,OAAO,GAAKtN,EAAI4hB,YAAY,GAAK5hB,EAAI4hB,YAAY,mBAAmB5hB,EAAI6hB,mBAAmBzhB,EAAG,SAAS,CAACG,YAAY,wBAAwBD,MAAMN,EAAIiiB,gBAAgBzhB,MAAM,CAAC,KAAO,OAAO,EAAIR,EAAIsN,OAAO,GAAKtN,EAAI4hB,YAAY,GAAK5hB,EAAI4hB,YAAY,mBAAmB5hB,EAAI6hB,gBAAgB,oBAAoB7hB,EAAI+hB,qBAAqB,GACpsB,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,iCCkBA,oB,sTAUAvL,EAAA,cAAAzX,EAAAA,GAOA,wBACA,QAAAsjB,eACA,2BAAAA,eACA,IAGA,cAHA,KAAAA,iBAIA,M,CAEC,MAAD/jB,GAEA2U,QAAApH,MAAAvN,E,MAGA2U,QAAAqP,KAAA,uCAGA,KAAAC,YAAAC,KAAA,KAAAC,gB,CAGAA,sB,IASA,EARA,YAAAC,iBACA,sBAAAA,iBACA,CACA1d,KAAA,KAAA0d,kBAGA,KAAAA,kBAEA,eAAAjX,OAAAwK,YAAA,eAAAyM,kBACA,sBAAAjX,OAAAwK,KAAAyM,iBACA,CACA1d,KAAA,KAAAyG,OAAAwK,KAAAyM,kBAEA,wBAAAjX,OAAAwK,KAAAyM,iBACA,KAAAjX,OAAAwK,KAAAyM,iBAAA,KAAAjX,QAEA,KAAAA,OAAAwK,KAAAyM,iBAGA,CAAAjZ,KAAA,I,CAGAJ,YACA,YAAAkZ,YAAAI,4BAAA,KAAAF,gB,OAlDAvjB,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MADAqX,EAAA,UACAoM,oBAAA,G,IACA1jB,EAAAA,EAAAA,IAAA,KAFAsX,EAAA,UAEAkM,wBAAA,G,IACAxjB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAHAgX,EAAA,UAGAqM,kBAAA,G,IACA3jB,EAAAA,EAAAA,IAAA,CAAAC,QAAA,QAJAqX,EAAA,UAIA6L,sBAAA,GAJA7L,EAAA,IALAzW,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CACAogB,WAAA,QAGAtM,GC5B8N,UCmB9N,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIxW,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACG,YAAY,cAAcD,MAAM,CAAEyiB,SAAU/iB,EAAI6iB,YAAariB,MAAM,CAAC,KAAOR,EAAIqJ,MAAMI,KAAK,cAAc,kBAAkBhJ,GAAG,CAAC,MAAQ,SAAS4D,GAAyD,OAAjDA,EAAOuT,kBAAkBvT,EAAOrF,iBAAwBgB,EAAIgjB,gBAAgBze,MAAM,KAAMC,UAAU,IAAI,CAACpE,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACP,EAAIa,GAAG,WAAU,WAAW,MAAO,CAACT,EAAG,kCAAkC,CAACG,YAAY,aAAaC,MAAM,CAAC,KAAO,QAAQ,KAAI,IAAI,GAC/f,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,0CCgBA,oB,sTAQAgb,EAAA,cAAAzc,EAAAA,GAUAkkB,uBAEA,OADAC,IAAA,KAAArM,OACAsM,QAAA,IAAA9c,U,OAXAnH,EAAAA,EAAAA,IAAA,CAAAC,aAAAuV,KADA8G,EAAA,UACA9D,aAAA,G,IACAxY,EAAAA,EAAAA,IAAA,CAAAC,aAAAuV,KAFA8G,EAAA,UAEA5U,cAAA,G,IACA1H,EAAAA,EAAAA,IAAA,CAAAC,QAAA,SAHAqc,EAAA,UAGAzR,WAAA,G,IACA7K,EAAAA,EAAAA,IAAA,CAAAC,QAAA,KAJAqc,EAAA,UAIA4H,aAAA,G,IACAlkB,EAAAA,EAAAA,IAAA,CAAAC,QAAA,aALAqc,EAAA,UAKA3E,aAAA,G,IACA3X,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MANAqc,EAAA,UAMAkB,eAAA,G,IACAxd,EAAAA,EAAAA,IAAA,CAAAC,SAAA,KAPAqc,EAAA,UAOA6H,gBAAA,G,IAAAnkB,EAAAA,EAAAA,IAAA,CAAAC,QAAA,SAPAqc,EAAA,UAOAvB,oBAAA,GAPAuB,EAAA,IAHAzb,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CAAA4gB,SAAA,KAAAC,cAAA,SAEA/H,GCxBgO,UCmBhO,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIxb,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACG,YAAY,iBAAiBuC,MAAM,CAAG4Z,QAAS1c,EAAI0c,SAAWlc,MAAM,CAAC,MAAQR,EAAI6W,MAAM,UAAY7W,EAAIijB,mBAAmB,CAAC7iB,EAAG,WAAW,CAACG,YAAY,WAAWuC,MAAM,CAAG,kBAAmB9C,EAAIia,cAAgBzZ,MAAM,CAAC,MAAQR,EAAI0X,MAAM,IAAM1X,EAAI+J,IAAI,MAAQ/J,EAAIojB,MAAM,OAASpjB,EAAI4G,OAAO,OAAS5G,EAAIqjB,aAAa,EAAE,GACxZ,IGWpB,EACA,KACA,KACA,MAI8B,O,gDCnBhC,I,sBCUA,oB,sTAGApL,EAAA,eAAAlX,EAAAA,EAAAA,IAAAmI,EAAAA,MAAA+O,EAAA,IAAAlY,EAAAA,EAAAA,IAAA,KAAAkY,GCbyN,UCmBzN,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIjY,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,UAAUD,MAAMN,EAAI6W,OAAO,CAACzW,EAAG,MAAM,CAACG,YAAY,YAAYH,EAAG,MAAM,CAACG,YAAY,YAAYH,EAAG,MAAM,CAACG,YAAY,aAAa,GACnO,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,WCaA,G,4CAAA,kB,uTAWAijB,EAAA,cAAAzkB,EAAAA,GAKAiL,WAQA,MAPA,CACAyZ,KAAA,iCACAC,QAAA,sCACAC,QAAA,oCACAC,OAAA,mCAGA,KAAA1J,M,CAGA2J,mBACA,0BAAA3J,Q,CAGA4J,mBACA,8CAAAC,W,OApBA7kB,EAAAA,EAAAA,IAAA,CAAAC,QAAA,UADAqkB,EAAA,UACAtJ,aAAA,G,IACAhb,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAFAqkB,EAAA,UAEA9H,eAAA,G,IAAAxc,EAAAA,EAAAA,IAAA,CAAAC,SAAA,KAFAqkB,EAAA,UAEAO,iBAAA,GAFAP,EAAA,IADAzjB,EAAAA,EAAAA,IAAA,KACAyjB,GCxBmO,UCmBnO,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIxjB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,qBAAqBD,MAAMN,EAAI8jB,cAAc,CAAC1jB,EAAG,MAAM,CAACG,YAAY,iCAAiC,CAACH,EAAG,MAAM,CAACG,YAAY,wCAAwCD,MAAMN,EAAI6jB,eAAezjB,EAAGJ,EAAIgK,KAAK,CAACD,IAAI,YAAYxJ,YAAY,2BAA2BD,MAAMN,EAAI6jB,aAAarjB,MAAM,CAAC,KAAO,SAAS,GAAGJ,EAAG,MAAM,CAACG,YAAY,+BAA+B,CAACP,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAI0b,SAAS,QAAQ,GAC/e,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,sBCeA,oB,sTASA9Y,EAAA,cAAA7D,EAAAA,GAGA,yBAAAqK,GACA,OACA4a,OAAA5a,EAAAzK,G,OALAO,EAAAA,EAAAA,IAAA,CAAAC,QAAA,UAAAyD,EAAA,UAAAC,qBAAA,GAAAD,EAAA,IAHA7C,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CAAA8gB,kBAAA,QAEA5gB,GCxBuO,UCmBvO,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAI5C,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,mBAAmB,CAACG,YAAY,oBAAoBC,MAAM,CAAC,KAAO,OAAO,IAAM,QAAQR,EAAI0I,GAAI1I,EAAiB,eAAE,SAASoJ,GAAM,OAAOhJ,EAAG,oBAAoB,CAACuE,IAAIyE,EAAKzK,GAAG4B,YAAY,0BAA0BuC,MAAO9C,EAAIikB,yBAAyB7a,GAAO5I,MAAM,CAAC,MAAQ4I,EAAK8Q,MAAM,QAAU9Q,EAAKsS,QAAQ,UAAYtS,EAAK2a,YAAY,IAAG,EAAE,GAC7Z,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,WCOA,oB,sTAGAG,EAAA,cAAAnlB,EAAAA,KAAAmlB,EAAA,IAAAnkB,EAAAA,EAAAA,IAAA,KAAAmkB,GCVgO,UCmBhO,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIlkB,EAAIC,KAASC,EAAGF,EAAIG,eAAuC,OAAjBH,EAAIK,MAAMD,IAAIF,GAAa,aAAaF,EAAImkB,GAAGnkB,EAAI8J,GAAG,CAACtJ,MAAM,CAAC,KAAO,SAAS,aAAaR,EAAIokB,QAAO,GAAOpkB,EAAIqkB,YAAY,CAACrkB,EAAIa,GAAG,YAAY,EAAE,GACrM,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,4CC4BA,oB,sTAMAyjB,EAAA,eAAAvjB,EAAAA,EAAAA,IAAAE,EAAAA,GAAAsjB,EAAAA,KAQA,UACA,KAAAC,eAAA,KAAAC,IAAAC,QACA,KAAAD,IAAAE,kBACA,KAAAF,IAAAE,iBAAA,cAAAC,qB,CAIA,YACA,KAAAH,IAAAI,qBACA,KAAAJ,IAAAI,oBAAA,cAAAD,qB,CAIA,qBAAAnW,GACA,KAAA+V,eAAA/V,EAAAiW,O,CAGAI,yBACA,YAAAC,aAAA,sBAAAC,c,+BAvBA,KAAAP,IAAAQ,OAAAC,YAAAC,EAAAA,EAAAA,IAAA,OAEA,KAAAX,gBAAA,C,OAJAtlB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WADA8kB,EAAA,UACAU,sBAAA,G,IAAA9lB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WADA8kB,EAAA,UACAc,4BAAA,GADAd,EAAA,IADAvkB,EAAAA,EAAAA,IAAA,KACAukB,GClC0N,UCmB1N,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAItkB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,mBAAmBD,MAAM,CACvI,mBAAoBN,EAAI8kB,mBACxB,0BAA2B9kB,EAAI8kB,oBAAsB9kB,EAAIolB,sBAC3D5kB,MAAM,CAAC,GAAK,uBAAuB,CAACJ,EAAG,MAAM,CAACG,YAAY,iBAAiB,CAACH,EAAG,gBAAgB,CAACI,MAAM,CAAC,KAAO,mBAAmBR,EAAIa,GAAG,kBAAkB,GAAGb,EAAIa,GAAG,UAAUT,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAAEP,EAAI+kB,aAAa,gBAAiB3kB,EAAG,MAAM,CAAC2E,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAAStB,MAAO3D,EAAkB,eAAEkF,WAAW,mBAAmB3E,YAAY,qBAAqB,CAACP,EAAIa,GAAG,eAAe,KAAK,CAAC,eAAiBb,EAAIwkB,kBAAkB,GAAGxkB,EAAIU,KAAKV,EAAIa,GAAG,YAAY,GAAGb,EAAIa,GAAG,YAAY,EAAE,GACjf,IGQpB,EACA,KACA,WACA,MAI8B,O,+CCnBhC,I,uDCGA,IAAIwkB,GAAwB,ECK5B,wB,sTAQAC,EAAA,cAAAvmB,EAAAA,GAMA,UACA,KAAAwmB,eAAAC,EAAAA,EAAAA,MDlBOC,eAAgCC,GACnC,GAAKL,EAEDM,EAAAA,GAAAA,oBACO,IAAIlkB,SAAc,CAAC/C,EAASknB,KAC/B1kB,YAAWukB,gBACDI,EAAAA,EAAAA,OACNnnB,GAAS,GACVgnB,GAAW,GAEdL,GAAwB,CAAK,G,CCSzCS,CAAA,I,CAGA,uBAAAC,EAAAC,SAAAC,eAAA,W,IAQA,KALA,KAAAC,eAAA,KAAAhM,QACA,KAAAA,MAAA,KAAAgM,cAGAH,KACAA,EAAApc,MAAA,eAAAuQ,aAAA,eAAAiM,eAAA,eAAAZ,qBAAA,eAAAY,cAAAC,GAGA,QAAAlM,MAAA,CACA,MAAAmM,GAAAC,EAAAA,EAAAA,IAAA,KAAApM,OACAqM,EAAAP,SAAAO,KACAzjB,EAAAkjB,SAAAQ,cAAA,SACA1jB,EAAA2jB,YAAAT,SAAAU,eAAAL,IACAE,EAAAE,YAAA3jB,E,EAIA,UACA,KAAA6jB,gB,+BA7BA,KAAApB,cAAA,I,OAFArmB,EAAAA,EAAAA,OADAomB,EAAA,UACApL,aAAA,G,IAAAhb,EAAAA,EAAAA,OADAomB,EAAA,UACAY,oBAAA,G,IAUAna,EAAAA,EAAAA,IAAA,UAXAuZ,EAAA,UAWAqB,iBAAA,MAXArB,EAAA,IADAvlB,EAAAA,EAAAA,IAAA,KACAulB,GChB+N,U,eCmB/N,SAXgB,OACd,GCTW,WAAa,IAAItlB,EAAIC,KAASC,EAAGF,EAAIG,eAAuC,OAAjBH,EAAIK,MAAMD,IAAIF,GAAa,MAAM,CAACM,MAAM,CAAC,GAAK,kBAAkB,CAACR,EAAIa,GAAG,YAAY,EAAE,GACxI,IDWpB,EACA,KACA,WACA,MAI8B,Q,eEZhC,oB,sTAQA8B,EAAA,eAAA5B,EAAAA,EAAAA,IAAAuV,EAAAA,OAAA3T,EAAA,IAJA5C,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CACA4iB,cAAA,MAEA3iB,GCfuN,UCkBvN,SAXgB,OACd,GRRW,WAAa,IAAI3C,EAAIC,KAASC,EAAGF,EAAIG,eAAuC,OAAjBH,EAAIK,MAAMD,IAAIF,GAAa,gBAAgB,CAACM,MAAM,CAAC,MAAQR,EAAIoW,gBAAgB,CAACpW,EAAIa,GAAG,YAAY,EAAE,GACvJ,IQUpB,EACA,KACA,KACA,MAI8B,O,gDClBhC,I,sBCuBA,oB,sTAIAwG,EAAA,cAAAtI,EAAAA,GAMA6nB,2BACA,SAAAC,WACA,OAEA,MAAAC,EAAA,sBAAAD,WAAA,KAAAA,WAAA,IAAA1gB,KAAA,KAAA0gB,YAAAE,UAGAC,EAHA,IAAA7gB,KAAAA,KAAA8gB,OAAAF,UAGAD,EACAI,EAAA5gB,KAAAC,MAAAygB,EAAA,WACA,GAAAE,EAAA,WAAAA,MACA,MAAAC,EAAA7gB,KAAAC,MAAAygB,EAAA,UACA,GAAAG,EAAA,WAAAA,MACA,MAAAC,EAAA9gB,KAAAC,MAAAygB,EAAA,QACA,GAAAI,EAAA,WAAAA,MACA,MAAAC,EAAA/gB,KAAAC,MAAAygB,EAAA,OACA,GAAAK,EAAA,WAAAA,MACA,MAAAC,EAAAhhB,KAAAC,MAAAygB,EAAA,MACA,GAAAM,EAAA,WAAAA,MACA,MAAAC,EAAAjhB,KAAAC,MAAAygB,EAAA,KACA,GAAAO,EAAA,WAAAA,MACA,MAAAC,EAAAlhB,KAAAC,MAAAygB,EAAA,KACA,OAAAQ,EAAA,KAAAA,WAAA,C,CAIAC,iBACA,KAAAzgB,MAAA,Q,OA/BA9H,EAAAA,EAAAA,IAAA,CAAAE,KAAAC,UADAgI,EAAA,UACA4G,gBAAA,G,IACA/O,EAAAA,EAAAA,IAAA,CAAAE,KAAAC,UAFAgI,EAAA,UAEAqgB,YAAA,G,IACAxoB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAHA6H,EAAA,UAGAsgB,cAAA,G,IAAAzoB,EAAAA,EAAAA,IAAA,CAAAE,KAAA,CAAAC,OAAAuoB,OAAAzhB,SAHAkB,EAAA,UAGAwf,kBAAA,GAHAxf,EAAA,IADAtH,EAAAA,EAAAA,IAAA,CAAA2C,WAAA,CAAAiX,YAAA,QACAtS,GC3BwN,UCmBxN,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIrH,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,eAAeD,MAAMN,EAAI2nB,QAAU,qBAAqBlnB,GAAG,CAAC,MAAQT,EAAIynB,iBAAiB,CAACrnB,EAAG,MAAM,CAACG,YAAY,oCAAoCH,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACP,EAAIa,GAAG,SAAQ,WAAW,MAAO,CAACT,EAAG,cAAc,CAACG,YAAY,QAAQC,MAAM,CAAC,IAAMR,EAAIiO,SAAS,KAAO,CAAC,GAAI,IAAI,aAAe,QAAQ,gBAAkB,WAAW,KAAI,GAAGjO,EAAIa,GAAG,WAAU,WAAW,MAAO,CAACT,EAAG,IAAI,CAACG,YAAY,sBAAsB,CAACP,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI0nB,SAAS,IAAI1nB,EAAwB,qBAAEI,EAAG,IAAI,CAACG,YAAY,6BAA6B,CAACP,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI4mB,yBAAyB5mB,EAAIU,MAAM,EAAE,GAChsB,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,WCYA,G,SAAA,kB,uTAIA4G,EAAA,cAAAvI,EAAAA,GAIA8oB,+BACA,YAAAC,iBAGA,KAAAA,kBAAA,QAAAA,iBAAA,MAFA,KAAAA,gB,OALA5oB,EAAAA,EAAAA,OADAoI,EAAA,UACAwgB,wBAAA,G,IAAA5oB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WADA8H,EAAA,UACAygB,gBAAA,GADAzgB,EAAA,IADAvH,EAAAA,EAAAA,IAAA,CAAA2C,WAAA,MACA4E,GChB+N,UCmB/N,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAItH,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,UAAUD,MAAM,CAAE,kBAAmBN,EAAI+nB,UAAWtnB,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAOrE,EAAIgH,MAAM,QAAQ,IAAI,CAAEhH,EAAoB,iBAAEI,EAAG,MAAM,CAACG,YAAY,8BAA8B,CAACP,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI6nB,6BAA6B7nB,EAAIU,KAAKN,EAAG,yCAAyC,CAACG,YAAY,gBAAgBC,MAAM,CAAC,KAAO,aAAa,EAAE,GACzb,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,WCWA,MCXsN,GDWtN4G,EAAAA,EAAAA,iBAAA,CACApC,KAAA,aACAuH,MAAA,CACAyb,WAAA,CACA5oB,KAAAI,QACAL,SAAA,GAEA0X,MAAA,CACAzX,KAAAC,OACAF,QAAA,WAEA6X,KAAA,CACA5X,KAAAC,OACAF,QAAA,UAEA8oB,WAAA,CACA7oB,KAAAC,QAEA0oB,SAAA,CACA3oB,KAAAI,QACAL,SAAA,IAGA+oB,MAAA,UACA1gB,MAAA+E,EAAA,G,IAAA,KAAA4b,GAAA,EAWA,OACA5kB,SAXAiN,EAAAA,EAAAA,WAAA,KACAjE,EAAAyK,KACAzK,EAAAsK,MACA,CACAE,SAAAxK,EAAAyb,WACA,YAAAzb,EAAAwb,SACA,UAAAxb,EAAA0b,cAAAzoB,QAAA+M,EAAA0b,gBAMApQ,UAHA,IAAAsQ,EAAA,S,IE1BA,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAInoB,EAAIC,KAASC,EAAGF,EAAIG,eAAuC,OAAjBH,EAAIK,MAAMD,IAAIF,GAAa,SAAS,CAACK,YAAY,kCAAkCD,MAAMN,EAAIuD,QAAQ/C,MAAM,CAAC,SAAWR,EAAIgoB,YAAYvnB,GAAG,CAAC,MAAQT,EAAI6X,YAAY,CAAC7X,EAAIa,GAAG,YAAY,EAAE,GAC3O,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,uDC0DA,MC1DoN,GD0DpNuG,EAAAA,EAAAA,iBAAA,CACApC,KAAA,oBACAtC,WAAA,CAAA0lB,UAAA,IAAAC,WAAA,cACA9b,MAAA,CACA+b,YAAA,CACAlpB,KAAAC,OACAF,QAAA,IAEAwE,MAAA,CACAvE,KAAA,CAAA+G,KAAAgE,SAEAoe,SAAA,CACAnpB,KAAAI,QACAL,SAAA,GAEAqpB,UAAA,CACAppB,KAAAI,QACAL,SAAA,GAEA6oB,WAAA,CACA5oB,KAAAI,QACAL,SAAA,GAEAspB,aAAA,CACArpB,KAAAI,QACAL,SAAA,GAEAupB,QAAA,CACAtpB,KAAAI,QACAL,SAAA,IAGA+oB,MAAA,UACA1gB,MAAA+E,EAAA,G,IAAA,KAAA4b,GAAA,EACA,MAAAQ,GAAA5lB,EAAAA,EAAAA,KAAA,MACA6lB,GAAA7lB,EAAAA,EAAAA,KAAA,MAAA8lB,GAAA9lB,EAAAA,EAAAA,KAAA,MAaAqa,GAAA5M,EAAAA,EAAAA,WAAA,KACA,CACAsY,OAAAvc,EAAA5I,OAAAglB,EACA5R,SAAAxK,EAAAyb,WACAe,QAAAxc,EAAAic,cAIAQ,GAAAxY,EAAAA,EAAAA,WAAA,KACA,CACAlR,MAAA,YACA2pB,SAAA,MACAC,UAAA,MACAC,MAAA,eACAC,WAAA,mBACAC,KAAA,mBAIAC,GAAA9Y,EAAAA,EAAAA,WAAA,KACA,CACA8X,YAAA/b,EAAA+b,gBAIA7gB,GAAA+I,EAAAA,EAAAA,WAAA,KACA,CACAwO,UAAA,eACAuK,WAAA,QACAC,UAAA,CACA,CACAxkB,KAAA,kBACAykB,QAAA,CACAC,aAAA,WACAC,QAAA,EACAC,SAAA,EACA1S,QAAA,SAyBA,OACAyR,cACAkB,mBAZAC,GACA,iBAAAA,GACAC,EAAAA,EAAAA,IAAAD,GACAA,EAAAhD,OAAAgD,EAAAE,IACA,IAAAD,EAAAA,EAAAA,IAAAD,EAAAhD,aAAAiD,EAAAA,EAAAA,IAAAD,EAAAE,OAEA,GAOAnmB,UA1EAF,IACAA,aAAAwC,MACAyiB,EAAAjlB,MAAAsmB,UAAAtmB,GAEAzC,YAAA,K,IAAA2nB,EAAA,EAAAA,OAAA,QAAAA,EAAAA,EAAAllB,aAAA,IAAAklB,GAAA,QAAAA,EAAAA,EAAAM,aAAA,WAAAN,EAAAA,EAAAqB,MAAA,OAGA/B,EAAA,QAAAxkB,IAoEAyZ,kBACA4L,QACAM,aACA7hB,UACA0iB,uBA1BA,CAAAC,EAAAzmB,KAAAymB,EAAAzmB,GAGAA,GACAilB,EAAAjlB,MAAAsmB,UAAAtmB,E,EAuBAilB,aACAC,eACAkB,iBAAA,K,IE9JA,SAXgB,E,SAAA,GACd,GHVW,WAAa,IAAI/pB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,aAAa,CAAC2C,IAAI,aAAaxC,YAAY,cAAcD,MAAMN,EAAIod,gBAAgB5c,MAAM,CAAC,KAAO,SAAS,WAAa,GAAG,QAAUR,EAAI0oB,QAAQ,MAAQ1oB,EAAI2D,MAAM,QAAU3D,EAAIyH,QAAQ,WAAazH,EAAIspB,WAAW,gBAAkB,CACjUe,UAAW,CACP/pB,MAAO,0BACPgqB,aAAc,0BAEpB,cAAgB,CACdD,UAAW,CACP/pB,MAAO,2BACPgqB,aAAc,2BAEpB,MAAQtqB,EAAIgpB,OAAOvoB,GAAG,CAAC,MAAQT,EAAI6D,WAAWY,YAAYzE,EAAI0E,GAAG,CAAG1E,EAAIuoB,SAOuH,KAP7G,CAAC5jB,IAAI,UAAUC,GAAG,SAAS7B,GAC/G,IAAI+mB,EAAa/mB,EAAI+mB,WACjBS,EAAcxnB,EAAIwnB,YAClBC,EAAcznB,EAAIynB,YAClBC,EAAc1nB,EAAI0nB,YAC1B,MAAO,CAACrqB,EAAG,YAAY,CAAC2C,IAAI,eAAevC,MAAM,CAAC,UAAYR,EAAIwoB,UAAU,WAAaxoB,EAAIgoB,WAAW,MAAQhoB,EAAI6pB,mBAAmBC,GAAY,YAAc9pB,EAAIsoB,YAAY,KAAO,SAAS7nB,GAAG,CAAC,OAAS,SAAS4D,GAAQ,OAAOrE,EAAImqB,uBAAuBI,EAAalmB,EAAO,EAAE,MAAQmmB,EAAY,KAAOC,GAAahmB,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,OAAOC,GAAG,SAAS7B,GACvW,IAAI2nB,EAAQ3nB,EAAI2nB,MACpB,MAAO,CAAC1qB,EAAIa,GAAG,QAASb,EAAgB,aAAEI,EAAG,8BAA8B,CAACG,YAAY,YAAYC,MAAM,CAAC,KAAO,MAAMC,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAOqmB,GAAO,KAAK1qB,EAAIU,KAAK,IAAI,MAAK,KAAQ,IAAS,MAAK,IAAO,GACjM,IGLpB,EACA,KACA,WACA,MAI8B,O,gDCpBhC,I,qDC6CA,oB,sTAaAiqB,EAAA,cAAA5rB,EAAAA,GAgBA6rB,mBACA,YAAAC,SAAA,wBAAAA,gBAAAnW,C,CAGA,oBACA,KAAAqT,UAAA,C,CAGA,oBAEA,KAAAA,UAAA,C,CAGA,cACA,KAAA+C,MAAArjB,QAAAO,M,CAGA,gBACA,KAAA8iB,MAAArjB,QAAAsjB,Q,+BArBA,KAAAhD,UAAA,C,OAZA7oB,EAAAA,EAAAA,IAAA,CAAA2gB,UAAA,EAAAzgB,KAAAC,UADAsrB,EAAA,UACArrB,aAAA,G,IACAJ,EAAAA,EAAAA,IAAA,CAAAC,QAAA,UAAAC,KAAAC,UAFAsrB,EAAA,UAEA9T,aAAA,G,IACA3X,EAAAA,EAAAA,IAAA,CAAAC,QAAA,QAAAC,KAAAC,UAHAsrB,EAAA,UAGA3T,YAAA,G,IACA9X,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAJAmrB,EAAA,UAIA3C,kBAAA,G,IACA9oB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WALAmrB,EAAA,UAKApN,2BAAA,G,IACAre,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WANAmrB,EAAA,UAMA5Q,iBAAA,G,IACA7a,EAAAA,EAAAA,IAAA,CAAAC,QAAA,eAAAC,KAAAC,UAPAsrB,EAAA,UAOA3L,iBAAA,G,IACA9f,EAAAA,EAAAA,IAAA,CAAAC,aAAAuV,EAAAtV,KAAAC,UARAsrB,EAAA,UAQAE,gBAAA,G,IACA3rB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WATAmrB,EAAA,UASAK,sBAAA,G,IACA9rB,EAAAA,EAAAA,IAAA,CAAAC,QAAA,WAAAC,KAAAC,UAVAsrB,EAAA,UAUAM,+BAAA,G,IACA/rB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAXAmrB,EAAA,UAWAO,4BAAA,G,IAAAhsB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAXAmrB,EAAA,UAWA5G,iBAAA,G,IAaAnkB,EAAAA,EAAAA,IAAA,SAxBA+qB,EAAA,UAyBAQ,oBAAA,MAzBAR,EAAA,IAHA5qB,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CAAA0oB,uBAAA,IAAA7jB,QAAA,QAEAojB,GC1D0N,UCmB1N,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAI3qB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,UAAU,CAAC2C,IAAI,UAAUvC,MAAM,CAAC,UAAYR,EAAIgf,UAAU,oBAAsBhf,EAAIud,oBAAoB,gBAAkBvd,EAAI6qB,SAAS,iBAAmB7qB,EAAIirB,wBAAwB,cAAgBjrB,EAAIkrB,sBAAsBzqB,GAAG,CAAC,KAAOT,EAAImrB,mBAAmB1mB,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,SAASC,GAAG,SAAS7B,GACnZ,IAAIsF,EAAStF,EAAIsF,OACbtB,EAAYhE,EAAIgE,UACpB,MAAO,CAAC3G,EAAG,aAAa,CAACI,MAAM,CAAC,OAASuG,GAAa/G,EAAIgrB,eAAe,KAAOhrB,EAAIgX,KAAK,MAAQhX,EAAI6W,MAAM,KAAO7W,EAAI+jB,UAAY,OAAS,aAAa,SAAW/jB,EAAIgoB,WAAW,QAAUhoB,EAAI+Z,UAAU,cAAc/Z,EAAI4qB,cAAcnqB,GAAG,CAAC,MAAQ4H,IAAS,CAAGrI,EAAI+jB,UAAqS/jB,EAAIa,GAAG,gBAAjS,CAACb,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIV,OAAO,KAAiBc,EAAZ,EAAe,kCAAoH,oCAAlF,CAACI,MAAM,CAAC,KAAO,OAAO,KAAoB,UAAbR,EAAIgX,KAAmB,KAAO,MAAMqU,KAAK,WAAwJ,GAAG,GAAG,CAAC1mB,IAAI,UAAUC,GAAG,WAAW,MAAO,CAAC5E,EAAIa,GAAG,6BAA4B,WAAW,MAAO,CAACT,EAAG,yBAAyB,CAACJ,EAAIa,GAAG,YAAY,GAAG,IAAG,EAAEiE,OAAM,IAAO,MAAK,IAAO,GAC/tB,IGQpB,EACA,KACA,KACA,MAI8B,O,gDCnBhC,I,WCOA,oB,sTAIAsmB,EAAA,cAAArsB,EAAAA,GAGA,UACA,KAAAiI,MAAA,U,OAJA9H,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAAA4rB,EAAA,UAAAE,sBAAA,GAAAF,EAAA,GADArrB,EAAAA,IACAqrB,GCXwO,UCmBxO,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIprB,EAAIC,KAASC,EAAGF,EAAIG,eAAuC,OAAjBH,EAAIK,MAAMD,IAAIF,GAAa,MAAM,CAACK,YAAY,2BAA2BD,MAAM,CAAE,kBAAmBN,EAAIsrB,iBAAkB,CAACtrB,EAAIa,GAAG,YAAY,EAAE,GAClM,IGWpB,EACA,KACA,WACA,MAI8B,O,wDCnBhC,I,sDCuDA,MCvD8N,GDuD9NuG,EAAAA,EAAAA,iBAAA,CACApC,KAAA,eACAtC,WAAA,CAAAwV,aAAA,IAAArO,gBAAA,KACA0hB,QAAA,CAAAlB,UAAA,MACA9d,MAAA,CACAjN,MAAA,CACAF,KAAAC,OACAwgB,UAAA,EACA1gB,aAAAuV,GAEA8W,WAAA,CACApsB,KAAAI,QACAL,SAAA,GAEA6oB,WAAA,CACA5oB,KAAAI,QACAL,SAAA,GAEAssB,aAAA,CACArsB,KAAAI,QACAL,SAAA,GAEAusB,OAAA,CACAtsB,KAAAC,OACAF,QAAA,IAEAwsB,WAAA,CACAvsB,KAAAI,QACAL,SAAA,GAEAysB,aAAA,CACAxsB,KAAAI,QACAL,SAAA,GAEA0sB,cAAA,CACAzsB,KAAAI,QACAL,SAAA,GAEA4Z,MAAA,CACA3Z,KAAA,CAAAwoB,OAAAvoB,QACAF,aAAAuV,GAEA1K,KAAA,CACA5K,KAAAC,OACAF,aAAAuV,GAEAoX,OAAA,CACA1sB,KAAAC,OACAF,aAAAuV,GAEAqX,WAAA,CACA3sB,KAAAI,QACAL,SAAA,GAEA6sB,UAAA,CACA5sB,KAAAC,OACAF,QAAA,WAEA8sB,QAAA,CACA7sB,KAAAC,OACAF,aAAAuV,GAEAwX,YAAA,CACA9sB,KAAAI,QACAL,SAAA,IAGA+oB,MAAA,yBACA1gB,MAAA+E,EAAA,G,IAAA,KAAA4b,GAAA,EAcA,OACA7Y,QAdAb,IAAAlC,EAAAyb,YAGAG,EAAA,QAAA1Z,EAAA,EAYA0d,eALAC,EAAAA,EAAAA,QAMAC,cAVA5d,IAAAlC,EAAAyb,YAGAG,EAAA,eAAA1Z,EAAA,E,IElHA,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIzO,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAC2E,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUtB,MAAM,CACpJ2oB,QAAStsB,EAAIisB,QACbM,QAASvsB,EAAIisB,QAAU,aAAe,UACvC/mB,WAAW,6FAA6F3E,YAAY,gBAAgBD,MAAM,CACzI,cAAeN,EAAIwrB,WACnB,cAAexrB,EAAIgoB,WACnB,gBAAiBhoB,EAAI4rB,aACrB,iBAAkB5rB,EAAIyrB,aACtB7H,OAA0B,WAAlB5jB,EAAIgsB,WACdxrB,MAAM,CAAC,cAAc,iBAAiBC,GAAG,CAAC,MAAQT,EAAIsP,UAAU,CAAEtP,EAAgB,aAAEI,EAAG,eAAe,CAACG,YAAY,yBAAyBC,MAAM,CAAC,MAAQR,EAAI6rB,cAAc,MAAQ7rB,EAAIwrB,cAAcxrB,EAAIU,KAAQV,EAAImF,OAAO6E,KAAM5J,EAAG,MAAM,CAACG,YAAY,iDAAiD,CAACP,EAAIa,GAAG,SAAS,GAAGb,EAAIU,KAAMV,EAAc,WAAEI,EAAG,kBAAkB,CAACG,YAAY,uBAAuBC,MAAM,CAAC,MAAQ,SAAS,KAAO,GAAG,MAAQR,EAAI8rB,OAAO,QAAU9rB,EAAIV,SAASU,EAAIU,KAAKN,EAAG,MAAM,CAACG,YAAY,sBAAsB,CAACP,EAAIa,GAAG,WAAU,WAAW,MAAO,CAACT,EAAG,OAAO,CAACI,MAAM,CAAC,MAAQR,EAAIV,OAAO0D,SAAS,CAAC,UAAYhD,EAAIY,QAA4B8T,IAAzB1U,EAAIwsB,SAASjB,SAAyBvrB,EAAIwsB,SAASjB,QAAQlB,UAAUrqB,EAAIV,MAAOU,EAAI0rB,OAAQ1rB,EAAImsB,oBAAoB,KAAI,GAAInsB,EAAS,MAAEI,EAAG,OAAO,CAACG,YAAY,QAAQD,MAAM,CAAE,eAAgBN,EAAIksB,cAAe,CAAClsB,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+Y,UAAU/Y,EAAIU,KAAMV,EAAc,WAAEI,EAAG,OAAO,CAACG,YAAY,uBAAuBE,GAAG,CAAC,MAAQT,EAAIqsB,gBAAgB,CAACjsB,EAAG,mCAAmC,CAACI,MAAM,CAAC,KAAO,SAAS,GAAGR,EAAIU,MAAM,EAAE,GAC9gC,IGEpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,sBCuBA,MCvBqN,GDuBrN0G,EAAAA,EAAAA,iBAAA,CACAmF,MAAA,CACAjN,MAAA,CACAF,KAAAC,OACAF,QAAA,IAEAI,YAAA,CACAH,KAAA,CAAAC,OAAA4b,OACA9b,aAAAuV,GAEA+X,iBAAA,CACArtB,KAAAI,QACAL,SAAA,GAEAutB,cAAA,CACAttB,KAAAI,QACAL,SAAA,IAGAqI,MAAA+E,GACA,MAAAogB,GAAAC,EAAAA,EAAAA,MACAC,GAAArc,EAAAA,EAAAA,WAAA,IACAyK,MAAAyC,QAAAnR,EAAAhN,aACAgN,EAAAhN,YACAgN,EAAAhN,YACA,CAAAgN,EAAAhN,aAEA,KAOA,OAAAutB,cAJAtc,EAAAA,EAAAA,WAAA,IACAjE,EAAAmgB,cAAA,gBAGAG,WAAAF,Y,IEtCA,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAI3sB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAGJ,EAAI8sB,aAAa,CAAC/iB,IAAI,YAAYxJ,YAAY,YAAYC,MAAM,CAAC,IAAMR,EAAIysB,mBAAqBzsB,EAAI0sB,cAAgB1sB,EAAI2sB,UAAY,OAAO,CAAC3sB,EAAIa,GAAG,SAAQ,WAAW,MAAO,CAACT,EAAG,KAAK,CAACG,YAAY,oBAAoB,CAACP,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIV,OAAO,OAAO,IAAGU,EAAIa,GAAG,UAAU,KAAK,CAAC,UAAYb,EAAI2sB,YAAY3sB,EAAIa,GAAG,eAAc,WAAW,MAAO,CAAEb,EAAI6sB,SAAe,OAAEzsB,EAAG,KAAK,CAACG,YAAY,0BAA0BP,EAAI0I,GAAI1I,EAAY,UAAE,SAAS0b,GAAS,OAAOtb,EAAG,KAAK,CAACuE,IAAI+W,GAAS,CAAC1b,EAAIW,GAAG,IAAIX,EAAIY,GAAG8a,GAAS,MAAM,IAAG,GAAG1b,EAAIU,KAAK,KAAI,EAAE,GACxmB,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,WCWA,MCXqN,GDWrN0G,EAAAA,EAAAA,iBAAA,CACAmF,MAAA,CACAwgB,WAAA,CACA3tB,KAAA6b,MACA9b,QAAA,QAEA6tB,iBAAA,CACA5tB,KAAAI,QACAL,SAAA,GAEA8tB,uBAAA,CACA7tB,KAAAI,QACAL,SAAA,IAGA+oB,MAAA,eACA1gB,MAAA+E,EAAA,G,IAAA,KAAA4b,GAAA,EACA,MAAA+E,GAAAnqB,EAAAA,EAAAA,UAAA2R,GAAAyY,GAAAC,EAAAA,EAAAA,UAAA,IAiCAC,EAAA,KACAH,EAAAvpB,MAAA4I,EAAAwgB,WAAA5hB,QACA,CAAAmiB,EAAAC,IAhCA,CAAAA,GACAA,EAAAC,YACAD,EAAAF,SAAAE,EAAAC,gBACAL,EAAAI,EAAAE,aAAAF,EAAAG,qBACAP,EAAAI,EAAAE,YAGA,IAEAF,EAAAE,UACAN,EAAAI,EAAAE,WAAAF,EAAAG,aAEAza,QAAApH,MACA,aACA,2FAIA,IAGAoH,QAAApH,MACA,aACA,+FAGA,GAMA8hB,CAAAJ,IAAAD,IACA,GAEAnF,EAAA,aAAA+E,EAAAvpB,OAGAupB,EAAAvpB,OASA,OANAiqB,EAAAA,EAAAA,YAAA,KACArhB,EAAAygB,mBACAa,EAAAA,EAAAA,WAAA,IAAAR,K,IAIA,CACAH,UACAC,SACAE,W,IE9DA,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIrtB,EAAIC,KAASC,EAAGF,EAAIG,eAAuC,OAAjBH,EAAIK,MAAMD,IAAIF,GAAa,MAAM,CAACK,YAAY,aAAaD,MAAM,CAAEwtB,QAAS9tB,EAAIitB,yBAA0B,CAACjtB,EAAIa,GAAG,UAAU,KAAK,CAAC,QAAUb,EAAIktB,QAAQ,OAASltB,EAAImtB,UAAU,EAAE,GACnO,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,uDCWA,MCX6N,GDW7N/lB,EAAAA,EAAAA,iBAAA,CACApC,KAAA,oBACAkjB,MAAA,iBACA1gB,MAAC,CAAD0D,EAAA6iB,MAAAC,EAAAA,EAAAA,SAAA5O,EAAAA,GAAA,GAOA,CAAA6O,mBAJA,WACAF,EAAA5F,KAAA,e,qBEAA,SAXgB,OACd,GCRW,WAAa,IAAInoB,EAAIC,KAASC,EAAGF,EAAIG,eAAuC,OAAjBH,EAAIK,MAAMD,IAAIF,GAAa,MAAM,CAACO,GAAG,CAAC,aAAeT,EAAIiuB,qBAAqB,CAACjuB,EAAIa,GAAG,YAAY,EAAE,GACtJ,IDUpB,EACA,KACA,KACA,MAI8B,QEhB1BqtB,GAAiBnrB,EAAAA,EAAAA,KAAc,I,qCC6ErC,MAIAnB,GAAAU,EAAAA,EAAAA,IAAA,gBCnFuN,GDsFvN8E,EAAAA,EAAAA,iBAAA,CACA1E,WAAA,CACAyrB,kBAAA,GAEA5hB,MAAA,CACA6hB,WAAA,CACAhvB,KAAAC,OACAF,QAAA,MAEA4H,UAAAvH,QACA6uB,aAAA,CACAjvB,KAAAI,QACAL,SAAA,GAEAmvB,gBAAA,CACAlvB,KAAAI,QACAL,SAAA,GAEAovB,kBAAA,CACAnvB,KAAAI,QACAL,SAAA,GAEAqvB,WAAA,CACApvB,KAAAI,QACAL,SAAA,GAEAuX,eAAA,CACAtX,KAAAI,QACAL,SAAA,GAEAsvB,oBAAA,CACArvB,KAAAI,QACAL,SAAA,GAEAuvB,mBAAA,CACAtvB,KAAAC,OACAF,QAAA,MAEAuY,MAAA,CACAtY,KAAA,CAAAwoB,OAAAvoB,OAAA,MACAF,QAAA,KAEAyH,OAAA,CACAxH,KAAAwoB,OACAzoB,QAAA,MAEAwvB,WAAA,CACAvvB,KAAAC,OACAF,QAAA,kBAEAyvB,iBAAA,CACAxvB,KAAAC,OACAF,QAAA,MAEA0vB,wBAAA,CACAzvB,KAAAC,OACAF,QAAA,MAEA2vB,YAAAzvB,OACA0vB,kBAAA,CACA3vB,KAAAC,OACAF,QAAA,MAEA6vB,gCAAA,CACA5vB,KAAAC,OACAF,QAAA,IAEA8vB,oBAAA,CACA7vB,KAAAI,QACAL,SAAA,GAEA+vB,mBAAA,CACA9vB,KAAAI,QACAL,SAAA,GAEAgwB,SAAA,CACA/vB,KAAAC,OACAF,QAAA,OAGA+oB,MAAA,iDACA1gB,MAAA+E,EAAA,G,IAAA,KAAA4b,EAAC,MAADiH,GAAA,EACA,MAAAC,GAAAtsB,EAAAA,EAAAA,KAAA,UACAusB,GAAA1C,EAAAA,EAAAA,MACA2C,EAAAD,EAAAE,MAAA,MACA,mBAAAC,EAAC,gBAADC,EAAC,iBAADC,EAAC,gBAADC,GDlJW,CACHH,mBAjBwBH,IACxBpB,EAAevqB,MAAMma,KAAKwR,EAAQ,EAiBlCO,sBAd0B,IACnB3B,EAAevqB,MAAMmsB,MAc5BJ,iBAvBoBlf,EAAAA,EAAAA,WAAS,IACtB0d,EAAevqB,MAAMuqB,EAAevqB,MAAM8E,OAAS,KAuB1DknB,iBAZsBhxB,IACtBuvB,EAAevqB,MAAQuqB,EAAevqB,MAAMmH,QAAOilB,GAAYpxB,IAAOoxB,GAAS,EAY/EH,iBAToBpf,EAAAA,EAAAA,WAAS,IACtB0d,EAAevqB,MAAM8E,OAAS,KCqJ7CunB,GAAAjtB,EAAAA,EAAAA,KAAA,MAGAktB,EAAAliB,IACAnM,EAAA,cAAA2tB,aAAAxhB,KACAshB,EAAA1rB,MAAAoK,CAAA,EAGAmiB,GAAA1f,EAAAA,EAAAA,WAAA,IACA,CACAjE,EAAAqiB,iBACA,CAAAuB,QAAA,YAAAd,EAAA1rB,OACA,GAAA4I,EAAAoiB,0BAIAyB,GAAA5f,EAAAA,EAAAA,WAAA,IACA,6BACAjF,SAAA8jB,EAAA1rB,UAGAsE,EAAAA,EAAAA,YAAA,KACArG,EAAA,cAAA2tB,sBAAAS,EAAArsB,MAAA,KAGA0sB,EAAAA,EAAAA,cAAA,KACAD,EAAAzsB,OACA2sB,IAGA1uB,EAAA,cAAA2tB,kBAAA,IAEA,IAAA7Q,EAAA,KAGA,SAAA6R,IAAA7R,IAGAA,IACAA,EAAA,K,EAYA8R,EAAAA,EAAAA,KAAAxK,SAAA,SAAAvX,IACAlC,EAAAxF,WAAAuoB,IAAAI,EAAA/rB,QACAwkB,EAAA,QAAA1Z,GAAAA,EAAAgiB,2BAGA,WAAAhiB,EAAA9J,MAAA4H,EAAAkiB,qBAAAliB,EAAA+hB,kBACAoC,EAAA,oB,IAKA,MAAAC,GAAAngB,EAAAA,EAAAA,WAAA,SAAAgI,EAAA,GAUA,OAPAoY,EAAAA,EAAAA,UAAArkB,EAAAmL,QAAA,OAAAnL,EAAAmL,QAAA,EAAAA,MAAAnM,SAAA,OACAiN,EAAA,CACAqY,QAAA,OACAC,eAAA,WAIAtY,CAAA,IAGAuY,GAAAvgB,EAAAA,EAAAA,WAAA,KACA,CACAkH,OAAAkZ,EAAAA,EAAAA,UAAArkB,EAAAmL,OAAA,GAAAnL,EAAAmL,UAAAnL,EAAAmL,UAIAsZ,GAAAxgB,EAAAA,EAAAA,WAAA,KACA,CACAygB,WAAA1kB,EAAA8hB,mBAAA3Z,EACA,uBAAAnI,EAAA2iB,yBAAAxa,EACA,wBAAAnI,EAAA0iB,oBACA,uBAAA1iB,EAAAwiB,qBAAAxiB,EAAAwiB,kBACA,CAAAxiB,EAAAsiB,yBAAAtiB,EAAAsiB,4BAIAqC,GAAA1gB,EAAAA,EAAAA,WAAA,SAAA5J,EAGA,UAAA2F,EAAA3F,QAAAghB,OAAAuJ,SAAA5kB,EAAA3F,QAAA,CACA,MAAAwqB,EAAAhC,EAAAiC,OA3LA,GA2LA,EACAzqB,EAAA2F,EAAA3F,OA5LA,GA4LAwqB,EAAA,I,CAOA,OAJA7kB,EAAA8hB,eACAznB,EAAA,QAGA,CACAA,SACA,IAwBA0pB,EAAA,KAAAL,EAAA,UAGAruB,EAAA,cAAA2tB,+BAAAS,EAAArsB,QACA4c,EAAAA,EAAAA,IAAAyP,EAAArsB,OAAAgsB,EAAAL,GAGAM,EAAAjsB,QACA/B,EAAA,cAAA2tB,oCACA+B,EAAAA,EAAAA,OAGAtB,EAAArsB,QACAqsB,EAAArsB,MAAAb,MAAAyuB,eAAA,aACAvB,EAAArsB,MAAAb,MAAAyuB,eAAA,cAGApJ,EAAA,UAGAuI,EAAAc,IACA5vB,EAAA,cAAA2tB,8BAAAiC,KACArJ,EAAA,kBASAsJ,EAAA,WAAAC,EApDA,MACA,GACA,mBADAnlB,EAAAoiB,WACA,CACA,MAAAgD,EAAA1M,OAAA2M,WAAA,EACAC,EAAA5M,OAAA6M,YAAA,EAAAC,GAAAC,EAAAA,EAAAA,MAGA,OACAC,EAAAN,EAAAI,EAAAE,EAAA,KACAC,EAAAL,EAAAE,EAAAG,EAAA,K,CAIA,OACAD,EAAA,KACAC,EAAA,K,EAqCAC,IAGAtE,EAAAA,EAAAA,WAAA,KACAmC,EAAArsB,OAAA4I,EAAAxF,YACAipB,EAAArsB,MAAAb,MAAAsvB,YAAA,YAAAV,EAAAO,GACAjC,EAAArsB,MAAAb,MAAAsvB,YAAA,YAAAV,EAAAQ,G,GAEA,EAGAG,EAAA,KACApC,EAAA,WACAR,EAAAH,GAAAmC,KAGA5D,EAAAA,EAAAA,WAAA,KACAjsB,EAAA,cAAA2tB,gCAAAS,EAAArsB,QACA2c,EAAAA,EAAAA,IAAA0P,EAAArsB,MAAA,GACA,EA+BA,OA5BAiE,EAAAA,EAAAA,QACA,IAAA2E,EAAAxF,YACA,KAAAwpB,IAGAhkB,EAAAxF,WACAsrB,IAlJA9B,IAGA7R,EAAAE,EAAAA,EAAAA,YAAA,KACA8R,EAAA,qBACAhS,EAAA,SAgJAuR,EAAA,U,IAKA1jB,EAAAxF,WACAsrB,IAaA,CACAnB,gBACAH,cACAJ,6BACAK,eACAhB,WACA/B,mBAhBA,WACA,YAAAoB,EAAA1rB,OACA2sB,IAGA,YAAAjB,EAAA1rB,OACAssB,EAAA,O,EAWAqC,qBA/DA,KACA/lB,EAAAkiB,qBACAiC,EAAA,iB,EA8DAR,aACAQ,eACAN,yB,IEpXA,SAXgB,OACd,GRTW,WAAa,IAAIpwB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACI,MAAM,CAAC,GAAK,eAAe,CAACJ,EAAG,MAAM,CAAC2E,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAAStB,MAAO3D,EAA0B,uBAAEkF,WAAW,2BAA2BP,IAAI3E,EAAImvB,SAASpsB,IAAI,WAAWxC,YAAY,uBAAuBD,MAAMN,EAAIgxB,aAAavwB,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAGA,EAAO6c,SAAW7c,EAAO8c,cAAuB,KAAcnhB,EAAIsyB,qBAAqB/tB,MAAM,KAAMC,UAAU,IAAI,CAACpE,EAAG,MAAM,CAACG,YAAY,yBAAyBD,MAAM,CAACN,EAAIgvB,iCAAiClsB,MAAO9C,EAA8B,2BAAEQ,MAAM,CAAC,cAAcR,EAAI8uB,aAAaruB,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAGA,EAAO6c,SAAW7c,EAAO8c,cAAuB,KAAcnhB,EAAIsyB,qBAAqB/tB,MAAM,KAAMC,UAAU,IAAI,CAAExE,EAA0B,uBAAEI,EAAG,oBAAoB,CAACG,YAAY,eAAeD,MAAMN,EAAIkwB,WAAWptB,MAAO9C,EAAe,YAAEQ,MAAM,CAAC,KAAO,UAAUC,GAAG,CAAC,aAAeT,EAAIiuB,qBAAqB,CAAEjuB,EAAc,WAAEI,EAAG,MAAM,CAACG,YAAY,UAAU,CAACP,EAAIa,GAAG,UAAS,WAAW,MAAO,CAACT,EAAG,KAAK,CAAC2E,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUtB,MAAO3D,EAAIuuB,kBAAoB,CAAEjC,QAAStsB,EAAIouB,YAAe,KAAMlpB,WAAW,uDAAuD3E,YAAY,oBAAoBD,MAAM,CAAE,YAAaN,EAAIuuB,oBAAqB,CAACvuB,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIouB,YAAY,OAAO,KAAI,GAAGpuB,EAAIU,KAAMV,EAAmB,gBAAEI,EAAG,MAAM,CAACG,YAAY,aAAaE,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAOrE,EAAI0wB,aAAa,qBAAqB,IAAI,CAACtwB,EAAG,iCAAiC,CAAC2E,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUtB,MAAM,CAAG2oB,QAAStsB,EAAI0uB,mBAAoB6D,OAAQ,WAAc,QAASvyB,EAAI0uB,kBAAoB,GAAKxpB,WAAW,wEAAwE1E,MAAM,CAAC,KAAO,SAAS,GAAGR,EAAIU,KAAKN,EAAG,MAAM,CAACG,YAAY,UAAUD,MAAM,CACx0D2wB,WAAYjxB,EAAIquB,aAChB,aAAcruB,EAAIwuB,aAAgBxuB,EAAImF,OAAe,SAAMnF,EAAIouB,WAC/D,kBAAmBpuB,EAAI0W,eACvB,aAAc1W,EAAImF,OAAe,QACnCrC,MAAO9C,EAAiB,cAAES,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAOrE,EAAIgH,MAAM,eAAe,IAAI,CAAChH,EAAIa,GAAG,YAAY,GAAGT,EAAG,MAAM,CAAC2E,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAAStB,MAAO3D,EAAImF,OAAgB,OAAED,WAAW,qBAAqB3E,YAAY,UAAU,CAACP,EAAIa,GAAG,WAAW,KAAKb,EAAIU,MAAM,MAAM,GACjS,IQMpB,EACA,KACA,WACA,MAI8B,O,gDCThC,MCV8N,GDU9N0G,E,SAAAA,iBAAA,CACApC,KAAA,uBEQA,SAXgB,E,SAAA,GACd,GCTW,WAAa,IAAIhF,EAAIC,KAASC,EAAGF,EAAIG,eAAuC,OAAjBH,EAAIK,MAAMD,IAAIF,GAAa,MAAM,CAACK,YAAY,wBAAwB,CAACP,EAAIa,GAAG,YAAY,EAAE,GAC9I,IDWpB,EACA,KACA,WACA,MAI8B,O,gDEnBhC,I,WCUA,MCV6N,GDU7NuG,EAAAA,EAAAA,iBAAA,CACApC,KAAA,oBACAuH,MAAA,CACAimB,MAAA,CACApzB,KAAAC,OACAF,QAAA,UAGAqI,MAAA+E,IAAA,CACAhJ,SAAAiN,EAAAA,EAAAA,WAAA,KAAAjE,EAAAimB,aEAA,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIxyB,EAAIC,KAASC,EAAGF,EAAIG,eAAuC,OAAjBH,EAAIK,MAAMD,IAAIF,GAAa,MAAM,CAACK,YAAY,sBAAsBD,MAAMN,EAAIuD,SAAS,CAACvD,EAAIa,GAAG,YAAY,EAAE,GAC/J,IGWpB,EACA,KACA,WACA,MAI8B,O,+CCnBhC,I,0CCyCA,MCzCuN,GDyCvNuG,EAAAA,EAAAA,iBAAA,CACApC,KAAA,cACAtC,WAAA,CACA+vB,YAAA,IACAC,mBAAA,KAEAnmB,MAAA,CACA6hB,WAAA,CACAhvB,KAAAC,OACAF,QAAA,MAEA4H,UAAAvH,QACAovB,iBAAA,CACAxvB,KAAAC,OACAF,QAAA,MAEA6vB,gCAAA,CACA5vB,KAAAC,OACAF,QAAA,IAEAqvB,WAAA,CACApvB,KAAAI,QACAL,SAAA,GAEAuX,eAAA,CACAtX,KAAAI,QACAL,SAAA,IAGA+oB,MAAA,4BEnDA,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIloB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACI,MAAM,CAAC,kBAAoB,SAAS,WAAa,WAAW,UAAYR,EAAI+G,UAAU,eAAiB/G,EAAI0W,eAAe,cAAe,EAAK,WAAa1W,EAAIouB,WAAW,iBAAoB,iBAAmBpuB,EAAI4uB,iBAAmB5uB,EAAI4uB,iBAAmB,IAAK,gCAAkC5uB,EAAIgvB,gCAAgC,WAAahvB,EAAIwuB,WAAW,wBAA0B,wBAAwB/tB,GAAG,CAAC,gBAAgB,SAAS4D,GAAQ,OAAOrE,EAAIgH,MAAM,gBAAgB,EAAE,MAAQ,SAAS3C,GAAQ,OAAOrE,EAAIgH,MAAM,QAAQ,GAAGvC,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,SAASC,GAAG,WAAW,MAAO,CAAC5E,EAAIa,GAAG,UAAS,WAAW,MAAO,CAACT,EAAG,KAAK,CAACG,YAAY,qBAAqB,CAACP,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIouB,YAAY,OAAO,IAAG,EAAEtpB,OAAM,GAAM,CAACH,IAAI,UAAUC,GAAG,WAAW,MAAO,CAAC5E,EAAIa,GAAG,kBAAiB,WAAW,MAAO,CAACT,EAAG,qBAAqB,CAACJ,EAAIa,GAAG,YAAY,GAAG,IAAG,EAAEiE,OAAM,IAAO,MAAK,IAAO,GAC98B,IGWpB,EACA,KACA,KACA,MAI8B,O,gDCnBhC,I,qECGA,MAAM6tB,EAAS,CAAC,QAAS,c,cCAlB,MCH4M,GCwDnNvrB,EAAAA,EAAAA,iBAAA,CACApC,KAAA,aACAuH,MAAA,CACAqmB,cAAA,CACAxzB,KAAAI,QACAL,SAAA,GAEAoe,oBAAA,CACAne,KAAAI,QACAL,SAAA,GAEA0zB,oBAAA,CACAzzB,KAAAI,QACAL,SAAA,GAEA2zB,UAAA,CACA1zB,KAAAI,QACAL,SAAA,GAEA4zB,eAAA,CACA3zB,KAAAI,QACAL,SAAA,GAEA6zB,iBAAA,CACA5zB,KAAAC,OACAF,QAAA,YAEA6f,UAAA,CACA5f,KAAAC,OACAF,QAAA,UAEA8zB,OAAA,CACA7zB,KAAAC,OACAF,QAAA,cAEA+zB,eAAA,CACA9zB,KAAAI,QACAL,SAAA,GAEAg0B,+BAAA,CACA/zB,KAAAI,QACAL,SAAA,GAEAwE,MAAA,CACAvE,KAAAI,QACAL,SAAA,GAEAi0B,YAAA,CACAh0B,KAAAC,OACAF,aAAAuV,GAEA2e,mBAAA,CACAj0B,KAAAI,QACAL,SAAA,GAEAm0B,gBAAA,CACAl0B,KAAAC,OACAF,QAAA,KAGA+oB,MAAA,+BACA1gB,MAAA+E,EAAA,G,IAAA,KAAA4b,GAAA,EACA,MAAAnJ,GAAAuU,EAAAA,EAAAA,OAAAhnB,EAAA,aACAymB,GAAAO,EAAAA,EAAAA,OAAAhnB,EAAA,oBACAwmB,GAAAQ,EAAAA,EAAAA,OAAAhnB,EAAA,kBACA5I,GAAA4vB,EAAAA,EAAAA,OAAAhnB,EAAA,SACAqmB,GAAAW,EAAAA,EAAAA,OAAAhnB,EAAA,iBAAAinB,GAAAD,EAAAA,EAAAA,OAAAhnB,EAAA,sBAGAxF,GAAAhE,EAAAA,EAAAA,MAAA,GACA0wB,GAAA1wB,EAAAA,EAAAA,MAAA,GACA2wB,GAAA3wB,EAAAA,EAAAA,MAAA,GACAib,GAAA2V,EAAAA,EAAAA,QAAAvU,EAAAA,GAAA,OAAAwU,GAAA,EAGA,cAAAnK,EAAC,oBAADoK,EAAC,gBAADC,GFhIgC,EAC5B9U,EACA+U,EACAnB,EACAY,KAEA,MAAMQ,GAAgCjxB,EAAAA,EAAAA,MAAI,GACpC+wB,GAAkB/wB,EAAAA,EAAAA,KAAIic,EAAUrb,OAEhCswB,GAAgBzjB,EAAAA,EAAAA,WAA6C,KAAM,CACrExL,KAAM,gBACNkvB,SAAS,EAETC,MAAO,QACPvvB,GAAK,I,IAAA,MAAEiD,GAAO,EACVisB,EAAgBnwB,MAAQkE,EAAMmX,SAAS,MAIzCoV,GAA0B5jB,EAAAA,EAAAA,WAA0B,KAAM,CAC5DxL,KAAM,kBACNykB,QAAS,CACLvS,QAAS,EAKTmd,aAAa,OAcfC,GAAkB9jB,EAAAA,EAAAA,WAAuC,KAAM,CACjExL,KAAM,UACNkvB,SAAS,EACTC,MAAO,OACPI,iBAAkB,CAAC,SAAU,kBAAmB,QAChD3vB,GAAG,G,IAAA,MAAEiD,EAAK,KAAE7C,EAAI,QAAEykB,GAAf,EACC,MAAM+K,GAAWC,EAAAA,EAAAA,GAAe5sB,EAAO4hB,IACjC,EAAEwI,EAAC,EAAEC,GAAMrqB,EAAM6sB,cAAcC,iBAAmB,CAAE1C,EAAG,EAAGC,EAAG,IAC7D,MAAExa,EAAK,OAAE9Q,GAAWiB,EAAM+sB,MAAMC,QAC/BC,GAAiBjtB,EAAMmX,UAAUxT,MAAM,KAExCupB,EAA8B,SAAlBD,EAA2B,OAAS,QAChDE,EAA+B,QAAlBF,EAA0B,MAAQ,SAIrDjtB,EAAM6sB,cAAc1vB,GAAQ,CACxB0S,MAAOA,EAAQ8c,EAASO,GAAa9C,EAH1B,EAIXrrB,OAAQA,EAAS4tB,EAASQ,GAAc9C,EAJ7B,E,MAajB+C,GAAuBzkB,EAAAA,EAAAA,WAA4C,KAAM,CAC3ExL,KAAM,eACNkvB,SAAS,EACTC,MAAO,cACPe,SAAU,CAAC,WACXtwB,GAAG,G,IAAA,MAAEiD,GAAF,EACC,MAAM,OAAEjB,GAAWiB,EAAM6sB,cAAcS,QACvCttB,EAAM2Q,OAAOqc,OAAOO,UAAY,GAAGxuB,K,MAIrCyuB,GAAe7kB,EAAAA,EAAAA,WAA0B,KAAM,CACjDxL,KAAM,OACNykB,QAAS,CAIL4K,aAAa,OAKfiB,GAAe9kB,EAAAA,EAAAA,WAA0B,KAAM,CACjDxL,KAAM,OACNkvB,QAASV,EAAS7vB,UAGhB4xB,GAAiB/kB,EAAAA,EAAAA,WAA0B,KAAM,CACnDxL,KAAM,SACNykB,QAAS,CACLxK,OAAQ,CAAC,EAAG,QAIduW,GAAyBhlB,EAAAA,EAAAA,WAA0B,KAAM,CAC3DxL,KAAM,iBACNkvB,QAASF,EAA8BrwB,UAiB3C,MAAO,CACH8lB,SAfYjZ,EAAAA,EAAAA,WAA2B,KAAM,CAC7CujB,SAAUA,EAASpwB,MACnBqb,UAAWA,EAAUrb,MACrB6lB,UAAW,CACPgM,EAAuB7xB,MACvB4xB,EAAe5xB,MACfywB,EAAwBzwB,MACxB0xB,EAAa1xB,SACTivB,EAAcjvB,MAAQ,CAAC2wB,EAAgB3wB,MAAOsxB,EAAqBtxB,OAAS,GAChF2xB,EAAa3xB,MACbswB,EAActwB,WAMlBmwB,kBACAD,oBAAoBlwB,GAChBqwB,EAA8BrwB,MAAQA,C,EAE7C,EECL8xB,CACAzW,EACAgU,EACAJ,EACAY,IACA,UAAAkC,EAAC,WAADC,EAAC,OAAD5K,GClIO,SAAmBtB,GACtB,MAAMiM,GAA+B3yB,EAAAA,EAAAA,KAAI,MACnC4yB,GAAgC5yB,EAAAA,EAAAA,KAAI,MAC1C,IAAI8xB,EAA0B,KAyB9B,OAvBAjtB,EAAAA,EAAAA,OACI,CAAC8tB,EAAWC,IACZ,CAAC,EAAmBzqB,EAAG0qB,K,IAArB1U,EAAQoL,GAAQ,EACd,MAAMuJ,GAAWC,EAAAA,EAAAA,KAAa5U,GACxB6U,GAAWD,EAAAA,EAAAA,KAAaxJ,GAExBuJ,aAAoBG,aAGpBD,aAAoBC,cAI1BnB,GAASoB,EAAAA,EAAAA,IAAaJ,EAAUE,EAAUtM,EAAQ9lB,OAClDiyB,EAAaf,EAAOqB,SAAQ,GAEhC,CAAEC,WAAW,KAGjBvuB,EAAAA,EAAAA,OAAM6hB,GAASA,IACXoL,SAAAA,EAAQuB,WAAW3M,EAAQ,IAGxB,CACHiM,YACAC,aACA5K,SACI8J,SAAAA,EAAQ9J,Q,GDkGpBsL,CAAA5M,GAGA6M,GAAA9lB,EAAAA,EAAAA,WAAA,IACAjE,EAAA+mB,gBAAA,mBAAA/mB,EAAA+mB,uBAAA5e,KAWA9M,EAAAA,EAAAA,OAAAjE,GAAAyT,IACAwc,GAAA,EACA2C,EAAAnf,EAAA,IAKA,MAAAof,GAAAhmB,EAAAA,EAAAA,WAAA,KACAjE,EAAA6mB,YACA,CACA,gBAAAL,EAAApvB,UAIA2mB,GAAA9Z,EAAAA,EAAAA,WAAA,IACAwN,EACA,qBAEA,OAKA,IAAAyY,GAAA1zB,EAAAA,EAAAA,UAAA2R,GAGA,GAAAnI,EAAAumB,UAAA,aAAApb,IAAAgf,EAAAA,EAAAA,GAAAhB,GAGAe,GAAAjmB,EAAAA,EAAAA,WAAA,WAAAmmB,EAAAjf,EAAA/T,MAGA,oBAAAgzB,GAAApqB,EAAAumB,UACA,OAAApb,MAAA,GAAAif,MAGA,KAIA/uB,EAAAA,EAAAA,OAAA8P,EAAAqT,E,CAYA,IAAA6L,EAAA,KAGA,MAAAC,EAAA,KACAD,EHzMO,SAAwBE,EAA8BC,G,IAAmCC,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,IAAe,aAC3G,MAAMC,EAAYxoB,IACFqoB,EAAQzsB,IAAIyrB,EAAAA,KAEhBoB,MAAK5qB,GAAMA,IAAOA,IAAOmC,EAAMyS,QAAUzS,EAAM0oB,eAAe5rB,SAASe,OAI/EyqB,EAAQtoB,EAAM,EAGlB,IAAI2oB,EAAoBzE,EAAOtoB,KAAIoE,IAAS+hB,EAAAA,EAAAA,KAAiBvL,OAAQxW,EAAOwoB,EAAU,CAAEI,SAAS,EAAML,cAEvG,MAAMM,EAAO,KACTF,EAAYG,SAAQD,GAAQA,MAC5BF,EAAc,EAAE,EAKpB,OAFAI,EAAAA,EAAAA,IAAeF,GAERA,C,CGqLXG,CACA,CAAA/B,EAAAC,IACAlnB,IAEAlC,EAAA4mB,gCACA1kB,EAAAmJ,kBAEArL,EAAAsmB,qBACA7qB,IAEAmgB,EAAA,WAEA,EACA,EAYAqC,EAAA,KACAzjB,EAAApD,QAGA8vB,EAAA9vB,OAAA,EACAoD,EAAApD,OAAA,EACAkwB,GAAA,GACAgD,IAEAa,sBAAA3M,GACA5C,EAAA,UAGAsC,EAAA,KACA1jB,EAAApD,QAGAoD,EAAApD,OAAA,EAzBA,OAAAizB,IACAA,IACAA,EAAA,MAyBA/C,GAAA,GACA1L,EAAA,UAGAoO,EAAA5yB,IACAA,EACA6mB,IAEAC,G,EAMA1iB,EAAA,KACA6rB,EACAzL,EAAA,YAEAqC,G,EAIAxiB,EAAA,KACA4rB,EACAzL,EAAA,YAEAsC,G,EAIAkN,EAAAh0B,IACAA,EACAoE,IAEAC,G,EAYA,OAJAC,EAAAA,EAAAA,YAAA,KACAyrB,EAAA/vB,OAAA,KAGA,CACA+xB,YACAC,aACA5uB,YACA0sB,mBACAC,YACA8C,gBACAlM,eACAwJ,kBACA2C,gBACAmB,wBAlKA,KACAnE,EAAA9vB,MAAAoD,EAAApD,KAAA,EAkKAk0B,mBAhHA,KACAtrB,EAAAgR,qBACAvV,G,EA+GAD,OACAC,OACA2vB,aACAtvB,OAvBA,KACAsvB,GAAA5wB,EAAApD,MAAA,EAuBA8lB,UACAsB,SACAuL,uB,IExSA,SAXgB,E,SAAA,GACd,GNTW,WAAa,IAAIt2B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,eAAe,CAACH,EAAG,MAAM,CAAC2C,IAAI,YAAYzC,MAAMN,EAAIw2B,eAAe,CAACx2B,EAAIa,GAAG,SAAS,KAAK,CAAC,UAAYb,EAAI+G,UAAU,KAAO/G,EAAI+H,KAAK,KAAO/H,EAAIgI,KAAK,OAAShI,EAAIqI,UAAU,GAAIrI,EAAkB,eAAE,CAACI,EAAG,SAAS,CAACI,MAAM,CAAC,GAAKR,EAAIizB,SAAS,CAAEjzB,EAAa,UAAEI,EAAG,MAAM,CAAC2E,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAAStB,MAAO3D,EAAoB,iBAAEkF,WAAW,qBAAqBnC,IAAI,aAAaxC,YAAY,UAAUD,MAAMN,EAAIsqB,aAAaxnB,MAAO9C,EAAiB,cAAEQ,MAAM,CAAC,iBAAiBR,EAAI8zB,iBAAiBrzB,GAAG,CAAC,MAAQT,EAAI63B,qBAAqB,CAACz3B,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,gBAAgBC,GAAG,CAAC,cAAcT,EAAI43B,0BAA0B,CAAE53B,EAAa,UAAEI,EAAG,MAAM,CAACG,YAAY,oBAAoBC,MAAM,CAAC,cAAcR,EAAIs2B,uBAAuB,CAAEt2B,EAAoB,iBAAEA,EAAIa,GAAG,UAAU,KAAK,CAAC,KAAOb,EAAIgI,KAAK,OAAShI,EAAIqI,SAASrI,EAAIU,MAAM,GAAGV,EAAIU,QAAQ,GAAGV,EAAIU,QAAQ,CAACN,EAAG,MAAM,CAAC2E,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAAStB,MAAO3D,EAAoB,iBAAEkF,WAAW,qBAAqBnC,IAAI,aAAaxC,YAAY,UAAUD,MAAMN,EAAIsqB,aAAaxnB,MAAO9C,EAAiB,cAAEQ,MAAM,CAAC,iBAAiBR,EAAI8zB,iBAAiBrzB,GAAG,CAAC,MAAQT,EAAI63B,qBAAqB,CAACz3B,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,gBAAgBC,GAAG,CAAC,cAAcT,EAAI43B,0BAA0B,CAACx3B,EAAG,MAAM,CAAC2E,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAAStB,MAAO3D,EAAa,UAAEkF,WAAW,cAAc3E,YAAY,oBAAoBC,MAAM,CAAC,cAAcR,EAAIs2B,uBAAuB,CAAEt2B,EAAoB,iBAAEA,EAAIa,GAAG,UAAU,KAAK,CAAC,KAAOb,EAAIgI,KAAK,OAAShI,EAAIqI,SAASrI,EAAIU,MAAM,MAAM,KAAK,EAAE,GAC1lD,IMWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,WCeA,MAAAo3B,EAAA,CACA,CACAC,MAAA,CAAY,QACZlhB,MAAA,iBAEA,CACAkhB,MAAA,CAAY,OACZlhB,MAAA,oBAEA,CACAkhB,MAAA,CAAY,OACZlhB,MAAA,iBAEA,CACAkhB,MAAA,CAAY,MACZlhB,MAAA,iBC9BuN,GDkCvNzP,EAAAA,EAAAA,iBAAA,CACAmF,MAAA,CACA5I,MAAA,CACAvE,KAAAwoB,OACAzoB,QAAA,GAEA64B,UAAA,CACA54B,KAAAI,QACAL,SAAA,GAEA84B,oBAAA,CACA74B,KAAAI,QACAL,SAAA,GAEA+4B,oBAAA,CACA94B,KAAAI,QACAL,SAAA,GAEA+a,MAAA,CACA9a,KAAAC,OACAF,QAAA,MAEAg5B,cAAA,CACA/4B,KAAAC,OACAF,QAAA,QAGAqI,MAAA+E,GACA,MAAA6rB,GAAA5nB,EAAAA,EAAAA,WAAA,KACA,MAAA7M,EAAA4I,EAAA5I,OAAA,EACA,OAAA2C,KAAA+xB,IAAA,EAAA/xB,KAAAgyB,IAAA,IAAA30B,GAAA,IAGA40B,GAAA/nB,EAAAA,EAAAA,WAAA,KACA,GAAAjE,EAAA2N,MACA,qBAAA3N,EAAA2N,S,IAGA4d,EAKA,gBAHA,QAFAA,EAAAA,EAAA9mB,MACAwnB,GACAA,EAAAT,MAAA,GAAAK,EAAAz0B,OAAAy0B,EAAAz0B,OAAA60B,EAAAT,MAAA,gBAFAD,OAAAA,EAAAA,EAEAjhB,QAAA,kB,IA0BA,OACA4hB,gBApBAjoB,EAAAA,EAAAA,WAAA,KACA,CACAkH,MAAA,QAAA0gB,EAAAz0B,gBACA+0B,WAAAH,EAAA50B,UAkBAg1B,qBAdAnoB,EAAAA,EAAAA,WAAA,KACA,CACAqG,MAAA0hB,EAAA50B,UAaAi1B,gBATApoB,EAAAA,EAAAA,WAAA,WAAA7M,EAAA4I,EAAA2rB,oBAAA3rB,EAAA5I,MAAA2C,KAAAsS,MAAArM,EAAA5I,OAGA,OAAA4I,EAAA0rB,oBAAA,GAAAt0B,KAAAA,CAAA,I,IE9EA,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAI3D,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,eAAeD,MAAO,SAAWN,EAAIm4B,eAAgB,CAAEn4B,EAAa,UAAEI,EAAG,MAAM,CAACG,YAAY,mBAAmBuC,MAAO9C,EAAuB,qBAAG,CAACA,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI44B,mBAAmB54B,EAAIU,KAAKN,EAAG,MAAM,CAACG,YAAY,eAAe,CAACH,EAAG,MAAM,CAACG,YAAY,UAAUH,EAAG,MAAM,CAACG,YAAY,SAASuC,MAAO9C,EAAkB,oBAAO,GACpa,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,4CCoCA,G,2BAAA,kB,uTAeA64B,EAAA,cAAA95B,EAAAA,GAmBA+5B,kB,IACA,cAAAC,uBAAA,KAAAA,uBAAA,KAAAp1B,QAAA,eAAAA,aAAA,eAAA0C,aAAA,E,CAGA,aAAA3C,GACA,YAAAs1B,SACA,6DAGAt1B,EAAA,2E,CAGA,SACAu1B,GACA,OAAAA,C,OAhCA/5B,EAAAA,EAAAA,IAAA,CAAAC,QAAA,UADA05B,EAAA,UACApP,eAAA,G,IACAvqB,EAAAA,EAAAA,OAFA25B,EAAA,UAEAE,8BAAA,G,IACA75B,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAHA05B,EAAA,UAGAl1B,aAAA,G,IACAzE,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAJA05B,EAAA,UAIAvQ,mBAAA,G,IACAppB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WALAq5B,EAAA,UAKAK,qBAAA,G,IACAh6B,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WANAq5B,EAAA,UAMA7Q,kBAAA,G,IACA9oB,EAAAA,EAAAA,IAAA,CAAAC,QAAA,aAPA05B,EAAA,UAOAhiB,aAAA,G,IAQA3X,EAAAA,EAAAA,IAAA,CAAAC,QAAA,WAfA05B,EAAA,UAeA7hB,YAAA,G,IACA9X,EAAAA,EAAAA,IAAA,CAAAC,aAAAuV,KAhBAmkB,EAAA,UAgBAhO,gBAAA,G,IAAA3rB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAhBAq5B,EAAA,UAgBAG,gBAAA,G,IAeAp5B,EAAAA,EAAAA,IAAA,WA/BAi5B,EAAA,UAgCAM,WAAA,MAhCAN,EAAA,IAPA94B,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CACA02B,aAAA,IACAC,SAAA,IACAjR,UAAA,QAGAyQ,GCnDyN,UCmBzN,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAI74B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAEyW,SAAU/W,EAAIgoB,WAAYsR,OAAQt5B,EAAIg5B,UAAWx4B,MAAM,CAAC,QAAUR,EAAIypB,QAAQ,gBAAiB,EAAM,cAAgBzpB,EAAIk5B,cAAc,cAAgBl5B,EAAI6qB,UAAUpqB,GAAG,CAAC,OAAST,EAAIm5B,UAAU10B,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,QAAQC,GAAG,SAAS7B,GACpW,IAAIsF,EAAStF,EAAIsF,OACb3E,EAASX,EAAIW,OACjB,MAAO,CAACtD,EAAG,YAAY,CAACG,YAAY,WAAWC,MAAM,CAAC,KAAOR,EAAIgX,KAAK,MAAQhX,EAAI84B,YAAY,UAAY94B,EAAIu5B,aAAa71B,GAAQ,YAAc1D,EAAIsoB,YAAY,WAAa,GAAG,cAAe,EAAM,MAAQtoB,EAAI6W,MAAM,WAAa7W,EAAIgoB,WAAW,OAAU,kBAAoBhoB,EAAI6qB,UAAWzmB,SAAS,CAAC,MAAQ,SAASC,GAAyD,OAAjDA,EAAOuT,kBAAkBvT,EAAOrF,iBAAwBqJ,EAAO9D,MAAM,KAAMC,UAAU,KAAK,GAAG,CAACG,IAAI,SAASC,GAAG,SAAS7B,GAC3b,IAAIk2B,EAASl2B,EAAIk2B,OACbO,EAASz2B,EAAIy2B,OACjB,MAAO,CAACp5B,EAAG,eAAe,CAACuE,IAAIs0B,EAAOz4B,MAAM,CAAC,WAAay4B,IAAWj5B,EAAI2D,MAAM,MAAQ3D,EAAI+4B,uBAAyB/4B,EAAI+4B,uBAAuBE,GAAUA,GAAQx4B,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAOm1B,EAAOP,EAAO,KAAK,MAAM,GACxM,IGKpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,uHCqGA,MCrGoN,GDqGpN7xB,EAAAA,EAAAA,iBAAA,CACApC,KAAA,cACAtC,WAAA,CAAA0oB,uBAAA,IAAAgO,aAAA,IAAAlV,eAAA,IAAA3c,QAAA,KACAxC,WAAA,CAAAkC,kBAAA,MACAsF,MAAA,CACAktB,SAAA,CACAr6B,KAAAC,OACAF,QAAA,UAEAwE,MAAA,CACAvE,KAAA6b,MACA9b,QAAA,QAEAu6B,cAAA,CACAt6B,KAAAI,QACAL,SAAA,GAEA+zB,eAAA,CACA9zB,KAAAI,QACAL,SAAA,GAEA+5B,cAAA,CACA95B,KAAAI,QACAL,SAAA,GAEA4a,UAAA,CACA3a,KAAAI,QACAL,SAAA,GAEAw6B,cAAA,CACAv6B,KAAAI,QACAL,SAAA,GAEAsqB,QAAA,CACArqB,KAAA6b,MACA9b,QAAA,QAEAi2B,UAAA,CACAh2B,KAAAwoB,OACAzoB,QAAA,KAEAy6B,kBAAA,CACAx6B,KAAAI,QACAL,SAAA,GAEA06B,eAAA,CACAz6B,KAAAI,QACAL,SAAA,GAEA26B,QAAA,CACA16B,KAAAC,QAEA06B,aAAA,CACA36B,KAAA,CAAAC,OAAA4b,QAEA+e,cAAA,CACA56B,KAAAwoB,OACAzoB,QAAA,GAEA86B,YAAA,CACA76B,KAAAI,QACAL,SAAA,GAEA+6B,mBAAA,CACA96B,KAAAwoB,OACAzoB,QAAA,GAEAmsB,eAAA,CACAlsB,KAAAI,QACAL,SAAA,GAEA8zB,OAAA,CACA7zB,KAAAC,QAEA86B,cAAA,CACA/6B,KAAAC,SAGA6oB,MAAA,gGACA1gB,MAAA+E,EAAA,G,IAAA,KAAA4b,GAAA,EAEA,MAAAiS,GAAAr3B,EAAAA,EAAAA,KAAA,MAAAs3B,GAAAt3B,EAAAA,EAAAA,KAAA,MAKAu3B,GAAAv3B,EAAAA,EAAAA,KAAA,IACAW,GAAA8M,EAAAA,EAAAA,WAAA,K,IAAA4pB,EAAAA,OAAA,QAAAA,EAAAA,EAAAz2B,aAAA,IAAAy2B,OAAAA,EAAAA,EAAArzB,aAAA,KACA0iB,GAAAjZ,EAAAA,EAAAA,WAAA,IAAAjE,EAAAkd,UAAA8Q,GAAA/pB,EAAAA,EAAAA,WAAA,IAAAjE,EAAA5I,QAGA62B,GAAAhqB,EAAAA,EAAAA,WAAA,IACAiZ,EAAA9lB,MAAAmH,OAAA2vB,GAAA3vB,OAAA8uB,KAKAc,GAAAlqB,EAAAA,EAAAA,WAAA,IACAjE,EAAAkd,QAAAkR,OAAA1B,IAAA2B,EAAAA,EAAAA,GAAA3B,KAAA,mBAKAwB,EAAAxB,IACA,QAAAqB,EAAA32B,MACA,SAEA,cAAA+2B,EAAA/2B,MAAA,CACA,QAAA+Q,IAAAnI,EAAAwtB,aACA,UAAAx7B,MAAA,wEAEA,IAAAmf,EAAAA,EAAAA,GAAAnR,EAAAwtB,cAAA,CAGA,OAHAxtB,EAAAwtB,aAAA1vB,KAAA1F,IAAAk2B,EAAAA,EAAAA,GAAA5B,EAAAt0B,KAGAuyB,MAAAvzB,GACAtE,OAAAsE,GAAAm3B,cAAAvvB,SAAA+uB,EAAA32B,MAAAm3B,gB,CAGA,OAAAD,EAAAA,EAAAA,GAAA5B,EAAA1sB,EAAAwtB,cAAAe,cAAAvvB,SAAA+uB,EAAA32B,MAAAm3B,c,CAGA,OAAA7B,EAAA6B,cAAAvvB,SAAA+uB,EAAA32B,MAAAm3B,c,EAGAlB,EAAAX,IAAA1sB,EAAAqtB,oBAAArtB,EAAA5I,MAAA4H,SAAA0tB,GAKA8B,EAAA9B,IACA,QAAAvkB,IAAAukB,EACA,SAGA,cAAAyB,EAAA/2B,YAAA+Q,IAAAukB,EAAA,CACA,MAAAa,EAAAvtB,EAAAutB,QACA,QAAAplB,IAAAolB,EACA,UAAAv7B,MAAA,mEAEA,OAAAgO,EAAA5I,MAAAq3B,WAAAC,IAAAJ,EAAAA,EAAAA,GAAAI,EAAAnB,MAAAe,EAAAA,EAAAA,GAAA5B,EAAAa,I,CAEA,OAAAvtB,EAAA5I,MAAAq3B,WAAAC,GAAAA,IAAAhC,GAAA,EAGAzN,EAAAyN,GACA,WAAAyB,EAAA/2B,OACA,IAAAo3B,EAAA9B,GAEA1sB,EAAA5I,MAAA4H,SAAA0tB,IAKArxB,EAAAA,EAAAA,OAAAlE,GAAA,K,IAAA02B,EAAA,eAAAA,EAAAA,EAAAz2B,aAAA,IAAAy2B,OAAAA,EAAAA,EAAArzB,WAAAohB,EAAA,QAAAA,EAAA,aAAAvgB,EAAAA,EAAAA,OAAA2yB,GAAA,IAAAhuB,EAAA5I,MAAA8E,QAAA0f,EAAA,QAAAoS,EAAA52B,SAKA,MAAAu3B,EAAAjC,IACA,MAAAkC,EAAAJ,EAAA9B,IACA,IAAAkC,GACAhT,EACA,QACA5b,EAAA5I,MAAAmH,QAAA,CAAAI,EAAAiB,IAAAA,IAAAgvB,I,EAKAC,EAAA,KACAd,EAAA32B,MAAA,IAyCAutB,GAAA1gB,EAAAA,EAAAA,WAAA,KACA,CACA4kB,UAAA,GAAA7oB,EAAA6oB,mBAIAntB,EAAAA,EAAAA,YAAA,KACAsE,EAAA0tB,aAAAG,EAAAz2B,OACAzC,YAAA,KACAinB,EAAA,wBACAiS,EAAAz2B,MAAAoE,MAAA,GACAwE,EAAA2tB,mB,IAGA,YAAAl0B,IAAAuC,EAAAA,EAAAA,MAGA,OACA6xB,WACAC,mBACA7O,aACA8O,aACAE,kBACAa,gBAxCA3P,I,IAGA0O,EACAA,GAHAE,EAAA32B,MAAA+nB,EACAvD,EAAA,kBAAAuD,IACA,aAAA0O,EAAAA,EAAAz2B,aAAA,IAAAy2B,OAAAA,EAAAA,EAAArzB,cACA,QAAAqzB,EAAAA,EAAAz2B,aAAA,IAAAy2B,GAAAA,EAAAryB,O,EAqCAyxB,OA9DAP,I,IASAmB,GARA5O,EAAAyN,IACAiC,EAAAjC,GACA9Q,EAAA,SAAA8Q,KAEA9Q,EAAA,YAAA5b,EAAA5I,MAAAs1B,IACA9Q,EAAA,SAAA8Q,IAEA1sB,EAAA2sB,iBACA,QAAAkB,EAAAA,EAAAz2B,aAAA,IAAAy2B,GAAAA,EAAApyB,QAEAuE,EAAAmtB,gBACA0B,IACAjT,EAAA,kBAAAmS,EAAA32B,O,EAkDAu3B,WACAliB,MArCA,IAAAmP,EAAA,YAsCAmT,mBAjCAC,IACAA,GACApT,EAAA,Y,EAgCAzkB,SACA83B,MAtCA,K,IAAApB,EAAAA,OAAA,QAAAA,EAAAA,EAAAz2B,aAAA,IAAAy2B,OAAAA,EAAAA,EAAApyB,MAAA,EAuCAyzB,4BAnDA,K,IACApB,EAAA,QAAAA,EAAAA,EAAA12B,aAAA,IAAA02B,GAAAA,EAAA9iB,IAAAmkB,SAAA,MAmDAN,cACAlK,gBACAlrB,Q,IErUA,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIhG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,YAAY,CAACH,EAAG,UAAU,CAAC2C,IAAI,WAAWvC,MAAM,CAAC,cAAgB,GAAG,UAAY,GAAG,gBAAiB,EAAM,eAAiBR,EAAIkzB,eAAe,OAASlzB,EAAIizB,OAAO,gBAAkBjzB,EAAIm6B,eAAe11B,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,SAASC,GAAG,SAAS7B,GAC3W,IAAIgE,EAAYhE,EAAIgE,UAChBiB,EAAOjF,EAAIiF,KACXD,EAAOhF,EAAIgF,KACXM,EAAStF,EAAIsF,OACjB,MAAO,CAACrI,EAAIa,GAAG,QAAQ,KAAK,CAAC,WAAab,EAAIs6B,WAAW,OAASvzB,EAAU,MAAQiB,EAAK,KAAOD,EAAK,OAASM,EAAO,MAAQrI,EAAIq7B,gBAAgB,UAAYr7B,EAAI+Z,YAAY,GAAG,CAACpV,IAAI,UAAUC,GAAG,WAAW,MAAO,CAACxE,EAAG,yBAAyB,CAAC2C,IAAI,mBAAmBD,MAAO9C,EAAiB,cAAEQ,MAAM,CAAC,gBAAiB,IAAO,CAACJ,EAAG,iBAAiB,CAAiC,IAA/BJ,EAAIw6B,gBAAgB/xB,SAAkC,IAAlBzI,EAAI+Z,UAAqB,CAAC3Z,EAAG,MAAM,CAACJ,EAAIa,GAAG,eAAe,IAAKb,EAAI+Z,WAAa/Z,EAAI65B,eAAgB,CAAC75B,EAAIa,GAAG,kBAAiB,WAAW,MAAO,CAACT,EAAG,MAAM,CAACA,EAAG,eAAe,CAACG,YAAY,cAAcC,MAAM,CAAC,KAAO,QAAQ,MAAQR,EAAIgG,MAAM,+BAA+BvB,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,OAAOC,GAAG,WAAW,MAAO,CAACxE,EAAG,4BAA4B,EAAE0E,OAAM,QAAW,GAAG,KAAK9E,EAAIw6B,gBAAsB,OAAEp6B,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAACP,EAAI0I,GAAI1I,EAAmB,iBAAE,SAASi5B,EAAO9sB,GAAO,MAAO,CAACnM,EAAIa,GAAG,SAAS,KAAK,CAAC,WAAab,EAAIs6B,WAAW,OAASrB,EAAO,OAASj5B,EAAIw5B,OAAO,WAAax5B,EAAIwrB,WAAWyN,GAAQ,MAAQ9sB,EAAM,UAAYnM,EAAI+Z,YAAY,IAAG/Z,EAAIa,GAAG,UAAU,KAAK,CAAC,QAAUb,EAAIw6B,gBAAgB,OAASx6B,EAAIw5B,OAAO,WAAax5B,EAAIwrB,WAAW,WAAaxrB,EAAIs6B,WAAW,UAAYt6B,EAAI+Z,YAAY3Z,EAAG,MAAM,CAAC2E,WAAW,CAAC,CAACC,KAAK,qBAAqBC,QAAQ,uBAAuBtB,MAAO3D,EAAsB,mBAAEkF,WAAW,yBAA0BlF,EAAiB,cAAEA,EAAIa,GAAG,uBAAsB,WAAW,MAAO,CAACT,EAAG,eAAe,CAACG,YAAY,cAAcC,MAAM,CAAC,KAAO,QAAQ,MAAQR,EAAIgG,MAAM,+BAA+BvB,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,OAAOC,GAAG,WAAW,MAAO,CAACxE,EAAG,4BAA4B,EAAE0E,OAAM,IAAO,MAAK,EAAM,cAAc,IAAG9E,EAAIU,MAAM,GAAGV,EAAIU,MAAM,IAAI,GAAG,EAAEoE,OAAM,IAAO,MAAK,MAAS,EAAE,GACnrD,IGMpB,EACA,KACA,WACA,MAI8B,O,+CCnBhC,I,WCgBA,oB,sTAMA62B,EAAA,cAAA58B,EAAAA,GAKA,oB,OAJAG,EAAAA,EAAAA,IAAA,CAAAE,KAAAC,UADAs8B,EAAA,UACAr8B,aAAA,G,IACAJ,EAAAA,EAAAA,IAAA,CAAAE,KAAAC,OAAAF,QAAA,YAFAw8B,EAAA,UAEA3kB,YAAA,G,IAAA9X,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAFAm8B,EAAA,UAEA5T,gBAAA,G,IAGAnoB,EAAAA,EAAAA,IAAA,UALA+7B,EAAA,UAMAC,oBAAA,MANAD,EAAA,IAHA57B,EAAAA,EAAAA,IAAA,CACA2C,WAAA,MAEAi5B,GCtBqN,UCmBrN,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAI37B,EAAIC,KAASC,EAAGF,EAAIG,eAAuC,OAAjBH,EAAIK,MAAMD,IAAIF,GAAa,SAAS,CAACK,YAAY,aAAaD,MAAM,CAAE,QAAUN,EAAIgX,KAAO,CAAE7S,OAAQnE,EAAI+nB,WAAYvnB,MAAM,CAAC,KAAO,MAAM,gBAAgBR,EAAI+nB,SAAS,MAAQ/nB,EAAIV,OAAOmB,GAAG,CAAC,MAAQT,EAAI47B,oBAAoB,CAAC57B,EAAIa,GAAG,WAAU,WAAW,MAAO,CAACb,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIV,OAAO,KAAK,KAAI,EAAE,GAC5V,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,WCKA,oB,sTAGAu8B,EAAA,cAAA98B,EAAAA,KAAA88B,EAAA,GAAA97B,EAAAA,IAAA87B,GCR0N,UCmB1N,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAI77B,EAAIC,KAASC,EAAGF,EAAIG,eAAuC,OAAjBH,EAAIK,MAAMD,IAAIF,GAAa,MAAM,CAACK,YAAY,mBAAmBC,MAAM,CAAC,KAAO,YAAY,CAACR,EAAIa,GAAG,YAAY,EAAE,GACnK,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,WCOA,oB,sTAGAi7B,EAAA,cAAA/8B,EAAAA,KAAA+8B,EAAA,GAAA/7B,EAAAA,IAAA+7B,GCV0N,U,eCkB1N,SAXgB,OACd,GCRW,WAAa,IAAI97B,EAAIC,KAASC,EAAGF,EAAIG,eAAuC,OAAjBH,EAAIK,MAAMD,IAAIF,GAAa,MAAM,CAACF,EAAIa,GAAG,YAAY,EAAE,GACzG,IDUpB,EACA,KACA,KACA,MAI8B,QERhC,wB,sTAMAk7B,EAAA,cAAAh9B,EAAAA,K,IACAG,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WADAu8B,EAAA,UACAz4B,eAAA,GADAy4B,EAAA,IAHAh8B,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CAAAo5B,eAAA,MAEAC,GChBsN,UCkBtN,SAXgB,OACd,GPRW,WAAa,IAAI/7B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,aAAa,CAACA,EAAGJ,EAAIsD,QAAU,sBAAmBoR,EAAU,CAAC3K,IAAI,YAAYxJ,YAAY,cAAcC,MAAM,CAAC,KAAO,aAAa,CAACR,EAAIa,GAAG,YAAY,IAAI,EAAE,GACzO,IOUpB,EACA,KACA,KACA,MAI8B,O,gDClBhC,I,gCCKA,oB,sTAIAm7B,EAAA,cAAAj9B,EAAAA,GAOA,UACA,KAAAsE,WAAA,KACA,KAAA44B,OAAAtX,iBAAA,qBAAAuX,oBAAA,G,CAIA,gBACA,KAAAD,OAAApX,oBAAA,qBAAAqX,oB,CAGA,sBAEA,KAAAC,kBAAA,E,CAGA,mBAEA,KAAAC,Y,CAGA,aACA,MAAA5jB,EAAA,KAAA6jB,cAAA,KAAAC,gBACA,KAAAC,mBAAAC,iBAAA,KAAAP,QAAAQ,WACA,KAAAC,gBAAAlkB,E,CAGA,cAAAmkB,GACA,MAAArwB,EAAA,KAAAswB,KAAAD,GAAAE,EAAAvwB,EAAAwwB,wBAGA,OACAplB,MAAA,GAAAmlB,EAAAnlB,UACA9Q,OAAA,GAAAi2B,EAAAj2B,WACAm2B,KAAA,GAAAzwB,EAAA0wB,eACAC,IAAA,GAAA3wB,EAAA4wB,c,CAIA,mB,IAAA,MAAAxlB,EAAC,OAAD9Q,EAAC,KAADm2B,EAAC,IAADE,GAAA,EACA,KAAAhB,OAAAn5B,MAAA4U,MAAAA,EACA,KAAAukB,OAAAn5B,MAAA8D,OAAAA,EACA,KAAAq1B,OAAAn5B,MAAAq6B,UAAA,aAAAJ,MAAAE,I,CAGA,iBAAA50B,GACA,KAAA4zB,OAAAn5B,MAAAymB,WAAAlhB,EAAA,kB,CAGA,uBAAAA,GACA,KAAA4zB,OAAAn5B,MAAA25B,WAAAp0B,EAAA,KAAAk0B,mBAAA,M,CAGA,qBACAa,EAAAC,GACA,KAAAC,wBAAA,GACA,MAAA9kB,EAAA,KAAA6jB,cAAAgB,GACA,KAAAX,gBAAAlkB,GACAkf,uBAAA,KACA,KAAA4F,wBAAA,GACA,KAAAnB,kBAAA,GACA,MAAAoB,EAAA,KAAAlB,cAAAe,GACA,KAAAV,gBAAAa,EAAA,G,+BAhEA,KAAAhB,mBAAA,M,OAHAr9B,EAAAA,EAAAA,IAAA,CAAAE,KAAA6b,SADA+gB,EAAA,UACAY,YAAA,G,IACA19B,EAAAA,EAAAA,IAAA,CAAAE,KAAAwoB,UAFAoU,EAAA,UAEAM,sBAAA,G,IAAA75B,EAAAA,EAAAA,IAAA,WAFAu5B,EAAA,UAEAC,cAAA,G,IAeAr8B,EAAAA,EAAAA,IAAA,QAjBAo8B,EAAA,UAkBAE,sBAAA,M,IAIAnwB,EAAAA,EAAAA,IAAA,SAtBAiwB,EAAA,UAuBAwB,mBAAA,M,IAoCAzxB,EAAAA,EAAAA,IAAA,mBA3DAiwB,EAAA,UA4DAyB,uBAAA,MA5DAzB,EAAA,GADAj8B,EAAAA,IACAi8B,GCT8N,U,eCmB9N,SAXgB,OACd,GCTW,WAAa,IAAiB97B,EAATD,KAAgBE,eAAuC,OAAvDF,KAA0CI,MAAMD,IAAIF,GAAa,MAAM,CAAC6C,IAAI,SAASxC,YAAY,cAAc,GAC3H,IDWpB,EACA,KACA,WACA,MAI8B,QEoBhC,wB,sTAQAm9B,EAAA,cAAA3+B,EAAAA,GAaA,UACA,KAAA4+B,UAAA,KAAAh6B,OAAA,KAAAi6B,QAAA,GACA,KAAAC,mB,CAGA,gBAEA,KAAAx6B,WAAA,UACAqR,IAAA,KAAAoW,MAAAgT,aACA,KAAAA,WAAA,KAAAhT,MAAAgT,WAAAzzB,KAAA0zB,GAAAA,EAAAxmB,M,IAKA,UACA,KAAAlU,WAAA,UACAqR,IAAA,KAAAoW,MAAAgT,aACA,KAAAA,WAAA,KAAAhT,MAAAgT,WAAAzzB,KAAA0zB,GAAAA,EAAAxmB,M,IAKAymB,uBACA,OAAAx+B,QAAA,KAAAulB,aAAAkZ,U,CAGA3B,qBACA,OAAAh2B,KAAA+xB,IAAA,KAAAuF,QAAAvkB,QAAA,KAAAskB,WAAA,E,CAGA,oBACA,KAAAO,iBAAA,KAAAP,S,CAGA,gBAGA,KAAAA,UAAA,KAAAh6B,OAAA,KAAAi6B,QAAA,GACA,KAAAM,iBAAA,I,CAGA,YAAAC,GACA,YAAAR,YAAAQ,C,CAGA,mBAAAA,GACA,YAAAD,mBAAAC,C,CAGA,qBAAAA,EAAAC,GACA,QAAAT,YAAAQ,EACA,YAAAE,aAAAF,E,CAIA,aACAA,GAGA,OAFA,KAAAR,UAAAQ,EACA,KAAAD,iBAAA,KACAC,C,+BAlEA,KAAAR,UAAA,GACA,KAAAO,iBAAA,KACA,KAAAJ,WAAA,E,OAPA5+B,EAAAA,EAAAA,IAAA,CAAAE,KAAA6b,MAAA9b,QAAA,UADAu+B,EAAA,UACAY,cAAA,G,IACAp/B,EAAAA,EAAAA,IAAA,CAAAE,KAAA6b,SAFAyiB,EAAA,UAEAE,eAAA,G,IACA1+B,EAAAA,EAAAA,IAAA,CAAAE,KAAAC,UAHAq+B,EAAA,UAGA/5B,aAAA,G,IAAAzE,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAHAk+B,EAAA,UAGAa,mBAAA,G,IAeAxyB,EAAAA,EAAAA,IAAA,YAlBA2xB,EAAA,UAmBAc,gBAAA,M,IA4BAzyB,EAAAA,EAAAA,IAAA,YACAA,EAAAA,EAAAA,IAAA,UAhDA2xB,EAAA,UAiDAe,gBAAA,M,IAmBA7+B,EAAAA,EAAAA,IAAA,UApEA89B,EAAA,UAqEAW,eAAA,MArEAX,EAAA,IAHA39B,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CAAAm5B,eAAA,IAAAF,UAAA,IAAAK,mBAAA,MAEA0B,GC/CgN,UCmBhN,SAXgB,OACd,GPTW,WAAa,IAAI19B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,OAAOC,MAAM,CAAC,cAAc,SAAS,CAACJ,EAAG,iBAAiB,CAACG,YAAY,eAAeD,MAAM,CAAEkD,MAAOxD,EAAIu+B,cAAe,CAAGv+B,EAAIg+B,iBAAoKh+B,EAAIU,KAAtJN,EAAG,qBAAqB,CAACuE,IAAI3E,EAAIu+B,YAAY/9B,MAAM,CAAC,KAAOR,EAAI89B,WAAW,eAAiB99B,EAAIs8B,gBAAgB77B,GAAG,CAAC,IAAMT,EAAI69B,qBAA+B79B,EAAoB,iBAAE,CAACA,EAAI0I,GAAI1I,EAAW,SAAE,SAASm+B,EAAOhyB,GAAO,OAAOnM,EAAIa,GAAG,YAAY,KAAK,CAAC,MAAQb,EAAIs+B,OAAOnyB,GAAO,OAASgyB,EAAO,SAAWhyB,EAAM,aAAenM,EAAIq+B,aAAa,YAAcr+B,EAAI0+B,aAAa,KAAI1+B,EAAI0I,GAAI1I,EAAU,QAAE,SAASV,EAAM6M,GAAO,MAAO,CAAC/L,EAAG,YAAY,CAACuE,IAAI3E,EAAI49B,QAAQzxB,GAAOpJ,IAAI,aAAa47B,UAAS,EAAKn+B,MAAM,CAAC,cAAe,cAAiBR,EAAI49B,QAAQzxB,GAAS,MAAQ7M,EAAM,SAAWU,EAAI4+B,mBAAmB5+B,EAAI49B,QAAQzxB,KAAS1L,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAOrE,EAAI6+B,qBAAqB7+B,EAAI49B,QAAQzxB,GAAQA,EAAM,KAAK,KAAI,GAAGnM,EAAIa,GAAG,UAAU,KAAK,CAAC,UAAYb,EAAI29B,UAAU,YAAc39B,EAAI0+B,eAAe,EAAE,GAC9hC,IOWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,WCWA,oB,sTAIAI,EAAA,cAAA//B,EAAAA,GAOAwE,cACA,YAAAw7B,QAAA,KAAA/nB,KAAA,kBAAA+Q,UAAA,KAAAiE,U,CAGA,U,CAKAgT,mBACA,OAAAx/B,QAAA,KAAA2F,OAAA,c,CAGA85B,kBACA,OAAAz/B,QAAA,KAAA2F,OAAA,a,CAGA+5B,kBACA,OACA,sBAAAD,YACA,uBAAAD,a,OA1BA9/B,EAAAA,EAAAA,IAAA,CAAAE,KAAAC,OAAAwgB,UAAA,KADAif,EAAA,UACAx/B,aAAA,G,IACAJ,EAAAA,EAAAA,IAAA,CAAAC,QAAA,QAAAC,KAAAC,UAFAy/B,EAAA,UAEAC,eAAA,G,IACA7/B,EAAAA,EAAAA,IAAA,CAAAC,QAAA,QAAAC,KAAAC,UAHAy/B,EAAA,UAGA9nB,YAAA,G,IACA9X,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAJAs/B,EAAA,UAIA/W,gBAAA,G,IAAA7oB,EAAAA,EAAAA,IAAA,CAAAC,aAAAuV,EAAAtV,KAAAC,UAJAy/B,EAAA,UAIA9S,iBAAA,G,IAOApsB,EAAAA,EAAAA,IAAA,UAXAk/B,EAAA,UAYAxvB,UAAA,MAZAwvB,EAAA,IADA/+B,EAAAA,EAAAA,IAAA,KACA++B,GCfkN,UCmBlN,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAI9+B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACG,YAAY,MAAMD,MAAMN,EAAIuD,QAAQ/C,MAAM,CAAC,MAAQR,EAAIV,MAAM,cAAc,OAAOmB,GAAG,CAAC,MAAQT,EAAIsP,UAAU,CAACtP,EAAIa,GAAG,aAAaT,EAAG,OAAO,CAACG,YAAY,WAAWD,MAAMN,EAAIk/B,aAAa,CAACl/B,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIV,OAAO,OAAOU,EAAIa,GAAG,eAAe,EAAE,GAC5U,IGWpB,EACA,KACA,WACA,MAI8B,O,gDCnBhC,I,sBCeA,G,oCAAA,kB,uTAUAs+B,EAAA,cAAApgC,EAAAA,GAQA,U,CAKAiL,WACA,YAAAo1B,QACA,WACA,kCACA,aACA,oCACA,UACA,kCACA,WACA,6DACA,QACA,O,CAIAtkB,eACA,qBAAA9D,MAAA,cAAAooB,OACA,GAGA,gBAAApoB,MAAA,gBAAAooB,OACA,GAGA,aAAAA,OACA,GAGA,cAAAA,OACA,IAGA,eAAApoB,MAAA,KAAAooB,OACA,G,OA7CAlgC,EAAAA,EAAAA,IAAA,CAAAE,KAAAC,OAAAwgB,UAAA,KADAsf,EAAA,UACA7/B,aAAA,G,IACAJ,EAAAA,EAAAA,IAAA,CAAAC,QAAA,QAAAC,KAAAC,UAFA8/B,EAAA,UAEAJ,eAAA,G,IACA7/B,EAAAA,EAAAA,IAAA,CAAAC,QAAA,QAAAC,KAAAC,UAHA8/B,EAAA,UAGAnoB,YAAA,G,IACA9X,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAJA2/B,EAAA,UAIApX,gBAAA,G,IACA7oB,EAAAA,EAAAA,IAAA,CAAAC,aAAAuV,EAAAtV,KAAAC,UALA8/B,EAAA,UAKAC,cAAA,G,IAAAlgC,EAAAA,EAAAA,IAAA,CAAAC,aAAAuV,EAAAtV,KAAAC,UALA8/B,EAAA,UAKAnT,iBAAA,G,IAGApsB,EAAAA,EAAAA,IAAA,UARAu/B,EAAA,UASA7vB,UAAA,MATA6vB,EAAA,IAHAp/B,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CAAAo8B,OAAA,QAEAK,GCzB+M,UCmB/M,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAIn/B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAASJ,EAAI8J,GAAG,CAACxJ,MAAM,CAACN,EAAIo/B,OAAQ,CAAE,aAAcp/B,EAAIo/B,SAAU3+B,GAAG,CAAC,MAAQT,EAAIsP,SAAS7K,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,aAAaC,GAAG,WAAW,MAAO,CAAC5E,EAAIa,GAAG,QAAO,WAAW,MAAO,CAACT,EAAGJ,EAAIgK,KAAK,CAACD,IAAI,YAAYvJ,MAAM,CAAC,KAAOR,EAAI8a,YAAY,IAAG,EAAEhW,OAAM,GAAM,CAACH,IAAI,YAAYC,GAAG,WAAW,MAAO,CAAC5E,EAAIa,GAAG,aAAa,EAAEiE,OAAM,IAAO,MAAK,IAAO,SAAS9E,EAAIq/B,QAAO,GAAO,GAClc,IGWpB,EACA,KACA,WACA,MAI8B,O,wDCnBhC,I,uDC0DA,MC1DqN,GD0DrNj4B,EAAAA,EAAAA,iBAAA,CACApC,KAAA,YACAtC,WAAA,CAAAogB,WAAA,IAAAtH,eAAA,KAAA3R,gBAAA,KACA0C,MAAA,CACA5I,MAAA,CACAvE,KAAAC,OACAwgB,UAAA,EACA1gB,QAAA,IAEA6X,KAAA,CACA5X,KAAAC,OACAF,QAAA,SAEAC,KAAA,CACAA,KAAAC,OACAF,QAAA,QAEA4oB,SAAA,CACA3oB,KAAAI,QACAL,SAAA,GAEA0X,MAAA,CACAzX,KAAAC,OACAF,QAAA,WAEA6oB,WAAA,CACA5oB,KAAAI,QACAL,SAAA,GAEAmgC,aAAA,CACAlgC,KAAAI,QACAL,SAAA,GAEAmpB,YAAA,CACAlpB,KAAAC,OACAF,QAAA,IAEA4a,UAAA,CACA3a,KAAAI,QACAL,SAAA,GAEAogC,UAAA,CACAngC,KAAAC,OACAF,aAAAuV,GAEA8qB,SAAA,CACApgC,KAAAC,OACAF,aAAAuV,GAEAqE,MAAA,CACA3Z,KAAA,CAAAC,OAAAuoB,QACAzoB,QAAA,IAEAsgC,YAAA,CACArgC,KAAAC,OACAF,QAAA,IAEAugC,cAAA,CACAtgC,KAAAC,OACAF,QAAA,IAEAwsB,WAAA,CACAvsB,KAAAI,QACAL,SAAA,GAEAwgC,WAAA,CACAvgC,KAAAI,QACAL,SAAA,GAEAygC,UAAA,CACAxgC,KAAAI,QACAL,SAAA,GAEAqpB,UAAA,CACAppB,KAAAI,QACAL,SAAA,GAEA0P,SAAA,CACAzP,KAAAwoB,OACAzoB,QAAA,GAEA0gC,OAAA,CACAzgC,KAAAC,OACAF,aAAAuV,IAGAwT,MAAA,2DACA1gB,MAAA+E,EAAA,G,IAAA,KAAA4b,GAAA,EACA,MAAAgB,GAAApmB,EAAAA,EAAAA,KAAA,MACA+8B,GAAA/8B,EAAAA,EAAAA,MAAA,GACAuH,GAAAvH,EAAAA,EAAAA,MAAA,GACAuV,GAAAzJ,EAAAA,EAAAA,IACAvQ,GAAA6pB,EAAA,UAAAjH,OAAAvd,QACA4I,EAAAsC,UAcAtL,GAAAiN,EAAAA,EAAAA,WAAA,IACA,CACA,cAAAjE,EAAAyK,OACA,cAAAzK,EAAAsK,QACA,CACA,uBAAAtK,EAAAwb,SACA,wBAAA+X,EAAAn8B,MACA,yBAAA4I,EAAAyb,WACA,wBAAAzb,EAAAic,UACA,0BAAAjc,EAAAozB,WACA,6BAAApzB,EAAA+yB,iBAKAS,GAAAvvB,EAAAA,EAAAA,WAAA,IACAjE,EAAAic,UAAA,SACA,YAAAjc,EAAAsK,QAAAtK,EAAAwb,UAAA+X,EAAAn8B,OAAA,UACA,WAAA4I,EAAAsK,OACA,YAAAtK,EAAAsK,MADA,YAEAtK,EAAAsK,QAGAmpB,GAAAxvB,EAAAA,EAAAA,WAAA,IACAjE,EAAAic,UAAA,SACA,YAAAjc,EAAAsK,QAAAtK,EAAAyb,YAAAzb,EAAAwb,UACA,OAEA,YAAAxb,EAAAsK,MAAA,UACA,WAAAtK,EAAAsK,MAAA,OACAtK,EAAAsK,QAGA6T,EAAA,K,IACAvB,EAAA,QAAAA,EAAAA,EAAAxlB,aAAA,IAAAwlB,GAAAA,EAAAuB,OAAA,EAGAuV,GAAAzvB,EAAAA,EAAAA,WAAA,cAAAjE,EAAAyK,KAAA,gBAAA+U,GAAAvb,EAAAA,EAAAA,WAAA,IAAAjE,EAAAkzB,aAAAlzB,EAAAmzB,gBASA,OANAz3B,EAAAA,EAAAA,YAAA,KACAsE,EAAAqzB,WACAlV,G,IAIA,CACAvB,QACA7e,YACAw1B,YACAC,cACAx8B,UACAwoB,aACAzT,UACA4nB,QAjEA5hC,IACAwhC,EAAAn8B,OAAA,EACAwkB,EAAA,QAAA7pB,EAAA,EAgEA6hC,OA9DA7hC,IACAwhC,EAAAn8B,OAAA,EACAwkB,EAAA,OAAA7pB,EAAA,EA6DA+Z,SApEA/Z,GAAA6pB,EAAA,WAAAjH,OAAAvd,OAqEA0oB,cA5DA/tB,GAAA6pB,EAAA,eAAA7pB,GA6DA8hC,UA7DA9hC,GAAA6pB,EAAA,UAAA7pB,GA8DA2hC,iBACAD,aACAtV,Q,IE/MA,SAXgB,E,SAAA,GACd,GHTW,WAAa,IAAI1qB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAa,UAAEI,EAAG,iBAAiB,CAACG,YAAY,sBAAsBC,MAAM,CAAC,OAASR,EAAIigC,kBAAkB7/B,EAAG,MAAM,CAACG,YAAY,YAAYD,MAAMN,EAAIuD,QAAQ9C,GAAG,CAAC,WAAa,SAAS4D,GAAQrE,EAAIsK,WAAY,CAAI,EAAE,WAAa,SAASjG,GAAQrE,EAAIsK,WAAY,CAAK,IAAI,CAACtK,EAAIa,GAAG,QAAO,WAAW,MAAO,CAAEb,EAAc,WAAEI,EAAG,kBAAkB,CAACG,YAAY,oBAAoBC,MAAM,CAAC,MAAQ,SAAS,KAAO,GAAG,MAAQR,EAAIy/B,YAAY,QAAUz/B,EAAI0/B,iBAAiB1/B,EAAIU,KAAKN,EAAGJ,EAAIw/B,SAAS,CAACz1B,IAAI,YAAYxJ,YAAY,uCAAuCC,MAAM,CAAC,KAAO,QAAQ,GAAE,CAAC,MAAQR,EAAI0qB,QAAQtqB,EAAG,QAAQJ,EAAI8J,GAAG,CAAC/G,IAAI,QAAQxC,YAAY,mBAAmBC,MAAM,CAAC,KAAOR,EAAIZ,KAAK,YAAcY,EAAIsoB,YAAY,SAAWtoB,EAAIgoB,WAAW,SAAWhoB,EAAI2/B,WAAW,cAAc3/B,EAAI6/B,QAAQ78B,SAAS,CAAC,MAAQhD,EAAI2D,OAAOlD,GAAG,CAAC,MAAQT,EAAIsY,QAAQ,MAAQtY,EAAIkgC,QAAQ,KAAOlgC,EAAImgC,OAAO,OAASngC,EAAIqY,SAAS,QAAUrY,EAAIogC,YAAY,QAAQpgC,EAAIokB,QAAO,IAAQpkB,EAAIa,GAAG,SAAQ,WAAW,MAAO,CAACT,EAAGJ,EAAIu/B,UAAU,CAACx1B,IAAI,YAAYxJ,YAAY,wCAAwCC,MAAM,CAAC,KAAO,QAASR,EAAS,MAAEI,EAAG,OAAO,CAACG,YAAY,QAAQD,MAAMN,EAAIggC,YAAY,CAAChgC,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+Y,UAAU/Y,EAAIU,KAAMV,EAAc,WAAEI,EAAG,aAAa,CAACG,YAAY,oBAAoBC,MAAM,CAAC,KAAO,QAAQ,MAAQR,EAAI+/B,aAAat/B,GAAG,CAAC,MAAQT,EAAIqsB,gBAAgB,CAACjsB,EAAG,mCAAmC,CAACI,MAAM,CAAC,KAAO,SAAS,GAAGR,EAAIU,KAAK,GAAE,CAAC,MAAQV,EAAI0qB,SAAS,EAAE,GACx/C,IGWpB,EACA,KACA,WACA,MAI8B,O,uHCVzB,G,SAAW2V,GAAAA,EACF,aAAG,c,EADDA,IAAAA,EAAc,KAIhC,MAeA,EAf8B,CAC1B,CACI52B,KAAM,eACNzE,KANW,eAOXiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,sBACPC,EAAAA,GACHC,uBAAuB,EACvBC,oBAAqB,CAAC7vB,EAAAA,GAAAA,WAE1B8vB,UAhBkB,IAAM,uFAiBxBC,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,M,+BCxBlD,MAgBA,E,0BAhBKC,GAAAA,EACD,QAAG,UADFA,EAED,QAAG,UAFFA,EAGD,QAAG,UAHFA,EAII,aAAG,eAJPA,EAKD,QAAG,UALFA,EAMH,MAAG,QANAA,EAOA,SAAG,WAPHA,EAQD,QAAG,UARFA,EASJ,KAAG,OATCA,EAUJ,KAAG,OAVCA,EAWJ,KAAG,OAXCA,EAYG,YAAG,cAZNA,EAaK,cAAG,e,EAbRA,IAAAA,EAAY,K,SAgBZC,GAAAA,EACH,MAAG,QADAA,EAED,QAAG,UAFFA,EAGI,aAAG,eAHPA,EAIQ,iBAAG,oB,EAJXA,IAAAA,EAAwB,I,+BChBpC,IAkHO,E,0BAAKC,GAAAA,EACU,mBAAG,qBADbA,EAEA,SAAG,U,EAFHA,IAAAA,EAAa,I,+GCnGzB,MAAMC,GAAaC,EAAAA,EAAAA,IAAgBC,EAAAA,uBAU5B,SAASC,EAAYC,GACxB,OAAOJ,EAAWK,SACdD,EAAmBE,UACnBF,EAAmBG,KACnBH,EAAmBrqB,KACnBqqB,EAAmBI,UACnBJ,EAAmBK,S,CAIpB,SAASC,EAAgBJ,GAC5B,MAAMK,GAAI,IAAIC,EAAAA,GACTp4B,KAAK,CACFq3B,EAAAA,EAAAA,QACAA,EAAAA,EAAAA,QACAA,EAAAA,EAAAA,QACAA,EAAAA,EAAAA,KACAA,EAAAA,EAAAA,KACAA,EAAAA,EAAAA,OAEHgB,MAAM,CAAEC,WAAYR,IACzB,OAAOS,EAAAA,GAAAA,IAAiDJ,E,CAGrD,SAASK,EAAWC,GACvB,MAAMN,GAAI,IAAIC,EAAAA,GAAYp4B,KAAK,CAC3Bq3B,EAAAA,EAAAA,QACAA,EAAAA,EAAAA,QACAA,EAAAA,EAAAA,QACAA,EAAAA,EAAAA,KACAA,EAAAA,EAAAA,cAEJ,OAAOkB,EAAAA,GAAAA,KAAyBJ,EAAGM,E,yHChDvC,MAAMC,GAAqBjB,EAAAA,EAAAA,IAAgBkB,EAAAA,+BAEpC,SAASC,IACZ,OAAOF,EAAmBG,uB,CAGvB7c,eAAe8c,IAClB,OAAOJ,EAAmBI,oB,CAGvB9c,eAAe+c,EAAgBN,GAClC,OAAOC,EAAmBK,gBAAgBN,E,CAGvC,SAASO,EAAazrB,GACzB,MAAM4qB,GAAI,IAAIC,EAAAA,GAAYp4B,KAAK,CAC3Bq3B,EAAAA,EAAAA,QACAA,EAAAA,EAAAA,QACAA,EAAAA,EAAAA,QACAA,EAAAA,EAAAA,aACAA,EAAAA,EAAAA,gBAMJ,OAJI9pB,GACA4qB,EAAEE,MAAM,OAAQ9qB,GAGbgrB,EAAAA,GAAAA,IAAwBJ,E,6JClB5B,G,SAAWn7B,GAAAA,EACP,QAAG,UADIA,EAEP,QAAG,UAFIA,EAGC,gBAAG,kBAHJA,EAIR,OAAG,SAJKA,EAKR,OAAG,Q,EALKA,IAAAA,EAAkB,KAQpC,MAAMi8B,EAAqB,K,IAGRC,EAFf,MAAMA,EAAcC,EAAAA,EAAAA,QAAwBl7B,EAAAA,GAAOm7B,QAAQC,WAE3D,OAAOtjC,QAAuC,QAA/BmjC,EAAAA,EAAY96B,MAAMk7B,qBAAa,IAA/BJ,OAAAA,EAAAA,EAAiCK,YAAY,EC1BzD,IAAmDC,EDmG1D,QAtE8B,CAC1B,CACIx5B,KAAM,UACNwM,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,iBACPC,EAAAA,GACHC,uBAAuB,EACvBC,oBAAqB,CAAC7vB,EAAAA,GAAAA,eAE1B8vB,UA3BkB,IAAM,kEA4BxBC,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,SACjD5vB,SAAU,CACN,CACIxH,KAAM,GACNzE,KA3BF,UA4BEiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,iBACPC,EAAAA,GACHC,uBAAuB,EACvB/qB,2BAA2B,GAE/BirB,UAxCoB,IAAM,mEAyC1BC,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,UAErD,CACIp3B,KAAM,SACNzE,KApCH,SAqCGiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,iBACPC,EAAAA,GACH9qB,2BAA2B,GAE/BirB,UAjDY,IAAM,sDAkDlBC,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,UAErD,CACIp3B,KAAM,iBACNzE,KAhDM,kBAiDNiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,iBACPC,EAAAA,GACH7d,iBAnDP,SAoDOjN,2BAA2B,GAE/BirB,UAhEa,IAAM,kEAiEnBC,aAAauC,EAAAA,EAAAA,GAAO,EAChBC,EAAAA,EAAAA,IAAgB,IAAMT,KAvD7B,WCpB6CO,EDmB7C,SClBFxd,MAAO2d,EAAYC,EAAcC,KAEhCre,OAAOse,aACPte,OAAOse,YAAYC,WAAWpkC,MAAQ6lB,OAAOse,YAAYC,WAAWC,mBAEpEH,EAAK,CAAEt+B,KAAMi+B,G,IDuELrC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,YAG5C,CACIp3B,KAAM,gBACNzE,KA9DH,SA+DGiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,iBACPC,EAAAA,GACH7d,iBAnEP,SAoEOjN,2BAA2B,GAE/BirB,UA5EY,IAAM,gCA6ElBC,aAAauC,EAAAA,EAAAA,GAAO,EAChBC,EAAAA,EAAAA,IAAgB,KAAOT,KAzErB,oBA0EF9B,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,c,gHE1FxD,MAAM6C,GAAgBxC,EAAAA,EAAAA,IAAgByC,EAAAA,0B,eCiDtC,MAAMC,UAAuBC,EAAAA,GACzB,wBACI5jC,KAAK4H,MAAMi8B,4BAA6B,C,CAG5C,yBACI7jC,KAAK4H,MAAMi8B,4BAA6B,C,CAG5C,qBACI7jC,KAAK4H,MAAMk8B,qBAAsB,C,CAGrC,sBACI9jC,KAAK4H,MAAMk8B,qBAAsB,C,CAGrC,oBAA2B1a,GACvBppB,KAAK4H,MAAMm8B,gBAAgB3a,KAAOA,EAClCppB,KAAK4H,MAAMm8B,gBAAgBC,SAAU,C,CAGzC,uBACIhkC,KAAK4H,MAAMm8B,gBAAgB3a,KAAO,KAClCppB,KAAK4H,MAAMm8B,gBAAgBC,SAAU,C,CAGzC,kBAAyBC,GACrBjkC,KAAK4H,MAAMs8B,eAAiBD,C,CAGhC,qBAA4BA,GACxBjkC,KAAK4H,MAAMs8B,eAAiB,IACrBlkC,KAAK4H,MAAMs8B,kBACVD,E,CAIZ,mBAA0B7a,GACtBppB,KAAK4H,MAAMu8B,eAAe/a,KAAOA,EACjCppB,KAAK4H,MAAMu8B,eAAeH,SAAU,C,CAGxC,sBACIhkC,KAAK4H,MAAMu8B,eAAe/a,KAAO,KACjCppB,KAAK4H,MAAMu8B,eAAeH,SAAU,C,CAGxC,0BAAiC5a,GAC7BppB,KAAK4H,MAAMw8B,sBAAsBhb,KAAOA,EACxCppB,KAAK4H,MAAMw8B,sBAAsBJ,SAAU,C,CAG/C,6BACIhkC,KAAK4H,MAAMw8B,sBAAsBhb,KAAO,KACxCppB,KAAK4H,MAAMw8B,sBAAsBJ,SAAU,C,CAG/C,qBACIhkC,KAAK4H,MAAMy8B,eAAeL,SAAU,C,CAGxC,sBACIhkC,KAAK4H,MAAMy8B,eAAeL,SAAU,C,CAGxC,0BACIhkC,KAAK4H,MAAM08B,0BAA2B,C,CAG1C,2BACItkC,KAAK4H,MAAM08B,0BAA2B,C,EAI9C,MAAMC,UAAqBC,EAAAA,IAE3B,MAAMC,UAAqBC,EAAAA,GACvB,4BACI,MAAMC,QAAuBnC,EAAAA,EAAAA,MAC6B,IAA/BmC,EAAevb,KAAK5gB,OAG3CxI,KAAKkI,UAAU08B,qBAEf5kC,KAAKkI,UAAU28B,oBAAoB,CAC/BC,+BAAgCH,EAAevb,M,CAK3D,2BACI,IACIppB,KAAKkI,UAAU68B,wBD3IhBtB,EAAcuB,aAAaC,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,I,CC4InD,MAAO/qB,GACL2U,QAAQpH,MAAM,kC,EAItB,2BACI,ID/I0Bs4B,ECgJJlkC,KAAK4H,MAAMs8B,eD/I9BT,EAAcyB,WAAWhB,E,CCgJ1B,MAAO7lC,GACL2U,QAAQpH,MAAM,iC,CDlJnB,IAA2Bs4B,C,CCsJ9B,iBAAwBt4B,GACpB,IAAIu5B,EAAAA,EAAAA,GAAgDv5B,GAAQ,C,IACtBA,EAE9BA,EAFJ,MAAMw5B,EAA4D,2BAAlB,QAAdx5B,EAAAA,EAAMy5B,gBAAQ,IAAdz5B,OAAAA,EAAAA,EAAgBwd,KAAKmI,QAEvD,GAA+B,OAAb,QAAd3lB,EAAAA,EAAMy5B,gBAAQ,IAAdz5B,OAAAA,EAAAA,EAAgBkC,SAAkBs3B,EAElC,YADAplC,KAAKkI,UAAUo9B,mBAAmB15B,EAAMy5B,SAASjc,KAAK0b,+B,GAO/D,MAAMr9B,EAAQ,IAAI89B,EAAAA,GAAO,CAC5B39B,MAzJJ,M,cACI,KAAOi8B,4BAA6B,EACpC,KAAOC,qBAAsB,EAC7B,KAAOQ,0BAA2B,EAClC,KAAOJ,eAAiC,CACpCsB,aAAc,GACdC,IAAK,GACLC,QAAS,GACTC,KAAM,GACNC,IAAK,GACLh+B,MAAO,GACPi+B,QAAS,GACTC,eAAgB,GAChBC,gBAAiB,IAErB,KAAOhC,gBAA4D,CAC/DC,SAAS,EACT5a,KAAM,MAEV,KAAO+a,eAAqD,CACxDH,SAAS,EACT5a,KAAM,MAEV,KAAOgb,sBAA0D,CAC7DJ,SAAS,EACT5a,KAAM,MAEV,KAAOib,eAAmC,CACtCL,SAAS,EACT5a,KAAM,K,GA6HVlhB,UAAWy7B,EACXxzB,QAASo0B,EACTyB,QAASvB,IAGAwB,GAAmCC,EAAAA,EAAAA,IAAaz+B,GAChD0+B,EAAmCrnC,EAAAA,GAAAA,OAAW,CACvDyR,SAAU,IACH01B,EAAiCG,SAAS,CACzC,6BACA,sBACA,2BACA,iBACA,iBACA,wBACA,iBACA,qBAGRC,QAAS,IACFJ,EAAiCK,aAAa,CAC7C,wBACA,yBACA,qBACA,sBACA,sBACA,uBACA,0BACA,2BACA,uBACA,qBACA,sBACA,4BACA,6BACA,qBACA,2BAEDL,EAAiCM,WAAW,CAC3C,sBACA,qBACA,qBACA,uB,kKC5MZ,MAAMC,GAAiBvF,E,MAAAA,IAAgBwF,EAAAA,gBASvC,MAAM9C,UAAuBC,EAAAA,GACzB,sBAA6B8C,GACzB1mC,KAAK4H,MAAMiO,mBAAqB6wB,EAAatd,KAC7CppB,KAAK4H,MAAM++B,iCAAmCD,EAAa54B,M,CAE/D,kBAAyBmI,GACrBjW,KAAK4H,MAAMqO,eAAiBA,C,CAEhC,kBAAyB2wB,GACrB5mC,KAAK4H,MAAM/B,eAAiB+gC,C,EAIpC,MAAMrC,UAAqBC,EAAAA,GACZ5uB,iB,IACA,EAAP,OAAoC,QAA7B,EAAA5V,KAAK4H,MAAMiO,0BAAkB,IAA7B,WAA+BC,Y,EAI9C,MAAM2uB,UAAqBC,EAAAA,GACvB,8BACI,MAAM7uB,QAA2BusB,EAAAA,EAAAA,MACjC,IACI,MAAMyE,QAAiBL,EAAeM,iBACtC9mC,KAAKkI,UAAU6+B,kBAAkBF,EAASzd,KAAKwd,iBAC/C5mC,KAAKkI,UAAU8+B,mBAAkB,E,CACnC,MAAOp7B,G,IAC4B,EAAqB,EAAtD5L,KAAKkI,UAAU8+B,kBAA8D,OAAtC,QAAN,EAACp7B,SAAoB,IAArB,GAA+B,QAA9B,EAAD,EAAuBy5B,gBAAQ,WAA/B,EAA+B,EAAEv3B,Q,CAEtE9N,KAAKkI,UAAU++B,sBAAsBpxB,E,EAItC,MAAMX,EAAoB,IAAIqwB,EAAAA,GAAO,CACxC39B,MAzCJ,M,cACI,KAAOiO,mBAA2D,KAElE,KAAOI,gBAAiB,EACxB,KAAOpQ,eAAgC,I,GAsCvCqC,UAAWy7B,EACXxzB,QAASo0B,EACTyB,QAASvB,IAGAtvB,GAAuB+xB,EAAAA,EAAAA,IAAiBhyB,GAExCiyB,GAA0BjB,EAAAA,EAAAA,IAAahxB,GACvCkyB,EAA0BtoC,EAAAA,GAAAA,OAAW,CAC9CyR,SAAU,IACH42B,EAAwBf,SAAS,CAChC,qBACA,mCACA,iBACA,sBAEDe,EAAwBE,WAAW,CAAC,gBAE3ChB,QAASc,EAAwBZ,WAAW,CAAC,4B,iICtEjD,MAAMe,GAAcrG,E,MAAAA,IAAgBsG,EAAAA,wB,ICwCpC,E,oDAAKC,GAAAA,EACG,KAAJC,OADCD,EAEO,SAARE,U,EAFCF,IAAAA,EAAe,KAMb,MAAMG,EAAY,IAClBH,KACAI,EAAAA,UAGP,MAAMrD,UAAqBC,EAAAA,GACZqD,kB,IACA,EAAP,OAAsC,QAA/B,EAAA7nC,KAAK4H,MAAMkgC,4BAAoB,IAA/B,WAAiCC,eAAgBH,EAAAA,SAAAA,I,CAEjDI,kB,IACA,EAAP,OAAsC,QAA/B,EAAAhoC,KAAK4H,MAAMkgC,4BAAoB,IAA/B,WAAiCG,eAAgBC,EAAAA,SAAAA,G,CAEjDC,iB,IACQ,EAAf,OAAO5oC,QAAgC,QAAxB,EAAAS,KAAK4H,MAAMk7B,qBAAa,IAAxB,WAA0BC,Y,CAElCqF,uB,IACA,EAAP,OAAsC,QAA/B,EAAApoC,KAAK4H,MAAMkgC,4BAAoB,IAA/B,WAAiCO,oBAAqBC,EAAAA,kBAAAA,O,CAEtDC,mBACP,OAAOC,EAAAA,EAAAA,YAAWxoC,KAAKmQ,QAAQi4B,iB,CAExBK,sB,IACA,EAAP,OAAsC,QAA/B,EAAAzoC,KAAK4H,MAAMkgC,4BAAoB,IAA/B,WAAiCY,mBAAoBC,EAAAA,SAAAA,G,CAErDC,kB,IACA,EAAP,OAAmC,QAA5B,EAAA5oC,KAAKmQ,QAAQs4B,uBAAe,IAA5B,WAA8BI,gBAAiBF,EAAAA,SAAAA,G,CAE/CG,qB,IAC2B,EAAwB,EAA1D,MAAMC,EAAoD,QAAxB,EAAA/oC,KAAK4H,MAAMk7B,qBAAa,IAAxB,GAAoC,QAApC,IAA0BkG,kBAAU,WAApC,IAAsCj4B,MACpE5H,I,IAAQA,EAAAA,OAAS,QAATA,EAAAA,EAAK5K,YAAI,IAAT4K,OAAAA,EAAAA,EAAW0/B,iBAAkB7oC,KAAKmQ,QAAQy4B,WAAW,IAEjE,OAAOG,aAAAA,EAAAA,EAA2BE,M,CAE3BD,iB,IACA,EAAP,OAA+B,QAAxB,EAAAhpC,KAAK4H,MAAMk7B,qBAAa,IAAxB,WAA0BkG,aAAc,E,CAExCE,mB,IAES,EAAwB,EADxC,MAAM,YAAEN,EAAW,YAAEf,GAAgB7nC,KAAKmQ,QACpCqZ,EAAkC,QAAxB,EAAAxpB,KAAK4H,MAAMk7B,qBAAa,IAAxB,GAAgC,QAAhC,IAA0BqG,cAAM,WAAhC,IAAmCP,GAAaf,GAChE,OAAOre,EAAUtf,OAAO1L,KAAKgrB,GAAW,E,CAEjC4f,mB,IAEqB,EAAwB,EADpD,MAAM,YAAER,EAAW,YAAEZ,EAAW,YAAEH,GAAgB7nC,KAAKmQ,QACjDk5B,EAA8C,QAAxB,EAAArpC,KAAK4H,MAAMk7B,qBAAa,IAAxB,GAAgC,QAAhC,IAA0BqG,cAAM,WAAhC,IAAmCP,GAAcf,GAAcG,GAE3F,OAD6B99B,OAAO1L,KAAK6qC,GACbj/B,KAAIo3B,IAAa,CACzCz8B,KAAMy8B,EACN8H,SAAUD,EAAoB7H,GAAW+H,uB,CAGtCC,qBACP,MAAO,CACH9C,aAAc,CACVjF,SAAUzhC,KAAKmQ,QAAQs4B,gBACvBjH,UAAWxhC,KAAKmQ,QAAQi4B,iBACxBrxB,KAAM/W,KAAKmQ,QAAQ63B,YACnBzG,KAAMvhC,KAAKmQ,QAAQ03B,aAEvB1I,OAAQ4B,EAAAA,EAAAA,mB,CAIL0I,4BACP,OAAOC,KAAKC,KAAKC,UAAU5pC,KAAKmQ,QAAQq5B,gB,CAGjCK,Y,IACA,EAAP,OAA+B,QAAxB,EAAA7pC,KAAK4H,MAAMk7B,qBAAa,IAAxB,WAA0B+G,QAAS,E,CAGnCC,uBACP,GAAI9pC,KAAK4H,MAAMk7B,cAAe,CAC1B,MAAM,YAAE8F,EAAW,YAAEZ,EAAW,YAAEH,EAAW,aAAEU,GAAiBvoC,KAAKmQ,QAErE,OAAOnQ,KAAK4H,MAAMk7B,cAAeqG,OAAQP,GAAaf,GAAaG,GAAaO,E,CAEhF,MAAO,CAAC,C,CAILwB,uBACP,IACI,MAAM,iBAAErB,EAAgB,aAAET,EAAY,aAAEF,EAAY,kBAAEM,GAAsBroC,KAAK4H,MAAMoiC,gBAEvF,OAAOhqC,KAAK4H,MAAMk7B,cAAeqG,OAAQT,EAAkBG,eAAed,GAAcE,IACpFO,EAAAA,EAAAA,YAAWH,G,CAEjB,MAAOhqC,GACL,MAAO,CAAC,C,EAIL4rC,2BACP,OAAOjqC,KAAKmQ,QAAQ25B,iBAAiBI,+BAAiC,C,CAG/DC,oBACP,OAAOnqC,KAAKmQ,QAAQ25B,iBAAiBM,uBAAyB,C,CAGvDd,eACP,MAAMe,GACD,KACIrqC,KAAKmQ,QAAQi4B,mBAAqBE,EAAAA,kBAAAA,SAC7BtoC,KAAKmQ,QAAQ25B,iBAAiBP,oBAC9B,IACV,IACJ,OAAOvpC,KAAKmQ,QAAQ85B,qBAAuBI,EAAarqC,KAAKmQ,QAAQ85B,oB,CAG9DK,kCACP,OAAOtqC,KAAKmQ,QAAQ45B,iBAAiBG,+BAAiC,C,CAG/DK,sBACP,MAAMF,GACD,KACIrqC,KAAKmQ,QAAQq6B,mBAAqBlC,EAAAA,kBAAAA,SAC7BtoC,KAAKmQ,QAAQ45B,iBAAiBR,oBAC9B,IACV,IACJ,OAAOvpC,KAAKmQ,QAAQm6B,4BAA8BD,EAAarqC,KAAKmQ,QAAQm6B,2B,CAGrEE,uB,IACA,EAAP,OAAiC,QAA1B,EAAAxqC,KAAK4H,MAAMoiC,uBAAe,IAA1B,WAA4B3B,oBAAqBC,EAAAA,kBAAAA,O,CAGjDmC,kB,IACA,EAAP,OAAiC,QAA1B,EAAAzqC,KAAK4H,MAAMoiC,uBAAe,IAA1B,WAA4BjC,eAAgBH,EAAAA,SAAAA,I,CAG5C8C,kB,IACA,EAAP,OAAiC,QAA1B,EAAA1qC,KAAK4H,MAAMoiC,uBAAe,IAA1B,WAA4B/B,eAAgBC,EAAAA,SAAAA,G,CAG5CyC,sB,IACA,EAAP,OAAiC,QAA1B,EAAA3qC,KAAK4H,MAAMoiC,uBAAe,IAA1B,WAA4BtB,mBAAoBC,EAAAA,SAAAA,G,CAGhDiC,2B,IAE2B,EADlC,MAAMf,EAAQ7pC,KAAKmQ,QAAQ05B,MAAMz/B,KAAIm3B,GAAQA,EAAKx8B,OAC5C8iC,EAAcgC,EAAMzwB,QAAkC,QAA1B,EAAApZ,KAAK4H,MAAMoiC,uBAAe,IAA1B,WAA4BjC,cAG9D,OAFiB8B,EAAMzwB,QAAQpZ,KAAKmQ,QAAQ03B,aAE7BA,EACJ,OAGJ,O,CAGAgD,2B,IAGI,EAFX,MAC0C,SAAtC7qC,KAAKmQ,QAAQy6B,sBACbjjB,OAAiC,QAA1B,EAAA3nB,KAAK4H,MAAMoiC,uBAAe,IAA1B,WAA4B/B,cAAgBtgB,OAAO3nB,KAAKmQ,QAAQ63B,Y,EAKnF,MAAMrE,UAAuBC,EAAAA,GACzB,SAAgByB,GACZrlC,KAAK4H,MAAMk7B,cAAgBuC,C,CAE/B,mBAA0Bjc,GACtB,MAAM0hB,GAASC,EAAAA,EAAAA,QAAO3hB,GACtBppB,KAAK4H,MAAMkgC,qBAAuB,IAAK9nC,KAAK4H,MAAMkgC,wBAAyBgD,E,CAE/E,mBAA0Bd,GACtBhqC,KAAK4H,MAAMoiC,gBAAkBA,C,EAIrC,MAAMvF,UAAqBC,EAAAA,GACvB,iB,IAI0B,EACC,EACL,EACA,EANlB,MAAM5B,cD1NHwE,EAAY0D,YC0N4C5hB,KAC3DppB,KAAKkI,UAAU+iC,SAASnI,GACxB,MAAMoI,EAAgB,CAClBxC,iBAA0C,QAAxB,EAAA1oC,KAAK4H,MAAMk7B,qBAAa,IAAxB,WAA0B4F,iBAC5CL,kBAA2C,QAAxB,EAAAroC,KAAK4H,MAAMk7B,qBAAa,IAAxB,WAA0BuF,kBAC7CN,aAAsC,QAAxB,EAAA/nC,KAAK4H,MAAMk7B,qBAAa,IAAxB,WAA0BiF,aACxCE,aAAsC,QAAxB,EAAAjoC,KAAK4H,MAAMk7B,qBAAa,IAAxB,WAA0BmF,cAE5CjoC,KAAKkI,UAAUijC,mBAAmBD,GAClClrC,KAAKkI,UAAUkjC,mBAAmBF,E,CAGtC,kBAAyB9hB,GAKrB,MAAM,OAAEtb,EAAM,gBAAEu9B,EAAe,YAAEC,GAAgBliB,EAEjD,QAAe3U,IAAX3G,EAAsB,CACtB,MAAMy9B,SACIpK,EAAAA,EAAAA,IAAY,CACdG,UAAW,GAAGtc,OAAO3T,SAASm6B,SAASF,WAAqBtrC,KAAKmQ,QAAQs5B,wBACzElI,KAAMvhC,KAAKmQ,QAAQ03B,YACnB9wB,KAAM/W,KAAKmQ,QAAQ63B,YACnBxG,UAAWxhC,KAAKmQ,QAAQi4B,iBACxB3G,SAAUzhC,KAAKmQ,QAAQs4B,mBAE7Brf,KAEF,GAAImiB,EAAoBE,qBAEpB,YADAzmB,OAAO3T,SAAS3H,KAAO6hC,EAAoBG,a,CAKnD,MAAMzJ,EAAkC,CACpC0J,kBAAmBN,KAChBrrC,KAAKmQ,QAAQq5B,eAAe9C,cAGnC,OAAOnE,EAAAA,EAAAA,IAAgBN,E,EAIxB,MAAMY,EAAa,IAAI0C,EAAAA,GAAO,CACjC39B,MA9OJ,M,cACI,KAAOk7B,cAA0C,KACjD,KAAOkH,gBAA0C,KACjD,KAAOlC,qBAA6C,CAChDY,iBAAkBC,EAAAA,SAAAA,IAClBN,kBAAmBC,EAAAA,kBAAAA,QACnBP,aAAcH,EAAAA,SAAAA,KACdK,aAAcC,EAAAA,SAAAA,I,GAwOlB/3B,QAASo0B,EACTr8B,UAAWy7B,EACXqC,QAASvB,IAGAmH,GAAmB1F,EAAAA,EAAAA,IAAarD,GAChCgJ,EAAmB/sC,EAAAA,GAAAA,OAAW,CACvCyR,SAAU,IACHq7B,EAAiBxF,SAAS,CAAC,gBAAiB,kBAAmB,4BAC/DwF,EAAiBvE,WAAW,CAC3B,cACA,cACA,aACA,mBACA,eACA,kBACA,cACA,iBACA,aACA,eACA,eACA,iBACA,wBACA,QACA,uBACA,WACA,mBACA,mBACA,uBACA,uBACA,8BACA,kBACA,mBACA,cACA,cACA,kBACA,mBAGRhB,QAAS,IACFuF,EAAiBrF,WAAW,CAAC,WAAY,mBACzCqF,EAAiBtF,aAAa,CAAC,qBAAsB,yB,qUC1RzD,SAASx2B,IACZ,MAAM1G,GAAQ0L,EAAAA,EAAAA,MAERg3B,GADWn5B,EAAAA,EAAAA,KACgBlU,QAAQstC,EAAAA,EAAAA,4BACnC,MAAEhmC,IAAUuC,EAAAA,EAAAA,OACZ,cAAEkH,EAAa,iBAAEC,EAAgB,qBAAE6C,IAAyB3C,EAAAA,EAAAA,KAC5Dq8B,GAA2BC,EAAAA,EAAAA,MAC3Bz5B,GAA0BC,EAAAA,EAAAA,MAE1Bc,EAA2By4B,EAAyBpkC,MAAM2L,yBAE1D24B,GAAmB37B,EAAAA,EAAAA,WAAkC,IAChD,CACH,CACIlR,MAAO0G,EAAM,+CACbgE,KAAM,wBACNsH,SAAU7B,EAAcmB,EAAAA,GAAAA,WAAyBw7B,EAAAA,GAAAA,gBAAwBA,EAAAA,GAAAA,UACzEC,MAAO,EACPthC,QAAQ,GAEZ,CACIzL,MAAO0G,EAAM,2CACbgE,KAAM,qCACNqiC,MAAO,EACP/6B,SAAU86B,EAAAA,GAAAA,eACVh7B,YAAayvB,EAAAA,EAAAA,QACb91B,OAAQ0E,EAAcmB,EAAAA,GAAAA,YAE1B,CACItR,MAAO0G,EAAM,yCACbgE,KAAM,yBACNqiC,MAAO,EACP/6B,SAAU86B,EAAAA,GAAAA,aACVrhC,OAAQ0E,EAAcmB,EAAAA,GAAAA,YAE1B,CACItR,MAAO0G,EAAM,0CACbsmC,UAAWtmC,EAAM,iDACjBsL,SAAU7B,EAAcmB,EAAAA,GAAAA,WAAyBw7B,EAAAA,GAAAA,cAAsBA,EAAAA,GAAAA,gBACvEpiC,KAAM,6DACNoH,YAAa,CAACyvB,EAAAA,EAAAA,iBAAmCA,EAAAA,EAAAA,QACjDwL,MAAO,EACPthC,OAAQwH,EAAqB5O,MAC7B8N,wBAAyB+B,EAAyBM,0BAEtD,CACIxU,MAAO0G,EAAM,4CACbgE,KAAM,uCACNqiC,MAAO,EACP/6B,SAAU86B,EAAAA,GAAAA,iBACVh7B,YAAayvB,EAAAA,EAAAA,kBACb91B,OAAQ0E,EAAcmB,EAAAA,GAAAA,YAE1B,CACItR,MAAO0G,EAAM,0CACbgE,KAAM,6CACNqiC,MAAO,EACP/6B,SAAU86B,EAAAA,GAAAA,cACVh7B,YAAayvB,EAAAA,EAAAA,OACb91B,OAAQ0E,EAAcmB,EAAAA,GAAAA,eAK5Bd,GAAoBU,EAAAA,EAAAA,WAAgC,KAC/C,CACHxL,KAAM,WACN1F,MAAO0G,EAAM,0CACbgE,KAAM,uCACNqiC,MAAO,EACPthC,OAAQ0H,EAAwBrC,QAAQm8B,gBACxCt7B,SAAU,CACN,CACIjM,KAAM,WACN1F,MAAO0G,EAAM,0CACbqmC,MAAO,EACP/6B,SAAUk7B,EAAAA,EAAAA,SACVp7B,YAAayvB,EAAAA,EAAAA,UAEjB,CACI77B,KAAM,gBACN1F,MAAO0G,EAAM,oDACbqmC,MAAO,EACP/6B,SAAUk7B,EAAAA,EAAAA,cACVp7B,YAAayvB,EAAAA,EAAAA,eAEjB,CACI77B,KAAM,MACN1F,MAAO0G,EAAM,qCACbqmC,MAAO,EACP/6B,SAAUk7B,EAAAA,EAAAA,IACVzhC,QAASghC,EAAgBU,0BAMnC58B,GAAwBW,EAAAA,EAAAA,WAAkC,IACrD,CACH,CACIxL,KAAM,eACN1F,MAAO0G,EAAM,8CACbgE,KAAM,sCACNqiC,MAAO,EACPthC,OAAQ2E,EAAiBkB,EAAAA,GAAAA,YAAyBA,EAAAA,GAAAA,YAClDK,SAAU,CACN,CACI3R,MAAO0G,EAAM,uCACbqmC,MAAO,EACP/6B,SAAUo7B,EAAAA,EAAAA,MACVC,aAAc,QACd5hC,OAAQ0E,EAAcmB,EAAAA,GAAAA,aAE1B,CACItR,MAAO0G,EAAM,wCACbqmC,MAAO,EACP/6B,SAAUs7B,EAAAA,EAAAA,OACVx7B,YAAayvB,EAAAA,EAAAA,OACb91B,OAAQ0E,EAAcmB,EAAAA,GAAAA,gBAIlC,CACI5L,KAAM,WACN1F,MAAO0G,EAAM,0CACbgE,KAAM,qDACNqiC,MAAO,EACPthC,OAAQ2E,EAAiBkB,EAAAA,GAAAA,aAA0BA,EAAAA,GAAAA,YAAyBA,EAAAA,GAAAA,gBAC5EK,SAAU,CACN,CACIjM,KAAM,UACN1F,MAAO0G,EAAM,yCACbqmC,MAAO,EACP/6B,SAAUu7B,EAAAA,EAAAA,uBACVz7B,YAAayvB,EAAAA,EAAAA,QACb91B,OAAQ0E,EAAcmB,EAAAA,GAAAA,eAE1B,CACI5L,KAAM,SACN1F,MAAO0G,EAAM,wCACbqmC,MAAO,EACP/6B,SAAUw7B,EAAAA,EAAAA,gBACVr7B,wBAAyB+B,EAAyBu5B,kBAClD37B,YAAayvB,EAAAA,EAAAA,OACb91B,OAAQ0E,EAAcmB,EAAAA,GAAAA,cAE1B,CACI5L,KAAM,YACN1F,MAAO0G,EAAM,2CACbqmC,MAAO,EACP/6B,SAAU07B,EAAAA,EAAAA,mBACV57B,YAAayvB,EAAAA,EAAAA,UACb91B,OAAQ0E,EAAcmB,EAAAA,GAAAA,mBAIlC,CACI5L,KAAM,SACN1F,MAAO0G,EAAM,wCACbgE,KAAM,6CACNqiC,MAAO,EACPthC,OAAQ0E,EAAcmB,EAAAA,GAAAA,aACtBK,SAAU,CACN,CACIjM,KAAM,kBACN1F,MAAO0G,EAAM,iDACbqmC,MAAO,EACP/6B,SAAU27B,EAAAA,EAAAA,gBACV77B,YAAayvB,EAAAA,EAAAA,QAEjB,CACI77B,KAAM,iBACN1F,MAAO0G,EAAM,gDACbqmC,MAAO,EACP/6B,SAAU27B,EAAAA,EAAAA,eACV77B,YAAayvB,EAAAA,EAAAA,UAIzB,CACIvhC,MAAO0G,EAAM,uDACbgE,KAAM,oCACNqiC,MAAO,EACP/6B,SAAU47B,EAAAA,EAAAA,OACV97B,YAAayvB,EAAAA,EAAAA,kBACb91B,OAAQ0E,EAAcmB,EAAAA,GAAAA,wBAE1B,CACItR,MAAO0G,EAAM,yCACbgE,KAAM,sCACNqiC,MAAO,EACP/6B,SAAU7K,EAAAA,EAAAA,QACV2K,YAAayvB,EAAAA,EAAAA,QACbsM,oBAAoB,EACpBpiC,OAAQ0E,EAAcmB,EAAAA,GAAAA,eAE1B,CACItR,MAAO0G,EAAM,8CACbgE,KAAM,gDACNqiC,MAAO,EACP/6B,SAAU+uB,EAAAA,EAAAA,aACVjvB,YAAayvB,EAAAA,EAAAA,IACbsM,oBAAoB,EACpBpiC,OAAQ0E,EAAcmB,EAAAA,GAAAA,WAE1Bd,EAAkBnM,SAIpBypC,GAAW58B,EAAAA,EAAAA,WAAsC,IAC5CnH,EAAMI,KAAK8B,SAAS8hC,EAAAA,GAAAA,QAAgB,SAAW,mBAO1D,MAAO,CAAE/gB,SAJO9b,EAAAA,EAAAA,WAAkC,IACpB,WAAnB48B,EAASzpC,MAAqBwoC,EAAiBxoC,MAAQkM,EAAsBlM,QAGtEkM,wBAAuBC,oB,6IC1OtC,G,SAAK+8B,GAAAA,EACM,eAAG,iBADTA,EAEc,uBAAG,yBAFjBA,EAG4B,qCAAG,uCAH/BA,EAIiC,0CAAG,4CAJpCA,EAK4B,qCAAG,uCAL/BA,EAMiC,0CAAG,2C,EANpCA,IAAAA,EAAkB,KAS9B,MAwCA,EAxC8B,CAC1B,CACIpjC,KAAM,UACNzE,KAAM6nC,EAAmBS,uBACzBr3B,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,gCACPC,EAAAA,GACHC,uBAAuB,EACvBC,oBAAqB,CAAC7vB,EAAAA,GAAAA,eAE1BK,SAAU,EACNs8B,EAAAA,EAAAA,GAAwB,CACpBC,sBAAuBX,EAAmBY,qCAC1CC,0BAA2Bb,EAAmBc,0CAC9CnN,uBAAuB,KAG/BE,UA5BsB,IAAM,yLA6B5BC,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,UAErD,CACIp3B,KAAM,4BACNzE,KAAM6nC,EAAmBe,eACzB33B,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,yBACPuN,EAAAA,EAAAA,IAA0BC,EAAAA,EAAAA,IAC7BprB,iBAAkBmqB,EAAmBS,uBACrC7M,oBAAqB,CAAC7vB,EAAAA,GAAAA,eAE1B8vB,UAzCsB,IAAM,uNA0C5BC,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,SACjD5vB,SAAU,EACNs8B,EAAAA,EAAAA,GAAwB,CACpBC,sBAAuBX,EAAmBkB,qCAC1CL,0BAA2Bb,EAAmBmB,8C,mHChD9D,MAAMC,EAAqB,IAAM,8K,IAG1B,G,SAAWnB,GAAAA,EACM,qBAAG,uBADTA,EAED,cAAG,gBAFFA,EAGC,gBAAG,iB,EAHJA,IAAAA,EAAiB,KAMnC,MA4CA,EA5C8B,CAC1B,CACIrjC,KAAM,SACNzE,KANc,kBAOdiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,yBACPC,EAAAA,GACHC,uBAAuB,EACvBC,oBAAqB,CAAC7vB,EAAAA,GAAAA,cAE1B8vB,UAlBqB,IAAM,6HAmB3BC,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,SAErD,CACIp3B,KAAM,gBACNzE,KApBmB,uBAqBnBiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,sBACPC,EAAAA,GACH7d,iBAtBU,kBAuBV+d,oBAAqB,CAAC7vB,EAAAA,GAAAA,cAE1B8vB,UAAWuN,EACXtN,YAAalb,MAAO2d,EAAKC,EAAOC,WACtB1C,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,OAApCD,CAA6DwC,EAAKC,EAAOC,EAAK,GAG5F,CACI75B,KAAM,wBACNzE,KAjCY,gBAkCZiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,oBACPC,EAAAA,GACH7d,iBApCU,kBAqCV+d,oBAAqB,CAAC7vB,EAAAA,GAAAA,aACtB4vB,uBAAuB,GAE3BE,UAAWuN,EACXtN,YAAalb,MAAO2d,EAAKC,EAAOC,WACtB1C,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,OAApCD,CAA6DwC,EAAKC,EAAOC,EAAK,G,+BCCzF,SAAS4K,EAAiBC,GAC7B,MAA6B,WAAtBA,EAAUC,UAA+C,cAAtBD,EAAUC,Q,CA8BjD,SAASC,EAAcC,GAC1B,MAAO,CACHA,WAAYA,EAAWjkC,KAAIkkC,IAChB,CACH5pC,IAAK4pC,EAAUC,OAAS,KACxBC,WAAYF,EAAUE,aAAc,EACpC11B,MAAOw1B,EAAUx1B,OAAS,KAC1B21B,UAAWH,EAAUG,WAAa,GAClClkC,OAAQ+jC,EAAU/jC,QAAU,GAC5BmkC,kBAAmBJ,EAAUI,mBAAqB,KAClDC,SAAUL,EAAUK,UAAY,S,gIC3FhD,MAAMC,GAAmB3N,EAAAA,EAAAA,IAAgB4N,EAAAA,sBAElC,SAASC,EACZtlB,EACA5V,GAEA,IAAIm7B,EAEJ,GAAIvlB,EAAQwlB,cAAep7B,aAAAA,EAAAA,EAAQ/H,MAAM,CACrC,MAAMyf,EAAU,IAAI2jB,EAAAA,GAEhBzlB,EAAQwlB,aACR1jB,EAAQ4jB,MAAM,QAAQrkC,OAAOskC,EAAAA,GAAAA,SAAmB3lB,EAAQwlB,cAGxDp7B,aAAAA,EAAAA,EAAQ/H,QACY,cAAhB+H,EAAO/H,KACPyf,EAAQ4jB,MAAM,MAAMrkC,OAAOskC,EAAAA,GAAAA,UAAoBv7B,aAAAA,EAAAA,EAAQw7B,YAAYnxB,KAAK,MAExErK,EAAOw7B,YAAY9X,SAAQ54B,IACvB4sB,EAAQ4jB,MAAM,MAAMrkC,OAAOskC,EAAAA,GAAAA,aAAuBzwC,EAAG,KAKjEqwC,EAAYzjB,EAAQ+jB,O,CAGxB,OAAOT,EACFU,cAAcP,OAAWt6B,EAAW+U,EAAQ+lB,KAAM/lB,EAAQgmB,UAC1DvK,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAGzB,SAASqmB,EAASC,GACrB,OAAOd,EAAiBe,aAAaD,GAASzK,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAGlE,SAASwmB,EAAkBC,GAC9B,OAAOjB,EAAiBkB,wBAAwBD,GAAO5K,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,iQClClF,MAAM2mB,GAAsB9O,EAAAA,EAAAA,IAAgB+O,EAAAA,4BAErC,SAASC,EAASzmB,EAA6BkmB,GAClD,MAAMpkB,GAAU4kB,EAAAA,EAAAA,IAAW1mB,EAAQwlB,cAC7B,IAAIC,EAAAA,IAAyBC,MAAM,aAAarkC,OAAOskC,EAAAA,GAAAA,SAAmB3lB,EAAQwlB,aAAe,SACjGv6B,EAEAktB,GAAI,IAAIC,EAAAA,GACTuO,OAAO,CAACtP,EAAAA,GAAAA,YAA0BA,EAAAA,GAAAA,QAAsBA,EAAAA,GAAAA,WAAyB6O,EAAS7O,EAAAA,GAAAA,OAC1FvV,QAAQA,GACRuW,MAAM,CACH0N,KAAM/lB,EAAQ+lB,KACda,UAAW5mB,EAAQgmB,WAG3B,OAAOzN,EAAAA,GAAAA,IAAkDJ,GAAGsD,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAGhF,SAASinB,EAAoB7mB,GAChC,MAAM8B,GAAU4kB,EAAAA,EAAAA,IAAW1mB,EAAQwlB,cAC7B,IAAIC,EAAAA,IACCC,MAAM,aAAc,aACpBrkC,OAAOskC,EAAAA,GAAAA,SAAmB3lB,EAAQwlB,aAAe,SACtDv6B,EAEN,OAAOs7B,EACFO,OAAOhlB,aAAAA,EAAAA,EAASilB,2BAAuB97B,EAAW+U,EAAQ+lB,KAAM/lB,EAAQgmB,UACxEvK,KAAKuL,EAAAA,E,CClCP,SAASC,EAAcC,EAAiBC,GAC3C,MAAMhP,GAAI,IAAIC,EAAAA,GACTuO,OAAO,CAACtP,EAAAA,GAAAA,YAA0BA,EAAAA,GAAAA,QAAsBA,EAAAA,GAAAA,WAAyBA,EAAAA,GAAAA,WACjFzX,KAAK,CACFwnB,SAAUF,EACVG,SAAUF,IAGlB,OAAO5O,EAAAA,GAAAA,OAA2BJ,E,CCR/B,SAASmP,EAAW7O,GACvB,MAAMN,GAAI,IAAIC,EAAAA,GAAYuO,OAAO,CAC7BtP,EAAAA,GAAAA,YACAA,EAAAA,GAAAA,QACAA,EAAAA,GAAAA,WACAA,EAAAA,GAAAA,SAGJ,OAAOkB,EAAAA,GAAAA,IAAwBJ,EAAGM,E,gBCR/B,SAAS8O,EAAiBC,GAC7B,MAAMrP,EAAIC,EAAAA,EAAAA,cAAwBf,EAAAA,GAAAA,aAA0Br3B,KAAK,CAC7Dq3B,EAAAA,GAAAA,QACAA,EAAAA,GAAAA,WACAA,EAAAA,GAAAA,OAGJ,OAAOkB,EAAAA,GAAAA,KAAyBJ,EAAGqP,E,CCNhC,SAASC,EAAevB,GAC3B,MAAMpkB,GAAU,IAAI2jB,EAAAA,IAAyBC,MAAM,MAAMrkC,OAAOskC,EAAAA,GAAAA,UAAoBO,GAE9E/N,GAAI,IAAIC,EAAAA,GACTuO,OAAO,CAACtP,EAAAA,GAAAA,YAA0BA,EAAAA,GAAAA,QAAsBA,EAAAA,GAAAA,WAAyBA,EAAAA,GAAAA,eACjFvV,QAAQA,GAEb,OAAOyW,EAAAA,GAAAA,IAAgCJ,GAAGsD,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,gBCTrE,MAAM8nB,GAA0BjQ,EAAAA,EAAAA,IAAgBkQ,EAAAA,6BAEzC,SAASC,EAAqB1B,GACjC,OAAOwB,EAAwBE,qBAAqB1B,GAASzK,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAGjF,SAASioB,EAAoB3B,EAAiB4B,GACjD,OAAOJ,EAAwBK,uBAAuB7B,EAAS,CAAE8B,QAASF,IAAUrM,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAGxG,SAASqoB,EAAuB/B,EAAiB4B,GACpD,OAAOJ,EAAwBO,uBAAuB/B,EAAS4B,GAAQrM,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,2BCHlG,MAAMsoB,GAAgBzQ,EAAAA,EAAAA,IAAgB0Q,EAAAA,iBAE/B,SAASC,IACZ,OAAOF,EACFE,oBACA3M,MAAKI,IAAYmL,EAAAA,EAAAA,GAAsCnL,KACvDJ,KAAKmJ,EAAAA,G,CAGP,SAASyD,EAAQnC,EAAiBoC,G,IAAsBC,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAA4B,aAAJ,KACnF,MAAMpQ,GAAI,IAAIC,EAAAA,GAAYuO,OAAO,CAACtP,EAAAA,GAAAA,YAA0BA,EAAAA,GAAAA,QAAsBA,EAAAA,GAAAA,OAE5EoB,EAAU,IACG,OAAX8P,EAAkB,CAAErzC,GAAIqzC,GAAW,CAAC,EACxCC,cAAetC,EACfuC,WAAYH,GAGhB,OAAO/P,EAAAA,GAAAA,IAAwBJ,EAAGM,E,CAS/B,SAASiQ,EACZ1oB,EACAkmB,GAEA,MAAMpkB,GAAU,IAAI2jB,EAAAA,IAAyBC,MAAM,iBAAiBrkC,OAAOskC,EAAAA,GAAAA,UAAoBO,GAEzF/N,GAAI,IAAIC,EAAAA,GACTuO,OAAO,CAACtP,EAAAA,GAAAA,YAA0BA,EAAAA,GAAAA,QAAsBA,EAAAA,GAAAA,KAAmBA,EAAAA,GAAAA,MAAoB6O,IAC/FpkB,QAAQA,GACRuW,MAAM,CACH0N,KAAM/lB,EAAQ+lB,KACda,UAAW5mB,EAAQgmB,WAG3B,OAAOzN,EAAAA,GAAAA,IAAqDJ,GAAGsD,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAGnF,SAAS+oB,EAAiBL,GAC7B,MAAMnQ,GAAI,IAAIC,EAAAA,GAAYuO,OAAO,CAC7BtP,EAAAA,GAAAA,YACAA,EAAAA,GAAAA,QACAA,EAAAA,GAAAA,KACAA,EAAAA,GAAAA,UAGJ,OAAOkB,EAAAA,GAAAA,KAAiCJ,EAAGmQ,GAAM7M,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAGrE,SAASgpB,EAAYC,GACxB,MAAM1Q,GAAI,IAAIC,EAAAA,GACTuO,OAAO,CAACtP,EAAAA,GAAAA,YAA0BA,EAAAA,GAAAA,QAAsBA,EAAAA,GAAAA,OACxDzX,KAAK,CAAE4nB,IAAKqB,IAEjB,OAAOtQ,EAAAA,GAAAA,OAA+BJ,GAAGsD,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,8FClEpE,MACMkpB,EAAsB,IAAM,gG,IAE3B,G,SAAW3F,GAAAA,EACR,OAAG,sBADKA,EAEF,aAAG,eAFDA,EAGJ,WAAG,Y,EAHCA,IAAAA,EAAiB,KAMnC,MAoCA,EApC8B,CAC1B,CACInjC,KAAM,SACNzE,KARK,sBASLiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,gBACPC,EAAAA,GACHC,uBAAuB,EACvBC,oBAAqB,CAAC7vB,EAAAA,GAAAA,cAE1B8vB,UAnByB,IAAM,0DAqBnC,CACIj3B,KAAM,gBACNzE,KAlBW,eAmBXiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,gBACPC,EAAAA,GACH7d,iBAvBC,sBAwBD+d,oBAAqB,CAAC7vB,EAAAA,GAAAA,cAE1B8vB,UAAW6R,GAEf,CACI9oC,KAAM,wBACNzE,KA5BS,aA6BTiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,gBACPC,EAAAA,GACH7d,iBAlCC,sBAmCD+d,oBAAqB,CAAC7vB,EAAAA,GAAAA,cAE1B8vB,UAAW6R,G,+FC/BnB,MAAM3O,UAAuBC,EAAAA,GACzB,mBACI5jC,KAAK4H,MAAM2qC,qBAAsB,C,CAGrC,mBACIvyC,KAAK4H,MAAM2qC,qBAAsB,C,CAGrC,kBAAyBT,GACrB9xC,KAAK4H,MAAM4qC,sBAAuB,EAClCxyC,KAAK4H,MAAM6qC,WAAaX,C,CAG5B,oBACI9xC,KAAK4H,MAAM4qC,sBAAuB,EAClCxyC,KAAK4H,MAAM6qC,WAAa,I,CAG5B,sBAA6B/C,GACzB1vC,KAAK4H,MAAM8qC,sBAAuB,EAClC1yC,KAAK4H,MAAM8nC,QAAUA,C,CAGzB,6BACI1vC,KAAK4H,MAAM8qC,sBAAuB,EAClC1yC,KAAK4H,MAAM8nC,QAAU,I,CAGzB,oBAA2BhsC,GACvB1D,KAAK4H,MAAM+qC,uBAAyBjvC,C,EAIrC,MAAM+gC,UAAqBC,EAAAA,GAqB9B,uCACI,QAAI1kC,KAAK4H,MAAM8qC,6BACL1yC,KAAK4yC,SAAS,8BAA+B5yC,KAAK4H,MAAM8nC,SAC9D1vC,KAAKkI,UAAU2qC,8BACR,E,CAKf,kCAAyCnD,GACrC1vC,KAAKkI,UAAU4qC,qBAAoB,GACnC,UAEUtxC,QAAQuxC,IAAI,CAAC/yC,KAAKgzC,0BAA0BtD,GAAS,IAAOuD,EAAAA,EAAAA,IAAM,M,CAC1E,QACEjzC,KAAKkI,UAAU4qC,qBAAoB,E,6CAjC3C,KAAQE,0BAA4BxtB,eAAOkqB,G,IAAiBxZ,EAAY,UAAH,8CACjE,OAAO,IAAI10B,SAAc,CAAC/C,EAASy0C,KAC/BjyC,YACI,MACIwuC,EAAAA,EAAAA,IAASC,GACJzK,MAAK4K,IACF,GAAIA,EAAMsD,oBACN,OAAO10C,IAEXA,EAAQ,EAAKu0C,0BAA0BtD,GAAS,IAEnDjuC,MAAMyxC,EAAO,GAEtBhd,EAAY,EAAIuO,EAAa2O,eAChC,G,GAhBT,EAAcA,eAAiB,IAwCnC,MAAMC,EAAc,IAAI9N,EAAAA,GAAO,CAC3B39B,MArFJ,M,cACI,KAAO2qC,qBAAsB,EAC7B,KAAOC,sBAAuB,EAC9B,KAAOC,WAA0B,KACjC,KAAOC,sBAAuB,EAC9B,KAAOC,wBAAyB,EAChC,KAAOjD,QAAyB,I,GAgFhCxnC,UAAWy7B,EACXqC,QAASvB,IAGA6O,GAAuBpN,EAAAA,EAAAA,IAAamN,GACjD,G,kHCzFA,MAAME,EAAwB,IAAM,yL,IAG7B,G,SAAWxG,GAAAA,EACS,wBAAG,0BADZA,EAEE,iBAAG,mBAFLA,EAGI,mBAAG,oB,EAHPA,IAAAA,EAAoB,KAMtC,MAuCA,EAvC8B,CAC1B,CACIvjC,KAAM,YACNzE,KANiB,qBAOjBiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,4BACPC,EAAAA,GACHC,uBAAuB,EACvBC,oBAAqB,CAAC7vB,EAAAA,GAAAA,iBAE1B8vB,UAlBwB,IAAM,iJAmB9BC,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,YAErD,CACIp3B,KAAM,mBACNzE,KApBsB,0BAqBtBiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,yBACPC,EAAAA,GACH7d,iBAtBa,qBAuBb+d,oBAAqB,CAAC7vB,EAAAA,GAAAA,iBAE1B8vB,UAAW8S,EACX7S,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,YAErD,CACIp3B,KAAM,2BACNzE,KA/Be,mBAgCfiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,uBACPC,EAAAA,GACH7d,iBAlCa,qBAmCb+d,oBAAqB,CAAC7vB,EAAAA,GAAAA,iBAE1B8vB,UAAW8S,EACX7S,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,Y,gIC3CzD,MAAM4S,GAASvS,EAAAA,EAAAA,IAAgBwS,EAAAA,6BACzBC,GAA0BzS,EAAAA,EAAAA,IAAgBwS,EAAAA,6BAEzC,SAASE,EAAgBnqB,GAC5B,MAAMulB,GAAY6E,EAAAA,EAAAA,IAAY,OAAQpqB,EAAQwlB,aAE9C,OAAOwE,EAAOG,gBAAgB5E,OAAWt6B,EAAW+U,EAAQ+lB,KAAM/lB,EAAQgmB,UAAUvK,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAGxG,SAASyqB,IACZ,OAAOL,EAAOK,sBAAsB5O,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAOxD,SAAS0qB,EAAkBC,GAC9B,OAAOP,EAAOM,kBAAkBC,E,CAG7B,SAASC,EAAkBt1C,EAAYq1C,GAC1C,OAAOP,EAAOQ,kBAAkBt1C,EAAIq1C,E,CAGjC,SAASE,EAAkBv1C,GAC9B,OAAO80C,EAAOS,kBAAkBv1C,E,CAG7B8mB,eAAe0uB,EAAwBC,GAC1C,OAAOT,EAAwBU,gBAAgBD,E,kLCzB5C,G,SAAW5H,GAAAA,EACD,cAAG,gBADFA,EAEN,SAAG,WAFGA,EAGX,IAAG,K,EAHQA,IAAAA,EAAmB,KAMrC,MAwCA,EAxC8B,CAC1B,CACI/iC,KAAM,oBACNzE,KAPO,WAQPiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,iCACPC,EAAAA,GACHC,uBAAuB,EACvBC,oBAAqB,CAAC7vB,EAAAA,GAAAA,gBAE1B8vB,UAnB2B,IAAM,qFAoBjCC,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,WAErD,CACIp3B,KAAM,yBACNzE,KApBY,gBAqBZiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,uBACPC,EAAAA,GACHC,uBAAuB,GAE3BE,UA/B+B,IAAM,uFAgCrCC,aAAauC,EAAAA,EAAAA,GAAO,EAChBtC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,eCrCrCpb,MAAO2d,EAAYC,EAAcC,KACpC,MAAMgR,EAAwB1R,EAAAA,EAAAA,QAAwBl7B,EAAAA,GAAOm7B,QAAQ0R,mBAC5CD,EAAsBzsC,MAAMyG,uBAG3CgmC,EAAsBrO,QAAQp4B,kBAGxC,MAAM2mC,EAAyBF,EAAsBlkC,QAAQqkC,eAEzDD,aAAAA,EAAAA,EAAwB7+B,mBAAoBC,EAAAA,GAAAA,MAC5C8+B,EAAAA,EAAAA,GAAmBpR,GAEnBA,G,KD4BR,CACI75B,KAAM,eACNzE,KAhCE,MAiCFiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,UACVE,uBAAuB,EACvBC,oBAAqB,CAAC7vB,EAAAA,GAAAA,WAE1B8vB,UA3CsB,IAAM,gCA4C5BC,YEnDGlb,MAAO2d,EAAYC,EAAcC,MACH,IAAIqR,EAAAA,IACalI,qBAE9CiI,EAAAA,EAAAA,GAAmBpR,GAIvBA,GAAM,G,wGCGd,MAAMM,UAAuBC,EAAAA,GACzB,oBAA2B+Q,GACvB30C,KAAK4H,MAAMgtC,iBAAmBD,C,EAItC,MAAMlQ,UAAqBC,EAAAA,GACvB,6BACI1kC,KAAKkI,UAAU2sC,0BAA0BhB,EAAAA,EAAAA,M,CAG7C,wBAA+BE,SACrBD,EAAAA,EAAAA,IAAkBC,GACxB/zC,KAAKkI,UAAU2sC,oBAAoB,K,CAGvC,wBAA+B,G,IAAA,GAAEn2C,EAAE,YAAEq1C,GAAN,QACrBC,EAAAA,EAAAA,IAAkBt1C,EAAIq1C,GAC5B/zC,KAAKkI,UAAU2sC,oBAAoB,K,CAGvC,wBAA+Bn2C,SACrBu1C,EAAAA,EAAAA,IAAkBv1C,GACxBsB,KAAKkI,UAAU2sC,oBAAoB,K,CAGvC,sBAA6BrrB,GACzB,OAAOmqB,EAAAA,EAAAA,IAAgBnqB,E,EAI/B,MAAM6pB,EAAc,IAAI9N,EAAAA,GAAO,CAC3B39B,MApCJ,M,cACI,KAAOgtC,iBAAqD,I,GAoC5D1sC,UAAWy7B,EACXqC,QAASvB,IAGAqQ,GAAuB5N,EAAAA,EAAAA,IAAiBmM,GAExC0B,GAAc7O,EAAAA,EAAAA,IAAamN,GAC3B2B,EAA0Bl2C,EAAAA,GAAAA,OAAW,CAC9CyR,SAAU,IACHwkC,EAAY3O,SAAS,CAAC,sBAE7BC,QAAS,IACF0O,EAAYxO,WAAW,CACtB,oBACA,oBACA,kBACA,uBACA,yBAKZ,G,mIC5DA,MAAM0O,GAAoBhU,EAAAA,EAAAA,IAAgBiU,EAAAA,uBACpCC,GAAyBlU,EAAAA,EAAAA,IAAgBmU,EAAAA,4BACzCC,GAAoBpU,EAAAA,EAAAA,IAAgBqU,EAAAA,kBAEnC9vB,eAAe+vB,EAAgBC,GAClC,OAAOP,EAAkBM,gBAAgBC,GAAUvQ,KAAKuL,EAAAA,E,CAGrDhrB,eAAeiwB,EAAgBD,EAAkB7jC,GACpD,OAAOwjC,EAAuBO,mBAAmBF,EAAU,CAAE7jC,WAAUszB,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAG3F5D,eAAemwB,EAAYH,EAAkBI,GAChD,OAAOT,EAAuBU,kBAAkBL,EAAUI,E,CAGvDpwB,eAAeswB,I,IAActsB,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAuD,aAAzB,CAAE+lB,KAAM,EAAGC,SAAU,IACnF,OAAO6F,EACFS,eAAclC,EAAAA,EAAAA,IAAY,OAAQpqB,EAAQwlB,aAAc,OAAQxlB,EAAQ+lB,KAAM/lB,EAAQgmB,UACtFvK,KAAKuL,EAAAA,E,qKCpBd,MAAMuF,GAAyB9U,EAAAA,EAAAA,IAAgB+U,EAAAA,4BACzCC,GAA+BhV,EAAAA,EAAAA,IAAgBiV,EAAAA,4BAE9C1wB,eAAe2wB,EAAaC,GAC/B,OAAOL,EAAuBI,aAAa,CAAEE,YAAaD,IAAwBnR,KAAKuL,EAAAA,E,CAGpFhrB,eAAe8wB,EAAoBC,GACtC,OAAOR,EAAuBO,oBAAoB,CAAEE,aAAcD,G,CAG/D/wB,eAAeixB,IAClB,OAAOV,EAAuBW,+BAA+BzR,KAAKuL,EAAAA,E,CAG/DhrB,eAAemxB,IAClB,OAAOZ,EAAuBY,wBAAwB1R,KAAKuL,EAAAA,E,CAGxDhrB,eAAeoxB,IAClB,OAAOb,EAAuBc,mB,CAG3BrxB,eAAesxB,EAAgBC,GAClC,OAAOhB,EAAuBiB,yBAAyB,CAAED,WAAYA,G,CAGlEvxB,eAAeyxB,EAAwB9X,GAC1C,OAAO4W,EAAuBmB,4BAA4B,CAAEC,wCAAyChY,G,CAGlG3Z,eAAe4xB,IAClB,OAAOnB,EAA6BoB,mBAAmBpS,KAAKuL,EAAAA,E,CAGzDhrB,eAAe8xB,I,IAAiBC,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAmC,aAAJ,KAClE,OAAOtB,EAA6BqB,iBAAiB,CAAEC,cAAeA,G,wHCpCnE,G,SAAWvK,GAAAA,EACC,gBAAG,kBADJA,EAEA,eAAG,gB,EAFHA,IAAAA,EAAiB,KAKnC,MA2BA,EA3B8B,CAC1B,CACIxjC,KAAM,kBACNzE,KAPc,kBAQdiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,yBACPC,EAAAA,GACHC,uBAAuB,EACvBC,oBAAqB,CAAC7vB,EAAAA,GAAAA,cAE1B8vB,UAjBmB,IAAM,uFAkBzBC,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,SAErD,CACIp3B,KAAM,iBACNzE,KAlBa,iBAmBbiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,wBACPC,EAAAA,GACHC,uBAAuB,EACvBC,oBAAqB,CAAC7vB,EAAAA,GAAAA,cAE1B8vB,UA9BkB,IAAM,uFA+BxBC,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,S,uGC7BzD,MAAM+C,UAAuBC,EAAAA,GACzB,2BAAkC4T,GAC9Bx3C,KAAK4H,MAAM4vC,wBAA0BA,C,EAItC,MAAM/S,UAAqBC,EAAAA,GAC9B,mCACI,MAAM+S,QAA2Bd,EAAAA,EAAAA,MACjC32C,KAAKkI,UAAUwvC,2BAA2BD,GAAsB,K,EAIxE,MAAME,EAA8B,IAAIpS,EAAAA,GAAO,CAC3C39B,MAlBJ,M,cACI,KAAO4vC,wBAAkE,I,GAkBzEtvC,UAAWy7B,EACXqC,QAASvB,IAGAmT,GAA2B1Q,EAAAA,EAAAA,IAAiByQ,GACzD,IAEaE,GAA8B3R,EAAAA,EAAAA,IAAayR,GAC3CG,EAA6Bh5C,EAAAA,QAAAA,OAAW,CACjDyR,SAAUsnC,EAA4BzR,SAAS,CAAC,4BAChDC,QAASwR,EAA4BtR,WAAW,CAAC,gC,2JC9B9C,SAASwR,EAAiBC,GAC7B,MAAMrW,GAAI,IAAIC,EAAAA,GACTuO,OAAO,CAACtP,EAAAA,GAAAA,OAAqBA,EAAAA,GAAAA,QAAsBA,EAAAA,GAAAA,WACnDzX,KAAK4uB,GAEV,OAAOjW,EAAAA,GAAAA,OAA2BJ,E,CCJ/B,SAASsW,EAAgBC,GAC5B,MAAMvW,GAAI,IAAIC,EAAAA,GAAYuO,OAAO,CAACtP,EAAAA,GAAAA,OAAqBA,EAAAA,GAAAA,QAAsBA,EAAAA,GAAAA,QAE7E,OAAOkB,EAAAA,GAAAA,IAAwBJ,EAAGuW,E,CCJ/B,SAASC,EAAiBnH,GAC7B,MAAMrP,GAAI,IAAIC,EAAAA,GAAYuO,OAAO,CAACtP,EAAAA,GAAAA,OAAqBA,EAAAA,GAAAA,QAAsBA,EAAAA,GAAAA,QAAqBzX,KAAK4nB,GAEvG,OAAOjP,EAAAA,GAAAA,OAA2BJ,E,gBCQ/B,SAASyW,EAAU5uB,G,IAelBA,EAdJ,MAAM8B,EAAU,IAAI2jB,EAAAA,G,IAgBmCzlB,IAdnD0mB,EAAAA,EAAAA,IAAW1mB,EAAQwlB,cACnB1jB,EAAQ4jB,MAAM,QAAQrkC,OAAOskC,EAAAA,GAAAA,SAAmB3lB,EAAQwlB,aAGxDxlB,EAAQ6uB,aACR/sB,EAAQ4jB,MAAM,eAAerkC,OAAOskC,EAAAA,GAAAA,KAAe3lB,EAAQ6uB,aAG3D7uB,EAAQ8uB,WACRhtB,EAAQ4jB,MAAM,MAAMrkC,OAAOskC,EAAAA,GAAAA,UAAoB3lB,EAAQ8uB,UAAUr6B,KAAK,MAGxD,QAAduL,EAAAA,EAAQ3e,cAAM,IAAd2e,OAAAA,EAAAA,EAAgB3d,QACY,cAAxB2d,EAAQ3e,OAAOgB,KACfyf,EAAQ4jB,MAAM,MAAMrkC,OAAOskC,EAAAA,GAAAA,UAAkC,QAAd3lB,EAAAA,EAAQ3e,cAAM,IAAd2e,OAAAA,EAAAA,EAAgB4lB,YAAYnxB,KAAK,MAEhFuL,EAAQ3e,OAAOukC,YAAY9X,SAAQ54B,IAC/B4sB,EAAQ4jB,MAAM,MAAMrkC,OAAOskC,EAAAA,GAAAA,aAAuBzwC,EAAG,KAKjE,MAAMijC,GAAI,IAAIC,EAAAA,GACTuO,OAAO,CAACtP,EAAAA,GAAAA,OAAqBA,EAAAA,GAAAA,QAAsBA,EAAAA,GAAAA,QACnDvV,QAAQA,GACRuW,MAAM,CACH0N,KAAM/lB,EAAQ+lB,KACda,UAAW5mB,EAAQgmB,SACnB+I,MAAO,QAGf,OAAOxW,EAAAA,GAAAA,IAAmDJ,GAAGsD,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,gBC5CjF,MAAMovB,EAAYN,IACrB,MAAMvW,EAAI,IAAIC,EAAAA,EAGd,OADAD,EAAEn4B,KAAK,CAACq3B,EAAAA,EAAAA,OAAqBA,EAAAA,EAAAA,QAAsBA,EAAAA,EAAAA,QAC5C4X,EAAAA,GAAAA,IACS9W,EAAEl2B,MAAOysC,EAAOvW,EAAE+W,mBAC7BzT,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,IACvB3nB,OAAMpD,IACH,MAAMA,EAAEgnC,SAASjc,IAAI,GACvB,E,oCCHV,MAAMuvB,GAAyB1X,EAAAA,EAAAA,IAAgB2X,EAAAA,gBAExC,SAASC,EAAcrvB,GAC1B,MAAMmY,GAAI,IAAIC,EAAAA,GAAYuO,OAAO,CAACtP,EAAAA,GAAAA,OAAqBA,EAAAA,GAAAA,QAAsBA,EAAAA,GAAAA,WAC7E,GAAIrX,EAAS,CACT,MAAM8B,GAAU4kB,EAAAA,EAAAA,IAAW1mB,EAAQwlB,cAC7B,IAAIC,EAAAA,IAAyBC,MAAM,QAAQrkC,OAAOskC,EAAAA,GAAAA,SAAmB3lB,EAAQwlB,kBAC7Ev6B,EAENktB,EAAErW,QAAQA,GAASuW,MAAM,CACrB0N,KAAM/lB,EAAQ+lB,KACda,UAAW5mB,EAAQgmB,U,CAG3B,OAAOzN,EAAAA,GAAAA,IAAsDJ,GAAGsD,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAGpF,SAAS0vB,IACZ,OAAOH,EAAuBG,oBAAoB7T,KAAKuL,EAAAA,E,CAI3D,MAAMuI,GAAoB9X,EAAAA,EAAAA,IAAgB+X,EAAAA,oBAWnC,SAASC,EAAiBzvB,GAC7B,MAAM8B,EAVV,SAAoB9B,GAChB,KAAKA,aAAAA,EAAAA,EAASwlB,aAAa,OAE3B,MAAMnkC,EAAS,IAAIokC,EAAAA,GAGnB,OAFApkC,EAAOqkC,MAAM,QAAQrkC,OAAOskC,EAAAA,GAAAA,SAAmB3lB,EAAQwlB,aAEhDnkC,EAAOwkC,O,CAIE6J,CAAW1vB,GAE3B,OAAOuvB,EAAkBne,IAAItP,OAAS7W,EAAW+U,aAAAA,EAAAA,EAAS+lB,KAAM/lB,aAAAA,EAAAA,EAASgmB,UAAUvK,KAAKuL,EAAAA,E,CC1CrF,SAAS2I,EAAmBC,GAC/B,MAAMzX,GAAI,IAAIC,EAAAA,GAAYp4B,KAAK,CAACq3B,EAAAA,GAAAA,OAAqBA,EAAAA,GAAAA,QAAsBA,EAAAA,GAAAA,WAE3E,OAAOkB,EAAAA,GAAAA,IAAwBJ,EAAGyX,GAAUnU,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,wHCChE,G,SAAW6jB,GAAAA,EACR,OAAG,Q,EADKA,IAAAA,EAAiB,KAInC,MAeA,EAf8B,CAC1B,CACIzjC,KALK,SAMLzE,KANK,SAOLiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,+BACPC,EAAAA,GACHC,uBAAuB,EACvBC,oBAAqB,CAAC7vB,EAAAA,GAAAA,wBAE1B8vB,UAhByB,IAAM,6EAiB/BC,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,oB,wFCnBzD,MAAMyY,GAA4BpY,EAAAA,EAAAA,IAAgB+O,EAAAA,4BAW3C,SAASsJ,EAAgBC,GAC5B,OAAOF,EAA0BG,OAAOD,GAAStU,KAAKuL,EAAAA,E,CAGnD,MAAMiJ,EAAuBj0B,UAChC,UACU6zB,EAA0BK,cAAczU,KAAKuL,EAAAA,E,CACrD,MAAOnyC,G,IAEsCgnC,EAD3C,MAAMA,EAAW,EAAkBA,SACnC,OAAIA,GAAgC,MAApBA,EAASv3B,QAAgD,6BAAjB,QAAbu3B,EAAAA,EAASjc,YAAI,IAAbic,OAAAA,EAAAA,EAAesU,YAC/C,CACHC,eAAe,EACfC,YAAa,CACTtoB,OAAQ8T,EAASjc,KAAKmI,OACtBuQ,WAAYuD,EAASjc,KAAK0Y,WAC1BgY,YAAazU,EAASjc,KAAK0wB,cAI5B,CAAEF,mBAAenlC,E,CAGhC,MAAO,CAAEmlC,eAAe,EAAO,C,2HC/BnC,MAAMG,GAAkB9Y,EAAAA,EAAAA,IAAgB+Y,EAAAA,yC,IAEjC,G,SAAKrkC,GAAAA,EACH,MAAG,QADAA,EAEJ,KAAG,M,EAFCA,IAAAA,EAAyB,KAK9B,MAAMskC,EAAqB,WAO3B,SAASC,EAAsB1wB,GAClC,MAAMzjB,EAAQo0C,EAAAA,GAAAA,QAA0BC,EAAAA,GAAWjqC,QAAQpK,MACrDgpC,GAAY6E,EAAAA,EAAAA,IAAY,OAAQpqB,EAAQwlB,aAE9C,OAAO+K,EAAgBzJ,OAAOvB,OAAWt6B,EAAW+U,EAAQ+lB,KAAM/lB,EAAQgmB,UAAUvK,MAAM,I,IAAA,KAAE7b,GAAM,EAY9F,OAXIA,aAAAA,EAAAA,EAAMA,OACNA,EAAKA,KAAKkO,SAAQnuB,IACVA,EAAKzE,KAAOiR,EAA0B0kC,OAASlxC,EAAKzE,KAAOiR,EAA0B2kC,OACrFnxC,EAAK7J,YAAcyG,EACf,4DAA4DoD,EAAKzE,mBAErEyE,EAAKpE,KAAOgB,EAAM,4DAA4DoD,EAAKzE,Y,IAKxF0kB,CAAI,G,mHC9BnB,MACMmxB,EAAqB,IAAM,gGAG3BC,EAAY,sB,IAEX,G,SAAW/N,GAAAA,EACT,MAAG,qBADMA,EAEH,YAAG,2BAFAA,EAGL,UAAG,wB,EAHEA,IAAAA,EAAgB,KAMlC,MAsDA,EAtD8B,CAC1B,CACIjjC,KAAM,QACNzE,KARI,qBASJiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,OAA2Bma,OAClCla,EAAAA,GACHC,uBAAuB,EACvBC,oBAAqB,CAAC7vB,EAAAA,GAAAA,aAE1B8vB,UAtBc,IAAM,+FAuBpBn0B,MAAO,CACHsI,UAAMH,EACNgmC,SAAKhmC,IAGb,CACIjL,KAAM,eACNzE,KAtBU,2BAuBViR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,OAA2Bma,OAClCla,EAAAA,GACH7d,iBA3BA,qBA4BA+d,oBAAqB,CAAC7vB,EAAAA,GAAAA,aAE1B+vB,YAAalb,MAAO2d,EAAKC,EAAOC,KAC5B,MAAMqX,QAAqBjB,EAAAA,EAAAA,KACvBiB,EAAad,eAAiBc,EAAab,YAC3CxW,EAAK,CACDt+B,KAAMyB,EAAAA,EAAAA,QACNiF,MAAOivC,EAAab,eAEc,IAA/Ba,EAAad,cACpBvW,SACsC5uB,IAA/BimC,EAAad,gBACpB5mC,QAAQpH,MAAM,yCACdy3B,GAAK,G,EAGb5C,UAAW8Z,GAEf,CACI/wC,KAAM,uBACNzE,KA9CQ,yBA+CRiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,OAA2Bma,OAClCla,EAAAA,GACH7d,iBApDA,qBAqDA+d,oBAAqB,CAAC7vB,EAAAA,GAAAA,aAE1B8vB,UAAW8Z,G,0DClEZ,MCDMI,EAAqC,CAC9CC,MAAQxxB,GACGA,E,sHCMoB,OAAhB,OAAXyxB,EAAAA,QAAW,IAAXA,EAAAA,OAAAA,EAAAA,EAAAA,EAAAA,aAAsE,iBAAjB,OAAXA,EAAAA,QAAW,IAAXA,EAAAA,OAAAA,EAAAA,EAAAA,EAAAA,cACnCA,EAAAA,EAAAA,WAAAA,SAAgC,KAAOA,EAAAA,EAAAA,Y,eCDtD,IAAIC,EAAkC,CAClCC,QAASF,EAAAA,EAAAA,YAGTA,EAAAA,EAAAA,cAA4BG,EAAAA,EAAAA,KAAoBH,EAAAA,EAAAA,SAChDC,EAAc,IACPA,EACHG,QAAS,CACLC,OAAQL,EAAAA,EAAAA,UAMpB,MAAMpC,EAAa0C,IAAAA,OAAaL,GAGzB,SAAS7Z,EACZma,GAEA,IAAIC,EAAaR,EAAAA,EAAAA,YAA0B,GAM3C,OAJIQ,EAAW1vC,SAAS,OACpB0vC,EAAaA,EAAW9rB,MAAM,EAAG8rB,EAAW7yC,OAAS,IAGlD4yC,EACH,CACIF,OAASI,GACW,WAAZA,EAA6BT,EAAAA,EAAAA,OAC1B,GAEXU,YAAa/1B,UAKT,MAAMg2B,GAAUC,EAAAA,EAAAA,IAAe,oBACzBC,EAAiB,IAAIC,EAAAA,EAC3B,IACI,OAAOD,EAAeE,OAAOC,U,CAC/B,MACEL,EAAQ,4C,IAIpBX,EAAAA,EAAAA,WACAM,IAAAA,S,CAID,SAASW,EACZV,GAEA,IAAIC,EAAaR,EAAAA,EAAAA,YAA0B,GAM3C,OAJIQ,EAAW1vC,SAAS,OACpB0vC,EAAaA,EAAW9rB,MAAM,EAAG8rB,EAAW7yC,OAAS,IAGlD4yC,EAAgB,CAAC,EAAGP,EAAAA,EAAAA,WAAwBM,IAAAA,S,CAGhD,MAAMpZ,EAAsB,CAC/BnH,IAAe+G,GAAiB8W,EAAW7d,IAAO+G,EAAEl2B,MAAOk2B,EAAE+W,mBAC7DqD,KAAM,CAAUpa,EAAcvY,IAAeqvB,EAAWsD,KAAQpa,EAAEl2B,MAAO2d,EAAMuY,EAAE+W,mBACjFsD,IAAK,CAAUra,EAAcvY,IAAeqvB,EAAWuD,IAAOra,EAAEl2B,MAAO2d,EAAMuY,EAAE+W,mBAC/EuD,MAAO,CAAUta,EAAcvY,IAAeqvB,EAAWwD,MAASta,EAAEl2B,MAAO2d,EAAMuY,EAAE+W,mBACnFwD,OAAkBva,GAAiB8W,EAAWyD,OAAUva,EAAEl2B,MAAOk2B,EAAE+W,oBAGvE,G,qXC3CA,MAAMyD,GAA8Blb,EAAAA,EAAAA,IAAgBmb,EAAAA,yBAC9CC,GAA8Bpb,EAAAA,EAAAA,IAAgBqb,EAAAA,yBAC9CC,GAA+Btb,EAAAA,EAAAA,IAAgBub,EAAAA,0BAC/CC,GAA4Bxb,EAAAA,EAAAA,IAAgByb,EAAAA,uBAC5CC,GAA+B1b,EAAAA,EAAAA,IAAgB2b,EAAAA,0BAC/CC,GAAgB5b,EAAAA,EAAAA,IAAgB6b,EAAAA,gBAChCC,GAAsB9b,EAAAA,EAAAA,IAAgB+b,EAAAA,sBAuBrC,SAASC,EAAUv+C,GACtB,OAAO29C,EACFa,uBAAuBx+C,GACvBumC,KAAKuL,EAAAA,GACLvL,MAAK7b,GAAQA,G,CAGf,SAAS+zB,EAAWz+C,EAAY0+C,GACnC,OAAOf,EAAuBc,WAAWz+C,EAAI0+C,GAAQnY,KAAKuL,EAAAA,E,CAGvD,SAAS6M,EAAc3+C,EAAI4+C,GAC9B,OAAOf,EAAwBgB,WAAW7+C,EAAI4+C,GAASrY,KAAKuL,EAAAA,E,CAGzD,SAASgN,EAAWhI,EAAUiI,EAAWlO,GAC5C,OAAOkN,EACFe,WAAWhI,EAAUiI,EAAWlO,GAChCtK,KAAKuL,EAAAA,GACLvL,MAAK7b,GAAQA,G,CAGf,SAASs0B,EAAW,G,IAAA,SACvBlI,EAAQ,UACRiI,EAAS,OACTE,EAAM,KACNpO,GAJuB,EAWvB,OAAOkN,EACFiB,WAAWlI,EAAUiI,EAAWE,EAAQpO,GACxCtK,KAAKuL,EAAAA,E,CAGP,SAASoN,EAAmB,G,IAAA,SAAEpI,EAAQ,UAAEiI,EAAS,OAAEE,GAAvB,EAC/B,OAAOlB,EACFoB,QAAQrI,EAAUiI,EAAWE,GAC7B1Y,KAAKuL,EAAAA,GACLvL,MAAK7b,GAAQA,G,CAGf,SAAS00B,EAAW,G,IAAA,SAAEtI,EAAQ,UAAEiI,EAAS,OAAEE,GAAvB,EACvB,OAAOlB,EAAqBqB,WAAWtI,EAAUiI,EAAWE,E,CAGzD,SAASI,I,IAAcv0B,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAkC,aAAF,CAAC,E,IAUvDA,EAUAA,EAnBJ,MAAM8B,EAAU,IAAI2jB,EAAAA,QAEcx6B,IAAlC+U,EAAQw0B,uBACF1yB,EAAQ4jB,MAAM,SAASrkC,OAAOskC,EAAAA,GAAAA,SAAmB3lB,EAAQw0B,uBAG/D,MAAMC,EAAaz0B,EAAQ+lB,MAAQ,EAC7BC,EAAWhmB,EAAQgmB,UAAY,G,IAIkBhmB,GAFrC,QAAdA,EAAAA,EAAQ3e,cAAM,IAAd2e,OAAAA,EAAAA,EAAgB3d,QACY,cAAxB2d,EAAQ3e,OAAOgB,KACfyf,EAAQ4jB,MAAM,MAAMrkC,OAAOskC,EAAAA,GAAAA,UAAkC,QAAd3lB,EAAAA,EAAQ3e,cAAM,IAAd2e,OAAAA,EAAAA,EAAgB4lB,YAAYnxB,KAAK,MAEhFuL,EAAQ3e,OAAOukC,YAAY9X,SAAQ54B,IAC/B4sB,EAAQ4jB,MAAM,MAAMrkC,OAAOskC,EAAAA,GAAAA,aAAuBzwC,EAAG,MAK/C,QAAd8qB,EAAAA,EAAQ3e,cAAM,IAAd2e,OAAAA,EAAAA,EAAgB00B,oBAChB5yB,EAAQ4jB,MAAM,eAAerkC,OAAOskC,EAAAA,GAAAA,UAAoB,QAG5D,MAAMxN,GAAI,IAAIC,EAAAA,GACTp4B,KAAK,CAACq3B,EAAAA,EAAAA,SAAuBA,EAAAA,EAAAA,QAAsBA,EAAAA,EAAAA,WACnDvV,QAAQA,GACRuW,MAAM,CACH0N,KAAM0O,EACN7N,UAAWZ,IAGnB,OAAOzN,EAAAA,GAAAA,IAAqEJ,GAAGsD,KAAKuL,EAAAA,E,CA6CjF,SAAS2N,EAAiB30B,GAC7B,MAAM8B,EAAU9B,EAAQ8B,QA3C5B,SAAmC9B,G,IAmB3BA,EAIAA,EAIAA,EAIAA,EAIAA,EAlCJ,MAAM8B,EAAU,IAAI2jB,EAAAA,GAsCpB,OApCIzlB,EAAQ40B,aAAe50B,EAAQ40B,YAAY16C,OAC3C4nB,EAAQ4jB,MAAM,SAASrkC,OAAOskC,EAAAA,GAAAA,SAAmB3lB,EAAQ40B,YAAY16C,OAGrE8lB,EAAQgsB,UAAYhsB,EAAQgsB,SAAS9xC,MAAM8E,OAAS,IACtB,cAA1BghB,EAAQgsB,SAAS3pC,MACjByf,EAAQ4jB,MAAM,MAAMrkC,OAAOskC,EAAAA,GAAAA,UAAoB3lB,EAAQgsB,SAAS9xC,MAAMua,KAAK,MAGjD,cAA1BuL,EAAQgsB,SAAS3pC,MACjB2d,EAAQgsB,SAAS9xC,MAAM4zB,SAAQ54B,IAC3B4sB,EAAQ4jB,MAAM,MAAMrkC,OAAOskC,EAAAA,GAAAA,aAAuBzwC,EAAG,MAKpC,QAAzB8qB,EAAAA,EAAQ60B,EAAAA,GAAAA,cAAiB,IAAzB70B,OAAAA,EAAAA,EAA2B9lB,MAAM8E,SACjC8iB,EAAQ4jB,MAAM,YAAYrkC,OAAOskC,EAAAA,GAAAA,KAAe3lB,EAAQ60B,EAAAA,GAAAA,OAAmB36C,MAAMua,KAAK,OAG1D,QAA5BuL,EAAAA,EAAQ60B,EAAAA,GAAAA,iBAAoB,IAA5B70B,OAAAA,EAAAA,EAA8B9lB,MAAM8E,SACpC8iB,EAAQ4jB,MAAM,eAAerkC,OAAOskC,EAAAA,GAAAA,KAAe3lB,EAAQ60B,EAAAA,GAAAA,UAAsB36C,MAAMua,KAAK,OAGlE,QAA1BuL,EAAAA,EAAQ60B,EAAAA,GAAAA,eAAkB,IAA1B70B,OAAAA,EAAAA,EAA4B9lB,MAAM8E,SAClC8iB,EAAQ4jB,MAAM,aAAarkC,OAAOskC,EAAAA,GAAAA,KAAe3lB,EAAQ60B,EAAAA,GAAAA,QAAoB36C,MAAMua,KAAK,OAG1D,QAA9BuL,EAAAA,EAAQ60B,EAAAA,GAAAA,mBAAsB,IAA9B70B,OAAAA,EAAAA,EAAgC9lB,MAAM8E,SACtC8iB,EAAQ4jB,MAAM,eAAerkC,OAAOskC,EAAAA,GAAAA,UAAoB3lB,EAAQ60B,EAAAA,GAAAA,YAAwB36C,MAAMua,KAAK,OAG1E,QAAzBuL,EAAAA,EAAQ60B,EAAAA,GAAAA,cAAiB,IAAzB70B,OAAAA,EAAAA,EAA2B9lB,MAAM8E,SACjC8iB,EAAQ4jB,MAAM,aAAarkC,OAAOskC,EAAAA,GAAAA,KAAe3lB,EAAQ60B,EAAAA,GAAAA,OAAmB36C,MAAMua,KAAK,MAGpFqN,EAAQ+jB,O,CAImBiP,CAA0B90B,EAAQ8B,cAAW7W,EACzEwpC,EAAaz0B,EAAQ+lB,MAAQ,EAC7BC,EAAWhmB,EAAQgmB,UAAY,GAErC,OAAO2M,EACFoC,iBAAiBjzB,OAAS7W,EAAWwpC,EAAYzO,GACjDvK,KAAKuL,EAAAA,E,CAGP,SAASgO,EAAa,G,IAAA,WAAEC,GAAF,EACzB,OAAOpC,EAAuBqC,WAAW,CAAEC,YAAaF,IAAcxZ,KAAKuL,EAAAA,E,CAGxE,SAASoO,EAAkBC,EAAMz1B,GACpC,OAAOuzB,EAAwBmC,iBAAiBD,EAAMz1B,GAAM6b,KAAKuL,EAAAA,E,CAG9D,SAASuO,EAAiBF,EAAMz1B,GACnC,OAAOuzB,EACFqC,gBAAgBH,EAAM,CAAEI,SAAU71B,EAAK81B,UAAWC,SAAU/1B,EAAK+1B,WACjEla,KAAKuL,EAAAA,E,CAEP,SAAS4O,EAAsBP,EAAMz1B,GAIxC,GAHKA,EAAKi2B,WAAUj2B,EAAKi2B,SAAW,IAC/Bj2B,EAAK9pB,cAAa8pB,EAAK9pB,YAAc,MAEtC8pB,EAAKk2B,iBACLl2B,EAAKk2B,eAAiBl2B,EAAKk2B,eAAez0C,QAAOmnB,GAAkB,KAAbA,EAAEgH,UAEnD5P,EAAKm2B,kBAAoBn2B,EAAKk2B,eAAez0C,QAAOmnB,GAAKA,EAAEwtB,aAAYh3C,OAAS,IAGzF,OAAOm0C,EAAwB8C,6BAA6BZ,EAAMz1B,GAAM6b,KAAKuL,EAAAA,E,CAG1E,SAASkP,EAAsBb,EAAcz1B,GAChD,GAAKA,EAAKi2B,SAGV,OAAO1C,EAAwBgD,0BAA0Bd,EAAMz1B,GAAM6b,KAAKuL,EAAAA,E,CAgBvE,SAASoP,EAAiBC,GAC7B,OAAOhD,EAAc+C,iBAAiBC,E,CAEnC,SAASC,EAAgBC,GAC5B,OAAOlD,EAAcmD,eAAeD,GAAW9a,KAAKuL,EAAAA,E,CASjD,SAASyP,EAAc,G,IAAA,SAAEzK,EAAQ,UAAEiI,EAAS,OAAEE,GAAvB,EAC1B,OAAOZ,EAAoBkD,cAAczK,EAAUiI,EAAWE,GAAQ1Y,KAAKuL,EAAAA,E,CASxE,SAAS0P,EAAiB,G,IAAA,SAAE1K,EAAQ,UAAEiI,EAAS,OAAEE,GAAvB,EAC7B,OAAOZ,EAAoBmD,iBAAiB1K,EAAUiI,EAAWE,GAAQ1Y,KAAKuL,EAAAA,E,CAG3E,MAAM2P,GAAwBvxC,EAAAA,EAAAA,IAxCrC,SAAgCiwC,EAAMz1B,GAIlC,GAHKA,EAAKi2B,WAAUj2B,EAAKi2B,SAAW,IAC/Bj2B,EAAK9pB,cAAa8pB,EAAK9pB,YAAc,MAEtC8pB,EAAKk2B,iBACLl2B,EAAKk2B,eAAiBl2B,EAAKk2B,eAAez0C,QAAOmnB,GAAkB,KAAbA,EAAEgH,UAEnD5P,EAAKm2B,kBAAoBn2B,EAAKk2B,eAAez0C,QAAOmnB,GAAKA,EAAEwtB,aAAYh3C,OAAS,IAGzF,OAAOm0C,EAAwByD,yBAAyBvB,EAAMz1B,GAAM6b,KAAKuL,EAAAA,E,GA8BP,KAE/D,SAAS6P,EAAwBxB,EAAcz1B,GAClD,GAAKA,EAAKi2B,SAGV,OAAO1C,EAAwB2D,uBAAuBzB,EAAMz1B,GAAM6b,KAAKuL,EAAAA,E,CAEpE,SAAS+P,EAAsB1B,EAAMz1B,GACxC,OAAOuzB,EACF6D,qBAAqB3B,EAAM,CACxBz1B,KAAMA,EAAKq3B,yBAA0Br2C,KAAIjB,IAC9B,IACAA,EACHzK,GAAIyK,EAAKzK,GACTgiD,UAAWv3C,EAAKu3C,UAChBvB,SAAUh2C,EAAKw3C,gBAI1B1b,KAAKuL,EAAAA,E,CAGP,SAASoQ,EAAkBC,GAC9B,OAAOxE,EAAuByE,cAAc,CACxCC,WAAYF,G,CAIb,SAASG,EAAmBH,GAC/B,IAAIA,EAAWv1C,cAASmJ,GAGxB,OAAO4nC,EAAuB4E,eAAe,CAAEF,WAAYF,G,CAGxD,SAASK,EAAqBL,GACjC,IAAIA,EAAWv1C,cAASmJ,GAGxB,OAAO4nC,EAAuB8E,iBAAiB,CAAEJ,WAAYF,G,CAoB1D,SAASO,EAAyB,G,IAAA,UACrCC,EAAS,KACT9R,EAAO,EAAC,SACRC,EAAW,GAAE,QACblkB,GAJqC,EAWrC,MAAMqW,GAAI,IAAIC,EAAAA,GACTp4B,KAAK,CAACq3B,EAAAA,EAAAA,SAAuBA,EAAAA,EAAAA,QAAsBA,EAAAA,EAAAA,OACnDvV,QAAQA,GACRuW,MAAM,CACH0N,OACAa,UAAWZ,IAGnB,OAAOzN,EAAAA,GAAAA,KAAoEJ,EAAG0f,GAAWpc,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAkB7G,SAASk4B,IACZ,MAAM3f,GAAI,IAAIC,EAAAA,GAAYp4B,KAAK,CAC3Bq3B,EAAAA,EAAAA,SACAA,EAAAA,EAAAA,QACAA,EAAAA,EAAAA,SACAA,EAAAA,EAAAA,SAEJ,OAAO4X,EAAAA,GAAAA,IAAe9W,EAAEl2B,MAAO,IAAKk2B,EAAE+W,kBAAmB6I,aAAc,SAAUtc,MAAM,I,IAAA,KAAE7b,GAAM,EAC3F,OAAOA,CAAI,G,4DCzXZ,SAASo4B,EAAyB7f,EAAc8f,GAA8B,+CAAmB,GAAnB,gCACjF,OAAOC,EAAAA,GAAAA,IACE/f,EAAEl2B,MAAOk2B,EAAE+W,mBACfzT,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,IACvB6b,MAAKI,IACF,GAAIrqB,MAAMyC,QAAQ4nB,EAASjc,MAAO,CAC9B,MAAM,KAAEA,EAAO,GAAE,MAAEnjB,EAAO07C,UAAWC,GAAavc,EAGlD,MAAO,CACHjc,KAHgBA,EAAKhf,KAAKy3C,GAAgBJ,EAAQ7G,MAAMiH,KAIxD57C,QACA27C,W,CAGJ,GAAI5mC,MAAMyC,QAAQ02B,IAAWA,EAAO3rC,OAAS,EAAG,CAG5C,MAAO,CACHs5C,QAASzc,EACT0c,QAJY5N,EAAOjpC,QAAO,CAACC,EAAK62C,IAAO72C,EAAMA,EAAI62C,GAAK72C,GAAMk6B,G,CAOhE,OAAOoc,EAAQ7G,MAAMvV,E,yGCHlC,SAAS4c,EAAgBvjD,GAC5B,MAAMijC,GAAI,IAAIC,EAAAA,GAAYp4B,KAAK,CAC3Bq3B,EAAAA,GAAAA,SACAA,EAAAA,GAAAA,QACAA,EAAAA,GAAAA,OACAA,EAAAA,GAAAA,OACAniC,IAGJ,OAAOqjC,EAAAA,GAAAA,IAAwBJ,GAAGsD,MAAM,I,IAAA,KAAE7b,GAAM,EAC5C,OAAOA,CAAI,G,CAIZ,SAAS84B,EAAerD,EAAuBsD,GAClD,MAAMxgB,GAAI,IAAIC,EAAAA,GAAYp4B,KAAK,CAC3Bq3B,EAAAA,GAAAA,QACAA,EAAAA,GAAAA,QACAA,EAAAA,GAAAA,SACAshB,EACAthB,EAAAA,GAAAA,QACAge,IAGJ,OAAO9c,EAAAA,GAAAA,IAAwBJ,GAAGsD,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAGtD,SAAS62B,EACZmC,EACAD,GAEA,MAAMxgB,GAAI,IAAIC,EAAAA,GAAYp4B,KAAK,CAC3Bq3B,EAAAA,GAAAA,QACAA,EAAAA,GAAAA,QACAA,EAAAA,GAAAA,SACAshB,EACAthB,EAAAA,GAAAA,SAGJ,OAAOkB,EAAAA,GAAAA,KAAyBJ,EAAGygB,GAASnd,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,qOCrDvE,MAAMi5B,GAAkBphB,EAAAA,EAAAA,IAAgBqhB,EAAAA,qBAClCC,GAAqBthB,EAAAA,EAAAA,IAAgBuhB,EAAAA,qBAEpC,SAASC,I,IAAkB,KAAElT,EAAO,EAAC,SAAEC,EAAW,IAAvB,0CAAgC,aAAF,CAAC,EAAGlkB,EAA4B,uCAC5F,MAAMyjB,EAAYzjB,aAAAA,EAAAA,EAASilB,sBAC3B,OAAO8R,EAAgBK,qBAAqB3T,EAAW,GAAIQ,EAAMC,GAAUvK,MAAKI,GAAYA,EAASjc,M,CAGlG,SAASu5B,IACZ,OAAOJ,EAAmBK,2BAA2B3d,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAGzE,SAASy5B,EAAqBrkD,EAAgBgxC,GACjD,OAAO+S,EAAmBM,qBAAqBrkD,OAAMiW,OAAWA,EAAW,EAAG+6B,GAAUvK,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAG5G,SAAS05B,EAAoBp+C,G,IAAa,KAAE6qC,EAAO,EAAC,SAAEC,EAAW,GAAvB,0CAA+B,aAAF,CAAC,EAC3E,OAAO+S,EAAmBO,oBAAoBp+C,OAAK+P,OAAWA,EAAW86B,EAAMC,GAAUvK,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAY7G,MAAM25B,EAAsB,EAEtBC,EAAkB3oB,GACpBgoB,EAAgB52B,OAAO4O,EAAY0oB,GAAqB9d,MAAKI,GAAYA,EAASjc,M,4GC/B7F,MAAM65B,GAAchiB,EAAAA,EAAAA,IAAgBiiB,EAAAA,sBA8B7B19B,eAAe29B,EAAiB5J,GACnC,OAAO0J,EAAYG,WAAW7J,GAAStU,KAAKuL,EAAAA,E,CAGzC,SAAS6S,EAA2B3kD,GACvC,OAAOukD,EAAYK,SAAS5kD,GAAIumC,KAAKuL,EAAAA,E,uMC1CzC,MAAM+S,GAAoBtiB,EAAAA,EAAAA,IAAgBuiB,EAAAA,oBAWnCh+B,eAAei+B,IAClB,MAAMC,QAAyBH,EAAkBE,cAAcxe,KAAKuL,EAAAA,GACpE,OAXuBnL,EAWEqe,EAVlB,IACAre,EACHse,eAAgBte,EAASse,gBAAkB,UAC3CC,cAAeve,EAASue,eAAiB,UACzCC,oBAAqBxe,EAASwe,qBAAuB,WAL7D,IAA2Bxe,C,wFCFpB,SAASye,EAAgBjF,EAAMxyB,GAClC,MAAMsV,GAAI,IAAIC,EAAAA,GAAYp4B,KAAK,CAC3Bq3B,EAAAA,GAAAA,QACAA,EAAAA,GAAAA,QACAA,EAAAA,GAAAA,QACAA,EAAAA,GAAAA,KACAge,IAGJ,OAAO9c,EAAAA,GAAAA,IAAwBJ,EAAGtV,E,mWCKtC,MAAM03B,GAAiB9iB,EAAAA,EAAAA,IAAgB+iB,EAAAA,uBACjCC,GAAuBhjB,EAAAA,EAAAA,IAAgBijB,EAAAA,iBACvCC,GAA6BljB,EAAAA,EAAAA,IAAgBmjB,EAAAA,oBAC7CC,GAAqBpjB,EAAAA,EAAAA,IAAgBqjB,EAAAA,sBAE3C,SAASC,EAAoClf,GACzC,MAAO,KACAmf,EAAAA,EAAAA,IAA8Bnf,GACjCof,uBAAwBpf,EAASqf,wBAC1Brf,EAASqf,wBAAwBn5C,MAAM,KAAKnB,KAAI0nC,GAAQA,EAAK5zB,SAC9D,G,CAIPsH,eAAem/B,IAClB,aAAcR,EAA2BS,wBAAwBx7B,I,CAG9D5D,eAAeq/B,EAAenmD,GACjC,OAAO6lD,SAA2CR,EAAee,WAAWpmD,IAAK0qB,K,CAG9E5D,eAAeu/B,IAClB,OAAOR,SAA2CR,EAAeiB,kBAAkB57B,K,CAGhF,SAAS6mB,EAAS3kB,G,IAAyBikB,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAQ,aAAD,EACrD,MAAM5N,EAAIC,EAAAA,EAAAA,cAAwBf,EAAAA,EAAAA,cAC7Br3B,KAAKq3B,EAAAA,EAAAA,OACLvV,QAAQA,GACRitB,MAAMjtB,GACNuW,MAAM,CACH0N,SAGR,OAAOiS,EAAAA,EAAAA,GAAgB7f,EAAGgZ,EAAAA,G,CAGvBn1B,eAAey/B,IAClB,OAAOhB,EAAqBiB,gBAAgBjgB,KAAKuL,EAAAA,E,CAG9ChrB,eAAe2/B,EAAkB7T,GACpC,OAAO+S,EAAmBe,sBAAsB9T,GAAQrM,KAAKuL,EAAAA,E,CAG1DhrB,eAAe6/B,EAAkB1zC,GACpC,OAAOsyC,EAAqBqB,iBAAiB,CAAE3zC,U,CAG5C6T,eAAe+/B,IAClB,OAAOtB,EAAqBuB,mB,iDCrEzB,MAAMC,EAA8Bv7C,OAAOw7C,OAAO,CACrDC,sBAAuB,wBACvBC,eAAgB,iBAChBC,gBAAiB,kBACjBnR,0BAA2B,4BAC3BoR,wBAAyB,0BACzBC,iBAAkB,mBAClBC,oBAAqB,sBACrBC,qBAAsB,uBACtBC,sBAAuB,wBACvBC,qBAAsB,uBACtBtzC,cAAe,iB,+BCXZ,M,0BAAKuzC,GAAAA,EACH,MAAG,QADAA,EAEM,eAAG,iBAFTA,EAGK,cAAG,gBAHRA,EAIK,cAAG,e,EAJRA,IAAAA,EAAwB,I,oJCA7B,MAAMC,UAAgC/nD,MACzCgoD,cACIC,MAAM,8CAENr8C,OAAOs8C,eAAexmD,KAAMqmD,EAAwBI,U,EAIrD,MAAMC,UAA8BpoD,MACvCgoD,cACIC,MAAM,2CAENr8C,OAAOs8C,eAAexmD,KAAM0mD,EAAsBD,U,EAInD,MAAME,UAA6BroD,MACtCgoD,cACIC,MAAM,2BAENr8C,OAAOs8C,eAAexmD,KAAM2mD,EAAqBF,U,EAIlD,MAAMG,UAA6BtoD,MACtCgoD,cACIC,MAAM,6DAENr8C,OAAOs8C,eAAexmD,KAAM4mD,EAAqBH,U,EAIlD,MAAMI,UAA8BvoD,MACvCgoD,cACIC,MAAM,iCAENr8C,OAAOs8C,eAAexmD,KAAM6mD,EAAsBJ,U,EAInD,MAAMK,UAA2BxoD,MACpCgoD,cACIC,MAAM,wBAENr8C,OAAOs8C,eAAexmD,KAAM8mD,EAAmBL,U,EAIhD,MAAMM,UAAgCzoD,MACzCgoD,cACIC,MAAM,6CAENr8C,OAAOs8C,eAAexmD,KAAM+mD,EAAwBN,U,EAIrD,MAAMO,UAA2B1oD,MACpCgoD,cACIC,MAAM,uBAENr8C,OAAOs8C,eAAexmD,KAAMgnD,EAAmBP,U,EAIhD,MAAMQ,UAA8B3oD,MAM5Bmd,qBACP,MAAO,6D,CANX6qC,cACIC,MAAMU,EAAsBxrC,SAC5BvR,OAAOs8C,eAAexmD,KAAMinD,EAAsBR,U,EAQnD,MAAMS,UAA+B5oD,MACxCgoD,cACIC,MAAM,+BAENr8C,OAAOs8C,eAAexmD,KAAMgnD,EAAmBP,U,EAIhD,MAAMU,UAAoC7oD,MAC7CgoD,cACIC,MAAM,oCAENr8C,OAAOs8C,eAAexmD,KAAMmnD,EAA4BV,U,EAIzD,MAAMW,UAAkC9oD,MAC3CgoD,cACIC,MAAM,4BAENr8C,OAAOs8C,eAAexmD,KAAMonD,EAA0BX,U,mSCvF9D,MAAMY,GAAyBvL,EAAAA,EAAAA,IAAsBwL,EAAAA,IAE9C,MAAMC,EAKT,YAAmBC,EAAeC,GAC9B,MAAMrF,EAAwB,CAAEoF,QAAOC,aACjC,GAAE/oD,SAAasB,KAAK0nD,iBAAiBC,iBAAgB,GAC3D,IAEI,MAAO,CACHv+B,KAAM,CAAEmtB,aAFS8Q,EAAuBO,QAAQlpD,EAAI0jD,IAAUh5B,M,CAIpE,MAAOxd,GACL,GAAIuvC,IAAAA,aAAmBvvC,GAAQ,C,IACvBA,EAEOA,EAEAA,EAJX,GAA+B,OAAb,QAAdA,EAAAA,EAAMy5B,gBAAQ,IAAdz5B,OAAAA,EAAAA,EAAgBkC,QAChB,MAAM,IAAIu4C,EAAAA,GACP,GAA+B,OAAb,QAAdz6C,EAAAA,EAAMy5B,gBAAQ,IAAdz5B,OAAAA,EAAAA,EAAgBkC,QACvB,MAAM,IAAI44C,EAAAA,GACP,GAA+B,OAAb,QAAd96C,EAAAA,EAAMy5B,gBAAQ,IAAdz5B,OAAAA,EAAAA,EAAgBkC,QACvB,MAAM,IAAIs5C,EAAAA,E,CAGlB,MAAMx7C,C,EApBd06C,YAAoBoB,G,KAAAA,iBAAAA,C,EAFpB,EAAch0B,OAAS,CAAC+xB,EAAAA,EAAAA,2B,eCNrB,MAAMoC,EAgBT,eACsCpzC,IAA9BzU,KAAK8nD,uBAGT9nD,KAAK8nD,qBAAuB9nD,KAAKy4C,WAAWsP,aAAa3F,QAAQ4F,IAAIhoD,KAAKioD,iB,CAG9E,iBACsCxzC,IAA9BzU,KAAK8nD,uBAGT9nD,KAAKy4C,WAAWsP,aAAa3F,QAAQ8F,MAAMloD,KAAK8nD,sBAChD9nD,KAAK8nD,0BAAuBrzC,E,CAGhC,iBAEI,OADgBzU,KAAK07C,eAAeE,OACrBC,U,CAhCnByK,YAA6B7N,EAA4CiD,G,KAA5CjD,WAAAA,E,KAA4CiD,eAAAA,E,KAGxDuM,gBAAkBziC,MAAO2iC,IACtC,MAAMC,QAAYpoD,KAAK67C,WAEvB,MAAO,IACAsM,EACHlN,QAAS,IACFkN,EAAOlN,QACVoN,cAAe,UAAUD,KAEhC,C,2DCPF,SAASE,EAAiCC,GAC7C,OAAOA,EAAOtxB,MAAKuxB,GAAU,EAAoCxyC,KAAKyyC,c,CAOnE,MAAMC,EAGT,+BACI,OAAOJ,EAAiCtoD,KAAK2oD,QAAQC,Q,CAGzD,mCACI,OAA4C5oD,KAAK2oD,QAAQC,QAX/C3xB,MAAKuxB,GAAU,EAAoCxyC,KAAK6yC,kB,CActE,2BACI,OAAOC,EAAAA,EAAAA,GAAyB9oD,KAAK2oD,Q,CAGzC,8B,IAAmCI,IAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,KAA8B,aAC7D/oD,KAAKgpD,OAAO,IACLC,EAAAA,EACHx9C,MAAOs9C,EAA2B,CAAEG,SAAUlpD,KAAK2oD,QAAQQ,UAA8C,CAAC,G,CAIlH,iCACIC,EAAAA,EAAAA,GAAgBppD,KAAKgpD,O,CAGzB,iCAC2B,IAAIrN,EAAAA,GACR0N,aACfrpD,KAAKspD,gCAELtpD,KAAKupD,6BAA4B,E,CAIzC,0BACIvpD,KAAKgpD,Q,CAnCT,YAAoCL,EAAiCK,G,KAAjCL,QAAAA,E,KAAiCK,OAAAA,C,EAuClE,MAAMQ,UAA4Cd,EACrD,4BAAmCp7B,EAA2B8sB,GAC1D,IACI,MAAM7D,EAAQv2C,KAAK8oD,2BACbW,QAA8Bn8B,EAAUipB,GAE9C,GAAIkT,EAAsBx8B,QAEtB,YADAjtB,KAAK0pD,0BAIT1pD,KAAK2pD,sCAECC,EAAAA,EAAAA,IAAwBxP,EAAW,CACrCngC,MAAO,UACPwB,QAASguC,EAAsBhuC,QAC/BouC,SAAU,K,CAEhB,MAAOj+C,GACLoH,QAAQqP,KAAKzW,GACb5L,KAAK2pD,+B,6BCzEV,MAAMG,GAAeC,E,SAAAA,IAAmC,gB,eCSxD,MAAMC,EAKT,0BAEI,MAAiC,iBADnBhqD,KAAKiqD,OAAOC,aAAaz+C,MACnBy9C,Q,CAGxB,gBACI,OAAOlpD,KAAKiqD,OAAOC,aAAanlD,OAASqhD,EAAAA,EAAAA,K,CAG7C,gCACI,OAAOkC,EAAiCtoD,KAAKiqD,OAAOC,aAAatB,Q,CAGrE,oCACI,MAAMn9C,EAAQzL,KAAKiqD,OAAOC,aAAaz+C,YACjCzL,KAAKiqD,OAAOpsC,KAAK,CAAErU,KAAMiC,EAAMy9C,U,CAGzC,oCACUlpD,KAAKiqD,OAAOpsC,KAAKssC,EAAAA,E,CAG3B,4BACI,GAD6BC,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,IAAc,aAGpC,CACH,MAAMhhD,EAAQpJ,KAAKiqD,OAAOxrD,QAAQ,CAAEsG,KAAMqhD,EAAAA,EAAAA,QAC1CphC,OAAO3T,SAAS5H,QAAQL,EAAMM,K,YAHxB1J,KAAKiqD,OAAOpsC,KAAK,CAAE9Y,KAAMqhD,EAAAA,EAAAA,O,CAOvC,6BAAoCiE,EAAoB7e,GACpD,MAAM,WAAE6P,GAAeR,EAAAA,EACjByP,EAAUjP,EAAW1vC,SAAS,KAAO0vC,EAAaA,EAAa,IAErE,IAAIkP,EAAM1P,EAAAA,EAAAA,aACJ,GAAGyP,UAAgBD,SACnB,GAAGC,gCAAsCD,SAE3C,CAACG,EAAAA,GAAAA,QAAkBA,EAAAA,GAAAA,KAAcl/C,SAASkgC,EAAOif,kBACjDF,GAAO,eAGP/e,EAAOif,iBAAmBD,EAAAA,GAAAA,cACpBV,EAAaY,2BAA2B,CAAEH,QAEhDvlC,OAAO3T,SAAS5H,QAAQ8gD,E,CAhDhC,YAAoCN,G,KAAAA,OAAAA,C,EAFpC,EAAcv2B,OAAS,CAACi3B,EAAAA,EAAAA,WCbrB,MAAMC,EAsBT,uBAII,YAH0Bn2C,IAAtBzU,KAAK6qD,cAA+B7qD,KAAK8qD,wBACzC9qD,KAAK8qD,sBAAwB9qD,KAAK6qD,gBAE/B7qD,KAAK8qD,qB,CAGhB,QAAeh0B,QACwBriB,IAA/BzU,KAAK+qD,uBACL/qD,KAAKy4C,WAAWsP,aAAa1iB,SAAS6iB,MAAMloD,KAAK+qD,uBAErD/qD,KAAK6qD,aAAe/zB,EACpB92B,KAAK+qD,sBAAwB/qD,KAAKy4C,WAAWsP,aAAa1iB,SAAS2iB,KAAIgD,GAAKA,GAAGhrD,KAAKirD,sB,CAGxF,iBACuCx2C,IAA/BzU,KAAK+qD,wBAGT/qD,KAAKy4C,WAAWsP,aAAa1iB,SAAS6iB,MAAMloD,KAAK+qD,uBACjD/qD,KAAK+qD,2BAAwBt2C,E,CAzCjC6xC,YAA6B7N,G,KAAAA,WAAAA,E,KAGrBqS,uBAAwB,E,KAIfG,sBAAwBr/C,IACrC,GAAIuvC,IAAAA,aAAmBvvC,GAAQ,CAC3B,MAAMy5B,EAAWz5B,aAAAA,EAAAA,EAAOy5B,SAExB,GAAyB,OAArBA,aAAAA,EAAAA,EAAUv3B,SAAkB9N,KAAKkrD,uBACjC,M,MAED,GAAIt/C,aAAiBq7C,EAAAA,IAAyBjnD,KAAKkrD,uBACtD,OAGJ,MAAMt/C,CAAK,C,ECbnB,MAAMy7C,GAAyBvL,EAAAA,EAAAA,IAAsBqP,EAAAA,IAE9C,MAAMjF,EAKT,2BAAkCsB,GAC9B,MAAMpF,EAAiC,CAAEgJ,WAAY5D,IAC/C,GAAE9oD,SAAasB,KAAK0nD,iBAAiBC,kBAC3C,UACUN,EAAuBgE,eAAe3sD,EAAI0jD,E,CAClD,MAAOx2C,G,IAEGA,EADR,GAAIuvC,IAAAA,aAAmBvvC,GACnB,GAA+B,OAAb,QAAdA,EAAAA,EAAMy5B,gBAAQ,IAAdz5B,OAAAA,EAAAA,EAAgBkC,QAChB,MAAM,IAAI64C,EAAAA,GAGlB,MAAM/6C,C,EAbd06C,YAAoBoB,G,KAAAA,iBAAAA,C,EAFpB,EAAch0B,OAAS,CAAC+xB,EAAAA,EAAAA,2B,qCCkBrB,SAAS6F,EAAwBC,GACpC,MAAM,MAAEhV,GAAUgV,EAAY9/C,MAE9B,OAfG,SAAoC/G,GACvC,MAAM8mD,EAAe,IAAIC,gBAAgBzmC,OAAO3T,SAASoa,QACzD+/B,EAAatP,OAAOx3C,GAEpB,MAAMgnD,EAAM1mC,OAAO3T,SACbs6C,EAASH,EAAaplD,WACtBwlD,EAAcD,EAAOnjD,OAAS,EAAI,IAAImjD,IAAW,GACjDE,EAAS,GAAGH,EAAII,aAAaJ,EAAIK,OAAOL,EAAIM,WAAWJ,IAE7D5mC,OAAOinC,QAAQC,aAAa,CAAE1iD,KAAMqiD,GAAU,GAAIA,E,CAKlDM,CAA2B,SACpB5V,C,CAWJ,SAAS6V,EAAgCn/B,GAC5C,MAAO,CACHA,UACAxR,QAASwR,EAAU,IANhBlnB,EADOo0C,EAAAA,GAAAA,QAA0BC,EAAAA,GAAWjqC,QAAQpK,OAC9C,+C,CCjCV,MAAesmD,EAKlB,uBAAiCpqB,GAC7B,IAAIqqB,GAAkB,EACtB,GAAItsD,KAAK0nD,iBAAkB,CACvB,MAAM,GAAEhpD,SAAasB,KAAK0nD,iBAAiBC,kBAC3C2E,EAAkB5tD,IAAOipB,OAAOsa,EAAQ,sB,CAG5C,IAAKqqB,EACD,MAAM,IAAI1F,EAAAA,E,CAVlBN,YAA6BoB,G,KAAAA,iBAAAA,C,EAF7B,EAAch0B,OAAS,CAAC+xB,EAAAA,EAAAA,2BCA5B,MAAM4B,GAAyBvL,EAAAA,EAAAA,IAAsBqP,EAAAA,IAO9C,MAAMhF,UAA6BkG,EACtC,kBAAyB9V,GACrB,OAAOgW,EAAAA,EAAAA,GAAuChW,EAAO,CAAC,qBAAsB,UAAW,c,CAG3F,yBAAgCA,GAC5B,IAAIiW,EACJ,IAEIA,SAD+BnF,EAAuBoF,oBAAoBlW,IAC3CntB,KAAK3F,UAAW,C,CACjD,MAAO7X,GACL4gD,GAAc,C,CAGlB,OAAOJ,EAAgCI,E,CAG3C,oBAA2BjW,EAAYkR,GACnC,MAAMxlB,EAAUkkB,EAAqBuG,WAAWnW,SAC1Cv2C,KAAK2sD,iBAAiB1qB,GAE5B,MAAMmgB,EAAoC,CAAE5Q,QAAS7pB,OAAOsa,EAAQ,YAAawlB,YAEjF,UACUJ,EAAuBuF,cAAcrW,EAAO6L,E,CACpD,MAAOx2C,G,IAEGA,EADR,GAAIuvC,IAAAA,aAAmBvvC,GACnB,GAA+B,OAAb,QAAdA,EAAAA,EAAMy5B,gBAAQ,IAAdz5B,OAAAA,EAAAA,EAAgBkC,QAIhB,MAAM,IAAIxP,MAAM,0BAGxB,MAAMsN,C,GC3ClB,SAASihD,EAAwBv/B,GAC7B,MAAO,CAAC/jB,EAAW0B,EAAUo4B,KACJ,IAAImmB,EAAoCjgD,EAAI85B,GACpDypB,sBAAsBx/B,EAAW8sB,EAAAA,EAAU,C,CCAhE,MAAM2S,GAA0BjR,EAAAA,EAAAA,IAAsBkR,EAAAA,IAQ/C,MAAMhH,UAA4BqG,EACrC,kBAAyB9V,GACrB,OAAOgW,EAAAA,EAAAA,GAAsChW,EAAO,CAChD,qBACA,UACA,aACA,mB,CAIR,yBAAgCA,GAC5B,IAAIiW,EACJ,IAEIA,SAD+BO,EAAwBE,iBAAiB1W,IACzCntB,KAAK3F,UAAW,C,CACjD,MAAO7X,GACL4gD,GAAc,C,CAGlB,OAAOJ,EAAgCI,E,CAG3C,mBAA0BjW,EAAYkR,GAClC,MAAMxlB,EAAU+jB,EAAoB0G,WAAWnW,SACzCv2C,KAAK2sD,iBAAiB1qB,GAE5B,MAAMmgB,EAA+B,CAAEqF,YAEvC,IACI,MACMyF,SADiBH,EAAwBI,aAAa5W,EAAO6L,IACzCh5B,KAAKmtB,MAE/B,IAAK2W,EACD,MAAM,IAAIlG,EAAAA,GAGd,OAAOkG,C,CACT,MAAOthD,G,IAEGA,EADR,GAAIuvC,IAAAA,aAAmBvvC,GACnB,GAA+B,OAAb,QAAdA,EAAAA,EAAMy5B,gBAAQ,IAAdz5B,OAAAA,EAAAA,EAAgBkC,QAIhB,MAAM,IAAIxP,MAAM,0BAGxB,MAAMsN,C,0EC5DX,MAAMu+C,EAAkC,CAC3CplD,K,SAAMqoD,EAAAA,mBAGGnE,EAAgC,CACzClkD,KAAMqhD,EAAAA,EAAAA,M,8DCCH,E,iCAMA,SAASiH,EAAuBjkD,GACnC,IAAKA,EACD,OAAO,KAKX,OAFcA,EAAMqC,MACCqC,M,WAZbw/C,GAAAA,EACE,WAAG,MADLA,EAEI,aAAG,MAFPA,EAGW,oBAAG,K,EAHdA,IAAAA,EAAW,KAgBhB,MAAMC,EAAuB,CAAChkD,EAAW65B,EAAcC,KAC1D,MAAMt9B,EAAQo0C,EAAAA,GAAAA,QAA0BC,EAAAA,GAAWjqC,QAAQpK,MACrD+H,EAASu/C,EAAuB9jD,GACtC,IAAIkS,EAAyB,KAE7B,GAAI3N,EACA,OAAQA,GACJ,KAAKw/C,EAAYE,aACb/xC,EAAU1V,EAAM,6CAChB,MACJ,KAAKunD,EAAYG,WACbhyC,EAAU1V,EAAM,4CAChB,MACJ,KAAKunD,EAAYI,oBACbjyC,EAAU1V,EAAM,iDAK5Bs9B,IAEI5nB,GACAkyC,EAAAA,GAAAA,QAA0BvT,EAAAA,GAAWpU,QAAQ4jB,wBAAwB,CACjE3vC,MAAO,UACPwB,QAASA,EACTouC,SAAU,K,+DC/Cf,SAASf,EAAyB1/C,GACrC,MACMmtC,EADQntC,EAAMqC,MACA8qC,MAEpB,GAAqB,iBAAVA,GAAsBA,EAAM/tC,OAAS,EAC5C,OAAO+tC,EAGX,MAAM,IAAI2Q,EAAAA,E,iDCJP,MAAM0G,EAAe1kC,IACxB,IAAI2kC,EAAU3kC,EACd2kC,EAAUA,EAAQpkD,QAAQ,KAAM,KAAKA,QAAQ,KAAM,KAAKA,QAAQ,MAAO,IACvE,IAEI,OADoB,IAAIqkD,aACLC,OACf,IAAIC,WACAC,KAAKJ,GACAtiD,MAAM,IACNnB,KAAI43C,GAAKA,EAAEkM,WAAW,M,CAGrC,MACE,MAAM,IAAIC,UAAU,oD,GAIrB,SAAS5B,EAAsCnE,EAAUgG,GAehE,IAAoB7X,KAdA6R,GAeH98C,SAAS,OAASirC,EAAMjrC,SAAS,OAd1C88C,EAiBR,SAAyBl/B,GAGrB,MAAMmlC,GAFNnlC,EAAQA,EAAMzf,QAAQ,KAAM,KAAKA,QAAQ,KAAM,MAE7BjB,OAAS,EAC3B,GAAI6lD,EAAK,CACL,GAAY,IAARA,EACA,MAAM,IAAI/vD,MAAM,uFAEpB4qB,GAAS,IAAIlO,MAAM,EAAIqzC,GAAKpwC,KAAK,I,CAGrC,OAAO2vC,EAAa1kC,E,CA5BVolC,CAAgBlG,IAG1B,MAAOmG,EAAStsB,EAASusB,GAAcpG,EAAI78C,MAAM,KAE3C6d,EAAOugB,KAAKxjC,MAAMynD,EAAa3rB,IACrC,IAAKmsB,EAAe1zB,OAAM6T,GAASA,KAASnlB,GAAuB,MAAfA,EAAKmlB,KACrD,MAAM,IAAI4f,UAAU,kCAGxB,OAAO/kC,C,gEChBJ,MAAMqlC,EAUT,WACI,OAAOzuD,KAAKooD,G,CAOhB,WAEI,MAAMphC,EAAM9gB,KAAK8gB,MAAQ,IAGzB,OAAOA,EAAMhnB,KAAK0uD,WAAWC,IADf,KAC8B3nC,GAAOhnB,KAAK0uD,WAAWE,IADrD,G,CAOlB,oBACI,MAAM,IAAItwD,MAAM,4B,CA3BpB,YAA4B8pD,G,KAAAA,IAAAA,EACxBpoD,KAAK0uD,YAAanC,EAAAA,EAAAA,GAA0BnE,EAAK,CAAC,UAAW,cAAe,MAAO,MAAO,MAAO,O,+CCtBlG,MAAMyG,EAMT,QACIC,aAAaC,WAAW/uD,KAAKgvD,Y,CAMjC,OACI,MAAMC,EAAaH,aAAaI,QAAQlvD,KAAKgvD,aAC7C,GAAmB,OAAfC,EACA,OAAOA,EAEX,MAAM,IAAIhI,EAAAA,E,CAOd,MAAamB,GACT0G,aAAaK,QAAQnvD,KAAKgvD,YAAa5G,E,eAzB3C,KAAiB4G,YAAc,c,ECEnC,MAAMI,GAAenuB,EAAAA,EAAAA,IAAgBouB,EAAAA,eAE9B,MAAMC,EAcT,qBAKI,OAJKA,EAAoBC,WACrBD,EAAoBC,SAAW,IAAID,GAGhCA,EAAoBC,Q,CAG/B,Q,IAAaC,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,IAA2B,aACpCxvD,KAAKyvD,iBACDD,GACAxvD,KAAK0vD,qB,CAIb,S,IAAcC,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,IAA0B,aACpC3vD,KAAK4vD,gBAAgBD,E,CAGzB,OACI3vD,KAAK6vD,e,CAGT,eAAsB/4B,GAClB92B,KAAK8vD,YAAch5B,C,CAGvB,qBACI,IACI,MAAMsxB,SAAagH,EAAavT,YAAYzyB,KAC5CppB,KAAKyH,MAAMsoD,MAAM3H,GACjBpoD,KAAK0vD,2BAIqBj7C,IAAtBzU,KAAKgwD,cACLhwD,KAAKiwD,iB,CAEX,MAAOrkD,GACL5L,KAAKyH,MAAMyoD,QACXlwD,KAAK6vD,qBAEoBp7C,IAArBzU,KAAK8vD,aACL9vD,KAAK8vD,a,EAKjB,kB,IAAwBK,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAA6B,aAAnBnwD,KAAKowD,eACnCpwD,KAAK2B,IAAI,wCAAyCwuD,GAClDnwD,KAAKgwD,aAAehrC,OAAO/jB,YAAWukB,gBAC5BxlB,KAAKqwD,cAAc,GAC1BF,E,CAGP,iBACInwD,KAAK6vD,gBACL7vD,KAAKiwD,iB,CAGT,kBACI,GADoB/5B,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,IAAiB,aAIjC,OAFAl2B,KAAK6vD,qBACL7vD,KAAKiwD,gBAAgB,GAIzB,QAA0Bx7C,IAAtBzU,KAAKgwD,aACL,OAGJ,MAAMM,EAAkBtwD,KAAKuwD,yBAC7B,IAAKD,EAED,YADAtwD,KAAKiwD,kBAIT,MAAMO,EAActqD,KAAK8gB,MAAQspC,EAC3BH,EAAUK,GAAexwD,KAAKowD,eAAiB,EAAIpwD,KAAKowD,eAAiBI,EAE/ExwD,KAAKiwD,gBAAgBE,E,CAGzB,qBAC8B17C,IAAtBzU,KAAKgwD,eACLhrC,OAAOyrC,aAAazwD,KAAKgwD,cACzBhwD,KAAKgwD,kBAAev7C,GAExBzU,KAAK0wD,0B,CAGT,yBACI,MAAMC,EAAW7B,aAAaI,QAAQlvD,KAAKgvD,aAC3C,GAAiB,OAAb2B,EACA,OAAOhpC,OAAOgpC,E,CAKtB,sBACI7B,aAAaK,QAAQnvD,KAAKgvD,YAAa5vD,OAAO8G,KAAK8gB,O,CAGvD,2BACI8nC,aAAaC,WAAW/uD,KAAKgvD,Y,CA1GjC,cAXA,KAAiBA,YAAc,4BAC/B,KAAiBoB,eAAiB,KAElC,KAAiBzuD,KAAMU,EAAAA,EAAAA,IAAW,qBAClC,KAAiBoF,MAAQ,IAAIonD,C,ECR1B,MAAMlT,EAQT,MAAayM,GAGT,OAFApoD,KAAKyH,MAAMsoD,MAAM3H,GACjBpoD,KAAK4wD,UAAU/pC,OAAM,GACd,IAAI4nC,EAAgBrG,E,CAO/B,QACIpoD,KAAKyH,MAAMyoD,QACXlwD,KAAK4wD,UAAUv5B,M,CAMnB,oBACIr3B,KAAK4wD,UAAUC,QAAO,E,CAG1B,sBACI7wD,KAAK4wD,UAAUC,QAAO,E,CAG1B,8BAAqChG,GACjC7qD,KAAK4wD,UAAUE,eAAejG,E,CAMlC,OACI,MAAMzC,EAAMpoD,KAAKyH,MAAMspD,OACvB,OAAO,IAAItC,EAAgBrG,E,CAG/B,aACI,IAEI,OADgBpoD,KAAK47C,OACNoV,U,CACjB,MACE,OAAO,C,gBAlDf,KAAiBvpD,MAAQ,IAAIonD,EAC7B,KAAiB+B,UAAYtB,EAAoB2B,a,mHCGrD,MAAM1sB,UAAqBC,EAAAA,GACZ0sB,mCACP,OAAQrW,EAAAA,EAAAA,mB,EAIhB,MAAMpW,UAAqBC,EAAAA,GACvB,SACkC,UAA1B1kC,KAAK4H,MAAMupD,YAA2BtW,EAAAA,EAAAA,oBAGtC76C,KAAKkI,UAAUkpD,gBAFfpxD,KAAKkI,UAAUmpD,wB,CAMvB,iBACkC,oBAA1BrxD,KAAK4H,MAAMupD,YACXnxD,KAAKkI,UAAUkpD,e,CAIvB,qBACkC,UAA1BpxD,KAAK4H,MAAMupD,YACXnxD,KAAKkI,UAAUopD,wB,EAK3B,MAAM3tB,UAAuBC,EAAAA,GACzB,gBACI5jC,KAAK4H,MAAMupD,WAAa,O,CAG5B,yBACInxD,KAAK4H,MAAMupD,WAAa,iB,CAG5B,yBACInxD,KAAK4H,MAAMupD,WAAa,iB,EAIhC,MAAM1pD,EAAQ,IAAI89B,EAAAA,GAAO,CACrB39B,MAhDJ,M,cACI,KAAOupD,WACHtW,EAAAA,EAAAA,oBAAkC,QAAU,iB,GA+ChD7U,QAASvB,EACTv8B,UAAWy7B,EACXxzB,QAASo0B,IAGPgtB,GAAsBrrB,EAAAA,EAAAA,IAAaz+B,GAE5B+pD,EAA2B1yD,EAAAA,GAAAA,OAAW,CAC/CyR,SAAU,IACHghD,EAAoBnrB,SAAS,CAAC,kBAC9BmrB,EAAoBlqB,WAAW,CAAC,kCAEvChB,QAAS,IACFkrB,EAAoBhrB,WAAW,CAAC,SAAU,qBAAsB,sBAI9DkrB,GAA8BC,EAAAA,EAAAA,GAA0B,IAC9DH,EAAoBnrB,SAAS,CAAC,kBAC9BmrB,EAAoBlqB,WAAW,CAAC,oCAChCkqB,EAAoBhrB,WAAW,CAAC,SAAU,qBAAsB,qBAKvE,G,sHCxEO,MAAMorB,EAST,YAAmBC,GACf,MAAMC,QAAiB7xD,KAAK8xD,YAAYC,MAAMH,EAAYpK,MAAOoK,EAAYnK,UAC7EznD,KAAK07C,eAAe70B,MAAMgrC,EAASzoC,KAAKmtB,OAEpCv2C,KAAKgyD,gBAAgBC,gCACfjyD,KAAKgyD,gBAAgBE,oCAErBlyD,KAAKgyD,gBAAgBG,uB,CAbnC,YACYL,EACApW,EACAsW,G,KAFAF,YAAAA,E,KACApW,eAAAA,E,KACAsW,gBAAAA,C,EALZ,EAAct+B,OAAS,CAACqY,EAAAA,EAAAA,sBAA8BA,EAAAA,EAAAA,eAAuBA,EAAAA,EAAAA,iB,0BCK1E,MAAMqmB,EAST,cACI,MAAM3H,GAAiB4H,EAAAA,EAAAA,MACvB,IACI,MAAM,GAAE3zD,SAAasB,KAAK8rC,gBAAgB6b,iBAAgB,GAC1D3nD,KAAKgyD,gBAAgBM,uBAAuB5zD,EAAI,CAAE+rD,kB,CACpD,QACMA,IAAmBD,EAAAA,GAAAA,MACnBxqD,KAAK8rC,gBAAgBymB,YAAW,GAChCvyD,KAAK07C,eAAewU,Q,EAKhC,eACI,OAAOlwD,KAAK8rC,gBAAgBU,mB,CAGhC,qBACI,OAAOxsC,KAAK8rC,gBAAgBrsC,oB,CAGhC,uBAA8B2J,GAC1B,MAAMopD,GAAkBnF,EAAAA,EAAAA,IAAuBjkD,GAC/C,OACIpJ,KAAKyyD,gBACLzyD,KAAKP,sBACLO,KAAK8rC,gBAAgB4mB,+BACpBF,C,CAjCT,YACqB1mB,EACAkmB,EACAtW,G,KAFA5P,gBAAAA,E,KACAkmB,gBAAAA,E,KACAtW,eAAAA,C,EALrB,EAAchoB,OAAS,CAACqY,EAAAA,EAAAA,0BAAkCA,EAAAA,EAAAA,gBAAwBA,EAAAA,EAAAA,gBCD/E,MAAMl5B,EAiBT,e,IAAoB8/C,IAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,KAAqB,gBAAEC,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,KAAkB,qBAE/C5yD,KAAK6yD,iBAAiBC,SAGhC9yD,KAAK0nD,iBAAiB6K,aACtBvyD,KAAK07C,eAAewU,QACpBlwD,KAAK+yD,mBAAmBh6C,QAEpB45C,SACM3yD,KAAKgyD,gBAAgBgB,qB,CAlBnC,YACqBtL,EACAhM,EACAsW,EACAe,EACAF,G,KAJAnL,iBAAAA,E,KACAhM,eAAAA,E,KACAsW,gBAAAA,E,KACAe,mBAAAA,E,KACAF,iBAAAA,C,EAbrB,EAAcn/B,OAAS,CACnBqY,EAAAA,EAAAA,0BACAA,EAAAA,EAAAA,eACAA,EAAAA,EAAAA,gBACAA,EAAAA,EAAAA,wBACAA,EAAAA,EAAAA,kBCZD,MAAMknB,EAeT,mBAA0B1c,EAAYkR,GAC9BznD,KAAK07C,eAAe2N,oBACdrpD,KAAK0S,cAAcK,QAAO,GAAOtR,MAAMuR,QAAQpH,OAEzD,MAAMw8C,QAAYpoD,KAAKkzD,oBAAoB/F,aAAa5W,EAAOkR,GAC/DznD,KAAK07C,eAAe70B,MAAMuhC,SACpBpoD,KAAKgyD,gBAAgBG,uB,CAb/B,YACqBzW,EACAsW,EACAkB,EACAxgD,G,KAHAgpC,eAAAA,E,KACAsW,gBAAAA,E,KACAkB,oBAAAA,E,KACAxgD,cAAAA,C,EAXrB,EAAcghB,OAAS,CACnBqY,EAAAA,EAAAA,eACAA,EAAAA,EAAAA,gBACAA,EAAAA,EAAAA,oBACAA,EAAAA,EAAAA,eCAD,MAAMonB,EAaT,qBAA4BC,SAClBpzD,KAAK8rC,gBAAgBunB,uBAAuBD,GAClD,MAAME,QAAiBtzD,KAAK8rC,gBAAgB6b,iBAAgB,GAExD3nD,KAAK8rC,gBAAgBrsC,2BACfO,KAAKgyD,gBAAgBM,uBAAuBgB,EAAS50D,GAAI,CAAE+rD,gBAAgB4H,EAAAA,EAAAA,QAEjFryD,KAAKuzD,UAAUC,gB,CAIvB,0BACI,OAAOxzD,KAAK8rC,gBAAgB2nB,yB,CAlBhC,YACqB3nB,EACAynB,EACTvB,G,KAFSlmB,gBAAAA,E,KACAynB,UAAAA,E,KACTvB,gBAAAA,C,EATZ,EAAct+B,OAAS,CACnBqY,EAAAA,EAAAA,0BACAA,EAAAA,EAAAA,qBACAA,EAAAA,EAAAA,iBCVD,MAAM2nB,EAQT,2BAAkClM,SACxBxnD,KAAK8xD,YAAY6B,qBAAqBnM,GAC5CxnD,KAAKuzD,UAAUK,Q,CAPnB,YACqB9B,EACAyB,G,KADAzB,YAAAA,E,KACAyB,UAAAA,C,EAJrB,EAAc7/B,OAAS,CAACqY,EAAAA,EAAAA,sBAA8BA,EAAAA,EAAAA,sBCAnD,MAAM8nB,EAeT,0CAAiDtd,EAAYkR,GACrDznD,KAAK07C,eAAe2N,oBACdrpD,KAAK0S,cAAcK,QAAO,GAAOtR,MAAMuR,QAAQpH,aAEnD5L,KAAK8xD,YAAYlF,cAAcrW,EAAOkR,SACtCznD,KAAKuzD,UAAUP,qB,CAZzB,YACqBtX,EACAoW,EACAyB,EACA7gD,G,KAHAgpC,eAAAA,E,KACAoW,YAAAA,E,KACAyB,UAAAA,E,KACA7gD,cAAAA,C,EAXrB,EAAcghB,OAAS,CACnBqY,EAAAA,EAAAA,eACAA,EAAAA,EAAAA,qBACAA,EAAAA,EAAAA,gBACAA,EAAAA,EAAAA,c,+BCZD,MASA,E,oCATKsS,GAAAA,EACF,OAAG,SADDA,EAEA,SAAG,WAFHA,EAGE,WAAG,cAHLA,EAIH,MAAG,QAJAA,EAKH,MAAG,QALAA,EAMH,MAAG,O,EANAA,IAAAA,EAAU,K,SASVyV,GAAAA,EACC,UAAG,YADJA,EAEC,UAAG,W,EAFJA,IAAAA,EAAU,KCTtB,I,2ECgDA,oB,sTAYAC,EAAA,eAAAjzD,EAAAA,EAAAA,IAAAmC,EAAAA,KASA+wD,6BACA,YAAAjuD,MAAA,0D,CAGAkuD,gBACA,MAAAhuD,EAAA,KAAAujB,QAAAhhB,OAAA0rD,EAAA,KAAAC,eAAA3rD,OAEA4rD,EAAA,CAAApuD,IAAAkuD,EAAA,KAAAA,KAAAjuD,IAAAA,GAGA,YAAAF,MACA,0EAAAsuD,aACAD,E,CAIA,uBAEA,KAAAD,eAAA,SAAAG,c,CAGA,wB,CAKAC,4BACA,YAAA/qC,QAAAhhB,SAAA,KAAA2rD,eAAA3rD,M,CAGAgsD,gBACA,YAAAH,aAAAhW,EAAAA,U,CAGA9jB,sBACA,YAAA/Q,QAAA3e,QAAAmuB,GACAA,EAAAlgB,MAAA+hB,cAAAvvB,SAAA,KAAA0jC,YAAA9wB,OAAA2c,gB,CAIA,kBAAA7B,GACA,MAAAkC,EAAA,KAAAi5B,eAAA/6C,QAAA4f,EAAAt1B,QAAA,IAAAw3B,EAIA,KAAAi5B,eAAAM,OAAAv5B,EAAA,GAEA,KAAAi5B,eAAAt2C,KAAAmb,EAAAt1B,M,CAIA,kBACA,KAAA6wD,sBACA,KAAAJ,eAAA,GAEA,KAAAA,eAAA,KAAA3qC,QAAApf,KAAA4uB,GAAAA,EAAAt1B,O,CAIA,gBAEA,eAAAywD,e,+BAlEA,KAAAA,eAAA,GAEA,KAAAnlB,YAAA,E,OALA/vC,EAAAA,EAAAA,IAAA,CAAA2gB,UAAA,EAAAzgB,KAAA6b,SADA+4C,EAAA,UACAvqC,eAAA,G,IACAvqB,EAAAA,EAAAA,IAAA,CAAA2gB,UAAA,EAAAzgB,KAAA6b,SAFA+4C,EAAA,UAEAO,qBAAA,G,IAAAr1D,EAAAA,EAAAA,IAAA,CAAA2gB,UAAA,EAAAzgB,KAAA,CAAAC,OAAAuoB,WAFAosC,EAAA,UAEAM,kBAAA,G,IAuBAvoD,EAAAA,EAAAA,IAAA,iBAAAoqB,WAAA,KAzBA69B,EAAA,UA0BAW,uBAAA,M,IAIA/0D,EAAAA,EAAAA,IAAA,SA9BAo0D,EAAA,UA+BAl0D,wBAAA,M,IAqCAF,EAAAA,EAAAA,IAAA,YApEAo0D,EAAA,UAqEAY,gBAAA,MArEAZ,EAAA,IAHAj0D,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CAAAioB,eAAA,KAAAyO,aAAA,KAAAy7B,eAAA,QAEAb,GC5DmO,U,eCmBnO,SAXgB,OACd,GCTW,WAAa,IAAIh0D,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,cAAc,CAACH,EAAG,iBAAiB,CAACK,GAAG,CAAC,MAAQT,EAAIF,yBAAyBM,EAAG,KAAK,CAACG,YAAY,wBAAwB,CAACP,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIk0D,eAAe,GAAIl0D,EAAa,UAAEI,EAAG,iBAAiB,CAAC2E,WAAW,CAAC,CAACC,KAAK,YAAYC,QAAQ,cAActB,MAAO3D,EAAe,YAAEkF,WAAW,gBAAgB3E,YAAY,eAAeC,MAAM,CAAC,YAAcR,EAAIi0D,uBAAuB,KAAO,UAAU,CAAC7zD,EAAG,0BAA0B,CAACI,MAAM,CAAC,KAAO,YAAY,KAAO,MAAM6qB,KAAK,eAAe,GAAGrrB,EAAIU,KAAKN,EAAG,eAAe,CAACG,YAAY,oBAAoBC,MAAM,CAAC,aAAe,GAAG,MAAQ,aAAa,WAAaR,EAAIw0D,uBAAuB/zD,GAAG,CAAC,MAAQT,EAAI80D,mBAAmB10D,EAAG,MAAM,CAACG,YAAY,YAAYH,EAAG,KAAK,CAACG,YAAY,gBAAgBP,EAAI0I,GAAI1I,EAAmB,iBAAE,SAASi5B,GAAQ,OAAO74B,EAAG,eAAe,CAACuE,IAAIs0B,EAAOt1B,MAAMnD,MAAM,CAAC,MAAQy4B,EAAOlgB,MAAM,aAAe,GAAG,WAAa/Y,EAAIo0D,eAAe7oD,SAAS0tB,EAAOt1B,QAAQlD,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAOrE,EAAI+0D,kBAAkB97B,EAAO,IAAI,IAAG,GAAG74B,EAAG,MAAM,CAACG,YAAY,eAAe,CAACH,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,QAAQ,MAAQ,WAAWC,GAAG,CAAC,MAAQT,EAAI40D,gBAAgB,CAAC50D,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIgG,MAAM,uDAAuD,QAAQ,IAAI,EAAE,GACn1C,IDWpB,EACA,KACA,WACA,MAI8B,QEnBhC,ICgBA,oB,sTAeAgvD,EAAA,eAAAj0D,EAAAA,EAAAA,IAAAmC,EAAAA,KAIAgxD,gBACA,YAAAluD,MAAA,4DACAC,IAAA,KAAAgvD,oB,CAIA,kBACAh8B,GACA,OAAAA,C,OAXA/5B,EAAAA,EAAAA,IAAA,CAAA2gB,UAAA,EAAAzgB,KAAA6b,SADA+5C,EAAA,UACAvrC,eAAA,G,IAAAvqB,EAAAA,EAAAA,IAAA,CAAA2gB,UAAA,EAAAzgB,KAAAwoB,UADAotC,EAAA,UACAC,0BAAA,G,IASAr1D,EAAAA,EAAAA,IAAA,WAVAo1D,EAAA,UAWAD,oBAAA,MAXAC,EAAA,IAHAj1D,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CAAAioB,eAAA,IAAAyO,aAAA,SAEA47B,GC/BgO,UCmBhO,SAXgB,OACd,GHTW,WAAa,IAAIh1D,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,QAAQ,CAACH,EAAG,OAAO,CAACG,YAAY,mCAAmC,CAACP,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIk0D,cAAcl0D,EAAI0I,GAAI1I,EAAW,SAAE,SAASi5B,GAAQ,OAAO74B,EAAG,eAAe,CAACuE,IAAIs0B,EAAOt1B,MAAMnD,MAAM,CAAC,MAAQy4B,EAAOlgB,MAAM,MAAQkgB,EAAOi8B,oBAAoB,WAAa,IAAIz0D,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAOrE,EAAI+0D,kBAAkB97B,EAAO,IAAI,KAAI,EAAE,GAChb,IGWpB,EACA,KACA,WACA,MAI8B,Q,wFCfhC,MAAMmjB,GAAyBlb,EAAAA,EAAAA,IAAgBmb,EAAAA,yB,0BCMxC,SAAS8Y,IACZ,MAAM,kCAAE9kD,EAAiC,yBAAEmD,IAA6BlD,EAAAA,EAAAA,OAClE,MAAEtK,IAAUuC,EAAAA,EAAAA,MAwElB,MAAO,CAAE6sD,eAtEc3vC,MAAOrmB,IAC1B,IAAIqqB,EAAoB,GAExB,OAAQrqB,GACJ,KAAKk/C,EAAW+W,OAEZ5rC,SDbL2yB,EAAuBkZ,yBAAyBpwB,KAAKuL,EAAAA,ICa/BpmC,KAAIkrD,IAAU,CAC3B5xD,MAAOikB,OAAO2tC,EAAO52D,IACrBoa,OAAOy8C,EAAAA,EAAAA,IAAYD,OAEvB,MAEJ,KAAKjX,EAAWmX,SAEZhsC,UADqByvB,EAAAA,EAAAA,IAAiB,CAAE1J,KAAM,EAAGC,SAAUyK,EAAAA,MACzC7wB,MAAQ,IAAIhf,KAC1BgvC,IACI,CACI11C,MAAO01C,EAAS16C,GAChBoa,MAAOsgC,EAASr0C,MAAQ,OAGpC,MAEJ,KAAKs5C,EAAWoX,WACZjsC,EAAQ3L,KACJ,CACIna,MAAO+xD,EAAAA,WAAAA,OACP38C,MAAO,UAEX,CACIpV,MAAO+xD,EAAAA,WAAAA,MACP38C,MAAO,UAGX1I,EAAkCmD,EAAyBmiD,oBAC3DlsC,EAAQ3L,KAAK,CACTna,MAAO+xD,EAAAA,WAAAA,SACP38C,MAAO/S,EAAM,kFAGrB,MAEJ,KAAKs4C,EAAWsX,MAEZnsC,UADqBslB,EAAAA,EAAAA,IAAU,CAAES,KAAM,EAAGC,SAAUyK,EAAAA,MAClC7wB,MAAQ,IAAIhf,KAAIylC,IAAS,CACvCnsC,MAAOikB,OAAOkoB,EAAMnxC,IACpBoa,MAAO+2B,EAAM9qC,MAAQ,OAEzB,MAEJ,KAAKs5C,EAAWuX,MAEZpsC,UADqBssB,EAAAA,EAAAA,IAAc,CAAEvG,KAAM,EAAGC,SAAUyK,EAAAA,MACtC7wB,MAAQ,IAAIhf,KAAIyrD,IAAS,CACvCnyD,MAAOmyD,EAAMn3D,GACboa,MAAO+8C,EAAM9wD,MAAQ,OAEzB,MAEJ,KAAKs5C,EAAWyX,MAEZtsC,UADqB4uB,EAAAA,EAAAA,IAAU,CAAE7I,KAAM,EAAGC,SAAUyK,EAAAA,MAClC7wB,MAAQ,IAAIhf,KAAI8tC,IAAS,CACvCx0C,MAAOw0C,EAAMx5C,GACboa,MAAOo/B,EAAMnzC,MAAQ,OAEzB,MAGR,OAAOykB,CAAO,E,UCjCtB,MChDiO,GDgDjOriB,EAAAA,EAAAA,iBAAA,CACApC,KAAA,kBACAtC,WAAA,CAAAioB,eAAA,IAAAqqC,eAAA,EAAAhB,kBAAA,GACAznD,MAAA,CACAwN,UAAA,CACA3a,KAAAI,QACAL,SAAA,GAEA6oB,WAAA,CACA5oB,KAAAI,QACAL,SAAA,GAEA62D,iBAAA,CACA52D,KAAA6b,MACA4E,UAAA,GAEAo2C,eAAA,CACA72D,KAAA+K,OACAhL,QAAA,MAEA4kB,UAAA,CACA3kB,KAAAI,QACAL,SAAA,IAEA+oB,MAAA,WAGA1gB,MAAC,KAGD,CACA0uD,mBAJAnzD,EAAAA,EAAAA,UAKAoyD,QACA7kD,EAAAA,EAAAA,UACA/H,EAAAA,EAAAA,QAIA8gB,KAAA,MACAI,QAAA,GACA0sC,eAAA,GACAC,YAAA,UAGA5lD,SAAA,CACA6lD,cACA,YAAApB,mBAAA,C,EAGAA,qBACA,OAAA9qD,OAAAK,OAAA,KAAA2rD,gBAAArrD,QAAAA,GAAAA,EAAAnH,MAAA8E,OAAA,IAAAA,M,EAGA6tD,oBACA,YAAAN,iBAAA3rD,KACAiqD,I,IAIA,EAHA,OACA3wD,MAAA2wD,EACAv7C,MAAA,KAAA/S,MAAA,4DAAAsuD,KACAY,qBAAA,eAAAiB,eAAA7B,UAAA,eAAA3wD,MAAA8E,SAAA,EACA,G,EAIA8tD,gBACA,qBAAAH,YACA,KAAAE,kBAEA,KAAA7sC,QAAA,KAAA2sC,Y,EAIAhC,iB,IACA,wBAAA+B,eAAA,KAAAC,oBAAA,eAAAzyD,QAAA,E,GAIA6yD,UACA,KAAAC,iBACA,KAAAR,iBACA,KAAAE,gBAAAO,EAAAA,EAAAA,IAAA,KAAAT,gBACA,KAAAU,kB,EAIArwB,QAAA,CACA,uBACA,KAAA0vB,iBAAAz+B,SAAAn4B,GACA,KAAAg2D,eAAAh2D,GAAA8lC,MAAAzb,GAAA,KAAA5c,KAAA,KAAA4c,QAAArqB,EAAAqqB,M,EAIAmtC,eAAAC,GAAA,KAAAT,YAAAS,EAIA,KAAAxzD,WAAA,K,IACA,iBAAA6yD,yBAAA,SAAAY,eAAA,G,EAIAC,uBAAAC,GACA,KAAAJ,eAAAI,EAAArzD,M,EAGAszD,mBAAAtzD,GACA,eAAAyyD,aACA,KAAAvpD,KAAA,KAAAspD,eAAA,KAAAC,YAAA,CAAAzyD,S,EAIAuzD,wBACA,KAAAN,eAAA,Q,EAGAnsC,c,IACA,iBAAAyrC,yBAAA,SAAAzrC,a,EAGA0sC,2BAAA/C,GACA,KAAA6C,mBAAA7C,GACA,KAAAuC,kBACA,KAAAlsC,cACA,KAAAysC,uB,EAGAP,kBACA,KAAA3vD,MAAA,cAAAmvD,e,KE5JA,SAXgB,OACd,GbTW,WAAa,IAAIn2D,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAAC2C,IAAI,oBAAoBxC,YAAY,mBAAmBC,MAAM,CAAC,MAAQR,EAAIgG,MAAM,8CAA8C,MAAQ,YAAY,qBAAsB,EAAM,eAAiBhG,EAAIq2D,YAAY,WAAar2D,EAAIgoB,WAAW,UAAYhoB,EAAI+jB,UAAU,wBAA0B,QAAQ,sBAAuB,GAAMtjB,GAAG,CAAC,KAAOT,EAAIk3D,uBAAuBzyD,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,eAAeC,GAAG,WAAW,MAAO,CAACxE,EAAG,8BAA8B,CAACG,YAAY,eAAeC,MAAM,CAAC,KAAO,QAAQ6qB,KAAK,SAAS,EAAEvmB,OAAM,MAAS,CAAsB,UAApB9E,EAAIo2D,YAAyBh2D,EAAG,iBAAiB,CAACI,MAAM,CAAC,QAAUR,EAAIs2D,kBAAkB,mBAAqBt2D,EAAIi1D,oBAAoBx0D,GAAG,CAAC,OAAST,EAAI+2D,0BAA0B32D,EAAG,oBAAoB,CAACI,MAAM,CAAC,QAAUR,EAAIu2D,cAAc,cAAgBv2D,EAAIo0D,eAAe,WAAap0D,EAAIo2D,aAAa31D,GAAG,CAAC,KAAOT,EAAIk3D,sBAAsB,QAAUl3D,EAAIm3D,+BAA+B,EAAE,GAC5/B,IaWpB,EACA,KACA,WACA,MAI8B,O,oLCdhC,QAAep4D,EAAAA,GAAAA,OAAW,CACtByR,SAAU,IACH4mD,EAAAA,GAAAA,SAAiC,CAAC,mBAEzC9wB,QAAS,IACF8wB,EAAAA,GAAAA,WAAmC,CAAC,mBAAoB,0BAA2B,0BAGvF,SAASC,IACZ,MAAMzJ,GAAoB0J,EAAAA,EAAAA,MAE1B,MAAO,CACHC,iBAAkB3J,EAAkB3nB,QAAQsxB,iBAG5C1N,wBAAyB+D,EAAkB3nB,QAAQ4jB,wBAGnD2N,mBAAoB5J,EAAkB3nB,QAAQuxB,mBAG9C30D,cAAe+qD,EAAkB/lD,MAAMhF,c,mFCV/C,MAAM40D,EAEF,SACIx3D,KAAKkzC,SACLud,aAAazwD,KAAKy3D,M,CAHtB,YAAoCvkB,EAAwCukB,G,KAAxCvkB,OAAAA,E,KAAwCukB,MAAAA,C,EAMhF,IAAIC,EAAyD,KACzDC,EAAsD,KAE1D,MAAMC,EAAa,IAAMp2D,QAAQ/C,QAAQ,GAIlC,MAAMo5D,UAAiCnzB,EAAAA,GAqB1C,uBAA8BzC,GAC1B,MAAM61B,EAAgB,CAClB79C,MAAOgoB,EAAQhoB,OAAS,OACxB6J,UAAWme,EAAQne,YAAa,EAChC+lC,SAAU5nB,EAAQ4nB,UAAY,IAC9BpuC,QAASwmB,EAAQxmB,QACjBs8C,gBAAiB91B,EAAQ81B,kBAAmB,GAGhD,OAAID,EAAcC,iBAA+C,OAA5BL,GACjCA,EAA0BA,EAAwBzyB,MAAK,IAAMjlC,KAAKg4D,kBAAkBF,KAE7EJ,EAAwBj2D,MAAMm2D,KAGzCF,EAA0B13D,KAAKg4D,kBAAkBF,GAC1CJ,EAAwBj2D,MAAMm2D,G,CAGzC,8BAAqC31B,GACjC,OAAOhhC,YAAW,IAAMjB,KAAK4yC,SAAS,mBAAoB3Q,IADag2B,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAW,aAAH,I,CAInF,qBACIN,SAAAA,EAA0BO,SAC1BR,EAA0B,KAC1B13D,KAAKkI,UAAUiwD,uB,+BAzCnB,KAAQH,kBAAqB/1B,IACzBjiC,KAAKkI,UAAUkwD,iBAAiBn2B,GAChC,MAAMo2B,EAAiBr4D,KAAK4H,MAAM0wD,QAElC,OAAO,IAAI92D,SAAQ,CAAC/C,EAASy0C,KACzB,MAAMukB,EAAQzyC,OAAO/jB,YAAW,KAC5BjB,KAAKkI,UAAUqwD,mBAAmBF,GAClC55D,EAAQ45D,EAAe,GACxBp2B,EAAQ4nB,SAjBI,KAmBf8N,EAA2B,IAAIH,EAAmBtkB,EAAQukB,EAAM,GAClE,C,ECzCH,MAAMe,UAAiCh0B,EAAAA,GAC/B5hC,oBACP,OAAO5C,KAAK4H,MAAMhF,a,ECDnB,MAAM61D,UAAmC70B,EAAAA,GAM5C,iBAAwB3B,GACpBjiC,KAAK04D,mBACL,MAAMhwD,EAAiC,CACnChK,GAAIsB,KAAK4H,MAAM0wD,WACZr2B,GAEPjiC,KAAK4H,MAAMhF,cAAcib,KAAKnV,E,CAGlC,mBAA0BiwD,GACtB,MAAMj8B,EAAY18B,KAAK4H,MAAMhF,cAAcm4B,WAAW,I,IAAA,GAAEr8B,GAAI,E,OAAKA,IAAOi6D,CAAM,IAC9E34D,KAAK4H,MAAMhF,cAAc6xD,OAAO/3B,EAAW,E,CAG/C,wBACI18B,KAAK4H,MAAMhF,cAAgB,E,+BApB/B,KAAQ81D,iBAAmB,KACvB14D,KAAK4H,MAAM0wD,SAAWt4D,KAAK4H,MAAM0wD,QAAU,GAAK,GAAK,C,ECF7D,MAAM3K,EAAoB,IAAIpoB,EAAAA,GAAO,CACjC39B,MCNG,M,cACH,KAAOhF,cAAoC,GAC3C,KAAO01D,QAAkB,C,GDKzBnoD,QAASqoD,EACTtwD,UAAWuwD,EACXzyB,QAAS6xB,IAGAR,GAAuBnwB,EAAAA,EAAAA,IAAiBymB,GAErD,IACawJ,GAA0BjxB,EAAAA,EAAAA,IAAaynB,E,mHEf7C,SAASt9C,IACZ,MAAM5I,GAAQwkC,EAAAA,EAAAA,MAEd,MAAO,CACH77B,kCAAmC3I,EAAM0I,QAAQC,kCACjDmD,yBAA0B9L,EAAMG,MAAM2L,yBACtCqlD,2BAA4BnxD,EAAM0I,QAAQyoD,2B,2BCL3C,SAASrpD,IACZ,MAAMspD,GAAkBC,EAAAA,EAAAA,MAMxB,MAAO,CAAE7sD,UAJQsE,EAAAA,EAAAA,WAAS,IAAMsoD,EAAgBjxD,MAAMqE,WAInCpK,4BAFgB0O,EAAAA,EAAAA,WAAS,IAAMsoD,EAAgB1oD,QAAQtO,6B,8CCNvE,SAASk3D,IACZ,MAAMtxD,GAAQuI,EAAAA,EAAAA,MAEd,MAAO,CACHE,sBAAuBzI,EAAM0I,QAAQD,sBACrCD,aAAcxI,EAAMG,MAAMqI,a,2ECHlC,IAAIi6C,EAEG,SAASp1C,IACZ,MAAMm1C,GAAS+O,EAAAA,EAAAA,KAEf,IAAK9O,EAAc,CACf,MAAM+O,GAAKC,EAAAA,EAAAA,sBACX,IAAKD,EACD,MAAM,IAAI36D,MAAM,0DAGpB4rD,GAAe/8B,EAAAA,EAAAA,UAAS,IAAK8rC,EAAGp0D,MAAM2G,SACtCy+C,EAAOkP,WAAU5vD,GAAMW,OAAOkvD,OAAOlP,EAAc3gD,I,CAGvD,OAAO2gD,C,gECjBJ,SAAS8O,IACZ,MAAMC,GAAKC,EAAAA,EAAAA,sBACX,IAAKD,EACD,MAAM,IAAI36D,MAAM,0DAGpB,OAAO26D,EAAGp0D,MAAMw0D,O,+DCNb,SAAS/wD,IACZ,MAAMb,GAAQ6xD,EAAAA,EAAAA,MAEd,MAAO,CAAEvzD,MAAO0B,EAAM0I,QAAQpK,MAAwBwzD,gBAAiB9xD,EAAMG,MAAM2xD,gB,iDCFhF,MAAMC,EAAa,W,+CCHnB,MAAM3rB,EAA8B,CACvC4rB,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,GAAI,KACJC,IAAK,K,+BCLF,MAiCA,E,kCAjCKC,GAAAA,EACJ,KAAG,yBADCA,EAED,QAAG,4BAFFA,EAGD,QAAG,4BAHFA,EAID,QAAG,4BAJFA,EAKD,QAAG,4BALFA,EAMH,MAAG,0BANAA,EAOA,SAAG,6BAPHA,EAQA,SAAG,6BARHA,EASA,SAAG,6BATHA,EAUA,SAAG,6BAVHA,EAWJ,KAAG,yBAXCA,EAYD,QAAG,4BAZFA,EAaD,QAAG,4BAbFA,EAcD,QAAG,4BAdFA,EAeD,QAAG,4BAfFA,EAgBF,OAAG,2BAhBDA,EAiBC,UAAG,8BAjBJA,EAkBC,UAAG,8BAlBJA,EAmBC,UAAG,8BAnBJA,EAoBC,UAAG,8BApBJA,EAqBD,QAAG,uBArBFA,EAsBD,QAAG,uBAtBFA,EAuBJ,KAAG,oBAvBCA,EAwBD,QAAG,uBAxBFA,EAyBD,QAAG,uBAzBFA,EA0BD,QAAG,uBA1BFA,EA2BD,QAAG,uBA3BFA,EA4BF,OAAG,sBA5BDA,EA6BF,OAAG,2BA7BDA,EA8BF,OAAG,0B,EA9BDA,IAAAA,EAAW,K,SAiCX3tC,GAAAA,EACD,QAAG,sB,EADFA,IAAAA,EAAc,I,qFCjC1B,oB,sTAIqBljB,EAAN,cAA6BnK,EAAAA,K,IACvCG,EAAAA,EAAAA,IAAK,CAAEC,QAAS,MADA+J,EAAc,UACD2N,aAAK,GADlB3N,EAAc,IADlCnJ,EAAAA,EAAAA,IAAU,CAAC,IACSmJ,E,uGCJrB,oB,kTAOA,SAAS8wD,IACL,OAAO/0C,OAAOC,YAAWC,EAAAA,EAAAA,IAAiB,K,CAGvC,SAAS80C,IAEZ,OADYD,IACDt1C,O,KAIMw1C,EAAN,eAAmCn5D,EAAAA,EAAAA,IAAOE,EAAAA,KAIrD,UACIhB,KAAKk6D,6BACLl6D,KAAKm6D,uB,CAGT,6BACQn6D,KAAKwkB,IAAIE,kBACT1kB,KAAKwkB,IAAIE,iBAAiB,SAAU1kB,KAAK2kB,sBAE7C3kB,KAAKo6D,YAAYp6D,KAAKwkB,IAAIC,Q,CAG9B,6BACQzkB,KAAKwkB,IAAII,qBACT5kB,KAAKwkB,IAAII,oBAAoB,SAAU5kB,KAAK2kB,qB,CAIpD,YACI3kB,KAAKq6D,6BACLr6D,KAAKs6D,uB,CAGT,qBAA6B9rD,GACzBxO,KAAKo6D,YAAY5rD,EAAMiW,Q,CAG3B,wBACIzkB,KAAKu6D,aAAerwD,OAAOc,QAAQ6iC,EAAAA,GAA6BzjC,KAAK,I,IAAC7L,EAAMkZ,GAAM,EAC9E,MAAM+iD,EAAaj8D,EACbimB,EAAMQ,OAAOC,WAAW,eAAexN,QAE7CzX,KAAKy6D,cAAc,CAAED,aAAY5yD,MAAO4c,EAAIC,UAE5C,IAAIuS,EAAyD,KAS7D,OAPIxS,EAAIE,mBACJsS,EAAYxoB,IACRxO,KAAKy6D,cAAc,CAAED,aAAY5yD,MAAO4G,EAAMiW,SAAU,EAE5DD,EAAIE,iBAAiB,SAAUsS,IAG5B,CAAEA,WAAUxS,MAAK,G,CAIhC,wBACI,KAAOxkB,KAAKu6D,aAAa/xD,OAAS,GAAG,CACjC,MAAM,IAAEgc,EAAG,SAAEwS,GAAah3B,KAAKu6D,aAAa1qC,MACxCmH,GACAxS,EAAII,oBAAoB,SAAUoS,E,gCAtD9C,KAAOxS,IAAMu1C,IACb,KAAQQ,aAAuE,E,GAF9DN,EAAoB,IADxCn6D,EAAAA,EAAAA,IAAU,CAAC,IACSm6D,E,+BCjBd,M,0BAAKp5B,GAAAA,EACQ,iBAAG,mBADXA,EAED,QAAG,UAFFA,EAGG,YAAG,cAHNA,EAIH,MAAG,QAJAA,EAKC,UAAG,YALJA,EAME,WAAG,aANLA,EAOE,WAAG,aAPLA,EAQD,QAAG,UARFA,EASO,gBAAG,kBATVA,EAUD,QAAG,UAVFA,EAWJ,KAAG,OAXCA,EAYG,YAAG,cAZNA,EAaF,OAAG,SAbDA,EAcJ,KAAG,OAdCA,EAeA,SAAG,WAfHA,EAgBD,QAAG,UAhBFA,EAiBO,gBAAG,iBAjBVA,EAkBA,SAAG,WAlBHA,EAmBF,OAAG,SAnBDA,EAoBE,WAAG,aApBLA,EAqBG,YAAG,cArBNA,EAsBA,SAAG,WAtBHA,EAuBH,MAAG,QAvBAA,EAwBF,OAAG,SAxBDA,EAyBM,eAAG,gBAzBTA,EA0BJ,KAAG,OA1BCA,EA2BF,OAAG,SA3BDA,EA4BH,MAAG,QA5BAA,EA6BF,OAAG,SA7BDA,EA8BC,UAAG,YA9BJA,EA+BC,UAAG,YA/BJA,EAgCE,WAAG,aAhCLA,EAiCA,SAAG,WAjCHA,EAkCD,QAAG,UAlCFA,EAmCK,cAAG,gBAnCRA,EAoCI,aAAG,eApCPA,EAqCA,SAAG,WArCHA,EAsCJ,KAAG,OAtCCA,EAuCD,QAAG,UAvCFA,EAwCD,QAAG,UAxCFA,EAyCF,OAAG,SAzCDA,EA0CH,MAAG,QA1CAA,EA2CI,aAAG,eA3CPA,EA4CD,QAAG,UA5CFA,EA6CA,SAAG,WA7CHA,EA8CA,SAAG,WA9CHA,EA+CD,QAAG,UA/CFA,EAgDA,SAAG,WAhDHA,EAiDA,SAAG,WAjDHA,EAkDH,MAAG,QAlDAA,EAmDF,OAAG,SAnDDA,EAoDC,UAAG,YApDJA,EAqDI,aAAG,eArDPA,EAsDH,MAAG,QAtDAA,EAuDJ,KAAG,OAvDCA,EAwDA,SAAG,WAxDHA,EAyDH,MAAG,QAzDAA,EA0DH,MAAG,QA1DAA,EA2DF,OAAG,SA3DDA,EA4DF,OAAG,SA5DDA,EA6DJ,KAAG,OA7DCA,EA8DH,MAAG,QA9DAA,EA+DF,OAAG,SA/DDA,EAgEF,OAAG,SAhEDA,EAiEH,MAAG,QAjEAA,EAkEQ,iBAAG,mBAlEXA,EAmES,kBAAG,oBAnEZA,EAoEJ,KAAG,OApECA,EAqEH,MAAG,QArEAA,EAsEE,WAAG,aAtELA,EAuEc,uBAAG,yBAvEjBA,EAwEE,WAAG,aAxELA,EAyEG,YAAG,cAzENA,EA0EH,MAAG,QA1EAA,EA2EH,MAAG,QA3EAA,EA4EA,SAAG,WA5EHA,EA6EJ,KAAG,OA7ECA,EA8EF,OAAG,SA9EDA,EA+ED,QAAG,UA/EFA,EAgFH,MAAG,QAhFAA,EAiFF,OAAG,SAjFDA,EAkFI,aAAG,c,EAlFPA,IAAAA,EAAY,I,kFCAjB,E,WCUA,SAAS65B,EAAetxC,GAC3B,MAAO,IACAA,EACHuxC,UAAUC,EAAAA,EAAAA,IAASxxC,EAAKu6B,eAAiB,GACzCkX,cAAcD,EAAAA,EAAAA,IAASxxC,EAAKy6B,oBAAsB,GAClDiX,SAASF,EAAAA,EAAAA,IAASxxC,EAAKw6B,cAAgB,G,CCfxC,MAAMmX,EAQTzU,YAAYn9C,GACRnJ,KAAK+E,KAAOoE,GAAQA,EAAKpE,KAAOoE,EAAKpE,KAAO,GAC5C/E,KAAKoJ,MAAQD,GAAQA,EAAKC,MAAQD,EAAKC,MAAQ,GAC/CpJ,KAAKmM,OAAShD,GAAQA,EAAKgD,OAAShD,EAAKgD,OAAS,GAClDnM,KAAK8K,UAAS3B,IAAQA,EAAK2B,SAAS3B,EAAK2B,OACzC9K,KAAK+J,KAAOZ,GAAQA,EAAKY,KAAOZ,EAAKY,KAAO,GAC5C/J,KAAKsK,OAASnB,GAAQA,EAAKmB,OAASnB,EAAKmB,OAAS,E,YFd9C0wD,GAAAA,EACH,MAAG,QADAA,EAED,QAAG,UAFFA,EAGJ,KAAG,OAHCA,EAIJ,KAAG,M,EAJCA,IAAAA,EAAsB,K,IGA3B,E,qBAAKC,GAAAA,EACI,aAAG,cADPA,EAEK,cAAG,eAFRA,EAGO,gBAAG,gB,EAHVA,IAAAA,EAAW,KCAhB,MAAMC,EAST,YAAoBC,GAChB,IAAKA,EAAoB,OAEzB,MAAMC,EAAYD,EAAmBE,MAAM,kBAC3C,OAAMD,GAAaA,EAAU5yD,QAAU,EAC5B4yD,EAAU,QADrB,C,CATJ9U,YAAYj6B,EAAe8uC,GACvBn7D,KAAKqsB,QAAUA,EACfrsB,KAAK+E,KAAO/E,KAAKs7D,YAAYH,E,kDCN9B,MAAM96B,EAAwB,Q,uECE9B,SAAS8E,EAA+Bv5B,GAC3C,OAAOuvC,IAAAA,aAAmBvvC,E,iDCqBvB,SAAS2vD,EAAqBC,GACjC,IACI,MAAMjR,EAAM,IAAIkR,IAAID,GACdhyD,EAAO+gD,EAAIyB,SAASz8B,MCvBV,ODuByB/mB,QAEzC,MAAO,CAAEgB,OAAMiC,MAtBvB,SAAoC+/C,GAChC,MAAMG,EAAsB,CAAC,EAM7B,OAJAH,EAAal0B,SAAQ,CAAC5zB,EAAOgB,KACzBinD,EAAOjnD,GAAOhB,CAAK,IAGhBioD,C,CAcW+P,CAA2BnR,EAAIiB,c,CAE/C,MAAO5/C,GAEL,OADAoH,QAAQpH,MAAMA,GACP,I,oFE5BR,MAAMg2B,EAsBT,MAAaC,EAAwEn+B,GAYjF,MAXqB,iBAAVm+B,EACP7hC,KAAK27D,QAAQ95B,GAASn+B,EACfsX,MAAMyC,QAAQokB,GACrBA,EAAMvK,SAAQskC,GAAK57D,KAAK6hC,MAAM+5B,KAE9B57D,KAAK27D,QAAU,IACR37D,KAAK27D,WACL95B,GAIJ7hC,I,CAKX,QAAei7C,EAA0Ev3C,GAYrF,MAXuB,iBAAZu3C,EACPj7C,KAAK67D,SAAS5gB,GAAWv3C,EAClBsX,MAAMyC,QAAQw9B,GACrBA,EAAQ3jB,SAAQwkC,GAAK97D,KAAKi7C,QAAQ6gB,KAElC97D,KAAK67D,SAAW,IACT77D,KAAK67D,YACL5gB,GAIJj7C,I,CAGX,UAAiB+7D,GAGb,OAFA/7D,KAAKg8D,WAAaD,EAEX/7D,I,CAGX,kBAAyBu2C,GACrBv2C,KAAKi8D,mBAAqB1lB,C,CAG9B,UAAiB2lB,EAAkBx9D,GAS/B,OARAsB,KAAKm8D,WAAa,CACdD,aAGAE,EAAAA,EAAAA,IAAqB19D,KACrBsB,KAAKm8D,WAAWz9D,GAAKA,GAGlBsB,I,CAGX,OAAcmwC,GAOV,OANIn1B,MAAMyC,QAAQ0yB,GACdnwC,KAAKq8D,UAAUx+C,QAAQsyB,GAEvBnwC,KAAKq8D,UAAUx+C,KAAKsyB,GAGjBnwC,I,CAGX,KAAYmwC,GACR,OAAOnwC,KAAKmwC,OAAOA,E,CAGvB,QAAemsB,GACX,GAAIA,EAAY,CACZ,MAAMhxC,EAAUgxC,EAAW/rB,sBACvBjlB,GACAtrB,KAAK6hC,MAAM,CACPvW,W,CAKZ,OAAOtrB,I,CAGX,MAAasrB,GAKT,OAJAtrB,KAAK6hC,MAAM,CACP0W,MAAOjtB,EAAUA,EAAQixC,oBAAsB,OAG5Cv8D,I,CAGX,iBAAwB0M,GACpB1M,KAAK86C,YAAY0hB,iBAAmBC,IAChC,MAAMC,EAAmBr2D,KAAKsS,MAA8B,IAAxB,EAAegkD,OAAgBF,EAAcx2D,OACjFyG,EAASgwD,EAAiB,C,CAIlC,KAAYtzC,GAGR,OAFAppB,KAAK48D,MAAQxzC,EAENppB,I,CAGX,WACI,MAAMuB,EAAiC,GAgBvC,OAdAA,EAAOsc,KAAK7d,KAAKg8D,aAEbI,EAAAA,EAAAA,IAAqBp8D,KAAKm8D,cAC1B56D,EAAOsc,KAAK,YAAa7d,KAAKm8D,WAAWD,WAErCE,EAAAA,EAAAA,IAAqBp8D,KAAKm8D,WAAWz9D,KACrC6C,EAAOsc,KAAK7d,KAAKm8D,WAAWz9D,KAIhCsB,KAAKq8D,UAAU7zD,OAAS,GACxBjH,EAAOsc,QAAQ7d,KAAKq8D,WAGjB96D,EAAO0c,KAAK,I,CAGZ4+C,mBACP,OAAO3yD,OAAO1L,KAAKwB,KAAK27D,SACnB9wD,QACG+wD,GACI1xD,OAAOu8C,UAAUqW,eAAeC,KAAK/8D,KAAK27D,QAASC,KACnDQ,EAAAA,EAAAA,IAAqBp8D,KAAK27D,QAAQC,KACd,KAApB57D,KAAK27D,QAAQC,KAEpBxxD,KAAIwxD,GACG5gD,MAAMyC,QAAQzd,KAAK27D,QAAQC,IACpB57D,KAAK27D,QAAQC,GAAGxxD,KAAIjB,GAAQ,GAAGyyD,KAAKzyD,MAAQ8U,KAAK,KAErD,GAAG29C,KAAK57D,KAAK27D,QAAQC,OAE/B39C,KAAK,I,CAKd,gBAAuBkqC,GACnB,MAAO,IACAnoD,KAAK86C,YACRG,QAASj7C,KAAKg9D,WACd5zC,KAAMppB,KAAK48D,MACXK,YAAaj9D,KAAKi8D,mBAAmB1lB,SAClC4R,E,CAIA+U,gBACP,OAAOl9D,KAAK27D,O,CAGLlwD,YACP,OAAOzL,KAAKoG,U,CAGL42D,iBACP,OAAOh9D,KAAK67D,Q,CAGLnjB,wBACP,MAAO,IACA14C,KAAK86C,YACR6Q,OAAQ3rD,KAAKk9D,UACbC,iBAAkB,IAAMn9D,KAAK68D,aAC7B5hB,QAASj7C,KAAKg9D,WACd5zC,KAAMppB,KAAK48D,MACXK,YAAaj9D,KAAKi8D,mBAAmB1lB,M,CAI7C,gBACQv2C,KAAKi8D,oBACLj8D,KAAKi8D,mBAAmB/D,Q,CAIhC,QACI,MAAMv2B,EAAI,IAAIC,EAQd,OANAD,EAAEo6B,UAAU/7D,KAAKg8D,YACbh8D,KAAKm8D,YAAYx6B,EAAEy7B,UAAUp9D,KAAKm8D,WAAWD,SAAUl8D,KAAKm8D,WAAWz9D,IAC3EijC,EAAEE,MAAM7hC,KAAK27D,SAEbh6B,EAAE06B,UAAUx+C,QAAQ7d,KAAKq8D,WAElB16B,C,CAMX,qBAA4Bo6B,GACxB,MAAMp6B,EAAI,IAAIC,EAGd,OAFAD,EAAEo6B,UAAUA,GAELp6B,C,CAhNX2kB,YAAY+W,EAAa,GAFzB,KAAQviB,YAAkC,CAAC,EAGvC96C,KAAKq8D,UAAY,GACjBr8D,KAAK27D,QAAU,CAAC,EAChB37D,KAAK67D,SAAW,CAAE,cAAewB,GACjCr9D,KAAKi8D,mBAAqB9gB,IAAAA,YAAAA,Q,yKCf3B,SAASmiB,EAAQC,GACpB,GAAIA,QACA,OAAO,KAGX,IAAIC,EAAeD,EAKnB,OAJMC,aAAwBt3D,OAC1Bs3D,EAAe,IAAIt3D,KAAKq3D,IAGxBE,MAAMD,EAAa12C,WACZ,KAGJ02C,C,CAGJ,SAAS1zC,EACZyzC,EACA/zC,GAEA,MAAMg0C,EAAeF,EAAQC,GAE7B,OAAIC,EACOE,EAAWF,EAAch0C,aAAAA,EAAAA,EAASm0C,SAElCn0C,aAAAA,EAAAA,EAASo0C,cAAe,E,CAIhC,SAASC,EACZN,EACA/zC,GAEA,MAAMs0C,EAAgBR,EAAQC,GAC9B,OAAIO,EACOA,EAAcC,mBAAmBv0C,aAAAA,EAAAA,EAASm0C,OAAQ,CAAEK,KAAM,UAAWC,OAAQ,aAE7Ez0C,aAAAA,EAAAA,EAASo0C,cAAe,E,CAIhC,SAASM,EACZX,EACA/zC,GAEA,MAAMg0C,EAAeF,EAAQC,GAE7B,OAAIC,EACOA,EAAaW,mBAAmB30C,aAAAA,EAAAA,EAASm0C,OAAQ,CACpDS,IAAK,UACLC,QAAS,QACTC,MAAO,QACPC,KAAM,aAGH/0C,aAAAA,EAAAA,EAASo0C,cAAe,E,CAIhC,SAASY,EACZjB,EACA/zC,GAEA,MAAMg0C,EAAeF,EAAQC,GAE7B,OAAIC,EAqBD,SAAqBD,G,IAAYI,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAmC,aAAlBpK,UAAUkL,SAC/D,OAAOj2B,EAAAA,EAAAA,IACH+0B,EAAKmB,eAAef,EAAQ,CACxBW,MAAO,OACPC,KAAM,Y,CAxBHI,CAAYnB,EAAch0C,aAAAA,EAAAA,EAASm0C,SAEnCn0C,aAAAA,EAAAA,EAASo0C,cAAe,E,CAShC,SAASF,EAAWH,G,IAAYI,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAmC,aAAlBpK,UAAUkL,SAC9D,OAAOlB,EAAKY,mBAAmBR,EAAQ,CAAES,IAAK,UAAWE,MAAO,UAAWC,KAAM,W,CAiB9E,SAASK,EAA+BrF,GAC3C,OAAOsF,EAAQtF,EAAgB9vD,QAAQ,IAAK,MAAQo1D,EAAQtF,EAAgBuF,UAAU,EAAG,KAAOD,EAAAA,C,CAGpG,MAAME,EAAkB,MAEjB,SAASC,EAAYzB,GAExB,MAAM0B,EAAsC,IAD5C1B,EAAOD,EAAQC,IAAS,IAAIr3D,MACNg5D,oBAA2B,IAC3CC,EAAK5B,EAAKz2C,UAChB,OAAO,IAAI5gB,KAAKi5D,GAAOA,EAAKF,GAAYF,E,CAGrC,SAASK,EAAU7B,GAEtB,MAAM0B,EAAsC,IAD5C1B,EAAOD,EAAQC,IAAS,IAAIr3D,MACNg5D,oBAA2B,IAC3CC,EAAK5B,EAAKz2C,UAChB,OAAO,IAAI5gB,KAAKi5D,GAAOA,EAAKF,GAAYF,EAAmBA,EAAkB,E,CAG1E,SAASM,EAAeC,EAAiBC,GAC5C,OACID,EAAUE,gBAAkBD,EAASC,eACrCF,EAAUG,aAAeF,EAASE,YAClCH,EAAUhC,YAAciC,EAASjC,S,CAIlC,SAASoC,EAAah8D,EAAa61D,GAYtC,MAAO,GAXMoG,KAAKC,eAAerG,EAAiB,CAC9C+E,MAAO,OACPC,KAAM,UACNH,IAAK,UACLC,QAAS,SACVwB,OAAOn8D,QACGi8D,KAAKC,eAAerG,EAAiB,CAC9CyE,KAAM,UACNC,OAAQ,YACT4B,OAAOn8D,I,uGCpGP,MAAMrB,EAAa,SAAC05D,G,2BAA4B+D,EAAI,iCAAJA,EAAI,kBACvD,MAAMC,EAAQ,CAAChE,KAAc+D,GACvB/6D,EAAO,UAAUg7D,EAAM9hD,KAAK,OAClC,OAAO+hD,IAAMj7D,E,EAGJ02C,EAAiB,SAACsgB,G,2BAA4B+D,EAAI,iCAAJA,EAAI,kBAC3D,MAAMG,EAAS59D,EAAW05D,KAAc+D,GAExC,OADAG,EAAOt+D,IAAMqR,QAAQqP,KAAK69C,KAAKltD,SACxBitD,C,EAQJ,SAASE,IACPtlB,EAAAA,EAAAA,iBAELiU,aAAaK,QAAQ,QAAStU,EAAAA,EAAAA,gB,gCC5D3B,SAASn8B,EAAmBwvB,GAC/BlpB,OAAOe,SAASq6C,KAAKv9D,MAAM0xB,SAAW2Z,EAAY,SAAW,E,+ECE1D,EAKA,SAASmyB,EAAuBC,GACnC,MAAyC,SAAlCxR,aAAaI,QAAQoR,E,WANdC,GAAAA,EACN,SAAG,8BADGA,EAED,cAAG,sC,EAFFA,IAAAA,EAAc,I,8BCDzB,SAAS/vB,EAAoBnL,GAChC,OAAOA,EAASjc,I,CAGb,SAASo3C,EAA8Bn7B,GAC1C,OAAOA,EAASjc,I,kHCJb,E,sBAMA,SAASipC,IAEZ,OADiB3sC,EAAAA,GAAAA,eAEb,IAAK,UACD,OAAO8kC,EAASiW,QACpB,IAAK,MACD,OAAOjW,EAASkW,IACpB,QACI,OAAOlW,EAASmW,I,WAdhBnW,GAAAA,EACL,IAAG,MADEA,EAED,QAAG,UAFFA,EAGL,IAAG,K,EAHEA,IAAAA,EAAQ,KAkBb,MAAM8I,EAAWjB,IAEjB,SAASuO,IACZ,OAAOtN,IAAa9I,EAASiW,O,CAO1B,SAASI,IACZ,OAAOvN,IAAa9I,EAASmW,G,CAG1B,SAASG,IACZ,OAAOF,KARAtN,IAAa9I,EAASkW,G,CAW1B,SAASK,IACZ,OAAOD,IAAgBE,EAAAA,WAAAA,UAAuBA,EAAAA,WAAAA,G,gCCxC3C,IAgBA,E,quBAAK7xB,GAAAA,EACC,UAAG,KADJA,EAEI,aAAG,KAFPA,EAGG,YAAG,IAHNA,EAIU,mBAAG,KAJbA,EAKA,SAAG,IALHA,EAMO,gBAAG,KANVA,EAOA,SAAG,MAPHA,EAQJ,KAAG,KARCA,EASD,QAAG,G,EATFA,IAAAA,EAAQ,KCXb,MAAMF,EACT,sBACI,OAAOjvC,KAAKqvC,O,CAEhB,oB,CAOA,QAAa,wEACT,MAAM4xB,EAAOjhE,KAMb,OAAO,IAAIkhE,EAAkBlhE,MAJXmhE,IACdF,EAAK31C,QAAQzN,KAAKsjD,EAAK,MAGqBC,E,CAGpD,eAAoB,wEAGhB,OAFsB,IAAInyB,GAELC,SAASkyB,E,CAGlC,QACI,OACIphE,KAAKsrB,QACAlhB,KAAIi3D,GAAcA,EAAWhyB,UAE7BxkC,QAAOy2D,GAA8B,MAAfA,IACtBrjD,KAAK,I,CAKlB,uBAA4B,wEACxB,MAAMsjD,EAAgBC,EAAS32D,QAAO42D,GAAWA,IAEjD,OAA6B,IAAzBF,EAAc/4D,OAAqB,IAAIymC,EAEpCsyB,EAAcr2D,QAAO,CAACC,EAAK6mB,KAC9B7mB,EAAImgB,QAAUngB,EAAImgB,QAAQo2C,OAAO1vC,EAAE1G,SAC5BngB,IACR,IAAI8jC,E,CAIX,YACI,GAA4B,IAAxBjvC,KAAKsrB,QAAQ9iB,OAAc,MAAO,GAEtC,MAAMm5D,EAAUh4B,KAAKC,UAAU5pC,KAAKsrB,SACpC,OAAOs2C,UAAUD,E,CAGrB,yBAAgCP,EAAkBjzB,GAM9C,OALwBnuC,KAAKsrB,QACxBzgB,QAAOmnB,GAAKA,EAAE6vC,MAAMv2D,SAAS81D,KAA0B,MAAZjzB,GAAoBnc,EAAEmc,WAAaA,KAC9E/jC,KAAI4nB,GAAKA,EAAEznB,SACXW,QAAO,CAACC,EAAK6mB,IAAM,IAAI7mB,KAAQ6mB,IAAI,G,CAK5C,mBAA0B8vC,GACtB,MAAM/2D,EAAM,IAAIkkC,EAEhB,GAAyB,MAArB6yB,GAAmD,KAAtBA,EAA0B,OAAO/2D,EAElE,IACI,MAAMg3D,EAAUC,UAAUF,GAE1B,OADA/2D,EAAIugB,QAAUqe,KAAKxjC,MAAM47D,GAClBh3D,C,CACT,MAAO1M,GAIL,OAHA2U,QAAQpH,MAAM,wCACdoH,QAAQpH,MAAMvN,GAEP,IAAI4wC,C,gBAvEnB,KAAO3jB,QAAyB,E,EA4EpC,MAAM41C,EAgBF,OAAc/yB,GAAoB,+CAAwB,GAAxB,gCAC9B,MAAMgzB,EAAO,IAAIc,EAMjB,OALAd,EAAKhzB,SAAWA,EAChBgzB,EAAKU,MAAQ7hE,KAAKkiE,iBAClBf,EAAK52D,OAASA,EAEdvK,KAAKmiE,aAAahB,GACXnhE,KAAKoiE,a,CAlBhB9b,YACI8b,EACAD,KACGD,GAEHliE,KAAKoiE,cAAgBA,EACrBpiE,KAAKkiE,iBAAmBA,EACxBliE,KAAKmiE,aAAeA,C,EAe5B,MAAMF,EAKF,QACI,GAA0B,IAAtBjiE,KAAK6hE,MAAMr5D,OAEX,OADAwK,QAAQqP,KAAK,yEACN,KAGX,MAAMggD,EAAiC,IAAtBriE,KAAK6hE,MAAMr5D,OAAexI,KAAK6hE,MAAM,GAAK,IAAI7hE,KAAK6hE,MAAM5jD,KAAK,QAE/E,GAA2B,IAAvBje,KAAKuK,OAAO/B,OAIZ,OAHAwK,QAAQqP,KACJ,gCAAgCggD,4DAE7B,KAGX,MAUMC,EAVetiE,KAAKuK,OAAOH,KAAI4nB,GAC7BA,aAAa9rB,KACN8rB,EAAEuwC,cAGI,kBAANvwC,EAAwBA,EAAE5rB,WAE9B4rB,IAGoB/T,KAAK,KAEpC,MAAO,GAAGokD,IAAWriE,KAAKmuC,WAAWm0B,G,eA/BzC,KAAOT,MAAkB,GACzB,KAAOt3D,OAAwB,GAC/B,KAAO4jC,SAAqBgB,EAASqzB,S,EAiClC,SAAS5uB,EAAYpmB,EAAW3iB,G,IAAQsjC,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAsC,aAAjBgB,EAASszB,SACzE,MAAMhB,EAAU,IAAIxyB,EAEpB,OAAOpkC,EAAS42D,EAAQvyB,MAAM1hB,GAAW3iB,OAAOsjC,EAAUtjC,GAAQwkC,aAAU56B,C,CAGzE,SAASiuD,EAAUt5C,GACtB,IAAKA,EACD,OAEJ,MAAMu5C,EAAgDv5C,EACtD,GAAIA,EAAM,CAEN,MAAO,IADiC,IAAvBu5C,EAASC,UAAqB,GAAKzzB,EAAS0zB,UACxCF,EAASj+D,K,eCrKtC,MAAMo+D,EAAe,CAAE9wC,EAAG,EAAGC,EAAG,GAIzB,SAASF,IACZ,MAAO,IAAK+wC,E,CAGhB,MAAMC,GAAwBC,EAAAA,EAAAA,IAAS3kE,IACnCykE,EAAa9wC,EAAI3zB,EAAE4kE,QACnBH,EAAa7wC,EAAI5zB,EAAE6kE,OAAO,GAC3B,KAEHn9C,SAASrB,iBAAiB,YAAaq+C,GCXvC,MAAMI,EAAY,gBAEX,SAAS59C,IACZ,MAAM69C,EAAuBtU,aAAaI,QAAQiU,GAClD,OAA6B,OAAzBC,EACOz5B,KAAKxjC,MAAMi9D,GAEf,I,CAGJ,SAASC,EAAkBj6C,GAC9B,MAAMk6C,EAAc35B,KAAKC,UAAUxgB,GACnC,OAAO0lC,aAAaK,QAAQgU,EAAWG,E,CAGpC,SAASC,IACZzU,aAAaC,WAAWoU,E,CChB5B,MAAMA,EAAY,eACZK,EAA8B,gCAE7B,SAASC,IACZ,MAAMxU,EAAaH,aAAaI,QAAQiU,GAExC,OAAsB,OAAflU,EAAuBtlB,KAAKxjC,MAAM8oD,GAA8B,I,CAGpE,SAASyU,EAAqBt6C,GACjC,MAAMwgB,EAAYD,KAAKC,UAAUxgB,GAEjC,OAAO0lC,aAAaK,QAAQgU,EAAWv5B,E,CAGpC,SAAS+5B,IACZ,MAAM1U,EAAaH,aAAaI,QAAQsU,GAExC,OAAsB,OAAfvU,EAAuBtlB,KAAKxjC,MAAM8oD,GAA0B,I,CAGhE,SAAS2U,EAAgCjf,GAC5C,MAAM/a,EAAYD,KAAKC,UAAU+a,GAEjC,OAAOmK,aAAaK,QAAQqU,EAA6B55B,E,CAGtD,SAASi6B,IACZ/U,aAAaC,WAAWoU,E,CC5BrB,SAASvI,EAASkJ,EAAaC,GAClC,MAAMxiE,EAAS,4CAA4CyiE,KAAKF,IAAQ,CAAC,KAAM,KAAM,MAErF,IAAI9Y,EAAIvxC,SAASlY,EAAO,GAAI,IACxB0iE,EAAIxqD,SAASlY,EAAO,GAAI,IACxB2iE,EAAIzqD,SAASlY,EAAO,GAAI,IAE3BypD,GAAK,IAAOiZ,GAAK,IAAOC,GAAK,IAC9B,MAAM9rC,EAAM/xB,KAAK+xB,IAAI4yB,EAAGiZ,EAAGC,GACrB7rC,EAAMhyB,KAAKgyB,IAAI2yB,EAAGiZ,EAAGC,GAE3B,IAAIpI,GAAK1jC,EAAMC,GAAO,EAClB8rC,GAAK/rC,EAAMC,GAAO,EAClB+rC,GAAKhsC,EAAMC,GAAO,EAEtB,GAAID,IAAQC,EACRyjC,EAAIqI,EAAI,MACL,CACH,MAAME,EAAIjsC,EAAMC,EAEhB,OADA8rC,EAAIC,EAAI,GAAMC,GAAK,EAAIjsC,EAAMC,GAAOgsC,GAAKjsC,EAAMC,GACvCD,GACJ,KAAK4yB,EACD8Q,GAAKmI,EAAIC,GAAKG,GAAKJ,EAAIC,EAAI,EAAI,GAC/B,MACJ,KAAKD,EACDnI,GAAKoI,EAAIlZ,GAAKqZ,EAAI,EAClB,MACJ,KAAKH,EACDpI,GAAK9Q,EAAIiZ,GAAKI,EAAI,EAG1BvI,GAAK,C,CAGTqI,GAAQ,IACRA,EAAI99D,KAAKsS,MAAMwrD,GACfC,GAAQ,IACRA,EAAI/9D,KAAKsS,MAAMyrD,GACftI,EAAIz1D,KAAKsS,MAAM,IAAMmjD,GAIrB,OAFmBA,EAAI,KAAOqI,EAAI,MAAQC,GAAK,EAAIL,EAAS,KAAO,G,gBC5BhE,SAASvf,EAAiC8f,GAC7C,MAAMC,EAAkC,CAAC,EACzC,IAAK,MAAM7/D,KAAOwF,OAAO1L,KAAK8lE,QACF7vD,IAApB6vD,EAAW5/D,KAAoB6/D,GAAOC,EAAAA,EAAAA,IAAa9/D,IAAQ4/D,EAAW5/D,IAG9E,OAAO6/D,C,gBChBJ,SAASE,EAA4DC,EAAcC,GAGtF,IAAIC,EACAC,EACAC,EACAC,EACAC,EAGJ,OAAO,WAAU,wEAmCb,OAlCKF,IACDA,EAAkB,IAAItjE,SAAQ,CAAC/C,EAASy0C,KACpC6xB,EAAiBtmE,EACjBumE,EAAgB9xB,CAAM,KAKb,MAAb2xB,GACApU,aAAaoU,GAGjBD,EAAgB9E,EAEhB+E,EAAY5jE,YAAW,KACnB,MAAMxC,EAAUsmE,EACV7xB,EAAS8xB,EACTC,EAAWL,EAEjBA,OAAgBnwD,EAChBowD,OAAYpwD,EACZqwD,OAAkBrwD,EAClBswD,OAAiBtwD,EACjBuwD,OAAgBvwD,EAEhBkwD,KAAQM,GACHhgC,MAAK,W,2BAAIigC,EAAQ,yBAARA,EAAQ,gBACdzmE,KAAWymE,E,IAEdzjE,OAAM,W,2BAAI0jE,EAAS,yBAATA,EAAS,gBAChBjyB,KAAUiyB,E,GACZ,GACPT,GAEII,C,kDCvCR,SAAS7kD,EAAuBmlD,GACnC,IAAIC,EAAmD,KAsBvD,MArBgC,QAA5B3/C,EAAAA,GAAAA,eACI4/C,EAAAA,EAAAA,OACAD,GAAUE,EAAAA,EAAAA,IAAqCj8C,IAC3C87C,EAA2C,YAAf97C,EAAyB,MAI7Dk8C,EAAAA,GAAAA,YAAqB,mBAAmBhiD,IACpCuC,SAASq6C,KAAKv9D,MAAMsvB,YAAY,oBAAqB3O,EAAKiiD,eAAiB,MAC3EL,GAA4B,EAAK,IAGrCI,EAAAA,GAAAA,YAAqB,mBAAmB,KACpCJ,GAA4B,EAAM,IAGtCC,EAAU,KACNG,EAAAA,GAAAA,oBAA6B,GAI9BH,C,CCjCJ,SAASK,EAASj+C,EAAck+C,EAA2BC,GAC9D,GAAKn+C,EACL,OAAkB,IAAdk+C,EACOl+C,EAEAA,EAAK8H,MAAM,EAAGo2C,GAAWznD,QAAUynD,EAAYl+C,EAAKjf,OAASo9D,GAAS,MAAQ,G,CCLtF,SAASC,EAAkBxgC,EAAetgC,GAC7C,MAAM+gE,EAAO,IAAIC,KAAK,CAAC1gC,IACjB2gC,EAAIhhD,OAAOe,SAASQ,cAAc,KACxCy/C,EAAEt8D,KAAOsb,OAAOy2C,IAAIwK,gBAAgBH,GACpCE,EAAEE,SAAWnhE,EACbghB,SAASq6C,KAAK55C,YAAYw/C,GAC1BA,EAAEG,QACFpgD,SAASq6C,KAAKgG,YAAYJ,E,CCyBvB,SAASK,EACZ3B,EACAvc,GAEA,MAEM6V,EAAOC,KACPG,EAAMJ,MACNsI,EAAa,EAANlI,EAEPmI,EAAiBlgE,KAAKC,MAAMo+D,EAAO4B,GACnCE,EAAgBngE,KAAKC,MAAM,EAAQggE,EAAQlI,GAC3CqI,EAAiBpgE,KAAKC,MAAM,EAASggE,EAAQlI,EAAOJ,GACpD0I,EAAmBrgE,KAAKC,MAAM,EAAUggE,EAAQlI,EAAOJ,EAR9C2I,IASTC,EAAmBvgE,KAAKC,MAAM,EAAWggE,EAAQlI,EAAOJ,EAT/C2I,GADA,GAYf,KAAKJ,GAAmBC,GAAkBC,GAAmBC,GAAqBhC,GAC9E,MAAO,IASX,MAAO,CANG6B,EAAiB,GAAGA,KAAiBpe,aAAAA,EAAAA,EAAQme,OAAQ,MAAQ,GAC7DE,EAAgB,GAAGA,KAAgBre,aAAAA,EAAAA,EAAQiW,MAAO,MAAQ,GAC1DqI,EAAiB,GAAGA,KAAiBte,aAAAA,EAAAA,EAAQ6V,OAAQ,MAAQ,GAC7D0I,EAAmB,GAAGA,KAAmBve,aAAAA,EAAAA,EAAQ8V,SAAU,MAAQ,GACnEyG,EAAO,GAAGkC,KAAmBze,aAAAA,EAAAA,EAAQwe,SAAU,MAAQ,IAG5D97D,QAAOmnB,GAAKA,IACZzC,MAAM,EAAG,GACTtR,KAAK,I,CCxDP,SAAS4oD,EAAgBnjE,GAC5B,OAAIA,QACOA,EAEJ2C,KAAKsS,MAAc,IAARjV,E,CCHf,SAASojE,EAAwBr/C,GACpC,OAAKA,EAEEA,EAAKlc,MAAM,OAAOV,QAAOmnB,GAAU,MAALA,GAAmB,KAANA,IAFhC,E,CAKf,SAAS3L,EAAyBpM,GACrC,MAAO,mDAC8BA,EAAM4gD,8B,CCJ/C,SAASkM,EACLt/C,G,IACAu/C,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAA4H,aAArH,sHAEP,MAAMC,EAAOlhD,SAASQ,cAAc,QACpC0gD,EAAKC,UAAUC,IAAI,aACnBF,EAAKpkE,MAAMmkE,KAAOA,EAClBC,EAAKpkE,MAAMukE,MAAQ,OACnBH,EAAKpkE,MAAMwkE,WAAa,SACxBJ,EAAKpkE,MAAMykE,WAAa,OACxBL,EAAKpkE,MAAM0kE,cAAgB,MAC3BN,EAAKpkE,MAAM2kE,cAAgB,YAC3BP,EAAKpkE,MAAMma,WAAa,MACxBiqD,EAAKQ,YAAchgD,EAEnB1B,SAASq6C,KAAK55C,YAAYygD,GAE1B,MAAMxvD,EAAQwvD,EAAKvvD,YAInB,OAFAqO,SAASq6C,KAAKgG,YAAYa,GAEnBxvD,C,CAGJ,SAASiwD,EACZjgD,G,IACAu/C,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAA4H,aAArH,sHAEP,OAAOD,EAAgBt/C,EAAMu/C,E,CCpC1B,SAASW,IAAkB,wEAC9B,OAAO7H,EAAK50D,QAAO,CAACC,EAAK6mB,IAAM41C,EAA4Bz8D,EAAK6mB,IAAI,CAAC,E,CAGzE,SAAS41C,EAA4BC,EAAyBC,GAgB1D,MAAO,IAAKD,KAAgBC,E,CCtBzB,SAAS19C,I,IAAU3C,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAS,aAAF,GAAIhc,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAU,aAAF,GAAImL,EAAc,uCAC3D,MAAMmxD,EAAU,IAAIC,OAAO,IAAMv8D,EAAMhC,QAAQ,2BAA4B,QAAU,IAAK,MACpFw+D,EAAc,wBAA0BrxD,GAAgB,wBAA0B,eAExF,OAAO6Q,EAAKhe,QAAQs+D,EAASE,E,8CCCjC,MAAMC,GAAcjnC,EAAAA,EAAAA,IAAgBknC,EAAAA,oBAEpC,MAAMC,EAIFvkE,oBACI,OAAQg3C,EAAAA,EAAAA,cAA2BwlB,EAAAA,EAAAA,IAAuBE,EAAAA,GAAAA,S,CAG9D/6C,aACI,GAAI4iD,EAAgBrgD,aAAc,OAElC,MAAMsgD,QAAiBH,EAAYI,UAAUrjC,MAAKI,GAAYA,EAASjc,OAEnEi/C,EAASp0C,SAAWo0C,EAASl2D,UAAYk2D,EAASl2D,SAASo2D,SAC3DvoE,KAAKwoE,aAAaH,EAASl2D,SAASo2D,QACpCvoE,KAAKyoE,eAAgB,EACrBzoE,KAAK0oE,KAAKL,EAASl2D,U,CAI3B,aAAqBw2D,GACjB,GAAI3jD,OAAO4jD,SAAU,OAKrB,MAAMC,EAAkB,iXAAiXF,6NAEnYG,EAAgB/iD,SAASQ,cAAc,UAC7CuiD,EAAcrhD,KAAOohD,EACrB9iD,SAASq6C,KAAK55C,YAAYsiD,E,CAG9B,eAAqB,wEACZ9jD,OAAO4jD,UACZ5jD,OAAO4jD,YAAY9I,E,CAGvB4I,KAAKv2D,GACInS,KAAKyoE,gBAEVzoE,KAAK+oE,aAAa,OAAQ52D,GAC1BnS,KAAKgpE,UAAW,E,CAGpBC,iBACSjpE,KAAKgpE,UACVhpE,KAAK+oE,aAAa,iB,CAGtBG,WAAWC,EAAmB3/C,GAC1BxpB,KAAK+oE,aAAa,aAAcI,EAAW3/C,E,CAG/C4/C,cAActiE,GACV9G,KAAK+oE,aAAa,SAAU,CACxBM,uBAAwBviE,G,CAIhCwiE,WACStpE,KAAKgpE,UACVhpE,KAAK+oE,aAAa,W,CAGtBjhE,OACI,MAAMyhE,EAAmBvkD,OAAOe,SAASC,eAAe,sBACpDujD,IACAA,EAAiB1mE,MAAM+tB,QAAU,G,CAGzC7oB,OACI,MAAMwhE,EAAmBvkD,OAAOe,SAASC,eAAe,sBACpDujD,IACAA,EAAiB1mE,MAAM+tB,QAAU,O,eAzEzCo4C,KAAAA,UAAW,EACXP,KAAAA,eAAgB,C,EA6Eb,MAAMJ,EAAW,IAAID,E,kCCpErB,SAASoB,KACZ,MAAM7sD,EAAmC,CACrCg+C,SAAU8O,KAAAA,MAAAA,SAAAA,MACV3O,QAAS2O,KAAAA,MAAAA,QAAAA,QAEbC,EAAAA,EAAAA,2BAA0B/sD,E,CAGvB,SAASgtD,GAAuCvgD,GACnD,MAAMzM,EAfC,CACHg+C,UAF8BiP,EAgBGxgD,GAdVu6B,eACvBmX,QAAS8O,EAAahmB,eAHvB,IAA+BgmB,GAiBlCF,EAAAA,EAAAA,2BAA0B/sD,E,yCCxBvB6I,eAAeokC,GAAwBxP,EAA2BnY,SAC/D0rB,GAAAA,GAAAA,QAA0BvT,GAAWpU,QAAQ4jB,wBAAwB3nB,E,CCFxEzc,eAAeytB,GAAMkd,GACxB,OAAO,IAAI3uD,SAAc/C,IACrBwC,WAAWxC,EAAS0xD,EAAQ,G,CCL7B,SAASoF,GACZ3gD,GAOA,MAAO,EAACA,aAAAA,EAAAA,EAAMtG,aAAasG,aAAAA,EAAAA,EAAM1G,aAAY0G,aAAAA,EAAAA,EAAMrG,YAAYqG,aAAAA,EAAAA,EAAMzG,YAAWtD,QAAOwB,GAAMA,IAAI4R,KAAK,I,oGCNnG,MAAM4rD,EAA+B,sBAC/BvpC,EAA0B,CACnC,CAACupC,IAA+B,GAGvBj8B,EAA4B,W,IAACk8B,EAAwB,UAAH,6CAAGj8B,EAAAA,EAAAA,GAC9D,MAAO,CACH,CAACg8B,IAA+B,EAChCC,gB,6DCDD,MAAMC,EAAsB,kBAG5B,SAASr/D,I,IAAsCo/D,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAA0C,aAFtD,KAGtC,MAAME,EAAoB,QAAQC,KAAKjlD,OAAOuuC,UAAU2W,WAExD,OAAOF,GAAqBhlD,OAAO2M,YAAcm4C,C,CAgB9C,SAASK,EAA0BlgB,GACtCA,EAAOmgB,YAAW,CAAC7gE,EAAImC,EAAM23B,K,IAamD95B,EA3BhDH,EAe5B,GAAIsc,EAAAA,GAAAA,mBAA8B,CAC9B,MAAMg2B,EAAiB,IAAIC,EAAAA,GAGvBpyC,EAAGxE,OAASqhD,EAAAA,EAAAA,OACZ16C,EAAK3G,OAASqoD,EAAAA,EAAAA,mBACd1R,EAAe2N,cAEfghB,EAAAA,EAAAA,S,CAIR,OA3B4BjhE,EA2BGG,GA1BtByM,OAAqD,IAA7C5M,EAAM4M,KAAiC,qBA0BlBtL,EAA6C,QAAPnB,EAAAA,EAAGyM,YAAI,IAAPzM,OAAAA,EAAAA,EAASugE,eAC1EzmC,EAAK,CAAEt+B,KAAMglE,EAAqBt+D,MAAO,CAAEC,KAAMnC,EAAG4/C,UAAY1/C,SAAS,IAEzE45B,G,IAIf4mB,EAAOkP,WAAU5vD,IACb,MAAM+gE,EAAqB,SAAU/gE,EAAGkC,OAASlC,EAAGkC,MAAMC,KAAKlD,OAAS,EAExE,GAAIe,EAAGxE,OAASglE,GAAuBO,EAAoB,CACvD,MAAMC,EAAUhhE,EAAGkC,MAAMC,KACnBhC,EA/BlB,SAAyBugD,EAAmBM,GACxC,MAAMigB,EAAavgB,EAAOxrD,QAAQ8rD,GAClC,OAAOigB,EAAWC,SAASthB,WAAaoB,EAAMigB,EAAW9gE,UAAO+K,C,CA6B3Ci2D,CAAgBzgB,EAAQsgB,GAErC,QAAa91D,IAAT/K,EACA,OAtCwB6gD,EAyCG7gD,EAxCvCsb,OAAOinC,QAAQC,aAAa,KAAM,GAAI3B,E,CAD1C,IAAwCA,C,8ECwBjC,MAAM5rC,EAAqB,IA1ClC,MAQI,WAAkB0mD,GAEd,IAAK3/C,EAAAA,GAAAA,mBAA8B,MAAO,OAE1C,MAAMilD,GAAOh+C,EAAAA,EAAAA,KAMb,OALA3sB,KAAKgmC,QAAQnoB,KAAK,CACdnf,GAAIisE,EACJxrC,OAAQkmC,IAGL,KACHrlE,KAAKgmC,QAAUhmC,KAAKgmC,QAAQn7B,QAAOmnB,GAAKA,EAAEtzB,IAAMisE,GAAK,C,CAK7D,YACI,IAAKjlD,EAAAA,GAAAA,mBAA8B,OAEnC,GAA2B,GAAvB1lB,KAAKgmC,QAAQx9B,OAAa,OAE9B,MAAM4gB,EAAOppB,KAAKgmC,QAAQhmC,KAAKgmC,QAAQx9B,OAAS,IAEjC,IADA4gB,EAAK+V,WAEhBn/B,KAAKgmC,QAAUhmC,KAAKgmC,QAAQn7B,QAAOmnB,GAAKA,EAAEtzB,IAAM0qB,EAAK1qB,K,CAI7D,UACI,OAA+B,IAAxBsB,KAAKgmC,QAAQx9B,M,eApCxB,KAAQw9B,QAID,E,uGCFX,MAAM4kC,GAAoB9uB,EAAAA,EAAAA,IAAsB+uB,EAAAA,oBAEzC,MAAMC,UAAgCxsE,MACzCgoD,YAAYykB,GACRxkB,MAAM,2CAA2CwkB,MACjD7gE,OAAOs8C,eAAexmD,KAAM8qE,EAAwBrkB,U,EAI5D,MAAMukB,EAGF,QACIlc,aAAaC,WAAW/uD,KAAKgvD,Y,CAGjC,OACI,OAAOF,aAAaI,QAAQlvD,KAAKgvD,Y,CAGrC,KAAY+b,GACRjc,aAAaK,QAAQnvD,KAAKgvD,YAAa+b,E,eAX3C,KAAiB/b,YAAc,gB,EAgB5B,MAAMta,EAQT,kBAA0BtrB,GACtB,MAAMk6C,EAAc35B,KAAKC,UAAUxgB,GACnC,OAAO0lC,aAAaK,QAAQnvD,KAAKmjE,UAAWG,E,CAGhD,wBACI,MAAMrU,EAAaH,aAAaI,QAAQlvD,KAAKmjE,WAC7C,OAAmB,OAAflU,EACOtlB,KAAKxjC,MAAM8oD,GAEf,I,CAGX,oBACI,OAAOjvD,KAAKirE,iCAAmCpwB,EAAAA,EAAAA,gBAA8B71B,OAAOe,SAASglD,O,CAGjG,+BACI,OAAO/qE,KAAKkrE,sBAAsBtvB,M,CAGtC,0BACI,OAAO57C,KAAKmrE,oB,CAGhB,6BAAoC/X,GAChC,MAAMgY,EAAiB,GAAGhY,IAAYpzD,KAAKyzD,kCAErCzzD,KAAKqrE,cAAcD,GACzBprE,KAAKkrE,sBAAsBI,KAAKF,E,CAGpC,4BACIprE,KAAKkrE,sBAAsBhb,O,CAG/B,oBAA4B6a,GACxB,OAAOH,EAAkBS,cAAcN,GAAQ9lC,MAAKI,IAChD,GAAwB,MAApBA,EAASv3B,OACT,MAAM,IAAIg9D,EAAwBC,GAEtC,OAAO1lC,EAASjc,IAAI,G,CAI5B,wB,IAA6BmiD,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,IAAmB,aAC5C,QAA2B92D,IAAvBzU,KAAKwrE,oBAAqD/2D,IAAtBzU,KAAKyrE,aACzC,OAAOzrE,KAAKwrE,cAGhB,IAAKD,EAAa,CACd,QAA0B92D,IAAtBzU,KAAKyrE,aACL,OAAOzrE,KAAKyrE,aAGhB,MAAMxc,EAAajvD,KAAK0rE,wBACxB,GAAmB,OAAfzc,EAEA,OADAjvD,KAAKyrE,aAAexc,EACbA,C,CAQf,OAJAjvD,KAAKwrE,cAAgBxrE,KAAKqrE,cAAcrrE,KAAK2rE,qBAC7C3rE,KAAKyrE,mBAAqBzrE,KAAKwrE,cAC/BxrE,KAAK4rE,kBAAkB5rE,KAAKyrE,cAErBzrE,KAAKyrE,Y,CAGhB,wBACI,IAGI,OAFAzrE,KAAKyrE,mBAAqBzrE,KAAKqrE,cAAcrrE,KAAK2rE,qBAClD3rE,KAAK4rE,kBAAkB5rE,KAAKyrE,eACrB,C,CACT,MAAO7/D,GACL,OAAO,C,EAOf,gCACI,OAAOi1D,EAAAA,EAAAA,QAAWD,EAAAA,EAAAA,K,CAGtB,oBACI,MAAMx3C,EAAOppB,KAAKyrE,cAAgBzrE,KAAK0rE,wBACvC,OAAOnsE,QAAQ6pB,aAAAA,EAAAA,EAAMyiD,cAAgB7rE,KAAK8rE,+B,CAG9C,qBACI,MAAM1iD,EAAOppB,KAAKyrE,cAAgBzrE,KAAK0rE,wBACvC,OAAOnsE,SAAQ6pB,aAAAA,EAAAA,EAAMyiD,eAAeziD,aAAAA,EAAAA,EAAM2iD,kBAAmB/rE,KAAK8rE,+B,CAGtE,6BACI,OAAO9rE,KAAKP,sBAAwBO,KAAKgsE,sB,CAG7C,WAAkBC,GACdnd,aAAaC,WAAW/uD,KAAKmjE,WAC7BnjE,KAAKksE,4BACLlsE,KAAKmsE,8BAA8BF,IAAY,E,CAGnD,8BAAqCG,GAC5BpsE,KAAKP,uBAIVO,KAAKgsE,uBAAyBzsE,QAAQ6sE,G,eApH1C,KAAQJ,wBAAyB,EACjC,KAAiB7I,UAAY,eAC7B,KAAiBgI,qBAAuBtwB,EAAAA,EAAAA,qBACxC,KAAiBqwB,sBAAwB,IAAIF,C,0DCvC1C,MAAMr+C,EAAW,IACpBtmB,KAAKgmE,SAASjmE,SAAS,IAAI04D,UAAU,EAAG,IAAMz4D,KAAKgmE,SAASjmE,SAAS,IAAI04D,UAAU,EAAG,IAE7EwN,EAAU,KACnB,SAASC,EAAIpI,GACT,MAAMvI,GAAKv1D,KAAKgmE,SAASjmE,SAAS,IAAM,aAAaomE,OAAO,EAAG,GAC/D,OAAOrI,EAAI,IAAMvI,EAAE4Q,OAAO,EAAG,GAAK,IAAM5Q,EAAE4Q,OAAO,EAAG,GAAK5Q,C,CAE7D,OAAO2Q,IAAQA,GAAI,GAAQA,GAAI,GAAQA,GAAK,C,+BCRzC,SAASrpC,EAAgBgL,EAA0BlL,GACtD,OAAO,SAAUG,EAAKC,EAAOC,GACrB6K,IACA7K,EAAK,CACDt+B,KAAMi+B,IAGVK,G,kKCHZ,MAAMunC,GAAoB9uB,E,MAAAA,IAAsB+uB,EAAAA,oBCKhD4B,IAAAA,IAAcC,KAEd,MAAMC,EAAeptE,QAAQs7C,EAAAA,EAAAA,eACvB+xB,EAAsB,CACxB,aAAc,CACV1xB,OAAQL,EAAAA,EAAAA,cACRgyB,YAAY,EACZC,oBAAoB,EACpBC,sBAAuB,CAAC,cAG5BJ,GDdGnnD,eAAkCulD,GACrC,OAAOH,EAAkBS,cAAcN,GAAQ9lC,KAAKuL,EAAAA,E,CCcpDw8B,CAAmBhoD,OAAO3T,SAAS06C,MAAM9mB,MAAKquB,IACrCA,EAAS2Z,aAAaR,IAAAA,WAAqBG,EAAoB,IAIrE,MAAMM,EAAmBt4D,IACvB+3D,GAAiB/3D,EAAKu4D,kBAG3BV,IAAAA,SAAmB,GAAG73D,EAAKy1C,cAAcz1C,EAAKlW,KAAM,CAChDqG,KAAM,GAAG6P,EAAKtG,aAAasG,EAAKrG,YAClC,EAaO6+D,EAA4BnjB,IACrCA,EAAOmgB,YAAW,CAACjnC,EAAKC,EAAOC,KAXR,IAEnBV,EAWA,OATCgqC,KAF8E,QAA/EhqC,EAAAA,EAAAA,EAAAA,QAAwBl7B,EAAAA,GAAOm7B,QAAQ0R,mBAAmB1sC,MAAMyG,uBAAe,IAA/Es0B,OAAAA,EAAAA,EAAiFwqC,mBAAoB,IAKzGV,IAAAA,OAMWppC,GAAM,GACf,C,uGC3CC,MAAMoR,EAAsBpR,IAC/B,MACMgqC,GAAkBtnE,EADVo0C,EAAAA,GAAAA,QAA0BC,EAAAA,GAAWjqC,QAAQpK,OAC7B,0CAE9BqjD,EAAgB/lB,GAEhBsqB,EAAAA,GAAAA,QAA0BvT,EAAAA,GAAWpU,QAAQ4jB,wBAAwB,CACjE3vC,MAAO,UACPwB,QAAS4xD,EACTxjB,SAAU,KACZ,EAGOT,EAAmB/lB,IAC5BA,EAAK8mB,EAAAA,EAAsB,C,6UClBxB,SAASmjB,EAAkB5pE,GAC9B,IAAKA,EACD,OAAO,EAGX,MAAM6pE,EAAoB7pE,EAAM0V,QAAQ,KAClCo0D,EAAoB9pE,EAAM0V,QAAQ,KAExC,OAA8B,IAAvBm0D,IAAmD,IAAvBC,GAA4BD,EAAoBC,C,CAGhF,SAASnxD,EAAY3Y,GACxB,GAAqB,iBAAVA,EAAoB,CAC3B,MAAM+pE,EAAY/pE,EAAM6H,MAAM,KAC9B,MAAO,IAAIkiE,EAAU,IAAM,IAAIC,OAAO,MAAMD,EAAU,IAAM,IAAIC,OAAO,KAAK7kC,a,CAE5E,MAAO,GAAGnlC,G,CAIX,SAAS04D,EAAqBrxD,GACjC,OAAOA,O,CAGJ,SAASmlC,EAAWnlC,GACvB,OAAOqxD,EAAqBrxD,IAAgC,OAAxB4+B,KAAKC,UAAU7+B,IAAyC,OAAxB4+B,KAAKC,UAAU7+B,IAAyB,KAARA,C,CAGjG,SAAS4iE,EAAiBxJ,GAC7B,OAAO/H,EAAqB+H,IAAY,KAANA,C,CAG/B,SAAS37B,EAAW27B,GACvB,OAAOA,EAAE,GAAGt7B,cAAgBs7B,EAAE50C,MAAM,E,CAUjC,SAASknC,EAAYmX,GACxB,OAAOC,EAAAA,EAAAA,GAAUD,E,CAwGd,SAAS91C,EAAMjR,EAAekD,GACjC,OAAO/O,MAAMtP,KAAK,CAAElD,OAAQuhB,EAAMlD,EAAQ,IAAKzc,KAAI,CAACa,EAAG6iE,IAAMA,EAAIjnD,G,CA2B9D,SAASknD,EAAiB5uB,EAAkBwmB,GAC/C,GAAIxmB,EAAS7zC,SAAS,KAAM,CACxB,MAAM0iE,EAAY7uB,EAAS5zC,MAAM,KAC3B0iE,EAAYD,EAAUA,EAAUxlE,OAAS,GAEzC0lE,EAAgBF,EAAUz+C,MAAM,EAAGy+C,EAAUxlE,OAAS,GAAGyV,KAAK,KAEpE,GAAIiwD,EAAc1lE,OAASm9D,EAAW,CAClC,MAAMwI,EAAU,SAASF,IACzB,OAAOC,EAAc1B,OAAO,EAAG7G,EAAYwI,EAAQ3lE,QAAU2lE,C,EAIrE,OAAOhvB,C,CAGJ,MAAMivB,EAAYjK,IACrB,IAAIrI,EAAI,EACR,MAAMsI,EAAID,EAAE37D,OACZ,IAAIslE,EAAI,EACR,GAAI1J,EAAI,EAAG,KAAO0J,EAAI1J,GAAGtI,GAAMA,GAAK,GAAKA,EAAIqI,EAAEjW,WAAW4f,KAAQ,EAClE,OAAOhS,CAAC,EAGCuS,EAAc,SAACC,G,IAAeC,EAAW,UAAH,6CAAG,EAClD,GAAc,IAAVD,EAAa,MAAO,UAExB,MAAME,EAAI,KACJC,EAAKF,EAAW,EAAI,EAAIA,EACxBG,EAAQ,CAAC,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAE5DZ,EAAIznE,KAAKC,MAAMD,KAAK1E,IAAI2sE,GAASjoE,KAAK1E,IAAI6sE,IAEhD,OAAOG,YAAYL,EAAQjoE,KAAKuoE,IAAIJ,EAAGV,IAAIe,QAAQJ,IAAO,IAAMC,EAAMZ,E,EAG7DgB,EAAYrnD,GACdA,EAAOA,EAAK8H,MAAM,EAAG9H,EAAKsnD,YAAY,MAAQ,GAG5CC,EAAiBvnD,GACnBA,EAAOA,EAAK8H,MAAM9H,EAAKsnD,YAAY,KAAO,EAAGtnD,EAAKjf,QAAU,GAGhE,SAASymE,EAAYC,EAAYC,GACpC,IAAIjjE,EAAQgjE,EAAM1mE,OAAS,EAC3B,KAAO0D,GAAS,EAAGA,IACf,GAAIijE,EAAUD,EAAMhjE,GAAQA,EAAOgjE,GAC/B,OAAOA,EAAMhjE,E,CAKlB,SAASkjE,EAAQF,GACpB,IACIG,EACAC,EAFAC,EAAeL,EAAM1mE,OAIzB,KAAO,IAAM+mE,GACTD,EAAcjpE,KAAKC,MAAMD,KAAKgmE,SAAWkD,GACzCA,GAAgB,EAEhBF,EAAiBH,EAAMK,GACvBL,EAAMK,GAAgBL,EAAMI,GAC5BJ,EAAMI,GAAeD,EAGzB,OAAOH,C,CAGJ,SAASM,EAAQ9pE,EAAc+pE,EAAeC,GACjD,MAAMC,EAAUjqE,EAAK21D,MAAMoU,GAE3B,GAAgB,OAAZE,GAAoBA,EAAQ,GAAI,CAEhC,OAAOD,EADIC,EAAQ,E,CAGnB,OAAOjqE,C,CAIR,SAASkqE,EAAsBlqE,GAClC,OAAO8pE,EACH9pE,EAAI,6GAEJ,iC,CAID,SAASmqE,EAAoBnqE,GAChC,OAAO8pE,EACH9pE,EAAI,oIAEJ,kC,CAID,SAASoqE,EAAWpqE,GAGvB,MAFmB,iBAEDukE,KAAKvkE,E,CAOpB,SAASqqE,EAAa1jD,GACzB,MAAM2jD,EAAWjqD,SAASQ,cAAc,YACxCypD,EAASntE,MAAM4Z,QAAU,IAEzBsJ,SAASq6C,KAAK55C,YAAYwpD,GAC1BA,EAAStsE,MAAQ2oB,EAEjB2jD,EAASz2C,SACTxT,SAASkqD,YAAY,QAErBlqD,SAASq6C,KAAKgG,YAAY4J,E,CAevB,SAASE,EAAaC,G,IAAaC,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAe,aAAH,IAClD,OAAOD,EAAI1mE,QAAQ2mE,EAAW,KAAKv1C,a,CAGhC,MAAM2pC,EAAgB2L,GAAwBA,EAAI1mE,QAAQ,aAAaw6D,GAAKA,EAAE,GAAGp7B,gBAO3EwnC,EAAkCF,GAC3CA,EAAI1mE,QAAQ,UAAU6mE,GAAU,IAAIA,EAAOz1C,kBAmBlC01C,EAAkB7sE,GACvBA,GAAS,KACDA,EAAQ,KAASmrE,QAAQ,GAAK,IAEtCnrE,GAAS,KACDA,EAAQ,KAAMmrE,QAAQ,GAAK,IAEhCnrE,EAwBJ,SAAS8sE,EAASC,GACrB,OAAOA,EAAIvlE,QAAO,CAACwlE,EAAKhtE,IAAUgtE,EAAMhtE,GAAO,E,CAQ5C,MAAMitE,EAAqB,SAAC3K,EAAW9B,G,IAAW0M,IAAU,UAAH,+C,OAAaA,EAAU5K,EAAI9B,EAAK8B,EAAI9B,EAAK8B,EAAKA,EAAI9B,C,EAE3G,SAAS2M,EAAwBp5D,GACpC,OAAOuN,OAAO2M,WAAala,C,CAGxB,SAASyN,EAAiB4rD,GAC7B,MAAO,eAAeA,EAAW,Q,CAyC9B,SAASC,EAA6BC,EAAgBC,GACzD,MAAMC,EAAgB,CAAC,UAAW,YAE9BvpD,OAAOwpD,cAAcH,KACrBE,EAAcrzD,KAAK,YACnBqzD,EAAcrzD,KAAK,YAGvB,IAAIorB,EAAS,GACb,MAAMmoC,EAAQ,IAAIzR,KAAK0R,aAAa,QAAS,CACzCxuE,MAAO,WACP4+B,SAAUwvC,IAETK,cAAcN,GACd5mE,KAAIwxD,IACc,aAAXA,EAAEz8D,OACF8pC,EAAS2yB,EAAEl4D,OAGRwtE,EAAc5lE,SAASswD,EAAEz8D,MAAQ,GAAKy8D,EAAEl4D,SAElDua,KAAK,IAEV,MAAO,CACHgrB,SACAmoC,Q,CAGD,SAASG,EACZP,G,IACAxnD,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAiF,aAA9B,CAAE7Q,OAAO,EAAO64D,UAAW,GAE9E,OAAIhoD,EAAQ7Q,MACD,GAAGtS,KAAKsS,MAAMq4D,MAElB,GAAGrpD,OAAOqpD,EAAOnC,QAAQrlD,EAAQgoD,c,CAGrC,SAASC,EAAaT,EAAgBU,GACzC,OAAOV,EAAOtS,eAAegT,GAAgB,Q,CAG1C,SAASC,EAAoBC,GAChC,IAAKA,EACD,MAAO,GAEX,MAAM3K,EAAOlhD,SAASQ,cAAc,QAEpC,OADA0gD,EAAK4K,UAAYD,EACV3K,EAAKQ,aAAeR,EAAK6K,S,+HCndpC,MAAMrtC,UAAqBC,EAAAA,GACvB,oBACI,MAAMqtC,GAAqBxsD,EAAAA,EAAAA,MAEA,OAAvBwsD,GACA/xE,KAAKkI,UAAU8pE,YAAYD,GAG/B,MAAMruB,QAAyBuuB,EAAAA,GAAAA,cACzBC,GAAkBxX,EAAAA,EAAAA,IAAehX,GACvC1jD,KAAKkI,UAAU8pE,YAAYE,GAC3BlyE,KAAK4yC,SAAS,gB,CAGlB,YAAmBxpB,GACfppB,KAAKkI,UAAU8pE,YAAY5oD,E,CAG/B,gBACqC,OAA7BppB,KAAK4H,MAAMuO,gBACXktD,EAAAA,EAAAA,IAAkBrjE,KAAK4H,MAAMuO,c,EAKzC,MAAMwtB,UAAuBC,EAAAA,GACzB,YAAmBxa,GACfppB,KAAK4H,MAAMuO,cAAgBiT,C,EAInC,MAAMpU,EAAgB,IAAIuwB,EAAAA,GAAO,CAC7B39B,MApCJ,M,cACI,KAAOuO,cAAiC,I,GAoCxC6vB,QAASvB,EACTv8B,UAAWy7B,IAGF1uB,GAAmBiyB,EAAAA,EAAAA,IAAiBlyB,GAE3Cm9D,GAAsBjsC,EAAAA,EAAAA,IAAalxB,GAE5BqB,EAA2BvX,EAAAA,GAAAA,OAAW,CAC/CyR,SAAU,IACH4hE,EAAoB/rC,SAAS,CAAC,mBAErCC,QAAS,IACF8rC,EAAoB5rC,WAAW,CAAC,cAAe,cAAe,qBAIzE,G,uECrDA,MAAM5C,UAAuBC,EAAAA,GACzB,aAAoBwuC,GACZpyE,KAAK4H,MAAMyqE,qBAEc,OAAzBryE,KAAK4H,MAAMwqE,WAAoC,OAAdA,IACjCpyE,KAAK4H,MAAMwqE,UAAYA,E,CAI/B,qBAA4BxqE,GACxB5H,KAAK4H,MAAMyqE,oBAAsBzqE,C,EAIzC,MAAMyrC,EAAc,IAAI9N,EAAAA,GAAO,CAC3B39B,MApBJ,M,cACIyqE,KAAAA,qBAAsB,EACtBD,KAAAA,UAA2B,I,GAmB3BlqE,UAAWy7B,IAGF2uC,GAAkBpsC,EAAAA,EAAAA,IAAamN,GAC5C,G,uGCXA,MAAM9O,UAAqBC,EAAAA,GACvB,WACI,OAAOxkC,KAAK4H,MAAMqE,Q,CAKXsmE,gCACP,OAAOvyE,KAAK4H,MAAM4qE,kBAAkB/Y,E,CAG7BgZ,gCACP,OAAOzyE,KAAK4H,MAAM4qE,kBAAkB9Y,E,CAG7BgZ,gCACP,OAAO1yE,KAAK4H,MAAM4qE,kBAAkB7Y,E,CAG7BgZ,gCACP,OAAO3yE,KAAK4H,MAAM4qE,kBAAkB5Y,E,CAG7BgZ,iCACP,OAAO5yE,KAAK4H,MAAM4qE,kBAAkB3Y,G,CAK7BgZ,iCACP,OAAQ7yE,KAAK4H,MAAM4qE,kBAAkB9Y,E,CAG9B73D,iCACP,OAAQ7B,KAAK4H,MAAM4qE,kBAAkB7Y,E,CAG9BmZ,iCACP,OAAQ9yE,KAAK4H,MAAM4qE,kBAAkB5Y,E,CAG9BmZ,iCACP,OAAQ/yE,KAAK4H,MAAM4qE,kBAAkB3Y,G,EAI7C,MAAMl2B,UAAuBC,EAAAA,GACzB,YAAmB33B,GACfjM,KAAK4H,MAAMqE,SAAWA,C,CAG1B,cAAqB,G,IAAA,WAAEuuD,EAAU,MAAE5yD,GAAd,EACjB5H,KAAK4H,MAAM4qE,kBAAkBhY,GAAc5yD,C,EAInD,MAAMixD,EAAkB,IAAItzB,EAAAA,GAAO,CAC/B39B,MArEJ,M,cACI,KAAOqE,UAAW,EAClB,KAAgB+mE,YAAcnlC,EAAAA,EAC9B,KAAgB2kC,kBAAqD,CACjE/Y,IAAI,EACJC,IAAI,EACJC,IAAI,EACJC,IAAI,EACJC,KAAK,E,GA8DT1pD,QAASo0B,EACTr8B,UAAWy7B,IAGFm1B,GAAqB5xB,EAAAA,EAAAA,IAAiB2xB,GAE7Coa,GAAwB/sC,EAAAA,EAAAA,IAAa2yB,GAE9B73D,EAAuBlC,EAAAA,GAAAA,OAAW,CAC3CyR,SAAU,IACH0iE,EAAsB7sC,SAAS,CAAC,WAAY,cAAe,yBAC3D6sC,EAAsB5rC,WAAW,CAChC,4BACA,4BACA,4BACA,4BACA,6BACA,6BACA,6BACA,6BACA,gCAGRhB,QAAS,IACF4sC,EAAsB3sC,aAAa,CAAC,cAAe,qBAI9D,G,mMCjFA,IAAI4sC,EAAkD,KAetD,MAAM3uC,UAAqBC,EAAAA,GACvB,cACI,OAAOxkC,KAAK4H,MAAMyG,e,CAGX8kE,iBACP,MAAO,IAAKnzE,KAAK4H,MAAMwrE,aAAe,MAASpzE,KAAK4H,MAAMyrE,qBAAuB,G,CAG1E/mC,sB,IAEU,EADjB,MAAMgnC,EAAQ,CAAC39D,EAAAA,GAAAA,MAAAA,YACT49D,EAAqC,QAA1B,EAAAvzE,KAAK4H,MAAMyG,uBAAe,IAA1B,WAA4BqH,gBAC7C,QAAO69D,GAAWD,EAAMhoE,SAASioE,E,EAIzC,MAAM9uC,UAAqBC,EAAAA,GACvB,wBACI,MAAM8uC,GAAwB/P,EAAAA,EAAAA,MACxBgQ,GAAgC9P,EAAAA,EAAAA,MAYtC,OAV8B,OAA1B6P,GAAiE,OAA/BxzE,KAAK4H,MAAMyG,iBAC7CrO,KAAKkI,UAAUwrE,eAAeF,GAGlCxzE,KAAKkI,UAAUyrE,8BAA8BF,IAAiC,GAEnD,OAAvBP,SACMlzE,KAAKgmC,QAAQ4tC,yBAGhBV,C,CAGX,+BACIA,EAAqBW,EAAAA,GAAAA,qBACrB7zE,KAAKgmC,QAAQ8tC,iCACb,MAAMC,QAAyCb,EAC/C,GAAIa,EAAc,CACd,KACI7G,EAAAA,EAAAA,IAAgB6G,E,CAClB,MAAOnoE,GACLoH,QAAQpH,MAAMA,E,CAGlB5L,KAAKkI,UAAUwrE,eAAeK,GAC9B/zE,KAAKkI,UAAU8rE,kBAAkB,CAC7B1iC,OAAQyiC,EAAar1E,GACrB2rD,WAAY0pB,EAAa1pB,cAG7BqZ,EAAAA,EAAAA,IAAqBqQ,E,EAI7B,oBACIlQ,EAAAA,EAAAA,MACA7jE,KAAKkI,UAAU+rE,mBACff,EAAqB,I,CAGzB,uBACI,MAAMvhE,QAAekiE,EAAAA,GAAAA,oBACrB7zE,KAAKkI,UAAUgsE,kBAAkBviE,E,CAGrC,uCACI,MAAMgzC,QAA2BkvB,EAAAA,GAAAA,qBACjC7zE,KAAKkI,UAAUyrE,8BAA8BhvB,IAC7Cif,EAAAA,EAAAA,IAAgCjf,E,CAGpC,qBAA4BhzC,KAEpBwiE,EAAAA,EAAAA,GAAMn0E,KAAK4H,MAAMwrE,aAAe,GAAIzhE,EAAOyhE,YAAa,aAAa5qE,SACrE2rE,EAAAA,EAAAA,GAAMn0E,KAAK4H,MAAMwsE,cAAgB,GAAIziE,EAAOyiE,aAAc,aAAa5rE,gBAEjEqrE,EAAAA,GAAAA,kBAAgC,IAC/BliE,EAAOyhE,YAAYhpE,KAAIyrD,IAAS,IAAMA,EAAOrqB,OAAQ6oC,EAAAA,YAAAA,mBACrD1iE,EAAOyiE,aAAahqE,KAAIyrD,IAAS,IAAMA,EAAOrqB,OAAQ6oC,EAAAA,YAAAA,mBAE7Dr0E,KAAKkI,UAAUo9C,iBAAiB3zC,IAG/B3R,KAAK4H,MAAM0sE,6BACNT,EAAAA,GAAAA,sBACN7zE,KAAKkI,UAAUqsE,0BAAyB,G,EAKpD,MAAM5wC,UAAuBC,EAAAA,GACzB,8BAAqC+gB,GACjC3kD,KAAK4H,MAAM+8C,mBAAqBA,C,CAGpC,eAAsBv7B,GAClBppB,KAAK4H,MAAMyG,gBAAkB+a,C,CAGjC,kBAAyBA,GACrBppB,KAAK4H,MAAM4sE,wBAA0BprD,C,CAGzC,mBACIppB,KAAK4H,MAAMyG,gBAAkB,KAC7BrO,KAAK4H,MAAMwrE,YAAc,KACzBpzE,KAAK4H,MAAMyrE,oBAAsB,KACjCrzE,KAAK4H,MAAMwsE,aAAe,KAC1Bp0E,KAAK4H,MAAM0sE,qBAAuB,KAClCt0E,KAAK4H,MAAM4sE,wBAA0B,I,CAGzC,kBAAyBhxD,GACrBxjB,KAAK4H,MAAM0sE,qBAAuB9wD,EAAKixD,gBACvCz0E,KAAK4H,MAAMwrE,YAAc5vD,EAAK7R,OAAO9G,QAAOgrD,GAASA,EAAMrqB,SAAWkpC,EAAAA,gBAAAA,cACtE10E,KAAK4H,MAAMyrE,oBAAsB7vD,EAAK7R,OAAO9G,QAAOgrD,GAASA,EAAMrqB,SAAWkpC,EAAAA,gBAAAA,gBAC9E10E,KAAK4H,MAAMwsE,aAAe5wD,EAAK7R,OAAO9G,QAAOgrD,GAASA,EAAMrqB,SAAWkpC,EAAAA,gBAAAA,c,CAG3E,iBAAwB/iE,GACpB3R,KAAK4H,MAAMwrE,YAAc,IAAIzhE,EAAOyhE,aACpCpzE,KAAK4H,MAAMwsE,aAAe,IAAIziE,EAAOyiE,a,CAGzC,yBAAgCO,GAC5B30E,KAAK4H,MAAM0sE,qBAAuBK,C,EAI1C,MAAMC,EAAY,IAAIrvC,EAAAA,GAAO,CACzB39B,MAhJJ,M,cACI,KAAOyG,gBAAsC,KAC7C,KAAOmmE,wBAGI,KACX,KAAOpB,YAAsC,KAC7C,KAAOC,oBAA8C,KACrD,KAAOe,aAAuC,KAC9C,KAAOE,qBAAuC,KAC9C,KAAO3vB,oBAAqB,C,GAuI5Bx0C,QAASo0B,EACTyB,QAASvB,EACTv8B,UAAWy7B,IAGFlxB,GAA6By0B,EAAAA,EAAAA,IAAiB0tC,GAE9CC,GAAgC3uC,EAAAA,EAAAA,IAAa0uC,GAE7CpnE,EAA+B1O,EAAAA,GAAAA,OAAW,CACnDyR,SAAU,IACHskE,EAA8BzuC,SAAS,CACtC,kBACA,0BACA,uBACA,0BAEDyuC,EAA8BxtC,WAAW,CAAC,qBAEjDhB,QAAS,IACFwuC,EAA8BtuC,WAAW,CACxC,kBACA,yBACA,mBACA,sBAKCuuC,EAAuBh2E,EAAAA,GAAAA,OAAW,CAC3CyR,SAAU,IACHskE,EAA8BzuC,SAAS,CAAC,cAAe,sBAAuB,oBAC9EyuC,EAA8BxtC,WAAW,CAAC,kBAUxC0tC,GANuBj2E,EAAAA,GAAAA,OAAW,CAC3CyR,SAAU,IACHskE,EAA8BzuC,SAAS,CAAC,cAAe,sBAAuB,qBAI3CsrB,EAAAA,EAAAA,GAA0B,IACjEmjB,EAA8BzuC,SAAS,CAAC,kBAAmB,+BAC3DyuC,EAA8BtuC,WAAW,CAAC,kBAAmB,yBAA0B,wBAK9F,G,mECvNO,MAAMyuC,EAA4B,uBAQ5BC,EAAkB,CAC3B,CACIvwE,IAAK,KACLhB,MAAO,2DAEX,CACIgB,IAAK,KACLhB,MAAO,4DAEX,CACIgB,IAAK,KACLhB,MAAO,6DAEX,CACIgB,IAAK,KACLhB,MAAO,0DAEX,CACIgB,IAAK,KACLhB,MAAO,2DAEX,CACIgB,IAAK,KACLhB,MAAO,0DAEX,CACIgB,IAAK,KACLwwE,eAAgB,CAAC,UAAW,MAC5BxxE,MAAO,4DAEX,CACIgB,IAAK,KACLhB,MAAO,4DAEX,CACIgB,IAAK,KACLhB,MAAO,2DAEX,CACIgB,IAAK,QACLhB,MAAO,kEAEX,CACIgB,IAAK,KACLwwE,eAAgB,CAAC,SAAU,MAC3BxxE,MAAO,2DAEX,CACIgB,IAAK,KACLhB,MAAO,0DAEX,CACIgB,IAAK,KACLhB,MAAO,0DAEX,CACIgB,IAAK,KACLhB,MAAO,8DAEX,CACIgB,IAAK,KACLhB,MAAO,8DAEX,CACIgB,IAAK,KACLhB,MAAO,8DAEX,CACIgB,IAAK,KACLhB,MAAO,+DAEX,CACIgB,IAAK,KACLhB,MAAO,4DAEX,CACIgB,IAAK,KACLhB,MAAO,6DAEX,CACIgB,IAAK,KACLhB,MAAO,2DAEX,CACIgB,IAAK,KACLhB,MAAO,2DAEX,CACIgB,IAAK,KACLhB,MAAO,+DAEX,CACIgB,IAAK,QACLhB,MAAO,sEAEX,CACIgB,IAAK,KACLhB,MAAO,6DAEX,CACIgB,IAAK,KACLhB,MAAO,4DAEX,CACIgB,IAAK,KACLhB,MAAO,2DAEX,CACIgB,IAAK,KACLwwE,eAAgB,CAAC,SACjBxxE,MAAO,4DAEX,CACIgB,IAAK,QACLhB,MAAO,+EAEX,CACIgB,IAAK,KACLhB,MAAO,4DAEX,CACIgB,IAAK,KACLhB,MAAO,yDAEX,CACIgB,IAAK,KACLhB,MAAO,4DAEX,CACIgB,IAAK,KACLhB,MAAO,gEAiBFyxE,EAA+B,CACxC,CACIzwE,IAAK,UACLvF,KAAM,SACNE,MAAO,6EAEX,CACIqF,IAAK,aACLvF,KAAM,SACNE,MAAO,gFAEX,CACIqF,IAAK,YACLvF,KAAM,SACNE,MAAO,+EAEX,CACIqF,IAAK,QACLvF,KAAM,OACNE,MAAO,2E,mJClKf,MAAM+1E,GAAYn0C,EAAAA,EAAAA,IAAgBo0C,EAAAA,2BAC5BC,GAAmBr0C,EAAAA,EAAAA,IAAgBs0C,EAAAA,kCACnCC,GAAgBv0C,EAAAA,EAAAA,IAAgBwF,EAAAA,gBAehCgvC,EAA2C,CAC7ClmC,KAAM,EACNC,SAAU,IAGP,SAASkmC,IACZ,OAAOF,EAAcG,yBAAyB1wC,KAAKuL,EAAAA,E,CAGhD,SAASolC,EAAmBC,G,IAAgClqB,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAiD,aAAd8pB,E,IAmBjF9pB,EAUAA,EA5BjB,IAAImqB,EACAC,EAEApqB,EAAOqqB,aAAerqB,EAAOqqB,YAAYxtE,OAAS,IAClDutE,EAAc,CAAC1vE,KAAKgyB,OAAOszB,EAAOqqB,eAGlCrqB,EAAOsqB,kBAAqExhE,IAAtDk3C,EAAOsqB,YAAYtqB,EAAOsqB,YAAYztE,OAAS,KACrEstE,EAAc,CAACzvE,KAAK+xB,OAAOuzB,EAAOsqB,eAGtC,IAAIC,EAASvqB,EAAOwqB,QAAU,iCAAmC,kB,IAEpDxqB,EAAoBA,EAD7BA,EAAOyqB,OACPF,GAAoB,QAAXvqB,EAAAA,EAAOyqB,YAAI,IAAXzqB,OAAAA,EAAAA,EAAajnD,OAAkC,KAAhB,QAAXinD,EAAAA,EAAOyqB,YAAI,IAAXzqB,OAAAA,EAAAA,EAAaiX,WAAsB,QAAU,KAG9E,MAAMyT,EAAYR,EAAYP,EAAiBM,mBAAqBR,EAAUQ,mBAExEnX,EAA0B,QAAf9S,EAAAA,EAAO8S,gBAAQ,IAAf9S,OAAAA,EAAAA,EACXvhD,KAAIksE,IACF,MAAM9yD,EAAOyxD,EAAAA,GAAAA,MAAqB7Q,GAAKA,EAAE1/D,MAAQ4xE,IACjD,OAAI9yD,aAAAA,EAAAA,EAAM0xD,gBACC,CAACoB,KAAS9yD,EAAK0xD,gBAEnBoB,CAAI,IAEdC,OAECC,EAA0B,QAAf7qB,EAAAA,EAAO6qB,gBAAQ,IAAf7qB,OAAAA,EAAAA,EAAiB1tC,KAAK,KAEvC,OAAOo4D,EACH1qB,EAAOpc,MAAQ,EACfoc,EAAOnc,UAAY,QACnB/6B,OACAA,EACAshE,EACAD,OACArhE,OACAA,OACAA,EACA,CAACgiE,EAAAA,aAAAA,SAAuBA,EAAAA,aAAAA,OAAqBA,EAAAA,aAAAA,UAC7C9qB,EAAOwqB,QACP1X,OACAhqD,OACAA,OACAA,OACAA,OACAA,EACA+hE,EACAN,OACAzhE,OACAA,OACAA,EACAk3C,EAAOxsD,KACPwsD,EAAO+qB,QACTzxC,KAAKuL,EAAAA,E,CAGJ,SAASmmC,EAAsB3lC,EAAK4lC,GACvC,OAAOtB,EACFuB,0BAA0BD,EAAoB,CAAEE,oBAAqB9lC,IACrE/L,KAAKuL,EAAAA,E,CAGP,SAASumC,EAAYr4E,GACxB,OAAO42E,EAAiB0B,4BAA4Bt4E,GAAIumC,KAAKuL,EAAAA,E,CAG1DhrB,eAAeyxD,EAAyBpB,EAAgCn3E,GAC3E,MAAM23E,EAAYR,EAAYP,EAAiB2B,yBAA2B7B,EAAU6B,yBACpF,aAAaZ,EAAU33E,GAAIumC,KAAKuL,EAAAA,E,CAG7BhrB,eAAe0xD,EAAqBx4E,G,IAAYy4E,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,IAAoB,aACvE,aAAa7B,EAAiB4B,qBAAqBx4E,EAAIy4E,GAAclyC,KAAKuL,EAAAA,E,CAGvEhrB,eAAe4xD,EAAyBvB,EAAgCn3E,GAC3E,MAAM23E,EAAYR,EAAYP,EAAiB8B,yBAA2BhC,EAAUgC,yBACpF,aAAaf,EAAU33E,GAAIumC,KAAKuL,EAAAA,E,yGChHpC,MAAM6mC,EAAoB,IAAM,qHAC1BC,EAAgC,IAAM,mE,IAOrC,G,SAAKC,GAAAA,EAAAA,EACK,cAAbC,GAAAA,gBADQD,EAAAA,EAEU,mBAAlBE,GAAAA,oB,EAFQF,IAAAA,EAAqB,KAIjC,MAkCA,EAlCiC,I,IAAA,sBAC7BhqC,EAAqB,0BACrBE,EAAyB,sBACzBlN,GAC0B,E,MAAmB,CAC7C/2B,KAAM,gBACNzE,KAAMwoC,EACN9M,UAAW42C,EACXrhE,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,sBACPC,EAAAA,GACHC,sBAAuBA,IAAyB,EAChDC,oBAAqB,CAAC7vB,EAAAA,GAAAA,mBACtBxR,KAAMo4E,EAAsBC,eAEhCxmE,SAAU,CACN,CACIxH,KAAM,WACNzE,KAAM0oC,EACNhN,UAAW62C,EACXthE,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,6BACPC,EAAAA,GACHC,sBAAuBA,IAAyB,EAChDC,oBAAqB,CAAC7vB,EAAAA,GAAAA,cACtBxR,KAAMo4E,EAAsBE,sBAIxC/2C,YAAa,CAAC0C,EAAOD,EAAKE,KACtB+W,EAAAA,EAAAA,SAAmB,oCAAoCnV,MAAK,IAAM5B,KAAO,EAEhF,C,uGC5CD,MAAMM,UAAuBC,EAAAA,GACzB,aAAoBiyC,GAChB71E,KAAK4H,MAAMiuE,UAAYA,C,EAIxB,MAAMpxC,UAAqBC,EAAAA,GAC9B,4BACI,QAA6BjwB,IAAzBzU,KAAK4H,MAAMiuE,UACX,OAAO71E,KAAK4H,MAAMiuE,UAEtB,MACMA,SADyBH,EAAAA,EAAAA,OACIgC,aAAc,EAGjD,OAFA13E,KAAKkI,UAAUyvE,aAAa9B,GAErBA,C,EAIf,MAAMxiC,EAAc,IAAI9N,EAAAA,GAAO,CAC3B39B,MAxBJ,QAyBIM,UAAWy7B,EACXqC,QAASvB,IAGAmzC,GAAkB1wC,EAAAA,EAAAA,IAAiBmM,GAEnCwkC,GAAqB3xC,EAAAA,EAAAA,IAAamN,GAClCykC,EAA0Bh5E,EAAAA,GAAAA,OAAW,CAC9CyR,SAAU,IACHsnE,EAAmBzxC,SAAS,CAAC,eAEpCC,QAASwxC,EAAmBtxC,WAAW,CAAC,0BAG5C,G,+BC3CO,MAQA,EAOA,E,wEAfKwxC,GAAAA,EAAAA,EACI,aAAZC,GAAAA,eADQD,EAAAA,EAEA,SAARE,GAAAA,WAFQF,EAAAA,EAGH,MAALniB,GAAAA,QAHQmiB,EAAAA,EAIJ,KAAJG,GAAAA,OAJQH,EAAAA,EAKH,MAALjiB,GAAAA,O,EALQiiB,IAAAA,EAAkB,K,SAQlBI,GAAAA,EAAAA,EACL,IAAHC,GAAAA,MADQD,EAAAA,EAEF,OAANE,GAAAA,SAFQF,EAAAA,EAGD,QAAPG,GAAAA,UAHQH,EAAAA,EAIC,UAATI,GAAAA,W,EAJQJ,IAAAA,EAAkB,K,SAOlBK,GAAAA,EAAAA,EACD,QAAPC,GAAAA,UADQD,EAAAA,EAEA,SAARE,GAAAA,WAFQF,EAAAA,EAGA,SAARG,GAAAA,WAHQH,EAAAA,EAIC,UAATI,GAAAA,W,EAJQJ,IAAAA,EAAc,KAqBnB,MAAMK,EAA0D3uE,OAAOw7C,OAAO,CACjF,CACI5sC,MAAO,0BACP/O,KAAM,QACN5K,KAAMg5E,EAAmBC,KAE7B,CACIt/D,MAAO,yBACP/O,KAAM,QACN5K,KAAMg5E,EAAmBE,OACzB3sE,KAAM,EACNnC,GAAI,KAER,CACIuP,MAAO,0BACP/O,KAAM,QACN5K,KAAMg5E,EAAmBG,QACzB5sE,KAAM,IACNnC,GAAI,MAER,CACIuP,MAAO,iCACP/O,KAAM,QACN5K,KAAMg5E,EAAmBI,UACzB7sE,KAAM,QAIDotE,EAAkD5uE,OAAOw7C,OAAO,CACzE,CACI5sC,MAAO,sBACP3Z,KAAMq5E,EAAeI,WAEzB,CACI9/D,MAAO,qBACP3Z,KAAMq5E,EAAeG,UAEzB,CACI7/D,MAAO,qBACP3Z,KAAMq5E,EAAeE,Y,IAItB,G,SAAKK,GAAAA,EACK,cAAG,QADRA,EAEW,oBAAG,cAFdA,EAGQ,iBAAG,WAHXA,EAIQ,iBAAG,cAJXA,EAKQ,iBAAG,gBALXA,EAMS,kBAAG,eANZA,EAOD,QAAG,WAPFA,EAQD,QAAG,YARFA,EASM,eAAG,SATTA,EAUE,WAAG,a,EAVLA,IAAAA,EAAgB,I,yLCxE5B,MAAMC,GAAkB/3C,EAAAA,EAAAA,IAAgBg4C,EAAAA,wBAEjC,SAASC,EAAeztE,EAAkB,G,IAAA,SAAE+pC,EAAQ,UAAEiI,EAAS,OAAEE,GAAvB,EAC7C,MAAMhc,EAAIl2B,EAAMjC,KAAK,CACjBq3B,EAAAA,GAAAA,SACAA,EAAAA,GAAAA,QACAA,EAAAA,GAAAA,OACAA,EAAAA,GAAAA,OACA2U,EACA3U,EAAAA,GAAAA,QACA4c,EACA5c,EAAAA,GAAAA,KACA8c,IAGJ,OAAO5b,EAAAA,GAAAA,IAAwBJ,GAAGsD,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAGtD,SAAS6zB,EAAUzH,GACtB,OAAOwjC,EAAgB97B,uBAAuB1H,GAAUvQ,KAAKuL,EAAAA,E,CAG1D,SAAS2oC,EAAa1tE,EAAkB,G,IAAA,SAAE+pC,EAAQ,UAAEiI,EAAS,OAAEE,GAAvB,EAC3C,MAAMhc,EAAIl2B,EAAMjC,KAAK,CACjBq3B,EAAAA,GAAAA,SACAA,EAAAA,GAAAA,QACAA,EAAAA,GAAAA,OACAA,EAAAA,GAAAA,OACA2U,EACA3U,EAAAA,GAAAA,QACA4c,EACA5c,EAAAA,GAAAA,KACA8c,EACA9c,EAAAA,GAAAA,WAGJ,OAAOkB,EAAAA,GAAAA,KAAyBJ,GAAGsD,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAGvD,SAASgwD,EACZ3tE,EACA,G,IAAA,SAAE+pC,EAAQ,OAAElE,GAAZ,EAEA,MAAM3P,EAAIl2B,EAAMjC,KAAK,CACjBq3B,EAAAA,GAAAA,SACAA,EAAAA,GAAAA,QACAA,EAAAA,GAAAA,OACAA,EAAAA,GAAAA,OACA2U,EACA3U,EAAAA,GAAAA,MACAA,EAAAA,GAAAA,KACAyQ,EACAzQ,EAAAA,GAAAA,YAGJ,OAAOkB,EAAAA,GAAAA,KAAyBJ,GAAGsD,MAAK7b,GAAQA,G,CAG7C,SAASiwD,EAAcp3C,GAM1B,MAEMN,GAFQ,IAAIC,EAAAA,GAEFp4B,KAAK,CACjBq3B,EAAAA,GAAAA,SACAA,EAAAA,GAAAA,QACAA,EAAAA,GAAAA,OACAA,EAAAA,GAAAA,OACAoB,EAAQuT,SACR3U,EAAAA,GAAAA,QACAoB,EAAQwb,UACR5c,EAAAA,GAAAA,KACAoB,EAAQ0b,OACR9c,EAAAA,GAAAA,QAGJ,OAAOkB,EAAAA,GAAAA,KACGJ,EAAG,CACL23C,YAAar3C,EAAQs3C,aAExBt0C,MAAK7b,GAAQA,G,CCrFtB,MAAMowD,GAAuBv4C,EAAAA,EAAAA,IAAgBw4C,EAAAA,0BAUtC,SAASC,EAAyBlwD,GACrC,OAAOgwD,EACFG,qBAAqBnwD,EAAQ8nB,OAAQ9nB,EAAQ8B,QAAS9B,EAAQ+uB,MAAO/uB,EAAQ+lB,KAAM/lB,EAAQgmB,UAC3FvK,KAAKuL,EAAAA,E,CCfd,MAAMopC,GAAoB34C,EAAAA,EAAAA,IAAgB44C,EAAAA,oBACpCC,GAAwB74C,EAAAA,EAAAA,IAAgB84C,EAAAA,wBAEvC,SAASC,EAAYC,GACxB,OAAOL,EAAkBM,gBAAgBD,GAAYh1C,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CAGzE,SAAS+wD,EAAiBF,EAAoBG,GACjD,OAAON,EAAsBK,iBAAiBF,EAAYG,GAAgBn1C,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,CCPrG,MAAMixD,GAAap5C,EAAAA,EAAAA,IAAgB2X,EAAAA,gBAE5B,SAAS0hC,IACZ,OAAOD,EAAWE,sBAAsBt1C,KAAKuL,EAAAA,E,2BCE1C,SAASgqC,EAAcC,GAC1B,MAAM5vE,EAAS,IAAIokC,EAAAA,GACnB,GAAIwrC,EAAU,CACV,MAAMC,EAAmBD,aAAAA,EAAAA,EAAUx8D,KAAK,KACxCy8D,GAAoB7vE,EAAOqkC,MAAM6pC,EAAAA,GAAAA,SAA0BluE,OAAOskC,EAAAA,GAAAA,UAAoBurC,E,CAG1F,MAAM/4C,GAAI,IAAIC,EAAAA,GACTuO,OAAO,CAACtP,EAAAA,GAAAA,SAAuBA,EAAAA,GAAAA,QAAsBA,EAAAA,GAAAA,OAAqBA,EAAAA,GAAAA,QAC1EgB,MAAM,CAAEuO,UAAW,MACnB9kB,QAAQzgB,GAEb,OAAOk3B,EAAAA,GAAAA,IAAuDJ,GAAGsD,MAAM,I,IAAA,KAAE7b,GAAM,E,OAAKA,CAAI,G,gCCrBrF,M,0BAAWgkC,GAAAA,EACM,qBAAG,uBADTA,EAEG,kBAAG,mBAFNA,EAGC,gBAAG,kBAHJA,EAID,cAAG,gBAJFA,EAKK,oBAAG,sBALRA,EAMG,kBAAG,mB,EANNA,IAAAA,EAAiB,I,6FCU5B,MAAMutB,UAA2Bj2C,EAAAA,GAMpC,uBAA8BzC,GAC1B,MAAM24C,EAAcp5E,QAAQ/C,QAAyB,IAE/Co8E,EAAW,EACb59B,EAAAA,EAAAA,IAAUhb,EAAQuT,UAClBvT,EAAQ64C,WAAYvlC,EAAAA,EAAAA,IAAgBtT,EAAQuT,UAAU/zC,OAAM,IAAMm5E,IAAeA,IAG9Ex9B,EAAQzrC,SAAgBnQ,QAAQuxC,IAAI8nC,GAE3C76E,KAAKkI,UAAU6yE,UAAU39B,GACzBp9C,KAAKkI,UAAU8yE,gBAAgBrpE,E,CAGnC,8BAAqCswB,G,IASzB,EAFR,IAFAjiC,KAAKkI,UAAU+yE,mBAAmBh5C,EAAQwb,WAC1Cz9C,KAAKkI,UAAUgzE,gBAAgBj5C,EAAQ0b,QACnC1b,EAAQ0b,QAAU1b,EAAQwb,YAAcz9C,KAAK4H,MAAMw1C,QAAUnb,EAAQuT,aACrEx1C,KAAKkI,UAAUizE,sBAAqB,IACH,QAA7B,EAAAn7E,KAAK4H,MAAMwzE,0BAAkB,IAA7B,WAA+B18E,MAAOujC,EAAQ0b,QAAQ,C,IAGxC,EAFd39C,KAAKkI,UAAUmzE,eAAe,MAC9B,MAAMC,QAAoBpC,EAAAA,EAAAA,IAAel5E,KAAK4H,MAAM6D,MAAM8vE,QAAS,CAC/D/lC,UAA2B,QAAjB,EAAAx1C,KAAK4H,MAAMw1C,cAAM,IAAjB,WAAmB1+C,KAAMujC,EAAQuT,SAC3CiI,UAAWxb,EAAQwb,UACnBE,OAAQ1b,EAAQ0b,SAGpB39C,KAAKkI,UAAUmzE,eAAeC,GAC9Bt7E,KAAKkI,UAAUizE,sBAAqB,E,EAKhD,mBACI,MAAM,OAAEx9B,EAAM,UAAEF,EAAS,OAAEL,GAAWp9C,KAAK4H,MACrC0zE,QAAoBpC,EAAAA,EAAAA,IAAel5E,KAAK4H,MAAM6D,MAAM8vE,QAAS,CAC/D/lC,SAAU4H,aAAAA,EAAAA,EAAQ1+C,GAClB++C,YACAE,WAGJ39C,KAAKkI,UAAUmzE,eAAeC,E,CAGlC,4BACIt7E,KAAKkI,UAAUmzE,eAAe,MAC9Br7E,KAAKkI,UAAU+yE,mBAAmB,MAClCj7E,KAAKkI,UAAUgzE,gBAAgB,K,CAGnC,kCAOI,aANM/B,EAAAA,EAAAA,IAAan5E,KAAK4H,MAAM6D,MAAM8vE,QAAS,CACzC/lC,SAAUx1C,KAAK4H,MAAMw1C,OAAQ1+C,GAC7B++C,UAAWz9C,KAAK4H,MAAM61C,UACtBE,OAAQ39C,KAAK4H,MAAM+1C,SAGhB39C,KAAKkI,UAAUszE,2B,CAG1B,iCAAwC,G,IAAA,SAAEhmC,EAAQ,OAAElE,GAAZ,QAC9B8nC,EAAAA,EAAAA,IAAqBp5E,KAAK4H,MAAM6D,MAAM8vE,QAAS,CACjD/lC,WACAlE,U,EC9EL,MAAMmqC,UAA2Bj3C,EAAAA,GACzBk3C,oBACP,OAAO17E,KAAKmQ,QAAQwrE,WAAW37E,KAAK4H,MAAM61C,U,CAGnCm+B,iB,IACA,EAAP,OAAiC,QAA1B,EAAA57E,KAAKmQ,QAAQurE,qBAAa,IAA1B,WAA4BG,MAAM9qE,MAAKw+B,GAAQA,EAAK7wC,KAAOsB,KAAK4H,MAAM+1C,WAAW,I,CAGjFm+B,6B,IACA,EAAP,OAA8B,QAAvB,EAAA97E,KAAKmQ,QAAQyrE,kBAAU,IAAvB,WAAyBG,gBAAgB,C,CAGzCC,yB,IAC0C,EAAjD,OAAOz8E,QAAQS,KAAK4H,MAAMwzE,sBAAoD,QAA7B,EAAAp7E,KAAK4H,MAAMwzE,0BAAkB,IAA7B,WAA+B18E,MAAOsB,KAAK4H,MAAM+1C,M,CAGtG,WAAkBF,G,IACP,EAAP,OAAwB,QAAjB,EAAAz9C,KAAK4H,MAAMw1C,cAAM,IAAjB,WAAmB6+B,SAASlrE,MAAKusC,GAAWA,EAAQ5+C,KAAO++C,MAAc,I,CAGpF,+BAAsCA,EAAWE,GAC7C,MAAML,EAAUt9C,KAAKmQ,QAAQwrE,WAAWl+B,GAExC,OAAOH,aAAAA,EAAAA,EAASu+B,MAAM5kD,MAAKsY,GAAQA,EAAK7wC,KAAOi/C,OAAW,C,CAGnDu+B,mBACP,MAAMlrC,EAAqBhxC,KAAK4H,MAAM61C,WAAaz9C,KAAK4H,MAAM+1C,OAC9D,OAAOh2B,OAAO81C,MAAMzsB,IAAe,MAAPA,C,CAGrBmrC,uBACP,MAAMT,EAAgB17E,KAAKmQ,QAAQurE,cAEnC,OAAIA,EACOA,EAAcG,MAAM9gD,WAAUwU,I,IACd,EAAnB,OAAOA,EAAK7wC,MAA8B,QAAvB,EAAAsB,KAAKmQ,QAAQyrE,kBAAU,IAAvB,WAAyBl9E,GAAE,IAI/C,C,CAGA09E,qC,IAEH,EACA,EAFJ,MAAMC,GACe,QAAjB,EAAAr8E,KAAK4H,MAAMw1C,cAAM,IAAjB,WAAmB6+B,SAASlrE,MAAKusC,GAAWA,EAAQu+B,MAAM5kD,MAAKsY,IAASA,EAAKwsC,oBAC5D,QAAjB,EAAA/7E,KAAK4H,MAAMw1C,cAAM,IAAjB,WAAmB6+B,SAAS,IAE1BK,GACFD,aAAAA,EAAAA,EAAqBR,MAAM9qE,MAAKw+B,IAASA,EAAKwsC,kBAAiBM,aAAAA,EAAAA,EAAqBR,MAAM,IAE9F,MAAO,CACHv+B,QAAS++B,EACT9sC,KAAM+sC,E,CAIHC,oBACP,QAAKv8E,KAAK4H,MAAMw1C,SAIsB,UAAlCp9C,KAAK4H,MAAMw1C,OAAOuB,aAA6D,aAAlC3+C,KAAK4H,MAAMw1C,OAAOuB,eAE3D3+C,KAAK4H,MAAMw1C,OAAO6+B,SAASzzE,SAAWxI,KAAK4H,MAAMw1C,OAAO6+B,SAAS,GAAGJ,MAAMrzE,Q,iBChEnF,MAAMg0E,UAA6B54C,EAAAA,GACtC,UAAiBwZ,GACbp9C,KAAK4H,MAAMw1C,OAASA,C,CAGxB,gBAAuBq/B,GACnBz8E,KAAK4H,MAAM60E,aAAeA,C,CAG9B,eAAsBnB,GAClBt7E,KAAK4H,MAAMwzE,mBAAqBE,C,CAGpC,qBAA4B53E,GACxB1D,KAAK4H,MAAM80E,oBAAsBh5E,C,CAGrC,QACI1D,KAAK4H,MAAMw1C,OAAS,KACpBp9C,KAAK4H,MAAMwzE,mBAAqB,KAChCp7E,KAAK4H,MAAM61C,UAAY,KACvBz9C,KAAK4H,MAAM+1C,OAAS,KACpB39C,KAAK4H,MAAM6D,MAAQ,IAAIm2B,EAAAA,C,CAG3B,mBAA0B6b,GACtBz9C,KAAK4H,MAAM61C,UAAYA,C,CAG3B,gBAAuBE,GACnB39C,KAAK4H,MAAM+1C,OAASA,C,CAGxB,4B,IAC0B,EAAtB,MAAM+9B,GAAiC,QAAjB,EAAA17E,KAAK4H,MAAMw1C,cAAM,IAAjB,WAAmB6+B,SAASlrE,MAAKusC,GAAWA,EAAQ5+C,KAAOsB,KAAK4H,MAAM61C,cAAc,KACpGm+B,GAAaF,aAAAA,EAAAA,EAAeG,MAAM9qE,MAAKw+B,GAAQA,EAAK7wC,KAAOsB,KAAK4H,MAAM+1C,WAAW,KAEnFi+B,IACAA,EAAWG,cAAe,E,CAIlC,iBAAwBn0E,GACpB5H,KAAK4H,MAAM+0E,cAAgB/0E,C,EC1CnC,MAAMg1E,EAAoB,IAAIr3C,EAAAA,GAAO,CACjC39B,MCJG,M,cACH,KAAO6D,MAAmB,IAAIm2B,EAAAA,EAC9B,KAAOwb,OAAqC,KAC5C,KAAOq/B,aAAuC,KAC9C,KAAOh/B,UAA2B,KAClC,KAAOE,OAAwB,KAC/B,KAAOy9B,mBAA+C,KACtD,KAAOuB,eAAgB,EACvB,KAAOD,qBAAsB,C,GDH7BvsE,QAASsrE,EACTvzE,UAAWs0E,EACXx2C,QAAS20C,IAGAkC,GAA0B32C,EAAAA,EAAAA,IAAa02C,GACpD,G,6FEPO,MAAMjC,UAA2Bj2C,EAAAA,GAMpC,uBAA8BzC,GAC1BjvB,QAAQgtD,MAAM,yBACd,MAAM5iB,QAAe6E,EAAAA,EAAAA,IAAgBhgB,EAAQuT,UAC7Cx1C,KAAKkI,UAAU40E,gBAAgB1/B,E,CAGnC,wBAA+Bnb,GAC3BjiC,KAAKkI,UAAU+yE,mBAAmBh5C,EAAQ86C,iBAC1C/8E,KAAKkI,UAAUgzE,gBAAgBj5C,EAAQ+6C,a,CAG3C,kCACI,OAAOh9E,KAAKkI,UAAUszE,2B,ECtBvB,MAAMC,UAA2Bj3C,EAAAA,GACzBk3C,oBACP,GAAgC,OAA5B17E,KAAK4H,MAAMq1E,aACX,OAAOj9E,KAAK4H,MAAMq1E,aAAahB,SAASlrE,MAAKusC,GAAWA,EAAQ5+C,KAAOsB,KAAK4H,MAAMm1E,iB,CAI/EnB,iBACP,MAAMsB,EAAiBl9E,KAAKmQ,QAAQurE,cACpC,QAAuBjnE,IAAnByoE,EACA,OAAOA,EAAerB,MAAM9qE,MAAKw+B,GAAQA,EAAK7wC,KAAOsB,KAAK4H,MAAMo1E,c,CAI7DG,4BACP,QAAgC1oE,IAA5BzU,KAAKmQ,QAAQyrE,WACb,OAAO57E,KAAKmQ,QAAQyrE,WAAWG,Y,CAIvC,WAAkBt+B,GACd,GAAgC,OAA5Bz9C,KAAK4H,MAAMq1E,aACX,OAAOj9E,KAAK4H,MAAMq1E,aAAahB,SAASlrE,MAAKusC,GAAWA,EAAQ5+C,KAAO++C,G,CAI/E,+BAAsCA,EAAWE,GAC7C,MAAML,EAAUt9C,KAAKmQ,QAAQwrE,WAAWl+B,GACxC,YAAgBhpC,IAAZ6oC,GACOA,EAAQu+B,MAAM5kD,MAAKsY,GAAQA,EAAK7wC,KAAOi/C,G,CAK3Cy/B,wBACP,OAAOp9E,KAAK4H,MAAMy1E,c,EChCnB,MAAMb,UAA6B54C,EAAAA,GACtC,gBAAuBwZ,GACnBp9C,KAAK4H,MAAMq1E,aAAe7/B,C,CAG9B,oBACIp9C,KAAK4H,MAAMq1E,aAAe,KAC1Bj9E,KAAK4H,MAAMm1E,gBAAkB,KAC7B/8E,KAAK4H,MAAMo1E,aAAe,I,CAG9B,mBAA0Bv/B,GACtBz9C,KAAK4H,MAAMm1E,gBAAkBt/B,C,CAGjC,gBAAuBE,GACnB39C,KAAK4H,MAAMo1E,aAAer/B,C,CAG9B,4B,IAC0B,EAAtB,MAAM+9B,EAAuC,QAAvB,EAAA17E,KAAK4H,MAAMq1E,oBAAY,IAAvB,WAAyBhB,SAASlrE,MACpDusC,GAAWA,EAAQ5+C,KAAOsB,KAAK4H,MAAMm1E,kBAEnCnB,EAAaF,aAAAA,EAAAA,EAAeG,MAAM9qE,MAAKw+B,GAAQA,EAAK7wC,KAAOsB,KAAK4H,MAAMo1E,oBAEzDvoE,IAAfmnE,IACAA,EAAWG,cAAe,E,CAIlC,wBAA+B3yD,GACvBpO,MAAMyC,QAAQ2L,GACdppB,KAAK4H,MAAMy1E,eAAiBj0D,EAE5BppB,KAAK4H,MAAMy1E,eAAex/D,KAAK,CAC3By/D,WAAYl0D,EAAKrkB,KACjBw4E,SAAUn0D,EAAK1qB,GACf8+E,uBAAwB,EACxBC,yBAA0B,G,CAKtC,wBAA+Br0D,GAC3BppB,KAAK4H,MAAM81E,eAAiBt0D,C,CAGhC,kBAAyBjgB,GACrBnJ,KAAK4H,MAAMy1E,eAAiBr9E,KAAK4H,MAAMy1E,eAAexyE,QAAOwB,GAClDA,EAAGkxE,WAAap0E,EAAKo0E,U,CAIpC,kBAAyBp0E,GACrBnJ,KAAK4H,MAAM81E,eAAiB19E,KAAK4H,MAAM81E,eAAe7yE,QAAOwB,GAClDA,EAAG3N,KAAOyK,EAAKzK,I,CAI9B,eACIsB,KAAK4H,MAAMy1E,eAAiB,GAC5Br9E,KAAK4H,MAAM81E,eAAiB,E,EC7DpC,MAAMC,EAAmB,IAAIp4C,EAAAA,GAAO,CAChC39B,MCLG,M,cACH,KAAOq1E,aAA2C,KAClD,KAAOF,gBAAiC,KACxC,KAAOC,aAA8B,KACrC,KAAOK,eAA8B,GACrC,KAAOK,eAAkC,E,GDCzCvtE,QAASsrE,EACTvzE,UAAWs0E,EACXx2C,QAAS20C,IAEAiD,GAAsB12C,EAAAA,EAAAA,IAAiBy2C,GACvCE,GAAoB33C,EAAAA,EAAAA,IAAay3C,GAC9C,G,kFEXO,SAASG,EAAqBj0B,EAAkB9jD,GACnD,MAAMg4E,EAAa13E,KAAKsS,MAAMkxC,EAAW,IAEzC,GAAIk0B,GAAc,GAAI,CAClB,MAAM12D,EAAQhhB,KAAKC,MAAMy3E,EAAa,IAChCz2D,EAAUjhB,KAAKsS,MAAMolE,EAAa,IAExC,OAAOz2D,EAAU,EACXvhB,EAAM,0CAA2C,CAC7CshB,QACAC,YAEJvhB,EAAM,kCAAmC,CACrCshB,S,CAGV,OAAOthB,EAAM,oCAAqC,CAAEuhB,QAASy2D,G,CAI9D,SAASC,EAAsBv2D,EAAcw2D,GAChD,MAAMC,EAAkB,IAAIlW,OAAOiW,EAAY,MACzC5iB,EAAQ5zC,EAAK4zC,MAAM6iB,GACzB,GAAI7iB,EAAO,CACP,MAAM8iB,EAAoB9iB,EAAM,GAChC,OAAO5zC,EAAKhe,QACRy0E,EACA,uBAAuB/xD,EAAAA,EAAAA,YAA2BgyD,W,CAGtD,OAAO12D,C,CAIR,SAAS22D,EAAehhC,EAA6B6gC,GACxD,OAAOD,EAAsB5gC,aAAAA,EAAAA,EAAQ/9C,MAAO4+E,E,CAGzC,SAASI,EAAqBjhC,EAA6B6gC,GAC9D,IAAK7gC,EAAO99C,YACR,OAEJ,MAAMg/E,EAAyB,GACzBC,EAAqBN,EAAWz1E,OAChCg2E,EAAuBn4E,KAAKC,MAAMg4E,EAAyBC,GAC3DE,EAAoBrhC,EAAO99C,YAAYo/E,oBAAoBtlE,QAAQ6kE,EAAWS,qBAC9EC,EAAqBvhC,aAAAA,EAAAA,EAAQ99C,YAAYkJ,OAE/C,GAAIi2E,EAAoBH,GAA0BK,EAAqBL,EACnE,OAAON,EAAsB5gC,EAAO99C,YAAa2+E,GAGrD,GAAIQ,EAAoBH,GAA0BK,EAAqBL,EACnE,OAAON,EAAsB5gC,EAAO99C,YAAYiwB,MAAM,EAAG+uD,GAAyBL,GAAc,MAEpG,GAAIQ,EAAoBE,EAAqBL,EACzC,MACI,MACAN,EACI5gC,EAAO99C,YAAYiwB,MAAMovD,EAAqBL,EAAwBK,GACtEV,GAIZ,MAAMW,EACFH,EAAoBD,EAAuB,EAAI,EAAI,EAAIC,EAAoBD,EAAuB,EAMtG,MAAO,MAAQR,EAJF5gC,EAAO99C,YAAYiwB,MAC5BqvD,EACAH,EAAoBF,EAAqBC,EAAuB,GAEzBP,GAAc,K,+DClEtD,SAASvsB,EACZmtB,GAKA,SAASC,EAAQr3E,GACb,MAAO,CACHs3E,OAAQt3E,KACLo3E,E,CAIX,OADAC,EAAQprD,OAAS,CAACi3B,EAAAA,EAAAA,WACXm0B,C,iDCtBJ,MAAMn0B,EAAgBzgD,OAAOw7C,OAAO,CACvCs5B,UAAW,YACXC,UAAW,YACXC,wBAAyB,0BACzBC,sBAAuB,wBACvBC,uBAAwB,yBACxB1qC,0BAA2B,6B,+DCHxB,SAAS/hC,IACZ,MAAMsmD,GAAKC,EAAAA,EAAAA,sBACX,IAAKD,EACD,MAAM,IAAI36D,MAAM,0DAGpB,OAAO26D,EAAGp0D,MAAMw6E,S,gCCTpB,IA2DgCC,EAGRA,EA9DjB,E,kCAAKtkC,GAAAA,EACL,IAAG,SADEA,EAEH,MAAG,iBAFAA,EAGJ,KAAJukC,M,EAHQvkC,IAAAA,EAAY,KA2ExB,QAtCiC,CAC7BwkC,cAAeF,mBACfG,WAAYH,MACZI,cAAeJ,QACfK,cAAcL,EACdM,WAAYN,YACZjkC,WAAYikC,wCACZpkC,OAAQokC,CAAAA,iBAAAA,MAAAA,yBAAAA,SAAAA,uBAAAA,QAAAA,uBAAAA,2CAAAA,4BAAAA,0CAAAA,oBAAAA,MAAAA,qBAAAA,uCAAAA,gBAAAA,wCAAAA,iCAAAA,IAAAA,wBAAAA,sCAAAA,uBAAAA,OAAAA,uBAAAA,mBAAAA,yBAAAA,UAAAA,sBAAAA,iBAAAA,oBAAAA,YAAAA,oBAAAA,mCAAAA,mBAAAA,2EAAAA,yBAAAA,iCAAAA,oBAAAA,UAAAA,SAAAA,aAAAA,SAAAA,cAAYO,gBACpBC,YAAa,iBACbC,WAAYT,MACZU,uBAAwB,uCACxBC,QAAS,kBACTC,eAAgBZ,SAChBa,UAAWb,2EACXc,cAAed,2CACfe,iBAAkBf,0CAClBngF,KAAMmgF,UACNgB,cAAehB,mCACfiB,iBAAkBjB,CAAAA,iBAAAA,MAAAA,yBAAAA,SAAAA,uBAAAA,QAAAA,uBAAAA,2CAAAA,4BAAAA,0CAAAA,oBAAAA,MAAAA,qBAAAA,uCAAAA,gBAAAA,wCAAAA,iCAAAA,IAAAA,wBAAAA,sCAAAA,uBAAAA,OAAAA,uBAAAA,mBAAAA,yBAAAA,UAAAA,sBAAAA,iBAAAA,oBAAAA,YAAAA,oBAAAA,mCAAAA,mBAAAA,2EAAAA,yBAAAA,iCAAAA,oBAAAA,UAAAA,SAAAA,aAAAA,SAAAA,cAAYkB,oBAC9BC,eAAgBnB,iCAChBoB,mBAAoB,SACpBtV,eAAgBkU,sCAChBqB,oBAA0F,UAArEvhF,OAAkB,QAAXkgF,EAAAA,CAAAA,iBAAAA,MAAAA,yBAAAA,SAAAA,uBAAAA,QAAAA,uBAAAA,2CAAAA,4BAAAA,0CAAAA,oBAAAA,MAAAA,qBAAAA,uCAAAA,gBAAAA,wCAAAA,iCAAAA,IAAAA,wBAAAA,sCAAAA,uBAAAA,OAAAA,uBAAAA,mBAAAA,yBAAAA,UAAAA,sBAAAA,iBAAAA,oBAAAA,YAAAA,oBAAAA,mCAAAA,mBAAAA,2EAAAA,yBAAAA,iCAAAA,oBAAAA,UAAAA,SAAAA,aAAAA,SAAAA,qBAAW,IAAXA,OAAAA,EAAAA,EAAasB,+BAA+B/lD,cACxEswC,qBAAsBmU,CAAAA,iBAAAA,MAAAA,yBAAAA,SAAAA,uBAAAA,QAAAA,uBAAAA,2CAAAA,4BAAAA,0CAAAA,oBAAAA,MAAAA,qBAAAA,uCAAAA,gBAAAA,wCAAAA,iCAAAA,IAAAA,wBAAAA,sCAAAA,uBAAAA,OAAAA,uBAAAA,mBAAAA,yBAAAA,UAAAA,sBAAAA,iBAAAA,oBAAAA,YAAAA,oBAAAA,mCAAAA,mBAAAA,2EAAAA,yBAAAA,iCAAAA,oBAAAA,UAAAA,SAAAA,aAAAA,SAAAA,cAAYuB,gCAAkC,aACpEC,sBAKJ,WACQ,EAKJ,OAAOnS,WAAW2Q,I,CAXKwB,GACvBC,YAA6E,UAAhE3hF,OAAkB,QAAXkgF,EAAAA,CAAAA,iBAAAA,MAAAA,yBAAAA,SAAAA,uBAAAA,QAAAA,uBAAAA,2CAAAA,4BAAAA,0CAAAA,oBAAAA,MAAAA,qBAAAA,uCAAAA,gBAAAA,wCAAAA,iCAAAA,IAAAA,wBAAAA,sCAAAA,uBAAAA,OAAAA,uBAAAA,mBAAAA,yBAAAA,UAAAA,sBAAAA,iBAAAA,oBAAAA,YAAAA,oBAAAA,mCAAAA,mBAAAA,2EAAAA,yBAAAA,iCAAAA,oBAAAA,UAAAA,SAAAA,aAAAA,SAAAA,qBAAW,IAAXA,OAAAA,EAAAA,EAAa0B,0BAA0BnmD,cAC3DomD,gBAAiB3B,CAAAA,iBAAAA,MAAAA,yBAAAA,SAAAA,uBAAAA,QAAAA,uBAAAA,2CAAAA,4BAAAA,0CAAAA,oBAAAA,MAAAA,qBAAAA,uCAAAA,gBAAAA,wCAAAA,iCAAAA,IAAAA,wBAAAA,sCAAAA,uBAAAA,OAAAA,uBAAAA,mBAAAA,yBAAAA,UAAAA,sBAAAA,iBAAAA,oBAAAA,YAAAA,oBAAAA,mCAAAA,mBAAAA,2EAAAA,yBAAAA,iCAAAA,oBAAAA,UAAAA,SAAAA,aAAAA,SAAAA,cAAY4B,0BAA4B,G,mHCvDtD,SAASC,EAAoBl3B,EAAmBxiD,GACnD3I,EAAAA,QAAAA,OAAAA,aAA0B0mB,eAAgB9jB,GAClCA,aAAeylD,EAAAA,WACT8C,EAAOpsC,KAAKssC,EAAAA,GAClBwD,EAAAA,GAAAA,QAA0BlmD,GAAOu+B,QAAQ4jB,wBAAwB,CAC7D3vC,MAAO,UACPwB,QAAS0+B,EAAAA,GAAAA,QAA0B1yC,GAAO0I,QAAQpK,MAAM,0CACxD8jD,SAAU,M,ECbnB,SAASu3B,IACZ,MAAM,IAAIj6B,EAAAA,E,6GCKP,G,SAAWk6B,GAAAA,EACA,eAAG,gB,EADHA,IAAAA,EAAiB,KAInC,MAaA,EAb8B,CAC1B,CACI73E,KAAM,kCACNzE,KANa,iBAObiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,YACV5d,iBAAkB2qC,EAAAA,EAAAA,mBAEtB1sB,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,QACjDH,UAfoB,IAAM,uF,0ECHlC,IAAIgoC,GAAgB,EACb,SAAS6Y,IACR7Y,IAEA5tB,EAAAA,EAAAA,gBACA0mC,EAAAA,KAAe,CAAEC,MAAO3mC,EAAAA,EAAAA,iBAG5B4tB,GAAgB,E,gCCXb,M,0BAAKgZ,GAAAA,EACE,WAAG,aADLA,EAEa,sBAAG,wBAFhBA,EAGQ,iBAAG,mBAHXA,EAIY,qBAAG,6BAJfA,EAKS,kBAAG,0BALZA,EAMS,kBAAG,oBANZA,EAO8B,uCAAG,yCAPjCA,EAQgB,yBAAG,2BARnBA,EASS,kBAAG,oBATZA,EAUS,kBAAG,oBAVZA,EAWK,cAAG,gBAXRA,EAYM,eAAG,iBAZTA,EAaM,eAAG,iBAbTA,EAcU,mBAAG,qBAdbA,EAe6B,sCAAG,wCAfhCA,EAgBa,sBAAG,uB,EAhBhBA,IAAAA,EAAe,I,mECE3B,MAAMte,EAAY,kBAEX,SAASue,IACZ,MAAMzyB,EAAaH,aAAaI,QAAQiU,GAExC,OAAsB,OAAflU,EAAuBtlB,KAAKxjC,MAAM8oD,GAAoC,I,CAG1E,SAAS0yB,EAAwBv4D,GACpC,MAAMwgB,EAAYD,KAAKC,UAAUxgB,GAEjC,OAAO0lC,aAAaK,QAAQgU,EAAWv5B,E,CAGpC,SAASg4C,IACZ9yB,aAAaC,WAAWoU,E,6JCV5B,MAAM9pB,GAA4BpY,EAAAA,EAAAA,IAAgB4gD,EAAAA,2B,eCmB3Cr8D,eAAes8D,IAClB,GAAyB,eAArBjnC,EAAAA,EAAAA,KAAmC,MAAO,CAAC,EAK/C,MAAO,IArBX,WACI,IACI,MAAMn3C,EAAQorD,aAAaI,QAJW,8BAKtC,OAAKxrD,EAEEimC,KAAKxjC,MAAMzC,GAFC,CAAC,C,CAGtB,MAAOkI,GACL,MAAO,CAAC,C,EAWsBm2E,YAPtCv8D,iBACI,OAAOR,OAAO88D,4BAA8B98D,OAAO88D,8BAAgC,CAAC,C,CAO7CE,G,CCf3C,MAAMz9C,UAAqBC,EAAAA,GACvB,kCAAyCrzB,G,IACtB,EAAf,OAAO5R,QAA+C,QAAvC,EAAAS,KAAK4H,MAAMq6E,gBAAgB9wE,UAAY,IAAvC,WAAyCzN,M,CAG5D,2BAAkCyN,G,IACvB,EAAP,OAA8C,QAAvC,EAAAnR,KAAK4H,MAAMq6E,gBAAgB9wE,UAAY,IAAvC,WAAyCiY,OAAQ,I,EAIzD,MAAMqb,UAAqBC,EAAAA,GAC9B,gCACI,MAAMuqB,GAAayyB,EAAAA,EAAAA,MAEA,OAAfzyB,GACAjvD,KAAKkI,UAAUg6E,uBAAuBjzB,GAG1C,MAGMkzB,EAAoB,UF3B3B,WACH,MAAM1C,GAAa1e,EAAAA,EAAAA,MACbqhB,EAAcl4E,OAAOK,OAAOk3E,EAAAA,GAElC,OAAOpoC,EACFgpC,mBAAmBD,EAAavnC,EAAAA,EAAAA,cAA2B4kC,GAC3Dx6C,MAAM,I,IAAE7b,KAAMk5D,GAAO,EAClB,MAAMC,EAAiBr4E,OAAOs4E,YAC1BJ,EAAYh4E,KAAI1F,GAAO,CACnBA,EACA,CACIhB,OAAO,EACP0lB,KAAM,UAWlB,OANAk5D,EAAMhrD,SAAS,I,IAAA,aAAEmrD,EAAY,MAAE/+E,EAAK,KAAE0lB,GAAM,EACpCq5D,GAAgBF,EAAeE,KAC/BF,EAAeE,GAAc/+E,MAAQnE,QAAQmE,GAC7C6+E,EAAeE,GAAcr5D,KAAOA,E,IAGrCm5D,CAAc,G,CECEG,YACSZ,KAIpC9hF,KAAKkI,UAAUg6E,uBAAuBC,IAEtCR,EAAAA,EAAAA,IAAwBQ,E,CAG5B,+BAII,OAHKniF,KAAK4H,MAAM+6E,cACZ3iF,KAAK4H,MAAM+6E,YAAc3iF,KAAKgmC,QAAQ48C,2BAEnC5iF,KAAK4H,MAAM+6E,W,EAI1B,MAAMh/C,UAAuBC,EAAAA,GACzB,uBAA8Bi/C,GAC1B7iF,KAAK4H,MAAMq6E,gBAAkB,IACtBjiF,KAAK4H,MAAMq6E,mBACXY,GAEP7iF,KAAK4H,MAAMk7E,yBAA0B,GACrCC,EAAAA,EAAAA,IAAW5e,IACPA,EAAE6e,WAAW,sBAAuBhjF,KAAK4H,MAAMq6E,gBAAgB,G,EAK3E,MAAMj2C,EAA2B,IAAIzG,EAAAA,GAAO,CACxC39B,MAzDJ,M,cACI,KAAOq6E,gBAAqC,CAAC,EAC7C,KAAOa,yBAA0B,EACjC,KAAOvvE,yBAA2BkuE,EAAAA,EAClC,KAAOkB,YAAuC,I,GAsD9Cz6E,UAAWy7B,EACXqC,QAASvB,EACTt0B,QAASo0B,IAGA0H,GAA8B/E,EAAAA,EAAAA,IAAiB8E,GAE5D,IACai3C,GAAiC/8C,EAAAA,EAAAA,IAAa8F,GAE9C1nB,EAAkCxlB,EAAAA,GAAAA,OAAW,CACtDyR,SAAU,IACH0yE,EAA+B78C,SAAS,CAAC,gCACzC68C,EAA+B57C,WAAW,CAAC,uCAElDhB,QAAS,IACF48C,EAA+B18C,WAAW,CAAC,6B,qGC5EtD,GAAIsU,EAAAA,EAAAA,uBAAoC,CACpC,MAAMqoC,EAAc,IAAIC,EAAAA,EAAoB,CACxCh7B,OAAQ,CACJi7B,mBAAoBvoC,EAAAA,EAAAA,uBACpBwoC,sBAAuB,EACvBC,yBAAyB,EACzBC,uBAAwBC,EAAAA,EAAAA,WACxBC,qCAAqC,EACrCC,uBAAuB,EACvBC,yBAA0B,CAAC,mBAInCT,EAAYU,kBAEZ,MAAMC,EAAwBC,I,IACtBA,EAUWC,EACIA,EAXnB,IAAID,SAAkB,QAAlBA,EAAAA,EAAUE,gBAAQ,IAAlBF,OAAAA,EAAAA,EAAoBG,eAAgB,IAAK,C,IACzBH,EAAa,EAA7B,MAAMI,GAAUJ,SAAa,QAAbA,EAAAA,EAAUK,WAAG,IAAbL,GAAoB,QAApBA,EAAAA,EAAeM,aAAK,WAApBN,EAAa,EAASO,UAAW,UACjDC,EAAAA,EAAAA,QAAkBlqC,EAAAA,GAAWlyC,UAAUq8E,aAAaL,E,CAGxD,IAAIM,EAAa,CACbC,YAAa5pC,EAAAA,EAAAA,SAGjB,MAAMkpC,EAAyBnP,EAAAA,GAAAA,QAAkBx6B,EAAAA,GAC3C9I,EAA6D,QAApDyyC,EAAAA,EAAuBn8E,MAAM4sE,+BAAuB,IAApDuP,OAAAA,EAAAA,EAAsDzyC,OAC/D+Y,EAAiE,QAApD05B,EAAAA,EAAuBn8E,MAAM4sE,+BAAuB,IAApDuP,OAAAA,EAAAA,EAAsD15B,gBAE1D51C,IAAX68B,IACAkzC,EAAa,IACNA,EAECE,OAAQpzC,SAKD78B,IAAf41C,IACAm6B,EAAa,IACNA,EAECG,WAAYt6B,IAKxBy5B,EAAS16D,KAAO,IAAKo7D,EAAY,EAGrCtB,EAAY0B,wBAAwBf,GACpCX,EAAY2B,e,6CChBhB,SACIC,QAAQhmF,GACA+7C,EAAAA,EAAAA,kBACAymC,EAAAA,EAAAA,KACAxiF,EAAI2nD,UAAUs+B,WAAaxD,E,sGC7CvC,SACIuD,QAAQE,GACJA,EAAIC,UAAU,2BAA4B,CACtC/kB,KAAK7zD,GACDA,EAAGxJ,MAAM41B,WAAa,K,IAI9BusD,EAAIC,UAAU,sBAAuB,CACjC/kB,KAAK7zD,GACDA,EAAGxJ,MAAM+T,MAAQ,S,gCCHjC,oB,sTAGAsuE,EAAA,cAAApmF,EAAAA,KAAAomF,EAAA,IAAAplF,EAAAA,EAAAA,IAAA,KAAAolF,GCV0N,U,eCmB1N,SAXgB,OACd,GCTW,WAAa,IAAInlF,EAAIC,KAASC,EAAGF,EAAIG,eAAuC,OAAjBH,EAAIK,MAAMD,IAAIF,GAAa,MAAM,CAACK,YAAY,gBAAgB,CAACP,EAAIa,GAAG,YAAY,EAAE,GACtI,IDWpB,EACA,KACA,WACA,MAI8B,QEnBhC,ICOA,oB,sTAIAukF,EAAA,cAAArmF,EAAAA,K,IACAG,EAAAA,EAAAA,IAAA,CAAAC,QAAA,SADAimF,EAAA,UACAC,iBAAA,GADAD,EAAA,IADArlF,EAAAA,EAAAA,IAAA,KACAqlF,GCXmO,UCmBnO,SAXgB,OACd,GHTW,WAAa,IAAIplF,EAAIC,KAASC,EAAGF,EAAIG,eAAuC,OAAjBH,EAAIK,MAAMD,IAAIF,GAAa,MAAM,CAACK,YAAY,yBAAyBuC,MAAM,CAAGwiF,cAAetlF,EAAIqlF,YAAc,CAACrlF,EAAIa,GAAG,YAAY,EAAE,GACzL,IGWpB,EACA,KACA,WACA,MAI8B,QCfhC,GACIkkF,QAAQE,GACJA,EAAIvkD,UAAU,iBAAkBpc,EAAAA,GAChC2gE,EAAIvkD,UAAU,iBAAkBykD,GAChCF,EAAIvkD,UAAU,0BAA2B0kD,E,GCLjD,GACIL,QAAQE,GACJA,EAAIh9B,IAAIs9B,GACRN,EAAIh9B,IAAIu9B,E,kBCahB,MAqDA,EArD0B,CACtBC,aAAav7B,IACF,CACH66B,QAAQhmF,GACJ,MAAM2mF,EAAqB3mF,EAAI4mF,WAAuB,CAClDC,eAAgB,GAChBpjE,KAAKqjE,GACqB5lF,KAAK6lF,mBAEvB57B,EAAO1nC,QAEPkjE,EAAmBE,eAAiB,GACpC17B,EAAOxgD,QAAQm8E,G,EAGvBC,mBACI,GAAI7lF,KAAK2lF,eAAen9E,OAAS,EAAG,OAAO,KAE3C,MAAMs9E,EAAqB9lF,KAAK2lF,eAAe3lF,KAAK2lF,eAAen9E,OAAS,GAC5E,OAAOs9E,EAAqBA,EAAmB18E,MAAQ,I,EAE3DsZ,4BAA4BkjE,GACxB,MAAMG,EAAgB/lF,KAAK6lF,mBAC3B,OAAOE,GAAgC97B,EAAOxrD,QAAQmnF,GAAkBx8E,K,IAIhF6gD,EAAOkP,WAAU5vD,IAEb,MAGMy8E,EAAuB,CAAEthF,KAHIunD,QAAQrkD,OAAS,CAAElD,IAAK,YAGVA,IAAK0E,MAAOG,GAEvD08E,EAAaR,EAAmBE,eAAe5qD,WACjDmrD,GAAcA,EAAWxhF,MAAQshF,EAASthF,OAGD,IAAhBuhF,IAGzBR,EAAmBE,eAAiBF,EAAmBE,eAAep2D,MAAM,EAAG02D,IAGnFR,EAAmBE,eAAe9nE,KAAKmoE,EAAS,IAGpDlnF,EAAI2nD,UAAUnkC,YAAcmjE,C,gFC/D5C3mF,EAAAA,QAAAA,UAAc,YAAa,CACvBohE,KAAK7oD,EAAS8uE,EAASC,GASfD,EAAQziF,MACR2T,EAAQgvE,aAAa,QAASF,EAAQziF,OAEtC2T,EAAQivE,gBAAgB,SAG5BjvE,EAAQqN,iBAAiB,aAdHlW,IAClB,MAAMgf,EAAY24D,EAAQlhF,WAEtBmhF,EAAMt4D,SAAWN,IACjB44D,EAAMt4D,QAAQy4D,MAAM/4D,GAAa,EAAOvM,OAAqBvd,M,gDCC7E,SACIohF,QAAQhmF,EAAK0nF,GACT1nF,EAAI2nD,UAAU44B,UAAYmH,C,yECH3B,MAAM1gC,EAKT/sC,QACI/Y,KAAKymF,gBACLzmF,KAAK0mF,0BACL1mF,KAAK2mF,mB,CAGTF,gBACIzmF,KAAK4mF,aAAa3S,kB,CAGtByS,2BACI9E,EAAAA,EAAAA,K,CAGJ+E,qBACIpjB,EAAAA,EAAAA,OACAiG,EAAAA,EAAAA,K,CAlBJ,YAAoCod,G,KAAAA,aAAAA,C,EAFpC,EAAclzD,OAAS,CAACi3B,EAAAA,EAAAA,yB,2CCkBrB,MAAMk8B,GAKT,0BAAiC/vD,GAC7B92B,KAAKiqD,OAAOmgB,YAAW,CAAC/gE,EAAU4B,EAAG+9C,KACjC,MAAM5/C,EA1BX,SAAwCC,G,IAY1BA,EAXjB,MAAMy9E,EAAc,IAAIC,IAElBC,EAAoBC,GACtBA,EAAgB3vD,SAAQ4vD,GAAcJ,EAAY3f,IAAI+f,KAU1D,OARA79E,EAASu/C,QAAQtxB,SAAQ6vD,IACjBnsE,MAAMyC,QAAQ0pE,EAAenxE,KAAKwqB,sBAClCwmD,EAAiBG,EAAenxE,KAAKwqB,oB,IAI7CwmD,GAA8B,QAAb39E,EAAAA,EAAS2M,YAAI,IAAb3M,OAAAA,EAAAA,EAAem3B,sBAAuB,IAEhD,CACHA,oBAAqB,IAAIsmD,G,CAWPM,CAA+B/9E,GAC7C,OAAOytB,EAAQ1tB,EAAO4/C,EAAO,G,CAIrC,UAAiBA,GAKbA,EAAO,CAAEjkD,KAAMsiF,GAAAA,EAAAA,UAA2B17B,OAAQ,CAAE,EAAK,K,CAd7D,YAAoC1B,G,KAAAA,OAAAA,C,EAFpC,GAAcv2B,OAAS,CAACi3B,EAAAA,EAAAA,W,sCCjBrB,MAAM28B,GAMT,uBACI,IACI,MAAM1yE,QAAc5U,KAAKunF,iBAAiB35E,kBAC1C,OAAO,IAAI45E,GAAAA,IAAoB5yE,aAAAA,EAAAA,EAAMkyE,cAAe,G,CACtD,MAAOl7E,G,IAC4BA,EAAjC,GAAIuvC,KAAAA,aAAmBvvC,IAAqC,OAAb,QAAdA,EAAAA,EAAMy5B,gBAAQ,IAAdz5B,OAAAA,EAAAA,EAAgBkC,QAK7C,OAJA9N,KAAK2B,IACD,uGAGG,IAAI8lF,GAAAA,GAEf,MAAM77E,C,EAdd,YAAoC27E,G,KAAAA,iBAAAA,E,KAF5B5lF,KAAMU,EAAAA,EAAAA,IAAW,sC,EADzB,GAAcqxB,OAAS,CAACg0D,EAAAA,EAAAA,yB,gBCNrB,MAAMC,IAAeC,EAAAA,EAAAA,kBACvBC,aAAal9B,EAAAA,EAAAA,UAAyBm9B,EAAAA,SACtCD,aAAal9B,EAAAA,EAAAA,UAAyBvQ,EAAAA,GACtC2tC,eAAep9B,EAAAA,EAAAA,wBAAuCoqB,EAAAA,GCDrDiT,IAAeC,EAAAA,EAAAA,OCYd,SAA8EN,GACjF,OACIA,EACKO,aAAan8C,EAAAA,EAAAA,0BAAkC2I,EAAAA,IAC/CwzC,aAAan8C,EAAAA,EAAAA,sBAA8Bwb,EAAAA,IAC3C2gC,aAAan8C,EAAAA,EAAAA,eAAuB4P,EAAAA,IACpCusC,aAAan8C,EAAAA,EAAAA,wBAAgC+Z,GAC7CoiC,aAAan8C,EAAAA,EAAAA,gBAAwBie,EAAAA,IACrC+9B,eAAeh8C,EAAAA,EAAAA,kBAAyB,KAAM9K,EAAAA,EAAAA,IAAgBouB,EAAAA,iBAC9D64B,aAAan8C,EAAAA,EAAAA,oBAA4Bia,EAAAA,IACzCkiC,aAAan8C,EAAAA,EAAAA,sBAA8Bma,EAAAA,IAC3CgiC,aAAan8C,EAAAA,EAAAA,qBAA6Boa,EAAAA,IAC1C+hC,aAAan8C,EAAAA,EAAAA,cAAsBl5B,GAAAA,IAGnCk1E,eAAeh8C,EAAAA,EAAAA,qBAA6B0lB,GAAAA,GAA6B02B,EAAAA,MAAAA,U,IC5B/E,SAA0ER,GAC7E,OAAOA,EACFO,aAAan8C,GAAAA,EAAAA,cAAsB86C,IACnCqB,aAAan8C,GAAAA,EAAAA,oBAA4Bu7C,G,GFF7BW,CAA+DN,I,gBGmB7E,MAAMS,GAAsB,IAtBnC,MAGI,OACIpoF,KAAKqoF,mBAELrjE,OAAON,iBAAiB,UAAU,IAAM1kB,KAAKqoF,oB,CAGjD,mBACI5wD,uBAAsB,KAClBA,uBAAsB,KAClB,MAAM6wD,GAAK3vE,EAAAA,GAAAA,GAA8C,IAAxCoN,SAASwiE,gBAAgBC,aAAqB,GAC3DxoF,KAAKyoF,SAAWH,IAChBtoF,KAAKyoF,OAASH,EACdviE,SAASwiE,gBAAgB1lF,MAAMsvB,YAAY,OAAQ,GAAGm2D,O,GAE5D,G,eAhBV,KAAQG,OAAS,C,+BCDrB,qB,sTAOAC,GAAA,eAAA5nF,EAAAA,EAAAA,IAAAm5D,GAAAA,IAMA1D,eACA9hD,IAAA,KAAAswE,YACA,KAAAA,WAAA4D,YAAA,CACA9tC,YAAAA,EAAAA,EAAAA,KACAyY,SAAA,KAAAs1B,0BAAAjd,sBAGA,KAAAhqE,IAAA,kCAAAk5C,EAAAA,EAAAA,MACA,KAAAl5C,IAAA,oBAAAk5C,EAAAA,EAAAA,YACA,KAAAl5C,IAAA,uBAAAk5C,EAAAA,EAAAA,c,+BAdA,KAAAl5C,KAAAU,EAAAA,EAAAA,IAAA,OACA,KAAAumF,0BAAA,KAAAvJ,UAAA5gF,QACAgnD,EAAAA,EAAAA,0B,GAHAijC,GAAA,KADA5oF,EAAAA,EAAAA,IAAA,KACA4oF,ICbmM,YCkBnM,UAXgB,OACd,ICRW,WAAa,IAAiBzoF,EAATD,KAAgBE,eAAuC,OAAvDF,KAA0CI,MAAMD,IAAIF,GAAa,cAAc,GAC3F,IDUpB,EACA,KACA,KACA,MAI8B,QElBhC,I,oCCWA,qB,sTAeA4oF,GAAA,eAAA/nF,EAAAA,EAAAA,IAAAm5D,GAAAA,EAAAh3D,GAAAA,IAOAszD,UACA,KAAA6U,eAAA,KAAAwd,0BAAAjd,mB,+BAPA,KAAAid,0BAAA,KAAAvJ,UAAA5gF,QACAgnD,EAAAA,EAAAA,2BAEA2lB,KAAAA,eAAA,E,GAJAyd,GAAA,KANA/oF,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CACAqmF,gBAAA,KACAjqF,wBAAA,SAGAgqF,IC1BgO,YCkBhO,UAXgB,OACd,IHRW,WAAa,IAAI9oF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,kBAAkB,CAACA,EAAG,0BAA0B,CAACI,MAAM,CAAC,MAAQR,EAAIgG,MAAM,+CAA+C,YAAchG,EAAIgG,MAAM,oDAAqD,CAAEglE,OAAQhrE,EAAIqrE,iBAAkB,kBAAmB,MAAS,EAAE,GACjV,IGUpB,EACA,KACA,KACA,MAI8B,Q,oDCXhC,MAAMzpE,IAAMU,EAAAA,EAAAA,IAAW,SAAU,cCuCjC89D,EAAAA,EAAAA,MAEArhE,EAAAA,QAAAA,OAAAA,eAA2B,ECrCvBinB,SAASq6C,KAAK2oB,QAAQz1B,SAAW5tC,EAAAA,GAAAA,cD+CjCm1B,EAAAA,EAAAA,cAA4BG,EAAAA,EAAAA,OE3CzB,SAAsCvC,EAA2BwR,EAAmBu8B,GACvF,MAAM16C,EAAkB06C,EAAS/nF,QAAQgnD,EAAAA,EAAAA,2BACnC/J,EAAiB,IAAIC,EAAAA,GACrBsM,EAAkB,IAAIJ,EAAAA,GAAqBpP,EAAYiD,GACvDsW,EAAkB,IAAIhI,EAAAA,GAA4BC,GAClD++B,EAA2B,IAAIp+B,EAAAA,GAA8BnS,GAEnEwP,EAAgB68B,UAMhB76B,EAAOmgB,YAAW,CAAC7gE,EAAI65B,EAAOC,MAoClC,SAAkCslB,EAAgBK,GAC9C,MAAMtN,EAAiB,IAAIC,EAAAA,GACrBstC,EAAe,IAAIvgC,EAAAA,GAA+BC,EAASK,IAE7DigC,EAAaC,gCAAmCxtC,EAAe2N,aAK/D4/B,EAAaE,oCAAsCztC,EAAe2N,aAClE4/B,EAAa3/B,gCAIjB2/B,EAAav/B,0BATTu/B,EAAa1/B,6B,CAxCb6/B,CAAyB7/E,EAAI85B,EAAK,IAStCqY,EAAe2tC,+BAA8B,KAMzCp/B,EAAOq/B,SAAQ,KACPt3B,EAAgBu3B,kCAChBz9C,EAAgBqgC,+BAA8B,GAC9Cna,EAAgBgB,qBAAoB,G,GAE1C,IAENtX,EAAe8tC,oBAEfR,EAAyBlE,SAAQ,KAE7BppC,EAAe+tC,uBACR,I,CFGXC,CAA6BjxC,EAAAA,GAAYwR,EAAAA,QAAQ+9B,KAMrD2B,EAAAA,GAAAA,GAA6B3B,IAE7BlpF,EAAAA,QAAAA,IAAQ8qF,EAA0B5B,IAClClpF,EAAAA,QAAAA,IAAQ+qF,GACR/qF,EAAAA,QAAAA,IAAQyiF,GACRziF,EAAAA,QAAAA,IAAQgrF,EAAAA,GAAU,CACd7E,UAAW,QACXhrE,MAAO,SACP8E,UAAW,SACXuT,OAAQ9I,GAAWjqB,QAAQiqB,EAAQld,MAAM+f,WAG7CvtB,EAAAA,QAAAA,IAAQirF,EAAAA,IACRjrF,EAAAA,QAAAA,IAAQkrF,EAAAA,IAERlrF,EAAAA,QAAAA,IAAQmrF,IAAiB,CACrB96D,MAAO,CACH+6D,OAAQ,GACRC,UAAW,GACXv+E,MAAO,IAEXw+E,OAAQ,CACJpnB,SAAU,OAGlBlkE,EAAAA,QAAAA,IAAQurF,IAAW,CACfC,gBAAiB,OAErBxrF,EAAAA,QAAAA,IAAQyrF,EAAAA,IACRzrF,EAAAA,QAAAA,IAAQ0rF,EAAAA,aAA+BvgC,EAAAA,WAEvCwgC,EAAAA,EAAAA,GAAiBxgC,EAAAA,SAEjBm+B,GAAoBsC,OG1Fb,SAAkCjyC,GACrCA,EAAWkyC,SAASC,UAAY,CAC5Br7B,SAAU9W,EACVoyC,MALc,EAMdC,WAAY,IACZC,mBAAoB,CAAC,OACrBC,mBAAoB,CAAC,CAAC,IAAK,MAC3BC,eAAgBvpF,IACZ,MAAM,oBAAEwpF,GAAwBC,EAAAA,GAAqBzpF,IAAQ,CAAEwpF,oBAAqB,GAEpF5G,EAAAA,EAAAA,QACalqC,EAAAA,GACRlyC,UAAUkjF,qBACP7rF,QAAQ2rF,GAAuBA,EAAsB,GAAKA,EAfxD,GAgBL,GAGbC,EAAAA,GAAkB1yC,E,CH2EtB4yC,CAAyB5yC,EAAAA,KACzB0oC,EAAAA,EAAAA,GAAoBl3B,EAAAA,QAAQxiD,EAAAA,GIlGb,WACX,MAAM6jF,EAAS,IAAIC,EAAAA,SACbC,EAAKF,EAAOG,QACZC,EAAUJ,EAAOK,aAEnBD,EAAQ3mF,OAASghB,SAASq6C,KAAK2oB,QAAQ2C,UACvC3lE,SAASq6C,KAAK2oB,QAAQ2C,SAAUxb,EAAAA,EAAAA,IAAawb,EAAQ3mF,OAErDymF,EAAGzmF,OAASghB,SAASq6C,KAAK2oB,QAAQyC,KAClCzlE,SAASq6C,KAAK2oB,QAAQyC,IAAKtb,EAAAA,EAAAA,IAAasb,EAAGzmF,M,CJ0FnD6mF,GAEA,MAAMhD,GAA4BZ,GAAavpF,QAAQgnD,EAAAA,EAAAA,2BAEvDmjC,GAA0BiD,kBAAkB5mD,MAAK6mD,KKpG1C,SAAmBngC,GACtB,MAAMogC,EAAkB,OAEpBpgC,EAAOmgC,gBACP,IAAIhtF,EAAAA,QAAI,CACJmrD,OAAM,UACNxiD,MAAK,IACLukF,OAAQxyC,GAAUA,EAAOkvC,MAC1BuD,OAAOF,GAEV,IAAIjtF,EAAAA,QAAI,CACJ2I,MAAK,IACLukF,OAAQxyC,GAAUA,EAAOqvC,MAC1BoD,OAAOF,E,CLwFdG,CAAU,CAAEJ,mBAAkB,IDnF3B,SAAkC7hC,EAAmB2+B,GACxDF,GAAAA,EAAAA,YAAgB,cAAc,SAA0Bl6E,GACpD7M,GAAI,mBAAoB6M,GAExB,MAAM+7C,EARd,SAAoBA,GAChB,OAAOA,EAAI9gD,QAAQ+vD,GAAAA,EAAY,W,CAOf2yB,CAAW39E,EAAM+7C,KACvB6hC,EApBd,SAA0B7hC,GACtB,IACI,OAAO,IAAIkR,IAAIlR,GAAK8hC,Q,CACtB,MAAOhuF,GACL,OAAO,I,EAgBeiuF,CAAiB/hC,GACjCl5C,GAAWkqD,EAAAA,GAAAA,GAAqBhR,GAElCl5C,GAA8B,OAAlB+6E,IACZxD,EAA0Bv1B,uBAAuB+4B,GACjDniC,EAAOpsC,KAAKxM,GACZ1P,GAAI,0CAA2CyqF,EAAe/6E,G,IC2E1Ek7E,CAAyBtiC,EAAAA,QAAQ2+B,KACjC4D,EAAAA,GAAAA,IAAsBviC,EAAAA,Q,2QM/Ff,G,SAAWwiC,GAAAA,EACJ,WAAG,Y,EADCA,IAAAA,EAAW,KAI7B,MAqBA,EArB8B,CAC1B,CACIjjF,KAAM,QACNzE,KANS,aAOT07B,UAtBc,IAAM,+BAuBpBzvB,SAAU,IACH07E,EAAAA,KACAC,EAAAA,KACAC,EAAAA,KACAC,EAAAA,KACAC,EAAAA,MACAC,EAAAA,KACAC,EAAAA,KACAC,EAAAA,KACAjgD,EAAAA,KACAkgD,EAAAA,KACAC,EAAAA,K,2DC7Bf,MAYMC,EAA0BljC,GAHrBvnB,EAAAA,EAAAA,QAAwBl7B,EAAAA,GAAOm7B,QAAQyqD,WAAWzlF,MAAMqE,SAKpD,CACHlH,KAAMqoD,EAAAA,EAAAA,sBAGH,CACHroD,KAAMqoD,EAAAA,EAAAA,gBACNzB,OAAQ,CACJ2hC,UAAWpjC,EAAayB,OAAO2hC,WAEnC7hF,MAAOy+C,EAAaz+C,OAmFhC,EA9E8B,CAC1B,CACIjC,KAAM,mBACNzE,KAAMqoD,EAAAA,EAAAA,qBACNp3C,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,eAEdI,UA9B0B,IAAM,0IAgCpC,CACIj3B,KAAM,2BACNwM,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,aACV5d,iBAAkB2qC,EAAAA,EAAAA,sBAEtB3sB,UA1CmB,IAAM,gCA2CzBC,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,SACjD5vB,SAAU,CACN,CACIxH,KAAM,WACNzE,KAAMqoD,EAAAA,EAAAA,gBACNp3C,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,aACV5d,iBAAmBynC,GACfA,EAAaz+C,MAAM8hF,YACb,CACIxoF,KAAMqoD,EAAAA,EAAAA,kBACNzB,OAAQ,CACJ4hC,YAAarjC,EAAaz+C,MAAM8hF,cAGxC,CACIxoF,KAAMqoD,EAAAA,EAAAA,uBAGxBogC,MAAO,GACP/sD,UA9Da,IAAM,wFAgEvB,CACIj3B,KAAM,gDACNzE,KAAMqoD,EAAAA,EAAAA,cACNp3C,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,WACV5d,iBAAkB2qE,GAEtB3sD,UAtEW,IAAM,8EAwErB,CACIj3B,KAAM,SACNzE,KAAMqoD,EAAAA,EAAAA,oBACNp3C,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,aACV5d,iBAAkB2qE,GAEtB3sD,UA9EiB,IAAM,mCAkFnC,CACIj3B,KAAM,wCACNzE,KAAMqoD,EAAAA,EAAAA,kBACNp3C,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,eACV5d,iBAAkB2qC,EAAAA,EAAAA,sBAEtB3sB,UAvFuB,IAAM,mEAwF7BC,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,YAErD,CACIp3B,KAAM,UACNzE,KAAMqoD,EAAAA,EAAAA,kBACNp3C,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,eAEdI,UAtGuB,IAAM,yF,2FCC9B,MAAMgtD,EAKTvkC,SAASgB,GACL,MAAMxO,EAAiB,IAAIC,EAAAA,EAG3B,IACI,MAAMpF,GAAQuS,EAAAA,EAAAA,GAAyBoB,GAQvC,OAPAxO,EAAe70B,MAAM0vB,GAOd,IAAK4T,EAAAA,EAAuB1+C,MAAO,CAAC,E,CAC7C,MAAOG,GAEL,OADAoH,QAAQpH,MAAMA,GACP,IAAKq9C,EAAAA,EAAqBx9C,MAAO,CAAC,E,EAlBjD66C,YAAoB7+C,G,KAAAA,MAAAA,C,EAFpB,EAAcisB,OAAS,CAACi3B,EAAAA,EAAAA,W,eCL5B,MAUM+iC,GAAoCC,EAAAA,EAAAA,IAAsB3nC,EAAAA,GAAAA,aAC1D4nC,GAAiCD,EAAAA,EAAAA,IAAsBxnC,EAAAA,GAAAA,aA4C7D,EA1C8B,CAC1B,CACIphD,KAAMqhD,EAAAA,EAAAA,MACN58C,KAAM,SACNwM,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,YACVwoB,kBAAkB,GAEtBpoB,UArBmB,IAAM,+BAsBzBC,YAAa6sB,EAAAA,IAEjB,CACIxoD,KAAMqhD,EAAAA,EAAAA,eACN58C,KAAM,kBACNwM,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,sBAEdI,UA7BkB,IAAM,yDA8BxBC,YAAaktD,GAEjB,CACI7oF,KAAMqhD,EAAAA,EAAAA,cACN58C,KAAM,iBACNwM,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,qBAEdI,UArCiB,IAAM,yDAsCvBC,YAAagtD,GAEjB,CACI3oF,KAAMqhD,EAAAA,EAAAA,cACN58C,KAAM,iBACNwM,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,aAEd6oB,SAAU9/C,GACsB,IAAIqkF,EAA+BhmF,EAAAA,GACpCyhD,SAAS9/C,K,eCnDhD,MAAM0kB,EAAU6U,EAAAA,EAAAA,QAAwBl7B,EAAAA,G,IAEjC,EAIA,G,SAJW2lC,GAAAA,EACL,UAAG,W,EADEA,IAAAA,EAAK,K,SAILjB,GAAAA,EACL,UAAG,W,EADEA,IAAAA,EAAK,KAIvB,MAWA,EAX8B,CAC1B,CACI3iC,KATQ,YAURzE,KANQ,YAOR27B,YAAa,CAACyC,EAAKC,EAAOC,KACtBvV,EAAQ8U,QAAQirD,SAAS3lF,UAAU4lF,YACnCzqD,GAAK,EAAM,I,cCJvB,MAEM0qD,EAAgB3gC,EAAAA,EAAAA,kBAMhB4gC,EAA4B,CAC9B,CACIxkF,KAAM,GACNi3B,UAXU,IAAM,gCAYhBzvB,SAAU,IACHi9E,KACAC,KACAC,KACAC,EAAAA,KACAC,EAAAA,MACAC,EAAAA,KACAC,EAAAA,EACH,CACI/kF,KAAM,GACN0/C,SAAU,CAAEnkD,KAAMgpF,KAG1B/3E,KAAM,CACFyyC,cAAc,KAKbF,EAAwB,IAC9BimC,EACH,CACIhlF,KAAM,GACN0/C,SAAU,CAAEnkD,KAAMgpF,IAEtB,CACIvkF,KAAM,IACNzE,KAAMsiF,EAAAA,EAAAA,UACN3mD,YAAY0C,EAAOD,EAAKE,IACpBoR,EAAAA,EAAAA,GAAmBpR,E,MAGxB2qD,G,eC7CPlvF,EAAAA,QAAAA,IAAQkgF,EAAAA,GAER,MAAM/0B,EAAS,IAAI+0B,EAAAA,EAAU,CACzBnzE,KAAM,UACN4iF,KAAM5zC,EAAAA,EAAAA,WACN0N,OAAM,KAGV4hB,EAAAA,EAAAA,IAA0BlgB,IAC1BmjB,EAAAA,EAAAA,IAAyBnjB,GCrBlB,SAAqCA,GACxCA,EAAOmgB,YAAW,CAAC7gE,EAAI65B,EAAOC,K,IACT95B,EAEjB,OAFAwc,SAAS1mB,MAAe,QAAPkK,EAAAA,EAAGyM,YAAI,IAAPzM,OAAAA,EAAAA,EAASlK,MAEnBgkC,GAAM,G,CDkBrBqrD,CAA4BzkC,GAExBvkC,EAAAA,GAAAA,oBACA2kD,EAAAA,EAAAA,YAAyB,cAAe,I,IAAA,UAAEskB,GAAW,EAC5ChwE,EAAAA,EAAAA,WAKAgwE,GACDtkB,EAAAA,EAAAA,UAGApgB,EAAOC,aAAanlD,OAASqhD,EAAAA,EAAAA,OAC7BikB,EAAAA,EAAAA,UAGJrlD,OAAOinC,QAAQ1pC,QAZX5D,EAAAA,EAAAA,WAYiB,IAI7B,U,0TElBA7f,EAAAA,QAAAA,IAAQ8vF,EAAAA,IAED,MAAMjsD,EAAkB,IAAI4C,EAAAA,GAAO,CACtC3C,QAAS,CACLlvB,QAASiqE,EAAAA,GACTkR,aAAcjS,EAAAA,EACdiR,SAAUiB,EAAAA,EACVC,UAAWC,EAAAA,GACXC,mBAAkB,KAClBjjD,yBAA0BkjD,EAAAA,GAC1B56C,mBAAkB,KAClBgwC,UAAS,IACT+I,WAAYx0B,EAAAA,GACZs2B,aAAcp/E,EAAAA,GACdmF,kBAAiB,KACjBilC,kBAAiB,KACjBtX,WAAU,KACV7tB,cAAa,KACbo6E,mBAAkB,KAClBn8E,gBAAe,KACfo8E,kBAAiB,KACjBC,aAAY,KACZC,eAAc,KACd53C,4BAA2B,QAQnC,ECpDO,SACH63C,G,IACAhmE,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAmC,aAAF,CAAC,EAElC,OAAOimE,EAAAA,EAAAA,IAAYD,EAAY,IACxBhmE,G,CD2CGkmE,CAAiB/sD,EAAiB,CAC5CgtD,QAAS90C,EAAAA,EAAAA,c,6HEzCb,oB,sTASA+0C,EAAA,cAAA9wF,EAAAA,KAAA8wF,EAAA,IAFA9vF,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CAAAmZ,eAAA,IAAAlZ,kBAAA,IAAAyC,UAAA,QACAyqF,GCvB8N,UCmB9N,SAXgB,E,SAAA,GACd,GCTW,WAAa,IAAI7vF,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,oBAAoB,CAACA,EAAG,iBAAiB,CAACqE,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,gBAAgBC,GAAG,WAAW,MAAO,CAACxE,EAAG,YAAY,CAACI,MAAM,CAAC,kBAAoB,GAAG,eAAiB,MAAM,EAAEsE,OAAM,GAAM,CAACH,IAAI,UAAUC,GAAG,WAAW,MAAO,CAACxE,EAAG,iBAAiB,CAACG,YAAY,mCAAmC,EAAEuE,OAAM,QAAW,EAAE,GACvY,IDWpB,EACA,KACA,WACA,MAI8B,QEZnBwiF,EAAkBn9E,OAAOw7C,OAAO,CACzCmqC,UAAW,YACXC,gBAAiB/lB,EAAAA,KAcrB,EAX8B,CAC1B,CACIvgE,KAAM,qBACNzE,KAAMsiF,EAAgByI,gBACtB95E,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,6BAEdI,UAAWsvD,G,+BClBZ,SAAS9sD,EAAOA,GACnB,OAAOzd,MAAOjc,EAAImC,EAAM23B,KAEpB,IAAI2sD,GAAU,EAGd,MAAMC,EAAQvsF,IAENssF,QAKiB,IAAVtsF,IACPssF,GAAU,EACV3sD,EAAK3/B,G,EAKb,IAAK,IAAIoqE,EAAI,EAAGA,EAAI7qC,EAAOz6B,SACnBwnF,EAD2BliB,UAEzB7qC,EAAO6qC,GAAGvkE,EAAImC,EAAMukF,GAIzBD,GAAS3sD,GAAM,C,oICpBrB,SAAS16B,EAAoBD,GAChC,MAAM3C,EAAQo0C,EAAAA,GAAAA,QAA0BC,EAAAA,GAAWjqC,QAAQpK,MAC3D,OAAQ2C,EAAawnF,cACjB,KAAKC,EAAAA,YAAAA,e,IACGznF,EAAJ,OAA8B,QAA1BA,EAAAA,EAAa0nF,qBAAa,IAA1B1nF,OAAAA,EAAAA,EAA4B2nF,cACrBtqF,EAAM,wCAAyC,CAClDsqF,aAAc3nF,EAAa0nF,cAAcC,eAGtCtqF,EAAM,kDAErB,KAAKoqF,EAAAA,YAAAA,2B,IACGznF,EAAJ,OAA8B,QAA1BA,EAAAA,EAAa0nF,qBAAa,IAA1B1nF,OAAAA,EAAAA,EAA4B2nF,cACrBtqF,EAAM,qDAAsD,CAC/DsqF,aAAc3nF,EAAa0nF,cAAcC,eAGtCtqF,EAAM,+DAErB,KAAKoqF,EAAAA,YAAAA,c,IACGznF,EAAJ,OAA8B,QAA1BA,EAAAA,EAAa0nF,qBAAa,IAA1B1nF,OAAAA,EAAAA,EAA4B4nF,aACrBvqF,EAAM,uCAAwC,CACjDuqF,YAAa5nF,EAAa0nF,cAAcE,cAGrCvqF,EAAM,iD,CAOtB,SAASwqF,EAAqB7nF,GACjC,OAAQA,EAAawnF,cACjB,KAAKC,EAAAA,YAAAA,eACL,KAAKA,EAAAA,YAAAA,2B,IACGznF,EAAJ,GAA8B,QAA1BA,EAAAA,EAAa0nF,qBAAa,IAA1B1nF,OAAAA,EAAAA,EAA4B4kF,UAC5B,MAAO,CACHvoF,KAAMqoD,EAAAA,EAAAA,gBACNzB,OAAQ,CAAE2hC,UAAW5kF,EAAa0nF,cAAc9C,YAGxD,MACJ,KAAK6C,EAAAA,YAAAA,c,IACGznF,EAAJ,GAA8B,QAA1BA,EAAAA,EAAa0nF,qBAAa,IAA1B1nF,OAAAA,EAAAA,EAA4B8nF,SAC5B,MAAO,CACHzrF,KAAMs8E,EAAAA,EAAAA,eACN11B,OAAQ,CAAE6kC,SAAU9nF,EAAa0nF,cAAcI,WAK/D,OAAO,I,oJC5CX,MAAMC,GAAmBxvD,EAAAA,EAAAA,IAAgByvD,EAAAA,yBAElC,MAAMC,UAA8BryF,MACvCgoD,cACIC,MAAM,8CAENr8C,OAAOs8C,eAAexmD,KAAM2wF,EAAsBlqC,U,EAqKnD,MAAMmqC,EAA2B,IA9IxC,MAgBI,aACSlrE,EAAAA,GAAAA,qBAAgC1lB,KAAKyoE,gBAE1CzoE,KAAK2B,IAAI,qBAET3B,KAAKyoE,eAAgB,EAErBzoE,KAAK6wF,qBAAuB7wF,KAAK8wF,qBAEjC9wF,KAAK2B,IAAI,oBAAqB3B,KAAK6wF,sBAE7B7wF,KAAK+wF,eACX/wF,KAAKgxF,oBAAsBhxF,KAAKixF,gB,CAGpC,YACI,OAAOjxF,KAAKkxF,mB,CAGhB,0BAGI,WAFiClxF,KAAKgxF,qBAEdvtE,QAAS,OAEjC,MAAM28C,EAA8B,CAChC+wB,OAAQnxF,KAAKoxF,kBACb9X,YAAyC,QAA5B5zD,EAAAA,GAAAA,cAAoC2rE,EAAAA,WAAAA,IAAiBA,EAAAA,WAAAA,QAClEC,gBAAiBtxF,KAAK6wF,eACtBU,cAAevxF,KAAKwxF,eAGxB,UACUf,EAAiBgB,SAASrxB,GAChCpgE,KAAK2B,IAAI,sC,CACX,MAAOiK,GACL5L,KAAK2B,IAAI,kCAAmCiK,E,EAIpD,2BACI,IAAIilF,QAAuB7wF,KAAK0xF,oBAOhC,OALKb,IACDA,GAAiBc,EAAAA,EAAAA,YACX3xF,KAAK4xF,kBAAkBf,IAG1BA,C,CAGX,0BAEI,aAD6BgB,EAAAA,EAAAA,IAAY,CAAEntF,IAAK1E,KAAK8xF,qBAC/BpuF,K,CAG1B,kBAA0BmtF,GACtB,OAAOgB,EAAAA,EAAAA,IAAY,CAAEntF,IAAK1E,KAAK8xF,kBAAmBpuF,MAAOmtF,G,CAG7D,2BACUkB,EAAAA,EAAAA,YAA8B,4BAA4BrpF,IAC5D1I,KAAK2B,IAAI,+BAAgC+G,EAAa,UAGpDqpF,EAAAA,EAAAA,YAA8B,mCAAmCvjF,IAGnE,GAFAxO,KAAK2B,IAAI,qCAAsC6M,GAExB,QAAnBA,EAAMwjF,SAAoB,CAC1B,MAAM5oE,EAAO5a,EAAM9F,aAAa0gB,KAEhCppB,KAAKiyF,YAAY36D,SAAQR,GAAWA,EAAQ1N,I,KAKxD,4BACI,MAAMtb,QAAeikF,EAAAA,EAAAA,mBAErB,MAAuB,WAAnBjkF,EAAOokF,QACAH,EAAAA,EAAAA,qBAGJjkF,C,CAGX,cACI,IACI,OAAO6xD,KAAKC,iBAAiBuyB,kBAAkBC,Q,CACjD,MAAO/zF,GAEL,OADA2U,QAAQqP,KAAK,iCACN,I,EAIf,gBACI,OAAO,IAAI7gB,SAA4B/C,IACnCszF,EAAAA,EAAAA,YAA8B,gBAAgBx7C,IAC1Cv2C,KAAK2B,IAAI,uBAAwB40C,EAAM7yC,OACvC1D,KAAKoxF,kBAAoB76C,EAAM7yC,MAC/BjF,EAAQ,CAAEglB,SAAS,GAAO,IAG9BsuE,EAAAA,EAAAA,YAA8B,qBAAqBrwF,IAC/C1B,KAAK2B,IAAI,uBAAwBD,EAAIkK,OACrCnN,EAAQ,CAAEglB,SAAS,GAAQ,IAG/BzjB,KAAKqyF,sBACAptD,MAAKqtD,IAGF,GAFAtyF,KAAK2B,IAAI,uBAAwB2wF,EAAiBJ,SAEjB,YAA7BI,EAAiBJ,QACjB,MAAM,IAAIvB,EAGd,OAAOoB,EAAAA,EAAAA,UAA4B,IAEtCtwF,OAAM,IAAMhD,EAAQ,CAAEglB,SAAS,KAAS,G,CAIrD,cAAqBqT,GACjB92B,KAAKiyF,YAAYp0E,KAAKiZ,E,eAzI1B,KAAQg7D,kBAAoB,kBAC5B,KAAQjB,eAAiB,GACzB,KAAQoB,YAAiC,GAMzC,KAAQb,kBAAoB,GAC5B,KAAQJ,oBAAmDxvF,QAAQ/C,QAAQ,CAAEglB,SAAS,IAEtF,KAAQglD,eAAgB,EAExB,KAAQ9mE,KAAMU,EAAAA,EAAAA,IAAW,qB,GAkItB,SAASmqF,EAAsBviC,GAGlC,OAFA2mC,EAAyB2B,cCzLtB,SAAuBtoC,GAC1B,OAAO,SAAmBz7C,GACtB,IAAKA,EAAMgkF,WAAY,OAEvB,MAAMnhF,GAAWkqD,EAAAA,EAAAA,GAAqB/sD,EAAMgkF,YAExCnhF,GACA44C,EAAOpsC,KAAKxM,E,EDkLmBohF,CAAcxoC,IAE9C2mC,EAAyBlG,M,kHE5L7B,MAAMgI,GAAsBzxD,E,MAAAA,IAAgByvD,EAAAA,yB,iFCUnD,IAAIzwB,EAAS,CACTt+D,IAAKgxF,IAAAA,GAKT,IACI1yB,GAAS59D,EAAAA,EAAAA,IAAW,gB,CACtB,MAAOhE,GACL2U,QAAQpH,MAAM,8B,CAGlB,MAAMgnF,EAAiC,iBAAkB5tE,OAczD,MAAMuf,UAAqBC,EAAAA,GACZ5hC,oBACP,OAAO5C,KAAK4H,MAAMhF,a,CAEXqE,4BACP,OAAOjH,KAAK4H,MAAMigB,gB,CAEXgrE,oCACP,MAAMC,EAAsB9mD,EAAAA,GAAAA,QAAiCoO,EAAAA,GAC7D,OAAO04C,EAAoB3iF,QAAQC,kCAC/B0iF,EAAoBlrF,MAAM2L,yBAAyBw/E,sB,EAK/D,MAAMpvD,UAAuBC,EAAAA,GACzB,0BACI5jC,KAAK4H,MAAMC,4BAA6B,C,CAE5C,2BACI7H,KAAK4H,MAAMC,4BAA6B,C,CAE5C,sBAA6BnJ,GACzB,MAAMs0F,EAA2BhzF,KAAK4H,MAAMhF,cAAcmO,MAAKkiF,GAAKA,EAAEv0F,KAAOA,IAC7Es0F,IAA6BA,EAAyBnqF,SAAU,E,CAEpE,2BACI7I,KAAK4H,MAAMhF,cAAc00B,SAAQ47D,GAAQA,EAAIrqF,SAAU,G,CAE3D,yBAAgCsa,GAC5BnjB,KAAK4H,MAAMigB,iBAAmB1E,C,CAElC,kBAAyBvgB,GACrB5C,KAAK4H,MAAMhF,cAAgB,IAAI5C,KAAK4H,MAAMhF,iBAAkBA,E,CAEhE,iBAAwBA,GACpB5C,KAAK4H,MAAMhF,cAAgBA,C,CAE/B,WACI5C,KAAK4H,MAAMurF,aAAe,C,CAE9B,YAAmB5jD,GACfvvC,KAAK4H,MAAMg6C,SAAWrS,C,CAE1B,kBAAyB6jD,GACrBpzF,KAAK4H,MAAMyrF,eAAiBD,C,CAEhC,aACIpzF,KAAK4H,MAAMurF,YAAc,EACzBnzF,KAAK4H,MAAMg6C,SAAW,I,CAE1B,4BAAmC0xC,GAC/BtzF,KAAK4H,MAAM0rF,yBAA2BA,C,CAE1C,YAAmBC,GACfvzF,KAAK4H,MAAM4rF,sBAAwBD,C,EAI3C,MAAM9uD,UAAqBC,EAAAA,GACvB,2BACI,mBACUguD,EAAoBe,2BACtBh/E,EACA,cACAzU,KAAK4H,MAAMurF,YACXnzF,KAAK4H,MAAM4nC,WAEjBpmB,I,CAGN,mCACI,UACUspE,EAAoBgB,4BAC1B1zF,KAAKkI,UAAUyrF,yBAAyB,GACxC3zF,KAAKkI,UAAU0rF,0B,CACjB,MAAOhoF,GACLq0D,EAAOt+D,IAAI,4D,EAInB,iCACI,IACI,MAAMsF,QAA8ByrF,EAAoBmB,8BACxD7zF,KAAKkI,UAAUyrF,yBAAyB1sF,EAAsBmiB,K,CAChE,MAAOxd,GACLoH,QAAQpH,MAAMA,E,EAItB,yBAEI,IADwD,OAAxB5L,KAAK4H,MAAMg6C,UAAqB5hD,KAAK4H,MAAMurF,aAAenzF,KAAK4H,MAAMg6C,YACxC,IAA9B5hD,KAAK4H,MAAMyrF,eAA0B,CAChErzF,KAAKkI,UAAU4rF,mBAAkB,GACjC,MAAMlxF,QAAsB5C,KAAKgmC,QAAQ+tD,qBACzC/zF,KAAKkI,UAAU4rF,mBAAkB,GACjC9zF,KAAKkI,UAAU8rF,WACfh0F,KAAKkI,UAAU+rF,YAAYrxF,EAAc++C,WACrC/+C,EAAcwmB,MACdppB,KAAKkI,UAAUgsF,kBAAkB,IAAItxF,EAAcwmB,M,EAK/D,iCACIppB,KAAKkI,UAAUisF,aACfn0F,KAAKkI,UAAU4rF,mBAAkB,GACjC,MAAMlxF,QAAsB5C,KAAKgmC,QAAQ+tD,qBACrCnxF,EAAcwmB,OACdppB,KAAKkI,UAAUksF,iBAAiBxxF,EAAcwmB,MAC9CppB,KAAKkI,UAAU8rF,YAEnBh0F,KAAKkI,UAAU4rF,mBAAkB,E,CAGrC,4BAAmCprF,GAC3BA,EAAahK,KAA+B,IAAzBgK,EAAaG,gBAC1B6pF,EAAoB2B,uBAAuB3rF,EAAahK,IAAI,SAC5DsB,KAAKgmC,QAAQsuD,2BACnBt0F,KAAKkI,UAAUqsF,sBAAsB7rF,EAAahK,I,CAG1D,uCACgD,IAAxCsB,KAAK4H,MAAM0rF,2BAEPV,GAC4B,YAA5BxrF,aAAa8/E,YACblnF,KAAKmQ,QAAQ0iF,+BAEbzrF,aAAaotF,oBAEjBx0F,KAAKkI,UAAUusF,6BAA4B,SACrCz0F,KAAKgmC,QAAQsuD,iCACbt0F,KAAKgmC,QAAQ0uD,mBACnB10F,KAAKkI,UAAUysF,YAAYA,YAAY30F,KAAKgmC,QAAQ4uD,yBAA0B,O,CAItF,WAAkB3tF,GACd,IAAuC,IAAnC2rF,EACA,OAEJ,MAAM7sF,EAAQo0C,EAAAA,GAAAA,QAA0BC,EAAAA,GAAWjqC,QAAQpK,MAC3D,GAAgC,YAA5BqB,aAAa8/E,WAA0B,C,IAM7BlyE,EALV,MAAM6/E,EACF5tF,EAAwB,EAClBlB,EAAM,qCAAsC,CAAEC,IAAKiB,KACnD0B,EAAAA,EAAAA,GAAoB3I,KAAK4H,MAAMhF,cAAc,IACjDkyF,EAAsB,IAAI1tF,aAAarB,EAAM,wCAAyC,CACxFgE,MAA0D,QAApDiL,EAAAA,EAAAA,GAAAA,QAAsBolC,EAAAA,GAAWxyC,MAAMuO,qBAAa,IAApDnB,OAAAA,EAAAA,EAAsDkR,cAAeC,EAC3Ei6C,KAAMy0B,IAEJnsF,EAAe1I,KAAK4H,MAAMhF,cAAc,IACxC,UAAEsF,GAAclI,KACtB80F,EAAoBC,QAAUvvE,iBAE1B,GADAR,OAAOyF,QACuB,IAA1BxjB,EAA6B,CAC7B,MAAMmC,GAAQmnF,EAAAA,EAAAA,GAAqB7nF,GACnC,GAAIU,EAAO,QACc,yCACdlK,QAAQ2e,KAAKzU,E,OAGxBlB,EAAUG,yB,GAM1B,iCACI,IACI,MACMpB,SADoCyrF,EAAoBmB,+BACJzqE,KACpD4rE,EAA4B/tF,EAAwBjH,KAAKmQ,QAAQlJ,sBAEnEA,IAA0BjH,KAAKmQ,QAAQlJ,8BACjCjH,KAAKkI,UAAUyrF,yBAAyB1sF,SACxCjH,KAAKgmC,QAAQivD,4BAEnBj1F,KAAKmQ,QAAQ0iF,+BAAiCmC,EAA4B,GAAKjvE,SAASmvE,QACxFl1F,KAAKgmC,QAAQmvD,WAAWH,E,CAE9B,MAAOppF,GACLoH,QAAQpH,MAAMA,E,GAK1B,MAAMwjF,EAAqB,IAAI7pD,EAAAA,GAAO,CAClC39B,MAzMJ,M,cACI,KAAOhF,cAAwC,GAC/C,KAAOilB,iBAAmB,EAC1B,KAAOsrE,YAAc,EACrB,KAAOvxC,SAA0B,KACjC,KAAOpS,SAAW,GAClB,KAAO6jD,gBAAiB,EACxB,KAAOC,0BAA2B,EAClC,KAAOE,sBAA6C,KACpD,KAAO3rF,4BAA6B,C,GAiMpCK,UAAWy7B,EACXxzB,QAASo0B,EACTyB,QAASvB,IAGb,IAEa2wD,GAA2BlvD,EAAAA,EAAAA,IAAakpD,GACxC1oF,EAA2B5H,EAAAA,GAAAA,OAAW,CAC/CyR,SAAU,IACH6kF,EAAyBhvD,SAAS,CAAC,2BAA4B,kCAC/DgvD,EAAyB/tD,WAAW,CAAC,gBAAiB,2BAE7DhB,QAAS,IACF+uD,EAAyB7uD,WAAW,CACnC,2BACA,mBACA,wBACA,2BACA,gCACA,kCAED6uD,EAAyB9uD,aAAa,CACrC,2BACA,8BACA,0BACA,gCAKC+uD,EAAkCv2F,EAAAA,GAAAA,OAAW,CACtDunC,QAAS,IACF+uD,EAAyB7uD,WAAW,CAAC,qCAInC+uD,GAA2BpuD,EAAAA,EAAAA,IAA4CkoD,E,2GCnQ7E,SAAS1nF,IACZ,MAAMD,GAAQ6tF,EAAAA,EAAAA,MACRrrC,GAAS+O,EAAAA,EAAAA,MAETzwD,GAAWqG,EAAAA,EAAAA,GAASnH,EAAMu+B,QAAQ0uD,iBAAkB,KAYpD9xF,GAAgB2N,EAAAA,EAAAA,WAAS,IAAM9I,EAAM0I,QAAQvN,gBAC7CqE,GAAwBsJ,EAAAA,EAAAA,WAAS,IAAM9I,EAAM0I,QAAQlJ,yBACrD,2BAAEC,GAA+BO,EAAMu+B,SACvC,yBAAE79B,EAAwB,wBAAEE,GAA4BZ,EAAMS,UAEpE,MAAO,CACHC,2BACAQ,oBAAmB,IACnBJ,WACArB,6BACAD,wBACArE,gBACAyF,0BACAU,yBAvB8BL,IAC9BjB,EAAMu+B,QAAQuuD,sBAAsB7rF,GACpC,MAAMU,GAAQmnF,EAAAA,EAAAA,GAAqB7nF,GAC/BU,GACA6gD,EAAOpsC,KAAKzU,GAGhB3B,EAAMS,UAAUC,0BAA0B,EAiB1CV,Q,oFC7BR,MAAMk8B,UAAuBC,EAAAA,GACzB,mBACI5jC,KAAK4H,MAAM2tF,8BAA+B,C,CAG9C,mBACIv1F,KAAK4H,MAAM2tF,8BAA+B,C,EAIlD,MAAM9tF,EAAQ,IAAI89B,EAAAA,GAAO,CACrB39B,MAfJ,M,cACI2tF,KAAAA,8BAA+B,C,GAe/BrtF,UAAWy7B,IAGF6xD,GAAoBtuD,EAAAA,EAAAA,IAAiBz/B,GACrCguF,GAAuBvvD,EAAAA,EAAAA,IAAaz+B,GASjD,IAP4CiqD,EAAAA,EAAAA,GAA0B,IAC/D+jC,EAAqBrvD,SAAS,CAAC,oCAC/BqvD,EAAqBnvD,aAAa,CAAC,mBAAoB,uBAK9D,E,gGC5BO,SAAS32B,IACZ,MAAM2kC,GAAqB7hC,EAAAA,EAAAA,MAErBijF,GADW/iF,EAAAA,EAAAA,KACsBgjF,eAAeC,EAAAA,IAEhDC,GAAU/yF,EAAAA,EAAAA,KAA8B,MAM9C,SAAS0M,EAAc03E,G,IACJ2O,EAAf,OAAOt2F,QAAqB,QAAbs2F,EAAAA,EAAQnyF,aAAK,IAAbmyF,OAAAA,EAAAA,EAAermF,cAAc03E,G,CALhDwO,IAAwBzwD,MAAK6wD,IACzBD,EAAQnyF,MAAQoyF,CAAiB,IAerC,MAAMxjF,GAAuB/B,EAAAA,EAAAA,WAAS,IAC3Bf,EAAcmB,EAAAA,GAAAA,YAA0B2jC,EAAmB1sC,MAAM+8C,qBAG5E,MAAO,CAAEn1C,gBAAeC,iBAZxB,WAA0B,wE,IACPomF,EAAf,OAAOt2F,QAAqB,QAAbs2F,EAAAA,EAAQnyF,aAAK,IAAbmyF,OAAAA,EAAAA,EAAepmF,oBAAoBq3E,G,EAWZp3E,mBAR1C,WAA4B,wE,IACTmmF,EAAf,OAAOt2F,QAAqB,QAAbs2F,EAAAA,EAAQnyF,aAAK,IAAbmyF,OAAAA,EAAAA,EAAenmF,sBAAsBo3E,G,EAOMx0E,uB,+DC5B3D,SAASq3E,EAA6BnD,GACtBA,EAAS5zE,YAAYmjF,EAAAA,GAC7BjR,S,iDCNR,MAAMkR,EAA2B9rF,OAAOw7C,OAAO,CAClDuwC,cAAe,gBACfC,oBAAqB,uB,4ECFlB,MAAMvlF,EAAczG,OAAOw7C,OAAO,CACrCywC,QAAS,UACTC,UAAW,YACXC,WAAY,cACZC,YAAa,eACbC,aAAc,gBACdC,YAAa,eACbC,eAAgB,kBAChBC,YAAa,eACbC,sBAAuB,0BACvBC,aAAc,gBACdC,cAAe,iBACfC,SAAU,YACVC,kBAAmB,wBAShB,SAASC,EAAgC5tF,GAC5C,YAAkCqL,IAA9BrL,EAAMo3B,qBAA0E,IAArCp3B,EAAMo3B,oBAAoBh4B,M,CAMtE,MAAMg/E,EAOT,cAAqBN,GACjB,OAAOlnF,KAAK8mF,YAAYmQ,IAAI/P,E,CAGhC,iBAAwB99E,GACpB,OAAI4tF,EAAgC5tF,IACzBA,EAAMo3B,oBAAoB9F,OAAMwsD,GAAclnF,KAAKwP,cAAc03E,I,CAMrEgQ,kBACP,OAAO,C,CAjBX,YAAmBpQ,GACf9mF,KAAK8mF,YAAc,IAAIC,IAAID,E,EAoB5B,MAAMW,UAAsBD,EAKpB0P,kBACP,OAAO,C,CALX,cACI3wC,MAAM,G,yFC1CP,SAASqvC,EAAiCuB,GAC7C,OAAO3xE,UACH,MAAM5Q,QAAauiF,EAAoBC,iBACvC,MAAO,CACH5nF,cAAc03E,GACHtyE,EAAKpF,cAAc03E,GAG9Bz3E,mBAAiB,wEACb,OAAOq3E,EAAY7vD,MAAKiwD,GAActyE,EAAKpF,cAAc03E,I,EAG7Dx3E,qBAAmB,wEACf,OAAOo3E,EAAYpsD,OAAMwsD,GAActyE,EAAKpF,cAAc03E,I,EAEjE,C,CAMT0O,EAAiCliE,OAAS,CAACqY,EAAAA,EAAAA,qB,oGCvBpC,MAAMgqD,EAQT,UACI/1F,KAAKiqD,OAAOotC,0BAA0Br3F,KAAKs3F,kCAAkCp3B,KAAKlgE,M,CAGtF,wCAAgDoJ,EAA6B4/C,GACzE,KAAKguC,EAAAA,EAAAA,IAAgC5tF,GAEjC,OADApJ,KAAK2B,IAAI,wDACFqnD,IAGX,MAAMp0C,QAAa5U,KAAKu3F,aAAaH,iBAarC,GAJIxiF,EAAKsiF,aACLl3F,KAAKw7C,QAAQ,kFAGZ5mC,EAAK4iF,iBAAiBpuF,GAEvB,OADApJ,KAAKw7C,QAAQ,kEACNx7C,KAAKiqD,OAAOwtC,UAAUzuC,GAGjChpD,KAAK2B,IAAI,oDACTqnD,G,CA/BJ,YAAoCiB,EAAiCstC,G,KAAjCttC,OAAAA,E,KAAiCstC,aAAAA,E,KAHpD51F,KAAMU,EAAAA,EAAAA,IAAW,2B,KACjBm5C,SAAUC,EAAAA,EAAAA,IAAe,0B,EAH1C,EAAc/nB,OAAS,CAACqY,EAAAA,EAAAA,cAAsBA,EAAAA,EAAAA,oB,+BCZlD,M,0BAAKnL,GAAAA,EACE,IAAG,MADLA,EAEM,QAAG,UAFTA,EAGO,SAAG,WAHVA,EAIgB,kBAAG,oBAJnBA,EAKM,QAAG,UALTA,EAMY,cAAG,gBANfA,EAOQ,UAAG,YAPXA,EAQK,OAAG,SARRA,EASK,OAAG,SATRA,EAUQ,UAAG,YAVXA,EAWQ,UAAG,YAXXA,EAYI,MAAG,QAZPA,EAagB,kBAAG,oBAbnBA,EAcK,OAAG,SAdRA,EAee,iBAAG,mBAflBA,EAgBiB,mBAAG,oB,EAhBpBA,IAAAA,EAAgB,KAmBrB,S,yECdO,MAAMD,EAAuC+2D,GACzClyE,MAAO2d,EAAYC,EAAcC,KACpC,MAAMs0D,EAAqBh1D,EAAAA,EAAAA,QAAwBl7B,EAAAA,GAAOm7B,QAAQusD,aAChCwI,EAAmB/vF,MAAMgwF,mBAGjDD,EAAmB3xD,QAAQ6xD,wBAGbF,EAAmBxnF,QAAQD,sBAAsBwnF,GAKrEr0D,KAFAoR,EAAAA,EAAAA,GAAmBpR,E,0HCX/B,MAAMy0D,GAAyB72D,EAAAA,EAAAA,IAAgB82D,EAAAA,mBAuB/C,MAAMxzD,UAAqBC,EAAAA,GACvB,sBAA6BrzB,GAEzB,OADyB6J,MAAMyC,QAAQtM,GAAeA,EAAc,CAACA,IAC7CupB,OAAMs9D,GAAWh4F,KAAK4H,MAAMqwF,SAASD,I,EAI9D,MAAMvzD,UAAqBC,EAAAA,GAC9B,8BACgD,OAAxC1kC,KAAK4H,MAAMswF,0BACXl4F,KAAKkI,UAAUiwF,qBACXL,EAAuBM,6BAA6BnzD,MAAKI,IACrDrlC,KAAKkI,UAAUmwF,gBAAgBhzD,EAASjc,KAA0C,WAKxFppB,KAAK4H,MAAMswF,wB,EAIzB,MAAMv0D,UAAuBC,EAAAA,GACzB,gBAAuBi/C,GACnB7iF,KAAK4H,MAAMqwF,SAAW,IACfj4F,KAAK4H,MAAMqwF,YACXpV,GAGP7iF,KAAK4H,MAAMgwF,aAAc,EACzB53F,KAAK4H,MAAMswF,yBAA2B,I,CAG1C,qBAA4BI,GACxBt4F,KAAK4H,MAAMswF,yBAA2BI,C,EAI9C,MAAMvoF,EAAoB,IAAIw1B,EAAAA,GAAO,CACjC39B,MA3DJ,M,cACI,KAAOqwF,SAAmD,CACtD,CAACr3D,EAAAA,EAAAA,QAAyB,EAC1B,CAACA,EAAAA,EAAAA,UAA2B,EAC5B,CAACA,EAAAA,EAAAA,YAA6B,EAC9B,CAACA,EAAAA,EAAAA,oBAAqC,EACtC,CAACA,EAAAA,EAAAA,gBAAiC,EAClC,CAACA,EAAAA,EAAAA,SAA0B,EAC3B,CAACA,EAAAA,EAAAA,YAA6B,EAC9B,CAACA,EAAAA,EAAAA,WAA4B,EAC7B,CAACA,EAAAA,EAAAA,oBAAqC,EACtC,CAACA,EAAAA,EAAAA,mBAAoC,EACrC,CAACA,EAAAA,EAAAA,UAA2B,EAC5B,CAACA,EAAAA,EAAAA,SAA0B,EAC3B,CAACA,EAAAA,EAAAA,qBAAsC,GAE3C,KAAOg3D,aAAc,EACrB,KAAOM,yBAAiD,KACxD,KAAOjoF,aAAe2wB,EAAAA,C,GA0CtB14B,UAAWy7B,EACXqC,QAASvB,EACTt0B,QAASo0B,IAGAv0B,GAAuBk3B,EAAAA,EAAAA,IAAiBn3B,GAErD,IACawoF,GAA0BryD,EAAAA,EAAAA,IAAan2B,GACvCyoF,EAA0B15F,EAAAA,GAAAA,OAAW,CAC9CyR,SAAU,IACHgoF,EAAwBnyD,SAAS,CAAC,WAAY,cAAe,oBAC7DmyD,EAAwBlxD,WAAW,CAAC,2BAE3ChB,QAASkyD,EAAwBhyD,WAAW,CAAC,2B,6FC3EjD,MAAM5C,UAAuBC,EAAAA,GACzB,sBACI5jC,KAAK4H,MAAM6wF,0BAA2B,C,CAG1C,sBACIz4F,KAAK4H,MAAM6wF,0BAA2B,C,EAIvC,MAAMxlF,EAAkB,IAAIsyB,EAAAA,GAAO,CACtC39B,MAfJ,M,cACI,KAAO6wF,0BAA2B,C,GAelCvwF,UAAWy7B,IAGF+0D,GAAwBxyD,EAAAA,EAAAA,IAAajzB,GAErCC,GAAqBg0B,EAAAA,EAAAA,IAAiBj0B,GAEtC0lF,EAAuB75F,EAAAA,GAAAA,OAAW,CAC3CyR,SAAU,IACHmoF,EAAsBtyD,SAAS,CAAC,8BAEvCC,QAAS,IACFqyD,EAAsBpyD,aAAa,CAAC,sBAAuB,0B,sFCzB/D,G,SAAWioD,GAAAA,EACE,iBAAG,kB,EADLA,IAAAA,EAAqB,KAIvC,MAYA,EAZ8B,CAC1B,CACI/kF,KAAM,mBACNzE,KANe,mBAOfiR,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,uBACV5d,iBAAkB2qC,EAAAA,EAAAA,mBAEtB3sB,UAdoB,IAAM,wF,+HCQ3B,EAgBA,E,iEAhBW2M,GAAAA,EACL,UAAG,YADEA,EAER,OAAG,SAFKA,EAGV,KAAG,OAHOA,EAIR,OAAG,SAJKA,EAKF,aAAG,eALDA,EAMH,YAAG,UANAA,EAOL,UAAG,QAPEA,EAQN,SAAG,WARGA,EAST,MAAG,QATMA,EAUE,iBAAG,mBAVLA,EAWT,MAAG,QAXMA,EAYR,OAAG,SAZKA,EAaR,OAAG,Q,EAbKA,IAAAA,EAAK,K,SAgBXjB,GAAAA,EACG,YAAG,cADNA,EAEK,cAAG,gBAFRA,EAGG,YAAG,cAHNA,EAIC,UAAG,YAJJA,EAKS,kBAAG,oBALZA,EAMO,gBAAG,kBANVA,EAOI,aAAG,qBAPPA,EAQM,eAAG,uBARTA,EASY,qBAAG,uBATfA,EAUQ,iBAAG,mBAVXA,EAWY,qBAAG,qBAXfA,EAYK,cAAG,eAZRA,EAaO,gBAAG,kBAbVA,EAcG,YAAG,mBAdNA,EAekB,2BAAG,kCAfrBA,EAgBK,cAAG,gBAhBRA,EAiBI,aAAG,c,EAjBPA,IAAAA,EAAK,KAoBjB,MAEMysD,EAAY,IAAM,6HAMlBC,EAAoB,IAAM,iGAE1BC,EAAmB,IAAM,gCAIzBC,GAAwB91D,EAAAA,EAAAA,GAAO,EACjCtC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,oBACpCD,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,aAGlC2nB,EAAwB,CAC1B,CACI/+C,KAAM,SACNwM,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,aACVE,uBAAuB,EACvBpb,sBAAsB,GAE1Bub,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,WACjD5vB,SAAU,CACN,CACIxH,KAAM,GACNzE,KAAMonC,EAAMysD,UACZ5iF,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,aACVE,uBAAuB,EACvBpb,sBAAsB,EACtB6zE,oBAAqB,+CAEzBv4D,UAAWm4D,GAEf,CACIpvF,KAAM,QACNzE,KAAMonC,EAAM8sD,gBACZjjF,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,aACVE,uBAAuB,EACvBpb,sBAAsB,EACtB6zE,oBAAqB,iDAEzBv4D,UAAWo4D,GAEf,CACIrvF,KAAM,SACNzE,KAAMonC,EAAM+sD,2BACZljF,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,gBACV24D,oBAAqB,wCAEzBv4D,UAAWq4D,EACXp4D,aAAauC,EAAAA,EAAAA,GAAO,EAACC,EAAAA,EAAAA,IAAgB,IAAMi2D,KAAahtD,EAAMysD,eAGtEn4D,UArDgB,IAAM,gCAuD1B,CACIj3B,KAAM,oCACNzE,KAAMonC,EAAMitD,cACZpjF,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,gBACV5d,iBAAkB0pB,EAAMktD,eACxB74D,oBAAqB,CAAC7vB,EAAAA,GAAAA,YAE1B8vB,UAxEmB,IAAM,qHA0E7B,CACIj3B,KAAM,gCACNzE,KAAMonC,EAAMmtD,YACZtjF,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,gBACV5d,iBAAkB0pB,EAAMotD,aACxB/4D,oBAAqB,IAEzBC,UAjFiB,IAAM,+HAmF3B,CACIj3B,KAAM,+BACNzE,KAAMonC,EAAMqtD,qBACZxjF,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,2BACV5d,iBAAkB0pB,EAAMstD,iBACxBj5D,oBAAqB,IAEzBE,YAAaq4D,EACbt4D,UAxF0B,IAAM,sHA0FpC,CACIj3B,KAAM,+BACNzE,KAAMonC,EAAMutD,qBACZ1jF,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,2BACV5d,iBAAkB0pB,EAAMstD,iBACxBj5D,oBAAqB,CAAC7vB,EAAAA,GAAAA,YAE1B+vB,YAAaq4D,EACbt4D,UAjG0B,IAAM,kGAmGpC,CACIj3B,KAAM,uBACNzE,KAAMonC,EAAMwtD,aACZ3jF,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,mBACV5d,iBAAkB0pB,EAAMytD,cACxBp5D,oBAAqB,CAAC7vB,EAAAA,GAAAA,UAAuBA,EAAAA,GAAAA,cAEjD+vB,aAAauC,EAAAA,EAAAA,GAAO,EAACtC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,UACzDH,UAvGkB,IAAM,6GA2GnBqsD,EAAmC,CAC5C,CACItjF,KAAM,UACNzE,KAAMonC,EAAM0tD,gBACZ7jF,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,aACVE,uBAAuB,EACvBpb,sBAAsB,EACtB6zE,oBAAqB,8CACrBx4D,oBAAqB,CAAC7vB,EAAAA,GAAAA,YAE1B8vB,UAAWm4D,EACXl4D,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,YAErD,CACIp3B,KAAM,kBACNzE,KAAMonC,EAAMktD,eACZrjF,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,qBACVE,uBAAuB,EACvBpb,sBAAsB,EACtB6zE,oBAAqB,0CACrBx4D,oBAAqB,CAAC7vB,EAAAA,GAAAA,YAE1B8vB,UA5IwB,IAAM,gJA6I9BC,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,YAErD,CACIp3B,KAAM,gBACNzE,KAAMonC,EAAMotD,aACZvjF,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,mBACVE,uBAAuB,EACvBpb,sBAAsB,EACtB6zE,oBAAqB,wCACrBx4D,oBAAqB,CAAC7vB,EAAAA,GAAAA,YAE1B8vB,UAxJsB,IAAM,2GAyJ5BC,aAAaC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,YAErD,CACIp3B,KAAM,2BACNzE,KAAMonC,EAAMstD,iBACZzjF,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,mBACVE,uBAAuB,EACvBpb,sBAAsB,EACtB6zE,oBAAqB,2CACrBx4D,oBAAqB,CAAC7vB,EAAAA,GAAAA,YAE1B8vB,UAnKsB,IAAM,mEAoK5BC,YAAaq4D,GAEjB,CACIvvF,KAAM,gBACNzE,KAAMonC,EAAM2tD,cACZ9jF,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,oBACVE,uBAAuB,EACvBpb,sBAAsB,EACtB6zE,oBAAqB,yCACrBx4D,oBAAqB,CAAC7vB,EAAAA,GAAAA,YAE1B8vB,UAAWo4D,EACXn4D,aAAauC,EAAAA,EAAAA,GAAO,EClOmB82D,EDmOJtY,EAAAA,EAAAA,yBClOhCj8D,MAAO2d,EAAYC,EAAcC,KACpC,MAAM22D,EAA4Br3D,EAAAA,EAAAA,QAAwBl7B,EAAAA,GAAOm7B,QAAQoJ,yBAC/BguD,EAA0BpyF,MAAMk7E,+BAGhEkX,EAA0Bh0D,QAAQi0D,yBAIxCD,EAA0B7pF,QAAQC,kCAAkC2pF,GAKpE12D,KAFAoR,EAAAA,EAAAA,GAAmBpR,E,IDuNnB1C,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,mBACpCD,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,cAG5C,CACIp3B,KAAM,iBACNzE,KAAMonC,EAAMytD,cACZ5jF,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,oBACVE,uBAAuB,EACvBpb,sBAAsB,EACtB6zE,oBAAqB,yCACrBx4D,oBAAqB,CAAC7vB,EAAAA,GAAAA,YAE1B8vB,UA5LmB,IAAM,yIA6LzBC,aAAauC,EAAAA,EAAAA,GAAO,EAACtC,EAAAA,EAAAA,GAAoCC,EAAAA,EAAAA,WAE7D,CACIp3B,KAAM,gBACNzE,KAAMonC,EAAM+tD,YACZlkF,KAAM,CACF3W,MAAO,GAAGghC,EAAAA,gBACV24D,oBAAqB,uCACrBx4D,oBAAqB,CAAC7vB,EAAAA,GAAAA,YAE1B8vB,UAAWq4D,EACXp4D,aAAauC,EAAAA,EAAAA,GAAO,EAACC,EAAAA,EAAAA,IAAgB,IAAMi2D,KAAahtD,EAAM0tD,qBC9PxB,IAACE,EDkQ/C,MAAMZ,EAAY,KACd,MAAMx6F,EAASgkC,EAAAA,EAAAA,QAAwBl7B,EAAAA,GAAOm7B,QAAQyqD,WAEtD,OAAO9tF,SAASZ,EAAOwR,QAAQlE,WAAW,EAG9C,G,0KEjQO,SAASw+E,EAAiBxgC,GAC7B,GAAIpP,EAAAA,EAAAA,WAAyBA,EAAAA,EAAAA,mBAAgC,CACzD,MAAMs/C,EAAiB,CACnB,yBACA,iBACA,gCACA,yBAG2B,cAA3Bt/C,EAAAA,EAAAA,YACAs/C,EAAet8E,KAAK,aAGxB,MAAM5L,EAAmC,CACrC,IAAImoF,EAAAA,GAAAA,GAAmC,CACnCC,uBAAwBC,EAAAA,EAAgCrwC,GACxDswC,YAAY,EACZC,UAAU,EACVC,4BAA4B,EAC5BC,kCAAkC,EAClCP,eAAgBA,EAChBQ,4BAA4B,KAIhC9/C,EAAAA,EAAAA,gBACA5oC,EAAa4L,KAAK,IAAI+8E,EAAAA,EAAgB//C,EAAAA,EAAAA,qBAG1Cy/C,EAAAA,EAAY,CACRx7F,IAAG,UACH+7F,IAAKhgD,EAAAA,EAAAA,UACLigD,QAASjgD,EAAAA,EAAAA,cACT5oC,aAAcA,EACd8oF,iBAAkBlgD,EAAAA,EAAAA,sBAClBA,YAAaA,EAAAA,EAAAA,KACbmgD,kBAAkB,EAClBC,aAAc,CACV,sBACA,6BACA,IAAIjzB,OAAO/gB,EAAAA,GAAAA,W,EAOpB,SAAS87B,EAAWpe,GACN21B,EAAAA,KAAuBY,aAIxCv2B,EAAK21B,E,EAtDThZ,EAAAA,EAAAA,I,0GCPO,E,qBAAK6Z,GAAAA,EACR,iBADQA,EAER,iBAFQA,EAGR,iBAHQA,EAIR,iBAJQA,EAKR,iBALQA,EAMR,iBANQA,EAOR,iBAPQA,EAQR,iBARQA,EASR,iBATQA,EAUR,gB,EAVQA,IAAAA,EAAQ,KAab,MAAMC,EAAY,CACrBD,EAAS,SACTA,EAAS,SACTA,EAAS,SACTA,EAAS,SACTA,EAAS,SACTA,EAAS,SACTA,EAAS,SACTA,EAAS,SACTA,EAAS,SACTA,EAAS,UAEAE,EAAkBF,EAAS,SCpB3BG,EAAiC,CAC1CH,EAAS,SACTA,EAAS,SACTA,EAAS,SACTA,EAAS,SACTA,EAAS,SACTA,EAAS,SACTA,EAAS,SACTA,EAAS,SACTA,EAAS,SACTA,EAAS,UChBN,SAASI,EAAqB98B,GAKjC,GAJKA,IACDA,EAAWlL,UAAUkL,UAGrB,WAA0CA,GAC1C,OAAOA,EAGX,MAAO+8B,GAAgB/8B,EAASlzD,MAAM,KAItC,OAF0B+vF,EAAmBvqF,MAAKqzD,GAAKA,EAAEq3B,WAAWD,MAExCH,C,CCbzB,SAASK,EAAiBh3F,GAC7B,OAAOA,KAAOi3F,EAAAA,O,sv2IC+BlB,SAAeh0B,E,SAAAA,IACXi0B,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,E,iHCrDJ,SAASC,EAAgBC,EAAgBrpC,GACrC,OAAOlqD,OAAO1L,KAAK41D,GAAWlpD,QAAO,CAACwyF,EAAcC,KAChD,MAAMj6F,EAAQ0wD,EAAUupC,GAGxB,OAVR,SAAoBF,EAAgBG,EAA8BC,GAC9D,MAAMC,EAAS,IAAI91B,OAAO41B,EAAa,KACvC,OAAOH,EAAOh0F,QAAQq0F,EAAQD,E,CAQnBE,CAAWL,EAAc,IAAIC,UAFK,IAAVj6F,EAAwBi6F,EAAav+F,OAAOsE,GAER,GACpE+5F,E,CAGP,SAASO,EAAUt5F,EAAai5D,EAAiBsgC,EAAyB7pC,GACtE,IAAK6pC,QAAkCxpF,IAApBwpF,EAAWv5F,GAC1B,OAEJ,MAAMw5F,EAAQD,EAAWv5F,GAEzB,GAAqB,iBAAVw5F,EACP,OAAOA,EAGX,GAAI9pC,GAAa,QAASA,GAAsC,iBAAlBA,EAAUpuD,KAAoB23D,EAAQ,CAChF,GAAsB,IAAlBvJ,EAAUpuD,KAAak4F,EAAY,KACnC,OAAOA,EAAY,KAEvB,MAAM9kD,EAAW,IAAIumB,KAAKw+B,YAAYxgC,GAAQpkC,OAAO66B,EAAUpuD,KAC/D,GAAIk4F,EAAM9kD,GACN,OAAO8kD,EAAM9kD,E,CAIrB,OAAO8kD,EAAa,OAAKA,EAAY,MAAKA,EAAW,UAAKzpF,C,CCpB9D,MAAM8vB,UAAqBC,EAAAA,GACZ42D,gBACP,OAAOA,EAAAA,E,CAGAgD,wBACP,OAAOp+F,KAAK4H,MAAMy2F,aAAar+F,KAAK4H,MAAM2xD,gB,CAGnC+kC,uBACP,OAAOjD,EAAAA,E,CAGAkD,yBACP,OAAOv+F,KAAK4H,MAAMy2F,aAAar+F,KAAKmQ,QAAQmuF,iB,CAGhD,MAAa55F,EAAsB0vD,GAC/B,ODcD,SAAsB,G,IAAA,IACzB1vD,EAAG,WACHu5F,EAAU,UACV7pC,EAAS,OACTuJ,EAAM,eACN6gC,EAAc,mBACdD,GANyB,EAQzB,GAAIx4E,SAAS04E,OAAOnzF,SAAS,sBACzB,OAAO5G,EAGX,IAAI+4F,EACAO,EAAUt5F,EAAKi5D,EAAQsgC,EAAY7pC,IAAc4pC,EAAUt5F,EAAK85F,EAAgBD,EAAoBnqC,GAaxG,OAXIqpC,GAAUrpC,IACVqpC,EAASD,EAAgBC,EAAQrpC,SAIf,IAAXqpC,GACN13E,SAAS04E,OAAOnzF,SAAS,wBAE1B0H,QAAQqP,KAAK,2CAA2C3d,KAGrD+4F,GAAU/4F,C,CCxCNg6F,CAAa,CAChBh6F,MACAi5D,OAAQ39D,KAAK4H,MAAM2xD,gBACnB0kC,WAAYj+F,KAAKmQ,QAAQiuF,kBACzBhqC,YACAoqC,eAAgBx+F,KAAKmQ,QAAQmuF,iBAC7BC,mBAAoBv+F,KAAKmQ,QAAQouF,oB,EAKtC,MAAM56D,UAAuBC,EAAAA,GAChC,cAAqB,G,IAAA,SAAE66B,EAAQ,WAAEw/B,GAAZ,EACjBn/F,EAAAA,GAAAA,IAAQkB,KAAK4H,MAAMy2F,aAAc5/B,EAAUv0D,OAAOw7C,OAAOu4C,G,CAG7D,UAAiB,G,IAAA,SAAEx/B,EAAQ,OAAEkgC,GAAZ,EACTA,EACA3+F,KAAK4H,MAAMg3F,QAAQngC,GAAYkgC,SAExB3+F,KAAK4H,MAAMg3F,QAAQngC,E,CAIlC,YAAmBA,GACfz+D,KAAK4H,MAAM2xD,gBAAkBkF,C,CAGjC,yBAAgCA,GAC5Bz+D,KAAK4H,MAAMi3F,sBAAwBpgC,C,EAIpC,MAAMh6B,UAAqBC,EAAAA,GAC9B,kBAAyB+5B,GACrB,GAAKz+D,KAAKmQ,QAAQirF,UAAU9vF,SAASmzD,KAIrCz+D,KAAKkI,UAAU42F,yBAAyBrgC,GAEpCA,IAAaz+D,KAAK4H,MAAM2xD,iBAI5B,GAAIv5D,KAAK4H,MAAMy2F,aAAa5/B,GACxBz+D,KAAKkI,UAAU62F,YAAYtgC,OAD/B,CAKA,GAAIz+D,KAAK4H,MAAMg3F,QAAQngC,SACbz+D,KAAK4H,MAAMg3F,QAAQngC,OACtB,CACH,MAAMkgC,EAAS,WACX,MAAMhgG,QAAe,SAAiC,KAA0B8/D,QAChFz+D,KAAKkI,UAAU82F,UAAU,CAAEvgC,aAC3Bz+D,KAAKkI,UAAU+2F,cAAc,CAAExgC,WAAUw/B,WAAYt/F,EAAOO,SAC/D,EAJc,GAKfc,KAAKkI,UAAU82F,UAAU,CAAEvgC,WAAUkgC,iBAC/BA,C,CAGN3+F,KAAK4H,MAAMi3F,wBAA0BpgC,GACrCz+D,KAAKkI,UAAU62F,YAAYtgC,E,GAKvC,MAAMtkB,EAAoB,IAAI5U,EAAAA,GAAO,CACjC39B,MAhGJ,M,cACI,KAAOy2F,aAAmD,CACtD,CAAChD,EAAAA,IAAkBM,EAAAA,IAEvB,KAAOpiC,gBAA4B8hC,EAAAA,GAEnC,KAAOuD,QAAiD,CAAC,C,GA2FzDzuF,QAASo0B,EACTr8B,UAAWy7B,EACXqC,QAASvB,IAGA60B,GAAuBpyB,EAAAA,EAAAA,IAAiBiT,GAErD,IACa+kD,GAA0Bh5D,EAAAA,EAAAA,IAAaiU,GACvCglD,EAAyBrgG,EAAAA,GAAAA,OAAW,CAC7CyR,SAAU,IACH2uF,EAAwB94D,SAAS,CAAC,uBAClC84D,EAAwB73D,WAAW,CAAC,oBAAqB,wBAEhEhB,QAAS64D,EAAwB34D,WAAW,CAAC,kBAGpCtjC,EAAmBnE,EAAAA,GAAAA,OAAW,CACvCyR,SAAU,IACH2uF,EAAwB73D,WAAW,CAAC,aACpC63D,EAAwB94D,SAAS,CAAC,sB,oFC/EtC,SAASg5D,EACZn+E,EACAvU,G,IACA8c,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAmC,aAAF,CAAC,EAElC,MAAM,OAAExE,EAASq6E,EAAAA,OAAkBC,GAAoB91E,EACvD,IAAI+1E,EACJ,MAAMC,EAAcx6E,GAAU,mBAAoBA,EAE5CqgD,EAAU,KACRk6B,IACAA,EAASE,aACTF,OAAW9qF,E,EAIbirF,GAAY/3F,EAAAA,EAAAA,QACd,KAAMkuB,EAAAA,EAAAA,KAAa5U,KACnB5U,IACIg5D,IAEIm6B,GAAex6E,GAAU3Y,IACzBkzF,EAAW,IAAII,eAAejzF,GAC9B6yF,EAAUK,QAAQvzF,EAAIizF,G,GAG9B,CAAEppE,WAAW,IAGXmB,EAAO,KACTguC,IACAq6B,GAAW,EAKf,OAFAG,EAAAA,EAAAA,IAAkBxoE,GAEX,CACHmoE,cACAnoE,O,CChED,SAASZ,EACZxV,G,IACAypB,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAkD,aAAvB,CAAEjzB,MAAO,EAAG9Q,OAAQ,GAC/C6iB,EAAAA,UAAAA,OAAAA,QAAAA,IAAAA,UAAAA,GAAmC,aAAF,CAAC,EAElC,MAAM/R,GAAQ3U,EAAAA,EAAAA,KAAI4nC,EAAYjzB,OACxB9Q,GAAS7D,EAAAA,EAAAA,KAAI4nC,EAAY/jC,QAiB/B,OAfAy4F,EACIn+E,GACC,I,IAACi9E,GAAM,EACJzmF,EAAM/T,MAAQw6F,EAAM4B,YAAYroF,MAChC9Q,EAAOjD,MAAQw6F,EAAM4B,YAAYn5F,MAAM,GAE3C6iB,IAEJ7hB,EAAAA,EAAAA,QACI,KAAMkuB,EAAAA,EAAAA,KAAa5U,KACnB8+E,IACItoF,EAAM/T,MAAQq8F,EAAMr1D,EAAYjzB,MAAQ,EACxC9Q,EAAOjD,MAAQq8F,EAAMr1D,EAAY/jC,OAAS,CAAC,IAG5C,CACH8Q,QACA9Q,S,sbCrBR,G,SAAA,kB,uTASAq5F,EAAA,cAAAlhG,EAAAA,GAIAmhG,eACA,YAAAxrF,IAAA,KAAApV,OAAA,UAAAA,K,CAGAmhB,gBACA,OAAAjhB,QAAA,KAAA2F,OAAAksB,O,CAGA,wB,OAXAnyB,EAAAA,EAAAA,IAAA,CAAAC,aAAAuV,EAAAtV,KAAAC,UADA4gG,EAAA,UACA3gG,aAAA,G,IAAAJ,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WADAygG,EAAA,UACAxgG,sBAAA,G,IAWAG,EAAAA,EAAAA,IAAA,oBAZAqgG,EAAA,UAaAngG,wBAAA,MAbAmgG,EAAA,IALAlgG,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CACAogB,WAAA,QAGAm9E,GClCmO,U,eCmBnO,SAXgB,OACd,GCTW,WAAa,IAAIjgG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,sBAAsB,CAAEP,EAAIkgG,UAAYlgG,EAAIP,eAAgBW,EAAG,MAAM,CAACG,YAAY,UAAU,CAAEP,EAAkB,eAAEI,EAAG,aAAa,CAACG,YAAY,cAAcC,MAAM,CAAC,MAAQ,YAAY,KAAO,SAASC,GAAG,CAAC,MAAQT,EAAIF,wBAAwB,CAACM,EAAG,kCAAkC,CAACI,MAAM,CAAC,KAAO,SAAS,GAAGR,EAAIU,KAAMV,EAAY,SAAEI,EAAG,OAAO,CAACG,YAAY,SAAS,CAACP,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIV,UAAUU,EAAIU,MAAM,GAAGV,EAAIU,KAAKN,EAAG,MAAM,CAACG,YAAY,QAAQ,CAACP,EAAIa,GAAG,YAAY,GAAIb,EAAa,UAAEI,EAAG,MAAM,CAACG,YAAY,UAAU,CAACP,EAAIa,GAAG,WAAW,GAAGb,EAAIU,MAAM,GACjoB,IDWpB,EACA,KACA,WACA,MAI8B,Q,2DENhC,MCb+N,GDa/N0G,EAAAA,EAAAA,iBAAA,CACApC,KAAA,gBACAuH,MAAA,CACA5I,MAAA,CACAvE,KAAAC,QAEA0a,UAAA,CACA3a,KAAAI,UAGAkD,WAAA,CAAA8Y,eAAA,MACAhU,MAAA24F,EAAA,G,IAAA,KAAAh4E,GAAA,EAEA,OACAi4E,aAFA,IAAAj4E,EAAA,S,IENA,SAXgB,OACd,GCTW,WAAa,IAAInoB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAa,UAAEI,EAAG,iBAAiB,CAACG,YAAY,0BAA0BC,MAAM,CAAC,OAAS,UAAUJ,EAAG,MAAM,CAACG,YAAY,iBAAiBE,GAAG,CAAC,MAAQT,EAAIogG,eAAe,CAAChgG,EAAG,4BAA4B,EAAE,GACvR,IDWpB,EACA,KACA,WACA,MAI8B,Q,kBEehC,MClCqO,GDkCrOgH,EAAAA,EAAAA,iBAAA,CACApC,KAAA,sBACAuH,MAAA,CACA5I,MAAA,CACAvE,KAAAC,QAEA0a,UAAA,CACA3a,KAAAI,SAEAuX,SAAA,CACA3X,KAAAI,QACAL,SAAA,GAEAygC,UAAA,CACAxgC,KAAAI,QACAL,SAAA,GAEA4pB,QAAA,CACA3pB,KAAAI,QACAL,SAAA,GAEAmpB,YAAA,CACAlpB,KAAAC,OACAF,QAAA,IAEA6X,KAAA,CACA5X,KAAAC,OACAF,QAAA,SAEAkhG,eAAA,CACAjhG,KAAAI,QACAL,SAAA,GAEAmhG,mBAAA,CACAlhG,KAAAC,OACAF,QAAA,KAGAuD,WAAA,CAAA8Y,eAAA,MACAhU,MAAA24F,EAAA,G,IAAA,KAAAh4E,GAAA,EACA,MAAAo4E,GAAAx9F,EAAAA,EAAAA,KAAA,MACAglB,GAAAhlB,EAAAA,EAAAA,MAAA,IAUAkF,EAAAA,EAAAA,YAAA,K,IAEAs4F,EADAJ,EAAAvgE,YACA,QAAA2gE,EAAAA,EAAA58F,aAAA,IAAA48F,GAAAA,EAAA71E,Q,IAIA,OACAR,KAXA,KACAnC,EAAApkB,OAAA,EACAwkB,EAAA,SAUAuC,MAjBA,KACA3C,EAAApkB,OAAA,EACAwkB,EAAA,UAgBAgB,MAdA1a,GAAA0Z,EAAA,QAAA1Z,EAAAyS,OAAAvd,OAeA48F,UACAx4E,WACAy4E,aAPA,IAAAr4E,EAAA,S,IEvEA,SAXgB,OACd,GCTW,WAAa,IAAInoB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAa,UAAEI,EAAG,iBAAiB,CAACG,YAAY,0BAA0BC,MAAM,CAAC,OAAS,UAAUJ,EAAG,iBAAiB,CAACI,MAAM,CAAC,MAAQR,EAAI2D,MAAM,KAAO3D,EAAIgX,KAAK,YAAchX,EAAIsoB,YAAY,SAAWtoB,EAAI+W,SAAS,QAAU/W,EAAI+oB,SAAStoB,GAAG,CAAC,YAAYT,EAAImpB,MAAM,YAAYnpB,EAAI0qB,MAAM,WAAW1qB,EAAIkqB,OAAO,CAAC9pB,EAAG,0BAA0B,CAACG,YAAY,aAAaC,MAAM,CAAC,KAAO,aAAa6qB,KAAK,cAAcrrB,EAAIa,GAAG,cAAa,WAAW,MAAO,CAAEb,EAAkB,eAAEI,EAAG,iCAAiC,CAAC2E,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUtB,MAAM,CAAG2oB,QAAStsB,EAAIsgG,oBAAsBp7F,WAAW,oCAAoC3E,YAAY,eAAeC,MAAM,CAAC,KAAO,cAAcC,GAAG,CAAC,MAAQ,SAAS4D,GAAiC,OAAzBA,EAAOuT,kBAAyB5X,EAAIwgG,aAAaj8F,MAAM,KAAMC,UAAU,GAAG6mB,KAAK,eAAerrB,EAAIU,KAAK,KAAI,EAAE,GAC/4B,IDWpB,EACA,KACA,WACA,MAI8B,QEnBhC,I,WCsBA,oB,sTAIA+/F,EAAA,eAAA1/F,EAAAA,EAAAA,IAAAmC,EAAAA,IAMA,kB,OALAhE,EAAAA,EAAAA,OADAuhG,EAAA,UACAnhG,aAAA,G,IACAJ,EAAAA,EAAAA,OAFAuhG,EAAA,UAEA/kF,eAAA,G,IACAxc,EAAAA,EAAAA,OAHAuhG,EAAA,UAGAC,kBAAA,G,IAAAxhG,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAHAihG,EAAA,UAGAE,2BAAA,G,IAGA/gG,EAAAA,EAAAA,IAAA,gBANA6gG,EAAA,UAOAG,kBAAA,MAPAH,EAAA,GADA1gG,EAAAA,IACA0gG,GC1B6N,UCmB7N,SAXgB,OACd,GHTW,WAAa,IAAIzgG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,aAAa,CAACH,EAAG,KAAK,CAACG,YAAY,iBAAiB,CAACP,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIV,OAAO,OAAOc,EAAG,MAAM,CAACG,YAAY,gCAAgC,CAACP,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAI0b,SAAS,OAAQ1b,EAAuB,oBAAEI,EAAG,aAAa,CAACG,YAAY,oBAAoBC,MAAM,CAAC,MAAQ,UAAU,KAAO,SAASC,GAAG,CAAC,MAAQT,EAAI4gG,kBAAkB,CAAC5gG,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAI0gG,YAAY,OAAO1gG,EAAIU,MAAM,EAAE,GACle,IGWpB,EACA,KACA,WACA,MAI8B,QCThC,MCV6N,GDU7N0G,EAAAA,EAAAA,iBAAA,CACApC,KAAA,sBEHgB,OACd,GCTW,WAAa,IAAIhF,EAAIC,KAASC,EAAGF,EAAIG,eAAsBH,EAAIK,MAAMD,GAAO,OAAOJ,EAAI6gG,GAAG,EAAE,GACnF,CAAC,WAAa,IAAI7gG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACH,EAAG,IAAI,CAACG,YAAY,cAAc,CAACP,EAAIW,GAAG,iBAAiB,IDWjN,EACA,KACA,WACA,MAI8B,Q,kGEmFhC,oB,sTAsBAk4B,EAAA,eAAA93B,EAAAA,EAAAA,IAAAmC,EAAAA,IAkBA,iBAEA,KAAA49F,aAAA,SAAAn9F,M,CAGA,yBAEA,KAAAo9F,wBACA7tD,EAAAA,EAAAA,IAAA,KACA,KAAA6tD,iBACA,KAAAC,e,CAKA,uBAGA,YAAAF,Y,CAGA,WAAA7nE,GACA,OAAAz5B,QAAA,KAAA6vC,YAAA9jC,SAAA0tB,EAAA,KAAAa,U,CAGA,OAAAb,GACA,KAAA6nE,aAAA,KAAAA,aAAAh2F,QAAAwB,GAAAA,IAAA2sB,IACA,KAAAgoE,a,CAGA,OAAAhoE,GACA,KAAAzN,WAAAyN,IACA,KAAA6nE,aAAAhjF,KAAAmb,GAEA,KAAAgoE,a,CAGA,gBAAAhoE,GACA,KAAAzN,WAAAyN,GACA,KAAAioE,OAAAjoE,GAEA,KAAAO,OAAAP,E,CAIA,cACA,KAAAnuB,OAAA,E,CAGAq2F,sBACA,YAAAr2F,OAAAgwB,a,CAGAuU,kBACA,YAAAyxD,aAAAz2F,KAAAiC,GAAAA,EAAA,KAAAwtB,U,CAGAU,sBACA,IAAAh5B,EAAA,KAAAioB,QAOA,OANA,KAAA23E,gBACA5/F,EAAAA,EAAAsJ,QAAAwB,GAAAA,EAAA,KAAA+0F,cAAAvmE,cAAAvvB,SAAA,KAAA41F,oBAEA,KAAAG,eACA9/F,EAAAA,EAAAsJ,QAAAwB,IAAA,KAAA+iC,YAAA9jC,SAAAe,EAAA,KAAAwtB,aAEAt4B,C,CAGA,mBAAAuF,GACA,KAAAg6F,gBAAAh6F,EACAA,GACA,KAAAi6F,c,CAIA,UAEA,KAAAF,aAAA,SAAAn9F,M,CAGA,QACA8K,GAEA,OADA,KAAA3D,OAAA2D,EAAAyS,OAAAvd,MACA,KAAAmH,M,CAGA,YAEA,YAAAg2F,Y,CAGA,e,+BA/FA,KAAAA,aAAA,GACA,KAAAh2F,OAAA,QAAAi2F,iBAAA,C,OAdA7hG,EAAAA,EAAAA,IAAA,CAAAC,QAAA,UADA05B,EAAA,UACAl1B,aAAA,G,IACAzE,EAAAA,EAAAA,IAAA,CAAAC,QAAA,OAAA0gB,UAAA,KAFAgZ,EAAA,UAEApP,eAAA,G,IACAvqB,EAAAA,EAAAA,IAAA,CAAAE,KAAAI,QAAAL,SAAA,KAHA05B,EAAA,UAGAuoE,qBAAA,G,IACAliG,EAAAA,EAAAA,IAAA,CAAAE,KAAAI,QAAAL,SAAA,KAJA05B,EAAA,UAIA9e,iBAAA,G,IACA7a,EAAAA,EAAAA,IAAA,CAAAE,KAAAI,QAAAL,SAAA,KALA05B,EAAA,UAKAyoE,oBAAA,G,IACApiG,EAAAA,EAAAA,IAAA,CAAAE,KAAAI,QAAAL,SAAA,KANA05B,EAAA,UAMAoL,eAAA,G,IACA/kC,EAAAA,EAAAA,IAAA,CAAAE,KAAAC,UAPAw5B,EAAA,UAOA0oE,mBAAA,G,IACAriG,EAAAA,EAAAA,IAAA,CAAAE,KAAAC,UARAw5B,EAAA,UAQA2oE,mBAAA,G,IACAtiG,EAAAA,EAAAA,IAAA,CAAAE,KAAAC,UATAw5B,EAAA,UASAvQ,mBAAA,G,IACAppB,EAAAA,EAAAA,IAAA,CAAAE,KAAAC,UAVAw5B,EAAA,UAUAv5B,aAAA,G,IACAJ,EAAAA,EAAAA,IAAA,CAAAE,KAAAC,OAAAF,QAAA,QAXA05B,EAAA,UAWAiB,eAAA,G,IAAA56B,EAAAA,EAAAA,IAAA,CAAAE,KAAAC,OAAAF,QAAA,UAXA05B,EAAA,UAWAwoE,oBAAA,G,IAOAt1F,EAAAA,EAAAA,IAAA,SAAAoqB,WAAA,KAlBA0C,EAAA,UAmBA4oE,iBAAA,M,IAIA11F,EAAAA,EAAAA,IAAA,WAAA21F,MAAA,KAvBA7oE,EAAA,UAwBA8oE,mBAAA,M,IASA51F,EAAAA,EAAAA,IAAA,gBAAA21F,MAAA,KACA9hG,EAAAA,EAAAA,IAAA,WAlCAi5B,EAAA,UAmCA+oE,uBAAA,M,IA0DAhiG,EAAAA,EAAAA,IAAA,UA7FAi5B,EAAA,UA8FA3wB,UAAA,M,IAIAtI,EAAAA,EAAAA,IAAA,iBAlGAi5B,EAAA,UAmGAvgB,UAAA,M,IAKA1Y,EAAAA,EAAAA,IAAA,YAxGAi5B,EAAA,UAyGAgpE,YAAA,M,IAIAjiG,EAAAA,EAAAA,IAAA,gBA7GAi5B,EAAA,UA8GAmoE,eAAA,MA9GAnoE,EAAA,IAVA94B,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CACAy8B,IAAA,IACA55B,aAAA,IACAwa,uBAAA,KAEAhb,WAAA,CACAkC,kBAAA,SAGA4xB,GC5H0N,UCmB1N,SAXgB,OACd,GCTW,WAAa,IAAI74B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,yBAAyB,CAACI,MAAM,CAAC,UAAYR,EAAIikC,QAAQ,aAAe,GAAG,YAAa,EAAM,UAAY,kBAAkB,oBAAqB,GAAOx/B,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,SAASC,GAAG,WAAW,MAAO,CAACxE,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAACH,EAAG,eAAe,CAACI,MAAM,CAAC,WAAY,GAAOiE,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,OAAOC,GAAG,WAAW,MAAO,CAACxE,EAAG,8BAA8B,CAACG,YAAY,eAAeC,MAAM,CAAC,KAAO,MAAMC,GAAG,CAAC,MAAQT,EAAIkI,WAAW,EAAEpD,OAAM,GAAM,CAACH,IAAI,QAAQC,GAAG,WAAW,MAAO,CAACxE,EAAG,aAAa,CAACI,MAAM,CAAC,MAAQ,WAAWC,GAAG,CAAC,MAAQT,EAAI6hG,YAAY,CAAC7hG,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIuhG,aAAevhG,EAAIgG,MAAM,uBAAuB,OAAO,EAAElB,OAAM,OAAU1E,EAAG,iBAAiB,CAACG,YAAY,iBAAiBC,MAAM,CAAC,YAAcR,EAAIsoB,aAAetoB,EAAIgG,MAAM,gCAAgC,MAAQhG,EAAI8K,QAAQrK,GAAG,CAAC,YAAYT,EAAIsY,UAAU,CAAClY,EAAG,0BAA0B,CAACI,MAAM,CAAC,KAAO,YAAY,KAAO,MAAM6qB,KAAK,cAAerrB,EAAU,OAAEI,EAAG,iCAAiC,CAACG,YAAY,eAAeC,MAAM,CAAC,KAAO,aAAa,KAAO,MAAMC,GAAG,CAAC,MAAQT,EAAIihG,aAAa51E,KAAK,eAAerrB,EAAIU,MAAM,IAAI,GAAG,EAAEoE,OAAM,MAAS,CAAG9E,EAAI8K,OAA6uB1K,EAAG,MAAM,CAACG,YAAY,eAAe,CAACP,EAAI0I,GAAI1I,EAAmB,iBAAE,SAASi5B,GAAQ,MAAO,CAACj5B,EAAIa,GAAG,UAAS,WAAW,MAAO,CAACT,EAAG,MAAM,CAACuE,IAAIs0B,EAAOj5B,EAAI85B,SAASv5B,YAAY,mBAAmBC,MAAM,CAAC,MAAQy4B,EAAOj5B,EAAIqhG,cAAc,SAAWrhG,EAAIwrB,WAAWyN,GAAQ,OAASj5B,EAAIwrB,WAAWyN,GAAU,SAAW,MAAM,QAAU,QAAQ,UAAY,SAAS,KAAO,UAAUx4B,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAOrE,EAAI8hG,gBAAgB7oE,EAAO,KAAK,GAAE,CAAC,OAASA,EAAO,WAAaj5B,EAAIwrB,WAAWyN,GAAQ,gBAAkBj5B,EAAI8hG,gBAAgB,OAAS9hG,EAAIw5B,OAAO,OAASx5B,EAAIkhG,SAAS,IAAG9gG,EAAG,MAAM,CAAC2E,WAAW,CAAC,CAACC,KAAK,qBAAqBC,QAAQ,uBAAuBtB,MAAO3D,EAAsB,mBAAEkF,WAAW,yBAA0BlF,EAAa,UAAEA,EAAIa,GAAG,UAAS,WAAW,MAAO,CAACT,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAACH,EAAG,2BAA2B,CAACI,MAAM,CAAC,KAAO,QAAQJ,EAAG,MAAM,CAACG,YAAY,yBAAyB,CAACP,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIgG,MAAM,mCAAmC,GAAG,IAAKhG,EAAIw6B,gBAAgB/xB,OAAqSzI,EAAIU,KAAjSV,EAAIa,GAAG,cAAa,WAAW,MAAO,CAACT,EAAG,MAAM,CAACG,YAAY,yBAAyB,CAACH,EAAG,6CAA6C,CAACI,MAAM,CAAC,KAAO,QAAQJ,EAAG,MAAM,CAACG,YAAY,6BAA6B,CAACP,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIgG,MAAM,6CAA6C,GAAG,KAAa,GAAngE5F,EAAG,MAAM,CAACG,YAAY,oBAAoB,CAAEP,EAAS,MAAEI,EAAG,MAAM,CAACG,YAAY,gCAAgC,CAACP,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIV,OAAO,OAAOU,EAAIU,KAAKV,EAAI0I,GAAI1I,EAAgB,cAAE,SAASi5B,GAAQ,MAAO,CAACj5B,EAAIa,GAAG,mBAAkB,WAAW,MAAO,CAACT,EAAG,MAAM,CAACuE,IAAIs0B,EAAOj5B,EAAI85B,SAASv5B,YAAY,kBAAkBC,MAAM,CAAC,MAAQy4B,EAAOj5B,EAAIqhG,cAAc,QAAU,QAAQ,OAAS,SAAS,UAAY,SAAS,SAAW,GAAG,KAAO,UAAU5gG,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAOrE,EAAIkhG,OAAOjoE,EAAO,KAAK,GAAE,CAAC,OAASA,EAAO,OAASj5B,EAAIkhG,SAAS,IAAKlhG,EAAI8gG,aAAar4F,OAAoKzI,EAAIU,KAAhKN,EAAG,MAAM,CAACG,YAAY,sCAAsC,CAACP,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIwhG,aAAexhG,EAAIgG,MAAM,yCAAyC,QAAiB,IAAqyC,GAC3tG,IDWpB,EACA,KACA,KACA,MAI8B,Q,0BEPhC,oB,sTAIA+7F,EAAA,cAAAhjG,EAAAA,GAKA,U,OAJAG,EAAAA,EAAAA,IAAA,CAAA2gB,UAAA,EAAAzgB,KAAAC,UADA0iG,EAAA,UACAziG,aAAA,G,IACAJ,EAAAA,EAAAA,IAAA,CAAAC,aAAAuV,EAAAtV,KAAAC,UAFA0iG,EAAA,UAEA/3F,YAAA,G,IAAA9K,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAFAuiG,EAAA,UAEAhrF,gBAAA,G,IAGAnX,EAAAA,EAAAA,IAAA,UALAmiG,EAAA,UAMAzyF,UAAA,MANAyyF,EAAA,IADAhiG,EAAAA,EAAAA,IAAA,KACAgiG,GChBqN,UCmBrN,SAXgB,OACd,GCTW,WAAa,IAAI/hG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACG,YAAY,aAAaD,MAAM,CAAEyW,SAAU/W,EAAI+W,UAAWvW,MAAM,CAAC,SAAWR,EAAI+W,UAAUtW,GAAG,CAAC,MAAQT,EAAIsP,UAAU,CAAEtP,EAAImF,OAAW,KAAE/E,EAAG,MAAM,CAACG,YAAY,mBAAmB,CAACP,EAAIa,GAAG,SAAS,GAAGb,EAAIU,KAAKN,EAAG,OAAO,CAACG,YAAY,mBAAmB,CAACP,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIV,OAAO,QAAQ,GACpX,IDWpB,EACA,KACA,WACA,MAI8B,QEnBhC,I,sBCsCA,oB,sTASA0iG,EAAA,cAAAjjG,EAAAA,GAYA,SACA,KAAAkjG,gBAAA,C,CAGA,SACA,KAAAA,gBAAA,C,CAGAxuE,uBACA,YAAAyuE,gBAAA,KAAAD,c,CAGA,gBAAAt+F,GACA,KAAAu+F,eAAAv+F,C,CAGAmX,eACA,qBAAA9D,KACA,GAEA,E,CAEAmrF,qBACA,YAAA9iE,OAAAtX,UAAA,KAAAk6E,c,+BA1BA,KAAAC,gBAAA,OAAAD,gBAAA,C,OARA/iG,EAAAA,EAAAA,IAAA,CAAAE,KAAAC,OAAAwgB,UAAA,KADAmiF,EAAA,UACA1iG,aAAA,G,IACAJ,EAAAA,EAAAA,IAAA,CAAAC,QAAA,QAAAC,KAAAC,UAFA2iG,EAAA,UAEAjjE,eAAA,G,IACA7/B,EAAAA,EAAAA,IAAA,CAAAC,QAAA,QAAAC,KAAAC,UAHA2iG,EAAA,UAGAhrF,YAAA,G,IACA9X,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAJAwiG,EAAA,UAIAj6E,gBAAA,G,IACA7oB,EAAAA,EAAAA,IAAA,CAAAC,aAAAuV,EAAAtV,KAAAC,UALA2iG,EAAA,UAKA5iE,cAAA,G,IACAlgC,EAAAA,EAAAA,IAAA,CAAAC,aAAAuV,EAAAtV,KAAAC,UANA2iG,EAAA,UAMAh2E,iBAAA,G,IAAA9sB,EAAAA,EAAAA,IAAA,CAAAC,QAAA,EAAAC,KAAAwoB,UANAo6E,EAAA,UAMA/iF,cAAA,GANA+iF,EAAA,IAHAjiG,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CAAAo8B,OAAA,IAAA1T,uBAAA,IAAAlH,eAAA,IAAA3c,QAAA,QAEAy6F,GC/C2N,UCmB3N,SAXgB,OACd,GHTW,WAAa,IAAIhiG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,UAAU,CAACG,YAAY,cAAcC,MAAM,CAAC,oBAAsB,GAAG,gBAAiB,EAAK,UAAY,aAAa,gCAAiC,EAAM,OAAS,kBAAkB,gBAAkB,eAAeC,GAAG,CAAC,KAAOT,EAAIuyB,OAAO,KAAOvyB,EAAIoiG,QAAQ39F,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,SAASC,GAAG,SAAS7B,GACjZ,IAAIsF,EAAStF,EAAIsF,OACjB,MAAO,CAACjI,EAAG,SAASJ,EAAI8J,GAAG,CAACvJ,YAAY,eAAeD,MAAM,CAAE6D,OAAQnE,EAAImiG,gBAAiB3hG,MAAM,CAAC,SAAWR,EAAImiG,gBAAgB1hG,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAOrE,EAAIgH,MAAM,QAAQ,GAAGvC,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,aAAaC,GAAG,WAAW,MAAO,CAACxE,EAAG,MAAM,CAACG,YAAY,mBAAmBC,MAAM,CAAC,cAAc,sBAAsBC,GAAG,CAAC,MAAQ,SAAS4D,GAAiC,OAAzBA,EAAOuT,kBAAyBvP,EAAO9D,MAAM,KAAMC,UAAU,IAAI,CAACpE,EAAG,4BAA4B,CAACI,MAAM,CAAC,KAAOR,EAAI8a,aAAa,GAAG,EAAEhW,OAAM,IAAO,MAAK,IAAO,SAAS9E,EAAIq/B,QAAO,IAAQ,GAAG,CAAC16B,IAAI,UAAUC,GAAG,WAAW,MAAO,CAACxE,EAAG,yBAAyB,CAACG,YAAY,WAAW,CAACP,EAAIa,GAAG,YAAY,GAAG,EAAEiE,OAAM,IAAO,MAAK,IAAO,GAC3pB,IGSpB,EACA,KACA,WACA,MAI8B,Q,eCPhC,oB,sTAMAu9F,EAAA,cAAAtjG,EAAAA,GAMAujG,oBACA,yBAAAjd,W,OANAnmF,EAAAA,EAAAA,IAAA,CAAAC,SAAA,KADAkjG,EAAA,UACAp+D,eAAA,G,IACA/kC,EAAAA,EAAAA,IAAA,CAAAC,SAAA,KAFAkjG,EAAA,UAEAE,oBAAA,G,IACArjG,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAHAkjG,EAAA,UAGAxhF,iBAAA,G,IAAA3hB,EAAAA,EAAAA,IAAA,CAAAC,QAAA,aAAAC,KAAAC,UAHAgjG,EAAA,UAGAhd,iBAAA,GAHAgd,EAAA,IADAtiG,EAAAA,EAAAA,IAAA,KACAsiG,GClBwN,UCmBxN,SAXgB,OACd,GCTW,WAAa,IAAIriG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACI,MAAM,CAAC,GAAK,eAAe,CAACJ,EAAG,aAAa,CAACI,MAAM,CAAC,KAAOR,EAAIsiG,gBAAgB,CAAEtiG,EAAW,QAAEI,EAAG,MAAM,CAACG,YAAY,gBAAgBD,MAAM,CAAC,CAAE,gBAAiBN,EAAIuiG,cAAgBviG,EAAI6gB,YAAY,CAAC7gB,EAAIa,GAAG,YAAY,GAAGb,EAAIU,QAAQ,EAAE,GAC9T,IDWpB,EACA,KACA,WACA,MAI8B,QEPhC,MCZ+M,GDY/M0G,EAAAA,EAAAA,iBAAA,CACAmF,MAAA,CACAyK,KAAA,CACA5X,KAAA,CAAAC,OAAAuoB,QACAzoB,QAAA,SAEA6F,KAAA,CACA5F,KAAAC,QAEAwX,MAAA,CACAzX,KAAAC,SAGAmI,MAAA+E,IAoBA,CAAAi2F,WAnBAhyF,EAAAA,EAAAA,WAAA,K,IAAAjE,EAAAA,OAAA,QAAAA,EAAAA,EAAAvH,YAAA,IAAAuH,OAAAA,EAAAA,EAAAwyD,UAAA,QAmBA0jC,cAlBAjyF,EAAAA,EAAAA,WAAA,IAAAjE,EAAAsK,MAAAtK,EAAAsK,MAAA,6BAkBAiE,UAjBAtK,EAAAA,EAAAA,WAAA,KACA,oBAAAjE,EAAAyK,KAGA,OACAU,MAAA,GAAAnL,EAAAyK,SACApQ,OAAA,GAAA2F,EAAAyK,SACA0rF,UAAA,GAAAn2F,EAAAyK,SACA,IASA2rF,WAPAnyF,EAAAA,EAAAA,WAAA,IACA,iBAAAjE,EAAAyK,KACAzK,EAAAyK,KAEAzK,EAAAyK,KAAA,0BEvBA,SAXgB,OACd,GCTW,WAAa,IAAIhX,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,aAAaD,MAAM,CAACN,EAAI2iG,WAAW7/F,MAAOqH,OAAOkvD,OAAO,CAAC,EAAGr5D,EAAI8a,SAAU,CAAC4d,WAAY14B,EAAIyiG,gBAAiB,CAACriG,EAAG,OAAO,CAACG,YAAY,2BAA2B,CAACP,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIwiG,WAAW,QAAQ,GACzS,IDWpB,EACA,KACA,WACA,MAI8B,Q,4BEOhC,qB,sTAUAI,GAAA,cAAA7jG,EAAAA,K,KACAG,EAAAA,EAAAA,IAAA,CAAAC,SAAA,KADAyjG,GAAA,UACA77F,iBAAA,G,KACA7H,EAAAA,EAAAA,IAAA,CAAAC,QAAA,YAFAyjG,GAAA,UAEAC,oBAAA,GAFAD,GAAA,KANA7iG,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CACA+vB,YAAA,IACAC,mBAAA,SAGAkwE,ICpCwO,YCmBxO,UAXgB,OACd,ICTW,WAAa,IAAI5iG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACI,MAAM,CAAC,UAAYR,EAAI+G,UAAU,gBAAiB,EAAM,cAAe,EAAK,gCAAkC,mCAAmC,iBAAmB,4BAA4BtG,GAAG,CAAC,gBAAgB,SAAS4D,GAAQ,OAAOrE,EAAIgH,MAAM,gBAAgB,EAAE,aAAe,SAAS3C,GAAQ,OAAOrE,EAAIgH,MAAM,gBAAgB,EAAE,MAAQ,SAAS3C,GAAQ,OAAOrE,EAAIgH,MAAM,QAAQ,GAAGvC,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,SAASC,GAAG,WAAW,MAAO,CAAC5E,EAAIa,GAAG,UAAU,EAAEiE,OAAM,GAAM,CAACH,IAAI,UAAUC,GAAG,WAAW,MAAO,CAACxE,EAAG,qBAAqB,CAACA,EAAG,MAAM,CAACG,YAAY,UAAUuC,MAAO9C,EAAgB,aAAES,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAGA,EAAO6c,SAAW7c,EAAO8c,cAAuB,KAAcnhB,EAAIgH,MAAM,QAAQ,IAAI,CAAChH,EAAIa,GAAG,YAAY,KAAK,EAAEiE,OAAM,IAAO,MAAK,IAAO,GACl1B,IDWpB,EACA,KACA,KACA,MAI8B,Q,kDERhC,I,SAAA,kB,uTAIAg+F,GAAA,cAAA/jG,EAAAA,GAMA+b,eACA,YAAAioF,QAAA,I,CAGAA,cACA,qBAAA/rF,I,CAGAgsF,yBACA,YAAAD,SAAA,KAAAhqF,K,CAGA,OACAtK,GACA,OAAAA,EAAAyS,OAAA9H,O,QAnBAla,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MADA2jG,GAAA,UACA/pF,aAAA,G,KACA7Z,EAAAA,EAAAA,IAAA,CAAAC,QAAA,WAFA2jG,GAAA,UAEA9rF,YAAA,G,KACA9X,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAHAsjG,GAAA,UAGA96E,kBAAA,G,KAAA9oB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WAHAsjG,GAAA,UAGAn/F,aAAA,G,KAeA/D,EAAAA,EAAAA,IAAA,UAlBAkjG,GAAA,UAmBAz6F,SAAA,MAnBAy6F,GAAA,KADA/iG,EAAAA,EAAAA,IAAA,KACA+iG,ICfuN,YCmBvN,UAXgB,OACd,ICTW,WAAa,IAAI9iG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACG,YAAY,UAAUD,MAAM,CAAE8Y,QAASpZ,EAAI2D,MAAOoT,SAAU/W,EAAIgoB,WAAYvG,OAAQzhB,EAAI+iG,UAAW,CAAC3iG,EAAG,QAAQ,CAACI,MAAM,CAAC,KAAO,WAAW,SAAWR,EAAIgoB,YAAYhlB,SAAS,CAAC,MAAQhD,EAAI2D,OAAOlD,GAAG,CAAC,MAAQT,EAAIqI,UAAUjI,EAAG,yCAAyC,CAACG,YAAY,QAAQC,MAAM,CAAC,KAAO,QAASR,EAAsB,mBAAEI,EAAG,OAAO,CAACG,YAAY,eAAe,CAACP,EAAIW,GAAGX,EAAIY,GAAGZ,EAAI+Y,UAAU/Y,EAAIU,KAAKV,EAAIa,GAAG,YAAY,EAAE,GAClgB,IDWpB,EACA,KACA,WACA,MAI8B,Q,SEnBhC,ICiCA,qB,sTAIAoiG,GAAA,cAAAlkG,EAAAA,GASAmkG,cACA,YAAAC,eAAA,KAAA/0D,WAAA,KAAAg1D,a,CAGA,6B,CAKAC,sBACA,YAAA3uF,IAAA,KAAA2P,WAAA+hD,K,CAGA,c,QArBAlnE,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MADA8jG,GAAA,UACAK,iBAAA,G,KACApkG,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAFA8jG,GAAA,UAEA70D,gBAAA,G,KACAlvC,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAHA8jG,GAAA,UAGAE,oBAAA,G,KACAjkG,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MAJA8jG,GAAA,UAIAG,qBAAA,G,KACAlkG,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MALA8jG,GAAA,UAKA36E,mBAAA,G,KACAppB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WANAyjG,GAAA,UAMAM,oBAAA,G,KAAArkG,EAAAA,EAAAA,IAAA,CAAAC,SAAA,EAAAC,KAAAI,WANAyjG,GAAA,UAMAl7E,gBAAA,G,KAOAnoB,EAAAA,EAAAA,IAAA,WAbAqjG,GAAA,UAcAO,6BAAA,M,KAQA5jG,EAAAA,EAAAA,IAAA,UAtBAqjG,GAAA,UAuBA5zF,cAAA,MAvBA4zF,GAAA,KADAljG,EAAAA,EAAAA,IAAA,KACAkjG,ICrC0N,YCmB1N,UAXgB,OACd,IHTW,WAAa,IAAIjjG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,0BAA0BD,MAAM,CAAE6D,OAAQnE,EAAI+nB,SAAU,gBAAiB/nB,EAAIujG,aAAc,aAAcvjG,EAAIqjG,iBAAkB5iG,GAAG,CAAC,MAAQT,EAAIqP,cAAc,CAACjP,EAAG,MAAM,CAACG,YAAY,qBAAqB,CAACH,EAAG,OAAO,CAACG,YAAY,uBAAuB,CAACP,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIsjG,WAAW,SAASljG,EAAG,MAAM,CAACG,YAAY,0BAA0B,CAAEP,EAAW,QAAEI,EAAG,OAAO,CAACG,YAAY,0BAA0B,CAACP,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIsoB,aAAa,OAAOtoB,EAAIU,KAAMV,EAAgB,aAAEI,EAAG,OAAO,CAACG,YAAY,0BAA0BC,MAAM,CAAC,MAAQR,EAAImjG,eAAe,CAACnjG,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAImjG,cAAc,OAAOnjG,EAAIU,KAAMV,EAAY,SAAEI,EAAG,OAAO,CAACG,YAAY,sBAAsB,CAACP,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIouC,UAAU,OAAOpuC,EAAIU,KAAMV,EAAiB,cAAEI,EAAG,OAAO,CAACG,YAAY,2BAA2BC,MAAM,CAAC,MAAQR,EAAIojG,gBAAgB,CAACpjG,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIojG,eAAe,OAAOpjG,EAAIU,OAAQV,EAAgB,aAAEI,EAAG,SAAS,CAACG,YAAY,mBAAmBE,GAAG,CAAC,MAAQ,SAAS4D,GAAiC,OAAzBA,EAAOuT,kBAAyB5X,EAAIwjG,2BAA2Bj/F,MAAM,KAAMC,UAAU,IAAI,CAACpE,EAAG,iCAAiC,CAACG,YAAY,mBAAmBC,MAAM,CAAC,KAAO,SAAS,GAAGR,EAAIU,MAAM,GAC9uC,IGWpB,EACA,KACA,WACA,MAI8B,Q,oGCuBhC,I,SAAA,kB,mTAcA,MAaA+iG,GAAA,GACA,IAAAC,GAAA,KAAAC,GAAA,K,IAiCAC,GAAA,cAAA7kG,EAAAA,GAwBA,gBAtDA,IAAA2/D,UAuDA,KAAAA,SAtDA+kC,GAAA/kC,KACA+kC,GAAA/kC,GAAA,IAAAj9D,SAAA,CAAA/C,EAAAy0C,IACA,IAAA0wD,GAAAA,EAAA/oD,GAAAA,EAAAA,iBAAA,CACAgpD,UAAA,sBACAplC,aAIA7iB,OACA3W,MAAA,I,IAAA,KAAA6+D,GAAA,EACAL,GAAA,IAAAK,EAAAC,OAAAC,oBACAN,GAAA,IAAAI,EAAAG,QAAA,IAEAh/D,KAAAxmC,GACAgD,MAAAyxC,MAGAswD,GAAA/kC,IAsCA,KAAAylC,YAAA,C,CAGA,4BAEA,KAAAC,yBAAAv1F,EAAAA,GAAAA,GAAA,KAAAw1F,YAAA,KAAAC,iB,CAGA,mBACA7gF,GACA,OAAAA,C,CAGA,2BAEA,KAAAiE,KAAA,KAAA68E,e,CAGA,UAEA,KAAAC,UAAA1kE,WACA,KAAAskE,yB,CAIA,aAAA31F,GACA,OAAAA,EAAA9J,KACA,WACA,gBACA,KAAA8/F,gBACA,MACA,SACA,cACA,KAAAC,oBACA,MACA,YACA,KAAAC,iBACA,MACA,UACA,aACA,KAAAC,cACA,MACA,UACA,KAAAC,sBAAAp2F,G,CAKA,c,IAaA,GAZA,KAAAq2F,iBAAA,KACA,KAAAp9E,KAAAjf,QAAA,KAAAs8F,oBAAA,KAAAZ,aAAA,KAAApqF,WAAA,EAGA2pF,UAAAA,GAAAsB,oBACA,CACA77E,MAAA,KAAAzB,KACAu9E,MAAA,aAEA,KAAAC,yBAAA/kC,KAAA,UAAAz4C,QAGA,eAAAjgB,eAAA,SAAAO,M,CAIA,kBACA,KAAAm9F,qBAAA,EACA,KAAAL,iBAAA,KACA5jG,YAAA,KACA,KAAAkkG,uBACA,KAAAC,mB,GA/IA,KAmJAnkG,YAAA,KACA,KAAAkkG,uBAAA,EACA,KAAAD,qBAAA,IApJA,I,CAwJA,oB,IACA,iBAAA19F,eAAA,SAAAO,OACA,KAAA0f,OAAA,KAAA68E,iBACA,KAAAe,mBAAA,CAAA3/D,QAAA,KAAAje,KAAAvJ,Q,CAIA,iB,IAIA,EAHA,YAAA2mF,kBACA,KAAAS,WAAA,KAAAv3F,MAAA,KAAA82F,mBAEA,eAAAN,UAAAr7E,aAAA,SAAAe,M,CAGA,sBAAAzb,GACA,YAAAq2F,mBACAr2F,EAAAzP,iBACA,KAAA0oB,KAAA,KAAA1Z,MAAA,KAAA82F,kBAAAvlG,YAAA,IACA,KAAAulG,iBAAA,K,CAIA,c,IAGA,EACA,EAHA,KAAAp9E,KAAA,KAAA68E,gBACA,KAAAa,uBAAA,EACA,eAAA39F,eAAA,SAAAO,OACA,eAAAw8F,UAAAr7E,aAAA,SAAAe,M,CAGA,mBACAhpB,YAAA,KACA,KAAAikG,qBACA,KAAAd,a,GAxLA,I,CA6LA,gBACA,IAAAjnE,EAAA,YAAA0nE,iBAAA,OAAAA,iBAAA,EACA1nE,GAAA,KAAApvB,MAAAvF,SACA20B,EAAA,MAEA,KAAA0nE,iBAAA1nE,C,CAGA,oBACA,IAAAA,EACA,YAAA0nE,iBAAA,KAAA92F,MAAAvF,OAAA,OAAAq8F,iBAAA,EACA1nE,EAAA,IACAA,EAAA,MAEA,KAAA0nE,iBAAA1nE,C,CAGA8nE,yBAAAM,EAAAC,GACAD,IAAA,KAAA99E,OAIA,KAAA1Z,MAAAy3F,GAAA,GACA,KAAA1rF,WAAA,EACA,KAAA+qF,iBAAA,KACA,KAAA92F,MAAAvF,OACA,KAAAhB,QAAAM,OAEA,KAAAN,QAAAO,O,CAIA09F,qBAAAC,EAAAC,GACA,MAAAniF,EAAA,CACAkiB,QAAAggE,EAAApmG,aAEA,GAAAqmG,GAAAA,EAAAn9F,OAAA,C,IAGAm9F,EACAA,EAHA,GAAAA,EAAA,GAAAC,SACApiF,EAAAnS,SAAA,CACAw0F,SAAA,QAAAF,EAAAA,EAAA,GAAAC,gBAAA,IAAAD,OAAAA,EAAAA,EAAAt0F,SAAAy0F,MACAC,UAAA,QAAAJ,EAAAA,EAAA,GAAAC,gBAAA,IAAAD,OAAAA,EAAAA,EAAAt0F,SAAA20F,OAGAxiF,EAAAyiF,YAAAN,EAAA,GAAAO,iB,CAEA,KAAAb,mBAAA7hF,E,CAGA8hF,WAAAn8F,GACA,KAAAg8F,uBAAA,EACA,KAAA39F,QAAAO,OAAA,KAAA0f,KAAAte,EAAA7J,YAGAokG,UAAAA,GAAAyC,QAAA,CAAAC,QAAAj9F,EAAAk9F,UAAA,KAAAZ,qBAAAvlC,KAAA,KAAA/2D,G,+BAvLA,KAAAse,KAAA,GACA,KAAA3N,WAAA,EACA,KAAA/L,MAAA,GACA,KAAA82F,iBAAA,UAAAX,YAAA,EAGA,KAAAiB,uBAAA,OAAAD,qBAAA,C,QAlBAjmG,EAAAA,EAAAA,IAAA,CAAAC,QAAA,MADAykG,GAAA,UACAW,uBAAA,G,KACArlG,EAAAA,EAAAA,IAAA,CAAAC,QAAA,KAFAykG,GAAA,UAEAmB,0BAAA,G,KACA7lG,EAAAA,EAAAA,IAAA,CAAAC,QAAA,OAHAykG,GAAA,UAGAU,wBAAA,G,KACAplG,EAAAA,EAAAA,IAAA,CAAAC,QAAA,QAJAykG,GAAA,UAIAllC,gBAAA,G,KACAx/D,EAAAA,EAAAA,IAAA,CAAAC,SAAA,KALAykG,GAAA,UAKAp7E,iBAAA,G,KACAtpB,EAAAA,EAAAA,IAAA,CAAAC,SAAA,KANAykG,GAAA,UAMA57E,kBAAA,G,KACA9oB,EAAAA,EAAAA,IAAA,CAAAC,QAAA,qBAPAykG,GAAA,UAOAt7E,mBAAA,G,KAGA7lB,EAAAA,EAAAA,OAVAmhG,GAAA,UAUAn8F,eAAA,G,KAAAhF,EAAAA,EAAAA,OAVAmhG,GAAA,UAUAY,iBAAA,G,KAmBAz4F,EAAAA,EAAAA,IAAA,oBAAAoqB,WAAA,KA7BAytE,GAAA,UA8BA2C,4BAAA,M,KAIA3mG,EAAAA,EAAAA,IAAA,qBAlCAgkG,GAAA,UAmCA0B,qBAAA,M,KAIAv5F,EAAAA,EAAAA,IAAA,mBAAAoqB,WAAA,KAvCAytE,GAAA,UAwCA4C,2BAAA,M,KAIAz6F,EAAAA,EAAAA,IAAA,SA5CA63F,GAAA,UA6CAtrF,UAAA,MA7CAsrF,GAAA,KATA7jG,EAAAA,EAAAA,IAAA,CACA2C,WAAA,CACA0oB,uBAAA,IACA/J,mBAAA,KACA+X,aAAA,IACA7xB,QAAA,IACA6gB,UAAA,SAGAw7E,ICvG6N,YCmB7N,UAXgB,OACd,ICTW,WAAa,IAAI5jG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,qBAAqB,CAACH,EAAG,UAAU,CAAC2C,IAAI,UAAUvC,MAAM,CAAC,WAAY,EAAK,gBAAiB,GAAOiE,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,SAASC,GAAG,WAAW,MAAO,CAACxE,EAAG,YAAY,CAAC2C,IAAI,YAAYvC,MAAM,CAAC,YAAcR,EAAIsoB,YAAY,UAAYtoB,EAAIwoB,UAAU,WAAaxoB,EAAIgoB,WAAW,SAAW,gCAAgC,KAAO,SAASvnB,GAAG,CAAC,QAAUT,EAAIymG,aAAa,MAAQzmG,EAAI0mG,iBAAiB,KAAO1mG,EAAI2mG,iBAAiBliG,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,QAAQC,GAAG,WAAW,MAAO,CAACxE,EAAG,aAAa,CAACI,MAAM,CAAC,KAAO,SAAS,CAAER,EAAa,UAAEI,EAAG,qBAAqB,CAACI,MAAM,CAAC,KAAO,QAAQ,YAAa,KAAQR,EAAIU,MAAM,GAAG,EAAEoE,OAAM,KAAQ4H,MAAM,CAAC/I,MAAO3D,EAAQ,KAAE2M,SAAS,SAAUC,GAAM5M,EAAI0nB,KAAK9a,CAAG,EAAE1H,WAAW,UAAU,EAAEJ,OAAM,GAAM,CAACH,IAAI,UAAUC,GAAG,WAAW,MAAO,CAACxE,EAAG,yBAAyBJ,EAAI0I,GAAI1I,EAAS,OAAE,SAASoJ,EAAK+C,GAAO,OAAO/L,EAAG,eAAe,CAACuE,IAAIyE,EAAKk9F,SAAS9lG,MAAM,CAAC,MAAQ4I,EAAK7J,YAAY,WAAa4M,IAAUnM,EAAI8kG,iBAAiB,OAAS9kG,EAAI0nB,MAAMjnB,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAOrE,EAAIulG,WAAWn8F,EAAK,IAAI,IAAG,GAAG,EAAEtE,OAAM,QAAW,EAAE,GACtoC,IDWpB,EACA,KACA,WACA,MAI8B,Q,SEjBjB,MAAM8hG,GASjB,aAAoBC,GAEhB,OADA5mG,KAAK4mG,UAAaA,aAAqBC,QAAUD,EAAYA,EAAUtvF,IAChEtX,I,CAGX,eAAsBkM,GAClB,IAAKlM,KAAK4mG,WAAuB,OAAV16F,EAAgB,OAEvC,MAAM46F,EAAoB9mG,KAAK4mG,UAAUpvF,cAAc,uBAAuBtL,OAEzE46F,GAEL9mG,KAAK4mG,UAAUnrE,SAAS,CACpBuB,IAAK,EAAmCC,UAAYj9B,KAAKi9B,W,CAlBjEqpB,YAAY98B,GACRxpB,KAAK4mG,UAAY,KACjB5mG,KAAKi9B,WAAYzT,aAAAA,EAAAA,EAASyT,YAAa,E,0CCyD/C,MCjEwN,IDoExN91B,EAAAA,EAAAA,iBAAA,CACApC,KAAA,eACAtC,WAAA,CACA0oB,uBAAA,IACAgO,aAAA,IACA7xB,QAAA,IACA6gB,UAAA,MAEA7b,MAAA,CACAy6F,YAAA,CAAA5nG,KAAAwoB,OAAAzoB,QAAA,IACA8nG,cAAA,CAAA7nG,KAAA+G,KAAAhH,QAAA,MACAwM,KAAA,CAAAvM,KAAA+G,KAAAhH,QAAA,MACAqK,GAAA,CAAApK,KAAA+G,KAAAhH,QAAA,MACAqpB,UAAA,CAAAppB,KAAAI,QAAAL,SAAA,GACA6oB,WAAA,CAAA5oB,KAAAI,QAAAL,SAAA,GACAmpB,YAAA,CAAAlpB,KAAAC,OAAAF,QAAA,gBAEAqI,QACA,MAAAC,GAAA1E,EAAAA,EAAAA,OACAyhG,GAAAzhG,EAAAA,EAAAA,OAEA,OAAA8jG,WADA9jG,EAAAA,EAAAA,OACA0E,UAAA+8F,gBAAAj8F,EAAAA,GAAAA,M,EAGA8gB,KAAA,MACAy7E,iBAAA,KACAoC,mCAAA,EACAC,eAAA,IAAAP,KAGAp2F,SAAA,CACA42F,oBACA,YAAAC,WAAA,KAAAJ,c,EAGAx9E,UACA,MAAA3K,EAAA,GACA,IAAAwoF,EAAA,KAAAC,cAAAxgF,UACA,MAAApb,EAAA,KAAAA,KAAA,KAAAA,KAAAob,UAAAa,OAAA4/E,UACAh+F,EAAAlD,KAAAgyB,IAAA,KAAAmvE,YAAA1gF,UAAA,KAAAvd,GAAA,KAAAA,GAAAud,UAAAa,OAAA8/E,WACA,KAAAJ,EAAA99F,GACA89F,EAAA37F,GACAmT,EAAAhB,KAAA,IAAA3X,KAAAmhG,IAEAA,GAAA,QAAAN,YAAA,IAEA,OAAAloF,C,EAGAyoF,gBACA,OAAAtoC,EAAAA,GAAAA,IAAA,KAAAgoC,c,EAGAQ,cACA,WAAAthG,KAAA,KAAAohG,cAAAxgF,UAzDA,MAyDA,E,GAIAuf,QAAA,CACAqhE,UAAAnqC,GAEA,OADA,KAAAx2D,MAAA,kBAAAw2D,GACAA,C,EAGAoqC,e,IAMA,EALA,KAAAV,mCAAA,EACA,KAAApC,iBAAA,KAAAr7E,QAAAuR,WACA/B,GAAA,KAAAouE,WAAApuE,KAAA,KAAAouE,WAAA,KAAAJ,iBAGA,eAAAx/F,eAAA,SAAAM,M,EAGA8/F,uBAAAlkG,GACA,QAAAmkG,iBAAAnkG,GAAA,CACA,IAAAA,EAEA,YADA,KAAAgkG,UAAA,MAGA,MAAAI,EAAA,KAAAd,cAAA,IAAA9gG,KAAA,KAAA8gG,eAAA,IAAA9gG,MACAw+D,EAAAqjC,GAAArkG,EAAA6H,MAAA,MAAA8b,EAAAC,GAAAo9C,EAAAn5D,MAAA,KAGAu8F,EAAAE,SAAAD,GAAA,OAAAA,EAAAltE,cAAAphB,SAAA4N,GAAA,GAAAA,GAAAygF,EAAAG,WAAA3gF,GAGAm2C,MAAAqqC,EAAAhhF,YACA,KAAA4gF,UAAAI,E,GAKAI,YAAAlvE,GAAA,SAAAttB,KAAA,YAGA,MAAAy8F,EAAA9hG,KAAAC,OAAA0yB,EAAAlS,UAAA,KAAApb,KAAAob,WAAA,KACA,OAAAg3D,EAAAA,GAAAA,IAAAqqB,EAAA,KAAApiG,M,EAGAygG,aAAAh4F,GACA,OAAAA,EAAA9J,KACA,WACA,gBACA,KAAA8/F,gBACA,MACA,SACA,cACA,KAAAC,oBACA,MACA,YACA,KAAAC,eAAAl2F,GACA,MACA,UACA,aACA,KAAAm2F,c,EAKAH,gBACA,KAAAyC,mCAAA,MAAA9pE,EAAA,YAAA0nE,iBAAA,OAAAA,iBAAA,EAGA1nE,GAAA,KAAA3T,QAAAhhB,SACA20B,EAAA,MAGA,KAAA0nE,iBAAA1nE,EACA,KAAA+pE,eAAAkB,eAAA,KAAAvD,iB,EAGAJ,oBACA,KAAAwC,mCAAA,EACA,IAAA9pE,EAAA,YAAA0nE,iBAAA,KAAAr7E,QAAAhhB,OAAA,OAAAq8F,iBAAA,EAGA1nE,EAAA,IACAA,EAAA,MAGA,KAAA0nE,iBAAA1nE,EACA,KAAA+pE,eAAAkB,eAAA,KAAAvD,iB,EAGAF,c,IACA,EACA,IADA,eAAAn9F,eAAA,SAAAO,OACA,eAAAw8F,iBAAA,mBAAAr7E,aAAA,SAAAe,M,EAGAy6E,eAAAl2F,GACA,YAAAq2F,oBACA,SAAAA,kBAAA,KAAAoC,kCACA,KAAAS,UAAA,KAAAl+E,QAAA,KAAAq7E,mBAEA,KAAA+C,uBAAA,EAAA3mF,OAAAvd,OAGA,KAAAihG,c,EAIA0D,oBAAAn8F,GACA,YAAA24F,mBAAA34F,C,EAGAo8F,iBAAAtvE,GACA,YAAAouE,WAAApuE,KAAA,KAAAmuE,iB,EAGAoB,sBACA,KAAArB,eAAAsB,aAAA,KAAA5B,WAAAwB,eAAA,KAAAvD,iB,EAGAuC,WAAA7pC,GACA,OAAAA,EAGAA,EAAAQ,mBAAA,KAAAxE,iBAAAhG,UAAAkL,SAAA,CACAT,KAAA,UACAC,OAAA,YAJA,E,EAQA4pC,iBAAAnkG,GACA,IAAAA,EACA,SAGA,MAAAghE,EAAAqjC,GAAArkG,EAAA6H,MAAA,MAAA8b,EAAAC,GAAAo9C,EAAAn5D,MAAA,KAGA,OAAAw8F,KAAA,WAAA99B,KAAA89B,IAAAtuF,SAAA4N,GAAA,IAAA5N,SAAA4N,GAAA,UAKA6J,SAAAzX,SAAA4N,KACA5N,SAAA4N,GAAA,IACA5N,SAAA4N,IAAA,GACA6J,SAAAzX,SAAA6N,KACA7N,SAAA6N,GAAA,IACA7N,SAAA6N,IAAA,C,KE1PA,UAXgB,OACd,ICTW,WAAa,IAAIvnB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,UAAU,CAAC2C,IAAI,UAAUxC,YAAY,gBAAgBD,MAAM,CAAEyoB,QAAS/oB,EAAIwoB,UAAWzR,SAAU/W,EAAIgoB,YAAaxnB,MAAM,CAAC,gBAAiB,EAAM,cAAgB,GAAG,oBAAsB,IAAIiE,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,SAASC,GAAG,WAAW,MAAO,CAACxE,EAAG,YAAY,CAAC2C,IAAI,YAAYvC,MAAM,CAAC,MAAQR,EAAIonG,kBAAkB,SAAW,IAAI,UAAYpnG,EAAIwoB,UAAU,WAAaxoB,EAAIgoB,WAAW,YAAchoB,EAAIsoB,YAAY,KAAO,SAAS7nB,GAAG,CAAC,QAAUT,EAAIymG,aAAa,OAASzmG,EAAI6nG,uBAAuB,MAAQ7nG,EAAI4nG,cAAcnjG,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,OAAOC,GAAG,WAAW,MAAO,CAACxE,EAAG,gCAAgC,CAACG,YAAY,qBAAqBC,MAAM,CAAC,KAAO,QAAQ,EAAEsE,OAAM,OAAU,EAAEA,OAAM,GAAM,CAACH,IAAI,UAAUC,GAAG,WAAW,MAAO,CAACxE,EAAG,yBAAyB,CAAC2C,IAAI,YAAYxC,YAAY,UAAUE,GAAG,CAAC,QAAUT,EAAIwoG,sBAAsBxoG,EAAI0I,GAAI1I,EAAW,SAAE,SAASi5B,EAAO9sB,GAAO,OAAO/L,EAAG,eAAe,CAACuE,IAAIs0B,EAAOlS,UAAUxmB,YAAY,SAASC,MAAM,CAAC,oBAAoB2L,EAAM,MAAQnM,EAAIqnG,WAAWpuE,GAAQ,WAAaj5B,EAAIsoG,oBAAoBn8F,IAAQ1L,GAAG,CAAC,MAAQ,SAAS4D,GAAQ,OAAOrE,EAAI2nG,UAAU1uE,EAAO,GAAGx0B,YAAYzE,EAAI0E,GAAG,CAAC,CAACC,IAAI,UAAUC,GAAG,WAAW,MAAO,CAACxE,EAAG,MAAM,CAACG,YAAY,kBAAkB,CAACP,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIqnG,WAAWpuE,IAAS,KAAMz5B,QAAQQ,EAAI2L,OAAS3L,EAAImoG,YAAYlvE,GAAS74B,EAAG,OAAO,CAACG,YAAY,YAAY,CAACP,EAAIW,GAAG,KAAKX,EAAIY,GAAGZ,EAAImoG,YAAYlvE,IAAS,QAAQj5B,EAAIU,OAAO,EAAEoE,OAAM,IAAO,MAAK,IAAO,IAAG,GAAG,EAAEA,OAAM,MAAS,GACpgD,IDWpB,EACA,KACA,WACA,MAI8B,Q,0EEnBzB,MAAMsa,EAAcspF,OAAO,c,uECOlC,MAAMC,UAA0B9kE,EAAAA,GAC5B,YACI5jC,KAAK4H,MAAM+gG,cAAe,C,CAG9B,YACI3oG,KAAK4H,MAAM+gG,cAAe,C,EAIlC,MAAM7Z,EAAgB,IAAIvpD,EAAAA,GAAO,CAC7B39B,MAfJ,M,cACI,KAAO+gG,cAAe,C,GAetBzgG,UAAWwgG,IAGFE,GAAsB1iE,EAAAA,EAAAA,IAAa4oD,GAChD,G,kBCvBA,IAAI1kF,EAAM,CACT,aAAc,CACb,MACA,MAED,aAAc,CACb,MACA,MAED,aAAc,CACb,OAED,aAAc,CACb,MACA,IAED,aAAc,CACb,MACA,MAED,aAAc,CACb,MACA,MAED,aAAc,CACb,MACA,MAED,aAAc,CACb,MACA,MAED,aAAc,CACb,MACA,MAED,aAAc,CACb,MACA,MAGF,SAASy+F,EAAoBzqG,GAC5B,IAAI0qG,EAAoB9tE,EAAE5wB,EAAKhM,GAC9B,OAAOoD,QAAQ/C,UAAUwmC,MAAK,KAC7B,IAAI5mC,EAAI,IAAIC,MAAM,uBAAyBF,EAAM,KAEjD,MADAC,EAAEE,KAAO,mBACHF,CAAC,IAIT,IAAI2yC,EAAM5mC,EAAIhM,GAAMM,EAAKsyC,EAAI,GAC7B,OAAOxvC,QAAQuxC,IAAI/B,EAAIzhB,MAAM,GAAGnlB,IAAI0+F,EAAoBzqG,IAAI4mC,MAAK,IACzD6jE,EAAoBpqG,IAE7B,CACAmqG,EAAoBrqG,KAAO,IAAO0L,OAAO1L,KAAK4L,GAC9Cy+F,EAAoBnqG,GAAK,MACzBC,EAAOC,QAAUiqG,C,4JCxDbE,EAA2B,CAAC,EAGhC,SAASD,EAAoBE,GAE5B,IAAIC,EAAeF,EAAyBC,GAC5C,QAAqBv0F,IAAjBw0F,EACH,OAAOA,EAAarqG,QAGrB,IAAID,EAASoqG,EAAyBC,GAAY,CACjDtqG,GAAIsqG,EACJrsC,QAAQ,EACR/9D,QAAS,CAAC,GAUX,OANAsqG,EAAoBF,GAAUjsC,KAAKp+D,EAAOC,QAASD,EAAQA,EAAOC,QAASkqG,GAG3EnqG,EAAOg+D,QAAS,EAGTh+D,EAAOC,OACf,CAGAkqG,EAAoBK,EAAID,EC5BxBJ,EAAoBM,KAAO,CAAC,EnnBAxBtrG,EAAW,GACfgrG,EAAoBO,EAAI,CAAC9nG,EAAQ+nG,EAAU3kG,EAAI4kG,KAC9C,IAAGD,EAAH,CAMA,IAAIE,EAAeC,IACnB,IAAS37B,EAAI,EAAGA,EAAIhwE,EAAS0K,OAAQslE,IAAK,CAGzC,IAFA,IAAKw7B,EAAU3kG,EAAI4kG,GAAYzrG,EAASgwE,GACpC47B,GAAY,EACPC,EAAI,EAAGA,EAAIL,EAAS9gG,OAAQmhG,MACpB,EAAXJ,GAAsBC,GAAgBD,IAAar/F,OAAO1L,KAAKsqG,EAAoBO,GAAG3uE,OAAOh2B,GAASokG,EAAoBO,EAAE3kG,GAAK4kG,EAASK,MAC9IL,EAAS70C,OAAOk1C,IAAK,IAErBD,GAAY,EACTH,EAAWC,IAAcA,EAAeD,IAG7C,GAAGG,EAAW,CACb5rG,EAAS22D,OAAOqZ,IAAK,GACrB,IAAI9iB,EAAIrmD,SACE8P,IAANu2C,IAAiBzpD,EAASypD,EAC/B,CACD,CACA,OAAOzpD,CAnBP,CAJCgoG,EAAWA,GAAY,EACvB,IAAI,IAAIz7B,EAAIhwE,EAAS0K,OAAQslE,EAAI,GAAKhwE,EAASgwE,EAAI,GAAG,GAAKy7B,EAAUz7B,IAAKhwE,EAASgwE,GAAKhwE,EAASgwE,EAAI,GACrGhwE,EAASgwE,GAAK,CAACw7B,EAAU3kG,EAAI4kG,EAqBjB,EonBzBdT,EAAoB7V,EAAKt0F,IACxB,IAAIirG,EAASjrG,GAAUA,EAAOkrG,WAC7B,IAAOlrG,EAAiB,QACxB,IAAM,EAEP,OADAmqG,EAAoBzkC,EAAEulC,EAAQ,CAAE5jC,EAAG4jC,IAC5BA,CAAM,ECLdd,EAAoBzkC,EAAI,CAACzlE,EAASqzC,KACjC,IAAI,IAAIvtC,KAAOutC,EACX62D,EAAoB9tE,EAAEiX,EAAYvtC,KAASokG,EAAoB9tE,EAAEp8B,EAAS8F,IAC5EwF,OAAO4/F,eAAelrG,EAAS8F,EAAK,CAAEqlG,YAAY,EAAMnvE,IAAKqX,EAAWvtC,IAE1E,ECNDokG,EAAoBkB,EAAI,CAAC,EAGzBlB,EAAoBzqG,EAAK4rG,GACjBzoG,QAAQuxC,IAAI7oC,OAAO1L,KAAKsqG,EAAoBkB,GAAG9+F,QAAO,CAACg/F,EAAUxlG,KACvEokG,EAAoBkB,EAAEtlG,GAAKulG,EAASC,GAC7BA,IACL,KCNJpB,EAAoBqB,EAAKF,GAEjB,MAAQA,EAAU,IAAM,CAAC,GAAK,WAAW,GAAK,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,YAAYA,GAAW,MCF50DnB,EAAoBsB,SAAYH,GAExB,OAASA,EAAU,IAAM,CAAC,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,YAAYA,GAAW,OCHhmCnB,EAAoB7kC,EAAI,WACvB,GAA0B,iBAAfomC,WAAyB,OAAOA,WAC3C,IACC,OAAOrqG,MAAQ,IAAIsqG,SAAS,cAAb,EAGhB,CAFE,MAAOjsG,GACR,GAAsB,iBAAX2mB,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxB8jF,EAAoByB,IAAO5rG,KAC1BA,EAASuL,OAAOsvC,OAAO76C,IACXqS,WAAUrS,EAAOqS,SAAW,IACxC9G,OAAO4/F,eAAenrG,EAAQ,UAAW,CACxCorG,YAAY,EACZS,IAAK,KACJ,MAAM,IAAIlsG,MAAM,0FAA4FK,EAAOD,GAAG,IAGjHC,GCTRmqG,EAAoB9tE,EAAI,CAACjwB,EAAK0/F,IAAUvgG,OAAOu8C,UAAUqW,eAAeC,KAAKhyD,EAAK0/F,G1nBA9E1sG,EAAa,CAAC,EACdC,EAAoB,uBAExB8qG,EAAoB1kC,EAAI,CAAC7Z,EAAKmgD,EAAMhmG,EAAKulG,KACxC,GAAGlsG,EAAWwsD,GAAQxsD,EAAWwsD,GAAK1sC,KAAK6sF,OAA3C,CACA,IAAIC,EAAQC,EACZ,QAAWn2F,IAAR/P,EAEF,IADA,IAAImmG,EAAU9kF,SAAS+kF,qBAAqB,UACpCh9B,EAAI,EAAGA,EAAI+8B,EAAQriG,OAAQslE,IAAK,CACvC,IAAI3J,EAAI0mC,EAAQ/8B,GAChB,GAAG3J,EAAE4mC,aAAa,QAAUxgD,GAAO4Z,EAAE4mC,aAAa,iBAAmB/sG,EAAoB0G,EAAK,CAAEimG,EAASxmC,EAAG,KAAO,CACpH,CAEGwmC,IACHC,GAAa,GACbD,EAAS5kF,SAASQ,cAAc,WAEzBykF,QAAU,QACjBL,EAAOx6C,QAAU,IACb24C,EAAoBmC,IACvBN,EAAOtkB,aAAa,QAASyiB,EAAoBmC,IAElDN,EAAOtkB,aAAa,eAAgBroF,EAAoB0G,GACxDimG,EAAO5vF,IAAMwvC,GAEdxsD,EAAWwsD,GAAO,CAACmgD,GACnB,IAAIQ,EAAmB,CAACC,EAAM38F,KAE7Bm8F,EAAOS,QAAUT,EAAOU,OAAS,KACjC56C,aAAaN,GACb,IAAIm7C,EAAUvtG,EAAWwsD,GAIzB,UAHOxsD,EAAWwsD,GAClBogD,EAAOY,YAAcZ,EAAOY,WAAWnlC,YAAYukC,GACnDW,GAAWA,EAAQh0E,SAAS3yB,GAAQA,EAAG6J,KACpC28F,EAAM,OAAOA,EAAK38F,EAAM,EAGxB2hD,EAAUlvD,WAAWiqG,EAAiBhrC,KAAK,UAAMzrD,EAAW,CAAEtV,KAAM,UAAW8hB,OAAQ0pF,IAAW,MACtGA,EAAOS,QAAUF,EAAiBhrC,KAAK,KAAMyqC,EAAOS,SACpDT,EAAOU,OAASH,EAAiBhrC,KAAK,KAAMyqC,EAAOU,QACnDT,GAAc7kF,SAASO,KAAKE,YAAYmkF,EApCkB,CAoCX,E2nBvChD7B,EAAoB99C,EAAKpsD,IACH,oBAAX6pG,QAA0BA,OAAO+C,aAC1CthG,OAAO4/F,eAAelrG,EAAS6pG,OAAO+C,YAAa,CAAE9nG,MAAO,WAE7DwG,OAAO4/F,eAAelrG,EAAS,aAAc,CAAE8E,OAAO,GAAO,ECL9DolG,EAAoB2C,IAAO9sG,IAC1BA,EAAO+sG,MAAQ,GACV/sG,EAAOqS,WAAUrS,EAAOqS,SAAW,IACjCrS,GCHRmqG,EAAoBltC,EAAI,a5nByCpB39D,EAAkBgsG,GACd,IAAIzoG,SAAQ,CAAC/C,EAASy0C,KAC5B,IAAIxpC,EAAOo/F,EAAoBsB,SAASH,GACpC0B,EAAW7C,EAAoBltC,EAAIlyD,EACvC,GAlBmB,EAACA,EAAMiiG,KAE3B,IADA,IAAIC,EAAmB7lF,SAAS+kF,qBAAqB,QAC7Ch9B,EAAI,EAAGA,EAAI89B,EAAiBpjG,OAAQslE,IAAK,CAChD,IACI+9B,GADA/hG,EAAM8hG,EAAiB99B,IACRi9B,aAAa,cAAgBjhG,EAAIihG,aAAa,QACjE,GAAe,eAAZjhG,EAAIgiG,MAAyBD,IAAaniG,GAAQmiG,IAAaF,GAAW,OAAO7hG,CACrF,CACA,IAAIiiG,EAAoBhmF,SAAS+kF,qBAAqB,SACtD,IAAQh9B,EAAI,EAAGA,EAAIi+B,EAAkBvjG,OAAQslE,IAAK,CACjD,IAAIhkE,EAEJ,IADI+hG,GADA/hG,EAAMiiG,EAAkBj+B,IACTi9B,aAAa,gBAChBrhG,GAAQmiG,IAAaF,EAAU,OAAO7hG,CACvD,GAMIkiG,CAAetiG,EAAMiiG,GAAW,OAAOltG,IA7CrB,EAACwrG,EAAS0B,EAAUltG,EAASy0C,KACnD,IAAI+4D,EAAUlmF,SAASQ,cAAc,QAErC0lF,EAAQH,IAAM,aACdG,EAAQ9sG,KAAO,WAiBf8sG,EAAQb,QAAUa,EAAQZ,OAhBJ78F,IAGrB,GADAy9F,EAAQb,QAAUa,EAAQZ,OAAS,KAChB,SAAf78F,EAAMrP,KACTV,QACM,CACN,IAAIytG,EAAY19F,IAAyB,SAAfA,EAAMrP,KAAkB,UAAYqP,EAAMrP,MAChEgtG,EAAW39F,GAASA,EAAMyS,QAAUzS,EAAMyS,OAAOvX,MAAQiiG,EACzDjqG,EAAM,IAAIpD,MAAM,qBAAuB2rG,EAAU,cAAgBkC,EAAW,KAChFzqG,EAAInD,KAAO,wBACXmD,EAAIvC,KAAO+sG,EACXxqG,EAAI0gD,QAAU+pD,EACdF,EAAQV,WAAWnlC,YAAY6lC,GAC/B/4D,EAAOxxC,EACR,GAGDuqG,EAAQviG,KAAOiiG,EAEf5lF,SAASO,KAAKE,YAAYylF,EACZ,EAqBbG,CAAiBnC,EAAS0B,EAAUltG,EAASy0C,EAAO,IAIlDh1C,EAAqB,CACxB,KAAM,GAGP4qG,EAAoBkB,EAAEqC,QAAU,CAACpC,EAASC,KAEtChsG,EAAmB+rG,GAAUC,EAASrsF,KAAK3f,EAAmB+rG,IACzB,IAAhC/rG,EAAmB+rG,IAFX,CAAC,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,GAE9eA,IACtDC,EAASrsF,KAAK3f,EAAmB+rG,GAAWhsG,EAAegsG,GAAShlE,MAAK,KACxE/mC,EAAmB+rG,GAAW,CAAC,IAC5B5rG,IAEH,aADOH,EAAmB+rG,GACpB5rG,CAAC,IAET,E,M6nB3DD,IAAIiuG,EAAkB,CACrB,KAAM,GAGPxD,EAAoBkB,EAAEL,EAAI,CAACM,EAASC,KAElC,IAAIqC,EAAqBzD,EAAoB9tE,EAAEsxE,EAAiBrC,GAAWqC,EAAgBrC,QAAWx1F,EACtG,GAA0B,IAAvB83F,EAGF,GAAGA,EACFrC,EAASrsF,KAAK0uF,EAAmB,SAEjC,GAAI,qBAAqBtiC,KAAKggC,GAyBvBqC,EAAgBrC,GAAW,MAzBM,CAEvC,IAAI3R,EAAU,IAAI92F,SAAQ,CAAC/C,EAASy0C,IAAYq5D,EAAqBD,EAAgBrC,GAAW,CAACxrG,EAASy0C,KAC1Gg3D,EAASrsF,KAAK0uF,EAAmB,GAAKjU,GAGtC,IAAI/tC,EAAMu+C,EAAoBltC,EAAIktC,EAAoBqB,EAAEF,GAEpDr+F,EAAQ,IAAItN,MAgBhBwqG,EAAoB1kC,EAAE7Z,GAfF/7C,IACnB,GAAGs6F,EAAoB9tE,EAAEsxE,EAAiBrC,KAEf,KAD1BsC,EAAqBD,EAAgBrC,MACRqC,EAAgBrC,QAAWx1F,GACrD83F,GAAoB,CACtB,IAAIL,EAAY19F,IAAyB,SAAfA,EAAMrP,KAAkB,UAAYqP,EAAMrP,MAChEqtG,EAAUh+F,GAASA,EAAMyS,QAAUzS,EAAMyS,OAAOlG,IACpDnP,EAAM6P,QAAU,iBAAmBwuF,EAAU,cAAgBiC,EAAY,KAAOM,EAAU,IAC1F5gG,EAAM7G,KAAO,iBACb6G,EAAMzM,KAAO+sG,EACbtgG,EAAMw2C,QAAUoqD,EAChBD,EAAmB,GAAG3gG,EACvB,CACD,GAEwC,SAAWq+F,EAASA,EAC9D,CAEF,EAWFnB,EAAoBO,EAAEM,EAAKM,GAA0C,IAA7BqC,EAAgBrC,GAGxD,IAAIwC,EAAuB,CAACC,EAA4BtjF,KACvD,IAGI4/E,EAAUiB,GAHTX,EAAUqD,EAAaC,GAAWxjF,EAGhB0kD,EAAI,EAC3B,GAAGw7B,EAASryE,MAAMv4B,GAAgC,IAAxB4tG,EAAgB5tG,KAAa,CACtD,IAAIsqG,KAAY2D,EACZ7D,EAAoB9tE,EAAE2xE,EAAa3D,KACrCF,EAAoBK,EAAEH,GAAY2D,EAAY3D,IAGhD,GAAG4D,EAAS,IAAIrrG,EAASqrG,EAAQ9D,EAClC,CAEA,IADG4D,GAA4BA,EAA2BtjF,GACrD0kD,EAAIw7B,EAAS9gG,OAAQslE,IACzBm8B,EAAUX,EAASx7B,GAChBg7B,EAAoB9tE,EAAEsxE,EAAiBrC,IAAYqC,EAAgBrC,IACrEqC,EAAgBrC,GAAS,KAE1BqC,EAAgBrC,GAAW,EAE5B,OAAOnB,EAAoBO,EAAE9nG,EAAO,EAGjCsrG,EAAqBxC,WAA4C,gCAAIA,WAA4C,iCAAK,GAC1HwC,EAAmBv1E,QAAQm1E,EAAqBvsC,KAAK,KAAM,IAC3D2sC,EAAmBhvF,KAAO4uF,EAAqBvsC,KAAK,KAAM2sC,EAAmBhvF,KAAKqiD,KAAK2sC,G,KClFvF,IAAIC,EAAsBhE,EAAoBO,OAAE50F,EAAW,CAAC,OAAO,IAAOq0F,EAAoB,SAC9FgE,EAAsBhE,EAAoBO,EAAEyD,E","sources":["webpack://eloomi-infinite-spa/webpack/runtime/chunk loaded","webpack://eloomi-infinite-spa/webpack/runtime/load script","webpack://eloomi-infinite-spa/webpack/runtime/css loading","webpack://eloomi-infinite-spa/./node_modules/@segment/analytics.js-core/build/ sync","webpack://eloomi-infinite-spa/./src/authentication/components/AuthenticationFlowPanel.vue?6383","webpack://eloomi-infinite-spa/src/authentication/components/AuthenticationFlowPanel.vue","webpack://eloomi-infinite-spa/./src/authentication/components/AuthenticationFlowPanel.vue?d7f6","webpack://eloomi-infinite-spa/./src/authentication/components/AuthenticationFlowPanel.vue","webpack://eloomi-infinite-spa/./src/authentication/components/LoginPageLayout.vue?1360","webpack://eloomi-infinite-spa/src/authentication/components/LoginPageLayout.vue","webpack://eloomi-infinite-spa/./src/authentication/components/LoginPageLayout.vue?b23f","webpack://eloomi-infinite-spa/./src/authentication/components/LoginPageLayout.vue","webpack://eloomi-infinite-spa/./src/common/components/accordion/CoreAccordion.vue?bb16","webpack://eloomi-infinite-spa/src/common/components/accordion/CoreAccordionHeader.vue","webpack://eloomi-infinite-spa/./src/common/components/accordion/CoreAccordionHeader.vue?849d","webpack://eloomi-infinite-spa/./src/common/components/accordion/CoreAccordionHeader.vue","webpack://eloomi-infinite-spa/./src/common/components/accordion/CoreAccordionHeader.vue?615c","webpack://eloomi-infinite-spa/./src/common/components/accordion/CoreAccordionContent.vue?541e","webpack://eloomi-infinite-spa/src/common/components/accordion/CoreAccordionContent.vue","webpack://eloomi-infinite-spa/./src/common/components/accordion/CoreAccordionContent.vue?285c","webpack://eloomi-infinite-spa/./src/common/components/accordion/CoreAccordionContent.vue","webpack://eloomi-infinite-spa/src/common/components/accordion/CoreAccordion.vue","webpack://eloomi-infinite-spa/./src/common/components/accordion/CoreAccordion.vue?2593","webpack://eloomi-infinite-spa/./src/common/components/accordion/CoreAccordion.vue","webpack://eloomi-infinite-spa/./src/common/components/app-header/AppHeader.vue?7554","webpack://eloomi-infinite-spa/src/common/components/app-header/AppHeader.vue","webpack://eloomi-infinite-spa/./src/common/components/app-header/AppHeader.vue?3b68","webpack://eloomi-infinite-spa/./src/common/components/app-header/AppHeader.vue","webpack://eloomi-infinite-spa/./src/common/components/app-header/DesktopHeader.vue?60a2","webpack://eloomi-infinite-spa/src/common/components/app-header/CompanyLogo.vue","webpack://eloomi-infinite-spa/./src/common/components/app-header/CompanyLogo.vue?0b75","webpack://eloomi-infinite-spa/./src/common/components/app-header/CompanyLogo.vue","webpack://eloomi-infinite-spa/./src/common/components/app-header/CompanyLogo.vue?889d","webpack://eloomi-infinite-spa/src/admin/billing/components/ChoosePlanButton.vue","webpack://eloomi-infinite-spa/./src/admin/billing/components/ChoosePlanButton.vue?823d","webpack://eloomi-infinite-spa/./src/admin/billing/components/ChoosePlanButton.vue","webpack://eloomi-infinite-spa/./src/admin/billing/components/ChoosePlanButton.vue?dd57","webpack://eloomi-infinite-spa/./src/notifications/components/NotificationMenu.vue?6e32","webpack://eloomi-infinite-spa/src/notifications/components/NotificationPanel.vue","webpack://eloomi-infinite-spa/./src/notifications/components/NotificationPanel.vue?e5b6","webpack://eloomi-infinite-spa/./src/notifications/components/NotificationPanel.vue","webpack://eloomi-infinite-spa/./src/notifications/components/NotificationPanel.vue?cb55","webpack://eloomi-infinite-spa/src/notifications/components/NotificationMenu.vue","webpack://eloomi-infinite-spa/./src/notifications/components/NotificationMenu.vue?fc54","webpack://eloomi-infinite-spa/./src/notifications/components/NotificationMenu.vue","webpack://eloomi-infinite-spa/./src/common/components/menu/CoreMenu.vue?1727","webpack://eloomi-infinite-spa/src/common/components/menu/CoreMenuItem.vue","webpack://eloomi-infinite-spa/./src/common/components/menu/CoreMenuItem.vue?878a","webpack://eloomi-infinite-spa/./src/common/components/menu/CoreMenuItem.vue","webpack://eloomi-infinite-spa/./src/common/components/menu/CoreMenuItem.vue?9a84","webpack://eloomi-infinite-spa/src/common/components/menu/CoreMenu.vue","webpack://eloomi-infinite-spa/./src/common/components/menu/CoreMenu.vue?b6a9","webpack://eloomi-infinite-spa/./src/common/components/menu/CoreMenu.vue","webpack://eloomi-infinite-spa/./src/common/components/menu/CoreUserMenu.vue?8323","webpack://eloomi-infinite-spa/./src/common/mixins/content-loader.ts","webpack://eloomi-infinite-spa/src/common/components/content-loaders/TopNavigationUserProfileContentLoader.vue","webpack://eloomi-infinite-spa/./src/common/components/content-loaders/TopNavigationUserProfileContentLoader.vue?a87a","webpack://eloomi-infinite-spa/./src/common/components/content-loaders/TopNavigationUserProfileContentLoader.vue","webpack://eloomi-infinite-spa/./src/common/components/content-loaders/TopNavigationUserProfileContentLoader.vue?207d","webpack://eloomi-infinite-spa/src/common/components/menu/CoreUserMenu.vue","webpack://eloomi-infinite-spa/./src/common/components/menu/CoreUserMenu.vue?527b","webpack://eloomi-infinite-spa/./src/common/components/menu/CoreUserMenu.vue","webpack://eloomi-infinite-spa/./src/common/components/app-header/useTopNavigation.ts","webpack://eloomi-infinite-spa/src/common/components/app-header/DesktopHeader.vue","webpack://eloomi-infinite-spa/./src/common/components/app-header/DesktopHeader.vue?994c","webpack://eloomi-infinite-spa/./src/common/components/app-header/DesktopHeader.vue","webpack://eloomi-infinite-spa/./src/common/components/app-header/MobileHeader.vue?64be","webpack://eloomi-infinite-spa/src/common/components/app-header/MobileHeader.vue","webpack://eloomi-infinite-spa/./src/common/components/app-header/MobileHeader.vue?6570","webpack://eloomi-infinite-spa/./src/common/components/app-header/MobileHeader.vue","webpack://eloomi-infinite-spa/./src/common/components/buttons/CoreButton.vue?9696","webpack://eloomi-infinite-spa/src/common/components/buttons/CoreButton.vue","webpack://eloomi-infinite-spa/./src/common/components/buttons/CoreButton.vue?28a1","webpack://eloomi-infinite-spa/./src/common/components/buttons/CoreButton.vue","webpack://eloomi-infinite-spa/./src/common/components/controls/checkbox/CoreCheckbox.vue?cace","webpack://eloomi-infinite-spa/src/common/components/controls/checkbox/CoreCheckbox.vue","webpack://eloomi-infinite-spa/./src/common/components/controls/checkbox/CoreCheckbox.vue?2287","webpack://eloomi-infinite-spa/./src/common/components/controls/checkbox/CoreCheckbox.vue","webpack://eloomi-infinite-spa/./src/common/components/elements/media-objects/CorePicture.vue?3e56","webpack://eloomi-infinite-spa/src/common/components/elements/media-objects/CorePicture.vue","webpack://eloomi-infinite-spa/./src/common/components/elements/media-objects/CorePicture.vue?1a84","webpack://eloomi-infinite-spa/./src/common/components/elements/media-objects/CorePicture.vue","webpack://eloomi-infinite-spa/./src/common/components/error/MobileFallback.vue?ce29","webpack://eloomi-infinite-spa/src/common/components/error/ErrorMessage.vue","webpack://eloomi-infinite-spa/./src/common/components/error/ErrorMessage.vue?1f52","webpack://eloomi-infinite-spa/./src/common/components/error/ErrorMessage.vue","webpack://eloomi-infinite-spa/./src/common/components/error/ErrorMessage.vue?f4b0","webpack://eloomi-infinite-spa/./src/common/components/error/SmileyDesktopImage.vue?1983","webpack://eloomi-infinite-spa/src/common/components/error/SmileyDesktopImage.vue","webpack://eloomi-infinite-spa/./src/common/components/error/SmileyDesktopImage.vue?d8ac","webpack://eloomi-infinite-spa/./src/common/components/error/SmileyDesktopImage.vue","webpack://eloomi-infinite-spa/src/common/components/error/MobileFallback.vue","webpack://eloomi-infinite-spa/./src/common/components/error/MobileFallback.vue?9f07","webpack://eloomi-infinite-spa/./src/common/components/error/MobileFallback.vue","webpack://eloomi-infinite-spa/./src/common/components/icon/CoreShapedImage.vue?d2ef","webpack://eloomi-infinite-spa/src/common/components/icon/CoreShapedImage.vue","webpack://eloomi-infinite-spa/./src/common/components/icon/CoreShapedImage.vue?cb04","webpack://eloomi-infinite-spa/./src/common/components/icon/CoreShapedImage.vue","webpack://eloomi-infinite-spa/./src/common/components/menu/CoreActionDropdown/CoreActionDropdown.vue?a63b","webpack://eloomi-infinite-spa/src/common/components/menu/CoreActionDropdown/CoreActionDropdown.vue","webpack://eloomi-infinite-spa/./src/common/components/menu/CoreActionDropdown/CoreActionDropdown.vue?ba2c","webpack://eloomi-infinite-spa/./src/common/components/menu/CoreActionDropdown/CoreActionDropdown.vue","webpack://eloomi-infinite-spa/./src/common/components/menu/CoreActionDropdown/CoreActionMenu.vue?8a1d","webpack://eloomi-infinite-spa/src/common/components/menu/CoreActionDropdown/CoreActionMenu.vue","webpack://eloomi-infinite-spa/./src/common/components/menu/CoreActionDropdown/CoreActionMenu.vue?23cf","webpack://eloomi-infinite-spa/./src/common/components/menu/CoreActionDropdown/CoreActionMenu.vue","webpack://eloomi-infinite-spa/src/common/components/menu/MenuBackButton.vue","webpack://eloomi-infinite-spa/./src/common/components/menu/MenuBackButton.vue?9f3e","webpack://eloomi-infinite-spa/./src/common/components/menu/MenuBackButton.vue","webpack://eloomi-infinite-spa/./src/common/components/menu/MenuBackButton.vue?f4a5","webpack://eloomi-infinite-spa/./src/common/components/modal/CoreMobileBottomDrawer.vue?27cb","webpack://eloomi-infinite-spa/src/common/components/modal/CoreMobileBottomDrawer.vue","webpack://eloomi-infinite-spa/./src/common/components/modal/CoreMobileBottomDrawer.vue?0fbd","webpack://eloomi-infinite-spa/./src/common/components/modal/CoreMobileBottomDrawer.vue","webpack://eloomi-infinite-spa/./src/common/components/progress/CoreCircleProgress.vue?51e4","webpack://eloomi-infinite-spa/src/common/components/progress/CoreCircleProgress.vue","webpack://eloomi-infinite-spa/./src/common/components/progress/CoreCircleProgress.vue?7e52","webpack://eloomi-infinite-spa/./src/common/components/progress/CoreCircleProgress.vue","webpack://eloomi-infinite-spa/./src/common/components/routing/GoBackButton.vue?2d05","webpack://eloomi-infinite-spa/src/common/components/routing/GoBackButton.vue","webpack://eloomi-infinite-spa/./src/common/components/routing/GoBackButton.vue?6b94","webpack://eloomi-infinite-spa/./src/common/components/routing/GoBackButton.vue","webpack://eloomi-infinite-spa/./src/common/components/skeleton/SkeletonLoader.vue?7c10","webpack://eloomi-infinite-spa/src/common/components/skeleton/SkeletonLoader.vue","webpack://eloomi-infinite-spa/./src/common/components/skeleton/SkeletonLoader.vue?6dc1","webpack://eloomi-infinite-spa/./src/common/components/skeleton/SkeletonLoader.vue","webpack://eloomi-infinite-spa/./src/common/components/spinner/Spinner.vue?7b5f","webpack://eloomi-infinite-spa/src/common/components/spinner/Spinner.vue","webpack://eloomi-infinite-spa/./src/common/components/spinner/Spinner.vue?31ab","webpack://eloomi-infinite-spa/./src/common/components/spinner/Spinner.vue","webpack://eloomi-infinite-spa/./src/common/components/toast/ToastNotification.vue?efda","webpack://eloomi-infinite-spa/src/common/components/toast/ToastNotification.vue","webpack://eloomi-infinite-spa/./src/common/components/toast/ToastNotification.vue?5fcd","webpack://eloomi-infinite-spa/./src/common/components/toast/ToastNotification.vue","webpack://eloomi-infinite-spa/./src/common/components/toast/ToastNotificationArea.vue?404b","webpack://eloomi-infinite-spa/src/common/components/toast/ToastNotificationArea.vue","webpack://eloomi-infinite-spa/./src/common/components/toast/ToastNotificationArea.vue?1e0d","webpack://eloomi-infinite-spa/./src/common/components/toast/ToastNotificationArea.vue","webpack://eloomi-infinite-spa/./src/common/components/transitions/FadeTransition.vue?433e","webpack://eloomi-infinite-spa/src/common/components/transitions/FadeTransition.vue","webpack://eloomi-infinite-spa/./src/common/components/transitions/FadeTransition.vue?a08f","webpack://eloomi-infinite-spa/./src/common/components/transitions/FadeTransition.vue","webpack://eloomi-infinite-spa/./src/common/layouts/CoreMainLayout.vue?97cc","webpack://eloomi-infinite-spa/src/common/layouts/CoreMainLayout.vue","webpack://eloomi-infinite-spa/./src/common/layouts/CoreMainLayout.vue?8d7d","webpack://eloomi-infinite-spa/./src/common/layouts/CoreMainLayout.vue","webpack://eloomi-infinite-spa/./src/main/MainThemeProvider.vue?8480","webpack://eloomi-infinite-spa/./src/common/services/splashscreen.ts","webpack://eloomi-infinite-spa/src/common/components/theme-provider/ThemeProvider.vue","webpack://eloomi-infinite-spa/./src/common/components/theme-provider/ThemeProvider.vue?c8b3","webpack://eloomi-infinite-spa/./src/common/components/theme-provider/ThemeProvider.vue","webpack://eloomi-infinite-spa/./src/common/components/theme-provider/ThemeProvider.vue?b5da","webpack://eloomi-infinite-spa/src/main/MainThemeProvider.vue","webpack://eloomi-infinite-spa/./src/main/MainThemeProvider.vue?7808","webpack://eloomi-infinite-spa/./src/main/MainThemeProvider.vue","webpack://eloomi-infinite-spa/./src/notifications/components/Notification.vue?9122","webpack://eloomi-infinite-spa/src/notifications/components/Notification.vue","webpack://eloomi-infinite-spa/./src/notifications/components/Notification.vue?86e7","webpack://eloomi-infinite-spa/./src/notifications/components/Notification.vue","webpack://eloomi-infinite-spa/./src/notifications/components/NotificationTrigger.vue?6d29","webpack://eloomi-infinite-spa/src/notifications/components/NotificationTrigger.vue","webpack://eloomi-infinite-spa/./src/notifications/components/NotificationTrigger.vue?9689","webpack://eloomi-infinite-spa/./src/notifications/components/NotificationTrigger.vue","webpack://eloomi-infinite-spa/./src/ui-kit/buttons/IconButton.vue?bd1f","webpack://eloomi-infinite-spa/src/ui-kit/buttons/IconButton.vue","webpack://eloomi-infinite-spa/./src/ui-kit/buttons/IconButton.vue?03eb","webpack://eloomi-infinite-spa/./src/ui-kit/buttons/IconButton.vue","webpack://eloomi-infinite-spa/./src/ui-kit/calendar/Calendar.vue?3552","webpack://eloomi-infinite-spa/src/ui-kit/calendar/Calendar.vue","webpack://eloomi-infinite-spa/./src/ui-kit/calendar/Calendar.vue?5641","webpack://eloomi-infinite-spa/./src/ui-kit/calendar/Calendar.vue","webpack://eloomi-infinite-spa/./src/ui-kit/dropdown-button/DropdownButton.vue?ef6e","webpack://eloomi-infinite-spa/src/ui-kit/dropdown-button/DropdownButton.vue","webpack://eloomi-infinite-spa/./src/ui-kit/dropdown-button/DropdownButton.vue?b8bb","webpack://eloomi-infinite-spa/./src/ui-kit/dropdown-button/DropdownButton.vue","webpack://eloomi-infinite-spa/./src/ui-kit/dropdown/containers/BasicDropdownContainer.vue?b225","webpack://eloomi-infinite-spa/src/ui-kit/dropdown/containers/BasicDropdownContainer.vue","webpack://eloomi-infinite-spa/./src/ui-kit/dropdown/containers/BasicDropdownContainer.vue?aa3f","webpack://eloomi-infinite-spa/./src/ui-kit/dropdown/containers/BasicDropdownContainer.vue","webpack://eloomi-infinite-spa/./src/ui-kit/dropdown/items/DropdownItem.vue?8fde","webpack://eloomi-infinite-spa/src/ui-kit/dropdown/items/DropdownItem.vue","webpack://eloomi-infinite-spa/./src/ui-kit/dropdown/items/DropdownItem.vue?f402","webpack://eloomi-infinite-spa/./src/ui-kit/dropdown/items/DropdownItem.vue","webpack://eloomi-infinite-spa/./src/ui-kit/form-field/FormField.vue?2f1a","webpack://eloomi-infinite-spa/src/ui-kit/form-field/FormField.vue","webpack://eloomi-infinite-spa/./src/ui-kit/form-field/FormField.vue?4880","webpack://eloomi-infinite-spa/./src/ui-kit/form-field/FormField.vue","webpack://eloomi-infinite-spa/./src/ui-kit/form-field/FormGroup.vue?b590","webpack://eloomi-infinite-spa/src/ui-kit/form-field/FormGroup.vue","webpack://eloomi-infinite-spa/./src/ui-kit/form-field/FormGroup.vue?eb3d","webpack://eloomi-infinite-spa/./src/ui-kit/form-field/FormGroup.vue","webpack://eloomi-infinite-spa/./src/ui-kit/modal-window/ModalWindow.vue?6920","webpack://eloomi-infinite-spa/src/ui-kit/modal-window/ModalWindowDialog.vue","webpack://eloomi-infinite-spa/./src/ui-kit/modal-window/ModalWindowDialog.vue?5efe","webpack://eloomi-infinite-spa/./src/ui-kit/modal-window/ModalWindowDialog.vue","webpack://eloomi-infinite-spa/./src/ui-kit/modal-window/ModalWindowDialog.vue?692e","webpack://eloomi-infinite-spa/./src/ui-kit/modal-window/modal-stack.composable.ts","webpack://eloomi-infinite-spa/src/ui-kit/modal-window/ModalWindow.vue","webpack://eloomi-infinite-spa/./src/ui-kit/modal-window/ModalWindow.vue?a1e3","webpack://eloomi-infinite-spa/./src/ui-kit/modal-window/ModalWindow.vue","webpack://eloomi-infinite-spa/src/ui-kit/modal-window/ModalWindowContent.vue","webpack://eloomi-infinite-spa/./src/ui-kit/modal-window/ModalWindowContent.vue?6679","webpack://eloomi-infinite-spa/./src/ui-kit/modal-window/ModalWindowContent.vue","webpack://eloomi-infinite-spa/./src/ui-kit/modal-window/ModalWindowContent.vue?f046","webpack://eloomi-infinite-spa/./src/ui-kit/modal-window/ModalWindowFooter.vue?b882","webpack://eloomi-infinite-spa/src/ui-kit/modal-window/ModalWindowFooter.vue","webpack://eloomi-infinite-spa/./src/ui-kit/modal-window/ModalWindowFooter.vue?ad6c","webpack://eloomi-infinite-spa/./src/ui-kit/modal-window/ModalWindowFooter.vue","webpack://eloomi-infinite-spa/./src/ui-kit/pinned-modal/PinnedModal.vue?b643","webpack://eloomi-infinite-spa/src/ui-kit/pinned-modal/PinnedModal.vue","webpack://eloomi-infinite-spa/./src/ui-kit/pinned-modal/PinnedModal.vue?01ab","webpack://eloomi-infinite-spa/./src/ui-kit/pinned-modal/PinnedModal.vue","webpack://eloomi-infinite-spa/./src/ui-kit/popover/Popover.vue?d998","webpack://eloomi-infinite-spa/./src/ui-kit/composables/on-click-outside.ts","webpack://eloomi-infinite-spa/./src/ui-kit/popover/options.ts","webpack://eloomi-infinite-spa/./src/ui-kit/popover/Popover.vue?9ec2","webpack://eloomi-infinite-spa/src/ui-kit/popover/Popover.vue","webpack://eloomi-infinite-spa/./src/ui-kit/composables/use-popper.ts","webpack://eloomi-infinite-spa/./src/ui-kit/popover/Popover.vue","webpack://eloomi-infinite-spa/./src/ui-kit/progress-bar/ProgressBar.vue?8829","webpack://eloomi-infinite-spa/src/ui-kit/progress-bar/ProgressBar.vue","webpack://eloomi-infinite-spa/./src/ui-kit/progress-bar/ProgressBar.vue?9e55","webpack://eloomi-infinite-spa/./src/ui-kit/progress-bar/ProgressBar.vue","webpack://eloomi-infinite-spa/./src/ui-kit/selector/BasicSelector.vue?db1d","webpack://eloomi-infinite-spa/src/ui-kit/selector/BasicSelector.vue","webpack://eloomi-infinite-spa/./src/ui-kit/selector/BasicSelector.vue?de14","webpack://eloomi-infinite-spa/./src/ui-kit/selector/BasicSelector.vue","webpack://eloomi-infinite-spa/./src/ui-kit/selector/Selector.vue?5acf","webpack://eloomi-infinite-spa/src/ui-kit/selector/Selector.vue","webpack://eloomi-infinite-spa/./src/ui-kit/selector/Selector.vue?833b","webpack://eloomi-infinite-spa/./src/ui-kit/selector/Selector.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tabs/TabButton.vue?7498","webpack://eloomi-infinite-spa/src/ui-kit/tabs/TabButton.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tabs/TabButton.vue?e270","webpack://eloomi-infinite-spa/./src/ui-kit/tabs/TabButton.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tabs/TabButtonGroup.vue?3d39","webpack://eloomi-infinite-spa/src/ui-kit/tabs/TabButtonGroup.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tabs/TabButtonGroup.vue?48e2","webpack://eloomi-infinite-spa/./src/ui-kit/tabs/TabButtonGroup.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tabs/TabContent.vue?d09a","webpack://eloomi-infinite-spa/src/ui-kit/tabs/TabSlotWrapper.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tabs/TabSlotWrapper.vue?2032","webpack://eloomi-infinite-spa/./src/ui-kit/tabs/TabSlotWrapper.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tabs/TabSlotWrapper.vue?7b61","webpack://eloomi-infinite-spa/src/ui-kit/tabs/TabContent.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tabs/TabContent.vue?1ad9","webpack://eloomi-infinite-spa/./src/ui-kit/tabs/TabContent.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tabs/Tabs.vue?19e5","webpack://eloomi-infinite-spa/src/ui-kit/tabs/TabButtonAnimation.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tabs/TabButtonAnimation.vue?e022","webpack://eloomi-infinite-spa/./src/ui-kit/tabs/TabButtonAnimation.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tabs/TabButtonAnimation.vue?6d87","webpack://eloomi-infinite-spa/src/ui-kit/tabs/Tabs.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tabs/Tabs.vue?5105","webpack://eloomi-infinite-spa/./src/ui-kit/tabs/Tabs.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tag/RawTag.vue?fb5d","webpack://eloomi-infinite-spa/src/ui-kit/tag/RawTag.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tag/RawTag.vue?bad4","webpack://eloomi-infinite-spa/./src/ui-kit/tag/RawTag.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tag/Tag.vue?18ed","webpack://eloomi-infinite-spa/src/ui-kit/tag/Tag.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tag/Tag.vue?07b8","webpack://eloomi-infinite-spa/./src/ui-kit/tag/Tag.vue","webpack://eloomi-infinite-spa/./src/ui-kit/text-field/TextField.vue?054f","webpack://eloomi-infinite-spa/src/ui-kit/text-field/TextField.vue","webpack://eloomi-infinite-spa/./src/ui-kit/text-field/TextField.vue?baf4","webpack://eloomi-infinite-spa/./src/ui-kit/text-field/TextField.vue","webpack://eloomi-infinite-spa/./src/admin/api-tokens/routes.ts","webpack://eloomi-infinite-spa/./src/admin/billing/models/entities.enum.ts","webpack://eloomi-infinite-spa/./src/admin/billing/models/index.ts","webpack://eloomi-infinite-spa/./src/admin/billing/providers/card.ts","webpack://eloomi-infinite-spa/./src/admin/billing/providers/subscription.ts","webpack://eloomi-infinite-spa/./src/admin/billing/routes.ts","webpack://eloomi-infinite-spa/./src/common/services/back-button-accessing-page.guard.ts","webpack://eloomi-infinite-spa/./src/admin/billing/providers/account.ts","webpack://eloomi-infinite-spa/./src/admin/billing/store/billing-administration.ts","webpack://eloomi-infinite-spa/./src/admin/billing/store/subscription.ts","webpack://eloomi-infinite-spa/./src/admin/billing/providers/plans.ts","webpack://eloomi-infinite-spa/./src/admin/billing/store/plans.ts","webpack://eloomi-infinite-spa/./src/admin/composables/use-sidebar-navigation.ts","webpack://eloomi-infinite-spa/./src/admin/courses/routes.ts","webpack://eloomi-infinite-spa/./src/admin/events/routes.ts","webpack://eloomi-infinite-spa/./src/admin/groups/models/rules.ts","webpack://eloomi-infinite-spa/./src/admin/groups/providers/groups.ts","webpack://eloomi-infinite-spa/./src/admin/groups/providers/get-users.ts","webpack://eloomi-infinite-spa/./src/admin/groups/providers/unassign-users.ts","webpack://eloomi-infinite-spa/./src/admin/groups/providers/assign-user.ts","webpack://eloomi-infinite-spa/./src/admin/groups/providers/delete-groups-bulk.ts","webpack://eloomi-infinite-spa/./src/admin/groups/providers/users-number.ts","webpack://eloomi-infinite-spa/./src/admin/groups/providers/managers.ts","webpack://eloomi-infinite-spa/./src/admin/groups/providers/rules.ts","webpack://eloomi-infinite-spa/./src/admin/groups/routes.ts","webpack://eloomi-infinite-spa/./src/admin/groups/store/index.ts","webpack://eloomi-infinite-spa/./src/admin/playlists/routes.ts","webpack://eloomi-infinite-spa/./src/admin/settings/providers/custom-fields.ts","webpack://eloomi-infinite-spa/./src/admin/settings/routes.ts","webpack://eloomi-infinite-spa/./src/admin/access-feature.guard.ts","webpack://eloomi-infinite-spa/./src/admin/settings/services/sso.guard.ts","webpack://eloomi-infinite-spa/./src/admin/settings/store/index.ts","webpack://eloomi-infinite-spa/./src/admin/skills/providers/course-skills.ts","webpack://eloomi-infinite-spa/./src/admin/skills/providers/merge-integration.ts","webpack://eloomi-infinite-spa/./src/admin/skills/routes.ts","webpack://eloomi-infinite-spa/./src/admin/skills/store/index.ts","webpack://eloomi-infinite-spa/./src/admin/topics/providers/delete-categories.ts","webpack://eloomi-infinite-spa/./src/admin/topics/providers/create-edit-topic.ts","webpack://eloomi-infinite-spa/./src/admin/topics/providers/delete-topics-bulk.ts","webpack://eloomi-infinite-spa/./src/admin/topics/providers/get-topics.ts","webpack://eloomi-infinite-spa/./src/admin/topics/providers/put-topic.ts","webpack://eloomi-infinite-spa/./src/admin/topics/providers/get-categories.ts","webpack://eloomi-infinite-spa/./src/admin/topics/providers/create-edit-category.ts","webpack://eloomi-infinite-spa/./src/admin/topics/routes.ts","webpack://eloomi-infinite-spa/./src/admin/users/providers/create-user.ts","webpack://eloomi-infinite-spa/./src/admin/users/providers/user-access-roles.ts","webpack://eloomi-infinite-spa/./src/admin/users/routes.ts","webpack://eloomi-infinite-spa/./src/api/adapters/top-nav.adapter.ts","webpack://eloomi-infinite-spa/./src/api/adapters/user.adapter.ts","webpack://eloomi-infinite-spa/./src/api/dev-file-transformers.ts","webpack://eloomi-infinite-spa/./src/api/http-client.ts","webpack://eloomi-infinite-spa/./src/api/providers/admin.provider.ts","webpack://eloomi-infinite-spa/./src/api/providers/core.provider.helpers.ts","webpack://eloomi-infinite-spa/./src/api/providers/course-player.provider.ts","webpack://eloomi-infinite-spa/./src/api/providers/dashboard.provider.ts","webpack://eloomi-infinite-spa/./src/api/providers/files.provider.ts","webpack://eloomi-infinite-spa/./src/api/providers/branding.provider.ts","webpack://eloomi-infinite-spa/./src/api/providers/content.provider.ts","webpack://eloomi-infinite-spa/./src/api/providers/users.provider.ts","webpack://eloomi-infinite-spa/./src/authentication/di-tokens.ts","webpack://eloomi-infinite-spa/./src/authentication/route-definitions.ts","webpack://eloomi-infinite-spa/./src/authentication/services/errors.ts","webpack://eloomi-infinite-spa/./src/authentication/services/authentication.ts","webpack://eloomi-infinite-spa/./src/authentication/services/axios-injector.ts","webpack://eloomi-infinite-spa/./src/authentication/services/transition-guard.ts","webpack://eloomi-infinite-spa/./src/authentication/services/single-sign-on-plugin.ts","webpack://eloomi-infinite-spa/./src/authentication/services/redirection.ts","webpack://eloomi-infinite-spa/./src/authentication/services/forbidden-handler.ts","webpack://eloomi-infinite-spa/./src/authentication/services/forgot-password.ts","webpack://eloomi-infinite-spa/./src/authentication/services/token-manager.ts","webpack://eloomi-infinite-spa/./src/authentication/services/base/platform-service-base.ts","webpack://eloomi-infinite-spa/./src/authentication/services/reset-password.ts","webpack://eloomi-infinite-spa/./src/authentication/services/token-guard.ts","webpack://eloomi-infinite-spa/./src/authentication/services/activate-user.ts","webpack://eloomi-infinite-spa/./src/authentication/services/locations.ts","webpack://eloomi-infinite-spa/./src/authentication/services/login-sso-handler.ts","webpack://eloomi-infinite-spa/./src/authentication/services/parse-token-param-from-route.ts","webpack://eloomi-infinite-spa/./src/authentication/services/payload.ts","webpack://eloomi-infinite-spa/./src/authentication/services/session/session.ts","webpack://eloomi-infinite-spa/./src/authentication/services/session/session-store.ts","webpack://eloomi-infinite-spa/./src/authentication/services/session/session-refresher.ts","webpack://eloomi-infinite-spa/./src/authentication/services/session/session-manager.ts","webpack://eloomi-infinite-spa/./src/authentication/store/index.ts","webpack://eloomi-infinite-spa/./src/authentication/use-cases/login.ts","webpack://eloomi-infinite-spa/./src/authentication/use-cases/login-sso.ts","webpack://eloomi-infinite-spa/./src/authentication/use-cases/logout.ts","webpack://eloomi-infinite-spa/./src/authentication/use-cases/activate-user.ts","webpack://eloomi-infinite-spa/./src/authentication/use-cases/choose-platform.ts","webpack://eloomi-infinite-spa/./src/authentication/use-cases/forgot-password.ts","webpack://eloomi-infinite-spa/./src/authentication/use-cases/reset-password.ts","webpack://eloomi-infinite-spa/./src/common/components/filter/interfaces.ts","webpack://eloomi-infinite-spa/./src/common/components/filter/FiltersDropdown.vue?093b","webpack://eloomi-infinite-spa/src/common/components/filter/FilterOptionsMenu.vue","webpack://eloomi-infinite-spa/./src/common/components/filter/FilterOptionsMenu.vue?1802","webpack://eloomi-infinite-spa/./src/common/components/filter/FilterOptionsMenu.vue","webpack://eloomi-infinite-spa/./src/common/components/filter/FilterOptionsMenu.vue?4d25","webpack://eloomi-infinite-spa/./src/common/components/filter/FilterTypeMenu.vue?0f0c","webpack://eloomi-infinite-spa/src/common/components/filter/FilterTypeMenu.vue","webpack://eloomi-infinite-spa/./src/common/components/filter/FilterTypeMenu.vue?5baa","webpack://eloomi-infinite-spa/./src/common/components/filter/FilterTypeMenu.vue","webpack://eloomi-infinite-spa/./src/admin/courses/providers/authors.ts","webpack://eloomi-infinite-spa/./src/common/components/filter/useFiltersProvider.ts","webpack://eloomi-infinite-spa/src/common/components/filter/FiltersDropdown.vue","webpack://eloomi-infinite-spa/./src/common/components/filter/FiltersDropdown.vue?bc98","webpack://eloomi-infinite-spa/./src/common/components/filter/FiltersDropdown.vue","webpack://eloomi-infinite-spa/./src/common/components/toast/notifications.mixin.ts","webpack://eloomi-infinite-spa/./src/common/components/toast/store/actions.ts","webpack://eloomi-infinite-spa/./src/common/components/toast/store/getters.ts","webpack://eloomi-infinite-spa/./src/common/components/toast/store/mutations.ts","webpack://eloomi-infinite-spa/./src/common/components/toast/store/index.ts","webpack://eloomi-infinite-spa/./src/common/components/toast/store/state.ts","webpack://eloomi-infinite-spa/./src/common/composables/useLaunchDarkly.ts","webpack://eloomi-infinite-spa/./src/common/composables/useMobile.ts","webpack://eloomi-infinite-spa/./src/common/composables/usePlanFeatures.ts","webpack://eloomi-infinite-spa/./src/common/composables/useRoute.ts","webpack://eloomi-infinite-spa/./src/common/composables/useRouter.ts","webpack://eloomi-infinite-spa/./src/common/composables/useTranslation.ts","webpack://eloomi-infinite-spa/./src/common/constants/app-scheme.ts","webpack://eloomi-infinite-spa/./src/common/constants/breakpoints.ts","webpack://eloomi-infinite-spa/./src/common/constants/color-css-variables.ts","webpack://eloomi-infinite-spa/./src/common/mixins/core-theme.mixin.ts","webpack://eloomi-infinite-spa/./src/common/mixins/mobile-mode.mixin.ts","webpack://eloomi-infinite-spa/./src/common/models/entities.enum.ts","webpack://eloomi-infinite-spa/./src/common/models/entities-permission.enum.ts","webpack://eloomi-infinite-spa/./src/common/models/branding.model.ts","webpack://eloomi-infinite-spa/./src/common/models/top-nav-item.model.ts","webpack://eloomi-infinite-spa/./src/common/models/widget-types.enum.ts","webpack://eloomi-infinite-spa/./src/common/models/file-response.model.ts","webpack://eloomi-infinite-spa/./src/common/platform-configuration/global-variables.ts","webpack://eloomi-infinite-spa/./src/common/services/check-is-axios-error.ts","webpack://eloomi-infinite-spa/./src/common/services/convert-url-to-location.ts","webpack://eloomi-infinite-spa/./src/common/constants/base-path.ts","webpack://eloomi-infinite-spa/./src/common/services/core-query.ts","webpack://eloomi-infinite-spa/./src/common/services/date-fns.utils.ts","webpack://eloomi-infinite-spa/./src/common/services/debug-helper.ts","webpack://eloomi-infinite-spa/./src/common/services/dom-operations.ts","webpack://eloomi-infinite-spa/./src/common/services/e2e-feature-flags.ts","webpack://eloomi-infinite-spa/./src/common/services/extractAxiosData.ts","webpack://eloomi-infinite-spa/./src/common/services/get-device-platform.ts","webpack://eloomi-infinite-spa/./src/common/services/IFluentFilterCollection.ts","webpack://eloomi-infinite-spa/./src/common/services/FluentFilterCollection.ts","webpack://eloomi-infinite-spa/./src/common/services/MouseLocationService.ts","webpack://eloomi-infinite-spa/./src/common/services/cached-branding.ts","webpack://eloomi-infinite-spa/./src/common/services/cached-user-details.ts","webpack://eloomi-infinite-spa/./src/common/services/colorsUtils.ts","webpack://eloomi-infinite-spa/./src/common/services/convert-backend-response-model.ts","webpack://eloomi-infinite-spa/./src/common/services/debounce.ts","webpack://eloomi-infinite-spa/./src/common/services/detect-onscreen-keyboard.ts","webpack://eloomi-infinite-spa/./src/common/services/ellipsis.ts","webpack://eloomi-infinite-spa/./src/common/services/force-file-download.ts","webpack://eloomi-infinite-spa/./src/common/services/format-duration.ts","webpack://eloomi-infinite-spa/./src/common/services/format-number.ts","webpack://eloomi-infinite-spa/./src/common/services/formatter.ts","webpack://eloomi-infinite-spa/./src/common/services/get-text-width.ts","webpack://eloomi-infinite-spa/./src/common/services/helpers.ts","webpack://eloomi-infinite-spa/./src/common/services/highlight.ts","webpack://eloomi-infinite-spa/./src/common/services/intercom.ts","webpack://eloomi-infinite-spa/./src/common/services/override-with-branding.ts","webpack://eloomi-infinite-spa/./src/common/services/show-delayed-notification.ts","webpack://eloomi-infinite-spa/./src/common/services/sleep.ts","webpack://eloomi-infinite-spa/./src/common/services/users.ts","webpack://eloomi-infinite-spa/./src/common/services/mobile-fallback/mobile-is-unsupported-flag.ts","webpack://eloomi-infinite-spa/./src/common/services/mobile-fallback/mobile-fallback-guard.ts","webpack://eloomi-infinite-spa/./src/common/services/mobile-fallback/native-back-button-service.ts","webpack://eloomi-infinite-spa/./src/common/services/platform-resolution.ts","webpack://eloomi-infinite-spa/./src/common/services/random-id.ts","webpack://eloomi-infinite-spa/./src/common/services/redirectIf.guard.ts","webpack://eloomi-infinite-spa/./src/api/providers/platform.provider.ts","webpack://eloomi-infinite-spa/./src/common/services/segment.ts","webpack://eloomi-infinite-spa/./src/common/services/transition-common.ts","webpack://eloomi-infinite-spa/./src/common/services/utils.ts","webpack://eloomi-infinite-spa/./src/common/store/branding/store/index.ts","webpack://eloomi-infinite-spa/./src/common/store/http/index.ts","webpack://eloomi-infinite-spa/./src/common/store/mobile-mode/index.ts","webpack://eloomi-infinite-spa/./src/common/store/user-details/store/index.ts","webpack://eloomi-infinite-spa/./src/content-store/constants/index.ts","webpack://eloomi-infinite-spa/./src/content-store/providers/content-store.ts","webpack://eloomi-infinite-spa/./src/content-store/routes.ts","webpack://eloomi-infinite-spa/./src/content-store/store/index.ts","webpack://eloomi-infinite-spa/./src/courses/pages/all-courses-overview/overview-filters.ts","webpack://eloomi-infinite-spa/./src/courses/providers/course-player.ts","webpack://eloomi-infinite-spa/./src/courses/providers/personal-report.ts","webpack://eloomi-infinite-spa/./src/courses/providers/playlist-overview.ts","webpack://eloomi-infinite-spa/./src/courses/providers/user-courses-skills.ts","webpack://eloomi-infinite-spa/./src/courses/providers/user-topics.ts","webpack://eloomi-infinite-spa/./src/courses/route-definitions.ts","webpack://eloomi-infinite-spa/./src/courses/store/course-player/actions.ts","webpack://eloomi-infinite-spa/./src/courses/store/course-player/getters.ts","webpack://eloomi-infinite-spa/./src/courses/store/course-player/mutations.ts","webpack://eloomi-infinite-spa/./src/courses/store/course-player/index.ts","webpack://eloomi-infinite-spa/./src/courses/store/course-player/state.ts","webpack://eloomi-infinite-spa/./src/courses/store/actions.ts","webpack://eloomi-infinite-spa/./src/courses/store/getters.ts","webpack://eloomi-infinite-spa/./src/courses/store/mutations.ts","webpack://eloomi-infinite-spa/./src/courses/store/index.ts","webpack://eloomi-infinite-spa/./src/courses/store/state.ts","webpack://eloomi-infinite-spa/./src/courses/utils.ts","webpack://eloomi-infinite-spa/./src/di/store-factory.ts","webpack://eloomi-infinite-spa/./src/di/tokens.ts","webpack://eloomi-infinite-spa/./src/di/use-injector.ts","webpack://eloomi-infinite-spa/./src/environment.ts","webpack://eloomi-infinite-spa/./src/errorHandler/errorHandler.ts","webpack://eloomi-infinite-spa/./src/errorHandler/throw-not-found-error.ts","webpack://eloomi-infinite-spa/./src/events/routes.ts","webpack://eloomi-infinite-spa/./src/fullstory.ts","webpack://eloomi-infinite-spa/./src/launch-darkly/models/features.launch-darkly.enum.ts","webpack://eloomi-infinite-spa/./src/launch-darkly/services/cached-feature-toggles.ts","webpack://eloomi-infinite-spa/./src/launch-darkly/api/launch-darkly.provider.ts","webpack://eloomi-infinite-spa/./src/launch-darkly/services/predefined-feature-toggles.ts","webpack://eloomi-infinite-spa/./src/launch-darkly/store/index.ts","webpack://eloomi-infinite-spa/./src/ai.ts","webpack://eloomi-infinite-spa/./src/plugins/fullstory.plugin.ts","webpack://eloomi-infinite-spa/./src/common/plugins/styles.ts","webpack://eloomi-infinite-spa/src/common/layouts/CoreCardLayout.vue","webpack://eloomi-infinite-spa/./src/common/layouts/CoreCardLayout.vue?16ed","webpack://eloomi-infinite-spa/./src/common/layouts/CoreCardLayout.vue","webpack://eloomi-infinite-spa/./src/common/layouts/CoreCardLayout.vue?785d","webpack://eloomi-infinite-spa/./src/common/layouts/CoreFlexFullWidthLayout.vue?b2b5","webpack://eloomi-infinite-spa/src/common/layouts/CoreFlexFullWidthLayout.vue","webpack://eloomi-infinite-spa/./src/common/layouts/CoreFlexFullWidthLayout.vue?0526","webpack://eloomi-infinite-spa/./src/common/layouts/CoreFlexFullWidthLayout.vue","webpack://eloomi-infinite-spa/./src/common/plugins/commonLayouts.ts","webpack://eloomi-infinite-spa/./src/common/plugins/index.ts","webpack://eloomi-infinite-spa/./src/plugins/route-stack.plugin.ts","webpack://eloomi-infinite-spa/./src/common/directives/custom-model.ts","webpack://eloomi-infinite-spa/./src/plugins/injector.plugin.ts","webpack://eloomi-infinite-spa/./src/authentication/services/reset-session-data.ts","webpack://eloomi-infinite-spa/./src/permissions/services/vue-router-adapter.ts","webpack://eloomi-infinite-spa/./src/permissions/services/user-profile-provider.ts","webpack://eloomi-infinite-spa/./src/di/base-injector.ts","webpack://eloomi-infinite-spa/./src/di/injector.ts","webpack://eloomi-infinite-spa/./src/authentication/di.ts","webpack://eloomi-infinite-spa/./src/permissions/di.ts","webpack://eloomi-infinite-spa/./src/common/services/correct-view-height.ts","webpack://eloomi-infinite-spa/src/App.vue","webpack://eloomi-infinite-spa/./src/App.vue?02a5","webpack://eloomi-infinite-spa/./src/App.vue","webpack://eloomi-infinite-spa/./src/App.vue?6144","webpack://eloomi-infinite-spa/./src/authentication/page/PlatformNotFoundPage.vue?f087","webpack://eloomi-infinite-spa/src/authentication/page/PlatformNotFoundPage.vue","webpack://eloomi-infinite-spa/./src/authentication/page/PlatformNotFoundPage.vue?fa5e","webpack://eloomi-infinite-spa/./src/authentication/page/PlatformNotFoundPage.vue","webpack://eloomi-infinite-spa/./src/common/services/subscribe-for-deep-link-open.ts","webpack://eloomi-infinite-spa/./src/main.ts","webpack://eloomi-infinite-spa/./src/common/services/capacitor-css.ts","webpack://eloomi-infinite-spa/./src/authentication/controllers/enable-middleware.ts","webpack://eloomi-infinite-spa/./src/api/config.ts","webpack://eloomi-infinite-spa/./src/common/services/detect-browser.ts","webpack://eloomi-infinite-spa/./src/render-app.ts","webpack://eloomi-infinite-spa/./src/admin/routes.ts","webpack://eloomi-infinite-spa/./src/courses/routes.ts","webpack://eloomi-infinite-spa/./src/authentication/services/instant-login-redirection.ts","webpack://eloomi-infinite-spa/./src/authentication/routes.ts","webpack://eloomi-infinite-spa/./src/main/pseudoRoutes.ts","webpack://eloomi-infinite-spa/./src/main/routes.ts","webpack://eloomi-infinite-spa/./src/main/baseRouter.ts","webpack://eloomi-infinite-spa/./src/common/services/sync-document-title-with-route.ts","webpack://eloomi-infinite-spa/./src/main/baseStore.ts","webpack://eloomi-infinite-spa/./src/common/services/create-smart-store.ts","webpack://eloomi-infinite-spa/src/main/pages/MobileFallbackPage.vue","webpack://eloomi-infinite-spa/./src/main/pages/MobileFallbackPage.vue?fe7f","webpack://eloomi-infinite-spa/./src/main/pages/MobileFallbackPage.vue","webpack://eloomi-infinite-spa/./src/main/pages/MobileFallbackPage.vue?056d","webpack://eloomi-infinite-spa/./src/main/errorRoutes.ts","webpack://eloomi-infinite-spa/./src/main/multipleGuardsHandler.ts","webpack://eloomi-infinite-spa/./src/notifications/services/misc.ts","webpack://eloomi-infinite-spa/./src/notifications/services/push-notifications.ts","webpack://eloomi-infinite-spa/./src/notifications/services/notification-tap-handler.ts","webpack://eloomi-infinite-spa/./src/notifications/providers/index.ts","webpack://eloomi-infinite-spa/./src/notifications/store/index.ts","webpack://eloomi-infinite-spa/./src/notifications/use-push-notifications.ts","webpack://eloomi-infinite-spa/./src/open-in-app/store.ts","webpack://eloomi-infinite-spa/./src/permissions/composables/use-permissions.ts","webpack://eloomi-infinite-spa/./src/permissions/controllers.ts","webpack://eloomi-infinite-spa/./src/permissions/di-tokens.ts","webpack://eloomi-infinite-spa/./src/permissions/domain.ts","webpack://eloomi-infinite-spa/./src/permissions/use-cases/check-permissions.ts","webpack://eloomi-infinite-spa/./src/permissions/use-cases/route-guard.ts","webpack://eloomi-infinite-spa/./src/plan-features/plan-features-list.ts","webpack://eloomi-infinite-spa/./src/plan-features/routes/plan-feature.guard.ts","webpack://eloomi-infinite-spa/./src/plan-features/store/index.ts","webpack://eloomi-infinite-spa/./src/profile-settings/components/self-skills-setup/SkillSetupStore.ts","webpack://eloomi-infinite-spa/./src/profile-settings/routes.ts","webpack://eloomi-infinite-spa/./src/reporting/routes.ts","webpack://eloomi-infinite-spa/./src/launch-darkly/routes/launch-darkly.guard.ts","webpack://eloomi-infinite-spa/./src/sentry.ts","webpack://eloomi-infinite-spa/./src/translations/types-generated.ts","webpack://eloomi-infinite-spa/./src/translations/types.ts","webpack://eloomi-infinite-spa/./src/translations/services/getSupportedLanguage.ts","webpack://eloomi-infinite-spa/./src/translations/services/isTranslationKey.ts","webpack://eloomi-infinite-spa/./src/translations/modules/en-GB.ts","webpack://eloomi-infinite-spa/./src/translations/store/translateKey.ts","webpack://eloomi-infinite-spa/./src/translations/store/index.ts","webpack://eloomi-infinite-spa/./src/ui-kit/composables/use-resize-observer.ts","webpack://eloomi-infinite-spa/./src/ui-kit/composables/use-element-size.ts","webpack://eloomi-infinite-spa/src/ui-kit/dropdown/containers/DropdownContainer.vue","webpack://eloomi-infinite-spa/./src/ui-kit/dropdown/containers/DropdownContainer.vue?f56c","webpack://eloomi-infinite-spa/./src/ui-kit/dropdown/containers/DropdownContainer.vue","webpack://eloomi-infinite-spa/./src/ui-kit/dropdown/containers/DropdownContainer.vue?f9ea","webpack://eloomi-infinite-spa/src/ui-kit/selector/inputs/SelectorInput.vue","webpack://eloomi-infinite-spa/./src/ui-kit/selector/inputs/SelectorInput.vue?c8fd","webpack://eloomi-infinite-spa/./src/ui-kit/selector/inputs/SelectorInput.vue","webpack://eloomi-infinite-spa/./src/ui-kit/selector/inputs/SelectorInput.vue?bed7","webpack://eloomi-infinite-spa/src/ui-kit/selector/inputs/SelectorSearchInput.vue","webpack://eloomi-infinite-spa/./src/ui-kit/selector/inputs/SelectorSearchInput.vue?a98e","webpack://eloomi-infinite-spa/./src/ui-kit/selector/inputs/SelectorSearchInput.vue","webpack://eloomi-infinite-spa/./src/ui-kit/selector/inputs/SelectorSearchInput.vue?3c2e","webpack://eloomi-infinite-spa/./src/ui-kit/selector/SelectorNoResults.vue?2554","webpack://eloomi-infinite-spa/src/ui-kit/selector/SelectorNoResults.vue","webpack://eloomi-infinite-spa/./src/ui-kit/selector/SelectorNoResults.vue?6963","webpack://eloomi-infinite-spa/./src/ui-kit/selector/SelectorNoResults.vue","webpack://eloomi-infinite-spa/src/ui-kit/selector/SelectorNoOptions.vue","webpack://eloomi-infinite-spa/./src/ui-kit/selector/SelectorNoOptions.vue?2624","webpack://eloomi-infinite-spa/./src/ui-kit/selector/SelectorNoOptions.vue","webpack://eloomi-infinite-spa/./src/ui-kit/selector/SelectorNoOptions.vue?0776","webpack://eloomi-infinite-spa/src/ui-kit/selector/MobileSelector.vue","webpack://eloomi-infinite-spa/./src/ui-kit/selector/MobileSelector.vue?b6aa","webpack://eloomi-infinite-spa/./src/ui-kit/selector/MobileSelector.vue","webpack://eloomi-infinite-spa/./src/ui-kit/selector/MobileSelector.vue?6728","webpack://eloomi-infinite-spa/src/ui-kit/tag/TagButton.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tag/TagButton.vue?7062","webpack://eloomi-infinite-spa/./src/ui-kit/tag/TagButton.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tag/TagButton.vue?982e","webpack://eloomi-infinite-spa/./src/ui-kit/tag/TagWithDropdown.vue?59b2","webpack://eloomi-infinite-spa/src/ui-kit/tag/TagWithDropdown.vue","webpack://eloomi-infinite-spa/./src/ui-kit/tag/TagWithDropdown.vue?a7a7","webpack://eloomi-infinite-spa/./src/ui-kit/tag/TagWithDropdown.vue","webpack://eloomi-infinite-spa/src/ui-kit/overlay-modal/OverlayModal.vue","webpack://eloomi-infinite-spa/./src/ui-kit/overlay-modal/OverlayModal.vue?c4b3","webpack://eloomi-infinite-spa/./src/ui-kit/overlay-modal/OverlayModal.vue","webpack://eloomi-infinite-spa/./src/ui-kit/overlay-modal/OverlayModal.vue?3b76","webpack://eloomi-infinite-spa/src/ui-kit/GroupIcon.vue","webpack://eloomi-infinite-spa/./src/ui-kit/GroupIcon.vue?b1e6","webpack://eloomi-infinite-spa/./src/ui-kit/GroupIcon.vue","webpack://eloomi-infinite-spa/./src/ui-kit/GroupIcon.vue?e961","webpack://eloomi-infinite-spa/src/ui-kit/modal-window-fullscreen-overlay/ModalWindowFullscreenOverlay.vue","webpack://eloomi-infinite-spa/./src/ui-kit/modal-window-fullscreen-overlay/ModalWindowFullscreenOverlay.vue?371e","webpack://eloomi-infinite-spa/./src/ui-kit/modal-window-fullscreen-overlay/ModalWindowFullscreenOverlay.vue","webpack://eloomi-infinite-spa/./src/ui-kit/modal-window-fullscreen-overlay/ModalWindowFullscreenOverlay.vue?f3ad","webpack://eloomi-infinite-spa/src/ui-kit/radio-button/RadioButton.vue","webpack://eloomi-infinite-spa/./src/ui-kit/radio-button/RadioButton.vue?81c5","webpack://eloomi-infinite-spa/./src/ui-kit/radio-button/RadioButton.vue","webpack://eloomi-infinite-spa/./src/ui-kit/radio-button/RadioButton.vue?595c","webpack://eloomi-infinite-spa/./src/ui-kit/condition-field/ConditionField.vue?ac09","webpack://eloomi-infinite-spa/src/ui-kit/condition-field/ConditionField.vue","webpack://eloomi-infinite-spa/./src/ui-kit/condition-field/ConditionField.vue?69cf","webpack://eloomi-infinite-spa/./src/ui-kit/condition-field/ConditionField.vue","webpack://eloomi-infinite-spa/src/ui-kit/location/location-selector.vue","webpack://eloomi-infinite-spa/./src/ui-kit/location/location-selector.vue?b86c","webpack://eloomi-infinite-spa/./src/ui-kit/location/location-selector.vue","webpack://eloomi-infinite-spa/./src/ui-kit/location/location-selector.vue?76ee","webpack://eloomi-infinite-spa/./src/common/services/options-scroller.ts","webpack://eloomi-infinite-spa/src/ui-kit/time-selector/TimeSelector.vue","webpack://eloomi-infinite-spa/./src/ui-kit/time-selector/TimeSelector.vue?dd2a","webpack://eloomi-infinite-spa/./src/ui-kit/time-selector/TimeSelector.vue","webpack://eloomi-infinite-spa/./src/ui-kit/time-selector/TimeSelector.vue?b318","webpack://eloomi-infinite-spa/./src/ui-kit/modal-window/context-keys.ts","webpack://eloomi-infinite-spa/./src/whatsnew/store.ts","webpack://eloomi-infinite-spa/./src/translations/modules/ lazy ^\\.\\/.*\\.ts$ namespace object","webpack://eloomi-infinite-spa/webpack/bootstrap","webpack://eloomi-infinite-spa/webpack/runtime/amd options","webpack://eloomi-infinite-spa/webpack/runtime/compat get default export","webpack://eloomi-infinite-spa/webpack/runtime/define property getters","webpack://eloomi-infinite-spa/webpack/runtime/ensure chunk","webpack://eloomi-infinite-spa/webpack/runtime/get javascript chunk filename","webpack://eloomi-infinite-spa/webpack/runtime/get mini-css chunk filename","webpack://eloomi-infinite-spa/webpack/runtime/global","webpack://eloomi-infinite-spa/webpack/runtime/harmony module decorator","webpack://eloomi-infinite-spa/webpack/runtime/hasOwnProperty shorthand","webpack://eloomi-infinite-spa/webpack/runtime/make namespace object","webpack://eloomi-infinite-spa/webpack/runtime/node module decorator","webpack://eloomi-infinite-spa/webpack/runtime/publicPath","webpack://eloomi-infinite-spa/webpack/runtime/jsonp chunk loading","webpack://eloomi-infinite-spa/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"eloomi-infinite-spa:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","var createStylesheet = (chunkId, fullhref, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t2143: 0\n};\n\n__webpack_require__.f.miniCss = (chunkId, promises) => {\n\tvar cssChunks = {\"202\":1,\"371\":1,\"373\":1,\"397\":1,\"438\":1,\"870\":1,\"1312\":1,\"1395\":1,\"1517\":1,\"1759\":1,\"1843\":1,\"1897\":1,\"2012\":1,\"2107\":1,\"2189\":1,\"2300\":1,\"2397\":1,\"2551\":1,\"2631\":1,\"2680\":1,\"2918\":1,\"3087\":1,\"3106\":1,\"3133\":1,\"3227\":1,\"3314\":1,\"3495\":1,\"4157\":1,\"4587\":1,\"4620\":1,\"4938\":1,\"5635\":1,\"5750\":1,\"6031\":1,\"6461\":1,\"6542\":1,\"6922\":1,\"7004\":1,\"7102\":1,\"7109\":1,\"7122\":1,\"7150\":1,\"7158\":1,\"7240\":1,\"7359\":1,\"7467\":1,\"7549\":1,\"7594\":1,\"7672\":1,\"7778\":1,\"8020\":1,\"8292\":1,\"8326\":1,\"8398\":1,\"8459\":1,\"8886\":1,\"9090\":1,\"9271\":1,\"9770\":1,\"9983\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(() => {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, (e) => {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = () => ([]);\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = 84472;\nmodule.exports = webpackEmptyContext;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:[\n 'authentication-flow-panel',\n { 'center-vertically': _vm.centerVertically, 'sso-only-login': _vm.isSsoOnlyLoginMode } ]},[_c('div',{staticClass:\"logo\"},[_c('img',{attrs:{\"title\":\"logo\",\"srcset\":_vm.infiniteLogoUrl}})]),_c('form',{staticClass:\"authentication-flow-form\",on:{\"submit\":_vm.handleFormSubmit}},[_c('h1',{class:['title', ' h1-dark', { 'with-back-button': _vm.withBackButton }]},[(_vm.withBackButton)?_c('button',{staticClass:\"back-icon\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.handleBackButtonClick}},[_c('elm-arrows-arrow-left-regular-icon',{attrs:{\"size\":\"20\"}})],1):_vm._e(),_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),(_vm.description)?_c('p',{staticClass:\"paragraph-info instructions\"},[_vm._v(_vm._s(_vm.description))]):_vm._e(),_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AuthenticationFlowPanel.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AuthenticationFlowPanel.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AuthenticationFlowPanel.vue?vue&type=template&id=68dad97b&scoped=true&\"\nimport script from \"./AuthenticationFlowPanel.vue?vue&type=script&lang=ts&\"\nexport * from \"./AuthenticationFlowPanel.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AuthenticationFlowPanel.vue?vue&type=style&index=0&id=68dad97b&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"68dad97b\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('MainThemeProvider',{staticClass:\"main-container\"},[_c('ToastNotificationArea',{staticClass:\"toast-notifications\",attrs:{\"notifications\":_vm.notifications}}),_c('div',{staticClass:\"authentication-wrapper\"},[(_vm.withBackButton)?_c('button',{staticClass:\"back-button\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.handleBackButtonClick}},[_c('elm-arrows-arrow-left-bold-icon',{attrs:{\"size\":\"medium\"}})],1):_vm._e(),_c('div',{staticClass:\"authentication-section\"},[_vm._t(\"default\")],2),_c('div',{staticClass:\"background-section\",style:(_vm.backgroundStyles)},[(_vm.isFallbackImageUsed)?_c('picture',[_c('source',{attrs:{\"srcset\":_vm.loginImageLarge,\"type\":\"image/png\",\"media\":\"(min-width: 992px)\"}}),_c('source',{attrs:{\"srcset\":_vm.loginImageSmall,\"type\":\"image/png\"}}),_c('img',{staticClass:\"fallback-image\",attrs:{\"alt\":\"\"}})]):_c('video',{ref:\"videoElement\",staticClass:\"motion-graphics\",attrs:{\"playsinline\":\"\",\"autoplay\":\"\",\"muted\":\"\",\"disableRemotePlayback\":\"\"},domProps:{\"muted\":true}},[_c('source',{attrs:{\"src\":_vm.loginVideoH265,\"type\":\"video/mp4; codecs=hvc1\"}}),_c('source',{attrs:{\"src\":_vm.loginVideoVP9,\"type\":\"video/webm; codecs=vp9\"}})])]),_c('portal-target',{staticClass:\"modals\",attrs:{\"name\":\"modal-host\",\"multiple\":true}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LoginPageLayout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LoginPageLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoginPageLayout.vue?vue&type=template&id=2b38a80b&scoped=true&\"\nimport script from \"./LoginPageLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoginPageLayout.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LoginPageLayout.vue?vue&type=style&index=0&id=2b38a80b&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2b38a80b\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wrapper\",class:{ active: _vm.isOpen, static: _vm.static }},[_vm._t(\"header\",function(){return [_c('CoreAccordionHeader',{class:(_vm.toggleMode + \"-mode\"),attrs:{\"additionalClasses\":_vm.headerClasses},nativeOn:{\"click\":function($event){return _vm.toggleContentVisibilityOnHeader.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('elm-arrows-chevron-up-regular-icon',{staticClass:\"action-icon\",class:_vm.isOpen ? 'up' : 'down',attrs:{\"size\":\"24\"},on:{\"click\":_vm.toggleContentVisibilityOnIcon}})]},proxy:true},{key:\"title\",fn:function(){return [_vm._t(\"title\")]},proxy:true}],null,true)})]},{\"isOpen\":_vm.isOpen}),_c('collapse-transition',{attrs:{\"duration\":200}},[_c('CoreAccordionContent',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isOpen),expression:\"isOpen\"}],attrs:{\"additionalClasses\":_vm.contentClasses},scopedSlots:_vm._u([(_vm.$slots.body)?{key:\"body\",fn:function(){return [_vm._t(\"body\")]},proxy:true}:null],null,true)})],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreAccordionHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreAccordionHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CoreAccordionHeader.vue?vue&type=template&id=0887d236&scoped=true&\"\nimport script from \"./CoreAccordionHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./CoreAccordionHeader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CoreAccordionHeader.vue?vue&type=style&index=0&id=0887d236&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0887d236\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"header\",class:_vm.additionalClasses},[_vm._t(\"title\"),_vm._t(\"button\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"body\",class:_vm.classes},[_vm._t(\"body\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreAccordionContent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreAccordionContent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CoreAccordionContent.vue?vue&type=template&id=eae6c03c&scoped=true&\"\nimport script from \"./CoreAccordionContent.vue?vue&type=script&lang=ts&\"\nexport * from \"./CoreAccordionContent.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CoreAccordionContent.vue?vue&type=style&index=0&id=eae6c03c&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"eae6c03c\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreAccordion.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreAccordion.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CoreAccordion.vue?vue&type=template&id=9320528e&scoped=true&\"\nimport script from \"./CoreAccordion.vue?vue&type=script&lang=ts&\"\nexport * from \"./CoreAccordion.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CoreAccordion.vue?vue&type=style&index=0&id=9320528e&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9320528e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isMobile)?_c('div',[_vm._t(\"mobile\",function(){return [_c('MobileHeader',{attrs:{\"title\":_vm.title,\"withBackButton\":_vm.withBackButton,\"withNotifications\":_vm.withNotifications},scopedSlots:_vm._u([{key:\"left\",fn:function(){return [_vm._t(\"mobile-left\")]},proxy:true},{key:\"right\",fn:function(){return [_vm._t(\"mobile-right\")]},proxy:true}],null,true)})]})],2):_c('div',[_vm._t(\"desktop\",function(){return [_c('DesktopHeader')]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AppHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AppHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppHeader.vue?vue&type=template&id=caf1e420&\"\nimport script from \"./AppHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppHeader.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"desktop-header\"},[_c('CompanyLogo',{staticClass:\"logo\",attrs:{\"link\":{ path: _vm.topNavigation.logo.route },\"image\":_vm.brandingLogoUrl}}),_c('CoreMenu',{staticClass:\"desktop-menu\",attrs:{\"mode\":\"horizontal\",\"menuItems\":_vm.topNavigation.main}}),_c('div',{staticClass:\"user-actions-block\"},[(_vm.isChoosePlanButtonVisible)?_c('ChoosePlanButton',{staticClass:\"plan-button\",attrs:{\"expirationDate\":_vm.expirationDate}}):_vm._e(),(_vm.isNotificationMenuVisible)?_c('NotificationMenu',{staticClass:\"notification-menu\"}):_vm._e(),_c('CoreUserMenu',{staticClass:\"desktop-user-menu\",attrs:{\"menuItems\":_vm.topNavigation.user}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CompanyLogo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CompanyLogo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CompanyLogo.vue?vue&type=template&id=ae671e7a&scoped=true&\"\nimport script from \"./CompanyLogo.vue?vue&type=script&lang=ts&\"\nexport * from \"./CompanyLogo.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CompanyLogo.vue?vue&type=style&index=0&id=ae671e7a&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ae671e7a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-link',{attrs:{\"to\":_vm.link}},[_c('img',{staticClass:\"logo\",attrs:{\"src\":_vm.image || _vm.eloomiLogoImageUrl,\"alt\":\"\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChoosePlanButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChoosePlanButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ChoosePlanButton.vue?vue&type=template&id=ab3b11be&scoped=true&\"\nimport script from \"./ChoosePlanButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./ChoosePlanButton.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ChoosePlanButton.vue?vue&type=style&index=0&id=ab3b11be&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ab3b11be\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"choose-plan\"},[_c('p',{staticClass:\"days-remaining\"},[_vm._v(_vm._s(_vm.topText))]),_c('router-link',{staticClass:\"link\",attrs:{\"to\":_vm.billingPage}},[_vm._v(\" \"+_vm._s(_vm.trans('spa.billing.plan-button.choose'))+\" \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Popover',{ref:\"popover\",attrs:{\"portal\":\"toast-notifications-host\",\"placement\":\"bottom-end\"},on:{\"blur\":_vm.closeNotificationsDrawer},scopedSlots:_vm._u([{key:\"target\",fn:function(ref){\nvar isVisible = ref.isVisible;\nreturn [_c('NotificationTrigger',{attrs:{\"isActive\":isVisible,\"newNotifications\":_vm.newNotificationsCount},nativeOn:{\"click\":function($event){return _vm.toggle.apply(null, arguments)}}})]}},{key:\"content\",fn:function(){return [_c('NotificationPanel',{staticClass:\"panel\",on:{\"endReached\":_vm.loadMore}},[(_vm.notifications && _vm.notifications.length)?_vm._l((_vm.notifications),function(notification){return _c('Notification',{key:notification.id,attrs:{\"text\":_vm.getNotificationText(notification),\"imageUrl\":notification.image_url,\"isRead\":notification.is_read,\"receivedAt\":notification.created_at},on:{\"click\":function($event){return _vm.redirectFromNotification(notification)}}})}):[_c('div',{staticClass:\"notifications-empty\"},[_c('elm-alerts-info-notification-icon',{attrs:{\"size\":\"32\"}}),_c('p',{staticClass:\"notifications-empty-text\"},[_vm._v(_vm._s(_vm.trans('spa.notification.no-notifications')))])],1)]],2)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NotificationPanel.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NotificationPanel.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationPanel.vue?vue&type=template&id=3fccace7&scoped=true&\"\nimport script from \"./NotificationPanel.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotificationPanel.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NotificationPanel.vue?vue&type=style&index=0&id=3fccace7&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3fccace7\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"panel\",style:(_vm.style)},[_c('header',{staticClass:\"panel__header\"},[_c('p',{staticClass:\"panel__title\"},[_vm._v(\" \"+_vm._s(_vm.panelTitle)+\" \")]),_c('elm-button',{attrs:{\"disabled\":_vm.newNotificationsCount === 0,\"color\":\"secondary\",\"size\":\"small\"},on:{\"click\":_vm.markAllNotificationsAsRead}},[_vm._v(\" \"+_vm._s(_vm.trans('spa.notification.panel.mark-all-as-read'))+\" \")])],1),_c('div',{staticClass:\"panel__content\"},[_c('div',{staticClass:\"panel__notifications\"},[_vm._t(\"default\"),_c('div',{directives:[{name:\"observe-visibility\",rawName:\"v-observe-visibility\",value:(_vm.triggerVisibilityChanged),expression:\"triggerVisibilityChanged\"}],staticClass:\"panel__trigger\"})],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NotificationMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NotificationMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationMenu.vue?vue&type=template&id=04a606b2&scoped=true&\"\nimport script from \"./NotificationMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotificationMenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NotificationMenu.vue?vue&type=style&index=0&id=04a606b2&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"04a606b2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isMobile)?_c('div',[_c('ul',{staticClass:\"core-menu\"},_vm._l((_vm.filteredMenuItems),function(menuItem){return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(menuItem.string !== 'dashboard'),expression:\"menuItem.string !== 'dashboard'\"}],key:menuItem.string,staticClass:\"list-item\",on:{\"mouseenter\":function($event){return _vm.handleItemHovered(true)},\"mouseleave\":function($event){return _vm.handleItemHovered(false)}}},[_c(_vm.el(menuItem),_vm._b({tag:\"component\",staticClass:\"menu-link\"},'component',_vm.props(menuItem),false),[_c('span',[_vm._v(_vm._s(menuItem.name))])]),_c('transition',{attrs:{\"name\":\"menu-item\"}},[(menuItem.subnav && _vm.subnavExists(menuItem.subnav) && _vm.isHovered)?_c('ul',{staticClass:\"core-menu-list\"},_vm._l((menuItem.subnav),function(value,key){return _c('li',{key:key},[_c('CoreMenuItem',{attrs:{\"item\":value}})],1)}),0):_vm._e()])],1)}),0)]):_c('div',{staticClass:\"mobile-wrapper\"},_vm._l((_vm.menu),function(menuItem,index){return _c('CoreAccordion',{directives:[{name:\"show\",rawName:\"v-show\",value:(menuItem.string !== 'dashboard'),expression:\"menuItem.string !== 'dashboard'\"}],key:menuItem.string,attrs:{\"showToggle\":_vm.showToggle(menuItem),\"toggleMode\":\"header\"},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [(!menuItem.subnav)?_c(_vm.el(menuItem),_vm._b({tag:\"component\",staticClass:\"core-menu-list-title\",on:{\"click\":function($event){return _vm.menuClickHandler($event, menuItem)}}},'component',_vm.props(menuItem),false),[_c('span',[_vm._v(_vm._s(menuItem.name))])]):_c('a',{staticClass:\"core-menu-list-title\",on:{\"click\":function($event){return _vm.menuClickHandler($event, menuItem)}}},[_c('span',[_vm._v(_vm._s(menuItem.name))])])]},proxy:true},{key:\"body\",fn:function(){return [(menuItem.subnav)?_c('ul',{staticClass:\"core-menu-list-mobile\"},_vm._l((_vm.filterMenuItemsDictionary(menuItem.subnav)),function(item){return _c('li',{key:item.string,staticClass:\"sub-item\",class:{ active: _vm.isSubNavActive(item) },on:{\"click\":_vm.menuItemClickHandler}},[(_vm.hideOnMobile(item))?_c('CoreMenuItem',{attrs:{\"item\":item,\"color\":\"light\"}}):_vm._e()],1)}),0):_vm._e()]},proxy:true}],null,true),model:{value:(_vm.mobileItemOpen[index]),callback:function ($$v) {_vm.$set(_vm.mobileItemOpen, index, $$v)},expression:\"mobileItemOpen[index]\"}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreMenuItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreMenuItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CoreMenuItem.vue?vue&type=template&id=3593fafc&scoped=true&\"\nimport script from \"./CoreMenuItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./CoreMenuItem.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CoreMenuItem.vue?vue&type=style&index=0&id=3593fafc&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3593fafc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.item.access)?_c(_vm.itemComponent,_vm._b({tag:\"component\",staticClass:\"core-menu-list-item\",on:{\"click\":_vm.handleCLick}},'component',_vm.itemProps,false),[_c(_vm.item.icon,{tag:\"component\",staticClass:\"menu-icon\",attrs:{\"size\":\"18\"}}),_c('span',[_vm._v(_vm._s(_vm.item.name))])],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CoreMenu.vue?vue&type=template&id=82b344ce&scoped=true&\"\nimport script from \"./CoreMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./CoreMenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CoreMenu.vue?vue&type=style&index=0&id=82b344ce&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"82b344ce\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.authUserProfile)?_c('div',{staticClass:\"user-desktop-action-menu-container\",on:{\"mouseleave\":function($event){return _vm.userMenuToggleDebounced(false)}}},[(_vm.menuItems && _vm.authUserProfile)?_c('CoreShapedImage',{class:{ 'trigger-active': _vm.userMenuTriggerHovered },attrs:{\"size\":40,\"image\":_vm.imageUrl,\"altText\":_vm.userFullName,\"hasSubstate\":true,\"data-testid\":\"user-avatar\"},nativeOn:{\"mouseover\":function($event){return _vm.userMenuToggleDebounced(true)}}}):_vm._e(),_c('CoreActionMenu',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isUserDropdownContentShown),expression:\"isUserDropdownContentShown\"}],staticClass:\"user-icon-menu\",attrs:{\"title\":_vm.userFullName,\"data-testid\":\"user-actions-menu\"},nativeOn:{\"mouseenter\":function($event){return _vm.enterDropdownContent.apply(null, arguments)},\"mouseleave\":function($event){return _vm.userMenuToggleDebounced(false)}}},_vm._l((_vm.items),function(item){return _c('CoreMenuItem',{key:item.string,staticClass:\"core-user-menu-list-item\",attrs:{\"item\":item},on:{\"click\":function($event){return _vm.handleClick($event, item.onClick)}}})}),1)],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Vue, Component } from 'vue-property-decorator';\n\n@Component({})\nexport default class ContentLoaderMixin extends Vue {\n public primaryColor: string = 'hsla(var(--before-load-darken), 0.8)';\n public secondaryColor: string = 'hsl(var(--before-load))';\n public animate: boolean = true;\n public speed: number = 2;\n}\n","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopNavigationUserProfileContentLoader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopNavigationUserProfileContentLoader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TopNavigationUserProfileContentLoader.vue?vue&type=template&id=75cd5996&scoped=true&\"\nimport script from \"./TopNavigationUserProfileContentLoader.vue?vue&type=script&lang=ts&\"\nexport * from \"./TopNavigationUserProfileContentLoader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TopNavigationUserProfileContentLoader.vue?vue&type=style&index=0&id=75cd5996&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"75cd5996\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"topnav-user-profile-loader\"},[_c('ContentLoader',{style:((\"height: \" + (_vm.radius * 2) + \"px\")),attrs:{\"height\":_vm.radius * 2,\"width\":_vm.radius * 2,\"speed\":_vm.speed,\"primaryColor\":_vm.primaryColor,\"secondaryColor\":_vm.secondaryColor,\"animate\":_vm.animate}},[_c('circle',{attrs:{\"cx\":_vm.radius,\"cy\":_vm.radius,\"r\":_vm.radius}})])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreUserMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreUserMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CoreUserMenu.vue?vue&type=template&id=5f1d328e&scoped=true&\"\nimport script from \"./CoreUserMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./CoreUserMenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CoreUserMenu.vue?vue&type=style&index=0&id=5f1d328e&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5f1d328e\",\n null\n \n)\n\nexport default component.exports","import { TopNavInterface, TopNavItemInterface, TopNavUserInterface } from '@/common/interfaces';\nimport { Permissions } from '@/permissions';\nimport { useLaunchDarkly, useMobile, useTranslation } from '@/common/composables';\nimport { usePlanFeaturesStore } from '@/plan-features/store';\nimport { computed, ComputedRef } from 'vue';\nimport { usePermissions } from '@/permissions/composables/use-permissions';\nimport { useUserProfileDetailsStore } from '@/common/store/user-details/store';\nimport PlanFeaturesList from '@/plan-features/plan-features-list';\nimport { useSidebarNavigation } from '@/admin/composables/use-sidebar-navigation';\nimport { useSkillSetupStore } from '@/profile-settings/components/self-skills-setup/SkillSetupStore';\nimport { useInjector } from '@/di/use-injector';\nimport { LogoutUseCase } from '@/authentication/use-cases';\nimport '@eloomi/icons/actions/actions-log-out';\nimport '@eloomi/icons/actions/actions-user';\nimport '@eloomi/icons/actions/actions-users';\nimport '@eloomi/icons/actions/actions-people-performance';\nimport '@eloomi/icons/products-pages/products-and-pages-course';\nimport '@eloomi/icons/products-pages/products-and-pages-billing';\nimport '@eloomi/icons/products-pages/products-and-pages-branding';\nimport '@eloomi/icons/products-pages/products-and-pages-course-builder-chapter';\nimport '@eloomi/icons/products-pages/products-and-pages-segments';\nimport '@eloomi/icons/products-pages/products-and-pages-settings';\nimport '@eloomi/icons/products-pages/products-and-pages-topic';\nimport '@eloomi/icons/miscellaneous/miscellaneous-access-token';\nimport '@eloomi/icons/statistics-hierarchy/statistics-and-hierarchy-integration';\nimport '@eloomi/icons/statistics-hierarchy/statistics-and-hierarchy-organizational-structure';\nimport '@eloomi/icons/products-pages/products-and-pages-skills-regular';\nimport '@eloomi/icons/products-pages/products-and-pages-course-builder-chapter';\n\nfunction useUserNavigation(): ComputedRef {\n const { trans } = useTranslation();\n const userProfileDetailsStore = useUserProfileDetailsStore();\n const authUserProfile = computed(() => userProfileDetailsStore.state.authUserProfile);\n\n const planFeaturesStore = usePlanFeaturesStore();\n const featuresList = planFeaturesStore.state.featuresList;\n const checkIfFeatureEnabled = planFeaturesStore.getters.checkIfFeatureEnabled;\n\n const injector = useInjector();\n const logoutUseCase = injector.injectClass(LogoutUseCase);\n\n function handleSignOutClick() {\n logoutUseCase.logOut().catch(console.error);\n }\n\n const skillSetupStore = useSkillSetupStore();\n\n function showSkillSetupModal() {\n skillSetupStore.mutations.showSkillSetupModal();\n }\n\n return computed(() => {\n return {\n first_name: authUserProfile.value?.firstName,\n last_name: authUserProfile.value?.lastName,\n image_url: authUserProfile.value?.imageUrl,\n subnav: {\n skills: {\n access: checkIfFeatureEnabled(featuresList.SKILLS),\n string: 'my_skills',\n name: trans('spa.navigation.sections.user.my-skills'),\n icon: 'elm-products-and-pages-skills-regular-icon',\n route: null,\n onClick: showSkillSetupModal,\n },\n settings: {\n access: true,\n string: 'spa_settings',\n name: trans('spa.navigation.sections.user.settings'),\n route: '/profile-settings',\n icon: 'elm-products-and-pages-settings-icon',\n vueRoute: true,\n },\n sign_out: {\n access: true,\n string: 'sign_out',\n name: trans('spa.navigation.sections.user.sign-out'),\n route: null,\n icon: 'elm-actions-log-out-icon',\n onClick: handleSignOutClick,\n },\n },\n };\n });\n}\n\nfunction useAdminNavigationItem(): ComputedRef {\n const { trans } = useTranslation();\n const { isMobile } = useMobile();\n\n const { hasPermission, hasAnyPermission, hasEveryPermission } = usePermissions();\n\n const { administrationContent, adminSettingsItem } = useSidebarNavigation();\n\n const planFeaturesStore = usePlanFeaturesStore();\n const featuresList = planFeaturesStore.state.featuresList;\n const checkIfFeatureEnabled = planFeaturesStore.getters.checkIfFeatureEnabled;\n\n const { checkIfLaunchDarklyFeatureEnabled } = useLaunchDarkly();\n\n const canAccessLearningRoutes = computed(() => {\n return (\n (checkIfFeatureEnabled(featuresList.COURSES) ||\n checkIfFeatureEnabled(featuresList.EVENTS) ||\n checkIfFeatureEnabled(featuresList.PLAYLISTS)) &&\n hasAnyPermission(Permissions.AdminCourses, Permissions.AdminEvents, Permissions.AdminPlaylists)\n );\n });\n\n const hasAnyAdminMenuItem = computed(() => {\n return (\n hasAnyPermission(\n Permissions.AdminUsers,\n Permissions.AdminGroups,\n Permissions.AdminSkills,\n Permissions.AdminCategoriesTopics,\n Permissions.AdminBilling,\n Permissions.AdminBranding,\n Permissions.AdminApi\n ) || canAccessLearningRoutes.value\n );\n });\n\n function getSidebarRoutesBasedOnParentName(\n name: 'learning' | 'organization' | 'skills'\n ): string | { name: string } {\n const sidebarItem = administrationContent.value.find(item => item.name === name);\n\n if (sidebarItem && sidebarItem.children) {\n const defaultRoute = sidebarItem.children.find(child => isPageAccessible(child)) || null;\n\n if (defaultRoute && defaultRoute.location) {\n return { name: defaultRoute.location };\n }\n }\n\n return '/';\n }\n\n const firstAvailableSidebarRouteForSettings = computed(() => {\n const children = adminSettingsItem.value.children || [];\n\n const possibleRoutes = children.filter(\n item =>\n (item.featureName ? checkIfFeatureEnabled(item.featureName) : true) &&\n (item.launchDarklyFeatureName ? checkIfLaunchDarklyFeatureEnabled(item.launchDarklyFeatureName) : true)\n );\n\n if (possibleRoutes.length > 0) {\n return `/admin/settings/${possibleRoutes[0].location}`;\n }\n\n return '/';\n });\n\n function isPageAccessible({\n featureName,\n access,\n }: {\n featureName?: PlanFeaturesList | PlanFeaturesList[];\n access?: boolean;\n }) {\n return (!featureName || (featureName && checkIfFeatureEnabled(featureName))) && (access ?? true);\n }\n\n return computed(() => {\n return {\n access: hasAnyAdminMenuItem.value && !isMobile.value,\n name: trans('spa.navigation.sections.main.admin'),\n route: hasPermission(Permissions.AdminUsers) ? '/admin/users' : '/admin/courses',\n vueRoute: true,\n subnav: {\n organization: {\n access: hasAnyPermission(Permissions.AdminUsers, Permissions.AdminGroups),\n name: trans('spa.navigation.sections.admin.organization'),\n route: getSidebarRoutesBasedOnParentName('organization'),\n icon: 'elm-actions-users-icon',\n vueRoute: true,\n },\n learning: {\n access: canAccessLearningRoutes.value,\n name: trans('spa.navigation.sections.admin.learning'),\n route: getSidebarRoutesBasedOnParentName('learning'),\n icon: 'elm-products-and-pages-course-builder-chapter-icon',\n vueRoute: true,\n },\n skills: {\n access: checkIfFeatureEnabled(featuresList.SKILLS) && hasPermission(Permissions.AdminSkills),\n name: trans('spa.navigation.sections.admin.skills'),\n route: getSidebarRoutesBasedOnParentName('skills'),\n icon: 'elm-products-and-pages-skills-regular-icon',\n vueRoute: true,\n },\n categoriesAndTopics: {\n access:\n checkIfFeatureEnabled(featuresList.CATEGORIES_TOPICS) &&\n hasPermission(Permissions.AdminCategoriesTopics),\n name: trans('spa.navigation.sections.admin.categories-and-topics'),\n route: '/admin/topics',\n icon: 'elm-products-and-pages-topic-icon',\n vueRoute: true,\n },\n billing: {\n access: checkIfFeatureEnabled(featuresList.BILLING) && hasPermission(Permissions.AdminBilling),\n name: trans('spa.navigation.sections.admin.billing'),\n route: '/admin/billing',\n icon: 'elm-products-and-pages-billing-icon',\n vueRoute: true,\n },\n integrations: {\n access: checkIfFeatureEnabled(featuresList.API) && hasPermission(Permissions.AdminApi),\n name: trans('spa.navigation.sections.admin.integrations'),\n route: '/admin/integrations',\n icon: 'elm-statistics-and-hierarchy-integration-icon',\n vueRoute: true,\n },\n settings: {\n access:\n checkIfFeatureEnabled(featuresList.CUSTOM_FIELDS) &&\n hasEveryPermission(Permissions.AdminApi, Permissions.AdminBranding),\n name: trans('spa.navigation.sections.admin.settings'),\n route: firstAvailableSidebarRouteForSettings.value,\n icon: 'elm-products-and-pages-settings-icon',\n vueRoute: true,\n },\n },\n };\n });\n}\n\nexport function useTopNavigation(): ComputedRef {\n const { trans } = useTranslation();\n\n const planFeaturesStore = usePlanFeaturesStore();\n const { hasPermission, canAccessGroupReport } = usePermissions();\n const { isMobile } = useMobile();\n\n const userNavigation = useUserNavigation();\n const adminNavigationItem = useAdminNavigationItem();\n\n const featuresList = planFeaturesStore.state.featuresList;\n\n const { checkIfLaunchDarklyFeatureEnabled, launchDarklyFeaturesList } = useLaunchDarkly();\n const checkIfFeatureEnabled = planFeaturesStore.getters.checkIfFeatureEnabled;\n\n const adminUserReportsSubnav = computed>(() => ({\n myLearning: {\n access: true,\n name: trans('spa.navigation.sections.reports.my-learning'),\n route: '/admin/report',\n icon: 'elm-actions-user-icon',\n vueRoute: true,\n },\n courses: {\n access: checkIfFeatureEnabled(featuresList.COURSES) && hasPermission(Permissions.Reporting),\n name: trans('spa.navigation.sections.reports.courses'),\n route: '/admin/report/courses',\n icon: 'elm-products-and-pages-course-icon',\n vueRoute: true,\n },\n users: {\n access: hasPermission(Permissions.Reporting),\n name: trans('spa.navigation.sections.reports.users'),\n route: '/admin/report/users',\n icon: 'elm-actions-users-icon',\n vueRoute: true,\n },\n groups: {\n access:\n checkIfLaunchDarklyFeatureEnabled(launchDarklyFeaturesList.GROUPS_REPORTING_MANAGER) &&\n checkIfFeatureEnabled(featuresList.USER_PERMISSIONS) &&\n checkIfFeatureEnabled(featuresList.GROUPS) &&\n canAccessGroupReport.value,\n name: trans('spa.navigation.sections.reports.groups'),\n route: '/admin/report/group',\n icon: 'elm-statistics-and-hierarchy-organizational-structure-icon',\n vueRoute: true,\n },\n segmentReporting: {\n access: checkIfFeatureEnabled(featuresList.SEGMENT_REPORTING) && hasPermission(Permissions.Reporting),\n name: trans('spa.navigation.sections.reports.segments'),\n route: '/admin/report/segment-overview',\n icon: 'elm-products-and-pages-segments-icon',\n vueRoute: true,\n },\n skillsReport: {\n access: checkIfFeatureEnabled(featuresList.SKILLS) && hasPermission(Permissions.Reporting),\n name: trans('spa.navigation.sections.reports.skills'),\n route: '/admin/report/skills',\n icon: 'elm-products-and-pages-skills-regular-icon',\n vueRoute: true,\n },\n }));\n\n const routes = computed(() => ({\n logo: {\n route: '/courses',\n },\n main: {\n home: {\n access: true,\n name: trans('spa.navigation.sections.main.home'),\n route: '/courses',\n vueRoute: true,\n },\n learn: {\n access: true,\n name: trans('spa.navigation.sections.main.learn'),\n route: '/courses/overview',\n vueRoute: true,\n },\n userReports: {\n access: checkIfFeatureEnabled(featuresList.REPORTING) && !hasPermission(Permissions.Reporting),\n name: trans('spa.navigation.sections.main.reports'),\n route: '/report',\n vueRoute: true,\n subnav:\n checkIfLaunchDarklyFeatureEnabled(launchDarklyFeaturesList.GROUPS_REPORTING_MANAGER) &&\n checkIfFeatureEnabled(featuresList.USER_PERMISSIONS) &&\n canAccessGroupReport.value\n ? {\n myLearning: {\n access: true,\n name: trans('spa.navigation.sections.reports.my-learning'),\n route: '/report',\n icon: 'elm-actions-user-icon',\n vueRoute: true,\n },\n groups: {\n access:\n checkIfLaunchDarklyFeatureEnabled(\n launchDarklyFeaturesList.GROUPS_REPORTING_MANAGER\n ) &&\n checkIfFeatureEnabled(featuresList.USER_PERMISSIONS) &&\n canAccessGroupReport.value,\n name: trans('spa.navigation.sections.reports.groups'),\n route: '/report/group',\n icon: 'elm-statistics-and-hierarchy-organizational-structure-icon',\n vueRoute: true,\n },\n }\n : undefined,\n },\n adminUserReports: {\n access: checkIfFeatureEnabled(featuresList.REPORTING) && hasPermission(Permissions.Reporting),\n name: trans('spa.navigation.sections.main.reports'),\n route: `/admin/report${isMobile.value ? '/mobile' : ''}`,\n vueRoute: true,\n subnav: isMobile.value ? undefined : adminUserReportsSubnav.value,\n },\n admin: adminNavigationItem.value,\n },\n user: userNavigation.value,\n }));\n\n return routes;\n}\n","\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DesktopHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DesktopHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DesktopHeader.vue?vue&type=template&id=6b329276&scoped=true&\"\nimport script from \"./DesktopHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./DesktopHeader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DesktopHeader.vue?vue&type=style&index=0&id=6b329276&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6b329276\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mobile-header-wrapper\"},[_c('div',{staticClass:\"corner left-corner\"}),_c('div',{staticClass:\"corner right-corner\"}),_c('div',{staticClass:\"mobile-header\"},[_c('div',{staticClass:\"header-item left\"},[_vm._t(\"left\",function(){return [(_vm.withBackButton)?_c('GoBackButton',[_c('elm-arrows-arrow-left-bold-icon',{staticClass:\"header-arrow\",attrs:{\"size\":\"20\"}})],1):_vm._e()]})],2),_c('div',{staticClass:\"center header-item\"},[(_vm.withTitle)?_vm._t(\"center\",function(){return [(_vm.title)?_c('h4',{staticClass:\"header-title\"},[_vm._v(_vm._s(_vm.title))]):_c('router-link',{staticClass:\"logo-link\",attrs:{\"to\":\"/\"}},[_c('img',{staticClass:\"logo\",attrs:{\"alt\":\"logo of the company\",\"src\":_vm.imageUrl}})])]}):_vm._e()],2),_c('div',{staticClass:\"header-item right\"},[_vm._t(\"right\",function(){return [(_vm.withNotifications)?_c('NotificationTrigger',{attrs:{\"newNotifications\":_vm.newNotificationsCount},on:{\"click\":_vm.openNotificationsDrawer}}):_vm._e()]})],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MobileHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MobileHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileHeader.vue?vue&type=template&id=0d9ede58&scoped=true&\"\nimport script from \"./MobileHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileHeader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MobileHeader.vue?vue&type=style&index=0&id=0d9ede58&scoped=true&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0d9ede58\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"button-container\",class:_vm.additionalClasses,attrs:{\"type\":\"button\",\"disabled\":_vm.disabled},on:{\"click\":_vm.onClick}},[_c('span',{staticClass:\"name\",class:_vm.nameClasses},[(!_vm.loading)?[_vm._t(\"default\",function(){return [_vm._v(\" \"+_vm._s(_vm.title)+\" \")]})]:_c('Spinner')],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CoreButton.vue?vue&type=template&id=3f22d0bc&scoped=true&\"\nimport script from \"./CoreButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./CoreButton.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CoreButton.vue?vue&type=style&index=0&id=3f22d0bc&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3f22d0bc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"checkbox-wrapper\",class:{ checked: _vm.innerValue, disabled: _vm.disabled, hovered: _vm.hovered },attrs:{\"tabindex\":\"0\"},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.toggle.apply(null, arguments)}}},[_c('input',{attrs:{\"type\":\"checkbox\",\"disabled\":_vm.disabled},domProps:{\"value\":_vm.value}}),_c('span',{staticClass:\"core-checkbox\",style:(_vm.checkboxStyles),on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle.apply(null, arguments)}}},[_vm._t(\"icon\",function(){return [_c('elm-alerts-info-approve-checkmark-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.innerValue === true),expression:\"innerValue === true\"}],staticClass:\"icon\",attrs:{\"size\":\"10\"}})]})],2),_c('span',{class:{ 'checkbox-label': _vm.label },on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle.apply(null, arguments)}}},[_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.label))]})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/swc-loader/src/index.js!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreCheckbox.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/swc-loader/src/index.js!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreCheckbox.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CoreCheckbox.vue?vue&type=template&id=50bb03ee&scoped=true&\"\nimport script from \"./CoreCheckbox.vue?vue&type=script&lang=ts&\"\nexport * from \"./CoreCheckbox.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CoreCheckbox.vue?vue&type=style&index=0&id=50bb03ee&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"50bb03ee\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"picture-wrapper\",class:_vm.wrapperClasses,style:(_vm.wrapperStyle)},[(_vm.isLoading && _vm.isImageAvailable)?_c('SkeletonLoader',{staticClass:\"picture-skeleton\",attrs:{\"width\":_vm.width,\"height\":_vm.height,\"borderRadius\":\"0\"}}):_vm._e(),(_vm.isImageAvailable)?_c('img',{staticClass:\"picture\",class:_vm.additionalClassesOnPicture,attrs:{\"src\":_vm.src,\"width\":_vm.width,\"height\":_vm.height,\"alt\":_vm.alt},on:{\"load\":_vm.handleImageLoad,\"error\":_vm.handleImageLoadError}}):(_vm.showNoImageIcon)?_c('div',{staticClass:\"icon-offset-fix\"},[_c('elm-products-and-pages-course-builder-image-icon',{staticClass:\"info-color-40\",attrs:{\"size\":_vm.iconSize}})],1):_vm._e(),(_vm.hasSlot)?_c('div',{staticClass:\"content\",class:_vm.invisibleWhileLoadingClass},[_vm._t(\"default\",null,{\"isLoading\":_vm.isLoading && _vm.isImageAvailable})],2):_vm._e(),(_vm.withShadowOverlay && _vm.isImageAvailable)?_c('div',{staticClass:\"shadow-overlay\"}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/swc-loader/src/index.js!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CorePicture.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/swc-loader/src/index.js!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CorePicture.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CorePicture.vue?vue&type=template&id=dbcbc81c&scoped=true&\"\nimport script from \"./CorePicture.vue?vue&type=script&lang=ts&\"\nexport * from \"./CorePicture.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CorePicture.vue?vue&type=style&index=0&id=dbcbc81c&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dbcbc81c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ErrorMessage',{attrs:{\"title\":_vm.trans('spa.error.content-not-available'),\"message\":_vm.trans('spa.error.use-desktop-not-mobile')}},[_c('SmileyDesktopImage')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ErrorMessage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ErrorMessage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ErrorMessage.vue?vue&type=template&id=707b197b&scoped=true&\"\nimport script from \"./ErrorMessage.vue?vue&type=script&lang=ts&\"\nexport * from \"./ErrorMessage.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ErrorMessage.vue?vue&type=style&index=0&id=707b197b&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"707b197b\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"error-message\"},[(_vm.hasSlot)?_c('div',{staticClass:\"error-message__icon\"},[_vm._t(\"default\")],2):_vm._e(),_c('h1',{staticClass:\"error-message__title\"},[_vm._v(_vm._s(_vm.title))]),_c('p',{staticClass:\"error-message__message\"},[_vm._v(_vm._s(_vm.message))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"width\":\"48\",\"height\":\"48\",\"viewBox\":\"0 0 48 48\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M40.5 0c4.14.004 7.496 3.36 7.5 7.5v24c-.004 4.14-3.36 7.496-7.5 7.5h-8.73l1 6H36c.828 0 1.5.672 1.5 1.5S36.828 48 36 48H12c-.828 0-1.5-.672-1.5-1.5S11.172 45 12 45h3.23l1-6H7.5C3.36 38.996.004 35.64 0 31.5v-24C.004 3.36 3.36.004 7.5 0h33zM28.73 39h-9.46l-1 6h11.46l-1-6zm16.006-6H3.264c.64 1.791 2.334 2.99 4.236 3h33c1.92 0 3.61-1.242 4.236-3zM40.5 3h-33C5.016 3.002 3.002 5.016 3 7.5V30h42V7.5c-.002-2.484-2.016-4.498-4.5-4.5zM17.266 19.892c1.837 1.686 4.239 2.622 6.732 2.626 2.494-.003 4.896-.94 6.734-2.626.396-.363.956-.486 1.467-.324.512.163.898.587 1.012 1.111.114.525-.061 1.07-.459 1.431-2.389 2.19-5.511 3.406-8.752 3.41-3.242-.004-6.365-1.22-8.754-3.412-.416-.356-.605-.91-.494-1.445.112-.536.506-.969 1.03-1.129.522-.16 1.091-.023 1.484.358zM18 9c.828 0 1.5.672 1.5 1.5v3c0 .828-.672 1.5-1.5 1.5s-1.5-.672-1.5-1.5v-3c0-.828.672-1.5 1.5-1.5zm12 0c.828 0 1.5.672 1.5 1.5v3c0 .828-.672 1.5-1.5 1.5s-1.5-.672-1.5-1.5v-3c0-.828.672-1.5 1.5-1.5z\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SmileyDesktopImage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SmileyDesktopImage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SmileyDesktopImage.vue?vue&type=template&id=f2c48458&\"\nimport script from \"./SmileyDesktopImage.vue?vue&type=script&lang=ts&\"\nexport * from \"./SmileyDesktopImage.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MobileFallback.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MobileFallback.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileFallback.vue?vue&type=template&id=ac74ace8&\"\nimport script from \"./MobileFallback.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileFallback.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"shaped-image-wrapper\"},[(_vm.shouldHaveSubstate)?_c('span',{staticClass:\"background-substate\",class:_vm.avatarShape}):_vm._e(),_c('span',{staticClass:\"shaped-image\",class:_vm.avatarShape,style:(_vm.avatarStyleWithBackground)},[(!_vm.isImageAvailable)?_c('span',{staticClass:\"shaped-text-string\",class:_vm.additionalClass,style:(_vm.avatarStringStyle)},[_vm._v(\" \"+_vm._s(_vm.alt)+\" \")]):(_vm.isLazy)?[(_vm.asBackground)?_c('div',{directives:[{name:\"lazy\",rawName:\"v-lazy:background-image\",value:(_vm.image),expression:\"image\",arg:\"background-image\"}],staticClass:\"image-as-background\"}):_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(_vm.image),expression:\"image\"}],staticClass:\"image\",class:_vm.avatarShape,on:{\"error\":_vm.fieldToLoadImage}})]:[(_vm.asBackground)?_c('div',{staticClass:\"image-as-background\",style:({ 'background-image': _vm.image })}):_c('img',{staticClass:\"image\",class:_vm.avatarShape,attrs:{\"src\":_vm.image},on:{\"error\":_vm.fieldToLoadImage}})]],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreShapedImage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreShapedImage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CoreShapedImage.vue?vue&type=template&id=6253b748&scoped=true&\"\nimport script from \"./CoreShapedImage.vue?vue&type=script&lang=ts&\"\nexport * from \"./CoreShapedImage.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CoreShapedImage.vue?vue&type=style&index=0&id=6253b748&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6253b748\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"menu\",class:{ 'is-open': _vm.open }},[(!_vm.isMobile)?_c('v-popover',{attrs:{\"placement\":_vm.placement,\"trigger\":_vm.triggerType,\"delay\":{ show: 150, hide: 50 },\"popoverBaseClass\":_vm.popoverClass,\"offset\":_vm.offset,\"boundariesElement\":\"'offsetParent'\",\"open\":_vm.open},on:{\"show\":_vm.handleShow,\"hide\":_vm.handleHide},scopedSlots:_vm._u([{key:\"popover\",fn:function(){return [_c('div',{on:{\"mouseover\":function($event){return _vm.handleWhenInteractive(true)},\"mouseleave\":function($event){return _vm.handleWhenInteractive(false)},\"click\":_vm.onContentClick}},[_vm._t(\"default\")],2)]},proxy:true}],null,true)},[_c('div',{staticClass:\"menu-trigger\",class:{ outline: _vm.outline },attrs:{\"data-testid\":\"dropdown-actions-button\"},on:{\"click\":_vm.onTriggerClick}},[_vm._t(\"trigger\",function(){return [_c('CoreButton',{staticClass:\"trigger-button\",class:_vm.buttonSize},[_c('elm-menu-action-icon-icon',{staticClass:\"icon\",class:_vm.iconColor === 'primary' ? 'primary-color' : 'info-color-40',attrs:{\"size\":_vm.triggerIconSize}})],1)]},{\"open\":_vm.open})],2)]):_vm._e(),(_vm.isMobile)?_c('div',{staticClass:\"menu-trigger\",class:{ outline: _vm.outline },on:{\"click\":_vm.onTriggerClick}},[_vm._t(\"trigger\",function(){return [_c('CoreButton',{staticClass:\"trigger-button\",class:_vm.buttonSize},[_c('elm-menu-action-icon-icon',{staticClass:\"icon\",class:_vm.iconColor === 'primary' ? 'primary-color' : 'info-color'})],1)]},{\"open\":_vm.open})],2):_vm._e(),(_vm.open && _vm.isMobile)?_c('div',{staticClass:\"menu-items-wrapper\",on:{\"click\":_vm.closeDropdown}},[_vm._t(\"default\")],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/swc-loader/src/index.js!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreActionDropdown.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/swc-loader/src/index.js!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreActionDropdown.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CoreActionDropdown.vue?vue&type=template&id=4dedb44c&scoped=true&\"\nimport script from \"./CoreActionDropdown.vue?vue&type=script&lang=ts&\"\nexport * from \"./CoreActionDropdown.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CoreActionDropdown.vue?vue&type=style&index=0&id=4dedb44c&lang=less&scoped=true&\"\nimport style1 from \"./CoreActionDropdown.vue?vue&type=style&index=1&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4dedb44c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"appear\":\"\",\"mode\":\"out-in\",\"name\":\"fade-from-top\"}},[_c('div',{staticClass:\"menu-items\",style:(_vm.actionMenuWidth)},[_c('div',{staticClass:\"close-dropdown\",on:{\"click\":_vm.closeDropdown}},[_c('elm-actions-close-bold-icon',{class:_vm.triggerColor == 'primary' ? 'primary-color' : 'info-color',attrs:{\"size\":\"18\"}})],1),(_vm.title)?_c('h3',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.title))]):_vm._e(),(_vm.label)?_c('p',{staticClass:\"group-title\"},[_vm._v(\" \"+_vm._s(_vm.label)+\" \")]):_vm._e(),_c('ul',[_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/swc-loader/src/index.js!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreActionMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/swc-loader/src/index.js!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreActionMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CoreActionMenu.vue?vue&type=template&id=5e904ae7&scoped=true&\"\nimport script from \"./CoreActionMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./CoreActionMenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CoreActionMenu.vue?vue&type=style&index=0&id=5e904ae7&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5e904ae7\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MenuBackButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MenuBackButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MenuBackButton.vue?vue&type=template&id=87e5ce32&scoped=true&\"\nimport script from \"./MenuBackButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./MenuBackButton.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MenuBackButton.vue?vue&type=style&index=0&id=87e5ce32&scoped=true&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"87e5ce32\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"back-menu-button\",on:{\"click\":function($event){return _vm.$emit('click')}}},[_c('elm-arrows-arrow-left-bold-icon',{attrs:{\"size\":\"12\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('portal',{attrs:{\"to\":\"modal-host\"}},[_c('Fade',[(_vm.isVisible)?_c('div',{staticClass:\"mobile-drawer-layout\",class:_vm.classes,on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.handleCloseClick.apply(null, arguments)},\"touchend\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.handleCloseClick.apply(null, arguments)},\"touchmove\":_vm.handleTouchMove}},[(_vm.isClosable)?_c('div',{staticClass:\"mobile-drawer-header\",on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.handleCloseClick.apply(null, arguments)},\"touchend\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.handleCloseClick.apply(null, arguments)}}},[_c('elm-actions-close-bold-icon',{staticClass:\"close-button\",attrs:{\"size\":\"18\"},on:{\"click\":_vm.handleCloseClick}})],1):_vm._e(),_c('transition',{attrs:{\"name\":\"slide-up\"}},[_c('div',{staticClass:\"scrollable-wrapper\",class:{ 'with-bottom-padding': _vm.isKeyboardVisible },on:{\"click\":_vm.onContentClick}},[_vm._t(\"header\"),_c('div',{ref:\"drawer\",staticClass:\"mobile-drawer\",class:{ 'no-footer': !_vm.hasFooter, 'no-padding': _vm.noPadding }},[_vm._t(\"default\"),(_vm.hasFooter)?_c('div',{staticClass:\"mobile-drawer-footer\"},[_vm._t(\"footer\")],2):_vm._e()],2)],2)])],1):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreMobileBottomDrawer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreMobileBottomDrawer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CoreMobileBottomDrawer.vue?vue&type=template&id=d1b85eb8&scoped=true&\"\nimport script from \"./CoreMobileBottomDrawer.vue?vue&type=script&lang=ts&\"\nexport * from \"./CoreMobileBottomDrawer.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CoreMobileBottomDrawer.vue?vue&type=style&index=0&id=d1b85eb8&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d1b85eb8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"progress\",style:(_vm.rootStyle),attrs:{\"width\":_vm.boundingSize,\"height\":_vm.boundingSize,\"viewPort\":(\"0 0 \" + _vm.boundingSize + \" \" + _vm.boundingSize),\"version\":\"1.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('circle',{staticClass:\"circle bg-circle\",attrs:{\"fill\":\"none\",\"r\":_vm.radius,\"cx\":_vm.centerPoint,\"cy\":_vm.centerPoint,\"stroke-dasharray\":_vm.strokeDashArray}}),_c('circle',{staticClass:\"circle progress-value\",class:_vm.progressClasses,attrs:{\"fill\":\"none\",\"r\":_vm.radius,\"cx\":_vm.centerPoint,\"cy\":_vm.centerPoint,\"stroke-dasharray\":_vm.strokeDashArray,\"stroke-dashoffset\":_vm.strokeDashOffset}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreCircleProgress.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreCircleProgress.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CoreCircleProgress.vue?vue&type=template&id=13b2f792&scoped=true&\"\nimport script from \"./CoreCircleProgress.vue?vue&type=script&lang=ts&\"\nexport * from \"./CoreCircleProgress.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CoreCircleProgress.vue?vue&type=style&index=0&id=13b2f792&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"13b2f792\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"back-button\",class:{ floating: _vm.isFloating },attrs:{\"href\":_vm.route.path,\"data-testid\":\"go-back-button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.handleBackClick.apply(null, arguments)}}},[_c('div',{staticClass:\"back-button-wrapper\"},[_vm._t(\"default\",function(){return [_c('elm-arrows-arrow-left-bold-icon',{staticClass:\"info-color\",attrs:{\"size\":\"18\"}})]})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GoBackButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GoBackButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GoBackButton.vue?vue&type=template&id=11d94d58&scoped=true&\"\nimport script from \"./GoBackButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./GoBackButton.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./GoBackButton.vue?vue&type=style&index=0&id=11d94d58&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"11d94d58\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SkeletonTheme',{staticClass:\"skeleton-theme\",style:({ opacity: _vm.opacity }),attrs:{\"color\":_vm.color,\"highlight\":_vm.highlightedColor}},[_c('Skeleton',{staticClass:\"skeleton\",style:({ '--border-radius': _vm.borderRadius }),attrs:{\"width\":_vm.width,\"tag\":_vm.tag,\"count\":_vm.count,\"height\":_vm.height,\"circle\":_vm.isCircle}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SkeletonLoader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SkeletonLoader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SkeletonLoader.vue?vue&type=template&id=b0cb51e4&\"\nimport script from \"./SkeletonLoader.vue?vue&type=script&lang=ts&\"\nexport * from \"./SkeletonLoader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SkeletonLoader.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"spinner\",class:_vm.color},[_c('div',{staticClass:\"bounce1\"}),_c('div',{staticClass:\"bounce2\"}),_c('div',{staticClass:\"bounce3\"})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Spinner.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Spinner.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Spinner.vue?vue&type=template&id=e7d5f028&scoped=true&\"\nimport script from \"./Spinner.vue?vue&type=script&lang=ts&\"\nexport * from \"./Spinner.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Spinner.vue?vue&type=style&index=0&id=e7d5f028&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e7d5f028\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"toast-notification\",class:_vm.toastClasses},[_c('div',{staticClass:\"toast-notification__icon-area\"},[_c('div',{staticClass:\"toast-notification__icon-outer-circle\",class:_vm.themeClasses}),_c(_vm.icon,{tag:\"component\",staticClass:\"toast-notification__icon\",class:_vm.themeClasses,attrs:{\"size\":\"18\"}})],1),_c('div',{staticClass:\"toast-notification__message\"},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ToastNotification.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ToastNotification.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ToastNotification.vue?vue&type=template&id=1b945da6&scoped=true&\"\nimport script from \"./ToastNotification.vue?vue&type=script&lang=ts&\"\nexport * from \"./ToastNotification.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ToastNotification.vue?vue&type=style&index=0&id=1b945da6&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1b945da6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition-group',{staticClass:\"notification-area\",attrs:{\"name\":\"list\",\"tag\":\"div\"}},_vm._l((_vm.notifications),function(item){return _c('ToastNotification',{key:item.id,staticClass:\"notification-area--item\",style:(_vm.getNotificationItemStyle(item)),attrs:{\"theme\":item.theme,\"message\":item.message,\"isCompact\":item.isCompact}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ToastNotificationArea.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ToastNotificationArea.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ToastNotificationArea.vue?vue&type=template&id=a1f3dfc0&scoped=true&\"\nimport script from \"./ToastNotificationArea.vue?vue&type=script&lang=ts&\"\nexport * from \"./ToastNotificationArea.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ToastNotificationArea.vue?vue&type=style&index=0&id=a1f3dfc0&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a1f3dfc0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',_vm._g(_vm._b({attrs:{\"name\":\"fade\"}},'transition',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FadeTransition.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FadeTransition.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FadeTransition.vue?vue&type=template&id=596b585e&scoped=true&\"\nimport script from \"./FadeTransition.vue?vue&type=script&lang=ts&\"\nexport * from \"./FadeTransition.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FadeTransition.vue?vue&type=style&index=0&id=596b585e&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"596b585e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"core-main-layout\",class:{\n 'has-left-sidebar': _vm.canShowLeftSidebar,\n 'left-sidebar-is-compact': _vm.canShowLeftSidebar && _vm.leftSidebarIsCompact,\n },attrs:{\"id\":\"eloomi-main-layout\"}},[_c('div',{staticClass:\"sticky-header\"},[_c('portal-target',{attrs:{\"name\":\"sticky-header\"}}),_vm._t(\"sticky-header\")],2),_vm._t(\"header\"),_c('div',{staticClass:\"content-slot\"},[(_vm.$scopedSlots['left-sidebar'])?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hasLeftSidebar),expression:\"hasLeftSidebar\"}],staticClass:\"left-sidebar-slot\"},[_vm._t(\"left-sidebar\",null,{\"canBeCollapsed\":_vm.canBeCollapsed})],2):_vm._e(),_vm._t(\"content\")],2),_vm._t(\"overlay\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreMainLayout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreMainLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CoreMainLayout.vue?vue&type=template&id=6009a4bc&scoped=true&\"\nimport script from \"./CoreMainLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./CoreMainLayout.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CoreMainLayout.vue?vue&type=style&index=0&id=6009a4bc&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6009a4bc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ThemeProvider',{attrs:{\"theme\":_vm.brandingState}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Capacitor } from '@capacitor/core';\nimport { SplashScreen } from '@capacitor/splash-screen';\n\nlet isSplashScreenVisible = true;\n/** Has effect on native platforms only (ios, android) */\nexport async function hideSplashScreen(delayMs?: number) {\n if (!isSplashScreenVisible) return;\n\n if (Capacitor.isNativePlatform()) {\n return new Promise((resolve, _reject) => {\n setTimeout(async () => {\n await SplashScreen.hide();\n resolve();\n }, delayMs ?? 0);\n\n isSplashScreenVisible = false;\n });\n }\n}\n\n/** Has effect on native platforms only (ios, android) */\nexport async function showSplashScreen() {\n if (isSplashScreenVisible) return;\n\n if (Capacitor.isNativePlatform()) {\n await SplashScreen.show();\n isSplashScreenVisible = true;\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ThemeProvider.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ThemeProvider.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ThemeProvider.vue?vue&type=template&id=16958ae5&scoped=true&\"\nimport script from \"./ThemeProvider.vue?vue&type=script&lang=ts&\"\nexport * from \"./ThemeProvider.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ThemeProvider.vue?vue&type=style&index=0&id=16958ae5&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"16958ae5\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"themeProvider\"}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../node_modules/swc-loader/src/index.js!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainThemeProvider.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/swc-loader/src/index.js!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MainThemeProvider.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MainThemeProvider.vue?vue&type=template&id=1e601569&\"\nimport script from \"./MainThemeProvider.vue?vue&type=script&lang=ts&\"\nexport * from \"./MainThemeProvider.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"notification\",class:_vm.isRead && 'notification--read',on:{\"click\":_vm.emitClickEvent}},[_c('div',{staticClass:\"notification__is-read-indicator\"}),_c('div',{staticClass:\"notification__image\"},[_vm._t(\"image\",function(){return [_c('CorePicture',{staticClass:\"image\",attrs:{\"src\":_vm.imageUrl,\"size\":[40, 40],\"borderRadius\":\"small\",\"placeholderSize\":\"small\"}})]})],2),_vm._t(\"default\",function(){return [_c('p',{staticClass:\"notification__text\"},[_vm._v(_vm._s(_vm.text))])]}),(_vm.receivedTimeFormated)?_c('p',{staticClass:\"notification__received-at\"},[_vm._v(_vm._s(_vm.receivedTimeFormated))]):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Notification.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Notification.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Notification.vue?vue&type=template&id=68976537&scoped=true&\"\nimport script from \"./Notification.vue?vue&type=script&lang=ts&\"\nexport * from \"./Notification.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Notification.vue?vue&type=style&index=0&id=68976537&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"68976537\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"trigger\",class:{ 'trigger--active': _vm.isActive },on:{\"click\":function($event){return _vm.$emit('click')}}},[(_vm.newNotifications)?_c('div',{staticClass:\"trigger__new-notifications\"},[_vm._v(_vm._s(_vm.numberOfNewNotifications))]):_vm._e(),_c('elm-alerts-info-notification-bold-icon',{staticClass:\"trigger__icon\",attrs:{\"size\":\"medium\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NotificationTrigger.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NotificationTrigger.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationTrigger.vue?vue&type=template&id=341bfbcf&scoped=true&\"\nimport script from \"./NotificationTrigger.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotificationTrigger.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NotificationTrigger.vue?vue&type=style&index=0&id=341bfbcf&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"341bfbcf\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"flex-center-content button-icon\",class:_vm.classes,attrs:{\"disabled\":_vm.isDisabled},on:{\"click\":_vm.emitClick}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IconButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IconButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IconButton.vue?vue&type=template&id=3d00828b&scoped=true&\"\nimport script from \"./IconButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./IconButton.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./IconButton.vue?vue&type=style&index=0&id=3d00828b&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3d00828b\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DatePicker',{ref:\"datepicker\",staticClass:\"date-picker\",class:_vm.additionalClass,attrs:{\"mode\":\"single\",\"isExpanded\":\"\",\"isRange\":_vm.isRange,\"value\":_vm.value,\"popover\":_vm.popover,\"inputProps\":_vm.inputProps,\"selectAttribute\":{\n highlight: {\n class: 'selected-date-highlight',\n contentClass: 'selected-date-content',\n },\n },\"dragAttribute\":{\n highlight: {\n class: 'selecting-date-highlight',\n contentClass: 'selecting-date-content',\n },\n },\"masks\":_vm.masks},on:{\"input\":_vm.emitInput},scopedSlots:_vm._u([(!_vm.isInline)?{key:\"default\",fn:function(ref){\n var inputValue = ref.inputValue;\n var updateValue = ref.updateValue;\n var showPopover = ref.showPopover;\n var hidePopover = ref.hidePopover;\nreturn [_c('TextField',{ref:\"textFieldRef\",attrs:{\"isInvalid\":_vm.isInvalid,\"isDisabled\":_vm.isDisabled,\"value\":_vm.convertValueToText(inputValue),\"placeholder\":_vm.placeholder,\"size\":\"small\"},on:{\"change\":function($event){return _vm.handleChangeInputEvent(updateValue, $event)},\"focus\":showPopover,\"blur\":hidePopover},scopedSlots:_vm._u([{key:\"left\",fn:function(ref){\n var focus = ref.focus;\nreturn [_vm._t(\"left\"),(_vm.withLeftIcon)?_c('elm-date-time-calendar-icon',{staticClass:\"icon-left\",attrs:{\"size\":\"18\"},on:{\"click\":function($event){return focus()}}}):_vm._e()]}}],null,true)})]}}:null],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Calendar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Calendar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Calendar.vue?vue&type=template&id=ddfe8b82&scoped=true&\"\nimport script from \"./Calendar.vue?vue&type=script&lang=ts&\"\nexport * from \"./Calendar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Calendar.vue?vue&type=style&index=0&id=ddfe8b82&lang=less&scoped=true&\"\nimport style1 from \"./Calendar.vue?vue&type=style&index=1&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ddfe8b82\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Popover',{ref:\"popover\",attrs:{\"placement\":_vm.placement,\"closeOnContentClick\":_vm.closeOnContentClick,\"popoverTestName\":_vm.testName,\"positionStrategy\":_vm.positionStrategyPopover,\"autoMaxHeight\":_vm.autoMaxHeightPopover},on:{\"hide\":_vm.handlePopoverHide},scopedSlots:_vm._u([{key:\"target\",fn:function(ref){\nvar toggle = ref.toggle;\nvar isVisible = ref.isVisible;\nreturn [_c('elm-button',{attrs:{\"active\":isVisible || _vm.isButtonActive,\"size\":_vm.size,\"color\":_vm.color,\"type\":_vm.isCompact ? 'icon' : 'icon-right',\"disabled\":_vm.isDisabled,\"loading\":_vm.isLoading,\"data-testid\":_vm.buttonTestId},on:{\"click\":toggle}},[(!_vm.isCompact)?[_vm._v(\" \"+_vm._s(_vm.title)+\" \"),(isVisible)?_c('elm-arrows-chevron-up-bold-icon',{attrs:{\"slot\":\"icon\",\"size\":_vm.size === 'large' ? '18' : '16'},slot:\"icon\"}):_c('elm-arrows-chevron-down-bold-icon',{attrs:{\"slot\":\"icon\",\"size\":_vm.size === 'large' ? '18' : '16'},slot:\"icon\"})]:_vm._t(\"compact-view\")],2)]}},{key:\"content\",fn:function(){return [_vm._t(\"custom-dropdown-container\",function(){return [_c('BasicDropdownContainer',[_vm._t(\"default\")],2)]})]},proxy:true}],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DropdownButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DropdownButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DropdownButton.vue?vue&type=template&id=2bcdc2bf&\"\nimport script from \"./DropdownButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./DropdownButton.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DropdownButton.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"basic-dropdown-container\",class:{ 'overlap-content': _vm.overlapContent }},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BasicDropdownContainer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BasicDropdownContainer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BasicDropdownContainer.vue?vue&type=template&id=31df940c&scoped=true&\"\nimport script from \"./BasicDropdownContainer.vue?vue&type=script&lang=ts&\"\nexport * from \"./BasicDropdownContainer.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./BasicDropdownContainer.vue?vue&type=style&index=0&id=31df940c&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"31df940c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({\n content: _vm.tooltip,\n trigger: _vm.tooltip ? 'mouseenter' : 'manual',\n }),expression:\"{\\n content: tooltip,\\n trigger: tooltip ? 'mouseenter' : 'manual',\\n }\"}],staticClass:\"selector-item\",class:{\n 'is-selected': _vm.isSelected,\n 'is-disabled': _vm.isDisabled,\n 'with-checkbox': _vm.withCheckbox,\n 'is-auto-height': _vm.isAutoHeight,\n danger: _vm.intention === 'danger',\n },attrs:{\"data-testid\":\"dropdown-item\"},on:{\"click\":_vm.onClick}},[(_vm.withCheckbox)?_c('CoreCheckbox',{staticClass:\"selector-item-checkbox\",attrs:{\"round\":_vm.roundCheckbox,\"value\":_vm.isSelected}}):_vm._e(),(!!_vm.$slots.icon)?_c('div',{staticClass:\"selector-item-icon selector-item-icon-wrapper\"},[_vm._t(\"icon\")],2):_vm._e(),(_vm.withAvatar)?_c('CoreShapedImage',{staticClass:\"selector-item-avatar\",attrs:{\"shape\":\"circle\",\"size\":24,\"image\":_vm.avatar,\"altText\":_vm.title}}):_vm._e(),_c('div',{staticClass:\"selector-item-text\"},[_vm._t(\"content\",function(){return [_c('span',{attrs:{\"title\":_vm.title},domProps:{\"innerHTML\":_vm._s(_vm.$options.filters !== undefined && _vm.$options.filters.highlight(_vm.title, _vm.search, _vm.highlightColor))}})]})],2),(_vm.label)?_c('span',{staticClass:\"label\",class:{ 'label-active': _vm.labelActive }},[_vm._v(_vm._s(_vm.label))]):_vm._e(),(_vm.withButton)?_c('span',{staticClass:\"selector-item-button\",on:{\"click\":_vm.onButtonClick}},[_c('elm-arrows-arrow-right-bold-icon',{attrs:{\"size\":\"10\"}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DropdownItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DropdownItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DropdownItem.vue?vue&type=template&id=4f67ba49&scoped=true&\"\nimport script from \"./DropdownItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./DropdownItem.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DropdownItem.vue?vue&type=style&index=0&id=4f67ba49&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4f67ba49\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.containerTag,{tag:\"component\",staticClass:\"formfield\",attrs:{\"for\":_vm.generateLabelFor && !_vm.doNotUseLabel ? _vm.elementId : null}},[_vm._t(\"title\",function(){return [_c('h3',{staticClass:\"formfield--title\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")])]}),_vm._t(\"default\",null,{\"elementId\":_vm.elementId}),_vm._t(\"description\",function(){return [(_vm.messages.length)?_c('ul',{staticClass:\"formfield--description\"},_vm._l((_vm.messages),function(message){return _c('li',{key:message},[_vm._v(\" \"+_vm._s(message)+\" \")])}),0):_vm._e()]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FormField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FormField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormField.vue?vue&type=template&id=435ab5ea&scoped=true&\"\nimport script from \"./FormField.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormField.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FormField.vue?vue&type=style&index=0&id=435ab5ea&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"435ab5ea\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group\",class:{ spacing: _vm.addSpacingBetweenItems }},[_vm._t(\"default\",null,{\"isValid\":_vm.isValid,\"errors\":_vm.errors})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FormGroup.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FormGroup.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormGroup.vue?vue&type=template&id=56a5ef0f&scoped=true&\"\nimport script from \"./FormGroup.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormGroup.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FormGroup.vue?vue&type=style&index=0&id=56a5ef0f&scoped=true&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"56a5ef0f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('portal',{attrs:{\"to\":\"modal-host\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isModalVisuallyVisible),expression:\"isModalVisuallyVisible\"}],key:_vm.modalKey,ref:\"refModal\",staticClass:\"modal-window-wrapper\",class:_vm.modalClasses,on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.backdropClickHandler.apply(null, arguments)}}},[_c('div',{staticClass:\"modal-window-container\",class:[_vm.additionalClassContainerWrapper],style:(_vm.modalWindowContainerStyles),attrs:{\"data-testid\":_vm.modalTestId},on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.backdropClickHandler.apply(null, arguments)}}},[(_vm.isModalVisuallyVisible)?_c('ModalWindowDialog',{staticClass:\"modal-window\",class:_vm.modalClass,style:(_vm.modalStyles),attrs:{\"role\":\"dialog\"},on:{\"animationEnd\":_vm.handleAnimationEnd}},[(_vm.showHeader)?_c('div',{staticClass:\"header\"},[_vm._t(\"header\",function(){return [_c('h3',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:(_vm.showTooltipHeader ? { content: _vm.headerText } : null),expression:\"showTooltipHeader ? { content: headerText } : null\"}],staticClass:\"header-title-text\",class:{ 'with-help': _vm.showTooltipHeader }},[_vm._v(\" \"+_vm._s(_vm.headerText)+\" \")])]})],2):_vm._e(),(_vm.showCloseButton)?_c('div',{staticClass:\"close-icon\",on:{\"click\":function($event){return _vm.requestClose('Close button click')}}},[_c('elm-actions-close-regular-icon',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({ content: _vm.closeButtonTooltip, onShow: function () { return !!_vm.closeButtonTooltip; } }),expression:\"{ content: closeButtonTooltip, onShow: () => !!closeButtonTooltip }\"}],attrs:{\"size\":\"24\"}})],1):_vm._e(),_c('div',{staticClass:\"content\",class:{\n scrollable: _vm.isScrollable,\n 'no-header': !_vm.showHeader || (!_vm.$slots['header'] && !_vm.headerText),\n 'with-background': _vm.withBackground,\n 'no-footer': !_vm.$slots['footer'],\n },style:(_vm.contentStyles),on:{\"click\":function($event){return _vm.$emit('contentClick')}}},[_vm._t(\"content\")],2),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.$slots['footer']),expression:\"$slots['footer']\"}],staticClass:\"footer\"},[_vm._t(\"footer\")],2)]):_vm._e()],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ModalWindowDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ModalWindowDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ModalWindowDialog.vue?vue&type=template&id=076b8176&\"\nimport script from \"./ModalWindowDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ModalWindowDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{on:{\"animationend\":_vm.handleAnimationEnd}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { computed, ref } from 'vue';\n\nconst openedModalIds = ref([]);\n\nexport function useModalStack() {\n const lastOpenedModal = computed(() => {\n return openedModalIds.value[openedModalIds.value.length - 1];\n });\n\n const addLastOpenedModal = (modalId: string) => {\n openedModalIds.value.push(modalId);\n };\n\n const removeLastOpenedModal = () => {\n return openedModalIds.value.pop();\n };\n\n const removeIdFromList = (id: string) => {\n openedModalIds.value = openedModalIds.value.filter(openedId => id !== openedId);\n };\n\n const hasOpenedModals = computed(() => {\n return openedModalIds.value.length > 0;\n });\n\n return {\n addLastOpenedModal,\n removeLastOpenedModal,\n lastOpenedModal,\n removeIdFromList,\n hasOpenedModals,\n };\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ModalWindow.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ModalWindow.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ModalWindow.vue?vue&type=template&id=c72298f0&scoped=true&\"\nimport script from \"./ModalWindow.vue?vue&type=script&lang=ts&\"\nexport * from \"./ModalWindow.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ModalWindow.vue?vue&type=style&index=0&id=c72298f0&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c72298f0\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ModalWindowContent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ModalWindowContent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ModalWindowContent.vue?vue&type=template&id=6fa15bb0&scoped=true&\"\nimport script from \"./ModalWindowContent.vue?vue&type=script&lang=ts&\"\nexport * from \"./ModalWindowContent.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ModalWindowContent.vue?vue&type=style&index=0&id=6fa15bb0&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6fa15bb0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal-window-content\"},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal-window-footer\",class:_vm.classes},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ModalWindowFooter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ModalWindowFooter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ModalWindowFooter.vue?vue&type=template&id=3bbd18de&scoped=true&\"\nimport script from \"./ModalWindowFooter.vue?vue&type=script&lang=ts&\"\nexport * from \"./ModalWindowFooter.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ModalWindowFooter.vue?vue&type=style&index=0&id=3bbd18de&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3bbd18de\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ModalWindow',{attrs:{\"verticalAlignment\":\"bottom\",\"appearFrom\":\"slide-up\",\"isVisible\":_vm.isVisible,\"withBackground\":_vm.withBackground,\"isScrollable\":true,\"headerText\":_vm.headerText,\"modalWindowClass\":(\"pinned-modal \" + (_vm.modalWindowClass ? _vm.modalWindowClass : '')),\"additionalClassContainerWrapper\":_vm.additionalClassContainerWrapper,\"showHeader\":_vm.showHeader,\"modalWindowWrapperClass\":\"pinned-modal-wrapper\"},on:{\"request-close\":function($event){return _vm.$emit('request-close')},\"close\":function($event){return _vm.$emit('close')}},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._t(\"header\",function(){return [_c('h2',{staticClass:\"header-title-text\"},[_vm._v(\" \"+_vm._s(_vm.headerText)+\" \")])]})]},proxy:true},{key:\"content\",fn:function(){return [_vm._t(\"custom-content\",function(){return [_c('ModalWindowContent',[_vm._t(\"content\")],2)]})]},proxy:true}],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PinnedModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PinnedModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PinnedModal.vue?vue&type=template&id=2cffdb1e&\"\nimport script from \"./PinnedModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./PinnedModal.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PinnedModal.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"elm-popover\"},[_c('div',{ref:\"targetRef\",class:_vm.targetClasses},[_vm._t(\"target\",null,{\"isVisible\":_vm.isVisible,\"show\":_vm.show,\"hide\":_vm.hide,\"toggle\":_vm.toggle})],2),(_vm.renderToPortal)?[_c('portal',{attrs:{\"to\":_vm.portal}},[(_vm.isMounted)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isContentVisible),expression:\"isContentVisible\"}],ref:\"contentRef\",staticClass:\"content\",class:_vm.contentClass,style:(_vm.popoverStyles),attrs:{\"data-placement\":_vm.actualPlacement},on:{\"click\":_vm.handleContentClick}},[_c('transition',{attrs:{\"name\":\"sliding-fade\"},on:{\"after-leave\":_vm.handleLeaveAnimationEnd}},[(_vm.isVisible)?_c('div',{staticClass:\"animation-wrapper\",attrs:{\"data-testid\":_vm.popoverContentTestId}},[(_vm.isContentVisible)?_vm._t(\"content\",null,{\"hide\":_vm.hide,\"toggle\":_vm.toggle}):_vm._e()],2):_vm._e()])],1):_vm._e()])]:[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isContentVisible),expression:\"isContentVisible\"}],ref:\"contentRef\",staticClass:\"content\",class:_vm.contentClass,style:(_vm.popoverStyles),attrs:{\"data-placement\":_vm.actualPlacement},on:{\"click\":_vm.handleContentClick}},[_c('transition',{attrs:{\"name\":\"sliding-fade\"},on:{\"after-leave\":_vm.handleLeaveAnimationEnd}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isVisible),expression:\"isVisible\"}],staticClass:\"animation-wrapper\",attrs:{\"data-testid\":_vm.popoverContentTestId}},[(_vm.isContentVisible)?_vm._t(\"content\",null,{\"hide\":_vm.hide,\"toggle\":_vm.toggle}):_vm._e()],2)])],1)]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import type { Ref } from 'vue';\nimport { useEventListener, tryOnUnmounted, Fn, unrefElement, type MaybeElement } from '@vueuse/core';\n\nconst events = ['click', 'touchstart'] as const;\ntype EventType = WindowEventMap[typeof events[number]];\n\nexport function onClickOutside(targets: Ref[], handler: (evt: EventType) => void, capture = false) {\n const listener = (event: EventType) => {\n const els = targets.map(unrefElement);\n\n if (els.some(el => el && (el === event.target || event.composedPath().includes(el)))) {\n return;\n }\n\n handler(event);\n };\n\n let disposables: Fn[] = events.map(event => useEventListener(window, event, listener, { passive: true, capture }));\n\n const stop = () => {\n disposables.forEach(stop => stop());\n disposables = [];\n };\n\n tryOnUnmounted(stop);\n\n return stop;\n}\n","import { computed, ref, Ref } from 'vue';\nimport { Options, StrictModifiers, Modifier, detectOverflow } from '@popperjs/core';\n\nexport const usePopperOptions = (\n placement: Ref,\n strategy: Ref,\n autoMaxHeight: Ref,\n autoHide: Ref\n) => {\n const isPopperEventListenersEnabled = ref(false);\n const actualPlacement = ref(placement.value);\n\n const syncPlacement = computed>(() => ({\n name: 'syncPlacement',\n enabled: true,\n /** It's intended to place the value somewhere in the DOM later */\n phase: 'write',\n fn: ({ state }) => {\n actualPlacement.value = state.placement;\n },\n }));\n\n const preventOverflowModifier = computed(() => ({\n name: 'preventOverflow',\n options: {\n padding: 8,\n /**\n * Scan reference (target) context for scrollable containers to detect boundary element.\n * By default it scans popper (popover) context which isn't suitable for us since we're using portals.\n */\n altBoundary: true,\n },\n }));\n\n /**\n * Popper modifier which is made by community\n * {@link https://popper.js.org/docs/v2/modifiers/community-modifiers/}\n *\n * Source:\n * {@link https://github.com/atomiks/popper.js/blob/master/src/modifiers/maxSize.js}\n *\n * Docs:\n * {@link https://github.com/atomiks/popper.js/tree/master/packages/popper-max-size-modifier}\n */\n const maxSizeModifier = computed>(() => ({\n name: 'maxSize',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['offset', 'preventOverflow', 'flip'],\n fn({ state, name, options }) {\n const overflow = detectOverflow(state, options);\n const { x, y } = state.modifiersData.preventOverflow || { x: 0, y: 0 };\n const { width, height } = state.rects.popper;\n const [basePlacement] = state.placement.split('-');\n\n const widthProp = basePlacement === 'left' ? 'left' : 'right';\n const heightProp = basePlacement === 'top' ? 'top' : 'bottom';\n\n const offset = 8;\n\n state.modifiersData[name] = {\n width: width - overflow[widthProp] - x - offset,\n height: height - overflow[heightProp] - y - offset,\n };\n },\n }));\n\n /**\n * Docs:\n * {@link https://github.com/atomiks/popper.js/tree/master/packages/popper-max-size-modifier}\n */\n const applyMaxSizeModifier = computed>(() => ({\n name: 'applyMaxSize',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['maxSize'],\n fn({ state }) {\n const { height } = state.modifiersData.maxSize;\n state.styles.popper.maxHeight = `${height}px`;\n },\n }));\n\n const flipModifier = computed(() => ({\n name: 'flip',\n options: {\n /**\n * The same as above.\n */\n altBoundary: true,\n },\n }));\n\n /** Detect if the popover is getting out of a boundary. */\n const hideModifier = computed(() => ({\n name: 'hide',\n enabled: autoHide.value,\n }));\n\n const offsetModifier = computed(() => ({\n name: 'offset',\n options: {\n offset: [0, 8],\n },\n }));\n\n const eventListenersModifier = computed(() => ({\n name: 'eventListeners',\n enabled: isPopperEventListenersEnabled.value,\n }));\n\n const options = computed>(() => ({\n strategy: strategy.value,\n placement: placement.value,\n modifiers: [\n eventListenersModifier.value,\n offsetModifier.value,\n preventOverflowModifier.value,\n flipModifier.value,\n ...(autoMaxHeight.value ? [maxSizeModifier.value, applyMaxSizeModifier.value] : []),\n hideModifier.value,\n syncPlacement.value,\n ],\n }));\n\n return {\n options,\n actualPlacement,\n setListenersEnabled(value: boolean) {\n isPopperEventListenersEnabled.value = value;\n },\n };\n};\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Popover.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Popover.vue?vue&type=script&lang=ts&\"","\n\n\n\n\n","import { ref, watch, type Ref } from 'vue';\nimport { createPopper, Options } from '@popperjs/core';\nimport { Instance } from '@popperjs/core';\n\nimport { MaybeElement, unrefElement } from '@vueuse/core';\n\nexport function usePopper(options: Ref>) {\n const targetRef: Ref = ref(null);\n const contentRef: Ref = ref(null);\n let popper: Instance | null = null;\n\n watch(\n [targetRef, contentRef],\n ([target, content], _, onInvalidate) => {\n const targetEl = unrefElement(target);\n const popperEl = unrefElement(content);\n\n if (!(targetEl instanceof HTMLElement)) {\n return;\n }\n if (!(popperEl instanceof HTMLElement)) {\n return;\n }\n\n popper = createPopper(targetEl, popperEl, options.value);\n onInvalidate(popper.destroy);\n },\n { immediate: true }\n );\n\n watch(options, options => {\n popper?.setOptions(options);\n });\n\n return {\n targetRef,\n contentRef,\n update() {\n popper?.update();\n },\n };\n}\n","import { render, staticRenderFns } from \"./Popover.vue?vue&type=template&id=5afc5fc5&scoped=true&\"\nimport script from \"./Popover.vue?vue&type=script&lang=ts&\"\nexport * from \"./Popover.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Popover.vue?vue&type=style&index=0&id=5afc5fc5&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5afc5fc5\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"progress-bar\",class:(\"label-\" + _vm.labelPosition)},[(_vm.withLabel)?_c('div',{staticClass:\"percentage-label\",style:(_vm.computedLabelStyles)},[_vm._v(_vm._s(_vm.formattedValue))]):_vm._e(),_c('div',{staticClass:\"bar-wrapper\"},[_c('div',{staticClass:\"empty\"}),_c('div',{staticClass:\"filled\",style:(_vm.computedStyles)})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProgressBar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProgressBar.vue?vue&type=template&id=30299a74&scoped=true&\"\nimport script from \"./ProgressBar.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProgressBar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProgressBar.vue?vue&type=style&index=0&id=30299a74&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"30299a74\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Selector',{class:{ disabled: _vm.isDisabled, locked: _vm.isLocked },attrs:{\"options\":_vm.options,\"renderToPortal\":false,\"closeOnSelect\":_vm.closeOnSelect,\"popupTestName\":_vm.testName},on:{\"select\":_vm.onSelect},scopedSlots:_vm._u([{key:\"input\",fn:function(ref){\nvar toggle = ref.toggle;\nvar isOpen = ref.isOpen;\nreturn [_c('TextField',{staticClass:\"selector\",attrs:{\"size\":_vm.size,\"value\":_vm.stringValue,\"iconRight\":_vm.getIconRight(isOpen),\"placeholder\":_vm.placeholder,\"isReadOnly\":\"\",\"isSelectable\":false,\"color\":_vm.color,\"isDisabled\":_vm.isDisabled,\"testId\":(\"selector-field-\" + _vm.testName)},nativeOn:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return toggle.apply(null, arguments)}}})]}},{key:\"option\",fn:function(ref){\nvar option = ref.option;\nvar select = ref.select;\nreturn [_c('DropdownItem',{key:option,attrs:{\"isSelected\":option === _vm.value,\"title\":_vm.displayOptionConverter ? _vm.displayOptionConverter(option) : option},on:{\"click\":function($event){return select(option)}}})]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BasicSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BasicSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BasicSelector.vue?vue&type=template&id=0090ea77&scoped=true&\"\nimport script from \"./BasicSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./BasicSelector.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./BasicSelector.vue?vue&type=style&index=0&id=0090ea77&scoped=true&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0090ea77\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"selector\"},[_c('Popover',{ref:\"dropdown\",attrs:{\"autoMaxHeight\":\"\",\"sameWidth\":\"\",\"isTargetInline\":false,\"renderToPortal\":_vm.renderToPortal,\"portal\":_vm.portal,\"popoverTestName\":_vm.popupTestName},scopedSlots:_vm._u([{key:\"target\",fn:function(ref){\nvar isVisible = ref.isVisible;\nvar hide = ref.hide;\nvar show = ref.show;\nvar toggle = ref.toggle;\nreturn [_vm._t(\"input\",null,{\"searchTerm\":_vm.searchTerm,\"isOpen\":isVisible,\"close\":hide,\"open\":show,\"toggle\":toggle,\"input\":_vm.inputSearchTerm,\"isLoading\":_vm.isLoading})]}},{key:\"content\",fn:function(){return [_c('BasicDropdownContainer',{ref:\"optionsContainer\",style:(_vm.contentStyles),attrs:{\"overlapContent\":true}},[_c('FadeTransition',[(_vm.filteredOptions.length === 0 && _vm.isLoading === false)?[_c('div',[_vm._t(\"no-options\")],2)]:(_vm.isLoading && _vm.showLoaderItem)?[_vm._t(\"loader-element\",function(){return [_c('div',[_c('DropdownItem',{staticClass:\"list-loader\",attrs:{\"icon\":\"reset\",\"title\":_vm.trans('spa.label.selector.loading')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('elm-date-time-reset-icon')]},proxy:true}])})],1)]})]:(_vm.filteredOptions.length)?_c('div',{staticClass:\"items-container\"},[_vm._l((_vm.filteredOptions),function(option,index){return [_vm._t(\"option\",null,{\"searchTerm\":_vm.searchTerm,\"option\":option,\"select\":_vm.select,\"isSelected\":_vm.isSelected(option),\"index\":index,\"isLoading\":_vm.isLoading})]}),_vm._t(\"options\",null,{\"options\":_vm.filteredOptions,\"select\":_vm.select,\"isSelected\":_vm.isSelected,\"searchTerm\":_vm.searchTerm,\"isLoading\":_vm.isLoading}),_c('div',{directives:[{name:\"observe-visibility\",rawName:\"v-observe-visibility\",value:(_vm.onScrolledToBottom),expression:\"onScrolledToBottom\"}]}),(_vm.isLoadingMore)?_vm._t(\"loader-more-element\",function(){return [_c('DropdownItem',{staticClass:\"list-loader\",attrs:{\"icon\":\"reset\",\"title\":_vm.trans('spa.label.selector.loading')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('elm-date-time-reset-icon')]},proxy:true}],null,false,1976678360)})]}):_vm._e()],2):_vm._e()],2)],1)]},proxy:true}],null,true)})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Selector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Selector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Selector.vue?vue&type=template&id=3a0efc2b&scoped=true&\"\nimport script from \"./Selector.vue?vue&type=script&lang=ts&\"\nexport * from \"./Selector.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Selector.vue?vue&type=style&index=0&id=3a0efc2b&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3a0efc2b\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"tab-button\",class:[(\"size-\" + _vm.size), { active: _vm.isActive }],attrs:{\"role\":\"tab\",\"aria-selected\":_vm.isActive,\"title\":_vm.title},on:{\"click\":_vm.handleButtonClick}},[_vm._t(\"default\",function(){return [_vm._v(\" \"+_vm._s(_vm.title)+\" \")]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TabButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TabButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TabButton.vue?vue&type=template&id=33cd9890&scoped=true&\"\nimport script from \"./TabButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./TabButton.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TabButton.vue?vue&type=style&index=0&id=33cd9890&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"33cd9890\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-button-group\",attrs:{\"role\":\"tablist\"}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TabButtonGroup.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TabButtonGroup.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TabButtonGroup.vue?vue&type=template&id=0eada2c2&scoped=true&\"\nimport script from \"./TabButtonGroup.vue?vue&type=script&lang=ts&\"\nexport * from \"./TabButtonGroup.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TabButtonGroup.vue?vue&type=style&index=0&id=0eada2c2&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0eada2c2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('keep-alive',[_c(_vm.isShown ? 'TabSlotWrapper' : undefined,{tag:\"component\",staticClass:\"tab-content\",attrs:{\"role\":\"tabpanel\"}},[_vm._t(\"default\")],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TabSlotWrapper.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TabSlotWrapper.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TabSlotWrapper.vue?vue&type=template&id=ed998f44&\"\nimport script from \"./TabSlotWrapper.vue?vue&type=script&lang=ts&\"\nexport * from \"./TabSlotWrapper.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TabContent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TabContent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TabContent.vue?vue&type=template&id=62eeb0c0&\"\nimport script from \"./TabContent.vue?vue&type=script&lang=ts&\"\nexport * from \"./TabContent.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tabs\",attrs:{\"data-testid\":\"tabs\"}},[_c('TabButtonGroup',{staticClass:\"button-group\",class:{ shown: _vm.showButtons }},[(!_vm.hasTabButtonSlot)?_c('TabButtonAnimation',{key:_vm.showButtons,attrs:{\"refs\":_vm.buttonRefs,\"activeTabIndex\":_vm.activeTabIndex},on:{\"end\":_vm.syncVisibleActive}}):_vm._e(),(_vm.hasTabButtonSlot)?[_vm._l((_vm.tabKeys),function(tabKey,index){return _vm._t(\"tabButton\",null,{\"title\":_vm.titles[index],\"tabKey\":tabKey,\"tabIndex\":index,\"setActiveTab\":_vm.setActiveTab,\"isTabActive\":_vm.isTabActive})})]:_vm._l((_vm.titles),function(title,index){return [_c('TabButton',{key:_vm.tabKeys[index],ref:\"buttonRefs\",refInFor:true,attrs:{\"data-testid\":(\"tab-button-\" + (_vm.tabKeys[index])),\"title\":title,\"isActive\":_vm.isTabActiveVisible(_vm.tabKeys[index])},on:{\"click\":function($event){return _vm.handleTabButtonClick(_vm.tabKeys[index], index)}}})]})],2),_vm._t(\"default\",null,{\"activeTab\":_vm.activeTab,\"isTabActive\":_vm.isTabActive})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TabButtonAnimation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TabButtonAnimation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TabButtonAnimation.vue?vue&type=template&id=00ffaa1a&scoped=true&\"\nimport script from \"./TabButtonAnimation.vue?vue&type=script&lang=ts&\"\nexport * from \"./TabButtonAnimation.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TabButtonAnimation.vue?vue&type=style&index=0&id=00ffaa1a&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"00ffaa1a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"runner\",staticClass:\"tab-runner\"})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Tabs.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Tabs.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Tabs.vue?vue&type=template&id=0baa7766&scoped=true&\"\nimport script from \"./Tabs.vue?vue&type=script&lang=ts&\"\nexport * from \"./Tabs.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Tabs.vue?vue&type=style&index=0&id=0baa7766&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0baa7766\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"tag\",class:_vm.classes,attrs:{\"title\":_vm.title,\"data-testid\":\"tag\"},on:{\"click\":_vm.onClick}},[_vm._t(\"left-icon\"),_c('span',{staticClass:\"tag-text\",class:_vm.textClasses},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),_vm._t(\"right-icon\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawTag.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RawTag.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RawTag.vue?vue&type=template&id=3f32cb7e&scoped=true&\"\nimport script from \"./RawTag.vue?vue&type=script&lang=ts&\"\nexport * from \"./RawTag.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./RawTag.vue?vue&type=style&index=0&id=3f32cb7e&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3f32cb7e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('RawTag',_vm._b({class:[_vm.action, { 'action-tag': _vm.action }],on:{\"click\":_vm.onClick},scopedSlots:_vm._u([{key:\"right-icon\",fn:function(){return [_vm._t(\"icon\",function(){return [_c(_vm.icon,{tag:\"component\",attrs:{\"size\":_vm.iconSize}})]})]},proxy:true},{key:\"left-icon\",fn:function(){return [_vm._t(\"left-icon\")]},proxy:true}],null,true)},'RawTag',_vm.$props,false))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Tag.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Tag.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Tag.vue?vue&type=template&id=72effc43&scoped=true&\"\nimport script from \"./Tag.vue?vue&type=script&lang=ts&\"\nexport * from \"./Tag.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Tag.vue?vue&type=style&index=0&id=72effc43&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"72effc43\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isLoading)?_c('SkeletonLoader',{staticClass:\"textfield--skeleton\",attrs:{\"height\":_vm.skeletonHeight}}):_c('div',{staticClass:\"textfield\",class:_vm.classes,on:{\"mouseenter\":function($event){_vm.isHovered = true},\"mouseleave\":function($event){_vm.isHovered = false}}},[_vm._t(\"left\",function(){return [(_vm.withAvatar)?_c('CoreShapedImage',{staticClass:\"textfield--avatar\",attrs:{\"shape\":\"circle\",\"size\":24,\"image\":_vm.avatarImage,\"altText\":_vm.avatarAltText}}):_vm._e(),_c(_vm.iconLeft,{tag:\"component\",staticClass:\"textfield--icon textfield--icon-left\",attrs:{\"size\":\"18\"}})]},{\"focus\":_vm.focus}),_c('input',_vm._b({ref:\"input\",staticClass:\"textfield--input\",attrs:{\"type\":_vm.type,\"placeholder\":_vm.placeholder,\"disabled\":_vm.isDisabled,\"readonly\":_vm.isReadOnly,\"data-testid\":_vm.testId},domProps:{\"value\":_vm.value},on:{\"input\":_vm.onInput,\"focus\":_vm.onFocus,\"blur\":_vm.onBlur,\"change\":_vm.onChange,\"keydown\":_vm.onKeyDown}},'input',_vm.$attrs,false)),_vm._t(\"right\",function(){return [_c(_vm.iconRight,{tag:\"component\",staticClass:\"textfield--icon textfield--icon-right\",attrs:{\"size\":\"18\"}}),(_vm.label)?_c('span',{staticClass:\"label\",class:_vm.labelClass},[_vm._v(_vm._s(_vm.label))]):_vm._e(),(_vm.withButton)?_c('IconButton',{staticClass:\"textfield--button\",attrs:{\"size\":\"small\",\"color\":_vm.buttonColor},on:{\"click\":_vm.onButtonClick}},[_c('elm-arrows-arrow-right-bold-icon',{attrs:{\"size\":\"10\"}})],1):_vm._e()]},{\"focus\":_vm.focus})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TextField.vue?vue&type=template&id=8f2fd142&scoped=true&\"\nimport script from \"./TextField.vue?vue&type=script&lang=ts&\"\nexport * from \"./TextField.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TextField.vue?vue&type=style&index=0&id=8f2fd142&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8f2fd142\",\n null\n \n)\n\nexport default component.exports","import { mobileIsUnsupportedFlag } from '@/common/services/mobile-fallback';\nimport { PREFIX_IN_BROWSER_TAB } from '@/common/platform-configuration/global-variables';\nimport { RouteConfig } from 'vue-router';\nimport { checkIfRouteAvailableByPlanFeatures } from '@/plan-features/routes';\nimport PlanFeaturesList from '@/plan-features/plan-features-list';\nimport { Permissions } from '@/permissions';\n\nconst API_OVERVIEW_PAGE = () => import('./pages/APITokensOverviewPage.vue');\n\nexport const enum AdminApiRoutes {\n Integrations = 'integrations',\n}\n\nconst routes: RouteConfig[] = [\n {\n path: `${AdminApiRoutes.Integrations}`,\n name: AdminApiRoutes.Integrations,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Integrations`,\n ...mobileIsUnsupportedFlag,\n showNavigationSidebar: true,\n requiredPermissions: [Permissions.AdminApi],\n },\n component: API_OVERVIEW_PAGE,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.API),\n },\n];\n\nexport default routes;\n","export enum EntitiesList {\n BILLING = 'billing',\n PERSONA = 'persona',\n ACCOUNT = 'account',\n SUBSCRIPTION = 'subscription',\n DETAILS = 'details',\n PLANS = 'plans',\n INVOICES = 'invoices',\n RECEIPT = 'receipt',\n CARD = 'card',\n LINK = 'link',\n EDIT = 'edit',\n DIBS_STATUS = 'dibs-status',\n VERIFY_LIMITS = 'verify-limits',\n}\n\nexport enum RestrictionsEntitiesList {\n USERS = 'users',\n PERSONA = 'persona',\n RESTRICTIONS = 'restrictions',\n USERLIMITWARNING = 'user-limit-warning',\n}\n","import { FrequencyInterval } from '@eloomi/eloomi-billing-persona-client/1.0';\n\nexport interface SubscriptionDetails {\n currency: string | CurrencyWithSymbol;\n next_payment_date: Date;\n plan: string;\n price_per_user: number;\n users: number;\n frequency: string;\n color: string;\n total_price: number;\n is_free_plan: boolean;\n}\n\nexport interface Plan {\n name: Plans;\n icon: string;\n color: string;\n active: boolean;\n users_included: number;\n free_courses_included: number;\n free_users_included: number;\n}\nexport type Plans = 'Play' | 'Learn' | 'Engage' | 'Develop';\nexport type PaymentFrequency = 'Monthly' | 'Quarterly' | 'Annually';\nexport type UsersAmount = '50' | '100' | '250' | '500' | '1000' | '2500' | '5000' | '10000';\nexport type Currency = 'DKK' | 'EUR' | 'USD' | 'GBP';\nexport interface CurrencyWithSymbol {\n code: string;\n symbol: string;\n}\nexport interface FrequencyAndDiscount {\n name: FrequencyInterval;\n discount: number;\n}\nexport interface PlansResponse {\n prices: {\n [key in Currency]: {\n // tslint:disable-next-line:no-shadowed-variable\n [key in Plans]: {\n // tslint:disable-next-line:no-shadowed-variable\n [key in UsersAmount]: {\n // tslint:disable-next-line:no-shadowed-variable\n [key in PaymentFrequency]: {\n price_total_per_month: number;\n price_per_user_per_month: number;\n discount_percentage: number;\n price_total_per_billing_cycle: number;\n };\n };\n };\n };\n };\n currencies: CurrencyWithSymbol[];\n has_account: boolean;\n current_plan: Plans;\n current_currency: null | string;\n current_frequency: null | string;\n current_size: null | UsersAmount;\n plans: Plan[];\n}\n\nexport interface AccountDetails {\n company_name: string;\n address: string;\n city: string;\n zip: string;\n country: string;\n state: string | null;\n vat: string;\n recipient_name: string;\n recipient_email: string;\n}\n\nexport interface GetCardLinkPayload {\n return_url: string;\n currency: Currency;\n frequency: PaymentFrequency;\n size: UsersAmount;\n plan: Plans;\n}\n\nexport interface GetCardLinkResponse {\n is_redirect_required: boolean;\n redirect_url: string;\n}\n\nexport interface PutSubscriptionPayload {\n plan: Plans;\n size: UsersAmount;\n frequency: PaymentFrequency;\n currency: Currency;\n schedule_for_next: boolean;\n}\n\nexport interface GetCardLinkEditResponse {\n redirect_url: string;\n is_redirect_required: boolean;\n}\n\nexport interface DowngradeRestriction {\n type: 'general_user_max' | 'general_course_max';\n current_count: number;\n scheduled_count: number;\n}\nexport interface DowngradeRestrictionResponse {\n error?: string;\n reason?: string;\n scheduled_restrictions_details: DowngradeRestriction[];\n}\nexport interface DeleteSubscriptionResponse {\n last_date_of_subscription: string;\n}\n\nexport enum BillingAction {\n ChangeSubscription = 'changeSubscription',\n EditCard = 'editCard',\n}\n","import { EntitiesList } from '@/admin/billing/models/entities.enum';\nimport { CoreQuery } from '@/common/services/core-query';\nimport { httpClientCoreQuery } from '@/api/http-client';\nimport { AxiosPromise } from 'axios';\nimport { GetCardLinkEditResponse } from '@/admin/billing/models';\n\nimport {\n CardPersonaApiFactory,\n Currency,\n FrequencyInterval,\n PlanName,\n PlanSize,\n} from '@eloomi/eloomi-billing-persona-client/1.0';\nimport { authorizeClient } from '@/api/http-client';\n\nconst cardClient = authorizeClient(CardPersonaApiFactory);\n\ntype GetCardLinkPayload = {\n returnUrl: string;\n plan: PlanName;\n size: PlanSize;\n frequency: FrequencyInterval;\n currency: Currency;\n};\n\nexport function getCardLink(GetCardLinkPayload: GetCardLinkPayload) {\n return cardClient.getCards(\n GetCardLinkPayload.returnUrl,\n GetCardLinkPayload.plan,\n GetCardLinkPayload.size,\n GetCardLinkPayload.frequency,\n GetCardLinkPayload.currency\n );\n}\n\nexport function getCardLinkEdit(returnUrl: string): AxiosPromise {\n const q = new CoreQuery()\n .path([\n EntitiesList.BILLING,\n EntitiesList.PERSONA,\n EntitiesList.ACCOUNT,\n EntitiesList.CARD,\n EntitiesList.LINK,\n EntitiesList.EDIT,\n ])\n .param({ return_url: returnUrl });\n return httpClientCoreQuery.get(q);\n}\n\nexport function dibsStatus(payload): AxiosPromise {\n const q = new CoreQuery().path([\n EntitiesList.BILLING,\n EntitiesList.PERSONA,\n EntitiesList.ACCOUNT,\n EntitiesList.CARD,\n EntitiesList.DIBS_STATUS,\n ]);\n return httpClientCoreQuery.post(q, payload);\n}\n","import { EntitiesList } from '@/admin/billing/models/entities.enum';\nimport { CoreQuery } from '@/common/services/core-query';\nimport { httpClientCoreQuery } from '@/api/http-client';\nimport { DowngradeRestriction } from '@/admin/billing/models';\nimport { AxiosPromise } from 'axios';\n\nimport { PutSubscriptionRequest, SubscriptionPersonaApiFactory } from '@eloomi/eloomi-billing-persona-client/1.0';\nimport { authorizeClient } from '@/api/http-client';\n\nconst subscriptionClient = authorizeClient(SubscriptionPersonaApiFactory);\n\nexport function getCurrentPlanDetails() {\n return subscriptionClient.getActiveSubscription();\n}\n\nexport async function deleteSubscription() {\n return subscriptionClient.deleteSubscription();\n}\n\nexport async function putSubscription(payload: PutSubscriptionRequest) {\n return subscriptionClient.putSubscription(payload);\n}\n\nexport function verifyLimits(size?): AxiosPromise {\n const q = new CoreQuery().path([\n EntitiesList.BILLING,\n EntitiesList.PERSONA,\n EntitiesList.ACCOUNT,\n EntitiesList.SUBSCRIPTION,\n EntitiesList.VERIFY_LIMITS,\n ]);\n if (size) {\n q.param('size', size);\n }\n\n return httpClientCoreQuery.get(q);\n}\n","import { mobileIsUnsupportedFlag } from '@/common/services/mobile-fallback';\nimport { PREFIX_IN_BROWSER_TAB } from '@/common/platform-configuration/global-variables';\nimport { RouteConfig } from 'vue-router';\nimport store, { smartRootModule } from '@/main/baseStore';\nimport { redirectIfGuard } from '@/common/services/redirectIf.guard';\nimport { guards } from '@/main/multipleGuardsHandler';\nimport { isPageEnteredFromBrowserBackForwardButton } from '@/common/services/back-button-accessing-page.guard';\nimport { checkIfRouteAvailableByPlanFeatures } from '@/plan-features/routes';\nimport PlanFeaturesList from '@/plan-features/plan-features-list';\nimport { Permissions } from '@/permissions';\n\nconst BILLING_CONFIRM_PAGE = () => import('./pages/BillingConfirmationPage.vue');\nconst BILLING_ADMINISTRATION_PAGE = () => import('./pages/BillingAdministrationPage.vue');\nconst BILLING_ROOT_PAGE = () => import('./pages/BillingRootPage.vue');\nconst CHOOSE_BILLING_PAGE = () => import('./pages/ChooseBillingPlanPage.vue');\nconst MODIFY_BILLING_PAGE = () => import('./pages/ModifyBillingConfirmationPage.vue');\n\nexport const enum AdminBillingRoutes {\n BILLING = 'billing',\n CONFIRM = 'confirm',\n BILLING_CONFIRM = 'billing-confirm',\n CHANGE = 'change',\n MODIFY = 'modify',\n}\n\nconst doesUserHasAccount = () => {\n const plansModule = smartRootModule.context(store).modules.plansStore;\n\n return Boolean(plansModule.state.plansResponse?.has_account);\n};\n\nconst routes: RouteConfig[] = [\n {\n path: `${AdminBillingRoutes.BILLING}`,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Billing`,\n ...mobileIsUnsupportedFlag,\n showNavigationSidebar: true,\n requiredPermissions: [Permissions.AdminBilling],\n },\n component: BILLING_ROOT_PAGE,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.BILLING),\n children: [\n {\n path: ``,\n name: AdminBillingRoutes.BILLING,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Billing`,\n ...mobileIsUnsupportedFlag,\n showNavigationSidebar: true,\n isChoosePlanButtonVisible: false,\n },\n component: BILLING_ADMINISTRATION_PAGE,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.BILLING),\n },\n {\n path: `${AdminBillingRoutes.CHANGE}`,\n name: AdminBillingRoutes.CHANGE,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Billing`,\n ...mobileIsUnsupportedFlag,\n isChoosePlanButtonVisible: false,\n },\n component: CHOOSE_BILLING_PAGE,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.BILLING),\n },\n {\n path: `${AdminBillingRoutes.CHANGE}/${AdminBillingRoutes.CONFIRM}`,\n name: AdminBillingRoutes.BILLING_CONFIRM,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Billing`,\n ...mobileIsUnsupportedFlag,\n defaultBackRoute: AdminBillingRoutes.CHANGE,\n isChoosePlanButtonVisible: false,\n },\n component: BILLING_CONFIRM_PAGE,\n beforeEnter: guards([\n redirectIfGuard(() => doesUserHasAccount(), AdminBillingRoutes.MODIFY),\n isPageEnteredFromBrowserBackForwardButton(AdminBillingRoutes.CHANGE),\n checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.BILLING),\n ]),\n },\n {\n path: `${AdminBillingRoutes.CHANGE}/${AdminBillingRoutes.MODIFY}`,\n name: AdminBillingRoutes.MODIFY,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Billing`,\n ...mobileIsUnsupportedFlag,\n defaultBackRoute: AdminBillingRoutes.CHANGE,\n isChoosePlanButtonVisible: false,\n },\n component: MODIFY_BILLING_PAGE,\n beforeEnter: guards([\n redirectIfGuard(() => !doesUserHasAccount(), AdminBillingRoutes.BILLING_CONFIRM),\n checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.BILLING),\n ]),\n },\n ],\n },\n];\n\nexport default routes;\n","import { NavigationGuardNext, Route } from 'vue-router';\n\nexport function isPageEnteredFromBrowserBackForwardButton(routeName: string) {\n return async (_to: Route, _from: Route, next: NavigationGuardNext) => {\n if (\n window.performance &&\n window.performance.navigation.type == window.performance.navigation.TYPE_BACK_FORWARD\n ) {\n next({ name: routeName });\n } else {\n return;\n }\n };\n}\n","import { authorizeClient } from '@/api/http-client';\nimport { AccountDetails } from '@/admin/billing/models';\nimport { AccountPersonaApiFactory, PutAccountRequest } from '@eloomi/eloomi-billing-persona-client/1.0';\n\nconst accountClient = authorizeClient(AccountPersonaApiFactory);\n\nexport function getAccountDetails(): Promise {\n return accountClient.getAccount().then(({ data }) => data as AccountDetails);\n}\n\nexport function putAccountDetails(accountDetails: AccountDetails) {\n return accountClient.putAccount(accountDetails as PutAccountRequest);\n}\n","import { Module, Mutations, Actions, createMapper, Getters } from 'vuex-smart-module';\nimport { Vue } from 'vue-property-decorator';\nimport { AccountDetails, DowngradeRestriction, DowngradeRestrictionResponse } from '@/admin/billing/models';\nimport { verifyLimits } from '@/admin/billing/providers/subscription';\nimport { getAccountDetails, putAccountDetails } from '@/admin/billing/providers/account';\nimport { checkIsAxiosError } from '@/common/services/check-is-axios-error';\n\ninterface ModalState {\n visible: boolean;\n data: T | null;\n}\n\ninterface DowngradeWarningData {\n type: 'users' | 'plan';\n oldUsersNumber: number | string;\n newUsersNumber: number | string;\n oldPlan: string;\n newPlan: string;\n}\n\nclass State {\n public userLimitReachedModalShown = false;\n public closePlanModalShown = false;\n public billingDetailsModalShown = false;\n public accountDetails: AccountDetails = {\n company_name: '',\n vat: '',\n address: '',\n city: '',\n zip: '',\n state: '',\n country: '',\n recipient_name: '',\n recipient_email: '',\n };\n public cancelPlanModal: ModalState = {\n visible: false,\n data: null,\n };\n public downgradeModal: ModalState = {\n visible: false,\n data: null,\n };\n public downgradeWarningModal: ModalState = {\n visible: false,\n data: null,\n };\n public contactUsModal: ModalState = {\n visible: false,\n data: null,\n };\n}\n\nclass StoreMutations extends Mutations {\n public showLimitReachedModal() {\n this.state.userLimitReachedModalShown = true;\n }\n\n public closeLimitReachedModal() {\n this.state.userLimitReachedModalShown = false;\n }\n\n public showClosePlanModal() {\n this.state.closePlanModalShown = true;\n }\n\n public closeClosePlanModal() {\n this.state.closePlanModalShown = false;\n }\n\n public showCancelPlanModal(data: DowngradeRestrictionResponse) {\n this.state.cancelPlanModal.data = data;\n this.state.cancelPlanModal.visible = true;\n }\n\n public closeCancelPlanModal() {\n this.state.cancelPlanModal.data = null;\n this.state.cancelPlanModal.visible = false;\n }\n\n public setAccountDetails(details: AccountDetails) {\n this.state.accountDetails = details;\n }\n\n public updateAccountDetails(details: Partial) {\n this.state.accountDetails = {\n ...this.state.accountDetails,\n ...(details as AccountDetails),\n };\n }\n\n public showDowngradeModal(data: DowngradeRestriction[]) {\n this.state.downgradeModal.data = data;\n this.state.downgradeModal.visible = true;\n }\n\n public closeDowngradeModal() {\n this.state.downgradeModal.data = null;\n this.state.downgradeModal.visible = false;\n }\n\n public showDowngradeWarningModal(data: DowngradeWarningData) {\n this.state.downgradeWarningModal.data = data;\n this.state.downgradeWarningModal.visible = true;\n }\n\n public closeDowngradeWarningModal() {\n this.state.downgradeWarningModal.data = null;\n this.state.downgradeWarningModal.visible = false;\n }\n\n public showContactUsModal() {\n this.state.contactUsModal.visible = true;\n }\n\n public closeContactUsModal() {\n this.state.contactUsModal.visible = false;\n }\n\n public showBillingDetailsModal() {\n this.state.billingDetailsModalShown = true;\n }\n\n public closeBillingDetailsModal() {\n this.state.billingDetailsModalShown = false;\n }\n}\n\nclass StoreGetters extends Getters {}\n\nclass StoreActions extends Actions {\n public async openCancelPlanModal() {\n const limitsResponse = await verifyLimits();\n const allowedToDowngrade = limitsResponse.data.length === 0;\n\n if (allowedToDowngrade) {\n this.mutations.showClosePlanModal();\n } else {\n this.mutations.showCancelPlanModal({\n scheduled_restrictions_details: limitsResponse.data,\n });\n }\n }\n\n public async loadAccountDetails() {\n try {\n this.mutations.setAccountDetails(await getAccountDetails());\n } catch (e) {\n console.error('Unable to fetch account details');\n }\n }\n\n public async saveAccountDetails() {\n try {\n putAccountDetails(this.state.accountDetails!);\n } catch (e) {\n console.error('Unable to save company details');\n }\n }\n\n public catchSavingError(error) {\n if (checkIsAxiosError(error)) {\n const scheduledRestrictionError = error.response?.data.reason === 'scheduledRestrictions';\n\n if (error.response?.status === 400 && scheduledRestrictionError) {\n this.mutations.showDowngradeModal(error.response.data.scheduled_restrictions_details);\n return;\n }\n }\n }\n}\n\nexport const store = new Module({\n state: State,\n mutations: StoreMutations,\n getters: StoreGetters,\n actions: StoreActions,\n});\n\nexport const billingAdministrationStoreMapper = createMapper(store);\nexport const BillingAdministrationMappedStore = Vue.extend({\n computed: {\n ...billingAdministrationStoreMapper.mapState([\n 'userLimitReachedModalShown',\n 'closePlanModalShown',\n 'billingDetailsModalShown',\n 'accountDetails',\n 'downgradeModal',\n 'downgradeWarningModal',\n 'contactUsModal',\n 'cancelPlanModal',\n ]),\n },\n methods: {\n ...billingAdministrationStoreMapper.mapMutations([\n 'showLimitReachedModal',\n 'closeLimitReachedModal',\n 'showClosePlanModal',\n 'closeClosePlanModal',\n 'showCancelPlanModal',\n 'closeCancelPlanModal',\n 'showBillingDetailsModal',\n 'closeBillingDetailsModal',\n 'updateAccountDetails',\n 'showDowngradeModal',\n 'closeDowngradeModal',\n 'showDowngradeWarningModal',\n 'closeDowngradeWarningModal',\n 'showContactUsModal',\n 'closeContactUsModal',\n ]),\n ...billingAdministrationStoreMapper.mapActions([\n 'openCancelPlanModal',\n 'loadAccountDetails',\n 'saveAccountDetails',\n 'catchSavingError',\n ]),\n },\n});\n","import { Module, Mutations, Actions, createMapper, Getters, createComposable } from 'vuex-smart-module';\nimport { Vue } from 'vue-property-decorator';\n\nimport { GetActiveSubscriptionResponse } from '@eloomi/eloomi-billing-persona-client/1.0';\nimport { getCurrentPlanDetails } from '@/admin/billing/providers/subscription';\nimport { AxiosResponse } from 'axios';\n\nimport { PlanApiFactory } from '@eloomi/eloomi-platforms-persona-client/1.0';\nimport { authorizeClient } from '@/api/http-client';\nimport { AxiosError } from 'axios';\n\nconst platformClient = authorizeClient(PlanApiFactory);\n\nclass State {\n public activeSubscription: GetActiveSubscriptionResponse | null = null;\n public activeSubscriptionResponseStatus?: number;\n public isPlatformFree = false;\n public expirationDate: string | null = null;\n}\n\nclass StoreMutations extends Mutations {\n public setActiveSubscription(subscription: AxiosResponse) {\n this.state.activeSubscription = subscription.data;\n this.state.activeSubscriptionResponseStatus = subscription.status;\n }\n public setIsPlatformFree(isPlatformFree) {\n this.state.isPlatformFree = isPlatformFree;\n }\n public setExpirationDate(expiration_date) {\n this.state.expirationDate = expiration_date;\n }\n}\n\nclass StoreGetters extends Getters {\n public get isFreePlan() {\n return this.state.activeSubscription?.is_free_plan;\n }\n}\n\nclass StoreActions extends Actions {\n public async getActiveSubscription() {\n const activeSubscription = await getCurrentPlanDetails();\n try {\n const planInfo = await platformClient.getCurrentPlan();\n this.mutations.setExpirationDate(planInfo.data.expiration_date);\n this.mutations.setIsPlatformFree(false);\n } catch (error) {\n this.mutations.setIsPlatformFree((error as AxiosError)?.response?.status === 404);\n }\n this.mutations.setActiveSubscription(activeSubscription);\n }\n}\n\nexport const subscriptionStore = new Module({\n state: State,\n mutations: StoreMutations,\n getters: StoreGetters,\n actions: StoreActions,\n});\n\nexport const useSubscriptionStore = createComposable(subscriptionStore);\n\nexport const subscriptionStoreMapper = createMapper(subscriptionStore);\nexport const SubscriptionMappedStore = Vue.extend({\n computed: {\n ...subscriptionStoreMapper.mapState([\n 'activeSubscription',\n 'activeSubscriptionResponseStatus',\n 'isPlatformFree',\n 'expirationDate',\n ]),\n ...subscriptionStoreMapper.mapGetters(['isFreePlan']),\n },\n methods: subscriptionStoreMapper.mapActions(['getActiveSubscription']),\n});\n","import { PlansPersonaApiFactory } from '@eloomi/eloomi-billing-persona-client/1.0';\nimport { authorizeClient } from '@/api/http-client';\n\nconst plansClient = authorizeClient(PlansPersonaApiFactory);\n\nexport function getSubscriptionPlans() {\n return plansClient.getPlans();\n}\n","import { Actions, createMapper, Getters, Module, Mutations } from 'vuex-smart-module';\nimport { Vue } from 'vue-property-decorator';\n\nimport {\n Currency,\n FrequencyInterval,\n GetPlansResponse,\n PlanName,\n PlanSize,\n PriceInfo,\n PutSubscriptionRequest,\n} from '@eloomi/eloomi-billing-persona-client/1.0';\nimport { getSubscriptionPlans } from '@/admin/billing/providers/plans';\nimport { capitalize, pickBy } from 'lodash';\nimport { BillingAction } from '@/admin/billing/models';\nimport { getCardLink } from '@/admin/billing/providers/card';\nimport { putSubscription } from '@/admin/billing/providers/subscription';\n\ntype InitialPlanData = {\n current_currency?: Currency;\n current_frequency?: FrequencyInterval;\n current_plan?: PlanName;\n current_size?: PlanSize;\n};\n\ntype SelectedPlanSettings = {\n current_currency?: Currency;\n current_frequency?: FrequencyInterval;\n current_plan?: PlanName;\n current_size?: PlanSize;\n};\n\nclass State {\n public plansResponse?: GetPlansResponse | null = null;\n public initialPlanData: InitialPlanData | null = null;\n public selectedPlanSettings: SelectedPlanSettings = {\n current_currency: Currency.Dkk,\n current_frequency: FrequencyInterval.Monthly,\n current_plan: PlanName.Play,\n current_size: PlanSize._50,\n };\n}\n\nenum CustomPlanNames {\n Free = 'Free',\n Infinite = 'Infinite',\n}\n\nexport type PlanNamesType = PlanName | CustomPlanNames;\nexport const PlanNames = {\n ...CustomPlanNames,\n ...PlanName,\n};\n\nclass StoreGetters extends Getters {\n public get currentPlan() {\n return this.state.selectedPlanSettings?.current_plan || PlanName.Play;\n }\n public get currentSize() {\n return this.state.selectedPlanSettings?.current_size || PlanSize._50;\n }\n public get hasAccount(): boolean {\n return Boolean(this.state.plansResponse?.has_account);\n }\n public get currentFrequency() {\n return this.state.selectedPlanSettings?.current_frequency || FrequencyInterval.Monthly;\n }\n public get frequencyKey() {\n return capitalize(this.getters.currentFrequency);\n }\n public get currentCurrency() {\n return this.state.selectedPlanSettings?.current_currency || Currency.Dkk;\n }\n public get currencyKey() {\n return this.getters.currentCurrency?.toUpperCase() ?? Currency.Dkk;\n }\n public get currencySymbol() {\n const currentCurrencyWithSymbol = this.state.plansResponse?.currencies?.find(\n item => item.code?.toUpperCase() === this.getters.currencyKey\n );\n return currentCurrencyWithSymbol?.symbol;\n }\n public get currencies() {\n return this.state.plansResponse?.currencies || [];\n }\n public get seatsNumbers() {\n const { currencyKey, currentPlan } = this.getters;\n const options = this.state.plansResponse?.prices?.[currencyKey][currentPlan];\n return options ? Object.keys(options) : [];\n }\n public get paymentPlans() {\n const { currencyKey, currentSize, currentPlan } = this.getters;\n const sizesAndFrequencies = this.state.plansResponse?.prices?.[currencyKey!][currentPlan!][currentSize];\n const availableFrequencies = Object.keys(sizesAndFrequencies);\n return availableFrequencies.map(frequency => ({\n name: frequency,\n discount: sizesAndFrequencies[frequency].discount_percentage,\n }));\n }\n public get currentChoices() {\n return {\n subscription: {\n currency: this.getters.currentCurrency,\n frequency: this.getters.currentFrequency,\n size: this.getters.currentSize,\n plan: this.getters.currentPlan,\n },\n action: BillingAction.ChangeSubscription,\n };\n }\n\n public get encodedCurrentChoices() {\n return btoa(JSON.stringify(this.getters.currentChoices));\n }\n\n public get plans() {\n return this.state.plansResponse?.plans || [];\n }\n\n public get currentPriceInfo(): PriceInfo {\n if (this.state.plansResponse) {\n const { currencyKey, currentSize, currentPlan, frequencyKey } = this.getters;\n\n return this.state.plansResponse!.prices![currencyKey][currentPlan][currentSize][frequencyKey]! as PriceInfo;\n } else {\n return {} as PriceInfo;\n }\n }\n\n public get initialPriceInfo(): PriceInfo {\n try {\n const { current_currency, current_size, current_plan, current_frequency } = this.state.initialPlanData!;\n\n return this.state.plansResponse!.prices![current_currency!.toUpperCase()][current_plan][current_size][\n capitalize(current_frequency)\n ]! as PriceInfo;\n } catch (e) {\n return {} as PriceInfo;\n }\n }\n\n public get pricePerBillingCycle() {\n return this.getters.currentPriceInfo.price_total_per_billing_cycle ?? 0;\n }\n\n public get pricePerMonth() {\n return this.getters.currentPriceInfo.price_total_per_month ?? 0;\n }\n\n public get discount() {\n const discounted =\n (100 -\n (this.getters.currentFrequency === FrequencyInterval.Annually\n ? this.getters.currentPriceInfo.discount_percentage!\n : 0)) /\n 100;\n return this.getters.pricePerBillingCycle / discounted - this.getters.pricePerBillingCycle;\n }\n\n public get initialPricePerBillingCycle() {\n return this.getters.initialPriceInfo.price_total_per_billing_cycle ?? 0;\n }\n\n public get initialDiscount() {\n const discounted =\n (100 -\n (this.getters.initialFrequency === FrequencyInterval.Annually\n ? this.getters.initialPriceInfo.discount_percentage!\n : 0)) /\n 100;\n return this.getters.initialPricePerBillingCycle / discounted - this.getters.initialPricePerBillingCycle;\n }\n\n public get initialFrequency(): FrequencyInterval {\n return this.state.initialPlanData?.current_frequency || FrequencyInterval.Unknown;\n }\n\n public get initialPlan() {\n return this.state.initialPlanData?.current_plan || PlanName.Play;\n }\n\n public get initialSize() {\n return this.state.initialPlanData?.current_size || PlanSize._50;\n }\n\n public get initialCurrency() {\n return this.state.initialPlanData?.current_currency || Currency.Dkk;\n }\n\n public get downgradeWarningType(): 'plan' | 'users' {\n const plans = this.getters.plans.map(plan => plan.name);\n const currentPlan = plans.indexOf(this.state.initialPlanData?.current_plan);\n const selected = plans.indexOf(this.getters.currentPlan);\n\n if (selected < currentPlan) {\n return 'plan';\n }\n\n return 'users';\n }\n\n public get showDowngradeWarning() {\n return (\n this.getters.downgradeWarningType === 'plan' ||\n Number(this.state.initialPlanData?.current_size) > Number(this.getters.currentSize)\n );\n }\n}\n\nclass StoreMutations extends Mutations {\n public setPlans(response: GetPlansResponse) {\n this.state.plansResponse = response;\n }\n public updateSelectedPlan(data: Partial) {\n const choice = pickBy(data);\n this.state.selectedPlanSettings = { ...this.state.selectedPlanSettings, ...choice };\n }\n public setInitialPlanData(initialPlanData: InitialPlanData) {\n this.state.initialPlanData = initialPlanData;\n }\n}\n\nclass StoreActions extends Actions {\n public async getPlans() {\n const plansResponse = await (await getSubscriptionPlans()).data;\n this.mutations.setPlans(plansResponse);\n const firstResponse = {\n current_currency: this.state.plansResponse?.current_currency,\n current_frequency: this.state.plansResponse?.current_frequency,\n current_plan: this.state.plansResponse?.current_plan,\n current_size: this.state.plansResponse?.current_size,\n };\n this.mutations.updateSelectedPlan(firstResponse);\n this.mutations.setInitialPlanData(firstResponse);\n }\n\n public async saveNewPlan(data: {\n status: string | (string | null)[];\n scheduleForNext: boolean;\n redirectUrl: string;\n }) {\n const { status, scheduleForNext, redirectUrl } = data;\n\n if (status === undefined) {\n const getCardLinkResponse = (\n await getCardLink({\n returnUrl: `${window.location.origin}${redirectUrl}?state=${this.getters.encodedCurrentChoices}`,\n plan: this.getters.currentPlan,\n size: this.getters.currentSize,\n frequency: this.getters.currentFrequency,\n currency: this.getters.currentCurrency,\n })\n ).data;\n\n if (getCardLinkResponse.is_redirect_required) {\n window.location.href = getCardLinkResponse.redirect_url!;\n return;\n }\n }\n\n const payload: PutSubscriptionRequest = {\n schedule_for_next: scheduleForNext,\n ...this.getters.currentChoices.subscription,\n };\n\n return putSubscription(payload);\n }\n}\n\nexport const plansStore = new Module({\n state: State,\n getters: StoreGetters,\n mutations: StoreMutations,\n actions: StoreActions,\n});\n\nexport const plansStoreMapper = createMapper(plansStore);\nexport const PlansMappedStore = Vue.extend({\n computed: {\n ...plansStoreMapper.mapState(['plansResponse', 'initialPlanData', 'selectedPlanSettings']),\n ...plansStoreMapper.mapGetters([\n 'currentPlan',\n 'currentSize',\n 'hasAccount',\n 'currentFrequency',\n 'frequencyKey',\n 'currentCurrency',\n 'currencyKey',\n 'currencySymbol',\n 'currencies',\n 'seatsNumbers',\n 'paymentPlans',\n 'currentChoices',\n 'encodedCurrentChoices',\n 'plans',\n 'pricePerBillingCycle',\n 'discount',\n 'currentPriceInfo',\n 'initialPriceInfo',\n 'downgradeWarningType',\n 'showDowngradeWarning',\n 'initialPricePerBillingCycle',\n 'initialDiscount',\n 'initialFrequency',\n 'initialPlan',\n 'initialSize',\n 'initialCurrency',\n 'pricePerMonth',\n ]),\n },\n methods: {\n ...plansStoreMapper.mapActions(['getPlans', 'saveNewPlan']),\n ...plansStoreMapper.mapMutations(['setInitialPlanData', 'updateSelectedPlan']),\n },\n});\n","import { AdminBillingRoutes } from '@/admin/billing/routes';\nimport PlanFeaturesList from '@/plan-features/plan-features-list';\nimport { AdminCoursesRoutes } from '@/admin/courses/routes';\nimport { AdminEventsRoutes } from '@/admin/events/routes';\nimport { AdminGroupsRoutes } from '@/admin/groups/routes';\nimport { AdminPlaylistsRoutes } from '@/admin/playlists/routes';\nimport { AdminTopicsRoutes } from '@/admin/topics/routes';\nimport { AdminUsersRoutes } from '@/admin/users/routes';\nimport { Names, Paths } from '@/reporting/routes';\nimport { NavigationSidebarItem } from '@/common/components/navigation/sidebar/model';\nimport { useLaunchDarklyFeatureStore } from '@/launch-darkly/store';\nimport { AdminSkillsRoutes } from '@/admin/skills/routes';\nimport { AdminSettingsRoutes } from '@/admin/settings/routes';\nimport { AdminApiRoutes } from '@/admin/api-tokens/routes';\n\nimport { Permissions } from '@/permissions';\nimport { AuthenticationServiceTokens as Tokens } from '@/authentication/di-tokens';\nimport { useInjector } from '@/di/use-injector';\nimport { computed } from 'vue';\nimport { useRoute, useTranslation } from '@/common/composables';\nimport { usePermissions } from '@/permissions/composables/use-permissions';\nimport { useUserProfileDetailsStore } from '@/common/store/user-details/store';\n\nimport '@eloomi/icons/products-pages/products-and-pages-topic';\nimport '@eloomi/icons/products-pages/products-and-pages-billing';\nimport '@eloomi/icons/products-pages/products-and-pages-course';\nimport '@eloomi/icons/products-pages/products-and-pages-segments';\nimport '@eloomi/icons/actions/actions-user';\nimport '@eloomi/icons/actions/actions-users';\n\nexport function useSidebarNavigation() {\n const route = useRoute();\n const injector = useInjector();\n const platformService = injector.resolve(Tokens.PlatformResolutionService);\n const { trans } = useTranslation();\n const { hasPermission, hasAnyPermission, canAccessGroupReport } = usePermissions();\n const launchDarklyFeatureStore = useLaunchDarklyFeatureStore();\n const userProfileDetailsStore = useUserProfileDetailsStore();\n\n const launchDarklyFeaturesList = launchDarklyFeatureStore.state.launchDarklyFeaturesList;\n\n const reportingContent = computed(() => {\n return [\n {\n title: trans('spa.navigation.sections.reports.my-learning'),\n icon: 'elm-actions-user-icon',\n location: hasPermission(Permissions.Reporting) ? Names.MY_ADMIN_REPORT : Names.MY_REPORT,\n order: 1,\n access: true,\n },\n {\n title: trans('spa.navigation.sections.reports.courses'),\n icon: 'elm-products-and-pages-course-icon',\n order: 2,\n location: Names.COURSES_REPORT,\n featureName: PlanFeaturesList.COURSES,\n access: hasPermission(Permissions.Reporting),\n },\n {\n title: trans('spa.navigation.sections.reports.users'),\n icon: 'elm-actions-users-icon',\n order: 3,\n location: Names.USERS_REPORT,\n access: hasPermission(Permissions.Reporting),\n },\n {\n title: trans('spa.navigation.sections.reports.groups'),\n pageTitle: trans('spa.navigation.sections.reports.groups-report'),\n location: hasPermission(Permissions.Reporting) ? Names.GROUPS_REPORT : Names.MY_GROUP_REPORT,\n icon: 'elm-statistics-and-hierarchy-organizational-structure-icon',\n featureName: [PlanFeaturesList.USER_PERMISSIONS, PlanFeaturesList.GROUPS],\n order: 4,\n access: canAccessGroupReport.value,\n launchDarklyFeatureName: launchDarklyFeaturesList.GROUPS_REPORTING_MANAGER,\n },\n {\n title: trans('spa.navigation.sections.reports.segments'),\n icon: 'elm-products-and-pages-segments-icon',\n order: 5,\n location: Names.SEGMENT_OVERVIEW,\n featureName: PlanFeaturesList.SEGMENT_REPORTING,\n access: hasPermission(Permissions.Reporting),\n },\n {\n title: trans('spa.navigation.sections.reports.skills'),\n icon: 'elm-products-and-pages-skills-regular-icon',\n order: 6,\n location: Names.SKILLS_REPORT,\n featureName: PlanFeaturesList.SKILLS,\n access: hasPermission(Permissions.Reporting),\n },\n ];\n });\n\n const adminSettingsItem = computed(() => {\n return {\n name: 'settings',\n title: trans('spa.navigation.sections.admin.settings'),\n icon: 'elm-products-and-pages-settings-icon',\n order: 6,\n access: userProfileDetailsStore.getters.isAuthUserAdmin,\n children: [\n {\n name: 'branding',\n title: trans('spa.navigation.sections.admin.branding'),\n order: 1,\n location: AdminSettingsRoutes.BRANDING,\n featureName: PlanFeaturesList.BRANDING,\n },\n {\n name: 'custom-fields',\n title: trans('spa.navigation.sections.admin.custom-user-fields'),\n order: 3,\n location: AdminSettingsRoutes.CUSTOM_FIELDS,\n featureName: PlanFeaturesList.CUSTOM_FIELDS,\n },\n {\n name: 'sso',\n title: trans('spa.navigation.sections.admin.sso'),\n order: 4,\n location: AdminSettingsRoutes.SSO,\n access: !platformService.isSsoLoginEnabled(),\n },\n ],\n };\n });\n\n const administrationContent = computed(() => {\n return [\n {\n name: 'organization',\n title: trans('spa.navigation.sections.admin.organization'),\n icon: 'elm-actions-people-performance-icon',\n order: 1,\n access: hasAnyPermission(Permissions.AdminGroups, Permissions.AdminUsers),\n children: [\n {\n title: trans('spa.navigation.sections.admin.users'),\n order: 1,\n location: AdminUsersRoutes.USERS,\n fallbackIcon: 'users',\n access: hasPermission(Permissions.AdminUsers),\n },\n {\n title: trans('spa.navigation.sections.admin.groups'),\n order: 2,\n location: AdminGroupsRoutes.GROUPS,\n featureName: PlanFeaturesList.GROUPS,\n access: hasPermission(Permissions.AdminGroups),\n },\n ],\n },\n {\n name: 'learning',\n title: trans('spa.navigation.sections.admin.learning'),\n icon: 'elm-products-and-pages-course-builder-chapter-icon',\n order: 2,\n access: hasAnyPermission(Permissions.AdminCourses, Permissions.AdminEvents, Permissions.AdminPlaylists),\n children: [\n {\n name: 'courses',\n title: trans('spa.navigation.sections.admin.courses'),\n order: 1,\n location: AdminCoursesRoutes.COURSES_ADMINISTRATION,\n featureName: PlanFeaturesList.COURSES,\n access: hasPermission(Permissions.AdminCourses),\n },\n {\n name: 'events',\n title: trans('spa.navigation.sections.admin.events'),\n order: 2,\n location: AdminEventsRoutes.EVENTS_OVERVIEW,\n launchDarklyFeatureName: launchDarklyFeaturesList.EVENTS_MANAGEMENT,\n featureName: PlanFeaturesList.EVENTS,\n access: hasPermission(Permissions.AdminEvents),\n },\n {\n name: 'playlists',\n title: trans('spa.navigation.sections.admin.playlists'),\n order: 3,\n location: AdminPlaylistsRoutes.PLAYLISTS_OVERVIEW,\n featureName: PlanFeaturesList.PLAYLISTS,\n access: hasPermission(Permissions.AdminPlaylists),\n },\n ],\n },\n {\n name: 'skills',\n title: trans('spa.navigation.sections.admin.skills'),\n icon: 'elm-products-and-pages-skills-regular-icon',\n order: 3,\n access: hasPermission(Permissions.AdminSkills),\n children: [\n {\n name: 'business-titles',\n title: trans('spa.navigation.sections.admin.business-titles'),\n order: 1,\n location: AdminSkillsRoutes.BUSINESS_TITLES,\n featureName: PlanFeaturesList.SKILLS,\n },\n {\n name: 'skills-library',\n title: trans('spa.navigation.sections.admin.skills-library'),\n order: 2,\n location: AdminSkillsRoutes.SKILLS_LIBRARY,\n featureName: PlanFeaturesList.SKILLS,\n },\n ],\n },\n {\n title: trans('spa.navigation.sections.admin.categories-and-topics'),\n icon: 'elm-products-and-pages-topic-icon',\n order: 4,\n location: AdminTopicsRoutes.TOPICS,\n featureName: PlanFeaturesList.CATEGORIES_TOPICS,\n access: hasPermission(Permissions.AdminCategoriesTopics),\n },\n {\n title: trans('spa.navigation.sections.admin.billing'),\n icon: 'elm-products-and-pages-billing-icon',\n order: 5,\n location: AdminBillingRoutes.BILLING,\n featureName: PlanFeaturesList.BILLING,\n featureHideContent: true,\n access: hasPermission(Permissions.AdminBilling),\n },\n {\n title: trans('spa.navigation.sections.admin.integrations'),\n icon: 'elm-statistics-and-hierarchy-integration-icon',\n order: 6,\n location: AdminApiRoutes.Integrations,\n featureName: PlanFeaturesList.API,\n featureHideContent: true,\n access: hasPermission(Permissions.AdminApi),\n },\n adminSettingsItem.value,\n ];\n });\n\n const pageType = computed<'report' | 'administration'>(() => {\n return route.path.includes(Paths.REPORT) ? 'report' : 'administration';\n });\n\n const content = computed(() => {\n return pageType.value === 'report' ? reportingContent.value : administrationContent.value;\n });\n\n return { content, administrationContent, adminSettingsItem };\n}\n","import { PREFIX_IN_BROWSER_TAB } from '@/common/platform-configuration/global-variables';\nimport { RouteConfig } from 'vue-router';\n\nimport { mobileIsUnsupportedFlag, viewportIsUnsupportedFlag } from '@/common/services/mobile-fallback';\nimport { MinWidthViewportBreakpoints } from '@/common/constants/breakpoints';\nimport PlanFeaturesList from '@/plan-features/plan-features-list';\nimport { checkIfRouteAvailableByPlanFeatures } from '@/plan-features/routes';\nimport { Permissions } from '@/permissions';\nimport createContentStoreRoute from '@/content-store/routes';\n\nconst courseBuilderRootPage = () => import('./pages/CourseBuilderRootPage.vue');\nconst coursesAdministration = () => import('./pages/CoursesAdministration.vue');\n\nexport enum AdminCoursesRoutes {\n COURSE_BUILDER = 'course-builder',\n COURSES_ADMINISTRATION = 'courses-administration',\n COURSES_ADMINISTRATION_CONTENT_STORE = 'courses-administration-content-store',\n COURSES_ADMINISTRATION_CONTENT_STORE_ITEM = 'courses-administration-content-store-item',\n COURSES_COURSE_BUILDER_CONTENT_STORE = 'courses-course-builder-content-store',\n COURSES_COURSE_BUILDER_CONTENT_STORE_ITEM = 'courses-course-builder-content-store-item',\n}\n\nconst routes: RouteConfig[] = [\n {\n path: 'courses',\n name: AdminCoursesRoutes.COURSES_ADMINISTRATION,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Courses Administration`,\n ...mobileIsUnsupportedFlag,\n showNavigationSidebar: true,\n requiredPermissions: [Permissions.AdminCourses],\n },\n children: [\n createContentStoreRoute({\n contentStoreRouteName: AdminCoursesRoutes.COURSES_ADMINISTRATION_CONTENT_STORE,\n contentStoreItemRouteName: AdminCoursesRoutes.COURSES_ADMINISTRATION_CONTENT_STORE_ITEM,\n showNavigationSidebar: true,\n }),\n ],\n component: coursesAdministration,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.COURSES),\n },\n {\n path: 'course/builder/:course_id',\n name: AdminCoursesRoutes.COURSE_BUILDER,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Course Builder`,\n ...viewportIsUnsupportedFlag(MinWidthViewportBreakpoints.lg),\n defaultBackRoute: AdminCoursesRoutes.COURSES_ADMINISTRATION,\n requiredPermissions: [Permissions.AdminCourses],\n },\n component: courseBuilderRootPage,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.COURSES),\n children: [\n createContentStoreRoute({\n contentStoreRouteName: AdminCoursesRoutes.COURSES_COURSE_BUILDER_CONTENT_STORE,\n contentStoreItemRouteName: AdminCoursesRoutes.COURSES_COURSE_BUILDER_CONTENT_STORE_ITEM,\n }),\n ],\n },\n];\n\nexport default routes;\n","import { PREFIX_IN_BROWSER_TAB } from '@/common/platform-configuration/global-variables';\nimport { RouteConfig } from 'vue-router';\n\nimport { mobileIsUnsupportedFlag } from '@/common/services/mobile-fallback';\nimport { checkIfRouteAvailableByPlanFeatures } from '@/plan-features/routes';\nimport PlanFeaturesList from '@/plan-features/plan-features-list';\nimport { Permissions } from '@/permissions';\n\nconst EVENT_BUILDER_PAGE = () => import('./pages/EventBuilderPage.vue');\nconst EVENTS_OVERVIEW_PAGE = () => import('./pages/EventsOverviewPage.vue');\n\nexport const enum AdminEventsRoutes {\n EVENT_BUILDER_CREATE = 'event-builder-create',\n EVENT_BUILDER = 'event-builder',\n EVENTS_OVERVIEW = 'events-overview',\n}\n\nconst routes: RouteConfig[] = [\n {\n path: 'events',\n name: AdminEventsRoutes.EVENTS_OVERVIEW,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Events Overview`,\n ...mobileIsUnsupportedFlag,\n showNavigationSidebar: true,\n requiredPermissions: [Permissions.AdminEvents],\n },\n component: EVENTS_OVERVIEW_PAGE,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.EVENTS),\n },\n {\n path: 'events/create',\n name: AdminEventsRoutes.EVENT_BUILDER_CREATE,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Create event`,\n ...mobileIsUnsupportedFlag,\n defaultBackRoute: AdminEventsRoutes.EVENTS_OVERVIEW,\n requiredPermissions: [Permissions.AdminEvents],\n },\n component: EVENT_BUILDER_PAGE,\n beforeEnter: async (_to, _from, next) => {\n await checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.EVENTS)(_to, _from, next);\n },\n },\n {\n path: 'events/:id(\\\\d+)/edit',\n name: AdminEventsRoutes.EVENT_BUILDER,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Edit event`,\n ...mobileIsUnsupportedFlag,\n defaultBackRoute: AdminEventsRoutes.EVENTS_OVERVIEW,\n requiredPermissions: [Permissions.AdminEvents],\n showNavigationSidebar: false,\n },\n component: EVENT_BUILDER_PAGE,\n beforeEnter: async (_to, _from, next) => {\n await checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.EVENTS)(_to, _from, next);\n },\n },\n];\n\nexport default routes;\n","export interface Rule {\n id: number;\n user_group_id: number;\n user_group_name: string | null;\n order: number;\n definition: RuleDefinition;\n}\n\nexport interface UserGroupRuleParameter {\n key: string | null;\n label: string | null;\n is_dynamic: boolean;\n operators: OperatorPair[];\n values: string[] | null;\n values_source_url: string | null;\n field_id: number | null;\n}\n\nexport interface ValueCondition {\n field: string;\n field_id: number | null;\n operator: ValueOperator;\n value: {\n key: string | null;\n value: string | null;\n };\n}\n\nexport interface RangeCondition {\n field: string;\n field_id: number | null;\n operator: RangeOperator;\n value: {\n key: string | null;\n value: RangeValue | null;\n };\n}\n\nexport type Condition = ValueCondition | RangeCondition;\n\nexport type ConditionValue = RangeValue | string | null;\nexport interface OperatorPair {\n operator: Operator;\n type: InputType;\n}\nexport type ValueOperator = 'equals' | 'notEquals' | 'contains' | 'notContains' | 'lessThan' | 'greaterThan';\nexport type RangeOperator = 'between' | 'notBetween';\nexport type Operator = ValueOperator | RangeOperator;\nexport type Separator = 'and' | 'or';\nexport type InputType = 'staticList' | 'textInput' | 'dateTimeValue' | 'dateTimeRange';\nexport type RangeValue = { start: string; end: string };\n\nexport interface RuleDefinition {\n separator: Separator;\n conditions: Condition[] | null;\n}\n\nexport function isRangeCondition(condition: Condition): condition is RangeCondition {\n return condition.operator == 'between' || condition.operator == 'notBetween';\n}\n\nexport function isValueCondition(condition: Condition): condition is ValueCondition {\n return !isRangeCondition(condition);\n}\n\nexport interface UnmappedParameter {\n field: 'email';\n field_id: null;\n label: string | null;\n operators: OperatorPair[] | null;\n values: Array | null;\n values_source_url?: string | null;\n is_dynamic?: boolean;\n}\n\nexport interface ConditionSelectorValue {\n fieldKey: string | null;\n operator: OperatorPair | null;\n valueKey: RangeValue | string | null;\n fieldId: number | null;\n}\nexport type ViewState = 'select-field' | 'select-value';\nexport type KeyMapper = (value, options?: T, parameter?: OperatorPair) => string;\n\nexport interface GetRuleParametersResponse {\n parameters: UserGroupRuleParameter[] | null;\n}\n\nexport function mapParameters(parameters: UnmappedParameter[]): GetRuleParametersResponse {\n return {\n parameters: parameters.map(parameter => {\n return {\n key: parameter.field ?? null,\n is_dynamic: parameter.is_dynamic ?? false,\n label: parameter.label ?? null,\n operators: parameter.operators ?? [],\n values: parameter.values ?? [],\n values_source_url: parameter.values_source_url ?? null,\n field_id: parameter.field_id ?? null,\n };\n }),\n };\n}\n","import { DataRequestOptions } from '@/common/components/table/v2/interfaces';\nimport { FluentFilterCollection, Operator } from '@/common/services';\n\nimport { authorizeClient } from '@/api/http-client';\n\nimport { UserGroupsApiFactory, UserGroupRequest } from '@eloomi/eloomi-user-groups-persona-client/1.0';\n\nconst userGroupsClient = authorizeClient(UserGroupsApiFactory);\n\nexport function getGroups(\n options: DataRequestOptions,\n groups?: { mode: 'inclusive' | 'exclusive'; selectedIds: (number | string)[] }\n) {\n let filterStr: string | undefined;\n\n if (options.searchQuery || groups?.mode) {\n const filters = new FluentFilterCollection();\n\n if (options.searchQuery) {\n filters.where('Name').filter(Operator.Contains, options.searchQuery);\n }\n\n if (groups?.mode) {\n if (groups.mode === 'inclusive') {\n filters.where('id').filter(Operator.IsEqualTo, groups?.selectedIds.join('|'));\n } else {\n groups.selectedIds.forEach(id => {\n filters.where('id').filter(Operator.IsNotEqualTo, id);\n });\n }\n }\n\n filterStr = filters.build();\n }\n\n return userGroupsClient\n .getUserGroups(filterStr, undefined, options.page, options.pageSize)\n .then(({ data }) => data);\n}\n\nexport function getGroup(groupId: number) {\n return userGroupsClient.getUserGroup(groupId).then(({ data }) => data);\n}\n\nexport function createUpdateGroup(group: UserGroupRequest) {\n return userGroupsClient.createOrUpdateUserGroup(group).then(({ data }) => data);\n}\n","import { CoreQuery } from '@/common/services/core-query';\n\nimport { EntitiesList } from '@/common/models';\n\nimport { authorizeClient, httpClientCoreQuery } from '@/api/http-client';\nimport { DataRequestOptions, TablePaginatedData } from '@/common/components/table/v2/interfaces';\nimport { FluentFilterCollection, isNotEmpty, Operator } from '@/common/services';\nimport { User } from '@/admin/groups/models/GroupUser';\nimport { UserAdminPersonaApiFactory, UsersPaginatedResponse } from '@eloomi/eloomi-users-persona-client/1.0';\nimport { extractAxiosData } from '@/common/services/extractAxiosData';\n\nconst userAdminPersonaApi = authorizeClient(UserAdminPersonaApiFactory);\n\nexport function getUsers(options: DataRequestOptions, groupId: number) {\n const filters = isNotEmpty(options.searchQuery)\n ? new FluentFilterCollection().where('full_name').filter(Operator.Contains, options.searchQuery || '')\n : undefined;\n\n const q = new CoreQuery()\n .entity([EntitiesList.USER_GROUPS, EntitiesList.PERSONA, EntitiesList.USER_GROUP, groupId, EntitiesList.USER])\n .filters(filters)\n .param({\n page: options.page,\n page_size: options.pageSize,\n });\n\n return httpClientCoreQuery.get>(q).then(({ data }) => data);\n}\n\nexport function getUsersForSelector(options: DataRequestOptions): Promise {\n const filters = isNotEmpty(options.searchQuery)\n ? new FluentFilterCollection()\n .where('first_name', 'last_name')\n .filter(Operator.Contains, options.searchQuery || '')\n : undefined;\n\n return userAdminPersonaApi\n .getAll(filters?.toQueryStringSearch(), undefined, options.page, options.pageSize)\n .then(extractAxiosData);\n}\n","import { CoreQuery } from '@/common/services/core-query';\nimport { EntitiesList } from '@/common/models';\nimport { httpClientCoreQuery } from '@/api/http-client';\n\nexport function unassignUsers(groupID: number, userIds: number[]) {\n const q = new CoreQuery()\n .entity([EntitiesList.USER_GROUPS, EntitiesList.PERSONA, EntitiesList.USER_GROUP, EntitiesList.UNASSIGN])\n .data({\n group_id: groupID,\n user_ids: userIds,\n });\n\n return httpClientCoreQuery.delete(q);\n}\n","import { CoreQuery } from '@/common/services/core-query';\nimport { EntitiesList } from '@/common/models';\nimport { httpClientCoreQuery } from '@/api/http-client';\n\nexport function assignUser(payload: { group_id: number; user_ids: number }) {\n const q = new CoreQuery().entity([\n EntitiesList.USER_GROUPS,\n EntitiesList.PERSONA,\n EntitiesList.USER_GROUP,\n EntitiesList.ASSIGN,\n ]);\n\n return httpClientCoreQuery.put(q, payload);\n}\n","import { CoreQuery } from '@/common/services/core-query';\nimport { EntitiesList } from '@/common/models';\nimport { httpClientCoreQuery } from '@/api/http-client';\n\nexport function deleteGroupsBulk(ids: number[]) {\n const q = CoreQuery.fromNamespace(EntitiesList.USER_GROUPS).path([\n EntitiesList.PERSONA,\n EntitiesList.USER_GROUP,\n EntitiesList.BULK,\n ]);\n\n return httpClientCoreQuery.post(q, ids);\n}\n","import { CoreQuery } from '@/common/services/core-query';\nimport { EntitiesList } from '@/common/models';\nimport { httpClientCoreQuery } from '@/api/http-client';\nimport { FluentFilterCollection, Operator } from '@/common/services';\n\nexport function getUsersNumber(groupId: number) {\n const filters = new FluentFilterCollection().where('id').filter(Operator.IsEqualTo, groupId);\n\n const q = new CoreQuery()\n .entity([EntitiesList.USER_GROUPS, EntitiesList.PERSONA, EntitiesList.USER_GROUP, EntitiesList.USERS_NUMBER])\n .filters(filters);\n\n return httpClientCoreQuery.get(q).then(({ data }) => data);\n}\n","import { UserGroupManagersApiFactory } from '@eloomi/eloomi-user-groups-persona-client/1.0';\nimport { authorizeClient } from '@/api/http-client';\n\nconst userGroupManagersClient = authorizeClient(UserGroupManagersApiFactory);\n\nexport function getUserGroupManagers(groupId: number) {\n return userGroupManagersClient.getUserGroupManagers(groupId).then(({ data }) => data);\n}\n\nexport function addUserGroupManager(groupId: number, userId: number) {\n return userGroupManagersClient.createUserGroupManager(groupId, { user_id: userId }).then(({ data }) => data);\n}\n\nexport function deleteUserGroupManager(groupId: number, userId: number) {\n return userGroupManagersClient.deleteUserGroupManager(groupId, userId).then(({ data }) => data);\n}\n","import { CoreQuery } from '@/common/services/core-query';\nimport { EntitiesList } from '@/common/models';\nimport { authorizeClient, httpClientCoreQuery } from '@/api/http-client';\nimport { RuleDefinition, Rule, GetRuleParametersResponse, mapParameters, UnmappedParameter } from '../models';\nimport { FluentFilterCollection, Operator } from '@/common/services';\nimport { PaginatedDataUnmapped } from '@/common/models/paginated-data';\n\nimport { extractAxiosData } from '@/common/services/extractAxiosData';\nimport { RulesApiFactory as RulesApiFactoryV2 } from '@eloomi/eloomi-user-groups-persona-client/2.0';\nimport { AxiosResponse } from 'axios';\n\nconst rulesClientV2 = authorizeClient(RulesApiFactoryV2);\n\nexport function getRuleParameters(): Promise {\n return rulesClientV2\n .getRuleParameters()\n .then(response => extractAxiosData(response as AxiosResponse))\n .then(mapParameters);\n}\n\nexport function putRule(groupId: number, rule: RuleDefinition, ruleId: number | null = null) {\n const q = new CoreQuery().entity([EntitiesList.USER_GROUPS, EntitiesList.PERSONA, EntitiesList.RULE]);\n\n const payload = {\n ...(ruleId !== null ? { id: ruleId } : {}),\n user_group_id: groupId,\n definition: rule,\n };\n\n return httpClientCoreQuery.put(q, payload);\n}\n\nexport function getRuleById(ruleId: number) {\n const q = new CoreQuery().entity([EntitiesList.USER_GROUPS, EntitiesList.PERSONA, EntitiesList.RULE, ruleId]);\n\n return httpClientCoreQuery.get(q).then(({ data }) => data);\n}\n\nexport function getRules(\n options: { page: number; pageSize: number },\n groupId: number\n): Promise> {\n const filters = new FluentFilterCollection().where('user_group_id').filter(Operator.IsEqualTo, groupId);\n\n const q = new CoreQuery()\n .entity([EntitiesList.USER_GROUPS, EntitiesList.PERSONA, EntitiesList.RULE, EntitiesList.GROUP, groupId])\n .filters(filters)\n .param({\n page: options.page,\n page_size: options.pageSize,\n });\n\n return httpClientCoreQuery.get>(q).then(({ data }) => data);\n}\n\nexport function previewUserCount(rule: RuleDefinition) {\n const q = new CoreQuery().entity([\n EntitiesList.USER_GROUPS,\n EntitiesList.PERSONA,\n EntitiesList.RULE,\n EntitiesList.PREVIEW,\n ]);\n\n return httpClientCoreQuery.post(q, rule).then(({ data }) => data);\n}\n\nexport function deleteRules(ruleIds: Array) {\n const q = new CoreQuery()\n .entity([EntitiesList.USER_GROUPS, EntitiesList.PERSONA, EntitiesList.RULE])\n .data({ ids: ruleIds });\n\n return httpClientCoreQuery.delete<''>(q).then(({ data }) => data);\n}\n","import { PREFIX_IN_BROWSER_TAB } from '@/common/platform-configuration/global-variables';\nimport { RouteConfig } from 'vue-router';\nimport { mobileIsUnsupportedFlag } from '@/common/services/mobile-fallback';\nimport { Permissions } from '@/permissions';\n\nconst groupsAdministrationPage = () => import('./pages/GroupsAdministration.vue');\nconst createEditGroupPage = () => import('./pages/CreateEditGroupPage.vue');\n\nexport const enum AdminGroupsRoutes {\n GROUPS = 'organization-groups',\n GROUP_CREATE = 'group-create',\n GROUP_EDIT = 'group-edit',\n}\n\nconst routes: RouteConfig[] = [\n {\n path: 'groups',\n name: AdminGroupsRoutes.GROUPS,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Groups`,\n ...mobileIsUnsupportedFlag,\n showNavigationSidebar: true,\n requiredPermissions: [Permissions.AdminGroups],\n },\n component: groupsAdministrationPage,\n },\n {\n path: 'groups/create',\n name: AdminGroupsRoutes.GROUP_CREATE,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Groups`,\n ...mobileIsUnsupportedFlag,\n defaultBackRoute: AdminGroupsRoutes.GROUPS,\n requiredPermissions: [Permissions.AdminGroups],\n },\n component: createEditGroupPage,\n },\n {\n path: 'groups/:id(\\\\d+)/edit',\n name: AdminGroupsRoutes.GROUP_EDIT,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Groups`,\n ...mobileIsUnsupportedFlag,\n defaultBackRoute: AdminGroupsRoutes.GROUPS,\n requiredPermissions: [Permissions.AdminGroups],\n },\n component: createEditGroupPage,\n },\n];\n\nexport default routes;\n","import { Module, Mutations, Actions, createMapper, Getters } from 'vuex-smart-module';\n\nimport { Rule } from '../models';\nimport { getGroup } from '../providers';\nimport { sleep } from '@/common/services';\n\nclass State {\n public isAddRuleModalShown = false;\n public isEditRuleModalShown = false;\n public activeRule: Rule | null = null;\n public hasRuleModifications = false;\n public rulesAreBeingProcessed = false;\n public groupId: number | null = null;\n}\n\nclass StoreMutations extends Mutations {\n public showAddRuleModal() {\n this.state.isAddRuleModalShown = true;\n }\n\n public hideAddRuleModal() {\n this.state.isAddRuleModalShown = false;\n }\n\n public showEditRuleModal(rule: Rule) {\n this.state.isEditRuleModalShown = true;\n this.state.activeRule = rule;\n }\n\n public hideEditRuleModal() {\n this.state.isEditRuleModalShown = false;\n this.state.activeRule = null;\n }\n\n public markRuleModifications(groupId: number) {\n this.state.hasRuleModifications = true;\n this.state.groupId = groupId;\n }\n\n public cleanRuleModificationsMark() {\n this.state.hasRuleModifications = false;\n this.state.groupId = null;\n }\n\n public flagRulesProcessing(value: boolean) {\n this.state.rulesAreBeingProcessed = value;\n }\n}\n\nexport class StoreActions extends Actions, StoreMutations, StoreActions> {\n public static POLLING_PERIOD = 2000;\n\n private scheduleNextStatusRequest = async (groupId: number, immediate = false) => {\n return new Promise((resolve, reject) => {\n setTimeout(\n () => {\n getGroup(groupId)\n .then(group => {\n if (group.all_rules_processed) {\n return resolve();\n }\n resolve(this.scheduleNextStatusRequest(groupId));\n })\n .catch(reject);\n },\n immediate ? 0 : StoreActions.POLLING_PERIOD\n );\n });\n };\n\n public async checkIfRulesAreProcessedOrPoll() {\n if (this.state.hasRuleModifications) {\n await this.dispatch('pollForRuleProcessingStatus', this.state.groupId!);\n this.mutations.cleanRuleModificationsMark();\n return true;\n }\n return false;\n }\n\n public async pollForRuleProcessingStatus(groupId: number) {\n this.mutations.flagRulesProcessing(true);\n try {\n // Wait at least 1 second until notification will hide\n await Promise.all([this.scheduleNextStatusRequest(groupId, true), sleep(1000)]);\n } finally {\n this.mutations.flagRulesProcessing(false);\n }\n }\n}\n\nconst storeModule = new Module({\n state: State,\n mutations: StoreMutations,\n actions: StoreActions,\n});\n\nexport const userGroupStoreMapper = createMapper(storeModule);\nexport default storeModule;\n","import { PREFIX_IN_BROWSER_TAB } from '@/common/platform-configuration/global-variables';\nimport { RouteConfig } from 'vue-router';\n\nimport { mobileIsUnsupportedFlag } from '@/common/services/mobile-fallback';\nimport { checkIfRouteAvailableByPlanFeatures } from '@/plan-features/routes';\nimport PlanFeaturesList from '@/plan-features/plan-features-list';\nimport { Permissions } from '@/permissions';\n\nconst PLAYLIST_BUILDER_PAGE = () => import('./pages/PlaylistBuilderPage.vue');\nconst PLAYLISTS_OVERVIEW_PAGE = () => import('./pages/PlaylistsOverviewPage.vue');\n\nexport const enum AdminPlaylistsRoutes {\n PLAYLIST_BUILDER_CREATE = 'playlist-builder-create',\n PLAYLIST_BUILDER = 'playlist-builder',\n PLAYLISTS_OVERVIEW = 'playlists-overview',\n}\n\nconst routes: RouteConfig[] = [\n {\n path: 'playlists',\n name: AdminPlaylistsRoutes.PLAYLISTS_OVERVIEW,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Playlists Overview`,\n ...mobileIsUnsupportedFlag,\n showNavigationSidebar: true,\n requiredPermissions: [Permissions.AdminPlaylists],\n },\n component: PLAYLISTS_OVERVIEW_PAGE,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.PLAYLISTS),\n },\n {\n path: 'playlists/create',\n name: AdminPlaylistsRoutes.PLAYLIST_BUILDER_CREATE,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Create playlist`,\n ...mobileIsUnsupportedFlag,\n defaultBackRoute: AdminPlaylistsRoutes.PLAYLISTS_OVERVIEW,\n requiredPermissions: [Permissions.AdminPlaylists],\n },\n component: PLAYLIST_BUILDER_PAGE,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.PLAYLISTS),\n },\n {\n path: 'playlists/:id(\\\\d+)/edit',\n name: AdminPlaylistsRoutes.PLAYLIST_BUILDER,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Edit playlist`,\n ...mobileIsUnsupportedFlag,\n defaultBackRoute: AdminPlaylistsRoutes.PLAYLISTS_OVERVIEW,\n requiredPermissions: [Permissions.AdminPlaylists],\n },\n component: PLAYLIST_BUILDER_PAGE,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.PLAYLISTS),\n },\n];\n\nexport default routes;\n","import { authorizeClient } from '@/api/http-client';\nimport {\n CustomFieldsAdminApiFactory,\n CustomFieldBaseRequest,\n CustomFieldMapItem,\n} from '@eloomi/eloomi-users-persona-client/1.0';\nimport { DataRequestOptions } from '@/common/components/table';\nimport { buildFilter } from '@/common/services';\n\nconst client = authorizeClient(CustomFieldsAdminApiFactory);\nconst customFieldsAdminClient = authorizeClient(CustomFieldsAdminApiFactory);\n\nexport function getCustomFields(options: DataRequestOptions) {\n const filterStr = buildFilter('name', options.searchQuery);\n\n return client.getCustomFields(filterStr, undefined, options.page, options.pageSize).then(({ data }) => data);\n}\n\nexport function getCustomFieldsLite() {\n return client.getCustomFieldsLite().then(({ data }) => data);\n}\n\nexport function getCustomFieldById(id: number) {\n return client.getCustomFieldById(id);\n}\n\nexport function createCustomField(customField: CustomFieldBaseRequest) {\n return client.createCustomField(customField);\n}\n\nexport function updateCustomField(id: number, customField: CustomFieldBaseRequest) {\n return client.updateCustomField(id, customField);\n}\n\nexport function deleteCustomField(id: number) {\n return client.deleteCustomField(id);\n}\n\nexport async function updateCustomUsersFields(fields?: CustomFieldMapItem[]) {\n return customFieldsAdminClient.mapCustomFields(fields);\n}\n","import { PREFIX_IN_BROWSER_TAB } from '@/common/platform-configuration/global-variables';\nimport { RouteConfig } from 'vue-router';\nimport { mobileIsUnsupportedFlag } from '@/common/services/mobile-fallback';\nimport { guards } from '@/main/multipleGuardsHandler';\nimport { checkIfRouteAvailableByPlanFeatures } from '@/plan-features/routes';\nimport PlanFeaturesList from '@/plan-features/plan-features-list';\nimport { checkIfRouteAvailableByRole } from '@/admin/access-feature.guard';\nimport { Permissions } from '@/permissions';\nimport { checkIfSsoIsAvailable } from '@/admin/settings/services/sso.guard';\n\nconst CustomFieldsAdministrationPage = () => import('./pages/CustomFieldsAdministrationPage.vue');\nconst brandingAdministrationPage = () => import('@/admin/branding/pages/BrandingAdministrationPage.vue');\nconst ssoAdministrationPage = () => import('@/admin/settings/pages/SsoAdministrationPage.vue');\n\nexport const enum AdminSettingsRoutes {\n CUSTOM_FIELDS = 'custom-fields',\n BRANDING = 'branding',\n SSO = 'sso',\n}\n\nconst routes: RouteConfig[] = [\n {\n path: `settings/${AdminSettingsRoutes.BRANDING}`,\n name: AdminSettingsRoutes.BRANDING,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Branding Administration`,\n ...mobileIsUnsupportedFlag,\n showNavigationSidebar: true,\n requiredPermissions: [Permissions.AdminBranding],\n },\n component: brandingAdministrationPage,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.BRANDING),\n },\n {\n path: `settings/${AdminSettingsRoutes.CUSTOM_FIELDS}`,\n name: AdminSettingsRoutes.CUSTOM_FIELDS,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Custom Fields`,\n ...mobileIsUnsupportedFlag,\n showNavigationSidebar: true,\n },\n component: CustomFieldsAdministrationPage,\n beforeEnter: guards([\n checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.CUSTOM_FIELDS),\n checkIfRouteAvailableByRole(),\n ]),\n },\n {\n path: `settings/${AdminSettingsRoutes.SSO}`,\n name: AdminSettingsRoutes.SSO,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | SSO`,\n showNavigationSidebar: true,\n requiredPermissions: [Permissions.AdminApi],\n },\n component: ssoAdministrationPage,\n beforeEnter: checkIfSsoIsAvailable(),\n },\n];\n\nexport default routes;\n","import { NavigationGuard, NavigationGuardNext, Route } from 'vue-router';\nimport { handlePageNotFound } from '@/common/services/transition-common';\nimport store, { smartRootModule } from '@/main/baseStore';\nimport { PredefinedAccessUserRoles } from '@/admin/users/providers/user-access-roles';\n\nexport const checkIfRouteAvailableByRole = (): NavigationGuard => {\n return async (_to: Route, _from: Route, next: NavigationGuardNext) => {\n const authUserDetailsModule = smartRootModule.context(store).modules.userProfileDetails;\n const isAuthUserLoaded = authUserDetailsModule.state.authUserProfile;\n\n if (!isAuthUserLoaded) {\n await authUserDetailsModule.actions.loadUserProfile();\n }\n\n const isAuthDetailsAvailable = authUserDetailsModule.getters.userDetails();\n\n if (isAuthDetailsAvailable?.infiniteRoleKey === PredefinedAccessUserRoles.USER) {\n handlePageNotFound(next);\n } else {\n next();\n }\n };\n};\n","import { NavigationGuard, NavigationGuardNext, Route } from 'vue-router';\nimport { handlePageNotFound } from '@/common/services/transition-common';\nimport { PlatformResolutionService } from '@/common/services';\n\nexport const checkIfSsoIsAvailable = (): NavigationGuard => {\n return async (_to: Route, _from: Route, next: NavigationGuardNext) => {\n const statelessPlatformService = new PlatformResolutionService();\n const isPageAvailable = !statelessPlatformService.isSsoLoginEnabled();\n if (!isPageAvailable) {\n handlePageNotFound(next);\n return;\n }\n\n next();\n };\n};\n","import { CustomFieldBaseRequest, CustomFieldBaseResponse } from '@eloomi/eloomi-users-persona-client/1.0';\nimport { Actions, createComposable, createMapper, Getters, Module, Mutations } from 'vuex-smart-module';\nimport {\n createCustomField,\n deleteCustomField,\n getCustomFields,\n getCustomFieldsLite,\n updateCustomField,\n} from '@/admin/settings/providers/custom-fields';\nimport { Vue } from 'vue-property-decorator';\nimport { DataRequestOptions } from '@/common/components/table';\n\nclass State {\n public customFieldsLite: CustomFieldBaseResponse[] | null = null;\n}\n\nclass StoreMutations extends Mutations {\n public setCustomFieldsLite(customFields: CustomFieldBaseResponse[] | null) {\n this.state.customFieldsLite = customFields;\n }\n}\n\nclass StoreActions extends Actions, StoreMutations, StoreActions> {\n public async initCustomFieldsLite() {\n this.mutations.setCustomFieldsLite(await getCustomFieldsLite());\n }\n\n public async createCustomField(customField: CustomFieldBaseRequest) {\n await createCustomField(customField);\n this.mutations.setCustomFieldsLite(null);\n }\n\n public async updateCustomField({ id, customField }: { id: number; customField: CustomFieldBaseRequest }) {\n await updateCustomField(id, customField);\n this.mutations.setCustomFieldsLite(null);\n }\n\n public async deleteCustomField(id: number) {\n await deleteCustomField(id);\n this.mutations.setCustomFieldsLite(null);\n }\n\n public async getCustomFields(options: DataRequestOptions) {\n return getCustomFields(options);\n }\n}\n\nconst storeModule = new Module({\n state: State,\n mutations: StoreMutations,\n actions: StoreActions,\n});\n\nexport const useCustomFieldsStore = createComposable(storeModule);\n\nexport const storeMapper = createMapper(storeModule);\nexport const CustomFieldsMappedStore = Vue.extend({\n computed: {\n ...storeMapper.mapState(['customFieldsLite']),\n },\n methods: {\n ...storeMapper.mapActions([\n 'createCustomField',\n 'deleteCustomField',\n 'getCustomFields',\n 'initCustomFieldsLite',\n 'updateCustomField',\n ]),\n },\n});\n\nexport default storeModule;\n","import { authorizeClient } from '@/api/http-client';\nimport { DataRequestOptions } from '@/common/components/table';\nimport { buildFilter } from '@/common/services';\nimport { extractAxiosData } from '@/common/services/extractAxiosData';\nimport {\n CourseSkillApiFactory,\n CourseSkillAdminApiFactory,\n EmsiSkillItem,\n} from '@eloomi/eloomi-learning-persona-client/1.0';\nimport { SkillsApiFactory } from '@eloomi/eloomi-skills-persona-client/1.0';\n\nconst courseSkillClient = authorizeClient(CourseSkillApiFactory);\nconst courseSkillAdminClient = authorizeClient(CourseSkillAdminApiFactory);\nconst skillsAdminClient = authorizeClient(SkillsApiFactory);\n\nexport async function getCourseSkills(courseId: number) {\n return courseSkillClient.getCourseSkills(courseId).then(extractAxiosData);\n}\n\nexport async function addCourseSkills(courseId: number, skills: EmsiSkillItem[]) {\n return courseSkillAdminClient.createCourseSkills(courseId, { skills }).then(({ data }) => data);\n}\n\nexport async function removeSkill(courseId: number, skillId: number) {\n return courseSkillAdminClient.deleteCourseSkill(courseId, skillId);\n}\n\nexport async function getSkillsLite(options: DataRequestOptions = { page: 1, pageSize: 10 }) {\n return skillsAdminClient\n .getSkillsLite(buildFilter('name', options.searchQuery), 'name', options.page, options.pageSize)\n .then(extractAxiosData);\n}\n","import {\n IntegrationMergeApiFactory,\n MergeIntegrationDetailsResponse,\n UserDeletionAndDeactivationStrategy,\n} from '@eloomi/eloomi-platforms-persona-client/1.0';\nimport { MergeIntegrationApiFactory } from '@eloomi/eloomi-users-persona-client/1.0';\n\nimport { authorizeClient } from '@/api/http-client';\nimport { extractAxiosData } from '@/common/services/extractAxiosData';\n\nconst integrationMergeClient = authorizeClient(IntegrationMergeApiFactory);\nconst integrationMergeStatusClient = authorizeClient(MergeIntegrationApiFactory);\n\nexport async function getLinkToken(integration_platform: string | null) {\n return integrationMergeClient.getLinkToken({ integration: integration_platform }).then(extractAxiosData);\n}\n\nexport async function completeIntegration(token: string) {\n return integrationMergeClient.completeIntegration({ public_token: token });\n}\n\nexport async function getAllIntegrations() {\n return integrationMergeClient.getSupportedHrisIntegrations().then(extractAxiosData);\n}\n\nexport async function getIntegrationDetails(): Promise {\n return integrationMergeClient.getIntegrationDetails().then(extractAxiosData);\n}\n\nexport async function deleteIntegrationPlatform() {\n return integrationMergeClient.deleteIntegration();\n}\n\nexport async function syncIntegration(is_enabled: boolean) {\n return integrationMergeClient.toggleIntegrationEnabled({ is_enabled: is_enabled });\n}\n\nexport async function deleteDeactivationUsers(action: UserDeletionAndDeactivationStrategy) {\n return integrationMergeClient.putMergeIntegrationSettings({ user_deletion_and_deactivation_strategy: action });\n}\n\nexport async function getStatus() {\n return integrationMergeStatusClient.getCurrentStatus().then(extractAxiosData);\n}\n\nexport async function importMergeUsers(starting_from: string | null = null) {\n return integrationMergeStatusClient.importMergeUsers({ starting_from: starting_from });\n}\n","import { PREFIX_IN_BROWSER_TAB } from '@/common/platform-configuration/global-variables';\nimport { RouteConfig } from 'vue-router';\nimport { mobileIsUnsupportedFlag } from '@/common/services/mobile-fallback';\nimport { checkIfRouteAvailableByPlanFeatures } from '@/plan-features/routes';\nimport PlanFeaturesList from '@/plan-features/plan-features-list';\nimport { Permissions } from '@/permissions';\n\nconst skillsLibraryPage = () => import('./pages/SkillsLibraryPage.vue');\nconst businessTitlesPage = () => import('./pages/BusinessTitlesPage.vue');\n\nexport const enum AdminSkillsRoutes {\n BUSINESS_TITLES = 'business-titles',\n SKILLS_LIBRARY = 'skills-library',\n}\n\nconst routes: RouteConfig[] = [\n {\n path: 'business-titles',\n name: AdminSkillsRoutes.BUSINESS_TITLES,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Business Titles`,\n ...mobileIsUnsupportedFlag,\n showNavigationSidebar: true,\n requiredPermissions: [Permissions.AdminSkills],\n },\n component: businessTitlesPage,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.SKILLS),\n },\n {\n path: 'skills-library',\n name: AdminSkillsRoutes.SKILLS_LIBRARY,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Skills Library`,\n ...mobileIsUnsupportedFlag,\n showNavigationSidebar: true,\n requiredPermissions: [Permissions.AdminSkills],\n },\n component: skillsLibraryPage,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.SKILLS),\n },\n];\n\nexport default routes;\n","import { Module, Mutations, Actions, createMapper, Getters, createComposable } from 'vuex-smart-module';\nimport { getIntegrationDetails } from '@/admin/skills/providers/merge-integration';\nimport { MergeIntegrationDetailsResponse } from '@eloomi/eloomi-platforms-persona-client/1.0';\nimport Vue from 'vue';\n\nclass State {\n public mergeIntegrationDetails: MergeIntegrationDetailsResponse | null = null;\n}\n\nclass StoreMutations extends Mutations {\n public setMergeIntegrationDetails(mergeIntegrationDetails: MergeIntegrationDetailsResponse | null) {\n this.state.mergeIntegrationDetails = mergeIntegrationDetails;\n }\n}\n\nexport class StoreActions extends Actions, StoreMutations, StoreActions> {\n public async getMergeIntegrationDetails() {\n const integrationDetails = await getIntegrationDetails();\n this.mutations.setMergeIntegrationDetails(integrationDetails || null);\n }\n}\n\nconst mergeIntegrationStoreModule = new Module({\n state: State,\n mutations: StoreMutations,\n actions: StoreActions,\n});\n\nexport const useMergeIntegrationStore = createComposable(mergeIntegrationStoreModule);\nexport default mergeIntegrationStoreModule;\n\nexport const MergeIntegrationStoreMapper = createMapper(mergeIntegrationStoreModule);\nexport const MergeIntegrationStoreMixin = Vue.extend({\n computed: MergeIntegrationStoreMapper.mapState(['mergeIntegrationDetails']),\n methods: MergeIntegrationStoreMapper.mapActions(['getMergeIntegrationDetails']),\n});\n","import { CoreQuery } from '@/common/services/core-query';\nimport { EntitiesList } from '@/common/models';\nimport { httpClientCoreQuery } from '@/api/http-client';\n\nexport function deleteCategories(categories: number[]) {\n const q = new CoreQuery()\n .entity([EntitiesList.TOPICS, EntitiesList.PERSONA, EntitiesList.CATEGORY])\n .data(categories);\n\n return httpClientCoreQuery.delete(q);\n}\n","import { CoreQuery } from '@/common/services/core-query';\nimport { EntitiesList } from '@/common/models';\nimport { httpClientCoreQuery } from '@/api/http-client';\nimport { Topic } from '@/admin/topics/models/topic';\n\nexport function createEditTopic(topic: Topic) {\n const q = new CoreQuery().entity([EntitiesList.TOPICS, EntitiesList.PERSONA, EntitiesList.TOPIC]);\n\n return httpClientCoreQuery.put(q, topic);\n}\n","import { CoreQuery } from '@/common/services/core-query';\nimport { EntitiesList } from '@/common/models';\nimport { httpClientCoreQuery } from '@/api/http-client';\n\nexport function deleteTopicsBulk(ids: number[]) {\n const q = new CoreQuery().entity([EntitiesList.TOPICS, EntitiesList.PERSONA, EntitiesList.TOPIC]).data(ids);\n\n return httpClientCoreQuery.delete(q);\n}\n","import { CoreQuery } from '@/common/services/core-query';\nimport { EntitiesList } from '@/common/models';\nimport { httpClientCoreQuery } from '@/api/http-client';\nimport { DataRequestOptions, TablePaginatedData } from '@/common/components/table/v2/interfaces';\nimport { Topic } from '@/admin/topics/models/topic';\n\nimport { FluentFilterCollection, isNotEmpty, Operator } from '@/common/services';\nimport { Filter } from '@/reporting/models/segment';\n\nexport interface TopicSearchOptions extends DataRequestOptions {\n category_id?: number;\n topic_ids?: number[];\n filter?: Filter;\n}\n\nexport function getTopics(options: TopicSearchOptions): Promise> {\n const filters = new FluentFilterCollection();\n\n if (isNotEmpty(options.searchQuery)) {\n filters.where('name').filter(Operator.Contains, options.searchQuery!);\n }\n\n if (options.category_id) {\n filters.where('category_id').filter(Operator.Have, options.category_id);\n }\n\n if (options.topic_ids) {\n filters.where('id').filter(Operator.IsEqualTo, options.topic_ids.join('|'));\n }\n\n if (options.filter?.mode) {\n if (options.filter.mode === 'inclusive') {\n filters.where('id').filter(Operator.IsEqualTo, options.filter?.selectedIds.join('|'));\n } else {\n options.filter.selectedIds.forEach(id => {\n filters.where('id').filter(Operator.IsNotEqualTo, id);\n });\n }\n }\n\n const q = new CoreQuery()\n .entity([EntitiesList.TOPICS, EntitiesList.PERSONA, EntitiesList.TOPIC])\n .filters(filters)\n .param({\n page: options.page,\n page_size: options.pageSize,\n sorts: '-id',\n });\n\n return httpClientCoreQuery.get>(q).then(({ data }) => data);\n}\n","import { CoreQuery } from '@/common/services/core-query';\nimport { EntitiesList } from '@/common/models/entities.enum';\nimport httpClient from '@/api/http-client';\nimport { Topic } from '@/admin/topics/models/topic';\n\nexport const putTopic = (topic: Topic) => {\n const q = new CoreQuery();\n\n q.path([EntitiesList.TOPICS, EntitiesList.PERSONA, EntitiesList.TOPIC]);\n return httpClient\n .put(q.query, topic, q.axiosConfigParams)\n .then(({ data }) => data)\n .catch(e => {\n throw e.response.data;\n });\n};\n","import { CoreQuery } from '@/common/services/core-query';\nimport { EntitiesList } from '@/common/models';\nimport { authorizeClient, httpClientCoreQuery } from '@/api/http-client';\nimport { DataRequestOptions, TablePaginatedData } from '@/common/components/table/v2/interfaces';\n\nimport { FluentFilterCollection, isNotEmpty, Operator } from '@/common/services';\nimport { Category } from '@/admin/topics/models';\nimport { CategoryApiFactory } from '@eloomi/eloomi-topics-persona-client/1.0';\nimport { UserApiFactory } from '@eloomi/eloomi-learning-persona-client/1.0';\nimport { extractAxiosData } from '@/common/services/extractAxiosData';\n\nconst userLearningApiFactory = authorizeClient(UserApiFactory);\n// TODO remove and refactor usages\nexport function getCategories(options?: DataRequestOptions) {\n const q = new CoreQuery().entity([EntitiesList.TOPICS, EntitiesList.PERSONA, EntitiesList.CATEGORY]);\n if (options) {\n const filters = isNotEmpty(options.searchQuery)\n ? new FluentFilterCollection().where('name').filter(Operator.Contains, options.searchQuery!)\n : undefined;\n\n q.filters(filters).param({\n page: options.page,\n page_size: options.pageSize,\n });\n }\n return httpClientCoreQuery.get>(q).then(({ data }) => data);\n}\n\nexport function getUserCategories() {\n return userLearningApiFactory.getUserCategories().then(extractAxiosData);\n}\n\n// New version\nconst categoryApiClient = authorizeClient(CategoryApiFactory);\n\nfunction getFilters(options?: DataRequestOptions) {\n if (!options?.searchQuery) return undefined;\n\n const filter = new FluentFilterCollection();\n filter.where('name').filter(Operator.Contains, options.searchQuery);\n\n return filter.build();\n}\n\nexport function getCategoriesNew(options?: DataRequestOptions) {\n const filters = getFilters(options);\n\n return categoryApiClient.get(filters, undefined, options?.page, options?.pageSize).then(extractAxiosData);\n}\n","import { Category } from '@/admin/topics/models';\nimport { CoreQuery } from '@/common/services/core-query';\nimport { EntitiesList } from '@/common/models';\nimport { httpClientCoreQuery } from '@/api/http-client';\n\nexport function createEditCategory(category: Category) {\n const q = new CoreQuery().path([EntitiesList.TOPICS, EntitiesList.PERSONA, EntitiesList.CATEGORY]);\n\n return httpClientCoreQuery.put(q, category).then(({ data }) => data);\n}\n","import { PREFIX_IN_BROWSER_TAB } from '@/common/platform-configuration/global-variables';\nimport { RouteConfig } from 'vue-router';\nimport { mobileIsUnsupportedFlag } from '@/common/services/mobile-fallback';\nimport { checkIfRouteAvailableByPlanFeatures } from '@/plan-features/routes';\nimport PlanFeaturesList from '@/plan-features/plan-features-list';\nimport { Permissions } from '@/permissions';\n\nconst topicsAdministrationPage = () => import('./pages/TopicsAdministrationPage.vue');\n\nexport const enum AdminTopicsRoutes {\n TOPICS = 'topics',\n}\n\nconst routes: RouteConfig[] = [\n {\n path: AdminTopicsRoutes.TOPICS,\n name: AdminTopicsRoutes.TOPICS,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Topics Administration`,\n ...mobileIsUnsupportedFlag,\n showNavigationSidebar: true,\n requiredPermissions: [Permissions.AdminCategoriesTopics],\n },\n component: topicsAdministrationPage,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.CATEGORIES_TOPICS),\n },\n];\n\nexport default routes;\n","import { authorizeClient } from '@/api/http-client';\nimport { CreateUserRequest, UserAdminPersonaApiFactory } from '@eloomi/eloomi-users-persona-client/1.0';\nimport { extractAxiosData } from '@/common/services/extractAxiosData';\nimport { AxiosError } from 'axios';\n\nconst userAdminPersonaApiClient = authorizeClient(UserAdminPersonaApiFactory);\n\nexport interface UserLimitResponse {\n limitExceeded: boolean;\n limitParams?: {\n reason: string;\n return_url: string;\n max_allowed: string;\n };\n}\n\nexport function adminCreateUser(command: CreateUserRequest) {\n return userAdminPersonaApiClient.create(command).then(extractAxiosData);\n}\n\nexport const adminVerifyUserLimit = async () => {\n try {\n await userAdminPersonaApiClient.verifyLimit().then(extractAxiosData);\n } catch (e) {\n const response = (e as AxiosError).response;\n if (response && response.status === 400 && response.data?.error_code === 'platform_quota_exceeded') {\n return {\n limitExceeded: true,\n limitParams: {\n reason: response.data.reason as string,\n return_url: response.data.return_url as string,\n max_allowed: response.data.max_allowed as string,\n },\n };\n } else {\n return { limitExceeded: undefined };\n }\n }\n return { limitExceeded: false };\n};\n","import { InfiniteUserRolesAdminPersonaApiFactory } from '@eloomi/eloomi-users-persona-client/1.0/api';\nimport { authorizeClient } from '@/api/http-client';\nimport { DataRequestOptions } from '@/common/components/table';\nimport { buildFilter } from '@/common/services';\nimport translationsStore from '@/translations/store';\nimport baseStore from '@/main/baseStore';\n\nconst userRolesClient = authorizeClient(InfiniteUserRolesAdminPersonaApiFactory);\n\nexport enum PredefinedAccessUserRoles {\n ADMIN = 'admin',\n USER = 'user',\n}\n\nexport const PageMaxSizeFromApi = 2147483647;\n\n/**\n * Retrieves all available custom user-roles.\n * Roles which can be added by admin to be more restrict what should be visible for specific users.\n * Number of data will not be very large\n */\nexport function getAllAccessUserRoles(options: DataRequestOptions) {\n const trans = translationsStore.context(baseStore).getters.trans;\n const filterStr = buildFilter('Name', options.searchQuery);\n\n return userRolesClient.getAll(filterStr, undefined, options.page, options.pageSize).then(({ data }) => {\n if (data?.data) {\n data.data.forEach(item => {\n if (item.key == PredefinedAccessUserRoles.ADMIN || item.key == PredefinedAccessUserRoles.USER) {\n item.description = trans(\n `spa.admin.users-organization.user-access-roles.user-role.${item.key}.description`\n );\n item.name = trans(`spa.admin.users-organization.user-access-roles.user-role.${item.key}.name`);\n }\n });\n }\n\n return data;\n });\n}\n","import { PREFIX_IN_BROWSER_TAB } from '@/common/platform-configuration/global-variables';\nimport { RouteConfig } from 'vue-router';\n\nimport { mobileIsUnsupportedFlag } from '@/common/services/mobile-fallback';\nimport { adminVerifyUserLimit } from './providers/create-user';\nimport { AdminBillingRoutes } from '../billing/routes';\n\nconst userIndexPage = () => import('./pages/UserIndexPage.vue');\nconst userCreateEditPage = () => import('./pages/UserCreateEditPage.vue');\nimport { Permissions } from '@/permissions';\n\nconst metaTitle = 'User Administration';\n\nexport const enum AdminUsersRoutes {\n USERS = 'organization-users',\n USER_CREATE = 'organization-user_create',\n USER_EDIT = 'organization-user_edit',\n}\n\nconst routes: RouteConfig[] = [\n {\n path: 'users',\n name: AdminUsersRoutes.USERS,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | ${metaTitle}`,\n ...mobileIsUnsupportedFlag,\n showNavigationSidebar: true,\n requiredPermissions: [Permissions.AdminUsers],\n },\n component: userIndexPage,\n props: {\n user: undefined,\n new: undefined,\n },\n },\n {\n path: 'users/create',\n name: AdminUsersRoutes.USER_CREATE,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | ${metaTitle}`,\n ...mobileIsUnsupportedFlag,\n defaultBackRoute: AdminUsersRoutes.USERS,\n requiredPermissions: [Permissions.AdminUsers],\n },\n beforeEnter: async (_to, _from, next) => {\n const userVerified = await adminVerifyUserLimit();\n if (userVerified.limitExceeded && userVerified.limitParams) {\n next({\n name: AdminBillingRoutes.BILLING,\n query: userVerified.limitParams,\n });\n } else if (userVerified.limitExceeded === false) {\n next();\n } else if (userVerified.limitExceeded === undefined) {\n console.error('Unable to get user limit verification');\n next(false);\n }\n },\n component: userCreateEditPage,\n },\n {\n path: 'users/:id(\\\\d+)/edit',\n name: AdminUsersRoutes.USER_EDIT,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | ${metaTitle}`,\n ...mobileIsUnsupportedFlag,\n defaultBackRoute: AdminUsersRoutes.USERS,\n requiredPermissions: [Permissions.AdminUsers],\n },\n component: userCreateEditPage,\n },\n];\n\nexport default routes;\n","import { AdapterInterface } from '@/common/interfaces';\nimport { TopNavItem } from '@/common/models';\n\nexport const topNavAdapter: AdapterInterface = {\n adapt: (data: any) => {\n const arr = Object.values(data);\n return arr.map(\n (item: any): TopNavItem => {\n const { subnav } = item;\n return new TopNavItem({ ...item, subnav: topNavAdapter.adapt(subnav) });\n }\n );\n },\n};\n","import { AdapterInterface } from '@/common/interfaces';\n\nexport const userAdapter: AdapterInterface = {\n adapt: (data: any) => {\n return data;\n },\n};\n","import axios from 'axios';\nimport environment from '../environment';\n\nconst regex = /http[s]?:[/\\\\]+[A-Za-z0-9./\\\\-]+eloomi\\.(com|io)(?:[\\\\/]+platform)?[\\\\/]+files[\\\\/]+([0-9]+)[^\"]*/gm;\nconst envUrl = getEnvUrl();\n\n// NOTE: This is a tool for working on localhost.\n// This shouldn't be used on prod due to security reasons (exposing apikey in URL).\n\nfunction getEnvUrl() {\n if (environment?.apiBaseUrl != null && typeof environment?.apiBaseUrl === 'string')\n return environment.apiBaseUrl.endsWith('/') ? environment.apiBaseUrl : environment.apiBaseUrl + '/';\n return '';\n}\n\nfunction transformFileUrlsInResponse(data) {\n // Rewrites http://...eloomi.com/files/123123\n // to http://...eloomi.com/platform/files/123123?apikey=xxx\n if (typeof data === 'string')\n data = data.replace(regex, (_, __, p1) => {\n const newStr = `${envUrl}platform/files/${p1}?apikey=${environment.apiKey}`;\n return newStr;\n });\n\n if (axios.defaults.transformResponse) {\n if (Array.isArray(axios.defaults.transformResponse)) {\n return axios.defaults.transformResponse.reduce((acc, tr) => tr.call(axios.defaults, acc), data);\n } else if (axios.defaults.transformResponse != null) {\n return axios.defaults.transformResponse(data);\n }\n }\n\n return data;\n}\n\nfunction transformFileUrlsInRequest(data, headers) {\n // Rewrites back http://...eloomi.com/platform/files/123123?apikey=xxx urls to\n // http://...eloomi.com/files/123123\n if (axios.defaults.transformRequest) {\n if (Array.isArray(axios.defaults.transformRequest)) {\n data = axios.defaults.transformRequest.reduce((acc, tr) => tr(acc, headers), data);\n } else if (axios.defaults.transformRequest != null) {\n data = axios.defaults.transformRequest(data);\n }\n }\n\n if (!data) return data;\n\n if (typeof data === 'string') {\n data = data.replace(regex, (_, p1) => {\n const newStr = `https://release.eloomi.com/files/${p1}`;\n return newStr;\n });\n }\n\n return data;\n}\n\nexport default {\n transformResponse: transformFileUrlsInResponse,\n transformRequest: transformFileUrlsInRequest,\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport axios, { AxiosInstance, AxiosRequestConfig } from 'axios';\n\nimport environment, { ApiAuthTypes } from '@/environment';\nimport { CoreQuery } from '@/common/services/core-query';\nimport { JWTLoginSessionManager } from '@/authentication/services/session/session-manager';\n\nimport devFileTransformers from './dev-file-transformers';\nimport { makeWarnLogger } from '@/common/services/debug-helper';\n\nlet axiosConfig: AxiosRequestConfig = {\n baseURL: environment.apiBaseUrl,\n};\n\nif (environment.apiAuthMode === ApiAuthTypes.key && environment.apiKey) {\n axiosConfig = {\n ...axiosConfig,\n headers: {\n apiKey: environment.apiKey,\n },\n ...(process.env.NODE_ENV === 'development' ? devFileTransformers : {}),\n };\n}\n\nconst httpClient = axios.create(axiosConfig);\n\n/** Creates authorized client from generated client factory function. */\nexport function authorizeClient(\n factoryFunction: (configuration?: any, basePath?: string, axios?: AxiosInstance) => T\n) {\n let apiBaseUrl = environment.apiBaseUrl || '';\n\n if (apiBaseUrl.endsWith('/')) {\n apiBaseUrl = apiBaseUrl.slice(0, apiBaseUrl.length - 1);\n }\n\n return factoryFunction(\n {\n apiKey: (keyName: string) => {\n if (keyName === 'apikey') return environment.apiKey;\n return '';\n },\n accessToken: async () => {\n /**\n * Since session manager depends on `authorizeClient` via session refresher\n * we have to call it as late as possible to overcome webpack circular dependency negative effects.\n */\n const warnLog = makeWarnLogger('authorize-client');\n const sessionManager = new JWTLoginSessionManager();\n try {\n return sessionManager.load().getToken();\n } catch {\n warnLog(\"couldn't load token using session manager\");\n }\n },\n },\n environment.apiBaseUrl,\n axios.create()\n );\n}\n\nexport function initClientWithoutAuth(\n factoryFunction: (configuration?: any, basePath?: string, axios?: AxiosInstance) => T\n) {\n let apiBaseUrl = environment.apiBaseUrl || '';\n\n if (apiBaseUrl.endsWith('/')) {\n apiBaseUrl = apiBaseUrl.slice(0, apiBaseUrl.length - 1);\n }\n\n return factoryFunction({}, environment.apiBaseUrl, axios.create());\n}\n\nexport const httpClientCoreQuery = {\n get: (q: CoreQuery) => httpClient.get(q.query, q.axiosConfigParams),\n post: (q: CoreQuery, data?: any) => httpClient.post(q.query, data, q.axiosConfigParams),\n put: (q: CoreQuery, data?: any) => httpClient.put(q.query, data, q.axiosConfigParams),\n patch: (q: CoreQuery, data?: any) => httpClient.patch(q.query, data, q.axiosConfigParams),\n delete: (q: CoreQuery) => httpClient.delete(q.query, q.axiosConfigParams),\n};\n\nexport default httpClient;\n","import httpClient, { authorizeClient, httpClientCoreQuery } from '@/api/http-client';\nimport { CoreQuery } from '@/common/services/core-query';\nimport { EntitiesList } from '@/common/models/entities.enum';\nimport { PaginatedDataUnmapped } from '@/common/models/paginated-data';\nimport { CoreEntitiesFilter } from '@/common/classes';\nimport { BuilderCourse, CoursePage } from '@/admin/courses/store/interfaces';\nimport { FluentFilterCollection, Operator } from '@/common/services';\nimport { IUnmappedAdminCourse } from '@/admin/courses/models/IAdminCourse';\nimport { debounce } from 'lodash-es';\nimport {\n AdminOverviewApiFactory,\n BuilderChapterApiFactory,\n BuilderCourseApiFactory,\n BuilderPageApiFactory,\n CourseType,\n PlayerQuizApiFactory,\n} from '@eloomi/eloomi-learning-persona-client/1.0';\n\nimport { AttachmentContentElement, VideoContentElement } from '@/admin/courses/utils';\nimport { Filter } from '@/reporting/models/segment';\nimport { extractAxiosData } from '@/common/services/extractAxiosData';\nimport { UpdateCourseRequest, UpdatePageRequest } from '@eloomi/eloomi-learning-persona-client/1.0/models';\nimport {\n BuilderContentApiFactory,\n PutQuizOpenTextRequest,\n QuizApiFactory,\n PutQuizRatingScaleRequest,\n QuizChoiceQuestionContentBuilderContract,\n StoreQuizAttemptRequest,\n} from '@eloomi/eloomi-content-persona-client/1.0';\nimport {\n ChoiceQuestionContentBuilderContract,\n PutIframeContentRequest,\n} from '@eloomi/eloomi-content-persona-client/1.0/models';\nimport { Filters, FilterType } from '@/common/components/filter';\nimport { DataRequestOptions } from '@/common/components/table';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nconst adminOverviewApiClient: any = authorizeClient(AdminOverviewApiFactory);\nconst builderCourseApiClient: any = authorizeClient(BuilderCourseApiFactory);\nconst builderChapterApiClient: any = authorizeClient(BuilderChapterApiFactory);\nconst builderPageApiClient: any = authorizeClient(BuilderPageApiFactory);\nconst builderContentApiClient: any = authorizeClient(BuilderContentApiFactory);\nconst quizApiClient = authorizeClient(QuizApiFactory);\nconst playerQuizApiClient = authorizeClient(PlayerQuizApiFactory);\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\ninterface GetAllCoursesOptions {\n courseNameSearchQuery?: string;\n page?: number;\n pageSize?: number;\n filter?: Filter;\n}\n\nexport interface CourseListRequestFilters extends Filters {\n courseTitle?: {\n value: string;\n };\n\n courseId?: {\n value: Array;\n mode: 'inclusive' | 'exclusive';\n };\n}\n\nexport type CourseListRequestOptions = DataRequestOptions;\n\nexport function getCourse(id: number): Promise {\n return builderCourseApiClient\n .getCourseWithStructure(id)\n .then(extractAxiosData)\n .then(data => data as BuilderCourse);\n}\n\nexport function editCourse(id: number, course: UpdateCourseRequest) {\n return builderCourseApiClient.editCourse(id, course).then(extractAxiosData);\n}\n\nexport function createChapter(id, chapter) {\n return builderChapterApiClient.addChapter(id, chapter).then(extractAxiosData);\n}\n\nexport function createPage(courseId, chapterId, page): Promise {\n return builderPageApiClient\n .createPage(courseId, chapterId, page)\n .then(extractAxiosData)\n .then(data => data as CoursePage);\n}\n\nexport function updatePage({\n courseId,\n chapterId,\n pageId,\n page,\n}: {\n courseId: number;\n chapterId: number;\n pageId: number;\n page: CoursePage;\n}) {\n return builderPageApiClient\n .updatePage(courseId, chapterId, pageId, page as UpdatePageRequest)\n .then(extractAxiosData);\n}\n\nexport function getPageWithContent({ courseId, chapterId, pageId }) {\n return builderPageApiClient\n .getPage(courseId, chapterId, pageId)\n .then(extractAxiosData)\n .then(data => data as CoursePage);\n}\n\nexport function deletePage({ courseId, chapterId, pageId }) {\n return builderPageApiClient.deletePage(courseId, chapterId, pageId);\n}\n\nexport function getAllCourses(options: GetAllCoursesOptions = {}) {\n const filters = new FluentFilterCollection();\n\n options.courseNameSearchQuery !== undefined\n ? filters.where('title').filter(Operator.Contains, options.courseNameSearchQuery)\n : undefined;\n\n const pageNumber = options.page ?? 1;\n const pageSize = options.pageSize ?? 10;\n\n if (options.filter?.mode) {\n if (options.filter.mode === 'inclusive') {\n filters.where('id').filter(Operator.IsEqualTo, options.filter?.selectedIds.join('|'));\n } else {\n options.filter.selectedIds.forEach(id => {\n filters.where('id').filter(Operator.IsNotEqualTo, id);\n });\n }\n }\n\n if (options.filter?.doNotShowArchived) {\n filters.where('archived_at').filter(Operator.IsEqualTo, 'null');\n }\n\n const q = new CoreQuery()\n .path([EntitiesList.LEARNING, EntitiesList.PERSONA, EntitiesList.OVERVIEW])\n .filters(filters)\n .param({\n page: pageNumber,\n page_size: pageSize,\n });\n\n return httpClientCoreQuery.get>(q).then(extractAxiosData);\n}\n\nfunction getCourseListFiltersParam(options: CourseListRequestFilters) {\n const filters = new FluentFilterCollection();\n\n if (options.courseTitle && options.courseTitle.value) {\n filters.where('title').filter(Operator.Contains, options.courseTitle.value);\n }\n\n if (options.courseId && options.courseId.value.length > 0) {\n if (options.courseId.mode === 'inclusive') {\n filters.where('id').filter(Operator.IsEqualTo, options.courseId.value.join('|'));\n }\n\n if (options.courseId.mode === 'exclusive') {\n options.courseId.value.forEach(id => {\n filters.where('id').filter(Operator.IsNotEqualTo, id);\n });\n }\n }\n\n if (options[FilterType.Topic]?.value.length) {\n filters.where('topic_id').filter(Operator.Have, options[FilterType.Topic]!.value.join('|'));\n }\n\n if (options[FilterType.Category]?.value.length) {\n filters.where('category_id').filter(Operator.Have, options[FilterType.Category]!.value.join('|'));\n }\n\n if (options[FilterType.Author]?.value.length) {\n filters.where('author_id').filter(Operator.Have, options[FilterType.Author]!.value.join('|'));\n }\n\n if (options[FilterType.CourseType]?.value.length) {\n filters.where('course_type').filter(Operator.IsEqualTo, options[FilterType.CourseType]!.value.join('|'));\n }\n\n if (options[FilterType.Skill]?.value.length) {\n filters.where('skill_ids').filter(Operator.Have, options[FilterType.Skill]!.value.join('|'));\n }\n\n return filters.build();\n}\n\nexport function getAllCoursesNew(options: CourseListRequestOptions) {\n const filters = options.filters ? getCourseListFiltersParam(options.filters) : undefined;\n const pageNumber = options.page ?? 1;\n const pageSize = options.pageSize ?? 10;\n\n return adminOverviewApiClient\n .getListOfCourses(filters, undefined, pageNumber, pageSize)\n .then(extractAxiosData) as Promise>;\n}\n\nexport function createCourse({ courseType }: { courseType: CourseType }) {\n return builderCourseApiClient.postCourse({ course_type: courseType }).then(extractAxiosData);\n}\n\nexport function editIframeElement(guid, data: PutIframeContentRequest) {\n return builderContentApiClient.putIframeContent(guid, data).then(extractAxiosData);\n}\n\nexport function editVideoElement(guid, data: VideoContentElement) {\n return builderContentApiClient\n .putVideoContent(guid, { file_url: data.video_url, filename: data.filename })\n .then(extractAxiosData);\n}\nexport function editQuizChoiceElement(guid, data: QuizChoiceQuestionContentBuilderContract) {\n if (!data.question) data.question = '';\n if (!data.description) data.description = '';\n\n if (data.choice_options) {\n data.choice_options = data.choice_options.filter(x => x.option !== '');\n\n if (!data.multiple_answers && data.choice_options.filter(x => x.is_correct).length > 1) return;\n }\n\n return builderContentApiClient.putQuizChoiceQuestionContent(guid, data).then(extractAxiosData);\n}\n\nexport function editQuizRatingElement(guid: string, data: PutQuizRatingScaleRequest) {\n if (!data.question) {\n return;\n }\n return builderContentApiClient.putQuizRatingScaleContent(guid, data).then(extractAxiosData);\n}\n\nfunction _editChoiceListElement(guid, data: ChoiceQuestionContentBuilderContract) {\n if (!data.question) data.question = '';\n if (!data.description) data.description = '';\n\n if (data.choice_options) {\n data.choice_options = data.choice_options.filter(x => x.option !== '');\n\n if (!data.multiple_answers && data.choice_options.filter(x => x.is_correct).length > 1) return;\n }\n\n return builderContentApiClient.putChoiceQuestionContent(guid, data).then(extractAxiosData);\n}\n\nexport function storeQuizAttempt(attempt: StoreQuizAttemptRequest) {\n return quizApiClient.storeQuizAttempt(attempt);\n}\nexport function getQuizAttempts(attemptId: number) {\n return quizApiClient.getQuizAttempt(attemptId).then(extractAxiosData);\n}\n\ninterface SubmitAttemptPayload {\n courseId: number;\n chapterId: number;\n pageId: number;\n}\n\nexport function submitAttempt({ courseId, chapterId, pageId }: SubmitAttemptPayload) {\n return playerQuizApiClient.submitAttempt(courseId, chapterId, pageId).then(extractAxiosData);\n}\n\ninterface CreateNewAttemptPayload {\n courseId: number;\n chapterId: number;\n pageId: number;\n}\n\nexport function createNewAttempt({ courseId, chapterId, pageId }: CreateNewAttemptPayload) {\n return playerQuizApiClient.createNewAttempt(courseId, chapterId, pageId).then(extractAxiosData);\n}\n\nexport const editChoiceListElement = debounce(_editChoiceListElement, 300);\n\nexport function editQuizOpenTextElement(guid: string, data: PutQuizOpenTextRequest) {\n if (!data.question) {\n return;\n }\n return builderContentApiClient.putQuizOpenTextContent(guid, data).then(extractAxiosData);\n}\nexport function editAttachmentElement(guid, data: AttachmentContentElement) {\n return builderContentApiClient\n .putAttachmentContent(guid, {\n data: data.attachment_content_items!.map(item => {\n return {\n ...item,\n id: item.id!,\n file_size: item.file_size!,\n filename: item.file_name!,\n };\n }),\n })\n .then(extractAxiosData);\n}\n\nexport function deleteCoursesBulk(coursesIds: number[]) {\n return builderCourseApiClient.deleteCourses({\n course_ids: coursesIds,\n });\n}\n\nexport function archiveCoursesBulk(coursesIds: (number | undefined)[]) {\n if (coursesIds.includes(undefined)) {\n return;\n }\n return builderCourseApiClient.archiveCourses({ course_ids: coursesIds });\n}\n\nexport function unArchiveCoursesBulk(coursesIds: (number | undefined)[]) {\n if (coursesIds.includes(undefined)) {\n return;\n }\n return builderCourseApiClient.unArchiveCourses({ course_ids: coursesIds });\n}\n\ninterface SmartSelectionUser {\n first_name: string;\n id: number;\n image_url: string | null;\n job_title: string;\n last_name: string;\n}\n\ninterface GetUsersQueryExclusiveSelection {\n excluded_user_ids: number[];\n}\ninterface GetUsersQueryInclusiveSelection {\n included_user_ids: number[];\n}\n\nexport type GetUsersQuerySmartSelection = GetUsersQueryInclusiveSelection | GetUsersQueryExclusiveSelection;\n\nexport function getUsersBySmartSelection({\n selection,\n page = 1,\n pageSize = 10,\n filters,\n}: {\n selection: GetUsersQuerySmartSelection;\n page: number;\n pageSize: number;\n filters?: CoreEntitiesFilter;\n}) {\n const q = new CoreQuery()\n .path([EntitiesList.LEARNING, EntitiesList.PERSONA, EntitiesList.USER])\n .filters(filters)\n .param({\n page,\n page_size: pageSize,\n });\n\n return httpClientCoreQuery.post>(q, selection).then(({ data }) => data);\n}\n\nexport interface AddAssignmentQueryExclusiveSelection {\n mode: 'exclusive';\n queryArgs: {\n excluded_user_ids: number[];\n };\n}\nexport interface AddAssignmentQueryInclusiveSelection {\n mode: 'inclusive';\n queryArgs: {\n user_ids: number[];\n };\n}\n\nexport type AddAssignmentQuerySelection = AddAssignmentQueryInclusiveSelection | AddAssignmentQueryExclusiveSelection;\n\nexport function getAdminOverviewReport() {\n const q = new CoreQuery().path([\n EntitiesList.LEARNING,\n EntitiesList.PERSONA,\n EntitiesList.OVERVIEW,\n EntitiesList.REPORT,\n ]);\n return httpClient.get(q.query, { ...q.axiosConfigParams, responseType: 'blob' }).then(({ data }) => {\n return data;\n });\n}\n","import { AdapterInterface } from '@/common/interfaces';\nimport { CoreQuery } from '@/common/services/core-query';\nimport http from '../http-client';\n\nexport function getAndAdaptData(q: CoreQuery, adapter: AdapterInterface, ...fields: string[]): any {\n return http\n .get(q.query, q.axiosConfigParams)\n .then(({ data }) => data)\n .then(response => {\n if (Array.isArray(response.data)) {\n const { data = [], total, last_page: lastPage } = response;\n const adaptedData = data.map((member: any) => adapter.adapt(member));\n\n return {\n data: adaptedData,\n total,\n lastPage,\n };\n } else {\n if (Array.isArray(fields) && fields.length > 0) {\n const adapted = fields.reduce((acc, c) => (acc ? acc[c] : acc), response);\n\n return {\n initial: response,\n adapted,\n };\n } else {\n return adapter.adapt(response);\n }\n }\n });\n}\n\nexport function getAndAdaptSingleDatum(q: CoreQuery, adapter: AdapterInterface) {\n return http.get(q.query, q.axiosConfigParams).then(response => {\n return adapter.adapt(response.data);\n });\n}\n","import { CoreQuery } from '@/common/services/core-query';\nimport { EntitiesList } from '@/common/models';\nimport { httpClientCoreQuery } from '@/api/http-client';\nimport { ICoursePlayerPage } from '@/courses/models';\n\nfunction generatePlayerPageControllerQuery({ courseId, chapterId }): CoreQuery {\n return new CoreQuery().path([\n EntitiesList.LEARNING,\n EntitiesList.PERSONA,\n EntitiesList.PLAYER,\n EntitiesList.COURSE,\n courseId,\n EntitiesList.CHAPTER,\n chapterId,\n EntitiesList.PAGE,\n ]);\n}\n\nexport function getCoursePlayerPageDetails({ courseId, chapterId, pageId }): Promise {\n const q = generatePlayerPageControllerQuery({ courseId, chapterId }).path(pageId);\n\n return httpClientCoreQuery.get(q).then(({ data }) => data);\n}\n\nexport function getPlayerCourse(id: number | string): Promise {\n const q = new CoreQuery().path([\n EntitiesList.LEARNING,\n EntitiesList.PERSONA,\n EntitiesList.PLAYER,\n EntitiesList.COURSE,\n id,\n ]);\n\n return httpClientCoreQuery.get(q).then(({ data }) => {\n return data;\n });\n}\n\nexport function getLastAttempt(guid: number | string, questionType: QuestionType): Promise {\n const q = new CoreQuery().path([\n EntitiesList.CONTENT,\n EntitiesList.PERSONA,\n EntitiesList.QUESTION,\n questionType,\n EntitiesList.ATTEMPT,\n guid,\n ]);\n\n return httpClientCoreQuery.get(q).then(({ data }) => data);\n}\n\nexport function submitAttempt(\n request: SubmitAttemptRequest,\n questionType: QuestionType\n): Promise {\n const q = new CoreQuery().path([\n EntitiesList.CONTENT,\n EntitiesList.PERSONA,\n EntitiesList.QUESTION,\n questionType,\n EntitiesList.SUBMIT,\n ]);\n\n return httpClientCoreQuery.post(q, request).then(({ data }) => data);\n}\n\nexport type QuestionType = 'choice' | 'unknown';\nexport interface SubmitAttemptRequest {\n question_guid: Guid;\n options: Guid[];\n}\nexport interface QuestionAttemptResult {\n question_guid: Guid;\n passed: boolean;\n options: Guid[];\n}\nexport type Guid = string;\n","import { authorizeClient } from '@/api/http-client';\nimport { CoreEntitiesFilter } from '@/common/classes';\nimport { UnmappedUserCourse } from '@/courses/models';\nimport { DashboardApiFactory } from '@eloomi/eloomi-learning-persona-client/2.0';\nimport { DashboardApiFactory as NewDashboardApiFactory } from '@eloomi/eloomi-learning-persona-client/3.0';\nexport interface CourseOverviewResponse {\n data: UnmappedUserCourse[];\n total: number;\n last_page: number;\n}\nconst dashboardClient = authorizeClient(DashboardApiFactory);\nconst newDashboardClient = authorizeClient(NewDashboardApiFactory);\n\nexport function getAllUserCourses({ page = 1, pageSize = 10 } = {}, filters?: CoreEntitiesFilter) {\n const filterStr = filters?.toQueryStringSearch();\n return dashboardClient.getUserLearningItems(filterStr, '', page, pageSize).then(response => response.data);\n}\n\nexport function getSectionsList() {\n return newDashboardClient.getLiteDashboardSections().then(({ data }) => data);\n}\n\nexport function getDashboardSections(keys: string[], pageSize: number) {\n return newDashboardClient.getDashboardSections(keys, undefined, undefined, 1, pageSize).then(({ data }) => data);\n}\n\nexport function getDashboardSection(key: string, { page = 1, pageSize = 4 } = {}) {\n return newDashboardClient.getDashboardSection(key, undefined, undefined, page, pageSize).then(({ data }) => data);\n}\n\nexport interface DashboardSearchSingleResult {\n id: number;\n image_url: string | null;\n title: string;\n description: string;\n duration: number;\n type: 'topic' | 'course' | 'playlist';\n}\n\nexport const DASHBOARD_PAGE_SIZE = 6;\n\nexport const dashboardSearch = searchTerm => {\n return dashboardClient.search(searchTerm, DASHBOARD_PAGE_SIZE).then(response => response.data);\n};\n","import { CoreQuery } from '@/common/services/core-query';\nimport { EntitiesList } from '@/common/models/entities.enum';\nimport httpClient, { authorizeClient } from '@/api/http-client';\nimport {\n VimeoUpload,\n VimeoVideoApiFactory,\n InitVimeoVideoUploadCommand,\n} from '@eloomi/eloomi-content-persona-client/1.0';\nimport { extractAxiosData } from '@/common/services/extractAxiosData';\nimport { VideoContent } from '@eloomi/eloomi-content-persona-client/1.0/models/video-content';\n\nconst VimeoClient = authorizeClient(VimeoVideoApiFactory);\n\nexport async function uploadVideo(data: FormData): Promise {\n const q = new CoreQuery();\n q.entity([EntitiesList.VIDEO, EntitiesList.QUEUE]);\n\n const response = await httpClient.post(q.query, data, {\n headers: {\n 'Content-Type': 'multipart/form-data',\n 'X-Eloomi-Video-Destination': 'VIMEO',\n },\n });\n const uploadResult = response.data;\n return {\n part: uploadResult.part,\n row: uploadResult.row,\n };\n}\n\nexport function getUploadVideoContent(rowKey: string) {\n const q = new CoreQuery();\n q.entity([EntitiesList.VIDEO, EntitiesList.EMBED]).param({\n row_key: rowKey,\n });\n\n return httpClient.get(q.query, q.axiosConfigParams).then(({ data }) => {\n return data;\n });\n}\n\nexport async function uploadVimeoVideo(command: InitVimeoVideoUploadCommand): Promise {\n return VimeoClient.initUpload(command).then(extractAxiosData);\n}\n\nexport function getUploadVimeoVideoContent(id: number): Promise {\n return VimeoClient.getVideo(id).then(extractAxiosData);\n}\n\nexport interface VideoUploadResult {\n part: number;\n row: string;\n}\n","import { authorizeClient } from '@/api/http-client';\nimport { BrandingApiFactory, BrandingResponse } from '@eloomi/eloomi-platforms-persona-client/1.0';\nimport { extractAxiosData } from '@/common/services/extractAxiosData';\n\nconst brandingApiClient = authorizeClient(BrandingApiFactory);\n\nfunction withDefaultValues(response: BrandingResponse): BrandingResponse {\n return {\n ...response,\n branding_color: response.branding_color ?? '#0030c0',\n primary_color: response.primary_color ?? '#00abed',\n branding_text_color: response.branding_text_color ?? '#ffffff',\n };\n}\n\nexport async function getBranding() {\n const brandingResponse = await brandingApiClient.getBranding().then(extractAxiosData);\n return withDefaultValues(brandingResponse);\n}\n","import { EntitiesList } from '@/common/models';\nimport { CoreQuery } from '@/common/services/core-query';\nimport { httpClientCoreQuery } from '../http-client';\n\nexport function editTextElement(guid, content) {\n const q = new CoreQuery().path([\n EntitiesList.CONTENT,\n EntitiesList.PERSONA,\n EntitiesList.BUILDER,\n EntitiesList.TEXT,\n guid,\n ]);\n\n return httpClientCoreQuery.put(q, content);\n}\n","import { userAdapter } from '../adapters';\nimport { EntitiesFilter } from '@/common/classes';\nimport { CoreQuery } from '@/common/services/core-query';\nimport { EntitiesList } from '@/common/models/entities.enum';\nimport { getAndAdaptData } from '@/api/providers/core.provider.helpers';\nimport {\n EmailNotificationRules,\n UserDetailsResponse,\n UserSelfDetailsResponse,\n UserPersonaApiFactory,\n} from '@eloomi/eloomi-users-persona-client/1.0';\nimport { UsersAdminApiFactory, UsersApiFactory, UserSkillItem } from '@eloomi/eloomi-skills-persona-client/1.0';\nimport { authorizeClient } from '@/api/http-client';\nimport { convertBackendResponseToModel } from '@/common/services';\nimport { extractAxiosData } from '@/common/services/extractAxiosData';\nimport { UserProfile } from '@/common/interfaces';\nimport { ManagersApiFactory } from '@eloomi/eloomi-user-groups-persona-client/1.0';\n\nconst usersApiClient = authorizeClient(UserPersonaApiFactory);\nconst usersSkillsApiClient = authorizeClient(UsersApiFactory);\nconst userGroupManagersApiClient = authorizeClient(ManagersApiFactory);\nconst userAdminApiClient = authorizeClient(UsersAdminApiFactory);\n\nfunction convertResponseDetailsToUserProfile(response: UserDetailsResponse | UserSelfDetailsResponse): UserProfile {\n return {\n ...convertBackendResponseToModel(response),\n emailNotificationRules: response.email_notification_rule\n ? (response.email_notification_rule.split(',').map(rule => rule.trim()) as EmailNotificationRules[])\n : [],\n };\n}\n\nexport async function isReportingManager() {\n return (await userGroupManagersApiClient.isCurrentUserManager()).data;\n}\n\nexport async function getUserProfile(id: number) {\n return convertResponseDetailsToUserProfile((await usersApiClient.getDetails(id)).data);\n}\n\nexport async function getSelfUserProfile() {\n return convertResponseDetailsToUserProfile((await usersApiClient.getSelfDetails()).data);\n}\n\nexport function getUsers(filters: EntitiesFilter, page = 1) {\n const q = CoreQuery.fromNamespace(EntitiesList.ORGANIZATION)\n .path(EntitiesList.USERS)\n .filters(filters)\n .sorts(filters)\n .param({\n page,\n });\n\n return getAndAdaptData(q, userAdapter);\n}\n\nexport async function getSelfSkillsInfo() {\n return usersSkillsApiClient.getUserSkills().then(extractAxiosData);\n}\n\nexport async function getUserSkillsInfo(userId: number) {\n return userAdminApiClient.getSpecificUserSkills(userId).then(extractAxiosData);\n}\n\nexport async function setSelfSkillsInfo(skills: UserSkillItem[]) {\n return usersSkillsApiClient.updateUserSkills({ skills });\n}\n\nexport async function completeSkillsSetup() {\n return usersSkillsApiClient.completeUserSetup();\n}\n","export const AuthenticationServiceTokens = Object.freeze({\n AuthenticationService: 'AuthenticationService',\n SessionManager: 'SessionManager',\n RedirectService: 'RedirectService',\n PlatformResolutionService: 'PlatformResolutionService',\n ResetSessionDataService: 'ResetSessionDataService',\n SessionApiClient: 'SessionApiClient',\n ActivateUserService: 'ActivateUserService',\n AuthFlowStoreService: 'AuthFlowStoreService',\n ForgotPasswordService: 'ForgotPasswordService',\n ResetPasswordService: 'ResetPasswordService',\n LogoutUseCase: 'LogoutUseCase',\n} as const);\n","export enum AuthenticationRouteNames {\n LOGIN = 'login',\n RESET_PASSWORD = 'reset-password',\n ACTIVATE_USER = 'activate-user',\n INSTANT_LOGIN = 'instant-login',\n}\n","export class InvalidCredentialsError extends Error {\n constructor() {\n super(`Couldn't log in using provided credentials`);\n\n Object.setPrototypeOf(this, InvalidCredentialsError.prototype);\n }\n}\n\nexport class EmptyCredentialsError extends Error {\n constructor() {\n super(`Couldn't log in using empty credentials`);\n\n Object.setPrototypeOf(this, EmptyCredentialsError.prototype);\n }\n}\n\nexport class InvalidEmailProvided extends Error {\n constructor() {\n super(`The email is incorrect.`);\n\n Object.setPrototypeOf(this, InvalidEmailProvided.prototype);\n }\n}\n\nexport class InvalidPlatformError extends Error {\n constructor() {\n super(`The provided platform id is different to active platform.`);\n\n Object.setPrototypeOf(this, InvalidPlatformError.prototype);\n }\n}\n\nexport class PasswordMismatchError extends Error {\n constructor() {\n super(`Given passwords do not match.`);\n\n Object.setPrototypeOf(this, PasswordMismatchError.prototype);\n }\n}\n\nexport class EmptyPasswordError extends Error {\n constructor() {\n super(`Passwords are empty.`);\n\n Object.setPrototypeOf(this, EmptyPasswordError.prototype);\n }\n}\n\nexport class ValidationPasswordError extends Error {\n constructor() {\n super(`Your password does not meet the criteria.`);\n\n Object.setPrototypeOf(this, ValidationPasswordError.prototype);\n }\n}\n\nexport class EmptyJwtTokenError extends Error {\n constructor() {\n super(`JWT token is empty.`);\n\n Object.setPrototypeOf(this, EmptyJwtTokenError.prototype);\n }\n}\n\nexport class LoginSessionLoadError extends Error {\n constructor() {\n super(LoginSessionLoadError.message);\n Object.setPrototypeOf(this, LoginSessionLoadError.prototype);\n }\n\n static get message() {\n return `Couldn't load a session from local storage: it's undefined.`;\n }\n}\n\nexport class InvalidTokenParamError extends Error {\n constructor() {\n super(`Token parameter is invalid.`);\n\n Object.setPrototypeOf(this, EmptyJwtTokenError.prototype);\n }\n}\n\nexport class EntityNotFoundEndpointError extends Error {\n constructor() {\n super(`Endpoint error entity not found.`);\n\n Object.setPrototypeOf(this, EntityNotFoundEndpointError.prototype);\n }\n}\n\nexport class TooManyLoginAttemptsError extends Error {\n constructor() {\n super(`Too many login attempts.`);\n\n Object.setPrototypeOf(this, TooManyLoginAttemptsError.prototype);\n }\n}\n","import { initClientWithoutAuth } from '@/api/http-client';\nimport { PlatformLoginApiFactory, LoginRequest } from '@eloomi/eloomi-users-external-client/1.0';\nimport axios from 'axios';\n\nimport { InvalidCredentialsError, EmptyCredentialsError, TooManyLoginAttemptsError } from './errors';\nimport { JWT, PlatformResolver } from './interfaces';\nimport { AuthenticationServiceTokens } from '../di-tokens';\n\nconst PlatformLoginApiClient = initClientWithoutAuth(PlatformLoginApiFactory);\n\nexport class JWTAuthenticationService {\n public static inject = [AuthenticationServiceTokens.PlatformResolutionService] as const;\n\n constructor(private platformResolver: PlatformResolver) {}\n\n public async logIn(email: string, password: string) {\n const request: LoginRequest = { email, password };\n const { id } = await this.platformResolver.getPlatformData(true);\n try {\n const token = (await PlatformLoginApiClient.doLogin(id, request)).data as JWT;\n return {\n data: { token },\n };\n } catch (error) {\n if (axios.isAxiosError(error)) {\n if (error.response?.status === 401) {\n throw new InvalidCredentialsError();\n } else if (error.response?.status === 400) {\n throw new EmptyCredentialsError();\n } else if (error.response?.status === 429) {\n throw new TooManyLoginAttemptsError();\n }\n }\n throw error;\n }\n }\n}\n","import { AxiosInstance, AxiosRequestConfig } from 'axios';\n\nimport { JWT } from './interfaces';\nimport { JWTLoginSessionManager } from './session/session-manager';\n\nexport class AxiosSessionInjector {\n constructor(private readonly httpClient: AxiosInstance, private readonly sessionManager: JWTLoginSessionManager) {}\n private requestInterceptorId?: number;\n\n private readonly sessionInjector = async (config: AxiosRequestConfig) => {\n const jwt = await this.getToken();\n\n return {\n ...config,\n headers: {\n ...config.headers,\n Authorization: `Bearer ${jwt}`,\n },\n };\n };\n\n public install() {\n if (this.requestInterceptorId !== undefined) {\n return;\n }\n this.requestInterceptorId = this.httpClient.interceptors.request.use(this.sessionInjector);\n }\n\n public uninstall() {\n if (this.requestInterceptorId === undefined) {\n return;\n }\n this.httpClient.interceptors.request.eject(this.requestInterceptorId);\n this.requestInterceptorId = undefined;\n }\n\n private async getToken(): Promise {\n const session = this.sessionManager.load();\n return session.getToken();\n }\n}\n","import { Route, NavigationGuardNext, RouteRecord } from 'vue-router';\n\nimport type { queryStringWithRedirectParam, RouteRecordWithAuthMeta } from './interfaces';\nimport { TokenValidator } from './token-manager';\nimport { Store } from 'vuex';\nimport { goToDefaultPage } from '@/common/services/transition-common';\nimport { JWTLoginSessionManager } from './session/session-manager';\nimport { showDelayedNotification } from '@/common/services';\nimport { LOGIN_PAGE_LOCATION } from '@/authentication/services/locations';\nimport { parseTokenParamFromRoute } from '@/authentication/services/parse-token-param-from-route';\n\nexport function isAuthRequiredForAnyMatchedRoute(routes: RouteRecord[]) {\n return routes.some(record => (record as RouteRecordWithAuthMeta).meta.requiresAuth);\n}\n\nexport function isAnyMatchedRouteForUnauthorizedOnly(routes: RouteRecord[]) {\n return routes.some(record => (record as RouteRecordWithAuthMeta).meta.onlyUnauthorized);\n}\n\nexport class VueRouteTransitionGuardService {\n public constructor(private readonly routeTo: Route, private readonly goNext: NavigationGuardNext) {}\n\n public isAuthRequiredForTargetRoute(): boolean {\n return isAuthRequiredForAnyMatchedRoute(this.routeTo.matched);\n }\n\n public isTargetRouteForUnauthorizedOnly(): boolean {\n return isAnyMatchedRouteForUnauthorizedOnly(this.routeTo.matched);\n }\n\n public parseTokenParamFromRoute(): string {\n return parseTokenParamFromRoute(this.routeTo);\n }\n\n public changeTransitionToLoginPage(redirectWithQueryParams = true) {\n this.goNext({\n ...LOGIN_PAGE_LOCATION,\n query: redirectWithQueryParams ? ({ redirect: this.routeTo.fullPath } as queryStringWithRedirectParam) : {},\n });\n }\n\n public changeTransitionToDefaultPage() {\n goToDefaultPage(this.goNext);\n }\n\n public changeTransitionToInitialPage() {\n const sessionManager = new JWTLoginSessionManager();\n if (sessionManager.isLoggedIn()) {\n this.changeTransitionToDefaultPage();\n } else {\n this.changeTransitionToLoginPage(false);\n }\n }\n\n public acceptCurrentTransition() {\n this.goNext();\n }\n}\n\nexport class VueRouteTokenTransitionGuardService extends VueRouteTransitionGuardService {\n public async verifyTokenTransition(validator: TokenValidator, baseStore: Store) {\n try {\n const token = this.parseTokenParamFromRoute();\n const tokenValidationResult = await validator(token);\n\n if (tokenValidationResult.isValid) {\n this.acceptCurrentTransition();\n return;\n }\n\n this.changeTransitionToInitialPage();\n\n await showDelayedNotification(baseStore, {\n theme: 'warning',\n message: tokenValidationResult.message,\n duration: 2000,\n });\n } catch (error) {\n console.warn(error);\n this.changeTransitionToInitialPage();\n }\n }\n}\n","import { registerPlugin } from '@capacitor/core';\n\nexport interface SingleSignOnPlugin {\n redirectToIdentityProvider(options: { url: string }): Promise;\n}\n\nexport const SingleSignOn = registerPlugin('SingleSignOn');\n","import VueRouter from 'vue-router';\n\nimport { DEFAULT_PAGE_LOCATION } from '@/authentication/services/locations';\n\nimport { AuthenticationRouteNames } from '../route-definitions';\n\nimport { queryStringWithRedirectParam } from './interfaces';\n\nimport { isAuthRequiredForAnyMatchedRoute } from './transition-guard';\nimport { ServiceTokens } from '@/di/tokens';\nimport environment from '@/environment';\nimport { SingleSignOn } from '@/authentication/services/single-sign-on-plugin';\nimport { Platform } from '@/common/services/get-device-platform';\nimport type { SSOOrigin } from '../use-cases/login-sso';\n\nexport class VueRouterRedirectionService {\n public static inject = [ServiceTokens.VueRouter] as const;\n\n public constructor(private readonly router: VueRouter) {}\n\n public hasRedirectParamInQuery(): boolean {\n const query = this.router.currentRoute.query as queryStringWithRedirectParam;\n return typeof query.redirect === 'string';\n }\n\n public isOnLoginPage() {\n return this.router.currentRoute.name === AuthenticationRouteNames.LOGIN;\n }\n\n public isAuthRequiredForCurrentRoute() {\n return isAuthRequiredForAnyMatchedRoute(this.router.currentRoute.matched);\n }\n\n public async redirectToPagePassedInQuery() {\n const query = this.router.currentRoute.query as queryStringWithRedirectParam;\n await this.router.push({ path: query.redirect });\n }\n\n public async redirectToDefaultPage() {\n await this.router.push(DEFAULT_PAGE_LOCATION);\n }\n\n public async redirectToLoginPage(isHard = false) {\n if (!isHard) {\n await this.router.push({ name: AuthenticationRouteNames.LOGIN });\n } else {\n const route = this.router.resolve({ name: AuthenticationRouteNames.LOGIN });\n window.location.replace(route.href);\n }\n }\n\n public async redirectToLoginSsoPage(platformId: number, origin: SSOOrigin) {\n const { apiBaseUrl } = environment;\n const baseUrl = apiBaseUrl.endsWith('/') ? apiBaseUrl : apiBaseUrl + '/';\n\n let url = environment.isProduction\n ? `${baseUrl}saml2/${platformId}/init`\n : `${baseUrl}users/external/platform-sso/${platformId}/init`;\n\n if ([Platform.Android, Platform.Ios].includes(origin.devicePlatform)) {\n url += '/?is_mobile';\n }\n\n if (origin.devicePlatform === Platform.Android) {\n await SingleSignOn.redirectToIdentityProvider({ url });\n } else {\n window.location.replace(url);\n }\n }\n}\n","import axios, { AxiosInstance } from 'axios';\nimport { LoginSessionLoadError } from './errors';\n\nexport class AxiosAccessDeniedErrorHandler {\n constructor(private readonly httpClient: AxiosInstance) {}\n private responseInterceptorId?: number;\n\n private isErrorAlreadyHandled = false;\n\n private errorHandler?: () => boolean;\n\n private readonly forbiddenErrorHandler = error => {\n if (axios.isAxiosError(error)) {\n const response = error?.response;\n\n if (response?.status === 403 && this.handleForbiddenError()) {\n return;\n }\n } else if (error instanceof LoginSessionLoadError && this.handleForbiddenError()) {\n return;\n }\n\n throw error;\n };\n\n private handleForbiddenError() {\n if (this.errorHandler !== undefined && !this.isErrorAlreadyHandled) {\n this.isErrorAlreadyHandled = this.errorHandler();\n }\n return this.isErrorAlreadyHandled;\n }\n\n public install(handler: () => boolean) {\n if (this.responseInterceptorId !== undefined) {\n this.httpClient.interceptors.response.eject(this.responseInterceptorId);\n }\n this.errorHandler = handler;\n this.responseInterceptorId = this.httpClient.interceptors.response.use(r => r, this.forbiddenErrorHandler);\n }\n\n public uninstall() {\n if (this.responseInterceptorId === undefined) {\n return;\n }\n this.httpClient.interceptors.response.eject(this.responseInterceptorId);\n this.responseInterceptorId = undefined;\n }\n}\n","import { initClientWithoutAuth } from '@/api/http-client';\nimport { UserForgotPasswordApiFactory, ForgotPasswordRequest } from '@eloomi/eloomi-users-external-client/1.0';\nimport axios from 'axios';\n\nimport { AuthenticationServiceTokens } from '../di-tokens';\n\nimport { InvalidEmailProvided } from './errors';\nimport { PlatformResolver } from './interfaces';\n\nconst PlatformLoginApiClient = initClientWithoutAuth(UserForgotPasswordApiFactory);\n\nexport class ForgotPasswordService {\n public static inject = [AuthenticationServiceTokens.PlatformResolutionService] as const;\n\n constructor(private platformResolver: PlatformResolver) {}\n\n public async requestPasswordReset(email: string) {\n const request: ForgotPasswordRequest = { user_email: email };\n const { id } = await this.platformResolver.getPlatformData();\n try {\n await PlatformLoginApiClient.forgotPassword(id, request);\n } catch (error) {\n if (axios.isAxiosError(error)) {\n if (error.response?.status === 400) {\n throw new InvalidEmailProvided();\n }\n }\n throw error;\n }\n }\n}\n","import type { Route } from 'vue-router';\n\nimport { JWT, queryStringWithTokenParam } from './interfaces';\nimport baseStore from '@/main/baseStore';\nimport translationsStore from '@/translations/store';\n\nexport type TokenValidationResult = {\n isValid: boolean;\n message: string;\n};\n\nexport interface TokenValidator {\n (token: string): Promise;\n}\n\n/**\n * Silently remove token from the query string\n */\nexport function removeParamFromQueryString(key: string) {\n const searchParams = new URLSearchParams(window.location.search);\n searchParams.delete(key);\n\n const loc = window.location;\n const params = searchParams.toString();\n const queryString = params.length > 0 ? `?${params}` : '';\n const newUrl = `${loc.protocol}//${loc.host}${loc.pathname}${queryString}`;\n\n window.history.replaceState({ path: newUrl }, '', newUrl);\n}\n\nexport function popTokenFromQueryString(activeRoute: Route) {\n const { token } = activeRoute.query as queryStringWithTokenParam;\n removeParamFromQueryString('token');\n return token as JWT;\n}\n\n/**\n * Get default error message for query param token when is invalid\n */\nfunction getTokenExpirationMessage(): string {\n const trans = translationsStore.context(baseStore).getters.trans;\n return trans('spa.authentication.login.token-link-expired');\n}\n\nexport function getDefaultTokenValidationResult(isValid: boolean): TokenValidationResult {\n return {\n isValid,\n message: isValid ? '' : getTokenExpirationMessage(),\n };\n}\n","import { AuthenticationServiceTokens } from '../../di-tokens';\nimport { PlatformResolver } from '../interfaces';\nimport { InvalidPlatformError } from '../errors';\n\nexport interface PlatformJWTPayload {\n 'eloomi-platform-id': string;\n}\n\nexport abstract class PlatformServiceBase {\n public static inject = [AuthenticationServiceTokens.PlatformResolutionService] as const;\n\n constructor(private readonly platformResolver: PlatformResolver) {}\n\n protected async validatePlatform(payload: PlatformJWTPayload) {\n let isPlatformValid = false;\n if (this.platformResolver) {\n const { id } = await this.platformResolver.getPlatformData();\n isPlatformValid = id === Number(payload['eloomi-platform-id']);\n }\n\n if (!isPlatformValid) {\n throw new InvalidPlatformError();\n }\n }\n}\n","import axios from 'axios';\nimport { initClientWithoutAuth } from '@/api/http-client';\nimport { UserForgotPasswordApiFactory, ResetUserPasswordRequest } from '@eloomi/eloomi-users-external-client/1.0';\n\nimport { JWT } from './interfaces';\nimport { getJWTPayload } from './payload';\nimport { getDefaultTokenValidationResult, TokenValidationResult } from './token-manager';\nimport { PlatformJWTPayload, PlatformServiceBase } from './base/platform-service-base';\n\nconst PlatformLoginApiClient = initClientWithoutAuth(UserForgotPasswordApiFactory);\n\nexport interface ResetPasswordJWTPayload extends PlatformJWTPayload {\n 'user-id': string;\n 'user-email': string;\n}\n\nexport class ResetPasswordService extends PlatformServiceBase {\n public static getPayload(token: JWT): ResetPasswordJWTPayload {\n return getJWTPayload(token, ['eloomi-platform-id', 'user-id', 'user-email']);\n }\n\n public static async verifyToken(token: string): Promise {\n let isCodeValid: boolean;\n try {\n const validationResult = await PlatformLoginApiClient.verifyPasswordReset(token);\n isCodeValid = validationResult.data.success ?? false;\n } catch (error) {\n isCodeValid = false;\n }\n\n return getDefaultTokenValidationResult(isCodeValid);\n }\n\n public async resetPassword(token: JWT, password: string) {\n const payload = ResetPasswordService.getPayload(token);\n await this.validatePlatform(payload);\n\n const request: ResetUserPasswordRequest = { user_id: Number(payload['user-id']), password };\n\n try {\n await PlatformLoginApiClient.resetPassword(token, request);\n } catch (error) {\n if (axios.isAxiosError(error)) {\n if (error.response?.status === 400) {\n /**\n * Password validation etc should be implemented in the upcoming ticket\n */\n throw new Error('Unknown endpoint error');\n }\n }\n throw error;\n }\n }\n}\n","import type { NavigationGuard, NavigationGuardNext, Route } from 'vue-router';\n\nimport baseStore from '@/main/baseStore';\n\nimport { VueRouteTokenTransitionGuardService } from './transition-guard';\nimport type { TokenValidator } from './token-manager';\n\nfunction makeTokenValidatorGuard(validator: TokenValidator): NavigationGuard {\n return (to: Route, _: Route, next: NavigationGuardNext) => {\n const guardService = new VueRouteTokenTransitionGuardService(to, next);\n guardService.verifyTokenTransition(validator, baseStore);\n };\n}\n\nexport { makeTokenValidatorGuard as makeTokenCheckerGuard };\n","import axios from 'axios';\nimport { initClientWithoutAuth } from '@/api/http-client';\nimport { UserActivationApiFactory, ActivateUserRequest } from '@eloomi/eloomi-users-external-client/1.0';\n\nimport { EmptyJwtTokenError } from './errors';\nimport { JWT } from './interfaces';\nimport { getJWTPayload } from './payload';\nimport { getDefaultTokenValidationResult, TokenValidationResult } from './token-manager';\nimport { PlatformJWTPayload, PlatformServiceBase } from './base/platform-service-base';\n\nconst UserActivationApiClient = initClientWithoutAuth(UserActivationApiFactory);\n\nexport interface ActivateUserJWTPayload extends PlatformJWTPayload {\n 'user-id': string;\n 'user-email': string;\n 'activation-code': string;\n}\n\nexport class ActivateUserService extends PlatformServiceBase {\n public static getPayload(token: JWT): ActivateUserJWTPayload {\n return getJWTPayload(token, [\n 'eloomi-platform-id',\n 'user-id',\n 'user-email',\n 'activation-code',\n ]);\n }\n\n public static async verifyToken(token: string): Promise {\n let isCodeValid: boolean;\n try {\n const validationResult = await UserActivationApiClient.verifyActivation(token);\n isCodeValid = validationResult.data.success ?? false;\n } catch (error) {\n isCodeValid = false;\n }\n\n return getDefaultTokenValidationResult(isCodeValid);\n }\n\n public async activateUser(token: JWT, password: string): Promise {\n const payload = ActivateUserService.getPayload(token);\n await this.validatePlatform(payload);\n\n const request: ActivateUserRequest = { password };\n\n try {\n const response = await UserActivationApiClient.activateUser(token, request);\n const jwtToken = response.data.token;\n\n if (!jwtToken) {\n throw new EmptyJwtTokenError();\n }\n\n return jwtToken as JWT;\n } catch (error) {\n if (axios.isAxiosError(error)) {\n if (error.response?.status === 400) {\n /**\n * Password validation etc should be implemented in the upcoming ticket\n */\n throw new Error('Unknown endpoint error');\n }\n }\n throw error;\n }\n }\n}\n","import { Location } from 'vue-router';\nimport { AuthenticationRouteNames } from '@/authentication/route-definitions';\nimport { CoursesRouteNames } from '@/courses/route-definitions';\n\nexport const DEFAULT_PAGE_LOCATION: Location = {\n name: CoursesRouteNames.COURSES_DASHBOARD,\n};\n\nexport const LOGIN_PAGE_LOCATION: Location = {\n name: AuthenticationRouteNames.LOGIN,\n};\n","import { NavigationGuardNext, Route } from 'vue-router';\nimport { LocationQuery } from '@/authentication/services/interfaces';\nimport notificationStore from '@/common/components/toast/store';\nimport translationsStore from '@/translations/store';\nimport baseStore from '@/main/baseStore';\n\ntype queryStringWithStatusParam = LocationQuery & {\n status?: string;\n};\n\nexport enum StatusCodes {\n BadRequest = '400',\n Unauthorized = '401',\n ToManyLoginAttempts = '429',\n}\n\nexport function getLoginSsoErrorStatus(route?: Route): StatusCodes | null {\n if (!route) {\n return null;\n }\n\n const query = route.query as queryStringWithStatusParam;\n const status = query.status as StatusCodes;\n return status;\n}\n\nexport const verifyLoginSsoStatus = (to: Route, _from: Route, next: NavigationGuardNext) => {\n const trans = translationsStore.context(baseStore).getters.trans;\n const status = getLoginSsoErrorStatus(to);\n let message: string | null = null;\n\n if (status) {\n switch (status) {\n case StatusCodes.Unauthorized:\n message = trans(`spa.authentication.login.sso.unauthorized`);\n break;\n case StatusCodes.BadRequest:\n message = trans(`spa.authentication.login.sso.bad-request`);\n break;\n case StatusCodes.ToManyLoginAttempts:\n message = trans(`spa.authentication.login.sso.to-many-attempts`);\n break;\n }\n }\n\n next();\n\n if (message) {\n notificationStore.context(baseStore).actions.showDelayedNotification({\n theme: 'warning',\n message: message,\n duration: 3000,\n });\n }\n};\n","import { queryStringWithTokenParam } from '@/authentication/services/interfaces';\nimport { InvalidTokenParamError } from '@/authentication/services/errors';\nimport { Route } from 'vue-router';\n\nexport function parseTokenParamFromRoute(route: Route): string {\n const query = route.query as queryStringWithTokenParam;\n const token = query.token;\n\n if (typeof token === 'string' && token.length > 0) {\n return token;\n }\n\n throw new InvalidTokenParamError();\n}\n","import { JWT } from './interfaces';\n\n/**\n * Taken from `jose` internals.\n *\n * @see {@link https://github.com/panva/jose/blob/main/src/runtime/browser/base64url.ts}\n *\n */\nexport const decodeBase64 = input => {\n let encoded = input;\n encoded = encoded.replace(/-/g, '+').replace(/_/g, '/').replace(/\\s/g, '');\n try {\n const textDecoder = new TextDecoder();\n return textDecoder.decode(\n new Uint8Array(\n atob(encoded)\n .split('')\n .map(c => c.charCodeAt(0))\n )\n );\n } catch {\n throw new TypeError('The input to be decoded is not correctly encoded.');\n }\n};\n\nexport function getJWTPayload(jwt: JWT, requiredFields: (keyof PayloadType)[]): PayloadType {\n if (!isJwtToken(jwt)) {\n jwt = decodeBase64Url(jwt) as JWT;\n }\n\n const [_header, payload, _signature] = jwt.split('.');\n\n const data = JSON.parse(decodeBase64(payload));\n if (!requiredFields.every(field => field in data && data[field] != null)) {\n throw new TypeError('Malformed JWT payload detected');\n }\n\n return data as PayloadType;\n}\n\nfunction isJwtToken(token: string) {\n return token.includes('ey') && token.includes('.');\n}\n\nfunction decodeBase64Url(input: string) {\n input = input.replace(/-/g, '+').replace(/_/g, '/');\n\n const pad = input.length % 4;\n if (pad) {\n if (pad === 1) {\n throw new Error('InvalidLengthError: Input base64url string is the wrong length to determine padding');\n }\n input += new Array(5 - pad).join('=');\n }\n\n return decodeBase64(input);\n}\n","import { JWT } from '../interfaces';\nimport { LoginSession } from '../../domain';\nimport { getJWTPayload } from '../payload';\n\nexport interface JWTPayload {\n readonly user_id: string;\n readonly platform_id: string;\n\n /** Not valid before timestamp. */\n readonly nbf: number;\n\n /** Expiration timestamp. */\n readonly exp: number;\n\n /** Issued at timestamp. */\n readonly iat: number;\n\n /** Issuer. */\n readonly iss: string;\n}\n\nexport class LoginSessionJWT implements LoginSession {\n private readonly jwtPayload: JWTPayload;\n\n public constructor(readonly jwt: JWT) {\n this.jwtPayload = getJWTPayload(jwt, ['user_id', 'platform_id', 'nbf', 'exp', 'iat', 'iss']);\n }\n\n /**\n * Return JWT as is.\n */\n public getToken() {\n return this.jwt;\n }\n\n /**\n * Check if session isn't expired and is used in a valid period of time.\n * This doesn't guarantee the validity of session token since it may be **modified** by an attacker.\n */\n public isActual() {\n /** Current timestamp in seconds. */\n const now = Date.now() / 1000;\n // return now < this.jwtPayload.exp && now >= this.jwtPayload.nbf;\n const delta = 5 * 60; // 5 minutes\n return now < this.jwtPayload.exp + delta && now >= this.jwtPayload.nbf - delta;\n }\n\n /**\n * Check if session needs a refresh.\n */\n public isRefreshRequired() {\n throw new Error('Method is not implemented');\n }\n}\n","import { JWT } from '../interfaces';\nimport { LoginSessionLoadError } from '../errors';\n\nexport class JWTLoginSessionStore {\n private readonly STORAGE_KEY = 'INFINITE_JWT';\n\n /**\n * Clean session store.\n */\n public clean(): void {\n localStorage.removeItem(this.STORAGE_KEY);\n }\n\n /**\n * Load current session from the store.\n */\n public read(): JWT {\n const cachedData = localStorage.getItem(this.STORAGE_KEY);\n if (cachedData !== null) {\n return cachedData as JWT;\n }\n throw new LoginSessionLoadError();\n }\n\n /**\n * Save token to the store.\n * It will overwrite previous session token.\n */\n public write(jwt: JWT) {\n localStorage.setItem(this.STORAGE_KEY, jwt);\n }\n}\n","import { JwtApiFactory } from '@eloomi/eloomi-users-persona-client/1.0';\nimport { authorizeClient } from '@/api/http-client';\nimport { makeLogger } from '@/common/services';\nimport { JWT } from '../interfaces';\nimport { JWTLoginSessionStore } from './session-store';\n\nconst jwtApiClient = authorizeClient(JwtApiFactory);\n\nexport class JWTSessionRefresher {\n private readonly STORAGE_KEY = 'INFINITE_JWT_LAST_REFRESH';\n private readonly REFRESH_PERIOD = 1000 * 60 * 60; // 1 hour\n\n private readonly log = makeLogger('session-refresher');\n private readonly store = new JWTLoginSessionStore();\n\n private static instance: JWTSessionRefresher;\n private refreshTimer?: number;\n private failHandler?: () => void;\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private constructor() {}\n\n public static getInstance(): JWTSessionRefresher {\n if (!JWTSessionRefresher.instance) {\n JWTSessionRefresher.instance = new JWTSessionRefresher();\n }\n\n return JWTSessionRefresher.instance;\n }\n\n public start(makeRefreshTimeMark = false) {\n this.startRefresher();\n if (makeRefreshTimeMark) {\n this.markLastRefreshTime();\n }\n }\n\n public resume(refreshImmediately = false) {\n this.resumeRefresher(refreshImmediately);\n }\n\n public stop() {\n this.stopRefresher();\n }\n\n public setFailHandler(handler?: () => void) {\n this.failHandler = handler;\n }\n\n private async refreshToken() {\n try {\n const jwt = (await jwtApiClient.getToken()).data as JWT;\n this.store.write(jwt);\n this.markLastRefreshTime();\n\n // Schedule next refresh only if active timer wasn't canceled outside\n // while network request was processed.\n if (this.refreshTimer !== undefined) {\n this.scheduleRefresh();\n }\n } catch (error) {\n this.store.clean();\n this.stopRefresher();\n\n if (this.failHandler !== undefined) {\n this.failHandler();\n }\n }\n }\n\n private scheduleRefresh(timeout = this.REFRESH_PERIOD) {\n this.log('session refresh is scheduled in %o ms', timeout);\n this.refreshTimer = window.setTimeout(async () => {\n await this.refreshToken();\n }, timeout);\n }\n\n private startRefresher() {\n this.stopRefresher();\n this.scheduleRefresh();\n }\n\n private resumeRefresher(immediate = false) {\n if (immediate) {\n this.stopRefresher();\n this.scheduleRefresh(0);\n return;\n }\n\n if (this.refreshTimer !== undefined) {\n return;\n }\n\n const lastRefreshTime = this.getLastRefreshTimeMark();\n if (!lastRefreshTime) {\n this.scheduleRefresh();\n return;\n }\n\n const timeElapsed = Date.now() - lastRefreshTime;\n const timeout = timeElapsed >= this.REFRESH_PERIOD ? 0 : this.REFRESH_PERIOD - timeElapsed;\n\n this.scheduleRefresh(timeout);\n }\n\n private stopRefresher() {\n if (this.refreshTimer !== undefined) {\n window.clearTimeout(this.refreshTimer);\n this.refreshTimer = undefined;\n }\n this.cleanLastRefreshTimeMark();\n }\n\n private getLastRefreshTimeMark() {\n const timeMark = localStorage.getItem(this.STORAGE_KEY);\n if (timeMark !== null) {\n return Number(timeMark);\n }\n return undefined;\n }\n\n private markLastRefreshTime() {\n localStorage.setItem(this.STORAGE_KEY, String(Date.now()));\n }\n\n private cleanLastRefreshTimeMark() {\n localStorage.removeItem(this.STORAGE_KEY);\n }\n}\n","import { JWT } from '../interfaces';\nimport { LoginSessionJWT } from './session';\nimport { JWTSessionRefresher } from './session-refresher';\nimport { JWTLoginSessionStore } from './session-store';\n\nexport class JWTLoginSessionManager {\n private readonly store = new JWTLoginSessionStore();\n private readonly refresher = JWTSessionRefresher.getInstance();\n\n /**\n * Start a new login session.\n * This should be called right after the successful login.\n */\n public start(jwt: JWT) {\n this.store.write(jwt);\n this.refresher.start(true);\n return new LoginSessionJWT(jwt);\n }\n\n /**\n * Stop a current login session.\n * This should be called after logout from the application.\n */\n public clean(): void {\n this.store.clean();\n this.refresher.stop();\n }\n\n /**\n * Enable automatic session refresher.\n */\n public resumeAutoRefresh() {\n this.refresher.resume(false);\n }\n\n public forceSessionRefresh() {\n this.refresher.resume(true);\n }\n\n public setSessionRefreshErrorHandler(errorHandler?: () => void) {\n this.refresher.setFailHandler(errorHandler);\n }\n\n /**\n * Load a session from the local storage.\n */\n public load() {\n const jwt = this.store.read();\n return new LoginSessionJWT(jwt);\n }\n\n public isLoggedIn() {\n try {\n const session = this.load();\n return session.isActual();\n } catch {\n return false;\n }\n }\n}\n","import { Module, Mutations, Actions, createMapper, Getters } from 'vuex-smart-module';\nimport { Vue } from 'vue-property-decorator';\nimport environment from '@/environment';\nimport { createStoreServiceFactory } from '@/di/store-factory';\n\nclass State {\n public loginState: 'login' | 'forgot-password' | 'reset-password' | 'setup-account' | 'choose-platform' =\n environment.platformHostContext ? 'login' : 'choose-platform';\n}\n\nclass StoreGetters extends Getters {\n public get isBackButtonShownOnLoginForm() {\n return !environment.platformHostContext;\n }\n}\n\nclass StoreActions extends Actions {\n public goBack() {\n if (this.state.loginState === 'login' && !environment.platformHostContext) {\n this.mutations.setChoosePlatformState();\n } else {\n this.mutations.setLoginState();\n }\n }\n\n public proceedToLogin() {\n if (this.state.loginState === 'choose-platform') {\n this.mutations.setLoginState();\n }\n }\n\n public goToForgotPassword() {\n if (this.state.loginState === 'login') {\n this.mutations.setForgotPasswordState();\n }\n }\n}\n\nclass StoreMutations extends Mutations {\n public setLoginState() {\n this.state.loginState = 'login';\n }\n\n public setForgotPasswordState() {\n this.state.loginState = 'forgot-password';\n }\n\n public setChoosePlatformState() {\n this.state.loginState = 'choose-platform';\n }\n}\n\nconst store = new Module({\n state: State,\n actions: StoreActions,\n mutations: StoreMutations,\n getters: StoreGetters,\n});\n\nconst authFlowStoreMapper = createMapper(store);\n\nexport const AuthFlowMappedStoreMixin = Vue.extend({\n computed: {\n ...authFlowStoreMapper.mapState(['loginState']),\n ...authFlowStoreMapper.mapGetters(['isBackButtonShownOnLoginForm']),\n },\n methods: {\n ...authFlowStoreMapper.mapActions(['goBack', 'goToForgotPassword', 'proceedToLogin']),\n },\n});\n\nexport const AuthFlowStoreServiceFactory = createStoreServiceFactory({\n ...authFlowStoreMapper.mapState(['loginState']),\n ...authFlowStoreMapper.mapGetters(['isBackButtonShownOnLoginForm']),\n ...authFlowStoreMapper.mapActions(['goBack', 'goToForgotPassword', 'proceedToLogin']),\n});\n\nexport type AuthFlowStoreService = ReturnType;\n\nexport default store;\n","import { AuthenticationServiceTokens as Tokens } from '../di-tokens';\nimport type { JWTAuthenticationService, VueRouterRedirectionService, JWTLoginSessionManager } from '../services';\nimport type { Credentials } from '../domain';\n\n/**\n * User wants to sign in into the application.\n */\nexport class LoginUseCase {\n public static inject = [Tokens.AuthenticationService, Tokens.SessionManager, Tokens.RedirectService] as const;\n\n public constructor(\n private authService: JWTAuthenticationService,\n private sessionManager: JWTLoginSessionManager,\n private redirectService: VueRouterRedirectionService\n ) {}\n\n public async logIn(credentials: Credentials) {\n const authData = await this.authService.logIn(credentials.email, credentials.password);\n this.sessionManager.start(authData.data.token);\n\n if (this.redirectService.hasRedirectParamInQuery()) {\n await this.redirectService.redirectToPagePassedInQuery();\n } else {\n await this.redirectService.redirectToDefaultPage();\n }\n }\n}\n","import { AuthenticationServiceTokens as Tokens } from '../di-tokens';\nimport type { JWTLoginSessionManager, PlatformResolver, VueRouterRedirectionService } from '../services';\nimport { Route } from 'vue-router';\nimport { getLoginSsoErrorStatus } from '@/authentication/services/login-sso-handler';\nimport { getDevicePlatform, Platform } from '@/common/services/get-device-platform';\n\nexport interface SSOOrigin {\n devicePlatform: Platform;\n}\n\n/**\n * User wants to sign in into the application by using sso.\n */\nexport class LoginSsoUseCase {\n public static inject = [Tokens.PlatformResolutionService, Tokens.RedirectService, Tokens.SessionManager] as const;\n\n public constructor(\n private readonly platformService: PlatformResolver,\n private readonly redirectService: VueRouterRedirectionService,\n private readonly sessionManager: JWTLoginSessionManager\n ) {}\n\n public async logIn() {\n const devicePlatform = getDevicePlatform();\n try {\n const { id } = await this.platformService.getPlatformData(true);\n this.redirectService.redirectToLoginSsoPage(id, { devicePlatform });\n } finally {\n if (devicePlatform === Platform.Web) {\n this.platformService.cleanCache(true);\n this.sessionManager.clean();\n }\n }\n }\n\n public isSsoEnabled() {\n return this.platformService.isSsoLoginEnabled();\n }\n\n public isSsoOnlyLoginMode() {\n return this.platformService.isSsoOnlyLoginMode();\n }\n\n public allowSsoAutomaticLogin(route?: Route) {\n const isSsoLoginError = getLoginSsoErrorStatus(route);\n return (\n this.isSsoEnabled() &&\n this.isSsoOnlyLoginMode() &&\n this.platformService.isSsoAutomaticLoginEnabled() &&\n !isSsoLoginError\n );\n }\n}\n","import type { ResetSessionDataService } from '@/authentication/services/reset-session-data';\n\nimport { AuthenticationServiceTokens as Tokens } from '../di-tokens';\nimport type {\n VueRouterRedirectionService,\n JWTLoginSessionManager,\n PlatformResolver,\n SessionApiClient,\n} from '../services';\n\n/**\n * The user wants to exit the application.\n */\nexport class LogoutUseCase {\n public static inject = [\n Tokens.PlatformResolutionService,\n Tokens.SessionManager,\n Tokens.RedirectService,\n Tokens.ResetSessionDataService,\n Tokens.SessionApiClient,\n ] as const;\n\n public constructor(\n private readonly platformResolver: PlatformResolver,\n private readonly sessionManager: JWTLoginSessionManager,\n private readonly redirectService: VueRouterRedirectionService,\n private readonly sessionDataService: ResetSessionDataService,\n private readonly sessionApiClient: SessionApiClient\n ) {}\n\n public async logOut(shouldRedirect = true, withBackend = true) {\n if (withBackend) {\n await this.sessionApiClient.logout();\n }\n\n this.platformResolver.cleanCache();\n this.sessionManager.clean();\n this.sessionDataService.reset();\n\n if (shouldRedirect) {\n await this.redirectService.redirectToLoginPage();\n }\n }\n}\n","import { AuthenticationServiceTokens as Tokens } from '../di-tokens';\nimport type { VueRouterRedirectionService, JWTLoginSessionManager, ActivateUserService, JWT } from '../services';\nimport type { LogoutUseCase } from './logout';\n\n/**\n * User has received an activation email and wants to setup an account.\n */\nexport class ActivateUserUseCase {\n public static inject = [\n Tokens.SessionManager,\n Tokens.RedirectService,\n Tokens.ActivateUserService,\n Tokens.LogoutUseCase,\n ] as const;\n\n public constructor(\n private readonly sessionManager: JWTLoginSessionManager,\n private readonly redirectService: VueRouterRedirectionService,\n private readonly activateUserService: ActivateUserService,\n private readonly logoutUseCase: LogoutUseCase\n ) {}\n\n public async activateUser(token: JWT, password: string) {\n if (this.sessionManager.isLoggedIn()) {\n await this.logoutUseCase.logOut(false).catch(console.error);\n }\n const jwt = await this.activateUserService.activateUser(token, password);\n this.sessionManager.start(jwt);\n await this.redirectService.redirectToDefaultPage();\n }\n}\n","import { getDevicePlatform } from '@/common/services/get-device-platform';\n\nimport { AuthenticationServiceTokens as Tokens } from '../di-tokens';\nimport { PlatformResolver, VueRouterRedirectionService } from '../services';\n\nexport interface LoginPageStateNavigator {\n proceedToLogin(): void;\n}\n\n/**\n * User uses mobile app and just before login screen have to choose a platform first.\n */\nexport class ChoosePlatformUseCase {\n public static inject = [\n Tokens.PlatformResolutionService,\n Tokens.AuthFlowStoreService,\n Tokens.RedirectService,\n ] as const;\n\n public constructor(\n private readonly platformService: PlatformResolver,\n private readonly navigator: LoginPageStateNavigator,\n private redirectService: VueRouterRedirectionService\n ) {}\n\n public async choosePlatform(subDomain: string) {\n await this.platformService.forceSetPlatformDomain(subDomain);\n const platform = await this.platformService.getPlatformData(true);\n\n if (this.platformService.isSsoOnlyLoginMode()) {\n await this.redirectService.redirectToLoginSsoPage(platform.id, { devicePlatform: getDevicePlatform() });\n } else {\n this.navigator.proceedToLogin();\n }\n }\n\n public getPlatformParentDomain() {\n return this.platformService.getPlatformParentDomain();\n }\n}\n","import { AuthenticationServiceTokens as Tokens } from '../di-tokens';\nimport { ForgotPasswordService } from '../services';\n\n/**\n * User wants to request a password reset.\n */\nexport class ForgotPasswordUseCase {\n public static inject = [Tokens.ForgotPasswordService, Tokens.AuthFlowStoreService] as const;\n\n public constructor(\n private readonly authService: ForgotPasswordService,\n private readonly navigator: { goBack(): void }\n ) {}\n\n public async requestPasswordReset(email: string) {\n await this.authService.requestPasswordReset(email);\n this.navigator.goBack();\n }\n}\n","import { AuthenticationServiceTokens as Tokens } from '../di-tokens';\nimport type { JWT, ResetPasswordService, JWTLoginSessionManager } from '../services';\nimport type { LogoutUseCase } from './logout';\n\n/**\n * User has received a password reset email and wants to reset a password.\n */\nexport class ResetPasswordUseCase {\n public static inject = [\n Tokens.SessionManager,\n Tokens.ResetPasswordService,\n Tokens.RedirectService,\n Tokens.LogoutUseCase,\n ] as const;\n\n public constructor(\n private readonly sessionManager: JWTLoginSessionManager,\n private readonly authService: ResetPasswordService,\n private readonly navigator: { redirectToLoginPage() },\n private readonly logoutUseCase: LogoutUseCase\n ) {}\n\n public async resetPasswordAndRedirectToLoginPage(token: JWT, password: string) {\n if (this.sessionManager.isLoggedIn()) {\n await this.logoutUseCase.logOut(false).catch(console.error);\n }\n await this.authService.resetPassword(token, password);\n await this.navigator.redirectToLoginPage();\n }\n}\n","export enum FilterType {\n Author = 'author',\n Category = 'category',\n CourseType = 'course-type',\n Group = 'group',\n Skill = 'skill',\n Topic = 'topic',\n}\n\nexport enum FilterMode {\n Inclusive = 'inclusive',\n Exclusive = 'exclusive',\n}\n\nexport type Filters = Partial; mode?: FilterMode }>>;\n\nexport type Option = {\n value: number | string;\n label: string;\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DropdownButton',{ref:\"dropdownButtonRef\",staticClass:\"filters-dropdown\",attrs:{\"title\":_vm.trans('spa.admin.course-organization.menu.filters'),\"color\":\"secondary\",\"closeOnContentClick\":false,\"isButtonActive\":_vm.isFilterSet,\"isDisabled\":_vm.isDisabled,\"isCompact\":_vm.isCompact,\"positionStrategyPopover\":\"fixed\",\"autoMaxHeightPopover\":true},on:{\"blur\":_vm.backToFilterTypesMenu},scopedSlots:_vm._u([{key:\"compact-view\",fn:function(){return [_c('elm-actions-add-filter-icon',{staticClass:\"display-flex\",attrs:{\"slot\":\"icon\"},slot:\"icon\"})]},proxy:true}])},[(_vm.currentMenu === 'TYPES')?_c('FilterTypeMenu',{attrs:{\"options\":_vm.filterTypeOptions,\"activeFiltersCount\":_vm.activeFiltersCount},on:{\"select\":_vm.handleFilterTypeSelect}}):_c('FilterOptionsMenu',{attrs:{\"options\":_vm.filterOptions,\"appliedValues\":_vm.selectedValues,\"filterType\":_vm.currentMenu},on:{\"back\":_vm.backToFilterTypesMenu,\"confirm\":_vm.handleFilterChangesConfirm}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FilterOptionsMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FilterOptionsMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FilterOptionsMenu.vue?vue&type=template&id=7bacf340&scoped=true&\"\nimport script from \"./FilterOptionsMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilterOptionsMenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilterOptionsMenu.vue?vue&type=style&index=0&id=7bacf340&scoped=true&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7bacf340\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"options-menu\"},[_c('div',{staticClass:\"menu-title\"},[_c('MenuBackButton',{on:{\"click\":_vm.handleBackButtonClick}}),_c('h5',{staticClass:\"label-uppercase-info\"},[_vm._v(_vm._s(_vm.menuLabel))])],1),(_vm.canSearch)?_c('elm-text-field',{directives:[{name:\"elm-model\",rawName:\"v-elm-model\",value:(_vm.searchQuery),expression:\"searchQuery\"}],staticClass:\"search-field\",attrs:{\"placeholder\":_vm.searchFieldPlaceholder,\"size\":\"small\"}},[_c('elm-actions-search-icon',{attrs:{\"slot\":\"icon-left\",\"size\":\"18\"},slot:\"icon-left\"})],1):_vm._e(),_c('DropdownItem',{staticClass:\"select-all-option\",attrs:{\"withCheckbox\":\"\",\"title\":\"Select all\",\"isSelected\":_vm.areAllOptionsSelected},on:{\"click\":_vm.handleSelectAll}}),_c('div',{staticClass:\"divider\"}),_c('ul',{staticClass:\"options-list\"},_vm._l((_vm.filteredOptions),function(option){return _c('DropdownItem',{key:option.value,attrs:{\"title\":option.label,\"withCheckbox\":\"\",\"isSelected\":_vm.selectedValues.includes(option.value)},on:{\"click\":function($event){return _vm.handleOptionClick(option)}}})}),1),_c('div',{staticClass:\"menu-footer\"},[_c('elm-button',{attrs:{\"size\":\"small\",\"color\":\"primary\"},on:{\"click\":_vm.handleConfirm}},[_vm._v(\" \"+_vm._s(_vm.trans('spa.admin.course-organization.filters-menu.confirm'))+\" \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"menu\"},[_c('span',{staticClass:\"label-uppercase-info menu-label\"},[_vm._v(_vm._s(_vm.menuLabel))]),_vm._l((_vm.options),function(option){return _c('DropdownItem',{key:option.value,attrs:{\"title\":option.label,\"label\":option.selectedValuesCount,\"withButton\":\"\"},on:{\"click\":function($event){return _vm.handleOptionClick(option)}}})})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FilterTypeMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FilterTypeMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FilterTypeMenu.vue?vue&type=template&id=14cf9e40&scoped=true&\"\nimport script from \"./FilterTypeMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilterTypeMenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilterTypeMenu.vue?vue&type=style&index=0&id=14cf9e40&scoped=true&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"14cf9e40\",\n null\n \n)\n\nexport default component.exports","import { authorizeClient } from '@/api/http-client';\nimport { AdminOverviewApiFactory } from '@eloomi/eloomi-learning-persona-client/1.0';\nimport { extractAxiosData } from '@/common/services/extractAxiosData';\n\nconst adminOverviewApiClient = authorizeClient(AdminOverviewApiFactory);\n\nexport function getListOfCourseAuthors() {\n return adminOverviewApiClient.getListOfCourseAuthors().then(extractAxiosData);\n}\n","import { CourseType } from '@eloomi/eloomi-learning-persona-client/1.0';\nimport { FilterType, Option } from '@/common/components/filter/interfaces';\nimport { PageMaxSizeFromApi } from '@/admin/users/providers/user-access-roles';\nimport { getCategoriesNew, getTopics } from '@/admin/topics/providers';\nimport { getFullName } from '@/common/services';\nimport { getGroups } from '@/admin/groups/providers';\nimport { getListOfCourseAuthors } from '@/admin/courses/providers/authors';\nimport { getSkillsLite } from '@/admin/skills/providers/course-skills';\nimport { useLaunchDarkly, useTranslation } from '@/common/composables';\n\nexport function useFiltersProvider() {\n const { checkIfLaunchDarklyFeatureEnabled, launchDarklyFeaturesList } = useLaunchDarkly();\n const { trans } = useTranslation();\n\n const getOptionsList = async (type: FilterType) => {\n let options: Option[] = [];\n\n switch (type) {\n case FilterType.Author: {\n const result = await getListOfCourseAuthors();\n options = result.map(author => ({\n value: Number(author.id),\n label: getFullName(author),\n }));\n break;\n }\n case FilterType.Category: {\n const result = await getCategoriesNew({ page: 1, pageSize: PageMaxSizeFromApi });\n options = (result.data || []).map(\n category =>\n ({\n value: category.id!,\n label: category.name || '',\n } as Option)\n );\n break;\n }\n case FilterType.CourseType: {\n options.push(\n {\n value: CourseType.Eloomi,\n label: 'eloomi',\n },\n {\n value: CourseType.Scorm,\n label: 'SCORM',\n }\n );\n if (checkIfLaunchDarklyFeatureEnabled(launchDarklyFeaturesList.CONTENT_STORE_POC)) {\n options.push({\n value: CourseType.Go1Scorm,\n label: trans('spa.admin.course-organization.filters-menu.options.course-type.content-store'),\n });\n }\n break;\n }\n case FilterType.Group: {\n const result = await getGroups({ page: 1, pageSize: PageMaxSizeFromApi });\n options = (result.data || []).map(group => ({\n value: Number(group.id),\n label: group.name || '',\n }));\n break;\n }\n case FilterType.Skill: {\n const result = await getSkillsLite({ page: 1, pageSize: PageMaxSizeFromApi });\n options = (result.data || []).map(skill => ({\n value: skill.id,\n label: skill.name || '',\n }));\n break;\n }\n case FilterType.Topic: {\n const result = await getTopics({ page: 1, pageSize: PageMaxSizeFromApi });\n options = (result.data || []).map(topic => ({\n value: topic.id,\n label: topic.name || '',\n }));\n break;\n }\n }\n return options;\n };\n\n return { getOptionsList };\n}\n","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FiltersDropdown.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FiltersDropdown.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FiltersDropdown.vue?vue&type=template&id=15c3deca&scoped=true&\"\nimport script from \"./FiltersDropdown.vue?vue&type=script&lang=ts&\"\nexport * from \"./FiltersDropdown.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FiltersDropdown.vue?vue&type=style&index=0&id=15c3deca&scoped=true&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"15c3deca\",\n null\n \n)\n\nexport default component.exports","import { Vue } from 'vue-property-decorator';\n\nimport { notificationStoreMapper, useNotificationStore } from './store';\nimport { ToastNotificationActions } from './store/actions';\n\nexport default Vue.extend({\n computed: {\n ...notificationStoreMapper.mapState(['notifications']),\n },\n methods: {\n ...notificationStoreMapper.mapActions(['showNotification', 'showDelayedNotification', 'clearNotifications']),\n },\n});\nexport function useNotifications() {\n const notificationStore = useNotificationStore();\n\n return {\n showNotification: notificationStore.actions.showNotification as InstanceType<\n typeof ToastNotificationActions\n >['showNotification'],\n showDelayedNotification: notificationStore.actions.showDelayedNotification as InstanceType<\n typeof ToastNotificationActions\n >['showDelayedNotification'],\n clearNotifications: notificationStore.actions.clearNotifications as InstanceType<\n typeof ToastNotificationActions\n >['clearNotifications'],\n notifications: notificationStore.state.notifications,\n } as const;\n}\n","import { Actions } from 'vuex-smart-module';\n\nimport { NotificationItem } from '../notification.interface';\n\nimport { ToastNotificationGetters } from './getters';\nimport { ToastNotificationMutations } from './mutations';\nimport { ToastNotificatonState } from './state';\n\ntype NotificationPayload = Omit;\n\nexport interface OptionalNotificationPayload extends Partial {\n message: string;\n waitForPrevious?: boolean;\n}\n\ntype PromiseReject = (reason?: any) => void;\nclass NotificationHandle {\n public constructor(private readonly reject: PromiseReject, private readonly timer: number) {}\n public cancel() {\n this.reject();\n clearTimeout(this.timer);\n }\n}\nlet lastNotificationPromise: Promise | null = null;\nlet activeNotificationHandle: NotificationHandle | null = null;\n\nconst rejectStub = () => Promise.resolve(0);\nconst ANIMATION_DURATION = 500;\n\n// tslint:disable-next-line: max-classes-per-file\nexport class ToastNotificationActions extends Actions<\n ToastNotificatonState,\n ToastNotificationGetters,\n ToastNotificationMutations,\n ToastNotificationActions\n> {\n private _pushNotification = (payload: NotificationPayload): Promise => {\n this.mutations.pushNotification(payload);\n const notificationId = this.state.counter;\n\n return new Promise((resolve, reject) => {\n const timer = window.setTimeout(() => {\n this.mutations.removeNotification(notificationId);\n resolve(notificationId);\n }, payload.duration + ANIMATION_DURATION);\n\n activeNotificationHandle = new NotificationHandle(reject, timer);\n });\n // tslint:disable-next-line: semicolon\n };\n\n public async showNotification(payload: OptionalNotificationPayload) {\n const actualPayload = {\n theme: payload.theme ?? 'info',\n isCompact: payload.isCompact ?? false,\n duration: payload.duration ?? 1000,\n message: payload.message,\n waitForPrevious: payload.waitForPrevious ?? false,\n };\n\n if (actualPayload.waitForPrevious && lastNotificationPromise !== null) {\n lastNotificationPromise = lastNotificationPromise.then(() => this._pushNotification(actualPayload));\n\n return lastNotificationPromise.catch(rejectStub);\n }\n\n lastNotificationPromise = this._pushNotification(actualPayload);\n return lastNotificationPromise.catch(rejectStub);\n }\n\n public async showDelayedNotification(payload: OptionalNotificationPayload, delay = 300) {\n return setTimeout(() => this.dispatch('showNotification', payload), delay);\n }\n\n public clearNotifications() {\n activeNotificationHandle?.cancel();\n lastNotificationPromise = null;\n this.mutations.clearAllNotifications();\n }\n}\n","import { Getters } from 'vuex-smart-module';\n\nimport { NotificationItem } from '../notification.interface';\n\nimport { ToastNotificatonState } from './state';\n\nexport class ToastNotificationGetters extends Getters {\n public get notifications(): Array {\n return this.state.notifications;\n }\n}\n","import { Mutations } from 'vuex-smart-module';\n\nimport { ToastNotificatonState } from './state';\nimport { NotificationItem } from '../notification.interface';\n\ntype NotificationPayload = Omit;\n\nexport class ToastNotificationMutations extends Mutations {\n private incrementCounter = () => {\n this.state.counter = (this.state.counter + 1) % 10000;\n // tslint:disable-next-line: semicolon\n };\n\n public pushNotification(payload: NotificationPayload) {\n this.incrementCounter();\n const notification: NotificationItem = {\n id: this.state.counter,\n ...payload,\n };\n this.state.notifications.push(notification);\n }\n\n public removeNotification(itemId: number) {\n const itemIndex = this.state.notifications.findIndex(({ id }) => id === itemId);\n this.state.notifications.splice(itemIndex, 1);\n }\n\n public clearAllNotifications() {\n this.state.notifications = [];\n }\n}\n","import { Module, createMapper, createComposable } from 'vuex-smart-module';\n\nimport { ToastNotificationActions } from './actions';\nimport { ToastNotificationGetters } from './getters';\nimport { ToastNotificationMutations } from './mutations';\nimport { ToastNotificatonState } from './state';\n\nconst notificationStore = new Module({\n state: ToastNotificatonState,\n getters: ToastNotificationGetters,\n mutations: ToastNotificationMutations,\n actions: ToastNotificationActions,\n});\n\nexport const useNotificationStore = createComposable(notificationStore);\n\nexport default notificationStore;\nexport const notificationStoreMapper = createMapper(notificationStore);\n","import { NotificationItem } from '../notification.interface';\n\nexport class ToastNotificatonState {\n public notifications: NotificationItem[] = [];\n public counter: number = 0;\n}\n","import { useLaunchDarklyFeatureStore } from '@/launch-darkly/store';\n\nexport function useLaunchDarkly() {\n const store = useLaunchDarklyFeatureStore();\n\n return {\n checkIfLaunchDarklyFeatureEnabled: store.getters.checkIfLaunchDarklyFeatureEnabled,\n launchDarklyFeaturesList: store.state.launchDarklyFeaturesList,\n getLaunchDarklyFeatureData: store.getters.getLaunchDarklyFeatureData,\n };\n}\n\nexport default useLaunchDarkly;\n","import { useMobileModeStore } from '@/common/store/mobile-mode';\nimport { computed, ComputedRef } from 'vue';\n\nexport function useMobile(): { isMobile: ComputedRef; isViewportSmallerOrEqualMd: ComputedRef } {\n const mobileModeStore = useMobileModeStore();\n\n const isMobile = computed(() => mobileModeStore.state.isMobile);\n\n const isViewportSmallerOrEqualMd = computed(() => mobileModeStore.getters.isViewportSmallerOrEqualMd);\n\n return { isMobile, isViewportSmallerOrEqualMd };\n}\n\nexport default useMobile;\n","import { usePlanFeaturesStore } from '@/plan-features/store';\n\nexport function usePlanFeatures() {\n const store = usePlanFeaturesStore();\n\n return {\n checkIfFeatureEnabled: store.getters.checkIfFeatureEnabled,\n featuresList: store.state.featuresList,\n };\n}\n\nexport default usePlanFeatures;\n","import { useRouter } from '@/common/composables/useRouter';\nimport { getCurrentInstance, reactive } from 'vue';\nimport { Route } from 'vue-router';\n\nlet currentRoute: Route;\n\nexport function useRoute() {\n const router = useRouter();\n\n if (!currentRoute) {\n const vm = getCurrentInstance();\n if (!vm) {\n throw new Error('You must use this function within the \"setup()\" method');\n }\n\n currentRoute = reactive({ ...vm.proxy.$route });\n router.afterEach(to => Object.assign(currentRoute, to));\n }\n\n return currentRoute;\n}\n","import { getCurrentInstance } from 'vue';\n\nexport function useRouter() {\n const vm = getCurrentInstance();\n if (!vm) {\n throw new Error('You must use this function within the \"setup()\" method');\n }\n\n return vm.proxy.$router;\n}\n","import { TransFunction, useTranslationsStore } from '@/translations/store';\n\nexport function useTranslation() {\n const store = useTranslationsStore();\n\n return { trans: store.getters.trans as TransFunction, currentLanguage: store.state.currentLanguage };\n}\n\nexport default useTranslation;\n","/**\n * Protocol that's used to communicate between mobile browser and mobile application via deep links.\n */\nexport const APP_SCHEME = 'eloomi://';\n","export const MinWidthViewportBreakpoints = {\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1224,\n xxl: 1500,\n} as const;\n\nexport type BreakpointCode = keyof typeof MinWidthViewportBreakpoints;\n","export enum MISC_COLORS {\n BLUE = 'var(--color-misc-blue)',\n BLUE_80 = 'var(--color-misc-blue-80)',\n BLUE_60 = 'var(--color-misc-blue-60)',\n BLUE_40 = 'var(--color-misc-blue-40)',\n BLUE_20 = 'var(--color-misc-blue-20)',\n GREEN = 'var(--color-misc-green)',\n GREEN_80 = 'var(--color-misc-green-80)',\n GREEN_60 = 'var(--color-misc-green-60)',\n GREEN_40 = 'var(--color-misc-green-40)',\n GREEN_20 = 'var(--color-misc-green-20)',\n GREY = 'var(--color-misc-grey)',\n GREY_80 = 'var(--color-misc-grey-80)',\n GREY_60 = 'var(--color-misc-grey-60)',\n GREY_40 = 'var(--color-misc-grey-40)',\n GREY_20 = 'var(--color-misc-grey-20)',\n YELLOW = 'var(--color-misc-yellow)',\n YELLOW_80 = 'var(--color-misc-yellow-80)',\n YELLOW_60 = 'var(--color-misc-yellow-60)',\n YELLOW_40 = 'var(--color-misc-yellow-40)',\n YELLOW_20 = 'var(--color-misc-yellow-20)',\n SUCCESS = 'var(--color-success)',\n WARNING = 'var(--color-warning)',\n INFO = 'var(--color-info)',\n INFO_80 = 'var(--color-info-80)',\n INFO_60 = 'var(--color-info-60)',\n INFO_40 = 'var(--color-info-40)',\n INFO_20 = 'var(--color-info-20)',\n INFO_8 = 'var(--color-info-8)',\n ORANGE = 'var(--color-misc-orange)',\n PURPLE = 'var(--color-misc-purple)',\n}\n\nexport enum PRIMARY_COLORS {\n PRIMARY = 'var(--color-primary)',\n}\n","import { Component, Prop, Vue } from 'vue-property-decorator';\nimport { Themes } from '@/common/classes/themes';\n\n@Component({})\nexport default class CoreThemeMixin extends Vue {\n @Prop({ default: '' }) public color!: Themes | '';\n}\n","import { Component, Mixins } from 'vue-property-decorator';\nimport { MobileModeStoreMixin } from '@/common/store/mobile-mode';\nimport { getMaxWidthMedia } from '@/common/services';\nimport { MinWidthViewportBreakpoints, BreakpointCode } from '@/common/constants/breakpoints';\n\ntype MQListener = (e: MediaQueryListEvent) => void;\n\nfunction createMobileMediaQueryList() {\n return window.matchMedia(getMaxWidthMedia(768));\n}\n\nexport function getIsMobile(): boolean {\n const mql = createMobileMediaQueryList();\n return mql.matches;\n}\n\n@Component({})\nexport default class TrackMobileModeMixin extends Mixins(MobileModeStoreMixin) {\n public mql = createMobileMediaQueryList();\n private mediaQueries: { listener: MQListener | null; mql: MediaQueryList }[] = [];\n\n public mounted() {\n this.initMobileViewportListener();\n this.initViewportListeners();\n }\n\n private initMobileViewportListener() {\n if (this.mql.addEventListener) {\n this.mql.addEventListener('change', this.handleMqlChangeEvent);\n }\n this.setIsMobile(this.mql.matches);\n }\n\n private dropMobileViewportListener() {\n if (this.mql.removeEventListener) {\n this.mql.removeEventListener('change', this.handleMqlChangeEvent);\n }\n }\n\n public destroyed() {\n this.dropMobileViewportListener();\n this.dropViewportListeners();\n }\n\n private handleMqlChangeEvent(event: MediaQueryListEvent) {\n this.setIsMobile(event.matches);\n }\n\n private initViewportListeners() {\n this.mediaQueries = Object.entries(MinWidthViewportBreakpoints).map(([code, width]) => {\n const breakpoint = code as BreakpointCode;\n const mql = window.matchMedia(`(min-width: ${width}px)`);\n\n this.setBreakpoint({ breakpoint, state: mql.matches });\n\n let listener: ((event: MediaQueryListEvent) => any) | null = null;\n\n if (mql.addEventListener) {\n listener = (event: MediaQueryListEvent) => {\n this.setBreakpoint({ breakpoint, state: event.matches });\n };\n mql.addEventListener('change', listener);\n }\n\n return { listener, mql };\n });\n }\n\n private dropViewportListeners() {\n while (this.mediaQueries.length > 0) {\n const { mql, listener } = this.mediaQueries.pop()!;\n if (listener) {\n mql.removeEventListener('change', listener);\n }\n }\n }\n}\n","export enum EntitiesList {\n PACKAGE_DOWNLOAD = 'package-download',\n PREVIEW = 'preview',\n ACKNOWLEDGE = 'acknowledge',\n ADMIN = 'admin',\n AGGREGATE = 'aggregate',\n AGGREGATED = 'aggregated',\n ATTACHMENT = 'attachment',\n ATTEMPT = 'attempt',\n BASIC_REPORTING = 'basic-reporting',\n BUILDER = 'builder',\n BULK = 'bulk',\n BULK_DELETE = 'bulk-delete',\n CANCEL = 'cancel',\n CARD = 'card',\n CATEGORY = 'category',\n CHAPTER = 'chapter',\n CHOICE_QUESTION = 'choicequestion',\n COMPLETE = 'complete',\n COURSE = 'course',\n DEACTIVATE = 'deactivate',\n DELETE_BULK = 'delete-bulk',\n DOWNLOAD = 'download',\n EMBED = 'embed',\n EVENTS = 'events',\n EVENT_LISTENER = 'eventlistener',\n FILE = 'file',\n IFRAME = 'iframe',\n IMAGE = 'image',\n IMPORT = 'import',\n INCREMENT = 'increment',\n JOB_TITLE = 'job-title',\n JOB_TITLES = 'job-titles',\n LEARNING = 'learning',\n METRICS = 'metrics',\n NOTIFICATIONS = 'notifications',\n ORGANIZATION = 'organization',\n OVERVIEW = 'overview',\n PAGE = 'page',\n CONTENT = 'content',\n COURSES = 'courses',\n PLAYER = 'player',\n STATE = 'state',\n PARSED_USERS = 'parsed-users',\n PERSONA = 'persona',\n PERSONAL = 'personal',\n PLATFORM = 'platform',\n PODCAST = 'podcast',\n PROGRESS = 'progress',\n QUESTION = 'question',\n QUEUE = 'queue',\n REPORT = 'report',\n REPORTING = 'reporting',\n RESTRICTIONS = 'restrictions',\n SCORM = 'scorm',\n SEND = 'send',\n SPECIFIC = 'specific',\n START = 'start',\n STATS = 'stats',\n STATUS = 'status',\n SUBMIT = 'submit',\n TEXT = 'text',\n TOPIC = 'topic',\n TOPICS = 'topics',\n TOPNAV = 'topnav',\n TRACK = 'track',\n UPLOAD_COMPLETED = 'upload-completed',\n UPLOAD_INITIALIZE = 'upload-initialize',\n USER = 'user',\n USERS = 'users',\n USERS_LEFT = 'users-left',\n USER_COURSE_ENGAGEMENT = 'user-course-engagement',\n USER_GROUP = 'user-group',\n USER_GROUPS = 'user-groups',\n VIDEO = 'video',\n VIEWS = 'views',\n UNASSIGN = 'unassign',\n RULE = 'rule',\n ASSIGN = 'assign',\n SEGMENT = 'segment',\n GROUP = 'group',\n GROUPS = 'groups',\n USERS_NUMBER = 'users-number',\n}\n","export enum EntitiesListPermission {\n ADMIN = 'admin',\n MANAGER = 'manager',\n PEER = 'peer',\n SELF = 'self',\n}\n","import { hexToHSL } from '@/common/services';\nimport { HSLColor } from '@/common/types';\nimport { BrandingResponse } from '@eloomi/eloomi-platforms-persona-client/1.0';\n\nexport interface Branding extends BrandingResponse {\n brandingText?: HSLColor;\n branding?: HSLColor;\n primary?: HSLColor;\n}\n\nexport function createBranding(data: BrandingResponse): Branding {\n return {\n ...data,\n branding: hexToHSL(data.branding_color!, 0),\n brandingText: hexToHSL(data.branding_text_color!, 0),\n primary: hexToHSL(data.primary_color!, 0),\n };\n}\n","export class TopNavItem {\n public name: string;\n public route: string;\n public string: string;\n public access?: boolean;\n public icon?: string;\n public subnav: TopNavItem[];\n\n constructor(item?: TopNavItem) {\n this.name = item && item.name ? item.name : '';\n this.route = item && item.route ? item.route : '';\n this.string = item && item.string ? item.string : '';\n this.access = item && item.access ? item.access : false;\n this.icon = item && item.icon ? item.icon : '';\n this.subnav = item && item.subnav ? item.subnav : [];\n }\n}\n","export enum WidgetTypes {\n INPUT_WIDGET = 'inputWidget',\n SKILLS_WIDGET = 'skillsWidget',\n FEEDBACK_WIDGET = 'feedbackWidget',\n}\n","export class FileResponse {\n public content: Blob;\n public name: string | undefined;\n\n constructor(content: Blob, contentDisposition: string | undefined) {\n this.content = content;\n this.name = this.getFileName(contentDisposition);\n }\n\n private getFileName(contentDisposition: string | undefined) {\n if (!contentDisposition) return undefined;\n\n const fileNames = contentDisposition.match(/filename=(.*);/);\n if (!!fileNames && fileNames.length >= 1) {\n return fileNames[1];\n }\n }\n}\n","export const PREFIX_IN_BROWSER_TAB = 'eloomi';\n","import axios, { AxiosError } from 'axios';\n\nexport function checkIsAxiosError(error: any): error is AxiosError {\n return axios.isAxiosError(error);\n}\n","import { BASE_URL } from '@/common/constants/base-path';\nimport { Location } from 'vue-router';\n\ninterface QueryParams {\n [key: string]: string;\n}\n\nfunction convertSearchParamsToQuery(searchParams: URLSearchParams): QueryParams {\n const params: QueryParams = {};\n\n searchParams.forEach((value, key) => {\n params[key] = value;\n });\n\n return params;\n}\n\n/**\n * Get route location from url\n *\n * Examples:\n * \"https://{platform.Domain}/app/courses/{command.CourseId}/overview\" -> { path: \"/courses/{command.CourseId}/overview\", query: {} }\n * \"https://{platform.Domain}/app/instant-login?token=12345\" -> { path: \"/instant-login\", query: { token: \"12345\" } }\n */\nexport function convertUrlToLocation(absoluteUrl: string): Location | null {\n try {\n const url = new URL(absoluteUrl);\n const path = url.pathname.slice(BASE_URL.length);\n const query = convertSearchParamsToQuery(url.searchParams);\n return { path, query };\n } catch (error) {\n console.error(error);\n return null;\n }\n}\n","/**\n * Since this value is hardcoded on the backend and used without any constants,\n * we can hardcode it on frontend as well\n */\nexport const BASE_URL = '/app';\n","import { isNotNullOrUndefined } from './utils';\nimport axios, { AxiosRequestConfig, CancelTokenSource } from 'axios';\nimport { CoreEntitiesFilter } from '@/common/classes';\n\nexport class CoreQuery {\n private namespace$!: string;\n private relations$!: {\n relation: string;\n id?: string | number;\n };\n private readonly entities$!: Array;\n private params$!: { [key: string]: any };\n private headers$!: { [key: string]: any };\n private data$: any;\n private cancelTokenSource$: CancelTokenSource;\n private axiosConfig: AxiosRequestConfig = {};\n\n constructor(apiVersion = 1) {\n this.entities$ = [];\n this.params$ = {};\n this.headers$ = { 'api-version': apiVersion };\n this.cancelTokenSource$ = axios.CancelToken.source();\n }\n\n public param(paramKey: string, paramValue): CoreQuery;\n public param(param: { [key: string]: any } | Array<{ [key: string]: any }>): CoreQuery;\n public param(param: { [key: string]: any } | Array<{ [key: string]: any }> | string, value?: any): CoreQuery {\n if (typeof param === 'string') {\n this.params$[param] = value;\n } else if (Array.isArray(param)) {\n param.forEach(p => this.param(p));\n } else {\n this.params$ = {\n ...this.params$,\n ...param,\n };\n }\n\n return this;\n }\n\n public headers(headerKey: string, headerValue);\n public headers(headers: { [key: string]: any } | Array<{ [key: string]: any }>);\n public headers(headers: { [key: string]: any } | Array<{ [key: string]: any }> | string, value?: any) {\n if (typeof headers === 'string') {\n this.headers$[headers] = value;\n } else if (Array.isArray(headers)) {\n headers.forEach(h => this.headers(h));\n } else {\n this.headers$ = {\n ...this.headers$,\n ...headers,\n };\n }\n\n return this;\n }\n\n public namespace(namespace: string): CoreQuery {\n this.namespace$ = namespace;\n\n return this;\n }\n\n public cancelTokenSource(token: CancelTokenSource) {\n this.cancelTokenSource$ = token;\n }\n\n public relations(relation: string, id?: string | number): CoreQuery {\n this.relations$ = {\n relation,\n };\n\n if (isNotNullOrUndefined(id)) {\n this.relations$.id = id;\n }\n\n return this;\n }\n\n public entity(entity: string | number | Array): CoreQuery {\n if (Array.isArray(entity)) {\n this.entities$.push(...entity);\n } else {\n this.entities$.push(entity);\n }\n\n return this;\n }\n\n public path(entity: string | number | Array): CoreQuery {\n return this.entity(entity);\n }\n\n public filters(coreFilter?: CoreEntitiesFilter): CoreQuery {\n if (coreFilter) {\n const filters = coreFilter.toQueryStringSearch();\n if (filters) {\n this.param({\n filters,\n });\n }\n }\n\n return this;\n }\n\n public sorts(filters: CoreEntitiesFilter): CoreQuery {\n this.param({\n sorts: filters ? filters.toQueryStringSort() : null,\n });\n\n return this;\n }\n\n public onUploadProgress(callback: (progressValue: number) => any) {\n this.axiosConfig.onUploadProgress = progressEvent => {\n const percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);\n callback(percentCompleted);\n };\n }\n\n public data(data: any): CoreQuery {\n this.data$ = data;\n\n return this;\n }\n\n public toString(): string {\n const result: Array = [];\n\n result.push(this.namespace$);\n\n if (isNotNullOrUndefined(this.relations$)) {\n result.push('relations', this.relations$.relation);\n\n if (isNotNullOrUndefined(this.relations$.id)) {\n result.push(this.relations$.id!);\n }\n }\n\n if (this.entities$.length > 0) {\n result.push(...this.entities$);\n }\n\n return result.join('/');\n }\n\n public get stringParams(): string {\n return Object.keys(this.params$)\n .filter(\n p =>\n Object.prototype.hasOwnProperty.call(this.params$, p) &&\n isNotNullOrUndefined(this.params$[p]) &&\n this.params$[p] !== ''\n )\n .map(p => {\n if (Array.isArray(this.params$[p])) {\n return this.params$[p].map(item => `${p}=${item}`).join('&')\n }\n return `${p}=${this.params$[p]}`\n })\n .join('&');\n\n\n }\n\n public getCustomConfig(config: Record) {\n return {\n ...this.axiosConfig,\n headers: this.rawHeaders,\n data: this.data$,\n cancelToken: this.cancelTokenSource$.token,\n ...config,\n };\n }\n\n public get rawParams(): any {\n return this.params$;\n }\n\n public get query(): string {\n return this.toString();\n }\n\n public get rawHeaders(): any {\n return this.headers$;\n }\n\n public get axiosConfigParams(): AxiosRequestConfig {\n return {\n ...this.axiosConfig,\n params: this.rawParams,\n paramsSerializer: () => this.stringParams,\n headers: this.rawHeaders,\n data: this.data$,\n cancelToken: this.cancelTokenSource$.token,\n };\n }\n\n public cancelRequest() {\n if (this.cancelTokenSource$) {\n this.cancelTokenSource$.cancel();\n }\n }\n\n public clone(): CoreQuery {\n const q = new CoreQuery();\n\n q.namespace(this.namespace$);\n if (this.relations$) q.relations(this.relations$.relation, this.relations$.id);\n q.param(this.params$);\n\n q.entities$.push(...this.entities$);\n\n return q;\n }\n\n /*\n Static method to remove the necessity to invoke 'new CoreQuery()' every time\n */\n public static fromNamespace(namespace: string): CoreQuery {\n const q = new CoreQuery();\n q.namespace(namespace);\n\n return q;\n }\n}\n","import * as Locales from 'date-fns/locale';\nimport { Locale } from 'date-fns';\n\nimport { Language } from '@/translations';\nimport { capitalize } from '@/common/services/utils';\n\nexport function getDate(date: Date | string | number | null | undefined) {\n if (date === null || date === undefined) {\n return null;\n }\n\n let dateToFormat = date;\n if (!(dateToFormat instanceof Date)) {\n dateToFormat = new Date(date);\n }\n\n if (isNaN(dateToFormat.getTime())) {\n return null;\n }\n\n return dateToFormat;\n}\n\nexport function formatDateString(\n date: Date | string | number | null | undefined,\n options?: { emptySymbol?: string; locale?: string }\n) {\n const dateToFormat = getDate(date);\n\n if (dateToFormat) {\n return formatDate(dateToFormat, options?.locale);\n } else {\n return options?.emptySymbol ?? '';\n }\n}\n\nexport function extractHoursFromDate(\n date: Date | string | number | null | undefined,\n options?: { emptySymbol?: string; locale?: string }\n) {\n const hoursToFormat = getDate(date);\n if (hoursToFormat) {\n return hoursToFormat.toLocaleTimeString(options?.locale, { hour: '2-digit', minute: '2-digit' });\n } else {\n return options?.emptySymbol ?? '';\n }\n}\n\nexport function formatFullDate(\n date: Date | string | number | null | undefined,\n options?: { emptySymbol?: string; locale?: string }\n) {\n const dateToFormat = getDate(date);\n\n if (dateToFormat) {\n return dateToFormat.toLocaleDateString(options?.locale, {\n day: '2-digit',\n weekday: 'short',\n month: 'short',\n year: 'numeric',\n });\n } else {\n return options?.emptySymbol ?? '';\n }\n}\n\nexport function formatMonthString(\n date: Date | string | number | null | undefined,\n options?: { emptySymbol?: string; locale?: string }\n) {\n const dateToFormat = getDate(date);\n\n if (dateToFormat) {\n return formatMonth(dateToFormat, options?.locale);\n } else {\n return options?.emptySymbol ?? '';\n }\n}\n\n/**\n * Returns date in DD-MM-YY format with provided separators.\n * @param date - Date to be formatted\n * @param locale - Locale to format\n */\nexport function formatDate(date: Date, locale: string = navigator.language): string {\n return date.toLocaleDateString(locale, { day: '2-digit', month: '2-digit', year: '2-digit' });\n}\n\n/**\n * Returns date in MMMM YYYY (i.e. June 2021) format with provided separators.\n * @param date - Date to be formatted\n * @param locale - Locale to format\n */\nexport function formatMonth(date: Date, locale: string = navigator.language): string {\n return capitalize(\n date.toLocaleString(locale, {\n month: 'long',\n year: 'numeric',\n })\n );\n}\n\nexport function currentLanguageToDateFNSLocale(currentLanguage: Language): Locale {\n return Locales[currentLanguage.replace('-', '')] ?? Locales[currentLanguage.substring(0, 2)] ?? Locales.enUS;\n}\n\nconst dayMilliseconds = 24 * 60 * 60 * 1000;\n\nexport function getDayStart(date?: Date | string | number | null | undefined) {\n date = getDate(date) || new Date();\n const tzOffset = date.getTimezoneOffset() * 60 * 1000;\n const ts = date.getTime();\n return new Date(ts - ((ts - tzOffset) % dayMilliseconds));\n}\n\nexport function getDayEnd(date?: Date | string | number | null | undefined) {\n date = getDate(date) || new Date();\n const tzOffset = date.getTimezoneOffset() * 60 * 1000;\n const ts = date.getTime();\n return new Date(ts - ((ts - tzOffset) % dayMilliseconds) + dayMilliseconds - 1);\n}\n\nexport function isMultipleDays(firstDate: Date, lastDate: Date) {\n return (\n firstDate.getFullYear() !== lastDate.getFullYear() ||\n firstDate.getMonth() !== lastDate.getMonth() ||\n firstDate.getDate() !== lastDate.getDate()\n );\n}\n\nexport function dateToString(value: Date, currentLanguage: Language) {\n const date = Intl.DateTimeFormat(currentLanguage, {\n month: 'long',\n year: 'numeric',\n day: 'numeric',\n weekday: 'long',\n }).format(value);\n const time = Intl.DateTimeFormat(currentLanguage, {\n hour: 'numeric',\n minute: 'numeric',\n }).format(value);\n\n return `${date} - ${time}`;\n}\n","import debug from 'debug';\nimport environment from '@/environment';\n\ntype DebugModules =\n | 'app'\n | 'authorize-client'\n | 'billing'\n | 'login-page-layout'\n | 'mobile'\n | 'modal-window'\n | 'notifications'\n | 'permissions-route-guard'\n | 'push-notifications'\n | 'session-refresher'\n | 'user-profile-store-provider-adapter';\n\n/**\n * Here we create initial key for triggering specific module for debug.js\n * In params we are passing names of the modules and subModules.\n * At the end we got a key for for specific modules\n *\n * Example. nameSpace = course_dashboard, args = [playlist, assignments]\n *\n * @method makeLogger('course_dashboard','playlist','assignments')\n * @return {string} => eloomi:course_dashboard:playlist:assignments\n *\n *\n * In order to use debug.js in a browser, complete next steps:\n *\n * 1. Generate a new key for debug.js using makeLogger()\n * 2. Open browser => Web inspector => Console\n * 3. In console tab, type localStorage.debug(${yourGeneratedKey}) => Enter\n * 4. Refresh the page\n * 5. That's it!\n *\n *\n * @param {String} [namespace] Module name.\n * @param {String[]} [args] Submodules names\n */\n\nexport const makeLogger = (namespace: DebugModules, ...args: string[]) => {\n const parts = [namespace, ...args];\n const name = `eloomi:${parts.join(':')}`;\n return debug(name);\n};\n\nexport const makeWarnLogger = (namespace: DebugModules, ...args: string[]) => {\n const logger = makeLogger(namespace, ...args);\n logger.log = console.warn.bind(console);\n return logger;\n};\n\n/**\n * Reference: {@link https://github.com/debug-js/debug#browser-support}\n *\n * Can be useful for debugging some stuff on app startup\n */\nexport function enableDebugForNamespacesFromEnv() {\n if (!environment.debugNamespaces) return;\n\n localStorage.setItem('debug', environment.debugNamespaces);\n}\n","export function bodyOverflowHidden(condition) {\n window.document.body.style.overflow = condition ? 'hidden' : '';\n}\n","export const INTERCOM_DISABLED_KEY = 'is-intercom-disabled';\nexport const WELCOME_POPUPS_DISABLED_KEY = 'is-welcome-popups-disabled';\n\nexport const enum E2EFeatureKeys {\n Intercom = 'is-intercom-disabled-by-e2e',\n WelcomePopups = 'is-any-welcome-popup-disabled-by-e2e',\n}\n\nexport function isFeatureDisabledByE2E(flagKey: E2EFeatureKeys) {\n return localStorage.getItem(flagKey) === 'true';\n}\n","import { AxiosResponse } from 'axios';\n\nexport function extractAxiosData(response: AxiosResponse): T {\n return response.data;\n}\n\nexport function extractAxiosDataAsRequired(response: AxiosResponse): Required {\n return response.data as Required;\n}\n","import { Capacitor } from '@capacitor/core';\nimport { ClientType } from '@eloomi/eloomi-users-persona-client/1.0';\n\nexport enum Platform {\n Web = 'web',\n Android = 'android',\n Ios = 'ios',\n}\n\nexport function getDevicePlatform(): Platform {\n const platform = Capacitor.getPlatform();\n switch (platform) {\n case 'android':\n return Platform.Android;\n case 'ios':\n return Platform.Ios;\n default:\n return Platform.Web;\n }\n}\n\nexport const platform = getDevicePlatform();\n\nexport function isAndroid() {\n return platform === Platform.Android;\n}\n\nexport function isIos() {\n return platform === Platform.Ios;\n}\n\nexport function isWeb() {\n return platform === Platform.Web;\n}\n\nexport function isMobileApp() {\n return isAndroid() || isIos();\n}\n\nexport function getClientType(): ClientType {\n return isMobileApp() ? ClientType.MobileApp : ClientType.Web;\n}\n","export type FilterValue = string | number | Date | boolean;\n\n/** Fluent builder for constructing filters with multiple rules. */\nexport interface IFluentFilterCollection {\n filters: IFilterTerm[];\n build(): string;\n}\n\nexport interface IFilterTerm {\n names: string[];\n values: FilterValue[];\n operator: Operator;\n\n build(): string | null;\n}\n\nexport enum Operator {\n IsEqualTo = '==',\n IsNotEqualTo = '!=',\n GreaterThan = '>',\n GreaterThanOrEqual = '>=',\n LessThan = '<',\n LessThanOrEqual = '<=',\n Contains = '@=*',\n Have = '@=',\n Descend = '-',\n // Add Biarity/Sieve operators as needed\n}\n","import { IFilterTerm, Operator, IFluentFilterCollection, FilterValue } from './IFluentFilterCollection';\nimport { CoreEntitiesFilter } from '../classes/entites-filter';\n\n// tslint:disable:max-classes-per-file\n/** Fluent builder for constructing filters with multiple rules. */\nexport class FluentFilterCollection implements IFluentFilterCollection, CoreEntitiesFilter {\n public toQueryStringSearch() {\n return this.build();\n }\n public toQueryStringSort() {\n return undefined;\n }\n\n public filters: IFilterTerm[] = [];\n\n /** Specify name of the property. When more than one property is specified, OR logic is applied (e.g. if 'prop1' is 1 or 'prop2' is 1) */\n public where(...property: string[]) {\n const self = this;\n\n const saveTerm = (term: IFilterTerm) => {\n self.filters.push(term);\n };\n\n return new FilterTermBuilder(this, saveTerm, ...property);\n }\n\n public static where(...property: string[]) {\n const newCollection = new FluentFilterCollection();\n\n return newCollection.where(...property);\n }\n\n public build(): string {\n return (\n this.filters\n .map(filterTerm => filterTerm.build())\n // tslint:disable-next-line\n .filter(builtString => builtString != null)\n .join(',')\n );\n }\n\n /** Combine multiple builders into one, so single filter string can be generated. */\n public static mergeBuilders(...builders: IFluentFilterCollection[]): IFluentFilterCollection {\n const validBuilders = builders.filter(builder => builder);\n\n if (validBuilders.length === 0) return new FluentFilterCollection(); // in case null builders/empty buidlers were passed\n\n return validBuilders.reduce((acc, x) => {\n acc.filters = acc.filters.concat(x.filters);\n return acc;\n }, new FluentFilterCollection());\n }\n\n /** Serializes filter object to string. It is URL safe. */\n public serialize() {\n if (this.filters.length === 0) return '';\n\n const jsonObj = JSON.stringify(this.filters);\n return encodeURI(jsonObj);\n }\n\n public getFilterTermForProperty(property: string, operator?: Operator) {\n const applicableTerms = this.filters\n .filter(x => x.names.includes(property) && (operator == null || x.operator === operator))\n .map(x => x.values)\n .reduce((acc, x) => [...acc, ...x], []);\n\n return applicableTerms;\n }\n\n public static deserialize(serializedContent: string): FluentFilterCollection {\n const obj = new FluentFilterCollection();\n\n if (serializedContent == null || serializedContent === '') return obj;\n\n try {\n const decoded = decodeURI(serializedContent);\n obj.filters = JSON.parse(decoded);\n return obj;\n } catch (e) {\n console.error('Unable to deserialize filter object.');\n console.error(e);\n\n return new FluentFilterCollection();\n }\n }\n}\n\nclass FilterTermBuilder {\n private parentBuilder: FluentFilterCollection;\n private filterProperties: string[];\n private saveTermFunc: (builtTerm: IFilterTerm) => void;\n\n constructor(\n parentBuilder: FluentFilterCollection,\n saveTermFunc: (builtTerm: IFilterTerm) => void,\n ...filterProperties: string[]\n ) {\n this.parentBuilder = parentBuilder;\n this.filterProperties = filterProperties;\n this.saveTermFunc = saveTermFunc;\n }\n\n /** Specify filter for previous property. When multiple values are provided they are treated as OR operator (or equivalent of SQL value IN (...)) */\n public filter(operator: Operator, ...values: FilterValue[]) {\n const term = new FilterTerm();\n term.operator = operator;\n term.names = this.filterProperties;\n term.values = values;\n\n this.saveTermFunc(term);\n return this.parentBuilder;\n }\n}\n\nclass FilterTerm implements IFilterTerm {\n public names: string[] = [];\n public values: FilterValue[] = [];\n public operator: Operator = Operator.IsEqualTo;\n\n public build(): string | null {\n if (this.names.length === 0) {\n console.warn('FilterTerm does not have any properties specified. Skipping the term.');\n return null;\n }\n\n const leftSide = this.names.length === 1 ? this.names[0] : `(${this.names.join('|')})`;\n\n if (this.values.length === 0) {\n console.warn(\n `No values were specified for ${leftSide} filter. It will be omitted in resulting filter string.`\n );\n return null;\n }\n\n const mappedValues = this.values.map(x => {\n if (x instanceof Date) {\n return x.toISOString();\n }\n\n if (typeof x === 'boolean') return x.toString();\n\n return x;\n });\n\n const rightSide = mappedValues.join('|');\n\n return `${leftSide}${this.operator}${rightSide}`;\n }\n}\n\nexport function buildFilter(fieldName, filter, operator: Operator = Operator.Contains) {\n const builder = new FluentFilterCollection();\n\n return filter ? builder.where(fieldName).filter(operator, filter).build() : undefined;\n}\n\nexport function buildSort(data: unknown | { key: string; ascending: boolean }) {\n if (!data) {\n return;\n }\n const sortData: { key: string; ascending: boolean } = data as { key: string; ascending: boolean };\n if (data) {\n const operator = sortData.ascending === true ? '' : Operator.Descend;\n return `${operator}${sortData.key}`;\n }\n}\n","const lastLocation = { x: 0, y: 0 };\n\nimport { throttle } from 'lodash-es';\n\nexport function getViewportMouseLocation(): { x: number; y: number } {\n return { ...lastLocation };\n}\n\nconst debouncedEventHandler = throttle(e => {\n lastLocation.x = e.clientX;\n lastLocation.y = e.clientY;\n}, 100);\n\ndocument.addEventListener('mousemove', debouncedEventHandler);\n","import { Branding } from '@/common/models';\n\nconst CACHE_KEY = 'branding-data';\n\nexport function getCachedBrandingData() {\n const cachedBrandingColors = localStorage.getItem(CACHE_KEY);\n if (cachedBrandingColors !== null) {\n return JSON.parse(cachedBrandingColors) as Branding;\n }\n return null;\n}\n\nexport function cacheBrandingData(data: Branding) {\n const stringified = JSON.stringify(data);\n return localStorage.setItem(CACHE_KEY, stringified);\n}\n\nexport function clearBrandingDataFromLocalStorage() {\n localStorage.removeItem(CACHE_KEY);\n}\n","import { UserProfile } from '@/common/interfaces/user-profile.interface';\n\nconst CACHE_KEY = 'user-details';\nconst REPORTING_MANAGER_CACHE_KEY = 'user-reporting-manager-status';\n\nexport function getCacheUserDetailsData() {\n const cachedData = localStorage.getItem(CACHE_KEY);\n\n return cachedData !== null ? (JSON.parse(cachedData) as UserProfile) : null;\n}\n\nexport function cacheUserDetailsData(data: UserProfile) {\n const stringify = JSON.stringify(data);\n\n return localStorage.setItem(CACHE_KEY, stringify);\n}\n\nexport function getCacheUserReportingManagerStatus() {\n const cachedData = localStorage.getItem(REPORTING_MANAGER_CACHE_KEY);\n\n return cachedData !== null ? (JSON.parse(cachedData) as boolean) : null;\n}\n\nexport function cacheUserReportingManagerStatus(isReportingManager: boolean) {\n const stringify = JSON.stringify(isReportingManager);\n\n return localStorage.setItem(REPORTING_MANAGER_CACHE_KEY, stringify);\n}\n\nexport function clearUserDetailsDataFromLocalStorage() {\n localStorage.removeItem(CACHE_KEY);\n}\n","import { HSLColor } from '@/common/types';\n\nexport function hexToHSL(hex: string, change: number): HSLColor {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex) || ['00', '00', '00'];\n\n let r = parseInt(result[1], 16);\n let g = parseInt(result[2], 16);\n let b = parseInt(result[3], 16);\n\n (r /= 255), (g /= 255), (b /= 255);\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n\n let h = (max + min) / 2;\n let s = (max + min) / 2;\n let l = (max + min) / 2;\n\n if (max === min) {\n h = s = 0; // achromatic\n } else {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n s = s * 100;\n s = Math.round(s);\n l = l * 100;\n l = Math.round(l);\n h = Math.round(360 * h);\n\n const colorInHSL = h + ', ' + s + '%, ' + l * (1 + change / 100) + '%';\n\n return colorInHSL as HSLColor;\n}\n","import { snakeToCamel } from './utils';\n\ntype SnakeToCamelCase = S extends `${infer T}_${infer U}`\n ? `${T}${Capitalize>}`\n : S;\n\ntype AsCamel = { [K in keyof InputType as SnakeToCamelCase]: InputType[K] };\n\n/**\n * Convert all the object keys to camelCase and mark all fields as required.\n *\n * It supposes that there is no undefined fields in the backend response.\n * Since such fields are marked as `nullable` and should contain `null`.\n */\nexport function convertBackendResponseToModel(dataObject: T): Required> {\n const newObj: Record = {};\n for (const key of Object.keys(dataObject)) {\n if (dataObject[key] !== undefined) newObj[snakeToCamel(key)] = dataObject[key];\n }\n\n return newObj as Required>;\n}\n","/** Debounce promise returning function. Newest arguments will be used to call function.\n *\n * usage: let debounced = debouncePromise(1000, someFunction);\n */\nexport function debouncePromise Promise>(time: number, func: T): T {\n // TODO: add type guards\n\n let lastArguments;\n let timeoutId;\n let existingPromise;\n let resolvePromise;\n let rejectPromise;\n\n // tslint:disable-next-line\n return function (...args: any[]) {\n if (!existingPromise) {\n existingPromise = new Promise((resolve, reject) => {\n resolvePromise = resolve;\n rejectPromise = reject;\n });\n }\n\n // tslint:disable-next-line\n if (timeoutId != null) {\n clearTimeout(timeoutId);\n }\n\n lastArguments = args;\n\n timeoutId = setTimeout(() => {\n const resolve = resolvePromise;\n const reject = rejectPromise;\n const lastArgs = lastArguments;\n\n lastArguments = undefined;\n timeoutId = undefined;\n existingPromise = undefined;\n resolvePromise = undefined;\n rejectPromise = undefined;\n\n func(...lastArgs)\n .then((...thenArgs: any[]) => {\n resolve(...thenArgs);\n })\n .catch((...catchArgs: any[]) => {\n reject(...catchArgs);\n });\n }, time);\n\n return existingPromise;\n } as any;\n}\n","import { Capacitor } from '@capacitor/core';\nimport { Keyboard } from '@capacitor/keyboard';\nimport {\n isSupported as onScreenKeyboardIsSupported,\n subscribe as subscribeToKeyboardVisibilityChanged,\n} from 'on-screen-keyboard-detector';\n\nexport type KeyboardVisibilityChangedCallback = (keyboardIsVisible: boolean) => void;\nexport type KeyboardVisibilityChangedCleanup = () => void;\n\nexport function detectOnscreenKeyboard(onKeyboardVisibilityChanged: KeyboardVisibilityChangedCallback) {\n let cleanup: KeyboardVisibilityChangedCleanup | null = null;\n if (Capacitor.getPlatform() === 'web') {\n if (onScreenKeyboardIsSupported()) {\n cleanup = subscribeToKeyboardVisibilityChanged(visibility => {\n onKeyboardVisibilityChanged(visibility === 'visible');\n });\n }\n } else {\n Keyboard.addListener('keyboardDidShow', info => {\n document.body.style.setProperty('--keyboard-height', info.keyboardHeight + 'px');\n onKeyboardVisibilityChanged(true);\n });\n\n Keyboard.addListener('keyboardDidHide', () => {\n onKeyboardVisibilityChanged(false);\n });\n\n cleanup = () => {\n Keyboard.removeAllListeners();\n };\n }\n\n return cleanup;\n}\n","export function truncate(text: string, maxLength: number | false, clamp?: any) {\n if (!text) return;\n if (maxLength === false) {\n return text;\n } else {\n return text.slice(0, maxLength).trim() + (maxLength < text.length ? clamp || '...' : '');\n }\n}\n","export function forceFileDownload(response: any, name: string) {\n const blob = new Blob([response]);\n const a = window.document.createElement('a');\n a.href = window.URL.createObjectURL(blob);\n a.download = name;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n}\n","const f = (val: number) => (Math.floor(val / 10) > 0 ? `${val}` : `0${val}`);\n\nexport function formatDuration(totalSeconds: number) {\n const withoutSeconds = formatDurationWithoutSeconds(totalSeconds);\n const seconds = totalSeconds % 60;\n\n return `${withoutSeconds}:${f(seconds)}`;\n}\n\nexport function formatDurationWithoutSeconds(totalSeconds: number) {\n const hours = Math.floor(totalSeconds / 3600);\n const minutes = Math.floor((totalSeconds - hours * 3600) / 60);\n\n return `${f(hours)}:${f(minutes)}`;\n}\n\nexport function addZeroesToTime(time: number | string) {\n return ('0' + time).slice(-2);\n}\n\nexport function extractMinutes(time: number): number | null {\n return (time && Math.floor((time % 3600) / 60)) || null;\n}\n\nexport function extractHours(time: number): number | null {\n return (time && Math.floor(time / 3600)) || null;\n}\n/**\n * Returns formated time\n * @param time - time in seconds like: 12h 23m\n * @param config - takes arguments for translation\n */\nexport function formatTime(\n time: number,\n config?: { week?: string; day?: string; hour?: string; minute?: string; second?: string }\n) {\n const second = 1;\n const minute = second * 60;\n const hour = minute * 60;\n const day = hour * 24;\n const week = day * 7;\n\n const formattedWeeks = Math.floor(time / week);\n const formattedDays = Math.floor((time % week) / day);\n const formattedHours = Math.floor(((time % week) % day) / hour);\n const formattedMinutes = Math.floor((((time % week) % day) % hour) / minute);\n const formattedSeconds = Math.floor(((((time % week) % day) % hour) % minute) / second);\n\n if (!formattedWeeks && !formattedDays && !formattedHours && !formattedMinutes && !time) {\n return '—';\n }\n\n const w = formattedWeeks ? `${formattedWeeks}${config?.week || 'w'}` : '';\n const d = formattedDays ? `${formattedDays}${config?.day || 'd'}` : '';\n const h = formattedHours ? `${formattedHours}${config?.hour || 'h'}` : '';\n const m = formattedMinutes ? `${formattedMinutes}${config?.minute || 'm'}` : '';\n const s = time ? `${formattedSeconds}${config?.second || 's'}` : '';\n\n return [w, d, h, m, s]\n .filter(x => x)\n .slice(0, 2)\n .join(' ');\n}\n","/**\n * Format decimal number to percent represenation.\n * @param value\n * @returns\n */\nexport function formatToPercent(value: number | null | undefined) {\n if (value === null || value === undefined) {\n return value;\n }\n return Math.round(value * 100);\n}\n","import { Branding } from '@/common/models';\n\nexport function convertSearchResult(result: string): string {\n return result.replace(/\\s+/g, '|');\n}\n\nexport function searchTextToSearchTerms(text?: string): string[] {\n if (!text) return [];\n\n return text.split(/\\s+/).filter(x => x != null && x !== '');\n}\n\nexport function brandingThemeToCssString(theme: Branding) {\n return `:root {\n --color-branding-text: ${theme.brandingText};\n }`;\n}\n\nexport function brandingThemeToVariablesObject(theme: Branding): { [key: string]: string } {\n return {\n '--color-branding-text': theme.brandingText || '',\n };\n}\n","/**\n * Uses canvas.measureText to compute and return the width of the given text of given font in pixels.\n *\n * @param text The text to be rendered.\n * @param {String} font The css font descriptor that text is to be rendered with (e.g. \"14px verdana\").\n *\n * @see http://stackoverflow.com/questions/118241/calculate-text-width-with-javascript/21015393#21015393\n * @see http://jsfiddle.net/eNzjZ/70/\n */\n\nfunction getTextWidthDOM(\n text,\n font = \"600 14px 'Proxima Nova', -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica Neue, Helvetica, Arial, sans-serif;\"\n) {\n const span = document.createElement('span');\n span.classList.add('test-text');\n span.style.font = font;\n span.style.float = 'left';\n span.style.whiteSpace = 'nowrap';\n span.style.lineHeight = '20px';\n span.style.letterSpacing = '0.5';\n span.style.textTransform = 'uppercase';\n span.style.fontWeight = '600';\n span.textContent = text;\n\n document.body.appendChild(span);\n\n const width = span.offsetWidth;\n\n document.body.removeChild(span);\n\n return width;\n}\n\nexport function getTextWidth(\n text,\n font = \"600 14px 'Proxima Nova', -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica Neue, Helvetica, Arial, sans-serif;\"\n) {\n return getTextWidthDOM(text, font);\n}\n","import { Dictionary } from '@/translations';\n\nexport function mergeTranslations(...args: Dictionary[]) {\n return args.reduce((acc, x) => mergeTranslationCollections(acc, x), {});\n}\n\nfunction mergeTranslationCollections(collectionA: Dictionary, collectionB: Dictionary) {\n if (process.env.NODE_ENV === 'development') {\n for (const keyA in collectionA)\n for (const keyB in collectionB) {\n if (keyA === keyB) {\n console.error(\n `Translation key '${keyA}' is overriden: '${collectionA[keyA]}' becomes '${collectionB[keyB]}'`\n );\n }\n\n if (!keyA.startsWith('spa')) {\n console.error(`'${keyA}' should be prefixed with 'spa.'`);\n }\n }\n }\n\n return { ...collectionA, ...collectionB };\n}\n","export function highlight(text = '', query = '', color?: string) {\n const pattern = new RegExp('(' + query.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&') + ')', 'gi');\n const replaceWith = '$1';\n\n return text.replace(pattern, replaceWith);\n}\n","import { IntercomApiFactory, IntercomSettingsForUser } from '@eloomi/eloomi-users-persona-client/1.0';\nimport { authorizeClient } from '@/api/http-client';\nimport environment from '@/environment';\nimport { E2EFeatureKeys, isFeatureDisabledByE2E } from '@/common/services/e2e-feature-flags';\n\nconst intercomApi = authorizeClient(IntercomApiFactory);\n\nclass IntercomService {\n isBooted = false;\n isInitialized = false;\n\n static isDisabled() {\n return !environment.useIntercom || isFeatureDisabledByE2E(E2EFeatureKeys.Intercom);\n }\n\n async init() {\n if (IntercomService.isDisabled()) return;\n\n const intercom = await intercomApi.getSelf().then(response => response.data);\n\n if (intercom.enabled && intercom.settings && intercom.settings.app_id) {\n this.injectScript(intercom.settings.app_id);\n this.isInitialized = true;\n this.boot(intercom.settings);\n }\n }\n\n private injectScript(appId: string) {\n if (window.Intercom) return;\n\n /**\n * Reference {@link https://developers.intercom.com/installing-intercom/docs/basic-javascript}\n */\n const INTERCOM_SCRIPT = `(function(){var w=window;var ic=w.Intercom;if(typeof ic===\"function\"){ic('reattach_activator');ic('update',w.intercomSettings);}else{var d=document;var i=function(){i.c(arguments);};i.q=[];i.c=function(args){i.q.push(args);};w.Intercom=i;var l=function(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://widget.intercom.io/widget/${appId}';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s, x);};if(document.readyState==='complete'){l();}else if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})();`;\n\n const scriptElement = document.createElement('script');\n scriptElement.text = INTERCOM_SCRIPT;\n document.body.appendChild(scriptElement);\n }\n\n private callIntercom(...args: unknown[]) {\n if (!window.Intercom) return;\n window.Intercom(...args);\n }\n\n boot(settings: IntercomSettingsForUser) {\n if (!this.isInitialized) return;\n\n this.callIntercom('boot', settings);\n this.isBooted = true;\n }\n\n showNewMessage() {\n if (!this.isBooted) return;\n this.callIntercom('showNewMessage');\n }\n\n trackEvent(eventName: string, options?: unknown) {\n this.callIntercom('trackEvent', eventName, options);\n }\n\n setVisibility(isVisible: boolean) {\n this.callIntercom('update', {\n hide_default_launcher: !isVisible,\n });\n }\n\n shutdown() {\n if (!this.isBooted) return;\n this.callIntercom('shutdown');\n }\n\n show() {\n const intercomeElement = window.document.getElementById('intercom-container');\n if (intercomeElement) {\n intercomeElement.style.display = '';\n }\n }\n hide() {\n const intercomeElement = window.document.getElementById('intercom-container');\n if (intercomeElement) {\n intercomeElement.style.display = 'none';\n }\n }\n}\n\nexport const intercom = new IntercomService();\n","import { injectBrandedCSSVariables } from '@eloomi/design-tokens';\nimport tokens from '@eloomi/design-tokens/build/colors';\nimport { Branding } from '@/common/models';\n\nexport type SetBrandingCallback = (data: Branding) => void;\n\ntype OverriddenBrandingColors = {\n branding: string;\n primary: string;\n};\n\nexport function mapBrandingToDSColors(brandingData: Branding): OverriddenBrandingColors {\n return {\n branding: brandingData.branding_color!,\n primary: brandingData.primary_color!,\n };\n}\n\nexport function restoreDefaultDesignSystemColorsWithBranding() {\n const colors: OverriddenBrandingColors = {\n branding: tokens.color.branding.value as string,\n primary: tokens.color.primary.value as string,\n };\n injectBrandedCSSVariables(colors);\n}\n\nexport function overrideDesignSystemColorsWithBranding(data: Branding) {\n const colors = mapBrandingToDSColors(data);\n injectBrandedCSSVariables(colors);\n}\n","import notificationStore from '@/common/components/toast/store';\nimport { OptionalNotificationPayload } from '@/common/components/toast/store/actions';\nimport { Store } from 'vuex';\n\nexport async function showDelayedNotification(baseStore: Store, payload: OptionalNotificationPayload) {\n await notificationStore.context(baseStore).actions.showDelayedNotification(payload);\n}\n","/**\n * Wait until timeout expires.\n */\nexport async function sleep(timeout: number) {\n return new Promise(resolve => {\n setTimeout(resolve, timeout);\n });\n}\n","export function getFullName(\n user?: {\n firstName?: string | null;\n lastName?: string | null;\n first_name?: string | null;\n last_name?: string | null;\n } | null\n) {\n return [user?.firstName || user?.first_name, user?.lastName || user?.last_name].filter(el => el).join(' ');\n}\n","import { MinWidthViewportBreakpoints } from '@/common/constants/breakpoints';\n\nexport const MOBILE_UNSUPPORTED_FLAG_NAME = 'mobileIsUnsupported';\nexport const mobileIsUnsupportedFlag = {\n [MOBILE_UNSUPPORTED_FLAG_NAME]: true,\n};\n\nexport const viewportIsUnsupportedFlag = (viewportWidth: number = MinWidthViewportBreakpoints.xl) => {\n return {\n [MOBILE_UNSUPPORTED_FLAG_NAME]: true,\n viewportWidth,\n };\n};\n","import { Capacitor } from '@capacitor/core';\nimport { App as CapacitorApp } from '@capacitor/app';\nimport VueRouter, { Route } from 'vue-router';\n\nimport { MOBILE_UNSUPPORTED_FLAG_NAME } from './mobile-is-unsupported-flag';\nimport { JWTLoginSessionManager } from '@/authentication/services';\nimport { AuthenticationRouteNames } from '@/authentication/route-definitions';\nimport { CoursesRouteNames } from '@/courses/route-definitions';\n\nexport const FALLBACK_ROUTE_NAME = 'mobile-fallback' as const;\nexport const COMFORTABLE_VIEWPORT_WIDTH = 1224;\n\nexport function isPossiblyMobileDeviceWithSmallScreen(viewportWidth = COMFORTABLE_VIEWPORT_WIDTH) {\n const isMobiInUserAgent = /Mobi/i.test(window.navigator.userAgent);\n\n return isMobiInUserAgent && window.innerWidth <= viewportWidth;\n}\n\nfunction isMobileUnsupportedOnRoute(route: Route) {\n return route.meta && route.meta[MOBILE_UNSUPPORTED_FLAG_NAME] === true;\n}\n\nfunction replaceLocationInTheAddressBar(url: string) {\n window.history.replaceState(null, '', url);\n}\n\nfunction getLocationHref(router: VueRouter, url: string) {\n const resolution = router.resolve(url);\n return resolution.resolved.fullPath === url ? resolution.href : undefined;\n}\n\nexport function attachMobileFallbackGuard(router: VueRouter) {\n router.beforeEach((to, from, next) => {\n if (Capacitor.isNativePlatform()) {\n const sessionManager = new JWTLoginSessionManager();\n\n if (\n to.name === AuthenticationRouteNames.LOGIN &&\n from.name === CoursesRouteNames.COURSES_DASHBOARD &&\n sessionManager.isLoggedIn()\n ) {\n CapacitorApp.exitApp();\n }\n }\n\n if (isMobileUnsupportedOnRoute(to) && isPossiblyMobileDeviceWithSmallScreen(to.meta?.viewportWidth)) {\n return next({ name: FALLBACK_ROUTE_NAME, query: { from: to.fullPath }, replace: true });\n } else {\n return next();\n }\n });\n\n router.afterEach(to => {\n const isFromArgAvailable = 'from' in to.query && to.query.from.length > 0;\n\n if (to.name === FALLBACK_ROUTE_NAME && isFromArgAvailable) {\n const fromUrl = to.query.from as string;\n const href = getLocationHref(router, fromUrl);\n\n if (href === undefined) {\n return;\n }\n\n replaceLocationInTheAddressBar(href);\n }\n });\n}\n","import { Capacitor } from \"@capacitor/core\";\nimport { randomId } from \"../random-id\";\n\n/** Keeps track of all actions that should be performed on physical back button press. history.back() will be called only if this stack is empty. */\nclass BackButtonActionStack {\n private actions: ({\n id: string,\n /** Action to be called when back button is pressed. If action returns 'false', it will not be removed from the stack yet. */\n action: (() => boolean | void)\n })[] = [];\n\n /** Push action on the stack. Returns callback that allows for removal of the action even if it is not on the top of the stack. */\n public pushAction(cleanup: () => boolean | void): (() => void) {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n if (!Capacitor.isNativePlatform()) return () => { };\n\n const uuid = randomId();\n this.actions.push({\n id: uuid, \n action: cleanup\n });\n\n return () => {\n this.actions = this.actions.filter(x => x.id != uuid);\n }\n }\n\n /** Executes action and removes it from the stack if action return value !== false */\n public popAction() {\n if (!Capacitor.isNativePlatform()) return;\n\n if (this.actions.length == 0) return;\n\n const data = this.actions[this.actions.length - 1];\n const result = data.action();\n if (result !== false) {\n this.actions = this.actions.filter(x => x.id != data.id);\n }\n } \n\n public isEmpty() {\n return this.actions.length === 0;\n }\n}\n\n/** Native-back button action stack. Overrides HTML navigation. */\nexport const backButtonService = new BackButtonActionStack();","import environment from '@/environment';\nimport { initClientWithoutAuth } from '@/api/http-client';\nimport { PlatformApiFactory, PlatformResponse } from '@eloomi/eloomi-platforms-external-client/1.0';\n\nimport type { PlatformResolver } from '@/authentication/services';\nimport { isAndroid, isWeb } from '@/common/services/get-device-platform';\n\nconst PlatformApiClient = initClientWithoutAuth(PlatformApiFactory);\n\nexport class PlatformResolutionError extends Error {\n constructor(domain: string) {\n super(`Couldn't resolve a platform for domain \"${domain}\"`);\n Object.setPrototypeOf(this, PlatformResolutionError.prototype);\n }\n}\n\nclass PlatformDomainStorage {\n private readonly STORAGE_KEY = 'platformDomain';\n\n public clean(): void {\n localStorage.removeItem(this.STORAGE_KEY);\n }\n\n public load() {\n return localStorage.getItem(this.STORAGE_KEY);\n }\n\n public save(domain: string) {\n localStorage.setItem(this.STORAGE_KEY, domain);\n }\n}\n\ntype PlatformData = Required;\nexport class PlatformResolutionService implements PlatformResolver {\n private platformData?: PlatformData;\n private activePromise?: Promise;\n private allowSsoAutomaticLogin = true;\n private readonly CACHE_KEY = 'platformData';\n private readonly platformParentDomain = environment.platformParentDomain;\n private readonly platformDomainStorage = new PlatformDomainStorage();\n\n private cachePlatformData(data: PlatformData) {\n const stringified = JSON.stringify(data);\n return localStorage.setItem(this.CACHE_KEY, stringified);\n }\n\n private getCachedPlatformData() {\n const cachedData = localStorage.getItem(this.CACHE_KEY);\n if (cachedData !== null) {\n return JSON.parse(cachedData) as PlatformData;\n }\n return null;\n }\n\n public getPlatformDomain(): string {\n return this.getPlatformDomainIfSetForced() ?? (environment.platformDomain || window.document.domain);\n }\n\n private getPlatformDomainIfSetForced() {\n return this.platformDomainStorage.load();\n }\n\n public getPlatformParentDomain() {\n return this.platformParentDomain;\n }\n\n public async forceSetPlatformDomain(subDomain: string) {\n const platformDomain = `${subDomain}${this.getPlatformParentDomain()}`;\n // Validate provided domain\n await this.resolveDomain(platformDomain);\n this.platformDomainStorage.save(platformDomain);\n }\n\n public cleanStoredPlatformDomain() {\n this.platformDomainStorage.clean();\n }\n\n private async resolveDomain(domain: string) {\n return PlatformApiClient.resolveDomain(domain).then(response => {\n if (response.status !== 200) {\n throw new PlatformResolutionError(domain);\n }\n return response.data as PlatformData;\n });\n }\n\n public async getPlatformData(ignoreCache = false): Promise {\n if (this.activePromise !== undefined && this.platformData === undefined) {\n return this.activePromise;\n }\n\n if (!ignoreCache) {\n if (this.platformData !== undefined) {\n return this.platformData;\n }\n\n const cachedData = this.getCachedPlatformData();\n if (cachedData !== null) {\n this.platformData = cachedData;\n return cachedData;\n }\n }\n\n this.activePromise = this.resolveDomain(this.getPlatformDomain());\n this.platformData = await this.activePromise;\n this.cachePlatformData(this.platformData);\n\n return this.platformData;\n }\n\n public async resolvePlatform() {\n try {\n this.platformData = await this.resolveDomain(this.getPlatformDomain());\n this.cachePlatformData(this.platformData);\n return true;\n } catch (error) {\n return false;\n }\n }\n\n /**\n * Which platforms will show the Login with SSO button.\n */\n private isDevicePlatformAllowedForSso() {\n return isWeb() || isAndroid();\n }\n\n public isSsoLoginEnabled(): boolean {\n const data = this.platformData ?? this.getCachedPlatformData();\n return Boolean(data?.sso_enabled) && this.isDevicePlatformAllowedForSso();\n }\n\n public isSsoOnlyLoginMode(): boolean {\n const data = this.platformData ?? this.getCachedPlatformData();\n return Boolean(data?.sso_enabled && data?.sso_only_login) && this.isDevicePlatformAllowedForSso();\n }\n\n public isSsoAutomaticLoginEnabled(): boolean {\n return this.isSsoOnlyLoginMode() && this.allowSsoAutomaticLogin;\n }\n\n public cleanCache(ssoLogin?: boolean) {\n localStorage.removeItem(this.CACHE_KEY);\n this.cleanStoredPlatformDomain();\n this.forceSsoAutomaticLoginEnabled(ssoLogin ?? false);\n }\n\n public forceSsoAutomaticLoginEnabled(enable: boolean) {\n if (!this.isSsoOnlyLoginMode()) {\n return;\n }\n\n this.allowSsoAutomaticLogin = Boolean(enable);\n }\n}\n","export const randomId = (): string =>\n Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);\n\nexport const getGUID = () => {\n function _p8(s?) {\n const p = (Math.random().toString(16) + '000000000').substr(2, 8);\n return s ? '-' + p.substr(0, 4) + '-' + p.substr(4, 4) : p;\n }\n return _p8() + _p8(true) + _p8(true) + _p8();\n};\n","export function redirectIfGuard(condition: () => boolean, routeName: string) {\n return function (_to, _from, next) {\n if (condition()) {\n next({\n name: routeName,\n });\n } else {\n next();\n }\n };\n}\n","import { extractAxiosData } from '@/common/services/extractAxiosData';\nimport { PlatformApiFactory } from '@eloomi/eloomi-platforms-external-client/1.0';\nimport { initClientWithoutAuth } from '../http-client';\n\nconst PlatformApiClient = initClientWithoutAuth(PlatformApiFactory);\n\nexport async function getPlatformDetails(domain: string) {\n return PlatformApiClient.resolveDomain(domain).then(extractAxiosData);\n}\n","import environment from '@/environment';\nimport VueRouter from 'vue-router';\n\nimport analytics from '@segment/analytics.js-core';\nimport SegmentIntegration from '@segment/analytics.js-integration-segmentio';\nimport { UserProfile } from '../interfaces';\nimport store, { smartRootModule } from '@/main/baseStore';\nimport { getPlatformDetails } from '@/api/providers/platform.provider';\n\nanalytics.use(SegmentIntegration);\n\nconst useAnalytics = Boolean(environment.segmentApiKey);\nconst integrationSettings = {\n 'Segment.io': {\n apiKey: environment.segmentApiKey,\n retryQueue: true,\n addBundledMetadata: true,\n unbundledIntegrations: ['Mixpanel'],\n },\n};\nif (useAnalytics) {\n getPlatformDetails(window.location.host).then(platform => {\n if (!platform.is_internal) analytics.initialize(integrationSettings);\n });\n}\n\nexport const segmentIdentify = (user: UserProfile) => {\n if (!useAnalytics || !user.analyticsEnabled) {\n return;\n }\n analytics.identify(`${user.platformId}:${user.id}`, {\n name: `${user.firstName} ${user.lastName}`,\n });\n};\n\nexport const segmentPage = () => {\n const analyticsEnabled = () =>\n smartRootModule.context(store).modules.userProfileDetails.state.authUserProfile?.analyticsEnabled ?? true;\n\n if (!useAnalytics || !analyticsEnabled()) {\n return;\n }\n analytics.page();\n};\n\nexport const includeSavePageInSegment = (router: VueRouter) => {\n router.beforeEach((_to, _from, next) => {\n segmentPage();\n return next();\n });\n};\n","import { NavigationGuardNext } from 'vue-router';\nimport notificationStore from '@/common/components/toast/store';\nimport translationsStore from '@/translations/store';\nimport baseStore from '@/main/baseStore';\nimport { DEFAULT_PAGE_LOCATION } from '@/authentication/services/locations';\n\nexport const handlePageNotFound = (next: NavigationGuardNext) => {\n const trans = translationsStore.context(baseStore).getters.trans;\n const notFoundMessage = trans('spa.navigation.sections.page-not-found');\n\n goToDefaultPage(next);\n\n notificationStore.context(baseStore).actions.showDelayedNotification({\n theme: 'warning',\n message: notFoundMessage,\n duration: 3000,\n });\n};\n\nexport const goToDefaultPage = (next: NavigationGuardNext) => {\n next(DEFAULT_PAGE_LOCATION);\n};\n","import { cloneDeep } from 'lodash-es';\n\nexport function doesStringHasHtml(value?: string | null) {\n if (!value) {\n return false;\n }\n\n const indexOfOpeningTag = value.indexOf('<');\n const indexOfClosingTag = value.indexOf('>');\n\n return indexOfOpeningTag !== -1 && indexOfClosingTag !== -1 && indexOfOpeningTag < indexOfClosingTag;\n}\n\nexport function getInitials(value: string | number): string {\n if (typeof value === 'string') {\n const textParts = value.split(' ');\n return `${(textParts[0] || '').charAt(0)}${(textParts[1] || '').charAt(0)}`.toUpperCase();\n } else {\n return `${value}`;\n }\n}\n\nexport function isNotNullOrUndefined(obj: any): boolean {\n return obj !== undefined && obj !== null;\n}\n\nexport function isNotEmpty(obj: any): boolean {\n return isNotNullOrUndefined(obj) && JSON.stringify(obj) !== '{}' && JSON.stringify(obj) !== '[]' && obj !== '';\n}\n\nexport function stringIsNotEmpty(s: string) {\n return isNotNullOrUndefined(s) && s !== '';\n}\n\nexport function capitalize(s: string) {\n return s[0].toUpperCase() + s.slice(1);\n}\n\nexport function addHashToLocation(context: any, hash: string) {\n context.$router.push({\n name: context.$route.name,\n hash,\n });\n}\n\nexport function deepCopy(objectToCopy: T): T {\n return cloneDeep(objectToCopy);\n}\n\nexport function convertToJson(jsonString: string) {\n try {\n return JSON.parse(jsonString);\n } catch (e) {\n return null;\n }\n}\n\nexport function convertToJsonAndExtractField(jsonString: string, field: string) {\n const json = convertToJson(jsonString);\n\n if (json) {\n return objectGetFieldByPath(json, field);\n } else {\n return null;\n }\n}\n\nexport function objectGetFieldByPath(object: any, path: string) {\n return path.split('.').reduce((currentObject, currentKey) => {\n if (currentObject && Object.prototype.hasOwnProperty.call(currentObject, currentKey)) {\n return currentObject[currentKey];\n } else {\n return null;\n }\n }, object);\n}\n\nexport function objectToArrayReversed(object) {\n const items = [] as any[];\n\n for (const item in object) {\n items.push(object[item]);\n }\n\n return items.reverse();\n}\n\nexport function objectHasProperty(object: any, path: string) {\n return path.split('.').reduce((currentObject, currentKey) => {\n if (currentObject && Object.prototype.hasOwnProperty.call(currentObject, currentKey)) {\n return currentObject[currentKey];\n } else {\n return null;\n }\n }, object);\n}\n\nexport function getShortList(array: any[], itemCountShow: number) {\n return array.length > itemCountShow ? array.slice(0, -(array.length - itemCountShow)) : array;\n}\n\nexport function getPruningNumber(array: any[], itemCountShow: number) {\n return array.length - itemCountShow + ' +';\n}\n\nexport function getRemainingNumber(total: number, itemCountShow: number) {\n return '+' + (total - itemCountShow);\n}\n\nexport function parseJwt(token) {\n const base64Url = token.split('.')[1];\n const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n const jsonPayload = decodeURIComponent(\n atob(base64)\n .split('')\n .map(c => {\n return `%${('00' + c.charCodeAt(0).toString(16)).slice(-2)}`;\n })\n .join('')\n );\n\n return convertToJson(jsonPayload);\n}\n\nexport function isRichTextEmpty(json: any) {\n return Boolean(\n json &&\n isNotEmpty(json) &&\n json.content &&\n isNotEmpty(json.content) &&\n json.content.every(paragraph => !paragraph.content)\n );\n}\n\nexport function isEquivalent(objectA: any, objectB: any) {\n return JSON.stringify(objectA) === JSON.stringify(objectB);\n}\n\nexport function convertAdminDateText(text: string): string {\n return text.split('T')[0].slice(2, text.length).split('-').reverse().join('-').replace(/-/g, '/');\n}\n\nexport function generatePointNeighborhood(point: number, padding: number): number[] {\n return [\n ...Array.from({ length: padding }).map((_, i) => point - padding + i),\n point,\n ...Array.from({ length: padding }).map((_, i) => point + i + 1),\n ];\n}\n\nexport function range(start: number, end: number): readonly number[] {\n return Array.from({ length: end - start + 1 }).map((_, i) => i + start);\n}\n\nexport function restrictRegionOfSequence(\n sequence: number[],\n { startValue, endValue }: { startValue: number; endValue: number }\n): number[] {\n return sequence.filter(sequenceValue => sequenceValue >= startValue && sequenceValue <= endValue);\n}\n\nexport function restrictRegionOfSequenceWithBorders(\n sequence: number[],\n { startValue, endValue }: { startValue: number; endValue: number }\n): number[] {\n const filteredArray = restrictRegionOfSequence(sequence, { startValue, endValue });\n\n if (filteredArray[0] - startValue > 2) {\n filteredArray.splice(0, 0, startValue, Number.NaN);\n }\n\n if (endValue - filteredArray[filteredArray.length - 1] > 2) {\n filteredArray.push(Number.NaN, endValue);\n }\n\n return filteredArray;\n}\n\nexport function filenameEllipsis(filename: string, maxLength: number) {\n if (filename.includes('.')) {\n const pathParts = filename.split('.');\n const extension = pathParts[pathParts.length - 1];\n\n const remainingPath = pathParts.slice(0, pathParts.length - 1).join('.');\n\n if (remainingPath.length > maxLength) {\n const endPart = `[...].${extension}`;\n return remainingPath.substr(0, maxLength - endPart.length) + endPart;\n }\n }\n\n return filename;\n}\n\nexport const hashCode = (s: string): number => {\n let h = 0;\n const l = s.length;\n let i = 0;\n if (l > 0) while (i < l) h = ((h << 5) - h + s.charCodeAt(i++)) | 0;\n return h;\n};\n\nexport const formatBytes = (bytes: number, decimals = 2): string => {\n if (bytes === 0) return '0 Bytes';\n\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n};\n\nexport const fileName = (text: string): string => {\n return text ? text.slice(0, text.lastIndexOf('.')) : '';\n};\n\nexport const fileExtension = (text: string): string => {\n return text ? text.slice(text.lastIndexOf('.') + 1, text.length) : '';\n};\n\nexport function findLast(array: T[], predicate: (value: T, index: number, obj: T[]) => boolean): T | undefined {\n let index = array.length - 1;\n for (; index >= 0; index--) {\n if (predicate(array[index], index, array)) {\n return array[index];\n }\n }\n}\n\nexport function shuffle(array: any[]) {\n let currentIndex = array.length;\n let temporaryValue;\n let randomIndex;\n\n while (0 !== currentIndex) {\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex -= 1;\n\n temporaryValue = array[currentIndex];\n array[currentIndex] = array[randomIndex];\n array[randomIndex] = temporaryValue;\n }\n\n return array;\n}\n\nexport function getLink(link: string, regex: RegExp, hostingLink: string): string {\n const hitList = link.match(regex);\n\n if (hitList !== null && hitList[1]) {\n const id = hitList[1];\n return hostingLink + id;\n } else {\n return link;\n }\n}\n\nexport function convertYoutubeToEmbed(link: string): string {\n return getLink(\n link,\n /(?:www\\.)?youtu(?:\\.be\\/|be.com\\/\\S*(?:watch|embed)(?:(?:(?=\\/[^&\\s?]+(?!\\S))\\/)|(?:\\S*v=|v\\/)))([^&\\s?]+)/,\n 'https://www.youtube.com/embed/'\n );\n}\n\nexport function convertVimeoToEmbed(link: string): string {\n return getLink(\n link,\n /(?:http|https)?:?\\/?\\/?(?:www\\.|player\\.)?vimeo\\.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/(?:[^/]*)\\/videos\\/|video\\/|)(\\d+)(?:|\\/\\?)/,\n 'https://player.vimeo.com/video/'\n );\n}\n\nexport function isHttpsUrl(link: string): boolean {\n const httpsRegex = /^(https):\\/\\//i;\n\n return httpsRegex.test(link);\n}\n\n/**\n * Set user clipboard content.\n * @param content text content\n */\nexport function setClipboard(content: string) {\n const textArea = document.createElement('textarea');\n textArea.style.opacity = '1';\n\n document.body.appendChild(textArea);\n textArea.value = content;\n\n textArea.select();\n document.execCommand('copy');\n\n document.body.removeChild(textArea);\n}\n\nexport type KebabCase = S extends `${infer C}${infer T}`\n ? KebabCase extends infer U\n ? U extends string\n ? T extends Uncapitalize\n ? `${Uncapitalize}${U}`\n : `${Uncapitalize}-${U}`\n : never\n : never\n : S;\n\n// \"Mozilla Firefox\" -> \"mozilla-firefox\"\n// \"Mac OS\" -> \"mac-os\"\nexport function wordsToKebab(str: string, separator = ' ') {\n return str.replace(separator, '-').toLowerCase();\n}\n\nexport const snakeToCamel = (str: string): string => str.replace(/([-_]\\w)/g, g => g[1].toUpperCase());\nexport const wordsToCamel = (str: string): string =>\n str\n .split(' ')\n .map((oneWord, idx) => (idx > 0 ? capitalize(oneWord.toLowerCase()) : oneWord))\n .join('');\nexport const camelToSnake = (str: string): string => str.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`);\nexport const camelToKebab = (str: T) =>\n str.replace(/[A-Z]/g, letter => `-${letter.toLowerCase()}`) as KebabCase;\n\nconst convertObjectKeys = (obj: any, objectKeyMappingFunction: (key: string) => string): any => {\n const newObj = {};\n for (const key of Object.keys(obj)) {\n if (obj[key] !== undefined) newObj[objectKeyMappingFunction(key)] = obj[key];\n }\n\n return newObj;\n};\n\nexport const objectPropsSnakeToCamel = (obj: any): any => {\n return convertObjectKeys(obj, snakeToCamel);\n};\n\nexport const objectPropsCamelToSnake = (obj: any): any => {\n return convertObjectKeys(obj, camelToSnake);\n};\n\nexport const formatBigNumber = value => {\n if (value >= 1000000) {\n return (value / 1000000).toFixed(1) + 'M';\n }\n if (value >= 1000) {\n return (value / 1000).toFixed(1) + 'k';\n }\n return value;\n};\n\n/**\n * Returns either true or false if item is in range(s)\n * @param value - Value to check\n * @param ranges - Array with boundaries or array with multiple arrays with boundaries\n */\nexport function isNumberInRange(value: number, ranges: number[] | number[][]): boolean {\n if (Array.isArray(ranges[0])) {\n let isInRange = false;\n\n for (let i = 0; i < ranges.length; i++) {\n if (isNumberInRange(value, (ranges as number[][])[i])) {\n isInRange = true;\n }\n }\n\n return isInRange;\n } else {\n return value > ranges[0] && value < ranges[1];\n }\n}\n\nexport function sumArray(arr: number[]) {\n return arr.reduce((sum, value) => sum + value, 0);\n}\n/**\n * Returns closest divisible number\n * @param a - number to check\n * @param b - divisor\n * @param greater - if true then searches for a greater value, if false, then smaller\n */\nexport const closestDivisibleBy = (a: number, b: number, greater = true) => (greater ? a + b - (a % b) : a - (a % b));\n\nexport function isViewportWidthLessThan(width: number): boolean {\n return window.innerWidth < width;\n}\n\nexport function getMaxWidthMedia(maxWidth: number): string {\n return `(max-width: ${maxWidth - 0.02}px)`;\n}\n\nexport type TextCalculationMetrics = {\n width: number;\n};\n\nexport function calculateTextMetrics(\n value: string,\n font: string | null,\n htmlElement: Element | null = null\n): TextCalculationMetrics | null {\n let localFont = '';\n const canvas = document.createElement('canvas');\n const context = canvas.getContext('2d');\n if (!context) {\n return null;\n }\n\n if (font) {\n localFont = font;\n } else {\n if (!font && htmlElement) {\n const computedMetrics = getComputedStyle(htmlElement);\n localFont = computedMetrics.font;\n }\n }\n\n if (!localFont) {\n return null;\n }\n\n context.font = localFont;\n const textMetrics = context.measureText(value);\n return {\n width: textMetrics.width,\n };\n}\n\n// may look a bit hackish, but read this issue:\n// https://stackoverflow.com/questions/44969852/javascript-number-tolocalestring-currency-without-currency-sign\nexport function formatPriceAndSeparateSymbol(number: number, currencyCode: string) {\n const partsToIgnore = ['literal', 'currency'];\n\n if (Number.isSafeInteger(number)) {\n partsToIgnore.push('fraction');\n partsToIgnore.push('decimal');\n }\n\n let symbol = '';\n const price = new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: currencyCode,\n })\n .formatToParts(number)\n .map(p => {\n if (p.type === 'currency') {\n symbol = p.value;\n }\n\n return partsToIgnore.includes(p.type) ? '' : p.value;\n })\n .join('');\n\n return {\n symbol,\n price,\n };\n}\nexport function formatPercentage(\n number: number,\n options: { round?: boolean; precision?: number } = { round: false, precision: 2 }\n) {\n if (options.round) {\n return `${Math.round(number)}%`;\n }\n return `${Number(number.toFixed(options.precision))}%`;\n}\n\nexport function formatNumber(number: number, local: string) {\n return number.toLocaleString(local ? local : 'en-EN');\n}\n\nexport function extractTextFromHTML(html: string | null | undefined) {\n if (!html) {\n return '';\n }\n const span = document.createElement('span');\n span.innerHTML = html;\n return span.textContent || span.innerText;\n}\n","import { Module, Mutations, Actions, createMapper, Getters, createComposable } from 'vuex-smart-module';\nimport { cacheBrandingData, getCachedBrandingData } from '@/common/services';\nimport { Branding, createBranding } from '@/common/models';\nimport { Vue } from 'vue-property-decorator';\nimport { brandingProvider } from '@/api/providers';\n\nclass State {\n public brandingState: Branding | null = null;\n}\n\nclass StoreActions extends Actions, StoreMutations, StoreActions> {\n public async getBranding() {\n const cachedBrandingData = getCachedBrandingData();\n\n if (cachedBrandingData !== null) {\n this.mutations.setBranding(cachedBrandingData);\n }\n\n const brandingResponse = await brandingProvider.getBranding();\n const newBrandingData = createBranding(brandingResponse);\n this.mutations.setBranding(newBrandingData);\n this.dispatch('cacheBranding');\n }\n\n public setBranding(data: Branding) {\n this.mutations.setBranding(data);\n }\n\n public cacheBranding() {\n if (this.state.brandingState !== null) {\n cacheBrandingData(this.state.brandingState);\n }\n }\n}\n\nclass StoreMutations extends Mutations {\n public setBranding(data: Branding) {\n this.state.brandingState = data;\n }\n}\n\nconst brandingStore = new Module({\n state: State,\n actions: StoreActions,\n mutations: StoreMutations,\n});\n\nexport const useBrandingStore = createComposable(brandingStore);\n\nconst brandingStoreMapper = createMapper(brandingStore);\n\nexport const BrandingMappedStoreMixin = Vue.extend({\n computed: {\n ...brandingStoreMapper.mapState(['brandingState']),\n },\n methods: {\n ...brandingStoreMapper.mapActions(['getBranding', 'setBranding', 'cacheBranding']),\n },\n});\n\nexport default brandingStore;\n","import { Module, Mutations, createMapper } from 'vuex-smart-module';\n\nclass State {\n retryingHttpRequest = false;\n lastError: string | null = null;\n}\n\nclass StoreMutations extends Mutations {\n public setLastError(lastError: string | null) {\n if (this.state.retryingHttpRequest) return;\n\n if (this.state.lastError === null || lastError === null) {\n this.state.lastError = lastError;\n }\n }\n\n public setRetryingHttpState(state: boolean) {\n this.state.retryingHttpRequest = state;\n }\n}\n\nconst storeModule = new Module({\n state: State,\n mutations: StoreMutations,\n});\n\nexport const httpStoreMapper = createMapper(storeModule);\nexport default storeModule;\n","import { Module, Mutations, createMapper, Getters, createComposable } from 'vuex-smart-module';\nimport { Vue } from 'vue-property-decorator';\nimport { MinWidthViewportBreakpoints, BreakpointCode } from '@/common/constants/breakpoints';\n\nclass State {\n public isMobile = false;\n public readonly breakpoints = MinWidthViewportBreakpoints;\n public readonly activeBreakpoints: Record = {\n sm: false,\n md: false,\n lg: false,\n xl: false,\n xxl: false,\n };\n}\n\nclass StoreGetters extends Getters {\n public isMobile() {\n return this.state.isMobile;\n }\n\n // Min-width viewport detectors\n\n public get isViewportLargerOrEqualSm() {\n return this.state.activeBreakpoints.sm;\n }\n\n public get isViewportLargerOrEqualMd() {\n return this.state.activeBreakpoints.md;\n }\n\n public get isViewportLargerOrEqualLg() {\n return this.state.activeBreakpoints.lg;\n }\n\n public get isViewportLargerOrEqualXl() {\n return this.state.activeBreakpoints.xl;\n }\n\n public get isViewportLargerOrEqualXxl() {\n return this.state.activeBreakpoints.xxl;\n }\n\n // Max-width viewport detectors\n\n public get isViewportSmallerOrEqualSm() {\n return !this.state.activeBreakpoints.md;\n }\n\n public get isViewportSmallerOrEqualMd() {\n return !this.state.activeBreakpoints.lg;\n }\n\n public get isViewportSmallerOrEqualLg() {\n return !this.state.activeBreakpoints.xl;\n }\n\n public get isViewportSmallerOrEqualXl() {\n return !this.state.activeBreakpoints.xxl;\n }\n}\n\nclass StoreMutations extends Mutations {\n public setIsMobile(isMobile: boolean) {\n this.state.isMobile = isMobile;\n }\n\n public setBreakpoint({ breakpoint, state }: { breakpoint: BreakpointCode; state: boolean }) {\n this.state.activeBreakpoints[breakpoint] = state;\n }\n}\n\nconst mobileModeStore = new Module({\n state: State,\n getters: StoreGetters,\n mutations: StoreMutations,\n});\n\nexport const useMobileModeStore = createComposable(mobileModeStore);\n\nconst mobileModeStoreMapper = createMapper(mobileModeStore);\n\nexport const MobileModeStoreMixin = Vue.extend({\n computed: {\n ...mobileModeStoreMapper.mapState(['isMobile', 'breakpoints', 'activeBreakpoints']),\n ...mobileModeStoreMapper.mapGetters([\n 'isViewportLargerOrEqualSm',\n 'isViewportLargerOrEqualMd',\n 'isViewportLargerOrEqualLg',\n 'isViewportLargerOrEqualXl',\n 'isViewportLargerOrEqualXxl',\n 'isViewportSmallerOrEqualSm',\n 'isViewportSmallerOrEqualMd',\n 'isViewportSmallerOrEqualLg',\n 'isViewportSmallerOrEqualXl',\n ]),\n },\n methods: {\n ...mobileModeStoreMapper.mapMutations(['setIsMobile', 'setBreakpoint']),\n },\n});\n\nexport default mobileModeStore;\n","/* eslint-disable vue/one-component-per-file */\nimport { Actions, createComposable, createMapper, Getters, Module, Mutations } from 'vuex-smart-module';\nimport {\n cacheUserDetailsData,\n cacheUserReportingManagerStatus,\n clearUserDetailsDataFromLocalStorage,\n getCacheUserDetailsData,\n getCacheUserReportingManagerStatus,\n} from '@/common/services';\nimport { UserProfile } from '@/common/interfaces';\nimport { segmentIdentify } from '@/common/services/segment';\nimport { Vue } from 'vue-property-decorator';\nimport { usersProvider } from '@/api/providers';\nimport { createStoreServiceFactory } from '@/di/store-factory';\nimport { EmsiSkillItem } from '@eloomi/eloomi-learning-persona-client/1.0';\nimport { SkillOrigin, UserInfoResponse, UserSkillOrigin } from '@eloomi/eloomi-skills-persona-client/1.0';\nimport { xorBy } from 'lodash-es';\nimport { PredefinedAccessUserRoles } from '@/admin/users/providers/user-access-roles';\n\nexport type AssignableSkills = { ownedSkills: EmsiSkillItem[]; wantedSkills: EmsiSkillItem[] };\n\nlet userDetailsPromise: Promise | null = null;\n\nclass State {\n public authUserProfile: UserProfile | null = null;\n public appInsightsPlatformData: {\n userId: number;\n platformId: number;\n } | null = null;\n public ownedSkills: EmsiSkillItem[] | null = null;\n public businessTitleSkills: EmsiSkillItem[] | null = null;\n public wantedSkills: EmsiSkillItem[] | null = null;\n public skillsSetupCompleted: boolean | null = null;\n public isReportingManager = false;\n}\n\nclass StoreGetters extends Getters {\n public userDetails() {\n return this.state.authUserProfile;\n }\n\n public get userSkills() {\n return [...(this.state.ownedSkills || []), ...(this.state.businessTitleSkills || [])];\n }\n\n public get isAuthUserAdmin() {\n const roles = [PredefinedAccessUserRoles.ADMIN.toString()];\n const userRole = this.state.authUserProfile?.infiniteRoleKey;\n return userRole ? roles.includes(userRole) : false;\n }\n}\n\nclass StoreActions extends Actions {\n public async loadUserProfile() {\n const cachedUserDetailsData = getCacheUserDetailsData();\n const cachedUserReportingStatusData = getCacheUserReportingManagerStatus();\n\n if (cachedUserDetailsData !== null && this.state.authUserProfile === null) {\n this.mutations.setUserProfile(cachedUserDetailsData);\n }\n\n this.mutations.setUserReportingManagerStatus(cachedUserReportingStatusData ?? false);\n\n if (userDetailsPromise === null) {\n await this.actions.forceReloadUserProfile();\n }\n\n return userDetailsPromise;\n }\n\n public async forceReloadUserProfile() {\n userDetailsPromise = usersProvider.getSelfUserProfile();\n this.actions.loadUserReportingManagerStatus();\n const authUserData: UserProfile | null = await userDetailsPromise;\n if (authUserData) {\n try {\n segmentIdentify(authUserData);\n } catch (error) {\n console.error(error);\n }\n\n this.mutations.setUserProfile(authUserData);\n this.mutations.setAppInsightData({\n userId: authUserData.id,\n platformId: authUserData.platformId,\n });\n\n cacheUserDetailsData(authUserData);\n }\n }\n\n public clearUserDetails() {\n clearUserDetailsDataFromLocalStorage();\n this.mutations.clearUserDetails();\n userDetailsPromise = null;\n }\n\n public async loadUserSkills() {\n const skills = await usersProvider.getSelfSkillsInfo();\n this.mutations.setUserSkillsInfo(skills);\n }\n\n public async loadUserReportingManagerStatus() {\n const isReportingManager = await usersProvider.isReportingManager();\n this.mutations.setUserReportingManagerStatus(isReportingManager);\n cacheUserReportingManagerStatus(isReportingManager);\n }\n\n public async saveUserSkills(skills: AssignableSkills) {\n if (\n xorBy(this.state.ownedSkills || [], skills.ownedSkills, 'unique_id').length ||\n xorBy(this.state.wantedSkills || [], skills.wantedSkills, 'unique_id').length\n ) {\n await usersProvider.setSelfSkillsInfo([\n ...skills.ownedSkills.map(skill => ({ ...skill, origin: SkillOrigin.OwnedSkills })),\n ...skills.wantedSkills.map(skill => ({ ...skill, origin: SkillOrigin.WantedSkills })),\n ]);\n this.mutations.updateUserSkills(skills);\n }\n\n if (!this.state.skillsSetupCompleted) {\n await usersProvider.completeSkillsSetup();\n this.mutations.setSkillsSetupCompletion(true);\n }\n }\n}\n\nclass StoreMutations extends Mutations {\n public setUserReportingManagerStatus(isReportingManager: boolean) {\n this.state.isReportingManager = isReportingManager;\n }\n\n public setUserProfile(data: UserProfile) {\n this.state.authUserProfile = data;\n }\n\n public setAppInsightData(data: { userId: number; platformId: number }) {\n this.state.appInsightsPlatformData = data;\n }\n\n public clearUserDetails() {\n this.state.authUserProfile = null;\n this.state.ownedSkills = null;\n this.state.businessTitleSkills = null;\n this.state.wantedSkills = null;\n this.state.skillsSetupCompleted = null;\n this.state.appInsightsPlatformData = null;\n }\n\n public setUserSkillsInfo(info: UserInfoResponse) {\n this.state.skillsSetupCompleted = info.setup_completed;\n this.state.ownedSkills = info.skills.filter(skill => skill.origin === UserSkillOrigin.OwnedSkills);\n this.state.businessTitleSkills = info.skills.filter(skill => skill.origin === UserSkillOrigin.BusinessTitle);\n this.state.wantedSkills = info.skills.filter(skill => skill.origin === UserSkillOrigin.WantedSkills);\n }\n\n public updateUserSkills(skills: AssignableSkills) {\n this.state.ownedSkills = [...skills.ownedSkills];\n this.state.wantedSkills = [...skills.wantedSkills];\n }\n\n public setSkillsSetupCompletion(isCompleted: boolean) {\n this.state.skillsSetupCompleted = isCompleted;\n }\n}\n\nconst userStore = new Module({\n state: State,\n getters: StoreGetters,\n actions: StoreActions,\n mutations: StoreMutations,\n});\n\nexport const useUserProfileDetailsStore = createComposable(userStore);\n\nexport const userProfileDetailsStoreMapper = createMapper(userStore);\n\nexport const UserProfileDetailsStoreMixin = Vue.extend({\n computed: {\n ...userProfileDetailsStoreMapper.mapState([\n 'authUserProfile',\n 'appInsightsPlatformData',\n 'skillsSetupCompleted',\n 'isReportingManager',\n ]),\n ...userProfileDetailsStoreMapper.mapGetters(['isAuthUserAdmin']),\n },\n methods: {\n ...userProfileDetailsStoreMapper.mapActions([\n 'loadUserProfile',\n 'forceReloadUserProfile',\n 'clearUserDetails',\n 'loadUserSkills',\n ]),\n },\n});\n\nexport const UserSkillsStoreMixin = Vue.extend({\n computed: {\n ...userProfileDetailsStoreMapper.mapState(['ownedSkills', 'businessTitleSkills', 'wantedSkills']),\n ...userProfileDetailsStoreMapper.mapGetters(['userSkills']),\n },\n});\n\nexport const SelfSkillsStoreMixin = Vue.extend({\n computed: {\n ...userProfileDetailsStoreMapper.mapState(['ownedSkills', 'businessTitleSkills', 'wantedSkills']),\n },\n});\n\nexport const UserDetailsStoreServiceFactory = createStoreServiceFactory({\n ...userProfileDetailsStoreMapper.mapState(['authUserProfile', 'appInsightsPlatformData']),\n ...userProfileDetailsStoreMapper.mapActions(['loadUserProfile', 'forceReloadUserProfile', 'clearUserDetails']),\n});\n\nexport type UserDetailsStoreService = ReturnType;\n\nexport default userStore;\n","import { TranslationKeys } from '@/translations';\n\nexport const IMPORT_TOPICS_STORAGE_KEY = 'import-course-topics';\n\nexport type LanguageInfo = {\n key: string;\n value: TranslationKeys;\n additionalKeys?: string[];\n};\n\nexport const languagesMapped = [\n {\n key: 'ar',\n value: 'spa.courses-admin.content-store.filters.language.arabic',\n },\n {\n key: 'zh',\n value: 'spa.courses-admin.content-store.filters.language.chinese',\n },\n {\n key: 'hr',\n value: 'spa.courses-admin.content-store.filters.language.croatian',\n },\n {\n key: 'cs',\n value: 'spa.courses-admin.content-store.filters.language.czech',\n },\n {\n key: 'da',\n value: 'spa.courses-admin.content-store.filters.language.danish',\n },\n {\n key: 'nl',\n value: 'spa.courses-admin.content-store.filters.language.dutch',\n },\n {\n key: 'en',\n additionalKeys: ['English', 'UK'],\n value: 'spa.courses-admin.content-store.filters.language.english',\n },\n {\n key: 'fi',\n value: 'spa.courses-admin.content-store.filters.language.finnish',\n },\n {\n key: 'fr',\n value: 'spa.courses-admin.content-store.filters.language.french',\n },\n {\n key: 'fr-ca',\n value: 'spa.courses-admin.content-store.filters.language.french-canada',\n },\n {\n key: 'de',\n additionalKeys: ['German', 'De'],\n value: 'spa.courses-admin.content-store.filters.language.german',\n },\n {\n key: 'el',\n value: 'spa.courses-admin.content-store.filters.language.greek',\n },\n {\n key: 'hi',\n value: 'spa.courses-admin.content-store.filters.language.hindi',\n },\n {\n key: 'hu',\n value: 'spa.courses-admin.content-store.filters.language.hungarian',\n },\n {\n key: 'ms',\n value: 'spa.courses-admin.content-store.filters.language.malaysian',\n },\n {\n key: 'nb',\n value: 'spa.courses-admin.content-store.filters.language.norwegian',\n },\n {\n key: 'id',\n value: 'spa.courses-admin.content-store.filters.language.indonesian',\n },\n {\n key: 'it',\n value: 'spa.courses-admin.content-store.filters.language.italian',\n },\n {\n key: 'ja',\n value: 'spa.courses-admin.content-store.filters.language.japanese',\n },\n {\n key: 'ko',\n value: 'spa.courses-admin.content-store.filters.language.korean',\n },\n {\n key: 'pl',\n value: 'spa.courses-admin.content-store.filters.language.polish',\n },\n {\n key: 'pt',\n value: 'spa.courses-admin.content-store.filters.language.portuguese',\n },\n {\n key: 'pt-br',\n value: 'spa.courses-admin.content-store.filters.language.portuguese-brazil',\n },\n {\n key: 'ro',\n value: 'spa.courses-admin.content-store.filters.language.romanian',\n },\n {\n key: 'ru',\n value: 'spa.courses-admin.content-store.filters.language.russian',\n },\n {\n key: 'sk',\n value: 'spa.courses-admin.content-store.filters.language.slovak',\n },\n {\n key: 'es',\n additionalKeys: ['es-es'],\n value: 'spa.courses-admin.content-store.filters.language.spanish',\n },\n {\n key: 'es-do',\n value: 'spa.courses-admin.content-store.filters.language.spanish-dominican-republic',\n },\n {\n key: 'sv',\n value: 'spa.courses-admin.content-store.filters.language.swedish',\n },\n {\n key: 'th',\n value: 'spa.courses-admin.content-store.filters.language.thai',\n },\n {\n key: 'tr',\n value: 'spa.courses-admin.content-store.filters.language.turkish',\n },\n {\n key: 'vi',\n value: 'spa.courses-admin.content-store.filters.language.vietnamese',\n },\n] as LanguageInfo[];\n\ntype SortField = 'created' | 'popularity' | 'relevance' | 'title';\n\ntype SortOption = {\n key: SortField;\n type: 'number' | 'text';\n title: TranslationKeys;\n};\n\nexport type Sorting = {\n key: SortField;\n ascending: boolean;\n};\n\nexport const sortingOptions: SortOption[] = [\n {\n key: 'created',\n type: 'number',\n title: 'spa.courses-admin.content-store.grid.import.modal.content.sorting.created',\n },\n {\n key: 'popularity',\n type: 'number',\n title: 'spa.courses-admin.content-store.grid.import.modal.content.sorting.popularity',\n },\n {\n key: 'relevance',\n type: 'number',\n title: 'spa.courses-admin.content-store.grid.import.modal.content.sorting.relevance',\n },\n {\n key: 'title',\n type: 'text',\n title: 'spa.courses-admin.content-store.grid.import.modal.content.sorting.title',\n },\n];\n","import { authorizeClient } from '@/api/http-client';\nimport {\n Go1FacetType,\n Go1SubscriptionInfo,\n Go1Type,\n LearningObjectsApiFactory,\n PlanApiFactory,\n PremiumLearningObjectsApiFactory,\n} from '@eloomi/eloomi-learning-persona-client/2.0';\nimport { extractAxiosData } from '@/common/services/extractAxiosData';\nimport { languagesMapped } from '@/content-store/constants';\n\nexport type { Go1LearningObject, Go1Type } from '@eloomi/eloomi-learning-persona-client/2.0';\n\nconst apiClient = authorizeClient(LearningObjectsApiFactory);\nconst premiumApiClient = authorizeClient(PremiumLearningObjectsApiFactory);\nconst planApiClient = authorizeClient(PlanApiFactory);\n\nexport interface GetLearningObjectsParams {\n page?: number;\n pageSize?: number;\n durationMin?: Array;\n durationMax?: Array;\n type?: Go1Type[];\n topics?: string[];\n keyword?: string;\n language?: string[];\n provider?: string[];\n sort?: { ascending: boolean; key: string } | null;\n}\n\nconst DEFAULT_PARAMS: GetLearningObjectsParams = {\n page: 1,\n pageSize: 12,\n};\n\nexport function getSubscriptionInfo(): Promise {\n return planApiClient.getGo1SubscriptionInfo().then(extractAxiosData);\n}\n\nexport function getLearningObjects(isPremium: boolean | undefined, params: GetLearningObjectsParams = DEFAULT_PARAMS) {\n let maxDuration: number[] | undefined = undefined;\n let minDuration: number[] | undefined = undefined;\n\n if (params.durationMin && params.durationMin.length > 0) {\n minDuration = [Math.min(...params.durationMin)];\n }\n\n if (params.durationMax && params.durationMax[params.durationMax.length - 1] !== undefined) {\n maxDuration = [Math.max(...params.durationMax)];\n }\n\n let sortBy = params.keyword ? 'relevance:desc,popularity:desc' : 'popularity:desc';\n if (params.sort) {\n sortBy = params.sort?.key + (params.sort?.ascending === false ? ':desc' : '');\n }\n\n const apiMethod = isPremium ? premiumApiClient.getLearningObjects : apiClient.getLearningObjects;\n\n const language = params.language\n ?.map(lang => {\n const info = languagesMapped.find(l => l.key === lang);\n if (info?.additionalKeys) {\n return [lang, ...info.additionalKeys];\n }\n return lang;\n })\n .flat();\n\n const provider = params.provider?.join(',');\n\n return apiMethod(\n params.page ?? 1,\n params.pageSize ?? 12,\n undefined,\n undefined,\n minDuration,\n maxDuration,\n undefined,\n undefined,\n undefined,\n [Go1FacetType.Language, Go1FacetType.Topics, Go1FacetType.Instance],\n params.keyword,\n language,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n provider,\n sortBy,\n undefined,\n undefined,\n undefined,\n params.type,\n params.topics\n ).then(extractAxiosData);\n}\n\nexport function importLearningObjects(ids, needToImportTopics: boolean) {\n return premiumApiClient\n .bulkImportLearningObjects(needToImportTopics, { learning_object_ids: ids })\n .then(extractAxiosData);\n}\n\nexport function checkStatus(id: string) {\n return premiumApiClient.learningObjectsImportStatus(id).then(extractAxiosData);\n}\n\nexport async function getLearningObjectDetails(isPremium: boolean | undefined, id: number) {\n const apiMethod = isPremium ? premiumApiClient.getLearningObjectDetails : apiClient.getLearningObjectDetails;\n return await apiMethod(id).then(extractAxiosData);\n}\n\nexport async function importLearningObject(id: number, importTopics = false) {\n return await premiumApiClient.importLearningObject(id, importTopics).then(extractAxiosData);\n}\n\nexport async function getLearningObjectPreview(isPremium: boolean | undefined, id: number) {\n const apiMethod = isPremium ? premiumApiClient.getLearningObjectPreview : apiClient.getLearningObjectPreview;\n return await apiMethod(id).then(extractAxiosData);\n}\n\nexport function getLearningObjectTopics(isPremium: boolean | undefined) {\n const apiMethod = isPremium ? premiumApiClient.getLearningObjectTopics : apiClient.getLearningObjectTopics;\n return apiMethod().then(extractAxiosData);\n}\n\nexport function getLearningObjectProviders(isPremium: boolean | undefined) {\n const apiMethod = isPremium ? premiumApiClient.getLearningObjectProviders : apiClient.getLearningObjectProviders;\n return apiMethod().then(extractAxiosData);\n}\n","import { PREFIX_IN_BROWSER_TAB } from '@/common/platform-configuration/global-variables';\nimport { RouteConfig } from 'vue-router';\n\nimport { mobileIsUnsupportedFlag } from '@/common/services/mobile-fallback';\nimport { Permissions } from '@/permissions';\n\nimport baseStore from '@/main/baseStore';\n\nconst contentStoreModal = () => import('@/content-store/components/modal/ContentStoreModal.vue');\nconst contentStoreCourseDetailsPage = () => import('@/content-store/pages/ContentStoreCourseDetailsPage.vue');\n\ninterface CreateContentStoreRouteArgs {\n contentStoreRouteName: string;\n contentStoreItemRouteName: string;\n showNavigationSidebar?: boolean;\n}\nexport enum ContentStoreRouteType {\n CONTENT_STORE,\n CONTENT_STORE_ITEM,\n}\nconst createContentStoreRoute = ({\n contentStoreRouteName,\n contentStoreItemRouteName,\n showNavigationSidebar,\n}: CreateContentStoreRouteArgs): RouteConfig => ({\n path: 'content-store',\n name: contentStoreRouteName,\n component: contentStoreModal,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | ContentStore`,\n ...mobileIsUnsupportedFlag,\n showNavigationSidebar: showNavigationSidebar || false,\n requiredPermissions: [Permissions.AdminContentStore],\n type: ContentStoreRouteType.CONTENT_STORE,\n },\n children: [\n {\n path: 'item/:id',\n name: contentStoreItemRouteName,\n component: contentStoreCourseDetailsPage,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | ContentStore Course`,\n ...mobileIsUnsupportedFlag,\n showNavigationSidebar: showNavigationSidebar || false,\n requiredPermissions: [Permissions.AdminCourses],\n type: ContentStoreRouteType.CONTENT_STORE_ITEM,\n },\n },\n ],\n beforeEnter: (_from, _to, next) => {\n baseStore.dispatch('contentStore/getSubscriptionInfo').then(() => next());\n },\n});\n\nexport default createContentStoreRoute;\n","import { Module, Actions, Mutations, Getters, createMapper, createComposable } from 'vuex-smart-module';\nimport { getSubscriptionInfo } from '../providers';\nimport { Vue } from 'vue-property-decorator';\n\nclass State {\n public isPremium: boolean | undefined;\n}\n\nclass StoreMutations extends Mutations {\n public setIsPremium(isPremium: boolean) {\n this.state.isPremium = isPremium;\n }\n}\n\nexport class StoreActions extends Actions, StoreMutations, StoreActions> {\n public async getSubscriptionInfo(): Promise {\n if (this.state.isPremium !== undefined) {\n return this.state.isPremium;\n }\n const subscriptionInfo = await getSubscriptionInfo();\n const isPremium = subscriptionInfo.is_premium ?? false;\n this.mutations.setIsPremium(isPremium);\n\n return isPremium;\n }\n}\n\nconst storeModule = new Module({\n state: State,\n mutations: StoreMutations,\n actions: StoreActions,\n});\n\nexport const useContentStore = createComposable(storeModule);\n\nexport const contentStoreMapper = createMapper(storeModule);\nexport const ContentStoreMappedStore = Vue.extend({\n computed: {\n ...contentStoreMapper.mapState(['isPremium']),\n },\n methods: contentStoreMapper.mapActions(['getSubscriptionInfo']),\n});\n\nexport default storeModule;\n","export enum FilterDropdownMode {\n FilterSelect,\n Duration,\n Skill,\n Type,\n Topic,\n}\n\nexport enum DurationFilterType {\n Any,\n D_0_15,\n D_15_30,\n D_30_plus,\n}\n\nexport enum TypeFilterType {\n ShowAll,\n Deadline,\n Required,\n Completed,\n}\n\nexport interface DurationFilter {\n label: string;\n icon: string;\n type: DurationFilterType;\n from?: number;\n to?: number;\n}\n\nexport interface TypeFilter {\n label: string;\n required?: boolean;\n type: TypeFilterType;\n}\n\nexport const availableDurationFilterTypes: readonly DurationFilter[] = Object.freeze([\n {\n label: 'spa.label.show-all-text',\n icon: 'timer',\n type: DurationFilterType.Any,\n },\n {\n label: 'spa.label.0-15-minutes',\n icon: 'timer',\n type: DurationFilterType.D_0_15,\n from: 0,\n to: 15 * 60,\n },\n {\n label: 'spa.label.15-30-minutes',\n icon: 'timer',\n type: DurationFilterType.D_15_30,\n from: 15 * 60,\n to: 30 * 60,\n },\n {\n label: 'spa.label.more-than-30-minutes',\n icon: 'timer',\n type: DurationFilterType.D_30_plus,\n from: 30 * 60,\n },\n]);\n\nexport const availableTypeFilterTypes: readonly TypeFilter[] = Object.freeze([\n {\n label: 'spa.label.completed',\n type: TypeFilterType.Completed,\n },\n {\n label: 'spa.label.required',\n type: TypeFilterType.Required,\n },\n {\n label: 'spa.label.deadline',\n type: TypeFilterType.Deadline,\n },\n]);\n\nexport enum FilterProperties {\n titleProperty = 'Title',\n descriptionProperty = 'Description',\n durationProperty = 'Duration',\n requiredProperty = 'is_required',\n deadlineProperty = 'deadline_date',\n completedProperty = 'is_completed',\n topicId = 'topic_id',\n skillId = 'skill_ids',\n topicsProperty = 'Topics',\n categoryId = 'category_id',\n}\n","import { CoreQuery } from '@/common/services/core-query';\nimport { EntitiesList } from '@/common/models';\nimport { authorizeClient, httpClientCoreQuery } from '@/api/http-client';\nimport { ICoursePlayerCourse, ICoursePlayerPage } from '@/courses/models';\nimport { DeviceType, PlayerCourseApiFactory } from '@eloomi/eloomi-learning-persona-client/1.0';\nimport { extractAxiosData } from '@/common/services/extractAxiosData';\n\nconst playerCourseApi = authorizeClient(PlayerCourseApiFactory);\n\nexport function getPageDetails(query: CoreQuery, { courseId, chapterId, pageId }): Promise {\n const q = query.path([\n EntitiesList.LEARNING,\n EntitiesList.PERSONA,\n EntitiesList.PLAYER,\n EntitiesList.COURSE,\n courseId,\n EntitiesList.CHAPTER,\n chapterId,\n EntitiesList.PAGE,\n pageId,\n ]);\n\n return httpClientCoreQuery.get(q).then(({ data }) => data);\n}\n\nexport function getCourse(courseId: number) {\n return playerCourseApi.getCourseWithStructure(courseId).then(extractAxiosData) as Promise;\n}\n\nexport function completePage(query: CoreQuery, { courseId, chapterId, pageId }): Promise {\n const q = query.path([\n EntitiesList.LEARNING,\n EntitiesList.PERSONA,\n EntitiesList.PLAYER,\n EntitiesList.COURSE,\n courseId,\n EntitiesList.CHAPTER,\n chapterId,\n EntitiesList.PAGE,\n pageId,\n EntitiesList.COMPLETE,\n ]);\n\n return httpClientCoreQuery.post(q).then(({ data }) => data);\n}\n\nexport function incrementCourseViews(\n query: CoreQuery,\n { courseId, userId }: { courseId: number; userId: number }\n): Promise {\n const q = query.path([\n EntitiesList.LEARNING,\n EntitiesList.PERSONA,\n EntitiesList.PLAYER,\n EntitiesList.COURSE,\n courseId,\n EntitiesList.VIEWS,\n EntitiesList.USER,\n userId,\n EntitiesList.INCREMENT,\n ]);\n\n return httpClientCoreQuery.post(q).then(data => data);\n}\n\nexport function trackActivity(payload: {\n courseId: number | string;\n chapterId: number | string;\n pageId: number | string;\n deviceType?: DeviceType | null;\n}): Promise {\n const query = new CoreQuery();\n\n const q = query.path([\n EntitiesList.LEARNING,\n EntitiesList.PERSONA,\n EntitiesList.PLAYER,\n EntitiesList.COURSE,\n payload.courseId,\n EntitiesList.CHAPTER,\n payload.chapterId,\n EntitiesList.PAGE,\n payload.pageId,\n EntitiesList.TRACK,\n ]);\n\n return httpClientCoreQuery\n .post(q, {\n device_type: payload.deviceType,\n })\n .then(data => data);\n}\n","import { authorizeClient } from '@/api/http-client';\nimport { AssignedCourseUserCompletionStatus } from '@/reporting/models';\nimport { UsersReportingApiFactory } from '@eloomi/eloomi-learning-persona-client/1.0';\nimport { extractAxiosData } from '@/common/services/extractAxiosData';\n\nconst usersReportingClient = authorizeClient(UsersReportingApiFactory);\n\ninterface PersonalReportOptions {\n userId: number;\n filters?: string;\n sorts?: string;\n page: number;\n pageSize: number;\n}\n\nexport function getPersonalCoursesReport(options: PersonalReportOptions) {\n return usersReportingClient\n .getUserCoursesReport(options.userId, options.filters, options.sorts, options.page, options.pageSize)\n .then(extractAxiosData);\n}\n\nexport interface UserReportCourse {\n title: string;\n image: string;\n duration: number;\n deadline: string | null;\n status: AssignedCourseUserCompletionStatus;\n time_spent: number;\n started_at: string;\n completed_at: string;\n views: number;\n is_required: boolean;\n id: number;\n}\n","import { PlaylistApiFactory, PlaylistStepApiFactory } from '@eloomi/eloomi-learning-persona-client/1.0';\nimport { authorizeClient } from '@/api/http-client';\n\nconst PlaylistApiClient = authorizeClient(PlaylistApiFactory);\nconst PlaylistStepApiClient = authorizeClient(PlaylistStepApiFactory);\n\nexport function getPlaylist(playlistId: number) {\n return PlaylistApiClient.getUserPlaylist(playlistId).then(({ data }) => data);\n}\n\nexport function takePlaylistStep(playlistId: number, playlistStepId: number) {\n return PlaylistStepApiClient.takePlaylistStep(playlistId, playlistStepId).then(({ data }) => data);\n}\n","import { UserApiFactory } from '@eloomi/eloomi-learning-persona-client/1.0';\nimport { authorizeClient } from '@/api/http-client';\nimport { extractAxiosData } from '@/common/services/extractAxiosData';\n\nconst userClient = authorizeClient(UserApiFactory);\n\nexport function getUserCoursesSkills() {\n return userClient.getUserCourseSkills().then(extractAxiosData);\n}\n","import { httpClientCoreQuery } from '@/api/http-client';\nimport { TablePaginatedData } from '@/common/components/table/v2/interfaces';\nimport { EntitiesList } from '@/common/models';\nimport { FluentFilterCollection, Operator } from '@/common/services';\nimport { CoreQuery } from '@/common/services/core-query';\nimport { UserTopic } from '../models';\nimport { FilterProperties } from '../pages/all-courses-overview/overview-filters';\n\n// TODO remove and refactor its usages\nexport function getUserTopics(topicIds?: number[]) {\n const filter = new FluentFilterCollection();\n if (topicIds) {\n const selectedTopicsId = topicIds?.join('|');\n selectedTopicsId && filter.where(FilterProperties.topicId).filter(Operator.IsEqualTo, selectedTopicsId);\n }\n\n const q = new CoreQuery()\n .entity([EntitiesList.LEARNING, EntitiesList.PERSONA, EntitiesList.COURSE, EntitiesList.TOPIC])\n .param({ page_size: 150 })\n .filters(filter);\n\n return httpClientCoreQuery.get>(q).then(({ data }) => data);\n}\n","export const enum CoursesRouteNames {\n ALL_COURSES_OVERVIEW = 'all_courses_overview',\n COURSES_DASHBOARD = 'course_dashboard',\n COURSE_OVERVIEW = 'course_overview',\n COURSE_PLAYER = 'course_player',\n COURSE_SCORM_PLAYER = 'course_scorm_player',\n PLAYLIST_OVERVIEW = 'playlist_overview',\n}\n","import { Actions } from 'vuex-smart-module';\n\nimport { UserCoursesGetters } from './getters';\nimport { UserCoursesMutations } from './mutations';\nimport { CoursePlayerState } from './state';\n\nimport { completePage, getCourse, getPageDetails, incrementCourseViews } from '@/courses/providers';\nimport { getCourseSkills } from '@/admin/skills/providers/course-skills';\nimport { SkillResponse } from '@eloomi/eloomi-learning-persona-client/1.0';\n\nexport class UserCoursesActions extends Actions<\n CoursePlayerState,\n UserCoursesGetters,\n UserCoursesMutations,\n UserCoursesActions\n> {\n public async loadActiveCourse(payload: { courseId: number; getSkills?: boolean }) {\n const emptySkills = Promise.resolve([]);\n\n const requests = [\n getCourse(payload.courseId),\n payload.getSkills ? getCourseSkills(payload.courseId).catch(() => emptySkills) : emptySkills,\n ] as const;\n\n const [course, skills] = await Promise.all(requests);\n\n this.mutations.setCourse(course);\n this.mutations.setCourseSkills(skills);\n }\n\n public async setActivePageAndChapter(payload: {\n chapterId: number | null;\n pageId: number | null;\n courseId?: number;\n }) {\n this.mutations.setActiveChapterId(payload.chapterId);\n this.mutations.setActivePageId(payload.pageId);\n if (payload.pageId && payload.chapterId && (this.state.course || payload.courseId)) {\n this.mutations.setCoursePageLoading(true);\n if (this.state.currentPageDetails?.id !== payload.pageId) {\n this.mutations.setPageDetails(null);\n const pageDetails = await getPageDetails(this.state.query.clone(), {\n courseId: this.state.course?.id || payload.courseId,\n chapterId: payload.chapterId,\n pageId: payload.pageId,\n });\n\n this.mutations.setPageDetails(pageDetails);\n this.mutations.setCoursePageLoading(false);\n }\n }\n }\n\n public async reloadPage() {\n const { pageId, chapterId, course } = this.state;\n const pageDetails = await getPageDetails(this.state.query.clone(), {\n courseId: course?.id,\n chapterId,\n pageId,\n });\n\n this.mutations.setPageDetails(pageDetails);\n }\n\n public resetActiveChapterAndPage() {\n this.mutations.setPageDetails(null);\n this.mutations.setActiveChapterId(null);\n this.mutations.setActivePageId(null);\n }\n\n public async markActivePageAsCompleted() {\n await completePage(this.state.query.clone(), {\n courseId: this.state.course!.id,\n chapterId: this.state.chapterId,\n pageId: this.state.pageId,\n });\n\n return this.mutations.markActivePageAsCompleted();\n }\n\n public async incrementPlayerCourseViews({ courseId, userId }: { courseId: number; userId: number }) {\n await incrementCourseViews(this.state.query.clone(), {\n courseId,\n userId,\n });\n }\n}\n","import { Getters } from 'vuex-smart-module';\n\nimport { CoursePlayerState } from './state';\nimport { ICoursePlayerChapter, ICoursePlayerPage } from '@/courses/models';\n\nexport class UserCoursesGetters extends Getters {\n public get activeChapter(): ICoursePlayerChapter | null {\n return this.getters.getChapter(this.state.chapterId);\n }\n\n public get activePage(): ICoursePlayerPage | null {\n return this.getters.activeChapter?.pages.find(page => page.id === this.state.pageId) || null;\n }\n\n public get isCurrentPageCompleted(): boolean {\n return this.getters.activePage?.is_completed || false;\n }\n\n public get isCoursePageLoaded() {\n return Boolean(this.state.currentPageDetails) && this.state.currentPageDetails?.id === this.state.pageId;\n }\n\n public getChapter(chapterId): ICoursePlayerChapter | null {\n return this.state.course?.chapters.find(chapter => chapter.id === chapterId) || null;\n }\n\n public activeCourseHasChapterWithPage(chapterId, pageId): boolean {\n const chapter = this.getters.getChapter(chapterId);\n\n return chapter?.pages.some(page => page.id === pageId) || false;\n }\n\n public get isOnHomePage() {\n const ids: number | null = this.state.chapterId || this.state.pageId;\n return Number.isNaN(ids) || ids == null;\n }\n\n public get currentPageOrder(): number {\n const activeChapter = this.getters.activeChapter;\n\n if (activeChapter) {\n return activeChapter.pages.findIndex(page => {\n return page.id === this.getters.activePage?.id;\n });\n }\n\n return 0;\n }\n\n public get firstUncompletedPageAndChapter(): { chapter?: ICoursePlayerChapter; page?: ICoursePlayerPage } {\n const notCompletedChapter =\n this.state.course?.chapters.find(chapter => chapter.pages.some(page => !page.is_completed)) ||\n this.state.course?.chapters[0];\n\n const notCompletePage =\n notCompletedChapter?.pages.find(page => !page.is_completed) || notCompletedChapter?.pages[0];\n\n return {\n chapter: notCompletedChapter,\n page: notCompletePage,\n };\n }\n\n public get isEmptyCourse(): boolean {\n if (!this.state.course) {\n return false;\n }\n\n if (this.state.course.course_type === 'scorm' || this.state.course.course_type === 'go1Scorm') return false;\n\n return !this.state.course.chapters.length || !this.state.course.chapters[0].pages.length;\n }\n}\n","import { Mutations } from 'vuex-smart-module';\nimport { CoursePlayerState } from '@/courses/store/course-player/state';\nimport { ICoursePlayerCourse, ICoursePlayerPage } from '@/courses/models';\nimport { CoreQuery } from '@/common/services/core-query';\nimport { SkillResponse } from '@eloomi/eloomi-learning-persona-client/1.0';\n\nexport class UserCoursesMutations extends Mutations {\n public setCourse(course: ICoursePlayerCourse) {\n this.state.course = course;\n }\n\n public setCourseSkills(courseSkills: SkillResponse[]) {\n this.state.courseSkills = courseSkills;\n }\n\n public setPageDetails(pageDetails: ICoursePlayerPage | null) {\n this.state.currentPageDetails = pageDetails;\n }\n\n public setCoursePageLoading(value: boolean) {\n this.state.isCoursePageLoading = value;\n }\n\n public reset() {\n this.state.course = null;\n this.state.currentPageDetails = null;\n this.state.chapterId = null;\n this.state.pageId = null;\n this.state.query = new CoreQuery();\n }\n\n public setActiveChapterId(chapterId: number | null) {\n this.state.chapterId = chapterId;\n }\n\n public setActivePageId(pageId: number | null) {\n this.state.pageId = pageId;\n }\n\n public markActivePageAsCompleted() {\n const activeChapter = this.state.course?.chapters.find(chapter => chapter.id === this.state.chapterId) || null;\n const activePage = activeChapter?.pages.find(page => page.id === this.state.pageId) || null;\n\n if (activePage) {\n activePage.is_completed = true;\n }\n }\n\n public setSidebarOpened(state: boolean) {\n this.state.sidebarOpened = state;\n }\n}\n","import { Module, createMapper } from 'vuex-smart-module';\n\nimport { UserCoursesActions } from './actions';\nimport { UserCoursesGetters } from './getters';\nimport { UserCoursesMutations } from './mutations';\nimport { CoursePlayerState } from './state';\n\nconst CoursePlayerStore = new Module({\n state: CoursePlayerState,\n getters: UserCoursesGetters,\n mutations: UserCoursesMutations,\n actions: UserCoursesActions,\n});\n\nexport const CoursePlayerStoreMapper = createMapper(CoursePlayerStore);\nexport default CoursePlayerStore;\n","import { ICoursePlayerCourse, ICoursePlayerPage } from '@/courses/models';\nimport { CoreQuery } from '@/common/services/core-query';\nimport { SkillResponse } from '@eloomi/eloomi-learning-persona-client/1.0';\n\nexport class CoursePlayerState {\n public query: CoreQuery = new CoreQuery();\n public course: ICoursePlayerCourse | null = null;\n public courseSkills: SkillResponse[] | null = null;\n public chapterId: number | null = null;\n public pageId: number | null = null;\n public currentPageDetails: ICoursePlayerPage | null = null;\n public sidebarOpened = true;\n public isCoursePageLoading = false;\n}\n","import { Actions } from 'vuex-smart-module';\n\nimport { UserCoursesGetters } from './getters';\nimport { UserCoursesMutations } from './mutations';\nimport { UserCoursesState } from './state';\n\nimport { getPlayerCourse } from '@/api/providers/course-player.provider';\n\nexport class UserCoursesActions extends Actions<\n UserCoursesState,\n UserCoursesGetters,\n UserCoursesMutations,\n UserCoursesActions\n> {\n public async loadActiveCourse(payload: { courseId: number }) {\n console.debug('Loading active course');\n const course = await getPlayerCourse(payload.courseId);\n this.mutations.setActiveCourse(course);\n }\n\n public setActivePageAndChapter(payload: { activeChapterId: number; activePageId: number }) {\n this.mutations.setActiveChapterId(payload.activeChapterId);\n this.mutations.setActivePageId(payload.activePageId);\n }\n\n public async markActivePageAsCompleted() {\n return this.mutations.markActivePageAsCompleted();\n }\n}\n","import { Getters } from 'vuex-smart-module';\n\nimport { UserCoursesState } from './state';\n\nexport class UserCoursesGetters extends Getters {\n public get activeChapter() {\n if (this.state.activeCourse !== null) {\n return this.state.activeCourse.chapters.find(chapter => chapter.id === this.state.activeChapterId);\n }\n }\n\n public get activePage() {\n const currentChapter = this.getters.activeChapter;\n if (currentChapter !== undefined) {\n return currentChapter.pages.find(page => page.id === this.state.activePageId);\n }\n }\n\n public get isActivePageCompleted() {\n if (this.getters.activePage !== undefined) {\n return this.getters.activePage.is_completed;\n }\n }\n\n public getChapter(chapterId) {\n if (this.state.activeCourse !== null) {\n return this.state.activeCourse.chapters.find(chapter => chapter.id === chapterId);\n }\n }\n\n public activeCourseHasChapterWithPage(chapterId, pageId) {\n const chapter = this.getters.getChapter(chapterId);\n if (chapter !== undefined) {\n return chapter.pages.some(page => page.id === pageId);\n }\n return false;\n }\n\n public get getSelectedTopics() {\n return this.state.selectedTopics;\n }\n}\n","import { TopicLiteModel } from '@eloomi/eloomi-learning-persona-client/1.0';\nimport { Mutations } from 'vuex-smart-module';\n\nimport { CourseTopic, ICoursePlayerCourse, UserTopic } from '../models';\nimport { UserCoursesState } from './state';\nimport { SkillResponse } from '@eloomi/eloomi-learning-persona-client/1.0/models/skill-response';\n\nexport class UserCoursesMutations extends Mutations {\n public setActiveCourse(course: ICoursePlayerCourse) {\n this.state.activeCourse = course;\n }\n\n public unsetActiveCourse() {\n this.state.activeCourse = null;\n this.state.activeChapterId = null;\n this.state.activePageId = null;\n }\n\n public setActiveChapterId(chapterId: number) {\n this.state.activeChapterId = chapterId;\n }\n\n public setActivePageId(pageId: number) {\n this.state.activePageId = pageId;\n }\n\n public markActivePageAsCompleted() {\n const activeChapter = this.state.activeCourse?.chapters.find(\n chapter => chapter.id === this.state.activeChapterId\n );\n const activePage = activeChapter?.pages.find(page => page.id === this.state.activePageId);\n\n if (activePage !== undefined) {\n activePage.is_completed = true;\n }\n }\n\n public setSelectedCourseTopics(data: UserTopic[] | CourseTopic | TopicLiteModel) {\n if (Array.isArray(data)) {\n this.state.selectedTopics = data;\n } else {\n this.state.selectedTopics.push({\n topic_name: data.name,\n topic_id: data.id,\n assigned_courses_count: 0,\n assigned_playlists_count: 0,\n });\n }\n }\n\n public setSelectedCourseSkills(data: SkillResponse[]) {\n this.state.selectedSkills = data;\n }\n\n public removeTopicFilter(item: UserTopic) {\n this.state.selectedTopics = this.state.selectedTopics.filter(el => {\n return el.topic_id !== item.topic_id;\n });\n }\n\n public removeSkillFilter(item: SkillResponse) {\n this.state.selectedSkills = this.state.selectedSkills.filter(el => {\n return el.id !== item.id;\n });\n }\n\n public clearFilters() {\n this.state.selectedTopics = [];\n this.state.selectedSkills = [];\n }\n}\n","import { Module, createMapper, createComposable } from 'vuex-smart-module';\n\nimport { UserCoursesActions } from './actions';\nimport { UserCoursesGetters } from './getters';\nimport { UserCoursesMutations } from './mutations';\nimport { UserCoursesState } from './state';\n\nconst UserCoursesStore = new Module({\n state: UserCoursesState,\n getters: UserCoursesGetters,\n mutations: UserCoursesMutations,\n actions: UserCoursesActions,\n});\nexport const useUserCoursesStore = createComposable(UserCoursesStore);\nexport const userCoursesMapper = createMapper(UserCoursesStore);\nexport default UserCoursesStore;\n","import { ICoursePlayerCourse, UserTopic } from '../models';\nimport { SkillResponse } from '@eloomi/eloomi-learning-persona-client/1.0/models/skill-response';\n\nexport class UserCoursesState {\n public activeCourse: ICoursePlayerCourse | null = null;\n public activeChapterId: number | null = null;\n public activePageId: number | null = null;\n public selectedTopics: UserTopic[] = [];\n public selectedSkills: SkillResponse[] = [];\n}\n","import { TransFunction } from '@/translations/store';\nimport { UserDashboardCourse } from '@/courses/models';\nimport { PRIMARY_COLORS } from '@/common/constants/color-css-variables';\n\nexport function formatCourseDuration(duration: number, trans: TransFunction) {\n const allMinutes = Math.round(duration / 60);\n\n if (allMinutes >= 60) {\n const hours = Math.floor(allMinutes / 60);\n const minutes = Math.round(allMinutes % 60);\n\n return minutes > 0\n ? trans('spa.courses-card.duration.hours-minutes', {\n hours,\n minutes,\n })\n : trans('spa.courses-card.duration.hours', {\n hours,\n });\n } else {\n return trans('spa.courses-card.duration.minutes', { minutes: allMinutes });\n }\n}\n\nexport function highlightSearchedText(text: string, searchText: string) {\n const regexExpression = new RegExp(searchText, 'ig');\n const match = text.match(regexExpression);\n if (match) {\n const matchedExpression = match[0];\n return text.replace(\n regexExpression,\n `${matchedExpression}`\n );\n } else {\n return text;\n }\n}\n\nexport function highlightTitle(course: UserDashboardCourse, searchText: string) {\n return highlightSearchedText(course?.title, searchText);\n}\n\nexport function highlightDescription(course: UserDashboardCourse, searchText: string) {\n if (!course.description) {\n return;\n }\n const AVAILABLE_CHARS_NUMBER = 40;\n const SEARCH_TEXT_LENGTH = searchText.length;\n const REST_AVAILABLE_SPACE = Math.floor(AVAILABLE_CHARS_NUMBER - SEARCH_TEXT_LENGTH);\n const SEARCH_TEXT_INDEX = course.description.toLocaleLowerCase().indexOf(searchText.toLocaleLowerCase());\n const DESCRIPTION_LENGTH = course?.description.length;\n\n if (SEARCH_TEXT_INDEX < AVAILABLE_CHARS_NUMBER && DESCRIPTION_LENGTH < AVAILABLE_CHARS_NUMBER) {\n return highlightSearchedText(course.description, searchText);\n }\n\n if (SEARCH_TEXT_INDEX < AVAILABLE_CHARS_NUMBER && DESCRIPTION_LENGTH > AVAILABLE_CHARS_NUMBER) {\n return highlightSearchedText(course.description.slice(0, AVAILABLE_CHARS_NUMBER), searchText) + '...';\n }\n if (SEARCH_TEXT_INDEX > DESCRIPTION_LENGTH - AVAILABLE_CHARS_NUMBER) {\n return (\n '...' +\n highlightSearchedText(\n course.description.slice(DESCRIPTION_LENGTH - AVAILABLE_CHARS_NUMBER, DESCRIPTION_LENGTH),\n searchText\n )\n );\n }\n const startIndex =\n SEARCH_TEXT_INDEX - REST_AVAILABLE_SPACE / 2 < 0 ? 0 : SEARCH_TEXT_INDEX - REST_AVAILABLE_SPACE / 2;\n\n const text = course.description.slice(\n startIndex,\n SEARCH_TEXT_INDEX + SEARCH_TEXT_LENGTH + REST_AVAILABLE_SPACE / 2\n );\n return '...' + highlightSearchedText(text, searchText) + '...';\n}\n","import type { Store } from 'vuex';\nimport { ServiceTokens } from './tokens';\n\n/**\n * Create a Factory that will provide access to vuex smart module in a class-based service manner.\n *\n * Actually it relies on a dirty assumption that mapXxxx smart vuex functions\n * are bound to Vue Component instance $store field (and it's true).\n */\nexport function createStoreServiceFactory(\n properties: T\n): {\n (store: Store): T;\n readonly inject: readonly [typeof ServiceTokens['BaseStore']];\n} {\n function factory(store: Store) {\n return {\n $store: store,\n ...properties,\n };\n }\n factory.inject = [ServiceTokens.BaseStore] as const;\n return factory;\n}\n","export const ServiceTokens = Object.freeze({\n VueRouter: 'VueRouter',\n BaseStore: 'BaseStore',\n UserDetailsStoreService: 'UserDetailsStoreService',\n OpenInAppStoreService: 'OpenInAppStoreService',\n MobileModeStoreService: 'MobileModeStoreService',\n PlatformResolutionService: 'PlatformResolutionService',\n} as const);\n","import { getCurrentInstance } from 'vue';\nimport type { MainInjector } from '@/di/injector';\n\nexport function useInjector(): MainInjector {\n const vm = getCurrentInstance();\n if (!vm) {\n throw new Error('You must use this function within the \"setup()\" method');\n }\n\n return vm.proxy.$injector;\n}\n","export enum ApiAuthTypes {\n key = 'apikey',\n token = 'platform-token',\n hash = 'hash',\n}\n\nexport type enviromentType = 'staging' | 'production' | 'local';\n\ninterface Environment {\n isProduction: boolean;\n publicPath: string;\n apiBaseUrl: string;\n apiKey?: string;\n apiAuthMode: ApiAuthTypes;\n appBaseUrl?: string;\n applicationInsightsKey?: string;\n appName: string;\n fullstoryOrgId?: string;\n googleMapsApiKey?: string;\n type: enviromentType;\n segmentApiKey: string;\n chargebeeSite: string;\n sentryDsn: string | undefined;\n sentryOrganisation: string | undefined;\n sentryRelease: string | undefined;\n stagingRemoteUrl?: string;\n learningCdnUrl?: string;\n platformDomain?: string;\n sentryTraceSampleRate: number;\n platformHostContext: boolean;\n platformParentDomain: string;\n useIntercom: boolean;\n clientType?: string;\n clientVersion?: string;\n debugNamespaces?: string;\n}\n\nconst environment: Environment = {\n chargebeeSite: process.env.VUE_APP_CHARGEBEE_SITE ?? 'eloomi-eu',\n clientType: process.env.VUE_APP_CLIENT_TYPE,\n clientVersion: process.env.VUE_APP_CLIENT_VERSION,\n isProduction: process.env.NODE_ENV === 'production',\n publicPath: process.env.VUE_APP_PUBLIC_PATH || '/',\n apiBaseUrl: process.env.VUE_APP_API_URL as string,\n apiKey: process.env.VUE_APP_API_KEY,\n apiAuthMode: (process.env.VUE_APP_API_AUTH_TYPE as ApiAuthTypes) || ApiAuthTypes.key,\n appBaseUrl: process.env.VUE_APP_BASE_URL || process.env.STORYBOOK_BASE_URL,\n applicationInsightsKey: (process.env.VUE_APP_INSIGHTS_KEY as string) || undefined,\n appName: 'eloomi-spa-core',\n fullstoryOrgId: process.env.VUE_APP_FULLSTORY_ORG_ID,\n sentryDsn: process.env.VUE_APP_SENTRY_DSN,\n sentryRelease: process.env.VUE_APP_SENTRY_RELEASE,\n googleMapsApiKey: process.env.VUE_APP_GOOGLE_MAPS_API_KEY || process.env.STORYBOOK_GOOGLE_MAPS_API_KEY,\n type: process.env.VUE_APP_ENVIRONMENT_TYPE || 'local',\n segmentApiKey: process.env.VUE_APP_SEGMENT_API || '',\n stagingRemoteUrl: process.env.VUE_APP_STAGING_URL,\n learningCdnUrl: process.env.VUE_APP_LEARNING_CDN_URL,\n sentryOrganisation: 'eloomi',\n platformDomain: process.env.VUE_APP_PLATFORM_DOMAIN,\n platformHostContext: String(process.env?.VUE_APP_PLATFORM_HOST_CONTEXT).toLowerCase() !== 'false',\n platformParentDomain: process.env.VUE_APP_PLATFORM_PARENT_DOMAIN ?? '.eloomi.io',\n sentryTraceSampleRate: sentryTraceSampleRate(),\n useIntercom: String(process.env?.VUE_APP_INTERCOM_ENABLED).toLowerCase() !== 'false',\n debugNamespaces: process.env.VUE_APP_DEBUG_NAMESPACES || '',\n};\n\nfunction sentryTraceSampleRate() {\n if (!process.env.VUE_APP_SENTRY_TRACE_SAMPLE_RATE) {\n console.warn('SENTRY_TRACE_SAMPLE_RATE is not set but expected. Defaulting to 0.');\n return 0;\n }\n\n return parseFloat(process.env.VUE_APP_SENTRY_TRACE_SAMPLE_RATE);\n}\n\nexport default environment;\n","import Vue from 'vue';\nimport VueRouter from 'vue-router';\nimport { Store } from 'vuex';\nimport notificationStore from '@/common/components/toast/store';\nimport translationsStore from '@/translations/store';\nimport { EntityNotFoundEndpointError } from '@/authentication/services/errors';\nimport { DEFAULT_PAGE_LOCATION } from '@/authentication/services/locations';\n\nexport function handleEndpointError(router: VueRouter, store: Store) {\n Vue.config.errorHandler = async function (err) {\n if (err instanceof EntityNotFoundEndpointError) {\n await router.push(DEFAULT_PAGE_LOCATION);\n notificationStore.context(store).actions.showDelayedNotification({\n theme: 'warning',\n message: translationsStore.context(store).getters.trans('spa.navigation.sections.page-not-found'),\n duration: 3000,\n });\n }\n };\n}\n","import { EntityNotFoundEndpointError } from '@/authentication/services/errors';\n\nexport function throwNotFoundError(): never {\n throw new EntityNotFoundEndpointError();\n}\n","import { PREFIX_IN_BROWSER_TAB } from '@/common/platform-configuration/global-variables';\nimport { RouteConfig } from 'vue-router';\nimport PlanFeaturesList from '@/plan-features/plan-features-list';\nimport { checkIfRouteAvailableByPlanFeatures } from '@/plan-features/routes';\nimport { CoursesRouteNames } from '@/courses/route-definitions';\n\nconst EVENT_OVERVIEW_PAGE = () => import('./pages/EventOverviewPage.vue');\n\nexport const enum EventsRoutesNames {\n EVENT_OVERVIEW = 'event_overview',\n}\n\nconst routes: RouteConfig[] = [\n {\n path: `events/:event_id(\\\\d+)/overview`,\n name: EventsRoutesNames.EVENT_OVERVIEW,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Event`,\n defaultBackRoute: CoursesRouteNames.COURSES_DASHBOARD,\n },\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.EVENTS),\n component: EVENT_OVERVIEW_PAGE,\n },\n];\n\nexport default routes;\n","import environment from './environment';\nimport * as FullStory from '@fullstory/browser';\n\nlet isInitialized = false;\nexport function initializeFullstory() {\n if (isInitialized) return;\n\n if (environment.fullstoryOrgId) {\n FullStory.init({ orgId: environment.fullstoryOrgId as string });\n }\n\n isInitialized = true;\n}\n","export enum AppFeaturesList {\n API_TOKENS = 'api-tokens',\n BROWSER_NOTIFICATIONS = 'browser-notifications',\n CHARGEBEE_PORTAL = 'chargebee-portal',\n CONTENT_STORE_BANNER = 'content-marketplace-banner',\n CONTENT_STORE_POC = 'content-marketplace-poc',\n EVENTS_MANAGEMENT = 'events-management',\n FREE_TRIAL_NOTIFICATION_LOGIC_REFACTOR = 'free-trial-notification-logic-refactor',\n GROUPS_REPORTING_MANAGER = 'groups-reporting-manager',\n LANGUAGE_SELECTOR = 'language-selector',\n MERGE_INTEGRATION = 'merge-integration',\n NOTIFICATIONS = 'notifications',\n PLATFORM_LOGIN = 'platform-login',\n SSO_ON_ANDROID = 'sso-on-android',\n QUIZ_PAGE_SETTINGS = 'quiz-page-settings',\n MERGE_INTEGRATION_SUPPORTED_PLATFORMS = 'merge-integration-supported-platforms',\n COURSE_BUILDER_REWORK = 'course-builder-rework',\n}\n","import { FeatureTogglesMap } from '@/launch-darkly/models';\n\nconst CACHE_KEY = 'feature-toggles';\n\nexport function getCachedFeaturesToggleData() {\n const cachedData = localStorage.getItem(CACHE_KEY);\n\n return cachedData !== null ? (JSON.parse(cachedData) as FeatureTogglesMap) : null;\n}\n\nexport function cacheFeaturesToggleData(data: FeatureTogglesMap) {\n const stringify = JSON.stringify(data);\n\n return localStorage.setItem(CACHE_KEY, stringify);\n}\n\nexport function clearFeaturesToggleDataFromLocalStorage() {\n localStorage.removeItem(CACHE_KEY);\n}\n","import { UserPermissionsApiFactory } from '@eloomi/eloomi-users-persona-client/1.0';\nimport { authorizeClient } from '@/api/http-client';\nimport environment from '@/environment';\n\nimport { AppFeaturesList, FeatureTogglesMap } from '../models';\nimport { getClientType } from '@/common/services/get-device-platform';\n\nconst userAdminPersonaApiClient = authorizeClient(UserPermissionsApiFactory);\n\nexport function getFeaturesState() {\n const clientType = getClientType();\n const featureList = Object.values(AppFeaturesList);\n\n return userAdminPersonaApiClient\n .getUserPermissions(featureList, environment.clientVersion, clientType)\n .then(({ data: flags }) => {\n const featureMapping = Object.fromEntries(\n featureList.map(key => [\n key,\n {\n value: false,\n data: null,\n },\n ])\n );\n\n flags.forEach(({ feature_name, value, data }) => {\n if (feature_name && featureMapping[feature_name]) {\n featureMapping[feature_name].value = Boolean(value);\n featureMapping[feature_name].data = data;\n }\n });\n return featureMapping as FeatureTogglesMap;\n });\n}\n","import environment from '@/environment';\nimport { FeatureTogglesMap } from '@/launch-darkly/models';\n\ndeclare global {\n interface Window {\n getPredefinedFeatureToggles?(): Promise;\n }\n}\n\nexport const PREDEFINED_FEATURE_TOGGLES_KEY = 'predefined_feature_toggles';\n\nfunction getFeatureTogglesFromLocalStorage(): FeatureTogglesMap {\n try {\n const value = localStorage.getItem(PREDEFINED_FEATURE_TOGGLES_KEY);\n if (!value) return {};\n\n return JSON.parse(value);\n } catch (error) {\n return {};\n }\n}\n\nasync function getFeatureTogglesFromWindow(): Promise {\n return window.getPredefinedFeatureToggles ? window.getPredefinedFeatureToggles() : {};\n}\n\nexport async function getPredefinedFeatureToggles(): Promise {\n if (environment.type === 'production') return {};\n\n const featureTogglesFromStorage = getFeatureTogglesFromLocalStorage();\n const featureTogglesFromWindow = await getFeatureTogglesFromWindow();\n\n return { ...featureTogglesFromStorage, ...featureTogglesFromWindow };\n}\n","import { Actions, createComposable, createMapper, Getters, Module, Mutations } from 'vuex-smart-module';\nimport { withSentry } from '@/sentry';\nimport { cacheFeaturesToggleData, getCachedFeaturesToggleData } from '@/launch-darkly/services';\nimport { launchDarklyProvider } from '@/launch-darkly/api';\nimport { AppFeaturesList, FeatureTogglesMap } from '@/launch-darkly/models';\nimport { Vue } from 'vue-property-decorator';\nimport { getPredefinedFeatureToggles } from '@/launch-darkly/services/predefined-feature-toggles';\n\nclass State {\n public enabledFeatures: FeatureTogglesMap = {};\n public launchDarklyInitialized = false;\n public launchDarklyFeaturesList = AppFeaturesList;\n public initPromise: Promise | null = null;\n}\n\nclass StoreGetters extends Getters {\n public checkIfLaunchDarklyFeatureEnabled(featureName: AppFeaturesList) {\n return Boolean(this.state.enabledFeatures[featureName]?.value);\n }\n\n public getLaunchDarklyFeatureData(featureName: AppFeaturesList) {\n return this.state.enabledFeatures[featureName]?.data || null;\n }\n}\n\nexport class StoreActions extends Actions {\n public async loadAllFeatureAvailable() {\n const cachedData = getCachedFeaturesToggleData();\n\n if (cachedData !== null) {\n this.mutations.setFeatureAvailability(cachedData);\n }\n\n const featuresList = await launchDarklyProvider.getFeaturesState();\n const featuresListOverrides = await getPredefinedFeatureToggles();\n\n const finalFeaturesList = { ...featuresList, ...featuresListOverrides };\n\n this.mutations.setFeatureAvailability(finalFeaturesList);\n\n cacheFeaturesToggleData(finalFeaturesList);\n }\n\n public async initializeLaunchDarkly() {\n if (!this.state.initPromise) {\n this.state.initPromise = this.actions.loadAllFeatureAvailable();\n }\n return this.state.initPromise;\n }\n}\n\nclass StoreMutations extends Mutations {\n public setFeatureAvailability(featureState: FeatureTogglesMap) {\n this.state.enabledFeatures = {\n ...this.state.enabledFeatures,\n ...featureState,\n };\n this.state.launchDarklyInitialized = true;\n withSentry(s => {\n s.setContext('featureAvailability', this.state.enabledFeatures);\n });\n }\n}\n\nconst launchDarklyFeatureStore = new Module({\n state: State,\n mutations: StoreMutations,\n actions: StoreActions,\n getters: StoreGetters,\n});\n\nexport const useLaunchDarklyFeatureStore = createComposable(launchDarklyFeatureStore);\n\nexport default launchDarklyFeatureStore;\nexport const launchDarklyFeatureStoreMapper = createMapper(launchDarklyFeatureStore);\n\nexport const LaunchDarklyFeaturesMappedStore = Vue.extend({\n computed: {\n ...launchDarklyFeatureStoreMapper.mapState(['launchDarklyFeaturesList']),\n ...launchDarklyFeatureStoreMapper.mapGetters(['checkIfLaunchDarklyFeatureEnabled']),\n },\n methods: {\n ...launchDarklyFeatureStoreMapper.mapActions(['initializeLaunchDarkly']),\n },\n});\n","import { ApplicationInsights, DistributedTracingModes, ITelemetryItem } from '@microsoft/applicationinsights-web';\nimport environment from './environment';\nimport httpStore from '@/common/store/http';\nimport baseStore from '@/main/baseStore';\nimport userStore from '@/common/store/user-details/store';\n\nif (environment.applicationInsightsKey) {\n const appInsights = new ApplicationInsights({\n config: {\n instrumentationKey: environment.applicationInsightsKey,\n loggingLevelTelemetry: 2,\n enableAutoRouteTracking: true,\n distributedTracingMode: DistributedTracingModes.AI_AND_W3C,\n disableInstrumentationKeyValidation: true,\n enableCorsCorrelation: true,\n correlationHeaderDomains: ['*.eloomi.com'],\n },\n });\n\n appInsights.loadAppInsights();\n\n const telemetryInitializer = (envelope: ITelemetryItem) => {\n if (envelope?.baseData?.responseCode >= 500) {\n const traceId = envelope?.ext?.trace?.traceID ?? 'unknown';\n httpStore.context(baseStore).mutations.setLastError(traceId);\n }\n\n let dataToSend = {\n ServiceName: environment.appName,\n };\n\n const userDetailsStoreModule = userStore.context(baseStore);\n const userId = userDetailsStoreModule.state.appInsightsPlatformData?.userId;\n const platformId = userDetailsStoreModule.state.appInsightsPlatformData?.platformId;\n\n if (userId !== undefined) {\n dataToSend = {\n ...dataToSend,\n ...{\n UserId: userId,\n },\n };\n }\n\n if (platformId !== undefined) {\n dataToSend = {\n ...dataToSend,\n ...{\n PlatformId: platformId,\n },\n };\n }\n\n envelope.data = { ...dataToSend };\n };\n\n appInsights.addTelemetryInitializer(telemetryInitializer);\n appInsights.trackPageView();\n}\n","import * as FullStory from '@fullstory/browser';\n\nimport environment from '@/environment';\nimport { initializeFullstory } from '@/fullstory';\n\ninterface SnippetOptions {\n orgId: string;\n namespace?: string;\n debug?: boolean;\n host?: string;\n script?: string;\n recordCrossDomainIFrames?: boolean;\n recordOnlyThisIFrame?: boolean; // see README for details\n devMode?: boolean;\n}\n\ninterface UserVars {\n displayName?: string;\n email?: string;\n [key: string]: any;\n}\n\ntype LogLevel = 'log' | 'info' | 'warn' | 'error' | 'debug';\n\ndeclare module 'vue/types/vue' {\n interface Vue {\n $FullStory: {\n anonymize(): void;\n consent(userConsents?: boolean): void;\n event(eventName: string, eventProperties: { [key: string]: any }): void;\n identify(uid: string, customVars?: UserVars): void;\n init(options: SnippetOptions): void;\n log(level: LogLevel, msg: string): void;\n log(msg: string): void;\n restart(): void;\n setUserVars(customVars: UserVars): void;\n shutdown(): void;\n };\n }\n}\n\nexport default {\n install(Vue: any) {\n if (environment.fullstoryOrgId) {\n initializeFullstory();\n Vue.prototype.$FullStory = FullStory;\n }\n },\n};\n","export default {\n install(vue: any) {\n vue.directive('style-background-primary', {\n bind(el: any) {\n el.style.background = 'red';\n },\n });\n\n vue.directive('style-color-primary', {\n bind(el: any) {\n el.style.color = '#40bbea';\n },\n });\n },\n};\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreCardLayout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreCardLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CoreCardLayout.vue?vue&type=template&id=41dcaf90&scoped=true&\"\nimport script from \"./CoreCardLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./CoreCardLayout.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CoreCardLayout.vue?vue&type=style&index=0&id=41dcaf90&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"41dcaf90\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card-wrapper\"},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex-full-width-layout\",style:({ flexDirection: _vm.direction })},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreFlexFullWidthLayout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CoreFlexFullWidthLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CoreFlexFullWidthLayout.vue?vue&type=template&id=569d09f0&scoped=true&\"\nimport script from \"./CoreFlexFullWidthLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./CoreFlexFullWidthLayout.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CoreFlexFullWidthLayout.vue?vue&type=style&index=0&id=569d09f0&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"569d09f0\",\n null\n \n)\n\nexport default component.exports","import CoreMainLayout from '@/common/layouts/CoreMainLayout.vue';\nimport CoreCardLayout from '@/common/layouts/CoreCardLayout.vue';\nimport CoreFlexFullWidthLayout from '@/common/layouts/CoreFlexFullWidthLayout.vue';\n\nexport default {\n install(vue: any) {\n vue.component('CoreMainLayout', CoreMainLayout);\n vue.component('CoreCardLayout', CoreCardLayout);\n vue.component('CoreFlexFullWidthLayout', CoreFlexFullWidthLayout);\n },\n};\n","import stylesPlugin from '@/common/plugins/styles';\nimport commonLayouts from '@/common/plugins/commonLayouts';\n\nexport default {\n install(vue: any) {\n vue.use(stylesPlugin);\n vue.use(commonLayouts);\n },\n};\n","import { PluginObject } from 'vue';\nimport VueRouter, { RawLocation, Route } from 'vue-router';\n\ninterface RouteEntry {\n key: string;\n route: Route;\n}\n\ninterface HistoryState {\n key: string;\n}\n\nexport interface RouteStack {\n routeEntryList: Array;\n back(fallbackLocation: RawLocation): void;\n getPreviousRoute(): Route | null;\n resolvePreviousLocationHref(fallbackLocation?: RawLocation): Route;\n}\n\nconst RouteStackManager = {\n createPlugin(router: VueRouter): PluginObject {\n return {\n install(Vue) {\n const reactiveRouteStack = Vue.observable({\n routeEntryList: [],\n back(fallbackLocation: RawLocation) {\n const previousRoute = this.getPreviousRoute();\n if (previousRoute) {\n router.back();\n } else {\n reactiveRouteStack.routeEntryList = [];\n router.replace(fallbackLocation);\n }\n },\n getPreviousRoute(): Route | null {\n if (this.routeEntryList.length < 2) return null;\n\n const previousRouteEntry = this.routeEntryList[this.routeEntryList.length - 2];\n return previousRouteEntry ? previousRouteEntry.route : null;\n },\n resolvePreviousLocationHref(fallbackLocation: RawLocation): Route {\n const previousRoute = this.getPreviousRoute();\n return previousRoute ? previousRoute : router.resolve(fallbackLocation).route;\n },\n });\n\n router.afterEach(to => {\n /** Initial route has no state */\n const historyState: HistoryState = history.state || { key: 'initial' };\n\n /** `key` is provided by `vue-router`. It's unique for routes */\n const newEntry: RouteEntry = { key: historyState.key, route: to };\n\n const foundIndex = reactiveRouteStack.routeEntryList.findIndex(\n routeEntry => routeEntry.key === newEntry.key\n );\n\n const isRouteVisitedBefore = foundIndex !== -1;\n\n if (isRouteVisitedBefore) {\n reactiveRouteStack.routeEntryList = reactiveRouteStack.routeEntryList.slice(0, foundIndex);\n }\n\n reactiveRouteStack.routeEntryList.push(newEntry);\n });\n\n Vue.prototype.$routeStack = reactiveRouteStack;\n },\n };\n },\n};\n\nexport default RouteStackManager;\n","import Vue from 'vue';\nimport { TextField } from '@eloomi/components';\n\nVue.directive('elm-model', {\n bind(element, binding, vnode) {\n const inputHandler = (event: Event) => {\n const fieldName = binding.expression;\n\n if (vnode.context && fieldName) {\n vnode.context.$data[fieldName] = (event.target as TextField).value;\n }\n };\n\n if (binding.value) {\n element.setAttribute('value', binding.value);\n } else {\n element.removeAttribute('value');\n }\n\n element.addEventListener('elm-input', inputHandler);\n },\n});\n","import type { PluginObject } from 'vue';\nimport type { Injector } from 'typed-inject';\nimport type { MainInjector } from '@/di/injector';\n\ndeclare module 'vue/types/vue' {\n interface Vue {\n $injector: MainInjector;\n }\n}\n\nexport default {\n install(Vue, injector: Injector) {\n Vue.prototype.$injector = injector;\n },\n} as PluginObject>;\n","import { clearBrandingDataFromLocalStorage, restoreDefaultDesignSystemColorsWithBranding } from '@/common/services';\nimport { clearFeaturesToggleDataFromLocalStorage } from '@/launch-darkly/services';\n\nimport { ServiceTokens } from '@/di/tokens';\n\nexport interface StoreCleaner {\n clearUserDetails(): void;\n}\n\nexport class ResetSessionDataService {\n public static inject = [ServiceTokens.UserDetailsStoreService] as const;\n\n public constructor(private readonly storeCleaner: StoreCleaner) {}\n\n reset() {\n this.resetUserData();\n this.resetFeaturesToggleData();\n this.resetBrandingData();\n }\n\n resetUserData() {\n this.storeCleaner.clearUserDetails();\n }\n\n resetFeaturesToggleData() {\n clearFeaturesToggleDataFromLocalStorage();\n }\n\n resetBrandingData() {\n clearBrandingDataFromLocalStorage();\n restoreDefaultDesignSystemColorsWithBranding();\n }\n}\n","import type VueRouter from 'vue-router';\nimport type { NavigationGuardNext, Route } from 'vue-router';\n\nimport { ErrorRouteNames } from '@/main/errorRoutes';\nimport { ServiceTokens } from '@/di/tokens';\n\nimport type { RouteWithPermissions, Permission } from '../domain';\nimport { Router, RouteHandler } from '../use-cases/ports';\n\nexport function vueRouteToRouteWithPermissions(vueRoute: Route): RouteWithPermissions {\n const permissions = new Set();\n\n const addToPermissions = (permissionArray: string[]) =>\n permissionArray.forEach(permission => permissions.add(permission as Permission));\n\n vueRoute.matched.forEach(vueRouteRecord => {\n if (Array.isArray(vueRouteRecord.meta.requiredPermissions)) {\n addToPermissions(vueRouteRecord.meta.requiredPermissions);\n }\n });\n\n addToPermissions(vueRoute.meta?.requiredPermissions ?? []);\n\n return {\n requiredPermissions: [...permissions],\n };\n}\n\nexport class VueRouterAdapter implements Router {\n public static inject = [ServiceTokens.VueRouter] as const;\n\n public constructor(private readonly router: VueRouter) {}\n\n public addBeforeEachRouteHandler(handler: RouteHandler) {\n this.router.beforeEach((vueRoute, _, goNext) => {\n const route = vueRouteToRouteWithPermissions(vueRoute);\n return handler(route, goNext);\n });\n }\n\n public handle404(goNext: NavigationGuardNext) {\n /**\n * Workaround with `params` for the vur-router error\n * @see https://github.com/vuejs/vue-router/issues/724\n */\n goNext({ name: ErrorRouteNames.NOT_FOUND, params: { '0': '' } });\n }\n}\n","import { ServiceTokens as BaseTokens } from '@/di/tokens';\nimport type { UserDetailsStoreService } from '@/common/store/user-details/store';\nimport type { UserProfile } from '@/common/interfaces';\n\nimport { AnonymousUser, UserWithPermissions } from '../domain';\nimport { UserWithPermissionsProvider } from '../use-cases/ports';\nimport { makeLogger } from '@/common/services';\nimport axios from 'axios';\n\n/**\n * This class provides an access to current user profile via vuex store module service.\n */\nexport class UserProfileStoreProviderAdapter implements UserWithPermissionsProvider {\n public static inject = [BaseTokens.UserDetailsStoreService] as const;\n private log = makeLogger('user-profile-store-provider-adapter');\n\n public constructor(private readonly userProfileStore: UserDetailsStoreService) {}\n\n public async getCurrentUser(): Promise {\n try {\n const user = (await this.userProfileStore.loadUserProfile()) as UserProfile | null;\n return new UserWithPermissions(user?.permissions ?? []);\n } catch (error) {\n if (axios.isAxiosError(error) && error.response?.status === 403) {\n this.log(\n `unable to get authenticated user profile` +\n `, falling back to anonymous since user profile is forbidden`\n );\n return new AnonymousUser();\n }\n throw error;\n }\n }\n}\n","import { createInjector } from 'typed-inject';\nimport baseRouter from '@/main/baseRouter';\nimport baseStore from '@/main/baseStore';\nimport { ServiceTokens } from './tokens';\nimport { UserDetailsStoreServiceFactory } from '@/common/store/user-details/store';\nimport type { GetInjectionContext } from './types';\n\nexport const baseInjector = createInjector()\n .provideValue(ServiceTokens.VueRouter, baseRouter)\n .provideValue(ServiceTokens.BaseStore, baseStore)\n .provideFactory(ServiceTokens.UserDetailsStoreService, UserDetailsStoreServiceFactory);\n\nexport type BaseInjectionContext = GetInjectionContext;\nexport type BaseInjector = typeof baseInjector;\n","import { flow } from 'lodash';\n\nimport { provideAuthenticationServices } from '@/authentication/di';\nimport { providePermissionServices } from '@/permissions/di';\n\nimport { ServiceTokens } from './tokens';\nimport { baseInjector } from './base-injector';\nimport type { GetInjectionContext } from './types';\n\nconst mainInjector = flow(provideAuthenticationServices, providePermissionServices)(baseInjector);\n\nexport type MainInjector = typeof mainInjector;\nexport type MainInjectionContext = GetInjectionContext;\n\nexport { mainInjector, ServiceTokens };\n","import { Injector, Scope } from 'typed-inject';\n\nimport { authorizeClient } from '@/api/http-client';\nimport { JwtApiFactory } from '@eloomi/eloomi-users-persona-client/1.0';\nimport { PlatformResolutionService } from '@/common/services';\nimport type { BaseInjectionContext } from '@/di/base-injector';\n\nimport {\n JWTAuthenticationService,\n VueRouterRedirectionService,\n JWTLoginSessionManager,\n ActivateUserService,\n ForgotPasswordService,\n ResetPasswordService,\n} from './services';\nimport { ResetSessionDataService } from './services/reset-session-data';\n\nimport { AuthenticationServiceTokens as Tokens } from './di-tokens';\nimport { AuthFlowStoreServiceFactory } from './store';\nimport { LogoutUseCase } from './use-cases';\n\nexport function provideAuthenticationServices(baseInjector: Injector) {\n return (\n baseInjector\n .provideClass(Tokens.PlatformResolutionService, PlatformResolutionService)\n .provideClass(Tokens.AuthenticationService, JWTAuthenticationService)\n .provideClass(Tokens.SessionManager, JWTLoginSessionManager)\n .provideClass(Tokens.ResetSessionDataService, ResetSessionDataService)\n .provideClass(Tokens.RedirectService, VueRouterRedirectionService)\n .provideFactory(Tokens.SessionApiClient, () => authorizeClient(JwtApiFactory))\n .provideClass(Tokens.ActivateUserService, ActivateUserService)\n .provideClass(Tokens.ForgotPasswordService, ForgotPasswordService)\n .provideClass(Tokens.ResetPasswordService, ResetPasswordService)\n .provideClass(Tokens.LogoutUseCase, LogoutUseCase)\n\n // Since Auth flow store is a dynamic vuex module it make sense to make scope to be not Singleton\n .provideFactory(Tokens.AuthFlowStoreService, AuthFlowStoreServiceFactory, Scope.Transient)\n );\n}\n\nexport { Tokens as AuthenticationServiceTokens };\n","import { Injector } from 'typed-inject';\n\nimport type { BaseInjectionContext } from '@/di/base-injector';\n\nimport { VueRouterAdapter } from './services/vue-router-adapter';\nimport { UserProfileStoreProviderAdapter } from './services/user-profile-provider';\nimport { PermissionsServiceTokens as Tokens } from './di-tokens';\n\nexport function providePermissionServices(baseInjector: Injector) {\n return baseInjector\n .provideClass(Tokens.RouterAdapter, VueRouterAdapter)\n .provideClass(Tokens.UserProfileProvider, UserProfileStoreProviderAdapter);\n}\n\nexport { Tokens as PermissionsServiceTokens };\n","import { round } from 'lodash-es';\n\n/**\n * Inspired by {@link https://css-tricks.com/the-trick-to-viewport-units-on-mobile/}\n */\n\nclass ViewHeightCorrector {\n private prevVh = 0;\n\n public init() {\n this.updateVhProperty();\n\n window.addEventListener('resize', () => this.updateVhProperty());\n }\n\n private updateVhProperty() {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n const vh = round(document.documentElement.clientHeight * 0.01, 2);\n if (this.prevVh !== vh) {\n this.prevVh = vh;\n document.documentElement.style.setProperty('--vh', `${vh}px`);\n }\n });\n });\n }\n}\n\nexport const viewHeightCorrector = new ViewHeightCorrector();\n","\n\n\n","import mod from \"-!../node_modules/swc-loader/src/index.js!../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/swc-loader/src/index.js!../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=77689561&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('LoginPageLayout',[_c('AuthenticationFlowPanel',{attrs:{\"title\":_vm.trans('spa.authentication.platform-not-found.title'),\"description\":_vm.trans('spa.authentication.platform-not-found.description', { domain: _vm.platformDomain }),\"centerVertically\":true}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PlatformNotFoundPage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PlatformNotFoundPage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PlatformNotFoundPage.vue?vue&type=template&id=ee499b86&\"\nimport script from \"./PlatformNotFoundPage.vue?vue&type=script&lang=ts&\"\nexport * from \"./PlatformNotFoundPage.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { App } from '@capacitor/app';\nimport type VueRouter from 'vue-router';\nimport { convertUrlToLocation } from '@/common/services/convert-url-to-location';\nimport type { PlatformResolutionService } from '@/common/services/platform-resolution';\nimport { makeLogger } from '@/common/services';\nimport { APP_SCHEME } from '@/common/constants/app-scheme';\n\nconst log = makeLogger('mobile', 'deep-link');\n\nfunction getDomainFromUrl(url: string) {\n try {\n return new URL(url).hostname;\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Since URL() constructor doesn't support custom schemes well we have to put in something more suitable.\n */\nfunction prepareUrl(url: string) {\n return url.replace(APP_SCHEME, 'https://');\n}\n\nexport function subscribeForDeepLinkOpen(router: VueRouter, platformResolutionService: PlatformResolutionService) {\n App.addListener('appUrlOpen', function deepLinkCallback(event) {\n log('appUrlOpen fired', event);\n\n const url = prepareUrl(event.url);\n const openUrlDomain = getDomainFromUrl(url);\n const location = convertUrlToLocation(url);\n\n if (location && openUrlDomain !== null) {\n platformResolutionService.forceSetPlatformDomain(openUrlDomain);\n router.push(location);\n log('going to set platform and push location', openUrlDomain, location);\n }\n });\n}\n","import './ai';\n\nimport 'focus-visible';\nimport 'billboard.js/dist/billboard.css';\nimport 'billboard.js/dist/theme/graph.css';\nimport '../styles/static.less';\nimport 'swiper/css/bundle';\nimport 'billboard.js/dist/theme/graph.min.css';\nimport '@eloomi/design-tokens/build/base.css';\nimport '@eloomi/design-tokens/build/colors.css';\nimport '@eloomi/design-tokens/build/spacings.css';\nimport '@eloomi/design-tokens/build/text-styles.css';\nimport '@eloomi/design-tokens/build/border-radius.css';\nimport '@eloomi/components/button';\n\nimport FullStory from './plugins/fullstory.plugin';\nimport InfiniteLoading from 'vue-infinite-loading';\nimport PortalVue from 'portal-vue';\nimport VCalendar from 'v-calendar';\nimport VTooltip from 'v-tooltip';\nimport Vue from 'vue';\nimport VueLazyload from 'vue-lazyload';\nimport VueTippy from 'vue-tippy';\nimport commonPlugin from './common/plugins';\nimport router from './main/baseRouter';\nimport store from './main/baseStore';\nimport RouteStackManager from '@/plugins/route-stack.plugin';\nimport { enableHttpRetryMechanism } from '@/api/config';\nimport httpClient from '@/api/http-client';\nimport { enableInfiniteAuthMiddleware } from '@/authentication/controllers';\nimport environment, { ApiAuthTypes } from '@/environment';\nimport { handleEndpointError } from '@/errorHandler';\nimport { initializeSentry } from '@/sentry';\nimport '@/common/directives/custom-model';\nimport { assignCapacitorPlatformDataAttribute } from '@/common/services/capacitor-css';\nimport detectBrowser from '@/common/services/detect-browser';\nimport DependencyInjectorPlugin from './plugins/injector.plugin';\nimport { mainInjector } from '@/di/injector';\nimport { viewHeightCorrector } from '@/common/services/correct-view-height';\nimport { installPermissionsRouteGuard } from './permissions/controllers';\nimport { AuthenticationServiceTokens } from '@/authentication/di-tokens';\nimport { renderApp } from '@/render-app';\nimport { initPushNotifications } from '@/notifications/services/push-notifications';\nimport { enableDebugForNamespacesFromEnv } from '@/common/services';\nimport { subscribeForDeepLinkOpen } from '@/common/services/subscribe-for-deep-link-open';\n\nenableDebugForNamespacesFromEnv();\n\nVue.config.productionTip = false;\n\n/**\n * Assign platform data attribute to body tag\n */\nassignCapacitorPlatformDataAttribute();\n\n/**\n * Configure a JWT token injection, HTTP 403 error handling & route transition checks\n */\nif (environment.apiAuthMode === ApiAuthTypes.token) {\n enableInfiniteAuthMiddleware(httpClient, router, mainInjector);\n}\n\n/**\n * Install user permissions route guard\n */\ninstallPermissionsRouteGuard(mainInjector);\n\nVue.use(DependencyInjectorPlugin, mainInjector);\nVue.use(commonPlugin);\nVue.use(FullStory);\nVue.use(VueTippy, {\n directive: 'tippy',\n theme: 'eloomi',\n placement: 'bottom',\n onShow: options => Boolean(options.props.content),\n});\n\nVue.use(VTooltip);\nVue.use(VueLazyload);\n\nVue.use(InfiniteLoading, {\n slots: {\n noMore: '',\n noResults: '',\n error: '',\n },\n system: {\n throttle: 200,\n },\n});\nVue.use(VCalendar, {\n componentPrefix: 'vc',\n});\nVue.use(PortalVue);\nVue.use(RouteStackManager.createPlugin(router));\n\ninitializeSentry(router);\n\nviewHeightCorrector.init();\n\nenableHttpRetryMechanism(httpClient);\nhandleEndpointError(router, store);\ndetectBrowser();\n\nconst platformResolutionService = mainInjector.resolve(AuthenticationServiceTokens.PlatformResolutionService);\n\nplatformResolutionService.resolvePlatform().then(isPlatformFound => {\n renderApp({ isPlatformFound });\n});\n\nsubscribeForDeepLinkOpen(router, platformResolutionService);\ninitPushNotifications(router);\n","import { Capacitor } from '@capacitor/core';\n\n/**\n * Assign Capacitor platform data attribute to body tag.\n *\n * Possible cases are:\n * - data-platform=\"ios\"\n * - data-platform=\"android\"\n * - data-platform=\"web\"\n */\nexport function assignCapacitorPlatformDataAttribute() {\n document.body.dataset.platform = Capacitor.getPlatform();\n}\n","import { AxiosInstance } from 'axios';\nimport VueRouter from 'vue-router';\n\nimport {\n JWTLoginSessionManager,\n AxiosSessionInjector,\n VueRouteTransitionGuardService,\n VueRouterRedirectionService,\n AxiosAccessDeniedErrorHandler,\n} from '../services';\n\nimport { Route, NavigationGuardNext } from 'vue-router';\nimport { MainInjector } from '@/di/injector';\nimport { AuthenticationServiceTokens } from '@/authentication/di-tokens';\n\nexport function enableInfiniteAuthMiddleware(httpClient: AxiosInstance, router: VueRouter, injector: MainInjector) {\n const platformService = injector.resolve(AuthenticationServiceTokens.PlatformResolutionService);\n const sessionManager = new JWTLoginSessionManager();\n const sessionInjector = new AxiosSessionInjector(httpClient, sessionManager);\n const redirectService = new VueRouterRedirectionService(router);\n const accessDeniedErrorHandler = new AxiosAccessDeniedErrorHandler(httpClient);\n\n sessionInjector.install();\n\n /**\n * For each of the application pages that requires authorization\n * we want to check if a user is allowed to visit it.\n */\n router.beforeEach((to, _from, next) => {\n checkIfNavigationAllowed(to, next);\n });\n\n /**\n * Enable automatic session refresher.\n * If it can't refresh a session it will call a dedicated error handler callback.\n *\n * And it also works as an active session validator\n */\n sessionManager.setSessionRefreshErrorHandler(() => {\n // We may appear somewhere in route transition like\n // / → /app/courses\n // or /app/courses → /app/login\n // or whatever...\n // so current route may be updated later and we have to ensure that no transition will happen anymore...\n router.onReady(() => {\n if (redirectService.isAuthRequiredForCurrentRoute()) {\n platformService.forceSsoAutomaticLoginEnabled(false);\n redirectService.redirectToLoginPage(true);\n }\n });\n });\n sessionManager.resumeAutoRefresh();\n\n accessDeniedErrorHandler.install(() => {\n // It is mandatory as we changed user deletion and deactivation process (e.g. kong jwt and/or consumers removal, session revoking)\n sessionManager.forceSessionRefresh();\n return true;\n });\n}\n\n/**\n * For each of the application pages that requires authorization\n * we want to check if a user is allowed to visit it.\n */\nfunction checkIfNavigationAllowed(routeTo: Route, goNext: NavigationGuardNext) {\n const sessionManager = new JWTLoginSessionManager();\n const guardService = new VueRouteTransitionGuardService(routeTo, goNext);\n\n if (guardService.isAuthRequiredForTargetRoute() && !sessionManager.isLoggedIn()) {\n guardService.changeTransitionToLoginPage();\n return;\n }\n\n if (guardService.isTargetRouteForUnauthorizedOnly() && sessionManager.isLoggedIn()) {\n guardService.changeTransitionToDefaultPage();\n return;\n }\n\n guardService.acceptCurrentTransition();\n}\n","import { AxiosInstance } from 'axios';\nimport * as axiosRetry from 'retry-axios';\n\nimport httpStore from '@/common/store/http';\nimport baseStore from '@/main/baseStore';\n\nconst RETRIES_COUNT = 3;\n\nexport function enableHttpRetryMechanism(httpClient: AxiosInstance) {\n httpClient.defaults.raxConfig = {\n instance: httpClient,\n retry: RETRIES_COUNT,\n retryDelay: 1000,\n httpMethodsToRetry: ['GET'],\n statusCodesToRetry: [[500, 599]],\n onRetryAttempt: err => {\n const { currentRetryAttempt } = axiosRetry.getConfig(err) ?? { currentRetryAttempt: 0 };\n\n httpStore\n .context(baseStore)\n .mutations.setRetryingHttpState(\n Boolean(currentRetryAttempt && currentRetryAttempt > 0 && currentRetryAttempt < RETRIES_COUNT)\n );\n },\n };\n axiosRetry.attach(httpClient);\n}\n","import { UAParser } from 'ua-parser-js';\nimport { wordsToKebab } from '@/common/services/utils';\n\nexport default function () {\n const parser = new UAParser();\n const os = parser.getOS();\n const browser = parser.getBrowser();\n\n if (browser.name && !document.body.dataset.browser) {\n document.body.dataset.browser = wordsToKebab(browser.name);\n }\n if (os.name && !document.body.dataset.os) {\n document.body.dataset.os = wordsToKebab(os.name);\n }\n}\n","import Vue from 'vue';\nimport router from '@/main/baseRouter';\nimport store from '@/main/baseStore';\nimport App from '@/App.vue';\nimport PlatformNotFoundPage from '@/authentication/page/PlatformNotFoundPage.vue';\n\nexport function renderApp(params: { isPlatformFound: boolean }) {\n const elementSelector = '#app';\n\n if (params.isPlatformFound) {\n new Vue({\n router,\n store,\n render: create => create(App),\n }).$mount(elementSelector);\n } else {\n new Vue({\n store,\n render: create => create(PlatformNotFoundPage),\n }).$mount(elementSelector);\n }\n}\n","import { RouteConfig } from 'vue-router';\n\nconst adminRootPage = () => import('./pages/AdminRootPage.vue');\n\nimport AdministrationCourseRoutes from '@/admin/courses/routes';\nimport AdministrationBillingRoutes from '@/admin/billing/routes';\nimport AdministrationEventRoutes from '@/admin/events/routes';\nimport AdministrationUsersRoutes from '@/admin/users/routes';\nimport { adminReportRoutes } from '@/reporting/routes';\nimport topicsAdminRoutes from '@/admin/topics/routes';\nimport groupsAdminRoutes from '@/admin/groups/routes';\nimport playlistsAdminRoutes from '@/admin/playlists/routes';\nimport AdminSkillsRoutes from '@/admin/skills/routes';\nimport AdministrationSettingsRoutes from '@/admin/settings/routes';\nimport AdministrationApiRoutes from '@/admin/api-tokens/routes';\n\nexport const enum AdminRoutes {\n ROOT_ADMIN = 'root_admin',\n}\n\nconst routes: RouteConfig[] = [\n {\n path: 'admin',\n name: AdminRoutes.ROOT_ADMIN,\n component: adminRootPage,\n children: [\n ...AdministrationCourseRoutes,\n ...AdministrationUsersRoutes,\n ...AdministrationBillingRoutes,\n ...AdministrationEventRoutes,\n ...adminReportRoutes,\n ...topicsAdminRoutes,\n ...groupsAdminRoutes,\n ...playlistsAdminRoutes,\n ...AdminSkillsRoutes,\n ...AdministrationSettingsRoutes,\n ...AdministrationApiRoutes,\n ],\n },\n];\n\nexport default routes;\n","import { PREFIX_IN_BROWSER_TAB } from '@/common/platform-configuration/global-variables';\nimport store, { smartRootModule } from '@/main/baseStore';\nimport { Route, RouteConfig } from 'vue-router';\nimport PlanFeaturesList from '@/plan-features/plan-features-list';\nimport { checkIfRouteAvailableByPlanFeatures } from '@/plan-features/routes';\nimport { CoursesRouteNames } from '@/courses/route-definitions';\n\nconst COURSES_DASHBOARD_PAGE = () => import('./pages/CourseDashboardPage.vue');\nconst COURSE_PLAYER_ROOT = () => import('./pages/CoursePlayerRootPage.vue');\nconst COURSE_OVERVIEW_PAGE = () => import('./pages/CourseOverviewPage.vue');\nconst COURSE_PLAYER_PAGE = () => import('./pages/CoursePlayerPage.vue');\nconst COURSE_SCORM_PLAYER_ROOT = () => import('./pages/CourseScormPlayerPage.vue');\nconst ALL_COURSES_OVERVIEW_PAGE = () => import('./pages/all-courses-overview/AllCoursesOverviewPage.vue');\nconst PLAYLIST_OVERVIEW_PAGE = () => import('./pages/PlaylistOverviewPage.vue');\n\nconst isMobile = () => {\n return smartRootModule.context(store).modules.mobileMode.state.isMobile;\n};\n\nconst getBackRouteFromPlayer = (currentRoute: Route) => {\n if (isMobile()) {\n return {\n name: CoursesRouteNames.ALL_COURSES_OVERVIEW,\n };\n } else {\n return {\n name: CoursesRouteNames.COURSE_OVERVIEW,\n params: {\n course_id: currentRoute.params.course_id,\n },\n query: currentRoute.query,\n };\n }\n};\n\nconst routes: RouteConfig[] = [\n {\n path: `courses/overview`,\n name: CoursesRouteNames.ALL_COURSES_OVERVIEW,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Courses`,\n },\n component: ALL_COURSES_OVERVIEW_PAGE,\n },\n {\n path: `courses/:course_id(\\\\d+)`,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Course`,\n defaultBackRoute: CoursesRouteNames.ALL_COURSES_OVERVIEW,\n },\n component: COURSE_PLAYER_ROOT,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.COURSES),\n children: [\n {\n path: `overview`,\n name: CoursesRouteNames.COURSE_OVERVIEW,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Course`,\n defaultBackRoute: (currentRoute: Route) =>\n currentRoute.query.playlist_id\n ? {\n name: CoursesRouteNames.PLAYLIST_OVERVIEW,\n params: {\n playlist_id: currentRoute.query.playlist_id,\n },\n }\n : {\n name: CoursesRouteNames.ALL_COURSES_OVERVIEW,\n },\n },\n alias: '',\n component: COURSE_OVERVIEW_PAGE,\n },\n {\n path: `chapter/:chapter_id(\\\\d+)/page/:page_id(\\\\d+)`,\n name: CoursesRouteNames.COURSE_PLAYER,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Page`,\n defaultBackRoute: getBackRouteFromPlayer,\n },\n component: COURSE_PLAYER_PAGE,\n },\n {\n path: `player`,\n name: CoursesRouteNames.COURSE_SCORM_PLAYER,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Course`,\n defaultBackRoute: getBackRouteFromPlayer,\n },\n component: COURSE_SCORM_PLAYER_ROOT,\n },\n ],\n },\n {\n path: `playlists/:playlist_id(\\\\d+)/overview`,\n name: CoursesRouteNames.PLAYLIST_OVERVIEW,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Playlist`,\n defaultBackRoute: CoursesRouteNames.ALL_COURSES_OVERVIEW,\n },\n component: PLAYLIST_OVERVIEW_PAGE,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.PLAYLISTS),\n },\n {\n path: `courses`,\n name: CoursesRouteNames.COURSES_DASHBOARD,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Courses`,\n },\n component: COURSES_DASHBOARD_PAGE,\n },\n];\n\nexport default routes;\n","import { Route, Location } from 'vue-router';\nimport { JWTLoginSessionManager } from '@/authentication/services/session/session-manager';\nimport { parseTokenParamFromRoute } from '@/authentication/services/parse-token-param-from-route';\nimport { JWT } from '@/authentication/services/interfaces';\nimport { DEFAULT_PAGE_LOCATION, LOGIN_PAGE_LOCATION } from '@/authentication/services/locations';\nimport { ServiceTokens } from '@/di/tokens';\nimport type { Store } from 'vuex';\n\nexport class InstantLoginRedirectionService {\n public static inject = [ServiceTokens.BaseStore] as const;\n // @ts-ignore\n constructor(private store: Store) {}\n\n redirect(currentRoute: Route): Location {\n const sessionManager = new JWTLoginSessionManager();\n // const openInAppStoreService = OpenInAppStoreServiceFactory(this.store);\n\n try {\n const token = parseTokenParamFromRoute(currentRoute);\n sessionManager.start(token as JWT);\n\n // Uncomment to enable SSO on a mobile device\n // if (isWeb() && getIsMobile()) {\n // openInAppStoreService.showNotification();\n // }\n\n return { ...DEFAULT_PAGE_LOCATION, query: {} };\n } catch (error) {\n console.error(error);\n return { ...LOGIN_PAGE_LOCATION, query: {} };\n }\n }\n}\n","import { RouteConfig } from 'vue-router';\n\nimport { PREFIX_IN_BROWSER_TAB } from '@/common/platform-configuration/global-variables';\n\nconst authenticationPage = () => import('./page/AuthenticationPage.vue');\nconst resetPasswordPage = () => import('./page/ResetPasswordPage.vue');\nconst activateUserPage = () => import('./page/ActivateUserPage.vue');\n\nimport { makeTokenCheckerGuard, AuthRouteMeta, ResetPasswordService, ActivateUserService } from './services';\nimport { AuthenticationRouteNames } from './route-definitions';\nimport { InstantLoginRedirectionService } from '@/authentication/services/instant-login-redirection';\nimport { verifyLoginSsoStatus } from '@/authentication/services/login-sso-handler';\nimport store from '@/main/baseStore';\n\nconst checkIfCorrectActivateTokenPassed = makeTokenCheckerGuard(ActivateUserService.verifyToken);\nconst checkIfCorrectResetTokenPassed = makeTokenCheckerGuard(ResetPasswordService.verifyToken);\n\nconst routes: RouteConfig[] = [\n {\n name: AuthenticationRouteNames.LOGIN,\n path: '/login',\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Login`,\n onlyUnauthorized: true,\n } as AuthRouteMeta,\n component: authenticationPage,\n beforeEnter: verifyLoginSsoStatus,\n },\n {\n name: AuthenticationRouteNames.RESET_PASSWORD,\n path: '/reset-password',\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Reset password`,\n },\n component: resetPasswordPage,\n beforeEnter: checkIfCorrectResetTokenPassed,\n },\n {\n name: AuthenticationRouteNames.ACTIVATE_USER,\n path: '/activate-user',\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Setup account`,\n },\n component: activateUserPage,\n beforeEnter: checkIfCorrectActivateTokenPassed,\n },\n {\n name: AuthenticationRouteNames.INSTANT_LOGIN,\n path: '/instant-login',\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Login`,\n },\n redirect: route => {\n const instantLoginService = new InstantLoginRedirectionService(store);\n return instantLoginService.redirect(route);\n },\n },\n];\n\nexport default routes;\n","import { RouteConfig } from 'vue-router';\nimport store, { smartRootModule } from './baseStore';\n\nconst context = smartRootModule.context(store);\n\nexport const enum Paths {\n WHATS_NEW = 'whats-new',\n}\n\nexport const enum Names {\n WHATS_NEW = 'whats-new',\n}\n\nconst routes: RouteConfig[] = [\n {\n path: Paths.WHATS_NEW,\n name: Names.WHATS_NEW,\n beforeEnter: (_to, _from, next) => {\n context.modules.whatsnew.mutations.showModal();\n next(false);\n },\n },\n];\n\nexport default routes;\n","import { RouteConfig } from 'vue-router';\n\nimport AdministrationRoutes from '@/admin/routes';\nimport CoursesRoutes from '@/courses/routes';\nimport { CoursesRouteNames } from '@/courses/route-definitions';\nimport EventRoutes from '@/events/routes';\nimport ReportingRoutes from '@/reporting/routes';\nimport ProfileSettingsRoutes from '@/profile-settings/routes';\nimport AuthenticationRoutes from '@/authentication/routes';\nimport ErrorRoutes, { ErrorRouteNames } from './errorRoutes';\nimport pseudoRoutes from './pseudoRoutes';\n\nimport type { AuthRouteMeta } from '@/authentication/services';\nimport { handlePageNotFound } from '@/common/services/transition-common';\n\nconst entryPage = () => import('./pages/EntryPage.vue');\n\nconst DEFAULT_ROUTE = CoursesRouteNames.COURSES_DASHBOARD;\n\n/**\n * A basic set of application routes.\n * In most cases you may need to add new routes here.\n */\nconst APP_ROUTES: RouteConfig[] = [\n {\n path: '',\n component: entryPage,\n children: [\n ...pseudoRoutes,\n ...AdministrationRoutes,\n ...CoursesRoutes,\n ...EventRoutes,\n ...ReportingRoutes,\n ...ErrorRoutes,\n ...ProfileSettingsRoutes,\n {\n path: '',\n redirect: { name: DEFAULT_ROUTE },\n },\n ],\n meta: {\n requiresAuth: true,\n } as AuthRouteMeta,\n },\n];\n\nexport const routes: RouteConfig[] = [\n ...AuthenticationRoutes,\n {\n path: '',\n redirect: { name: DEFAULT_ROUTE },\n },\n {\n path: '*',\n name: ErrorRouteNames.NOT_FOUND,\n beforeEnter(_from, _to, next) {\n handlePageNotFound(next);\n },\n },\n ...APP_ROUTES,\n];\n","import Vue from 'vue';\nimport VueRouter from 'vue-router';\nimport { App as CapacitorApp } from '@capacitor/app';\nimport { Capacitor } from '@capacitor/core';\n\nimport environment from '@/environment';\nimport { attachMobileFallbackGuard } from '@/common/services/mobile-fallback';\nimport { includeSavePageInSegment } from '@/common/services/segment';\n\nimport { routes } from './routes';\nimport { backButtonService } from '@/common/services/mobile-fallback/native-back-button-service';\nimport { AuthenticationRouteNames } from '@/authentication/route-definitions';\nimport { syncPageTitleWithRouteTitle } from '@/common/services/sync-document-title-with-route';\n\nVue.use(VueRouter);\n\nconst router = new VueRouter({\n mode: 'history',\n base: environment.appBaseUrl,\n routes,\n});\n\nattachMobileFallbackGuard(router);\nincludeSavePageInSegment(router);\nsyncPageTitleWithRouteTitle(router);\n\nif (Capacitor.isNativePlatform()) {\n CapacitorApp.addListener('backButton', ({ canGoBack }) => {\n if (!backButtonService.isEmpty()) {\n backButtonService.popAction();\n return;\n }\n\n if (!canGoBack) {\n CapacitorApp.exitApp();\n }\n\n if (router.currentRoute.name === AuthenticationRouteNames.LOGIN) {\n CapacitorApp.exitApp();\n }\n\n window.history.back();\n });\n}\n\nexport default router;\n","import VueRouter from 'vue-router';\n\nexport function syncPageTitleWithRouteTitle(router: VueRouter) {\n router.beforeEach((to, _from, next) => {\n document.title = to.meta?.title;\n\n return next();\n });\n}\n","import Vue from 'vue';\nimport Vuex from 'vuex';\nimport { Module } from 'vuex-smart-module';\n\nimport { createSmartStore } from '@/common/services/create-smart-store';\nimport environment from '../environment';\nimport UserCoursesStore from '@/courses/store';\nimport whatsNewStore from '@/whatsnew/store';\n\nimport toastNotifications from '@/common/components/toast/store';\nimport CoursePlayerStore from '@/courses/store/course-player';\nimport userGroupStore from '@/admin/groups/store';\nimport launchDarklyFeatures from '@/launch-darkly/store';\nimport userProfileDetails from '@/common/store/user-details/store';\nimport httpStore from '@/common/store/http';\nimport mobileModeStore from '@/common/store/mobile-mode';\nimport planFeaturesStore from '@/plan-features/store';\nimport translationsStore from '@/translations/store';\nimport { subscriptionStore, plansStore } from '@/admin/billing/store';\nimport brandingStore from '@/common/store/branding/store';\nimport notificationsStore from '@/notifications/store';\nimport { skillSetupStore } from '@/profile-settings/components/self-skills-setup/SkillSetupStore';\nimport customFieldsStore from '@/admin/settings/store';\nimport contentStore from '@/content-store/store';\nimport openInAppStore from '@/open-in-app/store';\nimport mergeIntegrationStoreModule from '@/admin/skills/store';\n\nVue.use(Vuex);\n\nexport const smartRootModule = new Module({\n modules: {\n courses: UserCoursesStore,\n coursePlayer: CoursePlayerStore,\n whatsnew: whatsNewStore,\n userGroup: userGroupStore,\n toastNotifications,\n launchDarklyFeatureStore: launchDarklyFeatures,\n userProfileDetails,\n httpStore,\n mobileMode: mobileModeStore,\n planFeatures: planFeaturesStore,\n subscriptionStore,\n translationsStore,\n plansStore,\n brandingStore,\n notificationsStore,\n skillSetupStore,\n customFieldsStore,\n contentStore,\n openInAppStore,\n mergeIntegrationStoreModule,\n },\n});\n\nconst store = createSmartStore(smartRootModule, {\n strict: !environment.isProduction,\n});\n\nexport default store;\n","import { StoreOptions } from 'vuex';\nimport { Module, Getters, Mutations, Actions, createStore } from 'vuex-smart-module';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Modules = Record>;\n\nexport function createSmartStore(\n rootModule: Module, Mutations, Actions, Modules>,\n options: StoreOptions = {}\n) {\n return createStore(rootModule, {\n ...options,\n });\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MobileFallbackPage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MobileFallbackPage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileFallbackPage.vue?vue&type=template&id=6186cc10&scoped=true&\"\nimport script from \"./MobileFallbackPage.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileFallbackPage.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MobileFallbackPage.vue?vue&type=style&index=0&id=6186cc10&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6186cc10\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('MainThemeProvider',[_c('CoreMainLayout',{scopedSlots:_vm._u([{key:\"sticky-header\",fn:function(){return [_c('AppHeader',{attrs:{\"withNotifications\":\"\",\"withBackButton\":\"\"}})]},proxy:true},{key:\"content\",fn:function(){return [_c('MobileFallback',{staticClass:\"mobile-fallback-page__fallback\"})]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { RouteConfig } from 'vue-router';\n\nimport { PREFIX_IN_BROWSER_TAB } from '@/common/platform-configuration/global-variables';\nimport { FALLBACK_ROUTE_NAME } from '@/common/services/mobile-fallback';\n\nimport MobileFallbackPage from './pages/MobileFallbackPage.vue';\n\nexport const ErrorRouteNames = Object.freeze({\n NOT_FOUND: 'not-found',\n MOBILE_FALLBACK: FALLBACK_ROUTE_NAME,\n} as const);\n\nconst routes: RouteConfig[] = [\n {\n path: 'unsupported-mobile',\n name: ErrorRouteNames.MOBILE_FALLBACK,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Content not available`,\n },\n component: MobileFallbackPage,\n },\n];\n\nexport default routes;\n","// allows using multiple guards for routes\nexport function guards(guards) {\n return async (to, from, next) => {\n // a flag to discard remaining guards\n let changed = false;\n\n // handle next for multiple guards\n const mNext = value => {\n // prevent calling next after it is already resolved with a value\n if (changed) {\n return;\n }\n\n // if we have 'value' resolve next with the value and set changed flag\n if (typeof value !== 'undefined') {\n changed = true;\n next(value);\n }\n };\n\n // call guards\n for (let i = 0; i < guards.length; i++) {\n if (changed) break;\n await guards[i](to, from, mNext);\n }\n\n // move on if none of guards resolved next with a value\n if (!changed) next();\n };\n}\n","import { NotificationResponse, TemplateKey } from '@eloomi/eloomi-notifications-persona-client/1.0';\nimport translationsStore from '@/translations/store';\nimport baseStore from '@/main/baseStore';\nimport { CoursesRouteNames } from '@/courses/route-definitions';\nimport { EventsRoutesNames } from '@/events/routes';\nimport { RawLocation } from 'vue-router';\n\nexport function getNotificationText(notification: NotificationResponse) {\n const trans = translationsStore.context(baseStore).getters.trans;\n switch (notification.template_key) {\n case TemplateKey.CourseAssigned:\n if (notification.template_data?.course_title) {\n return trans('spa.notification.type.course-assigned', {\n course_title: notification.template_data.course_title,\n });\n } else {\n return trans('spa.notification.type.course-assigned.untitled');\n }\n case TemplateKey.CourseAssignedWithDeadline:\n if (notification.template_data?.course_title) {\n return trans('spa.notification.type.course-assigned-withdeadline', {\n course_title: notification.template_data.course_title,\n });\n } else {\n return trans('spa.notification.type.course-assigned-withdeadline.untitled');\n }\n case TemplateKey.EventAssigned:\n if (notification.template_data?.event_title) {\n return trans('spa.notification.type.event-assigned', {\n event_title: notification.template_data.event_title,\n });\n } else {\n return trans('spa.notification.type.event-assigned.untitled');\n }\n default:\n break;\n }\n}\n\nexport function getNotificationRoute(notification: NotificationResponse): RawLocation | null {\n switch (notification.template_key) {\n case TemplateKey.CourseAssigned:\n case TemplateKey.CourseAssignedWithDeadline:\n if (notification.template_data?.course_id) {\n return {\n name: CoursesRouteNames.COURSE_OVERVIEW,\n params: { course_id: notification.template_data.course_id },\n };\n }\n break;\n case TemplateKey.EventAssigned:\n if (notification.template_data?.event_id) {\n return {\n name: EventsRoutesNames.EVENT_OVERVIEW,\n params: { event_id: notification.template_data.event_id },\n };\n }\n break;\n }\n return null;\n}\n","import { PushNotifications } from '@capacitor/push-notifications';\nimport {\n DeviceType,\n NotificationsApiFactory,\n RegisterDeviceRequest,\n} from '@eloomi/eloomi-notifications-persona-client/1.0';\nimport { makeLogger } from '@/common/services';\nimport { authorizeClient } from '@/api/http-client';\nimport { Storage } from '@capacitor/storage';\nimport { Capacitor } from '@capacitor/core';\nimport { nanoid } from 'nanoid';\nimport type VueRouter from 'vue-router';\n\nimport { getTapHandler } from './notification-tap-handler';\n\nconst notificationsApi = authorizeClient(NotificationsApiFactory);\n\nexport class PermissionDeniedError extends Error {\n constructor() {\n super(`User denied permissions for notifications.`);\n\n Object.setPrototypeOf(this, PermissionDeniedError.prototype);\n }\n}\n\ninterface NotificationData {\n action_url: string | null;\n template_key:\n | 'mobile_course_assigned'\n | 'mobile_course_assigned_with_deadline'\n | 'mobile_course_deadline_reminder'\n | 'mobile_course_deadline_missed'\n | 'mobile_playlist_assigned'\n | 'mobile_playlist_assigned_with_deadline';\n}\n\nexport interface TapHandler {\n (event: NotificationData): void;\n}\n\ninterface RegistrationStatus {\n success: boolean;\n}\n\nclass PushNotificationsService {\n private installationIdKey = 'installation-id';\n private installationId = '';\n private tapHandlers: Array = [];\n\n /**\n * On iOS it contains the APNS token.\n * On Android it contains the FCM token.\n */\n private registrationToken = '';\n private registrationPromise: Promise = Promise.resolve({ success: false });\n\n private isInitialized = false;\n\n private log = makeLogger('push-notifications');\n\n public async init() {\n if (!Capacitor.isNativePlatform() || this.isInitialized) return;\n\n this.log('Initialization...');\n\n this.isInitialized = true;\n\n this.installationId = await this.initInstallationId();\n\n this.log('Installation id: ', this.installationId);\n\n await this.addListeners();\n this.registrationPromise = this.registerOnPNS();\n }\n\n public subscribe() {\n return this.registerOnBackend();\n }\n\n private async registerOnBackend() {\n const registrationStatus = await this.registrationPromise;\n\n if (!registrationStatus.success) return;\n\n const body: RegisterDeviceRequest = {\n handle: this.registrationToken,\n device_type: Capacitor.getPlatform() === 'ios' ? DeviceType.IOs : DeviceType.Android,\n installation_id: this.installationId,\n iana_timezone: this.getTimeZone(),\n };\n\n try {\n await notificationsApi.register(body);\n this.log('Registration on backend: Successful');\n } catch (error) {\n this.log('Registration on backend: Failed', error);\n }\n }\n\n private async initInstallationId() {\n let installationId = await this.getInstallationId();\n\n if (!installationId) {\n installationId = nanoid();\n await this.setInstallationId(installationId);\n }\n\n return installationId;\n }\n\n private async getInstallationId() {\n const installationId = await Storage.get({ key: this.installationIdKey });\n return installationId.value;\n }\n\n private setInstallationId(installationId: string) {\n return Storage.set({ key: this.installationIdKey, value: installationId });\n }\n\n private async addListeners() {\n await PushNotifications.addListener('pushNotificationReceived', notification => {\n this.log('Push notification received: ', notification);\n });\n\n await PushNotifications.addListener('pushNotificationActionPerformed', event => {\n this.log('Push notification action performed', event);\n\n if (event.actionId === 'tap') {\n const data = event.notification.data as NotificationData;\n\n this.tapHandlers.forEach(handler => handler(data));\n }\n });\n }\n\n private async getPermissionStatus() {\n const status = await PushNotifications.checkPermissions();\n\n if (status.receive === 'prompt') {\n return PushNotifications.requestPermissions();\n }\n\n return status;\n }\n\n private getTimeZone() {\n try {\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n } catch (e) {\n console.warn(`Unable to read user timezone.`);\n return null;\n }\n }\n\n private registerOnPNS() {\n return new Promise(resolve => {\n PushNotifications.addListener('registration', token => {\n this.log('Registration token: ', token.value);\n this.registrationToken = token.value;\n resolve({ success: true });\n });\n\n PushNotifications.addListener('registrationError', err => {\n this.log('Registration error: ', err.error);\n resolve({ success: false });\n });\n\n this.getPermissionStatus()\n .then(permissionStatus => {\n this.log('Permissions status: ', permissionStatus.receive);\n\n if (permissionStatus.receive !== 'granted') {\n throw new PermissionDeniedError();\n }\n\n return PushNotifications.register();\n })\n .catch(() => resolve({ success: false }));\n });\n }\n\n public addTapHandler(handler: TapHandler) {\n this.tapHandlers.push(handler);\n }\n}\n\nexport const pushNotificationsService = new PushNotificationsService();\n\nexport function initPushNotifications(router: VueRouter) {\n pushNotificationsService.addTapHandler(getTapHandler(router));\n\n return pushNotificationsService.init();\n}\n","import type VueRouter from 'vue-router';\nimport { TapHandler } from '@/notifications/services/push-notifications';\nimport { convertUrlToLocation } from '@/common/services/convert-url-to-location';\n\nexport function getTapHandler(router: VueRouter): TapHandler {\n return function handleTap(event) {\n if (!event.action_url) return;\n\n const location = convertUrlToLocation(event.action_url);\n\n if (location) {\n router.push(location);\n }\n };\n}\n","import { NotificationsApiFactory } from '@eloomi/eloomi-notifications-persona-client/1.0';\nimport { authorizeClient } from '@/api/http-client';\n\nexport const notificationsClient = authorizeClient(NotificationsApiFactory);\n","/* eslint-disable vue/one-component-per-file */\nimport { Vue } from 'vue-property-decorator';\nimport { Module, Mutations, Actions, Getters, createMapper, createComposable } from 'vuex-smart-module';\nimport { notificationsClient } from '../providers';\nimport { NotificationResponse } from '@eloomi/eloomi-notifications-persona-client/1.0';\nimport translationsStore from '@/translations/store';\nimport baseStore from '@/main/baseStore';\nimport brandingStore from '@/common/store/branding/store';\nimport defaultFaviconImageUrl from '@/assets/img/eloomi-favicon.png';\nimport launchDarklyFeatureStore from '@/launch-darkly/store';\nimport { makeLogger } from '@/common/services';\nimport { getNotificationRoute, getNotificationText } from '@/notifications/services/misc';\n\nlet logger = {\n log: _msg => {\n // not available in storybook\n },\n};\n\ntry {\n logger = makeLogger('notifications');\n} catch (e) {\n console.error('makeLogger is not available');\n}\n\nconst browserSupportsNotificationAPI = 'Notification' in window;\n\nclass State {\n public notifications: NotificationResponse[] = [];\n public newNotifications = 0;\n public currentPage = 1;\n public lastPage: number | null = null;\n public pageSize = 10;\n public promisePending = false;\n public notificationsInitialized = false;\n public notificationsInterval: NodeJS.Timer | null = null;\n public notificationsDrawerVisible = false;\n}\n\nclass StoreGetters extends Getters {\n public get notifications() {\n return this.state.notifications;\n }\n public get newNotificationsCount() {\n return this.state.newNotifications;\n }\n public get isBrowserNotificationsEnabled() {\n const launchDarklyContext = launchDarklyFeatureStore.context(baseStore);\n return launchDarklyContext.getters.checkIfLaunchDarklyFeatureEnabled(\n launchDarklyContext.state.launchDarklyFeaturesList.BROWSER_NOTIFICATIONS\n );\n }\n}\n\nclass StoreMutations extends Mutations {\n public openNotificationsDrawer() {\n this.state.notificationsDrawerVisible = true;\n }\n public closeNotificationsDrawer() {\n this.state.notificationsDrawerVisible = false;\n }\n public setNotificationAsRead(id: number) {\n const notificationToMartAsRead = this.state.notifications.find(n => n.id === id);\n notificationToMartAsRead && (notificationToMartAsRead.is_read = true);\n }\n public setAllNotificationAsRead() {\n this.state.notifications.forEach(ntf => (ntf.is_read = true));\n }\n public setNewNotificationsCount(count) {\n this.state.newNotifications = count;\n }\n public loadNotifications(notifications) {\n this.state.notifications = [...this.state.notifications, ...notifications];\n }\n public setNotifications(notifications: NotificationResponse[]) {\n this.state.notifications = notifications;\n }\n public nextPage() {\n this.state.currentPage += 1;\n }\n public setLastPage(page) {\n this.state.lastPage = page;\n }\n public setPromisePending(isPending) {\n this.state.promisePending = isPending;\n }\n public resetState() {\n this.state.currentPage = 1;\n this.state.lastPage = null;\n }\n public setNotificationsInitialized(notificationsInitialized) {\n this.state.notificationsInitialized = notificationsInitialized;\n }\n public setInterval(interval) {\n this.state.notificationsInterval = interval;\n }\n}\n\nclass StoreActions extends Actions {\n private async fetchNotifications() {\n return await (\n await notificationsClient.getUsersNotifications(\n undefined,\n '-created_at',\n this.state.currentPage,\n this.state.pageSize\n )\n ).data;\n }\n\n public async markAllNotificationsAsRead() {\n try {\n await notificationsClient.updateNotificationAllRead();\n this.mutations.setNewNotificationsCount(0);\n this.mutations.setAllNotificationAsRead();\n } catch (error) {\n logger.log('En error occurred when marking all notifications as read.');\n }\n }\n\n public async getNewNotificationsCount() {\n try {\n const newNotificationsCount = await notificationsClient.getUsersNotificationsNumber();\n this.mutations.setNewNotificationsCount(newNotificationsCount.data);\n } catch (error) {\n console.error(error);\n }\n }\n\n public async getNotifications() {\n const shouldLoadNotifications = this.state.lastPage === null || this.state.currentPage <= this.state.lastPage;\n if (shouldLoadNotifications && this.state.promisePending === false) {\n this.mutations.setPromisePending(true);\n const notifications = await this.actions.fetchNotifications();\n this.mutations.setPromisePending(false);\n this.mutations.nextPage();\n this.mutations.setLastPage(notifications.last_page);\n if (notifications.data) {\n this.mutations.loadNotifications([...notifications.data]);\n }\n }\n }\n\n public async resetAndGetNotifications() {\n this.mutations.resetState();\n this.mutations.setPromisePending(true);\n const notifications = await this.actions.fetchNotifications();\n if (notifications.data) {\n this.mutations.setNotifications(notifications.data);\n this.mutations.nextPage();\n }\n this.mutations.setPromisePending(false);\n }\n\n public async setNotificationAsRead(notification: NotificationResponse) {\n if (notification.id && notification.is_read === false) {\n await notificationsClient.updateNotificationRead(notification.id, true);\n await this.actions.getNewNotificationsCount();\n this.mutations.setNotificationAsRead(notification.id);\n }\n }\n public async initializeNotificationFeature() {\n if (this.state.notificationsInitialized === false) {\n if (\n browserSupportsNotificationAPI &&\n Notification.permission !== 'granted' &&\n this.getters.isBrowserNotificationsEnabled\n ) {\n Notification.requestPermission();\n }\n this.mutations.setNotificationsInitialized(true);\n await this.actions.getNewNotificationsCount();\n await this.actions.getNotifications();\n this.mutations.setInterval(setInterval(this.actions.checkForNewNotifications, 180000));\n }\n }\n\n public notifyUser(newNotificationsCount) {\n if (browserSupportsNotificationAPI === false) {\n return;\n }\n const trans = translationsStore.context(baseStore).getters.trans;\n if (Notification.permission === 'granted') {\n const notificationText =\n newNotificationsCount > 1\n ? trans('spa.notification.new-notifications', { num: newNotificationsCount })\n : getNotificationText(this.state.notifications[0]);\n const browserNotification = new Notification(trans('spa.notification.message-from-eloomi'), {\n icon: brandingStore.context(baseStore).state.brandingState?.favicon_url || defaultFaviconImageUrl,\n body: notificationText,\n });\n const notification = this.state.notifications[0];\n const { mutations } = this;\n browserNotification.onclick = async function () {\n window.focus();\n if (newNotificationsCount === 1) {\n const route = getNotificationRoute(notification);\n if (route) {\n const router = await import('@/main/baseRouter');\n router.default.push(route);\n }\n } else {\n mutations.openNotificationsDrawer();\n }\n };\n }\n }\n\n public async checkForNewNotifications() {\n try {\n const notificationsNumberResponse = await notificationsClient.getUsersNotificationsNumber();\n const newNotificationsCount = notificationsNumberResponse.data;\n const newNotificationsCountDiff = newNotificationsCount - this.getters.newNotificationsCount;\n\n if (newNotificationsCount !== this.getters.newNotificationsCount) {\n await this.mutations.setNewNotificationsCount(newNotificationsCount);\n await this.actions.resetAndGetNotifications();\n }\n if (this.getters.isBrowserNotificationsEnabled && newNotificationsCountDiff > 0 && document.hidden) {\n this.actions.notifyUser(newNotificationsCountDiff);\n }\n } catch (error) {\n console.error(error);\n }\n }\n}\n\nconst notificationsStore = new Module({\n state: State,\n mutations: StoreMutations,\n getters: StoreGetters,\n actions: StoreActions,\n});\n\nexport default notificationsStore;\n\nexport const notificationsStoreMapper = createMapper(notificationsStore);\nexport const NotificationsMappedStore = Vue.extend({\n computed: {\n ...notificationsStoreMapper.mapState(['notificationsInitialized', 'notificationsDrawerVisible']),\n ...notificationsStoreMapper.mapGetters(['notifications', 'newNotificationsCount']),\n },\n methods: {\n ...notificationsStoreMapper.mapActions([\n 'getNewNotificationsCount',\n 'getNotifications',\n 'setNotificationAsRead',\n 'resetAndGetNotifications',\n 'initializeNotificationFeature',\n 'markAllNotificationsAsRead',\n ]),\n ...notificationsStoreMapper.mapMutations([\n 'setNewNotificationsCount',\n 'setNotificationsInitialized',\n 'openNotificationsDrawer',\n 'closeNotificationsDrawer',\n ]),\n },\n});\n\nexport const NotificationsFeatureInitializer = Vue.extend({\n methods: {\n ...notificationsStoreMapper.mapActions(['initializeNotificationFeature']),\n },\n});\n\nexport const usePushNotificationStore = createComposable(notificationsStore);\n","import { NotificationResponse } from '@eloomi/eloomi-notifications-persona-client/1.0';\nimport { computed } from 'vue';\nimport { debounce } from 'lodash-es';\nimport { getNotificationText, getNotificationRoute } from '@/notifications/services/misc';\nimport { usePushNotificationStore } from './store';\nimport { useRouter } from '@/common/composables';\n\nexport function usePushNotifications() {\n const store = usePushNotificationStore();\n const router = useRouter();\n\n const loadMore = debounce(store.actions.getNotifications, 200);\n\n const redirectFromNotification = (notification: NotificationResponse) => {\n store.actions.setNotificationAsRead(notification);\n const route = getNotificationRoute(notification);\n if (route) {\n router.push(route);\n }\n\n store.mutations.closeNotificationsDrawer();\n };\n\n const notifications = computed(() => store.getters.notifications);\n const newNotificationsCount = computed(() => store.getters.newNotificationsCount);\n const { markAllNotificationsAsRead } = store.actions;\n const { closeNotificationsDrawer, openNotificationsDrawer } = store.mutations;\n\n return {\n closeNotificationsDrawer,\n getNotificationText,\n loadMore,\n markAllNotificationsAsRead,\n newNotificationsCount,\n notifications,\n openNotificationsDrawer,\n redirectFromNotification,\n store,\n };\n}\n","/* eslint-disable vue/one-component-per-file */\nimport { createComposable, createMapper, Module, Mutations } from 'vuex-smart-module';\nimport { createStoreServiceFactory } from '@/di/store-factory';\n\nclass State {\n isOpenInAppNotificationShown = false;\n}\n\nclass StoreMutations extends Mutations {\n public showNotification() {\n this.state.isOpenInAppNotificationShown = true;\n }\n\n public hideNotification() {\n this.state.isOpenInAppNotificationShown = false;\n }\n}\n\nconst store = new Module({\n state: State,\n mutations: StoreMutations,\n});\n\nexport const useOpenInAppStore = createComposable(store);\nexport const openInAppStoreMapper = createMapper(store);\n\nexport const OpenInAppStoreServiceFactory = createStoreServiceFactory({\n ...openInAppStoreMapper.mapState(['isOpenInAppNotificationShown']),\n ...openInAppStoreMapper.mapMutations(['showNotification', 'hideNotification']),\n});\n\nexport type OpenInAppStoreService = ReturnType;\n\nexport default store;\n","import { makeCurrentUserPermissionChecker, Permission, PermissionChecker, Permissions } from '@/permissions';\nimport { computed, ref } from 'vue';\nimport { useInjector } from '@/di/use-injector';\nimport { useUserProfileDetailsStore } from '@/common/store/user-details/store';\n\nexport function usePermissions() {\n const userProfileDetails = useUserProfileDetailsStore();\n const injector = useInjector();\n const makePermissionChecker = injector.injectFunction(makeCurrentUserPermissionChecker);\n\n const checker = ref(null);\n\n makePermissionChecker().then(permissionChecker => {\n checker.value = permissionChecker;\n });\n\n function hasPermission(permission: Permission) {\n return Boolean(checker.value?.hasPermission(permission));\n }\n\n function hasAnyPermission(...permissions: Permission[]) {\n return Boolean(checker.value?.hasAnyPermission(...permissions));\n }\n\n function hasEveryPermission(...permissions: Permission[]) {\n return Boolean(checker.value?.hasEveryPermission(...permissions));\n }\n\n const canAccessGroupReport = computed(() => {\n return hasPermission(Permissions.Reporting) || userProfileDetails.state.isReportingManager;\n });\n\n return { hasPermission, hasAnyPermission, hasEveryPermission, canAccessGroupReport };\n}\n","import type { MainInjector } from '@/di/injector';\n\nimport { PermissionsRouteGuard } from './use-cases/route-guard';\n\nexport function installPermissionsRouteGuard(injector: MainInjector) {\n const routeGuard = injector.injectClass(PermissionsRouteGuard);\n routeGuard.install();\n}\n","export const PermissionsServiceTokens = Object.freeze({\n RouterAdapter: 'RouterAdapter',\n UserProfileProvider: 'UserProfileProvider',\n} as const);\n","export const Permissions = Object.freeze({\n Unknown: 'unknown',\n Reporting: 'reporting',\n AdminUsers: 'admin-users',\n AdminGroups: 'admin-groups',\n AdminCourses: 'admin-courses',\n AdminEvents: 'admin-events',\n AdminPlaylists: 'admin-playlists',\n AdminSkills: 'admin-skills',\n AdminCategoriesTopics: 'admin-categories-topics',\n AdminBilling: 'admin-billing',\n AdminBranding: 'admin-branding',\n AdminApi: 'admin-api',\n AdminContentStore: 'admin-content-store',\n} as const);\n\nexport type Permission = typeof Permissions[keyof typeof Permissions];\n\nexport interface RouteWithPermissions {\n requiredPermissions?: Permission[];\n}\n\nexport function isAnyPermissionRequiredForRoute(route: RouteWithPermissions): route is Required {\n if (route.requiredPermissions === undefined || route.requiredPermissions.length === 0) {\n return false;\n }\n return true;\n}\n\nexport class UserWithPermissions {\n private readonly permissions: Set;\n\n public constructor(permissions: Permission[]) {\n this.permissions = new Set(permissions);\n }\n\n public hasPermission(permission: Permission) {\n return this.permissions.has(permission);\n }\n\n public hasAccessToRoute(route: RouteWithPermissions) {\n if (isAnyPermissionRequiredForRoute(route)) {\n return route.requiredPermissions.every(permission => this.hasPermission(permission));\n } else {\n return true;\n }\n }\n\n public get isAnonymous() {\n return false;\n }\n}\n\nexport class AnonymousUser extends UserWithPermissions {\n public constructor() {\n super([]);\n }\n\n public get isAnonymous() {\n return true;\n }\n}\n","import { PermissionsServiceTokens as Tokens } from '../di-tokens';\nimport type { Permission } from '../domain';\nimport type { UserWithPermissionsProvider } from './ports';\n\n/**\n * Check if current user has a permission.\n *\n * @example\n * import { makeCurrentUserPermissionChecker } from '..';\n * const makePermissionChecker = injector.injectFunction(makeCurrentUserPermissionChecker);\n * const checker = await makePermissionChecker();\n * const result = checker.hasPermission(Permissions.AdminApi);\n */\nexport function makeCurrentUserPermissionChecker(userProfileProvider: UserWithPermissionsProvider) {\n return async () => {\n const user = await userProfileProvider.getCurrentUser();\n return {\n hasPermission(permission: Permission) {\n return user.hasPermission(permission);\n },\n\n hasAnyPermission(...permissions: Permission[]) {\n return permissions.some(permission => user.hasPermission(permission));\n },\n\n hasEveryPermission(...permissions: Permission[]) {\n return permissions.every(permission => user.hasPermission(permission));\n },\n };\n };\n}\n\nexport type PermissionChecker = Awaited>>;\n\nmakeCurrentUserPermissionChecker.inject = [Tokens.UserProfileProvider] as const;\n","import { type RouteWithPermissions, isAnyPermissionRequiredForRoute } from '../domain';\nimport type { Router, UserWithPermissionsProvider } from './ports';\n\nimport { PermissionsServiceTokens as Tokens } from '../di-tokens';\nimport { makeLogger, makeWarnLogger } from '@/common/services';\n\n/**\n * It installs route handler and checks if a user has enough permissions to an ongoing route transition.\n * If there is no permissions it's trying to call 404 route handler.\n */\n\nexport class PermissionsRouteGuard {\n public static inject = [Tokens.RouterAdapter, Tokens.UserProfileProvider] as const;\n\n private readonly log = makeLogger('permissions-route-guard');\n private readonly warnLog = makeWarnLogger('permissions-route-guard');\n\n public constructor(private readonly router: Router, private readonly userProvider: UserWithPermissionsProvider) {}\n\n public install() {\n this.router.addBeforeEachRouteHandler(this.checkIfUserHasPermissionsForRoute.bind(this));\n }\n\n private async checkIfUserHasPermissionsForRoute(route: RouteWithPermissions, goNext) {\n if (!isAnyPermissionRequiredForRoute(route)) {\n this.log('passing, since no permissions required for the route');\n return goNext();\n }\n\n const user = await this.userProvider.getCurrentUser();\n\n /**\n * By default it shouldn't happen since if user is anonymous it should be intercepted\n * by authentication middleware.\n *\n * If route isn't marked with \"requiresAuth\" but it has \"requiredPermissions\"\n * then this may happen if user isn't authenticated.\n */\n if (user.isAnonymous) {\n this.warnLog('anonymous user detected, that is weird, please mark route with \"requiresAuth\"');\n }\n\n if (!user.hasAccessToRoute(route)) {\n this.warnLog('restricting the route visit since lack of permissions detected');\n return this.router.handle404(goNext);\n }\n\n this.log('passing the route by successful permission check');\n goNext();\n }\n}\n","enum PlanFeaturesList {\n API = 'api',\n BILLING = 'billing',\n BRANDING = 'branding',\n CATEGORIES_TOPICS = 'categories-topics',\n COURSES = 'courses',\n CUSTOM_FIELDS = 'custom-fields',\n DEADLINES = 'deadlines',\n EVENTS = 'events',\n GROUPS = 'groups',\n PLAYLISTS = 'playlists',\n REPORTING = 'reporting',\n SCORM = 'scorm',\n SEGMENT_REPORTING = 'segment-reporting',\n SKILLS = 'skills',\n USER_PERMISSIONS = 'user-permissions',\n NATIVE_INTEGRATION = 'native-integration',\n}\n\nexport default PlanFeaturesList;\n","import PlanFeaturesList from '@/plan-features/plan-features-list';\nimport store, { smartRootModule } from '@/main/baseStore';\nimport { NavigationGuard, NavigationGuardNext, Route } from 'vue-router';\nimport { handlePageNotFound } from '@/common/services/transition-common';\n\nexport const checkIfRouteAvailableByPlanFeatures = (featureEntity: PlanFeaturesList): NavigationGuard => {\n return async (_to: Route, _from: Route, next: NavigationGuardNext) => {\n const planFeaturesModule = smartRootModule.context(store).modules.planFeatures;\n const isPlanFeaturesInitialized = planFeaturesModule.state.initialized;\n\n if (!isPlanFeaturesInitialized) {\n await planFeaturesModule.actions.initializeAllFeatures();\n }\n\n const isPageAvailable = planFeaturesModule.getters.checkIfFeatureEnabled(featureEntity);\n\n if (!isPageAvailable) {\n handlePageNotFound(next);\n } else {\n next();\n }\n };\n};\n","import { Module, Mutations, Actions, createMapper, Getters, createComposable } from 'vuex-smart-module';\nimport PlanFeaturesList from '@/plan-features/plan-features-list';\nimport { Vue } from 'vue-property-decorator';\nimport { authorizeClient } from '@/api/http-client';\nimport { FeatureApiFactory } from '@eloomi/eloomi-platforms-persona-client/1.0/api/feature-api';\n\nconst platformFeaturesClient = authorizeClient(FeatureApiFactory);\n\nclass State {\n public features: Record | {} = {\n [PlanFeaturesList.SCORM]: true,\n [PlanFeaturesList.COURSES]: true,\n [PlanFeaturesList.PLAYLISTS]: true,\n [PlanFeaturesList.CATEGORIES_TOPICS]: true,\n [PlanFeaturesList.CUSTOM_FIELDS]: true,\n [PlanFeaturesList.GROUPS]: true,\n [PlanFeaturesList.REPORTING]: true,\n [PlanFeaturesList.BRANDING]: true,\n [PlanFeaturesList.SEGMENT_REPORTING]: true,\n [PlanFeaturesList.USER_PERMISSIONS]: true,\n [PlanFeaturesList.BILLING]: true,\n [PlanFeaturesList.SKILLS]: true,\n [PlanFeaturesList.NATIVE_INTEGRATION]: true,\n };\n public initialized = false;\n public initializeRequestPromise: Promise | null = null;\n public featuresList = PlanFeaturesList;\n}\n\nclass StoreGetters extends Getters {\n public checkIfFeatureEnabled(featureName: PlanFeaturesList | PlanFeaturesList[]) {\n const featureNameArray = Array.isArray(featureName) ? featureName : [featureName];\n return featureNameArray.every(feature => this.state.features[feature]);\n }\n}\n\nexport class StoreActions extends Actions {\n public async initializeAllFeatures() {\n if (this.state.initializeRequestPromise === null) {\n this.mutations.setInitializePromise(\n platformFeaturesClient.getPlatformFeatureSettings().then(response => {\n this.mutations.setFeatureState(response.data as Record);\n })\n );\n }\n\n await this.state.initializeRequestPromise!;\n }\n}\n\nclass StoreMutations extends Mutations {\n public setFeatureState(featureState: Record) {\n this.state.features = {\n ...this.state.features,\n ...featureState,\n };\n\n this.state.initialized = true;\n this.state.initializeRequestPromise = null;\n }\n\n public setInitializePromise(promise: Promise) {\n this.state.initializeRequestPromise = promise;\n }\n}\n\nconst planFeaturesStore = new Module({\n state: State,\n mutations: StoreMutations,\n actions: StoreActions,\n getters: StoreGetters,\n});\n\nexport const usePlanFeaturesStore = createComposable(planFeaturesStore);\n\nexport default planFeaturesStore;\nexport const planFeaturesStoreMapper = createMapper(planFeaturesStore);\nexport const PlanFeaturesMappedStore = Vue.extend({\n computed: {\n ...planFeaturesStoreMapper.mapState(['features', 'initialized', 'featuresList']),\n ...planFeaturesStoreMapper.mapGetters(['checkIfFeatureEnabled']),\n },\n methods: planFeaturesStoreMapper.mapActions(['initializeAllFeatures']),\n});\n","import { Module, Mutations, createMapper, createComposable } from 'vuex-smart-module';\nimport { Vue } from 'vue-property-decorator';\n\nclass State {\n public isSkillSetupModalVisible = false;\n}\n\nclass StoreMutations extends Mutations {\n public showSkillSetupModal() {\n this.state.isSkillSetupModalVisible = true;\n }\n\n public hideSkillSetupModal() {\n this.state.isSkillSetupModalVisible = false;\n }\n}\n\nexport const skillSetupStore = new Module({\n state: State,\n mutations: StoreMutations,\n});\n\nexport const skillSetupStoreMapper = createMapper(skillSetupStore);\n\nexport const useSkillSetupStore = createComposable(skillSetupStore);\n\nexport const SkillSetupStoreMixin = Vue.extend({\n computed: {\n ...skillSetupStoreMapper.mapState(['isSkillSetupModalVisible']),\n },\n methods: {\n ...skillSetupStoreMapper.mapMutations(['showSkillSetupModal', 'hideSkillSetupModal']),\n },\n});\n\nexport default skillSetupStoreMapper;\n","import { PREFIX_IN_BROWSER_TAB } from '@/common/platform-configuration/global-variables';\nimport { RouteConfig } from 'vue-router';\nimport { CoursesRouteNames } from '@/courses/route-definitions';\n\nconst profileSettingsPage = () => import('./pages/ProfileSettingsPage.vue');\n\nexport const enum ProfileSettingsRoutes {\n PROFILE_SETTINGS = 'profile-settings',\n}\n\nconst routes: RouteConfig[] = [\n {\n path: `${ProfileSettingsRoutes.PROFILE_SETTINGS}`,\n name: ProfileSettingsRoutes.PROFILE_SETTINGS,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Profile Settings`,\n defaultBackRoute: CoursesRouteNames.COURSES_DASHBOARD,\n },\n component: profileSettingsPage,\n },\n];\n\nexport default routes;\n","import { RouteConfig } from 'vue-router';\n\nimport { PREFIX_IN_BROWSER_TAB } from '@/common/platform-configuration/global-variables';\nimport { guards } from '@/main/multipleGuardsHandler';\nimport { checkIfAvailableByLaunchDarkly } from '@/launch-darkly/routes/launch-darkly.guard';\nimport PlanFeaturesList from '@/plan-features/plan-features-list';\nimport { checkIfRouteAvailableByPlanFeatures } from '@/plan-features/routes';\nimport { AppFeaturesList } from '@/launch-darkly/models';\nimport { redirectIfGuard } from '@/common/services/redirectIf.guard';\nimport store, { smartRootModule } from '@/main/baseStore';\nimport { Permissions } from '@/permissions';\n\nexport const enum Paths {\n REPORTING = 'reporting',\n COURSE = 'course',\n USER = 'user',\n REPORT = 'report',\n ADMIN_REPORT = 'admin-report',\n ALL_COURSES = 'courses',\n ALL_USERS = 'users',\n SEGMENTS = 'segments',\n GROUP = 'group',\n SEGMENT_OVERVIEW = 'segment-overview',\n TOPIC = 'topic',\n MOBILE = 'mobile',\n SKILLS = 'skills',\n}\n\nexport enum Names {\n ROOT_REPORT = 'root-report',\n COURSE_REPORT = 'course-report',\n USER_REPORT = 'user-report',\n MY_REPORT = 'my-report',\n ROOT_ADMIN_REPORT = 'admin-report-root',\n MY_ADMIN_REPORT = 'my-admin-report',\n USERS_REPORT = 'admin-users-report',\n COURSES_REPORT = 'admin-courses-report',\n SEGMENT_GROUP_REPORT = 'segment-group-report',\n SEGMENT_OVERVIEW = 'segment-overview',\n SEGMENT_TOPIC_REPORT = 'admin-topic-report',\n GROUPS_REPORT = 'group-report',\n MY_GROUP_REPORT = 'my-group-report',\n MOBILE_ROOT = 'mobile-reporting',\n REPORT_MANAGER_MOBILE_ROOT = 'report-manager-mobile-reporting',\n SKILLS_REPORT = 'skills-report',\n SKILL_REPORT = 'skill-report',\n}\n\nconst COURSE_REPORT_PAGE = () => import('./pages/CourseReportPage.vue');\nconst USER_REPORT_PAGE = () => import('./pages/UserReportPage.vue');\nconst MY_REPORT = () => import('./components/MyReport.vue');\nconst ALL_COURSES_REPORT_PAGE = () => import('./pages/AllCoursesReportPage.vue');\nconst ALL_USERS_REPORT_PAGE = () => import('./pages/AllUsersReportPage.vue');\nconst SEGMENT_GROUP_REPORT_PAGE = () => import('./pages/SegmentGroupReportPage.vue');\nconst SEGMENT_OVERVIEW_PAGE = () => import('./pages/SegmentOverviewPage.vue');\nconst SEGMENT_TOPIC_REPORT_PAGE = () => import('./pages/SegmentTopicReportPage.vue');\nconst GROUP_REPORT_PAGE = () => import('./pages/GroupReportPage.vue');\nconst ADMIN_ROOT_PAGE = () => import('@/admin/pages/AdminRootPage.vue');\nconst MOBILE_ROOT_PAGE = () => import('@/reporting/pages/ReportingRootPage.vue');\nconst SKILLS_REPORT_PAGE = () => import('@/reporting/pages/SkillsReportPage.vue');\nconst SKILL_REPORT_PAGE = () => import('@/reporting/pages/SkillReportPage.vue');\n\nconst segmentReportingGuard = guards([\n checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.SEGMENT_REPORTING),\n checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.REPORTING),\n]);\n\nconst routes: RouteConfig[] = [\n {\n path: `${Paths.REPORT}`,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Report`,\n showNavigationSidebar: true,\n leftSidebarIsCompact: true,\n },\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.REPORTING),\n children: [\n {\n path: ``,\n name: Names.MY_REPORT,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Report`,\n showNavigationSidebar: true,\n leftSidebarIsCompact: true,\n titleTranslationKey: 'spa.navigation.sections.reports.my-learning',\n },\n component: MY_REPORT,\n },\n {\n path: `${Paths.GROUP}`,\n name: Names.MY_GROUP_REPORT,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Report`,\n showNavigationSidebar: true,\n leftSidebarIsCompact: true,\n titleTranslationKey: 'spa.navigation.sections.reports.groups-report',\n },\n component: GROUP_REPORT_PAGE,\n },\n {\n path: `${Paths.MOBILE}`,\n name: Names.REPORT_MANAGER_MOBILE_ROOT,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Reporting`,\n titleTranslationKey: 'spa.navigation.sections.main.reports',\n },\n component: MOBILE_ROOT_PAGE,\n beforeEnter: guards([redirectIfGuard(() => isDesktop(), Names.MY_REPORT)]),\n },\n ],\n component: ADMIN_ROOT_PAGE,\n },\n {\n path: `${Paths.REPORTING}/${Paths.COURSE}/:course_id(\\\\d+)`,\n name: Names.COURSE_REPORT,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Reporting`,\n defaultBackRoute: Names.COURSES_REPORT,\n requiredPermissions: [Permissions.Reporting],\n },\n component: COURSE_REPORT_PAGE,\n },\n {\n path: `${Paths.REPORTING}/${Paths.USER}/:user_id(\\\\d+)`,\n name: Names.USER_REPORT,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Reporting`,\n defaultBackRoute: Names.USERS_REPORT,\n requiredPermissions: [],\n },\n component: USER_REPORT_PAGE,\n },\n {\n path: `${Paths.REPORTING}/${Paths.SEGMENTS}/${Paths.GROUP}/:id`,\n name: Names.SEGMENT_GROUP_REPORT,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Segment Group Report`,\n defaultBackRoute: Names.SEGMENT_OVERVIEW,\n requiredPermissions: [],\n },\n beforeEnter: segmentReportingGuard,\n component: SEGMENT_GROUP_REPORT_PAGE,\n },\n {\n path: `${Paths.REPORTING}/${Paths.SEGMENTS}/${Paths.TOPIC}/:id`,\n name: Names.SEGMENT_TOPIC_REPORT,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Segment Topic Report`,\n defaultBackRoute: Names.SEGMENT_OVERVIEW,\n requiredPermissions: [Permissions.Reporting],\n },\n beforeEnter: segmentReportingGuard,\n component: SEGMENT_TOPIC_REPORT_PAGE,\n },\n {\n path: `${Paths.REPORTING}/${Paths.SKILLS}/:id`,\n name: Names.SKILL_REPORT,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Skill Report`,\n defaultBackRoute: Names.SKILLS_REPORT,\n requiredPermissions: [Permissions.Reporting, Permissions.AdminSkills],\n },\n beforeEnter: guards([checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.SKILLS)]),\n component: SKILL_REPORT_PAGE,\n },\n];\n\nexport const adminReportRoutes: RouteConfig[] = [\n {\n path: `${Paths.REPORT}/`,\n name: Names.MY_ADMIN_REPORT,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Report`,\n showNavigationSidebar: true,\n leftSidebarIsCompact: true,\n titleTranslationKey: 'spa.navigation.sections.reports.my-learning',\n requiredPermissions: [Permissions.Reporting],\n },\n component: MY_REPORT,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.REPORTING),\n },\n {\n path: `${Paths.REPORT}/${Paths.ALL_COURSES}/`,\n name: Names.COURSES_REPORT,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Courses Report`,\n showNavigationSidebar: true,\n leftSidebarIsCompact: true,\n titleTranslationKey: 'spa.navigation.sections.reports.courses',\n requiredPermissions: [Permissions.Reporting],\n },\n component: ALL_COURSES_REPORT_PAGE,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.REPORTING),\n },\n {\n path: `${Paths.REPORT}/${Paths.ALL_USERS}/`,\n name: Names.USERS_REPORT,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Users Report`,\n showNavigationSidebar: true,\n leftSidebarIsCompact: true,\n titleTranslationKey: 'spa.navigation.sections.reports.users',\n requiredPermissions: [Permissions.Reporting],\n },\n component: ALL_USERS_REPORT_PAGE,\n beforeEnter: checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.REPORTING),\n },\n {\n path: `${Paths.REPORT}/${Paths.SEGMENT_OVERVIEW}/`,\n name: Names.SEGMENT_OVERVIEW,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Users Report`,\n showNavigationSidebar: true,\n leftSidebarIsCompact: true,\n titleTranslationKey: 'spa.navigation.sections.reports.segments',\n requiredPermissions: [Permissions.Reporting],\n },\n component: SEGMENT_OVERVIEW_PAGE,\n beforeEnter: segmentReportingGuard,\n },\n {\n path: `${Paths.REPORT}/${Paths.GROUP}/`,\n name: Names.GROUPS_REPORT,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Groups Report`,\n showNavigationSidebar: true,\n leftSidebarIsCompact: true,\n titleTranslationKey: 'spa.navigation.sections.reports.groups',\n requiredPermissions: [Permissions.Reporting],\n },\n component: GROUP_REPORT_PAGE,\n beforeEnter: guards([\n checkIfAvailableByLaunchDarkly(AppFeaturesList.GROUPS_REPORTING_MANAGER),\n checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.USER_PERMISSIONS),\n checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.REPORTING),\n ]),\n },\n {\n path: `${Paths.REPORT}/${Paths.SKILLS}/`,\n name: Names.SKILLS_REPORT,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Skills Report`,\n showNavigationSidebar: true,\n leftSidebarIsCompact: true,\n titleTranslationKey: 'spa.navigation.sections.reports.skills',\n requiredPermissions: [Permissions.Reporting],\n },\n component: SKILLS_REPORT_PAGE,\n beforeEnter: guards([checkIfRouteAvailableByPlanFeatures(PlanFeaturesList.SKILLS)]),\n },\n {\n path: `${Paths.REPORT}/${Paths.MOBILE}`,\n name: Names.MOBILE_ROOT,\n meta: {\n title: `${PREFIX_IN_BROWSER_TAB} | Reporting`,\n titleTranslationKey: 'spa.navigation.sections.main.reports',\n requiredPermissions: [Permissions.Reporting],\n },\n component: MOBILE_ROOT_PAGE,\n beforeEnter: guards([redirectIfGuard(() => isDesktop(), Names.MY_ADMIN_REPORT)]),\n },\n];\n\nconst isDesktop = () => {\n const module = smartRootModule.context(store).modules.mobileMode;\n\n return Boolean(!module.getters.isMobile());\n};\n\nexport default routes;\n","import store, { smartRootModule } from '@/main/baseStore';\nimport { NavigationGuardNext, Route } from 'vue-router';\nimport { handlePageNotFound } from '@/common/services/transition-common';\nimport { AppFeaturesList } from '../models';\n\nexport const checkIfAvailableByLaunchDarkly = (launchDarklyFeature: AppFeaturesList) => {\n return async (_to: Route, _from: Route, next: NavigationGuardNext) => {\n const launchDarklyFeaturesStore = smartRootModule.context(store).modules.launchDarklyFeatureStore;\n const isLaunchDarklyFeaturesInitialized = launchDarklyFeaturesStore.state.launchDarklyInitialized;\n\n if (!isLaunchDarklyFeaturesInitialized) {\n await launchDarklyFeaturesStore.actions.initializeLaunchDarkly();\n }\n\n const isPageAvailable =\n launchDarklyFeaturesStore.getters.checkIfLaunchDarklyFeatureEnabled(launchDarklyFeature);\n\n if (!isPageAvailable) {\n handlePageNotFound(next);\n } else {\n next();\n }\n };\n};\n","import Vue from 'vue';\nimport * as Sentry from '@sentry/vue';\nimport { Integrations as TracingIntegrations } from '@sentry/tracing';\nimport environment from './environment';\nimport SentryFullStory from '@sentry/fullstory';\nimport { initializeFullstory } from './fullstory';\nimport { Integration } from '@sentry/types';\nimport VueRouter from 'vue-router';\nimport { LoginSessionLoadError } from '@/authentication/services/errors';\n\ninitializeFullstory();\n\nexport function initializeSentry(router: VueRouter) {\n if (environment.sentryDsn && environment.sentryOrganisation) {\n const tracingOrigins = [\n 'api-staging.eloomi.com',\n 'api.eloomi.com',\n 'persona-api.staging.eloomi.io',\n 'persona-api.eloomi.io',\n ];\n\n if (environment.clientType === 'mobileApp') {\n tracingOrigins.push('localhost');\n }\n\n const integrations: Array = [\n new TracingIntegrations.BrowserTracing({\n routingInstrumentation: Sentry.vueRouterInstrumentation(router),\n traceFetch: true,\n traceXHR: true,\n startTransactionOnPageLoad: true,\n startTransactionOnLocationChange: true,\n tracingOrigins: tracingOrigins,\n markBackgroundTransactions: false,\n }),\n ];\n\n if (environment.fullstoryOrgId) {\n integrations.push(new SentryFullStory(environment.sentryOrganisation));\n }\n\n Sentry.init({\n Vue,\n dsn: environment.sentryDsn,\n release: environment.sentryRelease,\n integrations: integrations,\n tracesSampleRate: environment.sentryTraceSampleRate,\n environment: environment.type,\n attachStacktrace: true,\n ignoreErrors: [\n 'ResizeObserver loop',\n 'Redirected when going from',\n new RegExp(LoginSessionLoadError.message),\n ],\n });\n }\n}\n\n/** Get initialized sentry instance. In case sentry is disabled this is noop. */\nexport function withSentry(func: (sentry: typeof Sentry) => void) {\n const instance = Sentry.getCurrentHub().getClient();\n\n if (!instance) return;\n\n func(Sentry);\n}\n","// This file is auto-generated by update-translation-configuration script.\n// Don't edit it manually, instead run `npm run update-translation-configuration`.\n\nexport enum Language {\n 'da-DK' = 'da-DK',\n 'de-DE' = 'de-DE',\n 'en-GB' = 'en-GB',\n 'es-ES' = 'es-ES',\n 'fr-FR' = 'fr-FR',\n 'is-IS' = 'is-IS',\n 'no-NO' = 'no-NO',\n 'pt-PT' = 'pt-PT',\n 'ru-RU' = 'ru-RU',\n 'zh-CN' = 'zh-CN',\n}\n\nexport const languages = [\n Language['da-DK'],\n Language['de-DE'],\n Language['en-GB'],\n Language['es-ES'],\n Language['fr-FR'],\n Language['is-IS'],\n Language['no-NO'],\n Language['pt-PT'],\n Language['ru-RU'],\n Language['zh-CN'],\n];\nexport const defaultLanguage = Language['en-GB'];\n\nexport { default as defaultDictionary } from '@/translations/modules/en-GB';\n\nimport adminApiTokensTranslations from '@/admin/api-tokens/i18n/translations.en-GB.json';\nimport adminBillingTranslations from '@/admin/billing/i18n/translations.en-GB.json';\nimport adminBrandingTranslations from '@/admin/branding/i18n/translations.en-GB.json';\nimport adminCategoriesTranslations from '@/admin/categories/i18n/translations.en-GB.json';\nimport adminCoursesTranslations from '@/admin/courses/i18n/translations.en-GB.json';\nimport adminEventsTranslations from '@/admin/events/i18n/translations.en-GB.json';\nimport adminGroupsTranslations from '@/admin/groups/i18n/translations.en-GB.json';\nimport adminTranslations from '@/admin/i18n/translations.en-GB.json';\nimport adminPlaylistsTranslations from '@/admin/playlists/i18n/translations.en-GB.json';\nimport adminSettingsTranslations from '@/admin/settings/i18n/translations.en-GB.json';\nimport adminSkillsTranslations from '@/admin/skills/i18n/translations.en-GB.json';\nimport adminTopicsTranslations from '@/admin/topics/i18n/translations.en-GB.json';\nimport adminUsersTranslations from '@/admin/users/i18n/translations.en-GB.json';\nimport authenticationTranslations from '@/authentication/i18n/translations.en-GB.json';\nimport commonComponentsTranslations from '@/common/components/i18n/translations.en-GB.json';\nimport commonTranslations from '@/common/i18n/translations.en-GB.json';\nimport contentStoreTranslations from '@/content-store/i18n/translations.en-GB.json';\nimport coursesTranslations from '@/courses/i18n/translations.en-GB.json';\nimport eventsTranslations from '@/events/i18n/translations.en-GB.json';\nimport notificationsTranslations from '@/notifications/i18n/translations.en-GB.json';\nimport openInAppTranslations from '@/open-in-app/i18n/translations.en-GB.json';\nimport profileSettingsTranslations from '@/profile-settings/i18n/translations.en-GB.json';\nimport reportingCommonTranslations from '@/reporting/i18n/common/translations.en-GB.json';\nimport reportingCourseReportTranslations from '@/reporting/i18n/course-report/translations.en-GB.json';\nimport reportingSegmentsTranslations from '@/reporting/i18n/segments/translations.en-GB.json';\nimport reportingSkillsReportTranslations from '@/reporting/i18n/skills-report/translations.en-GB.json';\nimport reportingUserGroupsReportTranslations from '@/reporting/i18n/user-groups-report/translations.en-GB.json';\nimport reportingUserReportTranslations from '@/reporting/i18n/user-report/translations.en-GB.json';\n\nexport type AdminApiTokensTranslationsKeys = keyof typeof adminApiTokensTranslations;\nexport type AdminBillingTranslationsKeys = keyof typeof adminBillingTranslations;\nexport type AdminBrandingTranslationsKeys = keyof typeof adminBrandingTranslations;\nexport type AdminCategoriesTranslationsKeys = keyof typeof adminCategoriesTranslations;\nexport type AdminCoursesTranslationsKeys = keyof typeof adminCoursesTranslations;\nexport type AdminEventsTranslationsKeys = keyof typeof adminEventsTranslations;\nexport type AdminGroupsTranslationsKeys = keyof typeof adminGroupsTranslations;\nexport type AdminTranslationsKeys = keyof typeof adminTranslations;\nexport type AdminPlaylistsTranslationsKeys = keyof typeof adminPlaylistsTranslations;\nexport type AdminSettingsTranslationsKeys = keyof typeof adminSettingsTranslations;\nexport type AdminSkillsTranslationsKeys = keyof typeof adminSkillsTranslations;\nexport type AdminTopicsTranslationsKeys = keyof typeof adminTopicsTranslations;\nexport type AdminUsersTranslationsKeys = keyof typeof adminUsersTranslations;\nexport type AuthenticationTranslationsKeys = keyof typeof authenticationTranslations;\nexport type CommonComponentsTranslationsKeys = keyof typeof commonComponentsTranslations;\nexport type CommonTranslationsKeys = keyof typeof commonTranslations;\nexport type ContentStoreTranslationsKeys = keyof typeof contentStoreTranslations;\nexport type CoursesTranslationsKeys = keyof typeof coursesTranslations;\nexport type EventsTranslationsKeys = keyof typeof eventsTranslations;\nexport type NotificationsTranslationsKeys = keyof typeof notificationsTranslations;\nexport type OpenInAppTranslationsKeys = keyof typeof openInAppTranslations;\nexport type ProfileSettingsTranslationsKeys = keyof typeof profileSettingsTranslations;\nexport type ReportingCommonTranslationsKeys = keyof typeof reportingCommonTranslations;\nexport type ReportingCourseReportTranslationsKeys = keyof typeof reportingCourseReportTranslations;\nexport type ReportingSegmentsTranslationsKeys = keyof typeof reportingSegmentsTranslations;\nexport type ReportingSkillsReportTranslationsKeys = keyof typeof reportingSkillsReportTranslations;\nexport type ReportingUserGroupsReportTranslationsKeys = keyof typeof reportingUserGroupsReportTranslations;\nexport type ReportingUserReportTranslationsKeys = keyof typeof reportingUserReportTranslations;\n\nexport type TranslationKeys =\n | AdminApiTokensTranslationsKeys\n | AdminBillingTranslationsKeys\n | AdminBrandingTranslationsKeys\n | AdminCategoriesTranslationsKeys\n | AdminCoursesTranslationsKeys\n | AdminEventsTranslationsKeys\n | AdminGroupsTranslationsKeys\n | AdminTranslationsKeys\n | AdminPlaylistsTranslationsKeys\n | AdminSettingsTranslationsKeys\n | AdminSkillsTranslationsKeys\n | AdminTopicsTranslationsKeys\n | AdminUsersTranslationsKeys\n | AuthenticationTranslationsKeys\n | CommonComponentsTranslationsKeys\n | CommonTranslationsKeys\n | ContentStoreTranslationsKeys\n | CoursesTranslationsKeys\n | EventsTranslationsKeys\n | NotificationsTranslationsKeys\n | OpenInAppTranslationsKeys\n | ProfileSettingsTranslationsKeys\n | ReportingCommonTranslationsKeys\n | ReportingCourseReportTranslationsKeys\n | ReportingSegmentsTranslationsKeys\n | ReportingSkillsReportTranslationsKeys\n | ReportingUserGroupsReportTranslationsKeys\n | ReportingUserReportTranslationsKeys;\n","export type PluralKey = Partial>;\n\nexport type Dictionary = Record;\n\nexport * from './types-generated';\n\nimport { Language } from './types-generated';\n\nexport const supportedLanguages: Language[] = [\n Language['en-GB'],\n Language['de-DE'],\n Language['da-DK'],\n Language['es-ES'],\n Language['fr-FR'],\n Language['is-IS'],\n Language['no-NO'],\n Language['pt-PT'],\n Language['ru-RU'],\n Language['zh-CN'],\n];\n","import { supportedLanguages, defaultLanguage, Language } from '@/translations';\n\nexport function getSupportedLanguage(language?: string | null) {\n if (!language) {\n language = navigator.language;\n }\n\n if ((supportedLanguages as string[]).includes(language)) {\n return language as Language;\n }\n\n const [languageCode] = language.split('-');\n\n const languageCodeMatch = supportedLanguages.find(l => l.startsWith(languageCode));\n\n return languageCodeMatch || defaultLanguage;\n}\n","import { defaultDictionary, TranslationKeys } from '@/translations';\n\nexport function isTranslationKey(key: string): key is TranslationKeys {\n return key in defaultDictionary;\n}\n","// This file is auto-generated by update-translation-configuration script.\n// Don't edit it manually, instead run `npm run update-translation-configuration`.\n\nimport adminApiTokensTranslations from '@/admin/api-tokens/i18n/translations.en-GB.json';\nimport adminBillingTranslations from '@/admin/billing/i18n/translations.en-GB.json';\nimport adminBrandingTranslations from '@/admin/branding/i18n/translations.en-GB.json';\nimport adminCategoriesTranslations from '@/admin/categories/i18n/translations.en-GB.json';\nimport adminCoursesTranslations from '@/admin/courses/i18n/translations.en-GB.json';\nimport adminEventsTranslations from '@/admin/events/i18n/translations.en-GB.json';\nimport adminGroupsTranslations from '@/admin/groups/i18n/translations.en-GB.json';\nimport adminTranslations from '@/admin/i18n/translations.en-GB.json';\nimport adminPlaylistsTranslations from '@/admin/playlists/i18n/translations.en-GB.json';\nimport adminSettingsTranslations from '@/admin/settings/i18n/translations.en-GB.json';\nimport adminSkillsTranslations from '@/admin/skills/i18n/translations.en-GB.json';\nimport adminTopicsTranslations from '@/admin/topics/i18n/translations.en-GB.json';\nimport adminUsersTranslations from '@/admin/users/i18n/translations.en-GB.json';\nimport authenticationTranslations from '@/authentication/i18n/translations.en-GB.json';\nimport commonComponentsTranslations from '@/common/components/i18n/translations.en-GB.json';\nimport commonTranslations from '@/common/i18n/translations.en-GB.json';\nimport contentStoreTranslations from '@/content-store/i18n/translations.en-GB.json';\nimport coursesTranslations from '@/courses/i18n/translations.en-GB.json';\nimport eventsTranslations from '@/events/i18n/translations.en-GB.json';\nimport notificationsTranslations from '@/notifications/i18n/translations.en-GB.json';\nimport openInAppTranslations from '@/open-in-app/i18n/translations.en-GB.json';\nimport profileSettingsTranslations from '@/profile-settings/i18n/translations.en-GB.json';\nimport reportingCommonTranslations from '@/reporting/i18n/common/translations.en-GB.json';\nimport reportingCourseReportTranslations from '@/reporting/i18n/course-report/translations.en-GB.json';\nimport reportingSegmentsTranslations from '@/reporting/i18n/segments/translations.en-GB.json';\nimport reportingSkillsReportTranslations from '@/reporting/i18n/skills-report/translations.en-GB.json';\nimport reportingUserGroupsReportTranslations from '@/reporting/i18n/user-groups-report/translations.en-GB.json';\nimport reportingUserReportTranslations from '@/reporting/i18n/user-report/translations.en-GB.json';\n\nimport { mergeTranslations } from '@/common/services';\n\nexport default mergeTranslations(\n adminApiTokensTranslations,\n adminBillingTranslations,\n adminBrandingTranslations,\n adminCategoriesTranslations,\n adminCoursesTranslations,\n adminEventsTranslations,\n adminGroupsTranslations,\n adminTranslations,\n adminPlaylistsTranslations,\n adminSettingsTranslations,\n adminSkillsTranslations,\n adminTopicsTranslations,\n adminUsersTranslations,\n authenticationTranslations,\n commonComponentsTranslations,\n commonTranslations,\n contentStoreTranslations,\n coursesTranslations,\n eventsTranslations,\n notificationsTranslations,\n openInAppTranslations,\n profileSettingsTranslations,\n reportingCommonTranslations,\n reportingCourseReportTranslations,\n reportingSegmentsTranslations,\n reportingSkillsReportTranslations,\n reportingUserGroupsReportTranslations,\n reportingUserReportTranslations\n);\n","import { Dictionary } from '@/translations';\n\nexport type TranslationVariables = { [key: string]: string | number | null | undefined };\n\nfunction replaceAll(phrase: string, searchValue: RegExp | string, replaceValue: string): string {\n const regExp = new RegExp(searchValue, 'g');\n return phrase.replace(regExp, replaceValue);\n}\n\nfunction injectVariables(phrase: string, variables: TranslationVariables): string {\n return Object.keys(variables).reduce((resultPhrase, currentKey) => {\n const value = variables[currentKey];\n const normalizedValue = typeof value === 'undefined' ? currentKey : String(value);\n\n return replaceAll(resultPhrase, `#${currentKey}#`, normalizedValue);\n }, phrase);\n}\n\nfunction getPhrase(key: string, locale?: string, dictionary?: Dictionary, variables?: TranslationVariables) {\n if (!dictionary || dictionary[key] === undefined) {\n return undefined;\n }\n const entry = dictionary[key];\n\n if (typeof entry === 'string') {\n return entry as string;\n }\n\n if (variables && 'num' in variables && typeof variables.num === 'number' && locale) {\n if (variables.num === 0 && entry['zero']) {\n return entry['zero'];\n }\n const category = new Intl.PluralRules(locale).select(variables.num);\n if (entry[category]) {\n return entry[category];\n }\n }\n\n return entry['other'] || entry['many'] || entry['one'] || undefined;\n}\n\nexport type TranslateKeyParams = {\n key: string;\n dictionary: Dictionary;\n variables?: TranslationVariables;\n locale?: string;\n fallbackLocale?: string;\n fallbackDictionary?: Dictionary;\n};\n\nexport function translateKey({\n key,\n dictionary,\n variables,\n locale,\n fallbackLocale,\n fallbackDictionary,\n}: TranslateKeyParams): string {\n if (document.cookie.includes('translation_keys=1')) {\n return key;\n }\n\n let phrase =\n getPhrase(key, locale, dictionary, variables) || getPhrase(key, fallbackLocale, fallbackDictionary, variables);\n\n if (phrase && variables) {\n phrase = injectVariables(phrase, variables);\n }\n\n if (\n typeof phrase === 'undefined' &&\n (document.cookie.includes('warn_missing_keys=1') || process.env.NODE_ENV === 'development')\n ) {\n console.warn(`[Translation] There's no value for key: ${key}`);\n }\n\n return phrase || key;\n}\n","/* eslint-disable vue/one-component-per-file */\nimport { Module, Mutations, Actions, createMapper, Getters, createComposable } from 'vuex-smart-module';\nimport { Vue } from 'vue-property-decorator';\nimport { Dictionary, Language, TranslationKeys, defaultLanguage, defaultDictionary, languages } from '@/translations';\n\nimport { translateKey, TranslationVariables } from '@/translations/store/translateKey';\n\nexport type TransFunction = (key: TranslationKeys, variables?: TranslationVariables) => string;\n\nclass State {\n public dictionaries: { [key in Language]?: Dictionary } = {\n [defaultLanguage]: defaultDictionary,\n };\n public currentLanguage: Language = defaultLanguage;\n public lastRequestedLanguage?: Language;\n public loaders: { [key in Language]?: Promise } = {};\n}\n\nclass StoreGetters extends Getters {\n public get languages() {\n return languages;\n }\n\n public get currentDictionary(): Dictionary {\n return this.state.dictionaries[this.state.currentLanguage]!;\n }\n\n public get fallbackLanguage() {\n return defaultLanguage;\n }\n\n public get fallbackDictionary() {\n return this.state.dictionaries[this.getters.fallbackLanguage]!;\n }\n\n public trans(key: TranslationKeys, variables?: TranslationVariables) {\n return translateKey({\n key,\n locale: this.state.currentLanguage,\n dictionary: this.getters.currentDictionary,\n variables,\n fallbackLocale: this.getters.fallbackLanguage,\n fallbackDictionary: this.getters.fallbackDictionary,\n });\n }\n}\n\nexport class StoreMutations extends Mutations {\n public addDictionary({ language, dictionary }: { language: Language; dictionary: Dictionary }) {\n Vue.set(this.state.dictionaries, language, Object.freeze(dictionary));\n }\n\n public setLoader({ language, loader }: { language: Language; loader?: Promise }) {\n if (loader) {\n this.state.loaders[language] = loader;\n } else {\n delete this.state.loaders[language];\n }\n }\n\n public setLanguage(language: Language) {\n this.state.currentLanguage = language;\n }\n\n public setLastRequestedLanguage(language: Language) {\n this.state.lastRequestedLanguage = language;\n }\n}\n\nexport class StoreActions extends Actions {\n public async setLanguage(language: Language) {\n if (!this.getters.languages.includes(language)) {\n return;\n }\n\n this.mutations.setLastRequestedLanguage(language);\n\n if (language === this.state.currentLanguage) {\n return;\n }\n\n if (this.state.dictionaries[language]) {\n this.mutations.setLanguage(language);\n return;\n }\n\n if (this.state.loaders[language]) {\n await this.state.loaders[language];\n } else {\n const loader = (async () => {\n const module = await import(/* webpackMode: \"lazy\" */ `@/translations/modules/${language}.ts`);\n this.mutations.setLoader({ language });\n this.mutations.addDictionary({ language, dictionary: module.default });\n })();\n this.mutations.setLoader({ language, loader });\n await loader;\n }\n\n if (this.state.lastRequestedLanguage === language) {\n this.mutations.setLanguage(language);\n }\n }\n}\n\nconst translationsStore = new Module({\n state: State,\n getters: StoreGetters,\n mutations: StoreMutations,\n actions: StoreActions,\n});\n\nexport const useTranslationsStore = createComposable(translationsStore);\n\nexport default translationsStore;\nexport const translationsStoreMapper = createMapper(translationsStore);\nexport const TranslationsStoreMixin = Vue.extend({\n computed: {\n ...translationsStoreMapper.mapState(['currentLanguage']),\n ...translationsStoreMapper.mapGetters(['currentDictionary', 'fallbackDictionary']),\n },\n methods: translationsStoreMapper.mapActions(['setLanguage']),\n});\n\nexport const TranslationMixin = Vue.extend({\n computed: {\n ...translationsStoreMapper.mapGetters(['trans']),\n ...translationsStoreMapper.mapState(['currentLanguage']),\n },\n});\n","/**\n * This is a kind of copy-paste of vueuse 0.8.0 implementation.\n */\n\nimport { type ConfigurableWindow, tryOnScopeDispose, unrefElement, defaultWindow, MaybeElement } from '@vueuse/core';\nimport { type Ref, watch } from 'vue';\n\nexport interface ResizeObserverSize {\n readonly inlineSize: number;\n readonly blockSize: number;\n}\n\nexport interface ResizeObserverEntry {\n readonly target: Element;\n readonly contentRect: DOMRectReadOnly;\n readonly borderBoxSize?: ReadonlyArray;\n readonly contentBoxSize?: ReadonlyArray;\n readonly devicePixelContentBoxSize?: ReadonlyArray;\n}\n\nexport type ResizeObserverCallback = (entries: ReadonlyArray, observer: ResizeObserver) => void;\n\nexport interface ResizeObserverOptions extends ConfigurableWindow {\n /**\n * Sets which box model the observer will observe changes to. Possible values\n * are `content-box` (the default), and `border-box`.\n *\n * @default 'content-box'\n */\n box?: 'content-box' | 'border-box';\n}\n\ndeclare class ResizeObserver {\n constructor(callback: ResizeObserverCallback);\n disconnect(): void;\n observe(target: Element, options?: ResizeObserverOptions): void;\n unobserve(target: Element): void;\n}\n\n/**\n * Reports changes to the dimensions of an Element's content or the border-box\n *\n * @see https://vueuse.org/useResizeObserver\n * @param target\n * @param callback\n * @param options\n */\nexport function useResizeObserver(\n target: Ref,\n callback: ResizeObserverCallback,\n options: ResizeObserverOptions = {}\n) {\n const { window = defaultWindow, ...observerOptions } = options;\n let observer: ResizeObserver | undefined;\n const isSupported = window && 'ResizeObserver' in window;\n\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = undefined;\n }\n };\n\n const stopWatch = watch(\n () => unrefElement(target),\n el => {\n cleanup();\n\n if (isSupported && window && el) {\n observer = new ResizeObserver(callback);\n observer!.observe(el, observerOptions);\n }\n },\n { immediate: true }\n );\n\n const stop = () => {\n cleanup();\n stopWatch();\n };\n\n tryOnScopeDispose(stop);\n\n return {\n isSupported,\n stop,\n };\n}\n\nexport type UseResizeObserverReturn = ReturnType;\n","/**\n * This is a kind of copy-paste of vueuse 0.8.0 implementation.\n */\n\nimport { type Ref, ref, watch } from 'vue';\nimport { unrefElement, MaybeElement } from '@vueuse/core';\nimport { useResizeObserver, type ResizeObserverOptions } from './use-resize-observer';\n\nexport interface ElementSize {\n width: number;\n height: number;\n}\n\n/**\n * Reactive size of an HTML element.\n *\n * @see https://vueuse.org/useElementSize\n * @param target\n * @param callback\n * @param options\n */\nexport function useElementSize(\n target: Ref,\n initialSize: ElementSize = { width: 0, height: 0 },\n options: ResizeObserverOptions = {}\n) {\n const width = ref(initialSize.width);\n const height = ref(initialSize.height);\n\n useResizeObserver(\n target,\n ([entry]) => {\n width.value = entry.contentRect.width;\n height.value = entry.contentRect.height;\n },\n options\n );\n watch(\n () => unrefElement(target),\n ele => {\n width.value = ele ? initialSize.width : 0;\n height.value = ele ? initialSize.height : 0;\n }\n );\n return {\n width,\n height,\n };\n}\n\nexport type UseElementSizeReturn = ReturnType;\n","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DropdownContainer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DropdownContainer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DropdownContainer.vue?vue&type=template&id=b88581d8&scoped=true&\"\nimport script from \"./DropdownContainer.vue?vue&type=script&lang=ts&\"\nexport * from \"./DropdownContainer.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DropdownContainer.vue?vue&type=style&index=0&id=b88581d8&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b88581d8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dropdown-container\"},[(_vm.hasTitle || _vm.withBackButton)?_c('div',{staticClass:\"header\"},[(_vm.withBackButton)?_c('IconButton',{staticClass:\"back-button\",attrs:{\"color\":\"secondary\",\"size\":\"small\"},on:{\"click\":_vm.handleBackButtonClick}},[_c('elm-arrows-arrow-left-bold-icon',{attrs:{\"size\":\"10\"}})],1):_vm._e(),(_vm.hasTitle)?_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.title))]):_vm._e()],1):_vm._e(),_c('div',{staticClass:\"body\"},[_vm._t(\"default\")],2),(_vm.hasFooter)?_c('div',{staticClass:\"footer\"},[_vm._t(\"footer\")],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectorInput.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectorInput.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SelectorInput.vue?vue&type=template&id=5142ca45&scoped=true&\"\nimport script from \"./SelectorInput.vue?vue&type=script&lang=ts&\"\nexport * from \"./SelectorInput.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SelectorInput.vue?vue&type=style&index=0&id=5142ca45&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5142ca45\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isLoading)?_c('SkeletonLoader',{staticClass:\"selector-input-skeleton\",attrs:{\"height\":\"56px\"}}):_c('div',{staticClass:\"selector-input\",on:{\"click\":_vm.clickHandler}},[_c('elm-actions-search-icon')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectorSearchInput.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/swc-loader/src/index.js!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectorSearchInput.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SelectorSearchInput.vue?vue&type=template&id=0c2e270e&scoped=true&\"\nimport script from \"./SelectorSearchInput.vue?vue&type=script&lang=ts&\"\nexport * from \"./SelectorSearchInput.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SelectorSearchInput.vue?vue&type=style&index=0&id=0c2e270e&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0c2e270e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isLoading)?_c('SkeletonLoader',{staticClass:\"selector-input-skeleton\",attrs:{\"height\":\"56px\"}}):_c('elm-text-field',{attrs:{\"value\":_vm.value,\"size\":_vm.size,\"placeholder\":_vm.placeholder,\"disabled\":_vm.disabled,\"invalid\":_vm.invalid},on:{\"elm-input\":_vm.input,\"elm-focus\":_vm.focus,\"elm-blur\":_vm.blur}},[_c('elm-actions-search-icon',{staticClass:\"info-color\",attrs:{\"slot\":\"icon-left\"},slot:\"icon-left\"}),_vm._t(\"icon-right\",function(){return [(_vm.hasClearButton)?_c('elm-actions-close-regular-icon',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({ content: _vm.clearButtonTooltip }),expression:\"{ content: clearButtonTooltip }\"}],staticClass:\"clear-button\",attrs:{\"slot\":\"icon-right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.onClearClick.apply(null, arguments)}},slot:\"icon-right\"}):_vm._e()]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"no-result\"},[_c('h4',{staticClass:\"h4 dark-color\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),_c('div',{staticClass:\"info-line info-color message\"},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")]),(_vm.showCreateNewButton)?_c('elm-button',{staticClass:\"create-new-button\",attrs:{\"color\":\"primary\",\"size\":\"small\"},on:{\"click\":_vm.emitButtonClick}},[_vm._v(\" \"+_vm._s(_vm.buttonText)+\" \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectorNoResults.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectorNoResults.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SelectorNoResults.vue?vue&type=template&id=366e0ddc&scoped=true&\"\nimport script from \"./SelectorNoResults.vue?vue&type=script&lang=ts&\"\nexport * from \"./SelectorNoResults.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SelectorNoResults.vue?vue&type=style&index=0&id=366e0ddc&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"366e0ddc\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectorNoOptions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SelectorNoOptions.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SelectorNoOptions.vue?vue&type=template&id=fa608018&scoped=true&\"\nimport script from \"./SelectorNoOptions.vue?vue&type=script&lang=ts&\"\nexport * from \"./SelectorNoOptions.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SelectorNoOptions.vue?vue&type=style&index=0&id=fa608018&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fa608018\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"selector-no-options\"},[_c('p',{staticClass:\"message h4\"},[_vm._v(\"No options\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MobileSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MobileSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileSelector.vue?vue&type=template&id=4500ed90&\"\nimport script from \"./MobileSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileSelector.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MobileSelector.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CoreMobileBottomDrawer',{attrs:{\"isVisible\":_vm.visible,\"isFullscreen\":\"\",\"isClosable\":false,\"className\":\"mobile-selector\",\"preventTouchScroll\":false},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('div',{staticClass:\"selector-header\"},[_c('MobileHeader',{attrs:{\"withTitle\":false},scopedSlots:_vm._u([{key:\"left\",fn:function(){return [_c('elm-actions-close-bold-icon',{staticClass:\"close-button\",attrs:{\"size\":\"20\"},on:{\"click\":_vm.onClose}})]},proxy:true},{key:\"right\",fn:function(){return [_c('elm-button',{attrs:{\"color\":\"primary\"},on:{\"click\":_vm.onConfirm}},[_vm._v(\" \"+_vm._s(_vm.confirmText || _vm.trans('spa.button.confirm'))+\" \")])]},proxy:true}])}),_c('elm-text-field',{staticClass:\"selector-input\",attrs:{\"placeholder\":_vm.placeholder || _vm.trans('spa.uikit.search.placeholder'),\"value\":_vm.filter},on:{\"elm-input\":_vm.onInput}},[_c('elm-actions-search-icon',{attrs:{\"slot\":\"icon-left\",\"size\":\"18\"},slot:\"icon-left\"}),(_vm.filter)?_c('elm-actions-close-regular-icon',{staticClass:\"clear-button\",attrs:{\"slot\":\"icon-right\",\"size\":\"18\"},on:{\"click\":_vm.clearFilter},slot:\"icon-right\"}):_vm._e()],1)],1)]},proxy:true}])},[(!_vm.filter)?_c('div',{staticClass:\"selected-options\"},[(_vm.title)?_c('div',{staticClass:\"h5 dark-color selected-title\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]):_vm._e(),_vm._l((_vm.currentValue),function(option){return [_vm._t(\"selected-option\",function(){return [_c('Tag',{key:option[_vm.trackBy],staticClass:\"selected-option\",attrs:{\"title\":option[_vm.displayField],\"variant\":\"skill\",\"action\":\"delete\",\"intention\":\"danger\",\"isActive\":\"\",\"size\":\"medium\"},on:{\"click\":function($event){return _vm.remove(option)}}})]},{\"option\":option,\"remove\":_vm.remove})]}),(!_vm.currentValue.length)?_c('div',{staticClass:\"no-items-text info-line info-color\"},[_vm._v(\" \"+_vm._s(_vm.noItemsText || _vm.trans('spa.uikit.selector.no-items-selected'))+\" \")]):_vm._e()],2):_c('div',{staticClass:\"all-options\"},[_vm._l((_vm.filteredOptions),function(option){return [_vm._t(\"option\",function(){return [_c('Tag',{key:option[_vm.trackBy],staticClass:\"available-option\",attrs:{\"title\":option[_vm.displayField],\"isActive\":_vm.isSelected(option),\"action\":_vm.isSelected(option) ? 'delete' : 'add',\"variant\":\"skill\",\"intention\":\"danger\",\"size\":\"medium\"},on:{\"click\":function($event){return _vm.toggleSelection(option)}}})]},{\"option\":option,\"isSelected\":_vm.isSelected(option),\"toggleSelection\":_vm.toggleSelection,\"select\":_vm.select,\"remove\":_vm.remove})]}),_c('div',{directives:[{name:\"observe-visibility\",rawName:\"v-observe-visibility\",value:(_vm.onScrolledToBottom),expression:\"onScrolledToBottom\"}]}),(_vm.isLoading)?_vm._t(\"loader\",function(){return [_c('div',{staticClass:\"selector-loader\"},[_c('elm-date-time-reset-icon',{attrs:{\"size\":\"16\"}}),_c('div',{staticClass:\"loader-text info-line\"},[_vm._v(_vm._s(_vm.trans('spa.label.selector.loading')))])],1)]}):(!_vm.filteredOptions.length)?_vm._t(\"no-results\",function(){return [_c('div',{staticClass:\"no-results info-color\"},[_c('elm-alerts-info-viewable-published-no-icon',{attrs:{\"size\":\"32\"}}),_c('div',{staticClass:\"no-results-text info-line\"},[_vm._v(_vm._s(_vm.trans('spa.uikit.selector.no-search-results')))])],1)]}):_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TagButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TagButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TagButton.vue?vue&type=template&id=15668fe4&scoped=true&\"\nimport script from \"./TagButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./TagButton.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TagButton.vue?vue&type=style&index=0&id=15668fe4&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"15668fe4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"tag-button\",class:{ disabled: _vm.disabled },attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.onClick}},[(_vm.$slots.icon)?_c('div',{staticClass:\"tag-button-icon\"},[_vm._t(\"icon\")],2):_vm._e(),_c('span',{staticClass:\"tag-button-text\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Popover',{staticClass:\"tag-popover\",attrs:{\"closeOnContentClick\":\"\",\"isTargetInline\":true,\"placement\":\"bottom-end\",\"preventOutsideClickPropagation\":false,\"portal\":\"popover-options\",\"popoverTestName\":\"tag-actions\"},on:{\"show\":_vm.onShow,\"hide\":_vm.onHide},scopedSlots:_vm._u([{key:\"target\",fn:function(ref){\nvar toggle = ref.toggle;\nreturn [_c('RawTag',_vm._b({staticClass:\"dropdown-tag\",class:{ active: _vm.isOpenOrActive },attrs:{\"isActive\":_vm.isOpenOrActive},on:{\"click\":function($event){return _vm.$emit('click')}},scopedSlots:_vm._u([{key:\"right-icon\",fn:function(){return [_c('div',{staticClass:\"dropdown-trigger\",attrs:{\"data-testid\":\"tag-actions-button\"},on:{\"click\":function($event){$event.stopPropagation();return toggle.apply(null, arguments)}}},[_c('elm-menu-action-icon-icon',{attrs:{\"size\":_vm.iconSize}})],1)]},proxy:true}],null,true)},'RawTag',_vm.$props,false))]}},{key:\"content\",fn:function(){return [_c('BasicDropdownContainer',{staticClass:\"content\"},[_vm._t(\"default\")],2)]},proxy:true}],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TagWithDropdown.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TagWithDropdown.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TagWithDropdown.vue?vue&type=template&id=5d49967f&scoped=true&\"\nimport script from \"./TagWithDropdown.vue?vue&type=script&lang=ts&\"\nexport * from \"./TagWithDropdown.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TagWithDropdown.vue?vue&type=style&index=0&id=5d49967f&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5d49967f\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./OverlayModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./OverlayModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OverlayModal.vue?vue&type=template&id=2a29772b&scoped=true&\"\nimport script from \"./OverlayModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./OverlayModal.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./OverlayModal.vue?vue&type=style&index=0&id=2a29772b&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2a29772b\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('portal',{attrs:{\"to\":\"modal-host\"}},[_c('transition',{attrs:{\"name\":_vm.directionName}},[(_vm.visible)?_c('div',{staticClass:\"overlay-popup\",class:[{ 'has-subheader': _vm.hasSubheader }, _vm.className]},[_vm._t(\"default\")],2):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/swc-loader/src/index.js!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GroupIcon.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/swc-loader/src/index.js!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./GroupIcon.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GroupIcon.vue?vue&type=template&id=73c4fe56&scoped=true&\"\nimport script from \"./GroupIcon.vue?vue&type=script&lang=ts&\"\nexport * from \"./GroupIcon.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./GroupIcon.vue?vue&type=style&index=0&id=73c4fe56&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"73c4fe56\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"group-icon\",class:[_vm.sizeClass],style:(Object.assign({}, _vm.iconSize, {background: _vm.colorDefault}))},[_c('span',{staticClass:\"group-name bright-color\"},[_vm._v(\" \"+_vm._s(_vm.groupName)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ModalWindowFullscreenOverlay.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ModalWindowFullscreenOverlay.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ModalWindowFullscreenOverlay.vue?vue&type=template&id=149a1add&\"\nimport script from \"./ModalWindowFullscreenOverlay.vue?vue&type=script&lang=ts&\"\nexport * from \"./ModalWindowFullscreenOverlay.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ModalWindowFullscreenOverlay.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ModalWindow',{attrs:{\"isVisible\":_vm.isVisible,\"withBackground\":false,\"isScrollable\":true,\"additionalClassContainerWrapper\":\"modal-fullscreen-overlay-wrapper\",\"modalWindowClass\":\"modal-fullscreen-overlay\"},on:{\"request-close\":function($event){return _vm.$emit('request-close')},\"contentClick\":function($event){return _vm.$emit('request-close')},\"close\":function($event){return _vm.$emit('close')}},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._t(\"header\")]},proxy:true},{key:\"content\",fn:function(){return [_c('ModalWindowContent',[_c('div',{staticClass:\"overlay\",style:(_vm.overlayStyle),on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.$emit('close')}}},[_vm._t(\"content\")],2)])]},proxy:true}],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RadioButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RadioButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RadioButton.vue?vue&type=template&id=78f3cf66&scoped=true&\"\nimport script from \"./RadioButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./RadioButton.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./RadioButton.vue?vue&type=style&index=0&id=78f3cf66&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"78f3cf66\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"wrapper\",class:{ checked: _vm.value, disabled: _vm.isDisabled, large: !_vm.isSmall }},[_c('input',{attrs:{\"type\":\"checkbox\",\"disabled\":_vm.isDisabled},domProps:{\"value\":_vm.value},on:{\"input\":_vm.toggle}}),_c('elm-alerts-info-approve-checkmark-icon',{staticClass:\"radio\",attrs:{\"size\":\"10\"}}),(_vm.hasAdditionalLabel)?_c('span',{staticClass:\"description\"},[_vm._v(_vm._s(_vm.label))]):_vm._e(),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"condition-field-wrapper\",class:{ active: _vm.isActive, 'with-deletion': _vm.withDeletion, 'with-click': _vm.hasClickHandler },on:{\"click\":_vm.handleClick}},[_c('div',{staticClass:\"condition-pointer\"},[_c('span',{staticClass:\"condition-statement\"},[_vm._v(\" \"+_vm._s(_vm.statement)+\" \")])]),_c('div',{staticClass:\"conditions-description\"},[(_vm.isEmpty)?_c('span',{staticClass:\"conditions-placeholder\"},[_vm._v(\" \"+_vm._s(_vm.placeholder)+\" \")]):_vm._e(),(_vm.firstOperand)?_c('span',{staticClass:\"condition-first-operand\",attrs:{\"title\":_vm.firstOperand}},[_vm._v(\" \"+_vm._s(_vm.firstOperand)+\" \")]):_vm._e(),(_vm.operator)?_c('span',{staticClass:\"condition-operator\"},[_vm._v(\" \"+_vm._s(_vm.operator)+\" \")]):_vm._e(),(_vm.secondOperand)?_c('span',{staticClass:\"condition-second-operand\",attrs:{\"title\":_vm.secondOperand}},[_vm._v(\" \"+_vm._s(_vm.secondOperand)+\" \")]):_vm._e()]),(_vm.withDeletion)?_c('button',{staticClass:\"delete-condition\",on:{\"click\":function($event){$event.stopPropagation();return _vm.handleDeleteConditionClick.apply(null, arguments)}}},[_c('elm-actions-delete-remove-icon',{staticClass:\"icon remove-icon\",attrs:{\"size\":\"18\"}})],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ConditionField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ConditionField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ConditionField.vue?vue&type=template&id=96bc11c8&scoped=true&\"\nimport script from \"./ConditionField.vue?vue&type=script&lang=ts&\"\nexport * from \"./ConditionField.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ConditionField.vue?vue&type=style&index=0&id=96bc11c8&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"96bc11c8\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./location-selector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./location-selector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./location-selector.vue?vue&type=template&id=0e6c9ba2&scoped=true&\"\nimport script from \"./location-selector.vue?vue&type=script&lang=ts&\"\nexport * from \"./location-selector.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./location-selector.vue?vue&type=style&index=0&id=0e6c9ba2&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0e6c9ba2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"location-selector\"},[_c('Popover',{ref:\"popover\",attrs:{\"sameWidth\":true,\"isTargetInline\":false},scopedSlots:_vm._u([{key:\"target\",fn:function(){return [_c('TextField',{ref:\"textField\",attrs:{\"placeholder\":_vm.placeholder,\"isInvalid\":_vm.isInvalid,\"isDisabled\":_vm.isDisabled,\"iconLeft\":\"elm-miscellaneous-onsite-icon\",\"size\":\"small\"},on:{\"keydown\":_vm.handleHotkey,\"focus\":_vm.onTextFieldFocus,\"blur\":_vm.onTextFieldBlur},scopedSlots:_vm._u([{key:\"right\",fn:function(){return [_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.isLoading)?_c('CoreCircleProgress',{attrs:{\"size\":\"small\",\"isSpinning\":true}}):_vm._e()],1)]},proxy:true}]),model:{value:(_vm.text),callback:function ($$v) {_vm.text=$$v},expression:\"text\"}})]},proxy:true},{key:\"content\",fn:function(){return [_c('BasicDropdownContainer',_vm._l((_vm.items),function(item,index){return _c('DropdownItem',{key:item.place_id,attrs:{\"title\":item.description,\"isSelected\":index === _vm.highlightedIndex,\"search\":_vm.text},on:{\"click\":function($event){return _vm.selectItem(item)}}})}),1)]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Vue } from 'vue-property-decorator';\n\nexport default class HighlightedOptionScroller {\n private container: HTMLElement | null;\n private readonly offsetTop: number;\n\n constructor(options?: { offsetTop?: number }) {\n this.container = null;\n this.offsetTop = options?.offsetTop ?? 60;\n }\n\n public setContainer(container: HTMLElement | Element | Vue) {\n this.container = (container instanceof Element ? container : container.$el) as HTMLElement;\n return this;\n }\n\n public scrollToOption(index: number | null) {\n if (!this.container || index === null) return;\n\n const highlightedOption = this.container.querySelector(`[data-option-index=\"${index}\"]`);\n\n if (!highlightedOption) return;\n\n this.container.scrollTo({\n top: (highlightedOption as HTMLElement).offsetTop - this.offsetTop,\n });\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TimeSelector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/swc-loader/src/index.js!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TimeSelector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimeSelector.vue?vue&type=template&id=7bc85ae5&scoped=true&\"\nimport script from \"./TimeSelector.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimeSelector.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TimeSelector.vue?vue&type=style&index=0&id=7bc85ae5&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7bc85ae5\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Popover',{ref:\"popover\",staticClass:\"time-selector\",class:{ invalid: _vm.isInvalid, disabled: _vm.isDisabled },attrs:{\"isTargetInline\":false,\"autoMaxHeight\":\"\",\"closeOnContentClick\":\"\"},scopedSlots:_vm._u([{key:\"target\",fn:function(){return [_c('TextField',{ref:\"textField\",attrs:{\"value\":_vm.timeFromDateValue,\"debounce\":300,\"isInvalid\":_vm.isInvalid,\"isDisabled\":_vm.isDisabled,\"placeholder\":_vm.placeholder,\"size\":\"small\"},on:{\"keydown\":_vm.handleHotkey,\"change\":_vm.validateAndUpdateValue,\"focus\":_vm.showDropdown},scopedSlots:_vm._u([{key:\"left\",fn:function(){return [_c('elm-date-time-time-clock-icon',{staticClass:\"time-selector-icon\",attrs:{\"size\":\"18\"}})]},proxy:true}])})]},proxy:true},{key:\"content\",fn:function(){return [_c('BasicDropdownContainer',{ref:\"container\",staticClass:\"options\",on:{\"mounted\":_vm.handleDropdownMount}},_vm._l((_vm.options),function(option,index){return _c('DropdownItem',{key:option.getTime(),staticClass:\"option\",attrs:{\"data-option-index\":index,\"title\":_vm.dateToTime(option),\"isSelected\":_vm.isOptionHighlighted(index)},on:{\"click\":function($event){return _vm.emitValue(option)}},scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('div',{staticClass:\"option-content\"},[_vm._v(\" \"+_vm._s(_vm.dateToTime(option))+\" \"),(Boolean(_vm.from) && _vm.getDuration(option))?_c('span',{staticClass:\"duration\"},[_vm._v(\" (\"+_vm._s(_vm.getDuration(option))+\") \")]):_vm._e()])]},proxy:true}],null,true)})}),1)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const IS_IN_MODAL = Symbol('is-in-modal');\n","// tslint:disable: max-classes-per-file\nimport { Module, Mutations, createMapper } from 'vuex-smart-module';\n\nclass State {\n public isModalShown = false;\n}\n\nclass WhatsnewMutations extends Mutations {\n public showModal() {\n this.state.isModalShown = true;\n }\n\n public hideModal() {\n this.state.isModalShown = false;\n }\n}\n\nconst whatsNewStore = new Module({\n state: State,\n mutations: WhatsnewMutations,\n});\n\nexport const whatsNewStoreMapper = createMapper(whatsNewStore);\nexport default whatsNewStore;\n","var map = {\n\t\"./da-DK.ts\": [\n\t\t95246,\n\t\t5246\n\t],\n\t\"./de-DE.ts\": [\n\t\t47787,\n\t\t7787\n\t],\n\t\"./en-GB.ts\": [\n\t\t39587\n\t],\n\t\"./es-ES.ts\": [\n\t\t40059,\n\t\t59\n\t],\n\t\"./fr-FR.ts\": [\n\t\t24186,\n\t\t4186\n\t],\n\t\"./is-IS.ts\": [\n\t\t71029,\n\t\t1029\n\t],\n\t\"./no-NO.ts\": [\n\t\t92319,\n\t\t2319\n\t],\n\t\"./pt-PT.ts\": [\n\t\t66613,\n\t\t6613\n\t],\n\t\"./ru-RU.ts\": [\n\t\t22691,\n\t\t2691\n\t],\n\t\"./zh-CN.ts\": [\n\t\t90460,\n\t\t460\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 11351;\nmodule.exports = webpackAsyncContext;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"48\":\"e1087fdc\",\"59\":\"a1468277\",\"170\":\"4c09cde4\",\"202\":\"4b187f6c\",\"299\":\"5a390541\",\"371\":\"4854e8be\",\"373\":\"bbdab335\",\"397\":\"0e0b5a0d\",\"438\":\"0e4515ac\",\"460\":\"dfd5e8bf\",\"870\":\"d7b1be0f\",\"1015\":\"8777295a\",\"1028\":\"fd87dc95\",\"1029\":\"58124036\",\"1270\":\"72034fc3\",\"1312\":\"0ac5d796\",\"1395\":\"9b73a968\",\"1517\":\"a59b8233\",\"1759\":\"25fa168b\",\"1843\":\"b1c54aff\",\"1897\":\"733bf018\",\"2012\":\"8c6746c4\",\"2107\":\"6734b247\",\"2189\":\"48fc7af3\",\"2300\":\"4c0f471c\",\"2309\":\"360fda0a\",\"2319\":\"152f669f\",\"2397\":\"455122c3\",\"2551\":\"3eb3d6bd\",\"2553\":\"becbcb4c\",\"2631\":\"8e6686ca\",\"2680\":\"f38617e9\",\"2691\":\"8508f571\",\"2703\":\"a9b69ef7\",\"2918\":\"15871891\",\"3030\":\"90e5e927\",\"3087\":\"cd4f9068\",\"3106\":\"6f510421\",\"3133\":\"ec086c74\",\"3227\":\"7cf17866\",\"3251\":\"31add7ee\",\"3314\":\"af542e15\",\"3361\":\"9a506520\",\"3495\":\"cbdd689a\",\"3898\":\"de4cf256\",\"4049\":\"f912184d\",\"4157\":\"6cebe54c\",\"4186\":\"f6d0270a\",\"4548\":\"dbb416b9\",\"4587\":\"40f9ee46\",\"4620\":\"2c19419f\",\"4748\":\"e8698d7e\",\"4938\":\"c2acf099\",\"5246\":\"22b04176\",\"5443\":\"3859f23b\",\"5486\":\"d02f03ff\",\"5635\":\"4a6565ef\",\"5673\":\"cdf1ea1d\",\"5750\":\"fc8028ec\",\"6031\":\"b12f3b71\",\"6126\":\"395c5c06\",\"6275\":\"9fcf7eb6\",\"6339\":\"bdb52f8d\",\"6461\":\"58a4d6f3\",\"6542\":\"d44e2e12\",\"6613\":\"0eda5bfe\",\"6645\":\"3d268161\",\"6890\":\"1649c710\",\"6922\":\"5c8bc4bd\",\"7004\":\"a22f144f\",\"7102\":\"a11ffddf\",\"7109\":\"b43f808a\",\"7122\":\"30f8d3c7\",\"7150\":\"8af11e79\",\"7158\":\"01d56877\",\"7240\":\"d9ed1b1c\",\"7359\":\"c4575e83\",\"7467\":\"b99e8f67\",\"7549\":\"45a0e757\",\"7594\":\"3310161e\",\"7672\":\"a77b6774\",\"7778\":\"540336e0\",\"7787\":\"ce7d9b2a\",\"7856\":\"44ae610e\",\"7900\":\"734054c6\",\"7946\":\"852d556d\",\"8020\":\"dc392de7\",\"8292\":\"3c414996\",\"8326\":\"83a480b3\",\"8398\":\"d21a437a\",\"8459\":\"208c2bf7\",\"8684\":\"86828f6f\",\"8886\":\"d2e47feb\",\"9090\":\"bff70287\",\"9169\":\"67b87d0b\",\"9174\":\"88c87733\",\"9271\":\"d4588111\",\"9441\":\"1f979fa5\",\"9639\":\"9aad862d\",\"9675\":\"08d90b46\",\"9770\":\"f0ad6b7e\",\"9983\":\"4cc5b906\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"202\":\"67b43b91\",\"371\":\"b19f13bd\",\"373\":\"16579992\",\"397\":\"b6cd81dd\",\"438\":\"add856b7\",\"870\":\"75296f12\",\"1312\":\"c5808c17\",\"1395\":\"d706d27f\",\"1517\":\"97bfd82f\",\"1759\":\"1631df36\",\"1843\":\"6fe0efb9\",\"1897\":\"9df3ef85\",\"2012\":\"d83a6f41\",\"2107\":\"4172f518\",\"2189\":\"7c037994\",\"2300\":\"4627b9ad\",\"2397\":\"547fa19d\",\"2551\":\"31c20670\",\"2631\":\"564ce915\",\"2680\":\"31343142\",\"2918\":\"840d07db\",\"3087\":\"a936fdf6\",\"3106\":\"e0ee5062\",\"3133\":\"fbc30f71\",\"3227\":\"95e98c5a\",\"3314\":\"306a6397\",\"3495\":\"18904cc4\",\"4157\":\"f0299157\",\"4587\":\"c478c506\",\"4620\":\"224796ec\",\"4938\":\"bafe6316\",\"5635\":\"1106d475\",\"5750\":\"5908702a\",\"6031\":\"20d354cd\",\"6461\":\"4476d858\",\"6542\":\"762e80de\",\"6922\":\"13e10eb0\",\"7004\":\"c034ca95\",\"7102\":\"34680205\",\"7109\":\"226e1f5a\",\"7122\":\"43d90def\",\"7150\":\"dd72ec04\",\"7158\":\"1cfb4229\",\"7240\":\"99859542\",\"7359\":\"e48b4ae8\",\"7467\":\"92cd7d1d\",\"7549\":\"f23ba307\",\"7594\":\"44e40fa0\",\"7672\":\"eba26a69\",\"7778\":\"1bd9c35b\",\"8020\":\"d588c78b\",\"8292\":\"d07f10fa\",\"8326\":\"1f0adcd2\",\"8398\":\"6e711e94\",\"8459\":\"2afa9d6d\",\"8886\":\"cbe7c941\",\"9090\":\"b63001ac\",\"9271\":\"7f15f01b\",\"9770\":\"09ccfa2f\",\"9983\":\"27aeaa3a\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = (module) => {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: () => {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/infinite/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t2143: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(6542|7150|7359)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunkeloomi_infinite_spa\"] = globalThis[\"webpackChunkeloomi_infinite_spa\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4998], () => (__webpack_require__(73430)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","loadStylesheet","installedCssChunks","webpackEmptyContext","req","e","Error","code","keys","resolve","id","module","exports","AuthenticationFlowPanel","Vue","preventDefault","infiniteLogoUrl","Prop","default","type","String","title","description","Boolean","withBackButton","isSsoOnlyLoginMode","centerVertically","Emit","handleFormSubmit","handleBackButtonClick","Component","_vm","this","_h","$createElement","_c","_self","class","staticClass","attrs","on","_e","_v","_s","_t","AuthenticationPage","Mixins","Notifications","MobileModeStoreMixin","setTimeout","tryForcePlayingVideo","FORCE_AUTOPLAY_LAG","isFallbackImageUsed","videoElement","play","result","Promise","catch","err","log","loginVideoH265","isViewportSmallerOrEqualMd","loginVideoH265Small","loginVideoH265Large","loginVideoVP9","loginVideoVP9Small","loginVideoVP9Large","backgroundStyles","loginBgImage","makeLogger","loginImageLarge","loginImageSmall","Ref","components","MainThemeProvider","ToastNotificationArea","notifications","style","ref","domProps","CoreAccordionHeader","TranslationMixin","additionalClasses","CoreAccordionContent","$nextTick","isShown","classes","shown","CoreAccordion","isOpen","value","toggleMode","emitInput","static","showToggle","headerClasses","contentClasses","CollapseTransition","active","nativeOn","$event","toggleContentVisibilityOnHeader","apply","arguments","scopedSlots","_u","key","fn","toggleContentVisibilityOnIcon","proxy","directives","name","rawName","expression","$slots","AppHeader","withNotifications","DesktopHeader","MobileHeader","CompanyLogo","eloomiLogoImageUrl","image","link","ChoosePlanButton","topText","expirationDate","daysRemaining","trans","num","total","Date","parse","toString","Math","floor","billingPage","AdminBillingRoutes","NotificationPanel","NotificationsMappedStore","height","panelTitle","triggerVisibilityChanged","isVisible","$emit","ObserveVisibility","newNotificationsCount","markAllNotificationsAsRead","defineComponent","Notification","NotificationTrigger","Popover","setup","popover","store","usePushNotifications","watch","state","notificationsDrawerVisible","show","hide","onMounted","onClose","mutations","closeNotificationsDrawer","toggle","openNotificationsDrawer","useTranslation","loadMore","length","_l","notification","getNotificationText","image_url","is_read","created_at","redirectFromNotification","CoreMenuItem","CoreThemeMixin","itemComponent","item","route","vueRoute","itemProps","to","path","replace","href","handleCLick","CoreShapedImage","_b","tag","icon","CoreMenu","mobileItemOpen","Object","menuItems","map","isHovered","subnav","values","menuItem","subItems","isPossiblyMobileDeviceWithSmallScreen","noMobileSupport","menu","filter","access","obj","entries","_","reduce","acc","filteredMenuItems","filterMenuItemsDictionary","includes","split","$route","query","from","endsWith","error","mode","Watch","setMobileItemOpen","menuItemClickHandler","isMobile","index","string","menuClickHandler","el","props","isSubNavActive","hideOnMobile","model","callback","$$v","$set","handleItemHovered","subnavExists","ContentLoaderMixin","primaryColor","secondaryColor","animate","speed","TopNavigationUserProfileContentLoader","radius","ContentLoader","CoreUserMenu","UserProfileDetailsStoreMixin","isUserDropdownContentShown","userMenuShow","userMenuTriggerHovered","loadUserProfile","enterDropdownContent","status","items","imageUrl","userFullName","first_name","last_name","authUserFullName","authUserProfile","firstName","lastName","event","itemClick","isShow","userMenuToggleDebounced","debounce","userMenuToggle","emitOpen","emitClose","CoreActionDropdown","CoreActionMenu","clickOutside","vClickOutside","handleClick","onClick","useAdminNavigationItem","useMobile","hasPermission","hasAnyPermission","hasEveryPermission","usePermissions","administrationContent","adminSettingsItem","useSidebarNavigation","planFeaturesStore","usePlanFeaturesStore","featuresList","checkIfFeatureEnabled","getters","checkIfLaunchDarklyFeatureEnabled","useLaunchDarkly","canAccessLearningRoutes","computed","COURSES","EVENTS","PLAYLISTS","Permissions","hasAnyAdminMenuItem","getSidebarRoutesBasedOnParentName","sidebarItem","find","children","defaultRoute","child","featureName","isPageAccessible","location","firstAvailableSidebarRouteForSettings","possibleRoutes","launchDarklyFeatureName","organization","learning","skills","SKILLS","categoriesAndTopics","CATEGORIES_TOPICS","billing","BILLING","integrations","API","settings","CUSTOM_FIELDS","useTopNavigation","canAccessGroupReport","userNavigation","userProfileDetailsStore","useUserProfileDetailsStore","logoutUseCase","useInjector","injectClass","LogoutUseCase","handleSignOutClick","logOut","console","skillSetupStore","useSkillSetupStore","showSkillSetupModal","sign_out","useUserNavigation","adminNavigationItem","launchDarklyFeaturesList","adminUserReportsSubnav","myLearning","courses","users","groups","GROUPS_REPORTING_MANAGER","USER_PERMISSIONS","GROUPS","segmentReporting","SEGMENT_REPORTING","skillsReport","logo","main","home","learn","userReports","REPORTING","undefined","adminUserReports","admin","user","NotificationMenu","useRoute","topNavigation","brandingStore","useBrandingStore","subscriptionStore","useSubscriptionStore","freeTrialNotificationLogicRefactorEnabled","FREE_TRIAL_NOTIFICATION_LOGIC_REFACTOR","isNotificationMenuVisible","NOTIFICATIONS","isChoosePlanButtonVisible","isAdmin","infiniteRoleKey","PredefinedAccessUserRoles","isFreePlan","activeSubscription","is_free_plan","withExpirationDate","meta","isPlatformFree","brandingLogoUrl","brandingState","logo_url","BrandingMappedStoreMixin","withTitle","GoBackButton","CoreButton","withBackground","centered","vCentered","color","textClass","disabled","size","loading","padding","isFullWidth","newValue","oldValue","element","$el","innerElement","querySelector","width","offsetWidth","stopPropagation","emitClick","nameClasses","outline","setElementWidth","Spinner","CoreCheckbox","prevent","innerValue","onChange","onInput","checkboxStyles","styles","backgroundColor","borderColor","useStrictSize","round","transparent","defaultValue","label","reset","hovered","valueWatcher","resetValue","checked","indexOf","_k","keyCode","addPxIfNumber","val","parseInt","CorePicture","hasSlot","failedToLoad","skipLoadingOnUpdate","isLoading","wrapperClasses","borderRadius","theme","isGreyedOut","archived","isArchived","wrapperStyle","isStretched","paddingTop","minWidth","additionalClassesOnPicture","invisible","isImageAvailable","invisibleWhileLoadingClass","iconSize","placeholderSize","src","Array","alt","showNoImageIcon","withShadowOverlay","handleSrcChange","handleImageLoadError","handleImageLoad","SkeletonLoader","ErrorMessage","message","useBrandingBackgroundColor","SmileyDesktopIcon","MobileFallback","SmileyDesktopImage","isLazy","$Lazyload","$on","fieldToLoadImage","shouldHaveSubstate","hasSubstate","altText","getInitials","pickColorFromId","pickColorFromText","bgcColor","opacity","formatRgb","colors","fontSize","avatarShape","shape","avatarStringStyle","fontWeight","avatarStyleWithBackground","$off","additionalClass","asBackground","arg","closeOnContentClick","closeDropdown","triggerTypes","isArray","triggers","popoverClass","popverBaseClass","push","popoverBaseClass","isInModal","triggerType","join","trim","buttonSize","triggerSizeLarge","iconColor","open","toggleDropdown","openDropdown","nativeBackButtonActionCleanup","bodyOverflowHidden","backButtonService","beforeBackButton","res","interactive","placement","offset","triggerIconSize","Inject","IS_IN_MODAL","handleShow","handleHide","handleWhenInteractive","onContentClick","onTriggerClick","$parent","actionMenuWidth","menuWidth","required","triggerColor","CoreMobileBottomDrawer","handleIsVisibleChange","keyboardVisibilityChangedCleanup","detectOnscreenKeyboard","isKeyboardVisible","bodyScrollDisableCleanup","drawer","disableBodyScroll","enableBodyScroll","handleCloseClick","hasFooter","hasHeader","isFullscreen","isClosable","className","emitCloseEvent","preventTouchScroll","noPadding","Fade","target","currentTarget","handleTouchMove","CoreCircleProgress","diameter","small","medium","large","boundingSize","strokeWidth","centerPoint","strokeDashArray","PI","strokeDashOffset","progress","progressClasses","spinning","isSpinning","rootStyle","onBackCallback","warn","$routeStack","back","defaultLocation","defaultBackRoute","resolvePreviousLocationHref","backIconSize","isFloating","IconButton","floating","handleBackClick","highlightedColor","tinycolor","lighten","count","isCircle","Skeleton","SkeletonTheme","ToastNotification","info","success","warning","danger","themeClasses","toastClasses","isCompact","zIndex","getNotificationItemStyle","FadeTransition","_g","$attrs","$listeners","CoreMainLayout","LaunchDarklyFeaturesMappedStore","canBeCollapsed","mql","matches","addEventListener","handleMqlChangeEvent","removeEventListener","canShowLeftSidebar","$scopedSlots","hasLeftSidebar","window","matchMedia","getMaxWidthMedia","leftSidebarIsCompact","isSplashScreenVisible","ThemeProvider","cacheBranding","getCachedBrandingData","async","delayMs","Capacitor","_reject","SplashScreen","hideSplashScreen","favicon","document","getElementById","defaultTheme","favicon_url","defaultFaviconImageUrl","css","brandingThemeToCssString","head","createElement","appendChild","createTextNode","onChildChanged","receivedTimeFormated","receivedAt","start","getTime","diff","now","years","months","weeks","days","hours","minutes","seconds","emitClickEvent","text","isRead","Number","numberOfNewNotifications","newNotifications","isActive","isDisabled","hoverColor","emits","emit","TextField","DatePicker","placeholder","isInline","isInvalid","withLeftIcon","isRange","checkedDate","datepicker","textFieldRef","picked","invalid","masks","weekdays","navMonths","input","dayPopover","data","inputProps","visibility","modifiers","options","rootBoundary","tether","altAxis","convertValueToText","inputValue","formatDateString","end","focusDate","blur","handleChangeInputEvent","updateValueInDatepicker","highlight","contentClass","updateValue","showPopover","hidePopover","focus","DropdownButton","buttonTestId","testName","$refs","update","isButtonActive","positionStrategyPopover","autoMaxHeightPopover","handlePopoverHide","BasicDropdownContainer","slot","overlapContent","filters","isSelected","isAutoHeight","search","withButton","withCheckbox","roundCheckbox","avatar","withAvatar","intention","tooltip","labelActive","highlightColor","PRIMARY_COLORS","onButtonClick","content","trigger","$options","generateLabelFor","doNotUseLabel","elementId","randomId","messages","containerTag","validators","validateOnChange","addSpacingBetweenItems","isValid","errors","reactive","validate","valid","validator","valueGetter","fieldName","errorMessage","validateFormAndSaveErrors","onUpdated","nextTick","spacing","context","provide","handleAnimationEnd","openedModalIds","ModalWindowDialog","headerText","isScrollable","showCloseButton","showTooltipHeader","showHeader","hideOnBackdropClick","closeButtonTooltip","appearFrom","modalWindowClass","modalWindowWrapperClass","modalTestId","verticalAlignment","additionalClassContainerWrapper","withFooterSeparator","withBlurryBackdrop","modalKey","slots","modalStatus","modalId","shortId","slice","addLastOpenedModal","lastOpenedModal","removeIdFromList","hasOpenedModals","removeLastOpenedModal","pop","openedId","refModal","setStatus","modalClass","closing","isModalVisuallyVisible","onUnmounted","closeModal","cleanupNativeBackButtonAction","useEventListener","stopImmediatePropagation","requestClose","modalWindowContainerStyles","isNumber","display","justifyContent","modalStyles","modalClasses","scrollable","contentStyles","isFinite","footerHeight","footer","clearAllBodyScrollLocks","removeProperty","reason","setMouseClickOrigin","clickOrigin","screenWidthHalf","innerWidth","screenHeightHalf","innerHeight","mouseLocation","getViewportMouseLocation","x","y","getClickOrigin","setProperty","startOpeningModal","backdropClickHandler","onShow","align","ModalWindow","ModalWindowContent","events","autoMaxHeight","closeOnOutsideClick","sameWidth","isTargetInline","positionStrategy","portal","renderToPortal","preventOutsideClickPropagation","targetClass","autoHideOnOverflow","popoverTestName","toRef","autoHide","isContentVisible","isMounted","inject","isVModelModeEnabled","setListenersEnabled","actualPlacement","strategy","isPopperEventListenersEnabled","syncPlacement","enabled","phase","preventOverflowModifier","altBoundary","maxSizeModifier","requiresIfExists","overflow","detectOverflow","modifiersData","preventOverflow","rects","popper","basePlacement","widthProp","heightProp","applyMaxSizeModifier","requires","maxSize","maxHeight","flipModifier","hideModifier","offsetModifier","eventListenersModifier","usePopperOptions","targetRef","contentRef","onInvalidate","targetEl","unrefElement","popperEl","HTMLElement","createPopper","destroy","immediate","setOptions","usePopper","popoverContentTestId","setPopoverVisibility","targetClasses","popoverStyles","useElementSize","widthValue","removeClickOutsideHandlers","setClickOutsideHandlers","targets","handler","capture","listener","some","composedPath","disposables","passive","stop","forEach","tryOnUnmounted","onClickOutside","requestAnimationFrame","setVisible","handleLeaveAnimationEnd","handleContentClick","colorRanges","range","withLabel","showPercentsOnLabel","showDecimalsOnLabel","labelPosition","computedValue","max","min","calculatedFillColor","colorRange","computedStyles","background","computedLabelStyles","formattedValue","BasicSelector","stringValue","displayOptionConverter","isLocked","option","closeOnSelect","onSelect","DropdownItem","Selector","locked","getIconRight","select","position","clearOnSelect","isLoadingMore","filterOutSelected","showLoaderItem","trackBy","searchWithin","contentOffset","openOnMount","openOnMountDelayMs","popupTestName","dropdown","optionsContainer","searchTerm","selectedOptions","filteredOptions","filterBySearchTerm","optionsType","every","isObject","get","toLowerCase","findOptionIndex","findIndex","o","deselect","optionIndex","clearSearch","inputSearchTerm","onScrolledToBottom","isScrolledToBottom","close","scrollOptionsContainerToTop","scrollTo","TabButton","handleButtonClick","TabButtonGroup","TabSlotWrapper","TabContent","TabButtonAnimation","runner","handleTransitionEnd","setRunnerVisible","initStyles","getItemStyles","activeTabIndex","originalTransition","getComputedStyle","transition","applyItemStyles","itemIndex","refs","rect","getBoundingClientRect","left","offsetLeft","top","offsetTop","transform","newIndex","oldIndex","setAnimatedTransitions","newStyles","handleRefsUpdate","handleTabIndexUpdate","Tabs","activeTab","tabKeys","syncVisibleActive","buttonRefs","v","hasTabButtonSlot","tabButton","activeTabVisible","tabKey","_tabIndex","setActiveTab","titles","showButtons","setButtonRefs","setDefaultTab","isTabActive","refInFor","isTabActiveVisible","handleTabButtonClick","RawTag","variant","hasRightIcon","hasLeftIcon","textClasses","Tag","action","$props","isSelectable","iconRight","iconLeft","avatarImage","avatarAltText","isReadOnly","autofocus","testId","isFocused","buttonColor","labelClass","skeletonHeight","onFocus","onBlur","onKeyDown","AdminApiRoutes","PREFIX_IN_BROWSER_TAB","mobileIsUnsupportedFlag","showNavigationSidebar","requiredPermissions","component","beforeEnter","checkIfRouteAvailableByPlanFeatures","PlanFeaturesList","EntitiesList","RestrictionsEntitiesList","BillingAction","cardClient","authorizeClient","CardPersonaApiFactory","getCardLink","GetCardLinkPayload","getCards","returnUrl","plan","frequency","currency","getCardLinkEdit","q","CoreQuery","param","return_url","httpClientCoreQuery","dibsStatus","payload","subscriptionClient","SubscriptionPersonaApiFactory","getCurrentPlanDetails","getActiveSubscription","deleteSubscription","putSubscription","verifyLimits","doesUserHasAccount","plansModule","smartRootModule","modules","plansStore","plansResponse","has_account","routeName","guards","redirectIfGuard","_to","_from","next","performance","navigation","TYPE_BACK_FORWARD","accountClient","AccountPersonaApiFactory","StoreMutations","Mutations","userLimitReachedModalShown","closePlanModalShown","cancelPlanModal","visible","details","accountDetails","downgradeModal","downgradeWarningModal","contactUsModal","billingDetailsModalShown","StoreGetters","Getters","StoreActions","Actions","limitsResponse","showClosePlanModal","showCancelPlanModal","scheduled_restrictions_details","setAccountDetails","getAccount","then","putAccount","checkIsAxiosError","scheduledRestrictionError","response","showDowngradeModal","Module","company_name","vat","address","city","zip","country","recipient_name","recipient_email","actions","billingAdministrationStoreMapper","createMapper","BillingAdministrationMappedStore","mapState","methods","mapMutations","mapActions","platformClient","PlanApiFactory","subscription","activeSubscriptionResponseStatus","expiration_date","planInfo","getCurrentPlan","setExpirationDate","setIsPlatformFree","setActiveSubscription","createComposable","subscriptionStoreMapper","SubscriptionMappedStore","mapGetters","plansClient","PlansPersonaApiFactory","CustomPlanNames","Free","Infinite","PlanNames","PlanName","currentPlan","selectedPlanSettings","current_plan","currentSize","current_size","PlanSize","hasAccount","currentFrequency","current_frequency","FrequencyInterval","frequencyKey","capitalize","currentCurrency","current_currency","Currency","currencyKey","toUpperCase","currencySymbol","currentCurrencyWithSymbol","currencies","symbol","seatsNumbers","prices","paymentPlans","sizesAndFrequencies","discount","discount_percentage","currentChoices","encodedCurrentChoices","btoa","JSON","stringify","plans","currentPriceInfo","initialPriceInfo","initialPlanData","pricePerBillingCycle","price_total_per_billing_cycle","pricePerMonth","price_total_per_month","discounted","initialPricePerBillingCycle","initialDiscount","initialFrequency","initialPlan","initialSize","initialCurrency","downgradeWarningType","showDowngradeWarning","choice","pickBy","getPlans","setPlans","firstResponse","updateSelectedPlan","setInitialPlanData","scheduleForNext","redirectUrl","getCardLinkResponse","origin","is_redirect_required","redirect_url","schedule_for_next","plansStoreMapper","PlansMappedStore","platformService","Tokens","launchDarklyFeatureStore","useLaunchDarklyFeatureStore","reportingContent","Names","order","pageTitle","isAuthUserAdmin","AdminSettingsRoutes","isSsoLoginEnabled","AdminUsersRoutes","fallbackIcon","AdminGroupsRoutes","AdminCoursesRoutes","AdminEventsRoutes","EVENTS_MANAGEMENT","AdminPlaylistsRoutes","AdminSkillsRoutes","AdminTopicsRoutes","featureHideContent","pageType","Paths","COURSES_ADMINISTRATION","createContentStoreRoute","contentStoreRouteName","COURSES_ADMINISTRATION_CONTENT_STORE","contentStoreItemRouteName","COURSES_ADMINISTRATION_CONTENT_STORE_ITEM","COURSE_BUILDER","viewportIsUnsupportedFlag","MinWidthViewportBreakpoints","COURSES_COURSE_BUILDER_CONTENT_STORE","COURSES_COURSE_BUILDER_CONTENT_STORE_ITEM","EVENT_BUILDER_PAGE","isRangeCondition","condition","operator","mapParameters","parameters","parameter","field","is_dynamic","operators","values_source_url","field_id","userGroupsClient","UserGroupsApiFactory","getGroups","filterStr","searchQuery","FluentFilterCollection","where","Operator","selectedIds","build","getUserGroups","page","pageSize","getGroup","groupId","getUserGroup","createUpdateGroup","group","createOrUpdateUserGroup","userAdminPersonaApi","UserAdminPersonaApiFactory","getUsers","isNotEmpty","entity","page_size","getUsersForSelector","getAll","toQueryStringSearch","extractAxiosData","unassignUsers","groupID","userIds","group_id","user_ids","assignUser","deleteGroupsBulk","ids","getUsersNumber","userGroupManagersClient","UserGroupManagersApiFactory","getUserGroupManagers","addUserGroupManager","userId","createUserGroupManager","user_id","deleteUserGroupManager","rulesClientV2","RulesApiFactoryV2","getRuleParameters","putRule","rule","ruleId","user_group_id","definition","getRules","previewUserCount","deleteRules","ruleIds","createEditGroupPage","isAddRuleModalShown","isEditRuleModalShown","activeRule","hasRuleModifications","rulesAreBeingProcessed","dispatch","cleanRuleModificationsMark","flagRulesProcessing","all","scheduleNextStatusRequest","sleep","reject","all_rules_processed","POLLING_PERIOD","storeModule","userGroupStoreMapper","PLAYLIST_BUILDER_PAGE","client","CustomFieldsAdminApiFactory","customFieldsAdminClient","getCustomFields","buildFilter","getCustomFieldsLite","createCustomField","customField","updateCustomField","deleteCustomField","updateCustomUsersFields","fields","mapCustomFields","authUserDetailsModule","userProfileDetails","isAuthDetailsAvailable","userDetails","handlePageNotFound","PlatformResolutionService","customFields","customFieldsLite","setCustomFieldsLite","useCustomFieldsStore","storeMapper","CustomFieldsMappedStore","courseSkillClient","CourseSkillApiFactory","courseSkillAdminClient","CourseSkillAdminApiFactory","skillsAdminClient","SkillsApiFactory","getCourseSkills","courseId","addCourseSkills","createCourseSkills","removeSkill","skillId","deleteCourseSkill","getSkillsLite","integrationMergeClient","IntegrationMergeApiFactory","integrationMergeStatusClient","MergeIntegrationApiFactory","getLinkToken","integration_platform","integration","completeIntegration","token","public_token","getAllIntegrations","getSupportedHrisIntegrations","getIntegrationDetails","deleteIntegrationPlatform","deleteIntegration","syncIntegration","is_enabled","toggleIntegrationEnabled","deleteDeactivationUsers","putMergeIntegrationSettings","user_deletion_and_deactivation_strategy","getStatus","getCurrentStatus","importMergeUsers","starting_from","mergeIntegrationDetails","integrationDetails","setMergeIntegrationDetails","mergeIntegrationStoreModule","useMergeIntegrationStore","MergeIntegrationStoreMapper","MergeIntegrationStoreMixin","deleteCategories","categories","createEditTopic","topic","deleteTopicsBulk","getTopics","category_id","topic_ids","sorts","putTopic","httpClient","axiosConfigParams","userLearningApiFactory","UserApiFactory","getCategories","getUserCategories","categoryApiClient","CategoryApiFactory","getCategoriesNew","getFilters","createEditCategory","category","userAdminPersonaApiClient","adminCreateUser","command","create","adminVerifyUserLimit","verifyLimit","error_code","limitExceeded","limitParams","max_allowed","userRolesClient","InfiniteUserRolesAdminPersonaApiFactory","PageMaxSizeFromApi","getAllAccessUserRoles","translationsStore","baseStore","ADMIN","USER","userCreateEditPage","metaTitle","new","userVerified","userAdapter","adapt","environment","axiosConfig","baseURL","ApiAuthTypes","headers","apiKey","axios","factoryFunction","apiBaseUrl","keyName","accessToken","warnLog","makeWarnLogger","sessionManager","JWTLoginSessionManager","load","getToken","initClientWithoutAuth","post","put","patch","delete","adminOverviewApiClient","AdminOverviewApiFactory","builderCourseApiClient","BuilderCourseApiFactory","builderChapterApiClient","BuilderChapterApiFactory","builderPageApiClient","BuilderPageApiFactory","builderContentApiClient","BuilderContentApiFactory","quizApiClient","QuizApiFactory","playerQuizApiClient","PlayerQuizApiFactory","getCourse","getCourseWithStructure","editCourse","course","createChapter","chapter","addChapter","createPage","chapterId","updatePage","pageId","getPageWithContent","getPage","deletePage","getAllCourses","courseNameSearchQuery","pageNumber","doNotShowArchived","getAllCoursesNew","courseTitle","FilterType","getCourseListFiltersParam","getListOfCourses","createCourse","courseType","postCourse","course_type","editIframeElement","guid","putIframeContent","editVideoElement","putVideoContent","file_url","video_url","filename","editQuizChoiceElement","question","choice_options","multiple_answers","is_correct","putQuizChoiceQuestionContent","editQuizRatingElement","putQuizRatingScaleContent","storeQuizAttempt","attempt","getQuizAttempts","attemptId","getQuizAttempt","submitAttempt","createNewAttempt","editChoiceListElement","putChoiceQuestionContent","editQuizOpenTextElement","putQuizOpenTextContent","editAttachmentElement","putAttachmentContent","attachment_content_items","file_size","file_name","deleteCoursesBulk","coursesIds","deleteCourses","course_ids","archiveCoursesBulk","archiveCourses","unArchiveCoursesBulk","unArchiveCourses","getUsersBySmartSelection","selection","getAdminOverviewReport","responseType","getAndAdaptData","adapter","http","last_page","lastPage","member","initial","adapted","c","getPlayerCourse","getLastAttempt","questionType","request","dashboardClient","DashboardApiFactory","newDashboardClient","NewDashboardApiFactory","getAllUserCourses","getUserLearningItems","getSectionsList","getLiteDashboardSections","getDashboardSections","getDashboardSection","DASHBOARD_PAGE_SIZE","dashboardSearch","VimeoClient","VimeoVideoApiFactory","uploadVimeoVideo","initUpload","getUploadVimeoVideoContent","getVideo","brandingApiClient","BrandingApiFactory","getBranding","brandingResponse","branding_color","primary_color","branding_text_color","editTextElement","usersApiClient","UserPersonaApiFactory","usersSkillsApiClient","UsersApiFactory","userGroupManagersApiClient","ManagersApiFactory","userAdminApiClient","UsersAdminApiFactory","convertResponseDetailsToUserProfile","convertBackendResponseToModel","emailNotificationRules","email_notification_rule","isReportingManager","isCurrentUserManager","getUserProfile","getDetails","getSelfUserProfile","getSelfDetails","getSelfSkillsInfo","getUserSkills","getUserSkillsInfo","getSpecificUserSkills","setSelfSkillsInfo","updateUserSkills","completeSkillsSetup","completeUserSetup","AuthenticationServiceTokens","freeze","AuthenticationService","SessionManager","RedirectService","ResetSessionDataService","SessionApiClient","ActivateUserService","AuthFlowStoreService","ForgotPasswordService","ResetPasswordService","AuthenticationRouteNames","InvalidCredentialsError","constructor","super","setPrototypeOf","prototype","EmptyCredentialsError","InvalidEmailProvided","InvalidPlatformError","PasswordMismatchError","EmptyPasswordError","ValidationPasswordError","EmptyJwtTokenError","LoginSessionLoadError","InvalidTokenParamError","EntityNotFoundEndpointError","TooManyLoginAttemptsError","PlatformLoginApiClient","PlatformLoginApiFactory","JWTAuthenticationService","email","password","platformResolver","getPlatformData","doLogin","AxiosSessionInjector","requestInterceptorId","interceptors","use","sessionInjector","eject","config","jwt","Authorization","isAuthRequiredForAnyMatchedRoute","routes","record","requiresAuth","VueRouteTransitionGuardService","routeTo","matched","onlyUnauthorized","parseTokenParamFromRoute","redirectWithQueryParams","goNext","LOGIN_PAGE_LOCATION","redirect","fullPath","goToDefaultPage","isLoggedIn","changeTransitionToDefaultPage","changeTransitionToLoginPage","VueRouteTokenTransitionGuardService","tokenValidationResult","acceptCurrentTransition","changeTransitionToInitialPage","showDelayedNotification","duration","SingleSignOn","registerPlugin","VueRouterRedirectionService","router","currentRoute","DEFAULT_PAGE_LOCATION","isHard","platformId","baseUrl","url","Platform","devicePlatform","redirectToIdentityProvider","ServiceTokens","AxiosAccessDeniedErrorHandler","errorHandler","isErrorAlreadyHandled","responseInterceptorId","r","forbiddenErrorHandler","handleForbiddenError","UserForgotPasswordApiFactory","user_email","forgotPassword","popTokenFromQueryString","activeRoute","searchParams","URLSearchParams","loc","params","queryString","newUrl","protocol","host","pathname","history","replaceState","removeParamFromQueryString","getDefaultTokenValidationResult","PlatformServiceBase","isPlatformValid","getJWTPayload","isCodeValid","verifyPasswordReset","getPayload","validatePlatform","resetPassword","makeTokenValidatorGuard","verifyTokenTransition","UserActivationApiClient","UserActivationApiFactory","verifyActivation","jwtToken","activateUser","CoursesRouteNames","getLoginSsoErrorStatus","StatusCodes","verifyLoginSsoStatus","Unauthorized","BadRequest","ToManyLoginAttempts","notificationStore","decodeBase64","encoded","TextDecoder","decode","Uint8Array","atob","charCodeAt","TypeError","requiredFields","pad","decodeBase64Url","_header","_signature","LoginSessionJWT","jwtPayload","exp","nbf","JWTLoginSessionStore","localStorage","removeItem","STORAGE_KEY","cachedData","getItem","setItem","jwtApiClient","JwtApiFactory","JWTSessionRefresher","instance","makeRefreshTimeMark","startRefresher","markLastRefreshTime","refreshImmediately","resumeRefresher","stopRefresher","failHandler","write","refreshTimer","scheduleRefresh","clean","timeout","REFRESH_PERIOD","refreshToken","lastRefreshTime","getLastRefreshTimeMark","timeElapsed","clearTimeout","cleanLastRefreshTimeMark","timeMark","refresher","resume","setFailHandler","read","isActual","getInstance","isBackButtonShownOnLoginForm","loginState","setLoginState","setChoosePlatformState","setForgotPasswordState","authFlowStoreMapper","AuthFlowMappedStoreMixin","AuthFlowStoreServiceFactory","createStoreServiceFactory","LoginUseCase","credentials","authData","authService","logIn","redirectService","hasRedirectParamInQuery","redirectToPagePassedInQuery","redirectToDefaultPage","LoginSsoUseCase","getDevicePlatform","redirectToLoginSsoPage","cleanCache","isSsoLoginError","isSsoEnabled","isSsoAutomaticLoginEnabled","shouldRedirect","withBackend","sessionApiClient","logout","sessionDataService","redirectToLoginPage","ActivateUserUseCase","activateUserService","ChoosePlatformUseCase","subDomain","forceSetPlatformDomain","platform","navigator","proceedToLogin","getPlatformParentDomain","ForgotPasswordUseCase","requestPasswordReset","goBack","ResetPasswordUseCase","FilterMode","FilterOptionsMenu","searchFieldPlaceholder","menuLabel","selectedCount","selectedValues","variables","filterType","appliedValues","areAllOptionsSelected","canSearch","splice","updateSelectedValues","handleConfirm","MenuBackButton","handleSelectAll","handleOptionClick","FilterTypeMenu","activeFiltersCount","selectedValuesCount","useFiltersProvider","getOptionsList","Author","getListOfCourseAuthors","author","getFullName","Category","CourseType","CONTENT_STORE_POC","Group","Skill","skill","Topic","supportedFilters","initialFilters","dropdownButtonRef","currentFilters","currentMenu","isFilterSet","filterTypeOptions","filterOptions","created","loadAllOptions","deepCopy","emitChangeEvent","updateMenuType","menuType","updatePopover","handleFilterTypeSelect","filterTypeOption","updateFilterValues","backToFilterTypesMenu","handleFilterChangesConfirm","notificationStoreMapper","useNotifications","useNotificationStore","showNotification","clearNotifications","NotificationHandle","timer","lastNotificationPromise","activeNotificationHandle","rejectStub","ToastNotificationActions","actualPayload","waitForPrevious","_pushNotification","delay","cancel","clearAllNotifications","pushNotification","notificationId","counter","removeNotification","ToastNotificationGetters","ToastNotificationMutations","incrementCounter","itemId","getLaunchDarklyFeatureData","mobileModeStore","useMobileModeStore","usePlanFeatures","useRouter","vm","getCurrentInstance","afterEach","assign","$router","useTranslationsStore","currentLanguage","APP_SCHEME","sm","md","lg","xl","xxl","MISC_COLORS","createMobileMediaQueryList","getIsMobile","TrackMobileModeMixin","initMobileViewportListener","initViewportListeners","setIsMobile","dropMobileViewportListener","dropViewportListeners","mediaQueries","breakpoint","setBreakpoint","createBranding","branding","hexToHSL","brandingText","primary","TopNavItem","EntitiesListPermission","WidgetTypes","FileResponse","contentDisposition","fileNames","match","getFileName","convertUrlToLocation","absoluteUrl","URL","convertSearchParamsToQuery","params$","p","headers$","h","namespace","namespace$","cancelTokenSource$","relation","relations$","isNotNullOrUndefined","entities$","coreFilter","toQueryStringSort","onUploadProgress","progressEvent","percentCompleted","loaded","data$","stringParams","hasOwnProperty","call","rawHeaders","cancelToken","rawParams","paramsSerializer","relations","apiVersion","getDate","date","dateToFormat","isNaN","formatDate","locale","emptySymbol","extractHoursFromDate","hoursToFormat","toLocaleTimeString","hour","minute","formatFullDate","toLocaleDateString","day","weekday","month","year","formatMonthString","language","toLocaleString","formatMonth","currentLanguageToDateFNSLocale","Locales","substring","dayMilliseconds","getDayStart","tzOffset","getTimezoneOffset","ts","getDayEnd","isMultipleDays","firstDate","lastDate","getFullYear","getMonth","dateToString","Intl","DateTimeFormat","format","args","parts","debug","logger","bind","enableDebugForNamespacesFromEnv","body","isFeatureDisabledByE2E","flagKey","E2EFeatureKeys","extractAxiosDataAsRequired","Android","Ios","Web","isAndroid","isWeb","isMobileApp","getClientType","ClientType","self","FilterTermBuilder","term","property","filterTerm","builtString","validBuilders","builders","builder","concat","jsonObj","encodeURI","names","serializedContent","decoded","decodeURI","FilterTerm","filterProperties","saveTermFunc","parentBuilder","leftSide","rightSide","toISOString","IsEqualTo","Contains","buildSort","sortData","ascending","Descend","lastLocation","debouncedEventHandler","throttle","clientX","clientY","CACHE_KEY","cachedBrandingColors","cacheBrandingData","stringified","clearBrandingDataFromLocalStorage","REPORTING_MANAGER_CACHE_KEY","getCacheUserDetailsData","cacheUserDetailsData","getCacheUserReportingManagerStatus","cacheUserReportingManagerStatus","clearUserDetailsDataFromLocalStorage","hex","change","exec","g","b","s","l","d","dataObject","newObj","snakeToCamel","debouncePromise","time","func","lastArguments","timeoutId","existingPromise","resolvePromise","rejectPromise","lastArgs","thenArgs","catchArgs","onKeyboardVisibilityChanged","cleanup","onScreenKeyboardIsSupported","subscribeToKeyboardVisibilityChanged","Keyboard","keyboardHeight","truncate","maxLength","clamp","forceFileDownload","blob","Blob","a","createObjectURL","download","click","removeChild","formatTime","week","formattedWeeks","formattedDays","formattedHours","formattedMinutes","second","formattedSeconds","formatToPercent","searchTextToSearchTerms","getTextWidthDOM","font","span","classList","add","float","whiteSpace","lineHeight","letterSpacing","textTransform","textContent","getTextWidth","mergeTranslations","mergeTranslationCollections","collectionA","collectionB","pattern","RegExp","replaceWith","intercomApi","IntercomApiFactory","IntercomService","intercom","getSelf","app_id","injectScript","isInitialized","boot","appId","Intercom","INTERCOM_SCRIPT","scriptElement","callIntercom","isBooted","showNewMessage","trackEvent","eventName","setVisibility","hide_default_launcher","shutdown","intercomeElement","restoreDefaultDesignSystemColorsWithBranding","tokens","injectBrandedCSSVariables","overrideDesignSystemColorsWithBranding","brandingData","MOBILE_UNSUPPORTED_FLAG_NAME","viewportWidth","FALLBACK_ROUTE_NAME","isMobiInUserAgent","test","userAgent","attachMobileFallbackGuard","beforeEach","CapacitorApp","isFromArgAvailable","fromUrl","resolution","resolved","getLocationHref","uuid","PlatformApiClient","PlatformApiFactory","PlatformResolutionError","domain","PlatformDomainStorage","getPlatformDomainIfSetForced","platformDomainStorage","platformParentDomain","platformDomain","resolveDomain","save","ignoreCache","activePromise","platformData","getCachedPlatformData","getPlatformDomain","cachePlatformData","sso_enabled","isDevicePlatformAllowedForSso","sso_only_login","allowSsoAutomaticLogin","ssoLogin","cleanStoredPlatformDomain","forceSsoAutomaticLoginEnabled","enable","random","getGUID","_p8","substr","analytics","SegmentIntegration","useAnalytics","integrationSettings","retryQueue","addBundledMetadata","unbundledIntegrations","getPlatformDetails","is_internal","segmentIdentify","analyticsEnabled","includeSavePageInSegment","notFoundMessage","doesStringHasHtml","indexOfOpeningTag","indexOfClosingTag","textParts","charAt","stringIsNotEmpty","objectToCopy","cloneDeep","i","filenameEllipsis","pathParts","extension","remainingPath","endPart","hashCode","formatBytes","bytes","decimals","k","dm","sizes","parseFloat","pow","toFixed","fileName","lastIndexOf","fileExtension","findLast","array","predicate","shuffle","temporaryValue","randomIndex","currentIndex","getLink","regex","hostingLink","hitList","convertYoutubeToEmbed","convertVimeoToEmbed","isHttpsUrl","setClipboard","textArea","execCommand","wordsToKebab","str","separator","camelToKebab","letter","formatBigNumber","sumArray","arr","sum","closestDivisibleBy","greater","isViewportWidthLessThan","maxWidth","formatPriceAndSeparateSymbol","number","currencyCode","partsToIgnore","isSafeInteger","price","NumberFormat","formatToParts","formatPercentage","precision","formatNumber","local","extractTextFromHTML","html","innerHTML","innerText","cachedBrandingData","setBranding","brandingProvider","newBrandingData","brandingStoreMapper","lastError","retryingHttpRequest","httpStoreMapper","isViewportLargerOrEqualSm","activeBreakpoints","isViewportLargerOrEqualMd","isViewportLargerOrEqualLg","isViewportLargerOrEqualXl","isViewportLargerOrEqualXxl","isViewportSmallerOrEqualSm","isViewportSmallerOrEqualLg","isViewportSmallerOrEqualXl","breakpoints","mobileModeStoreMapper","userDetailsPromise","userSkills","ownedSkills","businessTitleSkills","roles","userRole","cachedUserDetailsData","cachedUserReportingStatusData","setUserProfile","setUserReportingManagerStatus","forceReloadUserProfile","usersProvider","loadUserReportingManagerStatus","authUserData","setAppInsightData","clearUserDetails","setUserSkillsInfo","xorBy","wantedSkills","SkillOrigin","skillsSetupCompleted","setSkillsSetupCompletion","appInsightsPlatformData","setup_completed","UserSkillOrigin","isCompleted","userStore","userProfileDetailsStoreMapper","UserSkillsStoreMixin","UserDetailsStoreServiceFactory","IMPORT_TOPICS_STORAGE_KEY","languagesMapped","additionalKeys","sortingOptions","apiClient","LearningObjectsApiFactory","premiumApiClient","PremiumLearningObjectsApiFactory","planApiClient","DEFAULT_PARAMS","getSubscriptionInfo","getGo1SubscriptionInfo","getLearningObjects","isPremium","maxDuration","minDuration","durationMin","durationMax","sortBy","keyword","sort","apiMethod","lang","flat","provider","Go1FacetType","topics","importLearningObjects","needToImportTopics","bulkImportLearningObjects","learning_object_ids","checkStatus","learningObjectsImportStatus","getLearningObjectDetails","importLearningObject","importTopics","getLearningObjectPreview","contentStoreModal","contentStoreCourseDetailsPage","ContentStoreRouteType","CONTENT_STORE","CONTENT_STORE_ITEM","is_premium","setIsPremium","useContentStore","contentStoreMapper","ContentStoreMappedStore","FilterDropdownMode","FilterSelect","Duration","Type","DurationFilterType","Any","D_0_15","D_15_30","D_30_plus","TypeFilterType","ShowAll","Deadline","Required","Completed","availableDurationFilterTypes","availableTypeFilterTypes","FilterProperties","playerCourseApi","PlayerCourseApiFactory","getPageDetails","completePage","incrementCourseViews","trackActivity","device_type","deviceType","usersReportingClient","UsersReportingApiFactory","getPersonalCoursesReport","getUserCoursesReport","PlaylistApiClient","PlaylistApiFactory","PlaylistStepApiClient","PlaylistStepApiFactory","getPlaylist","playlistId","getUserPlaylist","takePlaylistStep","playlistStepId","userClient","getUserCoursesSkills","getUserCourseSkills","getUserTopics","topicIds","selectedTopicsId","UserCoursesActions","emptySkills","requests","getSkills","setCourse","setCourseSkills","setActiveChapterId","setActivePageId","setCoursePageLoading","currentPageDetails","setPageDetails","pageDetails","clone","markActivePageAsCompleted","UserCoursesGetters","activeChapter","getChapter","activePage","pages","isCurrentPageCompleted","is_completed","isCoursePageLoaded","chapters","isOnHomePage","currentPageOrder","firstUncompletedPageAndChapter","notCompletedChapter","notCompletePage","isEmptyCourse","UserCoursesMutations","courseSkills","isCoursePageLoading","sidebarOpened","CoursePlayerStore","CoursePlayerStoreMapper","setActiveCourse","activeChapterId","activePageId","activeCourse","currentChapter","isActivePageCompleted","getSelectedTopics","selectedTopics","topic_name","topic_id","assigned_courses_count","assigned_playlists_count","selectedSkills","UserCoursesStore","useUserCoursesStore","userCoursesMapper","formatCourseDuration","allMinutes","highlightSearchedText","searchText","regexExpression","matchedExpression","highlightTitle","highlightDescription","AVAILABLE_CHARS_NUMBER","SEARCH_TEXT_LENGTH","REST_AVAILABLE_SPACE","SEARCH_TEXT_INDEX","toLocaleLowerCase","DESCRIPTION_LENGTH","startIndex","properties","factory","$store","VueRouter","BaseStore","UserDetailsStoreService","OpenInAppStoreService","MobileModeStoreService","$injector","process","hash","chargebeeSite","clientType","clientVersion","isProduction","publicPath","VUE_APP_API_KEY","apiAuthMode","appBaseUrl","applicationInsightsKey","appName","fullstoryOrgId","sentryDsn","sentryRelease","googleMapsApiKey","segmentApiKey","stagingRemoteUrl","VUE_APP_STAGING_URL","learningCdnUrl","sentryOrganisation","platformHostContext","VUE_APP_PLATFORM_HOST_CONTEXT","VUE_APP_PLATFORM_PARENT_DOMAIN","sentryTraceSampleRate","useIntercom","VUE_APP_INTERCOM_ENABLED","debugNamespaces","VUE_APP_DEBUG_NAMESPACES","handleEndpointError","throwNotFoundError","EventsRoutesNames","initializeFullstory","FullStory","orgId","AppFeaturesList","getCachedFeaturesToggleData","cacheFeaturesToggleData","clearFeaturesToggleDataFromLocalStorage","UserPermissionsApiFactory","getPredefinedFeatureToggles","getFeatureTogglesFromLocalStorage","getFeatureTogglesFromWindow","enabledFeatures","setFeatureAvailability","finalFeaturesList","featureList","getUserPermissions","flags","featureMapping","fromEntries","feature_name","launchDarklyProvider","initPromise","loadAllFeatureAvailable","featureState","launchDarklyInitialized","withSentry","setContext","launchDarklyFeatureStoreMapper","appInsights","ApplicationInsights","instrumentationKey","loggingLevelTelemetry","enableAutoRouteTracking","distributedTracingMode","DistributedTracingModes","disableInstrumentationKeyValidation","enableCorsCorrelation","correlationHeaderDomains","loadAppInsights","telemetryInitializer","envelope","userDetailsStoreModule","baseData","responseCode","traceId","ext","trace","traceID","httpStore","setLastError","dataToSend","ServiceName","UserId","PlatformId","addTelemetryInitializer","trackPageView","install","$FullStory","vue","directive","CoreCardLayout","CoreFlexFullWidthLayout","direction","flexDirection","stylesPlugin","commonLayouts","createPlugin","reactiveRouteStack","observable","routeEntryList","fallbackLocation","getPreviousRoute","previousRouteEntry","previousRoute","newEntry","foundIndex","routeEntry","binding","vnode","setAttribute","removeAttribute","$data","injector","resetUserData","resetFeaturesToggleData","resetBrandingData","storeCleaner","VueRouterAdapter","permissions","Set","addToPermissions","permissionArray","permission","vueRouteRecord","vueRouteToRouteWithPermissions","ErrorRouteNames","UserProfileStoreProviderAdapter","userProfileStore","UserWithPermissions","AnonymousUser","BaseTokens","baseInjector","createInjector","provideValue","baseRouter","provideFactory","mainInjector","flow","provideClass","Scope","viewHeightCorrector","updateVhProperty","vh","documentElement","clientHeight","prevVh","App","setUserVars","platformResolutionService","PlatformNotFoundPage","LoginPageLayout","dataset","accessDeniedErrorHandler","guardService","isAuthRequiredForTargetRoute","isTargetRouteForUnauthorizedOnly","checkIfNavigationAllowed","setSessionRefreshErrorHandler","onReady","isAuthRequiredForCurrentRoute","resumeAutoRefresh","forceSessionRefresh","enableInfiniteAuthMiddleware","installPermissionsRouteGuard","DependencyInjectorPlugin","commonPlugin","VueTippy","VTooltip","VueLazyload","InfiniteLoading","noMore","noResults","system","VCalendar","componentPrefix","PortalVue","RouteStackManager","initializeSentry","init","defaults","raxConfig","retry","retryDelay","httpMethodsToRetry","statusCodesToRetry","onRetryAttempt","currentRetryAttempt","axiosRetry","setRetryingHttpState","enableHttpRetryMechanism","parser","UAParser","os","getOS","browser","getBrowser","detectBrowser","resolvePlatform","isPlatformFound","elementSelector","render","$mount","renderApp","prepareUrl","openUrlDomain","hostname","getDomainFromUrl","subscribeForDeepLinkOpen","initPushNotifications","AdminRoutes","AdministrationCourseRoutes","AdministrationUsersRoutes","AdministrationBillingRoutes","AdministrationEventRoutes","adminReportRoutes","topicsAdminRoutes","groupsAdminRoutes","playlistsAdminRoutes","AdministrationSettingsRoutes","AdministrationApiRoutes","getBackRouteFromPlayer","mobileMode","course_id","playlist_id","alias","InstantLoginRedirectionService","checkIfCorrectActivateTokenPassed","makeTokenCheckerGuard","checkIfCorrectResetTokenPassed","whatsnew","showModal","DEFAULT_ROUTE","APP_ROUTES","pseudoRoutes","AdministrationRoutes","CoursesRoutes","EventRoutes","ReportingRoutes","ErrorRoutes","ProfileSettingsRoutes","AuthenticationRoutes","base","syncPageTitleWithRouteTitle","canGoBack","Vuex","coursePlayer","whatsNewStore","userGroup","userGroupStore","toastNotifications","launchDarklyFeatures","planFeatures","notificationsStore","customFieldsStore","contentStore","openInAppStore","rootModule","createStore","createSmartStore","strict","CoursePlayerRootPage","NOT_FOUND","MOBILE_FALLBACK","MobileFallbackPage","changed","mNext","template_key","TemplateKey","template_data","course_title","event_title","getNotificationRoute","event_id","notificationsApi","NotificationsApiFactory","PermissionDeniedError","pushNotificationsService","installationId","initInstallationId","addListeners","registrationPromise","registerOnPNS","registerOnBackend","handle","registrationToken","DeviceType","installation_id","iana_timezone","getTimeZone","register","getInstallationId","nanoid","setInstallationId","Storage","installationIdKey","PushNotifications","actionId","tapHandlers","receive","resolvedOptions","timeZone","getPermissionStatus","permissionStatus","addTapHandler","action_url","getTapHandler","notificationsClient","_msg","browserSupportsNotificationAPI","isBrowserNotificationsEnabled","launchDarklyContext","BROWSER_NOTIFICATIONS","notificationToMartAsRead","n","ntf","currentPage","isPending","promisePending","notificationsInitialized","interval","notificationsInterval","getUsersNotifications","updateNotificationAllRead","setNewNotificationsCount","setAllNotificationAsRead","getUsersNotificationsNumber","setPromisePending","fetchNotifications","nextPage","setLastPage","loadNotifications","resetState","setNotifications","updateNotificationRead","getNewNotificationsCount","setNotificationAsRead","requestPermission","setNotificationsInitialized","getNotifications","setInterval","checkForNewNotifications","notificationText","browserNotification","onclick","newNotificationsCountDiff","resetAndGetNotifications","hidden","notifyUser","notificationsStoreMapper","NotificationsFeatureInitializer","usePushNotificationStore","isOpenInAppNotificationShown","useOpenInAppStore","openInAppStoreMapper","makePermissionChecker","injectFunction","makeCurrentUserPermissionChecker","checker","permissionChecker","PermissionsRouteGuard","PermissionsServiceTokens","RouterAdapter","UserProfileProvider","Unknown","Reporting","AdminUsers","AdminGroups","AdminCourses","AdminEvents","AdminPlaylists","AdminSkills","AdminCategoriesTopics","AdminBilling","AdminBranding","AdminApi","AdminContentStore","isAnyPermissionRequiredForRoute","has","isAnonymous","userProfileProvider","getCurrentUser","addBeforeEachRouteHandler","checkIfUserHasPermissionsForRoute","userProvider","hasAccessToRoute","handle404","featureEntity","planFeaturesModule","initialized","initializeAllFeatures","platformFeaturesClient","FeatureApiFactory","feature","features","initializeRequestPromise","setInitializePromise","getPlatformFeatureSettings","setFeatureState","promise","planFeaturesStoreMapper","PlanFeaturesMappedStore","isSkillSetupModalVisible","skillSetupStoreMapper","SkillSetupStoreMixin","MY_REPORT","GROUP_REPORT_PAGE","MOBILE_ROOT_PAGE","segmentReportingGuard","titleTranslationKey","MY_GROUP_REPORT","REPORT_MANAGER_MOBILE_ROOT","isDesktop","COURSE_REPORT","COURSES_REPORT","USER_REPORT","USERS_REPORT","SEGMENT_GROUP_REPORT","SEGMENT_OVERVIEW","SEGMENT_TOPIC_REPORT","SKILL_REPORT","SKILLS_REPORT","MY_ADMIN_REPORT","GROUPS_REPORT","launchDarklyFeature","launchDarklyFeaturesStore","initializeLaunchDarkly","MOBILE_ROOT","tracingOrigins","TracingIntegrations","routingInstrumentation","Sentry","traceFetch","traceXHR","startTransactionOnPageLoad","startTransactionOnLocationChange","markBackgroundTransactions","SentryFullStory","dsn","release","tracesSampleRate","attachStacktrace","ignoreErrors","getClient","Language","languages","defaultLanguage","supportedLanguages","getSupportedLanguage","languageCode","startsWith","isTranslationKey","defaultDictionary","adminApiTokensTranslations","adminBillingTranslations","adminBrandingTranslations","adminCategoriesTranslations","adminCoursesTranslations","adminEventsTranslations","adminGroupsTranslations","adminTranslations","adminPlaylistsTranslations","adminSettingsTranslations","adminSkillsTranslations","adminTopicsTranslations","adminUsersTranslations","authenticationTranslations","commonComponentsTranslations","commonTranslations","contentStoreTranslations","coursesTranslations","eventsTranslations","notificationsTranslations","openInAppTranslations","profileSettingsTranslations","reportingCommonTranslations","reportingCourseReportTranslations","reportingSegmentsTranslations","reportingSkillsReportTranslations","reportingUserGroupsReportTranslations","reportingUserReportTranslations","injectVariables","phrase","resultPhrase","currentKey","searchValue","replaceValue","regExp","replaceAll","getPhrase","dictionary","entry","PluralRules","currentDictionary","dictionaries","fallbackLanguage","fallbackDictionary","fallbackLocale","cookie","translateKey","loader","loaders","lastRequestedLanguage","setLastRequestedLanguage","setLanguage","setLoader","addDictionary","translationsStoreMapper","TranslationsStoreMixin","useResizeObserver","defaultWindow","observerOptions","observer","isSupported","disconnect","stopWatch","ResizeObserver","observe","tryOnScopeDispose","contentRect","ele","DropdownContainer","hasTitle","_props","clickHandler","hasClearButton","clearButtonTooltip","inputEl","onClearClick","SelectorNoResults","buttonText","showCreateNewButton","emitButtonClick","_m","currentValue","isScrolledToEnd","onReachedEnd","clearFilter","remove","lowercaseFilter","filterLocally","displayField","showSelected","confirmText","noItemsText","onValueChanged","deep","onOptionsChanged","onCurrentValueChange","onConfirm","toggleSelection","TagButton","TagWithDropdown","isDropdownOpen","optionsVisible","isOpenOrActive","onHide","OverlayModal","directionName","hasSubheader","groupName","colorDefault","flexBasis","sizeClass","ModalWindowFullscreenOverlay","overlayStyle","RadioButton","isSmall","hasAdditionalLabel","ConditionField","isEmpty","firstOperand","secondOperand","hasClickHandler","statement","withDeletion","handleDeleteConditionClick","googleMapsLoaders","autocompleteService","geocoder","LocationSelector","Loader","libraries","maps","places","AutocompleteService","Geocoder","isApiReady","onInputChangedDebounced","makeRequest","debounceInterval","selectedAddress","textField","highlightNext","highlightPrevious","onEnterPressed","cancelInput","setTextFromSuggestion","highlightedIndex","minimalQueryLength","getPlacePredictions","types","handleAutocompleteResult","textFieldWasBlurred","shouldNotSelectOnBlur","selectCurrentText","onLocationSelected","selectItem","currentRequest","results","handleGeocoderResult","place","geocodeResults","geometry","latitude","lat","longitude","lng","fullAddress","formatted_address","geocode","placeId","place_id","onDebounceIntervalChanged","onSelectedAddressChanged","handleHotkey","onTextFieldFocus","onTextFieldBlur","HighlightedOptionScroller","container","Element","highlightedOption","stepMinutes","selectedValue","startedToSelectValueUsingKeyboard","optionScroller","timeFromDateValue","dateToTime","current","startOfTheDay","MIN_VALUE","endOfTheDay","MAX_VALUE","emitValue","showDropdown","validateAndUpdateValue","isValidTimeInput","newDate","meridiem","setHours","setMinutes","getDuration","durationInSeconds","scrollToOption","isOptionHighlighted","isOptionSelected","handleDropdownMount","setContainer","Symbol","WhatsnewMutations","isModalShown","whatsNewStoreMapper","webpackAsyncContext","__webpack_require__","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","m","amdO","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","getter","__esModule","defineProperty","enumerable","f","chunkId","promises","u","miniCssF","globalThis","Function","hmd","set","prop","done","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","nc","onScriptComplete","prev","onerror","onload","doneFns","parentNode","toStringTag","nmd","paths","fullhref","existingLinkTags","dataHref","rel","existingStyleTags","findStylesheet","linkTag","errorType","realHref","createStylesheet","miniCss","installedChunks","installedChunkData","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}