{"version":3,"file":"9904_d28864501300f8809116.bundle.js","mappings":"wNASA,SAASA,IAEPC,SAASC,UAAUC,eAAiBC,IAGlC,IAAIC,EAAa,EAAED,GAAIE,QAAQ,sBAAsBC,KAAK,mBACtDC,EAAU,EAAEJ,GAAIK,KAAK,sBACrBD,IAAYH,EAAWK,SACzBL,EAAWK,KAAK,EAAEF,GAASE,SAG3B,QAAcL,IAIC,EAAE,qCAAqCM,IAAIP,GACjDQ,UAAUC,SAAQC,IAAK,QAAeA,GAAG,GAAO,KAG3D,EAAE,sBAAsBC,SAAS,SAAS,GAI5C,QAAiBC,SAAU,QAAS,sBAAsB,KACxD,IAAIC,EAAM,IAAUC,SACR,EAAED,EAAM,YAAc,iBAAiBE,SAAS,QAGnD,+BAAwBC,MAAK,EAAEC,kBAAkBA,EAAaC,eAG/CC,QAAQC,WAC7BJ,MAAK,KACJ,EAAE,sBAAsBL,SAAS,UACjC,IAAUU,WACV,IAAUC,UAAU,EAAE,+BAA+B,GACrD,GAER,C,gOCxBIC,EAAO,CACVC,QAAS,CACRC,OAAQ,EACRC,IAAK,CACJC,WAAY,6BAGdC,QAAS,GACTC,KAAM,SAAUL,GAuCf,GAtCAD,EAAKC,QAAU,SAASD,EAAKC,QAASA,GAEtCM,KAAKC,gBAEL,EAAE,YAAYC,MAAM,CAAEC,MAAM,EAAOC,SAAU,WAC7C,EAAE,mBAAmBC,YAAY,UAE7BtC,SAAS0B,KAAKa,SACjB,iEAA0BpB,MAAKqB,IAC9B,IAAIC,EAAKD,EAAEE,QAEX,qFAAwCvB,MAAK,KAC5CsB,EAAGE,YAAYX,KAAK,CACnBY,eAAgB,WACf,EAAE,iCAAiCN,YAAY,SAChD,GACC,GACF,IAIH,EAAE,iBAAiBA,YAAY,QAC/B,EAAE,iBAAiBO,SAAS,CAC3BC,SAAU,8GACVC,SAAU,4GACVC,MAAO,IACPC,gBAAiB,KAGlBvB,EAAKwB,cAEyB,aAA1B,QAAgB,UACnB,QAAY,oBAAqB,UACjC,EAAE,iBAAiBC,SAAS,QAE5B,IAAU1B,UAAU,EAAE,uBAAwB,MAGuB,KAAlE,IAAI2B,IAAIC,SAASC,MAAMC,aAAaC,IAAI,wBACvC,EAAE,gBAAgBC,OAAQ,CAC7B,EAAE,gBAAgB,IAAIC,QAEtB,IAAIC,EAAS,EAAE,gBAAgBA,SAC/BA,EAAOC,KAAO,GACd,EAAE,cAAcC,QAAQ,CACvBC,UAAWH,EAAOC,KAEpB,CAGmC,MAAhC,QAAgB,cACnB,EAAE,mBAAmB,IAAIF,OAE3B,EACAK,eAAgB,SAAUC,GACzB,IAAIC,EAAWD,EAAIxD,KAAK,sBACpB0D,EAAO,EAAED,GAAUxD,OAEvB,EAAE,yBAAyBA,KAAK,kTAAoTyD,GACpV,EAAE,yBAAyB5B,YAAY,UAEvC,IAAIqB,EAAS,EAAE,yBAAyBA,SACxCA,EAAOC,KAAO,IACd,EAAE,cAAcC,QAAQ,CACvBC,UAAWH,EAAOC,MAGnB,IAAUnC,UAAU,EAAE,yBAA0B,KACjD,EACA0C,gBAAiB,SAAUhE,GAC1BuB,EAAK0C,eAAejE,EAAGkE,cAAc,cACtC,EACAnC,cAAe,WACd,IAAIoC,EAAOrC,MAEX,QAAiBlB,SAAU,QAAS,6BAA6B,IAAMkB,KAAKsC,sBAE5E,QAAiBxD,SAAU,QAAS,iBAAiByD,IACpD,EAAEA,GAAS3B,SAAS,SAAS,KAG9B,QAAiB9B,SAAU,QAAS,8BAA8B,MACjE,QAAe,EAAE,uBAAuB,KAGzC,QAAiBA,SAAU,QAAS,cAAc,CAACyD,EAAS3D,KACtD,EAAEA,EAAE4D,QAAQvD,SAAS,UACzB,EAAEsD,GAASlE,KAAK,UAAU,IAAIoD,OAC/B,KAGD,QAAiB3C,SAAU,QAAS,yBAAyB,CAACyD,EAAS3D,KACtEA,EAAE6D,iBACF,EAAEF,GAASG,OAAOC,IAAI,UAAW,SACjC,IAAUC,uBACV,IAAUC,uBACV,IAAUC,cAAc,KAGzB,QAAiBhE,SAAU,QAAS,uBAAuB,CAACyD,EAAS3D,KACpEA,EAAE6D,iBACF,EAAEF,GAASnE,QAAQ,gBAAgBuE,IAAI,UAAW,QAClD,IAAUC,uBACV,IAAUC,uBACV,IAAUC,cAAc,IAGzB,EAAE,2BAA2BC,QAAQ,CACpCC,UAAU,KAGX,QAAiBlE,SAAU,QAAS,mBAAmByD,IACtD,IAAIN,EAAO,GACPgB,EAAgB,EAAEV,GAAShE,KAAK,sBAGnC0D,EADGgB,EAAczB,OACV,EAAEyB,GAAezE,OAEjB,EAAE+D,GAAShE,KAAK,gBAExB,IAAI2E,EAAO,EAAEX,GAASnE,QAAQ,YAC1B,EAAEmE,GAAStD,SAAS,QACvBQ,EAAK0D,SAASlB,EAAMiB,GAAM,IAG3BzD,EAAK0D,SAASlB,EAAMiB,GACpB,EAAEX,GAASa,SAAS,QAAO,KAG5B,QAAiBtE,SAAU,QAAS,aAAa,CAACyD,EAAS3D,KAC1DA,EAAE6D,iBACF,EAAE,mBAAmBpC,YAAY,QACjC,EAAE,mBAAmBA,YAAY,OAAO,KAGzC,QAAiBvB,SAAU,QAAS,6BAA6B,CAACyD,EAAS3D,KAC1EA,EAAE6D,iBACe,EAAEF,GAASnE,QAAQ,yBACzBgF,SAAS,SAAS,IAG9B,EAAEtE,UAAUuE,GAAG,YAAa,yBAAyB,WACpD,IAAIC,aAAatD,KAClB,IAEA,EAAE,sBAAsBqD,GAAG,oBAAqB,iBAAiB,SAAUzE,GAC1E,IAAI2E,EAAQ,EAAEvD,MACVuD,EAAMC,GAAG5E,EAAE4D,UAAYe,EAAMtE,SAAS,YACzCQ,EAAKyC,gBAAgBlC,MACrB,EAAEA,MAAMoD,SAAS,UAEnB,KAEA,QAAiBtE,SAAU,QAAS,6BAA6ByD,IAChE9C,EAAKqC,eAAe,EAAES,GAAS,KAGhC,QAAiBzD,SAAU,QAAS,oBAAoB,KAClD2E,QAAQ,6CAIb,QAAS,CAAE7D,IAAKH,EAAKC,QAAQE,IAAIC,WAAY6D,KAAM,CAAE/D,OAAQF,EAAKC,QAAQC,UAAYT,MAAKwE,IACtFA,EAAKC,SACR,QAAU,iBAAkB,CAAEC,KAAM,YACpCC,YAAW,WACVzC,SAAS0C,QACV,GAAG,OAGH,QAAU,+BAAgC,CAAEF,KAAM,UACnD,GACC,KAIH,QAAiB9E,SAAU,QAAS,mBAAmByD,IACtD,EAAEA,GAAS3B,SAAS,SAAS,KAG9B,QAAiB9B,SAAU,QAAS,oBAAoB,CAACyD,EAAS3D,KACjEA,EAAE6D,iBACF,EAAEF,GAASlE,KAAK,KAAK0F,YAAY,6BAEjC,IAAIC,EAAY,EAAE,+BAEdA,EAAUxC,SACb,QAAewC,GAGZA,EAAU/E,SAAS,UACtB,IAAUM,WACV,IAAUC,UAAUwE,GACrB,KAGD,QAAiBlF,SAAU,QAAS,2BAA2B,MAC9D,QAAY,oBAAqB,SAAS,IAI3C,EAAE,4BAA4BuE,GAAG,sBAAsB,WACtD,IAAIY,EAAI,EAAEjE,MAAM5B,QAAQ,uBAAuBC,KAAK,2BACpD,EAAE4F,GAAGzF,KAAK,uDACX,IAEA,EAAE,4BAA4B6E,GAAG,qBAAqB,WACrD,IAAIY,EAAI,EAAEjE,MAAM5B,QAAQ,uBAAuBC,KAAK,2BACpD,EAAE4F,GAAGzF,KAAK,qDACX,IAEA,EAAE,2BAA2B6E,GAAG,sBAAsB,WACrD,IAAIa,EAAO,EAAElE,MAAM5B,QAAQ,qBAAqBC,KAAK,4BACrD,EAAE6F,GAAM7D,YAAY,eACpB,EAAE6D,GAAMd,SAAS,gBAClB,IAEA,EAAE,2BAA2BC,GAAG,oBAAoB,WACnD,IAAIa,EAAO,EAAElE,MAAM5B,QAAQ,qBAAqBC,KAAK,4BACrD,EAAE6F,GAAM7D,YAAY,iBACpB,EAAE6D,GAAMd,SAAS,cAClB,IAEA,EAAE,kCAAkCC,GAAG,sBAAsB,WAC5D,IAAIa,EAAO,EAAElE,MAAM5B,QAAQ,2BAA2BC,KAAK,SAC3D,EAAE6F,GAAM7D,YAAY,eACpB,EAAE6D,GAAMd,SAAS,gBAClB,IAEA,EAAE,kCAAkCC,GAAG,oBAAoB,WAC1D,IAAIa,EAAO,EAAElE,MAAM5B,QAAQ,2BAA2BC,KAAK,SAC3D,EAAE6F,GAAM7D,YAAY,iBACpB,EAAE6D,GAAMd,SAAS,cAClB,KAEA,QAAiBtE,SAAU,QAAS,4BAA4B,KAC/D,EAAE,gCAAgC,IAAI2C,OAAO,KAG9C,QAAiB3C,SAAU,QAAS,2BAA2ByD,IAAa9C,EAAK0E,sBAAsB,EAAE5B,GAAQ,KACjH,QAAiBzD,SAAU,QAAS,kCAAkCyD,IAAa9C,EAAK2E,4BAA4B,EAAE7B,GAAQ,KAE9H,QAAiBzD,SAAU,QAAS,wBAAwB,CAACyD,EAAS3D,KACrEA,EAAE6D,iBACF,EAAE,4BAA8B,EAAEF,GAAShE,KAAK,QAAU,MAAM8B,YAAY,SAAS,KAGtF,QAAiBvB,SAAU,QAAS,mBAAmB,CAACyD,EAAS3D,KAChEA,EAAE6D,iBAIF,IAAI4B,EAAO,EAAE,mBAAmB5F,IAAI,2BAChCD,EAAO6F,EAAK7F,OACZ8F,EAAUD,EAAK9F,KAAK,gBACxB8F,EAAK7F,KAAK8F,GACVD,EAAK9F,KAAK,eAAgBC,GAEc,SAApC,EAAE+D,GAAShE,KAAK,mBACdgG,OAAOC,OACXnC,EAAKoC,aAIP,EAAElC,GAASwB,YAAY,eAAe,KAGvC,QAAiBjF,SAAU,QAAS,wDAAwDyD,IAC3F,EAAEA,GAASG,OAAOjB,OAAO,GAE3B,EACA0C,sBAAuB,WACtB,EAAE,2BAA2Bf,SAAS,SACvC,EACAgB,4BAA6B,WAC5B,IAAIM,EAAW,EAAE,kBACjBA,EAAStB,SAAS,WAClBS,YAAW,WACVa,EAASrE,YAAY,UACtB,GACC,IACF,EACA8B,eAAgB,SAAUjE,GACzB,IAAIyG,EAAWzG,EAAGE,QAAQ,iBAAiBwG,aAAa,aAAaC,MAAM,KACvEC,EAAc5G,EAAGE,QAAQ,iBAAiBwG,aAAa,gBACvDG,EAAkB7G,EAAGkE,cAAc,0CACvC,QAAK2C,GAEL,IAAIC,EAAYC,IACf,IAAIC,EAAaP,EAASQ,MAAMpH,SAASqH,oBACzC,QAAyB,CAAC,yBAAyBlG,MAAK,KAChD,QAAS,CAAEU,IAAK,+BAAgC8D,KAAM,CAC5D2B,WAAYH,EACZI,iBAAiB,EACjBC,cAAc,OAEbrG,MAAKwE,IACP,GAAIA,EAAKC,OAAQ,CAChB,IAAI6B,GAAW,QAAuB,wBACtC,IAAK,IAAIC,KAAQ/B,EAAKgC,MACrBD,EAAKE,UAAW,EAChBF,EAAKzG,OAAQ,UACbyG,EAAKX,YAAcA,EAGpB,IAAIc,EAAWlC,EAAKgC,MAAMG,KAAIjH,GAAK4G,EAAS5G,KAAIkH,KAAK,IAEjDf,IACH,QAAiBA,EAAiBa,IAClC,QAAKb,KAEL,QAAW7G,EAAGkE,cAAc,gBAAiBwD,GAG9CX,KACA,SACD,IACC,EAGEN,IAAUK,EAAW,MAE1B,IAAIe,EAAS,UAAUC,OAAO,CAC7BC,UAAW/H,EACX8G,SAAUA,EACVkB,WAAYvB,EAAWA,EAASnD,OAAS,EAAI,KAC7C2E,iBAAkB,WAGfJ,GAAQ/F,KAAKF,QAAQsG,KAAKL,GAC9B,EAAE,6CAA6ChD,QAAQ,CACtDvE,MAAM,EACNwE,UAAU,GAEZ,EACA/B,YAAa,WAqBZ,GApBAnC,SAASuH,iBAAiB,mDAAmD1H,SAAQT,IACpFuB,EAAK0C,eAAejE,EAAG,KAGxB,SAEI,EAAE,0BAA0BsD,OAAS,GAAK,EAAE,0BAA0BA,OAAS,GAAmE,GAA9D,EAAE,kDAAkDA,SAC3I,EAAE,0BAA0B8E,OAAO,EAAE,yCACrC,EAAE,2BAA2BlD,SAAS,gBACU,GAA5C,EAAE,gCAAgC5B,QAErC,EAAE,wCAAwCZ,SAAS,CAClDC,SAAU,8GACVC,SAAU,4GACVC,MAAO,IACPC,gBAAiB,MAK2C,KAA3D,IAAIG,IAAIC,SAASC,MAAMC,aAAaC,IAAI,iBACvC,EAAE,8BAA8BC,OAAQ,CAC3C,EAAE,kBAAkBN,SAAS,QAC7B,IAAIQ,EAAS,EAAE,8BAA8BA,SAC7CA,EAAOC,KAAO,GACd,EAAE,cAAcC,QAAQ,CACvBC,UAAWH,EAAOC,MAGnB,EAAE,8BAA8ByB,SAAS,qBAEzCS,YAAW,WACV,EAAE,8BAA8BxD,YAAY,oBAC7C,GAAG,IACJ,CAEF,EACA8C,SAAU,SAAUoD,EAAKrD,EAAMsD,GAC9B,IAAIC,EAAY,EAAEvD,GAAM7E,KAAK,mBAC7B,GAAImI,EAGH,OAFA,EAAE,mBAAmBnG,YAAY,aACjC,EAAE,mBAAmBA,YAAY,QAGlC,EAAE,mBAAmBA,YAAY,QACjCoG,EAAUjI,KAAK,kRAAoR+H,GACnSE,EAAUrD,SAAS,cACnBqD,EAAUrD,SAAS,OACpB,EACAqB,UAAW,WACV,IAAIpC,EAAOrC,KACX,EAAE,6BAA6BxB,KAAK,IAkBpC,IAAUkI,YAAYxH,MAAK,KAf1B,iEAAoBA,MAAK,EAAGyH,cAC3BtE,EAAKwD,IAAMc,EAAQX,OAAO,CACzBY,YAAa,2BACbC,OAAQ9I,SAAS0B,KAAKqH,IACtBC,OAAQ,KACRC,KAAMC,QAAO,QAAgB,aAAe,GAC5CC,OAAQ,CAACC,EAAMC,KACd,IAAIC,EAAY,IAAID,EAAQE,UAAU,CAACvJ,SAAS0B,KAAKqH,IAAIS,IAAKxJ,SAAS0B,KAAKqH,IAAIU,OAChFL,EAAKM,WAAWC,IAAIL,EAAU,EAE/BM,gBAAiB,eAChB,GAIsC,GAC3C,EACArF,iBAAkB,YACjB,QAAS,CACR1C,IAAK,6BACL8D,KAAM,CAAEkE,OAAQ5H,KAAKN,QAAQC,UAC3BT,MAAKwE,IACHA,EAAKC,QACR,QAAU,iFAAkF,CAAEC,KAAM,cAEpG,OAAe,+BAAgC,CAAEA,KAAM,UACxD,GAEF,GAGD,S,oEClcA,IAAI7F,EAAWwG,OAAOxG,SAGlB8J,EAAgB9J,EAAS8J,cAGzB7J,EAAYD,EAASC,UAQzB,SAAS8J,EAAe5J,EAAI6J,EAAQ,KAAMC,EAAe,MACrD,IAAIC,EAAQ,EAAE/J,GAAIE,QAAQ,sBACtB8J,EAAU,EAAEhK,GACZiK,EAAU,EAAEjK,GAAIK,KAAK,eACrB6J,EAAsC,IAA7B,EAAElK,GAAIK,KAAK,eACpB8J,EAAkB,EAAEnK,GAAIK,KAAK,0BAA4BgG,OACzD+D,EAAS,KACTC,EAAgB,KAChBC,EAAKP,EAAM1J,KAAK,mBAChBkK,EAAiB,EAAEvK,GAAI,GAAGwK,QAAQD,eAgBtC,SAASE,EAAeT,EAAS/H,GAC7B,IAAIyI,EAAWV,EAAQ3J,KAAK,uBAAyB,EAAE2J,EAAQ3J,KAAK,wBAAwBC,OAAS0J,EAAQ3J,KAAK,iBAC9GsK,EAAWX,EAAQ3J,KAAK,uBAAyB,EAAE2J,EAAQ3J,KAAK,wBAAwBC,OAAS0J,EAAQ3J,KAAK,iBAE9GC,EAAO2B,EAAO0I,EAAWD,EACjB,KAARpK,GACA0J,EAAQ1J,KAAKA,EAErB,CAtBIiK,IAAmBT,GACnB,IAAIlJ,SAASsD,cAAcqG,GAAgBpC,iBAAiB,yBACvDyC,QAAOlK,GAAKA,GAAKoB,OACjBrB,SAAQC,GAAKkJ,EAAelJ,GAAG,GAAO,KAG3CuJ,GACAG,EAAS,EAAEH,GACXI,EAAgB,EAAE,qCAAuCJ,EAAU,MAAM1J,IAAI,EAAEP,MAE/EoK,EAAS,EAAE,gGAAiGL,GAC5GM,EAAgB,EAAE,uBAAwBN,GAAOxJ,IAAI,EAAEP,KAa3DoK,EAAOS,MAAK,WACR,IAAIC,EAAQ,EAAEhJ,MACViJ,EAAQ,EAAEjJ,MAAM5B,QAAQ,sBAE5B,GAAI6K,EAAMzH,SAAWyH,EAAMzF,GAAGyE,GAC1B,OAGJe,EAAMjF,YAAY,OAAQgE,GAC1B,IAAI5H,EAAO6I,EAAM/J,SAAS,QAE1B4E,YAAW,KACP8E,EAAeT,EAAS/H,EAAK,GAC9B,KAEHoI,EAAcQ,MAAK,WACf,IAAIG,EAAc,EAAElJ,MAAM5B,QAAQ,uBAE9B8K,EAAY1F,GAAGyE,IAAWiB,EAAY1H,QACtCqC,YAAW,KACP8E,EAAe,EAAE3I,MAAOG,EAAK,GAC9B,IAEX,IAEA,IAAIgJ,EAAWH,EAAMzK,KAAK,iBACtB6K,EAAcJ,EAAMzK,KAAK,oBACzB8K,EAAyC,GAA5BL,EAAMtF,KAAK,cACxByF,IAAaE,GACb,+BAA0BnK,MAAK,EAAGoK,sBAC9BA,EAAgBH,EAAUC,GACzBlK,MAAKV,IACFwK,EAAMxK,KAAKA,GACXwK,EAAMtF,KAAK,aAAc,IACzB,QAAcsF,GACdlK,SAASyK,KAAKC,cAAc,IAAIC,MAAM,wBAAwB,GAChE,IAINjB,IACAX,EAAcW,GAAMrI,GAGpBA,GAAQiI,GACRC,EAAgBqB,SAAS,CACrB/H,IAAKqH,EAAM,GAAGW,wBAAwBhI,IAAM,IACxDiI,SAAU,UAGV,IAEA,IAAI3E,EAAW,EAAE/G,GAAIK,KAAK,kBACrByJ,GAAgB/C,GAAYjH,GAAaA,EAAUiH,IACpDjH,EAAUiH,GAAU/G,EAE5B,CAEA,SAAS2L,IACL,EAAE/K,UAAUuE,GAAG,QAAS,wBAAwB,SAAUzE,GAItD,GAAIA,EAAE+E,QAAQmG,mBAAoB,OAE7B9J,KAAK+J,QAAQ,gCACdnL,EAAE6D,iBAGN,IAAIoF,EAAgB,KAOpB,OANI7H,KAAK0I,QAAQb,gBACbA,EAA8C,QAA9B7H,KAAK0I,QAAQb,eAGjCC,EAAe,EAAE9H,MAAO6H,GAEjB,CAAEiC,oBAAoB,EACjC,IAEA,EAAEhL,UAAUuE,GAAG,qBAAqB,SAASzE,GACzC,IAAI4J,EAAK,EAAE5J,EAAE4D,QAAQjE,KAAK,mBAC1BsJ,EAAcW,IAAM,CACxB,IAEA,EAAE1J,UAAUuE,GAAG,sBAAsB,SAASzE,GAC1C,IAAI4J,EAAK,EAAE5J,EAAE4D,QAAQjE,KAAK,mBAC1BsJ,EAAcW,IAAM,CACxB,GACJ,CA0DAjE,OAAOuD,eAAiBA,C,mNClMxB,SAAS9I,IACL,OAAOuF,OAAOyF,WAAa,GAC/B,CAOA,SAASC,EAAWC,GAChB,OAAOA,EAAOC,QAAQ,uBAAuBC,GAAK,KAAKA,EAAEC,WAAW,GAAG,KAC3E,CAOA,SAASC,EAAWC,GAEhB,OAAKA,EACEA,EAAOC,OAAO,GAAGC,cAAgBF,EAAOpF,MAAM,GADjCoF,CAExB,CAOA,SAASG,EAAaH,GAElB,OAAKA,EACEA,EAAOC,OAAO,GAAGG,cAAgBJ,EAAOpF,MAAM,GADjCoF,CAExB,CAOA,SAASK,EAAYC,GACjB,OAAOA,EAAIF,cAAcR,QAAQ,cAAeW,GAAUA,EAAM3F,OAAO,GAAGsF,eAC9E,CAOA,SAASM,EAAYF,GACjB,OAAOA,EAAIV,QAAQ,UAAUa,GAAU,IAAIA,EAAOL,iBACtD,CAQA,SAASM,EAAQC,EAAOC,GACpB,IAAIC,EAA4B,mBAAPD,EAEzB,OAAOD,EAAMG,QAAO,CAACC,EAAKC,KACtB,IAAIC,EAAWJ,EAAcD,EAAII,GAAcE,WAAaF,EAAaJ,GAAKM,WAK9E,OAJKH,EAAIE,KACLF,EAAIE,GAAY,IAEpBF,EAAIE,GAAUpF,KAAKmF,GACZD,CAAG,GACX,CAAC,EACR,CAEA,SAASI,EAAKR,EAAOS,EAAMC,GACvB,IAAKV,EAAM1J,OAAQ,OAAO0J,EACrBU,IAAQA,EAAShN,GAAKA,GAC3B,IAAIiN,EAAO,IAAIX,GAQf,OAPAW,EAAKH,MAAK,CAACzH,EAAG6H,IACNF,EAAO3H,GAAK2H,EAAOE,GAAW,EAC9BF,EAAO3H,GAAK2H,EAAOE,IAAY,EAC5B,IAGPH,GAAME,EAAKE,UACRF,CACX,CAQA,SAASG,EAAOjE,EAAOkE,GACnB,SAAIA,GAAmB,IAATlE,IACD,SAATA,GAA6B,KAATA,KACfA,CACb,CAEA,SAASmE,EAAqB1G,EAAU9B,EAAMyI,EAAeC,GACzD,IAAK5G,IAAa9B,EAAM,MAAO,GAE/B,IAAIC,EAAS6B,EACT6G,EAAgB,uBAChBC,EAAW,mHACXC,EAAe,SAEnB,IAAK,IAAIC,KAAShH,EAASiH,SAASJ,GAAgB,CAChD,IAAItE,EAAQ2E,EAAehJ,EAAM8I,EAAM,KAAO,GAE9C,GAAIL,IAAkBpE,EAClB,OAAO,KAGPqE,IAAWrE,EAAQ4E,mBAAmB5E,IAC1CpE,EAASA,EAAOwG,QAAQqC,EAAM,GAAIzE,EACtC,CAEA,IAAK,IAAIyE,KAAShH,EAASiH,SAASH,GAAW,CAC3C,IAAIM,EAAYF,EAAehJ,EAAM8I,EAAM,IACvCK,EAAWL,EAAM,GAAGM,MAAMP,GAC1BQ,EAAWP,EAAM,GAAGM,MAAMP,GAC1BtI,EAAI4I,EAAWA,EAAS,GAAKH,EAAehJ,EAAM8I,EAAM,IACxDV,EAAIiB,EAAWA,EAAS,GAAKL,EAAehJ,EAAM8I,EAAM,IAExDzE,EAAQ6E,EAAY3I,EAAI6H,EAE5B,GAAIK,IAAkBpE,EAClB,OAAO,KAGPqE,IAAWrE,EAAQ4E,mBAAmB5E,IAC1CpE,EAASA,EAAOwG,QAAQqC,EAAM,GAAIzE,EACtC,CAEA,OAAOpE,EAAOqJ,MAClB,CAOA,SAASC,EAAS/B,GACd,IAAKA,EAAO,MAAO,GAKnB,OAAOA,EAAMpC,QAJb,SAAwBf,EAAOmF,EAAO7K,GAClC,OAAOA,EAAK8K,QAAQpF,KAAWmF,CACnC,GAGJ,CAOA,SAASE,EAAUC,GAEf,OADKA,EAAKC,SAAS,MAASD,EAAKC,SAAS,OAAMD,GAAc,UAC1DA,EAAKC,SAAS,KAAa,IAAIC,KAAKF,GACjC,IAAIE,KAAK,GAAGF,UACvB,CAEA,SAASG,EAAiBH,EAAM3L,GACvBA,IAAQA,EAAS,GACtB,IAAI+L,EAAQ,IAAIF,KAChB,MAAMG,EAAW,IAAIH,KAAKE,EAAME,QAAQF,EAAMG,UAAqB,EAATlM,IACpDmM,EAAYH,EAASE,UACrBE,EAAWJ,EAASK,SAGpBC,EAAiB,IAAIT,KAAKG,EAASC,QAAQE,EAAYC,IAGvDG,EAAgB,IAAIV,KAAKS,GAI/B,OAHAC,EAAcN,QAAQM,EAAcL,UAAY,GAGzCP,GAAQW,GAAkBX,GAAQY,CAC7C,CASA,SAASvB,EAAewB,EAAQC,GAC5B,IAAIxK,EAASuK,EACTE,EAAWD,EAAKtJ,MAAM,KAC1B,IAAK,IAAIwJ,KAAWD,EAAU,CAC1B,IAAKzK,EAAQ,OAAOA,EACpB,IAAI2K,EAAa,6BACbxB,EAAQuB,EAAQvB,MAAMwB,GACtBpB,EAAQJ,EAAQA,EAAM,GAAK,KAC3BI,IAAOmB,EAAUvB,EAAM,IAGvBnJ,EADAuJ,EACSvJ,EAAO0K,GAASnB,IAAU,KAE1BvJ,EAAO0K,IAAY,IAEpC,CAEA,OAAO1K,CACX,CAQA,SAAS4K,EAAeL,EAAQC,EAAMpG,GAClC,IAAIyG,EAASN,EACTO,EAAQN,EAAKtJ,MAAM,KACnB6J,EAAMD,EAAMjN,OAChB,IAAK,IAAI4I,EAAI,EAAGA,EAAIsE,EAAI,EAAGtE,IAAK,CAC5B,IAAIlH,EAAOuL,EAAMrE,GACZoE,EAAOtL,KAAOsL,EAAOtL,GAAQ,CAAC,GACnCsL,EAASA,EAAOtL,EACpB,CAEAsL,EAAOC,EAAMC,EAAI,IAAM3G,CAC3B,CAEA,SAAS4G,IACL,SAAK,mBAAmBC,KAAKC,UAAUC,YAAuC,aAAvBD,UAAUE,UAA2BF,UAAUG,eAAiB,EAK3H,CAEA,SAASC,EAAY1M,EAAS2M,GACrBA,IAAeA,EAAgB,gBACpC,IAAIC,EAAU5M,EAAQ6M,UAClBC,EAAU9M,EAAQqC,aAAasK,GACnC3M,EAAQ+M,aAAaJ,EAAeC,GACpC5M,EAAQ6M,UAAYC,CACxB,CAEA,SAASE,IACL,IACIC,IADoBzR,SAAS0R,aACW,IAAItO,IAAIpD,SAAS0R,aAAaC,SAASpC,SAAS,aACxFqC,EAAaC,QAAQpO,OAAS,EAE9BmO,GAAcH,EACdI,QAAQC,SAIPF,GAAcH,GACfjL,OAAOiC,QAGXpF,SAASC,KAAO,IACpB,CAEA,SAASyO,IACL,IAAIzC,EAAO,IAAIE,KACf,MAAO,IAAG,OAAWF,EAAM,kBAAiB,OAAWA,EAAM,UACjE,C,sHC3KA,QApFe,CACd3N,QAAS,CACRuG,UAAW,GACX8J,UAAU,EACVnQ,IAAK,CACJoQ,YAAa,6BAEdC,SAAU,KACVC,MAAO,MAERnQ,KAAM,SAASL,GAMd,GALAM,KAAKN,QAAU,SAASM,KAAKN,QAASA,GAEtCM,KAAKC,gBAGDD,KAAKN,QAAQuG,UAAW,CAC3B,IAAIkK,EAAY,EAAEnQ,KAAKN,QAAQuG,WAC/B,GAAIkK,EAAUlR,SAAS,QAAQ,CAC9B,IAAImR,EAAS,CACZC,UAAWF,EAAU5R,KAAK,kBAC1BoB,OAAQwQ,EAAU5R,KAAK,eACvB+R,WAAYH,EAAU5R,KAAK,mBAC3B0R,SAAUE,EAAU5R,KAAK,iBACzB2R,MAAOC,EAAU5R,KAAK,eAGvByB,KAAKgQ,YAAYI,EAClB,CACD,CAEA,EAAAG,EAAexQ,MAChB,EACAE,cAAe,WACd,IAAIoC,EAAOrC,KAEPA,KAAKN,QAAQuG,WAChB,EAAEnH,UAAUuE,GAAG,mBAAoBrD,KAAKN,QAAQuG,WAAW,WAC1D,IAAImK,EAAS,CACZC,UAAW,EAAErQ,MAAMzB,KAAK,kBACxBoB,OAAQ,EAAEK,MAAMzB,KAAK,eACrB+R,WAAY,EAAEtQ,MAAMzB,KAAK,mBACzB0R,SAAU,EAAEjQ,MAAMzB,KAAK,iBACvB2R,MAAO,EAAElQ,MAAMzB,KAAK,eAGrB8D,EAAK2N,YAAYI,EAClB,GAEF,EACAI,aAAc,SAASJ,GACtB,IAAIpQ,KAAKN,QAAQqQ,SAAjB,CAEA,IAAIU,EAAO3R,SAASsD,cAAc,sBAE9BqO,EAAKrB,YAET,QAAS,CAAExP,IAAKI,KAAKN,QAAQE,IAAIoQ,YAAatM,KAAM0M,IAAUlR,MAAKwE,IAClE,GAAIA,EAAKC,OAAQ,CAChB,IAAI+M,GAAO,QAAuB,YAClC,IAAIC,EAAQC,KAAKC,MAAMnN,EAAKoN,UAC5BH,EAAMI,SAAWrN,EAAKsN,MACtBL,EAAMM,YAA0C,IAA5BR,EAAK/H,QAAQuI,YACjC,IAAIC,EAAUR,EAAKC,GAEnBF,EAAKrB,UAAY8B,GAEjB,QAAc,EAAET,IAEhB,UAAUzK,OAAO,CAChBC,UAAWnH,SAASsD,cAAc,0BAClC+D,iBAAkB,UAEpB,MAEC,QAAU,0BAA2B,CAAEvC,KAAM,UAC9C,GAzBgC,CA2BlC,EACAoM,YAAa,SAASI,IACf,QAAyB,CAAC,aAAalR,MAAK,IAAMc,KAAKwQ,aAAaJ,IACxE,E","sources":["webpack://tumarket/./js/editmenu.js","webpack://tumarket/./js/firm/firm.js","webpack://tumarket/./js/global/readmore.js","webpack://tumarket/./js/global/util.js","webpack://tumarket/./js/previews/previewsEmbed.js"],"sourcesContent":["/* global tumarket */\n\nimport * as $ from \"jquery\";\nimport \"bootstrap/js/dist/dropdown\";\nimport tumGlobal from \"./global.js\";\nimport { initTuPopover } from \"./global/popover\";\nimport { toggleReadmore } from \"./global/readmore\";\nimport { addEventDelegate } from \"./global/dom\";\n\nfunction initEditMenu() {\n //функция, которая вызывается при клике на ридмор (атрибут data-callback)\n tumarket.callbacks.updateEditMenu = el => {\n\n //подставляет в ридмор html из data-contenttarget, если он есть и если ридмор пустой\n let $container = $(el).closest('.tum-readmore-wrap').find('.tum-readmore-0');\n let content = $(el).attr('data-contenttarget');\n if (content && !$container.html()) {\n $container.html($(content).html());\n\n //подключаем popover\n initTuPopover($container);\n }\n\n //скрывает другие ридморы в меню\n let $readmores = $('.tu-editMenu .tum-readmore-toggle').not(el);\n $readmores.toArray().forEach(e => toggleReadmore(e, false, true));\n\n //обновляет положение меню на случай, если изменилась ширина\n $('.tu-editMenuToggle').dropdown('update');\n };\n\n //открытие меню редактирования по кнопке с классом\n addEventDelegate(document, 'click', '.menu-openEditMenu', () => {\n let mob = tumGlobal.isMob();\n let shown = $(mob ? '.mob-menu' : '.desktop-menu').hasClass('show');\n\n function toggleMenu() {\n return import(\"./MainMenu.js\").then(({tum_mainMenu}) => tum_mainMenu.toggleMenu());\n }\n\n (shown ? toggleMenu() : Promise.resolve())\n .then(() => {\n $('.tu-editMenuToggle').dropdown('toggle');\n tumGlobal.scrollUp();\n tumGlobal.highlight($('.tu-editMenu .dropdown-menu'));\n });\n });\n}\n\nexport { initEditMenu };\n\n","/* global tumarket */\n\nimport * as $ from \"jquery\";\n\nimport \"bootstrap/js/dist/collapse\";\nimport \"bootstrap/js/dist/popover\";\nimport \"bootstrap/js/dist/modal\";\nimport tumGlobal from \"../global.js\";\nimport tumCommon from \"../common.js\";\nimport \"readmore-js\";\nimport min from \"../search/miniature.js\";\nimport tu_slider from \"../slider.js\";\nimport { ajaxSend } from \"../global/fetch\";\nimport { getUrlParameter } from \"../global/url\";\nimport { showAdultWarning } from \"../product/restrictAdult.js\";\nimport { getPrecompiledTemplate, loadPrecompiledTemplates } from \"../global/templates\";\nimport { toggleReadmore } from \"../global/readmore\";\nimport { bootstrapAlert } from \"../global/alert\";\nimport { addEventDelegate, appendHtml, hide, insertHtmlBefore, show, toggleClass } from \"../global/dom\";\nimport { showAlert } from \"../global/dialog\";\nimport { isMob } from \"../global/util\";\nimport { initTuPopover } from \"../global/popover\";\n\nvar firm = {\n\toptions: {\n\t\tfirmID: 0,\n\t\turl: {\n\t\t\tdeleteLogo: '/firmRequests/deleteLogo'\n\t\t}\n\t},\n\tsliders: [],\n\tinit: function (options) {\n\t\tfirm.options = $.extend(firm.options, options);\n\n\t\tthis.initCallbacks();\n\n\t\t$(\"#asModal\").modal({ show: false, backdrop: 'static' });\n\t\t$('.tum-firm-field').removeClass('d-none');\n\n\t\tif (tumarket.firm.canEdit) {\n\t\t\timport(\"../as/as.sys.js\").then(m => {\n\t\t\t\tlet as = m.default;\n\n\t\t\t\timport(\"../as/controls/as.uploadHTML5\").then(() => {\n\t\t\t\t\tas.uploadHTML5.init({\n\t\t\t\t\t\tuploadCallback: function () {\n\t\t\t\t\t\t\t$(\"fieldset.photoUploadDescBlock\").removeClass(\"d-none\");\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t});\n\t\t}\n\n\t\t$('.tum-readmore').removeClass('hide');\n\t\t$('.tum-readmore').readmore({\n\t\t\tmoreLink: '',\n\t\t\tlessLink: '',\n\t\t\tspeed: 100,\n\t\t\tcollapsedHeight: 20\n\t\t});\n\n\t\tfirm.initSliders();\n\n\t\tif (getUrlParameter('tab') == 'Contacts') {\n\t\t\ttoggleClass('.tum-main-contact', 'd-none');\n\t\t\t$('#shortcontact').collapse('show');\n\n\t\t\ttumGlobal.highlight($(\".firm-contacts-cont\"), 5000);\n\t\t}\n\n\t\tif (new URL(location.href).searchParams.get(\"openOrderProcessing\") == \"1\") {\n\t\t\tif ($(\".departOrder\").length) {\n\t\t\t\t$(\".departOrder\")[0]?.click();\n\n\t\t\t\tvar offset = $(\".departOrder\").offset();\n\t\t\t\toffset.top -= 50;\n\t\t\t\t$('html, body').animate({\n\t\t\t\t\tscrollTop: offset.top\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (getUrlParameter(\"showOnMap\") == \"1\") {\n\t\t\t$(\".companyMapLink\")[0]?.click();\n\t\t}\n\t},\n\tshowHeaderHint: function ($el) {\n\t\tvar textCont = $el.attr(\"data-textcontainer\");\n\t\tvar text = $(textCont).html();\n\n\t\t$(\".tum-firm-header-hint\").html('
Закрыть
' + text);\n\t\t$(\".tum-firm-header-hint\").removeClass(\"d-none\");\n\n\t\tvar offset = $(\".tum-firm-header-hint\").offset();\n\t\toffset.top -= 100;\n\t\t$('html, body').animate({\n\t\t\tscrollTop: offset.top\n\t\t});\n\n\t\ttumGlobal.highlight($(\".tum-firm-header-hint\"), 1500);\n\t},\n\tcheckNeedSlider: function (el) {\n\t\tfirm.initFirmSlider(el.querySelector('.tu-slider'));\n\t},\n\tinitCallbacks: function () {\n\t\tvar self = this;\n\n\t\taddEventDelegate(document, 'click', '[data-drop-sliders-cache]', () => this.dropSlidersCache());\n\n\t\taddEventDelegate(document, 'click', \".tum-readmore\", element => {\n\t\t\t$(element).readmore(\"toggle\");\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".tum-firmOffer-desc-toggle\", () => {\n\t\t\ttoggleReadmore($('.tum-firmOffer-desc'));\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '#openModal', (element, e) => {\n\t\t\tif (!$(e.target).hasClass('close')) {\n\t\t\t\t$(element).find('.close')[0]?.click();\n\t\t\t}\n\t\t});\n\t\t\n\t\taddEventDelegate(document, \"click\", \"[data-show-firm-logo]\", (element, e) => {\n\t\t\te.preventDefault();\n\t\t\t$(element).next().css(\"display\", \"block\");\n\t\t\ttumCommon.toggleFloatingHeader();\n\t\t\ttumCommon.updateFloatingHeader();\n\t\t\ttumCommon.toggleTopBar();\n\t\t});\n\n\t\taddEventDelegate(document, \"click\", \".modalDialog .close\", (element, e) => {\n\t\t\te.preventDefault();\n\t\t\t$(element).closest(\".modalDialog\").css(\"display\", \"none\");\n\t\t\ttumCommon.toggleFloatingHeader();\n\t\t\ttumCommon.updateFloatingHeader();\n\t\t\ttumCommon.toggleTopBar();\n\t\t});\n\n\t\t$('[data-toggle=\"popover\"]').popover({\n\t\t\tsanitize: false\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.tum-isFix-hint', element => {\n\t\t\tlet text = '';\n\t\t\tlet contentTarget = $(element).attr(\"data-contenttarget\");\n\n\t\t\tif (contentTarget.length) {\n\t\t\t\ttext = $(contentTarget).html();\n\t\t\t} else {\n\t\t\t\ttext = $(element).attr(\"data-content\");\n\t\t\t}\n\t\t\tvar elem = $(element).closest(\".hasHint\");\n\t\t\tif ($(element).hasClass(\"show\")) {\n\t\t\t\tfirm.showHint(text, elem, true);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tfirm.showHint(text, elem);\n\t\t\t$(element).addClass(\"show\");\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".hideHint\", (element, e) => {\n\t\t\te.preventDefault();\n\t\t\t$(\".tum-hint-block\").removeClass(\"show\");\n\t\t\t$(\".tum-isFix-hint\").removeClass(\"show\");\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".tum-firm-header-hideHint\", (element, e) => {\n\t\t\te.preventDefault();\n\t\t\tvar $hintBlock = $(element).closest(\".tum-firm-header-hint\");\n\t\t\t$hintBlock.addClass(\"d-none\");\n\t\t});\n\n\t\t$(document).on('mouseover', \".header-dropleft-menu\", function() {\n\t\t\tmin.getMenuItems(this);\n\t\t});\n\n\t\t$('.tum-firms-sliders').on('shown.bs.collapse', '.slider-block', function (e) {\n\t\t\tvar $tape = $(this);\n\t\t\tif ($tape.is(e.target) && !$tape.hasClass('isInit')) {\n\t\t\t\tfirm.checkNeedSlider(this);\n\t\t\t\t$(this).addClass('isInit');\n\t\t\t}\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".tum-firm-header-showHint\", element => {\n\t\t\tfirm.showHeaderHint($(element));\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".firm-deleteLogo\", () => {\n\t\t\tif (!confirm(\"Вы уверены, что хотите удалить логотип?\")) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tajaxSend({ url: firm.options.url.deleteLogo, data: { firmID: firm.options.firmID } }).then(data => {\n\t\t\t\tif (data.result) {\n\t\t\t\t\tshowAlert(\"Логотип удален\", { type: \"success\" });\n\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\tlocation.reload();\n\t\t\t\t\t}, 2000);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tshowAlert(\"Ошибка при удалении логотипа\", { type: \"danger\" });\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\t//ридмор\n\t\taddEventDelegate(document, 'click', '.tum-modal-hint', element => {\n\t\t\t$(element).readmore('toggle');\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.tum-show-slogan', (element, e) => {\n\t\t\te.preventDefault();\n\t\t\t$(element).find('i').toggleClass(\"fa-angle-down fa-angle-up\");\n\n\t\t\tlet $readmore = $('.fcReadMore .tum-readmore-1');\n\n\t\t\tif ($readmore.length) {\n\t\t\t\ttoggleReadmore($readmore);\n\t\t\t}\n\n\t\t\tif ($readmore.hasClass('show')) {\n\t\t\t\ttumGlobal.scrollUp();\n\t\t\t\ttumGlobal.highlight($readmore);\t\n\t\t\t} \n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.tum-show-firm-contacts', () => {\n\t\t\ttoggleClass('.tum-main-contact', 'd-none');\n\t\t});\n\n\t\t//дубль кода,вынужденно такой же в offerSearch.js\n\t\t$('.tum-show-panel-contacts').on('hidden.bs.collapse', function () {\n\t\t\tvar a = $(this).closest('.firm-contacts-cont').find('.tum-show-firm-contacts');\n\t\t\t$(a).html(' показать');\n\t\t});\n\n\t\t$('.tum-show-panel-contacts').on('shown.bs.collapse', function () {\n\t\t\tvar a = $(this).closest('.firm-contacts-cont').find('.tum-show-firm-contacts');\n\t\t\t$(a).html(' свернуть');\n\t\t});\n\n\t\t$('.tum-show-panel-departs').on('hidden.bs.collapse', function () {\n\t\t\tvar icon = $(this).closest('.firm-depart-cont').find('.tum-show-all-contacts i');\n\t\t\t$(icon).removeClass('fa-angle-up');\n\t\t\t$(icon).addClass('fa-angle-down');\n\t\t});\n\n\t\t$('.tum-show-panel-departs').on('show.bs.collapse', function () {\n\t\t\tvar icon = $(this).closest('.firm-depart-cont').find('.tum-show-all-contacts i');\n\t\t\t$(icon).removeClass('fa-angle-down');\n\t\t\t$(icon).addClass('fa-angle-up');\n\t\t});\n\n\t\t$('.tum-offer-show-panel-schedule').on('hidden.bs.collapse', function () {\n\t\t\tvar icon = $(this).closest('.tum-firm-schedule-cont').find('a + i');\n\t\t\t$(icon).removeClass('fa-angle-up');\n\t\t\t$(icon).addClass('fa-angle-down');\n\t\t});\n\n\t\t$('.tum-offer-show-panel-schedule').on('show.bs.collapse', function () {\n\t\t\tvar icon = $(this).closest('.tum-firm-schedule-cont').find('a + i');\n\t\t\t$(icon).removeClass('fa-angle-down');\n\t\t\t$(icon).addClass('fa-angle-up');\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.tum-firm-schedule a + i', () => {\n\t\t\t$('.tum-firm-schedule > a:first')[0]?.click();\n\t\t});\n\n\t\taddEventDelegate(document, 'click', '.tum-collapse-link-anno', element => { firm.collapseLinkAnnoClick($(element)) });\n\t\taddEventDelegate(document, 'click', '.tum-collapse-link-anno-header', element => { firm.collapseLinkAnnoHeaderClick($(element)) });\n\n\t\taddEventDelegate(document, 'click', '.tum-uncollapse-link', (element, e) => {\n\t\t\te.preventDefault();\n\t\t\t$('.tum-collapse-link[href=\"' + $(element).attr('href') + '\"]').removeClass('d-none');\n\t\t});\n\n\t\taddEventDelegate(document, \"click\", \".companyMapLink\", (element, e) => {\n\t\t\te.preventDefault();\n\n\t\t\t//подменяем html на \"закрыть\" только для основной кнопки (которая на странице всегда, а не в поповере в шапке)\n\t\t\t//независимо от того, на какую нажимали\n\t\t\tlet $btn = $('.companyMapLink').not('.companyMapLink_popover');\n\t\t\tlet html = $btn.html();\n\t\t\tlet althtml = $btn.attr('data-althtml');\n\t\t\t$btn.html(althtml);\n\t\t\t$btn.attr('data-althtml', html);\n\n\t\t\tif ($(element).attr('aria-expanded') != \"false\") {\n\t\t\t\tif (!window.ymaps) {\n\t\t\t\t\tself.initYmaps();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$(element).toggleClass(\"tum-dark-red\");\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".collapseGeoHeader, .collapseGeoContent, .fcFirmType\", element => {\n\t\t\t$(element).next().click();\n\t\t});\n\t},\n\tcollapseLinkAnnoClick: function () {\n\t\t$('.tum-collapse-link-anno').addClass('d-none');\n\t},\n\tcollapseLinkAnnoHeaderClick: function () {\n\t\tvar annoCont = $('.tum-firm-anno');\n\t\tannoCont.addClass('bg-info');\n\t\tsetTimeout(function () {\n\t\t\tannoCont.removeClass('bg-info');\n\t\t},\n\t\t\t3000);\n\t},\n\tinitFirmSlider: function (el) {\n\t\tlet totalIds = el.closest('.slider-block').getAttribute('data-ids')?.split(',');\n\t\tlet contextType = el.closest('.slider-block').getAttribute('data-context');\n\t\tlet additionalSlide = el.querySelector('.slider-list .slider-additional-slide');\n\t\thide(additionalSlide);\n\n\t\tlet getItems = (callback) => {\n\t\t\tlet productIds = totalIds.slice(tumarket.defaultSliderSize);\n\t\t\tloadPrecompiledTemplates(['product-mini-wrapper']).then(() => {\n\t\t\t\treturn ajaxSend({ url: '/search/GetProductMiniatures', data: { \n\t\t\t\t\tproductIDs: productIds, \n\t\t\t\t\tisNeedLinkUnder: true,\n\t\t\t\t\tshowContacts: false\n\t\t\t\t} });\n\t\t\t}).then(data => {\n\t\t\t\tif (data.result) {\n\t\t\t\t\tlet template = getPrecompiledTemplate('product-mini-wrapper');\n\t\t\t\t\tfor (let item of data.Items) {\n\t\t\t\t\t\titem.isSlider = true;\n\t\t\t\t\t\titem.isMob = isMob();\n\t\t\t\t\t\titem.contextType = contextType;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet newItems = data.Items.map(e => template(e)).join(\"\");\n\n\t\t\t\t\tif (additionalSlide) {\n\t\t\t\t\t\tinsertHtmlBefore(additionalSlide, newItems);\n\t\t\t\t\t\tshow(additionalSlide);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tappendHtml(el.querySelector('.slider-list'), newItems);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcallback();\n\t\t\t\t\tinitTuPopover();\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\n\t\tif (!totalIds) getItems = null;\n\n\t\tvar slider = tu_slider.create({ \n\t\t\tcontainer: el,\n\t\t\tgetItems: getItems,\n\t\t\ttotalCount: totalIds ? totalIds.length + 1 : null,\n\t\t\tcontrolsPosition: 'bottom'\n\t\t});\n\n\t\tif (slider) this.sliders.push(slider);\n\t\t$(\".visibility-sliders [data-toggle=popover]\").popover({\n\t\t\thtml: true,\n\t\t\tsanitize: false\n\t\t});\n\t},\n\tinitSliders: function () {\n\t\tdocument.querySelectorAll('.tum-firms-sliders .b-catalog-slider .tu-slider').forEach(el => {\n\t\t\tfirm.initFirmSlider(el);\n\t\t});\n\t\t\n\t\tshowAdultWarning();\n\n\t\tif ($(\".tum-readmore-showcase\").length > 0 && $(\".block-readmore-window\").length > 0 && $(\".tum-readmore-showcase .tum-firmOffer-showcase\").length == 0) {\n\t\t\t$('.tum-readmore-showcase').append($(\".block-readmore-window .tum-showcase\"));\n\t\t\t$(\".tum-firmOffer-showcase\").addClass(\"tum-readmore\");\n\t\t\tif ($(\"#showcaseBlock.collapse.show\").length == 1) {\n\t\t\t\t//если Витрина открыта, сразу инициализируем ридмор\n\t\t\t\t$('.tum-firmOffer-showcase.tum-readmore').readmore({\n\t\t\t\t\tmoreLink: '',\n\t\t\t\t\tlessLink: '',\n\t\t\t\t\tspeed: 100,\n\t\t\t\t\tcollapsedHeight: 20\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (new URL(location.href).searchParams.get(\"openShowcase\") == \"1\") {\n\t\t\tif ($(\".b-catalog-slider-showcase\").length) {\n\t\t\t\t$('#showcaseBlock').collapse('show');\n\t\t\t\tvar offset = $(\".b-catalog-slider-showcase\").offset();\n\t\t\t\toffset.top -= 50;\n\t\t\t\t$('html, body').animate({\n\t\t\t\t\tscrollTop: offset.top\n\t\t\t\t});\n\n\t\t\t\t$(\".b-catalog-slider-showcase\").addClass(\"tum-box-attention\");\n\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t$(\".b-catalog-slider-showcase\").removeClass(\"tum-box-attention\");\n\t\t\t\t}, 500);\n\t\t\t}\n\t\t}\n\t},\n\tshowHint: function (txt, elem, close) {\n\t\tvar hintBlock = $(elem).find(\".tum-hint-block\");\n\t\tif (close) {\n\t\t\t$(\".tum-hint-block\").removeClass(\"show\");\n\t\t\t$(\".tum-isFix-hint\").removeClass(\"show\");\n\t\t\treturn;\n\t\t}\n\t\t$(\".tum-hint-block\").removeClass(\"show\");\n\t\thintBlock.html('
Закрыть
' + txt);\n\t\thintBlock.addClass('hintBorder');\n\t\thintBlock.addClass(\"show\");\n\t},\n\tinitYmaps: function(){\n\t\tvar self = this;\n\t\t$('#contractor-pricelist-map').html('');\n\n\t\tfunction initMap(){\n\t\t\timport(\"../map.js\").then(({ tu_maps }) => {\n\t\t\t\tself.map = tu_maps.create({\n\t\t\t\t\tcontainerId: 'contractor-pricelist-map',\n\t\t\t\t\tcenter: tumarket.firm.geo,\n\t\t\t\t\theight: null,\n\t\t\t\t\tzoom: Number(getUrlParameter(\"mapZoom\")) || 12,\n\t\t\t\t\tonLoad: (ymap, modules) => {\n\t\t\t\t\t\tlet placemark = new modules.Placemark([tumarket.firm.geo.lat, tumarket.firm.geo.long]); \n\t\t\t\t\t\tymap.geoObjects.add(placemark);\n\t\t\t\t\t},\n\t\t\t\t\tlockerContainer: \".map-locker\"\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\ttumGlobal.loadYmaps().then(() => initMap());\n\t},\n\tdropSlidersCache: function() {\n\t\tajaxSend({ \n\t\t\turl: '/requests/dropSlidersCache', \n\t\t\tdata: { firmId: this.options.firmID }\n\t\t}).then(data => {\n\t\t\tif (data.result) {\n\t\t\t\tshowAlert(`Данные обновлены. Обновить страницу`, { type: \"success2\" });\n\t\t\t} else {\n\t\t\t\tbootstrapAlert(\"Ошибка при обновлении данных\", { type: 'danger' });\n\t\t\t}\n\t\t});\n\t}\n};\n\nexport default firm;","import * as $ from \"jquery\";\nimport { initTuPopover } from \"./popover\";\n\nlet tumarket = window.tumarket;\n\n/** @type {Object.} */\nlet readmoreState = tumarket.readmoreState;\n\n/** @type {Object.) => void>} */\nlet callbacks = tumarket.callbacks;\n\n/**\n * \n * @param {JQuery} el \n * @param {boolean} [value]\n * @param {boolean} [skipCallback]\n */\nfunction toggleReadmore(el, value = null, skipCallback = null){\n let $wrap = $(el).closest(\".tum-readmore-wrap\");\n let $toggle = $(el);\n let $target = $(el).attr(\"data-target\");\n let scroll = $(el).attr('data-scroll') == '';\n let scrollContainer = $(el).attr('data-scroll-container') || window;\n let $texts = null;\n let $otherToggles = null;\n let id = $wrap.attr('data-readmoreid');\n let groupContainer = $(el)[0].dataset.groupContainer;\n\n if (groupContainer && !skipCallback) {\n [...document.querySelector(groupContainer).querySelectorAll(\".tum-readmore-toggle\")]\n .filter(e => e != this)\n .forEach(e => toggleReadmore(e, false, true));\n }\n\n if ($target) {\n $texts = $($target);\n $otherToggles = $('.tum-readmore-toggle[data-target=\"' + $target + '\"]').not($(el));\n } else {\n $texts = $(\".tum-readmore-0, .tum-readmore-1, .tum-readmore-2, .tum-readmore-inline, .tum-readmore-custom\", $wrap);\n $otherToggles = $(\".tum-readmore-toggle\", $wrap).not($(el));\n }\n\n function swapToggleHtml($toggle, show){\n let showHtml = $toggle.attr('data-showhtmltarget') ? $($toggle.attr('data-showhtmltarget')).html() : $toggle.attr('data-showhtml');\n let hideHtml = $toggle.attr('data-hidehtmltarget') ? $($toggle.attr('data-hidehtmltarget')).html() : $toggle.attr('data-hidehtml');\n\n let html = show ? hideHtml : showHtml;\n if (html != \"_\") {\n $toggle.html(html);\n }\n }\n\n $texts.each(function(){\n let $text = $(this);\n let _wrap = $(this).closest(\".tum-readmore-wrap\");\n\n if (_wrap.length && !_wrap.is($wrap)) {\n return;\n }\n\n $text.toggleClass(\"show\", value);\n let show = $text.hasClass(\"show\");\n\n setTimeout(() => {\n swapToggleHtml($toggle, show);\n }, 100);\n \n $otherToggles.each(function(){\n let _toggleWrap = $(this).closest(\".tum-readmore-wrap\");\n\n if (_toggleWrap.is($wrap) || !_toggleWrap.length) {\n setTimeout(() => {\n swapToggleHtml($(this), show);\n }, 100);\n }\n });\n\n let ajaxCode = $text.attr('data-ajaxcode');\n let ajaxOptions = $text.attr('data-ajaxoptions');\n let ajaxLoaded = $text.data('ajaxloaded') == 1;\n if (ajaxCode && !ajaxLoaded) {\n import(\"./ajaxComponent\").then(({ renderComponent }) => {\n renderComponent(ajaxCode, ajaxOptions)\n .then(html => { \n $text.html(html)\n $text.data('ajaxloaded', 1);\n initTuPopover($text);\n document.body.dispatchEvent(new Event(\"tum.component.loaded\"));\n });\n });\n }\n\n if (id) {\n readmoreState[id] = show;\n }\n\n if (show && scroll) {\n scrollContainer.scrollTo({\n top: $text[0].getBoundingClientRect().top - 150,\n\t\t\t\tbehavior: 'smooth'\n });\n }\n });\n\n let callback = $(el).attr('data-callback');\n if (!skipCallback && callback && callbacks && callbacks[callback]) {\n callbacks[callback](el);\n }\n}\n\nfunction initReadmore(){\n $(document).on(\"click\", \".tum-readmore-toggle\", function (e) {\n //если кликнуть на toggle, который находится внутри другого toggle, будет двойной вызов и в итоге ничего не отработает\n //но stopPropagation может вызвать проблемы в другом функционале, например сборе статистики при кликах\n //поэтому вместо этого явно проверяем, что ридмор уже обработан\n if (e.result?.readmore_processed) return;\n\n if (!this.matches('[data-dont-prevent-default]')) {\n e.preventDefault();\n }\n \n let readmoreState = null;\n if (this.dataset.readmoreState) {\n readmoreState = this.dataset.readmoreState == 'show';\n }\n\n toggleReadmore($(this), readmoreState);\n \n return { readmore_processed: true };\n });\n\n $(document).on('shown.bs.collapse', function(e){\n let id = $(e.target).attr('data-readmoreid');\n readmoreState[id] = true;\n });\n\n $(document).on('hidden.bs.collapse', function(e){\n let id = $(e.target).attr('data-readmoreid');\n readmoreState[id] = false;\n });\n}\n\n/**\n * простой ручной toggle для collapse без анимации. Можно использовать для сохранения состояния коллапсов при ререндере\n * @param {JQuery} element \n * @param {boolean} [value] \n * @param {JQuery} [container] \n */\nfunction toggleCollapse(element, value = null, container = null){\n let $collapseToggle = $(container || document).find(element);\n let $collapse = $($collapseToggle.attr('data-target'), container || document);\n\n let showIcons = [ '.fa-arrow-down', '.fa-chevron-down' ];\n let hideIcons = [ '.fa-arrow-up', '.fa-chevron-up' ];\n let $icon = $([showIcons, hideIcons].flatMap(e => e).join(', '), $collapseToggle);\n $icon.toggleClass(showIcons.join(', '), !value).toggleClass(hideIcons.join(', '), value);\n\n $collapseToggle.toggleClass('collapsed', !value);\n $collapse.toggleClass('show', value);\n\n let id = $collapse.attr('data-readmoreid');\n if (id && value !== null) readmoreState[id] = value;\n}\n\n/**\n * \n * @param {JQuery} container \n */\nfunction restoreReadmoreState(container) {\n for (let id in readmoreState){\n let $readmoreToggle = $(`.tum-readmore-wrap[data-readmoreid=${id}] .tum-readmore-toggle`, container).first();\n if ($readmoreToggle.length)\ttoggleReadmore($readmoreToggle, readmoreState[id]);\n\n let $collapse = $(`[data-toggle=\"collapse\"][data-readmoreid=\"${id}\"]`, container);\n if ($collapse.length) toggleCollapse($collapse, readmoreState[id], container);\n }\n}\n\n/**\n * \n * @param {string} id \n * @param {boolean} [value] \n * @returns \n */\nfunction toggleReadmoreById(id, value = null) {\n let $element = $(`[data-readmoreid=\"${id}\"]`);\n if ($element.hasClass('tum-readmore-wrap')) {\n let $toggle = $('.tum-readmore-toggle', $element).first();\n toggleReadmore($toggle, value);\n \n return;\n }\n\n if ($element.is('[data-toggle=collapse]')) {\n toggleCollapse($element, value);\n }\n}\n\nwindow.toggleReadmore = toggleReadmore;\n\nexport { initReadmore, toggleReadmore, restoreReadmoreState, toggleReadmoreById };","/* global tumarket */\n\nimport dateFormat from \"../lib/dateformat/dateformat\";\n\nfunction isMob() {\n return window.innerWidth < 768;\n}\n\n/**\n * \n * @param {string} rawStr \n * @returns \n */\nfunction encodeHtml(rawStr) {\n return rawStr.replace(/[\\u00A0-\\u9999<>&]/g, i => '&#'+i.charCodeAt(0)+';')\n}\n\n/**\n * \n * @param {string} string \n * @returns \n */\nfunction capitalize(string)\n{\n if (!string) return string;\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\n/**\n * \n * @param {string} string \n * @returns \n */\nfunction decapitalize(string)\n{\n if (!string) return string;\n return string.charAt(0).toLowerCase() + string.slice(1);\n}\n\n/**\n * \n * @param {string} str \n * @returns \n */\nfunction toCamelCase(str) {\n return str.toLowerCase().replace(/[-_][a-z]/g, (group) => group.slice(-1).toUpperCase());\n}\n\n/**\n * \n * @param {string} str \n * @returns \n */\nfunction toSnakeCase(str) {\n return str.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`);\n}\n\n/**\n * \n * @param {any[]} array \n * @param {string | (e: any) => string} key \n * @returns {Object.}\n */\nfunction groupBy(array, key) {\n let useFunction = typeof key == 'function';\n\n return array.reduce((acc, currentValue) => {\n let groupKey = useFunction ? key(currentValue).toString() : currentValue[key].toString();\n if (!acc[groupKey]) {\n acc[groupKey] = [];\n }\n acc[groupKey].push(currentValue);\n return acc;\n }, {});\n}\n\nfunction sort(array, desc, mapper){\n if (!array.length) return array;\n if (!mapper) mapper = e => e;\n let copy = [...array];\n copy.sort((a, b) => {\n if (mapper(a) > mapper(b)) return 1;\n if (mapper(a) < mapper(b)) return -1;\n return 0;\n });\n\n if (desc) copy.reverse();\n return copy;\n}\n\n/**\n * convert string to bool\n * @param {*} value \n * @param {*} isAttr treat as html attribute, so empty string is true\n * @returns \n */\nfunction toBool(value, isAttr){\n if (isAttr && value == '') return true;\n if (value == 'false' || value == '0') return false;\n return !!value;\n}\n\nfunction renderSimpleTemplate(template, data, requireFields, encodeUrl) {\n if (!template || !data) return '';\n\n let result = template;\n let templateRegex = /{{([a-zA-Z0-9_]+)}}/g;\n let iifRegex = /{{iif ([a-zA-Z0-9_]+) ('[a-zA-Z0-9_а-яА-Я,.:'\" ]*'|[a-zA-Z0-9_]+) ('[a-zA-Z0-9_а-яА-Я,.:'\" ]*'|[a-zA-Z0-9_]+)}}/g;\n let literalRegex = /'(.*)'/;\n\n for (let field of template.matchAll(templateRegex)) {\n let value = getValueByPath(data, field[1]) || '';\n \n if (requireFields && !value) {\n return null;\n }\n\n if (encodeUrl) value = encodeURIComponent(value);\n result = result.replace(field[0], value);\n }\n\n for (let field of template.matchAll(iifRegex)) {\n let condition = getValueByPath(data, field[1]);\n let literalA = field[2].match(literalRegex);\n let literalB = field[3].match(literalRegex);\n let a = literalA ? literalA[1] : getValueByPath(data, field[2]);\n let b = literalB ? literalB[1] : getValueByPath(data, field[3]);\n\n let value = condition ? a : b;\n \n if (requireFields && !value) {\n return null;\n }\n\n if (encodeUrl) value = encodeURIComponent(value);\n result = result.replace(field[0], value);\n }\n\n return result.trim();\n}\n\n/**\n * \n * @param {any[]} array \n * @returns \n */\nfunction distinct(array) {\n if (!array) return [];\n function distinctFilter(value, index, self) { \n return self.indexOf(value) === index;\n }\n\n return array.filter(distinctFilter);\n}\n\n/**\n * \n * @param {string} date \n * @returns {Date}\n */\nfunction parseDate(date) {\n if (!date.includes(' ') && !date.includes('T')) date = date + ' 00:00';\n if (date.includes('+')) return new Date(date);\n return new Date(`${date}+09:00`);\n}\n\nfunction isDateInThisWeek(date, offset) {\n if (!offset) offset = 0;\n let today = new Date();\n const todayObj = new Date(today.setDate(today.getDate() + offset * 7));\n const todayDate = todayObj.getDate();\n const todayDay = todayObj.getDay();\n\n // get first date of week\n const firstDayOfWeek = new Date(todayObj.setDate(todayDate - todayDay));\n\n // get last date of week\n const lastDayOfWeek = new Date(firstDayOfWeek);\n lastDayOfWeek.setDate(lastDayOfWeek.getDate() + 6);\n\n // if date is equal or within the first and last dates of the week\n return date >= firstDayOfWeek && date <= lastDayOfWeek;\n}\n\n\n/**\n * позволяет получить из сложного объекта вложенное поле по строке типа 'products[0].info.name'\n * @param {object} object \n * @param {string} path \n * @returns \n */\nfunction getValueByPath(object, path) {\n let result = object;\n let sections = path.split('.');\n for (let section of sections) {\n if (!result) return result;\n let arrayRegex = /^([a-zA-Z0-9_]+)\\[(\\d+)\\]$/;\n let match = section.match(arrayRegex);\n let index = match ? match[2] : null;\n if (index) section = match[1];\n\n if (index) {\n result = result[section][index] || null;\n } else {\n result = result[section] || null;\n }\n }\n\n return result;\n}\n\n/**\n устанавливает значение вложенного поля по строке типа 'products.info.name'\n * @param {*} object \n * @param {*} path \n * @param {*} value \n */\nfunction setValueByPath(object, path, value) {\n let schema = object; // a moving reference to internal objects within obj\n let pList = path.split('.');\n let len = pList.length;\n for (let i = 0; i < len-1; i++) {\n let elem = pList[i];\n if (!schema[elem]) schema[elem] = {};\n schema = schema[elem];\n }\n\n schema[pList[len-1]] = value;\n}\n\nfunction isIos(){\n if ((/iPad|iPhone|iPod/.test(navigator.userAgent)) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1))\t{\n return true;\n }\n\n return false;\n}\n\nfunction swapAltHtml(element, attributeName) {\n if (!attributeName) attributeName = 'data-althtml';\n let oldhtml = element.innerHTML;\n let newhtml = element.getAttribute(attributeName);\n element.setAttribute(attributeName, oldhtml);\n element.innerHTML = newhtml;\n}\n\nfunction goBack() {\n let hasUrlReferrer = !!tumarket.urlReferrer;\n let tumarketUrlReferrer = hasUrlReferrer && new URL(tumarket.urlReferrer).hostname.includes('tu.market');\n let hasHistory = history.length > 2;\n\n if (hasHistory && tumarketUrlReferrer) {\n history.back();\n return;\n }\n\n if (!hasHistory && tumarketUrlReferrer) {\n window.close();\n }\n\n location.href = '/';\n}\n\nfunction getCurrentTimeForInput(){\n let date = new Date();\n return `${dateFormat(date, 'yyyy-MM-dd')}T${dateFormat(date, 'HH:mm')}`;\n}\n\nexport { \n isMob, encodeHtml, capitalize, decapitalize, toCamelCase, groupBy, sort, \n toBool, renderSimpleTemplate, distinct, toSnakeCase, parseDate, getValueByPath, setValueByPath, isDateInThisWeek,\n isIos, swapAltHtml, goBack, getCurrentTimeForInput\n};","import * as $ from \"jquery\";\nimport \"readmore-js\";\nimport { ajaxSend } from \"../global/fetch\";\nimport { getPrecompiledTemplate, loadPrecompiledTemplates } from \"../global/templates\";\nimport { youtubePreview } from \"../youtubePreview.js\";\nimport { initTuPopover } from \"../global/popover\";\nimport tu_slider from \"../slider.js\";\nimport { showAlert } from \"../global/dialog\";\n\nimport \"../../css/modules/previews/previewItem.css\";\n\nvar previews = {\n\toptions: {\n\t\tcontainer: '', // селектор элемента с классом collapse. Не может быть \"#previewsContainer\", потому что такой занят в шаблоне с обзорами\n\t\tdisabled: false,\n\t\turl: {\n\t\t\tgetPreviews: '/preview/getPreviewsEmbed'\n\t\t},\n\t\tpageCode: null,\n\t\tlimit: null\n\t},\n\tinit: function(options) {\n\t\tthis.options = $.extend(this.options, options);\n\n\t\tthis.initCallbacks();\n\n\t\t//сразу загружаем обзоры, если collapse развернут\n\t\tif (this.options.container) {\n\t\t\tvar $collapse = $(this.options.container);\n\t\t\tif ($collapse.hasClass(\"show\")){\n\t\t\t\tvar params = {\n\t\t\t\t\tproductID: $collapse.attr(\"data-productid\"),\n\t\t\t\t\tfirmID: $collapse.attr(\"data-firmid\"),\n\t\t\t\t\tpreviewIDs: $collapse.attr(\"data-previewids\"),\n\t\t\t\t\tpageCode: $collapse.attr(\"data-pagecode\"),\n\t\t\t\t\tlimit: $collapse.attr(\"data-limit\")\n\t\t\t\t};\n\n\t\t\t\tthis.getPreviews(params);\n\t\t\t}\n\t\t}\n\n\t\tyoutubePreview.init();\n\t},\n\tinitCallbacks: function() {\n\t\tlet self = this;\n\n\t\tif (this.options.container) {\n\t\t\t$(document).on('show.bs.collapse', this.options.container, function() {\n\t\t\t\tvar params = {\n\t\t\t\t\tproductID: $(this).attr(\"data-productid\"),\n\t\t\t\t\tfirmID: $(this).attr(\"data-firmid\"),\n\t\t\t\t\tpreviewIDs: $(this).attr(\"data-previewids\"),\n\t\t\t\t\tpageCode: $(this).attr(\"data-pagecode\"),\n\t\t\t\t\tlimit: $(this).attr(\"data-limit\")\n\t\t\t\t};\n\n\t\t\t\tself.getPreviews(params);\n\t\t\t});\n\t\t}\n\t},\n\t_getPreviews: function(params) { // { productID: 0, firmID: 0, previewIDs: \"\" }\n\t\tif (this.options.disabled) return;\n\n\t\tvar cont = document.querySelector(\"#previewsContainer\");\n\n\t\tif (cont.innerHTML) return;\n\n\t\tajaxSend({ url: this.options.url.getPreviews, data: params }).then(data => {\n\t\t\tif (data.result) {\n\t\t\t\tvar tmpl = getPrecompiledTemplate('previews');\n\t\t\t\tlet _data = JSON.parse(data.JsonData);\n\t\t\t\t_data.previews = data.items;\n\t\t\t\t_data.needsHeader = cont.dataset.needsHeader == '';\n\t\t\t\tvar htmlOut = tmpl(_data);\n\n\t\t\t\tcont.innerHTML = htmlOut;\n\n\t\t\t\tinitTuPopover($(cont));\n\t\t\t\t//youtubePreview.initPreviews(cont);\n\t\t\t\ttu_slider.create({\n\t\t\t\t\tcontainer: document.querySelector('[data-previews-slider]'),\n\t\t\t\t\tcontrolsPosition: 'bottom'\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\tshowAlert(\"Ошибка загрузки обзоров\", { type: \"danger\" });\n\t\t\t}\n\t\t});\n\t},\n\tgetPreviews: function(params){\n loadPrecompiledTemplates(['previews']).then(() => this._getPreviews(params));\n }\n};\n\nexport default previews;"],"names":["initEditMenu","tumarket","callbacks","updateEditMenu","el","$container","closest","find","content","attr","html","not","toArray","forEach","e","dropdown","document","mob","isMob","hasClass","then","tum_mainMenu","toggleMenu","Promise","resolve","scrollUp","highlight","firm","options","firmID","url","deleteLogo","sliders","init","this","initCallbacks","modal","show","backdrop","removeClass","canEdit","m","as","default","uploadHTML5","uploadCallback","readmore","moreLink","lessLink","speed","collapsedHeight","initSliders","collapse","URL","location","href","searchParams","get","length","click","offset","top","animate","scrollTop","showHeaderHint","$el","textCont","text","checkNeedSlider","initFirmSlider","querySelector","self","dropSlidersCache","element","target","preventDefault","next","css","toggleFloatingHeader","updateFloatingHeader","toggleTopBar","popover","sanitize","contentTarget","elem","showHint","addClass","on","getMenuItems","$tape","is","confirm","data","result","type","setTimeout","reload","toggleClass","$readmore","a","icon","collapseLinkAnnoClick","collapseLinkAnnoHeaderClick","$btn","althtml","window","ymaps","initYmaps","annoCont","totalIds","getAttribute","split","contextType","additionalSlide","getItems","callback","productIds","slice","defaultSliderSize","productIDs","isNeedLinkUnder","showContacts","template","item","Items","isSlider","newItems","map","join","slider","create","container","totalCount","controlsPosition","push","querySelectorAll","append","txt","close","hintBlock","loadYmaps","tu_maps","containerId","center","geo","height","zoom","Number","onLoad","ymap","modules","placemark","Placemark","lat","long","geoObjects","add","lockerContainer","firmId","readmoreState","toggleReadmore","value","skipCallback","$wrap","$toggle","$target","scroll","scrollContainer","$texts","$otherToggles","id","groupContainer","dataset","swapToggleHtml","showHtml","hideHtml","filter","each","$text","_wrap","_toggleWrap","ajaxCode","ajaxOptions","ajaxLoaded","renderComponent","body","dispatchEvent","Event","scrollTo","getBoundingClientRect","behavior","initReadmore","readmore_processed","matches","innerWidth","encodeHtml","rawStr","replace","i","charCodeAt","capitalize","string","charAt","toUpperCase","decapitalize","toLowerCase","toCamelCase","str","group","toSnakeCase","letter","groupBy","array","key","useFunction","reduce","acc","currentValue","groupKey","toString","sort","desc","mapper","copy","b","reverse","toBool","isAttr","renderSimpleTemplate","requireFields","encodeUrl","templateRegex","iifRegex","literalRegex","field","matchAll","getValueByPath","encodeURIComponent","condition","literalA","match","literalB","trim","distinct","index","indexOf","parseDate","date","includes","Date","isDateInThisWeek","today","todayObj","setDate","getDate","todayDate","todayDay","getDay","firstDayOfWeek","lastDayOfWeek","object","path","sections","section","arrayRegex","setValueByPath","schema","pList","len","isIos","test","navigator","userAgent","platform","maxTouchPoints","swapAltHtml","attributeName","oldhtml","innerHTML","newhtml","setAttribute","goBack","tumarketUrlReferrer","urlReferrer","hostname","hasHistory","history","back","getCurrentTimeForInput","disabled","getPreviews","pageCode","limit","$collapse","params","productID","previewIDs","y","_getPreviews","cont","tmpl","_data","JSON","parse","JsonData","previews","items","needsHeader","htmlOut"],"sourceRoot":""}