{"version":3,"file":"conference.js","mappings":"qGAAA,MAAMA,EAAaC,EAAQ,KAE3BD,EAAWE,eAAe,MAAM,CAACC,EAAMC,EAAMC,KACzCC,QAAQC,IAAIF,EAAQG,GAAGC,OACfN,IAASC,EAAQC,EAAQG,GAAGC,MAAQJ,EAAQK,QAAQD,SAEhET,EAAWE,eAAe,cAAc,WACpC,IAAIS,EAAS,GAGb,OAFIF,KAAKG,UAASD,GAAUF,KAAKG,SAC7BH,KAAKI,OAASJ,KAAKG,UAAYH,KAAKI,QAAOF,GAAU,KAAJ,OAASF,KAAKI,MAAd,MAC9CF,CACV,IACDX,EAAWE,eAAe,YAAY,WAClC,IAAIS,EAAS,GAIb,OAHIF,KAAKK,SAAQH,GAAU,IAAJ,OAAQF,KAAKK,SAChCL,KAAKM,OAASN,KAAKK,SAAWL,KAAKM,QAAOJ,GAAU,MAAJ,OAAUF,KAAKM,QAC/DN,KAAKO,YAAWL,GAAU,MAAJ,OAAUF,KAAKO,YAClCL,CACV,IACDX,EAAWE,eAAe,WAAW,WACjC,IAAIS,EAAS,GAGb,OAFIF,KAAKQ,OAAMN,GAAUF,KAAKQ,MAC1BR,KAAKS,UAAYT,KAAKQ,OAASR,KAAKS,WAAUP,GAAU,KAAJ,OAASF,KAAKS,WAC/DP,CACV,IACDQ,EAAOC,QAAUpB,C,+ICHbqB,EAAW,WAQX,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,CACX,EACOH,EAASa,MAAMzB,KAAMmB,UAChC,EAEIO,EAAe,CACfC,MAAO,EACPC,MAAM,EACNC,YAAY,EACZC,oBAAoB,EACpBC,gBAAiB,CACbC,OAAQ,aACRC,QAAS,eAEbC,gBAAiB,IACjBC,kBAAmB,CACfH,OAAQ,UACRC,QAAS,WACTG,eAAgB,qBASpBC,EAIiB,oBAJjBA,EAOY,eAPZA,EAQW,cARXA,EASe,kBATfA,EAWY,eAXZA,EAoBY,eApBZA,EAqBa,gBArBbA,EAsBgB,mBAtBhBA,EAuBc,iBAs3BlB,QAh3B0B,WACtB,SAASC,EAAKC,EAAUC,GAKpB,OAHAxC,KAAKyC,KAAOF,EACZvC,KAAKwC,IAAMA,EACXxC,KAAK0C,SAAW9B,EAASA,EAAS,CAAC,EAAGc,GAAe1B,KAAKyC,KAAKC,UACxD1C,IACX,CAs2BA,OAp2BAsC,EAAKhB,UAAUqB,eAAiB,WAC5B,IAAIC,EAAY5C,KAAK0C,SAASZ,mBACxB,eAAkB9B,KAAKyC,KAAKI,UAAU,cAAgB,+BAAqC7C,KAAK0C,SAASP,kBAA0B,OAAI,qDAA2DnC,KAAKyC,KAAKI,UAAU,eAAiB,+BAAqC7C,KAAK0C,SAASP,kBAA0B,OAAI,0CACxT,GACFnC,KAAK0C,SAASb,aACde,GAAa,eAAkB5C,KAAKyC,KAAKI,UAAU,kBAAoB,+BAAqC7C,KAAK0C,SAASP,kBAAkC,eAAI,YAAgBnC,KAAK0C,SAASX,gBAAgBC,OAAS,uBAE3NhC,KAAKyC,KAAKK,MAAMC,SAAS,8BACzB/C,KAAKyC,KAAKO,SAASC,QAAQC,OAAON,EACtC,EAOAN,EAAKhB,UAAU6B,WAAa,SAAUC,GAClC,IAAIC,EAAQrD,KAERsD,EAAStD,KAAK0C,SAASR,gBAAkBkB,EAAMG,OAAOC,MAEtDxD,KAAKwC,IAAI,QAAQS,QAAQQ,SAAS,iBAClCL,EAAMG,OAAOC,MAEbF,EAAS,EAITtD,KAAKwC,IAAI,QAAQS,QAAQS,YAAY,gBAEzC1D,KAAK2D,gBAAkBC,YAAW,WACzBP,EAAMQ,iBAGXR,EAAMZ,KAAKqB,aAAaV,EAAMG,OAAOQ,OAAOhB,SAAS,eACjDK,EAAMG,OAAOQ,QAAUV,EAAMZ,KAAKsB,OAClCV,EAAMW,oBAEd,GAAGV,EAAS,GAChB,EACAhB,EAAKhB,UAAU2C,0BAA4B,WAEvCjE,KAAKyC,KAAKyB,KAAKC,GAAG9B,EAAyB,QAASrC,KAAKmD,WAAWiB,KAAKpE,MAC7E,EACAsC,EAAKhB,UAAU+C,YAAc,SAAUC,EAAaC,EAAMC,GACtD,IAAIC,EAAiBH,EACrBA,EAAcI,KAAKC,IAAIL,GACvB,IAAIM,EAAkB5E,KAAK6E,oBAAoBL,GAC/C,IAAKI,EACD,OAAO,EAEX,IAAIE,EAAW,EACf,GAAa,MAATP,EAAc,CACd,IAAIQ,EAAsBL,KAAKM,KAAKC,WAAWL,EAAgB,KAC3C,IAAhBN,GAAqC,MAAhBA,EACrBQ,EAAW,EAEU,KAAhBR,IAGDQ,GAFqB,KAApBL,GAAkD,IAAxBM,GACP,KAAnBN,IAAkD,IAAzBM,GACd,EAGD,GAGnBD,GAAsBC,CAC1B,KACK,CACD,IAAIG,EAAoBR,KAAKM,KAAKC,WAAWL,EAAgB,KAC7D,GAAoB,IAAhBN,GAAqC,MAAhBA,EACrBQ,EAAW,OAEV,GAAoB,KAAhBR,EAAoB,CACzB,IAAIa,EAAOF,WAAWL,EAAgB,IAClCQ,EAAYH,WAAWL,EAAgB,IAC3CE,EAAWJ,KAAKM,KAAKG,EAAOC,EAAYX,EAAiBS,EAC7D,CACAJ,GAAsBI,CAC1B,CACA,OAAOJ,CACX,EACAxC,EAAKhB,UAAU+D,aAAe,SAAUC,EAAQhB,EAAaC,GAczD,OAT8B,KAA1BG,KAAKC,IAAIL,KAGLC,EADS,MAATA,EACO,IAGA,KAGRe,EAbU,CACbC,EAAG,eACHC,EAAG,eAWkBjB,GAC7B,EACAjC,EAAKhB,UAAUmE,aAAe,SAAUC,EAAGpB,GACvC,OAAoB,KAAhBA,EACO,CACHkB,EAAGE,EAAEC,MACLJ,EAAGG,EAAEE,OAIF,CACHJ,EAAGE,EAAEE,MACLL,EAAGG,EAAEC,MAGjB,EACArD,EAAKhB,UAAUuE,cAAgB,SAAUH,EAAGpB,GACxC,IAAIkB,EAAIE,EAAEI,cAAc,GAAGF,MACvBL,EAAIG,EAAEI,cAAc,GAAGH,MAC3B,OAAoB,KAAhBrB,EACO,CACHkB,EAAGD,EACHA,EAAGC,GAIA,CACHA,EAAGA,EACHD,EAAGA,EAGf,EACAjD,EAAKhB,UAAUyE,qBAAuB,SAAUzB,EAAa3C,GACzDA,EAAQA,GAAS3B,KAAK2B,OAAS,EAC/B,IAAIqE,EAAShG,KAAKiG,WAAatE,EAAQ3B,KAAKkG,cAAcC,OACtDC,EAASpG,KAAKqG,WAAa1E,EAAQ3B,KAAKkG,cAAcI,MAC1D,OAAoB,KAAhBhC,EACO,CACH8B,OAAQJ,EACRA,OAAQI,GAIL,CACHA,OAAQA,EACRJ,OAAQA,EAGpB,EAOA1D,EAAKhB,UAAUuD,oBAAsB,SAAUL,GAC3C,GAAKA,EAAL,CAGA,IAAI+B,EAAKC,OAAOC,iBAAiBjC,EAAI,MACjCkC,EAAKH,EAAGI,iBAAiB,sBACzBJ,EAAGI,iBAAiB,mBACpBJ,EAAGI,iBAAiB,kBACpBJ,EAAGI,iBAAiB,iBACpBJ,EAAGI,iBAAiB,cACpB,OACJ,MAAW,SAAPD,EACOA,EAAGE,MAAM,KAAK,GAAGA,MAAM,KAAK,GAAGA,MAAM,UADhD,CARA,CAYJ,EACAtE,EAAKhB,UAAUuF,mBAAqB,SAAUrC,GAC1C,IAAKA,EACD,OAAO,EAEX,IAAIsC,EAAS9G,KAAK6E,oBAAoBL,GACtC,OAAIsC,EACOpC,KAAKqC,MAAMrC,KAAKsC,MAAM/B,WAAW6B,EAAO,IAAK7B,WAAW6B,EAAO,MACjE,IAAMpC,KAAKuC,KAIb,CACX,EACA3E,EAAKhB,UAAU0C,kBAAoB,WAC/B,IAAIsB,EAAStF,KAAKyC,KACbqB,aAAa9D,KAAKyC,KAAKsB,OACvBmD,KAAK,aACLjE,QACDkE,EAAWnH,KAAKyC,KACfqB,aAAa9D,KAAKyC,KAAKsB,OACvBmD,KAAK,kBACLjE,QACAmE,MACLpH,KAAKsE,YAActE,KAAK6G,mBAAmBM,GAC3CnH,KAAKiG,WAAajG,KAAKqF,aAAaC,EAAO8B,MAAOpH,KAAKsE,YAAa,KACpEtE,KAAKqG,WAAarG,KAAKqF,aAAaC,EAAO8B,MAAOpH,KAAKsE,YAAa,KACpEtE,KAAKkG,cAAgBlG,KAAKyC,KAAKK,MAAMsE,MAAMC,wBAC3CrH,KAAKsH,UAAYtH,KAAKqE,YAAYrE,KAAKsE,YAAa,IAAK6C,GACzDnH,KAAKuH,UAAYvH,KAAKqE,YAAYrE,KAAKsE,YAAa,IAAK6C,EAC7D,EAOA7E,EAAKhB,UAAUkG,UAAY,SAAU7F,GAEjC,IAUI8F,EACAC,EAXAC,GAAW3H,KAAKkG,cAAcI,MAAQtG,KAAKqG,YAAc,EACzDrG,KAAKkG,cAAc0B,KACnBC,EAAK7H,KAAKyC,KAAKqF,uBAAwBC,EAAMF,EAAGE,IAAKC,EAASH,EAAGG,OACjEC,EAAmBvD,KAAKC,IAAIoD,EAAMC,GAAU,EAC5CE,GAAWlI,KAAKkG,cAAcC,OAC9BnG,KAAKiG,WACLgC,EAAmBjI,KAAKsH,WACxB,EACAtH,KAAKmI,UACLnI,KAAKkG,cAAc6B,IAGT,IAAVpG,IACA3B,KAAKoI,iBAAkB,GAE3B,IAAIC,EAAoBrI,KAAK+F,qBAAqBrB,KAAKC,IAAI3E,KAAKsE,aAAc3C,GAC1EqE,EAASqC,EAAkBrC,OAAQI,EAASiC,EAAkBjC,OAC9DpG,KAAKoI,kBACLX,EAAYzH,KAAK4H,MAAQ5H,KAAK2B,MAAQ,GACtC+F,EAAY1H,KAAK+H,KAAO/H,KAAK2B,MAAQ,GACrC3B,KAAK4F,MAAQlB,KAAKC,IAAI8C,GAAaE,EACnC3H,KAAK2F,MAAQjB,KAAKC,IAAI+C,GAAaQ,EACnClI,KAAKoI,iBAAkB,GAE3B,IAAIE,EAAqBtI,KAAKuI,0BAA0BvI,KAAKsE,YAAa3C,GAGtE6D,GAAK7D,EAAQ,IAFRgG,EAAU3H,KAAK4F,OAGpBL,GAAK5D,EAAQ,IAFRuG,EAAUlI,KAAK2F,OAGpBS,EACIpG,KAAKwI,qBAAqBhD,EAAG8C,EAAmBG,MAChDjD,EAAI8C,EAAmBG,KAElBzI,KAAK0I,sBAAsBlD,EAAG8C,EAAmBK,QACtDnD,EAAI8C,EAAmBK,MAIvBhH,EAAQ,IACJ6D,EAAI8C,EAAmBG,KACvBjD,EAAI8C,EAAmBG,KAElBjD,EAAI8C,EAAmBK,OAC5BnD,EAAI8C,EAAmBK,OAI/B3C,EACIhG,KAAK4I,oBAAoBrD,EAAG+C,EAAmBO,MAC/CtD,EAAI+C,EAAmBO,KAElB7I,KAAK8I,uBAAuBvD,EAAG+C,EAAmBS,QACvDxD,EAAI+C,EAAmBS,MAKvBpH,EAAQ,IAEJ4D,EAAI+C,EAAmBO,KACvBtD,EAAI+C,EAAmBO,KAElBtD,EAAI+C,EAAmBS,OAC5BxD,EAAI+C,EAAmBS,OAInC/I,KAAKgJ,cAAc,CACfxD,EAAGA,EACHD,EAAGA,EACH5D,MAAOA,GAEf,EAKAW,EAAKhB,UAAU0H,cAAgB,SAAUC,GACrC,IAAI3D,EAAStF,KAAKyC,KACbqB,aAAa9D,KAAKyC,KAAKsB,OACvBmD,KAAK,aACLjE,QACDiG,EAAclJ,KAAKyC,KAAKK,MACvBoE,KAAK,6BACLjE,QACDkG,EAAa7D,EAAO8D,SACxBpJ,KAAK2B,MAAQsH,EAAMtH,MACnB2D,EAAO+D,IAAI,YAAa,WAAaJ,EAAMtH,MAAQ,KAAOsH,EAAMtH,MAAQ,QACxEuH,EAAYG,IAAI,YAAa,WAAaJ,EAAMtH,MAAQ,KAAOsH,EAAMtH,MAAQ,QAC7E,IAAI2H,EAAY,eAAiBL,EAAMzD,EAAI,OAASyD,EAAM1D,EAAI,SAC9D4D,EAAWE,IAAI,YAAaC,GAC5BtJ,KAAK4H,KAAOqB,EAAMzD,EAClBxF,KAAK+H,IAAMkB,EAAM1D,CACrB,EAKAjD,EAAKhB,UAAUiI,cAAgB,SAAUxF,EAAOX,GAC5C,IAAIC,EAAQrD,KAEZ,GAAKA,KAAK6D,iBACN7D,KAAKyC,KAAKK,MAAMW,SAAS,0BAD7B,CAIA,IAAI9B,EAAQ3B,KAAKwJ,iCACbxJ,KAAKyC,KAAKK,MAAMW,SAAS,aACzBzD,KAAK2B,MAAQ,EAGb3B,KAAK2B,MAAQ3B,KAAKyJ,SAAS9H,GAE/B3B,KAAK0J,aAAatG,GAClBpD,KAAK2J,UAAU3J,KAAK2B,OACpB3B,KAAKwH,UAAUxH,KAAK2B,OACpBiC,YAAW,WACPP,EAAMZ,KAAKK,MAAMY,YAAY,eAAeX,SAAS,UACzD,GAAG,GAbH,CAcJ,EACAT,EAAKhB,UAAUsI,gBAAkB,SAAU7F,GACvC,IAAIuB,EAAStF,KAAKyC,KAAKqB,aAAaC,GAAOmD,KAAK,aAAajE,QACzD4G,EAAe7J,KAAKyC,KAAKqH,aAAa/F,GAAOuC,MACjD,OAAOuD,EACD5E,WAAW4E,GACXvE,EAAO8B,MAAMyC,YACvB,EACAvH,EAAKhB,UAAUyI,mBAAqB,SAAUF,EAAcvD,GAUxD,OAPIuD,EAAevD,EACNuD,EAAevD,GACN,EAGV,CAGhB,EACAhE,EAAKhB,UAAUkI,+BAAiC,WAC5C,IAIIlD,EAJStG,KAAKyC,KACbqB,aAAa9D,KAAKyC,KAAKsB,OACvBmD,KAAK,aACLjE,QACcmE,MAAM4C,YACrBH,EAAe7J,KAAK4J,gBAAgB5J,KAAKyC,KAAKsB,QAAUuC,EAC5D,OAAOtG,KAAK+J,mBAAmBF,EAAcvD,EACjD,EACAhE,EAAKhB,UAAU2I,aAAe,SAAU7G,GACpC,IAAI8G,EAAQ,CAAC,EACb,GAAI9G,EACA8G,EAAM1E,EAAIpC,EAAMwC,OAASxC,EAAM0C,cAAc,GAAGF,MAChDsE,EAAM3E,EAAInC,EAAMuC,OAASvC,EAAM0C,cAAc,GAAGH,UAE/C,CACD,IAAIO,EAAgBlG,KAAKyC,KAAKK,MAAMsE,MAAMC,wBAC1C6C,EAAM1E,EAAIU,EAAcI,MAAQ,EAAIJ,EAAc0B,KAClDsC,EAAM3E,EACFW,EAAcC,OAAS,EAAInG,KAAKmI,UAAYjC,EAAc6B,GAClE,CACA,OAAOmC,CACX,EACA5H,EAAKhB,UAAUoI,aAAe,SAAUtG,GACpC,IAAI+G,EAAYnK,KAAKiK,aAAa7G,GAClCpD,KAAK4F,MAAQuE,EAAU3E,EACvBxF,KAAK2F,MAAQwE,EAAU5E,CAC3B,EAEAjD,EAAKhB,UAAUqI,UAAY,SAAUhI,IACjC3B,KAAKyC,KAAKK,MAAMY,YAAY,4CACxB/B,EAAQ,IACR3B,KAAKyC,KAAKK,MAAMC,SAAS,aACP/C,KAAKyC,KAAK2H,eAAe,kBAEtC1G,YAAY1D,KAAK0C,SAASX,gBAAgBC,QAC1Ce,SAAS/C,KAAK0C,SAASX,gBAAgBE,UAG5CjC,KAAKqK,YAET,OAAO1I,EAAQ,CACnB,EACAW,EAAKhB,UAAUmI,SAAW,SAAU9H,GAChC,IAAI2I,EAAkBtK,KAAKwJ,iCAO3B,OANI7H,EAAQ,EACRA,EAAQ,EAEHA,EAAQ2I,IACb3I,EAAQ2I,GAEL3I,CACX,EACAW,EAAKhB,UAAUiJ,KAAO,WAClB,IAAIlH,EAAQrD,KACZ,GAAKA,KAAK0C,SAASd,KAAnB,CAGA5B,KAAK2C,iBACL3C,KAAKiE,4BACL,IAAIuG,EAAS,KACbxK,KAAKyC,KAAKK,MAAMqB,GAAG,eAAe,SAAUf,GACnCC,EAAMb,IAAIY,EAAMqH,QAAQhH,SAAS,aAGtCJ,EAAMkG,cAAclG,EAAMZ,KAAKsB,MAAOX,EAC1C,IACApD,KAAKyC,KAAKK,MAAMqB,GAAG,iBAAiB,SAAUf,GAC1C,IAAIsH,EAAUrH,EAAMb,IAAIY,EAAMqH,QACK,IAA/BrH,EAAM0C,cAAc1E,QACpBsJ,EAAQjH,SAAS,cACZ+G,GAMDG,aAAaH,GACbA,EAAS,KACTpH,EAAMwH,iBACNvH,EAAMkG,cAAclG,EAAMZ,KAAKsB,MAAOX,IARtCoH,EAAS5G,YAAW,WAChB4G,EAAS,IACb,GAAG,KASf,IAEAxK,KAAKyC,KAAKyB,KAAKC,GAAG9B,EAA2B,SAAWA,EAAuB,SAAWA,EAAsB,SAAWA,EAA0B,SAAWA,EAAwB,SAAS,WACxLgB,EAAMZ,KAAKoI,UAAaxH,EAAMQ,iBAEnCR,EAAMqG,eACNrG,EAAMW,oBACNX,EAAMmE,UAAUnE,EAAM1B,OAC1B,IAEA3B,KAAKwC,IAAIgE,QAAQrC,GAAG,wBAA0BnE,KAAKyC,KAAKqI,MAAM,WACrDzH,EAAMZ,KAAKoI,WAEhBxH,EAAM8E,UAAY9E,EAAMb,IAAIgE,QAAQ2B,YACxC,IACAnI,KAAKyC,KAAK2H,eAAe,eAAejG,GAAG,YAAY,WAC/Cd,EAAMZ,KAAKK,MAAMoE,KAAK,yBAAyBE,QAC/C/D,EAAM1B,OAAS0B,EAAMX,SAASf,MAC9B0B,EAAM1B,MAAQ0B,EAAMoG,SAASpG,EAAM1B,OACnC0B,EAAMsG,UAAUtG,EAAM1B,OACtB0B,EAAMmE,UAAUnE,EAAM1B,OAE9B,IACA3B,KAAKyC,KAAK2H,eAAe,cAAcjG,GAAG,YAAY,WAClDd,EAAMrB,QACV,IACAhC,KAAKyC,KAAK2H,eAAe,kBAAkBjG,GAAG,YAAY,WACtDd,EAAMkG,cAAclG,EAAMZ,KAAKsB,MACnC,IACA/D,KAAKyC,KAAKyB,KAAKC,GAAG9B,EAAsB,SAAS,WAC7CgB,EAAMZ,KAAKK,MAAMoE,KAAK,YAAYxD,YAAY,cAClD,IACA1D,KAAKyC,KAAKyB,KAAKC,GAAG9B,EAAqB,SAAS,WAC5CgB,EAAM8E,UAAY9E,EAAMb,IAAIgE,QAAQ2B,YAEpC9E,EAAMuC,MAAQvC,EAAMZ,KAAKK,MAAMwD,QAAU,EACzCjD,EAAMsC,MAAQtC,EAAMZ,KAAKK,MAAMqD,SAAW,EAAI9C,EAAM8E,UACpD9E,EAAM1B,MAAQ,CAClB,IAEA3B,KAAKyC,KAAKyB,KAAKC,GAAG9B,EAAsB,SAAS,SAAUe,GACvD,IAAI2H,EAAY3H,EAAMG,OAAOwH,UAC7B1H,EAAM1B,MAAQ,EACd0B,EAAM+E,iBAAkB,EACxB/E,EAAMgH,UAAUU,GACZ1H,EAAMQ,gBACNR,EAAMW,mBAEd,IAEAhE,KAAKgL,WACLhL,KAAKiL,YACLjL,KAAKkL,YAELlL,KAAK2D,iBAAkB,EACvB3D,KAAKoI,iBAAkB,CAjFvB,CAkFJ,EACA9F,EAAKhB,UAAUU,OAAS,SAAUL,GAEzB3B,KAAK6D,iBAGNlC,EACA3B,KAAK2B,MAAQA,EAGb3B,KAAK2B,OAAS3B,KAAK0C,SAASf,MAEhC3B,KAAK2B,MAAQ3B,KAAKyJ,SAASzJ,KAAK2B,OAChC3B,KAAK2J,UAAU3J,KAAK2B,OACpB3B,KAAKwH,UAAUxH,KAAK2B,OACxB,EAEAW,EAAKhB,UAAU+I,UAAY,SAAUtG,GACjC/D,KAAKyC,KAAKK,MAAMY,YAAY,qCAC5B,IAAIyH,EAAcnL,KAAKyC,KAAK2H,eAAe,kBACvCgB,EAAQpL,KAAKyC,KAAKqB,kBAAuBuH,IAAVtH,EAAsBA,EAAQ/D,KAAKyC,KAAKsB,OAC3EoH,EACKzH,YAAY1D,KAAK0C,SAASX,gBAAgBE,SAC1Cc,SAAS/C,KAAK0C,SAASX,gBAAgBC,QAC5CoJ,EAAMlE,KAAK,gBAAgBjE,QAAQqI,WAAW,SAC9CF,EAAMlE,KAAK,aAAajE,QAAQqI,WAAW,SAC3CtL,KAAK2B,MAAQ,EACb3B,KAAK4H,KAAO,EACZ5H,KAAK+H,IAAM,EAEX/H,KAAK0J,cACT,EACApH,EAAKhB,UAAUiK,iBAAmB,SAAU7F,GACxC,OAAOhB,KAAK8G,MAAM9F,EAAEI,cAAc,GAAGF,MAAQF,EAAEI,cAAc,GAAGF,QAC3DF,EAAEI,cAAc,GAAGF,MAAQF,EAAEI,cAAc,GAAGF,QAC9CF,EAAEI,cAAc,GAAGH,MAAQD,EAAEI,cAAc,GAAGH,QAC1CD,EAAEI,cAAc,GAAGH,MAAQD,EAAEI,cAAc,GAAGH,OAC3D,EACArD,EAAKhB,UAAU2J,UAAY,WACvB,IAAI5H,EAAQrD,KACRyL,EAAY,EACZC,GAAe,EACfC,EAAY,EACZP,EAAQpL,KAAKyC,KAAKqB,aAAa9D,KAAKyC,KAAKsB,OAC7C/D,KAAKyC,KAAKmJ,OAAOzH,GAAG,iBAAiB,SAAUuB,GAC3C0F,EAAQ/H,EAAMZ,KAAKqB,aAAaT,EAAMZ,KAAKsB,OACtCV,EAAMQ,iBAGoB,IAA3B6B,EAAEI,cAAc1E,QACfiC,EAAMZ,KAAKK,MAAMW,SAAS,4BAC1BJ,EAAMb,IAAIkD,EAAE+E,QAAQhH,SAAS,aAC1B2H,EAAMhE,MAAMyE,SAASnG,EAAE+E,UAC3BkB,EAAYtI,EAAM1B,OAAS,EAC3B0B,EAAMZ,KAAKK,MAAMY,YAAY,4CAC7BL,EAAMZ,KAAKqJ,YAAc,QACzBL,EAAYpI,EAAMkI,iBAAiB7F,IAE3C,IACA1F,KAAKyC,KAAKmJ,OAAOzH,GAAG,gBAAgB,SAAUuB,GAC1C,GAA+B,IAA3BA,EAAEI,cAAc1E,QACW,UAA3BiC,EAAMZ,KAAKqJ,cACVzI,EAAMb,IAAIkD,EAAE+E,QAAQhH,SAAS,YAC1B2H,EAAMhE,MAAMyE,SAASnG,EAAE+E,SAAU,CACrC/E,EAAEkF,iBACF,IAAImB,EAAU1I,EAAMkI,iBAAiB7F,GACjCsG,EAAWP,EAAYM,GACtBL,GAAgBhH,KAAKC,IAAIqH,GAAY,IACtCN,GAAe,GAEfA,IACArI,EAAM1B,MAAQ+C,KAAKuH,IAAI,EAAGN,EAAwB,MAAXK,GACvC3I,EAAMmE,UAAUnE,EAAM1B,OAE9B,CACJ,IACA3B,KAAKyC,KAAKmJ,OAAOzH,GAAG,eAAe,SAAUuB,GACV,UAA3BrC,EAAMZ,KAAKqJ,cACVzI,EAAMb,IAAIkD,EAAE+E,QAAQhH,SAAS,YAC1B2H,EAAMhE,MAAMyE,SAASnG,EAAE+E,WAC3BiB,GAAe,EACfD,EAAY,EACRpI,EAAM1B,OAAS,EACf0B,EAAMgH,aAGNhH,EAAM1B,MAAQ0B,EAAMoG,SAASpG,EAAM1B,OACnC0B,EAAMmE,UAAUnE,EAAM1B,OACtB0B,EAAMZ,KAAKK,MAAMC,SAAS,cAE9BM,EAAMZ,KAAKqJ,iBAAcT,EAEjC,GACJ,EACA/I,EAAKhB,UAAU4K,aAAe,SAAUC,EAAaC,EAAWhG,EAAQJ,EAAQqG,EAAe/H,GAC3F,IAAIgI,EAAeF,EAAU5G,EAAI2G,EAAY3G,EACzC+G,EAAeH,EAAU7G,EAAI4G,EAAY5G,EACzCiH,EAAS9H,KAAKC,IAAI2H,GAAgBD,EAAgB,EAClDI,EAAS/H,KAAKC,IAAI4H,GAAgBF,EAAgB,EAClDG,EAAS,IACTA,GAAU,GAEVC,EAAS,IACTA,GAAU,GAEdH,GAA8BE,EAC9BD,GAA8BE,EAC9B,IAAIC,EAAQ1M,KAAKyC,KACZqB,aAAa9D,KAAKyC,KAAKsB,OACvBmD,KAAK,gBACLjE,QACD+I,EAAW,CAAC,EAChBA,EAASxG,EAAIxF,KAAK4H,KAAO0E,EAAetM,KAAKsH,UAC7C0E,EAASzG,EAAIvF,KAAK+H,IAAMwE,EAAevM,KAAKuH,UAC5C,IAAIe,EAAqBtI,KAAKuI,0BAA0BjE,IACpDI,KAAKC,IAAI2H,GAAgB,IAAM5H,KAAKC,IAAI4H,GAAgB,MACpDvG,IACIhG,KAAK4I,oBAAoBoD,EAASzG,EAAG+C,EAAmBO,MACxDmD,EAASzG,EAAI+C,EAAmBO,KAE3B7I,KAAK8I,uBAAuBkD,EAASzG,EAAG+C,EAAmBS,QAChEiD,EAASzG,EAAI+C,EAAmBS,OAGpC3C,IACIpG,KAAKwI,qBAAqBwD,EAASxG,EAAG8C,EAAmBG,MACzDuD,EAASxG,EAAI8C,EAAmBG,KAE3BzI,KAAK0I,sBAAsBsD,EAASxG,EAAG8C,EAAmBK,QAC/DqD,EAASxG,EAAI8C,EAAmBK,OAGpC3C,EACAhG,KAAK+H,IAAMiE,EAASzG,EAGpByG,EAASzG,EAAIvF,KAAK+H,IAElB3B,EACApG,KAAK4H,KAAOoE,EAASxG,EAGrBwG,EAASxG,EAAIxF,KAAK4H,KAEtB5H,KAAK2M,mBAAmBD,EAAOV,GAC/BhM,KAAKoI,iBAAkB,EAE/B,EACA9F,EAAKhB,UAAUsL,kBAAoB,SAAUT,EAAaC,EAAWhG,EAAQJ,EAAQsC,GACjF,IAAI0D,EAAW,CAAC,EAChB,GAAIhG,GAGA,GAFAgG,EAASzG,EACLvF,KAAK+H,KAAOqE,EAAU7G,EAAI4G,EAAY5G,GAAKvF,KAAKuH,UAChDvH,KAAK4I,oBAAoBoD,EAASzG,EAAG+C,EAAmBO,MAAO,CAC/D,IAAIgE,EAAWvE,EAAmBO,KAAOmD,EAASzG,EAClDyG,EAASzG,EAAI+C,EAAmBO,KAAOgE,EAAW,CACtD,MACK,GAAI7M,KAAK8I,uBAAuBkD,EAASzG,EAAG+C,EAAmBS,MAAO,CACvE,IAAI+D,EAAWd,EAASzG,EAAI+C,EAAmBS,KAC/CiD,EAASzG,EAAI+C,EAAmBS,KAAO+D,EAAW,CACtD,OAGAd,EAASzG,EAAIvF,KAAK+H,IAEtB,GAAI3B,GAGA,GAFA4F,EAASxG,EACLxF,KAAK4H,MAAQwE,EAAU5G,EAAI2G,EAAY3G,GAAKxF,KAAKsH,UACjDtH,KAAKwI,qBAAqBwD,EAASxG,EAAG8C,EAAmBG,MAAO,CAChE,IAAIsE,EAAWzE,EAAmBG,KAAOuD,EAASxG,EAClDwG,EAASxG,EAAI8C,EAAmBG,KAAOsE,EAAW,CACtD,MACK,GAAI/M,KAAK0I,sBAAsBsD,EAASxG,EAAG8C,EAAmBK,MAAO,CACtE,IAAIqE,EAAUhB,EAASxG,EAAI8C,EAAmBK,KAC9CqD,EAASxG,EAAI8C,EAAmBK,KAAOqE,EAAU,CACrD,OAGAhB,EAASxG,EAAIxF,KAAK4H,KAEtB,OAAOoE,CACX,EACA1J,EAAKhB,UAAUkH,qBAAuB,SAAUhD,EAAGiD,GAC/C,OAAOjD,GAAKiD,CAChB,EACAnG,EAAKhB,UAAUoH,sBAAwB,SAAUlD,EAAGmD,GAChD,OAAOnD,GAAKmD,CAChB,EACArG,EAAKhB,UAAUsH,oBAAsB,SAAUrD,EAAGsD,GAC9C,OAAOtD,GAAKsD,CAChB,EACAvG,EAAKhB,UAAUwH,uBAAyB,SAAUvD,EAAGwD,GACjD,OAAOxD,GAAKwD,CAChB,EACAzG,EAAKhB,UAAUuC,aAAe,WAC1B,IAAIoJ,EAAcjN,KAAKyC,KAAKqH,aAAa9J,KAAKyC,KAAKsB,OACnD,MAA+C,UAAxC/D,KAAKyC,KAAKyK,aAAaD,EAClC,EACA3K,EAAKhB,UAAUiH,0BAA4B,SAAUjE,EAAa3C,GAC9D,IAAIwL,EAAYxL,GAAS3B,KAAK2B,OAAS,EACnCyL,EAAc1I,KAAKC,IAAIwI,GACvBtF,EAAK7H,KAAKyC,KAAKqF,uBAAwBC,EAAMF,EAAGE,IAAKC,EAASH,EAAGG,OACjEC,EAAmBvD,KAAKC,IAAIoD,EAAMC,GAAU,EAC5Ca,GAAQ7I,KAAKiG,WAAajG,KAAKkG,cAAcC,QAAU,EACvD8B,EAAmBjI,KAAKsH,UACxByB,EAAO/I,KAAKkG,cAAcC,OAASnG,KAAKiG,WAAamH,EAAcvE,EACnEJ,GAAQzI,KAAKqG,WAAarG,KAAKkG,cAAcI,OAAS,EACtDqC,EAAO3I,KAAKkG,cAAcI,MAAQtG,KAAKqG,WAAa+G,EAAc3E,EAClEH,EAAqB,CACrBO,KAAMA,EACNE,KAAMA,EACNN,KAAMA,EACNE,KAAMA,GAUV,OAR8B,KAA1BjE,KAAKC,IAAIL,KACTgE,EAAqB,CACjBO,KAAMJ,EACNM,KAAMJ,EACNF,KAAMI,EACNF,KAAMI,IAGPT,CACX,EACAhG,EAAKhB,UAAUqL,mBAAqB,SAAUzI,EAAM8H,GAChD9H,EAAKmF,IAAI,YAAa,eAAiB2C,EAASxG,EAAI,OAASwG,EAASzG,EAAI,SAC9E,EACAjD,EAAKhB,UAAU4J,UAAY,WACvB,IAUI5C,EACAoE,EAXArJ,EAAQrD,KACRmM,EAAc,CAAC,EACfC,EAAY,CAAC,EACbiB,GAAU,EAEVjH,GAAS,EAETJ,GAAS,EACTsH,EAAY,IAAIC,KAIhBnC,GAHU,IAAImC,KAGNvN,KAAKyC,KAAKqB,aAAa9D,KAAKyC,KAAKsB,QAC7C/D,KAAKyC,KAAKmJ,OAAOzH,GAAG,iBAAiB,SAAUuB,GAE3C,GAAKrC,EAAMQ,iBAGXuH,EAAQ/H,EAAMZ,KAAKqB,aAAaT,EAAMZ,KAAKsB,QACtCV,EAAMb,IAAIkD,EAAE+E,QAAQhH,SAAS,YAC9B2H,EAAMhE,MAAMyE,SAASnG,EAAE+E,UACI,IAA3B/E,EAAEI,cAAc1E,QAChBiC,EAAMZ,KAAKK,MAAMW,SAAS,cAAc,CACxCiC,EAAEkF,iBACF0C,EAAY,IAAIC,KAChBlK,EAAMZ,KAAKqJ,YAAc,YACzBY,EAAQrJ,EAAMZ,KACTqB,aAAaT,EAAMZ,KAAKsB,OACxBmD,KAAK,gBACLjE,QACL,IAAIoF,EAAoBhF,EAAM0C,qBAAqBrB,KAAKC,IAAItB,EAAMiB,cAClE0B,EAASqC,EAAkBrC,SAC3BI,EAASiC,EAAkBjC,SACbJ,KACVmG,EAAc9I,EAAMwC,cAAcH,EAAGhB,KAAKC,IAAItB,EAAMiB,eAExDgE,EAAqBjF,EAAMkF,0BAA0BlF,EAAMiB,aAE3DjB,EAAMZ,KAAKK,MAAMC,SAAS,2CAC9B,CACJ,IACA/C,KAAKyC,KAAKmJ,OAAOzH,GAAG,gBAAgB,SAAUuB,GAC1C,GAA+B,IAA3BA,EAAEI,cAAc1E,QACW,cAA3BiC,EAAMZ,KAAKqJ,cACVzI,EAAMb,IAAIkD,EAAE+E,QAAQhH,SAAS,YAC1B2H,EAAMhE,MAAMyE,SAASnG,EAAE+E,SAAU,CACrC/E,EAAEkF,iBACFvH,EAAMZ,KAAKqJ,YAAc,YACzBM,EAAY/I,EAAMwC,cAAcH,EAAGhB,KAAKC,IAAItB,EAAMiB,cAClD,IAAI0H,EAAW3I,EAAMuJ,kBAAkBT,EAAaC,EAAWhG,EAAQJ,EAAQsC,IAC3E5D,KAAKC,IAAIyH,EAAU5G,EAAI2G,EAAY3G,GAAK,IACxCd,KAAKC,IAAIyH,EAAU7G,EAAI4G,EAAY5G,GAAK,MACxC8H,GAAU,EACVhK,EAAMsJ,mBAAmBD,EAAOV,GAExC,CACJ,IACAhM,KAAKyC,KAAKmJ,OAAOzH,GAAG,eAAe,SAAUuB,GACzC,GAA+B,cAA3BrC,EAAMZ,KAAKqJ,cACVzI,EAAMb,IAAIkD,EAAE+E,QAAQhH,SAAS,YAC1B2H,EAAMhE,MAAMyE,SAASnG,EAAE+E,SAAU,CAGrC,GAFApH,EAAMZ,KAAKqJ,iBAAcT,EACzBhI,EAAMZ,KAAKK,MAAMY,YAAY,qBACxB2J,EACD,OAEJA,GAAU,EAEV,IAAIhB,GADM,IAAIkB,MACcC,UAAYF,EAAUE,UAClDnK,EAAM6I,aAAaC,EAAaC,EAAWhG,EAAQJ,EAAQqG,EAAehJ,EAAMiB,YACpF,CACJ,GACJ,EACAhC,EAAKhB,UAAU0J,SAAW,WACtB,IASIsC,EACAG,EACAnF,EACAoE,EAZArJ,EAAQrD,KACRmM,EAAc,CAAC,EACfC,EAAY,CAAC,EACbsB,GAAa,EACbL,GAAU,EAEVjH,GAAS,EAETJ,GAAS,EAKbhG,KAAKyC,KAAKK,MAAMqB,GAAG,qBAAqB,SAAUuB,GAE9C,GAAKrC,EAAMQ,eAAX,CAGA,IAAIuH,EAAQ/H,EAAMZ,KAAKqB,aAAaT,EAAMZ,KAAKsB,OAC/C,GAAIV,EAAMb,IAAIkD,EAAE+E,QAAQhH,SAAS,YAC7B2H,EAAMhE,MAAMyE,SAASnG,EAAE+E,QAAS,CAChC6C,EAAY,IAAIC,KAChBb,EAAQrJ,EAAMZ,KACTqB,aAAaT,EAAMZ,KAAKsB,OACxBmD,KAAK,gBACLjE,QACL,IAAIoF,EAAoBhF,EAAM0C,qBAAqBrB,KAAKC,IAAItB,EAAMiB,cAClE0B,EAASqC,EAAkBrC,OAC3BI,EAASiC,EAAkBjC,OACvB/C,EAAMZ,KAAKK,MAAMW,SAAS,cACtBJ,EAAMb,IAAIkD,EAAE+E,QAAQhH,SAAS,eAC5B2C,GAAUJ,KACXN,EAAEkF,iBACFuB,EAAc9I,EAAMoC,aAAaC,EAAGhB,KAAKC,IAAItB,EAAMiB,cACnDgE,EAAqBjF,EAAMkF,0BAA0BlF,EAAMiB,aAC3DoJ,GAAa,EAEbrK,EAAMZ,KAAKK,MAAMsE,MAAMuG,YAAc,EACrCtK,EAAMZ,KAAKK,MAAMsE,MAAMuG,YAAc,EACrCtK,EAAMZ,KAAKK,MACNY,YAAY,WACZX,SAAS,wDAI1B,CA5BA,CA6BJ,IACA/C,KAAKwC,IAAIgE,QAAQrC,GAAG,2BAA6BnE,KAAKyC,KAAKqI,MAAM,SAAUpF,GACvE,GAAIgI,EAAY,CACZL,GAAU,EACVjB,EAAY/I,EAAMoC,aAAaC,EAAGhB,KAAKC,IAAItB,EAAMiB,cACjD,IAAI0H,EAAW3I,EAAMuJ,kBAAkBT,EAAaC,EAAWhG,EAAQJ,EAAQsC,GAC/EjF,EAAMsJ,mBAAmBD,EAAOV,EACpC,CACJ,IACAhM,KAAKwC,IAAIgE,QAAQrC,GAAG,yBAA2BnE,KAAKyC,KAAKqI,MAAM,SAAUpF,GACrE,GAAIgI,EAAY,CAKZ,GAJAD,EAAU,IAAIF,KACdG,GAAa,EACbrK,EAAMZ,KAAKK,MAAMY,YAAY,oBAEzB2J,IACClB,EAAY3G,IAAM4G,EAAU5G,GACzB2G,EAAY5G,IAAM6G,EAAU7G,GAAI,CACpC6G,EAAY/I,EAAMoC,aAAaC,EAAGhB,KAAKC,IAAItB,EAAMiB,cACjD,IAAI+H,EAAgBoB,EAAQD,UAAYF,EAAUE,UAClDnK,EAAM6I,aAAaC,EAAaC,EAAWhG,EAAQJ,EAAQqG,EAAehJ,EAAMiB,YACpF,CACA+I,GAAU,CACd,CACAhK,EAAMZ,KAAKK,MAAMY,YAAY,eAAeX,SAAS,UACzD,GACJ,EACAT,EAAKhB,UAAUsM,aAAe,WAC1B5N,KAAKqK,WACT,EACA/H,EAAKhB,UAAUuM,QAAU,WAErB7N,KAAKwC,IAAIgE,QAAQsH,IAAI,kBAAoB9N,KAAKyC,KAAKqI,MACnD9K,KAAKyC,KAAKyB,KAAK4J,IAAI,YACnB9N,KAAKyC,KAAKyB,KAAK4J,IAAI,SACnBnD,aAAa3K,KAAK2D,iBAClB3D,KAAK2D,iBAAkB,CAC3B,EACOrB,CACX,CA92ByB,GC9DzB,IAAI,EAAW,WAQX,OAPA,EAAWzB,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,CACX,EACO,EAASU,MAAMzB,KAAMmB,UAChC,EAEI4M,EAAqB,CACrBC,WAAW,EACXC,cAAc,EACdC,qBAAsB,SACtBC,gBAAiB,SACjBC,WAAY,IACZC,YAAa,OACbC,YAAa,EACbC,mBAAoB,iBACpBC,aAAa,EACbC,iBAAiB,EACjBC,kBAAkB,EAClBC,wBAAyB,GACzBC,sBAAsB,EACtBC,iBAAkB,EAClBC,uBAAwB,CACpBC,iBAAkB,sBAStB,EAIiB,oBAJjB,EAKc,iBALd,EAOY,eAPZ,EAUa,gBA6ZjB,QA1Y+B,WAC3B,SAASC,EAAUzM,EAAUC,GAQzB,OAPAxC,KAAKiP,gBAAkB,EACvBjP,KAAKkP,gBAAkB,EACvBlP,KAAKmP,WAAa,EAClBnP,KAAKoP,gBAAiB,EAEtBpP,KAAKyC,KAAOF,EACZvC,KAAKwC,IAAMA,EACJxC,IACX,CA6XA,OA5XAgP,EAAU1N,UAAUiJ,KAAO,WAEvBvK,KAAK0C,SAAW,EAAS,EAAS,CAAC,EAAGqL,GAAqB/N,KAAKyC,KAAKC,UACrE1C,KAAKiP,gBAAkB,EACvBjP,KAAKkP,gBACDlP,KAAKyC,KAAKqH,aAAa1I,QAClBpB,KAAK0C,SAAS0L,WAAapO,KAAK0C,SAAS4L,aAElDtO,KAAKmP,WAAa,EAClBnP,KAAKqP,wBACArP,KAAKyC,KAAKC,SAAS4M,oBACpBtP,KAAK0C,SAAS8L,aAAc,GAE5BxO,KAAK0C,SAASsL,YACdhO,KAAKuP,QACDvP,KAAK0C,SAASuL,cACVjO,KAAK0C,SAAS+L,iBACdzO,KAAKyO,kBAELzO,KAAK0C,SAASgM,kBACd1O,KAAK0O,mBAET1O,KAAKoP,gBAAiB,GAGtBpP,KAAKoP,gBAAiB,EAE1BpP,KAAKwP,iBACLxP,KAAKyP,gBAEb,EACAT,EAAU1N,UAAUiO,MAAQ,WACxB,IAAIlM,EAAQrD,KACZA,KAAK0P,iBACL1P,KAAK2P,iCACL3P,KAAK4P,SAAS3M,QAAQkB,GAAG,wBAAwB,SAAUuB,GACvD,IAAIgF,EAAUrH,EAAMb,IAAIkD,EAAE+E,QACrBC,EAAQmF,aAAa,oBAG1BjM,YAAW,WAGP,GAAIP,EAAM+L,iBAAmB/L,EAAMZ,KAAKqN,OAAQ,CAC5C,IAAI/L,EAAQgM,SAASrF,EAAQsF,KAAK,oBAClC3M,EAAMZ,KAAKwN,MAAMlM,GAAO,GAAO,GAAM,EACzC,CACJ,GAAG,GACP,IACA/D,KAAKyC,KAAKyB,KAAKC,GAAG,EAAuB,UAAU,SAAUf,GACzD,IAAIW,EAAQX,EAAMG,OAAOQ,MACzBV,EAAM4K,aAAalK,EACvB,IACA/D,KAAKyC,KAAKyB,KAAKC,GAAG,EAAsB,UAAU,WAC9Cd,EAAM4L,gBAAkB5L,EAAMZ,KAAKK,MAAMsE,MAAM4C,WACnD,IACAhK,KAAKyC,KAAKyB,KAAKC,GAAG,EAAwB,UAAU,WAChDd,EAAM6M,mBACV,IACAlQ,KAAKyC,KAAKyB,KAAKC,GAAG,EAA2B,UAAU,WAC9Cd,EAAMZ,KAAKoI,UAEhBjH,YAAW,WACPP,EAAM4L,gBAAkB5L,EAAMZ,KAAKK,MAAMsE,MAAM4C,YAC/C3G,EAAM4K,aAAa5K,EAAMZ,KAAKsB,OAC9BV,EAAM4L,gBAAkB5L,EAAMZ,KAAKK,MAAMsE,MAAM4C,WACnD,GAAG,GACP,GACJ,EACAgF,EAAU1N,UAAUoO,eAAiB,WACjC,IAAIS,EAAuB,kBACvBnQ,KAAK0C,SAASyL,kBACdgC,GAAwB,kBAAoBnQ,KAAK0C,SAASyL,iBAE9D,IAAIiC,EAAO,eAAkBD,EAAuB,8EACpDnQ,KAAKyC,KAAKK,MAAMC,SAAS,gBACgB,mBAArC/C,KAAK0C,SAAS6L,mBACdvO,KAAKyC,KAAK4N,cAAcnN,OAAOkN,GAG/BpQ,KAAKyC,KAAKK,MAAMI,OAAOkN,GAE3BpQ,KAAKsQ,YAActQ,KAAKyC,KAAKK,MAAMoE,KAAK,mBAAmBjE,QAC3DjD,KAAK4P,SAAW5P,KAAKyC,KAAKK,MAAMoE,KAAK,aAAajE,QAC9CjD,KAAK0C,SAASuL,cACdjO,KAAKyC,KAAKK,MACLoE,KAAK,aACLmC,IAAI,sBAAuBrJ,KAAKyC,KAAKC,SAAS6N,MAAQ,MACtDlH,IAAI,QAASrJ,KAAKkP,gBAAkB,MACpC7F,IAAI,WAAY,YAEzBrJ,KAAKwQ,iBAAiBxQ,KAAKyC,KAAKqH,aACpC,EACAkF,EAAU1N,UAAUmN,gBAAkB,WAClC,IAAIpL,EAAQrD,KACRyQ,EAAiB,CACjBvG,MAAO,CACHwG,OAAQ,EACRC,KAAM,GAEVtD,SAAS,EACTuD,cAAe,EACftD,UAAW,IAAIC,KACfE,QAAS,IAAIF,KACbsD,cAAe,GAEfnD,GAAa,EACjB1N,KAAKsQ,YAAYvN,SAAS,WAC1B/C,KAAKyC,KAAKK,MACLoE,KAAK,aACLjE,QACAkB,GAAG,sBAAsB,SAAUuB,GAChCrC,EAAM6L,gBAAkB7L,EAAM4L,kBAE9BvJ,EAAEkF,iBACF6F,EAAevG,MAAMwG,OAAShL,EAAEE,MAChC6K,EAAenD,UAAY,IAAIC,KAC/BlK,EAAM+L,gBAAiB,EACvB1B,GAAa,EAEbrK,EAAMZ,KAAKK,MAAMsE,MAAMuG,YAAc,EACrCtK,EAAMZ,KAAKK,MAAMsE,MAAMuG,YAAc,EAErCtK,EAAMiN,YACD5M,YAAY,WACZX,SAAS,eAEtB,IACA/C,KAAKwC,IAAIgE,QAAQrC,GAAG,4BAA8BnE,KAAKyC,KAAKqI,MAAM,SAAUpF,GACnErC,EAAMZ,KAAKoI,UAEZ6C,IACA+C,EAAevG,MAAMyG,KAAOjL,EAAEE,MAC9B6K,EAAiBpN,EAAMyN,iBAAiBL,GAEhD,IACAzQ,KAAKwC,IAAIgE,QAAQrC,GAAG,0BAA4BnE,KAAKyC,KAAKqI,MAAM,WACvDzH,EAAMZ,KAAKoI,WAEZ4F,EAAepD,QACfoD,EAAiBpN,EAAM0N,gBAAgBN,GAGvCpN,EAAM+L,gBAAiB,EAEvB1B,IACAA,GAAa,EACbrK,EAAMiN,YAAY5M,YAAY,eAAeX,SAAS,YAE9D,GACJ,EACAiM,EAAU1N,UAAUoN,iBAAmB,WACnC,IAAIrL,EAAQrD,KACRyQ,EAAiB,CACjBvG,MAAO,CACHwG,OAAQ,EACRC,KAAM,GAEVtD,SAAS,EACTuD,cAAe,EACftD,UAAW,IAAIC,KACfE,QAAS,IAAIF,KACbsD,cAAe,GAEnB7Q,KAAK4P,SAASzL,GAAG,iBAAiB,SAAUuB,GACpCrC,EAAM6L,gBAAkB7L,EAAM4L,kBAC9BvJ,EAAEkF,iBACF6F,EAAevG,MAAMwG,OAAShL,EAAEI,cAAc,GAAGF,MACjDvC,EAAM+L,gBAAiB,EACvBqB,EAAenD,UAAY,IAAIC,KAEvC,IACAvN,KAAK4P,SAASzL,GAAG,gBAAgB,SAAUuB,GACnCrC,EAAM6L,gBAAkB7L,EAAM4L,kBAC9BvJ,EAAEkF,iBACF6F,EAAevG,MAAMyG,KAAOjL,EAAEI,cAAc,GAAGF,MAC/C6K,EAAiBpN,EAAMyN,iBAAiBL,GAEhD,IACAzQ,KAAK4P,SAASzL,GAAG,eAAe,WACxBsM,EAAepD,QACfoD,EAAiBpN,EAAM0N,gBAAgBN,GAGvCpN,EAAM+L,gBAAiB,CAE/B,GACJ,EAEAJ,EAAU1N,UAAU4O,kBAAoB,WACpC,IAAI7M,EAAQrD,KAEZA,KAAKsQ,YAAYvN,SAAS,4BAC1Ba,YAAW,WACPP,EAAM6L,gBACF7L,EAAMZ,KAAKqH,aAAa1I,QACnBiC,EAAMX,SAAS0L,WAAa/K,EAAMX,SAAS4L,aACpDjL,EAAMuM,SAASvG,IAAI,QAAShG,EAAM6L,gBAAkB,MACpD7L,EAAMuM,SAASoB,QACf3N,EAAMmN,iBAAiBnN,EAAMZ,KAAKqH,cAClCzG,EAAM4K,aAAa5K,EAAMZ,KAAKsB,MAClC,GAAG,IACHH,YAAW,WACPP,EAAMiN,YAAY5M,YAAY,2BAClC,GAAG,IACP,EAEAsL,EAAU1N,UAAU2P,aAAe,SAAUC,GACzClR,KAAK4P,SAASvG,IAAI,YAAa,gBAAkB6H,EAAQ,gBAC7D,EACAlC,EAAU1N,UAAU6P,sBAAwB,SAAUvJ,GAOlD,OANIA,EAAO5H,KAAKkP,gBAAkBlP,KAAKiP,kBACnCrH,EAAO5H,KAAKkP,gBAAkBlP,KAAKiP,iBAEnCrH,EAAO,IACPA,EAAO,GAEJA,CACX,EACAoH,EAAU1N,UAAU2M,aAAe,SAAUlK,GAEzC,GADA/D,KAAK4P,SAASvG,IAAI,sBAAuBrJ,KAAKyC,KAAKC,SAAS6N,MAAQ,MAChEvQ,KAAK0C,SAASuL,aAAc,CAC5B,IAAImD,EAAW,EACf,OAAQpR,KAAK0C,SAASwL,sBAClB,IAAK,OACDkD,EAAW,EACX,MACJ,IAAK,SACDA,EACIpR,KAAKiP,gBAAkB,EAAIjP,KAAK0C,SAAS0L,WAAa,EAC1D,MACJ,IAAK,QACDgD,EAAWpR,KAAKiP,gBAAkBjP,KAAK0C,SAAS0L,WAExDpO,KAAKmP,YACAnP,KAAK0C,SAAS0L,WAAapO,KAAK0C,SAAS4L,aAAevK,EACrD,EACAqN,EACJpR,KAAKmP,WAAanP,KAAKkP,gBAAkBlP,KAAKiP,kBAC9CjP,KAAKmP,WAAanP,KAAKkP,gBAAkBlP,KAAKiP,iBAE9CjP,KAAKmP,WAAa,IAClBnP,KAAKmP,WAAa,GAEtBnP,KAAKiR,aAAajR,KAAKmP,WAC3B,CACJ,EACAH,EAAU1N,UAAUwP,iBAAmB,SAAUL,GAU7C,OATAA,EAAeG,cAAgB5Q,KAAKmP,WACpCsB,EAAepD,SAAU,EACzBoD,EAAeI,eAAgB,IAAItD,MAAOC,UAC1CiD,EAAeG,eACXH,EAAevG,MAAMyG,KAAOF,EAAevG,MAAMwG,OACrDD,EAAeG,cAAgB5Q,KAAKmR,sBAAsBV,EAAeG,eAEzE5Q,KAAKiR,aAAaR,EAAeG,eACjC5Q,KAAKsQ,YAAYvN,SAAS,eACnB0N,CACX,EACAzB,EAAU1N,UAAUyP,gBAAkB,SAAUN,GAC5CA,EAAepD,SAAU,EACzBoD,EAAehD,QAAU,IAAIF,KAC7BvN,KAAKsQ,YAAY5M,YAAY,eAC7B,IAAI2I,EAAgBoE,EAAehD,QAAQD,UACvCiD,EAAenD,UAAUE,UACzBlB,EAAemE,EAAevG,MAAMyG,KAAOF,EAAevG,MAAMwG,OAChElE,EAAS9H,KAAKC,IAAI2H,GAAgBD,EAwBtC,OArBIG,EAAS,KACTiE,EAAehD,QAAQD,UAAYiD,EAAeI,cAAgB,KAClErE,GAAU,GACG,IACTA,GAAU,GAEdA,GAEQA,GAAU9H,KAAKC,IAAI2H,GAAgBtM,KAAKiP,iBAChDjP,KAAK4P,SAASvG,IAAI,sBAAuB3E,KAAK2M,IAAI7E,EAAS,EAAG,GAAK,YACnEF,GAA8BE,EAC9BxM,KAAKmP,WAAanP,KAAKmR,sBAAsBnR,KAAKmP,WAAa7C,GAC/DtM,KAAKiR,aAAajR,KAAKmP,aAGvBnP,KAAKmP,WAAasB,EAAeG,cAEjClM,KAAKC,IAAI8L,EAAevG,MAAMyG,KAAOF,EAAevG,MAAMwG,QAC1D1Q,KAAK0C,SAASiM,0BACd3O,KAAKoP,gBAAiB,GAEnBqB,CACX,EACAzB,EAAU1N,UAAUgQ,aAAe,SAAUC,EAAOxN,GAChD,IACIyN,EADAC,EAAiBzR,KAAKyC,KAAKqH,aAAa/F,GAAO2N,kBAAoB,CAAC,EAkBxE,OAdQF,EAFJC,EAAeE,SACX3R,KAAK0C,SAASkM,qBAEV,wBACI6C,EAAeE,QAAQ,GACvB,IACA3R,KAAK0C,SAASmM,iBACd,OAOD0C,EAER,yBAA4BxN,EAAQ,2BAA+BA,IAAU/D,KAAKyC,KAAKsB,MAAQ,UAAY,IAAM,4BAAgC/D,KAAK0C,SAAS0L,WAAa,eAAiBpO,KAAK0C,SAAS2L,YAAc,gCAAkCrO,KAAK0C,SAAS4L,YAAc,4CAAgDvK,EAAQ,UAAcyN,EAAW,sBACnX,EACAxC,EAAU1N,UAAUsQ,iBAAmB,SAAUC,GAE7C,IADA,IAAIC,EAAY,GACP7Q,EAAI,EAAGA,EAAI4Q,EAAMzQ,OAAQH,IAC9B6Q,GAAa9R,KAAKsR,aAAaO,EAAM5Q,GAAGsQ,MAAOtQ,GAEnD,OAAO6Q,CACX,EACA9C,EAAU1N,UAAUkP,iBAAmB,SAAUqB,GAC7C,IAAIC,EAAY9R,KAAK4R,iBAAiBC,GACtC7R,KAAK4P,SAASQ,KAAK0B,EACvB,EACA9C,EAAU1N,UAAU+N,sBAAwB,WACpCrP,KAAK0C,SAASuL,cACdjO,KAAKyC,KAAKK,MAAMC,SAAS,mBAEjC,EAEAiM,EAAU1N,UAAUqO,+BAAiC,WACjD,IAAItM,EAAQrD,KAEZA,KAAKyC,KAAKyB,KAAKC,GAAG,EAAuB,UAAU,SAAUf,GACzD,IAAI2O,EAAS1O,EAAMZ,KAAKK,MAAMoE,KAAK,kBAC/BnD,EAAQX,EAAMG,OAAOQ,MACzBgO,EAAOrO,YAAY,UACnBqO,EAAOC,GAAGjO,GAAOhB,SAAS,SAC9B,GACJ,EAEAiM,EAAU1N,UAAUkO,eAAiB,WACjC,IAAInM,EAAQrD,KACRA,KAAK0C,SAAS8L,cACdxO,KAAKyC,KAAKK,MAAMC,SAAS,iBACzB/C,KAAKyC,KAAKO,SAASE,OAAO,qCACtBlD,KAAK0C,SAASoM,uBAAyC,iBACvD,+CACJ9O,KAAKyC,KAAKK,MACLoE,KAAK,oBACLjE,QACAkB,GAAG,YAAY,WAChBd,EAAMZ,KAAKK,MAAMmP,YAAY,qBACjC,IAER,EACAjD,EAAU1N,UAAUmO,cAAgB,WAChC,IAAIpM,EAAQrD,KACZA,KAAKwC,IAAIgE,QAAQrC,GAAG,0BAA4BnE,KAAKyC,KAAKqI,MAAM,SAAUpF,GACjErC,EAAMZ,KAAKoI,UAAaxH,EAAMX,SAAS8L,cAE1B,KAAd9I,EAAEwM,SACFxM,EAAEkF,iBACFvH,EAAMZ,KAAKK,MAAMC,SAAS,uBAEP,KAAd2C,EAAEwM,UACPxM,EAAEkF,iBACFvH,EAAMZ,KAAKK,MAAMY,YAAY,uBAErC,GACJ,EACAsL,EAAU1N,UAAUuM,QAAU,WACtB7N,KAAK0C,SAASsL,YACdhO,KAAKwC,IAAIgE,QAAQsH,IAAI,mBAAqB9N,KAAKyC,KAAKqI,MACpD9K,KAAKyC,KAAKyB,KAAK4J,IAAI,aACnB9N,KAAKyC,KAAKyB,KAAK4J,IAAI,UACnB9N,KAAKsQ,YAAY6B,SACjBnS,KAAKyC,KAAKK,MAAMY,YAAY,gBAEpC,EACOsL,CACX,CAxY8B,GCjE9B,IAAI,EAAW,WAQX,OAPA,EAAWnO,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,CACX,EACO,EAASU,MAAMzB,KAAMmB,UAChC,EAEIiR,EAAgB,CAChBC,oBAAoB,EACpBC,qBAAqB,EACrBC,mBAAmB,EACnBC,oBAAoB,EACpBC,yBAAyB,EACzBC,sBAAsB,EACtBC,SAAS,EACTC,aAAc,GACdC,eAAgB,CAAC,GAQjB,EAGU,aAHV,EASe,kBATf,EAUa,gBAVb,EAWY,eAXZ,EAYa,gBAiBbC,EAAQ,SAAUC,GAClB,OAAOlS,OAAOmS,KAAKD,GACdE,KAAI,SAAUC,GACf,OAAOC,mBAAmBD,GAAK,IAAMC,mBAAmBJ,EAAIG,GAChE,IACKE,KAAK,IACd,EAmaA,QAnX2B,WACvB,SAASC,EAAM9Q,GAIX,OAFAvC,KAAKyC,KAAOF,EACZvC,KAAK0C,SAAW,EAAS,EAAS,CAAC,EAAG0P,GAAgBpS,KAAKyC,KAAKC,UACzD1C,IACX,CA0WA,OAzWAqT,EAAM/R,UAAUiJ,KAAO,WACnB,IAAIlH,EAAQrD,KAMZA,KAAKyC,KAAKyB,KAAKC,GAAG,EAAoB,SAAUnE,KAAKsT,WAAWlP,KAAKpE,OACrEA,KAAKyC,KAAKyB,KAAKC,GAAG,EAAuB,UAAU,WAC/C,IAAIoP,EAAMlQ,EAAMZ,KAAKqB,aAAaT,EAAMZ,KAAKsB,OAC7CV,EAAMmQ,uBAAuBD,EACjC,IACAvT,KAAKyC,KAAKyB,KAAKC,GAAG,EAAyB,SAAUnE,KAAKyT,gBAAgBrP,KAAKpE,OAE/EA,KAAKyC,KAAKyB,KAAKC,GAAG,EAAuB,SAAUnE,KAAK0T,cAActP,KAAKpE,OAE3EA,KAAKyC,KAAKyB,KAAKC,GAAG,EAAsB,SAAUnE,KAAK2T,aAAavP,KAAKpE,MAC7E,EAMAqT,EAAM/R,UAAUmS,gBAAkB,SAAUrQ,GACxC,IAAIC,EAAQrD,KACR6H,EAAKzE,EAAMG,OAAQqQ,EAAe/L,EAAG+L,aAAc7P,EAAQ8D,EAAG9D,MAE9D/D,KAAK0C,SAAS2P,oBACduB,GACA7P,IAAU/D,KAAKyC,KAAKsB,OAEpBH,YAAW,WACPP,EAAMwQ,iBAAiB9P,EAC3B,GAAG,MAGF6P,GACD5T,KAAK0C,SAASgQ,sBACd3O,IAAU/D,KAAKyC,KAAKsB,OACpB/D,KAAK6T,iBAAiB9P,EAE9B,EAQAsP,EAAM/R,UAAUgS,WAAa,SAAUlQ,GACnC,IAAIyE,EAAKzE,EAAMG,OAAQQ,EAAQ8D,EAAG9D,MAAO+P,EAAMjM,EAAGiM,IAAKC,EAAalM,EAAGkM,WAAwBlM,EAAGmM,YAG9FhU,KAAKiU,aAAajU,KAAKyC,KAAKqB,aAAaC,GAAQ,CAC7C+P,IAAKA,EACL/Q,SAAU,YACVgB,MAAOA,EACPgQ,WAAYA,IAGhB/T,KAAKyS,wBAAwBqB,EAAK/P,GAE1C,EAUAsP,EAAM/R,UAAUoS,cAAgB,SAAUtQ,GACtC,GAAIpD,KAAKyC,KAAKyR,WAAY,CACtB,IAAInJ,EAAY3H,EAAMG,OAAOwH,UAC7B/K,KAAKmU,WAAWpJ,EACpB,CACJ,EAUAsI,EAAM/R,UAAUqS,aAAe,SAAUvQ,GACrC,IAAIC,EAAQrD,KACR6H,EAAKzE,EAAMG,OAAQQ,EAAQ8D,EAAG9D,MAAOgH,EAAYlD,EAAGkD,UAEpDqJ,EAASpU,KAAKyC,KAAKqB,aAAaC,GAChC/D,KAAK0C,SAASgQ,sBAAwB3O,IAAUgH,GAC5CqJ,EAAO3Q,SAAS,gBAChBG,YAAW,WACPP,EAAMwQ,iBAAiB9P,EAC3B,GAAG,IAGf,EACAsP,EAAM/R,UAAUuS,iBAAmB,SAAU9P,GACzC,IAAIqQ,EAASpU,KAAKyC,KAAKqB,aAAaC,GACX/D,KAAKyC,KAAKqH,aAAa/F,GACzBsQ,OACnBrU,KAAKwT,uBAAuBY,GAAQ,GAGpCpU,KAAKsU,UAAUvQ,EAEvB,EAKAsP,EAAM/R,UAAUgT,UAAY,SAAUvQ,GAClC/D,KAAKuU,aAAaxQ,EAAO,OAC7B,EAKAsP,EAAM/R,UAAU6S,WAAa,SAAUpQ,GACnC/D,KAAKuU,aAAaxQ,EAAO,QAC7B,EACAsP,EAAM/R,UAAUkT,aAAe,SAAUV,EAAK/Q,EAAUgB,EAAOgQ,GAC3D,IAAIU,EAAQ,GACRC,EAAY1U,KAAKyC,KAAKqH,aAAa/F,GAClC2N,kBAAoB,CAAC,EACtBiD,EAAqB3U,KAAKyC,KAAKqH,aAAa/F,GAC5C6Q,EAAaD,EAAmBE,OAASF,EAAmBG,IAChEF,EAAaA,EAAa,UAAYA,EAAa,IAAM,GACzD,IAAIG,EAAoB,iPACxB,GAAIL,EAAU/C,QAAS,CACnB,IAAIqD,EAAU,aAAejR,EAMzBkR,EADsB,KAJLP,EAAU/C,QAAQ,GACjC+C,EAAU/C,QAAQ,GAAK,IACvB,IAE2C,gDAE5C3R,KAAK0C,SAAS4P,oBACT,IAAMQ,EAAM9S,KAAK0C,SAAS4P,qBAC1B,IACVmC,EAAQ,+BAAmCO,EAAU,sCAAyCjS,EAAW,KAAQ6R,EAAa,kCAAqCF,EAAU/C,QAAQ,GAAKsD,GAAgB,KAAQF,EAAoB,YAC1O,MACK,GAAIL,EAAUQ,MAAO,CAClBF,EAAU,WAAajR,EACvBkR,EAzMQ,SAAUE,EAAeT,GAC7C,IAAKA,IAAcA,EAAUQ,MACzB,MAAO,GACX,IAAIE,EAAYV,EAAUQ,MAAM,IAAM,GAClCG,EAAsBF,GAAuD,IAAtCtU,OAAOmS,KAAKmC,GAAe/T,OAChE,IAAM0R,EAAMqC,GACZ,GAIFG,IAFcZ,EAAUQ,MAAM,GAAGtO,MAAM,KAAK2O,OAAS,IACjB3O,MAAM,KAAK,IAAM,IACxBA,MAAM,KAAK,GACxC4O,EAAYd,EAAUQ,MAAM,KAAOI,EAQvC,OAPIE,IACAJ,EAAYA,EAAUK,QAAQ,IAAMH,EAAM,KAKtB,uBAAyBE,EAAY,MAAQF,EAAO,IAAMD,GAF9D,KAAhBD,EAAU,GAAY,IAAMA,EAAUM,MAAM,GAAKN,GAAa,GAItE,CAqL+BO,CAAkB3V,KAAK0C,SAAS6P,kBAAmBmC,GACtED,EAAQ,+BAAmCO,EAAU,oCAAuCjS,EAAW,KAAQ6R,EAAa,mCAAsCF,EAAUQ,MAAM,GAAKD,GAAgB,KAAQF,EAAoB,YACvO,MACK,GAAIL,EAAUkB,OAAQ,CACvB,IAAIC,EAAW,YAAc9R,EAE7BkR,GADIA,EAAenC,EAAM9S,KAAK0C,SAAS8P,qBACT,IAAMyC,EAAe,GACnDR,EAAQ,gCAAqCoB,EAAW,0CAA8CnB,EAAUkB,OAAO,GAAKX,GAAgB,KAAQL,EAAa,kDAAqD7R,EAAW,yBAA8BgS,EAAoB,YACvR,MACK,GAAIL,EAAUoB,MAAO,CAEtB,IADA,IAAIC,EAAmB,GACd9U,EAAI,EAAGA,EAAI8S,EAAWiC,OAAO5U,OAAQH,IAC1C8U,GAAoB,gBAAmBhC,EAAWiC,OAAO/U,GAAG6S,IAAM,WAAeC,EAAWiC,OAAO/U,GAAGgV,KAAO,KAEjH,GAAIlC,EAAWmC,OACX,KAAIC,EAAU,SAAUlV,GACpB,IAAImV,EAAkB,GAClBC,EAAQtC,EAAWmC,OAAOjV,GAC9BJ,OAAOmS,KAAKqD,GAAS,CAAC,GAAGC,SAAQ,SAAUC,GACvCH,GAAmBG,EAAM,KAAQF,EAAME,GAAO,IAClD,IACAR,GAAoB,UAAYK,EAAkB,GACtD,EACA,IAASnV,EAAI,EAAGA,EAAI8S,EAAWmC,OAAO9U,OAAQH,IAC1CkV,EAAQlV,EAFX,CAKL,IAAIuV,EAAoB,GACpBC,EAAoB1C,EAAW2C,YAAc,CAAC,EAClD7V,OAAOmS,KAAKyD,GAAqB,CAAC,GAAGH,SAAQ,SAAUC,GACnDC,GAAqBD,EAAM,KAAQE,EAAkBF,GAAO,IAChE,IACA9B,EAAQ,2CAA8CzU,KAAK0C,SAASiQ,SAAW3S,KAAK0C,SAASkQ,aACvF5S,KAAK0C,SAASkQ,aAAe,IAC7B,IAAM,KAAO5S,KAAK0C,SAASiQ,QAAU,YAAc,IAAM,KAAQ6D,EAAoB,sBAAwBT,EAAmB,oFAC1I,CACA,OAAOtB,CACX,EAOApB,EAAM/R,UAAU2S,aAAe,SAAUzP,EAAImS,GACzC,IAAI9O,EACA+O,EAAY5W,KAAKwU,aAAamC,EAAY7C,IAAK6C,EAAY5T,SAAU4T,EAAY5S,MAAO4S,EAAY5C,YACxGvP,EAAG0C,KAAK,kBAAkBhE,OAAO0T,GACjC,IAAIC,EAAgBrS,EAAG0C,KAAK,oBAAoBjE,QAMhD,GALI0T,EAAY5C,YACZ8C,EAAc1S,GAAG,sBAAsB,SAAUuB,GAC7CA,EAAEoR,iBACN,IAEA9W,KAAK0C,SAASiQ,UAAkF,QAArE9K,EAAK7H,KAAKyC,KAAKqH,aAAa6M,EAAY5S,OAAO2N,wBAAqC,IAAP7J,OAAgB,EAASA,EAAGiO,OACpI,IACI,OAAOnD,QAAQkE,EAAczP,MAAOpH,KAAK0C,SAASmQ,eAItD,CAFA,MAAOnN,GACH7F,QAAQkX,MAAM,qDAClB,CAER,EACA1D,EAAM/R,UAAUmR,wBAA0B,SAAUqB,EAAK/P,GACrD,IAAIV,EAAQrD,KACR6W,EAAgB7W,KAAKyC,KACpBqB,aAAaC,GACbmD,KAAK,oBACLjE,QACDyR,EAAY1U,KAAKyC,KAAKqH,aAAa/F,GAAO2N,kBAAoB,CAAC,EACnE,GAAI1R,KAAK0C,SAAS+P,wBACd,GAAIiC,EAAUoB,MACVe,EAAc1S,GAAG,SAAS,WACtBd,EAAMZ,KAAKuU,eACf,SAEC,GAAItC,EAAUQ,MACf,IAEI,IAAI+B,MAAMC,OAAOL,EAAczP,OAAOjD,GAAG,SAAS,WAC9Cd,EAAMZ,KAAKuU,eACf,GAIJ,CAFA,MAAOtR,GACH7F,QAAQkX,MAAM,0EAClB,MAEC,GAAIrC,EAAUkB,OACf,IACIpP,OAAO2Q,IAAM3Q,OAAO2Q,KAAO,GAE3B3Q,OAAO2Q,IAAIC,KAAK,CACZC,GAAIR,EAAc7G,KAAK,MACvBsH,QAAS,SAAU7C,GACfA,EAAMrQ,KAAK,OAAO,WACdf,EAAMZ,KAAKuU,eACf,GACJ,GAKR,CAFA,MAAOtR,GACH7F,QAAQkX,MAAM,uFAClB,CAGZ,EACA1D,EAAM/R,UAAUiT,aAAe,SAAUxQ,EAAOwT,GAC5C,IAAIV,EAAgB7W,KAAKyC,KACpBqB,aAAaC,GACbmD,KAAK,oBACLjE,QACDyR,EAAY1U,KAAKyC,KAAKqH,aAAa/F,GAAO2N,kBAAoB,CAAC,EACnE,GAAKmF,EAAczP,MAEnB,GAAIsN,EAAU/C,QACV,IACIkF,EAAczP,MAAMoQ,cAAcC,YAAY,8BAAuCF,EAAS,oBAA0B,IAI5H,CAFA,MAAO7R,GACH7F,QAAQkX,MAAM,kBAAoBrR,EACtC,MAEC,GAAIgP,EAAUQ,MACf,IACI,IAAI+B,MAAMC,OAAOL,EAAczP,OAAOmQ,IAI1C,CAFA,MAAO7R,GACH7F,QAAQkX,MAAM,0EAClB,MAEC,GAAIrC,EAAUoB,MACf,GAAI9V,KAAK0C,SAASiQ,QACd,IACIA,QAAQkE,EAAczP,OAAOmQ,IAIjC,CAFA,MAAO7R,GACH7F,QAAQkX,MAAM,qDAClB,MAGAF,EAAczP,MAAMmQ,UAGvB,GAAI7C,EAAUkB,OACf,IACIpP,OAAO2Q,IAAM3Q,OAAO2Q,KAAO,GAE3B3Q,OAAO2Q,IAAIC,KAAK,CACZC,GAAIR,EAAc7G,KAAK,MACvBsH,QAAS,SAAU7C,GACfA,EAAM8C,IACV,GAKR,CAFA,MAAO7R,GACH7F,QAAQkX,MAAM,uFAClB,CAER,EACA1D,EAAM/R,UAAUkS,uBAAyB,SAAUD,EAAKmE,GACpD,IAAIrU,EAAQrD,KAEZ,GAAKuT,EAAI9P,SAAS,mBAwCTiU,GACL1X,KAAKsU,UAAUtU,KAAKyC,KAAKsB,YAvCzB,GAAKwP,EAAI9P,SAAS,gBAmCdzD,KAAKsU,UAAUtU,KAAKyC,KAAKsB,WAnCM,CAC/BwP,EAAIxQ,SAAS,gBACb,IAAI4U,OAAQ,EACRC,EAAO5X,KAAKyC,KAAKqH,aAAa9J,KAAKyC,KAAKsB,OAAO+P,IAC/CW,EAAQzU,KAAKyC,KAAKqH,aAAa9J,KAAKyC,KAAKsB,OAAO0Q,MAChDA,IACAkD,EACqB,iBAAVlD,EAAqBoD,KAAKC,MAAMrD,GAASA,GAExD,IAAIsD,EAAkB/X,KAAKiU,aAAaV,EAAK,CACzCO,IAAK8D,EACL7U,SAAU,GACVgB,MAAO/D,KAAKyC,KAAKsB,MACjBgQ,WAAY4D,IAEhB3X,KAAKyS,wBAAwBmF,EAAM5X,KAAKyC,KAAKsB,OAC7C,IAAIiU,EAAWzE,EAAIrM,KAAK,cAAcjE,QAAQmE,MAE9CmM,EAAIrM,KAAK,kBAAkBjE,QAAQC,OAAO8U,GAC1CzE,EAAIxQ,SAAS,oBACbgV,GACIA,EAAgBE,OAAM,WAClBF,EAAgB5T,GAAG,kBAAkB,WACjCd,EAAM6U,4BAA4B3E,EAAKlQ,EAAMZ,KAAKsB,MACtD,GACJ,IACJwP,EAAIrM,KAAK,oBACJjE,QACAkB,GAAG,sCAAsC,WAC1CP,YAAW,WACPP,EAAM6U,4BAA4B3E,EAAKlQ,EAAMZ,KAAKsB,MACtD,GAAG,GACP,GACJ,CAQR,EACAsP,EAAM/R,UAAU4W,4BAA8B,SAAU3E,EAAKxP,GACzDwP,EAAIxQ,SAAS,mBACb/C,KAAKsU,UAAUvQ,EACnB,EACAsP,EAAM/R,UAAUuM,QAAU,WACtB7N,KAAKyC,KAAKyB,KAAK4J,IAAI,aACnB9N,KAAKyC,KAAKyB,KAAK4J,IAAI,SACvB,EACOuF,CACX,CAjX0B,G,aCtH1B8E,EAAEC,UAAUH,OAAM,KACd,MAAMI,EAAUD,SAASE,cAAc,cACjCC,EAAM,IAAIhL,KAEhB,GAAIiL,WAAaA,WAAaD,EAAK,CAClBE,EAAAA,EAAAA,IAAAA,OAAgBJ,EAAS,CAClCK,QAAUC,IACNN,EAAQpP,MAAM2P,QAAU,QAExB,MAAMC,EAAS,CACXC,WAAY,OACZC,aAAc,OACdC,YAAa,QACbC,cAAe,MACfC,cAAe,MACfC,gBAAiB,MACjBC,cAAe,MACfC,gBAAiB,OAGrB,IAAK,IAAI9C,KAAOsC,EACPA,EAAOtX,eAAegV,IAG3BoC,EAAKW,YAAY/C,EAAKsC,EAAOtC,IAGjC,MAAMgD,EAAUd,EAAAA,EAAAA,MAAAA,KAAgBD,UAAUgB,eAC1CD,EAAQE,SAAYvI,IAChByH,EAAKzH,MAAQA,CAAb,EAGJqI,EAAQG,QAAU,KACdrB,EAAQpP,MAAM2P,QAAU,MAAxB,CADJ,GAMX,CAID,MAAMe,EAAW,IAAIC,EAAAA,GAASxB,SAASE,cAAc,oBAAqB,CAACuB,QAAQ,IACnF1B,EAAE,4BAA4B2B,OAAM,KAChCH,EAASI,MAAT,IAGJ,MAAMC,EAAiB,KACnB,MAAMC,EAAO9B,EAAE,eACX8B,EAAKC,SAASnS,IAAM,IACpBkS,EAAKlX,SAAS,iBAEdkX,EAAKvW,YAAY,gBACpB,EAGLsW,IACA7B,EAAE3R,QAAQ2T,OAAOH,GAEjB,IAAII,EAAAA,GAAUhC,SAASiC,KAAM,CAAC5P,OAAQ,cAAeyP,OAAQ,KAM7D,MAAMC,EAAS,IAAIG,IAAJ,CAAiB,eAAgB,CAAC/J,MAAO,IAAK2J,OAAQ,KAqDrE,SAASK,EAAUrJ,GACf,OAAOiH,EAAEqC,KAAKtJ,EACjB,CAtDDkH,SAASqC,iBAAiB,eAAgBrX,IACtC,GAAIA,EAAMG,QAAUH,EAAMG,OAAOmX,QAAUtX,EAAMG,OAAOmX,OAAOrD,GAAI,CAC/D,MAAMqD,EAAStX,EAAMG,OAAOmX,OACtBb,EAASzW,EAAMG,OAAOsW,OACjBa,EAAOrD,GACXsD,SAAS,WAAaxC,EAAEuC,GAAQE,GAAG,aACtCxX,EAAMwH,iBACNuN,EAAEuC,GAAQG,UAAU,QAAQ,KACxBV,EAAOW,cAAcJ,EAAQb,EAA7B,IAGX,KACF,GAIH1B,EAAE,aAAa4C,MAAK,CAAChX,EAAOS,KACxB,MAAM+O,EAAM4E,EAAE3T,GACRwW,EAAQzH,EAAI0H,SAAS,QACrBC,EAAkB3H,EAAI4H,QAAQ,WACpC,GAAID,GAAmBF,EAAO,CAC1B,MAAMI,EAAeF,EAAgBG,QAAQ,WAC7C,GAAID,EAAc,CACd,MAAMV,EAAS,IAAH,OAAOU,EAAapL,KAAK,OAC/BsL,EAAMF,EAAaG,KAAK,OAC1Bb,GAAQnH,EAAIvD,KAAK,OAAQ0K,GACzBY,GAAKN,EAAM5K,KAAKkL,GAChBZ,GAAUY,GAAK/H,EAAIiI,OAAOnS,IAAI,UAAW,eAChD,CACJ,KA2BL8O,EAAEsD,UAAUC,YAAY,CACpBC,WAAY,SAAUjW,GAClB1F,KAAKqY,QAAQ3S,EAChB,EACDkW,SAAS,EACTC,UAAYxD,IACRF,EAAEE,GAASyD,QAAQ,iBAAiBpY,YAAY,YAAYX,SAAS,aAArE,EAEJgZ,YAAc1D,IACVF,EAAEE,GAASyD,QAAQ,iBAAiBpY,YAAY,cAAcX,SAAS,WAAvE,EAEJiZ,aAAc,MACdC,WAAY,mBACZC,eAAgB,CAACnF,EAAOsB,KACpB,GAAIA,EAAQjP,OAAO,wBAAwBhI,OACvC+W,EAAEE,GAAS8D,SAAS,qBAAqBjZ,OAAO6T,QAEhD,GAA2B,UAAvBsB,EAAQrI,KAAK,MAAmB,CACjBqI,EAAQjP,SAChBlG,OAAO6T,EACjB,KAAmC,aAAzBsB,EAAQrI,KAAK,QACpB+G,EAAMqF,SAAS,iBAEfrF,EAAMsF,YAAYhE,EAEzB,IAITF,EAAEsD,UAAUa,UAAU,YAAY,SAAUpL,EAAOmH,EAASkE,GACxD,OAAOvc,KAAKwc,SAASnE,IAAYkE,EAAOE,KAAKvL,EAChD,IAGDiH,EAAE,iBAAiBuE,SAAS,CACxBC,WAAYpC,EACZqC,MAAO,CACHC,SAAU,CACNC,UAAU,EACVC,UAAW,EACXC,UAAW,IACXC,SAAU,6BAEdC,MAAO,CACHJ,UAAU,EACVC,UAAW,EACXC,UAAW,KAEfG,QAAS,CACLL,UAAU,EACVC,UAAW,EACXC,UAAW,KAEfI,KAAM,CACFN,UAAU,EACVE,UAAW,IACXK,OAAO,GAEXC,OAAQ,CACJR,UAAU,EACVE,UAAW,IAEfO,QAAS,CACLR,UAAW,EACXC,UAAW,MAGnBQ,SAAU,CACNX,SAAU,CACNC,SAAU,0BACVC,UAAW,uBACXC,UAAW,+CACXC,SAAU,uCAEdC,MAAO,CACHJ,SAAU,sBACVC,UAAW,2CACXC,UAAW,6CAEfG,QAAS,CACLL,SAAU,kCACVC,UAAW,wCACXC,UAAW,wDAEfI,KAAM,CACFN,SAAU,wBACVE,UAAW,wCACXK,MAAO,0BAEXC,OAAQ,CACJR,SAAU,kBACVE,UAAW,uCAEfO,QAAS,CACLR,UAAW,uDACXC,UAAW,wEAGnBS,cAAgBC,IACRvF,EAAEuF,GAAMC,UACRxF,EAAE,kBAAkByF,KAAK,YAAY,GACrCF,EAAKG,SACR,IAIT1F,EAAE,iBAAiBuE,SAAS,CACxBC,WAAYpC,EACZqC,MAAO,CACHC,SAAU,CACNC,UAAU,EACVC,UAAW,EACXC,UAAW,IACXC,SAAU,6BAEdC,MAAO,CACHJ,UAAU,EACVC,UAAW,EACXC,UAAW,KAEfG,QAAS,CACLL,UAAU,EACVC,UAAW,EACXC,UAAW,KAEfI,KAAM,CACFN,UAAU,EACVE,UAAW,IACXK,OAAO,GAEXC,OAAQ,CACJR,UAAU,EACVE,UAAW,KAGnBQ,SAAU,CACNX,SAAU,CACNC,SAAU,0BACVC,UAAW,uBACXC,UAAW,+CACXC,SAAU,uCAEdC,MAAO,CACHJ,SAAU,sBACVC,UAAW,2CACXC,UAAW,6CAEfG,QAAS,CACLL,SAAU,iCACVC,UAAW,wCACXC,UAAW,wDAEfI,KAAM,CACFN,SAAU,wBACVE,UAAW,wCACXK,MAAO,0BAEXC,OAAQ,CACJR,SAAU,kBACVE,UAAW,wCAGnBS,cAAgBC,IACRvF,EAAEuF,GAAMC,UACRxF,EAAE,kBAAkByF,KAAK,YAAY,GACrCF,EAAKG,SACR,IAIT,MAAMC,EAAgB3F,EAAE,kBAClB4F,EAAc5F,EAAE,eAEtB2F,EAAcpB,SAAS,CACnBE,MAAO,CACHoB,eAAgB,CACZlB,UAAU,EACVE,UAAW,IACXC,SAAU,6BAEdgB,aAAc,CACVnB,UAAU,EACVE,UAAW,GACXkB,OAAQ,CACJjI,KAAM,OACNkI,IAAK,sBACL5C,KAAM,CACF6C,WAAY,IAAML,EAAYM,MAC9BC,OAAQ,IAAMnG,EAAE,iBAAiBkG,MACjCpI,KAAM,YAIlBsI,UAAW,CACPzB,UAAU,EACVE,UAAW,IACXC,SAAU,6BAEduB,SAAU,CACN1B,UAAU,EACVE,UAAW,IACXC,SAAU,6BAEdwB,QAAS,CACL1B,UAAW,EACXC,UAAW,IACXC,SAAU,6BAEdC,MAAO,CACHJ,UAAU,EACVC,UAAW,EACXC,UAAW,KAEfG,QAAS,CACLL,UAAU,EACVC,UAAW,EACXC,UAAW,KAEf0B,MAAO,CACH3B,UAAW,EACXC,UAAW,KAEf2B,MAAO,CACH7B,UAAU,EACVE,UAAW,GACXkB,OAAQ,CACJjI,KAAM,OACNkI,IAAK,sBACL5C,KAAM,CACF6C,WAAY,IAAML,EAAYM,MAC9BC,OAAQ,IAAMnG,EAAE,UAAUkG,MAC1BpI,KAAM,WAIlB2I,UAAW,CACP5B,UAAW,IAEfM,OAAQ,CACJR,UAAU,EACVE,UAAW,GACXkB,OAAQ,CACJjI,KAAM,OACNkI,IAAK,sBACL5C,KAAM,CACF6C,WAAY,IAAML,EAAYM,MAC9BC,OAAQ,IAAMnG,EAAE,WAAWkG,MAC3BpI,KAAM,YAIlBmH,KAAM,CACFN,UAAU,EACVE,UAAW,IACXK,OAAO,GAEXwB,SAAU,CACN7B,UAAW,IACXK,OAAO,GAEXyB,SAAU,CACNhC,UAAU,GAEdiC,MAAO,CACHjC,UAAU,IAGlBU,SAAU,CACNQ,eAAgB,CACZlB,SAAU,+BACVE,UAAW,yCACXC,SAAU,4CAEdgB,aAAc,CACVnB,SAAU,8BACVE,UAAW,mDAEfuB,UAAW,CACPzB,SAAU,2BACVE,UAAW,qCACXC,SAAU,wCAEduB,SAAU,CACN1B,SAAU,+BACVE,UAAW,yCACXC,SAAU,4CAEdwB,QAAS,CACL1B,UAAW,0CACXC,UAAW,0CACXC,SAAU,6CAEdC,MAAO,CACHJ,SAAU,iCACVC,UAAW,2CACXC,UAAW,6CAEfG,QAAS,CACLL,SAAU,qCACVC,UAAW,mDACXC,UAAW,iEAEf0B,MAAO,CACH3B,UAAW,mDACXC,UAAW,mEAEf2B,MAAO,CACH7B,SAAU,4BACVE,UAAW,iDAEf4B,UAAW,CACP5B,UAAW,oDAEfM,OAAQ,CACJR,SAAU,8BACVE,UAAW,mDAEfI,KAAM,CACFN,SAAU,yCACVE,UAAW,oDACXK,MAAO,6BAEXwB,SAAU,CACN7B,UAAW,mDACXK,MAAO,6BAEXyB,SAAU,CACNhC,SAAU,6CAEdiC,MAAO,CACHjC,SAAU,6FAMtB,IAAIkC,EAAW,GACf7G,EAAE,WAAW8G,MAAM,CACfC,UAAW,KACXC,QAAS,WACTC,iBAAkB,OAClBC,cAAe,yEACfC,OAAQ,CACJC,OAAQ,SACRC,QAAS,cACTC,WAAY,aACZC,OAAQ,SACRC,KAAM,oBACNC,SAAU,oBACVC,QAAS,iBAEbC,eAAgB,CAAC1c,EAAO2c,EAAcC,KAIlC,GAAID,EAAeC,EACf,OAAO,EAsCX,GAjCqB,IAAjBD,GAAmC,IAAbC,GAAkBlC,EAAcH,SACtDxF,EAAE8H,KAAK,CACHC,OAAO,EACPC,OAAQ,MACRhC,IAAK,uBACL5C,KAAM,CACF6E,SAAUjI,EAAE,mBAAmBkG,MAAM7D,OACrCna,OAAQ8X,EAAE,iBAAiBkG,OAE/BgC,QAAU9E,IACFA,GAAQA,EAAKna,OAAS,GACtB4d,EAAWzD,EACXpD,EAAE,aAAa/H,KAAKkQ,IAAgB,CAACtB,SAAUzD,KAC/CpD,EAAE,cAAcyF,KAAK,WAAW,GAChCzF,EAAE,kBAAkBqD,OACpBrD,EAAE,gBAAgB4B,SAElB5B,EAAE,yBAAyByF,KAAK,WAAW,GAC3CzF,EAAE,kBAAkB4B,OACpB5B,EAAE,gBAAgBqD,SAEf,GAEXzE,MAAQwJ,IACJC,MAAM,uBACN3gB,QAAQkX,MAAMwJ,IACP,KAOE,IAAjBR,GAAmC,IAAbC,GAAkBlC,EAAcH,QAAS,CAC/D,MAAM8C,EAAmBtI,EAAE,iCACrBuI,EAAeD,EAAiBpC,MACtC,GAAIqC,GAAgB,EAAG,CACnB,MAAMC,EAAU3B,EAAS0B,GACzBvI,EAAE,eAAekG,IAAIoC,EAAiBlF,KAAK,eAC3CpD,EAAE,cAAckG,IAAIoC,EAAiBlF,KAAK,cAC1CpD,EAAE,aAAakG,IAAIsC,EAAQP,UAC3BjI,EAAE,cAAckG,IAAIsC,EAAQC,WAC5BzI,EAAE,YAAYkG,IAAIsC,EAAQE,SAC1B1I,EAAE,UAAUkG,IAAIsC,EAAQ9L,OACxBsD,EAAE,YAAYkG,IAAIsC,EAAQxgB,SAC1BgY,EAAE,UAAUkG,IAAIsC,EAAQvgB,OACxB+X,EAAE,WAAWkG,IAAIsC,EAAQtgB,QACzB8X,EAAE,UAAUkG,IAAIsC,EAAQrgB,OACxB6X,EAAE,cAAckG,IAAIsC,EAAQpgB,WAC5B4X,EAAE,SAASkG,IAAIsC,EAAQngB,MACvB2X,EAAE,aAAakG,IAAIsC,EAAQlgB,SAC9B,KAAM,CACH,MAAMqgB,EAAiB3I,EAAE,mBAAmBkG,MAAM7D,OAC5CuG,EAAe5I,EAAE,iBAAiBkG,MACpCyC,GAAgB3I,EAAE,aAAakG,IAAIyC,GACnCC,GAAc5I,EAAE,WAAWkG,IAAI0C,EACtC,CACJ,CAYD,OAAOjD,EAAcH,OAArB,EAEJqD,YAAa,CAAC5d,EAAO2c,KACjBlgB,QAAQC,IAAIsD,EAAO2c,GACZjC,EAAcH,SAEzBsD,WAAY,CAAC7d,EAAO2c,KAChBlgB,QAAQC,IAAIsD,EAAO2c,GACnBjC,EAAcD,QAAd,IAIRC,EAAcoD,UAAUxb,IAEpB,GAAY,KADAA,EAAEyb,OACIrD,EAAcH,QAE5B,OADAxF,EAAE,mBAAmB2B,SACd,CACV,IAKL,MAAMsH,EAAQjJ,EAAEkJ,UAAUlJ,EAAEmJ,UAAU,wBAAyB,CAAC,KAAM,UAAW,QAkDjF,GAtCAnJ,EAAE,qBAAqBoJ,WAAWpJ,EAAEqJ,QAAO,EAAM,CAAC,EAXrC,CACTC,UAAW,CACPC,YAAa,CAAC,IAAK,CAACjG,UAAW,QAASkG,YAAa,IACrDC,iBAAiB,EACjBC,YAAY,EACZC,sBAAsB,GAE1BC,MAAO,QACPtM,QAAS,IACTuM,QAAS,QAE8C,CAACC,KAAMb,KAIlEc,IAAAA,KAAkB,CACdC,SAAWC,IACPjK,EAAE,4BAA4BkG,IAAI+D,EAAG5C,QAAQ6C,KAC7ClK,EAAE,4BAA4BkG,IAAI+D,EAAG5C,QAAQ1L,KAC7CqE,EAAE,8BAA8BkG,IAAI+D,EAAG5C,QAAQ8C,KAC/CnK,EAAE,gCAAgCkG,IAAI+D,EAAG5C,QAAQ+C,KACjDpK,EAAE,+BAA+BkG,IAAI+D,EAAG5C,QAAQgD,KAChDrK,EAAE,4BAA4BkG,IAAI+D,EAAG5C,QAAQiD,IAA7C,IAKRtK,EAAE,oCAAoCuK,QAAQle,IAC1C,MAAM0M,EAAQ1M,EAAGiG,OAAOyG,MAClByR,EAAmBxK,EAAE,qBACb,YAAVjH,EACAyR,EAAiB9H,UAAU,QAE3B8H,EAAiB5I,MACpB,IAKL,IAAI3B,SAASwK,iBAAiB,+BAA+BtM,SAAQ9R,GAAM,IAAIqe,EAAAA,GAAQre,MAIvFse,EAAAA,EAAAA,GAAa1K,SAAShO,eAAe,gBAAiB,CAClD2Y,WAAY,qBACZC,QAAS,CAACC,EAAQC,EAAaC,GAC/BlV,cAAc,IAGdzH,OAAO4c,SAAS9N,MAAQ9O,OAAO4c,SAAS9N,KAAKqF,SAAS,UAAW,CACjE,MAAMD,EAAStC,SAASE,cAAc9R,OAAO4c,SAAS9N,MAClDoF,GACAvC,EAAEuC,GAAQG,UAAU,QAAQ,KACxBV,EAAOW,cAAcJ,EAArB,GAGX,I,gBCtoBL,IAAInb,EAAa,EAAQ,KAEzBmB,EAAOC,SAAWpB,EAAoB,SAAKA,GAAY8jB,SAAS,CAAC,EAAI,SAASC,EAAUC,EAAOC,EAAQC,EAASlI,GAC5G,IAAImI,EAAQC,EAAiB,MAAVJ,EAAiBA,EAAUD,EAAUM,aAAe,CAAC,EAAIC,EAAOP,EAAUQ,MAAMC,cAAeC,EAAO,WAAYC,EAAOX,EAAUY,iBAAkBC,EAAiBb,EAAUa,gBAAkB,SAAS/a,EAAQgb,GAClO,GAAIvjB,OAAOS,UAAUC,eAAeC,KAAK4H,EAAQgb,GAC/C,OAAOhb,EAAOgb,EAGpB,EAEF,MAAO,2HACHH,SAASP,EAAiG,OAAvFA,EAASS,EAAeX,EAAQ,UAAajI,GAAQ4I,EAAe5I,EAAK,UAAqBmI,EAASG,KAA2BG,EAASN,EAAOliB,KAAKmiB,EAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,EAAE,KAAOpI,EAAK,IAAM,CAAC,MAAQ,CAAC,KAAO,EAAE,OAAS,IAAI,IAAM,CAAC,KAAO,EAAE,OAAS,OAASmI,GAC/R,YACAO,SAASP,EAAiG,OAAvFA,EAASS,EAAeX,EAAQ,UAAajI,GAAQ4I,EAAe5I,EAAK,UAAqBmI,EAASG,KAA2BG,EAASN,EAAOliB,KAAKmiB,EAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,EAAE,KAAOpI,EAAK,IAAM,CAAC,MAAQ,CAAC,KAAO,EAAE,OAAS,IAAI,IAAM,CAAC,KAAO,EAAE,OAAS,QAAUmI,GAChS,sBACAO,SAASP,EAA+H,OAArHA,EAASS,EAAeX,EAAQ,gBAA4B,MAAVD,EAAiBY,EAAeZ,EAAO,cAAgBA,IAAmBG,EAASG,KAA2BG,EAASN,EAAOliB,KAAKmiB,EAAO,CAAC,KAAO,aAAa,KAAO,CAAC,EAAE,KAAOpI,EAAK,IAAM,CAAC,MAAQ,CAAC,KAAO,EAAE,OAAS,KAAK,IAAM,CAAC,KAAO,EAAE,OAAS,QAAUmI,GACpU,qBACAO,SAASP,EAA6H,OAAnHA,EAASS,EAAeX,EAAQ,eAA2B,MAAVD,EAAiBY,EAAeZ,EAAO,aAAeA,IAAmBG,EAASG,KAA2BG,EAASN,EAAOliB,KAAKmiB,EAAO,CAAC,KAAO,YAAY,KAAO,CAAC,EAAE,KAAOpI,EAAK,IAAM,CAAC,MAAQ,CAAC,KAAO,EAAE,OAAS,KAAK,IAAM,CAAC,KAAO,EAAE,OAAS,QAAUmI,GACjU,qDACAO,SAASP,EAA2H,OAAjHA,EAASS,EAAeX,EAAQ,cAA0B,MAAVD,EAAiBY,EAAeZ,EAAO,YAAcA,IAAmBG,EAASG,KAA2BG,EAASN,EAAOliB,KAAKmiB,EAAO,CAAC,KAAO,WAAW,KAAO,CAAC,EAAE,KAAOpI,EAAK,IAAM,CAAC,MAAQ,CAAC,KAAO,EAAE,OAAS,IAAI,IAAM,CAAC,KAAO,EAAE,OAAS,OAASmI,GAC5T,IACAO,SAASP,EAA6H,OAAnHA,EAASS,EAAeX,EAAQ,eAA2B,MAAVD,EAAiBY,EAAeZ,EAAO,aAAeA,IAAmBG,EAASG,KAA2BG,EAASN,EAAOliB,KAAKmiB,EAAO,CAAC,KAAO,YAAY,KAAO,CAAC,EAAE,KAAOpI,EAAK,IAAM,CAAC,MAAQ,CAAC,KAAO,EAAE,OAAS,IAAI,IAAM,CAAC,KAAO,EAAE,OAAS,OAASmI,GAC/T,IACAO,SAASP,EAAyH,OAA/GA,EAASS,EAAeX,EAAQ,aAAyB,MAAVD,EAAiBY,EAAeZ,EAAO,WAAaA,IAAmBG,EAASG,KAA2BG,EAASN,EAAOliB,KAAKmiB,EAAO,CAAC,KAAO,UAAU,KAAO,CAAC,EAAE,KAAOpI,EAAK,IAAM,CAAC,MAAQ,CAAC,KAAO,EAAE,OAAS,IAAI,IAAM,CAAC,KAAO,EAAE,OAAS,OAASmI,GACzT,8CACAO,SAASP,EAAqH,OAA3GA,EAASS,EAAeX,EAAQ,WAAuB,MAAVD,EAAiBY,EAAeZ,EAAO,SAAWA,IAAmBG,EAASG,KAA2BG,EAASN,EAAOliB,KAAKmiB,EAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,EAAE,KAAOpI,EAAK,IAAM,CAAC,MAAQ,CAAC,KAAO,EAAE,OAAS,IAAI,IAAM,CAAC,KAAO,EAAE,OAAS,OAASmI,GACnT,4CACAO,SAASP,EAA+H,OAArHA,EAASS,EAAeX,EAAQ,gBAA4B,MAAVD,EAAiBY,EAAeZ,EAAO,cAAgBA,IAAmBG,EAASG,KAA2BG,EAASN,EAAOliB,KAAKmiB,EAAO,CAAC,KAAO,aAAa,KAAO,CAAC,EAAE,KAAOpI,EAAK,IAAM,CAAC,MAAQ,CAAC,KAAO,EAAE,OAAS,IAAI,IAAM,CAAC,KAAO,EAAE,OAAS,OAASmI,GAClU,2CACAO,SAASP,EAA2H,OAAjHA,EAASS,EAAeX,EAAQ,cAA0B,MAAVD,EAAiBY,EAAeZ,EAAO,YAAcA,IAAmBG,EAASG,KAA2BG,EAASN,EAAOliB,KAAKmiB,EAAO,CAAC,KAAO,WAAW,KAAO,CAAC,EAAE,KAAOpI,EAAK,IAAM,CAAC,MAAQ,CAAC,KAAO,EAAE,OAAS,IAAI,IAAM,CAAC,KAAO,EAAE,OAAS,OAASmI,GAC5T,0CACAO,SAASP,EAAyH,OAA/GA,EAASS,EAAeX,EAAQ,aAAyB,MAAVD,EAAiBY,EAAeZ,EAAO,WAAaA,IAAmBG,EAASG,KAA2BG,EAASN,EAAOliB,KAAKmiB,EAAO,CAAC,KAAO,UAAU,KAAO,CAAC,EAAE,KAAOpI,EAAK,IAAM,CAAC,MAAQ,CAAC,KAAO,EAAE,OAAS,IAAI,IAAM,CAAC,KAAO,EAAE,OAAS,OAASmI,GACzT,oCACN,EAAE,SAAW,CAAC,EAAE,YAAY,KAAO,SAASJ,EAAUC,EAAOC,EAAQC,EAASlI,GAC1E,IAAI8I,EAAQF,EAAiBb,EAAUa,gBAAkB,SAAS/a,EAAQgb,GACtE,GAAIvjB,OAAOS,UAAUC,eAAeC,KAAK4H,EAAQgb,GAC/C,OAAOhb,EAAOgb,EAGpB,EAEF,OAAsV,OAA7UC,EAASF,EAAeX,EAAQ,QAAQhiB,KAAe,MAAV+hB,EAAiBA,EAAUD,EAAUM,aAAe,CAAC,EAAc,MAAVL,EAAiBY,EAAeZ,EAAO,YAAcA,EAAQ,CAAC,KAAO,OAAO,KAAO,CAAC,EAAE,GAAKD,EAAUgB,QAAQ,EAAG/I,EAAM,GAAG,QAAU+H,EAAUiB,KAAK,KAAOhJ,EAAK,IAAM,CAAC,MAAQ,CAAC,KAAO,EAAE,OAAS,GAAG,IAAM,CAAC,KAAO,GAAG,OAAS,OAAiB8I,EAAS,EACxW,EAAE,SAAU,G","sources":["webpack://profitday.web/./src/js/handlebars/helpers.js","webpack://profitday.web/./node_modules/.pnpm/lightgallery@2.5.0/node_modules/lightgallery/plugins/zoom/lg-zoom.es5.js","webpack://profitday.web/./node_modules/.pnpm/lightgallery@2.5.0/node_modules/lightgallery/plugins/thumbnail/lg-thumbnail.es5.js","webpack://profitday.web/./node_modules/.pnpm/lightgallery@2.5.0/node_modules/lightgallery/plugins/video/lg-video.es5.js","webpack://profitday.web/./src/js/profitday/v9/conference.js","webpack://profitday.web/./profile.handlebars"],"sourcesContent":["const Handlebars = require('handlebars/runtime');\r\n//const Handlebars = require('handlebars-template-loader/runtime');\r\nHandlebars.registerHelper('eq', (arg1, arg2, options) => {\r\n console.log(options.fn(this));\r\n return (arg1 === arg2) ? options.fn(this) : options.inverse(this);\r\n});\r\nHandlebars.registerHelper('getCompany', function () {\r\n let result = '';\r\n if (this.company) result += this.company;\r\n if (this.alias && this.company !== this.alias) result += ` (${this.alias})`;\r\n return result;\r\n});\r\nHandlebars.registerHelper('getPhone', function () {\r\n let result = '';\r\n if (this.mobile) result += `+${this.mobile}`;\r\n if (this.phone && this.mobile !== this.phone) result += `, +${this.phone}`;\r\n if (this.extension) result += ` × ${this.extension}`;\r\n return result;\r\n});\r\nHandlebars.registerHelper('getMail', function () {\r\n let result = '';\r\n if (this.mail) result += this.mail;\r\n if (this.personal && this.mail !== this.personal) result += `, ${this.personal}`;\r\n return result;\r\n});\r\nmodule.exports = Handlebars;","/*!\n * lightgallery | 2.5.0 | June 13th 2022\n * http://www.lightgalleryjs.com/\n * Copyright (c) 2020 Sachin Neravath;\n * @license GPLv3\n */\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\n\nvar zoomSettings = {\r\n scale: 1,\r\n zoom: true,\r\n actualSize: true,\r\n showZoomInOutIcons: false,\r\n actualSizeIcons: {\r\n zoomIn: 'lg-zoom-in',\r\n zoomOut: 'lg-zoom-out',\r\n },\r\n enableZoomAfter: 300,\r\n zoomPluginStrings: {\r\n zoomIn: 'Zoom in',\r\n zoomOut: 'Zoom out',\r\n viewActualSize: 'View actual size',\r\n },\r\n};\n\n/**\r\n * List of lightGallery events\r\n * All events should be documented here\r\n * Below interfaces are used to build the website documentations\r\n * */\r\nvar lGEvents = {\r\n afterAppendSlide: 'lgAfterAppendSlide',\r\n init: 'lgInit',\r\n hasVideo: 'lgHasVideo',\r\n containerResize: 'lgContainerResize',\r\n updateSlides: 'lgUpdateSlides',\r\n afterAppendSubHtml: 'lgAfterAppendSubHtml',\r\n beforeOpen: 'lgBeforeOpen',\r\n afterOpen: 'lgAfterOpen',\r\n slideItemLoad: 'lgSlideItemLoad',\r\n beforeSlide: 'lgBeforeSlide',\r\n afterSlide: 'lgAfterSlide',\r\n posterClick: 'lgPosterClick',\r\n dragStart: 'lgDragStart',\r\n dragMove: 'lgDragMove',\r\n dragEnd: 'lgDragEnd',\r\n beforeNextSlide: 'lgBeforeNextSlide',\r\n beforePrevSlide: 'lgBeforePrevSlide',\r\n beforeClose: 'lgBeforeClose',\r\n afterClose: 'lgAfterClose',\r\n rotateLeft: 'lgRotateLeft',\r\n rotateRight: 'lgRotateRight',\r\n flipHorizontal: 'lgFlipHorizontal',\r\n flipVertical: 'lgFlipVertical',\r\n autoplay: 'lgAutoplay',\r\n autoplayStart: 'lgAutoplayStart',\r\n autoplayStop: 'lgAutoplayStop',\r\n};\n\nvar Zoom = /** @class */ (function () {\r\n function Zoom(instance, $LG) {\r\n // get lightGallery core plugin instance\r\n this.core = instance;\r\n this.$LG = $LG;\r\n this.settings = __assign(__assign({}, zoomSettings), this.core.settings);\r\n return this;\r\n }\r\n // Append Zoom controls. Actual size, Zoom-in, Zoom-out\r\n Zoom.prototype.buildTemplates = function () {\r\n var zoomIcons = this.settings.showZoomInOutIcons\r\n ? \"\"\r\n : '';\r\n if (this.settings.actualSize) {\r\n zoomIcons += \"\";\r\n }\r\n this.core.outer.addClass('lg-use-transition-for-zoom');\r\n this.core.$toolbar.first().append(zoomIcons);\r\n };\r\n /**\r\n * @desc Enable zoom option only once the image is completely loaded\r\n * If zoomFromOrigin is true, Zoom is enabled once the dummy image has been inserted\r\n *\r\n * Zoom styles are defined under lg-zoomable CSS class.\r\n */\r\n Zoom.prototype.enableZoom = function (event) {\r\n var _this = this;\r\n // delay will be 0 except first time\r\n var _speed = this.settings.enableZoomAfter + event.detail.delay;\r\n // set _speed value 0 if gallery opened from direct url and if it is first slide\r\n if (this.$LG('body').first().hasClass('lg-from-hash') &&\r\n event.detail.delay) {\r\n // will execute only once\r\n _speed = 0;\r\n }\r\n else {\r\n // Remove lg-from-hash to enable starting animation.\r\n this.$LG('body').first().removeClass('lg-from-hash');\r\n }\r\n this.zoomableTimeout = setTimeout(function () {\r\n if (!_this.isImageSlide()) {\r\n return;\r\n }\r\n _this.core.getSlideItem(event.detail.index).addClass('lg-zoomable');\r\n if (event.detail.index === _this.core.index) {\r\n _this.setZoomEssentials();\r\n }\r\n }, _speed + 30);\r\n };\r\n Zoom.prototype.enableZoomOnSlideItemLoad = function () {\r\n // Add zoomable class\r\n this.core.LGel.on(lGEvents.slideItemLoad + \".zoom\", this.enableZoom.bind(this));\r\n };\r\n Zoom.prototype.getModifier = function (rotateValue, axis, el) {\r\n var originalRotate = rotateValue;\r\n rotateValue = Math.abs(rotateValue);\r\n var transformValues = this.getCurrentTransform(el);\r\n if (!transformValues) {\r\n return 1;\r\n }\r\n var modifier = 1;\r\n if (axis === 'X') {\r\n var flipHorizontalValue = Math.sign(parseFloat(transformValues[0]));\r\n if (rotateValue === 0 || rotateValue === 180) {\r\n modifier = 1;\r\n }\r\n else if (rotateValue === 90) {\r\n if ((originalRotate === -90 && flipHorizontalValue === 1) ||\r\n (originalRotate === 90 && flipHorizontalValue === -1)) {\r\n modifier = -1;\r\n }\r\n else {\r\n modifier = 1;\r\n }\r\n }\r\n modifier = modifier * flipHorizontalValue;\r\n }\r\n else {\r\n var flipVerticalValue = Math.sign(parseFloat(transformValues[3]));\r\n if (rotateValue === 0 || rotateValue === 180) {\r\n modifier = 1;\r\n }\r\n else if (rotateValue === 90) {\r\n var sinX = parseFloat(transformValues[1]);\r\n var sinMinusX = parseFloat(transformValues[2]);\r\n modifier = Math.sign(sinX * sinMinusX * originalRotate * flipVerticalValue);\r\n }\r\n modifier = modifier * flipVerticalValue;\r\n }\r\n return modifier;\r\n };\r\n Zoom.prototype.getImageSize = function ($image, rotateValue, axis) {\r\n var imageSizes = {\r\n y: 'offsetHeight',\r\n x: 'offsetWidth',\r\n };\r\n if (Math.abs(rotateValue) === 90) {\r\n // Swap axis\r\n if (axis === 'x') {\r\n axis = 'y';\r\n }\r\n else {\r\n axis = 'x';\r\n }\r\n }\r\n return $image[imageSizes[axis]];\r\n };\r\n Zoom.prototype.getDragCords = function (e, rotateValue) {\r\n if (rotateValue === 90) {\r\n return {\r\n x: e.pageY,\r\n y: e.pageX,\r\n };\r\n }\r\n else {\r\n return {\r\n x: e.pageX,\r\n y: e.pageY,\r\n };\r\n }\r\n };\r\n Zoom.prototype.getSwipeCords = function (e, rotateValue) {\r\n var x = e.targetTouches[0].pageX;\r\n var y = e.targetTouches[0].pageY;\r\n if (rotateValue === 90) {\r\n return {\r\n x: y,\r\n y: x,\r\n };\r\n }\r\n else {\r\n return {\r\n x: x,\r\n y: y,\r\n };\r\n }\r\n };\r\n Zoom.prototype.getDragAllowedAxises = function (rotateValue, scale) {\r\n scale = scale || this.scale || 1;\r\n var allowY = this.imageYSize * scale > this.containerRect.height;\r\n var allowX = this.imageXSize * scale > this.containerRect.width;\r\n if (rotateValue === 90) {\r\n return {\r\n allowX: allowY,\r\n allowY: allowX,\r\n };\r\n }\r\n else {\r\n return {\r\n allowX: allowX,\r\n allowY: allowY,\r\n };\r\n }\r\n };\r\n /**\r\n *\r\n * @param {Element} el\r\n * @return matrix(cos(X), sin(X), -sin(X), cos(X), 0, 0);\r\n * Get the current transform value\r\n */\r\n Zoom.prototype.getCurrentTransform = function (el) {\r\n if (!el) {\r\n return;\r\n }\r\n var st = window.getComputedStyle(el, null);\r\n var tm = st.getPropertyValue('-webkit-transform') ||\r\n st.getPropertyValue('-moz-transform') ||\r\n st.getPropertyValue('-ms-transform') ||\r\n st.getPropertyValue('-o-transform') ||\r\n st.getPropertyValue('transform') ||\r\n 'none';\r\n if (tm !== 'none') {\r\n return tm.split('(')[1].split(')')[0].split(',');\r\n }\r\n return;\r\n };\r\n Zoom.prototype.getCurrentRotation = function (el) {\r\n if (!el) {\r\n return 0;\r\n }\r\n var values = this.getCurrentTransform(el);\r\n if (values) {\r\n return Math.round(Math.atan2(parseFloat(values[1]), parseFloat(values[0])) *\r\n (180 / Math.PI));\r\n // If you want rotate in 360\r\n //return (angle < 0 ? angle + 360 : angle);\r\n }\r\n return 0;\r\n };\r\n Zoom.prototype.setZoomEssentials = function () {\r\n var $image = this.core\r\n .getSlideItem(this.core.index)\r\n .find('.lg-image')\r\n .first();\r\n var rotateEl = this.core\r\n .getSlideItem(this.core.index)\r\n .find('.lg-img-rotate')\r\n .first()\r\n .get();\r\n this.rotateValue = this.getCurrentRotation(rotateEl);\r\n this.imageYSize = this.getImageSize($image.get(), this.rotateValue, 'y');\r\n this.imageXSize = this.getImageSize($image.get(), this.rotateValue, 'x');\r\n this.containerRect = this.core.outer.get().getBoundingClientRect();\r\n this.modifierX = this.getModifier(this.rotateValue, 'X', rotateEl);\r\n this.modifierY = this.getModifier(this.rotateValue, 'Y', rotateEl);\r\n };\r\n /**\r\n * @desc Image zoom\r\n * Translate the wrap and scale the image to get better user experience\r\n *\r\n * @param {String} scale - Zoom decrement/increment value\r\n */\r\n Zoom.prototype.zoomImage = function (scale) {\r\n // Find offset manually to avoid issue after zoom\r\n var offsetX = (this.containerRect.width - this.imageXSize) / 2 +\r\n this.containerRect.left;\r\n var _a = this.core.mediaContainerPosition, top = _a.top, bottom = _a.bottom;\r\n var topBottomSpacing = Math.abs(top - bottom) / 2;\r\n var offsetY = (this.containerRect.height -\r\n this.imageYSize -\r\n topBottomSpacing * this.modifierX) /\r\n 2 +\r\n this.scrollTop +\r\n this.containerRect.top;\r\n var originalX;\r\n var originalY;\r\n if (scale === 1) {\r\n this.positionChanged = false;\r\n }\r\n var dragAllowedAxises = this.getDragAllowedAxises(Math.abs(this.rotateValue), scale);\r\n var allowY = dragAllowedAxises.allowY, allowX = dragAllowedAxises.allowX;\r\n if (this.positionChanged) {\r\n originalX = this.left / (this.scale - 1);\r\n originalY = this.top / (this.scale - 1);\r\n this.pageX = Math.abs(originalX) + offsetX;\r\n this.pageY = Math.abs(originalY) + offsetY;\r\n this.positionChanged = false;\r\n }\r\n var possibleSwipeCords = this.getPossibleSwipeDragCords(this.rotateValue, scale);\r\n var _x = offsetX - this.pageX;\r\n var _y = offsetY - this.pageY;\r\n var x = (scale - 1) * _x;\r\n var y = (scale - 1) * _y;\r\n if (allowX) {\r\n if (this.isBeyondPossibleLeft(x, possibleSwipeCords.minX)) {\r\n x = possibleSwipeCords.minX;\r\n }\r\n else if (this.isBeyondPossibleRight(x, possibleSwipeCords.maxX)) {\r\n x = possibleSwipeCords.maxX;\r\n }\r\n }\r\n else {\r\n if (scale > 1) {\r\n if (x < possibleSwipeCords.minX) {\r\n x = possibleSwipeCords.minX;\r\n }\r\n else if (x > possibleSwipeCords.maxX) {\r\n x = possibleSwipeCords.maxX;\r\n }\r\n }\r\n }\r\n if (allowY) {\r\n if (this.isBeyondPossibleTop(y, possibleSwipeCords.minY)) {\r\n y = possibleSwipeCords.minY;\r\n }\r\n else if (this.isBeyondPossibleBottom(y, possibleSwipeCords.maxY)) {\r\n y = possibleSwipeCords.maxY;\r\n }\r\n }\r\n else {\r\n // If the translate value based on index of beyond the viewport, utilize the available space to prevent image being cut out\r\n if (scale > 1) {\r\n //If image goes beyond viewport top, use the minim possible translate value\r\n if (y < possibleSwipeCords.minY) {\r\n y = possibleSwipeCords.minY;\r\n }\r\n else if (y > possibleSwipeCords.maxY) {\r\n y = possibleSwipeCords.maxY;\r\n }\r\n }\r\n }\r\n this.setZoomStyles({\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n });\r\n };\r\n /**\r\n * @desc apply scale3d to image and translate to image wrap\r\n * @param {style} X,Y and scale\r\n */\r\n Zoom.prototype.setZoomStyles = function (style) {\r\n var $image = this.core\r\n .getSlideItem(this.core.index)\r\n .find('.lg-image')\r\n .first();\r\n var $dummyImage = this.core.outer\r\n .find('.lg-current .lg-dummy-img')\r\n .first();\r\n var $imageWrap = $image.parent();\r\n this.scale = style.scale;\r\n $image.css('transform', 'scale3d(' + style.scale + ', ' + style.scale + ', 1)');\r\n $dummyImage.css('transform', 'scale3d(' + style.scale + ', ' + style.scale + ', 1)');\r\n var transform = 'translate3d(' + style.x + 'px, ' + style.y + 'px, 0)';\r\n $imageWrap.css('transform', transform);\r\n this.left = style.x;\r\n this.top = style.y;\r\n };\r\n /**\r\n * @param index - Index of the current slide\r\n * @param event - event will be available only if the function is called on clicking/taping the imags\r\n */\r\n Zoom.prototype.setActualSize = function (index, event) {\r\n var _this = this;\r\n // Allow zoom only on image\r\n if (!this.isImageSlide() ||\r\n this.core.outer.hasClass('lg-first-slide-loading')) {\r\n return;\r\n }\r\n var scale = this.getCurrentImageActualSizeScale();\r\n if (this.core.outer.hasClass('lg-zoomed')) {\r\n this.scale = 1;\r\n }\r\n else {\r\n this.scale = this.getScale(scale);\r\n }\r\n this.setPageCords(event);\r\n this.beginZoom(this.scale);\r\n this.zoomImage(this.scale);\r\n setTimeout(function () {\r\n _this.core.outer.removeClass('lg-grabbing').addClass('lg-grab');\r\n }, 10);\r\n };\r\n Zoom.prototype.getNaturalWidth = function (index) {\r\n var $image = this.core.getSlideItem(index).find('.lg-image').first();\r\n var naturalWidth = this.core.galleryItems[index].width;\r\n return naturalWidth\r\n ? parseFloat(naturalWidth)\r\n : $image.get().naturalWidth;\r\n };\r\n Zoom.prototype.getActualSizeScale = function (naturalWidth, width) {\r\n var _scale;\r\n var scale;\r\n if (naturalWidth > width) {\r\n _scale = naturalWidth / width;\r\n scale = _scale || 2;\r\n }\r\n else {\r\n scale = 1;\r\n }\r\n return scale;\r\n };\r\n Zoom.prototype.getCurrentImageActualSizeScale = function () {\r\n var $image = this.core\r\n .getSlideItem(this.core.index)\r\n .find('.lg-image')\r\n .first();\r\n var width = $image.get().offsetWidth;\r\n var naturalWidth = this.getNaturalWidth(this.core.index) || width;\r\n return this.getActualSizeScale(naturalWidth, width);\r\n };\r\n Zoom.prototype.getPageCords = function (event) {\r\n var cords = {};\r\n if (event) {\r\n cords.x = event.pageX || event.targetTouches[0].pageX;\r\n cords.y = event.pageY || event.targetTouches[0].pageY;\r\n }\r\n else {\r\n var containerRect = this.core.outer.get().getBoundingClientRect();\r\n cords.x = containerRect.width / 2 + containerRect.left;\r\n cords.y =\r\n containerRect.height / 2 + this.scrollTop + containerRect.top;\r\n }\r\n return cords;\r\n };\r\n Zoom.prototype.setPageCords = function (event) {\r\n var pageCords = this.getPageCords(event);\r\n this.pageX = pageCords.x;\r\n this.pageY = pageCords.y;\r\n };\r\n // If true, zoomed - in else zoomed out\r\n Zoom.prototype.beginZoom = function (scale) {\r\n this.core.outer.removeClass('lg-zoom-drag-transition lg-zoom-dragging');\r\n if (scale > 1) {\r\n this.core.outer.addClass('lg-zoomed');\r\n var $actualSize = this.core.getElementById('lg-actual-size');\r\n $actualSize\r\n .removeClass(this.settings.actualSizeIcons.zoomIn)\r\n .addClass(this.settings.actualSizeIcons.zoomOut);\r\n }\r\n else {\r\n this.resetZoom();\r\n }\r\n return scale > 1;\r\n };\r\n Zoom.prototype.getScale = function (scale) {\r\n var actualSizeScale = this.getCurrentImageActualSizeScale();\r\n if (scale < 1) {\r\n scale = 1;\r\n }\r\n else if (scale > actualSizeScale) {\r\n scale = actualSizeScale;\r\n }\r\n return scale;\r\n };\r\n Zoom.prototype.init = function () {\r\n var _this = this;\r\n if (!this.settings.zoom) {\r\n return;\r\n }\r\n this.buildTemplates();\r\n this.enableZoomOnSlideItemLoad();\r\n var tapped = null;\r\n this.core.outer.on('dblclick.lg', function (event) {\r\n if (!_this.$LG(event.target).hasClass('lg-image')) {\r\n return;\r\n }\r\n _this.setActualSize(_this.core.index, event);\r\n });\r\n this.core.outer.on('touchstart.lg', function (event) {\r\n var $target = _this.$LG(event.target);\r\n if (event.targetTouches.length === 1 &&\r\n $target.hasClass('lg-image')) {\r\n if (!tapped) {\r\n tapped = setTimeout(function () {\r\n tapped = null;\r\n }, 300);\r\n }\r\n else {\r\n clearTimeout(tapped);\r\n tapped = null;\r\n event.preventDefault();\r\n _this.setActualSize(_this.core.index, event);\r\n }\r\n }\r\n });\r\n // Update zoom on resize and orientationchange\r\n this.core.LGel.on(lGEvents.containerResize + \".zoom \" + lGEvents.rotateRight + \".zoom \" + lGEvents.rotateLeft + \".zoom \" + lGEvents.flipHorizontal + \".zoom \" + lGEvents.flipVertical + \".zoom\", function () {\r\n if (!_this.core.lgOpened || !_this.isImageSlide())\r\n return;\r\n _this.setPageCords();\r\n _this.setZoomEssentials();\r\n _this.zoomImage(_this.scale);\r\n });\r\n // Update zoom on resize and orientationchange\r\n this.$LG(window).on(\"scroll.lg.zoom.global\" + this.core.lgId, function () {\r\n if (!_this.core.lgOpened)\r\n return;\r\n _this.scrollTop = _this.$LG(window).scrollTop();\r\n });\r\n this.core.getElementById('lg-zoom-out').on('click.lg', function () {\r\n if (_this.core.outer.find('.lg-current .lg-image').get()) {\r\n _this.scale -= _this.settings.scale;\r\n _this.scale = _this.getScale(_this.scale);\r\n _this.beginZoom(_this.scale);\r\n _this.zoomImage(_this.scale);\r\n }\r\n });\r\n this.core.getElementById('lg-zoom-in').on('click.lg', function () {\r\n _this.zoomIn();\r\n });\r\n this.core.getElementById('lg-actual-size').on('click.lg', function () {\r\n _this.setActualSize(_this.core.index);\r\n });\r\n this.core.LGel.on(lGEvents.beforeOpen + \".zoom\", function () {\r\n _this.core.outer.find('.lg-item').removeClass('lg-zoomable');\r\n });\r\n this.core.LGel.on(lGEvents.afterOpen + \".zoom\", function () {\r\n _this.scrollTop = _this.$LG(window).scrollTop();\r\n // Set the initial value center\r\n _this.pageX = _this.core.outer.width() / 2;\r\n _this.pageY = _this.core.outer.height() / 2 + _this.scrollTop;\r\n _this.scale = 1;\r\n });\r\n // Reset zoom on slide change\r\n this.core.LGel.on(lGEvents.afterSlide + \".zoom\", function (event) {\r\n var prevIndex = event.detail.prevIndex;\r\n _this.scale = 1;\r\n _this.positionChanged = false;\r\n _this.resetZoom(prevIndex);\r\n if (_this.isImageSlide()) {\r\n _this.setZoomEssentials();\r\n }\r\n });\r\n // Drag option after zoom\r\n this.zoomDrag();\r\n this.pinchZoom();\r\n this.zoomSwipe();\r\n // Store the zoomable timeout value just to clear it while closing\r\n this.zoomableTimeout = false;\r\n this.positionChanged = false;\r\n };\r\n Zoom.prototype.zoomIn = function (scale) {\r\n // Allow zoom only on image\r\n if (!this.isImageSlide()) {\r\n return;\r\n }\r\n if (scale) {\r\n this.scale = scale;\r\n }\r\n else {\r\n this.scale += this.settings.scale;\r\n }\r\n this.scale = this.getScale(this.scale);\r\n this.beginZoom(this.scale);\r\n this.zoomImage(this.scale);\r\n };\r\n // Reset zoom effect\r\n Zoom.prototype.resetZoom = function (index) {\r\n this.core.outer.removeClass('lg-zoomed lg-zoom-drag-transition');\r\n var $actualSize = this.core.getElementById('lg-actual-size');\r\n var $item = this.core.getSlideItem(index !== undefined ? index : this.core.index);\r\n $actualSize\r\n .removeClass(this.settings.actualSizeIcons.zoomOut)\r\n .addClass(this.settings.actualSizeIcons.zoomIn);\r\n $item.find('.lg-img-wrap').first().removeAttr('style');\r\n $item.find('.lg-image').first().removeAttr('style');\r\n this.scale = 1;\r\n this.left = 0;\r\n this.top = 0;\r\n // Reset pagx pagy values to center\r\n this.setPageCords();\r\n };\r\n Zoom.prototype.getTouchDistance = function (e) {\r\n return Math.sqrt((e.targetTouches[0].pageX - e.targetTouches[1].pageX) *\r\n (e.targetTouches[0].pageX - e.targetTouches[1].pageX) +\r\n (e.targetTouches[0].pageY - e.targetTouches[1].pageY) *\r\n (e.targetTouches[0].pageY - e.targetTouches[1].pageY));\r\n };\r\n Zoom.prototype.pinchZoom = function () {\r\n var _this = this;\r\n var startDist = 0;\r\n var pinchStarted = false;\r\n var initScale = 1;\r\n var $item = this.core.getSlideItem(this.core.index);\r\n this.core.$inner.on('touchstart.lg', function (e) {\r\n $item = _this.core.getSlideItem(_this.core.index);\r\n if (!_this.isImageSlide()) {\r\n return;\r\n }\r\n if (e.targetTouches.length === 2 &&\r\n !_this.core.outer.hasClass('lg-first-slide-loading') &&\r\n (_this.$LG(e.target).hasClass('lg-item') ||\r\n $item.get().contains(e.target))) {\r\n initScale = _this.scale || 1;\r\n _this.core.outer.removeClass('lg-zoom-drag-transition lg-zoom-dragging');\r\n _this.core.touchAction = 'pinch';\r\n startDist = _this.getTouchDistance(e);\r\n }\r\n });\r\n this.core.$inner.on('touchmove.lg', function (e) {\r\n if (e.targetTouches.length === 2 &&\r\n _this.core.touchAction === 'pinch' &&\r\n (_this.$LG(e.target).hasClass('lg-item') ||\r\n $item.get().contains(e.target))) {\r\n e.preventDefault();\r\n var endDist = _this.getTouchDistance(e);\r\n var distance = startDist - endDist;\r\n if (!pinchStarted && Math.abs(distance) > 5) {\r\n pinchStarted = true;\r\n }\r\n if (pinchStarted) {\r\n _this.scale = Math.max(1, initScale + -distance * 0.008);\r\n _this.zoomImage(_this.scale);\r\n }\r\n }\r\n });\r\n this.core.$inner.on('touchend.lg', function (e) {\r\n if (_this.core.touchAction === 'pinch' &&\r\n (_this.$LG(e.target).hasClass('lg-item') ||\r\n $item.get().contains(e.target))) {\r\n pinchStarted = false;\r\n startDist = 0;\r\n if (_this.scale <= 1) {\r\n _this.resetZoom();\r\n }\r\n else {\r\n _this.scale = _this.getScale(_this.scale);\r\n _this.zoomImage(_this.scale);\r\n _this.core.outer.addClass('lg-zoomed');\r\n }\r\n _this.core.touchAction = undefined;\r\n }\r\n });\r\n };\r\n Zoom.prototype.touchendZoom = function (startCoords, endCoords, allowX, allowY, touchDuration, rotateValue) {\r\n var distanceXnew = endCoords.x - startCoords.x;\r\n var distanceYnew = endCoords.y - startCoords.y;\r\n var speedX = Math.abs(distanceXnew) / touchDuration + 1;\r\n var speedY = Math.abs(distanceYnew) / touchDuration + 1;\r\n if (speedX > 2) {\r\n speedX += 1;\r\n }\r\n if (speedY > 2) {\r\n speedY += 1;\r\n }\r\n distanceXnew = distanceXnew * speedX;\r\n distanceYnew = distanceYnew * speedY;\r\n var _LGel = this.core\r\n .getSlideItem(this.core.index)\r\n .find('.lg-img-wrap')\r\n .first();\r\n var distance = {};\r\n distance.x = this.left + distanceXnew * this.modifierX;\r\n distance.y = this.top + distanceYnew * this.modifierY;\r\n var possibleSwipeCords = this.getPossibleSwipeDragCords(rotateValue);\r\n if (Math.abs(distanceXnew) > 15 || Math.abs(distanceYnew) > 15) {\r\n if (allowY) {\r\n if (this.isBeyondPossibleTop(distance.y, possibleSwipeCords.minY)) {\r\n distance.y = possibleSwipeCords.minY;\r\n }\r\n else if (this.isBeyondPossibleBottom(distance.y, possibleSwipeCords.maxY)) {\r\n distance.y = possibleSwipeCords.maxY;\r\n }\r\n }\r\n if (allowX) {\r\n if (this.isBeyondPossibleLeft(distance.x, possibleSwipeCords.minX)) {\r\n distance.x = possibleSwipeCords.minX;\r\n }\r\n else if (this.isBeyondPossibleRight(distance.x, possibleSwipeCords.maxX)) {\r\n distance.x = possibleSwipeCords.maxX;\r\n }\r\n }\r\n if (allowY) {\r\n this.top = distance.y;\r\n }\r\n else {\r\n distance.y = this.top;\r\n }\r\n if (allowX) {\r\n this.left = distance.x;\r\n }\r\n else {\r\n distance.x = this.left;\r\n }\r\n this.setZoomSwipeStyles(_LGel, distance);\r\n this.positionChanged = true;\r\n }\r\n };\r\n Zoom.prototype.getZoomSwipeCords = function (startCoords, endCoords, allowX, allowY, possibleSwipeCords) {\r\n var distance = {};\r\n if (allowY) {\r\n distance.y =\r\n this.top + (endCoords.y - startCoords.y) * this.modifierY;\r\n if (this.isBeyondPossibleTop(distance.y, possibleSwipeCords.minY)) {\r\n var diffMinY = possibleSwipeCords.minY - distance.y;\r\n distance.y = possibleSwipeCords.minY - diffMinY / 6;\r\n }\r\n else if (this.isBeyondPossibleBottom(distance.y, possibleSwipeCords.maxY)) {\r\n var diffMaxY = distance.y - possibleSwipeCords.maxY;\r\n distance.y = possibleSwipeCords.maxY + diffMaxY / 6;\r\n }\r\n }\r\n else {\r\n distance.y = this.top;\r\n }\r\n if (allowX) {\r\n distance.x =\r\n this.left + (endCoords.x - startCoords.x) * this.modifierX;\r\n if (this.isBeyondPossibleLeft(distance.x, possibleSwipeCords.minX)) {\r\n var diffMinX = possibleSwipeCords.minX - distance.x;\r\n distance.x = possibleSwipeCords.minX - diffMinX / 6;\r\n }\r\n else if (this.isBeyondPossibleRight(distance.x, possibleSwipeCords.maxX)) {\r\n var difMaxX = distance.x - possibleSwipeCords.maxX;\r\n distance.x = possibleSwipeCords.maxX + difMaxX / 6;\r\n }\r\n }\r\n else {\r\n distance.x = this.left;\r\n }\r\n return distance;\r\n };\r\n Zoom.prototype.isBeyondPossibleLeft = function (x, minX) {\r\n return x >= minX;\r\n };\r\n Zoom.prototype.isBeyondPossibleRight = function (x, maxX) {\r\n return x <= maxX;\r\n };\r\n Zoom.prototype.isBeyondPossibleTop = function (y, minY) {\r\n return y >= minY;\r\n };\r\n Zoom.prototype.isBeyondPossibleBottom = function (y, maxY) {\r\n return y <= maxY;\r\n };\r\n Zoom.prototype.isImageSlide = function () {\r\n var currentItem = this.core.galleryItems[this.core.index];\r\n return this.core.getSlideType(currentItem) === 'image';\r\n };\r\n Zoom.prototype.getPossibleSwipeDragCords = function (rotateValue, scale) {\r\n var dataScale = scale || this.scale || 1;\r\n var elDataScale = Math.abs(dataScale);\r\n var _a = this.core.mediaContainerPosition, top = _a.top, bottom = _a.bottom;\r\n var topBottomSpacing = Math.abs(top - bottom) / 2;\r\n var minY = (this.imageYSize - this.containerRect.height) / 2 +\r\n topBottomSpacing * this.modifierX;\r\n var maxY = this.containerRect.height - this.imageYSize * elDataScale + minY;\r\n var minX = (this.imageXSize - this.containerRect.width) / 2;\r\n var maxX = this.containerRect.width - this.imageXSize * elDataScale + minX;\r\n var possibleSwipeCords = {\r\n minY: minY,\r\n maxY: maxY,\r\n minX: minX,\r\n maxX: maxX,\r\n };\r\n if (Math.abs(rotateValue) === 90) {\r\n possibleSwipeCords = {\r\n minY: minX,\r\n maxY: maxX,\r\n minX: minY,\r\n maxX: maxY,\r\n };\r\n }\r\n return possibleSwipeCords;\r\n };\r\n Zoom.prototype.setZoomSwipeStyles = function (LGel, distance) {\r\n LGel.css('transform', 'translate3d(' + distance.x + 'px, ' + distance.y + 'px, 0)');\r\n };\r\n Zoom.prototype.zoomSwipe = function () {\r\n var _this = this;\r\n var startCoords = {};\r\n var endCoords = {};\r\n var isMoved = false;\r\n // Allow x direction drag\r\n var allowX = false;\r\n // Allow Y direction drag\r\n var allowY = false;\r\n var startTime = new Date();\r\n var endTime = new Date();\r\n var possibleSwipeCords;\r\n var _LGel;\r\n var $item = this.core.getSlideItem(this.core.index);\r\n this.core.$inner.on('touchstart.lg', function (e) {\r\n // Allow zoom only on image\r\n if (!_this.isImageSlide()) {\r\n return;\r\n }\r\n $item = _this.core.getSlideItem(_this.core.index);\r\n if ((_this.$LG(e.target).hasClass('lg-item') ||\r\n $item.get().contains(e.target)) &&\r\n e.targetTouches.length === 1 &&\r\n _this.core.outer.hasClass('lg-zoomed')) {\r\n e.preventDefault();\r\n startTime = new Date();\r\n _this.core.touchAction = 'zoomSwipe';\r\n _LGel = _this.core\r\n .getSlideItem(_this.core.index)\r\n .find('.lg-img-wrap')\r\n .first();\r\n var dragAllowedAxises = _this.getDragAllowedAxises(Math.abs(_this.rotateValue));\r\n allowY = dragAllowedAxises.allowY;\r\n allowX = dragAllowedAxises.allowX;\r\n if (allowX || allowY) {\r\n startCoords = _this.getSwipeCords(e, Math.abs(_this.rotateValue));\r\n }\r\n possibleSwipeCords = _this.getPossibleSwipeDragCords(_this.rotateValue);\r\n // reset opacity and transition duration\r\n _this.core.outer.addClass('lg-zoom-dragging lg-zoom-drag-transition');\r\n }\r\n });\r\n this.core.$inner.on('touchmove.lg', function (e) {\r\n if (e.targetTouches.length === 1 &&\r\n _this.core.touchAction === 'zoomSwipe' &&\r\n (_this.$LG(e.target).hasClass('lg-item') ||\r\n $item.get().contains(e.target))) {\r\n e.preventDefault();\r\n _this.core.touchAction = 'zoomSwipe';\r\n endCoords = _this.getSwipeCords(e, Math.abs(_this.rotateValue));\r\n var distance = _this.getZoomSwipeCords(startCoords, endCoords, allowX, allowY, possibleSwipeCords);\r\n if (Math.abs(endCoords.x - startCoords.x) > 15 ||\r\n Math.abs(endCoords.y - startCoords.y) > 15) {\r\n isMoved = true;\r\n _this.setZoomSwipeStyles(_LGel, distance);\r\n }\r\n }\r\n });\r\n this.core.$inner.on('touchend.lg', function (e) {\r\n if (_this.core.touchAction === 'zoomSwipe' &&\r\n (_this.$LG(e.target).hasClass('lg-item') ||\r\n $item.get().contains(e.target))) {\r\n _this.core.touchAction = undefined;\r\n _this.core.outer.removeClass('lg-zoom-dragging');\r\n if (!isMoved) {\r\n return;\r\n }\r\n isMoved = false;\r\n endTime = new Date();\r\n var touchDuration = endTime.valueOf() - startTime.valueOf();\r\n _this.touchendZoom(startCoords, endCoords, allowX, allowY, touchDuration, _this.rotateValue);\r\n }\r\n });\r\n };\r\n Zoom.prototype.zoomDrag = function () {\r\n var _this = this;\r\n var startCoords = {};\r\n var endCoords = {};\r\n var isDragging = false;\r\n var isMoved = false;\r\n // Allow x direction drag\r\n var allowX = false;\r\n // Allow Y direction drag\r\n var allowY = false;\r\n var startTime;\r\n var endTime;\r\n var possibleSwipeCords;\r\n var _LGel;\r\n this.core.outer.on('mousedown.lg.zoom', function (e) {\r\n // Allow zoom only on image\r\n if (!_this.isImageSlide()) {\r\n return;\r\n }\r\n var $item = _this.core.getSlideItem(_this.core.index);\r\n if (_this.$LG(e.target).hasClass('lg-item') ||\r\n $item.get().contains(e.target)) {\r\n startTime = new Date();\r\n _LGel = _this.core\r\n .getSlideItem(_this.core.index)\r\n .find('.lg-img-wrap')\r\n .first();\r\n var dragAllowedAxises = _this.getDragAllowedAxises(Math.abs(_this.rotateValue));\r\n allowY = dragAllowedAxises.allowY;\r\n allowX = dragAllowedAxises.allowX;\r\n if (_this.core.outer.hasClass('lg-zoomed')) {\r\n if (_this.$LG(e.target).hasClass('lg-object') &&\r\n (allowX || allowY)) {\r\n e.preventDefault();\r\n startCoords = _this.getDragCords(e, Math.abs(_this.rotateValue));\r\n possibleSwipeCords = _this.getPossibleSwipeDragCords(_this.rotateValue);\r\n isDragging = true;\r\n // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723\r\n _this.core.outer.get().scrollLeft += 1;\r\n _this.core.outer.get().scrollLeft -= 1;\r\n _this.core.outer\r\n .removeClass('lg-grab')\r\n .addClass('lg-grabbing lg-zoom-drag-transition lg-zoom-dragging');\r\n // reset opacity and transition duration\r\n }\r\n }\r\n }\r\n });\r\n this.$LG(window).on(\"mousemove.lg.zoom.global\" + this.core.lgId, function (e) {\r\n if (isDragging) {\r\n isMoved = true;\r\n endCoords = _this.getDragCords(e, Math.abs(_this.rotateValue));\r\n var distance = _this.getZoomSwipeCords(startCoords, endCoords, allowX, allowY, possibleSwipeCords);\r\n _this.setZoomSwipeStyles(_LGel, distance);\r\n }\r\n });\r\n this.$LG(window).on(\"mouseup.lg.zoom.global\" + this.core.lgId, function (e) {\r\n if (isDragging) {\r\n endTime = new Date();\r\n isDragging = false;\r\n _this.core.outer.removeClass('lg-zoom-dragging');\r\n // Fix for chrome mouse move on click\r\n if (isMoved &&\r\n (startCoords.x !== endCoords.x ||\r\n startCoords.y !== endCoords.y)) {\r\n endCoords = _this.getDragCords(e, Math.abs(_this.rotateValue));\r\n var touchDuration = endTime.valueOf() - startTime.valueOf();\r\n _this.touchendZoom(startCoords, endCoords, allowX, allowY, touchDuration, _this.rotateValue);\r\n }\r\n isMoved = false;\r\n }\r\n _this.core.outer.removeClass('lg-grabbing').addClass('lg-grab');\r\n });\r\n };\r\n Zoom.prototype.closeGallery = function () {\r\n this.resetZoom();\r\n };\r\n Zoom.prototype.destroy = function () {\r\n // Unbind all events added by lightGallery zoom plugin\r\n this.$LG(window).off(\".lg.zoom.global\" + this.core.lgId);\r\n this.core.LGel.off('.lg.zoom');\r\n this.core.LGel.off('.zoom');\r\n clearTimeout(this.zoomableTimeout);\r\n this.zoomableTimeout = false;\r\n };\r\n return Zoom;\r\n}());\n\nexport default Zoom;\n//# sourceMappingURL=lg-zoom.es5.js.map\n","/*!\n * lightgallery | 2.5.0 | June 13th 2022\n * http://www.lightgalleryjs.com/\n * Copyright (c) 2020 Sachin Neravath;\n * @license GPLv3\n */\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\n\nvar thumbnailsSettings = {\r\n thumbnail: true,\r\n animateThumb: true,\r\n currentPagerPosition: 'middle',\r\n alignThumbnails: 'middle',\r\n thumbWidth: 100,\r\n thumbHeight: '80px',\r\n thumbMargin: 5,\r\n appendThumbnailsTo: '.lg-components',\r\n toggleThumb: false,\r\n enableThumbDrag: true,\r\n enableThumbSwipe: true,\r\n thumbnailSwipeThreshold: 10,\r\n loadYouTubeThumbnail: true,\r\n youTubeThumbSize: 1,\r\n thumbnailPluginStrings: {\r\n toggleThumbnails: 'Toggle thumbnails',\r\n },\r\n};\n\n/**\r\n * List of lightGallery events\r\n * All events should be documented here\r\n * Below interfaces are used to build the website documentations\r\n * */\r\nvar lGEvents = {\r\n afterAppendSlide: 'lgAfterAppendSlide',\r\n init: 'lgInit',\r\n hasVideo: 'lgHasVideo',\r\n containerResize: 'lgContainerResize',\r\n updateSlides: 'lgUpdateSlides',\r\n afterAppendSubHtml: 'lgAfterAppendSubHtml',\r\n beforeOpen: 'lgBeforeOpen',\r\n afterOpen: 'lgAfterOpen',\r\n slideItemLoad: 'lgSlideItemLoad',\r\n beforeSlide: 'lgBeforeSlide',\r\n afterSlide: 'lgAfterSlide',\r\n posterClick: 'lgPosterClick',\r\n dragStart: 'lgDragStart',\r\n dragMove: 'lgDragMove',\r\n dragEnd: 'lgDragEnd',\r\n beforeNextSlide: 'lgBeforeNextSlide',\r\n beforePrevSlide: 'lgBeforePrevSlide',\r\n beforeClose: 'lgBeforeClose',\r\n afterClose: 'lgAfterClose',\r\n rotateLeft: 'lgRotateLeft',\r\n rotateRight: 'lgRotateRight',\r\n flipHorizontal: 'lgFlipHorizontal',\r\n flipVertical: 'lgFlipVertical',\r\n autoplay: 'lgAutoplay',\r\n autoplayStart: 'lgAutoplayStart',\r\n autoplayStop: 'lgAutoplayStop',\r\n};\n\nvar Thumbnail = /** @class */ (function () {\r\n function Thumbnail(instance, $LG) {\r\n this.thumbOuterWidth = 0;\r\n this.thumbTotalWidth = 0;\r\n this.translateX = 0;\r\n this.thumbClickable = false;\r\n // get lightGallery core plugin instance\r\n this.core = instance;\r\n this.$LG = $LG;\r\n return this;\r\n }\r\n Thumbnail.prototype.init = function () {\r\n // extend module default settings with lightGallery core settings\r\n this.settings = __assign(__assign({}, thumbnailsSettings), this.core.settings);\r\n this.thumbOuterWidth = 0;\r\n this.thumbTotalWidth =\r\n this.core.galleryItems.length *\r\n (this.settings.thumbWidth + this.settings.thumbMargin);\r\n // Thumbnail animation value\r\n this.translateX = 0;\r\n this.setAnimateThumbStyles();\r\n if (!this.core.settings.allowMediaOverlap) {\r\n this.settings.toggleThumb = false;\r\n }\r\n if (this.settings.thumbnail) {\r\n this.build();\r\n if (this.settings.animateThumb) {\r\n if (this.settings.enableThumbDrag) {\r\n this.enableThumbDrag();\r\n }\r\n if (this.settings.enableThumbSwipe) {\r\n this.enableThumbSwipe();\r\n }\r\n this.thumbClickable = false;\r\n }\r\n else {\r\n this.thumbClickable = true;\r\n }\r\n this.toggleThumbBar();\r\n this.thumbKeyPress();\r\n }\r\n };\r\n Thumbnail.prototype.build = function () {\r\n var _this = this;\r\n this.setThumbMarkup();\r\n this.manageActiveClassOnSlideChange();\r\n this.$lgThumb.first().on('click.lg touchend.lg', function (e) {\r\n var $target = _this.$LG(e.target);\r\n if (!$target.hasAttribute('data-lg-item-id')) {\r\n return;\r\n }\r\n setTimeout(function () {\r\n // In IE9 and bellow touch does not support\r\n // Go to slide if browser does not support css transitions\r\n if (_this.thumbClickable && !_this.core.lgBusy) {\r\n var index = parseInt($target.attr('data-lg-item-id'));\r\n _this.core.slide(index, false, true, false);\r\n }\r\n }, 50);\r\n });\r\n this.core.LGel.on(lGEvents.beforeSlide + \".thumb\", function (event) {\r\n var index = event.detail.index;\r\n _this.animateThumb(index);\r\n });\r\n this.core.LGel.on(lGEvents.beforeOpen + \".thumb\", function () {\r\n _this.thumbOuterWidth = _this.core.outer.get().offsetWidth;\r\n });\r\n this.core.LGel.on(lGEvents.updateSlides + \".thumb\", function () {\r\n _this.rebuildThumbnails();\r\n });\r\n this.core.LGel.on(lGEvents.containerResize + \".thumb\", function () {\r\n if (!_this.core.lgOpened)\r\n return;\r\n setTimeout(function () {\r\n _this.thumbOuterWidth = _this.core.outer.get().offsetWidth;\r\n _this.animateThumb(_this.core.index);\r\n _this.thumbOuterWidth = _this.core.outer.get().offsetWidth;\r\n }, 50);\r\n });\r\n };\r\n Thumbnail.prototype.setThumbMarkup = function () {\r\n var thumbOuterClassNames = 'lg-thumb-outer ';\r\n if (this.settings.alignThumbnails) {\r\n thumbOuterClassNames += \"lg-thumb-align-\" + this.settings.alignThumbnails;\r\n }\r\n var html = \"
\\n
\\n
\\n
\";\r\n this.core.outer.addClass('lg-has-thumb');\r\n if (this.settings.appendThumbnailsTo === '.lg-components') {\r\n this.core.$lgComponents.append(html);\r\n }\r\n else {\r\n this.core.outer.append(html);\r\n }\r\n this.$thumbOuter = this.core.outer.find('.lg-thumb-outer').first();\r\n this.$lgThumb = this.core.outer.find('.lg-thumb').first();\r\n if (this.settings.animateThumb) {\r\n this.core.outer\r\n .find('.lg-thumb')\r\n .css('transition-duration', this.core.settings.speed + 'ms')\r\n .css('width', this.thumbTotalWidth + 'px')\r\n .css('position', 'relative');\r\n }\r\n this.setThumbItemHtml(this.core.galleryItems);\r\n };\r\n Thumbnail.prototype.enableThumbDrag = function () {\r\n var _this = this;\r\n var thumbDragUtils = {\r\n cords: {\r\n startX: 0,\r\n endX: 0,\r\n },\r\n isMoved: false,\r\n newTranslateX: 0,\r\n startTime: new Date(),\r\n endTime: new Date(),\r\n touchMoveTime: 0,\r\n };\r\n var isDragging = false;\r\n this.$thumbOuter.addClass('lg-grab');\r\n this.core.outer\r\n .find('.lg-thumb')\r\n .first()\r\n .on('mousedown.lg.thumb', function (e) {\r\n if (_this.thumbTotalWidth > _this.thumbOuterWidth) {\r\n // execute only on .lg-object\r\n e.preventDefault();\r\n thumbDragUtils.cords.startX = e.pageX;\r\n thumbDragUtils.startTime = new Date();\r\n _this.thumbClickable = false;\r\n isDragging = true;\r\n // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723\r\n _this.core.outer.get().scrollLeft += 1;\r\n _this.core.outer.get().scrollLeft -= 1;\r\n // *\r\n _this.$thumbOuter\r\n .removeClass('lg-grab')\r\n .addClass('lg-grabbing');\r\n }\r\n });\r\n this.$LG(window).on(\"mousemove.lg.thumb.global\" + this.core.lgId, function (e) {\r\n if (!_this.core.lgOpened)\r\n return;\r\n if (isDragging) {\r\n thumbDragUtils.cords.endX = e.pageX;\r\n thumbDragUtils = _this.onThumbTouchMove(thumbDragUtils);\r\n }\r\n });\r\n this.$LG(window).on(\"mouseup.lg.thumb.global\" + this.core.lgId, function () {\r\n if (!_this.core.lgOpened)\r\n return;\r\n if (thumbDragUtils.isMoved) {\r\n thumbDragUtils = _this.onThumbTouchEnd(thumbDragUtils);\r\n }\r\n else {\r\n _this.thumbClickable = true;\r\n }\r\n if (isDragging) {\r\n isDragging = false;\r\n _this.$thumbOuter.removeClass('lg-grabbing').addClass('lg-grab');\r\n }\r\n });\r\n };\r\n Thumbnail.prototype.enableThumbSwipe = function () {\r\n var _this = this;\r\n var thumbDragUtils = {\r\n cords: {\r\n startX: 0,\r\n endX: 0,\r\n },\r\n isMoved: false,\r\n newTranslateX: 0,\r\n startTime: new Date(),\r\n endTime: new Date(),\r\n touchMoveTime: 0,\r\n };\r\n this.$lgThumb.on('touchstart.lg', function (e) {\r\n if (_this.thumbTotalWidth > _this.thumbOuterWidth) {\r\n e.preventDefault();\r\n thumbDragUtils.cords.startX = e.targetTouches[0].pageX;\r\n _this.thumbClickable = false;\r\n thumbDragUtils.startTime = new Date();\r\n }\r\n });\r\n this.$lgThumb.on('touchmove.lg', function (e) {\r\n if (_this.thumbTotalWidth > _this.thumbOuterWidth) {\r\n e.preventDefault();\r\n thumbDragUtils.cords.endX = e.targetTouches[0].pageX;\r\n thumbDragUtils = _this.onThumbTouchMove(thumbDragUtils);\r\n }\r\n });\r\n this.$lgThumb.on('touchend.lg', function () {\r\n if (thumbDragUtils.isMoved) {\r\n thumbDragUtils = _this.onThumbTouchEnd(thumbDragUtils);\r\n }\r\n else {\r\n _this.thumbClickable = true;\r\n }\r\n });\r\n };\r\n // Rebuild thumbnails\r\n Thumbnail.prototype.rebuildThumbnails = function () {\r\n var _this = this;\r\n // Remove transitions\r\n this.$thumbOuter.addClass('lg-rebuilding-thumbnails');\r\n setTimeout(function () {\r\n _this.thumbTotalWidth =\r\n _this.core.galleryItems.length *\r\n (_this.settings.thumbWidth + _this.settings.thumbMargin);\r\n _this.$lgThumb.css('width', _this.thumbTotalWidth + 'px');\r\n _this.$lgThumb.empty();\r\n _this.setThumbItemHtml(_this.core.galleryItems);\r\n _this.animateThumb(_this.core.index);\r\n }, 50);\r\n setTimeout(function () {\r\n _this.$thumbOuter.removeClass('lg-rebuilding-thumbnails');\r\n }, 200);\r\n };\r\n // @ts-check\r\n Thumbnail.prototype.setTranslate = function (value) {\r\n this.$lgThumb.css('transform', 'translate3d(-' + value + 'px, 0px, 0px)');\r\n };\r\n Thumbnail.prototype.getPossibleTransformX = function (left) {\r\n if (left > this.thumbTotalWidth - this.thumbOuterWidth) {\r\n left = this.thumbTotalWidth - this.thumbOuterWidth;\r\n }\r\n if (left < 0) {\r\n left = 0;\r\n }\r\n return left;\r\n };\r\n Thumbnail.prototype.animateThumb = function (index) {\r\n this.$lgThumb.css('transition-duration', this.core.settings.speed + 'ms');\r\n if (this.settings.animateThumb) {\r\n var position = 0;\r\n switch (this.settings.currentPagerPosition) {\r\n case 'left':\r\n position = 0;\r\n break;\r\n case 'middle':\r\n position =\r\n this.thumbOuterWidth / 2 - this.settings.thumbWidth / 2;\r\n break;\r\n case 'right':\r\n position = this.thumbOuterWidth - this.settings.thumbWidth;\r\n }\r\n this.translateX =\r\n (this.settings.thumbWidth + this.settings.thumbMargin) * index -\r\n 1 -\r\n position;\r\n if (this.translateX > this.thumbTotalWidth - this.thumbOuterWidth) {\r\n this.translateX = this.thumbTotalWidth - this.thumbOuterWidth;\r\n }\r\n if (this.translateX < 0) {\r\n this.translateX = 0;\r\n }\r\n this.setTranslate(this.translateX);\r\n }\r\n };\r\n Thumbnail.prototype.onThumbTouchMove = function (thumbDragUtils) {\r\n thumbDragUtils.newTranslateX = this.translateX;\r\n thumbDragUtils.isMoved = true;\r\n thumbDragUtils.touchMoveTime = new Date().valueOf();\r\n thumbDragUtils.newTranslateX -=\r\n thumbDragUtils.cords.endX - thumbDragUtils.cords.startX;\r\n thumbDragUtils.newTranslateX = this.getPossibleTransformX(thumbDragUtils.newTranslateX);\r\n // move current slide\r\n this.setTranslate(thumbDragUtils.newTranslateX);\r\n this.$thumbOuter.addClass('lg-dragging');\r\n return thumbDragUtils;\r\n };\r\n Thumbnail.prototype.onThumbTouchEnd = function (thumbDragUtils) {\r\n thumbDragUtils.isMoved = false;\r\n thumbDragUtils.endTime = new Date();\r\n this.$thumbOuter.removeClass('lg-dragging');\r\n var touchDuration = thumbDragUtils.endTime.valueOf() -\r\n thumbDragUtils.startTime.valueOf();\r\n var distanceXnew = thumbDragUtils.cords.endX - thumbDragUtils.cords.startX;\r\n var speedX = Math.abs(distanceXnew) / touchDuration;\r\n // Some magical numbers\r\n // Can be improved\r\n if (speedX > 0.15 &&\r\n thumbDragUtils.endTime.valueOf() - thumbDragUtils.touchMoveTime < 30) {\r\n speedX += 1;\r\n if (speedX > 2) {\r\n speedX += 1;\r\n }\r\n speedX =\r\n speedX +\r\n speedX * (Math.abs(distanceXnew) / this.thumbOuterWidth);\r\n this.$lgThumb.css('transition-duration', Math.min(speedX - 1, 2) + 'settings');\r\n distanceXnew = distanceXnew * speedX;\r\n this.translateX = this.getPossibleTransformX(this.translateX - distanceXnew);\r\n this.setTranslate(this.translateX);\r\n }\r\n else {\r\n this.translateX = thumbDragUtils.newTranslateX;\r\n }\r\n if (Math.abs(thumbDragUtils.cords.endX - thumbDragUtils.cords.startX) <\r\n this.settings.thumbnailSwipeThreshold) {\r\n this.thumbClickable = true;\r\n }\r\n return thumbDragUtils;\r\n };\r\n Thumbnail.prototype.getThumbHtml = function (thumb, index) {\r\n var slideVideoInfo = this.core.galleryItems[index].__slideVideoInfo || {};\r\n var thumbImg;\r\n if (slideVideoInfo.youtube) {\r\n if (this.settings.loadYouTubeThumbnail) {\r\n thumbImg =\r\n '//img.youtube.com/vi/' +\r\n slideVideoInfo.youtube[1] +\r\n '/' +\r\n this.settings.youTubeThumbSize +\r\n '.jpg';\r\n }\r\n else {\r\n thumbImg = thumb;\r\n }\r\n }\r\n else {\r\n thumbImg = thumb;\r\n }\r\n return \"
\\n \\n
\";\r\n };\r\n Thumbnail.prototype.getThumbItemHtml = function (items) {\r\n var thumbList = '';\r\n for (var i = 0; i < items.length; i++) {\r\n thumbList += this.getThumbHtml(items[i].thumb, i);\r\n }\r\n return thumbList;\r\n };\r\n Thumbnail.prototype.setThumbItemHtml = function (items) {\r\n var thumbList = this.getThumbItemHtml(items);\r\n this.$lgThumb.html(thumbList);\r\n };\r\n Thumbnail.prototype.setAnimateThumbStyles = function () {\r\n if (this.settings.animateThumb) {\r\n this.core.outer.addClass('lg-animate-thumb');\r\n }\r\n };\r\n // Manage thumbnail active calss\r\n Thumbnail.prototype.manageActiveClassOnSlideChange = function () {\r\n var _this = this;\r\n // manage active class for thumbnail\r\n this.core.LGel.on(lGEvents.beforeSlide + \".thumb\", function (event) {\r\n var $thumb = _this.core.outer.find('.lg-thumb-item');\r\n var index = event.detail.index;\r\n $thumb.removeClass('active');\r\n $thumb.eq(index).addClass('active');\r\n });\r\n };\r\n // Toggle thumbnail bar\r\n Thumbnail.prototype.toggleThumbBar = function () {\r\n var _this = this;\r\n if (this.settings.toggleThumb) {\r\n this.core.outer.addClass('lg-can-toggle');\r\n this.core.$toolbar.append('');\r\n this.core.outer\r\n .find('.lg-toggle-thumb')\r\n .first()\r\n .on('click.lg', function () {\r\n _this.core.outer.toggleClass('lg-components-open');\r\n });\r\n }\r\n };\r\n Thumbnail.prototype.thumbKeyPress = function () {\r\n var _this = this;\r\n this.$LG(window).on(\"keydown.lg.thumb.global\" + this.core.lgId, function (e) {\r\n if (!_this.core.lgOpened || !_this.settings.toggleThumb)\r\n return;\r\n if (e.keyCode === 38) {\r\n e.preventDefault();\r\n _this.core.outer.addClass('lg-components-open');\r\n }\r\n else if (e.keyCode === 40) {\r\n e.preventDefault();\r\n _this.core.outer.removeClass('lg-components-open');\r\n }\r\n });\r\n };\r\n Thumbnail.prototype.destroy = function () {\r\n if (this.settings.thumbnail) {\r\n this.$LG(window).off(\".lg.thumb.global\" + this.core.lgId);\r\n this.core.LGel.off('.lg.thumb');\r\n this.core.LGel.off('.thumb');\r\n this.$thumbOuter.remove();\r\n this.core.outer.removeClass('lg-has-thumb');\r\n }\r\n };\r\n return Thumbnail;\r\n}());\n\nexport default Thumbnail;\n//# sourceMappingURL=lg-thumbnail.es5.js.map\n","/*!\n * lightgallery | 2.5.0 | June 13th 2022\n * http://www.lightgalleryjs.com/\n * Copyright (c) 2020 Sachin Neravath;\n * @license GPLv3\n */\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\n\nvar videoSettings = {\r\n autoplayFirstVideo: true,\r\n youTubePlayerParams: false,\r\n vimeoPlayerParams: false,\r\n wistiaPlayerParams: false,\r\n gotoNextSlideOnVideoEnd: true,\r\n autoplayVideoOnSlide: false,\r\n videojs: false,\r\n videojsTheme: '',\r\n videojsOptions: {},\r\n};\n\n/**\r\n * List of lightGallery events\r\n * All events should be documented here\r\n * Below interfaces are used to build the website documentations\r\n * */\r\nvar lGEvents = {\r\n afterAppendSlide: 'lgAfterAppendSlide',\r\n init: 'lgInit',\r\n hasVideo: 'lgHasVideo',\r\n containerResize: 'lgContainerResize',\r\n updateSlides: 'lgUpdateSlides',\r\n afterAppendSubHtml: 'lgAfterAppendSubHtml',\r\n beforeOpen: 'lgBeforeOpen',\r\n afterOpen: 'lgAfterOpen',\r\n slideItemLoad: 'lgSlideItemLoad',\r\n beforeSlide: 'lgBeforeSlide',\r\n afterSlide: 'lgAfterSlide',\r\n posterClick: 'lgPosterClick',\r\n dragStart: 'lgDragStart',\r\n dragMove: 'lgDragMove',\r\n dragEnd: 'lgDragEnd',\r\n beforeNextSlide: 'lgBeforeNextSlide',\r\n beforePrevSlide: 'lgBeforePrevSlide',\r\n beforeClose: 'lgBeforeClose',\r\n afterClose: 'lgAfterClose',\r\n rotateLeft: 'lgRotateLeft',\r\n rotateRight: 'lgRotateRight',\r\n flipHorizontal: 'lgFlipHorizontal',\r\n flipVertical: 'lgFlipVertical',\r\n autoplay: 'lgAutoplay',\r\n autoplayStart: 'lgAutoplayStart',\r\n autoplayStop: 'lgAutoplayStop',\r\n};\n\nvar param = function (obj) {\r\n return Object.keys(obj)\r\n .map(function (k) {\r\n return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k]);\r\n })\r\n .join('&');\r\n};\r\nvar getVimeoURLParams = function (defaultParams, videoInfo) {\r\n if (!videoInfo || !videoInfo.vimeo)\r\n return '';\r\n var urlParams = videoInfo.vimeo[2] || '';\r\n var defaultPlayerParams = defaultParams && Object.keys(defaultParams).length !== 0\r\n ? '&' + param(defaultParams)\r\n : '';\r\n // Support private video\r\n var urlWithHash = videoInfo.vimeo[0].split('/').pop() || '';\r\n var urlWithHashWithParams = urlWithHash.split('?')[0] || '';\r\n var hash = urlWithHashWithParams.split('#')[0];\r\n var isPrivate = videoInfo.vimeo[1] !== hash;\r\n if (isPrivate) {\r\n urlParams = urlParams.replace(\"/\" + hash, '');\r\n }\r\n urlParams =\r\n urlParams[0] == '?' ? '&' + urlParams.slice(1) : urlParams || '';\r\n // For vimeo last params gets priority if duplicates found\r\n var vimeoPlayerParams = \"?autoplay=0&muted=1\" + (isPrivate ? \"&h=\" + hash : '') + defaultPlayerParams + urlParams;\r\n return vimeoPlayerParams;\r\n};\n\n/**\r\n * Video module for lightGallery\r\n * Supports HTML5, YouTube, Vimeo, wistia videos\r\n *\r\n *\r\n * @ref Wistia\r\n * https://wistia.com/support/integrations/wordpress(How to get url)\r\n * https://wistia.com/support/developers/embed-options#using-embed-options\r\n * https://wistia.com/support/developers/player-api\r\n * https://wistia.com/support/developers/construct-an-embed-code\r\n * http://jsfiddle.net/xvnm7xLm/\r\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video\r\n * https://wistia.com/support/embed-and-share/sharing-videos\r\n * https://private-sharing.wistia.com/medias/mwhrulrucj\r\n *\r\n * @ref Youtube\r\n * https://developers.google.com/youtube/player_parameters#enablejsapi\r\n * https://developers.google.com/youtube/iframe_api_reference\r\n * https://developer.chrome.com/blog/autoplay/#iframe-delegation\r\n *\r\n * @ref Vimeo\r\n * https://stackoverflow.com/questions/10488943/easy-way-to-get-vimeo-id-from-a-vimeo-url\r\n * https://vimeo.zendesk.com/hc/en-us/articles/360000121668-Starting-playback-at-a-specific-timecode\r\n * https://vimeo.zendesk.com/hc/en-us/articles/360001494447-Using-Player-Parameters\r\n */\r\nvar Video = /** @class */ (function () {\r\n function Video(instance) {\r\n // get lightGallery core plugin instance\r\n this.core = instance;\r\n this.settings = __assign(__assign({}, videoSettings), this.core.settings);\r\n return this;\r\n }\r\n Video.prototype.init = function () {\r\n var _this = this;\r\n /**\r\n * Event triggered when video url found without poster\r\n * Append video HTML\r\n * Play if autoplayFirstVideo is true\r\n */\r\n this.core.LGel.on(lGEvents.hasVideo + \".video\", this.onHasVideo.bind(this));\r\n this.core.LGel.on(lGEvents.posterClick + \".video\", function () {\r\n var $el = _this.core.getSlideItem(_this.core.index);\r\n _this.loadVideoOnPosterClick($el);\r\n });\r\n this.core.LGel.on(lGEvents.slideItemLoad + \".video\", this.onSlideItemLoad.bind(this));\r\n // @desc fired immediately before each slide transition.\r\n this.core.LGel.on(lGEvents.beforeSlide + \".video\", this.onBeforeSlide.bind(this));\r\n // @desc fired immediately after each slide transition.\r\n this.core.LGel.on(lGEvents.afterSlide + \".video\", this.onAfterSlide.bind(this));\r\n };\r\n /**\r\n * @desc Event triggered when a slide is completely loaded\r\n *\r\n * @param {Event} event - lightGalley custom event\r\n */\r\n Video.prototype.onSlideItemLoad = function (event) {\r\n var _this = this;\r\n var _a = event.detail, isFirstSlide = _a.isFirstSlide, index = _a.index;\r\n // Should check the active slide as well as user may have moved to different slide before the first slide is loaded\r\n if (this.settings.autoplayFirstVideo &&\r\n isFirstSlide &&\r\n index === this.core.index) {\r\n // Delay is just for the transition effect on video load\r\n setTimeout(function () {\r\n _this.loadAndPlayVideo(index);\r\n }, 200);\r\n }\r\n // Should not call on first slide. should check only if the slide is active\r\n if (!isFirstSlide &&\r\n this.settings.autoplayVideoOnSlide &&\r\n index === this.core.index) {\r\n this.loadAndPlayVideo(index);\r\n }\r\n };\r\n /**\r\n * @desc Event triggered when video url or poster found\r\n * Append video HTML is poster is not given\r\n * Play if autoplayFirstVideo is true\r\n *\r\n * @param {Event} event - Javascript Event object.\r\n */\r\n Video.prototype.onHasVideo = function (event) {\r\n var _a = event.detail, index = _a.index, src = _a.src, html5Video = _a.html5Video, hasPoster = _a.hasPoster;\r\n if (!hasPoster) {\r\n // All functions are called separately if poster exist in loadVideoOnPosterClick function\r\n this.appendVideos(this.core.getSlideItem(index), {\r\n src: src,\r\n addClass: 'lg-object',\r\n index: index,\r\n html5Video: html5Video,\r\n });\r\n // Automatically navigate to next slide once video reaches the end.\r\n this.gotoNextSlideOnVideoEnd(src, index);\r\n }\r\n };\r\n /**\r\n * @desc fired immediately before each slide transition.\r\n * Pause the previous video\r\n * Hide the download button if the slide contains YouTube, Vimeo, or Wistia videos.\r\n *\r\n * @param {Event} event - Javascript Event object.\r\n * @param {number} prevIndex - Previous index of the slide.\r\n * @param {number} index - Current index of the slide\r\n */\r\n Video.prototype.onBeforeSlide = function (event) {\r\n if (this.core.lGalleryOn) {\r\n var prevIndex = event.detail.prevIndex;\r\n this.pauseVideo(prevIndex);\r\n }\r\n };\r\n /**\r\n * @desc fired immediately after each slide transition.\r\n * Play video if autoplayVideoOnSlide option is enabled.\r\n *\r\n * @param {Event} event - Javascript Event object.\r\n * @param {number} prevIndex - Previous index of the slide.\r\n * @param {number} index - Current index of the slide\r\n * @todo should check on onSlideLoad as well if video is not loaded on after slide\r\n */\r\n Video.prototype.onAfterSlide = function (event) {\r\n var _this = this;\r\n var _a = event.detail, index = _a.index, prevIndex = _a.prevIndex;\r\n // Do not call on first slide\r\n var $slide = this.core.getSlideItem(index);\r\n if (this.settings.autoplayVideoOnSlide && index !== prevIndex) {\r\n if ($slide.hasClass('lg-complete')) {\r\n setTimeout(function () {\r\n _this.loadAndPlayVideo(index);\r\n }, 100);\r\n }\r\n }\r\n };\r\n Video.prototype.loadAndPlayVideo = function (index) {\r\n var $slide = this.core.getSlideItem(index);\r\n var currentGalleryItem = this.core.galleryItems[index];\r\n if (currentGalleryItem.poster) {\r\n this.loadVideoOnPosterClick($slide, true);\r\n }\r\n else {\r\n this.playVideo(index);\r\n }\r\n };\r\n /**\r\n * Play HTML5, Youtube, Vimeo or Wistia videos in a particular slide.\r\n * @param {number} index - Index of the slide\r\n */\r\n Video.prototype.playVideo = function (index) {\r\n this.controlVideo(index, 'play');\r\n };\r\n /**\r\n * Pause HTML5, Youtube, Vimeo or Wistia videos in a particular slide.\r\n * @param {number} index - Index of the slide\r\n */\r\n Video.prototype.pauseVideo = function (index) {\r\n this.controlVideo(index, 'pause');\r\n };\r\n Video.prototype.getVideoHtml = function (src, addClass, index, html5Video) {\r\n var video = '';\r\n var videoInfo = this.core.galleryItems[index]\r\n .__slideVideoInfo || {};\r\n var currentGalleryItem = this.core.galleryItems[index];\r\n var videoTitle = currentGalleryItem.title || currentGalleryItem.alt;\r\n videoTitle = videoTitle ? 'title=\"' + videoTitle + '\"' : '';\r\n var commonIframeProps = \"allowtransparency=\\\"true\\\"\\n frameborder=\\\"0\\\"\\n scrolling=\\\"no\\\"\\n allowfullscreen\\n mozallowfullscreen\\n webkitallowfullscreen\\n oallowfullscreen\\n msallowfullscreen\";\r\n if (videoInfo.youtube) {\r\n var videoId = 'lg-youtube' + index;\r\n var slideUrlParams = videoInfo.youtube[2]\r\n ? videoInfo.youtube[2] + '&'\r\n : '';\r\n // For youtube first parms gets priority if duplicates found\r\n var youTubePlayerParams = \"?\" + slideUrlParams + \"wmode=opaque&autoplay=0&mute=1&enablejsapi=1\";\r\n var playerParams = youTubePlayerParams +\r\n (this.settings.youTubePlayerParams\r\n ? '&' + param(this.settings.youTubePlayerParams)\r\n : '');\r\n video = \"\";\r\n }\r\n else if (videoInfo.vimeo) {\r\n var videoId = 'lg-vimeo' + index;\r\n var playerParams = getVimeoURLParams(this.settings.vimeoPlayerParams, videoInfo);\r\n video = \"\";\r\n }\r\n else if (videoInfo.wistia) {\r\n var wistiaId = 'lg-wistia' + index;\r\n var playerParams = param(this.settings.wistiaPlayerParams);\r\n playerParams = playerParams ? '?' + playerParams : '';\r\n video = \"\";\r\n }\r\n else if (videoInfo.html5) {\r\n var html5VideoMarkup = '';\r\n for (var i = 0; i < html5Video.source.length; i++) {\r\n html5VideoMarkup += \"\";\r\n }\r\n if (html5Video.tracks) {\r\n var _loop_1 = function (i) {\r\n var trackAttributes = '';\r\n var track = html5Video.tracks[i];\r\n Object.keys(track || {}).forEach(function (key) {\r\n trackAttributes += key + \"=\\\"\" + track[key] + \"\\\" \";\r\n });\r\n html5VideoMarkup += \"\";\r\n };\r\n for (var i = 0; i < html5Video.tracks.length; i++) {\r\n _loop_1(i);\r\n }\r\n }\r\n var html5VideoAttrs_1 = '';\r\n var videoAttributes_1 = html5Video.attributes || {};\r\n Object.keys(videoAttributes_1 || {}).forEach(function (key) {\r\n html5VideoAttrs_1 += key + \"=\\\"\" + videoAttributes_1[key] + \"\\\" \";\r\n });\r\n video = \"\";\r\n }\r\n return video;\r\n };\r\n /**\r\n * @desc - Append videos to the slide\r\n *\r\n * @param {HTMLElement} el - slide element\r\n * @param {Object} videoParams - Video parameters, Contains src, class, index, htmlVideo\r\n */\r\n Video.prototype.appendVideos = function (el, videoParams) {\r\n var _a;\r\n var videoHtml = this.getVideoHtml(videoParams.src, videoParams.addClass, videoParams.index, videoParams.html5Video);\r\n el.find('.lg-video-cont').append(videoHtml);\r\n var $videoElement = el.find('.lg-video-object').first();\r\n if (videoParams.html5Video) {\r\n $videoElement.on('mousedown.lg.video', function (e) {\r\n e.stopPropagation();\r\n });\r\n }\r\n if (this.settings.videojs && ((_a = this.core.galleryItems[videoParams.index].__slideVideoInfo) === null || _a === void 0 ? void 0 : _a.html5)) {\r\n try {\r\n return videojs($videoElement.get(), this.settings.videojsOptions);\r\n }\r\n catch (e) {\r\n console.error('lightGallery:- Make sure you have included videojs');\r\n }\r\n }\r\n };\r\n Video.prototype.gotoNextSlideOnVideoEnd = function (src, index) {\r\n var _this = this;\r\n var $videoElement = this.core\r\n .getSlideItem(index)\r\n .find('.lg-video-object')\r\n .first();\r\n var videoInfo = this.core.galleryItems[index].__slideVideoInfo || {};\r\n if (this.settings.gotoNextSlideOnVideoEnd) {\r\n if (videoInfo.html5) {\r\n $videoElement.on('ended', function () {\r\n _this.core.goToNextSlide();\r\n });\r\n }\r\n else if (videoInfo.vimeo) {\r\n try {\r\n // https://github.com/vimeo/player.js/#ended\r\n new Vimeo.Player($videoElement.get()).on('ended', function () {\r\n _this.core.goToNextSlide();\r\n });\r\n }\r\n catch (e) {\r\n console.error('lightGallery:- Make sure you have included //github.com/vimeo/player.js');\r\n }\r\n }\r\n else if (videoInfo.wistia) {\r\n try {\r\n window._wq = window._wq || [];\r\n // @todo Event is gettign triggered multiple times\r\n window._wq.push({\r\n id: $videoElement.attr('id'),\r\n onReady: function (video) {\r\n video.bind('end', function () {\r\n _this.core.goToNextSlide();\r\n });\r\n },\r\n });\r\n }\r\n catch (e) {\r\n console.error('lightGallery:- Make sure you have included //fast.wistia.com/assets/external/E-v1.js');\r\n }\r\n }\r\n }\r\n };\r\n Video.prototype.controlVideo = function (index, action) {\r\n var $videoElement = this.core\r\n .getSlideItem(index)\r\n .find('.lg-video-object')\r\n .first();\r\n var videoInfo = this.core.galleryItems[index].__slideVideoInfo || {};\r\n if (!$videoElement.get())\r\n return;\r\n if (videoInfo.youtube) {\r\n try {\r\n $videoElement.get().contentWindow.postMessage(\"{\\\"event\\\":\\\"command\\\",\\\"func\\\":\\\"\" + action + \"Video\\\",\\\"args\\\":\\\"\\\"}\", '*');\r\n }\r\n catch (e) {\r\n console.error(\"lightGallery:- \" + e);\r\n }\r\n }\r\n else if (videoInfo.vimeo) {\r\n try {\r\n new Vimeo.Player($videoElement.get())[action]();\r\n }\r\n catch (e) {\r\n console.error('lightGallery:- Make sure you have included //github.com/vimeo/player.js');\r\n }\r\n }\r\n else if (videoInfo.html5) {\r\n if (this.settings.videojs) {\r\n try {\r\n videojs($videoElement.get())[action]();\r\n }\r\n catch (e) {\r\n console.error('lightGallery:- Make sure you have included videojs');\r\n }\r\n }\r\n else {\r\n $videoElement.get()[action]();\r\n }\r\n }\r\n else if (videoInfo.wistia) {\r\n try {\r\n window._wq = window._wq || [];\r\n // @todo Find a way to destroy wistia player instance\r\n window._wq.push({\r\n id: $videoElement.attr('id'),\r\n onReady: function (video) {\r\n video[action]();\r\n },\r\n });\r\n }\r\n catch (e) {\r\n console.error('lightGallery:- Make sure you have included //fast.wistia.com/assets/external/E-v1.js');\r\n }\r\n }\r\n };\r\n Video.prototype.loadVideoOnPosterClick = function ($el, forcePlay) {\r\n var _this = this;\r\n // check slide has poster\r\n if (!$el.hasClass('lg-video-loaded')) {\r\n // check already video element present\r\n if (!$el.hasClass('lg-has-video')) {\r\n $el.addClass('lg-has-video');\r\n var _html = void 0;\r\n var _src = this.core.galleryItems[this.core.index].src;\r\n var video = this.core.galleryItems[this.core.index].video;\r\n if (video) {\r\n _html =\r\n typeof video === 'string' ? JSON.parse(video) : video;\r\n }\r\n var videoJsPlayer_1 = this.appendVideos($el, {\r\n src: _src,\r\n addClass: '',\r\n index: this.core.index,\r\n html5Video: _html,\r\n });\r\n this.gotoNextSlideOnVideoEnd(_src, this.core.index);\r\n var $tempImg = $el.find('.lg-object').first().get();\r\n // @todo make sure it is working\r\n $el.find('.lg-video-cont').first().append($tempImg);\r\n $el.addClass('lg-video-loading');\r\n videoJsPlayer_1 &&\r\n videoJsPlayer_1.ready(function () {\r\n videoJsPlayer_1.on('loadedmetadata', function () {\r\n _this.onVideoLoadAfterPosterClick($el, _this.core.index);\r\n });\r\n });\r\n $el.find('.lg-video-object')\r\n .first()\r\n .on('load.lg error.lg loadedmetadata.lg', function () {\r\n setTimeout(function () {\r\n _this.onVideoLoadAfterPosterClick($el, _this.core.index);\r\n }, 50);\r\n });\r\n }\r\n else {\r\n this.playVideo(this.core.index);\r\n }\r\n }\r\n else if (forcePlay) {\r\n this.playVideo(this.core.index);\r\n }\r\n };\r\n Video.prototype.onVideoLoadAfterPosterClick = function ($el, index) {\r\n $el.addClass('lg-video-loaded');\r\n this.playVideo(index);\r\n };\r\n Video.prototype.destroy = function () {\r\n this.core.LGel.off('.lg.video');\r\n this.core.LGel.off('.video');\r\n };\r\n return Video;\r\n}());\n\nexport default Video;\n//# sourceMappingURL=lg-video.es5.js.map\n","import 'inputmask';\r\nimport 'inputmask-multi';\r\nimport {ScrollSpy, Collapse, Popover} from 'bootstrap';\r\nimport validate from 'jquery-validation';\r\nimport steps from 'jquery-steps';\r\nimport SmoothScroll from 'smooth-scroll';\r\nimport Tick from '@pqina/flip';\r\nimport sourcebuster from 'sourcebuster';\r\nimport profileTemplate from '@/profile.handlebars';\r\nimport lightGallery from 'lightgallery';\r\nimport lgZoom from 'lightgallery/plugins/zoom';\r\nimport lgThumbnail from 'lightgallery/plugins/thumbnail';\r\nimport lgVideo from 'lightgallery/plugins/video';\r\n// import horwheel from 'horwheel';\r\n\r\n$(document).ready(() => {\r\n const element = document.querySelector('#countdown');\r\n const now = new Date();\r\n\r\n if (startDate && startDate >= now) {\r\n const tick = Tick.DOM.create(element, {\r\n didInit: (tick) => {\r\n element.style.display = 'block';\r\n\r\n const locale = {\r\n DAY_PLURAL: 'дней',\r\n DAY_SINGULAR: 'день',\r\n HOUR_PLURAL: 'часов',\r\n HOUR_SINGULAR: 'час',\r\n MINUTE_PLURAL: 'мин',\r\n MINUTE_SINGULAR: 'мин',\r\n SECOND_PLURAL: 'сек',\r\n SECOND_SINGULAR: 'сек',\r\n };\r\n\r\n for (let key in locale) {\r\n if (!locale.hasOwnProperty(key)) {\r\n continue;\r\n }\r\n tick.setConstant(key, locale[key]);\r\n }\r\n\r\n const counter = Tick.count.down(startDate.toISOString());\r\n counter.onupdate = (value) => {\r\n tick.value = value;\r\n };\r\n\r\n counter.onended = () => {\r\n element.style.display = 'none';\r\n };\r\n }\r\n });\r\n\r\n }\r\n\r\n // Navigation Bar\r\n\r\n const collapse = new Collapse(document.querySelector('.navbar-collapse'), {toggle: false});\r\n $('.navbar-brand, .nav-link').click(() => {\r\n collapse.hide()\r\n });\r\n\r\n const navbarCollapse = () => {\r\n const $nav = $('#navigation');\r\n if ($nav.offset().top > 100) {\r\n $nav.addClass('navbar-shrink');\r\n } else {\r\n $nav.removeClass('navbar-shrink');\r\n }\r\n }\r\n\r\n navbarCollapse();\r\n $(window).scroll(navbarCollapse);\r\n\r\n new ScrollSpy(document.body, {target: '#navigation', offset: 56});\r\n\r\n //$('body').scrollspy();\r\n\r\n // Smooth Scroll\r\n\r\n const scroll = new SmoothScroll('a[href*=\"#\"]', {speed: 250, offset: 56});\r\n document.addEventListener('scrollStart', (event) => {\r\n if (event.detail && event.detail.anchor && event.detail.anchor.id) {\r\n const anchor = event.detail.anchor;\r\n const toggle = event.detail.toggle;\r\n const id = anchor.id;\r\n if (id.includes('become') && $(anchor).is(':hidden')) {\r\n event.preventDefault();\r\n $(anchor).slideDown('fast', () => {\r\n scroll.animateScroll(anchor, toggle);\r\n });\r\n }\r\n }\r\n }, false);\r\n\r\n // Promo buttons next block\r\n\r\n $('.btn-next').each((index, el) => {\r\n const $el = $(el);\r\n const $span = $el.children('span');\r\n const $currentSection = $el.parents('section');\r\n if ($currentSection && $span) {\r\n const $nextSection = $currentSection.nextAll('section');\r\n if ($nextSection) {\r\n const anchor = `#${$nextSection.attr('id')}`\r\n const btn = $nextSection.data('btn');\r\n if (anchor) $el.attr('href', anchor);\r\n if (btn) $span.html(btn);\r\n if (anchor && btn) $el.show().css('display', 'inline-block');\r\n }\r\n }\r\n });\r\n\r\n // FlipClock Countdown\r\n\r\n //if (countdown) {\r\n // const el = document.querySelector('#countdown');\r\n // const clock = new FlipClock(el, countdown, {\r\n // clockFace: 'DailyCounter',\r\n // language: 'ru',\r\n // autoStart: true,\r\n // countdown: true,\r\n // callbacks: {\r\n // stop: () => { $('#countdown').slideToggle(); }\r\n // }\r\n // });\r\n //}\r\n\r\n // Validation \r\n\r\n\r\n // Register Form\r\n\r\n function normalize(value) {\r\n return $.trim(value);\r\n }\r\n\r\n $.validator.setDefaults({\r\n onfocusout: function (e) {\r\n this.element(e);\r\n },\r\n onkeyup: false,\r\n highlight: (element) => {\r\n $(element).closest('.form-control').removeClass('is-valid').addClass('is-invalid');\r\n },\r\n unhighlight: (element) => {\r\n $(element).closest('.form-control').removeClass('is-invalid').addClass('is-valid');\r\n },\r\n errorElement: 'div',\r\n errorClass: 'invalid-feedback',\r\n errorPlacement: (error, element) => {\r\n if (element.parent('.input-group-prepend').length) {\r\n $(element).siblings(\".invalid-feedback\").append(error);\r\n } else {\r\n if (element.attr('id') === 'agree') {\r\n const parent = element.parent();\r\n parent.append(error);\r\n } else if (element.attr('name') === 'FormatID') {\r\n error.appendTo('.format-block');\r\n } else {\r\n error.insertAfter(element);\r\n }\r\n }\r\n }\r\n });\r\n\r\n $.validator.addMethod('cyrillic', function (value, element, regexp) {\r\n return this.optional(element) || regexp.test(value);\r\n });\r\n\r\n\r\n $('#speaker-form').validate({\r\n normalizer: normalize,\r\n rules: {\r\n FullName: {\r\n required: true,\r\n minlength: 3,\r\n maxlength: 100,\r\n cyrillic: /^[а-яiёәіңғүұқөһ\\-\\s]+$/iu\r\n },\r\n Title: {\r\n required: true,\r\n minlength: 2,\r\n maxlength: 1000\r\n },\r\n Company: {\r\n required: true,\r\n minlength: 2,\r\n maxlength: 1000,\r\n },\r\n Mail: {\r\n required: true,\r\n maxlength: 1000,\r\n email: true\r\n },\r\n Mobile: {\r\n required: true,\r\n maxlength: 55\r\n },\r\n Subject: {\r\n minlength: 2,\r\n maxlength: 4000\r\n },\r\n },\r\n messages: {\r\n FullName: {\r\n required: 'Заполните имя и фамилию',\r\n minlength: 'Слишком короткое имя',\r\n maxlength: 'Имя и фамилия не должны превышать 100 знаков',\r\n cyrillic: 'Заполняйте имя и фамилию кириллицей'\r\n },\r\n Title: {\r\n required: 'Заполните должность',\r\n minlength: 'Слишком короткая должность (мин 2 знака)',\r\n maxlength: 'Должность не должна превышать 1000 знаков'\r\n },\r\n Company: {\r\n required: 'Заполните навзвание организации',\r\n minlength: 'Слишком короткое название организации',\r\n maxlength: 'Название организации не должно превышать 1000 знаков'\r\n },\r\n Mail: {\r\n required: 'Заполните адрес почты',\r\n maxlength: 'Адрес не должен превышать 1000 знаков',\r\n email: 'Неверный формат адреса'\r\n },\r\n Mobile: {\r\n required: 'Заполните номер',\r\n maxlength: 'Номер не должен превышать 55 знаков'\r\n },\r\n Subject: {\r\n minlength: 'Слишком короткая тема доклада или область экспертизы',\r\n maxlength: 'Тема доклада или область экспертизы не должна превышать 4000 знаков'\r\n }\r\n },\r\n submitHandler: (form) => {\r\n if ($(form).valid()) {\r\n $('#speakerSubmit').prop('disabled', true);\r\n form.submit();\r\n }\r\n }\r\n });\r\n\r\n $('#sponsor-form').validate({\r\n normalizer: normalize,\r\n rules: {\r\n FullName: {\r\n required: true,\r\n minlength: 3,\r\n maxlength: 100,\r\n cyrillic: /^[а-яiёәіңғүұқөһ\\-\\s]+$/iu\r\n },\r\n Title: {\r\n required: true,\r\n minlength: 2,\r\n maxlength: 1000\r\n },\r\n Company: {\r\n required: true,\r\n minlength: 2,\r\n maxlength: 1000\r\n },\r\n Mail: {\r\n required: true,\r\n maxlength: 1000,\r\n email: true\r\n },\r\n Mobile: {\r\n required: true,\r\n maxlength: 55\r\n }\r\n },\r\n messages: {\r\n FullName: {\r\n required: 'Заполните имя и фамилию',\r\n minlength: 'Слишком короткое имя',\r\n maxlength: 'Имя и фамилия не должны превышать 100 знаков',\r\n cyrillic: 'Заполняйте имя и фамилию кириллицей'\r\n },\r\n Title: {\r\n required: 'Заполните должность',\r\n minlength: 'Слишком короткая должность (мин 2 знака)',\r\n maxlength: 'Должность не должна превышать 1000 знаков'\r\n },\r\n Company: {\r\n required: 'Заполните название организации',\r\n minlength: 'Слишком короткое название организации',\r\n maxlength: 'Название организации не должно превышать 1000 знаков'\r\n },\r\n Mail: {\r\n required: 'Заполните адрес почты',\r\n maxlength: 'Адрес не должен превышать 1000 знаков',\r\n email: 'Неверный формат адреса'\r\n },\r\n Mobile: {\r\n required: 'Заполните номер',\r\n maxlength: 'Номер не должен превышать 55 знаков'\r\n }\r\n },\r\n submitHandler: (form) => {\r\n if ($(form).valid()) {\r\n $('#sponsorSubmit').prop('disabled', true);\r\n form.submit();\r\n }\r\n }\r\n });\r\n\r\n const $attendeeForm = $('#attendee-form');\r\n const $conference = $('#conference');\r\n\r\n $attendeeForm.validate({\r\n rules: {\r\n SearchLastName: {\r\n required: true,\r\n maxlength: 100,\r\n cyrillic: /^[а-яiёәіңғүұқөһ\\-\\s]+$/iu\r\n },\r\n SearchMobile: {\r\n required: true,\r\n maxlength: 55,\r\n remote: {\r\n type: 'POST',\r\n url: '/api/register/phone',\r\n data: {\r\n conference: () => $conference.val(),\r\n number: () => $('#searchMobile').val(),\r\n type: 'mobile'\r\n }\r\n }\r\n },\r\n FirstName: {\r\n required: true,\r\n maxlength: 100,\r\n cyrillic: /^[а-яiёәіңғүұқөһ\\-\\s]+$/iu\r\n },\r\n LastName: {\r\n required: true,\r\n maxlength: 100,\r\n cyrillic: /^[а-яiёәіңғүұқөһ\\-\\s]+$/iu\r\n },\r\n MidName: {\r\n minlength: 2,\r\n maxlength: 100,\r\n cyrillic: /^[а-яiёәіңғүұқөһ\\-\\s]+$/iu\r\n },\r\n Title: {\r\n required: true,\r\n minlength: 2,\r\n maxlength: 1000\r\n },\r\n Company: {\r\n required: true,\r\n minlength: 2,\r\n maxlength: 1000\r\n },\r\n Alias: {\r\n minlength: 2,\r\n maxlength: 1000\r\n },\r\n Phone: {\r\n required: true,\r\n maxlength: 55,\r\n remote: {\r\n type: 'POST',\r\n url: '/api/register/phone',\r\n data: {\r\n conference: () => $conference.val(),\r\n number: () => $('#phone').val(),\r\n type: 'phone'\r\n }\r\n }\r\n },\r\n Extension: {\r\n maxlength: 10\r\n },\r\n Mobile: {\r\n required: true,\r\n maxlength: 55,\r\n remote: {\r\n type: 'POST',\r\n url: '/api/register/phone',\r\n data: {\r\n conference: () => $conference.val(),\r\n number: () => $('#mobile').val(),\r\n type: 'mobile'\r\n }\r\n }\r\n },\r\n Mail: {\r\n required: true,\r\n maxlength: 1000,\r\n email: true\r\n },\r\n Personal: {\r\n maxlength: 1000,\r\n email: true\r\n },\r\n FormatID: {\r\n required: true\r\n },\r\n Agree: {\r\n required: true\r\n }\r\n },\r\n messages: {\r\n SearchLastName: {\r\n required: 'Фамилию необходимо заполнить',\r\n maxlength: 'Фамилия не должна превышать 100 знаков',\r\n cyrillic: 'Пожалуйста заполняйте фамилию кириллицей'\r\n },\r\n SearchMobile: {\r\n required: 'Заполните мобильный телефон',\r\n maxlength: 'Мобильный телефон не должен превышать 55 знаков'\r\n },\r\n FirstName: {\r\n required: 'Имя необходимо заполнить',\r\n maxlength: 'Имя не должно превышать 100 знаков',\r\n cyrillic: 'Пожалуйста заполняйте имя кириллицей'\r\n },\r\n LastName: {\r\n required: 'Фамилию необходимо заполнить',\r\n maxlength: 'Фамилия не должна превышать 100 знаков',\r\n cyrillic: 'Пожалуйста заполняйте фамилию кириллицей'\r\n },\r\n MidName: {\r\n minlength: 'Слишком короткое отчество (мин 2 знака)',\r\n maxlength: 'Отчество не должно превышать 100 знаков',\r\n cyrillic: 'Пожалуйста заполняйте отчество кириллицей'\r\n },\r\n Title: {\r\n required: 'Должность необходимо заполнить',\r\n minlength: 'Слишком короткая должность (мин 2 знака)',\r\n maxlength: 'Должность не должна превышать 1000 знаков'\r\n },\r\n Company: {\r\n required: 'Заполните официальное наименование',\r\n minlength: 'Слишком короткое название компании (мин 2 знака)',\r\n maxlength: 'Официальное название компании не должно превышать 1000 знаков'\r\n },\r\n Alias: {\r\n minlength: 'Слишком короткое название компании (мин 2 знака)',\r\n maxlength: 'Общеизвестное название компании не должно превышать 1000 знаков'\r\n },\r\n Phone: {\r\n required: 'Заполните рабочий телефон',\r\n maxlength: 'Рабочий телефон не должен превышать 55 знаков'\r\n },\r\n Extension: {\r\n maxlength: 'Внутренний телефон не должен превышать 10 знаков'\r\n },\r\n Mobile: {\r\n required: 'Заполните мобильный телефон',\r\n maxlength: 'Мобильный телефон не должен превышать 55 знаков'\r\n },\r\n Mail: {\r\n required: 'Рабочую эл. почту необходимо заполнить',\r\n maxlength: 'Рабочая эл. почта не должна превышать 1000 знаков',\r\n email: 'Неверный формат эл. почты'\r\n },\r\n Personal: {\r\n maxlength: 'Личная эл. почта не должна превышать 1000 знаков',\r\n email: 'Неверный формат эл. почты'\r\n },\r\n FormatID: {\r\n required: 'Пожалуйста выберите формат вашего участия'\r\n },\r\n Agree: {\r\n required: 'К сожалению, согласно закону о персональных данных, мы должны получить от Вас согласие'\r\n }\r\n }\r\n });\r\n\r\n// Steps\r\n let profiles = [];\r\n $('#wizard').steps({\r\n headerTag: 'h3',\r\n bodyTag: 'fieldset',\r\n transitionEffect: 'fade',\r\n titleTemplate: '#index#. #title#',\r\n labels: {\r\n cancel: 'Отмена',\r\n current: 'Текущий шаг',\r\n pagination: 'Pagination',\r\n finish: 'Готово',\r\n next: 'Далее →',\r\n previous: '← Назад',\r\n loading: 'Идет загрузка'\r\n },\r\n onStepChanging: (event, currentIndex, newIndex) => {\r\n\r\n // Allow go back\r\n // console.log('Current = ' + currentIndex + ' new = ' + newIndex + ' valid = ' + $attendeeForm.valid());\r\n if (currentIndex > newIndex) {\r\n return true;\r\n }\r\n\r\n // Step 1. Search\r\n\r\n if (currentIndex === 0 && newIndex === 1 && $attendeeForm.valid()) {\r\n $.ajax({\r\n async: true,\r\n method: 'GET',\r\n url: '/api/register/search',\r\n data: {\r\n lastname: $('#searchLastname').val().trim(),\r\n mobile: $('#searchMobile').val()\r\n },\r\n success: (data) => {\r\n if (data && data.length > 0) {\r\n profiles = data;\r\n $('#profiles').html(profileTemplate({profiles: data}));\r\n $('#profile-0').prop('checked', true);\r\n $('#profile-found').show();\r\n $('#profile-new').hide();\r\n } else {\r\n $('#profile-new-checkbox').prop('checked', true);\r\n $('#profile-found').hide();\r\n $('#profile-new').show();\r\n }\r\n return true;\r\n },\r\n error: (err) => {\r\n alert('Что-то пошло не так');\r\n console.error(err);\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n // Step 2. Profile\r\n\r\n if (currentIndex === 1 && newIndex === 2 && $attendeeForm.valid()) {\r\n const $selectedProfile = $('input[name=\"profile\"]:checked');\r\n const profileIndex = $selectedProfile.val();\r\n if (profileIndex >= 0) {\r\n const profile = profiles[profileIndex];\r\n $('#request_id').val($selectedProfile.data('request-id'));\r\n $('#person_id').val($selectedProfile.data('person-id'));\r\n $('#lastname').val(profile.lastname);\r\n $('#firstname').val(profile.firstname);\r\n $('#midname').val(profile.midname);\r\n $('#title').val(profile.title);\r\n $('#company').val(profile.company);\r\n $('#alias').val(profile.alias);\r\n $('#mobile').val(profile.mobile);\r\n $('#phone').val(profile.phone);\r\n $('#extension').val(profile.extension);\r\n $('#mail').val(profile.mail);\r\n $('#personal').val(profile.personal);\r\n } else {\r\n const searchLastname = $('#searchLastname').val().trim();\r\n const searchMobile = $('#searchMobile').val();\r\n if (searchLastname) $('#lastname').val(searchLastname);\r\n if (searchMobile) $('#mobile').val(searchMobile);\r\n }\r\n }\r\n\r\n // Step 3. Edit\r\n\r\n\r\n // Step 4. Confirm\r\n\r\n //if (currentIndex == 0 && newIndex == 1) {\r\n // if ($('#lastname').val() == 'Бериков') {\r\n // $('#choose').hide();\r\n // }\r\n //}\r\n return $attendeeForm.valid();\r\n },\r\n onFinishing: (event, currentIndex) => {\r\n console.log(event, currentIndex);\r\n return $attendeeForm.valid();\r\n },\r\n onFinished: (event, currentIndex) => {\r\n console.log(event, currentIndex);\r\n $attendeeForm.submit();\r\n }\r\n });\r\n\r\n $attendeeForm.keypress((e) => {\r\n const key = e.which;\r\n if (key === 13 && $attendeeForm.valid()) {\r\n $('a[href=\"#next\"]').click();\r\n return false;\r\n }\r\n });\r\n\r\n// Input Mask\r\n\r\n const world = $.masksSort($.masksLoad('/js/phone-codes.json'), ['#'], /[0-9]|#/, 'mask');\r\n const mask = {\r\n inputmask: {\r\n definitions: {'#': {validator: '[0-9]', cardinality: 1}},\r\n showMaskOnHover: false,\r\n autoUnmask: true,\r\n clearMaskOnLostFocus: true\r\n },\r\n match: /[0-9]/,\r\n replace: '#',\r\n listKey: 'mask'\r\n };\r\n $('input[type=\"tel\"]').inputmasks($.extend(true, {}, mask, {list: world}));\r\n\r\n// Source Buster\r\n\r\n sourcebuster.init({\r\n callback: (sb) => {\r\n $('input[name=\"SourceType\"]').val(sb.current.typ);\r\n $('input[name=\"SourceName\"]').val(sb.current.src);\r\n $('input[name=\"SourceMedium\"]').val(sb.current.mdm);\r\n $('input[name=\"SourceCampaign\"]').val(sb.current.cmp);\r\n $('input[name=\"SourceContent\"]').val(sb.current.cnt);\r\n $('input[name=\"SourceTerm\"]').val(sb.current.trm);\r\n }\r\n });\r\n\r\n// Radio format\r\n $('input[type=radio][name=FormatID]').change((el) => {\r\n const value = el.target.value;\r\n const $offlineReminder = $('.offline-reminder');\r\n if (value === 'offline') {\r\n $offlineReminder.slideDown('slow');\r\n } else {\r\n $offlineReminder.hide();\r\n }\r\n });\r\n\r\n// Popovers\r\n\r\n [...document.querySelectorAll('[data-bs-toggle=\"popover\"]')].forEach(el => new Popover(el));\r\n\r\n// Light Gallery\r\n\r\n lightGallery(document.getElementById('lightgallery'), {\r\n licenseKey: '0000-0000-000-0000',\r\n plugins: [lgZoom, lgThumbnail, lgVideo],\r\n animateThumb: true\r\n });\r\n\r\n if (window.location.hash && window.location.hash.includes('become')) {\r\n const anchor = document.querySelector(window.location.hash);\r\n if (anchor) {\r\n $(anchor).slideDown('fast', () => {\r\n scroll.animateScroll(anchor);\r\n });\r\n }\r\n }\r\n\r\n //horwheel(document.getElementById('lightgallery'));\r\n});","var Handlebars = require(\"./src/js/handlebars/helpers.js\");\nfunction __default(obj) { return obj && (obj.__esModule ? obj[\"default\"] : obj); }\nmodule.exports = (Handlebars[\"default\"] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=\"function\", alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"
\\r\\n \\r\\n
\\r\\n
\"\n + alias4(((helper = (helper = lookupProperty(helpers,\"lastname\") || (depth0 != null ? lookupProperty(depth0,\"lastname\") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"lastname\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":5,\"column\":31},\"end\":{\"line\":5,\"column\":43}}}) : helper)))\n + \" \"\n + alias4(((helper = (helper = lookupProperty(helpers,\"firstname\") || (depth0 != null ? lookupProperty(depth0,\"firstname\") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"firstname\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":5,\"column\":44},\"end\":{\"line\":5,\"column\":57}}}) : helper)))\n + \" \"\n + alias4(((helper = (helper = lookupProperty(helpers,\"midname\") || (depth0 != null ? lookupProperty(depth0,\"midname\") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"midname\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":5,\"column\":58},\"end\":{\"line\":5,\"column\":69}}}) : helper)))\n + \"
\\r\\n
\"\n + alias4(((helper = (helper = lookupProperty(helpers,\"title\") || (depth0 != null ? lookupProperty(depth0,\"title\") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"title\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":6,\"column\":29},\"end\":{\"line\":6,\"column\":38}}}) : helper)))\n + \"
\\r\\n
\"\n + alias4(((helper = (helper = lookupProperty(helpers,\"getCompany\") || (depth0 != null ? lookupProperty(depth0,\"getCompany\") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"getCompany\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":7,\"column\":31},\"end\":{\"line\":7,\"column\":45}}}) : helper)))\n + \"
\\r\\n
\"\n + alias4(((helper = (helper = lookupProperty(helpers,\"getPhone\") || (depth0 != null ? lookupProperty(depth0,\"getPhone\") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"getPhone\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":8,\"column\":30},\"end\":{\"line\":8,\"column\":42}}}) : helper)))\n + \"
\\r\\n
\"\n + alias4(((helper = (helper = lookupProperty(helpers,\"getMail\") || (depth0 != null ? lookupProperty(depth0,\"getMail\") : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"getMail\",\"hash\":{},\"data\":data,\"loc\":{\"start\":{\"line\":9,\"column\":29},\"end\":{\"line\":9,\"column\":40}}}) : helper)))\n + \"
\\r\\n
\\r\\n
\\r\\n\";\n},\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return ((stack1 = lookupProperty(helpers,\"each\").call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? lookupProperty(depth0,\"profiles\") : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data,\"loc\":{\"start\":{\"line\":1,\"column\":0},\"end\":{\"line\":12,\"column\":9}}})) != null ? stack1 : \"\");\n},\"useData\":true});"],"names":["Handlebars","require","registerHelper","arg1","arg2","options","console","log","fn","this","inverse","result","company","alias","mobile","phone","extension","mail","personal","module","exports","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","zoomSettings","scale","zoom","actualSize","showZoomInOutIcons","actualSizeIcons","zoomIn","zoomOut","enableZoomAfter","zoomPluginStrings","viewActualSize","lGEvents","Zoom","instance","$LG","core","settings","buildTemplates","zoomIcons","getIdName","outer","addClass","$toolbar","first","append","enableZoom","event","_this","_speed","detail","delay","hasClass","removeClass","zoomableTimeout","setTimeout","isImageSlide","getSlideItem","index","setZoomEssentials","enableZoomOnSlideItemLoad","LGel","on","bind","getModifier","rotateValue","axis","el","originalRotate","Math","abs","transformValues","getCurrentTransform","modifier","flipHorizontalValue","sign","parseFloat","flipVerticalValue","sinX","sinMinusX","getImageSize","$image","y","x","getDragCords","e","pageY","pageX","getSwipeCords","targetTouches","getDragAllowedAxises","allowY","imageYSize","containerRect","height","allowX","imageXSize","width","st","window","getComputedStyle","tm","getPropertyValue","split","getCurrentRotation","values","round","atan2","PI","find","rotateEl","get","getBoundingClientRect","modifierX","modifierY","zoomImage","originalX","originalY","offsetX","left","_a","mediaContainerPosition","top","bottom","topBottomSpacing","offsetY","scrollTop","positionChanged","dragAllowedAxises","possibleSwipeCords","getPossibleSwipeDragCords","isBeyondPossibleLeft","minX","isBeyondPossibleRight","maxX","isBeyondPossibleTop","minY","isBeyondPossibleBottom","maxY","setZoomStyles","style","$dummyImage","$imageWrap","parent","css","transform","setActualSize","getCurrentImageActualSizeScale","getScale","setPageCords","beginZoom","getNaturalWidth","naturalWidth","galleryItems","getActualSizeScale","offsetWidth","getPageCords","cords","pageCords","getElementById","resetZoom","actualSizeScale","init","tapped","target","$target","clearTimeout","preventDefault","lgOpened","lgId","prevIndex","zoomDrag","pinchZoom","zoomSwipe","$actualSize","$item","undefined","removeAttr","getTouchDistance","sqrt","startDist","pinchStarted","initScale","$inner","contains","touchAction","endDist","distance","max","touchendZoom","startCoords","endCoords","touchDuration","distanceXnew","distanceYnew","speedX","speedY","_LGel","setZoomSwipeStyles","getZoomSwipeCords","diffMinY","diffMaxY","diffMinX","difMaxX","currentItem","getSlideType","dataScale","elDataScale","isMoved","startTime","Date","valueOf","endTime","isDragging","scrollLeft","closeGallery","destroy","off","thumbnailsSettings","thumbnail","animateThumb","currentPagerPosition","alignThumbnails","thumbWidth","thumbHeight","thumbMargin","appendThumbnailsTo","toggleThumb","enableThumbDrag","enableThumbSwipe","thumbnailSwipeThreshold","loadYouTubeThumbnail","youTubeThumbSize","thumbnailPluginStrings","toggleThumbnails","Thumbnail","thumbOuterWidth","thumbTotalWidth","translateX","thumbClickable","setAnimateThumbStyles","allowMediaOverlap","build","toggleThumbBar","thumbKeyPress","setThumbMarkup","manageActiveClassOnSlideChange","$lgThumb","hasAttribute","lgBusy","parseInt","attr","slide","rebuildThumbnails","thumbOuterClassNames","html","$lgComponents","$thumbOuter","speed","setThumbItemHtml","thumbDragUtils","startX","endX","newTranslateX","touchMoveTime","onThumbTouchMove","onThumbTouchEnd","empty","setTranslate","value","getPossibleTransformX","position","min","getThumbHtml","thumb","thumbImg","slideVideoInfo","__slideVideoInfo","youtube","getThumbItemHtml","items","thumbList","$thumb","eq","toggleClass","keyCode","remove","videoSettings","autoplayFirstVideo","youTubePlayerParams","vimeoPlayerParams","wistiaPlayerParams","gotoNextSlideOnVideoEnd","autoplayVideoOnSlide","videojs","videojsTheme","videojsOptions","param","obj","keys","map","k","encodeURIComponent","join","Video","onHasVideo","$el","loadVideoOnPosterClick","onSlideItemLoad","onBeforeSlide","onAfterSlide","isFirstSlide","loadAndPlayVideo","src","html5Video","hasPoster","appendVideos","lGalleryOn","pauseVideo","$slide","poster","playVideo","controlVideo","getVideoHtml","video","videoInfo","currentGalleryItem","videoTitle","title","alt","commonIframeProps","videoId","playerParams","vimeo","defaultParams","urlParams","defaultPlayerParams","hash","pop","isPrivate","replace","slice","getVimeoURLParams","wistia","wistiaId","html5","html5VideoMarkup","source","type","tracks","_loop_1","trackAttributes","track","forEach","key","html5VideoAttrs_1","videoAttributes_1","attributes","videoParams","videoHtml","$videoElement","stopPropagation","error","goToNextSlide","Vimeo","Player","_wq","push","id","onReady","action","contentWindow","postMessage","forcePlay","_html","_src","JSON","parse","videoJsPlayer_1","$tempImg","ready","onVideoLoadAfterPosterClick","$","document","element","querySelector","now","startDate","Tick","didInit","tick","display","locale","DAY_PLURAL","DAY_SINGULAR","HOUR_PLURAL","HOUR_SINGULAR","MINUTE_PLURAL","MINUTE_SINGULAR","SECOND_PLURAL","SECOND_SINGULAR","setConstant","counter","toISOString","onupdate","onended","collapse","Collapse","toggle","click","hide","navbarCollapse","$nav","offset","scroll","ScrollSpy","body","SmoothScroll","normalize","trim","addEventListener","anchor","includes","is","slideDown","animateScroll","each","$span","children","$currentSection","parents","$nextSection","nextAll","btn","data","show","validator","setDefaults","onfocusout","onkeyup","highlight","closest","unhighlight","errorElement","errorClass","errorPlacement","siblings","appendTo","insertAfter","addMethod","regexp","optional","test","validate","normalizer","rules","FullName","required","minlength","maxlength","cyrillic","Title","Company","Mail","email","Mobile","Subject","messages","submitHandler","form","valid","prop","submit","$attendeeForm","$conference","SearchLastName","SearchMobile","remote","url","conference","val","number","FirstName","LastName","MidName","Alias","Phone","Extension","Personal","FormatID","Agree","profiles","steps","headerTag","bodyTag","transitionEffect","titleTemplate","labels","cancel","current","pagination","finish","next","previous","loading","onStepChanging","currentIndex","newIndex","ajax","async","method","lastname","success","profileTemplate","err","alert","$selectedProfile","profileIndex","profile","firstname","midname","searchLastname","searchMobile","onFinishing","onFinished","keypress","which","world","masksSort","masksLoad","inputmasks","extend","inputmask","definitions","cardinality","showMaskOnHover","autoUnmask","clearMaskOnLostFocus","match","listKey","list","sourcebuster","callback","sb","typ","mdm","cmp","cnt","trm","change","$offlineReminder","querySelectorAll","Popover","lightGallery","licenseKey","plugins","lgZoom","lgThumbnail","lgVideo","location","template","container","depth0","helpers","partials","helper","alias1","nullContext","alias2","hooks","helperMissing","alias3","alias4","escapeExpression","lookupProperty","propertyName","stack1","program","noop"],"sourceRoot":""}