{"version":3,"file":"js/app.4a0769e2.js","mappings":"qFAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,OAAOC,MAAM,CAAC,aAAcP,EAAIQ,WAAW,CAACJ,EAAG,MAAM,CAACK,MAAM,CAAC,IAAMT,EAAIU,WACzLC,EAAkB,G,mBCWtB,MAAMC,EAAS,CACb,MAAFC,QACE,KAAFC,QAEMC,EAAN,CACE,CAAF,WACE,CAAF,WAGA,OACE,KAAFC,WACE,MAAFC,CACI,MAAJC,CAAM,KAANC,OAAM,QAANC,EAAAA,OACI,SAAJZ,SAEE,SAAFa,CACI,OACE,OAAN,gCC7BmQ,I,UCQ/PC,GAAY,OACd,EACAvB,EACAY,GACA,EACA,KACA,WACA,MAIF,EAAeW,EAAiB,S,qDCnBhC,IAAIvB,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,YAAYC,MAAMP,EAAIuB,gBAAgBd,MAAM,CAAC,KAAO,UAAU,CAAET,EAAc,WAAEI,EAAG,MAAM,CAACE,YAAY,mBAAmBN,EAAIwB,KAAKpB,EAAG,MAAM,CAACE,YAAY,uBAAuB,CAAEN,EAAY,SAAEI,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACN,EAAIyB,GAAG,IAAIzB,EAAI0B,GAAG1B,EAAI2B,OAAO,OAAO3B,EAAIwB,KAAKpB,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACN,EAAI4B,GAAG,YAAY,QACvcjB,EAAkB,G,UCStB,GACI,CAACkB,EAAAA,IAAoB,CAAEb,KAAO,aAAYa,EAAAA,KAAWC,SAAS,GAC9D,CAACC,EAAAA,GAAoB,CAAEf,KAAO,aAAYe,EAAAA,IAAUD,SAAS,GAC7D,CAACE,EAAAA,IAAoB,CAAEhB,KAAO,aAAYgB,EAAAA,KAAWF,SAAS,GAC9D,CAACG,EAAAA,IAAoB,CAAEjB,KAAO,aAAYiB,EAAAA,KAAaH,SAAS,GAChE,CAACI,EAAAA,IAAoB,CAAElB,KAAO,aAAYkB,EAAAA,KAAkBJ,SAAS,GACrE,CAACK,EAAAA,IAAoB,CAAEnB,KAAO,aAAYmB,EAAAA,KAAqBL,SAAS,GACxE,CAACM,EAAAA,IAAoB,CAAEpB,KAAO,aAAYoB,EAAAA,KAAoBN,SAAS,ICK3E,GACE,KAAFd,WACE,MAAFC,CACI,KAAJD,CAAM,KAANG,OAAM,QAANC,aACI,MAAJO,CAAM,KAANR,OAAM,QAANC,IACI,QAAJiB,SAEE,SAAFhB,CACI,kBACE,MAAN,oBAAQ,MAARiB,KAAAA,WAEI,WACE,MAAN,iBAEI,aACE,OAAN,wBCrC6Q,I,UCQzQhB,GAAY,OACd,EACAvB,EACAY,GACA,EACA,KACA,WACA,MAIF,EAAeW,EAAiB,S,qDCnBhC,IAAIvB,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACmC,IAAI,aAAajC,YAAY,yCAAyCkC,MAAOxC,EAAoB,kBAAG,CAACI,EAAG,eAAe,CAACmC,IAAI,WAAW9B,MAAM,CAAC,cAAeT,EAAIyC,aAAe,YAAa,aAAazC,EAAI0C,UAAU,KAAO1C,EAAI2C,KAAK,aAAa3C,EAAI4C,UAAU,kBAAkB5C,EAAI6C,uBAAuB,qBAAqB7C,EAAI8C,iBAAiB,uBAAuB9C,EAAI+C,mBAAmB,OAAS/C,EAAIgD,OAAO,YAAYhD,EAAIiD,SAAS,mBAAmBjD,EAAIkD,eAAe,mBAAmBlD,EAAImD,eAAe,gBAAe,EAAK,oBAAoBnD,EAAIoD,iBAAiB,mBAAmBpD,EAAIqD,gBAAgBC,GAAG,CAAC,kBAAkBtD,EAAIuD,cAAc,kBAAkBvD,EAAIwD,cAAc,gBAAgBxD,EAAIyD,eAAe,IAC1zB9C,EAAkB,G,mBCDlB,G,OAAS,WAAa,IAAIX,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAEJ,EAAe,YAAEI,EAAG,wBAAwB,CAACK,MAAM,CAAC,WAAWT,EAAI0D,QAAQ,WAAW1D,EAAI2D,QAAQ,OAAS3D,EAAI4D,QAAQN,GAAG,CAAC,kBAAkBtD,EAAIuD,cAAc,kBAAkBvD,EAAIwD,iBAAiBxD,EAAIwB,KAAKpB,EAAG,MAAM,CAACE,YAAY,eAAeC,MAAM,CAAC,MAASP,EAAI6D,mBAAmB,CAACzD,EAAG,MAAM,CAACE,YAAY,UAAUN,EAAI8D,GAAI9D,EAAU,QAAE,SAAS+D,EAAMC,GAAK,OAAO5D,EAAG,MAAM,CAAC4D,IAAIA,EAAI1D,YAAY,SAAS,CAACF,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,MAAM,CAACE,YAAY,eAAe,CAACN,EAAIyB,GAAG,IAAIzB,EAAI0B,GAAGqC,EAAME,YAAY,IAAIjE,EAAI0B,GAAGqC,EAAMG,WAAW,SAAS9D,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAACF,EAAG,MAAM,CAACE,YAAY,eAAeN,EAAI8D,GAAI9D,EAAiB,eAAE,SAASmE,EAAaH,GAAK,OAAO5D,EAAG,MAAM,CAAC4D,IAAIA,EAAI1D,YAAY,mBAAmBC,MAAMP,EAAIoE,iBAAiBJ,IAAM,CAAC5D,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACN,EAAIyB,GAAGzB,EAAI0B,GAAGyC,WAAqB,GAAG/D,EAAG,MAAM,CAACE,YAAY,SAASN,EAAI8D,GAAIC,EAAW,OAAE,SAASM,EAAKL,GAAK,OAAO5D,EAAG,MAAM,CAAC4D,IAAIA,EAAI1D,YAAY,QAAQN,EAAI8D,GAAG,GAAO,SAASQ,EAAIN,GAAK,OAAO5D,EAAG,MAAM,CAAC4D,IAAIA,EAAIzB,IAAI,MAAMgC,UAAS,EAAKjE,YAAY,YAAYC,MAAMP,EAAIwE,cAAcF,GAAK7D,MAAM,CAAC,YAAY6D,EAAIG,MAAMnB,GAAG,CAAC,MAAQ,SAASoB,GAAgC,OAAxBA,EAAOC,iBAAwB3E,EAAIyD,WAAWa,EAAIG,SAAS,CAACrE,EAAG,MAAM,CAACE,YAAY,eAAeC,MAAM+D,EAAI/D,MAAMiC,MAAO8B,EAAS,MAAE7D,MAAM,CAAC,MAAQ6D,EAAI3C,QAAQ,CAAC3B,EAAIyB,GAAG,IAAIzB,EAAI0B,GAAG4C,EAAIM,WAAW,YAAW,MAAK,UAAS,MAAM,KAC78C,EAAkB,G,UCDlB,G,QAAS,WAAa,IAAI5E,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,OAAO,CAACE,YAAY,kEAAkEC,MAAM,CAAC,mBAAoBP,EAAI6E,uBAAuBpE,MAAM,CAAC,cAAc,QAAQ6C,GAAG,CAAC,MAAQtD,EAAIuD,gBAAgB,CAACvD,EAAIyB,GAAG,2BAA2BrB,EAAG,OAAO,CAACE,YAAY,mEAAmEC,MAAM,CAAC,mBAAoBP,EAAI8E,uBAAuBrE,MAAM,CAAC,cAAc,QAAQ6C,GAAG,CAAC,MAAQtD,EAAIwD,gBAAgB,CAACxD,EAAIyB,GAAG,gCAC5kB,EAAkB,GCmBtB,GACE,KAAFT,wBACE,MAAFC,CACI,QAAJyC,CACM,KAANvC,CAAAA,OAAAA,OAEI,QAAJwC,CACM,KAANxC,CAAAA,OAAAA,OAEI,OAAJyC,CACM,KAANzC,MACM,UACE,MAAR,MAIE,SAAFE,CACI,wBACE,MAAN,oCACM,OAAN,gEACA,cAEI,wBACE,MAAN,yFACM,OAAN,qBACA,eAGE,QAAF0D,CACI,gBACJ,4BAGM,KAAN,0BAEI,gBACJ,4BAGM,KAAN,4BC3DwR,I,UCQpRzD,GAAY,OACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIF,EAAeA,EAAiB,Q,iBCnBhC,SAAS0D,EAAeC,EAAUC,GAC9BjF,KAAKe,KAAO,gBAEZf,KAAKgF,SAAWA,EAChBhF,KAAKiF,QAAWA,EAEZC,MAAMC,kBACND,MAAMC,kBAAkBnF,KAAM+E,GAG9B/E,KAAKoF,OAAS,IAAIF,OAASE,MAInC,QCyDA,SAASC,IACP,MAAF,QACE,OAAF,iDAGA,OACE,KAAFtE,eACE,WAAFuE,CACI,oBAAJC,GAEE,MAAFvE,CACI,WAAJwE,CACM,KAANtE,QAGI,UAAJuB,CACM,KAANvB,OACM,QAANC,EAAAA,GAAAA,QAGI,OAAJ4B,CACM,KAAN7B,OACM,QAANC,MAGI,SAAJ6B,CACM,KAAN9B,OACM,QAANC,MAGI,UAAJwB,CACM,KAANzB,OACM,UACE,OAAR,MAII,cAAJuE,CACM,KAANvE,OACM,QAANC,EAAAA,IAGI,eAAJ8B,CACM,KAAN/B,CAAAA,OAAAA,SACM,QAANC,MAGI,eAAJ+B,CACM,KAANhC,CAAAA,OAAAA,SACM,QAANC,MAGI,iBAAJgC,CACM,KAANjC,MACM,UACE,MAAR,KAII,iBAAJ2B,CACM,KAAN3B,QACM,SAANC,GAGI,mBAAJ2B,CACM,KAAN5B,QACM,SAANC,GAEI,YAAJuE,CACM,KAANxE,SAGI,KAAJwB,CACM,KAANxB,OACM,QAANC,MAGI,cAAJwE,CACM,KAANzE,MACM,UACE,MAAR,KAGI,iBAAJ0E,CACM,KAAN1E,MACM,UACE,MAAR,KAGI,qBAAJ2E,CACM,KAAN3E,QACM,SAANC,GAEI,eAAJiC,CACM,KAANlC,SACM,QAANC,OAGE,OACE,MAAJ,CACM,OAANwC,GAGM,aAANmC,EACM,eAANC,CACQ,YAARC,KACQ,MAARC,KACQ,IAARC,MAIM,sBAANC,CACQ,YAARH,KACQ,MAARC,KACQ,IAARC,MAEM,eAANE,KAGE,UACEC,IAAAA,OAAAA,KAAAA,MACA,KAAJ,sBACI,KAAJ,+BACI,KAAJ,mBACM,MAANJ,KAAAA,OAAAA,KAAAA,OAAAA,MAAAA,KACM,IAANC,KAAAA,OAAAA,KAAAA,OAAAA,IAAAA,KACM,YAANF,QAGE,MAAFM,CACI,UAAJ3D,GACM,KAAN,mBAEI,YAAJmD,GACA,EACQ,KAAR,6BAGQ,KAAR,iCAGI,OAAJ/C,GACM,KAAN,mBACQ,MAARkD,EAAAA,MACQ,IAARC,EAAAA,IACQ,YAARF,QAGI,gBACE,KAAN,WAEI,KAAJtD,GACM2D,IAAAA,OAAAA,GACA,KAAN,WAEI,cAAJV,CACM,UACE,KAAR,WAEM,MAANY,IAGE,SAAFnF,CACI,gBACE,OAAN,iBAEI,UACE,OAAN,mEAEI,UACE,OAAN,mEAEI,mBACE,OAAN,6BAEI,sBACE,MAAN,KACM,IAAN,EAqBM,OAnBA,KAAN,2BACQ,EAAR2B,MAAAA,SAAAA,IACA,UACY,GAAZyD,EAAAA,EAAAA,GAAAA,GAAAA,EAAAA,OACA,0BACc,EAAdA,gBAAAA,EAAAA,MAAAA,kBAIU,EAAVC,GAAAA,CACY,MAAZlE,GAAAA,GACY,MAAZb,EAAAA,MAAAA,GACY,MAAZpB,EAAAA,GACA,2BACAyC,EAAAA,aAKA,IAGE,QAAF+B,CACI,UAAJ4B,GACM,MAAN,sCACM,IAAN,SAGM,IAFA,KAAN,UAEA,uBACQ,MAAR,mBACA,mBACA,YACA,kBACA,UAEA,wBACAC,EACAC,EACAC,EACA5C,GAGQ,IAAR,oCAEA,qBACU,KAAV,eACY,YACA,aACA,cACA,cACA,sBACA,MAAZ6C,EAAAA,MACY,KAAZC,EAAAA,SAKI,iBAAJC,EAAAA,EAAAA,EAAAA,GACM,MAAN,cAAQ,EAARC,aAAQ,EAARC,sBAAQ,GACR,8BAGA,KACA,KAEM,IAAN,KACA,KACA,IAEM,IAAN,sBACQ,MAAR,KAEQ,IAAR,mBACA,SACY,EAAZC,EACY,GAAZC,EACY,EAAZL,KAAAA,IAEA,QACY,GAAZI,EACY,EAAZJ,KAAAA,IAGU,MAAV,IACAV,GAAAA,CAAAA,IAAAA,KAAAA,EAAAA,EAAAA,IAAAA,OAAAA,EAAAA,IACA,KAEA,8BACA,4BACA,CAAY,MAAZ9D,KAAY,MAAZb,IAEU,EAAV0C,MAAAA,EAAAA,EAAAA,GAAAA,CACY,OACA,QAAZiD,EACY,UAAZ1C,GAAAA,IACA2C,IAEA,cACY,EAAZH,EACY,GAAZI,GAGQ,EAART,KAAAA,GAGM,MAAN,CAAQ,iBAEJ,sBAAJU,GACM,MAAN,CACQ,cAARP,EACQ,aAARC,EACQ,sBAARO,IAAAA,EAAAA,EAAAA,IAGI,iBAAJtD,GACM,IAAN,KAOM,OALN,0BACA,eACU,EAAVuD,YAGA,GAEI,sBACE,GAAN,oCACQ,MAAR,MACA,iBACA,oGAGM,GAAN,aACQ,GAAR,4CACU,MAAV,MACA,SACA,wEAGQ,GAAR,yCACU,MAAV,MACA,eACA,wFAGQ,GAAR,uCACU,MAAV,MACA,aACA,0FAOI,gBAAJC,EAAAA,GACM,IAAN,EAQM,OANE,GADR,kBACAlE,GAAAA,CAAAA,IAAAA,MAAAA,OAAAA,EAAAA,IAGAA,GAAAA,KAGA,iBACA,KAEA,GAMI,mBAAJmE,GACM,MAAN,qDAEM,GAAN,GACQ,MAAR,uCAEQ,IAAR,mCACU,OAAV,EAEQ,GAAR,cACU,OAAV,eAGM,OAAN,GAGA,MAMI,mBAAJC,GACM,MAAN,qDAEM,GAAN,GACQ,MAAR,kCAEQ,IAAR,wCACU,OAAV,EAEQ,GAAR,cACU,OAAV,eAGM,OAAN,GAGA,MAII,OAAJC,GACM,MAAN,kBAEI,UAAJC,GACM,OAAN,6CAEI,QAAJC,GACM,OAAN,kCAEI,2BAAJC,GACM,MAAN,sFACA,8CACA,wDAEM,OAAN,gCAEI,QAAJC,GACM,OAAN,+BAEI,MAAJC,GACM,OAAN,6BAEI,cAAJC,GACM,OAAN,sFAEI,6BAAJC,GACM,OAAN,yDAEI,cAAJ9D,GACM,MAAN,CACQ,IAARF,KAAAA,OAAAA,GACQ,QAARiE,KAAAA,UAAAA,IAAAA,KAAAA,mBACQ,MAARC,KAAAA,QAAAA,IAAAA,KAAAA,iBACQ,SAARC,KAAAA,2BAAAA,EAAAA,MACQ,iBAAR,qBACQ,eAAR,mBACQ,eAAR,4BACA,iDACQ,kBAAR,0CACQ,eAAR,2CACA,4CAGI,kBAAJC,GACM,KAAN,8BAEI,UACE,KAAN,gCAKI,WAAJjF,GACM,GAAN,6EACQ,OAGF,IAAN,KAEA,+BACQ,EAART,KAAAA,wBAAAA,IAGA,+BACQ,EAARA,KAAAA,wBAAAA,GACQ,KAAR,+BAGA,+BACA,mDACA,qFACA,2BAKU,EAAVA,KAAAA,uBAAAA,GACU,KAAV,gCALU,KAAV,eACU,KAAV,4BAQM,KAAN,6BAEM,KAAN,uBACQ,YAAR+C,KAAAA,YACQ,OAAR/C,KAAAA,kBAGI,kBAAJ2F,GACM,MAAN,qCACM,IAAN,MAAQ,EAARzC,IAAQ,GAAR,oBAEA,uCACQ,EAARC,KAAAA,eAAAA,MACQ,EAARD,MAEA,sCACQ,EAARA,KAAAA,eAAAA,IACQ,EAARC,MAGM,KAAN,mBACQ,cACA,QACA,SAGJ,6BACE,KAAN,uBACQ,EAARyC,iBAAAA,aAAAA,KAAAA,uBAGI,gCACE,KAAN,uBACQ,EAARA,oBAAAA,aAAAA,KAAAA,uBAII,gBACE,KAAN,0BAEI,gBACE,KAAN,0BAGI,wBAAJC,GACM,MAAN,CACQ,YAAR5C,EACQ,MAARC,EACQ,IAARC,IAGI,wBAAJ2C,GACM,IAAN,MAAQ,EAAR5C,IAAQ,EAARC,YAAQ,GAAR,oBAaM,OAXN,kBACQ,EAARF,KACQ,EAARC,GAAAA,EACQ,EAARC,GAAAA,IAGQ,EAARD,EACQ,EAARC,EACQ,EAARF,GAGA,CAAQ,8BAEJ,uBAAJ8C,GACM,MAAN,kCACA,aACM,IAAN,eAEM,GAAN,iBACQ,KAAR,sBACA,mDACA,sCACc,KAAd,8CAKA,4BACQ,KAAR,mBAWM,OAPA,KAAN,iDAEM,KAAN,6BACQ,YAARhD,KAAAA,YACQ,QAARiD,KAAAA,iBAGA,GAII,4BAAJC,GACM,OAAN,qEAEI,gBACE,KAAN,kBACM,KAAN,gBACQ,MAAR/C,KACQ,IAARC,KACQ,YAARF,OAGI,6BAAJiD,GACM,MAAN,cACA,aACM,OAAN,mCAEI,uBAAJC,GACM,IAAN,yCACA,4BACU,KAAV,8BCrpBgR,ICQ5Q,GAAY,OACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIF,EAAe,EAAiB,QCmBhC,GACE,KAAFnI,uBACE,WAAFuE,CAAI,YAAJ6D,GACE,MAAFnI,CACI,aAAJwB,CACM,KAANtB,OACM,QAANC,YAEI,UAAJsB,CACM,KAANvB,OACM,QAANC,EAAAA,GAAAA,QAEI,KAAJuB,CACM,KAANxB,OACM,QAANC,MAEI,SAAJ6B,CACM,KAAN9B,OACM,QAANC,MAEI,MAAJ8E,CACM,KAAN/E,OACM,QAANC,MAEI,IAAJ+E,CACM,KAANhF,QAEI,cAAJuE,CACM,KAANvE,OACM,QAANC,EAAAA,IAGI,eAAJ8B,CACM,KAAN/B,CAAAA,OAAAA,SACM,QAANC,MAGI,eAAJ+B,CACM,KAANhC,CAAAA,OAAAA,SACM,QAANC,MAGI,iBAAJgC,CACM,KAANjC,MACM,UACE,MAAR,KAGI,SAAJkI,CACM,KAANlI,OACM,QAANC,MAEI,iBAAJ0B,CACM,KAAN3B,QACM,SAANC,GAEI,mBAAJ2B,QACI,SAAJuG,QACI,YAAJvD,QACI,OAAJwD,QACI,eAAJlG,CACM,KAANlC,SACM,QAANC,OAGE,OACE,MAAJ,CACM,UAANwB,KACM,iBAAN4G,KAGE,UACElD,IAAAA,OAAAA,KAAAA,MACA,KAAJ,oBAEE,UACE,KAAJ,6CAEE,MAAFC,CACI,eACE,KAAN,oBAEI,YAAJR,GACA,IACQ,KAAR,+BAGI,OAAJwD,GACA,GACQ,KAAR,gBACU,KAAV,iDAKE,SAAFlI,CACI,aACE,OAAN,MAEI,yBACE,OAAN,6BACA,wBACA,mBAEA,wBACA,wCAEA,MAEI,SACE,MAAN,CACQ,MAAR6E,KAAAA,MACQ,IAARC,KAAAA,KAAAA,KAAAA,YAAAA,EAAAA,GAAAA,OAAAA,KAAAA,IAAAA,KAAAA,SAIE,QAAFpB,CACI,sBACE,GAAN,eACQ,MAAR,MAAU,EAAV0E,OAAU,GAAV,8CACA,uCACA,wCACQ,IAAR,0CACA,KAAU,GAAV,cAUQ,OARR,SACU,EAAVC,KAAAA,SAAAA,IAAAA,GAGA,aACU,EAAVC,EAAAA,GAGA,CACU,KAAVA,GAAAA,MACU,IAAVD,GAAAA,OAGM,MAAN,IAEI,eACE,IAAN,mCACM,MAAN,yDACApD,GAAAA,CAAAA,IAAAA,MAAAA,GAAAA,CAAAA,IAAAA,KAAAA,KAAAA,iBACA,oBACM,IAAN,kCAQM,OANA,EAANZ,EAAAA,GAAAA,GAAAA,EAAAA,EAAAA,EAEA,sBACQ,EAARjB,EAAAA,SAAAA,EAAAA,UAGA,kDAEI,gBACE,KAAN,+DACM,KAAN,iCAEI,gBACE,KAAN,0DACM,KAAN,iCAEI,gBAAJmF,GACM,KAAN,4BACQ,YACA,MAAR7F,GAAAA,CAAAA,GAAAA,QACQ,KAAR8F,GAAAA,CAAAA,GAAAA,UAGI,YAAJpG,YAAM,EAANsC,OAAM,IACA,KAAN,uBAAQ,oCAARtD,KAAAA,gBAEI,mBACE,KAAN,iCCpNyR,ICOrR,GAAY,OACd,EACA1C,EACAY,GACA,EACA,KACA,KACA,MAIF,EAAe,EAAiB,S,qDClBhC,IAAIZ,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,eAAeC,MAAM,CAAC,CAAC,KAAQP,EAAI8J,UAAUC,QAAQtJ,MAAM,CAAC,GAAKT,EAAIgK,UAAU,SAAWhK,EAAIiK,UAAU3G,GAAG,CAAC,MAAQtD,EAAIkK,cAAc,CAAClK,EAAI4B,GAAG,YAAY,IAC5QjB,EAAkB,GCDf,MAAMwJ,EAAe,2BACfC,EAAe,uBAEfC,EAAe,uBACfC,EAAe,4BACfC,EAAe,OCc5B,OACE,KAAFvJ,cACE,MAAFC,CACI,UAAJ+I,CACM,KAAN7I,OACM,QAANC,0BAEI,kBAAJoJ,CACM,KAANrJ,OACM,UACE,MAAR,CACU,OAAV4I,EACU,YAAVU,MAII,eAAJC,CACM,KAANvJ,QACM,SAANC,GAEI,SAAJ6I,SAGE,OACE,MAAJ,CACM,OAANF,EACM,YAANU,KAIE,SAAFpJ,CACI,YACE,OAAN,4CAAQ,MAAR0I,KAAAA,SAGE,MAAFxD,CACI,kBAAJiE,CACM,QAANG,GACQ,KAAR,cACQ,KAAR,0BAEQ,KAAR,gBAEM,WAANC,EACM,MAANpE,GAEI,MAAJuD,GACA,GACQ,OAARc,iBAAAA,QAAAA,KAAAA,mBACQ,KAAR,gBAGQ,OAARA,oBAAAA,QAAAA,KAAAA,mBACQ,KAAR,kBAKE,QAAF9F,CAEI,YAAJmF,GACM,GAAN,cACQ,OAAR,EAIM,GAAN,8BACQ,GAAR,6BAKU,OAJA,KAAV,SACU,KAAV,eACU,KAAV,kBACU,KAAV,cACA,EAIQ,IAAR,WACQ,OAAR,wBACU,EAAVtB,EAAAA,cAeQ,OAZA,EAARA,UAAAA,OAAAA,GACQ,KAAR,mBAGA,4CACU,KAAV,eAGU,KAAV,qCAEQ,KAAR,aACQ,EAARkC,mBACA,EAGM,OAAN,8BACQ,KAAR,SACQ,KAAR,eACQ,KAAR,kBACQ,KAAR,cACA,GAGA,8BACA,8BACQ,KAAR,SACQ,KAAR,cACA,IAEM,KAAN,kBACM,KAAN,aACM,EAANA,kBACA,IAII,kBAAJC,GACM,OAAN,gCAIM,KAAN,SACM,KAAN,eACM,KAAN,kBACM,KAAN,eANA,GAWI,aACE,GAAN,qBACQ,MAAR,GAAU,MAAVhB,KAAAA,MAAU,YAAVU,KAAAA,aACQ,KAAR,0CAII,YAAJO,GACM,GAAN,qBACAR,EAAAA,aACAA,EAAAA,YAAAA,OAAAA,EAAA,CAEQ,MAAR,kFACQ,GAAR,0CAKI,YAAJS,EAAAA,GACM,IAAN,KACA,aACQ,EAARC,IAAAA,KAEM,MAAN,8CACM,IAAN,uBACQ,GAAR,SACU,OAAV,EAGM,OAAN,GAGI,gBAAJC,GACM,MAAN,kEACM,GAAN,oBACA,OACU,EAAVC,UAAAA,OAAAA,OAMI,UAAJC,GACM,OAAN,gCChMgR,I,UCQ5Q/J,GAAY,OACd,EACAvB,EACAY,GACA,EACA,KACA,WACA,MAIF,EAAeW,EAAiB,S,qDCnBhC,IAAIvB,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACmC,IAAI,SAASjC,YAAY,sBAAsBC,MAAM,CAAC,gBAAiBP,EAAIsL,sBAAsB7K,MAAM,CAAC,GAAKT,EAAIuL,QAAQjI,GAAG,CAAC,WAAatD,EAAIwL,SAAS,WAAaxL,EAAIyL,YAAY,CAACzL,EAAI4B,GAAG,WAAW,IAC7SjB,EAAkB,G,UCctB,GACE,KAAFK,UACE,MAAFC,CACI,OAAJsK,CACM,KAANpK,CAAAA,OAAAA,QACM,QAANC,QAEI,SAAJsK,CACM,KAANvK,OACM,QAANC,EAAAA,KAEI,KAAJuK,OACI,OAAJC,CAAM,KAANzK,QAAM,SAANC,GACI,qBAAJkK,QACI,SAAJO,CAAAA,OAAAA,SAEE,QAAF9G,CACI,WACE,OAAN8F,IAAAA,MAAAA,cAAAA,CACQ,MAAR5J,CACU,OAAVsK,KAAAA,OACU,SAAVG,KAAAA,SACU,KAAVC,KAAAA,KACU,OAAVC,KAAAA,OACU,SAAVC,KAAAA,UAEQ,WAARC,KAAAA,MAAAA,UAGI,YACE,OAANjB,IAAAA,MAAAA,kBC7C4Q,I,UCQxQvJ,GAAY,OACd,EACAvB,EACAY,GACA,EACA,KACA,KACA,MAIF,EAAeW,EAAiB,S,qDCnBhC,IAAIvB,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,aAAaC,MAAMP,EAAI+L,oBAAoB,CAAC3L,EAAG,OAAO,CAACE,YAAY,6BAA6BF,EAAG,MAAM,CAACE,YAAY,sBAAsB,CAACN,EAAIyB,GAAG,IAAIzB,EAAI0B,GAAG1B,EAAIgM,OAAO,UAC5RrL,EAAkB,GCUtB,GACE,KAAFK,qBACE,MAAFC,CACI,KAAJE,CACM,KAANA,OACM,QAANC,SAEI,MAAJ4K,QAEE,SAAF3K,CACI,qBACE,MAAN,6BCtBuR,I,UCOnRC,GAAY,OACd,EACAvB,EACAY,GACA,EACA,KACA,KACA,MAIF,EAAeW,EAAiB,S,qMClBzB,MAAMO,EAAoB,UACpBE,EAAoB,SACpBC,EAAoB,UACpBC,EAAoB,YACpBC,EAAoB,iBACpBC,EAAoB,oBACpBC,EAAoB,oB,qPCNjC,MAAM6J,EAAQ,CACVC,OAAQ,SACRC,OAAQ,SACRC,MAAQ,SAGNC,EAAiB,CACnBC,GAAI,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MACzCC,GAAI,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAGvCC,EAA0B,EAC1BC,EAA0B,GAE1BC,EAA0B,IAC1BC,EAA0B,aAE1BC,EAAgB,CAClBnK,aAAkB,aAClBE,KAAkB,KAClB+C,cAAkB,EAClBhD,UAAkBuJ,EAAME,OACxB/I,iBAAkB,GAClByJ,KAAkB,GAElB3G,MAAgB,KAChBC,IAAgB,KAChBhD,eAAgB,KAChBF,SAAgB,KAChBC,eAAgB,KAEhBJ,kBAAoB,EACpBC,oBAAoB,EACpBuG,UAAoB,EACpBwD,YAAoB,GAGlBC,EAAiB,CACnBC,KAAO,OACPC,MAAO,SAGLC,EAA4B,CAC9BF,KAAO,kBACPC,MAAO,qB,8HC5CX,MAAME,EAAc,CAChBC,KAAU,OACVC,IAAU,MACVC,SAAU,YAGRC,EAAmB,CACrBC,MAAO,SAGLC,EAAQ,QAERC,EAAgB,CAAC,IAAM,GAAK,EAAG,EAAG,EAAG,EAAG,K,sGCZvC,MAAMC,EAAoBC,GAAc,GAAEA,UACpCC,EAAoBD,GAAc,GAAEA,aACpCE,EAAoBF,GAAc,GAAEA,kB,yFCUjD,MAAMG,EAAQC,IAAAA,SAEdD,EAAME,aAAaC,QAAQC,KACtBC,GAAWA,IACXpC,GAAUqC,QAAQC,OAAOtC,KAG9B+B,EAAME,aAAaM,SAASJ,KACvBI,GAAaA,IACbvC,IACOA,EAAMuC,SACwB,MAA1BvC,EAAMuC,SAASC,OACfC,EAAAA,EAAAA,QAAe,CAAEC,KAAM,OAEQ,MAA1B1C,EAAMuC,SAASC,QACjBxC,EAAMuC,SAASI,KAAKC,OAASC,EAAAA,GAAAA,aAChCC,EAAAA,EAAAA,SAAe,WAAY,CACvBC,SAAWC,EAAAA,GACXC,UAAWC,EAAAA,KAGgB,MAA1BlD,EAAMuC,SAASC,QAA4C,MAA1BxC,EAAMuC,SAASC,QACrDM,EAAAA,EAAAA,SAAe,WAAY,CACvBC,SAAW/C,EAAMuC,UAAYvC,EAAMuC,SAASI,KACtC3C,EAAMuC,SAASI,KAAKC,KAAOO,EAAAA,GACjCF,UAAWC,EAAAA,KAIblB,IAAAA,SAAehC,IACrB8C,EAAAA,EAAAA,SAAe,WAAY,CACvBC,SAAWK,EAAAA,GACXH,UAAWC,EAAAA,KAGZb,QAAQC,OAAOtC,MAI9B,U,q8BCnDA,MAAMqD,EAA6B,aACtBC,EAAsBD,EACtBE,EAAsBF,EACtBG,EAAsBH,EACtBI,EAAsBJ,EACtBK,EAAuB,GAAEL,UACzBM,EAAuB,GAAEN,WACzBO,EAAuB,GAAEP,UACzBQ,EAAuB,GAAER,YAEzBS,EAAsB,kCACtBC,EAAsB,gCACtBC,EAAsB,oBACtBC,EAAsB,oBACtBC,EAAsB,qBACtBC,EAAsB,kBAEtBC,EAAsB,WACtBC,EAAsB,cACtBC,EAAsB,WACtBC,EAAsB,YACtBC,EAAsB,aACtBC,EAAsB,YACtBC,EAAsB,mBACtBC,EAAsB,kBACtBC,EAAsB,0BACtBC,EAAsB,kBACtBC,EAAsB,aACtBC,EAAsB,cAEtBC,EAAoB,yCAE1B,SAASC,EAAeC,GAC3B,MAAQ,GAAE7B,KAAmB6B,uBAG1B,SAASC,EAAcD,GAC1B,MAAQ,GAAE7B,KAAmB6B,mBAG1B,SAASE,EAAoBF,GAChC,MAAQ,GAAE7B,KAAmB6B,kBAG1B,SAASG,EAAqBH,GACjC,MAAQ,GAAE7B,KAAmB6B,2BAG1B,SAASI,GAAuB,UAAEJ,IACrC,MAAQ,GAAE7B,KAAmB6B,qBAG1B,SAASK,EAAyBL,GACrC,MAAQ,GAAE7B,KAAmB6B,gBAG1B,SAASM,EAAkBN,GAC9B,MAAQ,GAAE7B,KAAmB6B,SAG1B,SAASO,EAAiBC,GAC7B,MAAQ,GAAEpB,KAAYoB,UAGnB,SAASC,EAAuBD,GACnC,MAAQ,GAAEpB,KAAYoB,gBAGnB,SAASE,EAAmBF,GAC/B,MAAQ,GAAEpB,KAAYoB,YAGnB,SAASG,EAAmBX,GAC/B,MAAQ,GAAE7B,KAAmB6B,UAG1B,SAASY,EAAgBC,GAC5B,MAAQ,GAAEtB,KAAqBsB,IAG5B,SAASC,EAAkBd,EAAWe,GAAiB,GAC1D,OAAOA,EACA,GAAEzC,KAAsB0B,sBACxB,GAAE1B,KAAsB0B,M,sPCnF5B,MAAMhC,EAA0B,aAC1BF,EAA0B,oBAC1BG,EAA0B,qBAC1BC,EAA0B,0BAC1B8C,EAA0B,kBAC1BC,EAA0B,oBAC1BC,EAA0B,kBAC1BC,EAA0B,oBAE1BxD,EAAqB,CAC9ByD,YAAuC,cACvCC,oBAAuC,sBACvCC,eAAuC,iBACvCC,UAAuC,YACvCC,oBAAuC,sBACvCC,mBAAuC,qBACvCC,SAAuC,WACvCC,sCAAuC,wCACvCC,2BAAuC,6BACvCC,mBAAuC,qBACvCC,oBAAuC,sBACvCC,mBAAuC,qBACvCC,YAAuC,cACvCC,gBAAuC,kBACvCC,WAAuC,aACvCC,eAAuC,iBACvCC,aAAuC,eACvCC,iBAAuC,mBAEvCC,aAAmB,eACnBC,eAAmB,iBACnBC,kBAAmB,sB,oHC1BhB,MAAMC,EAAmB,oBACnBC,EAAmB,yBAGzB,SAASC,EAAeC,EAAKnR,EAAOoR,EAAAA,IACvC,OAAIpR,IAASqR,EAAAA,GACD,GAAEL,0BAAyCG,IAE/C,GAAEH,0BAAyCG,M,ozBCVvD,MAAMG,EAAkB,CACpBC,KAAO,OACPC,MAAO,SAGLC,EAAkB,CACpBC,KAAU,OACVC,KAAU,OACVC,SAAU,YAGRC,EAAmB,CACrBC,IAAU,MACVF,SAAU,WACVG,SAAU,YAGRC,EAAkB,CACpBC,MAAcC,EAAAA,EAAAA,YACdC,MAAcD,EAAAA,EAAAA,YACdE,OAAcF,EAAAA,EAAAA,aACdG,QAAcH,EAAAA,EAAAA,QACdI,aAAcJ,EAAAA,EAAAA,cAGZK,EAAwB,CAC1BC,KAAcN,EAAAA,EAAAA,YACdO,WAAcP,EAAAA,EAAAA,kBACdQ,SAAcR,EAAAA,EAAAA,eACdS,aAAcT,EAAAA,EAAAA,cAGZU,EAAiB,CACnBJ,KAAYN,EAAAA,EAAAA,UACZW,KAAYX,EAAAA,EAAAA,UACZO,WAAYP,EAAAA,EAAAA,iBAGVY,EAAoB,CACtBN,KAAON,EAAAA,EAAAA,aACPW,KAAOX,EAAAA,EAAAA,aACPa,MAAOb,EAAAA,EAAAA,eAGLc,EAAwB,CAC1BC,MAAO,QACPC,KAAO,QAGLC,EAA0B,CAC5BF,MAAO,QACPJ,KAAO,OACPO,KAAO,OACPC,KAAO,QAGLC,EAAY,YAEZC,EAAa,CACf,CAACvB,EAAgBC,OAAe,CAC5B5Q,IAAO2Q,EAAgBC,MACvBuB,KAAO,aACPC,MAAO,IAEX,CAACzB,EAAgBG,OAAe,CAC5B9Q,IAAO2Q,EAAgBG,MACvBqB,KAAO,qBACPC,MAAO,IAEX,CAACzB,EAAgBI,QAAe,CAC5B/Q,IAAO2Q,EAAgBI,OACvBoB,KAAO,WACPC,MAAO,IAEX,CAACzB,EAAgBM,cAAe,CAC5BjR,IAAO2Q,EAAgBM,aACvBkB,KAAO,aACPC,MAAO,IAEX,CAACzB,EAAgBK,SAAe,CAC5BhR,IAAO2Q,EAAgBK,QACvBmB,KAAO,kBACPC,MAAO,KAITC,EAAmB,CACrB,CAACnB,EAAsBC,MAAe,CAClCnR,IAAUkR,EAAsBC,KAChCgB,KAAU,OACVC,MAAU,GACVnM,UAAU,GAEd,CAACiL,EAAsBE,YAAe,CAClCpR,IAAUkR,EAAsBE,WAChCe,KAAU,UACVC,MAAU,GACVnM,UAAU,GAEd,CAACiL,EAAsBG,UAAe,CAClCrR,IAAUkR,EAAsBG,SAChCc,KAAU,WACVC,MAAU,GACVnM,UAAU,GAEd,CAACiL,EAAsBI,cAAe,CAClCtR,IAAOkR,EAAsBI,aAC7Ba,KAAO,aACPC,MAAO,KAITE,EAAY,CACd,CAACf,EAAeJ,MAAa,CACzBnR,IAAUuR,EAAeJ,KACzBgB,KAAU,OACVC,MAAU,GACVnM,UAAU,GAEd,CAACsL,EAAeH,YAAa,CACzBpR,IAAUuR,EAAeH,WACzBe,KAAU,UACVC,MAAU,GACVnM,UAAU,GAEd,CAACsL,EAAeC,MAAa,CACzBxR,IAAUuR,EAAeC,KACzBW,KAAU,WACVC,MAAU,GACVnM,UAAU,IAIZsM,EAAe,CACjB,CAACd,EAAkBN,MAAQ,CACvBnR,IAAUyR,EAAkBN,KAC5BgB,KAAU,OACVC,MAAU,GACVnM,UAAU,GAEd,CAACwL,EAAkBC,OAAQ,CACvB1R,IAAUyR,EAAkBC,MAC5BS,KAAU,UACVC,MAAU,GACVnM,UAAU,GAEd,CAACwL,EAAkBD,MAAQ,CACvBxR,IAAUyR,EAAkBD,KAC5BW,KAAU,WACVC,MAAU,GACVnM,UAAU,IAIZuM,EAAa,CACf,CAACvC,EAAgBC,MAAQ,CACrBlQ,IAAO,OACPzD,MAAO,YACP4V,KAAO,eAEX,CAAClC,EAAgBE,OAAQ,CACrBnQ,IAAO,QACPzD,MAAO,aACP4V,KAAO,cAmBTM,GAdDrC,EAAgBC,KAIhBD,EAAgBE,KAIhBF,EAAgBG,SAMD,CAChB,CAACC,EAAiBC,KAAW,CACzBzQ,IAAMwQ,EAAiBC,IACvB0B,KAAM,SAEV,CAAC3B,EAAiBE,UAAW,CACzB1Q,IAAMwQ,EAAiBE,SACvByB,KAAM,mBAIRO,EAAgB,CAClBC,QAAU,UACVC,QAAU,UACVC,OAAU,SACVC,SAAU,WACVC,QAAU,UACVC,OAAU,UAGRC,EAAoB,CACtB7J,KAAS,OACT8J,QAAS,WAGPC,EAAgB,CAClBC,OAAS,SACTC,QAAS,WAGPC,EAA4B,IAC5BC,EAA4B,GAC5BC,EAA4B,IAC5BC,EAA4B,IAC5B1D,EAA4B,KAC5B2D,EAA4B,QAC5B1D,EAA4B,KAC5B2D,EAA4B,KAE5BC,EAAgB,CAClBC,KAAS,OACTC,IAAS,MACTC,QAAS,WAGPC,EAAW,CACb,CAACN,GAAQ3D,EACT,CAACA,GAAQA,EACT,CAACC,GAAQA,EACT,CAAC2D,GAAQA,GAGPM,EAAqB,CACvBpC,KAAM,OACNqC,KAAM,QAGJC,EAAS,CACXrX,KAAO,UACPsX,MAAO,OACPC,KAAO,QAGLC,EAAkB,IAElBC,GAAeC,EAAAA,EAAAA,O,sJC1Pd,MAAMC,EAA2B,yBAC3BC,EAA2B,oBAC3BC,EAA2B,sBAC3BC,EAA2B,wBAE3BC,EAA2B,4B,mBCLxC,QACIC,WAAmB,aACnBlD,MAAmB,QACnBmD,YAAmB,cACnBC,aAAmB,eACnBC,YAAmB,cACnBhE,aAAmB,eACnBiE,YAAmB,UACnBC,KAAmB,OACnBC,UAAmB,YACnBC,KAAmB,OACnBC,KAAmB,OACnBC,UAAmB,YACnBC,QAAmB,UACnBC,aAAmB,eACnBC,aAAmB,eACnBC,cAAmB,gBACnBC,OAAmB,SACnBC,YAAmB,cACnBC,YAAmB,cACnBC,eAAmB,iBACnBC,kBAAmB,oBACnB1E,aAAmB,eACnBD,SAAmB,WACnBQ,KAAmB,OACnBoE,SAAmB,WACnBC,UAAmB,YACnBC,UAAmB,YACnBC,gBAAmB,kBACnBpF,QAAmB,UACnBqF,cAAmB,gBACnBC,aAAmB,eACnBC,YAAmB,cACnBC,YAAmB,Y,4UCjCvB,MAAMC,EAAgB,MAChBC,EAAgB,UAChBC,EAAgB,UAChBC,EAAgB,aAChBC,EAAgB,SAChBC,EAAgB,aAChBC,EAAgB,aAChBC,EAAgB,gBAChBhO,EAAgB,OAChBC,EAAgB,S,8MCNtB,MAAMgO,EAAiC,qBAAXpQ,OACtBqQ,EAAwC,qBAAlBC,iBAAmCA,cAAcC,SACvEC,EAAeH,GAAUC,cAAcC,SAASE,cAChDC,EAAeN,GAAapQ,OAAO2Q,UAAUC,UAAUH,cACvDI,EAAeH,GAAMA,EAAGI,QAAQ,SAAW,EAC3CC,EAAgBL,GAAMA,EAAGI,QAAQ,WAAa,GAAwB,YAAjBN,EACrDQ,EAAgBN,GAAM,uBAAuBO,KAAKP,IAA0B,QAAjBF,EAG3DU,GAFeR,GAAM,cAAcO,KAAKP,GACzBA,GAAM,YAAYO,KAAKP,GACvBA,GAAMA,EAAGS,MAAM,mBAEpC,SAASC,IACL,MAAMR,EAAYD,UAAUC,UAAUH,cAEtC,OAAqC,IAAjCG,EAAUE,QAAQ,WACXF,EAAUE,QAAQ,YAAc,EAK/C,SAASO,IACL,MAAI,mBAAmBJ,KAAKN,UAAUC,aAAe5Q,OAAOsR,SACpDtR,OAAOuR,UACA,eAEPvR,OAAOwR,yBACA,QAEPxR,OAAOyR,mBACA,QAEPzR,OAAO0R,WACA,QAEL1R,OAAO2R,SAAW,cAAe3R,OAAO2R,QACnC,QAEJ,mBAGJ,KAGX,MAAMC,EAAWb,GAAaC,EAExBa,EAAoB,IAAM7R,OAAO0R,WAAW,sBAAsBI,S,+fC9CxE,MAAMC,EAAc,sBAOb,SAASC,EAAWjU,GACvB,MAAMkU,EAAMlU,EAAKmU,wBACjB,MAAO,CACHrT,IAAQoT,EAAIpT,IAAMmB,OAAOmS,YACzBrT,KAAQmT,EAAInT,KAAOkB,OAAOoS,YAC1BxT,MAAQqT,EAAIrT,MACZyT,OAAQJ,EAAII,QAKb,SAASC,EAAyBvU,EAAMwU,EAASC,GACpD,MAAMC,EAAe1U,EAAKpG,MAAM8a,SAAW,GAC3C1U,EAAKpG,MAAM8a,QAAU,OAErB,IAAIC,EAASC,SAASC,iBAAiBL,EAASC,GAQhD,OANAzU,EAAKpG,MAAM8a,QAAUA,EAEhBC,GAAUA,IAAWC,WACtBD,EAASC,SAASE,MAGfH,EAGJ,SAASI,EAAkBP,EAASC,GACvC,OAAOG,SAASC,iBAAiBL,EAASC,GAGvC,SAASO,EAAYnZ,EAAMoZ,EAAa,KAAMC,EAAW,MAC5D,MAAMC,EAAa,CACfC,IAAK,oBACLC,GAAK,aACLC,EAAK,aACLC,GAAK,cACLC,GAAK,SAEHC,EAAaN,EAAWF,IAAeA,EAE7CvX,IAAAA,OAAawX,GAEb,MAAMQ,EAAehY,GAAAA,CAAM7B,GAAM4Z,OAAO,QAAQE,MAAM,IAChDxa,EAAgB,GAAEua,EAAa,GAAGE,gBAAgBF,EAAa,KAAKA,EAAa,KACjFG,EAAgB,GAAEnY,GAAAA,CAAM7B,GAAM4Z,OAAO,QAAQta,KAASuC,GAAAA,CAAM7B,GAAM4Z,OAAO,UACzEK,EAAgB,GAAE3a,KAASuC,GAAAA,CAAM7B,GAAM4Z,OAAO,QAC9CM,EAAerY,GAAAA,CAAM7B,EAAMmY,GAAayB,OAAO,YAErD,OAAQA,GACJ,IAAK,QACD,MAAQ,GAAE/X,GAAAA,CAAM7B,GAAM4Z,OAAO,QAAQta,IACzC,IAAK,SACD,OAAO2a,EACX,IAAK,gBACD,MAAQ,GAAEpY,GAAAA,CAAM7B,GAAM4Z,OAAO,QAAQta,MAAUuC,GAAAA,CAAM7B,EAAMmY,GAAayB,OAAO,WACnF,IAAK,aACD,OAAOI,EACX,IAAK,oBACD,MAAQ,GAAEA,MAAanY,GAAAA,CAAM7B,EAAMmY,GAAayB,OAAO,WAC3D,IAAK,mBACD,MAAQ,GAAEM,MAAWD,IACzB,IAAK,yBACD,MAAQ,GAAEC,MAAWD,MAAUpY,GAAAA,CAAM7B,GAAM4Z,OAAO,UACtD,QACI,OAAO/X,GAAAA,CAAM7B,EAAMmY,GAAayB,OAAOA,IAI5C,MAAMO,EAAwBna,GAC1B,IAAIoa,KAAKpa,GAAMqa,UAAY,IAG/B,SAASC,EAAW/d,GACvB,IAAI2b,EAAUa,SAASwB,OAAOhD,MAAM,IAAIiD,OACpC,WAAaje,EAAKke,QAAQ,+BAAgC,QAAU,aAExE,OAAOvC,EAAUwC,mBAAmBxC,EAAQ,SAAMyC,EAG/C,SAASC,EAAWre,EAAMse,EAAOC,EAAU,IAC9CA,GAAU,QACN7Q,KAAM,KACH6Q,GAGHA,EAAQC,SAAWD,EAAQC,QAAQC,cACnCF,EAAQC,QAAUD,EAAQC,QAAQC,eAGtC,IAAIC,EAAgBC,mBAAmB3e,GAAQ,IAAM2e,mBAAmBL,GAExE,IAAK,IAAIM,KAAaL,EAAS,CAC3BG,GAAiB,KAAOE,EACxB,IAAIC,EAAcN,EAAQK,IACN,IAAhBC,IACAH,GAAiB,IAAMG,GAI/BrC,SAASwB,OAASU,EAGf,SAASI,EAAc9e,GAC1Bqe,EAAUre,EAAM,GAAI,CAChB,WAAY,IAIb,SAAS+e,EAAe7U,GAC3B,MAAM,aAAE8U,GAAiBxC,SAASyC,gBAC5BC,EAAmB1C,SAAS2C,cAAcjV,GAAYsS,SAAS2C,cAAcjV,GAAU8U,aAAe,EAE5G,OAAOE,GAAkBF,EAAe,OAAS,OAG9C,SAASI,EAAaxX,GACzB,MAAMc,EAAMd,EAAKmU,wBAAwBsD,EAE7B,IAAR3W,GACAmB,OAAOyV,SAAS,CACZ5W,IAAUA,EAAMmB,OAAOmS,YAAc,GACrCuD,SAAU,WAWf,SAASC,EAAgBC,EAAKC,GACjC,IAAIC,EAAc,KAElB,IAAK,IAAIC,EAAI,EAAGA,EAAIH,EAAII,OAAQD,IACxBH,EAAIK,OAAOF,KAAOF,IAClBC,EAAcC,GAGtB,OAAOD,EAGX,SAASI,EAASjW,EAAOkW,GAAW,GAChC,OAAoB,OAAhBlW,EAAMmW,MACFnW,EAAMoW,QAAU,IAAOF,GAAYlW,EAAMoW,QAAU,GAC5C,KAEJC,OAAOC,aAAatW,EAAMoW,SAGjB,IAAhBpW,EAAMmW,OAAkC,IAAnBnW,EAAMuW,SACvBvW,EAAMmW,MAAQ,IAAOD,GAAYlW,EAAMmW,MAAQ,GACxC,KAEJE,OAAOC,aAAatW,EAAMmW,OAG9B,KAGJ,SAASK,EAAUxW,EAAOkW,GAAW,GACxC,GAAIlW,EAAMyW,SAAWzW,EAAM0W,QAAU1W,EAAM2W,QACvC,OAGJ,IAAIC,EAAMX,EAAQjW,EAAOkW,GAEb,OAARU,IAIAA,EAAM,KAAOA,EAAM,MACnB5W,EAAMnG,iBAIP,SAASgd,EAAcC,GAC1B,OAAOC,KAAKC,MAAMD,KAAKE,UAAUH,IAG9B,SAASpJ,IAEZ,MAAMwJ,EAAwBxE,SAASyE,cAAc,OACrDD,EAAMxf,MAAM0f,WAAkB,SAC9BF,EAAMxf,MAAM2f,SAAkB,SAC9BH,EAAMxf,MAAM4f,gBAAkB,YAC9B5E,SAASE,KAAK2E,YAAYL,GAG1B,MAAMM,EAAQ9E,SAASyE,cAAc,OACrCD,EAAMK,YAAYC,GAGlB,MAAMC,EAAkBP,EAAMQ,YAAcF,EAAME,YAKlD,OAFAR,EAAMS,WAAWC,YAAYV,GAEtBO,EAGJ,SAAStX,GAAa,UAAE0X,EAAF,KAAa/Z,EAAb,QAAmBga,IAC5C,SAASC,EAAc3X,GACnB,OAAOsS,SAASsF,iBAAiB5X,GAGrC,GAAIyX,GAAa/Z,EAAKma,UAAUC,SAASL,GACrC,OAAO,EAGX,IAAIzX,EAAW,GACXyX,EAAU9B,OAAS,IACnB3V,EAAY,IAAGyX,KAEnB,MAAMM,EAAqBJ,EAAc,IAAGD,KAAW1X,OACvD,IAAK,IAAI0V,EAAI,EAAGA,EAAIqC,EAAmBpC,OAAQD,IAC3C,GAAIhY,IAASqa,EAAmBrC,GAC5B,OAAO,EAGf,OAAO,EAGJ,SAASsC,EAAqBC,GACjC,MAAoB,SAAhBA,GACQ,EAEL,EAGJ,SAASC,IACZC,IAAIC,mB,kGCjPR,MAAMC,EAAWjE,GAAoB,OAAVA,QAA4BF,IAAVE,EAE9B,MAAMkE,EACjBC,aAAa,SAAEC,EAAUC,YAAAA,GAAeC,EAAUC,eAAc,+BAM9C,CAACvE,EAAOqE,EAAaG,IAAmBH,EAAcrE,EAAQwE,EAAexE,KAL3Frf,KAAKyjB,SAAcA,EACnBzjB,KAAK0jB,YAAcA,EACnB1jB,KAAK2jB,QAAcA,GAAW,KAKlCG,UACI,OAAO9jB,KAAK2jB,QAAQG,QAAQ9jB,KAAKyjB,UAC3BzjB,KAAK+jB,gBAAgB/jB,KAAK2jB,QAAQG,QAAQ9jB,KAAKyjB,UAAWzjB,KAAK0jB,YAAa9B,KAAKC,OACjF,KAGVmC,QAAS3E,GACDiE,EAAQjE,IACRrf,KAAK2jB,QAAQK,QAAQhkB,KAAKyjB,SAAUzjB,KAAK+jB,gBAAgB1E,EAAOrf,KAAK0jB,YAAa9B,KAAKE,YAI/FmC,aACIjkB,KAAK2jB,QAAQM,WAAWjkB,KAAKyjB,WCtBrC,MAAMS,EAAyB,IAAIX,EAAe,CAC9CE,SAAa,kBACbC,aAAa,GACdS,gBAEH,MAAMC,UAAuBb,EACzBC,cACIa,MAAM,CACFZ,SAAa,WACbC,aAAa,IAGjB1jB,KAAKskB,YAAc,OAEdtkB,KAAK8jB,UAIN9jB,KAAKukB,uBAHLvkB,KAAKgkB,QAAQ,IAOrBQ,WAAYC,GACR,MAAMC,EAAkB1kB,KAAK8jB,UAC7BY,EAASD,GAAgB,IAAI7F,KAAKA,KAAK+F,MAAQ3kB,KAAKskB,aAAcM,cAClE5kB,KAAKgkB,QAAQU,GAGjBG,cACI,OAAOC,OAAOC,KAAK/kB,KAAK8jB,WAGZ,iBAAEW,EAAaC,GAC3B,OAAOA,EAASD,KAAiB,IAAI7F,MAAQgG,cAGjDL,uBACI,MAAMG,EAAW1kB,KAAK8jB,WAAa,GAEnCgB,OAAOC,KAAKL,GAAUM,SAASP,IACvBL,EAAea,UAAUR,EAAaC,WAC/BA,EAASD,MAIxBzkB,KAAKgkB,QAAQU,IAIrB,MAAMQ,EAAkB,IAAId,G,2GC1C5B,MAAMe,EACF3B,aACI,aACI4B,EADJ,SAEIC,EAFJ,OAGIC,EAHJ,SAIIC,EAJJ,QAKIC,EALJ,SAMIC,EANJ,QAOIC,EAPJ,gBAQIC,EARJ,0BASIC,EATJ,mBAUIC,EAVJ,iBAWIC,EAXJ,iBAYIC,EAZJ,qBAaIC,EAbJ,kBAcIC,EAdJ,eAeIC,EAfJ,oBAgBIC,EAhBJ,eAiBIC,EAjBJ,cAkBIC,EAlBJ,KAmBIC,EAnBJ,SAoBIC,IAEJ,SACI1I,IAGJ7d,KAAKolB,aAAuBA,IAAgB,EAC5CplB,KAAKqlB,SAAuBA,IAAY,EACxCrlB,KAAKslB,OAAuBA,IAAU,EACtCtlB,KAAKulB,SAAuBA,GAAY,GACxCvlB,KAAKwlB,QAAuBA,GAAW,GACvCxlB,KAAKylB,SAAuBA,GAAY,QACxCzlB,KAAK0lB,QAAuBA,GAAW,GACvC1lB,KAAK2lB,gBAAuB5N,EAAAA,GAAS4N,IAAoB7R,EAAAA,GACzD9T,KAAK6d,SAAuB9F,EAAAA,GAAS8F,IAAa7d,KAAK2lB,gBACvD3lB,KAAK+lB,iBAAuBA,IAAoB,EAChD/lB,KAAKgmB,qBAAuBA,IAAyB,EACrDhmB,KAAKimB,kBAAuBA,IAAqB,EACjDjmB,KAAKkmB,eAAuBA,GAAkB,GAC9ClmB,KAAKomB,eAAuBA,GAAkB,GAC9CpmB,KAAKmmB,oBAAuBA,IAAuB,EACnDnmB,KAAKqmB,cAAuBA,GAAiB1S,EAAAA,GAC7C3T,KAAKsmB,KAAuBA,GAAQ5S,EAAAA,GACpC1T,KAAKumB,SAAuBA,GAAY,GAExCvmB,KAAK4lB,0BAA4BA,GAA6B,KAC9D5lB,KAAK6lB,mBAA4BA,GAAsB,OACvD7lB,KAAK8lB,iBAA4BA,GAAoB,OAI7D,MAAMU,EAAgB5b,OAAO6b,gBACvB,IAAItB,EAAgBva,OAAO6b,gBAAgBC,SAAU9b,OAAO6b,gBAAgBE,MAC5E,K,yjiCC9DN,MAAMra,EAAK,GACLD,GAAK,UACJua,EAAAA,IAEDC,GAAK,UACJD,EAAAA,IAGP,OACIta,GAAAA,EACAD,GAAAA,EACAwa,GAAAA,GCNW,SAASC,EAAgBpkB,GACpC,MAAO,CACHkkB,aADG,EAEHG,mBAAoB,CAChB,CAACjT,EAAAA,IAAK,UACN,CAACC,EAAAA,IAAK,UACN,CAAC2D,EAAAA,IAAK,cAEViO,gBAAoBjjB,GAAQoR,EAAAA,GAC5BkT,QAAoB,G,+BCb5B,GACIC,QAASC,EAAK5H,GACV4H,EAAIC,UAAUC,WAAa9H,EAAQnR,OAEnC+Y,EAAIC,UAAUE,SAAW/H,EAAQgI,QAEjCJ,EAAIC,UAAUI,kBAAoB,CAACC,EAAS,MACpCjK,WACIiK,EAAO5G,OAAS,EAChBrD,SAAS7b,MAAS,GAAE8lB,EAAOC,KAAK,UAAUnI,EAAQnR,OAAOsX,UAAY,UAGrElI,SAAS7b,MAAS,GAAE4d,EAAQnR,OAAOsX,UAAY,YAK3DyB,EAAIC,UAAUO,SAAWpI,EAAQnR,OAAOuX,QAExCwB,EAAIS,aAAgBjlB,IAChBwkB,EAAIC,UAAUC,WAAWvJ,SAAWnb,GAGxCwkB,EAAIC,UAAUS,YAAc,CAACvI,EAAOjB,KAChC,MAAM1b,EAAOwkB,EAAIC,UAAUC,WAAWvJ,SACtC,OAAOF,EAAAA,EAAAA,IAAW0B,EAAOjB,EAAQ1b,IAErCwkB,EAAIW,OAAO,cAAc,CAACxI,EAAOjB,KAC7B,MAAM1b,EAAOwkB,EAAIC,UAAUC,WAAWvJ,SACtC,OAAOF,EAAAA,EAAAA,IAAW0B,EAAOjB,EAAQ1b,Q,UChCzC5C,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACK,MAAM,CAAC,GAAK,QAAQ,CAACL,EAAG,aAAa,CAACK,MAAM,CAAC,iBAAiBT,EAAI+nB,aAAa,uBAAuB/nB,EAAIgoB,kBAAkB,yBAAyBhoB,EAAI+nB,aAAa,uBAAuB/nB,EAAIioB,iBAAiB,qBAAqBjoB,EAAIgmB,iBAAiB,iBAAiBhmB,EAAIkoB,aAAa,SAAWloB,EAAI2kB,UAAUrhB,GAAG,CAAC,OAAStD,EAAImoB,SAAS,CAAC/nB,EAAG,WAAW,CAACgoB,KAAK,WAAW,CAAChoB,EAAG,gBAAgB,IAAI,GAAGA,EAAG,mBAAmB,CAACioB,WAAW,CAAC,CAACrnB,KAAK,OAAOsnB,QAAQ,SAAShJ,OAAQtf,EAAIioB,iBAAkBM,WAAW,wBAAwBnoB,EAAG,eAAe,IACtoBO,EAAkB,G,6CCCP,MAAM6nB,EACC,qBACd,OAAOzJ,EAAAA,EAAAA,IAAU,aAGO,+BACxB,MAAMC,GAASD,EAAAA,EAAAA,IAAU,wBACzB,OAAOC,EAAS6C,KAAKC,MAAM9C,GAAU,MCT7C,IAAI,EAAS,WAAa,IAAIhf,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,UAAU,CAAEN,EAAgB,aAAEI,EAAG,MAAM,CAACmC,IAAI,eAAejC,YAAY,iBAAiB,CAAEN,EAAIyoB,cAAc5H,OAAS,EAAGzgB,EAAG,YAAY,CAACE,YAAY,iBAAiBG,MAAM,CAAC,KAAOT,EAAIgC,UAAUhC,EAAI8D,GAAI9D,EAAiB,eAAE,SAAS0oB,EAAQC,GAAO,OAAOvoB,EAAG,MAAM,CAAC4D,IAAI2kB,EAAMroB,YAAY,0BAA0B,CAACF,EAAG,MAAM,CAACwoB,SAAS,CAAC,UAAY5oB,EAAI0B,GAAGgnB,EAAQxjB,YAAY9E,EAAG,SAAS,CAACE,YAAY,oBAAoBG,MAAM,CAAC,KAAO,UAAU6C,GAAG,CAAC,MAAQ,SAASoB,GAAQ,OAAO1E,EAAI6oB,YAAYH,EAAQ9Z,eAAc,GAAG5O,EAAIwB,KAAMxB,EAAyB,sBAAEI,EAAG,YAAY,CAACK,MAAM,CAAC,KAAOT,EAAI+B,SAAS,CAAC3B,EAAG,MAAM,CAACE,YAAY,+BAA+B,CAACF,EAAG,OAAO,CAACE,YAAY,6BAA6BF,EAAG,MAAM,CAACE,YAAY,sBAAsB,CAACN,EAAIyB,GAAG,IAAIzB,EAAI0B,GAAI1B,EAAI8oB,kBAAoB,IAAM9oB,EAAI+oB,yBAA0B,KAAK3oB,EAAG,cAAc,CAACE,YAAY,eAAeG,MAAM,CAAC,GAAK,CAACO,KAAMhB,EAAI6U,MAAMG,WAAW,CAAC5U,EAAG,OAAO,CAACioB,WAAW,CAAC,CAACrnB,KAAK,YAAYsnB,QAAQ,iBAAiB,CAACtoB,EAAIyB,GAAG,wBAAwBrB,EAAG,OAAO,CAACioB,WAAW,CAAC,CAACrnB,KAAK,YAAYsnB,QAAQ,iBAAiB,CAACtoB,EAAIyB,GAAG,kBAAkB,OAAOzB,EAAIwB,KAAKpB,EAAG,aAAa,CAACkD,GAAG,CAAC,OAAStD,EAAImoB,OAAO,gBAAgBnoB,EAAIgpB,gBAAgB,GAAGhpB,EAAIwB,KAAKpB,EAAG,MAAM,CAACE,YAAY,cAAcC,MAAM,CAACP,EAAIipB,kBAAmB,CAAC,QAAWjpB,EAAIkpB,YAAY,CAAC9oB,EAAG,MAAM,CAACE,YAAY,eAAekC,MAAOxC,EAAoB,kBAAG,CAACI,EAAG,MAAM,CAACE,YAAY,SAAS,CAACF,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAACF,EAAG,cAAc,CAACK,MAAM,CAAC,KAAOT,EAAImpB,OAAOnoB,KAAK,uBAAuBhB,EAAIgoB,kBAAkB,gBAAgBhoB,EAAIopB,cAAc,CAACppB,EAAI4B,GAAG,YAAY,IAAI,OAAOxB,EAAG,MAAM,CAACE,YAAY,iBAAiBkC,MAAM,CAAE,cAAgBxC,EAAIqpB,aAAe,OAAS,CAACrpB,EAAI4B,GAAG,YAAY,KAAM5B,EAAgB,aAAEI,EAAG,MAAM,CAACE,YAAY,eAAeG,MAAM,CAAC,QAAUT,EAAIkoB,aAAa,uBAAuB,kBAAkB,0BAA0B,kBAAkB,6BAA6B,UAAUloB,EAAIwB,QACrgE,EAAkB,G,oBCDlB,EAAS,WAAa,IAAIxB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,MAAM,CAACE,YAAY,eAAeC,MAAM,CAAC6W,OAAQpX,EAAIspB,aAAatpB,EAAI6U,MAAMqE,eAAe,CAAC9Y,EAAG,cAAc,CAACE,YAAY,WAAWG,MAAM,CAAC,GAAK,CAACO,KAAMhB,EAAI6U,MAAMqE,eAAe,CAAC9Y,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,OAAO,CAACE,YAAY,YAAY,CAACF,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACN,EAAIyB,GAAG,kBAAkBrB,EAAG,OAAO,CAACioB,WAAW,CAAC,CAACrnB,KAAK,YAAYsnB,QAAQ,gBAAgBhoB,YAAY,sBAAsB,CAACN,EAAIyB,GAAG,mBAAmBrB,EAAG,MAAM,CAACE,YAAY,oBAAoBC,MAAM,CAACgpB,OAAQvpB,EAAIopB,cAAc,CAAChpB,EAAG,cAAc,CAACE,YAAY,WAAWG,MAAM,CAAC,GAAK,CAACO,KAAMhB,EAAI6U,MAAMqE,eAAe,CAAC9Y,EAAG,MAAM,CAACioB,WAAW,CAAC,CAACrnB,KAAK,YAAYsnB,QAAQ,gBAAgBhoB,YAAY,aAAa,CAACN,EAAIyB,GAAG,sBAAsB,IAAI,GAAKzB,EAAIgoB,kBAA4uBhoB,EAAIwB,KAA7tBpB,EAAG,MAAM,CAACE,YAAY,eAAeC,MAAM,CAAC6W,OAAQpX,EAAIspB,aAAatpB,EAAI6U,MAAMiE,cAAc,CAAC1Y,EAAG,cAAc,CAACE,YAAY,WAAWG,MAAM,CAAC,GAAK,CAACO,KAAMhB,EAAI6U,MAAMiE,cAAc,CAAC1Y,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,OAAO,CAACE,YAAY,YAAY,CAACF,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACN,EAAIyB,GAAG,aAAarB,EAAG,OAAO,CAACioB,WAAW,CAAC,CAACrnB,KAAK,YAAYsnB,QAAQ,gBAAgBhoB,YAAY,sBAAsB,CAACN,EAAIyB,GAAG,kBAAkBrB,EAAG,MAAM,CAACE,YAAY,oBAAoBC,MAAM,CAACgpB,OAAQvpB,EAAIopB,cAAc,CAAChpB,EAAG,cAAc,CAACE,YAAY,WAAWG,MAAM,CAAC,GAAK,CAACO,KAAMhB,EAAI6U,MAAMiE,cAAc,CAAC1Y,EAAG,MAAM,CAACioB,WAAW,CAAC,CAACrnB,KAAK,YAAYsnB,QAAQ,gBAAgBhoB,YAAY,aAAa,CAACN,EAAIyB,GAAG,qBAAqB,IAAI,KAAczB,EAAI4B,GAAG,YAAY,IAC3pD,EAAkB,GCuFtB,GACE,KAAFZ,aACE,MAAFC,CACI,KAAJuoB,CACM,KAANroB,OACM,QAANC,EAAAA,EAAAA,aAEI,YAAJgoB,CACM,KAANjoB,QACM,SAANC,GAEI,kBAAJ4mB,SAEE,OACE,MAAJ,CACM,MAANnT,EAAAA,IAGE,QAAF9P,CACI,aAAJukB,GACM,OAAN,iBC5G+Q,I,UCO3QhoB,GAAY,OACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIF,EAAeA,EAAiB,QClB5B,EAAS,WAAa,IAAItB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,MAAM,CAACE,YAAY,2BAA2BgD,GAAG,CAAC,MAAQtD,EAAIgpB,cAAc,CAAChpB,EAAIypB,GAAG,KAAKrpB,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,cAAc,CAACE,YAAY,mCAAmCG,MAAM,CAAC,GAAK,CAACO,KAAMhB,EAAI6U,MAAMqE,eAAe,CAAC9Y,EAAG,MAAM,CAACE,YAAY,cAAcC,MAAM,CAAC,mBAAoBP,EAAI0pB,aAAa,CAACtpB,EAAG,WAAW,CAACK,MAAM,CAAC,aAAY,MAAS,KAAOT,EAAI2pB,WAA4Z3pB,EAAIwB,KAApZ,CAACpB,EAAG,WAAW,CAACE,YAAY,mBAAmBG,MAAM,CAAC,UAAU,YAAY,KAAOT,EAAI4pB,kBAAkB,SAAW,WAAW,CAACxpB,EAAG,cAAc,CAACE,YAAY,uBAAuBG,MAAM,CAAC,KAAO,SAAS,GAAK,CAACO,KAAMhB,EAAI6U,MAAMiE,aAAasP,KAAK,UAAU,CAAChoB,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,OAAO,CAACE,YAAY,YAAY,CAACF,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACN,EAAIyB,GAAG,gBAAgB,KAAc,GAAGrB,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAAEN,EAAgB,aAAEI,EAAG,MAAM,CAACE,YAAY,wBAAwB,CAACF,EAAG,WAAW,CAACE,YAAY,8CAA8CG,MAAM,CAAC,UAAU,aAAa,KAAOT,EAAI6pB,WAAW,2BAA0B,EAAK,SAAW,WAAW,CAACzpB,EAAG,MAAM,CAACE,YAAY,cAAcC,MAAM,CAAC,OAAUP,EAAIspB,aAAatpB,EAAI6U,MAAMgF,cAAcpZ,MAAM,CAAC,KAAO,UAAU2nB,KAAK,UAAU,CAAChoB,EAAG,cAAc,CAACE,YAAY,mCAAmCG,MAAM,CAAC,GAAK,CAACO,KAAMhB,EAAI6U,MAAMgF,YAAaiQ,OAAQ9pB,EAAI+pB,sBAAsB,CAAC/pB,EAAIyB,GAAG,IAAIzB,EAAI0B,GAAG1B,EAAI6pB,YAAY,QAAQ,KAAKzpB,EAAG,WAAW,CAACE,YAAY,mBAAmBG,MAAM,CAAC,UAAU,aAAa,KAAOT,EAAIgqB,oBAAoB,SAAW,WAAW,CAAC5pB,EAAG,cAAc,CAACE,YAAY,cAAcC,MAAM,CAAC,OAAUP,EAAIiqB,kBAAkBxpB,MAAM,CAAC,KAAO,SAAS,GAAK,CAACO,KAAMhB,EAAI6U,MAAMiF,YAAagQ,OAAQ9pB,EAAI+pB,qBAAqB3B,KAAK,UAAU,CAAChoB,EAAG,OAAO,CAACE,YAAY,iCAAiC,CAACF,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACN,EAAIyB,GAAG,eAAe,IAAI,GAAIzB,EAAgB,aAAEI,EAAG,MAAM,CAACE,YAAY,wBAAwB,CAACF,EAAG,WAAW,CAACE,YAAY,8CAA8CG,MAAM,CAAC,UAAU,cAAc,KAAOT,EAAIkqB,WAAW,2BAA0B,EAAK,SAAW,WAAW,CAAC9pB,EAAG,MAAM,CAACE,YAAY,cAAcC,MAAM,CAAC,OAAUP,EAAIspB,aAAatpB,EAAI6U,MAAMyF,eAAe7Z,MAAM,CAAC,KAAO,UAAU2nB,KAAK,UAAU,CAAChoB,EAAG,cAAc,CAACE,YAAY,mCAAmCG,MAAM,CAAC,GAAK,CAACO,KAAMhB,EAAI6U,MAAMyF,aAAcwP,OAAQ9pB,EAAImqB,sBAAsB,CAACnqB,EAAIyB,GAAG,IAAIzB,EAAI0B,GAAG1B,EAAIkqB,YAAY,QAAQ,KAAMlqB,EAAIoqB,QAAUpqB,EAAIoqB,OAAOC,MAAQrqB,EAAIoqB,OAAOC,KAAKC,SAAUlqB,EAAG,WAAW,CAACE,YAAY,mBAAmBG,MAAM,CAAC,UAAU,aAAa,KAAOT,EAAIuqB,oBAAoB,SAAW,WAAW,CAACnqB,EAAG,cAAc,CAACE,YAAY,cAAcC,MAAM,CAAC,OAAUP,EAAIspB,aAAatpB,EAAI6U,MAAM0F,cAAc9Z,MAAM,CAAC,KAAO,SAAS,GAAK,CAACO,KAAMhB,EAAI6U,MAAM0F,YAAauP,OAAQ9pB,EAAImqB,qBAAqB/B,KAAK,UAAU,CAAChoB,EAAG,OAAO,CAACE,YAAY,iCAAiC,CAACF,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACN,EAAIyB,GAAG,mBAAmB,GAAGzB,EAAIwB,MAAM,GAAIxB,EAAoB,iBAAEI,EAAG,MAAM,CAACE,YAAY,yBAAyB,CAACF,EAAG,WAAW,CAACE,YAAY,mBAAmBG,MAAM,CAAC,UAAU,WAAW,KAAOT,EAAIwqB,cAAcxqB,EAAIyqB,WAAW,SAAW,WAAW,CAAEzqB,EAAa,UAAEI,EAAG,OAAO,CAACE,YAAY,cAAcC,MAAM,CAAC,kBAAmBP,EAAIyqB,YAAczqB,EAAIyW,YAAYhC,IAAIzQ,KAAKvD,MAAM,CAAC,KAAO,UAAU6C,GAAG,CAAC,MAAQ,SAASoB,GAAQ,OAAO1E,EAAI0qB,iBAAiBtC,KAAK,UAAU,CAAChoB,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACN,EAAIyB,GAAGzB,EAAI0B,GAAG1B,EAAIyW,YAAYzW,EAAIyqB,WAAWtU,WAAWnW,EAAIwB,OAAOpB,EAAG,WAAW,CAACE,YAAY,mBAAmBG,MAAM,CAAC,UAAU,WAAW,KAAOT,EAAI2qB,cAAc,SAAW,WAAW,CAACvqB,EAAG,OAAO,CAACE,YAAY,cAAcG,MAAM,CAAC,KAAO,UAAU6C,GAAG,CAAC,MAAQ,SAASoB,GAAQ,OAAO1E,EAAI4qB,mBAAmBxC,KAAK,UAAU,CAAChoB,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACN,EAAIyB,GAAGzB,EAAI0B,GAAG1B,EAAIwW,WAAWxW,EAAI6qB,aAAa1U,aAAa/V,EAAG,WAAW,CAACE,YAAY,mBAAmBG,MAAM,CAAC,UAAU,sBAAsB,KAAOT,EAAI8qB,qBAAqBnpB,MAAM,SAAW,WAAW,CAACvB,EAAG,OAAO,CAACE,YAAY,cAAcG,MAAM,CAAC,KAAO,UAAU6C,GAAG,CAAC,MAAQ,SAASoB,GAAQ,OAAO1E,EAAI+qB,2BAA2B3C,KAAK,UAAU,CAAChoB,EAAG,OAAO,CAACE,YAAY,WAAWC,MAAM,CAAC,mBAAoBP,EAAIgrB,0BAA0B,CAAC5qB,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACN,EAAIyB,GAAGzB,EAAI0B,GAAG1B,EAAI8qB,qBAAqB3U,gBAAgB,GAAG/V,EAAG,MAAM,CAACE,YAAY,wBAAwB,CAACF,EAAG,WAAW,CAACE,YAAY,mBAAmBG,MAAM,CAAC,UAAU,YAAY,KAAOT,EAAIirB,UAAU,SAAW,WAAW,CAAC7qB,EAAG,MAAM,CAACE,YAAY,oBAAoBG,MAAM,CAAC,KAAO,UAAU2nB,KAAK,UAAU,CAACpoB,EAAIyB,GAAG,IAAIzB,EAAI0B,GAAG1B,EAAIirB,WAAW,UAAU,KAAK7qB,EAAG,kBAAkB,CAACK,MAAM,CAAC,QAAUT,EAAIylB,QAAQ,WAAWzlB,EAAIkrB,QAAQ,GAAM,QAAWlrB,EAAImrB,UAAiB,QAAG,qBAAqBnrB,EAAIqnB,WAAWf,cAAc,qBAAuBtmB,EAAIorB,sBAAsB9nB,GAAG,CAAC,OAAStD,EAAImoB,WAAW,IAC/3J,EAAkB,CAAC,WAAa,IAAInoB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,sBAAsB,CAACF,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,OAAO,CAACE,YAAY,YAAY,CAACF,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACN,EAAIyB,GAAG,kB,UCCpQ,SAAS4pB,EAAWC,EAAYC,CAAAA,GAASA,IACpD,MAAO,CACH,CAACC,EAAAA,EAAAA,YAA0BF,EAAS,cACpC,CAACE,EAAAA,EAAAA,OAA0BF,EAAS,kBACpC,CAACE,EAAAA,EAAAA,aAA0BF,EAAS,SACpC,CAACE,EAAAA,EAAAA,cAA0BF,EAAS,iBACpC,CAACE,EAAAA,EAAAA,aAA0BF,EAAS,cACpC,CAACE,EAAAA,EAAAA,aAA0BF,EAAS,WACpC,CAACE,EAAAA,EAAAA,MAA0BF,EAAS,iBACpC,CAACE,EAAAA,EAAAA,WAA0BF,EAAS,aACpC,CAACE,EAAAA,EAAAA,MAA0BF,EAAS,QACpC,CAACE,EAAAA,EAAAA,MAA0BF,EAAS,yBACpC,CAACE,EAAAA,EAAAA,WAA0BF,EAAS,kBACpC,CAACE,EAAAA,EAAAA,SAA0BF,EAAS,cACpC,CAACE,EAAAA,EAAAA,eAA0BF,EAAS,aACpC,CAACE,EAAAA,EAAAA,cAA0BF,EAAS,cACpC,CAACE,EAAAA,EAAAA,cAA0BF,EAAS,cACpC,CAACE,EAAAA,EAAAA,QAA0BF,EAAS,UACpC,CAACE,EAAAA,EAAAA,mBAA0BF,EAAS,sBACpC,CAACE,EAAAA,EAAAA,gBAA0BF,EAAS,mBACpC,CAACE,EAAAA,EAAAA,aAA0BF,EAAS,eACpC,CAACE,EAAAA,EAAAA,UAA0BF,EAAS,YACpC,CAACE,EAAAA,EAAAA,MAA0BF,EAAS,gBACpC,CAACE,EAAAA,EAAAA,WAA0BF,EAAS,gBACpC,CAACE,EAAAA,EAAAA,WAA0BF,EAAS,aACpC,CAACE,EAAAA,EAAAA,iBAA0BF,EAAS,mBACpC,CAACE,EAAAA,EAAAA,UAA0BF,EAAS,YACpC,CAACE,EAAAA,EAAAA,SAA0BF,EAAS,WACpC,CAACE,EAAAA,EAAAA,cAA0BF,EAAS,gBACpC,CAACE,EAAAA,EAAAA,cAA0BF,EAAS,gBACpC,CAACE,EAAAA,EAAAA,eAA0BF,EAAS,iBACpC,CAACE,EAAAA,EAAAA,cAA0BF,EAAS,UACpC,CAACE,EAAAA,EAAAA,aAA0BF,EAAS,WACpC,CAACE,EAAAA,EAAAA,aAA0BF,EAAS,gBCnC5C,IAAI,EAAS,WAAa,IAAItrB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,eAAe,CAACE,YAAY,cAAcG,MAAM,CAAC,aAAaT,EAAIyrB,KAAK,CAACrrB,EAAG,MAAM,CAACE,YAAY,yCAAyCG,MAAM,CAAC,MAAQ,SAAS,CAACL,EAAG,OAAO,CAACE,YAAY,YAAY,CAACF,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACN,EAAIyB,GAAG,mBAAmBrB,EAAG,KAAK,CAACE,YAAY,kCAAkC,CAACF,EAAG,KAAK,CAACE,YAAY,0BAA0B,CAACF,EAAG,cAAc,CAACE,YAAY,sCAAsCG,MAAM,CAAC,GAAK,CAACO,KAAMhB,EAAI6U,MAAM2E,WAAW,CAACpZ,EAAG,OAAO,CAACE,YAAY,YAAY,CAACF,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACN,EAAIyB,GAAG,sBAAsBrB,EAAG,OAAO,CAACioB,WAAW,CAAC,CAACrnB,KAAK,YAAYsnB,QAAQ,iBAAiB,CAACtoB,EAAIyB,GAAG,gBAAgB,GAAIzB,EAAW,QAAEI,EAAG,KAAK,CAACE,YAAY,0BAA0B,CAACF,EAAG,cAAc,CAACE,YAAY,sCAAsCG,MAAM,CAAC,GAAK,CAACO,KAAMhB,EAAI6U,MAAMe,SAAS,CAACxV,EAAG,OAAO,CAACE,YAAY,YAAY,CAACF,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACN,EAAIyB,GAAG,kBAAkBrB,EAAG,OAAO,CAACioB,WAAW,CAAC,CAACrnB,KAAK,YAAYsnB,QAAQ,iBAAiB,CAACtoB,EAAIyB,GAAG,uBAAuB,GAAGzB,EAAIwB,KAAMxB,EAAwB,qBAAEI,EAAG,KAAK,CAACE,YAAY,0BAA0B,CAACF,EAAG,SAAS,CAACE,YAAY,sCAAsCG,MAAM,CAAC,KAAO,UAAU6C,GAAG,CAAC,MAAQtD,EAAIojB,qBAAqB,CAAChjB,EAAG,OAAO,CAACE,YAAY,YAAY,CAACF,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACN,EAAIyB,GAAG,kBAAkBrB,EAAG,OAAO,CAACioB,WAAW,CAAC,CAACrnB,KAAK,YAAYsnB,QAAQ,iBAAiB,CAACtoB,EAAIyB,GAAG,uBAAuBzB,EAAIwB,KAAOxB,EAAIqlB,aAA6crlB,EAAIwB,KAAncpB,EAAG,KAAK,CAACE,YAAY,mDAAmD,CAACF,EAAG,IAAI,CAACE,YAAY,sCAAsCG,MAAM,CAAC,KAAOT,EAAI6T,cAAc,oBAAqB7T,EAAImrB,UAAUO,SAAS,OAAS,SAAS,IAAM,uBAAuB,CAACtrB,EAAG,OAAO,CAACE,YAAY,YAAY,CAACF,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACN,EAAIyB,GAAG,mBAAmBrB,EAAG,OAAO,CAACioB,WAAW,CAAC,CAACrnB,KAAK,YAAYsnB,QAAQ,iBAAiB,CAACtoB,EAAIyB,GAAG,iBAA2BzB,EAAqB,kBAAEI,EAAG,KAAK,CAACE,YAAY,mDAAmD,CAACF,EAAG,IAAI,CAACE,YAAY,qDAAqDG,MAAM,CAAC,KAAOT,EAAI2rB,kBAAkB,OAAS,SAAS,IAAM,uBAAuB,CAACvrB,EAAG,OAAO,CAACE,YAAY,YAAY,CAACF,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACN,EAAIyB,GAAG,YAAYrB,EAAG,OAAO,CAACioB,WAAW,CAAC,CAACrnB,KAAK,YAAYsnB,QAAQ,gBAAgBhoB,YAAY,kBAAkB,CAACN,EAAIyB,GAAG,mBAAmBrB,EAAG,OAAO,CAACE,YAAY,8BAA8B,CAACN,EAAIyB,GAAG,qBAAqBzB,EAAIwB,KAAKpB,EAAG,KAAK,CAACE,YAAY,0BAA0B,CAACF,EAAG,IAAI,CAACE,YAAY,sCAAsCG,MAAM,CAAC,KAAO,KAAK6C,GAAG,CAAC,MAAQ,SAASoB,GAAgC,OAAxBA,EAAOC,iBAAwB3E,EAAImoB,OAAOyD,MAAM,KAAMC,cAAc,CAACzrB,EAAG,OAAO,CAACE,YAAY,YAAY,CAACF,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACN,EAAIyB,GAAG,mBAAmBrB,EAAG,OAAO,CAACioB,WAAW,CAAC,CAACrnB,KAAK,YAAYsnB,QAAQ,iBAAiB,CAACtoB,EAAIyB,GAAG,qBAAqB,IACp+F,EAAkB,G,UC6FtB,GACE,KAAFT,gBACE,WAAFuE,CAAI,YAAJumB,EAAAA,GACE,MAAF7qB,CACI,GAAJwqB,CAAM,KAANtqB,OAAM,QAANC,cACI,QAAJqkB,OACI,kBAAJkG,OACI,QAAJT,QACI,qBAAJE,SAEE,OACE,MAAJ,CACM,MADN,IAEM,aAAN/F,KAAAA,WAAAA,eAGE,QAAFtgB,CACI,cADJ,KAEI,SACE,KAAN,iBAEI,mBAAJqe,EAAAA,KCnHkR,ICQ9Q,GAAY,OACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIF,EAAe,EAAiB,Q,UCwKhC,IACE,KAAFpiB,YACE,WAAFuE,CACI,QADJ,IAEI,cAFJ,EAGI,QAAJwmB,EAAAA,GAEE,OACE,MAAJ,CACM,YADN,KAEM,WAFN,KAGM,MAHN,IAIM,WAANlC,GACM,WAANK,KAGE,MAAF3jB,CACI,OAAJylB,CACM,QAANrhB,GACA,GACU,KAAV,uBAGM,WAANC,GAEI,OAAJwf,CACM,QAANzf,GACA,GACU,KAAV,uBAGM,WAANC,IAGE,UAAFvJ,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAAA,IACA4qB,EAAAA,EAAAA,IAAAA,CACI,UAAJxB,GAAAA,EAAAA,UACI,YAAJI,GAAAA,EAAAA,YACI,wBAAJG,GAAAA,EAAAA,wBACI,OAAJgB,GAAAA,EAAAA,YAAAA,cACI,OAAJ5B,GAAAA,EAAAA,OAAAA,cACI,QAAJ3E,GAAAA,EAAAA,QACI,qBAAJ2F,GAAAA,EAAAA,yBAEAc,EAAAA,EAAAA,IAAAA,CACI,QAAJhB,yBACI,WAAJvB,+BAZA,IAcI,YACE,MAAN,yCACM,OAAN,qBAEI,oBACE,OAAN,6BAEI,mBACE,OAAN,oCACA,uCACA,qCACA,0CAEI,eACE,OAAN,oCACA,uBAEI,eACE,OAAN,qCACA,oCAEI,mBACE,OAAN,oCAEI,qBACE,OAAN,aACQ,GAAR8B,KAAAA,OAAAA,GACQ,KAARzqB,KAAAA,OAAAA,MACA,IAEI,qBACE,OAAN,aACQ,GAARyqB,KAAAA,OAAAA,GACQ,KAARzqB,KAAAA,OAAAA,MACA,IAEI,gBACE,OAAN,4BAEI,sBACE,MAAN,+CACM,OAAN,4BAAQ,KAARA,KAAAA,cAEI,sBACE,MAAN,+CACM,OAAN,4BAAQ,KAARA,KAAAA,cAEI,uBACE,MAAN,CACQ,KAARmV,KAAAA,wBAAAA,uBAAAA,yBACQ,MAARxU,KAAAA,wBAAAA,KAAAA,SAAAA,kBAAAA,KAAAA,SAAAA,iBAGI,aACE,QAAN,iBAGE,QAAFoD,CACI,aAAJukB,GACM,OAAN,sBAGI,aAAJoB,EAAAA,MACM,IAAN,IAEA,IACQ,EAARpL,KAAAA,eAEM,KAAN,mCAEI,eAAJsL,EAAAA,MACM,IAAN,IAEA,IACQ,EAARtL,KAAAA,eAEM,KAAN,qCAEI,cACE,OAAN,6BACA,WAEA,WAEI,cACE,OAAN,0BACA,cAEA,UAEI,yBACE,KAAN,yEAEI,cAAJkL,GACM,MAAN,GACQ,CAAR,0CACQ,CAAR,4CAEM,OAAN,MAEI,SACE,KAAN,iBAEI,YAAJxB,GACM,KAAN,0BAEI,cAAJmD,GACM,KAAN,cAEI,cAAJC,GACM,KAAN,gBCzV8Q,MCO1Q,IAAY,OACd,GACA,EACA,GACA,EACA,KACA,KACA,MAIF,GAAe,GAAiB,Q,iCCyEhC,IACE,KAAFprB,YACE,WAAFuE,CACI,mBADJ,KAEI,WAFJ,EAGI,UAHJ,GAII,SAAJ8mB,GAAAA,GAEE,MAAFprB,CACI,SAAJ0jB,MACI,oBAAJ2H,QACI,aAAJvE,QACI,SAAJmB,QACI,kBAAJlB,QACI,iBAAJC,QACI,iBAAJjC,QACI,aAAJkC,SAEE,OACE,MAAJ,CACM,OADN,KAEM,QAFN,MAGM,MAHN,IAIM,YAANqE,EACM,aAANlD,EAAAA,GACM,WAANmD,EACM,WAANC,EACM,aAANC,EACM,cAANjE,KAGE,UACE,KAAJ,wBACI,OAAJ5d,iBAAAA,UAAAA,KACM,KAAN,iBACM,KAAN,mBACM,KAAN,qBAEI,OAAJA,iBAAAA,QAAAA,KAAAA,WAAAA,KAAAA,QAEE,UACE,KAAJ,iBACI,KAAJ,mBACI,KAAJ,mBAEE,gBACE,KAAJ,yBAEE,MAAFtE,CACI,wBACE,KAAN,gBACQ,KAAR,sBAGI,SAAJoe,GACMQ,EAAAA,EAAAA,uBAEA,MAAN,oBAEM,KAAN,qDAEM,KAAN,gBACQ,KAAR,sBAGI,aAAJwH,EAAAA,GACA,OACQ,KAAR,gBACU,KAAV,uBAKE,UAAFtrB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAAA,IACA4qB,EAAAA,EAAAA,IAAAA,CACA,iBAFA,IAII,oBACE,MAAN,CACQ,KAARW,KAAAA,YACQ,QAARC,KAAAA,UACQ,QAARC,KAAAA,UACQ,qBAAR,oBAGI,mBACE,MAAN,CACQ,UAARC,GAAAA,EAAAA,OACQ,UAARC,GAAAA,KAAAA,mBAGI,eACE,OAAN,2CAEI,wBACE,OAAN,+CAEI,oBACE,OAAN,iDAEI,0BACE,OAAN,6EAGE,QAAFjoB,CACI,YAAJikB,GACA,kBACQ,KAAR,aACQ,YAARiE,KACU,KAAV,aACU,KAAV,yCACA3V,EAAAA,MAGQ,KAAR,uCACQ,KAAR,aACQ,YAAR2V,KACU,KAAV,eACA3V,EAAAA,KAEM,EAANxM,mBAEI,aACJ,iEACQ,KAAR,aACQ,YAARmiB,KACU,KAAV,aACU,KAAV,yCACA3V,EAAAA,MAGI,iBACE,KAAN,mDAEI,kBACE,KAAN,+EACM,KAAN,iCAAQ,aAAR+R,KAAAA,gBAEI,mBACE,KAAN,YACA7L,SAAAA,gBAAAA,cAAAA,KAAAA,SAAAA,gBAAAA,YAAAA,KAGI,wBACJ,kBACQ,KAAR,wCAGI,SACE,KAAN,iBAEI,YAAJqL,GACM1D,EAAAA,EAAAA,WAAAA,GACA,KAAN,6DACM,KAAN,gBACQ,KAAR,sBAGI,iBAAJ+H,GACM,KAAN,mBC1P8Q,MCO1Q,IAAY,OACd,GACA,EACA,GACA,EACA,KACA,KACA,MAIF,GAAe,GAAiB,Q,sBCqChC,IACE,KAAFlsB,MACE,WAAFuE,CAAI,UAAJ4nB,IACE,OACE,MAAJ,CACM,kBAANlF,EACM,YAANmF,GACM,kBAANC,OAGE,UACE,KAAJ,YACI,KAAJ,WAEE,UAAFhsB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAAA,IACA4qB,EAAAA,EAAAA,IAAAA,CACI,YAAJqB,GAAAA,EAAAA,OACI,OAAJC,GAAAA,EAAAA,OACI,QAAJ9H,GAAAA,EAAAA,QACI,aAAJsC,GAAAA,EAAAA,aACI,YAAJqB,GAAAA,EAAAA,YACI,QAAJoE,GAAAA,EAAAA,QAAAA,QACI,eAAJC,GAAAA,EAAAA,mBAEAvB,EAAAA,EAAAA,IAAAA,CACI,SAAJwB,mBACI,kBAAJ1F,+BAZA,IAcI,aACE,OAAN,kBAEI,iBACE,MAAN,CACQ,CAAR,qDACQ,CAAR,gDACQ,CAAR,yDACQ,CAAR,wDACQ,CAAR,gEAGI,gBACE,MAAN,CACQ,CAAR,OACA,+BACQ,CAAR,OACA,sCACQ,CAAR,OACA,0CACQ,CAAR,mBACA,8BACQ,CAAR,2BACA,qDACQ,CAAR,sBACA,iCACQ,CAAR,iBACA,2BACQ,CAAR,2BACA,uCACQ,CAAR,0BACA,sCACQ,CAAR,gBACA,2BACQ,CAAR,6CACA,8DACQ,CAAR,kCACA,gDACQ,CAAR,0BACA,sCACQ,CAAR,2BACA,uCACQ,CAAR,0BACA,wCACQ,CAAR,mBACA,6BACQ,CAAR,uBACA,kCACQ,CAAR,sBACA,+CACQ,CAAR,oBACA,kCACQ,CAAR,wBACA,yCAGI,WACE,MAAN,KAgCM,OA9BA,KAAN,4BACQ,GAAR,+BAEU,MAAV,2HAEA,yJACA,2BAEU,KAAV,sMACA,CAAY,IAAZ1jB,KAAAA,YAAAA,EAAAA,UAAAA,gBAGU,EAAVqpB,KAAAA,CACY,KAAZ/e,EAAAA,KACY,QAAZ1J,GAAAA,YAAAA,KAAAA,MAIA,iCACU,EAAVyoB,KAAAA,CACY,KAAZ/e,EAAAA,KACY,QAAZ1J,KAAAA,oBAEY,KAAZ,4FACA,CAAc,YAAd0oB,KAAAA,MAAAA,EAAAA,oBAMA,GAEI,cACE,OAAN,yDAEI,eACE,OAAN,yBAEI,mBACE,OAAN,aACA,qBAEA,oCAGE,UACE,KAAJ,oBAEE,MAAFrnB,CACI,SAAJmnB,GACM,KAAN,eAEI,YAAJJ,EAAAA,GACA,wDAGA,UACQ,KAAR,sCACU,MAAV3rB,KAAAA,SAAAA,SACU,QAAVuD,KAAAA,cAAAA,EAAAA,GAAAA,MAAAA,KAAAA,cAAAA,GAAAA,IACU,KAAV/D,QACU,SAAV0sB,OAEQ,YAARZ,KACU,KAAV,+BAAY,UAAZhe,GAAAA,OACA,OAEA,yBACQ,KAAR,0BACQ,KAAR,0BAGI,OAAJse,GACA,IACQ,KAAR,wCACU,QAAVroB,KAAAA,eAAAA,EAAAA,OAAAA,EAAAA,QACU,MAAVvD,KAAAA,SAAAA,WACU,KAAVR,UACU,SAAV0sB,OAEQ,KAAR,gCAAU,KAAV7sB,EAAAA,OACQ,YAARisB,KACA,2BACY,KAAZ,4BACY,KAAZ,4BAEA,SAIE,QAAFloB,CACI,YACE,KAAN,oBACM,KAAN,qBAEI,UACE,KAAN,aACM,KAAN,iBACM,KAAN,yDACM,KAAN,oBAEI,aACE,KAAN,mBAEI,iBACE,KAAN,8BACQ,KAAR,kDAEA,qBACU,KAAV,qCAGQ,KAAR,kBACQ,OAGF,KAAN,uBACQ,KAAR,mBAEQ,KAAR,sDAEA,uBACU,KAAV,YAGA,0BACA+oB,EAAAA,OAAAA,EAAAA,EAAAA,QACAA,EAAAA,OAAAA,EAAAA,EAAAA,aACAA,EAAAA,OAAAA,EAAAA,EAAAA,gBACAA,EAAAA,OAAAA,EAAAA,EAAAA,kBACU,KAAV,mCAGU,KAAV,iDAII,mBACE,OAANjjB,iBAAAA,SAAAA,GAAAA,EAAAA,KACQ,KAAR,+BACA,OAEI,YACE,KAAN,+BACM,KAAN,sCAEI,WAAJkjB,GACM,KAAN,oDACMznB,IAAAA,OAAAA,KAAAA,UAAAA,SACA6gB,EAAAA,WAAAA,aAAAA,KAAAA,UAAAA,UAEF,SACE,KAAN,0BACM,KAAN,6CAEI,oBACE,KAAN,qDACQ,0BAARtB,KAAAA,WAAAA,4BAEM,KAAN,yCACQ,qBAARuF,EAAAA,yBACA5C,YAAAA,EAAAA,mBC/SsP,MCQlP,IAAY,OACd,GACAzoB,EACAY,GACA,EACA,KACA,WACA,MAIF,GAAe,GAAiB,Q,sBCnB5B,GAAS,WAAa,IAAIX,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,iCAAiCC,MAAMP,EAAIguB,qBAAqBxrB,MAAOxC,EAAsB,oBAAG,CAACI,EAAG,MAAM,CAACmC,IAAI,UAAUjC,YAAY,eAAe,CAACF,EAAG,MAAM,CAACE,YAAY,sBAAsBsoB,SAAS,CAAC,UAAY5oB,EAAI0B,GAAG1B,EAAI2L,cACpV,GAAkB,G,qBCatB,MAAMsiB,GAAY,CACdC,IAAQ,MACRC,IAAQ,MACRC,OAAQ,SACR3T,IAAQ,MACRI,OAAQ,UAGG,MAAMwT,GACjB5K,aAAa,SAAE/X,EAAF,aAAY4iB,EAAe,OACpCruB,KAAKquB,aAAqBA,EAC1BruB,KAAKyL,SAAqB,KAC1BzL,KAAKsuB,aAAqB,KAC1BtuB,KAAKuuB,aAAqB,KAC1BvuB,KAAKwuB,mBAAqB,KAC1BxuB,KAAKyuB,cAAqBlR,SAASyC,gBAAgB0O,YACnD1uB,KAAK2uB,eAAyE,WAApD/jB,OAAOgkB,iBAAiBrR,SAASE,MAAMhS,UACV,KAApDb,OAAOgkB,iBAAiBrR,SAASE,MAAMhS,SACpC8R,SAASyC,gBAAgBD,aAEzB8O,KAAKC,IAAIvR,SAASE,KAAKsR,aAAcxR,SAASyC,gBAAgB+O,aAAcxR,SAASE,KAAKuR,aAAczR,SAASyC,gBAAgBgP,aAAczR,SAASE,KAAKsC,aAAcxC,SAASyC,gBAAgBD,cAC1M/f,KAAKivB,YAAYxjB,GAGjByjB,uBACA,OAAOlvB,KAAKyL,WAAa+O,GAAAA,IAAMC,GAAAA,QAAUI,GAAAA,WAGzCsU,uBACA,OAAOnvB,KAAKyL,WAAa+O,GAAAA,IAAME,GAAAA,QAAUI,GAAAA,WAG7CmU,YAAaxjB,GACTzL,KAAKyL,SAAqBA,GAAYoP,GAAAA,WACtC7a,KAAKsuB,aAAqB7iB,EAAS6S,MAAM,KACzCte,KAAKuuB,aAAqBvuB,KAAKsuB,aAAa,GAC5CtuB,KAAKwuB,mBAAqBxuB,KAAKsuB,aAAa,GAAKtuB,KAAKsuB,aAAa,GAAK,GAG5Ec,qBACI,cACIC,EADJ,UAEIC,EAFJ,yBAGIC,EAHJ,SAII9jB,IAKJ,OAFAzL,KAAKivB,YAAYxjB,GAEVzL,KAAKwvB,6BAA6B,CACrCH,cAAAA,EACAC,UAAAA,EACAC,yBAAAA,EACA9jB,SAAAA,IAIRgkB,UAAU,UAAEH,EAAF,cAAaD,EAAb,SAA4B5jB,IAClC,MAAMikB,EAAa,GAEnB,OAAQjkB,GACJ,KAAK+O,GAAAA,IACDkV,EAAWC,OAAY3vB,KAAK2uB,eAAiBW,EAAU7lB,IAAlC,KACrBimB,EAAWhmB,KAAU,GAAE4lB,EAAU5lB,KAAO4lB,EAAU9lB,MAAQ,MAC1DkmB,EAAWE,MAAS,OACpBF,EAAWjmB,IAAS,OACpB,MACJ,KAAKmR,GAAAA,OACD8U,EAAWjmB,IAAU,GAAE6lB,EAAU7lB,IAAM6lB,EAAUrS,WACjDyS,EAAWhmB,KAAU,GAAE4lB,EAAU5lB,KAAO4lB,EAAU9lB,MAAQ,MAC1DkmB,EAAWE,MAAS,OACpBF,EAAWC,OAAS,OACpB,MACJ,KAAK5iB,GAAAA,KACD2iB,EAAWjmB,IAAU,GAAE6lB,EAAU7lB,IAAM6lB,EAAUrS,OAAS,MAC1DyS,EAAWE,MAAY5vB,KAAKyuB,cAAgBa,EAAU5lB,KAAjC,KACrBgmB,EAAWhmB,KAAS,OACpBgmB,EAAWC,OAAS,OACpB,MACJ,KAAK3iB,GAAAA,MACD0iB,EAAWjmB,IAAU,GAAE6lB,EAAU7lB,IAAM6lB,EAAUrS,OAAS,MAC1DyS,EAAWhmB,KAAU,GAAE4lB,EAAU5lB,KAAO4lB,EAAU9lB,UAClDkmB,EAAWE,MAAS,OACpBF,EAAWC,OAAS,OACpB,MACJ,KAAKlV,GAAAA,QACDiV,EAAWC,OAAY3vB,KAAK2uB,eAAiBW,EAAU7lB,IAAlC,KACrBimB,EAAWhmB,KAAU,GAAE4lB,EAAU5lB,SACjCgmB,EAAWE,MAAS,OACpBF,EAAWjmB,IAAS,OACpB,MACJ,KAAKiR,GAAAA,QACDgV,EAAWC,OAAY3vB,KAAK2uB,eAAiBW,EAAU7lB,IAAlC,KACrBimB,EAAWE,MAAY5vB,KAAKyuB,eAAiBa,EAAU5lB,KAAO4lB,EAAU9lB,OAAnD,KACrBkmB,EAAWjmB,IAAS,OACpBimB,EAAWhmB,KAAS,OACpB,MACJ,KAAKoR,GAAAA,WACD4U,EAAWjmB,IAAU,GAAE6lB,EAAU7lB,IAAM6lB,EAAUrS,WACjDyS,EAAWE,MAAY5vB,KAAKyuB,eAAiBa,EAAU5lB,KAAO4lB,EAAU9lB,OAAnD,KACrBkmB,EAAWhmB,KAAS,OACpBgmB,EAAWC,OAAS,OACpB,MACJ,KAAKhV,GAAAA,WACD+U,EAAWjmB,IAAe6lB,EAAU7lB,IAAM,EAAlB,KACxBimB,EAAWC,OAAY,OACvBD,EAAWE,MAAY,OACvBF,EAAWhmB,KAAY,MACvBgmB,EAAWG,UAAY,qCACvB,MACJ,KAAK9U,GAAAA,cACD2U,EAAWjmB,IAAa,GAAE6lB,EAAU7lB,IAAM6lB,EAAUrS,OAAS,MAC7DyS,EAAWC,OAAY,OACvBD,EAAWE,MAAY,OACvBF,EAAWhmB,KAAY,MACvBgmB,EAAWG,UAAY,mBACvB,MACJ,KAAKhV,GAAAA,WACL,QACI6U,EAAWjmB,IAAU,GAAE6lB,EAAU7lB,IAAM6lB,EAAUrS,WACjDyS,EAAWhmB,KAAU,GAAE4lB,EAAU5lB,SACjCgmB,EAAWE,MAAS,OACpBF,EAAWC,OAAS,OACpB,MAMR,OAHI3vB,KAAK8vB,+BAA+B,CAAER,UAAAA,EAAWD,cAAAA,MACjDK,EAAW9jB,SAAW,sBAEnB8jB,EAGXF,8BACI,cACIH,EADJ,UAEIC,EAFJ,SAGI7jB,EAHJ,0BAIIskB,GAA4B,IAgEhC,OA5DItkB,IAAasB,GAAAA,MACVqhB,GAAmB4B,yBAAyB,CAAEX,cAAAA,EAAeC,UAAAA,MAChEtvB,KAAKwuB,mBAAqBR,GAAUE,IACpCluB,KAAKuuB,aAAqBP,GAAUpT,QAGpCnP,IAAauB,GAAAA,OACVhN,KAAKiwB,2BAA2B,CAAEZ,cAAAA,EAAeC,UAAAA,MACpDtvB,KAAKwuB,mBAAqBR,GAAUC,IACpCjuB,KAAKuuB,aAAqBP,GAAUpT,QAGpCnP,IAAamP,GAAAA,QAAUnP,IAAa+O,GAAAA,MAChCxa,KAAKkwB,4BAA4B,CAAEb,cAAAA,EAAeC,UAAAA,MAClDtvB,KAAKwuB,mBAAqBR,GAAUC,KAEpCG,GAAmB+B,2BAA2B,CAAEd,cAAAA,EAAeC,UAAAA,MAC/DtvB,KAAKwuB,mBAAqBR,GAAUE,MAIxCluB,KAAKwuB,qBAEDxuB,KAAKwuB,qBAAuBR,GAAUE,KACnCluB,KAAKowB,yBAAyB,CAAEf,cAAAA,EAAeC,UAAAA,MAClDtvB,KAAKwuB,mBAAqBR,GAAUC,KAGpCjuB,KAAKwuB,qBAAuBR,GAAUC,KACnCG,GAAmBiC,wBAAwB,CAAEhB,cAAAA,EAAeC,UAAAA,MAC/DtvB,KAAKwuB,mBAAqBR,GAAUE,KAIpCluB,KAAK8vB,+BAA+B,CAAET,cAAAA,EAAeC,UAAAA,MACrDtvB,KAAKwuB,mBAAqBR,GAAUG,QAGpCnuB,KAAKwuB,qBAAuBR,GAAUC,KACnCjuB,KAAKswB,yBAAyB,CAAEjB,cAAAA,EAAeC,UAAAA,MAClDtvB,KAAKwuB,mBAAqB,KAK9BuB,IACI/vB,KAAKuuB,eAAiBP,GAAUpT,QAC7B5a,KAAKuwB,oBAAoB,CAAElB,cAAAA,EAAeC,UAAAA,MAC7CtvB,KAAKuuB,aAAeP,GAAUxT,KAG9Bxa,KAAKuuB,eAAiBP,GAAUxT,KAC7B4T,GAAmBoC,iBAAiB,CAAEnB,cAAAA,EAAeC,UAAAA,MACxDtvB,KAAKuuB,aAAeP,GAAUpT,SAItC5a,KAAKyL,SAAWzL,KAAKwuB,mBACd,GAAExuB,KAAKuuB,gBAAgBvuB,KAAKwuB,qBAAuBxuB,KAAKuuB,aAExDvuB,KAAKyL,SAGhBqkB,gCAAgC,cAAET,IAC9B,IAAI,MAAE7lB,GAAU6lB,EAKhB,OAHIrvB,KAAKquB,eACL7kB,EAAQxJ,KAAKquB,cAEV7kB,EAAQ8O,EAAAA,GAAetY,KAAKyuB,cAGvCyB,6BAA6B,cAAEb,EAAF,UAAiBC,IAC1C,OAAOA,EAAU5lB,KAAQ4lB,EAAU9lB,MAAQ,EAAM6lB,EAAc7lB,MAAQ,EAAKxJ,KAAKyuB,cAGrF2B,0BAA0B,cAAEf,EAAF,UAAiBC,IACvC,OAAOA,EAAU5lB,KAAO2lB,EAAc7lB,MAAQxJ,KAAKyuB,cAGvDwB,4BAA4B,cAAEZ,EAAF,UAAiBC,IACzC,OAAOA,EAAU5lB,KAAO4lB,EAAU9lB,MAAQ6lB,EAAc7lB,MAAQxJ,KAAKyuB,cAGzE6B,0BAA0B,UAAEhB,IACxB,OAAOA,EAAU5lB,KAAO4lB,EAAU9lB,MAAQxJ,KAAKyuB,cAGnD8B,qBAAqB,cAAElB,EAAF,UAAiBC,IAClC,OAAOA,EAAUlP,EAAIkP,EAAUrS,OAASoS,EAAcpS,OAASjd,KAAK2uB,eAGjD,yBAAE,cAAEU,EAAF,UAAiBC,IACtC,OAAOA,EAAUlP,EAAIiP,EAAcpS,OAAS,EAGf,mCAAE,cAAEoS,EAAF,UAAiBC,IAChD,OAAQA,EAAU5lB,KAAQ4lB,EAAU9lB,MAAQ,EAAO6lB,EAAc7lB,MAAQ,EAAK,EAGpD,gCAAE,cAAE6lB,EAAF,UAAiBC,IAC7C,OAAQA,EAAU5lB,KAAO4lB,EAAU9lB,MAAS6lB,EAAc7lB,MAAQ,EAGvC,iCAAE,cAAE6lB,EAAF,UAAiBC,IAC9C,OAAOA,EAAU5lB,KAAO2lB,EAAc7lB,MAAQ,GCpPtD,QACE,KAAFzI,mBACE,MAAFC,CACI,OAAJsK,CACM,KAANpK,CAAAA,OAAAA,QACM,QAANC,QAEI,KAAJuK,OACI,SAAJD,CACM,KAANvK,OACM,QAANC,OAEI,SAAJiI,CACM,KAANlI,OACM,UACE,MAAR,KAGI,OAAJyK,QACI,OAAJrC,CACM,KAANpI,QACM,SAANC,GAEI,SAAJyK,CACM,KAAN1K,CAAAA,OAAAA,QACM,QAANC,MAGE,OACE,MAAJ,CACM,mBAANsvB,GACM,aAANpC,OAGE,MAAF/nB,CACI,OAAJgD,GACA,GACQ,KAAR,gBACU,KAAV,gCAKE,UACE,KAAJ,oBACM,MAANhJ,MACM,MAANiC,KAGE,SAAFnB,CACI,uBACE,MAAN,CACA,8BACA,CACQ,YAAR,YACQ,YAAR,eAII,qBACE,MAAN,CACA,8BACA,CACQ,YAAR,6DAKE,QAAF0D,CACI,2BACE,GAAN,oBACQ,MAAR,6CAEA,oBACU,KAAV,sBAGQ,MAAR,UACU,SAAV2G,KAAAA,SACU,aAAV4iB,KAAAA,eAEA,yBACU,gBACA,UAAViB,KAAAA,SACU,SAAV7jB,KAAAA,WAGQ,KAAR,oBACU,MAAVnL,EACU,MAAViC,EAAAA,SAAAA,CACY,gBACA,UAAZ+sB,KAAAA,SACY,SAAZ7jB,SC5GmR,MCQ/Q,IAAY,OACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIF,GAAe,GAAiB,QCf3Bb,OAAO8lB,MACR9lB,OAAO8lB,IAAM,IAAIxJ,EAAAA,YAGrB,MAAM,IAAEwJ,IAAQ9lB,OAEV+B,GAAgB,GAGP,SAASgkB,IAAa,KAAEjlB,EAAF,OAAQJ,EAAR,SAAgBG,EAAhB,OAA0BE,EAA1B,SAAkCC,GAAY4f,GAC/E,OAAO,IAAItE,EAAAA,WAAI,CACX0J,GAAa,IAAGpF,IAChBqF,SAAa,wbAUbvrB,WAAY,CAAEwrB,eAAcA,IAC5BpiB,KAAY,CACRhD,KAAAA,EACAJ,OAAAA,EACAG,SAAAA,EACAE,OAAAA,EACAC,SAAAA,EACAtC,QAAY,EACZF,SAAY,KACZyC,WAAY,MAEhBklB,UACI/wB,KAAKoJ,SAAW,CACZM,KAAQ,EACRD,IAAQ,EACRwT,OAAQ,GAEZyT,GAAIM,IAAI,cAAehxB,KAAKixB,WAC5BP,GAAIM,IAAI,cAAehxB,KAAKkxB,aAEhCpsB,QAAY,CACRmsB,UAAWE,GACPnxB,KAAK6L,WAAaslB,EAAQtlB,WAC1B7L,KAAKoxB,YAAYD,EAAQtlB,YACzB7L,KAAKqxB,WAAWF,EAAQnwB,OACxBhB,KAAK2sB,OACL/hB,OAAO0mB,iBAAiB,SAAUtxB,KAAKoxB,cAE3CF,aACItmB,OAAO2mB,oBAAoB,SAAUvxB,KAAKoxB,aAC1CpxB,KAAKwxB,SAET7E,OACI3sB,KAAKsJ,QAAS,GAElBkoB,QACIxxB,KAAKsJ,QAAS,EACdtJ,KAAKyxB,SAETA,QACIzxB,KAAKqxB,WAAW1kB,KAEpB0kB,WAAY3iB,GACRoW,OAAOC,KAAKrW,GAAMsW,SAAS0M,IACvB1xB,KAAK0xB,GAAQhjB,EAAKgjB,OAG1BN,cACI,MAAMvU,EAAM7c,KAAK6L,WAAWiR,wBAE5B9c,KAAKoJ,SAAW,CACZM,KAAQmT,EAAInT,KAAOkB,OAAOoS,YAC1BvT,IAAQoT,EAAIpT,IAAMmB,OAAOmS,YACzBvT,MAAQqT,EAAIrT,MACZyT,OAAQJ,EAAII,OACZmD,EAAQvD,EAAIuD,EACZuR,EAAQ9U,EAAI8U,OC9EjB,SAAS,IAAC,KAAEjmB,EAAF,OAAQJ,EAAR,SAAgBG,EAAhB,OAA0BE,EAA1B,SAAkCC,IACvD,MAAMgmB,EAAsB,eAE5B,IAAKhnB,OAAOc,KAAM,CACd,MAAMmmB,EAAQtU,SAASyE,cAAc,OACrC6P,EAAMC,aAAa,KAAMF,GACzBrU,SAASE,KAAK2E,YAAYyP,GAE1BjnB,OAAOc,KAAOqmB,GAAW,CAAErmB,KAAAA,EAAMJ,OAAAA,EAAQG,SAAAA,EAAUE,OAAAA,EAAQC,SAAAA,GAAYgmB,GAE3E,OAAOhnB,OAAOc,KCZlBwb,EAAAA,WAAAA,OAAAA,UAAsB8K,EACtB9K,EAAAA,WAAAA,OAAAA,eAA2B8K,EAE3B9K,EAAAA,WAAAA,OAAAA,aAA0B,SAAU+K,EAAKC,EAAIC,GACzC,IAAIznB,EACA+gB,EAAUyG,EACd,GAAIA,EAAGE,SAASC,aACZ3nB,EAAUwnB,EAAGE,SAASC,kBAGtB,MAAO5G,EAAQ6G,QAGX,GAFA7G,EAAUA,EAAQ6G,QAEd5nB,EAAU+gB,EAAQ2G,SAASC,aAC3B,MAIR3nB,EACAA,EAAQ6nB,KAAK9G,EAASwG,EAAKC,EAAIC,GAI/BK,QAAQC,IAAIR,I,0BCzBpB,IACIS,MAAa,UACbC,YAAa,UACbC,UAAa,MACbC,WAAa,CACTC,MAAa,OACbC,QAAa,OACbC,YAAa,KAEjBC,YAAa,EACb7pB,SAAa,MACb8pB,SAAa,G,qBCFjB,MAAMC,GAAe,CACjB3wB,aAAoB,WACpBC,UAAoBuJ,GAAAA,GAAAA,OACpBtJ,KAAoB,KACpBM,SAAoB,KACpBiD,MAAoB,KACpBC,IAAoB,KACpBT,cAAoB8G,GAAAA,GACpBK,KAAoB,GAEpB3J,eAAoB,KAEpBC,eAAoB,KAEpBC,iBAAoB,GACpBN,kBAAoB,EACpBC,oBAAoB,EACpBuG,UAAoB,EACpBwD,YAAoB,EACpBzK,SAAoB,EACpBgB,eAAoB,MAGxB,QACIytB,SAAa,uuCA6BbvrB,WAAY,CAAE8tB,qBAAoBA,GAAAA,GAClC1kB,OACI,eACIpF,QAAa,EACbxD,aAAa,EACb1D,SAAa,EACbW,OAAa,GACbqG,SAAa,CACTM,KAAQ,EACRD,IAAQ,EACRwT,OAAQ,IAGTkW,KAGXpC,UAEInmB,OAAO8lB,IAAIM,IAAI,oBAAqBhxB,KAAKqzB,gBACzCzoB,OAAO8lB,IAAIM,IAAI,oBAAqBhxB,KAAKwxB,OACzC5mB,OAAO8lB,IAAIM,IAAI,aAAchxB,KAAKszB,WAClC1oB,OAAO8lB,IAAIM,IAAI,YAAahxB,KAAKuzB,UACjC3oB,OAAO8lB,IAAIM,IAAI,UAAWhxB,KAAKwzB,SAEnCltB,MAAY,CACRgD,OAAQmqB,GACAA,EACA7oB,OAAO0mB,iBAAiB,QAAStxB,KAAK0zB,wBAGtC9oB,OAAO2mB,oBAAoB,QAASvxB,KAAK0zB,0BAIrD5uB,QAAY,CACRtB,YAAY,YAAEsC,EAAF,OAAe/C,IACvB/C,KAAK2zB,kBAAkB7tB,GACvB9F,KAAK4zB,UAAU7wB,GAEf6H,OAAO8lB,IAAImD,MAAM,gBAAiB,CAAE/tB,YAAAA,EAAa/C,OAAAA,EAAQP,aAAcxC,KAAKwC,eAGvEsD,GACD9F,KAAKwxB,SAGb6B,eAAgBlC,GACZnxB,KAAKszB,UAAUnC,EAAQ/uB,SACvBpC,KAAKoxB,YAAYD,EAAQ2C,WACzB9zB,KAAKqxB,WAAWF,EAAQnwB,OACxBhB,KAAK2sB,QAEToH,kBACQ/zB,KAAK8F,cACL9F,KAAK2zB,mBAAkB,GAEvB/oB,OAAO8lB,IAAImD,MAAM,gBAAiB,CAC9B/tB,YAAc9F,KAAK8F,YACnB/C,OAAc/C,KAAKg0B,mBACnBxxB,aAAcxC,KAAKwC,gBAG3BxC,KAAKwxB,SAETkC,uBAAwB7oB,GACf7K,KAAKgL,YAAYH,EAAMyS,SACxBtd,KAAK+zB,mBAGbE,kBAAmB9C,GACfvmB,OAAO8lB,IAAImD,MAAM,qBAAsB1C,IAE3CmC,UAAWxpB,GACP9J,KAAKoC,QAAU0H,GAGnBkB,YAAarC,GACT,MAAMurB,EAAiB3W,SAASsF,iBAAiB,qBAC3CsR,EAAiB5W,SAASsF,iBAAiB,4BAEjD,IAAK,IAAIlC,EAAI,EAAGA,EAAIuT,EAAatT,OAAQD,IACrC,GAAIhY,IAASurB,EAAavT,GACtB,OAAO,EAIf,IAAK,IAAIA,EAAI,EAAGA,EAAIwT,EAAevT,OAAQD,IACvC,GAAIhY,IAASwrB,EAAexT,GACxB,OAAO,EAIf,OAAO,GAEX8Q,QACIzxB,KAAKqxB,WAAW1kB,GAAAA,KAEpBggB,OACI3sB,KAAKsJ,QAAS,GAElBkoB,QACIxxB,KAAKsJ,QAAS,EACdtJ,KAAKyxB,QACL7mB,OAAO8lB,IAAImD,MAAM,UAErBG,mBACI,MAAM/tB,EAAQjG,KAAK+C,OAAOkD,MACpBjG,KAAK+C,OAAOkD,MACZjG,KAAK+C,OAAOmD,IACZA,EAAQlG,KAAK+C,OAAOmD,KAAOlG,KAAK+C,OAAOmD,MAAQlG,KAAK+C,OAAOkD,MAC3DjG,KAAK+C,OAAOkD,MACZI,GAAAA,CAAMrG,KAAK+C,OAAOmD,KAAKkuB,IAAI,EAAG,OAAOhW,OAAO1R,GAAAA,IAElD,MAAO,CAAEzG,MAAAA,EAAOC,IAAAA,EAAKF,YAAa,OAEtCorB,YAAa0C,GACT,MAAMjX,EAAMiX,EAAUhX,wBAEtB9c,KAAKoJ,SAAW,CACZM,KAAQ1J,KAAKoC,QAAUya,EAAInT,KAAOmT,EAAInT,KAAOkB,OAAOoS,YACpDvT,IAAQzJ,KAAKoC,QAAUya,EAAIpT,IAAMoT,EAAIpT,IAAMmB,OAAOmS,YAClDE,OAAQJ,EAAII,SAGpBoU,WAAY3iB,GACRoW,OAAOC,KAAKrW,GAAMsW,SAAS0M,IACvB1xB,KAAK0xB,GAAQhjB,EAAKgjB,OAG1BkC,UAAW7wB,GACP/C,KAAK+C,QAAL,UAAmBA,IAEvBwwB,SAAUttB,GACNjG,KAAKiG,MAAQA,GAEjButB,OAAQttB,GACJlG,KAAKkG,IAAMA,GAEfytB,kBAAmB7pB,GACf9J,KAAK8F,YAAcgE,KCnM/Bod,EAAAA,WAAAA,IAAQmN,KAAgBC,IACxBpN,EAAAA,WAAAA,IAAQqN,EAAAA,QAAAA,WACRrN,EAAAA,WAAAA,UAAAA,SAAyBqN,EAAAA,QAAAA,QACzBrN,EAAAA,WAAAA,UAAc,SAAU,CACpBsN,SAAU5D,EAAI6D,GACV,MAAMC,EAAKC,IACHF,EAAQpV,MAAMsV,EAAK/D,IACnBhmB,OAAO2mB,oBAAoB,SAAUmD,IAG7C9pB,OAAO0mB,iBAAiB,SAAUoD,MAI1CxN,EAAAA,WAAAA,UAAc,aAAc0N,ICC5B1N,EAAAA,WAAAA,OAAAA,UAAsB8K,EAEtB,MAAM1K,KAAY0K,CAAAA,SAAAA,aAAAA,SAAAA,QAAY6C,gBAA2D,IAA1CjT,KAAKC,MAAMmQ,CAAAA,SAAAA,aAAAA,SAAAA,QAAY6C,eAyBtE,SAASC,GAAWpmB,EAAO,IACvB,MAAMP,EAAS,IAAIgX,EAAgBzW,EAAM,IAEzCwY,EAAAA,WAAAA,IAAQ6N,EAAiB,CAAE5mB,OAAAA,EAAQmZ,QAAAA,KACnCJ,EAAAA,WAAAA,IAAQ8N,IAAelO,EAAe3Y,EAAO0P,WAC7CxX,IAAAA,OAAa8H,EAAO0P,UACpBhP,EAAAA,EAAAA,MAAAA,OAAqBV,EAGrB,IAAI+Y,EAAAA,WAAI,CACJ1Y,OADI,IAEJK,MAFI,IAGJ/O,OAASm1B,GAAMA,EAAEC,MAClBC,OAAO,QApCTvqB,OAAO8lB,MACR9lB,OAAO8lB,IAAM,IAAIxJ,EAAAA,YAGhB1K,EAAAA,IACD4Y,GACI,CACI9pB,OAAU,SACVG,SAAU,SACVC,KAAU,GACVC,QAAU,EACVC,SAAU,MAKlB4Q,EAAAA,GACAe,SAASE,KAAKqF,UAAUsR,IAAI,aAG5B7W,SAASE,KAAKqF,UAAUsR,IAAI,cAmB5B5N,EACAsO,GAAUtO,GAGV6O,GAAAA,EAAAA,IACSxlB,GAAAA,IACJylB,MAAMC,IACHT,GAAUS,EAAI7mB,SAEjB8mB,OAAM,KACHV,S,6HC1EZ,GACIW,SAAU,CACNC,KAAM,CACF,CAAEnD,KAAM,QAASoD,SAAU,OAAQC,SAAU,WAC7C,CAAErD,KAAM,OAAQoD,SAAU,OAAQC,SAAU,WAC5C,CAAErD,KAAM,WAAYoD,SAAU,OAAQC,SAAU,OAChD,CACIrD,KAAU,aACVoD,SAAU,OACVC,SAAU,CACN9C,MAAa,OACbC,QAAa,OACbC,YAAa,SCJjC9L,EAAAA,WAAAA,IAAQ2O,EAAAA,GAER,MAAMrnB,EAAS,IAAIqnB,EAAAA,EAAO,CACtBC,KAAQ,UACRC,KAAQ/D,OACRgE,OAAQ,CACJ,CACIvnB,KAAW,IACX1N,KAAW,OACXqpB,KAAW,CACP1oB,MAAO,SAEXu0B,SAAW,CAAEl1B,KAAM6T,EAAAA,EAAAA,aACnBvT,UAAW,IAAM,8BACjB60B,SAAW,CACP,CACIznB,KAAW,UACX1N,KAAW6T,EAAAA,EAAAA,YACXwV,MAAI,UACG+L,GAEP90B,UAAW,IAAM,uDAErB,CACIoN,KAAW,UACX1N,KAAW6T,EAAAA,EAAAA,YACXwV,MAAI,UACG+L,GAEP90B,UAAW,IAAM,wDAI7B,CACIoN,KAAW,QACX1N,KAAW6T,EAAAA,EAAAA,KACXvT,UAAW,IAAM,gEAErB,CACIoN,KAAW,QACX1N,KAAW6T,EAAAA,EAAAA,KACXvT,UAAW,IAAM,gEAErB,CACIoN,KAAW,cACX1N,KAAW6T,EAAAA,EAAAA,QACX5T,OAAW,EACXopB,MAAI,UACG+L,GAEPF,SAAW,CAAEl1B,KAAM6T,EAAAA,EAAAA,cACnBvT,UAAW,IAAM,8BACjB60B,SAAW,CACP,CACIznB,KAAW,OACX1N,KAAW6T,EAAAA,EAAAA,aACX5T,OAAW,EACXK,UAAW,IAAM,kGAErB,CACIoN,KAAW,OACX1N,KAAW6T,EAAAA,EAAAA,aACX5T,OAAW,EACXK,UAAW,IAAM,kFAGrB,CACIoN,KAAW,SACX1N,KAAW6T,EAAAA,EAAAA,cACX5T,OAAW,EACXK,UAAW,IAAM,oFAK7B,CACIoN,KAAW,YACX1N,KAAW6T,EAAAA,EAAAA,SACXwV,MAAI,UACG+L,GAEP90B,UAAW,IAAM,gEAErB,CACIoN,KAAW,eACX1N,KAAW6T,EAAAA,EAAAA,KACX5T,OAAW,EACXopB,MAAI,UACG+L,GAEPF,SAAW,CAAEl1B,KAAM6T,EAAAA,EAAAA,WACnBvT,UAAW,IAAM,iFACjB60B,SAAW,CACP,CACIznB,KAAW,OACX1N,KAAW6T,EAAAA,EAAAA,UACX5T,OAAW,EACXK,UAAW,IAAM,kGAErB,CACIoN,KAAW,OACX1N,KAAW6T,EAAAA,EAAAA,UACX5T,OAAW,EACXK,UAAW,IAAM,kFAGrB,CACIoN,KAAW,aACX1N,KAAW6T,EAAAA,EAAAA,gBACX5T,OAAW,EACXK,UAAW,IAAM,oFAK7B,CACIoN,KAAW,oBACX1N,KAAW6T,EAAAA,EAAAA,YACX5T,OAAW,EACXopB,MAAI,UACG+L,GAEP90B,UAAW,IAAM,sDAErB,CACIoN,KAAW,eACX1N,KAAW6T,EAAAA,EAAAA,OACX5T,OAAW,EACXopB,MAAI,UACG+L,GAEPF,SAAW,CAAEl1B,KAAM6T,EAAAA,EAAAA,aACnBvT,UAAW,IAAM,2GACjB60B,SAAW,CACP,CACIznB,KAAW,OACX1N,KAAW6T,EAAAA,EAAAA,YACX5T,OAAW,EACXK,UAAW,IAAM,kGAErB,CACIoN,KAAW,UACX1N,KAAW6T,EAAAA,EAAAA,eACX5T,OAAW,EACXK,UAAW,IAAM,kFAGrB,CACIoN,KAAW,aACX1N,KAAW6T,EAAAA,EAAAA,kBACX5T,OAAW,EACXK,UAAW,IAAM,kFAGrB,CACIoN,KAAW,QACX1N,KAAW6T,EAAAA,EAAAA,aACX5T,OAAW,EACXK,UAAW,IAAM,yDAK7B,CACIoN,KAAW,cACX1N,KAAW6T,EAAAA,EAAAA,WACXwV,MAAI,UACG+L,GAEP90B,UAAW,IAAM,0FAErB,CACIoN,KAAW,iBACX1N,KAAW6T,EAAAA,EAAAA,cACXvT,UAAW,IAAM,wEAErB,CACIoN,KAAW,cACX1N,KAAW6T,EAAAA,EAAAA,aACX5T,OAAW,EACXK,UAAW,IAAM,kFAErB,CACIoN,KAAW,mBACX1N,KAAW6T,EAAAA,EAAAA,YACX5T,OAAW,EACXK,UAAW,IAAM,kFAErB,CACIoN,KAAW,kBACX1N,KAAW6T,EAAAA,EAAAA,MACXwV,MAAI,UACG+L,GAEPF,SAAW,CAAEl1B,KAAM6T,EAAAA,EAAAA,aACnBvT,UAAW,IAAM,8BACjB60B,SAAW,CACP,CACIznB,KAAW,QACX1N,KAAW6T,EAAAA,EAAAA,YACXvT,UAAW,IAAM,+BAErB,CACIoN,KAAW,SACX1N,KAAW6T,EAAAA,EAAAA,aACXvT,UAAW,IAAM,+BAErB,CACIoN,KAAW,QACX1N,KAAW6T,EAAAA,EAAAA,YACXvT,UAAW,IAAM,+BAErB,CACIoN,KAAW,UACX1N,KAAW6T,EAAAA,EAAAA,QACXvT,UAAW,IAAM,8BAErB,CACIoN,KAAW,eACX1N,KAAW6T,EAAAA,EAAAA,aACXvT,UAAW,IAAM,yDAI7B,CACIoN,KAAU,WACV1N,KAAU,cACVk1B,SAAU,CAAEl1B,KAAM6T,EAAAA,EAAAA,UAEtB,CACInG,KAAW,aACX1N,KAAW6T,EAAAA,EAAAA,UACXwV,MAAI,UACG+L,GAEP90B,UAAW,IAAM,+BAErB,CACIoN,KAAW,QACX1N,KAAW6T,EAAAA,EAAAA,KACXwV,MAAI,UACG+L,GAEP90B,UAAW,IAAM,8BAErB,CACIoN,KAAW,KACX1N,KAAW6T,EAAAA,EAAAA,UACXvT,UAAW,IAAM,kCAK7BmN,EAAO4nB,YAAW,CAACvI,EAAIwI,EAAMC,KACzB,MAAMC,EAAe1I,EAAG9sB,OAAS6T,EAAAA,EAAAA,MAAciZ,EAAG9sB,OAAS6T,EAAAA,EAAAA,KACrD4hB,EAAe3I,EAAG9sB,OAAS6T,EAAAA,EAAAA,UAE5BsP,EAAAA,EAAAA,WAAqCqS,GAAiBC,GACvDtS,EAAAA,EAAAA,QAA+B,CAAEnjB,KAAM8sB,EAAG9sB,KAAM8oB,QAAQ,UAAKgE,EAAGhE,UAGhE2M,EACAF,IAGAznB,EAAAA,EAAAA,SAAe,mBACVymB,MAAK,EAAG/mB,OAAAA,EAAQkoB,WAAAA,MACM,MAAfA,GAAqC,MAAfA,EACtBH,IAEM/nB,GAAWgoB,EAGI,MAAfE,GAAsB5I,EAAG9sB,OAAS6T,EAAAA,EAAAA,MACrB,MAAf6hB,GAAsB5I,EAAG9sB,OAAS6T,EAAAA,EAAAA,MAClCrG,IAAWgoB,EACfD,IAGAA,EADKC,EACA,CAAEx1B,KAAM6T,EAAAA,EAAAA,aAGR,CAAE7T,KAAqB,MAAf01B,EAAqB7hB,EAAAA,EAAAA,KAAaA,EAAAA,EAAAA,OAX/C0hB,EAAK,CAAEv1B,KAAqB,MAAf01B,EAAqB7hB,EAAAA,EAAAA,KAAaA,EAAAA,EAAAA,aAiBnEpG,EAAOkoB,WAAU,KACT9rB,OAAO+rB,SACP/rB,OAAOgsB,OAAO,EAAG,MAIzB,S,kOC5SO,SAASC,EAAmBC,EAASC,GACxC,MAAMC,EAAiB,GAEvB,SAASC,EAAYC,EAAWnL,GACvBiL,EAAeE,KAChBF,EAAeE,GAAa,CACxBn2B,KAASm2B,EACTJ,QAAS,KAGjBE,EAAeE,GAAWJ,QAAQK,KAAKpL,GAgB3C,OAbIgL,IAAiBvgB,EAAAA,GAAAA,IAAAA,KACjBsgB,EAAQ9R,SAAS+G,IACTA,EAAOqL,MAAQrL,EAAOqL,KAAKxW,OAAS,EACpCmL,EAAOqL,KAAKpS,SAASqS,IACjBJ,EAAWI,EAAKtL,MAIpBkL,EAAW,WAAYlL,MAK5BiL,EAGJ,SAASM,GAAoB,IAAEvzB,EAAF,MAAOsb,EAAP,KAAckK,IAC9C,MAAMgO,EAAsB3V,KAAKC,MAAM+B,aAAaE,QAAQyF,KAAU,GAEtEgO,EAAoBxzB,GAAOsb,EAC3BuE,aAAaI,QAAQuF,EAAM3H,KAAKE,UAAUyV,ICnC9C,OACIC,qBAA6B,CAAEz2B,KAAM,qBAAsBiE,SAAU,mBACrEyyB,kBAA6B,CAAE12B,KAAM,iBAAkBiE,SAAU,eACjE0yB,gBAA6B,CAAE32B,KAAM,gBAAiBiE,SAAU,eAChE2yB,4BAA6B,CAAE52B,KAAM,2BAA4BiE,SAAU,2BAC3E4yB,eAA6B,CAAE72B,KAAM,eAAgBiE,SAAU,aAC/D6yB,eAA6B,CAAE92B,KAAM,eAAgBiE,SAAU,iBAC/D8yB,YAA6B,CAAE/2B,KAAM,aAAciE,SAAU,WAC7D+yB,qBAA6B,CAAEh3B,KAAM,qBAAsBiE,SAAU,WACrEgzB,kBAA6B,CAAEj3B,KAAM,kBAAmBiE,SAAU,IAClEizB,WAA6B,CAAEl3B,KAAM,YAAaiE,SAAU,iBAC5DkzB,sBAA6B,CAAEn3B,KAAM,sBAAuBiE,SAAU,iBACtEmzB,0BAA6B,CAAEp3B,KAAM,yBAA0BiE,SAAU,oBACzEozB,0BAA6B,CAAEr3B,KAAM,yBAA0BiE,SAAU,oBACzEqzB,wBAA6B,CAAEt3B,KAAM,uBAAwBiE,SAAU,kBACvEszB,UAA6B,CAAEv3B,KAAM,WAAYiE,SAAU,UAC3DuzB,aAA6B,CAAEx3B,KAAM,cAAeiE,SAAU,UAC9DwzB,mBAA6B,CAAEz3B,KAAM,yBAA0BiE,SAAU,uBACzEyzB,yBAA6B,CAAE13B,KAAM,2BAA4BiE,SAAU,oB,uCChB/E,SAAS0zB,IACL,OAAOryB,GAAAA,CAAM,IAAIuY,MAAQ+Z,SAAS,GAAI,QAAQC,UAGlD,SAASC,IACL,OAAOxyB,GAAAA,CAAM,IAAIuY,MAAQwV,IAAI,EAAG,QAAQwE,UAG5C,SAASE,IACL,MAAO,CACH7yB,MAAOyyB,IACPxyB,IAAO2yB,KAIf,SAASE,IACL,MAAO,CACH9yB,MAAOI,GAAAA,CAAMqyB,KAAmB9T,cAChC1e,IAAOG,GAAAA,CAAMwyB,KAAiBjU,eAItC,SAASoU,IACL,MAAO,CACHtvB,KAAO,EACPkmB,MAAO,GAIf,SAASqJ,GAAoB,MAAEhzB,EAAF,IAASC,IAClC,MAAO,CACHnD,OAAQ,CAAEm2B,UAAWjzB,EAAOkzB,QAASjzB,GACrCkzB,OAAQ,CAAC,CAAE50B,KAAMyB,EAAOsI,OAAQ,IAChC8qB,IAAQ,MC/BhB,MAAMC,EAAqB,KACrBC,EAAqB,IACrBC,EAAqB,GACrBC,EAAqB,CACvBC,MAAU,QACVC,OAAU,SACVC,QAAU,UACVC,KAAU,OACVC,KAAU,OACVC,SAAU,YAERC,EAAqB,CACvB,CAAEj2B,IAAK01B,EAAgBC,MAAOra,MAAO,GAAI4a,QAAS,GAClD,CAAEl2B,IAAK01B,EAAgBE,OAAQta,MAAO,GAAI4a,QAAS,GACnD,CAAEl2B,IAAK01B,EAAgBG,QAASva,MAAO,EAAG4a,QAAS,IACnD,CAAEl2B,IAAK01B,EAAgBI,KAAMxa,MAAO,EAAG4a,QAAS,IAChD,CAAEl2B,IAAK01B,EAAgBK,KAAMza,MAAO,EAAG4a,QAAS,IAChD,CAAEl2B,IAAK01B,EAAgBM,WAGrBG,EAAmB,EAAGC,YAAAA,EAAaC,eAAAA,EAAgBC,cAAAA,MACrD,IAAI/a,EAAU,CAAEgb,aAAc,KAAMC,aAAc,GAuBlD,OArBAP,EAAWQ,MAAMC,GACTA,EAAK12B,MAAQ01B,EAAgBM,UAC7Bza,EAAU,CACNpe,KAAcu5B,EAAK12B,IACnBu2B,aAAczL,KAAK6L,KAAKP,EAAcC,GACtCG,aAAc1L,KAAK6L,KAAKP,EAActL,KAAK6L,KAAKP,EAAcC,MAE3D,GAEPC,EAAgBI,EAAKR,SAAWG,IAChC9a,EAAU,CACNpe,KAAcu5B,EAAK12B,IACnBu2B,aAAcG,EAAKpb,MACnB4a,QAAcQ,EAAKR,QACnBM,aAAc1L,KAAK6L,KAAKL,EAAgBI,EAAKR,WAE1C,KAKR3a,GAGLqb,EAAsB,CAACC,EAAW73B,EAAQ83B,KAC5C,MAAMC,GAAWF,EAAY73B,EAAOkD,OAAS,IAC7C,OAAO60B,EAAUD,GAEfE,EAAsB,CACxBh4B,EACAi4B,EACAH,EACAI,EACAv4B,EAAUoR,EAAAA,GACVonB,GAAU,KAEV,MAAM/kB,EAAiC,IAAzB9P,GAAAA,CAAM20B,GAAQG,QAA2C,IAA3B90B,GAAAA,CAAM20B,GAAQI,UACpDzd,EAAAA,EAAAA,IAAWqd,EAAQ,SAAUt4B,IAC7Bib,EAAAA,EAAAA,IAAWqd,EAAQ,QAASt4B,GAElC,MAAO,CACHgH,KAAW,GAAEixB,EAAoBK,EAAQj4B,EAAQ83B,OACjDQ,KAAUL,EACVM,SAAUJ,EAAU,QAAU,SAC9Bh6B,KAAmC,IAAzBmF,GAAAA,CAAM20B,GAAQG,OAAe,OAAS,MAChDhlB,MAAU8kB,EAAiB9kB,EAAQ,MAIrColB,EAAsBx4B,IACxB,MAAM6G,EAAQvD,GAAAA,CAAMtD,EAAOkD,OAAO2D,OAC5B9F,EAAQuC,GAAAA,CAAMtD,EAAOkD,OAAOnC,QAC5BO,EAAQgC,GAAAA,CAAMtD,EAAOkD,OAAOzB,OAC5B22B,EAAQ90B,GAAAA,CAAMtD,EAAOkD,OAAOk1B,OAElC,OAAO90B,GAAAA,CAAM,IAAIuY,KAAKhV,EAAM9F,EAAOO,EAAK82B,IAAOvC,WAG7C4C,EAAqB,CAAClc,EAASvc,KACjC,IAAI04B,EAAkBF,EAAmBx4B,GAEzC,MAAM24B,EAAwBzB,IAC1B,MAAMrwB,EAAavD,GAAAA,CAAMtD,EAAOkD,OAAO2D,OACjC9F,EAAauC,GAAAA,CAAMtD,EAAOkD,OAAOnC,QACjCO,EAAagC,GAAAA,CAAMtD,EAAOkD,OAAOzB,OACjC22B,EAAa90B,GAAAA,CAAMtD,EAAOkD,OAAOk1B,OACvC,IAAIQ,EAAet1B,GAAAA,CAAMtD,EAAOkD,OAAOm1B,SAEvC,MAAOO,EAAe1B,IAAY,EAC9B0B,GAAgB,EAGpB,OAAOt1B,GAAAA,CAAM,IAAIuY,KAAKhV,EAAM9F,EAAOO,EAAK82B,EAAMQ,IAAe/C,WAUjE,OAPItZ,EAAQpe,OAASu4B,EAAgBC,OAC9Bpa,EAAQpe,OAASu4B,EAAgBE,QACjCra,EAAQpe,OAASu4B,EAAgBG,SACjCta,EAAQpe,OAASu4B,EAAgBI,OACpC4B,EAAkBC,EAAqBpc,EAAQ2a,UAG5CwB,GAGLG,EAAgB,CAACtc,EAASvc,EAAQ83B,EAAan4B,EAAOoR,EAAAA,MACxD,MAAM+nB,EAAa,GACnB,IAAIC,EAAeN,EAAmBlc,EAASvc,GAE/C,IAAK,IAAI4d,EAAI,EAAGA,EAAIrB,EAAQib,aAAc5Z,IAAK,CAC3C,GAAImb,EAAa/4B,EAAOkD,MAAO,CAC3B,MAAM81B,EAAShB,EACXh4B,EACA+4B,EACAjB,EACAn4B,GACA,GAEJm5B,EAAW1E,KAAK4E,GAEhBzc,EAAQpe,OAASu4B,EAAgBM,SACjC+B,GAAexC,EAAaha,EAAQgb,aAGpCwB,GAAexC,EAAaha,EAAQgb,aAG5C,OAAOuB,G,cCrGX,MAAMG,EAAe,IACfC,EAAe,KACfC,EAAe,IACfC,EAAe,GAAKF,EAEX,MAAMG,EACjB5Y,aAAa,SAAE7V,EAAF,WAAY0uB,IAErBr8B,KAAK2N,SAAaA,EAClB3N,KAAKq8B,WAAaA,GAAc,GAGhCr8B,KAAKs8B,MAAc,KACnBt8B,KAAKu8B,YAAc,KACnBv8B,KAAKw8B,MAAc,KAGnBx8B,KAAKy8B,mBAAqB,KAC1Bz8B,KAAK+C,OAAqB+1B,IAC1B94B,KAAKo5B,OAAqB,KAG1Bp5B,KAAK08B,cAAkB,KACvB18B,KAAK28B,gBAAkB,KAGvB38B,KAAK48B,YAAgB,EACrB58B,KAAK68B,cAAgB,EAErB78B,KAAK88B,SAAsB,KAC3B98B,KAAK+8B,qBAAsBC,EAAAA,EAAAA,GAAS,IAEpCh9B,KAAKi9B,OAGTA,OACIj9B,KAAKs8B,MAAcF,EAAsBc,QAAQl9B,KAAK2N,UACtD3N,KAAKu8B,YAAcH,EAAsBc,SAAQtvB,EAAAA,EAAAA,IAAiB5N,KAAK2N,WACvE3N,KAAKw8B,MAAcJ,EAAsBc,SAAQxvB,EAAAA,EAAAA,IAAW1N,KAAK2N,WAKjEigB,eACA,OAAO5tB,KAAK+C,OAAOmD,IAAMlG,KAAK+C,OAAOkD,MAGrCk3B,gBAEA,MAAMC,GAAgBze,EAAAA,EAAAA,IAAqB3e,KAAK+C,OAAOkD,OACjDo3B,GAAgB1e,EAAAA,EAAAA,IAAqB3e,KAAK+C,OAAOmD,KACjDo3B,EAAgBF,EAChBG,EAAgB,GAChBnE,EAAgBp5B,KAAKo5B,OACrBp5B,KAAKo5B,OACLH,EAAmB,CACjBhzB,MAAOjG,KAAK+C,OAAOkD,MACnBC,IAAOlG,KAAK+C,OAAOmD,MACpBkzB,OAuBP,OArBAA,EAAOpU,SAAQ,CAACwY,EAAO9U,EAAO+U,KAC1B,MAAMC,GAAe/e,EAAAA,EAAAA,IAAqB6e,EAAMh5B,MAC1Cm5B,EAAeF,EAAI/U,EAAQ,IAAK/J,EAAAA,EAAAA,IAAqB8e,EAAI/U,EAAQ,GAAGlkB,MAAQ64B,EAC5EO,EAAexB,EAAsByB,gBAAgB,CACvDtvB,OAAoBivB,EAAMjvB,OAC1BuvB,YAAoBpV,IAAU+U,EAAI7c,OAAS,EAC3Cpc,KAAoBg5B,EAAMh5B,KAC1Bi4B,mBAAoBz8B,KAAKy8B,qBAG7Bc,EAAcpG,KAAK,CACf3tB,MAAWxJ,KAAK+9B,iBAAiBJ,EAAWP,GACtCp9B,KAAK+9B,iBAAiBL,EAAaN,GACzC1zB,KAAW1J,KAAK+9B,iBAAiBL,EAAaN,GAC9Cl8B,KAAW08B,EACX33B,MAAWy3B,EAAaJ,EACxBp3B,IAAWy3B,EAAWL,EACtB36B,UAAW66B,EAAMh5B,KACjBw5B,QAAWP,EAAI/U,EAAQ,GAAK+U,EAAI/U,EAAQ,GAAGlkB,KAAOxE,KAAK+C,OAAOmD,SAG/Dq3B,EAGPU,qBACA,OAAQj+B,KAAK4tB,SAAY5tB,KAAK4tB,SAAWoO,GAAe,EAGxDkC,sBACA,OAAOl+B,KAAK4tB,SAAWsO,EAGvBiC,wBACA,OAAOn+B,KAAK4tB,SAAWuO,EAGvBiC,gBACA,MAAO,CACHn4B,MAAOI,GAAAA,CAAMrG,KAAK+C,OAAOkD,OAAO2e,cAChC1e,IAAOG,GAAAA,CAAMrG,KAAK+C,OAAOmD,KAAK0e,eAQtCyZ,YAAaC,EAAcnhB,EAASohB,GAKhC,OAJAv+B,KAAKw+B,eAELx+B,KAAKy+B,mBAAmBH,GAEjBt+B,KAAK0+B,0BAA0BJ,EAAcnhB,EAASohB,GAGjEI,cAAeC,GACX5+B,KAAK88B,SAAW98B,KAAK+8B,oBAAoB8B,WAAU,KAC/C,IAAIC,EAAclgB,KAAK+F,MAEnBia,GAAa5+B,KAAKs8B,QAClBwC,EAAc1C,EAAsB2C,mBAAmB/+B,KAAKs8B,MAAMwC,aAC5D9+B,KAAK08B,cAAcz2B,OAG7BjG,KAAKg/B,kBAAkBF,MAI/BN,eACQx+B,KAAK88B,UACL98B,KAAK88B,SAASmC,cAItBC,WAAYx8B,EAAOoR,EAAAA,IACf,MAAMsmB,EAAiBvL,KAAK6L,KAAK16B,KAAKm/B,sBAAwB3F,GACxDW,EAAiBtL,KAAK6L,MAAM16B,KAAK+C,OAAOmD,IAAMlG,KAAK+C,OAAOkD,OAASqzB,GACnEe,EAAiBxL,KAAK6L,MAAM16B,KAAK+C,OAAOmD,IAAMlG,KAAK+C,OAAOkD,OAASszB,GACnEja,EAAiB4a,EAAiB,CAAEC,YAAAA,EAAaC,eAAAA,EAAgBC,cAAAA,IAEvE,OAAOuB,EAActc,EAAStf,KAAK+C,OAAQ/C,KAAK66B,cAAen4B,GAGnE08B,kCAGI,OAFAp/B,KAAKw+B,eAEEx+B,KAAKq/B,uBAAuBr/B,KAAK48B,aAG5C0C,6BAA8BC,EAAYC,GACtC,MAAMC,EAAqBF,EAAa/nB,EAAAA,GAClCkoB,EAAqBF,EACrBG,EAAqBF,EAAQC,EAAqBD,EAAQC,EAEhE,OAAgB,IAATC,EAAgB3/B,KAAK+C,OAAOkD,MAGvCo5B,yBACI,MAAMO,EAAsBC,GACjB7/B,KAAKm9B,UAAU2C,WAAWC,IAC7B,MAAM95B,EAAQ4oB,KAAKmR,MAA4B,IAAtBD,EAAc95B,MAAejG,KAAK+C,OAAOkD,OAC5DC,EAAQ2oB,KAAKmR,MAA0B,IAApBD,EAAc75B,IAAalG,KAAK+C,OAAOkD,OAEhE,OAAO45B,GAAe55B,GAAS45B,EAAc35B,KAI/C44B,EAAc9+B,KAAK08B,cAAcx2B,IACjC+5B,EAAkBL,EAAmBd,GACrCnC,EAAkB38B,KAAKm9B,UAAU8C,GACvC,IAAIC,EAAoB,CAAEh/B,KAAMgM,EAAAA,GAAAA,MAiBhC,OAfIyvB,EAAgBz7B,OAASgM,EAAAA,GAAAA,IACzBgzB,GAAgB,UACTlgC,KAAKmgC,sBAAsBF,EAAgB,IAG7CtD,EAAgBz7B,OAASgM,EAAAA,GAAAA,OAC9BgzB,EAAgB,CACZj6B,MAAO64B,EACP54B,IAAOlG,KAAKs/B,8BACPR,EAAc9+B,KAAK+C,OAAOkD,OAAS,IAAM02B,EAAgBz2B,KAE9DhF,KAAOgM,EAAAA,GAAAA,WAIRgzB,EAOXtM,UAAW7wB,GACP/C,KAAK+C,OAASA,EAGlBq9B,UAAWhH,GACPp5B,KAAKo5B,OAASA,EAGlBiH,iBAAkB3D,GACd18B,KAAK08B,cAAgBA,EAGzB4D,sBAAuBC,GACnBvgC,KAAKy8B,mBAAqB8D,EAG9B9B,mBAAoBH,GAChBt+B,KAAK28B,gBAAkB2B,EAK3BzD,cACI,OAAO76B,KAAK4tB,UAAyC,IAA7B5tB,KAAKm/B,uBAGjCpB,iBAAkBjD,GACd,OAAOA,EAAU96B,KAAK66B,cAG1B2F,iBAAkBC,GACd,OAAOA,EAAKzgC,KAAK66B,cAGC,wBAClB,OACItsB,EADJ,YAEIuvB,EAFJ,KAGIt5B,EAHJ,mBAIIi4B,IAEJ,MAAMiE,EAAajE,EAAqBA,EAAmBtD,QAAU9yB,GAAAA,CAAM,IAAIuY,MAAQgG,cACvF,IAAIgZ,EAAe1wB,EAAAA,GAAAA,IAMnB,OAJI4wB,GAAe4C,GAAYl8B,IAAS+J,IACpCqvB,EAAe1wB,EAAAA,GAAAA,MAGZqB,EAASrB,EAAAA,GAAAA,SAAuB0wB,EAG3C+C,yBAEI3T,YAAW,KACPhtB,KAAKg/B,kBAAkBpgB,KAAK+F,SAC7B,KAGPic,eAAgB9B,EAAa+B,GACzB,MAAMC,EAAoB9gC,KAAK+9B,kBAAkBe,EAAc+B,GAAe,KAE9E7gC,KAAK+gC,iBAAiBD,GACtB9gC,KAAKghC,kBAAkBF,GAG3BC,iBAAkBD,GACV9gC,KAAKw8B,OAAS3N,KAAKmR,MAAMc,KAAuB9gC,KAAK68B,gBACrD78B,KAAKw8B,MAAMj6B,MAAMstB,UAAa,cAAaiR,EAAqB9gC,KAAKq8B,WAAa,QAK1F4E,8BACI,MAAMrE,EAAc58B,KAAK48B,aAAev2B,GAAAA,CAAM,IAAIuY,MAAQga,UAE1D,OAAO54B,KAAKkhC,mBAAmBtE,GAGnCsE,mBAAoBtE,GAChB,QAAI58B,KAAKk+B,iBACE,CACHj4B,MAAOjG,KAAK+C,OAAOkD,MAAQjG,KAAKmhC,iBAAiBvE,GACjD12B,IAAOlG,KAAK+C,OAAOmD,IAAMlG,KAAKohC,eAAexE,IAQzDyE,gCACI,MAAMzE,EAAc58B,KAAK48B,aAAev2B,GAAAA,CAAM,IAAIuY,MAAQga,UAE1D,OAAO54B,KAAKshC,qBAAqB1E,GAGrC0E,qBAAsB1E,GAClB,MAAMkC,EAAcz4B,GAAAA,CAAM,IAAIuY,MAAQga,UAEtC,QAAI54B,KAAKm+B,mBACE,CACHl4B,MAAOjG,KAAK+C,OAAOkD,MAAQjG,KAAKmhC,iBAAiBvE,GACjD12B,IAAOlG,KAAK+C,OAAOmD,KAAO44B,EAAe,EAAI7C,EACvCj8B,KAAK+C,OAAOmD,IAAMlG,KAAK+C,OAAOmD,IAAMlG,KAAKohC,eAAexE,IAO1E2E,uBACI,MAAO,CACHt7B,MAAOjG,KAAK+C,OAAOkD,MAAQjG,KAAKi+B,eAChC/3B,IAAOlG,KAAK+C,OAAOmD,IAAMlG,KAAKi+B,gBAItCuD,wBACI,MAAO,CACHv7B,MAAOjG,KAAK+C,OAAOkD,MAAQjG,KAAKi+B,eAChC/3B,IAAOlG,KAAK+C,OAAOmD,IAAMlG,KAAKi+B,gBAItCwD,yBACI,MAAO,CACHx7B,MAAOjG,KAAK48B,YAAe58B,KAAK4tB,SAAW,EAC3C1nB,IAAOlG,KAAK48B,YAAe58B,KAAK4tB,SAAW,GAInDuT,iBAAkBvE,GACd,OAASA,EAAc58B,KAAK+C,OAAOkD,OAASjG,KAAK4tB,UAAmC,EAAtB5tB,KAAKi+B,gBAGvEmD,eAAgBxE,GACZ,OAAS58B,KAAK+C,OAAOmD,IAAM02B,GAAe58B,KAAK4tB,UAAmC,EAAtB5tB,KAAKi+B,gBAGrEyD,sBAAuBC,GACnB,MAAMC,EAAoB,GAgB1B,OAd2B,IAAvBD,EAAY/gB,OACZghB,EAAkBC,MAAQ,GAG1BF,EAAY3c,SAAS8c,IACbF,EAAkBE,EAAW5gC,MAC7B0gC,EAAkBE,EAAW5gC,MAAMi2B,KAAKn3B,KAAK+hC,gBAAgBD,IAG7DF,EAAkBE,EAAW5gC,MAAQ,CAAClB,KAAK+hC,gBAAgBD,OAKhEF,EAGXG,gBAAiBD,GACb,MAAM1E,GAAkBze,EAAAA,EAAAA,IAAqB3e,KAAK+C,OAAOkD,OACnD+7B,GAAkBrjB,EAAAA,EAAAA,IAAqBmjB,EAAWzG,MAClD4G,GAAkBtjB,EAAAA,EAAAA,IAAqBmjB,EAAWI,SAExD,yBACOJ,GADP,IAEI1E,aAAc4E,EACdx4B,MAAOxJ,KAAK+9B,iBAAiBkE,EAAgB7E,GACvCp9B,KAAK+9B,iBAAiBiE,EAAkB5E,GAC9C1zB,KAAO1J,KAAK+9B,iBAAiBiE,EAAkB5E,GAC/C1K,MAAO0J,EAAsB+F,yBAAyBL,EAAW5gC,QAI1C,gCAAEA,GAC7B,OAAQA,GACJ,KAAKoM,EAAAA,GAAAA,MACD,MAAO,UACX,QACI,MAAO,WAMnB6xB,sBACI,OAAOn/B,KAAKu8B,aAAc3f,EAAAA,EAAAA,IAAU5c,KAAKu8B,aAAa/yB,MAAQ,EAGlEw1B,kBAAmB3D,GACfr7B,KAAKoiC,eAAe/G,GACpBr7B,KAAKqiC,iBAAiBhH,GACtBr7B,KAAK4gC,eAAevF,EAAMr7B,KAAK+C,OAAOkD,OAG1Cm8B,eAAgB/G,GACZr7B,KAAK48B,YAAcvB,EAGvB2F,kBAAmBnE,GACf78B,KAAK68B,cAAgBA,EAGzB6B,0BAA2BJ,EAAcnhB,EAASohB,GAC9C,IAAI+D,EAAgBtiC,KAAKm9B,UAAUmB,EAAaiE,QAAQ7Z,OACpDgU,EAAgB,KAChB8F,EAAgBxrB,EAAAA,GAAAA,KAEpB,GAAIsnB,EAAaiE,QAAQrhC,OAASgM,EAAAA,GAAAA,KAAmBlN,KAAKyiC,WAAWnE,GACjE,OAAO,EAGX,GAAIA,EAAaiE,QAAQrhC,OAASgM,EAAAA,GAAAA,KAAkB,CAChD,IAAIw1B,EAAoB,EAEpBpE,EAAaiE,QAAQrhC,OAASgM,EAAAA,GAAAA,KAC9Bo1B,EAAoBtiC,KAAKm9B,UAAUwF,OAAOrE,EAAaiE,QAAQ7Z,OAAS,GACxEga,EAAoBJ,EAAYr8B,OAE3Bq4B,EAAaiE,QAAQrhC,OAASgM,EAAAA,GAAAA,WACnCw1B,EAAoBnE,EACdA,EAA0Bv+B,KAAK+C,OAAOkD,MAAQ,IAAQ,GACtDjG,KAAK4iC,kBAAkBzlB,IAGjCuf,EAAgB,CACZz2B,MAA4B,IAApBy8B,EAA4B1iC,KAAK+C,OAAOkD,MAChDC,IAAOlG,KAAKs/B,6BAA6BoD,EAAmBJ,EAAYp8B,MAG5Es8B,EAAcxrB,EAAAA,GAAAA,QAGlB,MAAO,CAAEsrB,YAAAA,EAAa5F,cAAAA,EAAe8F,YAAAA,GAGzCC,WAAY95B,GACR,OAAO3I,KAAKm9B,UAAUvc,SAAW+hB,OAAOh6B,EAAK45B,QAAQ7Z,OAAS,EAGlEka,kBAAmBzlB,GACf,MAAM0lB,EAAY7iC,KAAKu8B,YAAcv8B,KAAKu8B,YAAYzf,wBAAwBpT,KAAO,EACrF,OAAO1J,KAAKwgC,iBAAiBrjB,EAAU0lB,GAG3CR,iBAAkBhH,GACd,MAAMyH,EAAkB1G,EAAsBc,SAAQrvB,EAAAA,EAAAA,IAAiB7N,KAAK2N,WAExEm1B,IACAA,EAAgBC,WAAYplB,EAAAA,EAAAA,IAAW0d,EAAM,qBAIrD8E,sBAAuBzX,GACnB,OAAO1oB,KAAKm9B,UAAUzU,GAChB,CACEziB,MAAqC,IAA9BjG,KAAKm9B,UAAUzU,GAAOziB,MAAejG,KAAK+C,OAAOkD,MACxDC,IAAOlG,KAAKs/B,6BACRt/B,KAAKm9B,UAAUzU,GAAOziB,MACtBjG,KAAKm9B,UAAUzU,GAAOxiB,KAE1BhF,KAAOlB,KAAKm9B,UAAUzU,GAAOxnB,MAE/B,KAKI,eAAEsqB,GACZ,OAAOjO,SAASylB,eAAexX,GAGV,0BAAEyX,GACvB,OAA0B,IAAnBA,GC1df,MAAM,YAAEC,GAAgBn1B,IAExB,OACIo1B,YAAY,EACZr5B,MAAY,CACRs5B,aAAoB,KACpBC,cAAoB,GACpB1B,YAAoB,GACpB2B,mBAAoB,GAEpBC,WAA2B,EAC3B3d,0BAA2B,KAC3B4d,iBAA2BxK,IAE3ByK,wBAAyB,EACzBC,mBAAyB,EACzBC,yBAAyB,EACzBC,uBAAyB,EACzBC,WAAyB,EACzBC,WAAyB,EAEzBC,2BAA4B,KAC5BC,wBAA4B,KAG5BjhC,OAAW+1B,IACXsF,UAAWrF,IAGXK,OAAW,GACX+D,UAAW,GAGX8G,eAAgBjtB,EAAAA,GAAAA,KAChBktB,SAAgB,KAEhBC,sBAAuB,MAE3BC,QAAY,CACRC,WAAuBv6B,KAAYA,EAAMs5B,gBAAkBt5B,EAAMs5B,aAAargC,OAC9EuhC,qBAAuBx6B,GACZA,EAAMq6B,sBACPr6B,EAAMq6B,sBAAsBpG,iBAAiBj0B,EAAM8b,2BACnD,EAEV2e,eAAuBz6B,GAAU,IACtBA,EAAMq6B,sBAAwBr6B,EAAMq6B,sBAAsBtJ,cAAgB,GAGzF2J,QAAY,CAERC,iBAAiB,OAAEC,EAAF,MAAU56B,EAAV,QAAiBs6B,EAAjB,SAA0BO,IAAY,UAAE1zB,EAAF,SAAa2zB,IAChED,EAAS,SAAU,CACf1zB,UAAAA,EACA2zB,SAAAA,EACA7hC,OAAQ+G,EAAMq6B,sBAAsBlD,iCAG5C4D,QAAQ,OAAEH,EAAF,MAAU56B,EAAV,QAAiBs6B,EAAjB,SAA0BO,IAAY,UAAE1zB,EAAF,SAAa2zB,EAAb,OAAuB7hC,IAC7D+G,EAAMq6B,sBAAsBjG,iBAC5ByG,EAAS,eAAgB,CACrB5hC,OAAAA,EACA6hC,SAAAA,EACAE,WAAiB5zB,EAAAA,EAAAA,IAAaD,GAC9B8zB,iBAAiB,EACjBC,gBAAiB,EACjBC,eAAiB,KAK7BC,mBAAmB,OAAER,EAAF,MAAU56B,EAAV,QAAiBs6B,EAAjB,SAA0BO,IAAY,UAAE1zB,EAAF,SAAa2zB,IAClED,EAAS,WAAY,CACjB1zB,UAAAA,EACA2zB,SAAAA,EACA7hC,OAAQ+G,EAAMq6B,sBAAsB9C,mCAG5C8D,UAAU,OAAET,EAAF,MAAU56B,EAAV,QAAiBs6B,EAAjB,SAA0BO,IAAY,UAAE1zB,EAAF,SAAa2zB,EAAb,OAAuB7hC,IAC/D+G,EAAMq6B,sBAAsBhG,mBAC5BwG,EAAS,eAAgB,CACrB5hC,OAAAA,EACA6hC,SAAAA,EACAE,WAAiB5zB,EAAAA,EAAAA,IAAaD,GAC9B8zB,iBAAiB,EACjBC,gBAAiB,EACjBC,eAAiB,KAI7BG,UAAU,OAAEV,EAAF,MAAU56B,EAAV,QAAiBs6B,EAAjB,SAA0BO,IAAY,UAAE1zB,EAAF,SAAa2zB,KACrD96B,EAAMm6B,iBAAmBjtB,EAAAA,GAAAA,MAA2BlN,EAAMo6B,WAI9DS,EAAS,eAAgB,CACrBC,SAAAA,EACA7hC,OAAiB+G,EAAMq6B,sBAAsB1C,yBAC7CqD,WAAiB5zB,EAAAA,EAAAA,IAAaD,GAC9B8zB,iBAAiB,EACjBC,gBAAiB,EACjBC,eAAiB,KAGzBI,UAAU,OAAEX,EAAF,MAAU56B,EAAV,QAAiBs6B,EAAjB,SAA0BO,IAAY,UAAE1zB,EAAF,SAAa2zB,IACzDD,EAAS,eAAgB,CACrBC,SAAAA,EACA7hC,OAAiB+G,EAAMq6B,sBAAsB5C,uBAC7CuD,WAAiB5zB,EAAAA,EAAAA,IAAaD,GAC9B8zB,iBAAiB,EACjBC,gBAAiB,EACjBC,eAAiB,KAGzBK,WAAW,OAAEZ,EAAF,MAAU56B,EAAV,QAAiBs6B,EAAjB,SAA0BO,IAAY,UAAE1zB,EAAF,SAAa2zB,IAC1DD,EAAS,eAAgB,CACrBC,SAAAA,EACA7hC,OAAiB+G,EAAMq6B,sBAAsB3C,wBAC7CsD,WAAiB5zB,EAAAA,EAAAA,IAAaD,GAC9B8zB,iBAAiB,EACjBC,gBAAiB,EACjBC,eAAiB,KAGzBM,uBAAuB,OAAEb,EAAF,SAAUC,EAAV,MAAoB76B,IAAS,OAAE/G,IAClD4hC,EAAS,eAAgB,CACrB5hC,OAAAA,EACAgiC,iBAAiB,EACjBC,gBAAiB,EACjBC,eAAiB,KAGzBO,aAAa,SAAEb,IACXA,EAAS,eAAgB,CACrB5hC,OAAQ,CACJkD,MAAOyyB,IACPxyB,IAAO2yB,QAKnB4M,cAAc,SAAEd,EAAF,OAAYD,IAAU,OAAEtL,IAClC,SAASsM,IACL,MAAMC,EAAYvM,GAAUA,EAAOA,EAAOxY,OAAS,IAC7Cc,EAAAA,EAAAA,IAAa0X,EAAOA,EAAOxY,OAAS,IACpC,KAEN,OAAI+kB,IAAcA,EAAUp3B,QAAUlI,GAAAA,CAAMs/B,EAAUnhC,MAAMo0B,WAAaha,KAAK+F,OAC1EghB,EAAUnhC,KAAO6B,GAAAA,GAAQue,cAClB+gB,GAEJ,KAGX,MAAMC,EAAYF,IAEdE,GACAxM,EAAOjC,KAAKyO,GAGhBjB,EAAS,aAAc,CAAEvL,OAAAA,KAE7ByM,YAAY,MAAE/7B,EAAF,OAAS46B,IAAU,OAAEtL,IAC7BtvB,EAAMq6B,sBAAsB/D,UAAUhH,GACtCsL,EAAO,YAAa,CAAEtL,OAAAA,IACtBsL,EAAO,eAAgB,CAAEvH,UAAWrzB,EAAMq6B,sBAAsBhH,aAEpE2I,gBAAgB,OAAEpB,EAAF,MAAU56B,IAAS,IAAEuvB,EAAF,OAAOt2B,EAAP,KAAe+yB,IAC9C,GAAIA,IAAS9e,EAAAA,GAAAA,QAA2B,CACpC,MAAMkiB,EAAY7yB,GAAAA,CAAM,IAAIuY,KAAK7b,EAAOkD,QAAQ2e,cAC1CuU,EAAY9yB,GAAAA,CAAM,IAAIuY,KAAK7b,EAAOmD,MAAM0e,cAE9C8f,EAAO,cAAe,CAClBR,SAAU,CACNnhC,OAAAA,EACAs2B,IAAM,GAAEA,gBAAkBH,cAAsBC,YAKxDuL,EAAO,cAAe,CAAER,SAAU,CAAE7K,IAAAA,MAI5C0M,cACI,OAAErB,EAAF,SAAUC,EAAV,QAAoBP,EAApB,MAA6Bt6B,IAC7B,UAAEovB,EAAF,QAAaC,EAAb,UAAsBloB,EAAtB,SAAiC2zB,EAAjC,gBAA2CG,IAEvCA,IACAL,EAAO,cAAe,CAAEhB,mBAAmB,IAE3CrO,EAAAA,EAAAA,KACSnkB,EAAAA,EAAAA,IAAaD,GAAY,CAC1B4Y,OAAQ,CACJmc,WAAY9M,EACZ+M,SAAY9M,KAGnB7D,MAAMhnB,IACCA,EAASI,KAAK3L,SACd4hC,EAAS,eAAgB,CACrB5hC,OAAQ,CACJkD,MAAOI,GAAAA,CAAM,IAAIuY,KAAKtQ,EAASI,KAAK3L,OAAOm2B,YAAYN,UACvD1yB,IAAOG,GAAAA,CAAM,IAAIuY,KAAKtQ,EAASI,KAAK3L,OAAOo2B,UAAUP,aAG7D+L,EAAS,eAAgB,CAAEvL,OAAQ9qB,EAASI,KAAK0qB,SACjDuL,EAAS,mBAAoB,CAAE1zB,UAAAA,EAAW8zB,gBAAAA,EAAiBH,SAAAA,IAC3DD,EAAS,oBAAqB,CAAE1zB,UAAAA,EAAW8zB,gBAAAA,QAGlDmB,SAAQ,KACLxB,EAAO,cAAe,CAAEhB,mBAAmB,SAI3DyC,oBAAoB,OAAEzB,EAAF,SAAUC,EAAV,QAAoBP,EAApB,MAA6Bt6B,IAAS,UAAEg7B,EAAF,gBAAaC,IAC/DA,IACAL,EAAO,2BAA4B,CAAEf,yBAAyB,IAE9DtO,EAAAA,EAAAA,IACSyP,EAAW,CACZjb,OAAa,CACTmc,WAAYl8B,EAAMq6B,sBAAsB/F,UAAUn4B,MAClDggC,SAAYn8B,EAAMq6B,sBAAsB/F,UAAUl4B,KAEtDkgC,YAAa,IAAIlD,GAAamD,IAC1Bv8B,EAAMi6B,2BAA6BsC,OAG1C/Q,MAAMhnB,IACCA,EAASI,KAAK3L,QACd4hC,EAAS,eAAgB,CAAEvL,OAAQ9qB,EAASI,KAAK0qB,SAErDtvB,EAAMi6B,2BAA6B,QAEtCmC,SAAQ,KACLxB,EAAO,2BAA4B,CAAEf,yBAAyB,SAI9E2C,mBAAmB,OAAE5B,EAAF,SAAUC,IAAY,UAAE1zB,EAAF,gBAAa8zB,IAClD,GAAIA,EAAiB,CACjB,MAAM1L,GAAMloB,EAAAA,EAAAA,IAAmBF,GAE/BokB,EAAAA,EAAAA,IACSgE,GACJ/D,MAAMC,IACCA,EAAI7mB,KAAK3L,SACT4hC,EAAS,qBAAsB,CAAEpE,MAAOhL,EAAI7mB,OAC5Ci2B,EACI,qBACA,CACI4B,SAAUhR,EAAI7mB,KAAK3L,OAAOm2B,UAC1BsN,OAAUjR,EAAI7mB,KAAK3L,OAAOo2B,QAC1BloB,UAAAA,EACA8zB,gBAAAA,UAO5B0B,oBAAoB,OAAE/B,EAAF,SAAUC,EAAV,QAAoBP,EAApB,MAA6Bt6B,IAAS,SAAEy8B,EAAF,OAAYC,EAAZ,UAAoBv1B,EAApB,gBAA+B8zB,IACrF,GAAIA,EAAiB,CACjB,MAAM1L,GAAMjoB,EAAAA,EAAAA,IAAoBH,GAEhCokB,EAAAA,EAAAA,IACSgE,EAAK,CACNxP,OAAQ,CACJmc,WAAYO,EACZN,SAAYO,KAGnBlR,MAAMC,IACHmP,EAAO,mBAAoB,CAAErB,cAAe9N,EAAI7mB,YAIhEg4B,kBAAkB,SAAE/B,IAAY,UAAEG,EAAF,gBAAaC,EAAb,SAA8BH,IAC1DD,EAAS,qBAAsB,CAAEG,UAAAA,EAAWC,gBAAAA,EAAiBH,SAAAA,IAC7DD,EAAS,mBAAoB,CAAEI,gBAAAA,EAAiBH,SAAAA,KAEpD+B,kBAAkB,MAAE78B,EAAF,SAAS66B,EAAT,OAAmBD,IAAU,gBAAEK,EAAF,SAAmBH,IAC1DG,IACAL,EAAO,yBAA0B,CAAEd,uBAAuB,IAE1DvO,EAAAA,EAAAA,IACSzkB,EAAAA,GAAiB,CAClBiZ,OAAQ,CACJ+a,SAAAA,EACAvO,KAAMvsB,EAAMq6B,sBAAsB/F,UAAUn4B,MAC5C4nB,GAAM/jB,EAAMq6B,sBAAsB/F,UAAUl4B,OAGnDovB,MAAMC,IACHoP,EAAS,oBAAqB,CAAEhD,YAAapM,EAAI7mB,UAEpDw3B,SAAQ,KACLxB,EAAO,yBAA0B,CAAEd,uBAAuB,SAI1EgD,yBAAyB,OAAElC,EAAF,QAAUN,IAAW,UAAEnzB,EAAF,eAAa41B,IACvD,OAAOxR,EAAAA,EAAAA,KACEhkB,EAAAA,EAAAA,IAAsB,CAAEJ,UAAAA,IAAc,CACvC4Y,OAAQ,CACJmc,WAAiB3/B,GAAAA,CAAMwgC,EAAe5gC,OAAO2e,cAC7CqhB,SAAiB5/B,GAAAA,CAAMwgC,EAAe3gC,KAAK0e,cAC3CkiB,gBAAiBzgC,GAAAA,GAAQ0gC,eAGhCzR,MAAMC,GAAQA,EAAI7mB,QAG3Bs4B,mBAAmB,MAAEl9B,EAAF,OAAS46B,IAAU,YAAE/C,IACpC+C,EAAO,iBAAkB,CAAE/C,YAAAA,IAC3B+C,EAAO,wBAAyB,CAC5B/C,YAAa73B,EAAMq6B,sBAAsBzC,sBAAsBC,MAGvEsF,kBAAkB,OAAEvC,EAAF,SAAUC,IACxBD,EAAO,mBAAoB,CAAErB,cAAe,KAC5CqB,EAAO,cAAe,CAAER,SAAU,OAClCS,EAAS,oBAAqB,CAAEhD,YAAa,KAC7CgD,EAAS,qBAAsB,CAAEpE,MAAO,OACxCoE,EAAS,aAAc,CAAEvL,OAAQ,KACjCuL,EAAS,eAAgB,CAAE5hC,OAAQ+1B,MACnC6L,EAAS,uBAAwB,CAAE7O,KAAM9e,EAAAA,GAAAA,QAE7CkwB,0BAA0B,OAAExC,EAAF,SAAUC,EAAV,QAAoBP,IAAW,UAAEU,EAAF,gBAAaC,EAAb,SAA8BH,IAGnF,SAAS/lB,EAASgc,GACd,OAAqB,EAAdA,EAAkB,IAAO,KAAqB,EAAdA,EAAkB,IAAO,KAHpE8J,EAAS,2BAMT,MAAMtJ,EAAOxc,EAAQulB,EAAQG,kBAE7B,IAAI4C,EAAQna,YAAW,SAASoa,IAC5BzC,EAAS,mBAAoB,CAAEG,UAAAA,EAAWC,gBAAAA,EAAiBH,SAAAA,IAE3DuC,EAAQna,WAAWoa,EAAM/L,GACzBqJ,EAAO,6BAA8B,CAAEyC,MAAAA,MACxC9L,GAEHqJ,EAAO,6BAA8B,CAAEyC,MAAAA,KAE3CE,yBAAyB,MAAEv9B,IACvBw9B,aAAax9B,EAAMk6B,0BAIvBuD,kBAAkB,OAAE7C,IAAU,WAAEnB,IAC5BmB,EAAO,gBAAiB,CAAEnB,WAAAA,KAE9BiE,UAAU,SAAE7C,EAAF,QAAYP,EAAZ,OAAqBM,IAAU,OACrC+C,EADqC,UAErC3C,EAFqC,QAGrC4C,EAHqC,kBAIrCC,EAJqC,gBAKrC5C,EALqC,SAMrCH,EANqC,cAOrCK,IAEAN,EAAS,uBAAwB,CAAE7O,KAAM9e,EAAAA,GAAAA,OAErC2wB,GACKF,GACD9C,EAAS,eAAgB,CACrBG,UAAAA,EACAC,gBAAAA,EACAH,SAAAA,EACAK,cAAAA,EACAliC,OAAQ,CACJkD,MAAOI,GAAAA,CAAM,IAAIuY,KAAK8Z,MAAoBE,UAC1C1yB,IAAOG,GAAAA,CAAM,IAAIuY,KAAKia,MAAkBD,aAIpD+L,EAAS,iBAAkB,CACvBtL,IAAQqO,EACR5R,KAAQ9e,EAAAA,GAAAA,KACRjU,OAAQ,QAIZ4hC,EAAS,mBAGjBiD,aAAa,SAAEjD,EAAF,MAAY76B,IAAS,OAAE/G,EAAF,YAAU8kC,IACxClD,EAAS,iBAAkB,CACvB5hC,OAAAA,EACAs2B,IAAMwO,EACN/R,KAAM9e,EAAAA,GAAAA,UAEVlN,EAAMq6B,sBAAsBnF,kBAAkBj8B,EAAOkD,OACrD0+B,EAAS,uBAAwB,CAAE7O,KAAM9e,EAAAA,GAAAA,WAE7C8wB,gBAAgB,OAAEpD,EAAF,MAAU56B,IACtBA,EAAMq6B,sBAAsBnF,kBAAkB,GAC9C0F,EAAO,cAAe,CAAER,SAAU,QAEtC6D,sBAAsB,MAAEj+B,EAAF,OAAS46B,EAAT,SAAiBC,IAAY,KAAE7O,IACjD4O,EAAO,oBAAqB,CAAE5O,KAAAA,IAE1BA,IAAS9e,EAAAA,GAAAA,MACT2tB,EAAS,mBAAoB,CAAEpB,WAAY,KAGnDyE,oBAAoB,MAAEl+B,EAAF,OAAS46B,IAAU,MAAEnE,IACjCz2B,EAAMq6B,wBACNr6B,EAAMq6B,sBAAsB7D,uBAA2B,OAALC,QAAK,IAALA,OAAA,EAAAA,EAAOx9B,SAAU,MAEnE2hC,EAAO,eAAgB,CAAEvH,UAAWrzB,EAAMq6B,sBAAsBhH,aAEpEuH,EAAO,kBAAmB,CAAEnE,MAAAA,KAEhC0H,kBAAkB,SAAEtD,EAAF,MAAY76B,IAAS,YAAE+9B,EAAF,QAAeH,EAAf,kBAAwBC,IAC3D,MAAM5kC,EAAS+G,EAAMq6B,sBAAsB/E,kCAEvCr8B,EAAO7B,OAASgM,EAAAA,GAAAA,SAChBy3B,EAAS,cAAe,CACpB5hC,OAAAA,EACA8kC,YAAAA,IAIJlD,EAAS,WAAY,CACjB+C,QAAAA,EACAC,kBAAAA,EACAF,QAAQ,KAKpBS,cAAc,OAAExD,EAAF,SAAUC,EAAV,MAAoB76B,IAAS,OACvC/G,EADuC,UAEvC+hC,EAFuC,gBAGvCC,EAHuC,SAIvCH,EAJuC,eAKvCI,EALuC,cAMvCC,IAEAN,EAAS,YAAa,CAAE5hC,OAAAA,IACnBuyB,MAAK,KACE2P,GACAN,EAAS,mBAAoB,CAAEG,UAAAA,EAAWC,gBAAAA,EAAiBH,SAAAA,IAG3DI,GACAL,EAAS,2BAA4B,CAAEG,UAAAA,EAAWF,SAAAA,EAAUG,gBAAAA,IAG3Dj7B,EAAM+5B,WACP/5B,EAAMq6B,sBAAsBvD,eACxB92B,EAAMq6B,sBAAsBvH,YAC5B9yB,EAAMq6B,sBAAsBphC,OAAOkD,WAKvD2tB,WAAW,MAAE9pB,EAAF,OAAS46B,IAAU,OAAE3hC,IAC5B+G,EAAMq6B,sBAAsBvQ,UAAU7wB,GACtC2hC,EAAO,YAAa,CAAE3hC,OAAAA,IACtB2hC,EAAO,eAAgB,CAAEtG,UAAWt0B,EAAMq6B,sBAAsB/F,YAChEsG,EAAO,eAAgB,CAAEvH,UAAWrzB,EAAMq6B,sBAAsBhH,aAGpEgL,4BAA4B,MAAEr+B,EAAF,OAAS46B,IAAU,SAC3C/2B,EAD2C,WAE3C0uB,IAEAqI,EAAO,2BAA4B,CAC/BP,sBAAuB,IAAI/H,EAAsB,CAC7CzuB,SAAAA,EACA0uB,WAAAA,QAKhB+L,UAAY,CACRxU,UAAW9pB,GAAO,OAAE/G,IAChB+G,EAAM/G,OAASA,GAEnBslC,aAAcv+B,GAAO,UAAEs0B,IACnBt0B,EAAMs0B,UAAYA,GAEtBkK,YAAax+B,GAAO,SAAEo6B,IAClBp6B,EAAMo6B,SAAWA,GAErB9D,UAAWt2B,GAAO,OAAEsvB,IAChBtvB,EAAMsvB,OAASA,GAEnBmP,kBAAmBz+B,GAAO,KAAEgsB,IACxBhsB,EAAMm6B,eAAiBnO,GAE3B0S,YAAa1+B,GAAO,kBAAE45B,IAClB55B,EAAM45B,kBAAoBA,GAE9B+E,iBAAkB3+B,GAAO,cAAEu5B,IACvBv5B,EAAMu5B,cAAgBA,GAE1BqF,yBAA0B5+B,GAAO,wBAAE65B,IAC/B75B,EAAM65B,wBAA0BA,GAEpCgF,gBAAiB7+B,GAAO,MAAEy2B,IACtBz2B,EAAMs5B,aAAe7C,GAEzBqI,2BAA4B9+B,GAAO,MAAEq9B,IACjCr9B,EAAMk6B,wBAA0BmD,GAEpC0B,2BAA4B/+B,GAAO,uBAAE25B,IACjC35B,EAAM25B,uBAAyBA,GAEnCqF,kBAAmBh/B,GAAO,iBAAE05B,IACxB15B,EAAM05B,iBAAmBA,GAE7BuF,6BAA8Bj/B,GAAO,0BAAE8b,IACnC9b,EAAM8b,0BAA4BA,GAEtCojB,eAAgBl/B,GAAO,YAAE63B,IACrB73B,EAAM63B,YAAcA,GAExBsH,sBAAuBn/B,GAAO,YAAE63B,IAC5B73B,EAAMw5B,mBAAqB3B,GAE/BuH,uBAAwBp/B,GAAO,sBAAE85B,IAC7B95B,EAAM85B,sBAAwBA,GAElCuF,cAAer/B,GAAO,WAAEy5B,IACpBz5B,EAAMy5B,WAAaA,GAEvB6F,gBAAiBt/B,GAAO,UAAE+5B,IACtB/5B,EAAM+5B,UAAYA,GAEtBwF,gBAAiBv/B,GAAO,UAAEg6B,IACtBh6B,EAAMg6B,UAAYA,GAEtBwF,aAAcx/B,GAAO,UAAEqzB,IACnBrzB,EAAMqzB,UAAYA,GAEtBoM,yBAA0Bz/B,GAAO,sBAAEq6B,IAC/Br6B,EAAMq6B,sBAAwBA,K,UC3iB1C,GACIhB,YAAY,EACZr5B,MAAY,CACR6c,KAAQ,KACR6iB,OAAQ,GAERC,iBAAoB,EACpBC,oBAAoB,EACpBC,mBAAoB,EACpBC,kBAAoB,EACpBC,eAAoB,GAExBzF,QAAY,CACR3W,SAAoB3jB,IAChB,IAAIpH,EAAO,KAIX,OAHIoH,EAAM6c,OACNjkB,EAAOoH,EAAM6c,KAAK9I,UAEfnb,GAEXonC,eAAoBhgC,GAAUA,EAAM6c,MAAQ7c,EAAM6c,KAAKojB,iBAAmBr0B,EAAAA,GAAAA,MAC1EqS,kBAAoBje,GAAUA,EAAM6c,MAA0C,IAAjC7c,EAAM6c,KAAKqjB,oBAA4BlgC,EAAM6c,KAAKsE,QAC/Fgf,UAAoBngC,IAAD,oBAAWA,QAAX,IAAWA,GAAX,UAAWA,EAAO6c,YAAlB,aAAW,EAAasjB,YAE/C7B,UAAY,CACR8B,QAASpgC,GAAO,KAAE6c,IACd7c,EAAM6c,KAAOA,GAAO,kBACbA,GADU,IAEbojB,eAAgBpjB,EAAKsE,QAAUvV,EAAAA,GAAAA,MAA8BA,EAAAA,GAAAA,OAC7DiR,GAERwjB,UAAWrgC,GAAO,OAAE0/B,IAChB1/B,EAAM0/B,OAASA,IAGvBhF,QAAY,CACR4F,WAAW,OAAE1F,EAAF,MAAU56B,IACbA,EAAM6c,OAIV7c,EAAM6/B,mBAAoB,EAE1BtU,EAAAA,EAAAA,IACShlB,EAAAA,IACJilB,MAAMC,IACHmP,EAAO,UAAW,CAAE/d,KAAM4O,EAAI7mB,UAEjCw3B,SAAQ,KACLp8B,EAAM6/B,mBAAoB,OAGtCU,UAAU,OAAE3F,EAAF,MAAU56B,EAAV,SAAiB66B,IAAY,MAAE2F,EAAF,MAAS74B,EAAT,SAAgB84B,EAAhB,SAA0BC,EAA1B,YAAoCC,EAApC,SAAiD5sB,IACpF/T,EAAM2/B,iBAAkB,EAExBpU,EAAAA,EAAAA,MACWhlB,EAAAA,GAAU,CACbi6B,MAAAA,EACAC,SAAAA,EACAE,YAAAA,EACA5sB,SAAAA,EACA2sB,SAAAA,EACAzpC,KAAM0Q,IAET6jB,MAAK,KACF,MAAMoV,GAAc,kBACb5gC,EAAM6c,MADI,IAEbsE,QAAUnhB,EAAM6c,KAAKojB,iBAAmBr0B,EAAAA,GAAAA,MACxCi1B,SAAmD,IAAzChI,OAAO74B,EAAM6c,KAAKqjB,oBACrBlgC,EAAM6c,KAAKojB,iBAAmBr0B,EAAAA,GAAAA,OAGzCgvB,EAAO,UAAW,CACd/d,MAAM,kBAAK+jB,GAAP,IAAoB3pC,KAAM0Q,EAAO64B,MAAAA,EAAOzsB,SAAAA,EAAU2sB,SAAAA,MAE1D9F,EACI,YACA,CAAE3jC,KAAMyX,EAAAA,IACR,CAAEoyB,MAAM,IAGRL,GAAYE,GACZ9F,EAAS,kBAAmB,CAAElzB,MAAAA,EAAO84B,SAAAA,OAG5CrE,SAAQ,KACLlZ,YAAW,KACPljB,EAAM2/B,iBAAkB,IACzB,SAGfoB,cAAc,OAAEnG,EAAF,MAAU56B,IAAS,SAAE+T,IAC/B6mB,EAAO,UAAW,CAAE/d,MAAM,kBAAK7c,EAAM6c,MAAb,IAAmB9I,SAAAA,MAE3CwX,EAAAA,EAAAA,MACWhlB,EAAAA,GAAU,CAAEwN,SAAAA,EAAUysB,MAAOxgC,EAAM6c,KAAK2jB,MAAOvpC,KAAM+I,EAAM6c,KAAK5lB,QAE/E+pC,iBAAiB,SAAEnG,IAAY,SAAE4F,EAAF,MAAY94B,IACvC,MAAMs5B,EAAc,CAChBR,SAAAA,EACAxpC,KAAM0Q,GAGVkzB,EAAS,OAAQ,CAAEoG,YAAAA,GAAe,CAAEH,MAAM,KAE9CI,WAAW,OAAEtG,IACTA,EAAO,UAAW,CAAE/d,KAAM,QAE9BskB,aAAa,OAAEvG,IACXrP,EAAAA,EAAAA,IACS9kB,EAAAA,IACJ+kB,MAAMC,IACHmP,EAAO,YAAa,CAAE8E,OAAQjU,EAAI7mB,UAErCw3B,WAETgF,aAAa,MAAEphC,EAAF,OAAS46B,IAAU,WAAEyG,EAAF,KAAcpqC,IAG1C,OAFA+I,EAAM+/B,eAAgB,EAEfxU,EAAAA,EAAAA,KACG7kB,EAAAA,GAAmB,CAAE26B,WAAAA,EAAYpqC,KAAAA,IACtCu0B,MAAMC,IACHmP,EAAO,YAAa,CAAE8E,OAAQ,CAACjU,EAAI7mB,QAAS5E,EAAM0/B,UAC3CjU,EAAI7mB,QAEdw3B,SAAQ,KACLp8B,EAAM+/B,eAAgB,MAGlCuB,aAAa,MAAEthC,IAAS,QAAEgI,IACtBhI,EAAMuhC,iBAAkB,EAExBhW,EAAAA,EAAAA,WACYxjB,EAAAA,EAAAA,IAAeC,KAE/Bw5B,gBACI,OAAOjW,EAAAA,EAAAA,IACExlB,EAAAA,IACJylB,MAAMC,GACIA,EAAI7mB,UChI/B,MAAQw0B,YAAWA,GAAKn1B,IAIxB,OACIo1B,YAAY,EACZr5B,MAAY,CACRy2B,MAAwB,KACxBgL,YAAwB,KACxBp9B,OAAwB,KACxBq9B,MAAwB,KACxBC,KAAwB,KACxBC,YAAwB,KACxBC,YAAwB,EACxBC,YAAwB,KACxBC,uBAAwB,GAExBC,iBAAuB,EACvBC,cAAuB,EACvBC,gBAAuB,EACvBC,gBAAuB,EACvBC,kBAAuB,EACvBC,iBAAuB,EACvBC,gBAAuB,EACvBC,oBAAuB,EACvBC,uBAAuB,EAEvBC,kBAAmB,KACnBC,kBAAmB,MAEvBpE,UAAY,CACRqE,SAAU3iC,GAAO,MAAE0hC,IACf1hC,EAAM0hC,MAAQA,GAElBkB,YAAa5iC,GAAO,WAAE6hC,IAClB7hC,EAAM6hC,WAAaA,GAEvBgB,eAAgB7iC,GAAO,KAAE6c,IACrB7c,EAAM4hC,aAAN,kBACO/kB,GADP,IAEIojB,eAAgBpjB,EAAKsE,QAAUvV,EAAAA,GAAAA,MAA8BA,EAAAA,GAAAA,QAGrEk3B,SAAU9iC,GAAO,MAAEy2B,IACfz2B,EAAMy2B,MAAQA,GAElBsM,UAAW/iC,GAAO,OAAEqE,IAChBrE,EAAMqE,OAASA,GAEnB2+B,eAAgBhjC,GAAO,YAAEyhC,IACrBzhC,EAAMyhC,YAAcA,GAExBwB,eAAgBjjC,GAAO,YAAE8hC,IACrB9hC,EAAM8hC,YAAcA,GAExBoB,QAASljC,GAAO,KAAE2hC,IACd3hC,EAAM2hC,KAAOA,GAEjBwB,qBAAsBnjC,GAAO,MAAEq9B,IAC3Br9B,EAAMyiC,kBAAoBpF,GAE9B+F,uBAAwBpjC,GACpBw9B,aAAax9B,EAAMyiC,oBAEvBY,qBAAsBrjC,GAAO,OAAEu8B,IAC3Bv8B,EAAM0iC,kBAAoBnG,GAE9B+G,0BAA2BtjC,GAAO,YAAEujC,IAChCvjC,EAAM+hC,uBAAyBwB,GAEnCC,kBAAmBxjC,GACfA,EAAM4hC,YAAc,OAG5BlH,QAAY,CACR+I,YAAY,OAAE7I,EAAF,MAAU56B,IAClBA,EAAMgiC,iBAAkB,EAExBzW,EAAAA,EAAAA,IACS/kB,EAAAA,GAAW,IACfglB,MAAMC,IACHmP,EAAO,WAAY,CAAE8G,MAAOjW,EAAI7mB,UAEnCw3B,SAAQ,KACLp8B,EAAMgiC,iBAAkB,MAGpC1B,WAAW,OAAE1F,EAAF,MAAU56B,IAAS,MAAE2H,IAC5B3H,EAAMkiC,gBAAiB,EAEvB3W,EAAAA,EAAAA,IACU,GAAEhlB,EAAAA,MAAYoB,KACnB6jB,MAAMC,IACHmP,EAAO,iBAAkB,CAAE/d,KAAM4O,EAAI7mB,UAExCw3B,SAAQ,KACLp8B,EAAMkiC,gBAAiB,MAGnCwB,SAAS,SAAE7I,IAAY,KAAEhe,IACrBge,EAAS,WAAY,CAAEhe,KAAAA,EAAM8mB,UAAU,KAE3CpD,UAAU,OAAE3F,EAAF,MAAU56B,IAAS,KAAE6c,EAAF,SAAQ8mB,IACjC,MAAMpU,EAAeoU,EAAWp9B,EAAAA,GAAY,GAAEA,EAAAA,MAAYsW,EAAK5lB,OAC/D+I,EAAMiiC,cAAe,EAErB,MAAMrB,GAAc,kBACb/jB,GADU,IAEbsE,QAAmBtE,EAAKojB,iBAAmBr0B,EAAAA,GAAAA,MAC3Cs0B,kBAA8C,KAA3BrjB,EAAKqjB,mBACjB,EAAIrH,OAAOhc,EAAKqjB,qBAG3B3U,EAAAA,EAAAA,KACUgE,EAAKqR,GACVpV,MAAMC,IACHmP,EAAO,iBAAkB,CAAE/d,KAAM4O,EAAI7mB,OAErCg2B,EACI,YACA,CAAE3jC,KAAM0X,EAAAA,IACR,CAAEmyB,MAAM,IAGZlG,EAAO,cAAe,CAAEiH,YAAY,OAEvCzF,SAAQ,KACLp8B,EAAMiiC,cAAe,MAGjC2B,mBAAmB,OAAEhJ,EAAF,MAAU56B,EAAV,SAAiB66B,IAAY,MAAElzB,IAC9C,IAAIkV,EAAO7c,EAAM4hC,aAAe,KAE5B5hC,EAAM0hC,OACN1hC,EAAM0hC,MAAMhR,MAAMC,IACVA,EAAK15B,OAAS0Q,IACdkV,EAAO8T,GAGJA,EAAK15B,OAAS0Q,KAIzBkV,EACA+d,EAAO,iBAAkB,CAAE/d,KAAAA,IAG3Bge,EAAS,YAAa,CAAElzB,MAAAA,KAGhCk8B,YAAY,SAAEhJ,EAAF,MAAY76B,IAAS,MAAE2H,IAG/B,OAFA3H,EAAMmiC,gBAAiB,EAEhB5W,EAAAA,EAAAA,UACM,GAAEhlB,EAAAA,MAAYoB,KACtB6jB,MAAK,KACFqP,EAAS,iBAEZuB,SAAQ,KACLp8B,EAAMmiC,gBAAiB,MAGnC2B,kBAAkB,OAAElJ,EAAF,MAAU56B,IAAS,MAAE2H,EAAF,OAASo8B,IAC1C,MAAMxU,EAAMwU,IAAW32B,EAAAA,GAAAA,SACjB1F,EAAAA,EAAAA,IAAgBC,IAASE,EAAAA,EAAAA,IAAkBF,GAEjD,OAAO4jB,EAAAA,EAAAA,KACGgE,EAAK,CAAEt4B,KAAM0Q,IAClB6jB,MAAK,KACFoP,EAAO,iBAAkB,CACrB/d,MAAM,kBAAK7c,EAAM4hC,aAAb,IAA0B5hC,MAAO+jC,MAGzCnJ,EACI,YACA,CAAE3jC,KAAM8sC,IAAW32B,EAAAA,GAAAA,QAAwBwB,EAAAA,GAAsBC,EAAAA,IACjE,CAAEiyB,MAAM,QAIxBkD,kBAAkB,OAAEpJ,IAChBA,EAAO,qBACPA,EAAO,4BAA6B,CAAE2I,YAAa,MAGvDU,YAAY,OAAErJ,EAAF,MAAU56B,IAClBA,EAAMqiC,iBAAkB,EAExB9W,EAAAA,EAAAA,IACS3kB,EAAAA,GAAW,IACf4kB,MAAMC,IACHmP,EAAO,WAAY,CAAEnE,MAAOhL,EAAI7mB,UAEnCw3B,SAAQ,KACLp8B,EAAMqiC,iBAAkB,MAGpC6B,aAAa,OAAEtJ,EAAF,MAAU56B,IACnBA,EAAMoiC,kBAAmB,EAEzB7W,EAAAA,EAAAA,IACS1kB,EAAAA,GAAY,IAChB2kB,MAAMC,IACHmP,EAAO,YAAa,CAAEv2B,OAAQonB,EAAI7mB,UAErCw3B,SAAQ,KACLp8B,EAAMoiC,kBAAmB,MAGrC+B,kBAAkB,MAAEnkC,EAAF,OAAS46B,IACvB56B,EAAMokC,uBAAwB,EAE9B7Y,EAAAA,EAAAA,IACS5kB,EAAAA,GAAkB,IACtB6kB,MAAMC,IACHmP,EAAO,iBAAkB,CAAE6G,YAAahW,EAAI7mB,UAE/Cw3B,SAAQ,KACLp8B,EAAMokC,uBAAwB,MAG1CC,WAAW,MAAErkC,EAAF,OAAS46B,IACZ56B,EAAM0iC,mBACN1iC,EAAM0iC,kBAAkB,YAG5BnX,EAAAA,EAAAA,IACSnlB,EAAAA,GAAkB,CACnBk2B,YAAa,IAAIlD,GAAamD,IAC1B3B,EAAO,uBAAwB,CAAE2B,OAAAA,SAGxC/Q,MAAMC,IACHmP,EAAO,UAAW,CAAE+G,KAAMlW,EAAI7mB,UAEjCw3B,SAAQ,KACLp8B,EAAMsiC,gBAAiB,MAGnCgC,iBAAiB,MAAEtkC,EAAF,OAAS46B,EAAT,SAAiBC,IAC9B76B,EAAMsiC,gBAAiB,EAEvBzH,EAAS,aAET,IAAIwC,EAAQna,YAAW,SAASoa,IAC5BzC,EAAS,aAETwC,EAAQna,WAAWoa,EAAM,KACzB1C,EAAO,uBAAwB,CAAEyC,MAAAA,MAClC,KAEHzC,EAAO,uBAAwB,CAAEyC,MAAAA,KAErCkH,gBAAgB,OAAE3J,EAAF,MAAU56B,IACtB46B,EAAO,0BAEH56B,EAAM0iC,mBACN1iC,EAAM0iC,kBAAkB,aAGhC8B,mBAAmB,OAAE5J,IAAU,QAAElf,IAC7BzX,IAAAA,IACSgD,EAAAA,GAAmB,CAAE8Y,OAAQ,CAAE0kB,EAAGC,UAAUhpB,MAChD8P,MAAMC,IACHmP,EAAO,iBAAkB,CAAEkH,YAAarW,EAAI7mB,WAIxD+/B,sBAAsB,OAAE/J,EAAF,MAAU56B,IAAS,MAAE2H,IACvC3H,EAAMwiC,uBAAwB,EAE9BjX,EAAAA,EAAAA,KACS3jB,EAAAA,EAAAA,IAAsBD,IAC1B6jB,MAAMC,IACHmP,EAAO,4BAA6B,CAAE2I,YAAa9X,EAAI7mB,MAAQ,QAElEw3B,SAAQ,KACLp8B,EAAMwiC,uBAAwB,MAG1CoC,uBAAuB,OAAEhK,EAAF,MAAU56B,IAAS,YAAEujC,EAAF,MAAe57B,IACrD3H,EAAMuiC,oBAAqB,EAE3BhX,EAAAA,EAAAA,MACU3jB,EAAAA,EAAAA,IAAsBD,GAAQ47B,EAAa,CAAEsB,QAAS,MAC3DrZ,MAAMC,IACHmP,EAAO,4BAA6B,CAAE2I,YAAa9X,EAAI7mB,UAE1Dw3B,SAAQ,KACLp8B,EAAMuiC,oBAAqB,QCvS/C,MAAQnJ,YAAWA,GAAKn1B,IAGxB,QACIo1B,YAAY,EACZr5B,MAAY,CAER8kC,iBAAiB,EAEjBC,0BAA2B,KAC3BC,wBAA2B,KAE3BvC,kBAAmB,KACnBC,kBAAmB,KAInBuC,iBAAkB,GAClBC,iBAAkB,GAGlBC,cAAyB,KACzBC,yBAAyB,EACzBC,sBAAyB,EACzBC,iBAAyB,EACzBhD,gBAAyB,EAEzBiD,yBAA0B,GAC1BC,kBAA0B,KAE1BjD,oBAA6B,EAC7BkD,6BAA6B,GAEjCnH,UAAY,CAIRoH,gBAAiB1lC,EAAOqnB,GACpBrnB,EAAMmlC,cAAc1gC,OAAS4iB,GAEjCse,iBAAkB3lC,EAAOqnB,GACrBrnB,EAAMmlC,cAAcS,cAAgBve,GAExCwe,UAAW7lC,GAAO,OAAEiiB,IAChBjiB,EAAMmlC,eAAN,kBAA2BnlC,EAAMmlC,eAAkBljB,IAEvD6jB,oBAAqB9lC,GACjBA,EAAMmlC,cAA2B,KACjCnlC,EAAMulC,yBAA2B,KACjCvlC,EAAMwlC,kBAA2B,MAErCO,uBAAwB/lC,GAAO,UAAEmH,EAAF,YAAa6+B,IACxC,MAAMf,EAAwBntB,KAAKC,MAAMD,KAAKE,UAAUhY,EAAMilC,mBAC9DA,EAAiB99B,GAAa6+B,EAC9BhmC,EAAMilC,iBAAwBA,GAElCgB,uBAAwBjmC,GAAO,UAAEmH,EAAF,YAAa6+B,IACxC,MAAMd,EAAwBptB,KAAKC,MAAMD,KAAKE,UAAUhY,EAAMklC,mBAC9DA,EAAiB/9B,GAAa6+B,EAC9BhmC,EAAMklC,iBAAwBA,GAElCgB,sBAAuBlmC,GAAO,gBAAEslC,IAC5BtlC,EAAMslC,gBAAkBA,GAE5Ba,4BAA6BnmC,GAAO,YAAEujC,IAClCvjC,EAAMulC,yBAA2BhC,GAErC6C,2BAA4BpmC,GAAO,OAAEu8B,IACjCv8B,EAAMglC,wBAA0BzI,GAEpC8J,uBAAwBrmC,GAAO,MAAEq9B,IAC7Br9B,EAAM+kC,0BAA4B1H,GAEtCiJ,+BAAgCtmC,GAC5Bw9B,aAAax9B,EAAM+kC,4BAEvB7B,QAASljC,GAAO,KAAE2hC,IACd3hC,EAAMwlC,kBAAoB7D,GAE9BwB,qBAAsBnjC,GAAO,MAAEq9B,IAC3Br9B,EAAMyiC,kBAAoBpF,GAE9B+F,uBAAwBpjC,GACpBw9B,aAAax9B,EAAMyiC,oBAEvBY,qBAAsBrjC,GAAO,OAAEu8B,IAC3Bv8B,EAAM0iC,kBAAoBnG,IAGlCjC,QAAY,CACRW,gBAAkBj7B,IAAD,gBAAY,UAACA,EAAMmlC,qBAAP,iBAAC,EAAqBoB,eAAtB,QAAC,EAA8BC,WAC5Dt+B,eAAkBlI,IAAD,uBAAWA,EAAMmlC,qBAAjB,aAAW,EAAqBsB,KAAKC,WAE1DhM,QAAY,CAERiM,kBAAkB,OAAE/L,EAAF,MAAU56B,GAASqnB,GACjC,IAAIuf,EAAoB,KAcxB,OAbA5mC,EAAM8kC,iBAAkB,QAElBvZ,EAAAA,EAAAA,KACIhmB,EAAAA,GAAmB8hB,EAAS,CAAEwd,QAAS,OAC5CrZ,MAAMC,IACHmP,EAAO,cAAe,CAAE3jC,KAAMmR,EAAAA,IAAqB,CAAE04B,MAAM,IAE3D8F,EAAMnb,EAAI7mB,KAAKgiC,OAElBxK,SAAQ,KACLp8B,EAAM8kC,iBAAkB,KAGzB8B,GAGXC,aAAa,OAAEjM,IAAU,UAAEzzB,IACvByzB,EAAO,yBAA0B,CAAEzzB,UAAAA,EAAW6+B,aAAa,IAE3Dza,EAAAA,EAAAA,KACW,GAAE5lB,EAAAA,MAAoBwB,KAC5BqkB,MAAMC,IACHmP,EAAO,kBAAmBnP,EAAI7mB,KAAKH,WAEtC23B,SAAQ,KACLxB,EAAO,yBAA0B,CAAEzzB,UAAAA,EAAW6+B,aAAa,QAGvEc,cAAc,OAAElM,IAAU,UAAEzzB,IACxByzB,EAAO,yBAA0B,CAAEzzB,UAAAA,EAAW6+B,aAAa,IAE3Dza,EAAAA,EAAAA,KACW,GAAE3lB,EAAAA,MAAqBuB,KAC7BqkB,MAAMC,IACHmP,EAAO,kBAAmBnP,EAAI7mB,KAAKH,WAEtC23B,SAAQ,KACLxB,EAAO,yBAA0B,CAAEzzB,UAAAA,EAAW6+B,aAAa,QAGvEe,cAAc,OAAEnM,IAAU,UAAEzzB,IACxByzB,EAAO,yBAA0B,CAAEzzB,UAAAA,EAAW6+B,aAAa,IAE3Dza,EAAAA,EAAAA,UACa,GAAE7lB,EAAAA,MAAqByB,IAAa,CACzC4Y,OAAQ,CAAEinB,OAAO,KAEpBxb,MAAK,KACFoP,EAAO,wBAAyB,CAAE0K,iBAAiB,OAEtDlJ,SAAQ,KACLxB,EAAO,yBAA0B,CAAEzzB,UAAAA,EAAW6+B,aAAa,QAGvEiB,YAAY,OAAErM,EAAF,MAAU56B,EAAV,SAAiB66B,GAAY5Y,GACrCjiB,EAAM8kC,iBAAkB,EAExBvZ,EAAAA,EAAAA,IACU,GAAE/lB,EAAAA,MAAuByc,EAAO2kB,MAAO3kB,GAC5CuJ,MAAMC,IACHmP,EAAO,YAAa,CAAE3Y,OAAQwJ,EAAI7mB,OAClCi2B,EAAS,wBAAyB,CAAE5Y,OAAQwJ,EAAI7mB,OAChDg2B,EAAO,YAAa,CAAE3jC,KAAM6X,EAAAA,IAA4B,CAAEgyB,MAAM,OAEnE1E,SAAQ,KACLp8B,EAAM8kC,iBAAkB,MAGpCoC,uBAAuB,OAAEtM,EAAF,UAAUuM,IAAa,OAAEllB,IAC5C,MAAM+K,EAAUma,EAAUna,QAAQoa,KAAKC,IAC/BA,EAAWT,MAAQ3kB,EAAO2kB,KAC1B5rB,OAAOC,KAAKgH,GAAQ/G,SAASjhB,IACzBotC,EAAWptC,GAAOgoB,EAAOhoB,MAG1BotC,KAEXzM,EAAO,aAAc,CAAE5N,QAAAA,GAAW,CAAE8T,MAAM,KAE9C6F,kBAAmB5hC,GAAO,UAAEuiC,EAAF,SAAaxM,IACnC,OAAO72B,IAAAA,IACE4B,EAAAA,GAAkB,CAAEka,OAAQ,CAAEwP,IAAK+X,EAAWC,UAAWzM,GAAY+J,QAAS,MAClFrZ,MAAMC,GAAQA,EAAI7mB,QAE3B+hC,oBAAqB5hC,GAAO,UAAEuiC,EAAF,SAAaxM,IACrC,OAAO72B,IAAAA,IACE6B,EAAAA,GAAoB,CAAEia,OAAQ,CAAEwP,IAAK+X,EAAWC,UAAWzM,GAAY+J,QAAS,MACpFrZ,MAAMC,GAAQA,EAAI7mB,QAG3B4iC,yBAAyB,OAAE5M,EAAF,SAAUC,IAAY,UAAE1zB,EAAF,SAAasgC,IACxD5M,EAAS,oBAAqB,CAAE1zB,UAAAA,EAAWsgC,SAAAA,IAE3C,IAAIpK,EAAQna,YAAW,SAASoa,IAC5BzC,EAAS,oBAAqB,CAAE1zB,UAAAA,EAAWsgC,SAAAA,IAE3CpK,EAAQna,WAAWoa,EAAM,KACzB1C,EAAO,yBAA0B,CAAEyC,MAAAA,MACpC,KAEHzC,EAAO,yBAA0B,CAAEyC,MAAAA,KAEvCqK,mBAAmB,OAAE9M,EAAF,MAAU56B,IACzB46B,EAAO,kCACH56B,EAAMglC,yBACNhlC,EAAMglC,wBAAwB,aAGtC2C,YAAa5iC,GAAO,UAAEoC,IAClB,OAAOokB,EAAAA,EAAAA,KACEzjB,EAAAA,EAAAA,IAAkBX,IACtBqkB,MAAMC,GAAQA,EAAI7mB,QAE3BgjC,uBAAwB7iC,GAAO,UAAEoC,IAC7B,OAAOokB,EAAAA,EAAAA,WACKzjB,EAAAA,EAAAA,IAAkBX,IACzBqkB,MAAMC,GAAQA,EAAI7mB,QAI3BijC,aAAa,OAAEjN,EAAF,MAAU56B,EAAV,QAAiBs6B,IAAW,UAAEnzB,EAAF,SAAasgC,IAClDznC,EAAMolC,yBAA0B,EAEhC7Z,EAAAA,EAAAA,KACStjB,EAAAA,EAAAA,IAAiBd,EAAWmzB,EAAQpyB,gBAAkBu/B,IAC1Djc,MAAMC,IACHmP,EAAO,YAAa,CAAE3Y,OAAQwJ,EAAI7mB,UAErCw3B,SAAQ,KACLp8B,EAAMolC,yBAA0B,MAG5C0C,mBAAmB,OAAElN,EAAF,MAAU56B,EAAV,QAAiBs6B,IAAW,UAAEnzB,EAAF,SAAasgC,IACpDznC,EAAMglC,yBACNhlC,EAAMglC,wBAAwB,YAG9BhlC,EAAMmlC,eACN5Z,EAAAA,EAAAA,KACStjB,EAAAA,EAAAA,IAAiBd,EAAWmzB,EAAQpyB,gBAAkBu/B,GAAW,CAClEnL,YAAa,IAAIlD,GAAamD,IAC1B3B,EAAO,6BAA8B,CAAE2B,OAAAA,SAG9C/Q,MAAMC,IACHmP,EAAO,kBAAmBnP,EAAI7mB,KAAKH,QACnCm2B,EAAO,mBAAoBnP,EAAI7mB,KAAKghC,mBAIpDmC,iBAAiB,OAAEnN,EAAF,MAAU56B,EAAV,QAAiBs6B,IAAW,UAAEnzB,EAAF,SAAasgC,IACtDznC,EAAMqlC,sBAAuB,EAEzBrlC,EAAMglC,yBACNhlC,EAAMglC,wBAAwB,YAGlCzZ,EAAAA,EAAAA,KACStjB,EAAAA,EAAAA,IAAiBd,EAAWmzB,EAAQpyB,gBAAkBu/B,GAAW,CAClEnL,YAAa,IAAIlD,GAAamD,IAC1B3B,EAAO,6BAA8B,CAAE2B,OAAAA,SAG9C/Q,MAAMC,IACHmP,EAAO,YAAa,CAAE3Y,OAAQwJ,EAAI7mB,OAClC5E,EAAMqlC,sBAAuB,KAEhC3Z,OAAM,KACH1rB,EAAMqlC,sBAAuB,MAGzChB,WAAW,MAAErkC,EAAF,OAAS46B,IAAU,IAAEgM,IACxB5mC,EAAM0iC,mBACN1iC,EAAM0iC,kBAAkB,YAG5BnX,EAAAA,EAAAA,KACS9jB,EAAAA,EAAAA,IAAiBm/B,GAAM,CACxBtK,YAAa,IAAIlD,GAAamD,IAC1B3B,EAAO,uBAAwB,CAAE2B,OAAAA,SAGxC/Q,MAAMC,IACHmP,EAAO,UAAW,CAAE+G,KAAMlW,EAAI7mB,UAEjCw3B,SAAQ,KACLp8B,EAAMsiC,gBAAiB,MAGnCgC,iBAAiB,MAAEtkC,EAAF,OAAS46B,EAAT,SAAiBC,IAAY,IAAE+L,IAC5C5mC,EAAMsiC,gBAAiB,EAEvBzH,EAAS,YAAa,CAAE+L,IAAAA,IAExB,IAAIvJ,EAAQna,YAAW,SAASoa,IAC5BzC,EAAS,YAAa,CAAE+L,IAAAA,IAExBvJ,EAAQna,WAAWoa,EAAM,KACzB1C,EAAO,uBAAwB,CAAEyC,MAAAA,MAClC,KAEHzC,EAAO,uBAAwB,CAAEyC,MAAAA,KAErCkH,gBAAgB,OAAE3J,EAAF,MAAU56B,IACtB46B,EAAO,0BAEH56B,EAAM0iC,mBACN1iC,EAAM0iC,kBAAkB,aAGhCsF,qBAAqB,SAAEnN,IAAY,UAAE1zB,EAAF,SAAasgC,IAC5C5M,EAAS,cAAe,CAAE1zB,UAAAA,EAAWsgC,SAAAA,KAEzCQ,oBAAoB,OAAErN,IAClBA,EAAO,wBAEXsN,wBAAwB,OAAEtN,EAAF,MAAU56B,IAAS,UAAEmH,IACzCnH,EAAMylC,6BAA8B,EAEpCla,EAAAA,EAAAA,KACS/jB,EAAAA,EAAAA,IAAwBL,IAC5BqkB,MAAMC,IACHmP,EAAO,8BAA+B,CAAE2I,YAAa9X,EAAI7mB,UAE5Dw3B,SAAQ,KACLp8B,EAAMylC,6BAA8B,MAGhD0C,mBAAmB,OAAEvN,EAAF,MAAU56B,IAAS,YAAEujC,EAAF,UAAep8B,IACjDnH,EAAMuiC,oBAAqB,EAE3BhX,EAAAA,EAAAA,MACU/jB,EAAAA,EAAAA,IAAwBL,GAAYo8B,GACzC/X,MAAMC,IACHmP,EAAO,8BAA+B,CAAE2I,YAAa9X,EAAI7mB,UAE5Dw3B,SAAQ,KACLp8B,EAAMuiC,oBAAqB,QC3V/C,IACIlJ,YAAY,EACZr5B,MAAY,CACRyjB,QAAmB,KACnB2kB,mBAAmB,GAEvB9J,UAAY,CACR+J,WAAYroC,GAAO,QAAEyjB,IACjBzjB,EAAMyjB,QAAUA,IAGxBiX,QAAY,CACR4N,cAAc,OAAE1N,EAAF,MAAU56B,IACpBA,EAAMooC,mBAAoB,EAE1B7c,EAAAA,EAAAA,IACSplB,EAAAA,IACJqlB,MAAMC,IACHmP,EAAO,aAAc,CAAEnX,QAASgI,EAAI7mB,UAEvCw3B,SAAQ,KACLp8B,EAAMooC,mBAAoB,MAGtCzB,kBAAkB,MAAE3mC,EAAF,OAAS46B,IAAU,QAAEnX,IACnCzjB,EAAMuoC,iBAAkB,QAElBhd,EAAAA,EAAAA,IACGplB,EAAAA,GAAa,CAAEqb,KAAMiC,IACzB+H,MAAMC,IACHmP,EAAO,aAAc,CAAEnX,QAASgI,EAAI7mB,UAEvCw3B,SAAQ,KACLp8B,EAAMuoC,iBAAkB,QChC5C,IACIlP,YAAY,EACZr5B,MAAY,CACRwoC,QAAsB,GACtBC,cAAsB,KACtBC,sBAAsB,EACtBC,kBAAsB,EACtBC,YAAsB,EAEtBC,oBAAqB,MAEzBnO,QAAY,CACRiM,iBAAkB5hC,EAAOH,GACrB,IAAIyb,EAAS,KAQb,aANMkL,EAAAA,EAAAA,KACIxkB,EAAAA,GAAYnC,GACjB4mB,MAAMC,IACHpL,EAASoL,EAAI7mB,QAGdyb,GAEXsmB,iBAAkB5hC,GAAO,GAAE2c,EAAF,KAAM9c,IAC3B,IAAIyb,EAAS,KAQb,aANMkL,EAAAA,EAAAA,KACK,GAAExkB,EAAAA,MAAc2a,IAAM9c,GAC5B4mB,MAAMC,IACHpL,EAASoL,EAAI7mB,QAGdyb,GAEXsmB,uBAAuB,OAAE/L,EAAF,MAAU56B,IAC7BA,EAAM0oC,sBAAuB,QAEvBnd,EAAAA,EAAAA,IACGvkB,EAAAA,IACJwkB,MAAMC,IACHmP,EAAO,aAAc,CAAE4N,QAAS/c,EAAI7mB,UAEvCw3B,SAAQ,KACLp8B,EAAM0oC,sBAAuB,MAGzC/B,mBAAmB,MAAE3mC,EAAF,OAAS46B,IAAU,GAAElZ,EAAF,OAAMonB,IACxC9oC,EAAM2oC,kBAAmB,EACzB,IAAII,EAAsB,GAAEhiC,EAAAA,MAAc2a,IAM1C,OAJIonB,IACAC,GAAa,sBAGVxd,EAAAA,EAAAA,IACEwd,GACJvd,MAAMC,IACHmP,EAAO,YAAa,CAAEva,OAAQoL,EAAI7mB,OAC3B6mB,EAAI7mB,QAEdw3B,SAAQ,KACLp8B,EAAM2oC,kBAAmB,MAGrChC,oBAAoB,MAAE3mC,IAAS,GAAE0hB,IAC7B1hB,EAAMgpC,YAAa,QAEbzd,EAAAA,EAAAA,UACO,GAAExkB,EAAAA,MAAc2a,KACxB8J,OACA4Q,SAAQ,KACLp8B,EAAMgpC,YAAa,MAG/BC,mBAAmB,OAAErO,EAAF,SAAUC,IAAY,GAAEnZ,EAAF,OAAMonB,IAC3CjO,EAAS,cAAe,CAAEnZ,GAAAA,EAAIonB,OAAAA,IAE9B,IAAIzL,EAAQna,YAAW,SAASoa,IAC5BzC,EAAS,cAAe,CAAEnZ,GAAAA,EAAIonB,OAAAA,IAE9BzL,EAAQna,WAAWoa,EAAM,KACzB1C,EAAO,yBAA0B,CAAEyC,MAAAA,MACpC,KAEHzC,EAAO,yBAA0B,CAAEyC,MAAAA,KAEvC6L,aAAa,OAAEtO,EAAF,MAAU56B,IACnBw9B,aAAax9B,EAAM6oC,qBACnBjO,EAAO,yBAA0B,CAAEyC,MAAO,QAE9C8L,oBAAoB,OAAEvO,IAClBA,EAAO,YAAa,CAAEva,OAAQ,SAGtCie,UAAY,CACR8K,WAAYppC,GAAO,QAAEwoC,IACjBxoC,EAAMwoC,QAAUA,GAEpBa,UAAWrpC,GAAO,OAAEqgB,IAChBrgB,EAAMyoC,cAAgBpoB,GAE1BipB,uBAAwBtpC,GAAO,MAAEq9B,IAC7Br9B,EAAM6oC,oBAAsBxL,KC/DxCjgB,EAAAA,WAAAA,IAAQmsB,EAAAA,IAGR,WAAmBA,EAAAA,GAAAA,MAAW,CAC1BC,QAAW,CACPC,MADO,EAEPC,OAFO,EAGPC,QAHO,EAIPC,YAJO,GAKPnmB,QALO,GAMPpD,OAAMA,IAEVrgB,MAAW,CACP0b,QAAS,KACTrX,OAAS,KAGTwlC,eAAiB,EACjBC,iBAAiB,EAGjB9rB,cAAc,EACdqB,aAAc,EAGd0qB,oBAAyB,EACzBjpB,YAAyB5W,EAAAA,GAAAA,KACzBwW,UAAyBjW,EAAAA,GAAAA,SACzBu/B,SAAyB3/B,EAAAA,GAAAA,KACzB4/B,mBAAyB,EACzBC,gBAAyB,EACzBjpB,yBAAyB,EACzBkpB,gBAAyB,GACzBnd,QAAyB,GAGzB1N,aAAsB9R,EAAAA,GACtB48B,gBAAsB,EACtBC,OAAsB,GACtB7mB,OAAsB,GACtBE,eAAsB,GACtB/Q,mBAAsBA,EAAAA,EAAAA,MACtB23B,WAAsB53B,EAAAA,KAAaC,EAAAA,GACnC0O,sBAAsB,GAE1Bid,UAAW,CAEPiM,WAAYvqC,GAAO,QAAE0b,IACjB1b,EAAM0b,QAAUA,GAEpB8uB,kBAAmBxqC,GAAO,eAAE0jB,IACxB1jB,EAAM0jB,eAAiBA,GAE3B,CAAC+mB,EAAAA,eAAAA,MAAgCzqC,GAAO,MAAEuV,IACtCvV,EAAM6pC,cAAgBt0B,GAI1B,CAACk1B,EAAAA,YAAAA,MAA6BzqC,EAAOqnB,GACjCrnB,EAAMgtB,QAAU,IAAI3F,EAAQ2F,UAEhC,CAACyd,EAAAA,eAAAA,MAAgCzqC,EAAOqnB,GACpCrnB,EAAMyqC,EAAAA,eAAAA,UAAqCpjB,GAE/C,CAACojB,EAAAA,qBAAAA,MAAsCzqC,EAAOqnB,GAC1CrnB,EAAMyqC,EAAAA,qBAAAA,UAA2C,IAAIpjB,IAEzD,CAACojB,EAAAA,kBAAAA,MAAmCzqC,EAAOqnB,GACvCrnB,EAAMyqC,EAAAA,kBAAAA,UAAwCpjB,GAElD,CAACojB,EAAAA,gBAAAA,MAAiCzqC,EAAOqnB,GACrCrnB,EAAMyqC,EAAAA,gBAAAA,UAAsCpjB,GAEhD,CAACojB,EAAAA,4BAAAA,MAA6CzqC,EAAOqnB,GACjDrnB,EAAMyqC,EAAAA,4BAAAA,UAAkDpjB,GAE5D,CAACojB,EAAAA,qBAAAA,MAAsCzqC,EAAOqnB,GAC1CrnB,EAAMgtB,QAAU,IAAI3F,EAAQ2F,UAIhC,CAACyd,EAAAA,wBAAAA,MAAyCzqC,GACtCA,EAAMoqC,gBAAkBpqC,EAAMoqC,gBAElC,CAACK,EAAAA,UAAAA,MAA2BzqC,GAAO,KAAE/I,EAAF,MAAQgL,IACvCjC,EAAMqqC,OAAOpzC,GAAQgL,EACrBjC,EAAMqqC,QAAN,UAA0BrqC,EAAMqqC,SAEpC,CAACI,EAAAA,aAAAA,MAA8BzqC,GAAO,KAAE/I,IAChC+I,EAAMqqC,OAAOpzC,WACN+I,EAAMqqC,OAAOpzC,GAExB+I,EAAMqqC,QAAN,UAAoBrqC,EAAMqqC,SAE9B,CAACI,EAAAA,yBAAAA,MAA0CzqC,GAAO,MAAEuV,IAChDvV,EAAM8pC,gBAAkBv0B,GAE5Bm1B,UAAW1qC,GAAO,KAAE/I,EAAF,QAAQkE,IACtB6E,EAAMwjB,OAAS,CAAEvsB,KAAAA,EAAMkE,QAAAA,IAE3BwvC,aAAc3qC,GAAO,KAAE/I,IACnB+I,EAAMwjB,OAAS,MAEnBonB,gBAAiB5qC,GAAO,aAAEsf,IACtBtf,EAAMsf,aAAeA,GAEzBurB,qBAAsB7qC,GAClBA,EAAM2S,mBAAoBA,EAAAA,EAAAA,OAE9Bm4B,wBAAyB9qC,GAAO,qBAAEqhB,IAC9BrhB,EAAMqhB,qBAAuBA,IAGrCiZ,QAAW,CACP5nB,SAAU,IAAMA,EAAAA,GAEhBq4B,iBAAmB/qC,GACRA,EAAMgtB,QAAQjP,QAAQkE,GAAWA,EAAOxd,SAAWkI,EAAAA,GAAAA,SACnDsV,EAAOxd,SAAWkI,EAAAA,GAAAA,UAE7Bq+B,gBAAkB,CAAChrC,EAAOs6B,KACtB,MAAM2Q,EAAmB,GACzB,IAAIC,EAAqB,GACrBle,EAAqBhtB,EAAMihB,wBAA0BqZ,EAAQyQ,iBAAmB/qC,EAAMgtB,QAE1F,SAASme,EAAuBlpB,GAC5B,IAAImpB,EAAqB,CAACnpB,EAAOhrB,KAAMgrB,EAAOopB,cAM9C,OAJIppB,EAAOqL,MAAQrL,EAAOqL,KAAKxW,OAAS,IACpCs0B,EAAqB,IAAIA,KAAuBnpB,EAAOqL,OAGpD8d,EA2BX,OAxBIprC,EAAMmqC,gBAAgBrzB,OAAS,GAC/B9W,EAAMmqC,gBAAgBjvB,SAASowB,IAC3Bte,EAAQ9R,SAAS+G,IACbgpB,EAAiBhpB,EAAO2kB,MAAO,EAE/B,MAAMwE,EAAqBD,EAAsBlpB,GAE7CA,EAAO3iB,UAAY2iB,EAAO3iB,SAASrI,MACnCm0C,EAAmB/d,KAAKpL,EAAO3iB,SAASrI,MAG5Cm0C,EAAmBlwB,SAASyV,IACpBA,IACiE,IAA9DA,EAAKpf,cAAcK,QAAQ05B,EAAe/5B,iBACT,IAAjC05B,EAAiBhpB,EAAO2kB,OAC3BsE,EAAmB7d,KAAKpL,GACxBgpB,EAAiBhpB,EAAO2kB,MAAO,SAI3C5Z,EAAqB,IAAIke,GACzBA,EAAqB,MAGtBle,GAEXE,eAAkB,CAACltB,EAAOs6B,KACtB,OAAQt6B,EAAM0gB,WACV,KAAKjW,EAAAA,GAAAA,IACD,OAAO6vB,EAAQiR,cACnB,QACI,MAAO,CACH5gC,SAAU,CACN1T,KAAS,MACT+1B,QAASsN,EAAQ0Q,oBAKrCO,cAAkB,CAACvrC,EAAOs6B,IAAYvN,EAAkBuN,EAAQ0Q,gBAAiBvgC,EAAAA,GAAAA,KAEjF+gC,aAAexrC,IACX,MAAMwrC,EAAe,CACjBC,MAAW,GACXne,KAAW,GACXoe,QAAW,GACXC,UAAW,IAGTD,EAAY,GACZpe,EAAY,GACZqe,EAAY,GA8BlB,OA5BA3rC,EAAMgtB,QAAQ9R,SAAS+G,IACnBupB,EAAaC,MAAMpe,KAAK,CAAE9X,MAAO0M,EAAOhrB,OAEpCgrB,EAAO3B,MAAQ2B,EAAO3B,KAAK2R,SAC3ByZ,EAAQzpB,EAAO3B,KAAK2R,SAAU,GAG9BhQ,EAAOqL,MAAQrL,EAAOqL,KAAKxW,OAAS,GACpCmL,EAAOqL,KAAKpS,SAASqS,IACjBD,EAAKC,IAAO,KAIhBtL,EAAO3iB,UAAY2iB,EAAO3iB,SAASrI,MAAQgrB,EAAO3iB,SAASrI,KAAK6f,OAAS,IACzE60B,EAAU1pB,EAAO3iB,SAASrI,OAAQ,MAI1C+jB,OAAOC,KAAKywB,GAASxwB,SAASjhB,IAC1BuxC,EAAaE,QAAQre,KAAK,CAAE9X,MAAOtb,OAEvC+gB,OAAOC,KAAKqS,GAAMpS,SAASjhB,IACvBuxC,EAAale,KAAKD,KAAK,CAAE9X,MAAOtb,OAEpC+gB,OAAOC,KAAK0wB,GAAWzwB,SAASjhB,IAC5BuxC,EAAaG,UAAUte,KAAK,CAAE9X,MAAOtb,OAGlCuxC,IAGf9Q,QAAW,CACPkR,aAAa,OAAEhR,EAAF,SAAUC,IAAY,SAAEje,IACjCge,EAAO6P,EAAAA,yBAAAA,KAAyC,CAAEl1B,OAAO,IAEzDgW,EAAAA,EAAAA,KACUtlB,EAAAA,GAAY2W,GACjB4O,MAAMC,IACHmP,EAAO6P,EAAAA,aAAAA,KAA6B,CAAExzC,KAAMkR,EAAAA,KAC5C0yB,EAAS,YAAa,CAAEgR,MAAOpgB,EAAI7mB,KAAKinC,QACxCnnC,EAAAA,EAAAA,QAAe,CAAEzN,KAAM6T,EAAAA,EAAAA,iBAE1BsxB,SAAQ,KACLxB,EAAO6P,EAAAA,yBAAAA,KAAyC,CAAEl1B,OAAO,QAIrEu2B,MAAM,OAAElR,EAAF,SAAUC,IAAY,YAAEoG,IAC1BrG,EAAO6P,EAAAA,eAAAA,KAA+B,CAAEl1B,OAAO,IAE/CgW,EAAAA,EAAAA,KACUllB,EAAAA,GAAW46B,GAChBzV,MAAMC,IACHmP,EAAO6P,EAAAA,aAAAA,KAA6B,CAAExzC,KAAMkR,EAAAA,KAC5C0yB,EAAS,YAAa,CAAEgR,MAAOpgB,EAAI7mB,KAAKinC,QAExC,MAAME,EAAetgB,EAAI7mB,KAAKonC,mBAAqBlhC,EAAAA,EAAAA,aAAqBA,EAAAA,EAAAA,YAExEpG,EAAAA,EAAAA,QAAe0V,EAAAA,EAAAA,WAAoC,CAC/CnjB,KAAQ80C,EACRhsB,OAAQ,CAAEisB,mBAAoBvgB,EAAI7mB,KAAKonC,sBAE3C5xB,EAAAA,EAAAA,gBAEHgiB,SAAQ,KACLxB,EAAO6P,EAAAA,eAAAA,KAA+B,CAAEl1B,OAAO,QAG3D02B,WAAW,OAAErR,IAAU,MAAEiR,IACrB,MAAMp2B,EAAU,IAAIX,KAAKvY,GAAAA,CAAM,IAAIuY,MAAQwV,IAAI,EAAG,SAASwE,YAE3D/Y,EAAAA,EAAAA,IAAa,UACbT,EAAAA,EAAAA,IAAU,QAASu2B,EAAO,CACtBp2B,QAAAA,EACAy2B,SAAU,YAGlB9tB,QAAQ,SAAEyc,KACN9kB,EAAAA,EAAAA,IAAa,SACb8kB,EAAS,qBACTzgB,EAAAA,EAAAA,aACA1V,EAAAA,EAAAA,QAAe,CAAEzN,KAAM6T,EAAAA,EAAAA,QAE3BqhC,gBACI,SAASn3B,EAAAA,EAAAA,IAAU,UAEvB2xB,uBAAuB,SAAE9L,EAAF,OAAYD,IAC/B,OAAOrP,EAAAA,EAAAA,IACErlB,EAAAA,IACJslB,MAAMC,IACHoP,EAAS,gBAAiB,CAAEnf,QAAS+P,EAAI7mB,KAAK8W,UAE1C+P,EAAI7mB,KAAKgW,UACTggB,EAAO,oBAAqB,CAAElX,eAAgB+H,EAAI7mB,KAAKgW,WAEpD,CAAEnW,QAAQ,MAEpBinB,OAAOzpB,IAAD,CAAc0qB,WAAY1qB,EAAMuC,SAASC,OAAQA,QAAQ,OAExE2nC,aAAa,OAAExR,EAAF,MAAU56B,EAAV,SAAiB66B,IACtB76B,EAAM0b,SAGV6P,EAAAA,EAAAA,IACSrlB,EAAAA,IACJslB,MAAMC,IACHoP,EAAS,gBAAiB,CAAEnf,QAAS+P,EAAI7mB,KAAK8W,UAE1C+P,EAAI7mB,KAAKgW,UACTggB,EAAO,oBAAqB,CAAElX,eAAgB+H,EAAI7mB,KAAKgW,eAIvEyxB,eAAe,OAAEzR,EAAF,MAAU56B,EAAV,SAAiB66B,IAAY,QAAEnf,IAC1Ckf,EAAO,aAAc,CAAElf,QAAAA,KAI3B4wB,cAAc,OAAE1R,EAAF,MAAU56B,IACpBA,EAAMiqC,mBAAoB,EAC1B1e,EAAAA,EAAAA,IACSjlB,EAAAA,GAAqB,CACtByZ,OAAQ,CACJN,KAAiBzf,EAAM+pC,oBACvBrpB,UAAiB1gB,EAAM0gB,UACvBspB,SAAiBhqC,EAAMgqC,SACvBuC,cAAiBvsC,EAAMihB,wBACvBkpB,gBAAiBnqC,EAAMmqC,mBAG9B3e,MAAMC,IACHmP,EAAO6P,EAAAA,YAAAA,KAA4B,CAAEzd,QAASvB,EAAI7mB,OAClD5E,EAAMiqC,mBAAoB,MAGtCuC,sBAAsB,OAAE5R,EAAF,MAAU56B,IAC5BurB,EAAAA,EAAAA,IACSjlB,EAAAA,GAAqB,CACtByZ,OAAQ,CACJN,KAAiBzf,EAAM+pC,oBACvBrpB,UAAiB1gB,EAAM0gB,UACvBspB,SAAiBhqC,EAAMgqC,SACvByC,gBAAiBzsC,EAAMihB,wBACvBkpB,gBAAiBnqC,EAAMmqC,mBAG9B3e,MAAMC,IACHmP,EAAO6P,EAAAA,qBAAAA,KAAqC,CAAEzd,QAASvB,EAAI7mB,WAGvE8nC,eAAe,OAAE9R,EAAF,MAAU56B,GAASqnB,GAC9BuT,EAAO6P,EAAAA,YAAAA,KAA4B,CAAEzd,QAAS3F,IAC9CrnB,EAAMiqC,mBAAoB,GAE9B0C,uBAAuB,OAAE/R,EAAF,MAAU56B,EAAV,SAAiB66B,GAAYxT,GAChDwT,EAAS,uBAAwBxT,IAErC1G,cAAc,OAAEia,GAAUvT,GACtBuT,EAAO6P,EAAAA,eAAAA,KAA+BpjB,GACtCmG,EAAmB,CACfvzB,IAAOwwC,EAAAA,eAAAA,SACPl1B,MAAO8R,EACP5H,KAAO3U,EAAAA,EAAAA,eAGf8hC,eAAe,OAAEhS,GAAUvT,GACvBuT,EAAO6P,EAAAA,qBAAAA,KAAqCpjB,GAC5CmG,EAAmB,CACfvzB,IAAOwwC,EAAAA,qBAAAA,SACPl1B,MAAO8R,EACP5H,KAAO3U,EAAAA,EAAAA,eAGf+V,gBAAgB,OAAE+Z,EAAF,SAAUC,GAAYxT,GAClCuT,EAAO6P,EAAAA,kBAAAA,KAAkCpjB,GACzCmG,EAAmB,CACfvzB,IAAOwwC,EAAAA,kBAAAA,SACPl1B,MAAO8R,EACP5H,KAAO3U,EAAAA,EAAAA,eAGf+hC,kBAAkB,OAAEjS,GAAUvT,GAC1BuT,EAAO6P,EAAAA,gBAAAA,KAAgCpjB,GACvCmG,EAAmB,CACfvzB,IAAOwwC,EAAAA,gBAAAA,SACPl1B,MAAO8R,EACP5H,KAAO3U,EAAAA,EAAAA,eAGfkW,wBAAwB,OAAE4Z,GAAUvT,GAChCuT,EAAO6P,EAAAA,4BAAAA,KAA4CpjB,GACnDmG,EAAmB,CACfvzB,IAAOwwC,EAAAA,4BAAAA,SACPl1B,MAAO8R,EACP5H,KAAO3U,EAAAA,EAAAA,eAIfgiC,yBAAyB,OAAElS,IACvBA,EAAO6P,EAAAA,wBAAAA,OAEXsC,uCAAuC,OAAEnS,IACrC,MAAMnN,EAAsB3V,KAAKC,MAAM+B,aAAaE,QAAQlP,EAAAA,EAAAA,cAExD2iB,GACA,CACIgd,EAAAA,qBACAA,EAAAA,kBACAA,EAAAA,gBACAA,EAAAA,4BACAA,EAAAA,gBACFvvB,SAASyV,IACHlD,EAAoBkD,EAAKz1B,WACzB0/B,EAAOjK,EAAK15B,KAAMw2B,EAAoBkD,EAAKz1B,eAK3D8xC,UAAU,OAAEpS,EAAF,MAAU56B,IAAS,SAAEgF,EAAF,UAAYE,IACrC01B,EAAO6P,EAAAA,UAAAA,KAA0B,CAAExzC,KAAMiO,EAAWjD,MAAO+C,KAE/DioC,aAAa,OAAErS,IAAU,UAAE11B,IACvB01B,EAAO6P,EAAAA,aAAAA,KAA6B,CAAExzC,KAAMiO,KAEhDwlC,WAAW,OAAE9P,EAAF,MAAU56B,EAAV,SAAiB66B,IAAY,KAAE5jC,EAAF,QAAQkE,IAC5Cy/B,EAAO,YAAa,CAAE3jC,KAAAA,EAAMkE,QAAAA,KAEhCwvC,cAAc,OAAE/P,IAAU,KAAE3jC,IACxB2jC,EAAO,eAAgB,CAAE3jC,KAAAA,KAE7Bi2C,WAAW,OAAEtS,IACTA,EAAO,6B,mIChdfuS,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBh4B,IAAjBi4B,EACH,OAAOA,EAAaC,QAGrB,IAAIC,EAASL,EAAyBE,GAAY,CAGjDE,QAAS,IAOV,OAHAE,EAAoBJ,GAAU5kB,KAAK+kB,EAAOD,QAASC,EAAQA,EAAOD,QAASH,GAGpEI,EAAOD,QAIfH,EAAoBM,EAAID,E,WCzBxB,IAAIE,EAAW,GACfP,EAAoBQ,EAAI,SAAS/X,EAAQgY,EAAUC,EAAIC,GACtD,IAAGF,EAAH,CAMA,IAAIG,EAAeC,EAAAA,EACnB,IAASp3B,EAAI,EAAGA,EAAI82B,EAAS72B,OAAQD,IAAK,CACrCg3B,EAAWF,EAAS92B,GAAG,GACvBi3B,EAAKH,EAAS92B,GAAG,GACjBk3B,EAAWJ,EAAS92B,GAAG,GAE3B,IAJA,IAGIq3B,GAAY,EACPC,EAAI,EAAGA,EAAIN,EAAS/2B,OAAQq3B,MACpB,EAAXJ,GAAsBC,GAAgBD,IAAa/yB,OAAOC,KAAKmyB,EAAoBQ,GAAGQ,OAAM,SAASn0C,GAAO,OAAOmzC,EAAoBQ,EAAE3zC,GAAK4zC,EAASM,OAC3JN,EAASQ,OAAOF,IAAK,IAErBD,GAAY,EACTH,EAAWC,IAAcA,EAAeD,IAG7C,GAAGG,EAAW,CACbP,EAASU,OAAOx3B,IAAK,GACrB,IAAIy3B,EAAIR,SACEz4B,IAANi5B,IAAiBzY,EAASyY,IAGhC,OAAOzY,EAzBNkY,EAAWA,GAAY,EACvB,IAAI,IAAIl3B,EAAI82B,EAAS72B,OAAQD,EAAI,GAAK82B,EAAS92B,EAAI,GAAG,GAAKk3B,EAAUl3B,IAAK82B,EAAS92B,GAAK82B,EAAS92B,EAAI,GACrG82B,EAAS92B,GAAK,CAACg3B,EAAUC,EAAIC,I,cCJ/BX,EAAoBmB,EAAI,SAASf,GAChC,IAAIgB,EAAShB,GAAUA,EAAOiB,WAC7B,WAAa,OAAOjB,EAAO,YAC3B,WAAa,OAAOA,GAErB,OADAJ,EAAoBsB,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,G,cCLRpB,EAAoBsB,EAAI,SAASnB,EAASqB,GACzC,IAAI,IAAI30C,KAAO20C,EACXxB,EAAoByB,EAAED,EAAY30C,KAASmzC,EAAoByB,EAAEtB,EAAStzC,IAC5E+gB,OAAO8zB,eAAevB,EAAStzC,EAAK,CAAE80C,YAAY,EAAMC,IAAKJ,EAAW30C,M,cCJ3EmzC,EAAoBxiB,EAAI,GAGxBwiB,EAAoB/rC,EAAI,SAAS4tC,GAChC,OAAO3qC,QAAQ4qC,IAAIl0B,OAAOC,KAAKmyB,EAAoBxiB,GAAGukB,QAAO,SAASC,EAAUn1C,GAE/E,OADAmzC,EAAoBxiB,EAAE3wB,GAAKg1C,EAASG,GAC7BA,IACL,M,cCNJhC,EAAoBiC,EAAI,SAASJ,GAEhC,MAAO,OAAS,CAAC,EAAI,cAAc,GAAK,OAAO,GAAK,UAAU,GAAK,UAAU,IAAM,OAAO,IAAM,cAAc,IAAM,aAAa,IAAM,cAAc,IAAM,cAAc,IAAM,eAAe,IAAM,iBAAiB,IAAM,QAAQ,IAAM,aAAa,IAAM,OAAO,IAAM,oBAAoB,IAAM,OAAO,IAAM,eAAe,IAAM,eAAe,IAAM,SAAS,IAAM,YAAY,IAAM,WAAW,IAAM,UAAU,IAAM,OAAO,IAAM,UAAU,IAAM,eAAe,IAAM,aAAaA,IAAYA,GAAW,IAAM,CAAC,EAAI,WAAW,GAAK,WAAW,GAAK,WAAW,GAAK,WAAW,GAAK,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,YAAYA,GAAW,O,cCFrnC7B,EAAoBkC,SAAW,SAASL,GAEvC,MAAO,QAAU,CAAC,EAAI,cAAc,GAAK,UAAU,GAAK,UAAU,IAAM,OAAO,IAAM,cAAc,IAAM,cAAc,IAAM,cAAc,IAAM,iBAAiB,IAAM,QAAQ,IAAM,aAAa,IAAM,OAAO,IAAM,oBAAoB,IAAM,OAAO,IAAM,eAAe,IAAM,eAAe,IAAM,SAAS,IAAM,WAAW,IAAM,UAAU,IAAM,OAAO,IAAM,UAAU,IAAM,eAAe,IAAM,aAAaA,IAAYA,GAAW,IAAM,CAAC,EAAI,WAAW,GAAK,WAAW,GAAK,WAAW,GAAK,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,YAAYA,GAAW,Q,cCHn0B7B,EAAoBmC,EAAI,WACvB,GAA0B,kBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOt5C,MAAQ,IAAIu5C,SAAS,cAAb,GACd,MAAOpuC,GACR,GAAsB,kBAAXP,OAAqB,OAAOA,QALjB,G,cCAxBssC,EAAoByB,EAAI,SAASh3B,EAAK+P,GAAQ,OAAO5M,OAAOqC,UAAUqyB,eAAejnB,KAAK5Q,EAAK+P,I,cCA/F,IAAI+nB,EAAa,GACbC,EAAoB,SAExBxC,EAAoByC,EAAI,SAAStgB,EAAKugB,EAAM71C,EAAKg1C,GAChD,GAAGU,EAAWpgB,GAAQogB,EAAWpgB,GAAKlC,KAAKyiB,OAA3C,CACA,IAAIC,EAAQC,EACZ,QAAW36B,IAARpb,EAEF,IADA,IAAIg2C,EAAUx8B,SAASy8B,qBAAqB,UACpCr5B,EAAI,EAAGA,EAAIo5B,EAAQn5B,OAAQD,IAAK,CACvC,IAAIs5B,EAAIF,EAAQp5B,GAChB,GAAGs5B,EAAEC,aAAa,QAAU7gB,GAAO4gB,EAAEC,aAAa,iBAAmBR,EAAoB31C,EAAK,CAAE81C,EAASI,EAAG,OAG1GJ,IACHC,GAAa,EACbD,EAASt8B,SAASyE,cAAc,UAEhC63B,EAAOM,QAAU,QACjBN,EAAOlL,QAAU,IACbuI,EAAoBkD,IACvBP,EAAO/nB,aAAa,QAASolB,EAAoBkD,IAElDP,EAAO/nB,aAAa,eAAgB4nB,EAAoB31C,GACxD81C,EAAOQ,IAAMhhB,GAEdogB,EAAWpgB,GAAO,CAACugB,GACnB,IAAIU,EAAmB,SAASC,EAAM1vC,GAErCgvC,EAAOW,QAAUX,EAAOY,OAAS,KACjCnT,aAAaqH,GACb,IAAI+L,EAAUjB,EAAWpgB,GAIzB,UAHOogB,EAAWpgB,GAClBwgB,EAAOr3B,YAAcq3B,EAAOr3B,WAAWC,YAAYo3B,GACnDa,GAAWA,EAAQ11B,SAAQ,SAAS4yB,GAAM,OAAOA,EAAG/sC,MACjD0vC,EAAM,OAAOA,EAAK1vC,IAGlB8jC,EAAU3hB,WAAWstB,EAAiBK,KAAK,UAAMx7B,EAAW,CAAEje,KAAM,UAAWoc,OAAQu8B,IAAW,MACtGA,EAAOW,QAAUF,EAAiBK,KAAK,KAAMd,EAAOW,SACpDX,EAAOY,OAASH,EAAiBK,KAAK,KAAMd,EAAOY,QACnDX,GAAcv8B,SAASq9B,KAAKx4B,YAAYy3B,K,cCvCzC3C,EAAoBkB,EAAI,SAASf,GACX,qBAAXwD,QAA0BA,OAAOC,aAC1Ch2B,OAAO8zB,eAAevB,EAASwD,OAAOC,YAAa,CAAEz7B,MAAO,WAE7DyF,OAAO8zB,eAAevB,EAAS,aAAc,CAAEh4B,OAAO,K,cCLvD63B,EAAoB6D,EAAI,O,cCAxB,IAAIC,EAAmB,SAASjC,EAASkC,EAAUC,EAAS7sC,GAC3D,IAAI8sC,EAAU59B,SAASyE,cAAc,QAErCm5B,EAAQC,IAAM,aACdD,EAAQj6C,KAAO,WACf,IAAIm6C,EAAiB,SAASxwC,GAG7B,GADAswC,EAAQX,QAAUW,EAAQV,OAAS,KAChB,SAAf5vC,EAAM3J,KACTg6C,QACM,CACN,IAAII,EAAYzwC,IAAyB,SAAfA,EAAM3J,KAAkB,UAAY2J,EAAM3J,MAChEq6C,EAAW1wC,GAASA,EAAMyS,QAAUzS,EAAMyS,OAAOk+B,MAAQP,EACzDhpB,EAAM,IAAI/sB,MAAM,qBAAuB6zC,EAAU,cAAgBwC,EAAW,KAChFtpB,EAAItjB,KAAO,wBACXsjB,EAAI/wB,KAAOo6C,EACXrpB,EAAIhkB,QAAUstC,EACdJ,EAAQ34B,WAAWC,YAAY04B,GAC/B9sC,EAAO4jB,KAOT,OAJAkpB,EAAQX,QAAUW,EAAQV,OAASY,EACnCF,EAAQK,KAAOP,EAEf19B,SAASq9B,KAAKx4B,YAAY+4B,GACnBA,GAEJM,EAAiB,SAASD,EAAMP,GAEnC,IADA,IAAIS,EAAmBn+B,SAASy8B,qBAAqB,QAC7Cr5B,EAAI,EAAGA,EAAI+6B,EAAiB96B,OAAQD,IAAK,CAChD,IAAI0W,EAAMqkB,EAAiB/6B,GACvBg7B,EAAWtkB,EAAI6iB,aAAa,cAAgB7iB,EAAI6iB,aAAa,QACjE,GAAe,eAAZ7iB,EAAI+jB,MAAyBO,IAAaH,GAAQG,IAAaV,GAAW,OAAO5jB,EAErF,IAAIukB,EAAoBr+B,SAASy8B,qBAAqB,SACtD,IAAQr5B,EAAI,EAAGA,EAAIi7B,EAAkBh7B,OAAQD,IAAK,CAC7C0W,EAAMukB,EAAkBj7B,GACxBg7B,EAAWtkB,EAAI6iB,aAAa,aAChC,GAAGyB,IAAaH,GAAQG,IAAaV,EAAU,OAAO5jB,IAGpDwkB,EAAiB,SAAS9C,GAC7B,OAAO,IAAI3qC,SAAQ,SAAS8sC,EAAS7sC,GACpC,IAAImtC,EAAOtE,EAAoBkC,SAASL,GACpCkC,EAAW/D,EAAoB6D,EAAIS,EACvC,GAAGC,EAAeD,EAAMP,GAAW,OAAOC,IAC1CF,EAAiBjC,EAASkC,EAAUC,EAAS7sC,OAI3CytC,EAAqB,CACxB,IAAK,GAGN5E,EAAoBxiB,EAAEqnB,QAAU,SAAShD,EAASG,GACjD,IAAI8C,EAAY,CAAC,EAAI,EAAE,GAAK,EAAE,GAAK,EAAE,GAAK,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,GAC/LF,EAAmB/C,GAAUG,EAAS/hB,KAAK2kB,EAAmB/C,IACzB,IAAhC+C,EAAmB/C,IAAkBiD,EAAUjD,IACtDG,EAAS/hB,KAAK2kB,EAAmB/C,GAAW8C,EAAe9C,GAASzjB,MAAK,WACxEwmB,EAAmB/C,GAAW,KAC5B,SAAS5tC,GAEX,aADO2wC,EAAmB/C,GACpB5tC,O,cCzDT,IAAI8wC,EAAkB,CACrB,IAAK,GAGN/E,EAAoBxiB,EAAEujB,EAAI,SAASc,EAASG,GAE1C,IAAIgD,EAAqBhF,EAAoByB,EAAEsD,EAAiBlD,GAAWkD,EAAgBlD,QAAW55B,EACtG,GAA0B,IAAvB+8B,EAGF,GAAGA,EACFhD,EAAS/hB,KAAK+kB,EAAmB,SAEjC,GAAG,IAAMnD,EAAS,CAEjB,IAAIoD,EAAU,IAAI/tC,SAAQ,SAAS8sC,EAAS7sC,GAAU6tC,EAAqBD,EAAgBlD,GAAW,CAACmC,EAAS7sC,MAChH6qC,EAAS/hB,KAAK+kB,EAAmB,GAAKC,GAGtC,IAAI9iB,EAAM6d,EAAoB6D,EAAI7D,EAAoBiC,EAAEJ,GAEpDhtC,EAAQ,IAAI7G,MACZk3C,EAAe,SAASvxC,GAC3B,GAAGqsC,EAAoByB,EAAEsD,EAAiBlD,KACzCmD,EAAqBD,EAAgBlD,GACX,IAAvBmD,IAA0BD,EAAgBlD,QAAW55B,GACrD+8B,GAAoB,CACtB,IAAIZ,EAAYzwC,IAAyB,SAAfA,EAAM3J,KAAkB,UAAY2J,EAAM3J,MAChEm7C,EAAUxxC,GAASA,EAAMyS,QAAUzS,EAAMyS,OAAO+8B,IACpDtuC,EAAM9G,QAAU,iBAAmB8zC,EAAU,cAAgBuC,EAAY,KAAOe,EAAU,IAC1FtwC,EAAMhL,KAAO,iBACbgL,EAAM7K,KAAOo6C,EACbvvC,EAAMkC,QAAUouC,EAChBH,EAAmB,GAAGnwC,KAIzBmrC,EAAoByC,EAAEtgB,EAAK+iB,EAAc,SAAWrD,EAASA,QACvDkD,EAAgBlD,GAAW,GAatC7B,EAAoBQ,EAAEO,EAAI,SAASc,GAAW,OAAoC,IAA7BkD,EAAgBlD,IAGrE,IAAIuD,EAAuB,SAASC,EAA4B7tC,GAC/D,IAKIyoC,EAAU4B,EALVpB,EAAWjpC,EAAK,GAChB8tC,EAAc9tC,EAAK,GACnB+tC,EAAU/tC,EAAK,GAGIiS,EAAI,EAC3B,GAAGg3B,EAASnd,MAAK,SAAShP,GAAM,OAA+B,IAAxBywB,EAAgBzwB,MAAe,CACrE,IAAI2rB,KAAYqF,EACZtF,EAAoByB,EAAE6D,EAAarF,KACrCD,EAAoBM,EAAEL,GAAYqF,EAAYrF,IAGhD,GAAGsF,EAAS,IAAI9c,EAAS8c,EAAQvF,GAGlC,IADGqF,GAA4BA,EAA2B7tC,GACrDiS,EAAIg3B,EAAS/2B,OAAQD,IACzBo4B,EAAUpB,EAASh3B,GAChBu2B,EAAoByB,EAAEsD,EAAiBlD,IAAYkD,EAAgBlD,IACrEkD,EAAgBlD,GAAS,KAE1BkD,EAAgBlD,GAAW,EAE5B,OAAO7B,EAAoBQ,EAAE/X,IAG1B+c,EAAqBC,KAAK,qBAAuBA,KAAK,sBAAwB,GAClFD,EAAmB13B,QAAQs3B,EAAqB3B,KAAK,KAAM,IAC3D+B,EAAmBvlB,KAAOmlB,EAAqB3B,KAAK,KAAM+B,EAAmBvlB,KAAKwjB,KAAK+B,I,GCpFvF,IAAIE,EAAsB1F,EAAoBQ,OAAEv4B,EAAW,CAAC,MAAM,WAAa,OAAO+3B,EAAoB,QAC1G0F,EAAsB1F,EAAoBQ,EAAEkF,I","sources":["webpack://yucca/./src/components/YccLogo.vue?0b37","webpack://yucca/src/components/YccLogo.vue","webpack://yucca/./src/components/YccLogo.vue?0171","webpack://yucca/./src/components/YccLogo.vue","webpack://yucca/./src/components/ycc-alert/YccAlert.vue?4674","webpack://yucca/./src/components/ycc-alert/alertCssClasses.js","webpack://yucca/src/components/ycc-alert/YccAlert.vue","webpack://yucca/./src/components/ycc-alert/YccAlert.vue?4881","webpack://yucca/./src/components/ycc-alert/YccAlert.vue","webpack://yucca/./src/components/ycc-datepicker/YccDatepickerContent.vue?a9ee","webpack://yucca/./src/components/ycc-datepicker/YccCalendar.vue?a860","webpack://yucca/./src/components/ycc-datepicker/YccCalendarControls.vue?5d21","webpack://yucca/src/components/ycc-datepicker/YccCalendarControls.vue","webpack://yucca/./src/components/ycc-datepicker/YccCalendarControls.vue?7611","webpack://yucca/./src/components/ycc-datepicker/YccCalendarControls.vue","webpack://yucca/./src/extends/PropertyError.js","webpack://yucca/src/components/ycc-datepicker/YccCalendar.vue","webpack://yucca/./src/components/ycc-datepicker/YccCalendar.vue?0a35","webpack://yucca/./src/components/ycc-datepicker/YccCalendar.vue","webpack://yucca/src/components/ycc-datepicker/YccDatepickerContent.vue","webpack://yucca/./src/components/ycc-datepicker/YccDatepickerContent.vue?4309","webpack://yucca/./src/components/ycc-datepicker/YccDatepickerContent.vue","webpack://yucca/./src/components/ycc-dropdown/YccDropdown.vue?f61a","webpack://yucca/./src/components/ycc-dropdown/constants.js","webpack://yucca/src/components/ycc-dropdown/YccDropdown.vue","webpack://yucca/./src/components/ycc-dropdown/YccDropdown.vue?e67c","webpack://yucca/./src/components/ycc-dropdown/YccDropdown.vue","webpack://yucca/./src/components/ycc-hint/YccHint.vue?73b9","webpack://yucca/src/components/ycc-hint/YccHint.vue","webpack://yucca/./src/components/ycc-hint/YccHint.vue?f302","webpack://yucca/./src/components/ycc-hint/YccHint.vue","webpack://yucca/./src/components/ycc-validation-error/YccValidationError.vue?9b41","webpack://yucca/src/components/ycc-validation-error/YccValidationError.vue","webpack://yucca/./src/components/ycc-validation-error/YccValidationError.vue?1a4d","webpack://yucca/./src/components/ycc-validation-error/YccValidationError.vue","webpack://yucca/./src/components/ycc-alert/names.js","webpack://yucca/./src/components/ycc-datepicker/constants.js","webpack://yucca/./src/components/ycc-player/constants.js","webpack://yucca/./src/components/ycc-player/extends/componentIds.js","webpack://yucca/./src/config/httpClient.js","webpack://yucca/./src/constants/api.js","webpack://yucca/./src/constants/errorTypes.js","webpack://yucca/./src/constants/links.js","webpack://yucca/./src/constants/main.js","webpack://yucca/./src/constants/noticeTypes.js","webpack://yucca/./src/constants/pages.js","webpack://yucca/./src/constants/positionConstants.js","webpack://yucca/./src/extends/browserEnv.js","webpack://yucca/./src/extends/lib.js","webpack://yucca/./src/extends/StorageAdapter.js","webpack://yucca/./src/extends/storageServices.js","webpack://yucca/./src/config/yccBootConfig.js","webpack://yucca/./src/config/translations.js","webpack://yucca/./src/config/gettextOptions.js","webpack://yucca/./src/extends/YccConfigPlugin.js","webpack://yucca/./src/App.vue?2fe6","webpack://yucca/./src/extends/cookieService.js","webpack://yucca/./src/components/ycc-layout/YccLayout.vue?641a","webpack://yucca/./src/components/ycc-toolbar/YccToolbar.vue?f437","webpack://yucca/src/components/ycc-toolbar/YccToolbar.vue","webpack://yucca/./src/components/ycc-toolbar/YccToolbar.vue?0b67","webpack://yucca/./src/components/ycc-toolbar/YccToolbar.vue","webpack://yucca/./src/components/ycc-header/YccHeader.vue?8252","webpack://yucca/./src/constants/pageNames.js","webpack://yucca/./src/components/ycc-header/YccHeaderMenu.vue?8ec4","webpack://yucca/src/components/ycc-header/YccHeaderMenu.vue","webpack://yucca/./src/components/ycc-header/YccHeaderMenu.vue?ae94","webpack://yucca/./src/components/ycc-header/YccHeaderMenu.vue","webpack://yucca/src/components/ycc-header/YccHeader.vue","webpack://yucca/./src/components/ycc-header/YccHeader.vue?c7f5","webpack://yucca/./src/components/ycc-header/YccHeader.vue","webpack://yucca/src/components/ycc-layout/YccLayout.vue","webpack://yucca/./src/components/ycc-layout/YccLayout.vue?078f","webpack://yucca/./src/components/ycc-layout/YccLayout.vue","webpack://yucca/src/App.vue","webpack://yucca/./src/App.vue?facb","webpack://yucca/./src/App.vue","webpack://yucca/./src/components/ycc-hint/YccHintContent.vue?5b17","webpack://yucca/./src/extends/correctingPosition.js","webpack://yucca/src/components/ycc-hint/YccHintContent.vue","webpack://yucca/./src/components/ycc-hint/YccHintContent.vue?14d8","webpack://yucca/./src/components/ycc-hint/YccHintContent.vue","webpack://yucca/./src/components/ycc-hint/createHint.js","webpack://yucca/./src/components/ycc-hint/initHint.js","webpack://yucca/./src/config/setVueConfig.js","webpack://yucca/./src/constants/progressBarOptions.js","webpack://yucca/./src/components/ycc-datepicker/datepicker.js","webpack://yucca/./src/config/setPlugins.js","webpack://yucca/./src/main.js","webpack://yucca/./src/constants/metaForProgressLoader.js","webpack://yucca/./src/router.js","webpack://yucca/./src/store/utilities.js","webpack://yucca/./src/store/mutations.js","webpack://yucca/./src/store/player/lib.js","webpack://yucca/./src/components/ycc-player/extends/createMarkers.js","webpack://yucca/./src/components/ycc-player/extends/ProgressBarController.js","webpack://yucca/./src/store/player/player.js","webpack://yucca/./src/store/profile/index.js","webpack://yucca/./src/store/admin/index.js","webpack://yucca/./src/store/stream/index.js","webpack://yucca/./src/store/license/index.js","webpack://yucca/./src/store/mosaic/index.js","webpack://yucca/./src/store/store.js","webpack://yucca/webpack/bootstrap","webpack://yucca/webpack/runtime/chunk loaded","webpack://yucca/webpack/runtime/compat get default export","webpack://yucca/webpack/runtime/define property getters","webpack://yucca/webpack/runtime/ensure chunk","webpack://yucca/webpack/runtime/get javascript chunk filename","webpack://yucca/webpack/runtime/get mini-css chunk filename","webpack://yucca/webpack/runtime/global","webpack://yucca/webpack/runtime/hasOwnProperty shorthand","webpack://yucca/webpack/runtime/load script","webpack://yucca/webpack/runtime/make namespace object","webpack://yucca/webpack/runtime/publicPath","webpack://yucca/webpack/runtime/css loading","webpack://yucca/webpack/runtime/jsonp chunk loading","webpack://yucca/webpack/startup"],"sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"logo\",class:{'fix-height': _vm.isHeader}},[_c('img',{attrs:{\"src\":_vm.logo}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccLogo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccLogo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccLogo.vue?vue&type=template&id=d81de4c2&scoped=true&\"\nimport script from \"./YccLogo.vue?vue&type=script&lang=js&\"\nexport * from \"./YccLogo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccLogo.vue?vue&type=style&index=0&id=d81de4c2&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d81de4c2\",\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:\"alert-ycc\",class:_vm.alertCssClasses,attrs:{\"role\":\"alert\"}},[(_vm.isShowIcon)?_c('div',{staticClass:\"alert-ycc_icon\"}):_vm._e(),_c('div',{staticClass:\"alert-ycc_container\"},[(_vm.hasTitle)?_c('div',{staticClass:\"alert-ycc_title\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]):_vm._e(),_c('div',{staticClass:\"alert-ycc_content\"},[_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {\n ATTENTION,\n ATTENTION_DANGER,\n ATTENTION_INFO,\n ATTENTION_WARNING,\n DANGER,\n SUCCESS,\n WARNING,\n} from './names';\n\nexport default {\n [SUCCESS] : { name: `alert-ycc-${SUCCESS}`, hasIcon: false },\n [DANGER] : { name: `alert-ycc-${DANGER}`, hasIcon: false },\n [WARNING] : { name: `alert-ycc-${WARNING}`, hasIcon: false },\n [ATTENTION] : { name: `alert-ycc-${ATTENTION}`, hasIcon: true },\n [ATTENTION_INFO] : { name: `alert-ycc-${ATTENTION_INFO}`, hasIcon: true },\n [ATTENTION_WARNING]: { name: `alert-ycc-${ATTENTION_WARNING}`, hasIcon: true },\n [ATTENTION_DANGER] : { name: `alert-ycc-${ATTENTION_DANGER}`, hasIcon: true },\n};\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccAlert.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccAlert.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccAlert.vue?vue&type=template&id=5766bb6a&scoped=true&\"\nimport script from \"./YccAlert.vue?vue&type=script&lang=js&\"\nexport * from \"./YccAlert.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccAlert.vue?vue&type=style&index=0&id=5766bb6a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5766bb6a\",\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:\"datepicker\",staticClass:\"datepicker-ycc datepicker-ycc_calendar\",style:(_vm.datepickerStyles)},[_c('ycc-calendar',{ref:\"calendar\",attrs:{\"calendar-id\":(_vm.datepickerId + \"-calendar\"),\"range-type\":_vm.rangeType,\"lang\":_vm.lang,\"start-date\":_vm.startDate,\"number-of-month\":_vm.correctedNumberOfMonth,\"is-highlight-today\":_vm.isHighlightToday,\"is-highlight-weekend\":_vm.isHighlightWeekend,\"period\":_vm.period,\"max-range\":_vm.maxRange,\"min-allowed-date\":_vm.minAllowedDate,\"max-allowed-date\":_vm.maxAllowedDate,\"use-controls\":true,\"significant-dates\":_vm.significantDates,\"is-disabled-date\":_vm.isDisabledDate},on:{\"decreased-month\":_vm.decreaseMonth,\"increased-month\":_vm.increaseMonth,\"updated-dates\":_vm.onClickDay}})],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',[(_vm.useControls)?_c('ycc-calendar-controls',{attrs:{\"min-date\":_vm.minDate,\"max-date\":_vm.maxDate,\"months\":_vm.months},on:{\"decreased-month\":_vm.decreaseMonth,\"increased-month\":_vm.increaseMonth}}):_vm._e(),_c('div',{staticClass:\"calendar-ycc\",class:{'multi': _vm.isMultiRangeType}},[_c('div',{staticClass:\"months\"},_vm._l((_vm.months),function(month,key){return _c('div',{key:key,staticClass:\"month\"},[_c('div',{staticClass:\"month_header\"},[_c('div',{staticClass:\"month_title\"},[_vm._v(\" \"+_vm._s(month.monthLabel)+\" \"+_vm._s(month.yearLabel)+\" \")])]),_c('div',{staticClass:\"month_content\"},[_c('div',{staticClass:\"week-labels\"},_vm._l((_vm.weekdayLabels),function(weekdayLabel,key){return _c('div',{key:key,staticClass:\"week-labels_item\",class:_vm.highlightWeekday(key)},[_c('div',{staticClass:\"item-content\"},[_vm._v(_vm._s(weekdayLabel))])])}),0),_c('div',{staticClass:\"weeks\"},_vm._l((month.weeks),function(week,key){return _c('div',{key:key,staticClass:\"week\"},_vm._l((week),function(day,key){return _c('div',{key:key,ref:\"day\",refInFor:true,staticClass:\"week_item\",class:_vm.getDayClasses(day),attrs:{\"data-date\":day.date},on:{\"click\":function($event){$event.preventDefault();return _vm.onClickDay(day.date)}}},[_c('div',{staticClass:\"item-content\",class:day.class,style:(day.style),attrs:{\"title\":day.title}},[_vm._v(\" \"+_vm._s(day.dayNumber)+\" \")])])}),0)}),0)])])}),0)])],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:\"calendar-controls\"},[_c('span',{staticClass:\"material-icons calendar-control_item calendar-control_item-left\",class:{'control-disabled': _vm.isDisablePrevMonthBtn},attrs:{\"aria-hidden\":\"true\"},on:{\"click\":_vm.decreaseMonth}},[_vm._v(\" keyboard_arrow_left \")]),_c('span',{staticClass:\"material-icons calendar-control_item calendar-control_item-right\",class:{'control-disabled': _vm.isDisableNextMonthBtn},attrs:{\"aria-hidden\":\"true\"},on:{\"click\":_vm.increaseMonth}},[_vm._v(\" keyboard_arrow_right \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccCalendarControls.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccCalendarControls.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccCalendarControls.vue?vue&type=template&id=4b870656&\"\nimport script from \"./YccCalendarControls.vue?vue&type=script&lang=js&\"\nexport * from \"./YccCalendarControls.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccCalendarControls.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../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","function PropertyError (property, message) {\n this.name = 'PropertyError';\n\n this.property = property;\n this.message = message;\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, PropertyError);\n }\n else {\n this.stack = (new Error()).stack;\n }\n}\n\nexport default PropertyError;\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccCalendar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccCalendar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccCalendar.vue?vue&type=template&id=ebfa4b96&\"\nimport script from \"./YccCalendar.vue?vue&type=script&lang=js&\"\nexport * from \"./YccCalendar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccCalendar.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../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/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccDatepickerContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccDatepickerContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccDatepickerContent.vue?vue&type=template&id=f8c6b880&\"\nimport script from \"./YccDatepickerContent.vue?vue&type=script&lang=js&\"\nexport * from \"./YccDatepickerContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../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:\"sgc-dropdown\",class:[{'open': _vm.menuState.state}],attrs:{\"id\":_vm.uniqueKey,\"disabled\":_vm.disabled},on:{\"click\":_vm.changeState}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const NOT_CLOSING = 'sgc-dropdown-not_closing';\nexport const CLOSING = 'sgc-dropdown-closing';\nexport const MENU = 'sgc-dropdown-menu';\nexport const SUBMENU = 'sgc-dropdown-submenu';\nexport const MENU_CONTENT = 'sgc-dropdown-menu-content';\nexport const SHOW = 'open';\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccDropdown.vue?vue&type=template&id=0ff4441b&scoped=true&\"\nimport script from \"./YccDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./YccDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccDropdown.vue?vue&type=style&index=0&id=0ff4441b&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0ff4441b\",\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:\"opener\",staticClass:\"hint-box-ycc_opener\",class:{'with-ellipsis': _vm.isOpenerEqualContent},attrs:{\"id\":_vm.hintId},on:{\"mouseenter\":_vm.openHint,\"mouseleave\":_vm.closeHint}},[_vm._t(\"opener\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHint.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHint.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccHint.vue?vue&type=template&id=3378dbd0&\"\nimport script from \"./YccHint.vue?vue&type=script&lang=js&\"\nexport * from \"./YccHint.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccHint.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../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:\"validation\",class:_vm.validationCssClass},[_c('span',{staticClass:\"validation_icon icon-ycc\"}),_c('div',{staticClass:\"validation_content\"},[_vm._v(\" \"+_vm._s(_vm.error)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccValidationError.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccValidationError.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccValidationError.vue?vue&type=template&id=b00c237a&\"\nimport script from \"./YccValidationError.vue?vue&type=script&lang=js&\"\nexport * from \"./YccValidationError.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../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","export const SUCCESS = 'success';\nexport const DANGER = 'danger';\nexport const WARNING = 'warning';\nexport const ATTENTION = 'attention';\nexport const ATTENTION_INFO = 'attention-info';\nexport const ATTENTION_WARNING = 'attention-warning';\nexport const ATTENTION_DANGER = 'attention-danger';\n","const TYPES = {\n PERIOD: 'period',\n SINGLE: 'single',\n MULTI : 'multi',\n};\n\nconst WEEKDAY_LABELS = {\n ru: ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'],\n en: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],\n};\n\nconst MAX_MONTH_IN_LINE = 3;\nconst MAX_MONTH_IN_DATEPICKER = 12;\nconst BORDER_WIDTH = 1;\nconst MONTH_WIDTH = 200;\nconst ISO_DATE_FORMAT = 'YYYY-MM-DD';\n\nconst DEFAULT_STATE = {\n datepickerId : 'datepicker',\n lang : 'en',\n numberOfMonth : 3,\n rangeType : TYPES.SINGLE,\n significantDates: [],\n size : '',\n\n start : null,\n end : null,\n maxAllowedDate: null,\n maxRange : null,\n minAllowedDate: null,\n\n isHighlightToday : true,\n isHighlightWeekend: true,\n isInline : false,\n isDisabled : false,\n};\n\nconst TEXT_POSITIONS = {\n LEFT : 'left',\n RIGHT: 'right',\n};\n\nconst TEXT_POSITION_CSS_CLASSES = {\n LEFT : 'text-align-left',\n RIGHT: 'text-align-right',\n};\n\nexport {\n TYPES,\n WEEKDAY_LABELS,\n MAX_MONTH_IN_LINE,\n BORDER_WIDTH,\n MONTH_WIDTH,\n MAX_MONTH_IN_DATEPICKER,\n ISO_DATE_FORMAT,\n DEFAULT_STATE,\n TEXT_POSITIONS,\n TEXT_POSITION_CSS_CLASSES,\n};\n","const RANGE_TYPES = {\n LIVE : 'live',\n GAP : 'gap',\n FRAGMENT: 'fragment',\n};\n\nconst ANNOTATION_TYPES = {\n EVENT: 'event',\n};\n\nconst THUMB = 'thumb';\n\nconst SPEED_INDEXES = [0.25, 0.5, 1, 2, 4, 8, 16];\n\nexport {\n RANGE_TYPES,\n THUMB,\n SPEED_INDEXES,\n ANNOTATION_TYPES,\n};\n","export const getThumbId = (playerId) => `${playerId}-thumb`;\nexport const getProgressBarId = (playerId) => `${playerId}-progress`;\nexport const getCurrentDateId = (playerId) => `${playerId}-current-date`;\n","/* eslint-disable import/no-cycle */\nimport axios from 'axios';\nimport {\n ACCESS_DENIED_ERR,\n SERVER_ERR,\n SERVER_ERROR_CODES,\n SERVER_NOT_RESPONSE_ERR,\n SERVER_UNKNOWN_ERR,\n} from '@/constants/errorTypes';\nimport router from '@/router';\nimport store from '@/store/store';\n\nconst $http = axios.create();\n\n$http.interceptors.request.use(\n (config) => config,\n (error) => Promise.reject(error),\n);\n\n$http.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 404) {\n router.replace({ path: '/*' });\n }\n else if (error.response.status === 403\n && error.response.data.code !== SERVER_ERROR_CODES.QuotaReached) {\n store.dispatch('setError', {\n errorMsg : ACCESS_DENIED_ERR,\n errorName: SERVER_ERR,\n });\n }\n else if (error.response.status !== 401 && error.response.status !== 423) {\n store.dispatch('setError', {\n errorMsg : error.response && error.response.data\n ? error.response.data.code : SERVER_UNKNOWN_ERR,\n errorName: SERVER_ERR,\n });\n }\n }\n else if (!axios.isCancel(error)) {\n store.dispatch('setError', {\n errorMsg : SERVER_NOT_RESPONSE_ERR,\n errorName: SERVER_ERR,\n });\n }\n return Promise.reject(error);\n },\n);\n\nexport default $http;\n","const BASE_STREAM_URL = '/v1/stream';\nexport const ADDING_STREAM_URL = BASE_STREAM_URL;\nexport const UPDATING_STREAM_URL = BASE_STREAM_URL;\nexport const GETTING_STREAM_URL = BASE_STREAM_URL;\nexport const DELETE_STREAM_URL = BASE_STREAM_URL;\nexport const PAUSE_STREAM_URL = `${BASE_STREAM_URL}/pause`;\nexport const RESUME_STREAM_URL = `${BASE_STREAM_URL}/resume`;\nexport const PROBE_STREAM_URL = `${BASE_STREAM_URL}/probe`;\nexport const PREVIEW_STREAM_URL = `${BASE_STREAM_URL}/preview`;\n\nexport const SYSTEM_SETTINGS_URL = '/v1/system/internal/ui/settings';\nexport const SYSTEM_SEARCH = '/v1/system/internal/ui/search';\nexport const UNLOCK_URL = '/v1/system/unlock';\nexport const SELF_URL = '/v1/system/health';\nexport const LICENSE_URL = '/v1/system/license';\nexport const SERVER_DEBUG_URL = '/v1/system/logs';\n\nexport const LOGIN_URL = '/v1/auth';\nexport const GETTING_STREAMS_URL = '/v1/streams';\nexport const USER_URL = '/v1/user';\nexport const USERS_URL = '/v1/users';\nexport const PROFILE_TOKENS_URL = '/v1/tokens';\nexport const PROFILE_TOKEN_URL = '/v1/token';\nexport const SYSTEM_STATS_URL = '/v1/system/stats';\nexport const STATS_URL = '/v1/admin/stats';\nexport const CONFIG_URL = '/v1/admin/configuration';\nexport const ANNOTATIONS_URL = '/v1/annotations';\nexport const MOSAIC_URL = '/v1/mosaic';\nexport const ALL_MOSAICS_URL = '/v1/mosaics';\n\nexport const API_VERSION_CHECK = 'https://api.yucca.app/v1/version-check';\n\nexport function getArchiveUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/index.m3u8`;\n}\n\nexport function getRangesUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/ranges`;\n}\n\nexport function getArchiveStatsUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/stats`;\n}\n\nexport function getAvailableDaysUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/available-days`;\n}\n\nexport function getDownloadArchiveUrl ({ streamUid }) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/download`;\n}\n\nexport function getStreamPermissionsUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/permissions`;\n}\n\nexport function getStreamLogsUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/logs`;\n}\n\nexport function getBlockUserUrl (login) {\n return `${USER_URL}/${login}/block`;\n}\n\nexport function getUserPermissionsUrl (login) {\n return `${USER_URL}/${login}/permissions`;\n}\n\nexport function getUnblockUserUrl (login) {\n return `${USER_URL}/${login}/unblock`;\n}\n\nexport function getStreamShareUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/share`;\n}\n\nexport function getDeleteToken (tokenId) {\n return `${PROFILE_TOKEN_URL}/${tokenId}`;\n}\n\nexport function getStreamInfoUrl (streamUid, isLiveOnDemand = false) {\n return isLiveOnDemand\n ? `${GETTING_STREAM_URL}/${streamUid}?extend_lease=true`\n : `${GETTING_STREAM_URL}/${streamUid}`;\n}\n","export const SERVER_ERR = 'SERVER_ERR';\nexport const ACCESS_DENIED_ERR = 'ACCESS_DENIED_ERR';\nexport const SERVER_UNKNOWN_ERR = 'SERVER_UNKNOWN_ERR';\nexport const SERVER_NOT_RESPONSE_ERR = 'SERVER_NOT_RESPONSE_ERR';\nexport const CREDENTIALS_ERR = 'CREDENTIALS_ERR';\nexport const STREAM_SOURCE_ERR = 'STREAM_SOURCE_ERR';\nexport const STREAM_NAME_ERR = 'STREAM_NAME_ERR';\nexport const ARCHIVE_DEPTH_ERR = 'ARCHIVE_DEPTH_ERR';\n\nexport const SERVER_ERROR_CODES = {\n AlreadyUsed : 'AlreadyUsed',\n AuthorizationFailed : 'AuthorizationFailed',\n EnterpriseOnly : 'EnterpriseOnly',\n Forbidden : 'Forbidden',\n InternalServerError : 'InternalServerError',\n InvalidOldPassword : 'InvalidOldPassword',\n NotFound : 'NotFound',\n OldPasswordAndNewPasswordCannotBeSame: 'OldPasswordAndNewPasswordCannotBeSame',\n PasswordIsNotComplexEnough : 'PasswordIsNotComplexEnough',\n RequestDecodeError : 'RequestDecodeError',\n ResponseEncodeError : 'ResponseEncodeError',\n TimeRangeIsTooLong : 'TimeRangeIsTooLong',\n Unavailable : 'Unavailable',\n ValidationError : 'ValidationError',\n ProbeError : 'ProbeError',\n LicenseExpired : 'LicenseExpired',\n QuotaReached : 'QuotaReached',\n IncorrectLicense : 'IncorrectLicense',\n\n EHOSTUNREACH : 'EHOSTUNREACH',\n HTTP_NOT_FOUND : 'HTTP_NOT_FOUND',\n HTTP_UNAUTHORIZED: 'HTTP_UNAUTHORIZED',\n};\n","import {\n RU,\n EN,\n} from '@/constants/main';\n\nexport const BASE_LANDING_URL = 'https://yucca.app';\nexport const DOCS_LINK = 'https://docs.yucca.app';\n\n// eslint-disable-next-line import/prefer-default-export\nexport function getPricesLink (utm, lang = EN) {\n if (lang === RU) {\n return `${BASE_LANDING_URL}/ru/prices?utm_source=${utm}`;\n }\n return `${BASE_LANDING_URL}/en/prices?utm_source=${utm}`;\n}\n","import { getScrollWidth } from '@/extends/lib';\nimport PAGES from './pages';\n\nconst VIEW_MODES_KEYS = {\n GRID : 'GRID',\n TABLE: 'TABLE',\n};\n\nconst SORT_TYPES_KEYS = {\n DATE : 'DATE',\n NAME : 'NAME',\n LOCATION: 'LOCATION',\n};\n\nconst GROUP_TYPES_KEYS = {\n TAG : 'TAG',\n LOCATION: 'LOCATION',\n NO_GROUP: 'NO_GROUP',\n};\n\nconst ADMIN_TABS_KEYS = {\n STATS : PAGES.ADMIN_STATS,\n USERS : PAGES.ADMIN_USERS,\n CONFIG : PAGES.ADMIN_CONFIG,\n LICENSE : PAGES.LICENSE,\n SERVER_DEBUG: PAGES.SERVER_DEBUG,\n};\n\nconst STREAM_INFO_TABS_KEYS = {\n INFO : PAGES.STREAM_INFO,\n PERMISSION : PAGES.STREAM_PERMISSION,\n SETTINGS : PAGES.STREAM_SETTING,\n STREAM_DEBUG: PAGES.STREAM_DEBUG,\n};\n\nconst USER_TABS_KEYS = {\n INFO : PAGES.USER_INFO,\n EDIT : PAGES.USER_EDIT,\n PERMISSION: PAGES.USER_PERMISSION,\n};\n\nconst PROFILE_TABS_KEYS = {\n INFO : PAGES.PROFILE_INFO,\n EDIT : PAGES.PROFILE_EDIT,\n TOKEN: PAGES.PROFILE_TOKEN,\n};\n\nconst USER_PERMISSION_TYPES = {\n ADMIN: 'ADMIN',\n USER : 'USER',\n};\n\nconst STREAM_PERMISSION_TYPES = {\n ADMIN: 'admin',\n EDIT : 'edit',\n VIEW : 'view',\n NONE : 'none',\n};\n\nconst UNLIMITED = 'UNLIMITED';\n\nconst ADMIN_TABS = {\n [ADMIN_TABS_KEYS.STATS] : {\n key : ADMIN_TABS_KEYS.STATS,\n icon : 'show_chart',\n label: '',\n },\n [ADMIN_TABS_KEYS.USERS] : {\n key : ADMIN_TABS_KEYS.USERS,\n icon : 'supervisor_account',\n label: '',\n },\n [ADMIN_TABS_KEYS.CONFIG] : {\n key : ADMIN_TABS_KEYS.CONFIG,\n icon : 'settings',\n label: '',\n },\n [ADMIN_TABS_KEYS.SERVER_DEBUG]: {\n key : ADMIN_TABS_KEYS.SERVER_DEBUG,\n icon : 'bug_report',\n label: '',\n },\n [ADMIN_TABS_KEYS.LICENSE] : {\n key : ADMIN_TABS_KEYS.LICENSE,\n icon : 'card_membership',\n label: '',\n },\n};\n\nconst STREAM_INFO_TABS = {\n [STREAM_INFO_TABS_KEYS.INFO] : {\n key : STREAM_INFO_TABS_KEYS.INFO,\n icon : 'info',\n label : '',\n disabled: false,\n },\n [STREAM_INFO_TABS_KEYS.PERMISSION] : {\n key : STREAM_INFO_TABS_KEYS.PERMISSION,\n icon : 'vpn_key',\n label : '',\n disabled: false,\n },\n [STREAM_INFO_TABS_KEYS.SETTINGS] : {\n key : STREAM_INFO_TABS_KEYS.SETTINGS,\n icon : 'settings',\n label : '',\n disabled: false,\n },\n [STREAM_INFO_TABS_KEYS.STREAM_DEBUG]: {\n key : STREAM_INFO_TABS_KEYS.STREAM_DEBUG,\n icon : 'bug_report',\n label: '',\n },\n};\n\nconst USER_TABS = {\n [USER_TABS_KEYS.INFO] : {\n key : USER_TABS_KEYS.INFO,\n icon : 'info',\n label : '',\n disabled: false,\n },\n [USER_TABS_KEYS.PERMISSION]: {\n key : USER_TABS_KEYS.PERMISSION,\n icon : 'vpn_key',\n label : '',\n disabled: false,\n },\n [USER_TABS_KEYS.EDIT] : {\n key : USER_TABS_KEYS.EDIT,\n icon : 'settings',\n label : '',\n disabled: false,\n },\n};\n\nconst PROFILE_TABS = {\n [PROFILE_TABS_KEYS.INFO] : {\n key : PROFILE_TABS_KEYS.INFO,\n icon : 'info',\n label : '',\n disabled: false,\n },\n [PROFILE_TABS_KEYS.TOKEN]: {\n key : PROFILE_TABS_KEYS.TOKEN,\n icon : 'vpn_key',\n label : '',\n disabled: false,\n },\n [PROFILE_TABS_KEYS.EDIT] : {\n key : PROFILE_TABS_KEYS.EDIT,\n icon : 'settings',\n label : '',\n disabled: false,\n },\n};\n\nconst VIEW_MODES = {\n [VIEW_MODES_KEYS.GRID] : {\n key : 'GRID',\n class: 'grid-mode',\n icon : 'view_module',\n },\n [VIEW_MODES_KEYS.TABLE]: {\n key : 'TABLE',\n class: 'table-mode',\n icon : 'view_list',\n },\n};\n\nconst SORT_TYPES = {\n [SORT_TYPES_KEYS.DATE] : {\n key : 'DATE',\n icon: '',\n },\n [SORT_TYPES_KEYS.NAME] : {\n key : 'NAME',\n icon: '',\n },\n [SORT_TYPES_KEYS.LOCATION]: {\n key : 'LOCATION',\n icon: '',\n },\n};\n\nconst GROUP_TYPES = {\n [GROUP_TYPES_KEYS.TAG] : {\n key : GROUP_TYPES_KEYS.TAG,\n icon: 'label',\n },\n [GROUP_TYPES_KEYS.NO_GROUP]: {\n key : GROUP_TYPES_KEYS.NO_GROUP,\n icon: 'label_outline',\n },\n};\n\nconst STREAM_STATUS = {\n RUNNING : 'running',\n PENDING : 'pending',\n PAUSED : 'paused',\n CANCELED: 'canceled',\n STOPPED : 'stopped',\n FAILED : 'failed',\n};\n\nconst PLAYER_VIEW_MODES = {\n LIVE : 'LIVE',\n ARCHIVE: 'ARCHIVE',\n};\n\nconst USER_ACCESSES = {\n active : 'active',\n blocked: 'blocked',\n};\n\nconst MOVE_TIME = 200;\nconst PANEL_SIZE = 45;\nconst DEFAULT_DEPTH = 168;\nconst DEFAULT_PLAYLIST_DURATION = 600;\nconst EN = 'en';\nconst EN_US = 'en-us';\nconst RU = 'ru';\nconst UK = 'uk';\n\nconst SORTING_TYPES = {\n desc : 'desc',\n asc : 'asc',\n nonSort: 'nonSort',\n};\n\nconst LANG_MAP = {\n [EN_US]: EN,\n [EN] : EN,\n [RU] : RU,\n [UK] : UK,\n};\n\nconst PERMISSION_OBJECTS = {\n USER: 'USER',\n TEAM: 'TEAM',\n};\n\nconst COLORS = {\n dark : '#4b4d64',\n stone: '#666',\n wolf : '#999',\n};\n\nconst BREAKPOINTS_720 = 720;\n\nconst SCROLL_WIDTH = getScrollWidth();\n\nexport {\n EN,\n EN_US,\n RU,\n UK,\n LANG_MAP,\n VIEW_MODES,\n GROUP_TYPES,\n SORT_TYPES,\n MOVE_TIME,\n PANEL_SIZE,\n STREAM_STATUS,\n PLAYER_VIEW_MODES,\n DEFAULT_DEPTH,\n DEFAULT_PLAYLIST_DURATION,\n VIEW_MODES_KEYS,\n SORT_TYPES_KEYS,\n GROUP_TYPES_KEYS,\n ADMIN_TABS,\n ADMIN_TABS_KEYS,\n USER_PERMISSION_TYPES,\n UNLIMITED,\n STREAM_PERMISSION_TYPES,\n STREAM_INFO_TABS_KEYS,\n STREAM_INFO_TABS,\n PERMISSION_OBJECTS,\n USER_ACCESSES,\n COLORS,\n BREAKPOINTS_720,\n SCROLL_WIDTH,\n SORTING_TYPES,\n USER_TABS_KEYS,\n USER_TABS,\n PROFILE_TABS,\n PROFILE_TABS_KEYS,\n};\n","export const PROFILE_UPDATED_NOTICE = 'PROFILE_UPDATED_NOTICE';\nexport const USER_SAVED_NOTICE = 'USER_SAVED_NOTICE';\nexport const USER_BLOCKED_NOTICE = 'USER_BLOCKED_NOTICE';\nexport const USER_UNBLOCKED_NOTICE = 'USER_UNBLOCKED_NOTICE';\nexport const STREAM_DELETED_NOTICE = 'STREAM_DELETED_NOTICE';\nexport const STREAM_INFO_SAVED_NOTICE = 'STREAM_INFO_SAVED_NOTICE';\n","export default {\n ADD_STREAM : 'add-stream',\n ADMIN : 'admin',\n ADMIN_STATS : 'admin-stats',\n ADMIN_CONFIG : 'admin-config',\n ADMIN_USERS : 'admin-users',\n SERVER_DEBUG : 'server-debug',\n ALL_STREAMS : 'streams',\n AUTH : 'auth',\n BOOKMARKS : 'bookmarks',\n HELP : 'help',\n INIT : 'init',\n NOT_FOUND : 'not-found',\n PROFILE : 'profile',\n PROFILE_INFO : 'profile-info',\n PROFILE_EDIT : 'profile-edit',\n PROFILE_TOKEN : 'profile-token',\n STREAM : 'stream',\n STREAM_VIEW : 'stream-view',\n STREAM_INFO : 'stream-info',\n STREAM_SETTING : 'stream-setting',\n STREAM_PERMISSION: 'stream-permission',\n STREAM_DEBUG : 'stream-debug',\n SETTINGS : 'settings',\n USER : 'user',\n USER_ADD : 'user-add',\n USER_INFO : 'user-info',\n USER_EDIT : 'user-edit',\n USER_PERMISSION : 'user-permission',\n LICENSE : 'license',\n CREATE_MOSAIC : 'create-mosaic',\n WATCH_MOSAIC : 'watch-mosaic',\n EDIT_MOSAIC : 'edit-mosaic',\n ALL_MOSAICS : 'mosaics',\n};\n","const TOP = 'top';\nconst TOP_LTR = 'top-ltr';\nconst TOP_RTL = 'top-rtl';\nconst TOP_CENTER = 'top-center';\nconst BOTTOM = 'bottom';\nconst BOTTOM_LTR = 'bottom-ltr';\nconst BOTTOM_RTL = 'bottom-rtl';\nconst BOTTOM_CENTER = 'bottom-center';\nconst LEFT = 'left';\nconst RIGHT = 'right';\n\nexport {\n TOP,\n TOP_LTR,\n TOP_RTL,\n TOP_CENTER,\n BOTTOM,\n BOTTOM_LTR,\n BOTTOM_RTL,\n BOTTOM_CENTER,\n LEFT,\n RIGHT,\n};\n","/* eslint-disable no-undef */\n\n// Browser environment sniffing\nconst inBrowser = typeof window !== 'undefined';\nconst inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nconst weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nconst UA = inBrowser && window.navigator.userAgent.toLowerCase();\nconst isEdge = UA && UA.indexOf('edge/') > 0;\nconst isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nconst isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nconst isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nconst isPhantomJS = UA && /phantomjs/.test(UA);\nconst isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\nfunction isSafari () {\n const userAgent = navigator.userAgent.toLowerCase();\n\n if (userAgent.indexOf('safari') !== -1) {\n return userAgent.indexOf('chrome') <= -1;\n }\n return false;\n}\n\nfunction iOSVersion () {\n if (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) {\n if (window.indexedDB) {\n return 'iOS 8 and up';\n }\n if (window.SpeechSynthesisUtterance) {\n return 'iOS 7';\n }\n if (window.webkitAudioContext) {\n return 'iOS 6';\n }\n if (window.matchMedia) {\n return 'iOS 5';\n }\n if (!!window.history && 'pushState' in window.history) {\n return 'iOS 4';\n }\n return 'iOS 3 or earlier';\n }\n\n return null;\n}\n\nconst isMobile = isAndroid || isIOS;\n\nconst isMediaAtLeast720 = () => window.matchMedia('(min-width: 720px)').matches;\n\nexport {\n isEdge,\n isAndroid,\n isIOS,\n isChrome,\n isPhantomJS,\n isFF,\n isSafari,\n iOSVersion,\n isMobile,\n isMediaAtLeast720,\n};\n","import dayjs from 'dayjs';\n\nconst DATE_FORMAT = 'YYYY-MM-DD HH:mm:ss';\n\n// Вычислить размеры фрагментов и пропусков\nexport function getFragmentWidth (start, end, duration) {\n return ((end - start) * 100) / duration;\n}\n\nexport function getCoords (elem) {\n const box = elem.getBoundingClientRect();\n return {\n top : box.top + window.pageYOffset,\n left : box.left + window.pageXOffset,\n width : box.width,\n height: box.height,\n };\n}\n\n/* eslint-disable */\nexport function getElementUnderClientXY (elem, clientX, clientY) {\n const display = elem.style.display || '';\n elem.style.display = 'none';\n\n let target = document.elementFromPoint(clientX, clientY);\n\n elem.style.display = display;\n\n if (!target || target === document) { // это бывает при выносе за границы окна\n target = document.body; // поправить значение, чтобы был именно элемент\n }\n\n return target;\n}\n\nexport function getElemFromPoint (clientX, clientY) {\n return document.elementFromPoint(clientX, clientY);\n}\n\nexport function formatDate (date, formatType = 'll', language = 'ru') {\n const formatsMap = {\n lll: 'D MMM YYYY, HH:mm',\n ll : 'D MMM YYYY',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LT : 'HH:mm',\n };\n const format = formatsMap[formatType] || formatType;\n\n dayjs.locale(language);\n\n const monthLetters = dayjs(date).format('MMMM').split('');\n const month = `${monthLetters[0].toUpperCase()}${monthLetters[1]}${monthLetters[2]}`;\n const DMMMYYYY = `${dayjs(date).format('D')} ${month} ${dayjs(date).format('YYYY')}`;\n const MMMDD = `${month} ${dayjs(date).format('DD')}`;\n const HHmmss = dayjs(date, DATE_FORMAT).format('HH:mm:ss');\n\n switch (format) {\n case 'D MMM':\n return `${dayjs(date).format('D')} ${month}`;\n case 'MMM DD':\n return MMMDD;\n case 'DD MMM, HH:mm':\n return `${dayjs(date).format('D')} ${month}, ${dayjs(date, DATE_FORMAT).format('HH:mm')}`;\n case 'D MMM YYYY':\n return DMMMYYYY;\n case 'D MMM YYYY, HH:mm':\n return `${DMMMYYYY}, ${dayjs(date, DATE_FORMAT).format('HH:mm')}`;\n case 'HH:mm:ss, MMM DD':\n return `${HHmmss}, ${MMMDD}`;\n case 'HH:mm:ss, MMM DD, YYYY':\n return `${HHmmss}, ${MMMDD}, ${dayjs(date).format('YYYY')}`;\n default:\n return dayjs(date, DATE_FORMAT).format(format);\n }\n}\n\nexport const convertDateToSeconds = (date) => {\n return new Date(date).getTime() / 1000;\n};\n\nexport function getCookie (name) {\n let matches = document.cookie.match(new RegExp(\n '(?:^|; )' + name.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + '=([^;]*)',\n ));\n return matches ? decodeURIComponent(matches[1]) : undefined;\n}\n\nexport function setCookie (name, value, options = {}) {\n options = {\n path: '/',\n ...options,\n };\n\n if (options.expires && options.expires.toUTCString) {\n options.expires = options.expires.toUTCString();\n }\n\n let updatedCookie = encodeURIComponent(name) + '=' + encodeURIComponent(value);\n\n for (let optionKey in options) {\n updatedCookie += '; ' + optionKey;\n let optionValue = options[optionKey];\n if (optionValue !== true) {\n updatedCookie += '=' + optionValue;\n }\n }\n\n document.cookie = updatedCookie;\n}\n\nexport function deleteCookie (name) {\n setCookie(name, '', {\n 'max-age': -1,\n });\n}\n\nexport function getWrapHeight (selector) {\n const { clientHeight } = document.documentElement;\n const authWrapHeight = document.querySelector(selector) ? document.querySelector(selector).clientHeight : 0;\n\n return authWrapHeight >= clientHeight ? 'auto' : '100%';\n}\n\nexport function yccScrollTo (elem) {\n const top = elem.getBoundingClientRect().y;\n\n if (top !== 0) {\n window.scrollTo({\n top : top + window.pageYOffset - 60,\n behavior: 'smooth',\n });\n }\n}\n\n/**\n * Получить порядковый номер символа в строке\n * @param str\n * @param symbol\n * @returns {null}\n */\nexport function getIndexSymbol (str, symbol) {\n let indexSymbol = null;\n\n for (let i = 0; i < str.length; i++) {\n if (str.charAt(i) === symbol) {\n indexSymbol = i;\n }\n }\n return indexSymbol;\n}\n\nfunction getChar (event, isNumber = false) {\n if (event.which === null) {\n if (event.keyCode < 32 || (isNumber && event.keyCode < 48)) {\n return null;\n }\n return String.fromCharCode(event.keyCode); // IE\n }\n\n if (event.which !== 0 && event.charCode !== 0) {\n if (event.which < 32 || (isNumber && event.which < 48)) {\n return null;\n }\n return String.fromCharCode(event.which); // остальные\n }\n\n return null; // специальная клавиша\n}\n\nexport function validate (event, isNumber = false) {\n if (event.ctrlKey || event.altKey || event.metaKey) {\n return;\n }\n\n let chr = getChar(event, isNumber);\n\n if (chr === null) {\n return;\n }\n\n if (chr < '0' || chr > '9') {\n event.preventDefault();\n }\n}\n\nexport function cloneObjDeep (obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n\nexport function getScrollWidth () {\n // Creating invisible container\n const outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.overflow = 'scroll'; // forcing scrollbar to appear\n outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps\n document.body.appendChild(outer);\n\n // Creating inner element and placing it in the container\n const inner = document.createElement('div');\n outer.appendChild(inner);\n\n // Calculating difference between container's full width and the child width\n const scrollbarWidth = (outer.offsetWidth - inner.offsetWidth);\n\n // Removing temporary elements from the DOM\n outer.parentNode.removeChild(outer);\n\n return scrollbarWidth;\n}\n\nexport function isChildElem ({ className, elem, modalId }) {\n function findElements (selector) {\n return document.querySelectorAll(selector);\n }\n\n if (className && elem.classList.contains(className)) {\n return true;\n }\n\n let selector = '';\n if (className.length > 0) {\n selector = `.${className}`;\n }\n const notClosingElements = findElements(`#${modalId} ${selector} *`);\n for (let i = 0; i < notClosingElements.length; i++) {\n if (elem === notClosingElements[i]) {\n return true;\n }\n }\n return false;\n}\n\nexport function getSortingDirection (sortingType) {\n if (sortingType === 'desc') {\n return -1;\n }\n return 1;\n}\n\nexport function showServerSwitcher () {\n app.serverSwitcher();\n}\n","const isExist = (value) => value !== null && value !== undefined;\n\nexport default class StorageAdapter {\n constructor ({ itemName, isPrimitive }, storage = localStorage) {\n this.itemName = itemName;\n this.isPrimitive = isPrimitive;\n this.storage = storage || null;\n }\n\n getCorrectValue = (value, isPrimitive, correctionFunc) => isPrimitive ? value : correctionFunc(value);\n\n getItem () {\n return this.storage.getItem(this.itemName)\n ? this.getCorrectValue(this.storage.getItem(this.itemName), this.isPrimitive, JSON.parse)\n : null;\n }\n\n setItem (value) {\n if (isExist(value)) {\n this.storage.setItem(this.itemName, this.getCorrectValue(value, this.isPrimitive, JSON.stringify));\n }\n }\n\n removeItem () {\n this.storage.removeItem(this.itemName);\n }\n}\n","import StorageAdapter from '@/extends/StorageAdapter';\n\nconst destinationPageStorage = new StorageAdapter({\n itemName : 'destinationPage',\n isPrimitive: false,\n}, sessionStorage);\n\nclass WarningStorage extends StorageAdapter {\n constructor () {\n super({\n itemName : 'warnings',\n isPrimitive: false,\n });\n\n this.keepingTime = 7 * 24 * 60 * 60 * 1000;\n\n if (!this.getItem()) {\n this.setItem({});\n }\n else {\n this.clearExpiredWarnings();\n }\n }\n\n setWarning (warningCode) {\n const warnings = this.getItem();\n warnings[warningCode] = (new Date(Date.now() + this.keepingTime)).toISOString();\n this.setItem(warnings);\n }\n\n getWarnings () {\n return Object.keys(this.getItem());\n }\n\n static isExpired (warningCode, warnings) {\n return warnings[warningCode] <= (new Date()).toISOString();\n }\n\n clearExpiredWarnings () {\n const warnings = this.getItem() || {};\n\n Object.keys(warnings).forEach((warningCode) => {\n if (WarningStorage.isExpired(warningCode, warnings)) {\n delete warnings[warningCode];\n }\n });\n\n this.setItem(warnings);\n }\n}\n\nconst warningsStorage = new WarningStorage();\n\nexport {\n destinationPageStorage,\n warningsStorage,\n};\n","import {\n LANG_MAP,\n EN,\n} from '@/constants/main';\nimport {\n DOCS_LINK,\n BASE_LANDING_URL,\n} from '@/constants/links';\n\nclass YuccaBootConfig {\n constructor (\n {\n isEnterprise,\n isLocked,\n prober,\n revision,\n version,\n appTitle,\n appLogo,\n defaultLanguage,\n archiveDownloadMaxSeconds,\n playlistMaxSeconds,\n rangesMaxSeconds,\n isLicenseExpired,\n archiveMaxDepthHours,\n smtpServerEnabled,\n smtpServerHost,\n smtpServerProtected,\n smtpServerPort,\n documentation,\n site,\n features,\n },\n {\n language,\n },\n ) {\n this.isEnterprise = isEnterprise || false;\n this.isLocked = isLocked || false;\n this.prober = prober || false;\n this.revision = revision || '';\n this.version = version || '';\n this.appTitle = appTitle || 'Yucca';\n this.appLogo = appLogo || '';\n this.defaultLanguage = LANG_MAP[defaultLanguage] || EN;\n this.language = LANG_MAP[language] || this.defaultLanguage;\n this.isLicenseExpired = isLicenseExpired || false;\n this.archiveMaxDepthHours = archiveMaxDepthHours || -1;\n this.smtpServerEnabled = smtpServerEnabled || true;\n this.smtpServerHost = smtpServerHost || '';\n this.smtpServerPort = smtpServerPort || '';\n this.smtpServerProtected = smtpServerProtected || false;\n this.documentation = documentation || DOCS_LINK;\n this.site = site || BASE_LANDING_URL;\n this.features = features || {};\n\n this.archiveDownloadMaxSeconds = archiveDownloadMaxSeconds || 3600;\n this.playlistMaxSeconds = playlistMaxSeconds || 604800;\n this.rangesMaxSeconds = rangesMaxSeconds || 10800;\n }\n}\n\nconst yccBootConfig = window.YUCCA_BOOT_DATA\n ? new YuccaBootConfig(window.YUCCA_BOOT_DATA.settings, window.YUCCA_BOOT_DATA.user)\n : null;\n\nexport {\n YuccaBootConfig,\n yccBootConfig,\n};\n","import translations from '../assets/lang/json/translations.json';\n\nconst en = {};\nconst ru = {\n ...translations.ru,\n};\nconst uk = {\n ...translations.uk,\n};\n\nexport default {\n en,\n ru,\n uk,\n};\n","import {\n EN,\n RU,\n UK,\n} from '@/constants/main';\nimport translations from './translations';\n\nexport default function gettextOptions (lang) {\n return {\n translations,\n availableLanguages: {\n [EN]: 'English',\n [RU]: 'Русский',\n [UK]: 'Українська',\n },\n defaultLanguage : lang || EN,\n silent : true,\n };\n}\n","/* eslint-disable no-param-reassign */\nimport { formatDate } from './lib';\n\nexport default {\n install (Vue, options) {\n Vue.prototype.$yccConfig = options.config;\n\n Vue.prototype.$isDebug = options.isDebug;\n\n Vue.prototype.$setDocumentTitle = (titles = []) => {\n if (document) {\n if (titles.length > 0) {\n document.title = `${titles.join(' ')} - ${options.config.appTitle || 'Yucca'}`;\n }\n else {\n document.title = `${options.config.appTitle || 'Yucca'}`;\n }\n }\n };\n\n Vue.prototype.$appLogo = options.config.appLogo;\n\n Vue.$setLanguage = (lang) => {\n Vue.prototype.$yccConfig.language = lang;\n };\n\n Vue.prototype.$formatDate = (value, format) => {\n const lang = Vue.prototype.$yccConfig.language;\n return formatDate(value, format, lang);\n };\n Vue.filter('formatDate', (value, format) => {\n const lang = Vue.prototype.$yccConfig.language;\n return formatDate(value, format, lang);\n });\n },\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('ycc-layout',{attrs:{\"is-fix-content\":_vm.isFixContent,\"is-read-only-profile\":_vm.isReadOnlyProfile,\"is-close-aside-outside\":_vm.isFixContent,\"is-auth-or-init-page\":_vm.isAuthOrInitPage,\"is-license-expired\":_vm.isLicenseExpired,\"is-empty-route\":_vm.isEmptyRoute,\"warnings\":_vm.warnings},on:{\"logout\":_vm.logout}},[_c('template',{slot:\"content\"},[_c('router-view')],1)],2),_c('vue-progress-bar',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isAuthOrInitPage),expression:\"!isAuthOrInitPage\"}]}),_c('datepicker')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { getCookie } from '@/extends/lib';\n\nexport default class CookieService {\n static getDeviceOs () {\n return getCookie('device_os');\n }\n\n static getShowServerSwitcher () {\n const cookie = getCookie('show_server_switcher');\n return cookie ? JSON.parse(cookie) : null;\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"layout\"},[(_vm.isShowHeader)?_c('div',{ref:\"layoutHeader\",staticClass:\"layout-header\"},[(_vm.shownWarnings.length > 0)?_c('ycc-alert',{staticClass:\"layout-warning\",attrs:{\"name\":_vm.WARNING}},_vm._l((_vm.shownWarnings),function(warning,index){return _c('div',{key:index,staticClass:\"layout-warning_content\"},[_c('div',{domProps:{\"innerHTML\":_vm._s(warning.message)}}),_c('button',{staticClass:\"btn-ycc-clean-big\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.hideWarning(warning.code)}}})])}),0):_vm._e(),(_vm.isVisibleLicenseAlert)?_c('ycc-alert',{attrs:{\"name\":_vm.DANGER}},[_c('div',{staticClass:\"validation validation-error\"},[_c('span',{staticClass:\"validation_icon icon-ycc\"}),_c('div',{staticClass:\"validation_content\"},[_vm._v(\" \"+_vm._s((_vm.licenseStateTitle + \" \" + _vm.licenseStateDescription))+\" \"),_c('router-link',{staticClass:\"btn-ycc-link\",attrs:{\"to\":{name: _vm.PAGES.LICENSE}}},[_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Upload a license\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"for unlock.\")])],1)])]):_vm._e(),_c('ycc-header',{on:{\"logout\":_vm.logout,\"toggled-aside\":_vm.toggleAside}})],1):_vm._e(),_c('div',{staticClass:\"layout-main\",class:[_vm.layoutMainClasses, {'visible': _vm.hasAside}]},[_c('div',{staticClass:\"layout-aside\",style:(_vm.layoutAsideStyle)},[_c('div',{staticClass:\"aside\"},[_c('div',{staticClass:\"aside-content\"},[_c('ycc-toolbar',{attrs:{\"page\":_vm.$route.name,\"is-read-only-profile\":_vm.isReadOnlyProfile,\"is-open-aside\":_vm.isOpenAside}},[_vm._t(\"toolbar\")],2)],1)])]),_c('div',{staticClass:\"layout-content\",style:({'padding-top': (_vm.headerHeight + \"px\")})},[_vm._t(\"content\")],2)]),(_vm.isEmptyRoute)?_c('div',{staticClass:\"loading-page\",attrs:{\"loading\":_vm.isEmptyRoute,\"element-loading-text\":'Page loading...',\"element-loading-spinner\":'el-icon-loading',\"element-loading-background\":'#fff'}}):_vm._e()])}\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:\"toolbar\"},[_c('div',{staticClass:\"toolbar_general\"},[_c('div',{staticClass:\"toolbar-item\",class:{active: _vm.isActivePage(_vm.PAGES.ALL_STREAMS)}},[_c('router-link',{staticClass:\"link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ALL_STREAMS}}},[_c('div',{staticClass:\"toolbar-item_icon\"},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"videocam\")])])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"toolbar-item_title\"},[_vm._v(\"All streams\")])]),_c('div',{staticClass:\"toolbar-item_menu\",class:{hidden: _vm.isOpenAside}},[_c('router-link',{staticClass:\"link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ALL_STREAMS}}},[_c('div',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"menu-item\"},[_vm._v(\" All streams \")])])],1)],1),(!_vm.isReadOnlyProfile)?_c('div',{staticClass:\"toolbar-item\",class:{active: _vm.isActivePage(_vm.PAGES.ADD_STREAM)}},[_c('router-link',{staticClass:\"link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ADD_STREAM}}},[_c('div',{staticClass:\"toolbar-item_icon\"},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"add\")])])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"toolbar-item_title\"},[_vm._v(\"Add stream\")])]),_c('div',{staticClass:\"toolbar-item_menu\",class:{hidden: _vm.isOpenAside}},[_c('router-link',{staticClass:\"link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ADD_STREAM}}},[_c('div',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"menu-item\"},[_vm._v(\" Add stream \")])])],1)],1):_vm._e()]),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccToolbar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccToolbar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccToolbar.vue?vue&type=template&id=313e03fb&\"\nimport script from \"./YccToolbar.vue?vue&type=script&lang=js&\"\nexport * from \"./YccToolbar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../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:\"header\"},[_c('div',{staticClass:\"layout-header-aside-item\",on:{\"click\":_vm.toggleAside}},[_vm._m(0)]),_c('div',{staticClass:\"header-nav\"},[_c('router-link',{staticClass:\"header-item header-logo link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ALL_STREAMS}}},[_c('div',{staticClass:\"header-logo\",class:{'ycc-logo-height': !_vm.hasAppLogo}},[_c('ycc-logo',{attrs:{\"is-header\":true}})],1)]),(!_vm.isReadOnly)?[_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'addStream',\"hint\":_vm.addingStreamTitle,\"position\":'bottom'}},[_c('router-link',{staticClass:\"header-item link-ycc\",attrs:{\"slot\":\"opener\",\"to\":{name: _vm.PAGES.ADD_STREAM}},slot:\"opener\"},[_c('div',{staticClass:\"header-item_icon\"},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"add\")])])])])],1)]:_vm._e()],2),_c('div',{staticClass:\"header-action\"},[(_vm.isStreamPage)?_c('div',{staticClass:\"header-action_stream\"},[_c('ycc-hint',{staticClass:\"header-item-hint header-stream-name-wrapper\",attrs:{\"hint-id\":'streamView',\"hint\":_vm.streamName,\"is-opener-equal-content\":true,\"position\":'bottom'}},[_c('div',{staticClass:\"header-item\",class:{'active': _vm.isActivePage(_vm.PAGES.STREAM_VIEW)},attrs:{\"slot\":\"opener\"},slot:\"opener\"},[_c('router-link',{staticClass:\"header-stream-name text-ycc-bold\",attrs:{\"to\":{name: _vm.PAGES.STREAM_VIEW, params: _vm.streamRouterParams}}},[_vm._v(\" \"+_vm._s(_vm.streamName)+\" \")])],1)]),_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'streamInfo',\"hint\":_vm.streamSettingsTitle,\"position\":'bottom'}},[_c('router-link',{staticClass:\"header-item\",class:{'active': _vm.isStreamInfoPage},attrs:{\"slot\":\"opener\",\"to\":{name: _vm.PAGES.STREAM_INFO, params: _vm.streamRouterParams}},slot:\"opener\"},[_c('span',{staticClass:\"icon-ycc stream-info_settings\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"info\")])])])],1)],1):(_vm.isMosaicPage)?_c('div',{staticClass:\"header-action_stream\"},[_c('ycc-hint',{staticClass:\"header-item-hint header-stream-name-wrapper\",attrs:{\"hint-id\":'mosaicWatch',\"hint\":_vm.mosaicName,\"is-opener-equal-content\":true,\"position\":'bottom'}},[_c('div',{staticClass:\"header-item\",class:{'active': _vm.isActivePage(_vm.PAGES.WATCH_MOSAIC)},attrs:{\"slot\":\"opener\"},slot:\"opener\"},[_c('router-link',{staticClass:\"header-stream-name text-ycc-bold\",attrs:{\"to\":{name: _vm.PAGES.WATCH_MOSAIC, params: _vm.mosaicRouterParams}}},[_vm._v(\" \"+_vm._s(_vm.mosaicName)+\" \")])],1)]),(_vm.mosaic && _vm.mosaic.meta && _vm.mosaic.meta.canAdmin)?_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'mosaicInfo',\"hint\":_vm.mosaicSettingsTitle,\"position\":'bottom'}},[_c('router-link',{staticClass:\"header-item\",class:{'active': _vm.isActivePage(_vm.PAGES.EDIT_MOSAIC)},attrs:{\"slot\":\"opener\",\"to\":{name: _vm.PAGES.EDIT_MOSAIC, params: _vm.mosaicRouterParams}},slot:\"opener\"},[_c('span',{staticClass:\"icon-ycc stream-info_settings\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"settings\")])])])],1):_vm._e()],1):(_vm.isAllStreamsPage)?_c('div',{staticClass:\"header-action_streams\"},[_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'grouping',\"hint\":_vm.getGroupLabel(_vm.groupType),\"position\":'bottom'}},[(_vm.groupType)?_c('span',{staticClass:\"header-item\",class:{'text-ycc-active': _vm.groupType === _vm.GROUP_TYPES.TAG.key},attrs:{\"slot\":\"opener\"},on:{\"click\":function($event){return _vm.groupStreams()}},slot:\"opener\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(_vm._s(_vm.GROUP_TYPES[_vm.groupType].icon))])]):_vm._e()]),_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'viewMode',\"hint\":_vm.viewModeTitle,\"position\":'bottom'}},[_c('span',{staticClass:\"header-item\",attrs:{\"slot\":\"opener\"},on:{\"click\":function($event){return _vm.changeViewMode()}},slot:\"opener\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(_vm._s(_vm.VIEW_MODES[_vm.viewModeKey].icon))])])]),_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'availabilityStreams',\"hint\":_vm.availableStreamsInfo.title,\"position\":'bottom'}},[_c('span',{staticClass:\"header-item\",attrs:{\"slot\":\"opener\"},on:{\"click\":function($event){return _vm.toggleShowingAvailable()}},slot:\"opener\"},[_c('span',{staticClass:\"icon-ycc\",class:{'text-ycc-success': _vm.isShownAvailableStreams}},[_c('i',{staticClass:\"material-icons\"},[_vm._v(_vm._s(_vm.availableStreamsInfo.icon))])])])])],1):_c('div',{staticClass:\"header-action_stream\"},[_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'pageTitle',\"hint\":_vm.pageTitle,\"position\":'bottom'}},[_c('div',{staticClass:\"header-page-title\",attrs:{\"slot\":\"opener\"},slot:\"opener\"},[_vm._v(\" \"+_vm._s(_vm.pageTitle)+\" \")])])],1)]),_c('ycc-header-menu',{attrs:{\"version\":_vm.version,\"is-admin\":_vm.isAdmin,\"id\":(\"menu-\" + (_vm.$language.current)),\"documentation-link\":_vm.$yccConfig.documentation,\"isShowServerSwitcher\":_vm.isShowServerSwitcher},on:{\"logout\":_vm.logout}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"aside-item_content\"},[_c('div',{staticClass:\"aside-item_icon\"},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"menu\")])])])])}]\n\nexport { render, staticRenderFns }","import pages from './pages';\n\nexport default function pageNames ($gettext = (text) => text) {\n return {\n [pages.ADD_STREAM] : $gettext('Add stream'),\n [pages.ADMIN] : $gettext('Administration'),\n [pages.ADMIN_USERS] : $gettext('Users'),\n [pages.ADMIN_CONFIG] : $gettext('Configuration'),\n [pages.ADMIN_STATS] : $gettext('Statistics'),\n [pages.ALL_STREAMS] : $gettext('Streams'),\n [pages.AUTH] : $gettext('Authorization'),\n [pages.BOOKMARKS] : $gettext('Bookmarks'),\n [pages.HELP] : $gettext('Help'),\n [pages.INIT] : $gettext('Server initialization'),\n [pages.NOT_FOUND] : $gettext('Page not found'),\n [pages.PROFILE] : $gettext('My profile'),\n [pages.PROFILE_TOKEN] : $gettext('My tokens'),\n [pages.PROFILE_INFO] : $gettext('My profile'),\n [pages.PROFILE_EDIT] : $gettext('My profile'),\n [pages.STREAM] : $gettext('Stream'),\n [pages.STREAM_PERMISSION]: $gettext('Stream permissions'),\n [pages.STREAM_SETTING] : $gettext('Stream settings'),\n [pages.STREAM_INFO] : $gettext('Stream info'),\n [pages.SETTINGS] : $gettext('Settings'),\n [pages.USER] : $gettext('User profile'),\n [pages.USER_INFO] : $gettext('User profile'),\n [pages.USER_EDIT] : $gettext('Edit user'),\n [pages.USER_PERMISSION] : $gettext('User permission'),\n [pages.USER_ADD] : $gettext('Add user'),\n [pages.LICENSE] : $gettext('License'),\n [pages.SERVER_DEBUG] : $gettext('Server debug'),\n [pages.STREAM_DEBUG] : $gettext('Stream debug'),\n [pages.CREATE_MOSAIC] : $gettext('Create mosaic'),\n [pages.WATCH_MOSAIC] : $gettext('Mosaic'),\n [pages.ALL_MOSAICS] : $gettext('Mosaics'),\n [pages.EDIT_MOSAIC] : $gettext('Edit mosaic'),\n };\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"header-menu\"},[_c('ycc-dropdown',{staticClass:\"header-item\",attrs:{\"unique-key\":_vm.id}},[_c('div',{staticClass:\"header-menu_button sgc-dropdown-toggle\",attrs:{\"title\":\"More\"}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"more_vert\")])])]),_c('ul',{staticClass:\"sgc-dropdown-menu menu-ycc rtl\"},[_c('li',{staticClass:\"sgc-dropdown-menu-item\"},[_c('router-link',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"to\":{name: _vm.PAGES.PROFILE}}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"account_circle\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Profile\")])])],1),(_vm.isAdmin)?_c('li',{staticClass:\"sgc-dropdown-menu-item\"},[_c('router-link',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"to\":{name: _vm.PAGES.ADMIN}}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"assignment\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Administration\")])])],1):_vm._e(),(_vm.isShowServerSwitcher)?_c('li',{staticClass:\"sgc-dropdown-menu-item\"},[_c('button',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.showServerSwitcher}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"swap_horiz\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Switch server\")])])]):_vm._e(),(!_vm.isEnterprise)?_c('li',{staticClass:\"sgc-dropdown-menu-item sgc-dropdown-not_closing\"},[_c('a',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"href\":_vm.getPricesLink('yucca-header-menu', _vm.$language.current),\"target\":\"_blank\",\"rel\":\"noopener noreferer\"}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"trending_up\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Upgrade\")])])]):_vm._e(),(_vm.documentationLink)?_c('li',{staticClass:\"sgc-dropdown-menu-item sgc-dropdown-not_closing\"},[_c('a',{staticClass:\"btn-link-ycc btn-ycc-link menu-item row-ycc-center\",attrs:{\"href\":_vm.documentationLink,\"target\":\"_blank\",\"rel\":\"noopener noreferer\"}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"help\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"margin-right-5\"},[_vm._v(\"Documentation\")]),_c('span',{staticClass:\"material-icons open-in-new\"},[_vm._v(\"open_in_new\")])])]):_vm._e(),_c('li',{staticClass:\"sgc-dropdown-menu-item\"},[_c('a',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.logout.apply(null, arguments)}}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"exit_to_app\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Logout\")])])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHeaderMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHeaderMenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccHeaderMenu.vue?vue&type=template&id=666061cc&scoped=true&\"\nimport script from \"./YccHeaderMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./YccHeaderMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccHeaderMenu.vue?vue&type=style&index=0&id=666061cc&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"666061cc\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccHeader.vue?vue&type=template&id=7fe291d7&\"\nimport script from \"./YccHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./YccHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../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/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccLayout.vue?vue&type=template&id=9aac1804&\"\nimport script from \"./YccLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./YccLayout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../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\n\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=6a843c32&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=6a843c32&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6a843c32\",\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:\"hint-ycc popover-ycc-container\",class:_vm.popoverYccCssClasses,style:(_vm.hintYccInlineStyle)},[_c('div',{ref:\"popover\",staticClass:\"popover-ycc\"},[_c('div',{staticClass:\"popover-ycc_content\",domProps:{\"innerHTML\":_vm._s(_vm.hint)}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {\n TOP,\n TOP_LTR,\n TOP_RTL,\n TOP_CENTER,\n BOTTOM,\n BOTTOM_LTR,\n BOTTOM_RTL,\n BOTTOM_CENTER,\n LEFT,\n RIGHT,\n} from '@/constants/positionConstants';\nimport { SCROLL_WIDTH } from '@/constants/main';\n\nconst positions = {\n RTL : 'rtl',\n LTR : 'ltr',\n CENTER: 'center',\n TOP : 'top',\n BOTTOM: 'bottom',\n};\n\nexport default class CorrectingPosition {\n constructor ({ position, contentWidth = null }) {\n this.contentWidth = contentWidth;\n this.position = null;\n this.positionsArr = null;\n this.basePosition = null;\n this.horizontalPosition = null;\n this.documentWidth = document.documentElement.clientWidth;\n this.documentHeight = window.getComputedStyle(document.body).position === 'static'\n || window.getComputedStyle(document.body).position === ''\n ? document.documentElement.clientHeight\n // eslint-disable-next-line max-len\n : Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight);\n this.setPosition(position);\n }\n\n get ltrPositionClass () {\n return this.position === TOP ? TOP_LTR : BOTTOM_LTR;\n }\n\n get rtlPositionClass () {\n return this.position === TOP ? TOP_RTL : BOTTOM_RTL;\n }\n\n setPosition (position) {\n this.position = position || BOTTOM_LTR;\n this.positionsArr = position.split('-');\n this.basePosition = this.positionsArr[0];\n this.horizontalPosition = this.positionsArr[1] ? this.positionsArr[1] : '';\n }\n\n getPositionCssClass (\n {\n contentCoords,\n btnCoords,\n isStaticVerticalPosition,\n position,\n },\n ) {\n this.setPosition(position);\n\n return this.getCorrectedPositionCssClass({\n contentCoords,\n btnCoords,\n isStaticVerticalPosition,\n position,\n });\n }\n\n getStyle ({ btnCoords, contentCoords, position }) {\n const popupStyle = {};\n\n switch (position) {\n case TOP:\n popupStyle.bottom = `${this.documentHeight - btnCoords.top}px`;\n popupStyle.left = `${btnCoords.left + btnCoords.width / 2}px`;\n popupStyle.right = 'auto';\n popupStyle.top = 'auto';\n break;\n case BOTTOM:\n popupStyle.top = `${btnCoords.top + btnCoords.height}px`;\n popupStyle.left = `${btnCoords.left + btnCoords.width / 2}px`;\n popupStyle.right = 'auto';\n popupStyle.bottom = 'auto';\n break;\n case LEFT:\n popupStyle.top = `${btnCoords.top + btnCoords.height / 2}px`;\n popupStyle.right = `${this.documentWidth - btnCoords.left}px`;\n popupStyle.left = 'auto';\n popupStyle.bottom = 'auto';\n break;\n case RIGHT:\n popupStyle.top = `${btnCoords.top + btnCoords.height / 2}px`;\n popupStyle.left = `${btnCoords.left + btnCoords.width}px`;\n popupStyle.right = 'auto';\n popupStyle.bottom = 'auto';\n break;\n case TOP_LTR:\n popupStyle.bottom = `${this.documentHeight - btnCoords.top}px`;\n popupStyle.left = `${btnCoords.left}px`;\n popupStyle.right = 'auto';\n popupStyle.top = 'auto';\n break;\n case TOP_RTL:\n popupStyle.bottom = `${this.documentHeight - btnCoords.top}px`;\n popupStyle.right = `${this.documentWidth - (btnCoords.left + btnCoords.width)}px`;\n popupStyle.top = 'auto';\n popupStyle.left = 'auto';\n break;\n case BOTTOM_RTL:\n popupStyle.top = `${btnCoords.top + btnCoords.height}px`;\n popupStyle.right = `${this.documentWidth - (btnCoords.left + btnCoords.width)}px`;\n popupStyle.left = 'auto';\n popupStyle.bottom = 'auto';\n break;\n case TOP_CENTER:\n popupStyle.top = `${btnCoords.top - 5}px`;\n popupStyle.bottom = 'auto';\n popupStyle.right = 'auto';\n popupStyle.left = '50%';\n popupStyle.transform = 'translateX(-50%) translateY(-100%)';\n break;\n case BOTTOM_CENTER:\n popupStyle.top = `${btnCoords.top + btnCoords.height + 5}px`;\n popupStyle.bottom = 'auto';\n popupStyle.right = 'auto';\n popupStyle.left = '50%';\n popupStyle.transform = 'translateX(-50%)';\n break;\n case BOTTOM_LTR:\n default:\n popupStyle.top = `${btnCoords.top + btnCoords.height}px`;\n popupStyle.left = `${btnCoords.left}px`;\n popupStyle.right = 'auto';\n popupStyle.bottom = 'auto';\n break;\n }\n\n if (this.isContentMoreThanDocumentWidth({ btnCoords, contentCoords })) {\n popupStyle.maxWidth = 'calc(100vw - 40px)';\n }\n return popupStyle;\n }\n\n getCorrectedPositionCssClass (\n {\n contentCoords,\n btnCoords,\n position,\n isDynamicVerticalPosition = true,\n },\n ) {\n // 1 этап - переопределение базовых позиций -> RTL\\LTR\n if (position === LEFT\n && CorrectingPosition.isOutOfLeftBorderForLeft({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.LTR;\n this.basePosition = positions.BOTTOM;\n }\n\n if (position === RIGHT\n && this.isOutOfRightBorderForRight({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.RTL;\n this.basePosition = positions.BOTTOM;\n }\n\n if (position === BOTTOM || position === TOP) {\n if (this.isOutOfRightBorderForCenter({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.RTL;\n }\n if (CorrectingPosition.isOutOfLeftBorderForCenter({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.LTR;\n }\n }\n\n if (this.horizontalPosition) {\n // 2 этап - переопределение RTL -> LTR, LTR -> RTL\n if (this.horizontalPosition === positions.LTR\n && this.isOutOfRightBorderForLtr({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.RTL;\n }\n\n if (this.horizontalPosition === positions.RTL\n && CorrectingPosition.isOutOfLeftBorderForRtl({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.LTR;\n }\n\n // 3 этап - переопределение RTL\\LTR -> Center (центр экрана)\n if (this.isContentMoreThanDocumentWidth({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.CENTER;\n }\n\n if (this.horizontalPosition === positions.RTL\n && this.isOutOfRightBorderForRtl({ contentCoords, btnCoords })) {\n this.horizontalPosition = '';\n }\n }\n\n // 4 этап - переопределение BOTTOM, BOTTOM_* <-> TOP, TOP_*\n if (isDynamicVerticalPosition) {\n if (this.basePosition === positions.BOTTOM\n && this.isOutOfBottomBorder({ contentCoords, btnCoords })) {\n this.basePosition = positions.TOP;\n }\n\n if (this.basePosition === positions.TOP\n && CorrectingPosition.isOutOfTopBorder({ contentCoords, btnCoords })) {\n this.basePosition = positions.BOTTOM;\n }\n }\n\n this.position = this.horizontalPosition\n ? `${this.basePosition}-${this.horizontalPosition}` : this.basePosition;\n\n return this.position;\n }\n\n isContentMoreThanDocumentWidth ({ contentCoords }) {\n let { width } = contentCoords;\n\n if (this.contentWidth) {\n width = this.contentWidth;\n }\n return width + SCROLL_WIDTH > this.documentWidth;\n }\n\n isOutOfRightBorderForCenter ({ contentCoords, btnCoords }) {\n return btnCoords.left + (btnCoords.width / 2) + (contentCoords.width / 2) > this.documentWidth;\n }\n\n isOutOfRightBorderForLtr ({ contentCoords, btnCoords }) {\n return btnCoords.left + contentCoords.width > this.documentWidth;\n }\n\n isOutOfRightBorderForRight ({ contentCoords, btnCoords }) {\n return btnCoords.left + btnCoords.width + contentCoords.width > this.documentWidth;\n }\n\n isOutOfRightBorderForRtl ({ btnCoords }) {\n return btnCoords.left + btnCoords.width > this.documentWidth;\n }\n\n isOutOfBottomBorder ({ contentCoords, btnCoords }) {\n return btnCoords.y + btnCoords.height + contentCoords.height > this.documentHeight;\n }\n\n static isOutOfTopBorder ({ contentCoords, btnCoords }) {\n return btnCoords.y - contentCoords.height < 0;\n }\n\n static isOutOfLeftBorderForCenter ({ contentCoords, btnCoords }) {\n return (btnCoords.left + (btnCoords.width / 2)) - (contentCoords.width / 2) < 0;\n }\n\n static isOutOfLeftBorderForRtl ({ contentCoords, btnCoords }) {\n return (btnCoords.left + btnCoords.width) - contentCoords.width < 0;\n }\n\n static isOutOfLeftBorderForLeft ({ contentCoords, btnCoords }) {\n return btnCoords.left - contentCoords.width < 0;\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHintContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHintContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccHintContent.vue?vue&type=template&id=7d59d134&scoped=true&\"\nimport script from \"./YccHintContent.vue?vue&type=script&lang=js&\"\nexport * from \"./YccHintContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccHintContent.vue?vue&type=style&index=0&id=7d59d134&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7d59d134\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport YccHintContent from './YccHintContent.vue';\n\n// Создать глобальную шину, если она не создана\nif (!window.bus) {\n window.bus = new Vue();\n}\n\nconst { bus } = window;\n\nconst DEFAULT_STATE = {};\n\n/* eslint-disable object-curly-newline */\nexport default function createPopup ({ hint, hintId, position, isDark, maxWidth }, id) {\n return new Vue({\n el : `#${id}`,\n template : `\n \n `,\n components: { YccHintContent },\n data : {\n hint,\n hintId,\n position,\n isDark,\n maxWidth,\n isOpen : false,\n location : null,\n openerElem: null,\n },\n created () {\n this.location = {\n left : 0,\n top : 0,\n height: 0,\n };\n bus.$on('opened-hint', this.openPopup);\n bus.$on('closed-hint', this.closePopup);\n },\n methods : {\n openPopup (payload) {\n this.openerElem = payload.openerElem;\n this.setLocation(payload.openerElem);\n this.setNewData(payload.props);\n this.open();\n window.addEventListener('resize', this.setLocation);\n },\n closePopup () {\n window.removeEventListener('resize', this.setLocation);\n this.close();\n },\n open () {\n this.isOpen = true;\n },\n close () {\n this.isOpen = false;\n this.clean();\n },\n clean () {\n this.setNewData(DEFAULT_STATE);\n },\n setNewData (data) {\n Object.keys(data).forEach((prop) => {\n this[prop] = data[prop];\n });\n },\n setLocation () {\n const box = this.openerElem.getBoundingClientRect();\n\n this.location = {\n left : box.left + window.pageXOffset,\n top : box.top + window.pageYOffset,\n width : box.width,\n height: box.height,\n y : box.y,\n x : box.x,\n };\n },\n },\n });\n}\n","import createHint from './createHint';\n\n/* eslint-disable object-curly-newline */\n// eslint-disable-next-line func-names\nexport default function ({ hint, hintId, position, isDark, maxWidth }) {\n const hintRenderContentId = 'hint-content';\n\n if (!window.hint) {\n const popup = document.createElement('div');\n popup.setAttribute('id', hintRenderContentId);\n document.body.appendChild(popup);\n\n window.hint = createHint({ hint, hintId, position, isDark, maxWidth }, hintRenderContentId);\n }\n return window.hint;\n}\n","import Vue from 'vue';\n\nVue.config.devtools = process.env.NODE_ENV === 'development';\nVue.config.productionTip = process.env.NODE_ENV === 'production';\n/* eslint-disable-next-line */\nVue.config.errorHandler = function (err, vm, info) {\n let handler;\n let current = vm;\n if (vm.$options.errorHandler) {\n handler = vm.$options.errorHandler;\n }\n else {\n while (current.$parent) {\n current = current.$parent;\n /* eslint-disable-next-line */\n if (handler = current.$options.errorHandler) {\n break;\n }\n }\n }\n if (handler) {\n handler.call(current, err, vm, info);\n }\n else {\n /* eslint-disable-next-line */\n console.log(err);\n }\n};\n","export default {\n color : '#e6fc94',\n failedColor: '#874b4b',\n thickness : '3px',\n transition : {\n speed : '0.2s',\n opacity : '0.6s',\n termination: 300,\n },\n autoRevert : true,\n location : 'top',\n inverse : false,\n};\n","import dayjs from 'dayjs';\nimport YccDatepickerContent from './YccDatepickerContent.vue';\nimport {\n DEFAULT_STATE,\n ISO_DATE_FORMAT,\n MAX_MONTH_IN_LINE,\n TYPES,\n} from './constants';\n\nconst defaultProps = {\n datepickerId : 'calendar',\n rangeType : TYPES.SINGLE,\n lang : 'en',\n maxRange : null,\n start : null,\n end : null,\n numberOfMonth : MAX_MONTH_IN_LINE,\n size : '',\n // Минимально допустимая дата (предел слева)\n minAllowedDate : null,\n // Максимально допустимая дата (предел справа)\n maxAllowedDate : null,\n // Массив значимых дат (помеченных)\n significantDates : [],\n isHighlightToday : true,\n isHighlightWeekend: false,\n isInline : false,\n isDisabled : false,\n isFixed : false,\n isDisabledDate : null,\n};\n\nexport default {\n template : `\n
\n
\n\n \n \n
`,\n components: { YccDatepickerContent },\n data () {\n return {\n isOpen : false,\n isSelecting: false,\n isFixed : false,\n period : {},\n location : {\n left : 0,\n top : 0,\n height: 0,\n },\n // Сохраним данные\n ...defaultProps,\n };\n },\n created () {\n // Слушаем события от инпута\n window.bus.$on('opened-datepicker', this.openDatepicker);\n window.bus.$on('closed-datepicker', this.close);\n window.bus.$on('set-fixing', this.setFixing);\n window.bus.$on('set-start', this.setStart);\n window.bus.$on('set-end', this.setEnd);\n },\n watch : {\n isOpen (newState) {\n if (newState) {\n window.addEventListener('click', this.closeDatepickerOutside);\n }\n else {\n window.removeEventListener('click', this.closeDatepickerOutside);\n }\n },\n },\n methods : {\n onClickDay ({ isSelecting, period }) {\n this.setSelectingState(isSelecting);\n this.setPeriod(period);\n\n window.bus.$emit('updated-dates', { isSelecting, period, datepickerId: this.datepickerId });\n\n // Если закончили выбор, то закрыть\n if (!isSelecting) {\n this.close();\n }\n },\n openDatepicker (payload) {\n this.setFixing(payload.isFixed);\n this.setLocation(payload.inputElem);\n this.setNewData(payload.props);\n this.open();\n },\n closeDatepicker () {\n if (this.isSelecting) {\n this.setSelectingState(false);\n\n window.bus.$emit('updated-dates', {\n isSelecting : this.isSelecting,\n period : this.getCorrectPeriod(),\n datepickerId: this.datepickerId,\n });\n }\n this.close();\n },\n closeDatepickerOutside (event) {\n if (!this.isChildElem(event.target)) {\n this.closeDatepicker();\n }\n },\n onChangeMonthYear (payload) {\n window.bus.$emit('changed-month-year', payload);\n },\n setFixing (state) {\n this.isFixed = state;\n },\n // проверяет является ли элемент потомком класса\n isChildElem (elem) {\n const elemChildren = document.querySelectorAll('.datepicker-bus *');\n const openerChildren = document.querySelectorAll('.datepicker-ycc_opener *');\n\n for (let i = 0; i < elemChildren.length; i++) {\n if (elem === elemChildren[i]) {\n return true;\n }\n }\n\n for (let i = 0; i < openerChildren.length; i++) {\n if (elem === openerChildren[i]) {\n return true;\n }\n }\n\n return false;\n },\n clean () {\n this.setNewData(DEFAULT_STATE);\n },\n open () {\n this.isOpen = true;\n },\n close () {\n this.isOpen = false;\n this.clean();\n window.bus.$emit('close');\n },\n getCorrectPeriod () {\n const start = this.period.start\n ? this.period.start\n : this.period.end;\n const end = this.period.end && this.period.end !== this.period.start\n ? this.period.start\n : dayjs(this.period.end).add(1, 'day').format(ISO_DATE_FORMAT);\n\n return { start, end, underCursor: null };\n },\n setLocation (inputElem) {\n const box = inputElem.getBoundingClientRect();\n\n this.location = {\n left : this.isFixed ? box.left : box.left + window.pageXOffset,\n top : this.isFixed ? box.top : box.top + window.pageYOffset,\n height: box.height,\n };\n },\n setNewData (data) {\n Object.keys(data).forEach((prop) => {\n this[prop] = data[prop];\n });\n },\n setPeriod (period) {\n this.period = { ...period };\n },\n setStart (start) {\n this.start = start;\n },\n setEnd (end) {\n this.end = end;\n },\n setSelectingState (state) {\n this.isSelecting = state;\n },\n },\n};\n","import Vue from 'vue';\nimport VueProgressBar from 'vue-progressbar';\nimport { Loading } from 'element-ui';\nimport progressBarOptions from '../constants/progressBarOptions';\nimport Datepicker from '../components/ycc-datepicker/datepicker';\n\nVue.use(VueProgressBar, progressBarOptions);\nVue.use(Loading.directive);\nVue.prototype.$loading = Loading.service;\nVue.directive('scroll', {\n inserted (el, binding) {\n const f = (evt) => {\n if (binding.value(evt, el)) {\n window.removeEventListener('scroll', f);\n }\n };\n window.addEventListener('scroll', f);\n },\n});\n// eslint-disable-next-line vue/multi-word-component-names\nVue.component('datepicker', Datepicker);\n","import Vue from 'vue';\nimport GetTextPlugin from 'vue-gettext';\nimport dayjs from 'dayjs';\nimport {\n yccBootConfig,\n YuccaBootConfig,\n} from './config/yccBootConfig';\nimport gettextOptions from './config/gettextOptions';\nimport router from './router';\nimport store from './store/store';\nimport YccConfigPlugin from './extends/YccConfigPlugin';\nimport { isMobile } from './extends/browserEnv';\nimport App from './App.vue';\nimport { SYSTEM_SETTINGS_URL } from './constants/api';\nimport httpClient from './config/httpClient';\nimport initHint from './components/ycc-hint/initHint';\n\nimport './config/setVueConfig';\nimport './config/setPlugins';\nimport './scss/index.scss';\n\nVue.config.devtools = process.env.NODE_ENV === 'development';\n\nconst isDebug = !!process.env.VUE_APP_DEBUG && JSON.parse(process.env.VUE_APP_DEBUG) === true;\n\nif (!window.bus) {\n window.bus = new Vue();\n}\n\nif (!isMobile) {\n initHint(\n {\n hintId : 'hint-1',\n position: 'bottom',\n hint : '',\n isDark : true,\n maxWidth: 250,\n },\n );\n}\n\nif (isMobile) {\n document.body.classList.add('is-mobile');\n}\nelse {\n document.body.classList.add('is-desktop');\n}\n\nfunction createApp (data = {}) {\n const config = new YuccaBootConfig(data, {});\n\n Vue.use(YccConfigPlugin, { config, isDebug });\n Vue.use(GetTextPlugin, gettextOptions(config.language));\n dayjs.locale(config.language);\n store.state.config = config;\n\n /* eslint-disable no-new */\n new Vue({\n router,\n store,\n render: (h) => h(App),\n }).$mount('#app');\n}\n\nif (yccBootConfig) {\n createApp(yccBootConfig);\n}\nelse {\n httpClient\n .get(SYSTEM_SETTINGS_URL)\n .then((res) => {\n createApp(res.data);\n })\n .catch(() => {\n createApp();\n });\n}\n","export default {\n progress: {\n func: [\n { call: 'color', modifier: 'temp', argument: '#e6fc94' },\n { call: 'fail', modifier: 'temp', argument: '#6e0000' },\n { call: 'location', modifier: 'temp', argument: 'top' },\n {\n call : 'transition',\n modifier: 'temp',\n argument: {\n speed : '1.5s',\n opacity : '0.6s',\n termination: 400,\n },\n },\n ],\n },\n};\n","/* eslint-disable import/no-cycle */\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport { destinationPageStorage } from './extends/storageServices';\nimport store from './store/store';\nimport PAGES from './constants/pages';\nimport metaForProgressLoader from './constants/metaForProgressLoader';\n\nVue.use(Router);\n\nconst router = new Router({\n mode : 'history',\n base : process.env.BASE_URL,\n routes: [\n {\n path : '/',\n name : 'main',\n meta : {\n title: 'Yucca',\n },\n redirect : { name: PAGES.ALL_STREAMS },\n component: () => import(/* webpackChunkName: \"main\" */ './pages/Workspace/TheWorkspace.vue'),\n children : [\n {\n path : 'streams',\n name : PAGES.ALL_STREAMS,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"streams\" */ './pages/Streams/StreamsPage.vue'),\n },\n {\n path : 'mosaics',\n name : PAGES.ALL_MOSAICS,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"mosaics\" */ './pages/Mosaic/Mosaics/AllMosaics.vue'),\n },\n ],\n },\n {\n path : '/auth',\n name : PAGES.AUTH,\n component: () => import(/* webpackChunkName: \"auth\" */ './pages/Auth/AuthPage.vue'),\n },\n {\n path : '/init',\n name : PAGES.INIT,\n component: () => import(/* webpackChunkName: \"init\" */ './pages/Init/InitPage.vue'),\n },\n {\n path : '/profile/me',\n name : PAGES.PROFILE,\n props : true,\n meta : {\n ...metaForProgressLoader,\n },\n redirect : { name: PAGES.PROFILE_INFO },\n component: () => import(/* webpackChunkName: \"profile\" */ './pages/Profile/ProfilePage.vue'),\n children : [\n {\n path : 'info',\n name : PAGES.PROFILE_INFO,\n props : true,\n component: () => import(/* webpackChunkName: \"stream-info\" */ './pages/Profile/ProfileView.vue'),\n },\n {\n path : 'edit',\n name : PAGES.PROFILE_EDIT,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-setting\" */ './pages/Profile/ProfileEdit.vue'),\n },\n {\n path : 'tokens',\n name : PAGES.PROFILE_TOKEN,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-permission\" */ './pages/Profile/ProfileTokens.vue'),\n },\n ],\n },\n {\n path : '/user/add',\n name : PAGES.USER_ADD,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"user-add\" */ './pages/User/UserAddPage.vue'),\n },\n {\n path : '/user/:login',\n name : PAGES.USER,\n props : true,\n meta : {\n ...metaForProgressLoader,\n },\n redirect : { name: PAGES.USER_INFO },\n component: () => import(/* webpackChunkName: \"user\" */ './pages/User/UserPage.vue'),\n children : [\n {\n path : 'info',\n name : PAGES.USER_INFO,\n props : true,\n component: () => import(/* webpackChunkName: \"stream-info\" */ './pages/User/UserView.vue'),\n },\n {\n path : 'edit',\n name : PAGES.USER_EDIT,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-setting\" */ './pages/User/UserEdit.vue'),\n },\n {\n path : 'permission',\n name : PAGES.USER_PERMISSION,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-permission\" */ './pages/User/UserStreamPermissions.vue'),\n },\n ],\n },\n {\n path : '/stream/:uid/view',\n name : PAGES.STREAM_VIEW,\n props : true,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"stream-view\" */ './pages/StreamView/StreamPage.vue'),\n },\n {\n path : '/stream/:uid',\n name : PAGES.STREAM,\n props : true,\n meta : {\n ...metaForProgressLoader,\n },\n redirect : { name: PAGES.STREAM_INFO },\n component: () => import(/* webpackChunkName: \"stream\" */ './pages/StreamInfo/InfoStreamPage.vue'),\n children : [\n {\n path : 'info',\n name : PAGES.STREAM_INFO,\n props : true,\n component: () => import(/* webpackChunkName: \"stream-info\" */ './pages/StreamInfo/StreamInfo.vue'),\n },\n {\n path : 'setting',\n name : PAGES.STREAM_SETTING,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-setting\" */ './pages/StreamInfo/StreamSettings.vue'),\n },\n {\n path : 'permission',\n name : PAGES.STREAM_PERMISSION,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-permission\" */ './pages/StreamInfo/StreamPermission.vue'),\n },\n {\n path : 'debug',\n name : PAGES.STREAM_DEBUG,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-debug\" */ './pages/StreamInfo/StreamDebug.vue'),\n },\n ],\n },\n {\n path : '/add-stream',\n name : PAGES.ADD_STREAM,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"add-stream\" */ './pages/StreamInfo/AddingStreamPage.vue'),\n },\n {\n path : '/create-mosaic',\n name : PAGES.CREATE_MOSAIC,\n component: () => import(/* webpackChunkName: \"add-mosaic\" */ './pages/Mosaic/Create/CreateMosaicPage.vue'),\n },\n {\n path : '/mosaic/:id',\n name : PAGES.WATCH_MOSAIC,\n props : true,\n component: () => import(/* webpackChunkName: \"watch-mosaic\" */ './pages/Mosaic/Watch/WatchMosaicPage.vue'),\n },\n {\n path : '/mosaic/:id/edit',\n name : PAGES.EDIT_MOSAIC,\n props : true,\n component: () => import(/* webpackChunkName: \"watch-mosaic\" */ './pages/Mosaic/Edit/EditMosaicPage.vue'),\n },\n {\n path : '/administration',\n name : PAGES.ADMIN,\n meta : {\n ...metaForProgressLoader,\n },\n redirect : { name: PAGES.ADMIN_STATS },\n component: () => import(/* webpackChunkName: \"admin\" */ './pages/Admin/AdminPage.vue'),\n children : [\n {\n path : 'stats',\n name : PAGES.ADMIN_STATS,\n component: () => import(/* webpackChunkName: \"admin-stats\" */ './pages/Admin/AdminStats.vue'),\n },\n {\n path : 'config',\n name : PAGES.ADMIN_CONFIG,\n component: () => import(/* webpackChunkName: \"admin-config\" */ './pages/Admin/AdminConfig.vue'),\n },\n {\n path : 'users',\n name : PAGES.ADMIN_USERS,\n component: () => import(/* webpackChunkName: \"admin-users\" */ './pages/Admin/AdminUsers.vue'),\n },\n {\n path : 'license',\n name : PAGES.LICENSE,\n component: () => import(/* webpackChunkName: \"license\" */ './pages/License/LicensePage.vue'),\n },\n {\n path : 'server-debug',\n name : PAGES.SERVER_DEBUG,\n component: () => import(/* webpackChunkName: \"server-debug\" */ './pages/Admin/AdminDebug.vue'),\n },\n ],\n },\n {\n path : '/license',\n name : 'old-license',\n redirect: { name: PAGES.LICENSE },\n },\n {\n path : '/bookmarks',\n name : PAGES.BOOKMARKS,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"bookmarks\" */ './pages/BookmarksPage.vue'),\n },\n {\n path : '/help',\n name : PAGES.HELP,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"help\" */ './pages/HelpPage.vue'),\n },\n {\n path : '/*',\n name : PAGES.NOT_FOUND,\n component: () => import(/* webpackChunkName: \"not-found\" */ './pages/NotFoundPage.vue'),\n },\n ],\n});\n\nrouter.beforeEach((to, from, next) => {\n const isPublicPage = to.name === PAGES.AUTH || to.name === PAGES.INIT;\n const is404 = to.name === PAGES.NOT_FOUND;\n\n if (!destinationPageStorage.getItem() && !isPublicPage && !is404) {\n destinationPageStorage.setItem({ name: to.name, params: { ...to.params } });\n }\n\n if (is404) {\n next();\n }\n else {\n store.dispatch('checkPermission')\n .then(({ status, statusCode }) => {\n if (statusCode === 500 || statusCode === 404) {\n next();\n }\n else if (!status && !isPublicPage) {\n next({ name: statusCode === 423 ? PAGES.INIT : PAGES.AUTH });\n }\n else if ((statusCode === 423 && to.name === PAGES.INIT)\n || (statusCode === 401 && to.name === PAGES.AUTH)\n || (status && !isPublicPage)) {\n next();\n }\n else if (isPublicPage) {\n next({ name: PAGES.ALL_STREAMS });\n }\n else {\n next({ name: statusCode === 423 ? PAGES.INIT : PAGES.AUTH });\n }\n });\n }\n});\n\nrouter.afterEach(() => {\n if (window.scrollY) {\n window.scroll(0, 0);\n }\n});\n\nexport default router;\n","import { GROUP_TYPES } from '../constants/main';\n\nexport function getGroupedStreams (streams, groupingType) {\n const groupedStreams = {};\n\n function pushStream (groupName, stream) {\n if (!groupedStreams[groupName]) {\n groupedStreams[groupName] = {\n name : groupName,\n streams: [],\n };\n }\n groupedStreams[groupName].streams.push(stream);\n }\n\n if (groupingType === GROUP_TYPES.TAG.key) {\n streams.forEach((stream) => {\n if (stream.tags && stream.tags.length > 0) {\n stream.tags.forEach((tag) => {\n pushStream(tag, stream);\n });\n }\n else {\n pushStream('untagged', stream);\n }\n });\n }\n\n return groupedStreams;\n}\n\nexport function saveToLocalStorage ({ key, value, page }) {\n const streamsPageSettings = JSON.parse(localStorage.getItem(page)) || {};\n\n streamsPageSettings[key] = value;\n localStorage.setItem(page, JSON.stringify(streamsPageSettings));\n}\n","export default {\n SET_SEARCHING_VALUES : { name: 'setSearchingValues', property: 'searchingValues' },\n SET_VIEW_MODE_KEY : { name: 'setViewModeKey', property: 'viewModeKey' },\n SET_ASIDE_STATE : { name: 'setAsideState', property: 'isOpenAside' },\n SET_SHOWING_AVAILABLE_STATE: { name: 'setShowingAvailableState', property: 'isShownAvailableStreams' },\n SET_GROUP_TYPE : { name: 'setGroupType', property: 'groupType' },\n SET_AUTH_STATE : { name: 'setAuthState', property: 'isAuthLoading' },\n SET_STREAMS : { name: 'setStreams', property: 'streams' },\n SET_STREAMS_STATUSES : { name: 'setStreamsStatuses', property: 'streams' },\n SET_STREAM_STATUS : { name: 'setStreamStatus', property: '' },\n SET_STREAM : { name: 'setStream', property: 'currentStream' },\n DELETE_CURRENT_STREAM : { name: 'deleteCurrentStream', property: 'currentStream' },\n SET_DELETING_STREAM_STATE : { name: 'setDeletingStreamState', property: 'deletingStateMap' },\n SET_CHANGING_STREAM_STATE : { name: 'setChangingStreamState', property: 'changingStateMap' },\n SET_FOUNDING_PAGE_STATE : { name: 'setFoundingPageState', property: 'isNotFoundPage' },\n SET_ERROR : { name: 'setError', property: 'errors' },\n DELETE_ERROR : { name: 'deleteError', property: 'errors' },\n SET_STATUSES_TIMER : { name: 'setFetchingStatusTimer', property: 'fetchingStatusTimer' },\n SET_CREATING_ADMIN_STATE : { name: 'SET_CREATING_ADMIN_STATE', property: 'isAdminCreating' },\n};\n","import dayjs from 'dayjs';\n\nfunction getDefaultStart () {\n return dayjs(new Date()).subtract(20, 'hour').valueOf();\n}\n\nfunction getDefaultEnd () {\n return dayjs(new Date()).add(3, 'hour').valueOf();\n}\n\nfunction getDefaultPeriod () {\n return {\n start: getDefaultStart(),\n end : getDefaultEnd(),\n };\n}\n\nfunction getDefaultPeriodISO () {\n return {\n start: dayjs(getDefaultStart()).toISOString(),\n end : dayjs(getDefaultEnd()).toISOString(),\n };\n}\n\nfunction getDefaultDownloadLimitsPX () {\n return {\n left : 0,\n right: 0,\n };\n}\n\nfunction getDefaultPlaylist ({ start, end }) {\n return {\n period: { startTime: start, endTime: end },\n ranges: [{ date: start, status: 0 }],\n url : null,\n };\n}\n\nexport {\n getDefaultStart,\n getDefaultEnd,\n getDefaultPeriod,\n getDefaultPeriodISO,\n getDefaultDownloadLimitsPX,\n getDefaultPlaylist,\n};\n","import dayjs from 'dayjs';\nimport { formatDate } from '@/extends/lib';\nimport { EN } from '@/constants/main';\n\nconst MS_IN_HOUR = 60 * 60 * 1000;\nconst MS_IN_MINUTE = 60 * 1000;\nconst MARKER_LABEL_WIDTH = 70;\nconst LABELS_MAP_KEYS = {\n SIXTY : 'sixty',\n TWELVE : 'twelve',\n QUARTER : 'quarter',\n HALF : 'half',\n FULL : 'full',\n MULTIPLE: 'multiple',\n};\nconst LABELS_MAP = [\n { key: LABELS_MAP_KEYS.SIXTY, value: 60, minutes: 1 },\n { key: LABELS_MAP_KEYS.TWELVE, value: 12, minutes: 5 },\n { key: LABELS_MAP_KEYS.QUARTER, value: 4, minutes: 15 },\n { key: LABELS_MAP_KEYS.HALF, value: 2, minutes: 30 },\n { key: LABELS_MAP_KEYS.FULL, value: 1, minutes: 60 },\n { key: LABELS_MAP_KEYS.MULTIPLE },\n];\n\nconst getMarkerOptions = ({ hoursNumber, possibleLabels, minutesNumber }) => {\n let options = { multiplicity: null, labelsNumber: 0 };\n\n LABELS_MAP.some((item) => {\n if (item.key === LABELS_MAP_KEYS.MULTIPLE) {\n options = {\n type : item.key,\n multiplicity: Math.ceil(hoursNumber / possibleLabels),\n labelsNumber: Math.ceil(hoursNumber / Math.ceil(hoursNumber / possibleLabels)),\n };\n return true;\n }\n if (minutesNumber / item.minutes <= possibleLabels) {\n options = {\n type : item.key,\n multiplicity: item.value,\n minutes : item.minutes,\n labelsNumber: Math.ceil(minutesNumber / item.minutes),\n };\n return true;\n }\n return false;\n });\n\n return options;\n};\n\nconst getLeftPosForMarker = (timestamp, period, secondsInPx) => {\n const seconds = (timestamp - period.start) / 1000;\n return seconds / secondsInPx;\n};\nconst getMarker = (\n period,\n timeMS,\n secondsInPx,\n isVisibleLabel,\n lang = EN,\n isSmall = false,\n) => {\n const label = dayjs(timeMS).hour() === 0 && dayjs(timeMS).minute() === 0\n ? formatDate(timeMS, 'MMM DD', lang)\n : formatDate(timeMS, 'HH:mm', lang);\n\n return {\n left : `${getLeftPosForMarker(timeMS, period, secondsInPx)}px`,\n time : timeMS,\n cssClass: isSmall ? 'small' : 'medium',\n type : dayjs(timeMS).hour() !== 0 ? 'hour' : 'day',\n label : isVisibleLabel ? label : ' ',\n };\n};\n\nconst getFirstFullHourMS = (period) => {\n const year = dayjs(period.start).year();\n const month = dayjs(period.start).month();\n const day = dayjs(period.start).date();\n const hour = dayjs(period.start).hour();\n\n return dayjs(new Date(year, month, day, hour)).valueOf();\n};\n\nconst getFirstMarkerTime = (options, period) => {\n let firstMarkerTime = getFirstFullHourMS(period);\n\n const getFirstMarkerByTime = (minutes) => {\n const year = dayjs(period.start).year();\n const month = dayjs(period.start).month();\n const day = dayjs(period.start).date();\n const hour = dayjs(period.start).hour();\n let startMinutes = dayjs(period.start).minute();\n\n while (startMinutes % minutes !== 0) {\n startMinutes += 1;\n }\n\n return dayjs(new Date(year, month, day, hour, startMinutes)).valueOf();\n };\n\n if (options.type === LABELS_MAP_KEYS.SIXTY\n || options.type === LABELS_MAP_KEYS.TWELVE\n || options.type === LABELS_MAP_KEYS.QUARTER\n || options.type === LABELS_MAP_KEYS.HALF) {\n firstMarkerTime = getFirstMarkerByTime(options.minutes);\n }\n\n return firstMarkerTime;\n};\n\nconst getNewMarkers = (options, period, secondsInPx, lang = EN) => {\n const newMarkers = [];\n let markerTime = getFirstMarkerTime(options, period);\n\n for (let i = 0; i < options.labelsNumber; i++) {\n if (markerTime > period.start) {\n const marker = getMarker(\n period,\n markerTime,\n secondsInPx,\n lang,\n true,\n );\n newMarkers.push(marker);\n }\n if (options.type === LABELS_MAP_KEYS.MULTIPLE) {\n markerTime += (MS_IN_HOUR * options.multiplicity);\n }\n else {\n markerTime += (MS_IN_HOUR / options.multiplicity);\n }\n }\n return newMarkers;\n};\n\nexport {\n MS_IN_HOUR,\n MS_IN_MINUTE,\n MARKER_LABEL_WIDTH,\n LABELS_MAP_KEYS,\n LABELS_MAP,\n\n getMarkerOptions,\n getNewMarkers,\n};\n","import { interval } from 'rxjs';\nimport dayjs from 'dayjs';\nimport {\n getDefaultPeriod,\n getDefaultPlaylist,\n} from '@/store/player/lib';\nimport {\n DEFAULT_PLAYLIST_DURATION,\n EN,\n PLAYER_VIEW_MODES,\n} from '@/constants/main';\nimport {\n convertDateToSeconds,\n formatDate,\n getCoords,\n} from '@/extends/lib';\nimport {\n ANNOTATION_TYPES,\n RANGE_TYPES,\n} from '@/components/ycc-player/constants';\nimport {\n getMarkerOptions,\n getNewMarkers,\n MARKER_LABEL_WIDTH,\n MS_IN_HOUR,\n MS_IN_MINUTE,\n} from '@/components/ycc-player/extends/createMarkers';\nimport {\n getCurrentDateId,\n getProgressBarId,\n getThumbId,\n} from '@/components/ycc-player/extends/componentIds';\n\nconst ZOOM_INDEX = 1.5;\nconst HOUR_IN_MS = 60 * 60 * 1000;\nconst MIN_DURATION = 5 * 60 * 1000;\nconst MAX_DURATION = 24 * HOUR_IN_MS;\n\nexport default class ProgressBarController {\n constructor ({ playerId, thumbWidth }) {\n // not changing\n this.playerId = playerId;\n this.thumbWidth = thumbWidth || 18;\n\n // elements\n this.video = null;\n this.progressBar = null;\n this.thumb = null;\n\n // first level of changing\n this.archiveStatsPeriod = null;\n this.period = getDefaultPeriod(); // all visible period\n this.ranges = null;\n\n // second level of changing\n this.playingPeriod = null; // { start: 0, end: 0 };\n this.currentInterval = null;\n\n // third level of changing\n this.playingTime = 0; // or Date.now() // playingTime\n this.thumbPosition = 0;\n\n this.tracking = null;\n this.trackingObservable$ = interval(20);\n\n this.init();\n }\n\n init () {\n this.video = ProgressBarController.getElem(this.playerId);\n this.progressBar = ProgressBarController.getElem(getProgressBarId(this.playerId));\n this.thumb = ProgressBarController.getElem(getThumbId(this.playerId));\n }\n\n /* GETTERS */\n\n get duration () {\n return this.period.end - this.period.start;\n }\n\n get intervals () {\n // changing triggers: period and ranges\n const startSeconds = convertDateToSeconds(this.period.start);\n const endSeconds = convertDateToSeconds(this.period.end);\n const clipShift = startSeconds;\n const intervalsTemp = [];\n const ranges = this.ranges\n ? this.ranges\n : getDefaultPlaylist({\n start: this.period.start,\n end : this.period.end,\n }).ranges;\n\n ranges.forEach((range, index, arr) => {\n const rangeStart = convertDateToSeconds(range.date);\n const rangeEnd = arr[index + 1] ? convertDateToSeconds(arr[index + 1].date) : endSeconds;\n const intervalType = ProgressBarController.getIntervalType({\n status : range.status,\n isLastRange : index === arr.length - 1,\n date : range.date,\n archiveStatsPeriod: this.archiveStatsPeriod,\n });\n\n intervalsTemp.push({\n width : this.getPXFromSeconds(rangeEnd - startSeconds)\n - this.getPXFromSeconds(rangeStart - startSeconds),\n left : this.getPXFromSeconds(rangeStart - startSeconds),\n type : intervalType,\n start : rangeStart - clipShift,\n end : rangeEnd - clipShift,\n startDate: range.date,\n endDate : arr[index + 1] ? arr[index + 1].date : this.period.end,\n });\n });\n return intervalsTemp;\n }\n\n get periodModifier () {\n return (this.duration - (this.duration / ZOOM_INDEX)) / 2;\n }\n\n get isZoomUpAllowed () {\n return this.duration > MIN_DURATION;\n }\n\n get isZoomDownAllowed () {\n return this.duration < MAX_DURATION;\n }\n\n get periodISO () {\n return {\n start: dayjs(this.period.start).toISOString(),\n end : dayjs(this.period.end).toISOString(),\n };\n }\n\n /* END GETTERS */\n\n /* MAIN PUBLIC METHODS */\n\n seekHandler (intervalElem, clientX, annotationStartSeconds) {\n this.stopTracking();\n\n this.setCurrentInterval(intervalElem);\n\n return this.getPlaylistByIntervalType(intervalElem, clientX, annotationStartSeconds);\n }\n\n startTracking (isArchive) {\n this.tracking = this.trackingObservable$.subscribe(() => {\n let currentTime = Date.now();\n\n if (isArchive && this.video) {\n currentTime = ProgressBarController.getCurrentTimeInMS(this.video.currentTime)\n + this.playingPeriod.start;\n }\n\n this.updatePlayingTime(currentTime);\n });\n }\n\n stopTracking () {\n if (this.tracking) {\n this.tracking.unsubscribe();\n }\n }\n\n getMarkers (lang = EN) {\n const possibleLabels = Math.ceil(this.getProgressBarWidth() / MARKER_LABEL_WIDTH);\n const hoursNumber = Math.ceil((this.period.end - this.period.start) / MS_IN_HOUR);\n const minutesNumber = Math.ceil((this.period.end - this.period.start) / MS_IN_MINUTE);\n const options = getMarkerOptions({ hoursNumber, possibleLabels, minutesNumber });\n\n return getNewMarkers(options, this.period, this.secondsInPx(), lang);\n }\n\n getNewPlaylistPeriodAfterEnding () {\n this.stopTracking();\n\n return this.getRangeByMilliseconds(this.playingTime);\n }\n\n getCorrectedPlayingPeriodEnd (newSeconds, intervalRangeEnd) {\n const endMS = newSeconds + DEFAULT_PLAYLIST_DURATION;\n const intervalRangeEndMS = intervalRangeEnd;\n const result = endMS < intervalRangeEndMS ? endMS : intervalRangeEndMS;\n\n return result * 1000 + this.period.start;\n }\n\n getRangeByMilliseconds (/* playingTime */) {\n const findNextRangeIndex = (startTimeMS) => {\n return this.intervals.findIndex((intervalRange) => {\n const start = Math.trunc(intervalRange.start * 1000 + this.period.start);\n const end = Math.trunc(intervalRange.end * 1000 + this.period.start);\n\n return startTimeMS >= start && startTimeMS < end;\n });\n };\n\n const currentTime = this.playingPeriod.end; /* playingTime; */\n const intervalIndex = findNextRangeIndex(currentTime);\n const currentInterval = this.intervals[intervalIndex];\n let currentPeriod = { type: RANGE_TYPES.LIVE };\n\n if (currentInterval.type === RANGE_TYPES.GAP) {\n currentPeriod = {\n ...this.getNextPeriodAfterGap(intervalIndex + 1),\n };\n }\n else if (currentInterval.type !== RANGE_TYPES.LIVE) {\n currentPeriod = {\n start: currentTime,\n end : this.getCorrectedPlayingPeriodEnd(\n (currentTime - this.period.start) / 1000, currentInterval.end,\n ),\n type : RANGE_TYPES.FRAGMENT,\n };\n }\n\n return currentPeriod;\n }\n\n /* end MAIN PUBLIC METHODS */\n\n /* PUBLIC SETTERS */\n\n setPeriod (period) {\n this.period = period;\n }\n\n setRanges (ranges) {\n this.ranges = ranges;\n }\n\n setPlayingPeriod (playingPeriod) {\n this.playingPeriod = playingPeriod;\n }\n\n setArchiveStatsPeriod (stats) {\n this.archiveStatsPeriod = stats;\n }\n\n setCurrentInterval (intervalElem) {\n this.currentInterval = intervalElem;\n }\n\n /* end PUBLIC SETTERS */\n\n secondsInPx () {\n return this.duration / (this.getProgressBarWidth() * 1000);\n }\n\n getPXFromSeconds (seconds) {\n return seconds / this.secondsInPx();\n }\n\n getSecondsFromPX (px) {\n return px * this.secondsInPx();\n }\n\n static getIntervalType (\n {\n status,\n isLastRange,\n date,\n archiveStatsPeriod,\n }) {\n const liveTime = archiveStatsPeriod ? archiveStatsPeriod.endTime : dayjs(new Date()).toISOString();\n let intervalType = RANGE_TYPES.GAP;\n\n if (isLastRange && liveTime <= date && !status) {\n intervalType = RANGE_TYPES.LIVE;\n }\n\n return status ? RANGE_TYPES.FRAGMENT : intervalType;\n }\n\n setDefaultLiveThumbPos () {\n // set default position for current time in ios safari\n setTimeout(() => {\n this.updatePlayingTime(Date.now());\n }, 100);\n }\n\n updateThumbPos (currentTime, periodStart) {\n const thumbLeftPosition = this.getPXFromSeconds((currentTime - periodStart) / 1000);\n\n this.changeThumbStyle(thumbLeftPosition);\n this.keepThumbPosition(thumbLeftPosition);\n }\n\n changeThumbStyle (thumbLeftPosition) {\n if (this.thumb && Math.trunc(thumbLeftPosition) !== this.thumbPosition) {\n this.thumb.style.transform = `translateX(${thumbLeftPosition - (this.thumbWidth / 2)}px)`;\n }\n }\n\n /* BRING */\n getPeriodForZoomUpByPointer () {\n const playingTime = this.playingTime || dayjs(new Date()).valueOf();\n\n return this.getPeriodForZoomUp(playingTime);\n }\n\n getPeriodForZoomUp (playingTime) {\n if (this.isZoomUpAllowed) {\n return {\n start: this.period.start + this.getStartModifier(playingTime),\n end : this.period.end - this.getEndModifier(playingTime),\n };\n }\n\n return false;\n }\n\n /* put away */\n getPeriodForZoomDownByPointer () {\n const playingTime = this.playingTime || dayjs(new Date()).valueOf();\n\n return this.getPeriodForZoomDown(playingTime);\n }\n\n getPeriodForZoomDown (playingTime) {\n const currentTime = dayjs(new Date()).valueOf();\n\n if (this.isZoomDownAllowed) {\n return {\n start: this.period.start - this.getStartModifier(playingTime),\n end : this.period.end >= currentTime + (3 * HOUR_IN_MS)\n ? this.period.end : this.period.end + this.getEndModifier(playingTime),\n };\n }\n\n return false;\n }\n\n getPeriodForMoveLeft () {\n return {\n start: this.period.start - this.periodModifier,\n end : this.period.end - this.periodModifier,\n };\n }\n\n getPeriodForMoveRight () {\n return {\n start: this.period.start + this.periodModifier,\n end : this.period.end + this.periodModifier,\n };\n }\n\n getPeriodForGoToCenter () {\n return {\n start: this.playingTime - (this.duration / 2),\n end : this.playingTime + (this.duration / 2),\n };\n }\n\n getStartModifier (playingTime) {\n return ((playingTime - this.period.start) / this.duration) * (this.periodModifier * 2);\n }\n\n getEndModifier (playingTime) {\n return ((this.period.end - playingTime) / this.duration) * (this.periodModifier * 2);\n }\n\n getAnnotationsByTypes (annotations) {\n const annotationsByType = {};\n\n if (annotations.length === 0) {\n annotationsByType.empty = [];\n }\n else {\n annotations.forEach((annotation) => {\n if (annotationsByType[annotation.type]) {\n annotationsByType[annotation.type].push(this.adaptAnnotation(annotation));\n }\n else {\n annotationsByType[annotation.type] = [this.adaptAnnotation(annotation)];\n }\n });\n }\n\n return annotationsByType;\n }\n\n adaptAnnotation (annotation) {\n const startSeconds = convertDateToSeconds(this.period.start);\n const annotationStart = convertDateToSeconds(annotation.time);\n const annotationEnd = convertDateToSeconds(annotation.timeEnd);\n\n return {\n ...annotation,\n startSeconds: annotationStart,\n width: this.getPXFromSeconds(annotationEnd - startSeconds)\n - this.getPXFromSeconds(annotationStart - startSeconds),\n left : this.getPXFromSeconds(annotationStart - startSeconds),\n color: ProgressBarController.getAnnotationColorByType(annotation.type),\n };\n }\n\n static getAnnotationColorByType (type) {\n switch (type) {\n case ANNOTATION_TYPES.EVENT:\n return '#ece283';\n default:\n return '#d466d4';\n }\n }\n\n /* PRIVATE METHODS */\n\n getProgressBarWidth () {\n return this.progressBar ? getCoords(this.progressBar).width : 0;\n }\n\n updatePlayingTime (time) {\n this.setPlayingTime(time);\n this.innerPlayingTime(time);\n this.updateThumbPos(time, this.period.start);\n }\n\n setPlayingTime (time) {\n this.playingTime = time;\n }\n\n keepThumbPosition (thumbPosition) {\n this.thumbPosition = thumbPosition;\n }\n\n getPlaylistByIntervalType (intervalElem, clientX, annotationStartSeconds) {\n let newInterval = this.intervals[intervalElem.dataset.index];\n let playingPeriod = null;\n let newViewMode = PLAYER_VIEW_MODES.LIVE;\n\n if (intervalElem.dataset.type === RANGE_TYPES.GAP && this.isLastElem(intervalElem)) {\n return false;\n }\n\n if (intervalElem.dataset.type !== RANGE_TYPES.LIVE) {\n let newCurrentSeconds = 0;\n\n if (intervalElem.dataset.type === RANGE_TYPES.GAP) {\n newInterval = this.intervals[Number(intervalElem.dataset.index) + 1];\n newCurrentSeconds = newInterval.start;\n }\n else if (intervalElem.dataset.type === RANGE_TYPES.FRAGMENT) {\n newCurrentSeconds = annotationStartSeconds\n ? annotationStartSeconds - (this.period.start / 1000) - 10\n : this.getSecondsFromPos(clientX);\n }\n\n playingPeriod = {\n start: (newCurrentSeconds * 1000) + this.period.start,\n end : this.getCorrectedPlayingPeriodEnd(newCurrentSeconds, newInterval.end),\n };\n\n newViewMode = PLAYER_VIEW_MODES.ARCHIVE;\n }\n\n return { newInterval, playingPeriod, newViewMode };\n }\n\n isLastElem (elem) {\n return this.intervals.length === Number(elem.dataset.index) + 1;\n }\n\n getSecondsFromPos (clientX) {\n const leftShift = this.progressBar ? this.progressBar.getBoundingClientRect().left : 0;\n return this.getSecondsFromPX(clientX - leftShift);\n }\n\n innerPlayingTime (time) {\n const currentTimeElem = ProgressBarController.getElem(getCurrentDateId(this.playerId));\n\n if (currentTimeElem) {\n currentTimeElem.innerHTML = formatDate(time, 'HH:mm:ss, D MMMM');\n }\n }\n\n getNextPeriodAfterGap (index) {\n return this.intervals[index]\n ? {\n start: this.intervals[index].start * 1000 + this.period.start,\n end : this.getCorrectedPlayingPeriodEnd(\n this.intervals[index].start,\n this.intervals[index].end,\n ),\n type : this.intervals[index].type,\n }\n : null;\n }\n\n /* end PRIVATE METHODS */\n\n static getElem (id) {\n return document.getElementById(id);\n }\n\n static getCurrentTimeInMS (videoCurrentTime) {\n return videoCurrentTime * 1000;\n }\n}\n","/* eslint-disable no-param-reassign */\n/* eslint-disable no-unused-vars */\n/* eslint-disable object-curly-newline */\n/* eslint-disable import/no-cycle */\nimport dayjs from 'dayjs';\nimport axios from 'axios';\nimport { PLAYER_VIEW_MODES } from '@/constants/main';\nimport { cloneObjDeep } from '@/extends/lib';\nimport {\n getArchiveStatsUrl,\n getAvailableDaysUrl,\n getRangesUrl,\n ANNOTATIONS_URL,\n getDownloadArchiveUrl,\n} from '@/constants/api';\nimport httpClient from '@/config/httpClient';\nimport { RANGE_TYPES } from '@/components/ycc-player/constants';\nimport ProgressBarController from '@/components/ycc-player/extends/ProgressBarController';\nimport {\n getDefaultStart,\n getDefaultEnd,\n getDefaultPeriod,\n getDefaultDownloadLimitsPX,\n getDefaultPeriodISO,\n} from './lib';\n\nconst { CancelToken } = axios;\n\nexport default {\n namespaced: true,\n state : {\n archiveStats : null,\n availableDays : [],\n annotations : [],\n annotationsByTypes: [],\n\n speedIndex : 1,\n archiveDownloadMaxSeconds: 3600,\n downloadLimitsPX : getDefaultDownloadLimitsPX(),\n\n isVisibleDownloadBlock : false,\n isFetchingArchive : false,\n isFetchingArchiveRanges: false,\n isFetchingAnnotations : false,\n isPlaying : false,\n isLoading : false,\n\n cancelArchiveRangesRequest: null,\n archiveDataWatcherTimer : null,\n\n /* progress-bar period */\n period : getDefaultPeriod(),\n periodISO: getDefaultPeriodISO(),\n\n /* progress-bar ranges */\n ranges : [],\n intervals: [],\n\n /* live/archive */\n playerViewMode: PLAYER_VIEW_MODES.LIVE,\n playlist : null,\n\n progressBarController: null,\n },\n getters : {\n hasArchive : (state) => !!state.archiveStats && !!state.archiveStats.period,\n archiveDownloadMaxPX: (state) => {\n return state.progressBarController\n ? state.progressBarController.getPXFromSeconds(state.archiveDownloadMaxSeconds)\n : 0;\n },\n getSecondsInPx : (state) => () => {\n return state.progressBarController ? state.progressBarController.secondsInPx() : 0;\n },\n },\n actions : {\n /* bring */\n zoomUpByPointer ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n dispatch('zoomUp', {\n streamUid,\n streamId,\n period: state.progressBarController.getPeriodForZoomUpByPointer(),\n });\n },\n zoomUp ({ commit, state, getters, dispatch }, { streamUid, streamId, period }) {\n if (state.progressBarController.isZoomUpAllowed) {\n dispatch('updatePeriod', {\n period,\n streamId,\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n }\n },\n /* put away */\n zoomDownByPointer ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n dispatch('zoomDown', {\n streamUid,\n streamId,\n period: state.progressBarController.getPeriodForZoomDownByPointer(),\n });\n },\n zoomDown ({ commit, state, getters, dispatch }, { streamUid, streamId, period }) {\n if (state.progressBarController.isZoomDownAllowed) {\n dispatch('updatePeriod', {\n period,\n streamId,\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n }\n },\n toCenter ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n if (state.playerViewMode === PLAYER_VIEW_MODES.LIVE && !state.playlist) {\n return;\n }\n\n dispatch('updatePeriod', {\n streamId,\n period : state.progressBarController.getPeriodForGoToCenter(),\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n },\n moveLeft ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n dispatch('updatePeriod', {\n streamId,\n period : state.progressBarController.getPeriodForMoveLeft(),\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n },\n moveRight ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n dispatch('updatePeriod', {\n streamId,\n period : state.progressBarController.getPeriodForMoveRight(),\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n },\n updatePeriodAfterDrag ({ commit, dispatch, state }, { period }) {\n dispatch('updatePeriod', {\n period,\n isArchiveEnable: true,\n needRunWatcher : false,\n needFetchData : false,\n });\n },\n resetPeriod ({ dispatch }) {\n dispatch('updatePeriod', {\n period: {\n start: getDefaultStart(),\n end : getDefaultEnd(),\n },\n });\n },\n\n updateRanges ({ dispatch, commit }, { ranges }) {\n function getSplitLastRange () {\n const lastRange = ranges && ranges[ranges.length - 1]\n ? cloneObjDeep(ranges[ranges.length - 1])\n : null;\n\n if (lastRange && !lastRange.status && dayjs(lastRange.date).valueOf() <= Date.now()) {\n lastRange.date = dayjs().toISOString();\n return lastRange;\n }\n return null;\n }\n\n const liveRange = getSplitLastRange();\n\n if (liveRange) {\n ranges.push(liveRange);\n }\n\n dispatch('saveRanges', { ranges });\n },\n saveRanges ({ state, commit }, { ranges }) {\n state.progressBarController.setRanges(ranges);\n commit('setRanges', { ranges });\n commit('setIntervals', { intervals: state.progressBarController.intervals });\n },\n updatePlaylist ({ commit, state }, { url, period, mode }) {\n if (mode === PLAYER_VIEW_MODES.ARCHIVE) {\n const startTime = dayjs(new Date(period.start)).toISOString();\n const endTime = dayjs(new Date(period.end)).toISOString();\n\n commit('setPlaylist', {\n playlist: {\n period,\n url: `${url}?start_time=${startTime}&end_time=${endTime}`,\n },\n });\n }\n else {\n commit('setPlaylist', { playlist: { url } });\n }\n },\n\n fetchArchive (\n { commit, dispatch, getters, state },\n { startTime, endTime, streamUid, streamId, isArchiveEnable },\n ) {\n if (isArchiveEnable) {\n commit('setFetching', { isFetchingArchive: true });\n\n httpClient\n .get(getRangesUrl(streamUid), {\n params: {\n start_time: startTime,\n end_time : endTime,\n },\n })\n .then((response) => {\n if (response.data.period) {\n dispatch('updatePeriod', {\n period: {\n start: dayjs(new Date(response.data.period.startTime)).valueOf(),\n end : dayjs(new Date(response.data.period.endTime)).valueOf(),\n },\n });\n dispatch('updateRanges', { ranges: response.data.ranges });\n dispatch('fetchAnnotations', { streamUid, isArchiveEnable, streamId });\n dispatch('fetchArchiveStats', { streamUid, isArchiveEnable });\n }\n })\n .finally(() => {\n commit('setFetching', { isFetchingArchive: false });\n });\n }\n },\n fetchArchiveRanges ({ commit, dispatch, getters, state }, { rangesUrl, isArchiveEnable }) {\n if (isArchiveEnable) {\n commit('setFetchingArchiveRanges', { isFetchingArchiveRanges: true });\n\n httpClient\n .get(rangesUrl, {\n params : {\n start_time: state.progressBarController.periodISO.start,\n end_time : state.progressBarController.periodISO.end,\n },\n cancelToken: new CancelToken((cancel) => {\n state.cancelArchiveRangesRequest = cancel;\n }),\n })\n .then((response) => {\n if (response.data.period) {\n dispatch('updateRanges', { ranges: response.data.ranges });\n }\n state.cancelArchiveRangesRequest = null;\n })\n .finally(() => {\n commit('setFetchingArchiveRanges', { isFetchingArchiveRanges: false });\n });\n }\n },\n fetchArchiveStats ({ commit, dispatch }, { streamUid, isArchiveEnable }) {\n if (isArchiveEnable) {\n const url = getArchiveStatsUrl(streamUid);\n\n httpClient\n .get(url)\n .then((res) => {\n if (res.data.period) {\n dispatch('updateArchiveStats', { stats: res.data });\n dispatch(\n 'fetchAvailableDays',\n {\n startDay: res.data.period.startTime,\n endDay : res.data.period.endTime,\n streamUid,\n isArchiveEnable,\n },\n );\n }\n });\n }\n },\n fetchAvailableDays ({ commit, dispatch, getters, state }, { startDay, endDay, streamUid, isArchiveEnable }) {\n if (isArchiveEnable) {\n const url = getAvailableDaysUrl(streamUid);\n\n httpClient\n .get(url, {\n params: {\n start_time: startDay,\n end_time : endDay,\n },\n })\n .then((res) => {\n commit('setAvailableDays', { availableDays: res.data });\n });\n }\n },\n fetchArchiveData ({ dispatch }, { rangesUrl, isArchiveEnable, streamId }) {\n dispatch('fetchArchiveRanges', { rangesUrl, isArchiveEnable, streamId });\n dispatch('fetchAnnotations', { isArchiveEnable, streamId });\n },\n fetchAnnotations ({ state, dispatch, commit }, { isArchiveEnable, streamId }) {\n if (isArchiveEnable) {\n commit('setFetchingAnnotations', { isFetchingAnnotations: true });\n\n httpClient\n .get(ANNOTATIONS_URL, {\n params: {\n streamId,\n from: state.progressBarController.periodISO.start,\n to : state.progressBarController.periodISO.end,\n },\n })\n .then((res) => {\n dispatch('updateAnnotations', { annotations: res.data });\n })\n .finally(() => {\n commit('setFetchingAnnotations', { isFetchingAnnotations: false });\n });\n }\n },\n fetchDownloadArchiveUrl ({ commit, getters }, { streamUid, downloadPeriod }) {\n return httpClient\n .get(getDownloadArchiveUrl({ streamUid }), {\n params: {\n start_time : dayjs(downloadPeriod.start).toISOString(),\n end_time : dayjs(downloadPeriod.end).toISOString(),\n timezone_offset: dayjs().utcOffset(),\n },\n })\n .then((res) => res.data);\n },\n\n updateAnnotations ({ state, commit }, { annotations }) {\n commit('setAnnotations', { annotations });\n commit('setAnnotationsByTypes', {\n annotations: state.progressBarController.getAnnotationsByTypes(annotations),\n });\n },\n resetArchiveData ({ commit, dispatch }) {\n commit('setAvailableDays', { availableDays: [] });\n commit('setPlaylist', { playlist: null });\n dispatch('updateAnnotations', { annotations: [] });\n dispatch('updateArchiveStats', { stats: null });\n dispatch('saveRanges', { ranges: [] });\n dispatch('updatePeriod', { period: getDefaultPeriod() });\n dispatch('updatePlayerViewMode', { mode: PLAYER_VIEW_MODES.LIVE });\n },\n createArchiveDataWatcher ({ commit, dispatch, getters }, { rangesUrl, isArchiveEnable, streamId }) {\n dispatch('clearArchiveDataWatcher');\n\n function getTime (secondsInPx) {\n return secondsInPx * 6 * 1000 > 3500 ? secondsInPx * 6 * 1000 : 3500;\n }\n\n const time = getTime(getters.getSecondsInPx());\n\n let timer = setTimeout(function tick () {\n dispatch('fetchArchiveData', { rangesUrl, isArchiveEnable, streamId });\n\n timer = setTimeout(tick, time);\n commit('setArchiveDataWatcherTimer', { timer });\n }, time);\n\n commit('setArchiveDataWatcherTimer', { timer });\n },\n clearArchiveDataWatcher ({ state }) {\n clearTimeout(state.archiveDataWatcherTimer);\n },\n\n /* for Player */\n updateSpeedIndex ({ commit }, { speedIndex }) {\n commit('setSpeedIndex', { speedIndex });\n },\n goToLive ({ dispatch, getters, commit }, {\n isSeek,\n rangesUrl,\n liveUrl,\n isAvailableStream,\n isArchiveEnable,\n streamId,\n needFetchData,\n }) {\n dispatch('updatePlayerViewMode', { mode: PLAYER_VIEW_MODES.LIVE });\n\n if (isAvailableStream) {\n if (!isSeek) {\n dispatch('updatePeriod', {\n rangesUrl,\n isArchiveEnable,\n streamId,\n needFetchData,\n period: {\n start: dayjs(new Date(getDefaultStart())).valueOf(),\n end : dayjs(new Date(getDefaultEnd())).valueOf(),\n },\n });\n }\n dispatch('updatePlaylist', {\n url : liveUrl,\n mode : PLAYER_VIEW_MODES.LIVE,\n period: null,\n });\n }\n else {\n dispatch('goToEmptyState');\n }\n },\n goToArchive ({ dispatch, state }, { period, playlistUrl }) {\n dispatch('updatePlaylist', {\n period,\n url : playlistUrl,\n mode: PLAYER_VIEW_MODES.ARCHIVE,\n });\n state.progressBarController.updatePlayingTime(period.start);\n dispatch('updatePlayerViewMode', { mode: PLAYER_VIEW_MODES.ARCHIVE });\n },\n goToEmptyState ({ commit, state }) {\n state.progressBarController.updatePlayingTime(0);\n commit('setPlaylist', { playlist: null });\n },\n updatePlayerViewMode ({ state, commit, dispatch }, { mode }) {\n commit('setPlayerViewMode', { mode });\n\n if (mode === PLAYER_VIEW_MODES.LIVE) {\n dispatch('updateSpeedIndex', { speedIndex: 1 });\n }\n },\n updateArchiveStats ({ state, commit }, { stats }) {\n if (state.progressBarController) {\n state.progressBarController.setArchiveStatsPeriod(stats?.period || null);\n // todo: requests queue\n commit('setIntervals', { intervals: state.progressBarController.intervals });\n }\n commit('setArchiveStats', { stats });\n },\n handleEndedVideo ({ dispatch, state }, { playlistUrl, liveUrl, isAvailableStream }) {\n const period = state.progressBarController.getNewPlaylistPeriodAfterEnding();\n\n if (period.type === RANGE_TYPES.FRAGMENT) {\n dispatch('goToArchive', {\n period,\n playlistUrl,\n });\n }\n else {\n dispatch('goToLive', {\n liveUrl,\n isAvailableStream,\n isSeek: true,\n });\n }\n },\n\n updatePeriod ({ commit, dispatch, state }, {\n period,\n rangesUrl,\n isArchiveEnable,\n streamId,\n needRunWatcher,\n needFetchData,\n }) {\n dispatch('setPeriod', { period })\n .then(() => {\n if (needFetchData) {\n dispatch('fetchArchiveData', { rangesUrl, isArchiveEnable, streamId });\n }\n\n if (needRunWatcher) {\n dispatch('createArchiveDataWatcher', { rangesUrl, streamId, isArchiveEnable });\n }\n\n if (!state.isPlaying) {\n state.progressBarController.updateThumbPos(\n state.progressBarController.playingTime,\n state.progressBarController.period.start,\n );\n }\n });\n },\n setPeriod ({ state, commit }, { period }) {\n state.progressBarController.setPeriod(period);\n commit('setPeriod', { period });\n commit('setPeriodISO', { periodISO: state.progressBarController.periodISO });\n commit('setIntervals', { intervals: state.progressBarController.intervals });\n },\n\n buildProgressBarController ({ state, commit }, {\n playerId,\n thumbWidth,\n }) {\n commit('setProgressBarController', {\n progressBarController: new ProgressBarController({\n playerId,\n thumbWidth,\n }),\n });\n },\n },\n mutations : {\n setPeriod (state, { period }) {\n state.period = period;\n },\n setPeriodISO (state, { periodISO }) {\n state.periodISO = periodISO;\n },\n setPlaylist (state, { playlist }) {\n state.playlist = playlist;\n },\n setRanges (state, { ranges }) {\n state.ranges = ranges;\n },\n setPlayerViewMode (state, { mode }) {\n state.playerViewMode = mode;\n },\n setFetching (state, { isFetchingArchive }) {\n state.isFetchingArchive = isFetchingArchive;\n },\n setAvailableDays (state, { availableDays }) {\n state.availableDays = availableDays;\n },\n setFetchingArchiveRanges (state, { isFetchingArchiveRanges }) {\n state.isFetchingArchiveRanges = isFetchingArchiveRanges;\n },\n setArchiveStats (state, { stats }) {\n state.archiveStats = stats;\n },\n setArchiveDataWatcherTimer (state, { timer }) {\n state.archiveDataWatcherTimer = timer;\n },\n setDownloadBlockVisibility (state, { isVisibleDownloadBlock }) {\n state.isVisibleDownloadBlock = isVisibleDownloadBlock;\n },\n setDownloadLimits (state, { downloadLimitsPX }) {\n state.downloadLimitsPX = downloadLimitsPX;\n },\n setArchiveDownloadMaxSeconds (state, { archiveDownloadMaxSeconds }) {\n state.archiveDownloadMaxSeconds = archiveDownloadMaxSeconds;\n },\n setAnnotations (state, { annotations }) {\n state.annotations = annotations;\n },\n setAnnotationsByTypes (state, { annotations }) {\n state.annotationsByTypes = annotations;\n },\n setFetchingAnnotations (state, { isFetchingAnnotations }) {\n state.isFetchingAnnotations = isFetchingAnnotations;\n },\n setSpeedIndex (state, { speedIndex }) {\n state.speedIndex = speedIndex;\n },\n setPlayingState (state, { isPlaying }) {\n state.isPlaying = isPlaying;\n },\n setLoadingState (state, { isLoading }) {\n state.isLoading = isLoading;\n },\n setIntervals (state, { intervals }) {\n state.intervals = intervals;\n },\n setProgressBarController (state, { progressBarController }) {\n state.progressBarController = progressBarController;\n },\n },\n};\n","import {\n getDeleteToken,\n PROFILE_TOKEN_URL,\n PROFILE_TOKENS_URL,\n SYSTEM_SETTINGS_URL,\n USER_URL,\n} from '@/constants/api';\nimport { PROFILE_UPDATED_NOTICE } from '@/constants/noticeTypes';\nimport { USER_PERMISSION_TYPES } from '@/constants/main';\n// eslint-disable-next-line import/no-cycle\nimport httpClient from '@/config/httpClient';\n\n/* eslint-disable no-param-reassign */\n/* eslint-disable object-curly-newline */\nexport default {\n namespaced: true,\n state : {\n user : null,\n tokens: [],\n\n isSavingProfile : false,\n isChangingPassword: false,\n isFetchingProfile : false,\n isFetchingTokens : false,\n isSavingToken : false,\n },\n getters : {\n userLang : (state) => {\n let lang = null;\n if (state.user) {\n lang = state.user.language;\n }\n return lang;\n },\n isAdminProfile : (state) => state.user && state.user.permissionType === USER_PERMISSION_TYPES.ADMIN,\n isReadOnlyProfile: (state) => state.user && (state.user.maxStreamCreation === 0 && !state.user.isAdmin),\n isManaged : (state) => state?.user?.isManaged,\n },\n mutations : {\n setUser (state, { user }) {\n state.user = user ? {\n ...user,\n permissionType: user.isAdmin ? USER_PERMISSION_TYPES.ADMIN : USER_PERMISSION_TYPES.USER,\n } : user;\n },\n setTokens (state, { tokens }) {\n state.tokens = tokens;\n },\n },\n actions : {\n fetchUser ({ commit, state }) {\n if (state.user) {\n return;\n }\n\n state.isFetchingProfile = true;\n\n httpClient\n .get(USER_URL)\n .then((res) => {\n commit('setUser', { user: res.data });\n })\n .finally(() => {\n state.isFetchingProfile = false;\n });\n },\n saveUser ({ commit, state, dispatch }, { email, login, password, fullName, oldPassword, language }) {\n state.isSavingProfile = true;\n\n httpClient\n .patch(USER_URL, {\n email,\n password,\n oldPassword,\n language,\n fullName,\n name: login,\n })\n .then(() => {\n const adaptedUser = {\n ...state.user,\n isAdmin : state.user.permissionType === USER_PERMISSION_TYPES.ADMIN,\n readOnly: Number(state.user.maxStreamCreation) === 0\n && state.user.permissionType === USER_PERMISSION_TYPES.USER,\n };\n\n commit('setUser', {\n user: { ...adaptedUser, name: login, email, language, fullName },\n });\n commit(\n 'setNotice',\n { name: PROFILE_UPDATED_NOTICE },\n { root: true },\n );\n\n if (password && oldPassword) {\n dispatch('updateAuthToken', { login, password });\n }\n })\n .finally(() => {\n setTimeout(() => {\n state.isSavingProfile = false;\n }, 300);\n });\n },\n saveUserLang ({ commit, state }, { language }) {\n commit('setUser', { user: { ...state.user, language } });\n\n httpClient\n .patch(USER_URL, { language, email: state.user.email, name: state.user.name });\n },\n updateAuthToken ({ dispatch }, { password, login }) {\n const credentials = {\n password,\n name: login,\n };\n\n dispatch('auth', { credentials }, { root: true });\n },\n clearUser ({ commit }) {\n commit('setUser', { user: null });\n },\n fetchTokens ({ commit }) {\n httpClient\n .get(PROFILE_TOKENS_URL)\n .then((res) => {\n commit('setTokens', { tokens: res.data });\n })\n .finally();\n },\n createToken ({ state, commit }, { expireTime, name }) {\n state.isSavingToken = true;\n\n return httpClient\n .post(PROFILE_TOKEN_URL, { expireTime, name })\n .then((res) => {\n commit('setTokens', { tokens: [res.data, ...state.tokens] });\n return res.data;\n })\n .finally(() => {\n state.isSavingToken = false;\n });\n },\n deleteToken ({ state }, { tokenId }) {\n state.isDeletingToken = true;\n\n httpClient\n .delete(getDeleteToken(tokenId));\n },\n fetchSettings () {\n return httpClient\n .get(SYSTEM_SETTINGS_URL)\n .then((res) => {\n return res.data;\n });\n },\n },\n};\n","import axios from 'axios';\nimport {\n USERS_URL,\n USER_URL,\n STATS_URL,\n CONFIG_URL,\n SYSTEM_STATS_URL,\n API_VERSION_CHECK,\n SERVER_DEBUG_URL,\n getBlockUserUrl,\n getUnblockUserUrl,\n getUserPermissionsUrl,\n} from '@/constants/api';\nimport {\n USER_BLOCKED_NOTICE,\n USER_SAVED_NOTICE,\n USER_UNBLOCKED_NOTICE,\n} from '@/constants/noticeTypes';\nimport {\n USER_ACCESSES,\n USER_PERMISSION_TYPES,\n} from '@/constants/main';\n/* eslint-disable import/no-cycle */\nimport httpClient from '@/config/httpClient';\n\nconst { CancelToken } = axios;\n\n/* eslint-disable no-param-reassign */\n/* eslint-disable object-curly-newline */\nexport default {\n namespaced: true,\n state : {\n stats : null,\n systemStats : null,\n config : null,\n users : null,\n logs : null,\n currentUser : null,\n isEditMode : false,\n versionInfo : null,\n currentUserPermissions: [],\n\n isFetchingUsers : false,\n isSavingUser : false,\n isFetchingUser : false,\n isDeletingUser : false,\n isFetchingConfig : false,\n isFetchingStats : false,\n isFetchingLogs : false,\n isAddingPermission : false,\n isFetchingPermissions: false,\n\n fetchingLogsTimer: null,\n cancelLogsRequest: null,\n },\n mutations : {\n setUsers (state, { users }) {\n state.users = users;\n },\n setEditMode (state, { isEditMode }) {\n state.isEditMode = isEditMode;\n },\n setCurrentUser (state, { user }) {\n state.currentUser = {\n ...user,\n permissionType: user.isAdmin ? USER_PERMISSION_TYPES.ADMIN : USER_PERMISSION_TYPES.USER,\n };\n },\n setStats (state, { stats }) {\n state.stats = stats;\n },\n setConfig (state, { config }) {\n state.config = config;\n },\n setSystemStats (state, { systemStats }) {\n state.systemStats = systemStats;\n },\n setVersionInfo (state, { versionInfo }) {\n state.versionInfo = versionInfo;\n },\n setLogs (state, { logs }) {\n state.logs = logs;\n },\n setFetchingLogsTimer (state, { timer }) {\n state.fetchingLogsTimer = timer;\n },\n clearFetchingLogsTimer (state) {\n clearTimeout(state.fetchingLogsTimer);\n },\n setCancelLogsRequest (state, { cancel }) {\n state.cancelLogsRequest = cancel;\n },\n setCurrentUserPermissions (state, { permissions }) {\n state.currentUserPermissions = permissions;\n },\n deleteCurrentUser (state) {\n state.currentUser = null;\n },\n },\n actions : {\n fetchUsers ({ commit, state }) {\n state.isFetchingUsers = true;\n\n httpClient\n .get(USERS_URL, {})\n .then((res) => {\n commit('setUsers', { users: res.data });\n })\n .finally(() => {\n state.isFetchingUsers = false;\n });\n },\n fetchUser ({ commit, state }, { login }) {\n state.isFetchingUser = true;\n\n httpClient\n .get(`${USER_URL}/${login}`)\n .then((res) => {\n commit('setCurrentUser', { user: res.data });\n })\n .finally(() => {\n state.isFetchingUser = false;\n });\n },\n addUser ({ dispatch }, { user }) {\n dispatch('saveUser', { user, isAdding: true });\n },\n saveUser ({ commit, state }, { user, isAdding }) {\n const url = isAdding ? USER_URL : `${USER_URL}/${user.name}`;\n state.isSavingUser = true;\n\n const adaptedUser = {\n ...user,\n isAdmin : user.permissionType === USER_PERMISSION_TYPES.ADMIN,\n maxStreamCreation: user.maxStreamCreation === ''\n ? -1 : Number(user.maxStreamCreation),\n };\n\n httpClient\n .post(url, adaptedUser)\n .then((res) => {\n commit('setCurrentUser', { user: res.data });\n\n commit(\n 'setNotice',\n { name: USER_SAVED_NOTICE },\n { root: true },\n );\n\n commit('setEditMode', { isEditMode: false });\n })\n .finally(() => {\n state.isSavingUser = false;\n });\n },\n updateCurrentUser ({ commit, state, dispatch }, { login }) {\n let user = state.currentUser || null;\n\n if (state.users) {\n state.users.some((item) => {\n if (item.name === login) {\n user = item;\n }\n\n return item.name === login;\n });\n }\n\n if (user) {\n commit('setCurrentUser', { user });\n }\n else {\n dispatch('fetchUser', { login });\n }\n },\n deleteUser ({ dispatch, state }, { login }) {\n state.isDeletingUser = true;\n\n return httpClient\n .delete(`${USER_URL}/${login}`)\n .then(() => {\n dispatch('fetchUsers');\n })\n .finally(() => {\n state.isDeletingUser = false;\n });\n },\n changeUserAccess ({ commit, state }, { login, access }) {\n const url = access === USER_ACCESSES.blocked\n ? getBlockUserUrl(login) : getUnblockUserUrl(login);\n\n return httpClient\n .post(url, { name: login })\n .then(() => {\n commit('setCurrentUser', {\n user: { ...state.currentUser, state: access },\n });\n\n commit(\n 'setNotice',\n { name: access === USER_ACCESSES.blocked ? USER_BLOCKED_NOTICE : USER_UNBLOCKED_NOTICE },\n { root: true },\n );\n });\n },\n clearCurrentUser ({ commit }) {\n commit('deleteCurrentUser');\n commit('setCurrentUserPermissions', { permissions: [] });\n },\n\n fetchStats ({ commit, state }) {\n state.isFetchingStats = true;\n\n httpClient\n .get(STATS_URL, {})\n .then((res) => {\n commit('setStats', { stats: res.data });\n })\n .finally(() => {\n state.isFetchingStats = false;\n });\n },\n fetchConfig ({ commit, state }) {\n state.isFetchingConfig = true;\n\n httpClient\n .get(CONFIG_URL, {})\n .then((res) => {\n commit('setConfig', { config: res.data });\n })\n .finally(() => {\n state.isFetchingConfig = false;\n });\n },\n fetchSystemStats ({ state, commit }) {\n state.isFetchingSystemStats = true;\n\n httpClient\n .get(SYSTEM_STATS_URL, {})\n .then((res) => {\n commit('setSystemStats', { systemStats: res.data });\n })\n .finally(() => {\n state.isFetchingSystemStats = false;\n });\n },\n fetchLogs ({ state, commit }) {\n if (state.cancelLogsRequest) {\n state.cancelLogsRequest('replaced');\n }\n\n httpClient\n .get(SERVER_DEBUG_URL, {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelLogsRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setLogs', { logs: res.data });\n })\n .finally(() => {\n state.isFetchingLogs = false;\n });\n },\n runUpdatingLogs ({ state, commit, dispatch }) {\n state.isFetchingLogs = true;\n\n dispatch('fetchLogs');\n\n let timer = setTimeout(function tick () {\n dispatch('fetchLogs');\n\n timer = setTimeout(tick, 1000);\n commit('setFetchingLogsTimer', { timer });\n }, 1000);\n\n commit('setFetchingLogsTimer', { timer });\n },\n clearLogsTimer ({ commit, state }) {\n commit('clearFetchingLogsTimer');\n\n if (state.cancelLogsRequest) {\n state.cancelLogsRequest('replaced');\n }\n },\n updateVersionData ({ commit }, { version }) {\n axios\n .get(API_VERSION_CHECK, { params: { v: encodeURI(version) } })\n .then((res) => {\n commit('setVersionInfo', { versionInfo: res.data });\n });\n },\n\n fetchUserPermissions ({ commit, state }, { login }) {\n state.isFetchingPermissions = true;\n\n httpClient\n .get(getUserPermissionsUrl(login))\n .then((res) => {\n commit('setCurrentUserPermissions', { permissions: res.data || [] });\n })\n .finally(() => {\n state.isFetchingPermissions = false;\n });\n },\n updateUserPermissions ({ commit, state }, { permissions, login }) {\n state.isAddingPermission = true;\n\n httpClient\n .post(getUserPermissionsUrl(login), permissions, { timeout: 60000 })\n .then((res) => {\n commit('setCurrentUserPermissions', { permissions: res.data });\n })\n .finally(() => {\n state.isAddingPermission = false;\n });\n },\n },\n};\n","import axios from 'axios';\nimport {\n ADDING_STREAM_URL,\n DELETE_STREAM_URL,\n PAUSE_STREAM_URL,\n PREVIEW_STREAM_URL,\n PROBE_STREAM_URL,\n RESUME_STREAM_URL,\n UPDATING_STREAM_URL,\n getStreamPermissionsUrl,\n getStreamShareUrl,\n getStreamLogsUrl,\n getStreamInfoUrl,\n} from '@/constants/api';\n// eslint-disable-next-line import/no-cycle\nimport httpClient from '@/config/httpClient';\nimport { STREAM_SOURCE_ERR } from '@/constants/errorTypes';\nimport { STREAM_INFO_SAVED_NOTICE } from '@/constants/noticeTypes';\n\nconst { CancelToken } = axios;\n\n/* eslint-disable no-param-reassign */\nexport default {\n namespaced: true,\n state : {\n // Add stream\n isSendingStream: false,\n\n fetchingStreamStatusTimer: null,\n cancelStreamInfoRequest : null,\n\n fetchingLogsTimer: null,\n cancelLogsRequest: null,\n\n // Info stream\n // Maps of Stream States\n deletingStateMap: {},\n changingStateMap: {},\n\n // StreamPage\n currentStream : null,\n isFetchingRunningStream: false,\n isFetchingStreamInfo : false,\n isDeletedStream : false,\n isFetchingLogs : false,\n\n currentStreamPermissions: [],\n currentStreamLogs : null,\n\n isAddingPermission : false,\n isFetchingStreamPermissions: false,\n },\n mutations : {\n // Add stream\n // Info Stream\n // StreamPage\n setStreamStatus (state, payload) {\n state.currentStream.status = payload;\n },\n setFailureReason (state, payload) {\n state.currentStream.failureReason = payload;\n },\n setStream (state, { stream }) {\n state.currentStream = { ...state.currentStream, ...stream };\n },\n deleteCurrentStream (state) {\n state.currentStream = null;\n state.currentStreamPermissions = null;\n state.currentStreamLogs = null;\n },\n setDeletingStreamState (state, { streamUid, streamState }) {\n const deletingStateMap = JSON.parse(JSON.stringify(state.deletingStateMap));\n deletingStateMap[streamUid] = streamState;\n state.deletingStateMap = deletingStateMap;\n },\n setChangingStreamState (state, { streamUid, streamState }) {\n const changingStateMap = JSON.parse(JSON.stringify(state.changingStateMap));\n changingStateMap[streamUid] = streamState;\n state.changingStateMap = changingStateMap;\n },\n setDeletedStreamState (state, { isDeletedStream }) {\n state.isDeletedStream = isDeletedStream;\n },\n setCurrentStreamPermissions (state, { permissions }) {\n state.currentStreamPermissions = permissions;\n },\n setCancelStreamInfoRequest (state, { cancel }) {\n state.cancelStreamInfoRequest = cancel;\n },\n setFetchingStatusTimer (state, { timer }) {\n state.fetchingStreamStatusTimer = timer;\n },\n clearFetchingStreamStatusTimer (state) {\n clearTimeout(state.fetchingStreamStatusTimer);\n },\n setLogs (state, { logs }) {\n state.currentStreamLogs = logs;\n },\n setFetchingLogsTimer (state, { timer }) {\n state.fetchingLogsTimer = timer;\n },\n clearFetchingLogsTimer (state) {\n clearTimeout(state.fetchingLogsTimer);\n },\n setCancelLogsRequest (state, { cancel }) {\n state.cancelLogsRequest = cancel;\n },\n },\n getters : {\n isArchiveEnable: (state) => !!state.currentStream?.archive?.isEnable,\n isLiveOnDemand : (state) => state.currentStream?.live.onDemand,\n },\n actions : {\n // Add stream\n async sendStream ({ commit, state }, payload) {\n let uid = null;\n state.isSendingStream = true;\n\n await httpClient\n .post(ADDING_STREAM_URL, payload, { timeout: 35000 })\n .then((res) => {\n commit('deleteError', { name: STREAM_SOURCE_ERR }, { root: true });\n // eslint-disable-next-line prefer-destructuring\n uid = res.data.uid;\n })\n .finally(() => {\n state.isSendingStream = false;\n });\n\n return uid;\n },\n // Info stream\n pauseStream ({ commit }, { streamUid }) {\n commit('setChangingStreamState', { streamUid, streamState: true });\n\n httpClient\n .post(`${PAUSE_STREAM_URL}/${streamUid}`)\n .then((res) => {\n commit('setStreamStatus', res.data.status);\n })\n .finally(() => {\n commit('setChangingStreamState', { streamUid, streamState: false });\n });\n },\n resumeStream ({ commit }, { streamUid }) {\n commit('setChangingStreamState', { streamUid, streamState: true });\n\n httpClient\n .post(`${RESUME_STREAM_URL}/${streamUid}`)\n .then((res) => {\n commit('setStreamStatus', res.data.status);\n })\n .finally(() => {\n commit('setChangingStreamState', { streamUid, streamState: false });\n });\n },\n deleteStream ({ commit }, { streamUid }) {\n commit('setDeletingStreamState', { streamUid, streamState: true });\n\n httpClient\n .delete(`${DELETE_STREAM_URL}/${streamUid}`, {\n params: { purge: true },\n })\n .then(() => {\n commit('setDeletedStreamState', { isDeletedStream: true });\n })\n .finally(() => {\n commit('setDeletingStreamState', { streamUid, streamState: false });\n });\n },\n saveStream ({ commit, state, dispatch }, stream) {\n state.isSendingStream = true;\n\n httpClient\n .put(`${UPDATING_STREAM_URL}/${stream.uid}`, stream)\n .then((res) => {\n commit('setStream', { stream: res.data });\n dispatch('updateStreamInStreams', { stream: res.data });\n commit('setNotice', { name: STREAM_INFO_SAVED_NOTICE }, { root: true });\n })\n .finally(() => {\n state.isSendingStream = false;\n });\n },\n updateStreamInStreams ({ commit, rootState }, { stream }) {\n const streams = rootState.streams.map((streamItem) => {\n if (streamItem.uid === stream.uid) {\n Object.keys(stream).forEach((key) => {\n streamItem[key] = stream[key];\n });\n }\n return streamItem;\n });\n commit('setStreams', { streams }, { root: true });\n },\n async probeStream (store, { streamUrl, streamId }) {\n return axios\n .get(PROBE_STREAM_URL, { params: { url: streamUrl, stream_id: streamId }, timeout: 60000 })\n .then((res) => res.data);\n },\n async previewStream (store, { streamUrl, streamId }) {\n return axios\n .get(PREVIEW_STREAM_URL, { params: { url: streamUrl, stream_id: streamId }, timeout: 60000 })\n .then((res) => res.data);\n },\n // Info stream, StreamPage\n runUpdatingStreamStatus ({ commit, dispatch }, { streamUid, isPlayer }) {\n dispatch('fetchStreamStatus', { streamUid, isPlayer });\n\n let timer = setTimeout(function tick () {\n dispatch('fetchStreamStatus', { streamUid, isPlayer });\n\n timer = setTimeout(tick, 1000);\n commit('setFetchingStatusTimer', { timer });\n }, 1000);\n\n commit('setFetchingStatusTimer', { timer });\n },\n clearStreamTimers ({ commit, state }) {\n commit('clearFetchingStreamStatusTimer');\n if (state.cancelStreamInfoRequest) {\n state.cancelStreamInfoRequest('replaced');\n }\n },\n shareStream (store, { streamUid }) {\n return httpClient\n .get(getStreamShareUrl(streamUid))\n .then((res) => res.data);\n },\n denyStreamPublicAccess (store, { streamUid }) {\n return httpClient\n .delete(getStreamShareUrl(streamUid))\n .then((res) => res.data);\n },\n\n // StreamPage\n fetchStream ({ commit, state, getters }, { streamUid, isPlayer }) {\n state.isFetchingRunningStream = true;\n\n httpClient\n .get(getStreamInfoUrl(streamUid, getters.isLiveOnDemand && isPlayer))\n .then((res) => {\n commit('setStream', { stream: res.data });\n })\n .finally(() => {\n state.isFetchingRunningStream = false;\n });\n },\n fetchStreamStatus ({ commit, state, getters }, { streamUid, isPlayer }) {\n if (state.cancelStreamInfoRequest) {\n state.cancelStreamInfoRequest('replaced');\n }\n\n if (state.currentStream) {\n httpClient\n .get(getStreamInfoUrl(streamUid, getters.isLiveOnDemand && isPlayer), {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelStreamInfoRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setStreamStatus', res.data.status);\n commit('setFailureReason', res.data.failureReason);\n });\n }\n },\n fetchStreamInfo ({ commit, state, getters }, { streamUid, isPlayer }) {\n state.isFetchingStreamInfo = true;\n\n if (state.cancelStreamInfoRequest) {\n state.cancelStreamInfoRequest('replaced');\n }\n\n httpClient\n .get(getStreamInfoUrl(streamUid, getters.isLiveOnDemand && isPlayer), {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelStreamInfoRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setStream', { stream: res.data });\n state.isFetchingStreamInfo = false;\n })\n .catch(() => {\n state.isFetchingStreamInfo = false;\n });\n },\n fetchLogs ({ state, commit }, { uid }) {\n if (state.cancelLogsRequest) {\n state.cancelLogsRequest('replaced');\n }\n\n httpClient\n .get(getStreamLogsUrl(uid), {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelLogsRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setLogs', { logs: res.data });\n })\n .finally(() => {\n state.isFetchingLogs = false;\n });\n },\n runUpdatingLogs ({ state, commit, dispatch }, { uid }) {\n state.isFetchingLogs = true;\n\n dispatch('fetchLogs', { uid });\n\n let timer = setTimeout(function tick () {\n dispatch('fetchLogs', { uid });\n\n timer = setTimeout(tick, 1000);\n commit('setFetchingLogsTimer', { timer });\n }, 1000);\n\n commit('setFetchingLogsTimer', { timer });\n },\n clearLogsTimer ({ commit, state }) {\n commit('clearFetchingLogsTimer');\n\n if (state.cancelLogsRequest) {\n state.cancelLogsRequest('replaced');\n }\n },\n updateCurrentStream ({ dispatch }, { streamUid, isPlayer }) {\n dispatch('fetchStream', { streamUid, isPlayer });\n },\n clearCurrentStream ({ commit }) {\n commit('deleteCurrentStream');\n },\n fetchStreamPermissions ({ commit, state }, { streamUid }) {\n state.isFetchingStreamPermissions = true;\n\n httpClient\n .get(getStreamPermissionsUrl(streamUid))\n .then((res) => {\n commit('setCurrentStreamPermissions', { permissions: res.data });\n })\n .finally(() => {\n state.isFetchingStreamPermissions = false;\n });\n },\n updatePermissions ({ commit, state }, { permissions, streamUid }) {\n state.isAddingPermission = true;\n\n httpClient\n .post(getStreamPermissionsUrl(streamUid), permissions)\n .then((res) => {\n commit('setCurrentStreamPermissions', { permissions: res.data });\n })\n .finally(() => {\n state.isAddingPermission = false;\n });\n },\n },\n};\n","/* eslint-disable import/no-cycle */\nimport httpClient from '@/config/httpClient';\nimport { LICENSE_URL } from '@/constants/api';\n\n/* eslint-disable no-param-reassign */\n/* eslint-disable object-curly-newline */\nexport default {\n namespaced: true,\n state : {\n license : null,\n isFetchingLicense: false,\n },\n mutations : {\n setLicense (state, { license }) {\n state.license = license;\n },\n },\n actions : {\n fetchLicense ({ commit, state }) {\n state.isFetchingLicense = true;\n\n httpClient\n .get(LICENSE_URL)\n .then((res) => {\n commit('setLicense', { license: res.data });\n })\n .finally(() => {\n state.isFetchingLicense = false;\n });\n },\n async putLicense ({ state, commit }, { license }) {\n state.isSavingLicense = true;\n\n await httpClient\n .put(LICENSE_URL, { text: license })\n .then((res) => {\n commit('setLicense', { license: res.data });\n })\n .finally(() => {\n state.isSavingLicense = false;\n });\n },\n },\n};\n","// eslint-disable-next-line import/no-cycle\nimport httpClient from '@/config/httpClient';\nimport {\n ALL_MOSAICS_URL,\n MOSAIC_URL,\n} from '@/constants/api';\n\nexport default {\n namespaced: true,\n state : {\n mosaics : [],\n currentMosaic : null,\n isFetchingAllMosaics: false,\n isFetchingMosaic : false,\n isDeleting : false,\n\n fetchingMosaicTimer: null,\n },\n actions : {\n async postMosaic (store, data) {\n let mosaic = null;\n\n await httpClient\n .post(MOSAIC_URL, data)\n .then((res) => {\n mosaic = res.data;\n });\n\n return mosaic;\n },\n async saveMosaic (store, { id, data }) {\n let mosaic = null;\n\n await httpClient\n .post(`${MOSAIC_URL}/${id}`, data)\n .then((res) => {\n mosaic = res.data;\n });\n\n return mosaic;\n },\n async fetchAllMosaics ({ commit, state }) {\n state.isFetchingAllMosaics = true;\n\n await httpClient\n .get(ALL_MOSAICS_URL)\n .then((res) => {\n commit('setMosaics', { mosaics: res.data });\n })\n .finally(() => {\n state.isFetchingAllMosaics = false;\n });\n },\n async fetchMosaic ({ state, commit }, { id, isPlay }) {\n state.isFetchingMosaic = true;\n let mosaicUrl = `${MOSAIC_URL}/${id}`;\n\n if (isPlay) {\n mosaicUrl += '?extend_lease=true';\n }\n\n return httpClient\n .get(mosaicUrl)\n .then((res) => {\n commit('setMosaic', { mosaic: res.data });\n return res.data;\n })\n .finally(() => {\n state.isFetchingMosaic = false;\n });\n },\n async deleteMosaic ({ state }, { id }) {\n state.ieDeleting = true;\n\n await httpClient\n .delete(`${MOSAIC_URL}/${id}`)\n .then()\n .finally(() => {\n state.ieDeleting = false;\n });\n },\n runUpdatingMosaic ({ commit, dispatch }, { id, isPlay }) {\n dispatch('fetchMosaic', { id, isPlay });\n\n let timer = setTimeout(function tick () {\n dispatch('fetchMosaic', { id, isPlay });\n\n timer = setTimeout(tick, 10000);\n commit('setFetchingMosaicTimer', { timer });\n }, 10000);\n\n commit('setFetchingMosaicTimer', { timer });\n },\n clearTimers ({ commit, state }) {\n clearTimeout(state.fetchingMosaicTimer);\n commit('setFetchingMosaicTimer', { timer: null });\n },\n clearCurrentMosaic ({ commit }) {\n commit('setMosaic', { mosaic: null });\n },\n },\n mutations : {\n setMosaics (state, { mosaics }) {\n state.mosaics = mosaics;\n },\n setMosaic (state, { mosaic }) {\n state.currentMosaic = mosaic;\n },\n setFetchingMosaicTimer (state, { timer }) {\n state.fetchingMosaicTimer = timer;\n },\n },\n};\n","/* eslint-disable import/no-cycle */\n\nimport Vue from 'vue';\nimport Vuex from 'vuex';\nimport dayjs from 'dayjs';\nimport router from '@/router';\nimport httpClient from '@/config/httpClient';\nimport PAGES from '@/constants/pages';\nimport {\n STREAM_STATUS,\n VIEW_MODES_KEYS,\n GROUP_TYPES_KEYS,\n SORT_TYPES_KEYS,\n PANEL_SIZE,\n} from '@/constants/main';\nimport {\n GETTING_STREAMS_URL,\n LOGIN_URL,\n SELF_URL,\n UNLOCK_URL,\n} from '@/constants/api';\nimport {\n CREDENTIALS_ERR,\n} from '@/constants/errorTypes';\nimport {\n deleteCookie,\n getCookie,\n setCookie,\n} from '@/extends/lib';\nimport {\n isMediaAtLeast720,\n isMobile,\n} from '@/extends/browserEnv';\nimport { destinationPageStorage } from '@/extends/storageServices';\nimport {\n getGroupedStreams,\n saveToLocalStorage,\n} from './utilities';\nimport MUTATIONS from './mutations';\nimport player from './player/player';\nimport profile from './profile';\nimport admin from './admin';\nimport streamStore from './stream';\nimport license from './license';\nimport mosaic from './mosaic';\n\nVue.use(Vuex);\n/* eslint-disable no-param-reassign */\n/* eslint-disable no-unused-vars */\nexport default new Vuex.Store({\n modules : {\n admin,\n player,\n profile,\n streamStore,\n license,\n mosaic,\n },\n state : {\n version: null,\n config : null,\n\n // Auth\n isAuthLoading : false,\n isAdminCreating: false,\n\n // for LocalStorage\n isFixContent: true,\n isOpenAside : false,\n\n // StreamsPage\n pageNumberOfStreams : 1,\n viewModeKey : VIEW_MODES_KEYS.GRID,\n groupType : GROUP_TYPES_KEYS.NO_GROUP,\n sortType : SORT_TYPES_KEYS.DATE, // for LocalStorage\n isFetchingStreams : true,\n isCheckingMode : false,\n isShownAvailableStreams: false,\n searchingValues : [],\n streams : [],\n\n // GENERAL для всех страниц\n headerHeight : PANEL_SIZE,\n isNotFoundPage : false,\n errors : {},\n notice : {},\n healthWarnings : [],\n isMediaAtLeast720 : isMediaAtLeast720(),\n isCardMode : isMobile && !isMediaAtLeast720,\n isShowServerSwitcher: false,\n },\n mutations: {\n // Auth Page\n setVersion (state, { version }) {\n state.version = version;\n },\n setHealthWarnings (state, { healthWarnings }) {\n state.healthWarnings = healthWarnings;\n },\n [MUTATIONS.SET_AUTH_STATE.name] (state, { value }) {\n state.isAuthLoading = value;\n },\n\n // StreamsPage\n [MUTATIONS.SET_STREAMS.name] (state, payload) {\n state.streams = [...payload.streams];\n },\n [MUTATIONS.SET_GROUP_TYPE.name] (state, payload) {\n state[MUTATIONS.SET_GROUP_TYPE.property] = payload;\n },\n [MUTATIONS.SET_SEARCHING_VALUES.name] (state, payload) {\n state[MUTATIONS.SET_SEARCHING_VALUES.property] = [...payload];\n },\n [MUTATIONS.SET_VIEW_MODE_KEY.name] (state, payload) {\n state[MUTATIONS.SET_VIEW_MODE_KEY.property] = payload;\n },\n [MUTATIONS.SET_ASIDE_STATE.name] (state, payload) {\n state[MUTATIONS.SET_ASIDE_STATE.property] = payload;\n },\n [MUTATIONS.SET_SHOWING_AVAILABLE_STATE.name] (state, payload) {\n state[MUTATIONS.SET_SHOWING_AVAILABLE_STATE.property] = payload;\n },\n [MUTATIONS.SET_STREAMS_STATUSES.name] (state, payload) {\n state.streams = [...payload.streams];\n },\n\n // General\n [MUTATIONS.SET_FOUNDING_PAGE_STATE.name] (state) {\n state.isNotFoundPage = !state.isNotFoundPage;\n },\n [MUTATIONS.SET_ERROR.name] (state, { name, error }) {\n state.errors[name] = error;\n state.errors = { ...state.errors };\n },\n [MUTATIONS.DELETE_ERROR.name] (state, { name }) {\n if (state.errors[name]) {\n delete state.errors[name];\n }\n state.errors = { ...state.errors };\n },\n [MUTATIONS.SET_CREATING_ADMIN_STATE.name] (state, { value }) {\n state.isAdminCreating = value;\n },\n setNotice (state, { name, message }) {\n state.notice = { name, message };\n },\n deleteNotice (state, { name }) {\n state.notice = null;\n },\n setHeaderHeight (state, { headerHeight }) {\n state.headerHeight = headerHeight;\n },\n setIsMediaAtLeast720 (state) {\n state.isMediaAtLeast720 = isMediaAtLeast720();\n },\n setIsShowServerSwitcher (state, { isShowServerSwitcher }) {\n state.isShowServerSwitcher = isShowServerSwitcher;\n },\n },\n getters : {\n isMobile: () => isMobile,\n /* eslint-disable-next-line */\n availableStreams: (state) => {\n return state.streams.filter((stream) => stream.status === STREAM_STATUS.PENDING\n || stream.status === STREAM_STATUS.RUNNING);\n },\n searchedStreams : (state, getters) => {\n const uniqueStreamsIds = {};\n let allSearchedStreams = [];\n let streams = state.isShownAvailableStreams ? getters.availableStreams : state.streams;\n\n function getValuesForSearching (stream) {\n let valuesForSearching = [stream.name, stream.streamSource];\n\n if (stream.tags && stream.tags.length > 0) {\n valuesForSearching = [...valuesForSearching, ...stream.tags];\n }\n\n return valuesForSearching;\n }\n\n if (state.searchingValues.length > 0) {\n state.searchingValues.forEach((searchingValue) => {\n streams.forEach((stream) => {\n uniqueStreamsIds[stream.uid] = false;\n\n const valuesForSearching = getValuesForSearching(stream);\n\n if (stream.location && stream.location.name) {\n valuesForSearching.push(stream.location.name);\n }\n\n valuesForSearching.forEach((item) => {\n if (item\n && item.toLowerCase().indexOf(searchingValue.toLowerCase()) !== -1\n && uniqueStreamsIds[stream.uid] !== true) {\n allSearchedStreams.push(stream);\n uniqueStreamsIds[stream.uid] = true;\n }\n });\n });\n streams = [...allSearchedStreams];\n allSearchedStreams = [];\n });\n }\n return streams;\n },\n groupedStreams : (state, getters) => {\n switch (state.groupType) {\n case GROUP_TYPES_KEYS.TAG:\n return getters.groupedByTags;\n default:\n return {\n NO_GROUP: {\n name : 'All',\n streams: getters.searchedStreams,\n },\n };\n }\n },\n groupedByTags : (state, getters) => getGroupedStreams(getters.searchedStreams, GROUP_TYPES_KEYS.TAG),\n // AUTOCOMPLETE\n autocomplete: (state) => {\n const autocomplete = {\n names : [],\n tags : [],\n markers : [],\n locations: [],\n };\n\n const markers = {};\n const tags = {};\n const locations = {};\n\n state.streams.forEach((stream) => {\n autocomplete.names.push({ value: stream.name });\n\n if (stream.meta && stream.meta.marker) {\n markers[stream.meta.marker] = true;\n }\n\n if (stream.tags && stream.tags.length > 0) {\n stream.tags.forEach((tag) => {\n tags[tag] = true;\n });\n }\n\n if (stream.location && stream.location.name && stream.location.name.length > 0) {\n locations[stream.location.name] = true;\n }\n });\n\n Object.keys(markers).forEach((key) => {\n autocomplete.markers.push({ value: key });\n });\n Object.keys(tags).forEach((key) => {\n autocomplete.tags.push({ value: key });\n });\n Object.keys(locations).forEach((key) => {\n autocomplete.locations.push({ value: key });\n });\n\n return autocomplete;\n },\n },\n actions : {\n createAdmin ({ commit, dispatch }, { settings }) {\n commit(MUTATIONS.SET_CREATING_ADMIN_STATE.name, { value: true });\n\n httpClient\n .post(UNLOCK_URL, settings)\n .then((res) => {\n commit(MUTATIONS.DELETE_ERROR.name, { name: CREDENTIALS_ERR });\n dispatch('saveToken', { token: res.data.token });\n router.replace({ name: PAGES.ALL_STREAMS });\n })\n .finally(() => {\n commit(MUTATIONS.SET_CREATING_ADMIN_STATE.name, { value: false });\n });\n },\n // Auth Page\n auth ({ commit, dispatch }, { credentials }) {\n commit(MUTATIONS.SET_AUTH_STATE.name, { value: true });\n\n httpClient\n .post(LOGIN_URL, credentials)\n .then((res) => {\n commit(MUTATIONS.DELETE_ERROR.name, { name: CREDENTIALS_ERR });\n dispatch('saveToken', { token: res.data.token });\n\n const redirectPage = res.data.mustChangePassword ? PAGES.PROFILE_EDIT : PAGES.ALL_STREAMS;\n\n router.replace(destinationPageStorage.getItem() || {\n name : redirectPage,\n params: { mustChangePassword: res.data.mustChangePassword },\n });\n destinationPageStorage.removeItem();\n })\n .finally(() => {\n commit(MUTATIONS.SET_AUTH_STATE.name, { value: false });\n });\n },\n saveToken ({ commit }, { token }) {\n const expires = new Date(dayjs(new Date()).add(1, 'month').valueOf());\n\n deleteCookie('token');\n setCookie('token', token, {\n expires,\n samesite: 'strict',\n });\n },\n logout ({ dispatch }) {\n deleteCookie('token');\n dispatch('profile/clearUser');\n destinationPageStorage.removeItem();\n router.replace({ name: PAGES.AUTH });\n },\n hasPermission () {\n return !!getCookie('token');\n },\n async checkPermission ({ dispatch, commit }) {\n return httpClient\n .get(SELF_URL)\n .then((res) => {\n dispatch('updateVersion', { version: res.data.version });\n\n if (res.data.warnings) {\n commit('setHealthWarnings', { healthWarnings: res.data.warnings });\n }\n return { status: true };\n })\n .catch((error) => ({ statusCode: error.response.status, status: false }));\n },\n fetchHealth ({ commit, state, dispatch }) {\n if (state.version) {\n return;\n }\n httpClient\n .get(SELF_URL)\n .then((res) => {\n dispatch('updateVersion', { version: res.data.version });\n\n if (res.data.warnings) {\n commit('setHealthWarnings', { healthWarnings: res.data.warnings });\n }\n });\n },\n updateVersion ({ commit, state, dispatch }, { version }) {\n commit('setVersion', { version });\n },\n\n // StreamsPage\n fetchStreams ({ commit, state }) {\n state.isFetchingStreams = true;\n httpClient\n .get(GETTING_STREAMS_URL, {\n params: {\n page : state.pageNumberOfStreams,\n groupType : state.groupType,\n sortType : state.sortType,\n onlyAvailable : state.isShownAvailableStreams,\n searchingValues: state.searchingValues,\n },\n })\n .then((res) => {\n commit(MUTATIONS.SET_STREAMS.name, { streams: res.data });\n state.isFetchingStreams = false;\n });\n },\n fetchStreamsStatuses ({ commit, state }) {\n httpClient\n .get(GETTING_STREAMS_URL, {\n params: {\n page : state.pageNumberOfStreams,\n groupType : state.groupType,\n sortType : state.sortType,\n isOnlyAvailable: state.isShownAvailableStreams,\n searchingValues: state.searchingValues,\n },\n })\n .then((res) => {\n commit(MUTATIONS.SET_STREAMS_STATUSES.name, { streams: res.data });\n });\n },\n updateStreams ({ commit, state }, payload) {\n commit(MUTATIONS.SET_STREAMS.name, { streams: payload });\n state.isFetchingStreams = false;\n },\n updateStreamsStatuses ({ commit, state, dispatch }, payload) {\n dispatch('fetchStreamsStatuses', payload);\n },\n groupStreams ({ commit }, payload) {\n commit(MUTATIONS.SET_GROUP_TYPE.name, payload);\n saveToLocalStorage({\n key : MUTATIONS.SET_GROUP_TYPE.property,\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n searchStreams ({ commit }, payload) {\n commit(MUTATIONS.SET_SEARCHING_VALUES.name, payload);\n saveToLocalStorage({\n key : MUTATIONS.SET_SEARCHING_VALUES.property,\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n changeViewMode ({ commit, dispatch }, payload) {\n commit(MUTATIONS.SET_VIEW_MODE_KEY.name, payload);\n saveToLocalStorage({\n key : MUTATIONS.SET_VIEW_MODE_KEY.property,\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n changeAsideState ({ commit }, payload) {\n commit(MUTATIONS.SET_ASIDE_STATE.name, payload);\n saveToLocalStorage({\n key : MUTATIONS.SET_ASIDE_STATE.property,\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n toggleShowingAvailable ({ commit }, payload) {\n commit(MUTATIONS.SET_SHOWING_AVAILABLE_STATE.name, payload);\n saveToLocalStorage({\n key : MUTATIONS.SET_SHOWING_AVAILABLE_STATE.property,\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n\n toggleFoundingPageState ({ commit }) {\n commit(MUTATIONS.SET_FOUNDING_PAGE_STATE.name);\n },\n getStreamsPageSettingFromLocalStorage ({ commit }) {\n const streamsPageSettings = JSON.parse(localStorage.getItem(PAGES.ALL_STREAMS));\n\n if (streamsPageSettings) {\n [\n MUTATIONS.SET_SEARCHING_VALUES,\n MUTATIONS.SET_VIEW_MODE_KEY,\n MUTATIONS.SET_ASIDE_STATE,\n MUTATIONS.SET_SHOWING_AVAILABLE_STATE,\n MUTATIONS.SET_GROUP_TYPE,\n ].forEach((item) => {\n if (streamsPageSettings[item.property]) {\n commit(item.name, streamsPageSettings[item.property]);\n }\n });\n }\n },\n setError ({ commit, state }, { errorMsg, errorName }) {\n commit(MUTATIONS.SET_ERROR.name, { name: errorName, error: errorMsg });\n },\n deleteError ({ commit }, { errorName }) {\n commit(MUTATIONS.DELETE_ERROR.name, { name: errorName });\n },\n setNotice ({ commit, state, dispatch }, { name, message }) {\n commit('setNotice', { name, message });\n },\n deleteNotice ({ commit }, { name }) {\n commit('deleteNotice', { name });\n },\n resizeApp ({ commit }) {\n commit('setIsMediaAtLeast720');\n },\n },\n});\n","// 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\t// no module.id needed\n\t\t// no module.loaded needed\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// 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","var deferred = [];\n__webpack_require__.O = function(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 = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\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(function(key) { return __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};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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 = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(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 = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + ({\"8\":\"stream-info\",\"39\":\"help\",\"82\":\"mosaics\",\"89\":\"license\",\"179\":\"main\",\"186\":\"stream-view\",\"187\":\"add-stream\",\"199\":\"admin-users\",\"212\":\"admin-stats\",\"233\":\"admin-config\",\"260\":\"stream-setting\",\"328\":\"admin\",\"339\":\"add-mosaic\",\"378\":\"user\",\"391\":\"stream-permission\",\"410\":\"init\",\"443\":\"stream-debug\",\"485\":\"watch-mosaic\",\"515\":\"stream\",\"615\":\"bookmarks\",\"632\":\"user-add\",\"768\":\"streams\",\"818\":\"auth\",\"845\":\"profile\",\"914\":\"server-debug\",\"942\":\"not-found\"}[chunkId] || chunkId) + \".\" + {\"8\":\"ec8eaa90\",\"39\":\"433fd1e8\",\"82\":\"848e53e4\",\"89\":\"3bedbcf7\",\"97\":\"523b5935\",\"134\":\"d2f9e67a\",\"179\":\"697ba20a\",\"186\":\"a60bc27f\",\"187\":\"dd1618c4\",\"199\":\"6f7406b9\",\"212\":\"bd170642\",\"233\":\"a354f490\",\"260\":\"bc0235a3\",\"328\":\"d0c70cc1\",\"339\":\"84643ad4\",\"378\":\"a2834940\",\"386\":\"708d20e2\",\"391\":\"41d11b7d\",\"410\":\"1bdbed01\",\"443\":\"baccc52d\",\"466\":\"d8ffec33\",\"485\":\"93d1b33b\",\"493\":\"626cdc60\",\"515\":\"58a971dd\",\"517\":\"54baa74b\",\"531\":\"2f9e5463\",\"615\":\"88553d63\",\"632\":\"f83a7c68\",\"768\":\"ca2822ea\",\"777\":\"85c74051\",\"808\":\"26b56082\",\"816\":\"933189a5\",\"818\":\"bb266e65\",\"845\":\"29d96dec\",\"914\":\"3317ca1d\",\"942\":\"27238f9f\",\"987\":\"def7c828\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + ({\"8\":\"stream-info\",\"82\":\"mosaics\",\"89\":\"license\",\"179\":\"main\",\"186\":\"stream-view\",\"199\":\"admin-users\",\"212\":\"admin-stats\",\"260\":\"stream-setting\",\"328\":\"admin\",\"339\":\"add-mosaic\",\"378\":\"user\",\"391\":\"stream-permission\",\"410\":\"init\",\"443\":\"stream-debug\",\"485\":\"watch-mosaic\",\"515\":\"stream\",\"632\":\"user-add\",\"768\":\"streams\",\"818\":\"auth\",\"845\":\"profile\",\"914\":\"server-debug\",\"942\":\"not-found\"}[chunkId] || chunkId) + \".\" + {\"8\":\"67e2aa1c\",\"82\":\"54729d2c\",\"89\":\"85fbef7a\",\"97\":\"19ac0c6b\",\"179\":\"a69ce50f\",\"186\":\"0ec2a303\",\"199\":\"06a8bfde\",\"212\":\"3bb3770d\",\"260\":\"2fc0b191\",\"328\":\"feeac0f8\",\"339\":\"0b022f43\",\"378\":\"3bdd5ad4\",\"391\":\"0030d745\",\"410\":\"1fe2c775\",\"443\":\"6d8d45e1\",\"485\":\"bb6dc73b\",\"515\":\"cc159a6f\",\"632\":\"1e06dfa9\",\"768\":\"cf688007\",\"818\":\"6c2880de\",\"845\":\"2e242bfb\",\"914\":\"6d8d45e1\",\"942\":\"2ba9004d\"}[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__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"yucca:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(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 = function(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(function(fn) { return 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};","// define __esModule on exports\n__webpack_require__.r = function(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__.p = \"/ui/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(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 = function(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 = function(chunkId) {\n\treturn new Promise(function(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\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"8\":1,\"82\":1,\"89\":1,\"97\":1,\"179\":1,\"186\":1,\"199\":1,\"212\":1,\"260\":1,\"328\":1,\"339\":1,\"378\":1,\"391\":1,\"410\":1,\"443\":1,\"485\":1,\"515\":1,\"632\":1,\"768\":1,\"818\":1,\"845\":1,\"914\":1,\"942\":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(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// 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\t143: 0\n};\n\n__webpack_require__.f.j = function(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(97 != chunkId) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(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 = function(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 = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\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(function(id) { return 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 = self[\"webpackChunkyucca\"] = self[\"webpackChunkyucca\"] || [];\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, [998], function() { return __webpack_require__(281); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","class","isHeader","attrs","logo","staticRenderFns","THEMES","light","dark","LOGOS","name","props","theme","type","default","computed","component","alertCssClasses","_e","_v","_s","title","_t","SUCCESS","hasIcon","DANGER","WARNING","ATTENTION","ATTENTION_INFO","ATTENTION_WARNING","ATTENTION_DANGER","isFixed","fixed","ref","style","datepickerId","rangeType","lang","startDate","correctedNumberOfMonth","isHighlightToday","isHighlightWeekend","period","maxRange","minAllowedDate","maxAllowedDate","significantDates","isDisabledDate","on","decreaseMonth","increaseMonth","onClickDay","minDate","maxDate","months","isMultiRangeType","_l","month","key","monthLabel","yearLabel","weekdayLabel","highlightWeekday","week","day","refInFor","getDayClasses","date","$event","preventDefault","dayNumber","isDisablePrevMonthBtn","isDisableNextMonthBtn","methods","PropertyError","property","message","Error","captureStackTrace","stack","getDefaultStartDate","components","YccCalendarControls","calendarId","numberOfMonth","useControls","customPeriods","notSelectedDates","isSelectingOnePeriod","isSelecting","selectedPeriod","underCursor","start","end","selectingCustomPeriod","selectingDates","dayjs","watch","deep","periodStyle","allPeriodProperties","getMonths","firstWeekdayInMonth","daysInMonth","monthNumber","weeks","days","getWeeksWithDays","dayIndexStart","dayIndexStop","monthDay","isMonthStarted","weekDay","dateProperties","isMonthEnded","correctLocaleWeekdays","correctedFirstWeekday","dayClass","getExtremumDate","getSettingsMinDate","getSettingsMaxDate","hasDay","isWeekend","isToday","isIncludedInSelectedPeriod","isStart","isEnd","isDisableDate","isIncludedInSignificantDates","weekend","today","selected","setSelectedPeriod","onMouseEnterToDay","elem","onClickDaySingleHandler","onClickDayPeriodHandler","onClickDayMultiHandler","periods","isIncludedInSelectedPeriods","isIncludedInNotSelectedDates","deleteDateFromSelected","YccCalendar","location","isInline","isOpen","datepickerStyles","width","top","left","changeMonthYear","year","menuState","state","uniqueKey","disabled","changeState","NOT_CLOSING","CLOSING","SUBMENU","MENU_CONTENT","SHOW","dropdownMenuState","visibleMenu","stateFromProps","handler","immediate","window","event","closeDropdownMenu","showSubmenu","isChildElem","selector","deleteShowClass","e","findElems","isOpenerEqualContent","hintId","openHint","closeHint","position","hint","isDark","maxWidth","openerElem","validationCssClass","error","TYPES","PERIOD","SINGLE","MULTI","WEEKDAY_LABELS","ru","en","MAX_MONTH_IN_LINE","MAX_MONTH_IN_DATEPICKER","MONTH_WIDTH","ISO_DATE_FORMAT","DEFAULT_STATE","size","isDisabled","TEXT_POSITIONS","LEFT","RIGHT","TEXT_POSITION_CSS_CLASSES","RANGE_TYPES","LIVE","GAP","FRAGMENT","ANNOTATION_TYPES","EVENT","THUMB","SPEED_INDEXES","getThumbId","playerId","getProgressBarId","getCurrentDateId","$http","axios","interceptors","request","use","config","Promise","reject","response","status","router","path","data","code","SERVER_ERROR_CODES","store","errorMsg","ACCESS_DENIED_ERR","errorName","SERVER_ERR","SERVER_UNKNOWN_ERR","SERVER_NOT_RESPONSE_ERR","BASE_STREAM_URL","ADDING_STREAM_URL","UPDATING_STREAM_URL","GETTING_STREAM_URL","DELETE_STREAM_URL","PAUSE_STREAM_URL","RESUME_STREAM_URL","PROBE_STREAM_URL","PREVIEW_STREAM_URL","SYSTEM_SETTINGS_URL","SYSTEM_SEARCH","UNLOCK_URL","SELF_URL","LICENSE_URL","SERVER_DEBUG_URL","LOGIN_URL","GETTING_STREAMS_URL","USER_URL","USERS_URL","PROFILE_TOKENS_URL","PROFILE_TOKEN_URL","SYSTEM_STATS_URL","STATS_URL","CONFIG_URL","ANNOTATIONS_URL","MOSAIC_URL","ALL_MOSAICS_URL","API_VERSION_CHECK","getArchiveUrl","streamUid","getRangesUrl","getArchiveStatsUrl","getAvailableDaysUrl","getDownloadArchiveUrl","getStreamPermissionsUrl","getStreamLogsUrl","getBlockUserUrl","login","getUserPermissionsUrl","getUnblockUserUrl","getStreamShareUrl","getDeleteToken","tokenId","getStreamInfoUrl","isLiveOnDemand","CREDENTIALS_ERR","STREAM_SOURCE_ERR","STREAM_NAME_ERR","ARCHIVE_DEPTH_ERR","AlreadyUsed","AuthorizationFailed","EnterpriseOnly","Forbidden","InternalServerError","InvalidOldPassword","NotFound","OldPasswordAndNewPasswordCannotBeSame","PasswordIsNotComplexEnough","RequestDecodeError","ResponseEncodeError","TimeRangeIsTooLong","Unavailable","ValidationError","ProbeError","LicenseExpired","QuotaReached","IncorrectLicense","EHOSTUNREACH","HTTP_NOT_FOUND","HTTP_UNAUTHORIZED","BASE_LANDING_URL","DOCS_LINK","getPricesLink","utm","EN","RU","VIEW_MODES_KEYS","GRID","TABLE","SORT_TYPES_KEYS","DATE","NAME","LOCATION","GROUP_TYPES_KEYS","TAG","NO_GROUP","ADMIN_TABS_KEYS","STATS","PAGES","USERS","CONFIG","LICENSE","SERVER_DEBUG","STREAM_INFO_TABS_KEYS","INFO","PERMISSION","SETTINGS","STREAM_DEBUG","USER_TABS_KEYS","EDIT","PROFILE_TABS_KEYS","TOKEN","USER_PERMISSION_TYPES","ADMIN","USER","STREAM_PERMISSION_TYPES","VIEW","NONE","UNLIMITED","ADMIN_TABS","icon","label","STREAM_INFO_TABS","USER_TABS","PROFILE_TABS","VIEW_MODES","GROUP_TYPES","STREAM_STATUS","RUNNING","PENDING","PAUSED","CANCELED","STOPPED","FAILED","PLAYER_VIEW_MODES","ARCHIVE","USER_ACCESSES","active","blocked","MOVE_TIME","PANEL_SIZE","DEFAULT_DEPTH","DEFAULT_PLAYLIST_DURATION","EN_US","UK","SORTING_TYPES","desc","asc","nonSort","LANG_MAP","PERMISSION_OBJECTS","TEAM","COLORS","stone","wolf","BREAKPOINTS_720","SCROLL_WIDTH","getScrollWidth","PROFILE_UPDATED_NOTICE","USER_SAVED_NOTICE","USER_BLOCKED_NOTICE","USER_UNBLOCKED_NOTICE","STREAM_INFO_SAVED_NOTICE","ADD_STREAM","ADMIN_STATS","ADMIN_CONFIG","ADMIN_USERS","ALL_STREAMS","AUTH","BOOKMARKS","HELP","INIT","NOT_FOUND","PROFILE","PROFILE_INFO","PROFILE_EDIT","PROFILE_TOKEN","STREAM","STREAM_VIEW","STREAM_INFO","STREAM_SETTING","STREAM_PERMISSION","USER_ADD","USER_INFO","USER_EDIT","USER_PERMISSION","CREATE_MOSAIC","WATCH_MOSAIC","EDIT_MOSAIC","ALL_MOSAICS","TOP","TOP_LTR","TOP_RTL","TOP_CENTER","BOTTOM","BOTTOM_LTR","BOTTOM_RTL","BOTTOM_CENTER","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","toLowerCase","UA","navigator","userAgent","isEdge","indexOf","isAndroid","isIOS","test","isFF","match","isSafari","iOSVersion","MSStream","indexedDB","SpeechSynthesisUtterance","webkitAudioContext","matchMedia","history","isMobile","isMediaAtLeast720","matches","DATE_FORMAT","getCoords","box","getBoundingClientRect","pageYOffset","pageXOffset","height","getElementUnderClientXY","clientX","clientY","display","target","document","elementFromPoint","body","getElemFromPoint","formatDate","formatType","language","formatsMap","lll","ll","L","LL","LT","format","monthLetters","split","toUpperCase","DMMMYYYY","MMMDD","HHmmss","convertDateToSeconds","Date","getTime","getCookie","cookie","RegExp","replace","decodeURIComponent","undefined","setCookie","value","options","expires","toUTCString","updatedCookie","encodeURIComponent","optionKey","optionValue","deleteCookie","getWrapHeight","clientHeight","documentElement","authWrapHeight","querySelector","yccScrollTo","y","scrollTo","behavior","getIndexSymbol","str","symbol","indexSymbol","i","length","charAt","getChar","isNumber","which","keyCode","String","fromCharCode","charCode","validate","ctrlKey","altKey","metaKey","chr","cloneObjDeep","obj","JSON","parse","stringify","outer","createElement","visibility","overflow","msOverflowStyle","appendChild","inner","scrollbarWidth","offsetWidth","parentNode","removeChild","className","modalId","findElements","querySelectorAll","classList","contains","notClosingElements","getSortingDirection","sortingType","showServerSwitcher","app","serverSwitcher","isExist","StorageAdapter","constructor","itemName","isPrimitive","storage","localStorage","correctionFunc","getItem","getCorrectValue","setItem","removeItem","destinationPageStorage","sessionStorage","WarningStorage","super","keepingTime","clearExpiredWarnings","setWarning","warningCode","warnings","now","toISOString","getWarnings","Object","keys","forEach","isExpired","warningsStorage","YuccaBootConfig","isEnterprise","isLocked","prober","revision","version","appTitle","appLogo","defaultLanguage","archiveDownloadMaxSeconds","playlistMaxSeconds","rangesMaxSeconds","isLicenseExpired","archiveMaxDepthHours","smtpServerEnabled","smtpServerHost","smtpServerProtected","smtpServerPort","documentation","site","features","yccBootConfig","YUCCA_BOOT_DATA","settings","user","translations","uk","gettextOptions","availableLanguages","silent","install","Vue","prototype","$yccConfig","$isDebug","isDebug","$setDocumentTitle","titles","join","$appLogo","$setLanguage","$formatDate","filter","isFixContent","isReadOnlyProfile","isAuthOrInitPage","isEmptyRoute","logout","slot","directives","rawName","expression","CookieService","shownWarnings","warning","index","domProps","hideWarning","licenseStateTitle","licenseStateDescription","toggleAside","layoutMainClasses","hasAside","$route","isOpenAside","headerHeight","isActivePage","hidden","page","_m","hasAppLogo","isReadOnly","addingStreamTitle","streamName","params","streamRouterParams","streamSettingsTitle","isStreamInfoPage","mosaicName","mosaicRouterParams","mosaic","meta","canAdmin","mosaicSettingsTitle","getGroupLabel","groupType","groupStreams","viewModeTitle","changeViewMode","viewModeKey","availableStreamsInfo","toggleShowingAvailable","isShownAvailableStreams","pageTitle","isAdmin","$language","isShowServerSwitcher","pageNames","$gettext","text","pages","id","current","documentationLink","apply","arguments","YccDropdown","YccHint","stream","mapState","mapGetters","setStreamName","setMosaicName","YccAlert","isCloseAsideOutside","asideHeight","isClosing","isOpening","isMinScreen","isShowHeader","open","closing","opening","minHeight","marginTop","setTimeout","setShownWarnings","YccLayout","noticeElems","serverErrorNotice","stateErrors","notice","license","healthWarnings","userLang","warningsArr","usedPercent","duration","to","changeLang","popoverYccCssClasses","positions","RTL","LTR","CENTER","CorrectingPosition","contentWidth","positionsArr","basePosition","horizontalPosition","documentWidth","clientWidth","documentHeight","getComputedStyle","Math","max","scrollHeight","offsetHeight","setPosition","ltrPositionClass","rtlPositionClass","getPositionCssClass","contentCoords","btnCoords","isStaticVerticalPosition","getCorrectedPositionCssClass","getStyle","popupStyle","bottom","right","transform","isContentMoreThanDocumentWidth","isDynamicVerticalPosition","isOutOfLeftBorderForLeft","isOutOfRightBorderForRight","isOutOfRightBorderForCenter","isOutOfLeftBorderForCenter","isOutOfRightBorderForLtr","isOutOfLeftBorderForRtl","isOutOfRightBorderForRtl","isOutOfBottomBorder","isOutOfTopBorder","positionProperties","bus","createPopup","el","template","YccHintContent","created","$on","openPopup","closePopup","payload","setLocation","setNewData","addEventListener","removeEventListener","close","clean","prop","x","hintRenderContentId","popup","setAttribute","createHint","process","err","vm","info","$options","errorHandler","$parent","call","console","log","color","failedColor","thickness","transition","speed","opacity","termination","autoRevert","inverse","defaultProps","YccDatepickerContent","openDatepicker","setFixing","setStart","setEnd","newState","closeDatepickerOutside","setSelectingState","setPeriod","$emit","inputElem","closeDatepicker","getCorrectPeriod","onChangeMonthYear","elemChildren","openerChildren","add","VueProgressBar","progressBarOptions","Loading","inserted","binding","f","evt","Datepicker","VUE_APP_DEBUG","createApp","YccConfigPlugin","GetTextPlugin","h","App","$mount","initHint","httpClient","then","res","catch","progress","func","modifier","argument","Router","mode","base","routes","redirect","children","metaForProgressLoader","beforeEach","from","next","isPublicPage","is404","statusCode","afterEach","scrollY","scroll","getGroupedStreams","streams","groupingType","groupedStreams","pushStream","groupName","push","tags","tag","saveToLocalStorage","streamsPageSettings","SET_SEARCHING_VALUES","SET_VIEW_MODE_KEY","SET_ASIDE_STATE","SET_SHOWING_AVAILABLE_STATE","SET_GROUP_TYPE","SET_AUTH_STATE","SET_STREAMS","SET_STREAMS_STATUSES","SET_STREAM_STATUS","SET_STREAM","DELETE_CURRENT_STREAM","SET_DELETING_STREAM_STATE","SET_CHANGING_STREAM_STATE","SET_FOUNDING_PAGE_STATE","SET_ERROR","DELETE_ERROR","SET_STATUSES_TIMER","SET_CREATING_ADMIN_STATE","getDefaultStart","subtract","valueOf","getDefaultEnd","getDefaultPeriod","getDefaultPeriodISO","getDefaultDownloadLimitsPX","getDefaultPlaylist","startTime","endTime","ranges","url","MS_IN_HOUR","MS_IN_MINUTE","MARKER_LABEL_WIDTH","LABELS_MAP_KEYS","SIXTY","TWELVE","QUARTER","HALF","FULL","MULTIPLE","LABELS_MAP","minutes","getMarkerOptions","hoursNumber","possibleLabels","minutesNumber","multiplicity","labelsNumber","some","item","ceil","getLeftPosForMarker","timestamp","secondsInPx","seconds","getMarker","timeMS","isVisibleLabel","isSmall","hour","minute","time","cssClass","getFirstFullHourMS","getFirstMarkerTime","firstMarkerTime","getFirstMarkerByTime","startMinutes","getNewMarkers","newMarkers","markerTime","marker","ZOOM_INDEX","HOUR_IN_MS","MIN_DURATION","MAX_DURATION","ProgressBarController","thumbWidth","video","progressBar","thumb","archiveStatsPeriod","playingPeriod","currentInterval","playingTime","thumbPosition","tracking","trackingObservable$","interval","init","getElem","intervals","startSeconds","endSeconds","clipShift","intervalsTemp","range","arr","rangeStart","rangeEnd","intervalType","getIntervalType","isLastRange","getPXFromSeconds","endDate","periodModifier","isZoomUpAllowed","isZoomDownAllowed","periodISO","seekHandler","intervalElem","annotationStartSeconds","stopTracking","setCurrentInterval","getPlaylistByIntervalType","startTracking","isArchive","subscribe","currentTime","getCurrentTimeInMS","updatePlayingTime","unsubscribe","getMarkers","getProgressBarWidth","getNewPlaylistPeriodAfterEnding","getRangeByMilliseconds","getCorrectedPlayingPeriodEnd","newSeconds","intervalRangeEnd","endMS","intervalRangeEndMS","result","findNextRangeIndex","startTimeMS","findIndex","intervalRange","trunc","intervalIndex","currentPeriod","getNextPeriodAfterGap","setRanges","setPlayingPeriod","setArchiveStatsPeriod","stats","getSecondsFromPX","px","liveTime","setDefaultLiveThumbPos","updateThumbPos","periodStart","thumbLeftPosition","changeThumbStyle","keepThumbPosition","getPeriodForZoomUpByPointer","getPeriodForZoomUp","getStartModifier","getEndModifier","getPeriodForZoomDownByPointer","getPeriodForZoomDown","getPeriodForMoveLeft","getPeriodForMoveRight","getPeriodForGoToCenter","getAnnotationsByTypes","annotations","annotationsByType","empty","annotation","adaptAnnotation","annotationStart","annotationEnd","timeEnd","getAnnotationColorByType","setPlayingTime","innerPlayingTime","newInterval","dataset","newViewMode","isLastElem","newCurrentSeconds","Number","getSecondsFromPos","leftShift","currentTimeElem","innerHTML","getElementById","videoCurrentTime","CancelToken","namespaced","archiveStats","availableDays","annotationsByTypes","speedIndex","downloadLimitsPX","isVisibleDownloadBlock","isFetchingArchive","isFetchingArchiveRanges","isFetchingAnnotations","isPlaying","isLoading","cancelArchiveRangesRequest","archiveDataWatcherTimer","playerViewMode","playlist","progressBarController","getters","hasArchive","archiveDownloadMaxPX","getSecondsInPx","actions","zoomUpByPointer","commit","dispatch","streamId","zoomUp","rangesUrl","isArchiveEnable","needRunWatcher","needFetchData","zoomDownByPointer","zoomDown","toCenter","moveLeft","moveRight","updatePeriodAfterDrag","resetPeriod","updateRanges","getSplitLastRange","lastRange","liveRange","saveRanges","updatePlaylist","fetchArchive","start_time","end_time","finally","fetchArchiveRanges","cancelToken","cancel","fetchArchiveStats","startDay","endDay","fetchAvailableDays","fetchArchiveData","fetchAnnotations","fetchDownloadArchiveUrl","downloadPeriod","timezone_offset","utcOffset","updateAnnotations","resetArchiveData","createArchiveDataWatcher","timer","tick","clearArchiveDataWatcher","clearTimeout","updateSpeedIndex","goToLive","isSeek","liveUrl","isAvailableStream","goToArchive","playlistUrl","goToEmptyState","updatePlayerViewMode","updateArchiveStats","handleEndedVideo","updatePeriod","buildProgressBarController","mutations","setPeriodISO","setPlaylist","setPlayerViewMode","setFetching","setAvailableDays","setFetchingArchiveRanges","setArchiveStats","setArchiveDataWatcherTimer","setDownloadBlockVisibility","setDownloadLimits","setArchiveDownloadMaxSeconds","setAnnotations","setAnnotationsByTypes","setFetchingAnnotations","setSpeedIndex","setPlayingState","setLoadingState","setIntervals","setProgressBarController","tokens","isSavingProfile","isChangingPassword","isFetchingProfile","isFetchingTokens","isSavingToken","isAdminProfile","permissionType","maxStreamCreation","isManaged","setUser","setTokens","fetchUser","saveUser","email","password","fullName","oldPassword","adaptedUser","readOnly","root","saveUserLang","updateAuthToken","credentials","clearUser","fetchTokens","createToken","expireTime","deleteToken","isDeletingToken","fetchSettings","systemStats","users","logs","currentUser","isEditMode","versionInfo","currentUserPermissions","isFetchingUsers","isSavingUser","isFetchingUser","isDeletingUser","isFetchingConfig","isFetchingStats","isFetchingLogs","isAddingPermission","isFetchingPermissions","fetchingLogsTimer","cancelLogsRequest","setUsers","setEditMode","setCurrentUser","setStats","setConfig","setSystemStats","setVersionInfo","setLogs","setFetchingLogsTimer","clearFetchingLogsTimer","setCancelLogsRequest","setCurrentUserPermissions","permissions","deleteCurrentUser","fetchUsers","addUser","isAdding","updateCurrentUser","deleteUser","changeUserAccess","access","clearCurrentUser","fetchStats","fetchConfig","fetchSystemStats","isFetchingSystemStats","fetchLogs","runUpdatingLogs","clearLogsTimer","updateVersionData","v","encodeURI","fetchUserPermissions","updateUserPermissions","timeout","isSendingStream","fetchingStreamStatusTimer","cancelStreamInfoRequest","deletingStateMap","changingStateMap","currentStream","isFetchingRunningStream","isFetchingStreamInfo","isDeletedStream","currentStreamPermissions","currentStreamLogs","isFetchingStreamPermissions","setStreamStatus","setFailureReason","failureReason","setStream","deleteCurrentStream","setDeletingStreamState","streamState","setChangingStreamState","setDeletedStreamState","setCurrentStreamPermissions","setCancelStreamInfoRequest","setFetchingStatusTimer","clearFetchingStreamStatusTimer","archive","isEnable","live","onDemand","async","uid","pauseStream","resumeStream","deleteStream","purge","saveStream","updateStreamInStreams","rootState","map","streamItem","streamUrl","stream_id","runUpdatingStreamStatus","isPlayer","clearStreamTimers","shareStream","denyStreamPublicAccess","fetchStream","fetchStreamStatus","fetchStreamInfo","updateCurrentStream","clearCurrentStream","fetchStreamPermissions","updatePermissions","isFetchingLicense","setLicense","fetchLicense","isSavingLicense","mosaics","currentMosaic","isFetchingAllMosaics","isFetchingMosaic","isDeleting","fetchingMosaicTimer","isPlay","mosaicUrl","ieDeleting","runUpdatingMosaic","clearTimers","clearCurrentMosaic","setMosaics","setMosaic","setFetchingMosaicTimer","Vuex","modules","admin","player","profile","streamStore","isAuthLoading","isAdminCreating","pageNumberOfStreams","sortType","isFetchingStreams","isCheckingMode","searchingValues","isNotFoundPage","errors","isCardMode","setVersion","setHealthWarnings","MUTATIONS","setNotice","deleteNotice","setHeaderHeight","setIsMediaAtLeast720","setIsShowServerSwitcher","availableStreams","searchedStreams","uniqueStreamsIds","allSearchedStreams","getValuesForSearching","valuesForSearching","streamSource","searchingValue","groupedByTags","autocomplete","names","markers","locations","createAdmin","token","auth","redirectPage","mustChangePassword","saveToken","samesite","hasPermission","fetchHealth","updateVersion","fetchStreams","onlyAvailable","fetchStreamsStatuses","isOnlyAvailable","updateStreams","updateStreamsStatuses","searchStreams","changeAsideState","toggleFoundingPageState","getStreamsPageSettingFromLocalStorage","setError","deleteError","resizeApp","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","nc","src","onScriptComplete","prev","onerror","onload","doneFns","bind","head","Symbol","toStringTag","p","createStylesheet","fullhref","resolve","linkTag","rel","onLinkComplete","errorType","realHref","href","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}