{"version":3,"file":"js/mmenu.js","mappings":";4BAAA,IAAIA,EAASC,EAAQ,MACjBC,EAAaD,EAAQ,KACrBE,EAAcF,EAAQ,MAEtBG,EAAYJ,EAAOI,UAGvBC,EAAOC,QAAU,SAAUC,GACzB,GAAIL,EAAWK,GAAW,OAAOA,EACjC,MAAMH,EAAUD,EAAYI,GAAY,uCCT1C,IAAIP,EAASC,EAAQ,MACjBO,EAAWP,EAAQ,MAEnBQ,EAAST,EAAOS,OAChBL,EAAYJ,EAAOI,UAGvBC,EAAOC,QAAU,SAAUC,GACzB,GAAIC,EAASD,GAAW,OAAOA,EAC/B,MAAMH,EAAUK,EAAOF,GAAY,mDCRrC,IAAIG,EAAWT,EAAAA,KAAAA,QAGXU,EAFsBV,EAAQ,KAEdW,CAAoB,WAIxCP,EAAOC,QAAWK,EAGd,GAAGE,QAH2B,SAAiBC,GACjD,OAAOJ,EAASK,KAAMD,EAAYE,UAAUC,OAAS,EAAID,UAAU,QAAKE,mBCT1E,IAAIC,EAAOlB,EAAQ,MACfmB,EAAcnB,EAAQ,MACtBoB,EAAgBpB,EAAQ,MACxBqB,EAAWrB,EAAQ,MACnBsB,EAAoBtB,EAAQ,MAC5BuB,EAAqBvB,EAAQ,MAE7BwB,EAAOL,EAAY,GAAGK,MAGtBC,EAAe,SAAUC,GAC3B,IAAIC,EAAiB,GAARD,EACTE,EAAoB,GAARF,EACZG,EAAkB,GAARH,EACVI,EAAmB,GAARJ,EACXK,EAAwB,GAARL,EAChBM,EAA2B,GAARN,EACnBO,EAAmB,GAARP,GAAaK,EAC5B,OAAO,SAAUG,EAAOrB,EAAYsB,EAAMC,GASxC,IARA,IAOIC,EAAOC,EAPPC,EAAIlB,EAASa,GACbM,EAAOpB,EAAcmB,GACrBE,EAAgBvB,EAAKL,EAAYsB,GACjCnB,EAASM,EAAkBkB,GAC3BE,EAAQ,EACRC,EAASP,GAAkBb,EAC3BqB,EAASjB,EAASgB,EAAOT,EAAOlB,GAAUY,GAAaI,EAAmBW,EAAOT,EAAO,QAAKjB,EAE3FD,EAAS0B,EAAOA,IAAS,IAAIT,GAAYS,KAASF,KAEtDF,EAASG,EADTJ,EAAQG,EAAKE,GACiBA,EAAOH,GACjCb,GACF,GAAIC,EAAQiB,EAAOF,GAASJ,OACvB,GAAIA,EAAQ,OAAQZ,GACvB,KAAK,EAAG,OAAO,EACf,KAAK,EAAG,OAAOW,EACf,KAAK,EAAG,OAAOK,EACf,KAAK,EAAGlB,EAAKoB,EAAQP,QAChB,OAAQX,GACb,KAAK,EAAG,OAAO,EACf,KAAK,EAAGF,EAAKoB,EAAQP,GAI3B,OAAON,GAAiB,EAAIF,GAAWC,EAAWA,EAAWc,IAIjExC,EAAOC,QAAU,CAGfO,QAASa,EAAa,GAGtBoB,IAAKpB,EAAa,GAGlBqB,OAAQrB,EAAa,GAGrBsB,KAAMtB,EAAa,GAGnBuB,MAAOvB,EAAa,GAGpBwB,KAAMxB,EAAa,GAGnByB,UAAWzB,EAAa,GAGxB0B,aAAc1B,EAAa,iCCtE7B,IAAI2B,EAAQpD,EAAQ,MAEpBI,EAAOC,QAAU,SAAUgD,EAAa/C,GACtC,IAAIgD,EAAS,GAAGD,GAChB,QAASC,GAAUF,GAAM,WAEvBE,EAAOC,KAAK,KAAMjD,GAAY,WAAc,MAAM,GAAM,uBCP5D,IAAIP,EAASC,EAAQ,MACjBwD,EAAUxD,EAAQ,MAClByD,EAAgBzD,EAAQ,KACxBO,EAAWP,EAAQ,MAGnB0D,EAFkB1D,EAAQ,KAEhB2D,CAAgB,WAC1BC,EAAQ7D,EAAO6D,MAInBxD,EAAOC,QAAU,SAAUwD,GACzB,IAAIC,EASF,OAREN,EAAQK,KACVC,EAAID,EAAcE,aAEdN,EAAcK,KAAOA,IAAMF,GAASJ,EAAQM,EAAEE,aACzCzD,EAASuD,IAEN,QADVA,EAAIA,EAAEJ,OAFuDI,OAAI7C,SAKtDA,IAAN6C,EAAkBF,EAAQE,mBCrBrC,IAAIG,EAA0BjE,EAAQ,MAItCI,EAAOC,QAAU,SAAUwD,EAAe7C,GACxC,OAAO,IAAKiD,EAAwBJ,GAA7B,CAAwD,IAAX7C,EAAe,EAAIA,oBCLzE,IAAIG,EAAcnB,EAAQ,MAEtBkE,EAAW/C,EAAY,GAAG+C,UAC1BC,EAAchD,EAAY,GAAGiD,OAEjChE,EAAOC,QAAU,SAAUgE,GACzB,OAAOF,EAAYD,EAASG,GAAK,GAAI,oBCNvC,IAAItE,EAASC,EAAQ,MACjBsE,EAAwBtE,EAAQ,MAChCC,EAAaD,EAAQ,KACrBuE,EAAavE,EAAQ,MAGrBwE,EAFkBxE,EAAQ,KAEV2D,CAAgB,eAChCc,EAAS1E,EAAO0E,OAGhBC,EAAuE,aAAnDH,EAAW,WAAc,OAAOxD,UAArB,IAUnCX,EAAOC,QAAUiE,EAAwBC,EAAa,SAAUF,GAC9D,IAAI9B,EAAGoC,EAAKrC,EACZ,YAAcrB,IAAPoD,EAAmB,YAAqB,OAAPA,EAAc,OAEM,iBAAhDM,EAXD,SAAUN,EAAIO,GACzB,IACE,OAAOP,EAAGO,GACV,MAAOC,KAQSC,CAAOvC,EAAIkC,EAAOJ,GAAKG,IAA8BG,EAEnED,EAAoBH,EAAWhC,GAEH,WAA3BD,EAASiC,EAAWhC,KAAmBtC,EAAWsC,EAAEwC,QAAU,YAAczC,mBC5BnF,IAAI0C,EAAchF,EAAQ,MACtBiF,EAAuBjF,EAAQ,IAC/BkF,EAA2BlF,EAAQ,MAEvCI,EAAOC,QAAU2E,EAAc,SAAUG,EAAQP,EAAKvC,GACpD,OAAO4C,EAAqBG,EAAED,EAAQP,EAAKM,EAAyB,EAAG7C,KACrE,SAAU8C,EAAQP,EAAKvC,GAEzB,OADA8C,EAAOP,GAAOvC,EACP8C,aCRT/E,EAAOC,QAAU,SAAUgF,EAAQhD,GACjC,MAAO,CACLiD,aAAuB,EAATD,GACdE,eAAyB,EAATF,GAChBG,WAAqB,EAATH,GACZhD,MAAOA,oBCLX,IAAIe,EAAQpD,EAAQ,MAGpBI,EAAOC,SAAW+C,GAAM,WAEtB,OAA8E,GAAvEqB,OAAOgB,eAAe,GAAI,EAAG,CAAEC,IAAK,WAAc,OAAO,KAAQ,sBCL1E,IAAI3F,EAASC,EAAQ,MACjBO,EAAWP,EAAQ,MAEnB2F,EAAW5F,EAAO4F,SAElBC,EAASrF,EAASoF,IAAapF,EAASoF,EAASE,eAErDzF,EAAOC,QAAU,SAAUgE,GACzB,OAAOuB,EAASD,EAASE,cAAcxB,GAAM,aCN/CjE,EAAOC,QAAU,CACfyF,YAAa,EACbC,oBAAqB,EACrBC,aAAc,EACdC,eAAgB,EAChBC,YAAa,EACbC,cAAe,EACfC,aAAc,EACdC,qBAAsB,EACtBC,SAAU,EACVC,kBAAmB,EACnBC,eAAgB,EAChBC,gBAAiB,EACjBC,kBAAmB,EACnBC,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,SAAU,EACVC,iBAAkB,EAClBC,OAAQ,EACRC,YAAa,EACbC,cAAe,EACfC,cAAe,EACfC,eAAgB,EAChBC,aAAc,EACdC,cAAe,EACfC,iBAAkB,EAClBC,iBAAkB,EAClBC,eAAgB,EAChBC,iBAAkB,EAClBC,cAAe,EACfC,UAAW,mBChCb,IAEIC,EAFwB7H,EAAQ,KAEpB8H,CAAsB,QAAQD,UAC1CE,EAAwBF,GAAaA,EAAU9D,aAAe8D,EAAU9D,YAAYC,UAExF5D,EAAOC,QAAU0H,IAA0BtD,OAAOT,eAAY/C,EAAY8G,kBCN1E,IAAIC,EAAahI,EAAQ,MAEzBI,EAAOC,QAAU2H,EAAW,YAAa,cAAgB,mBCFzD,IAOIC,EAAOC,EAPPnI,EAASC,EAAQ,MACjBmI,EAAYnI,EAAQ,MAEpBoI,EAAUrI,EAAOqI,QACjBC,EAAOtI,EAAOsI,KACdC,EAAWF,GAAWA,EAAQE,UAAYD,GAAQA,EAAKH,QACvDK,EAAKD,GAAYA,EAASC,GAG1BA,IAIFL,GAHAD,EAAQM,EAAGC,MAAM,MAGD,GAAK,GAAKP,EAAM,GAAK,EAAI,IAAMA,EAAM,GAAKA,EAAM,MAK7DC,GAAWC,MACdF,EAAQE,EAAUF,MAAM,iBACVA,EAAM,IAAM,MACxBA,EAAQE,EAAUF,MAAM,oBACbC,GAAWD,EAAM,IAIhC7H,EAAOC,QAAU6H,YC1BjB9H,EAAOC,QAAU,SAAUoI,GACzB,IACE,QAASA,IACT,MAAO5D,GACP,OAAO,oBCJX,IAAI1D,EAAcnB,EAAQ,MACtB0I,EAAY1I,EAAQ,MAEpBkB,EAAOC,EAAYA,EAAYD,MAGnCd,EAAOC,QAAU,SAAUsI,EAAIxG,GAE7B,OADAuG,EAAUC,QACM1H,IAATkB,EAAqBwG,EAAKzH,EAAOA,EAAKyH,EAAIxG,GAAQ,WACvD,OAAOwG,EAAGC,MAAMzG,EAAMpB,uBCT1B,IAAIwC,EAAOsF,SAAS7E,UAAUT,KAE9BnD,EAAOC,QAAUkD,EAAKrC,KAAOqC,EAAKrC,KAAKqC,GAAQ,WAC7C,OAAOA,EAAKqF,MAAMrF,EAAMxC,4BCH1B,IAAIiE,EAAchF,EAAQ,MACtB8I,EAAS9I,EAAQ,MAEjB+I,EAAoBF,SAAS7E,UAE7BgF,EAAgBhE,GAAeP,OAAOwE,yBAEtCrD,EAASkD,EAAOC,EAAmB,QAEnCG,EAAStD,GAA0D,cAA/C,aAAsCuD,KAC1DC,EAAexD,KAAYZ,GAAgBA,GAAegE,EAAcD,EAAmB,QAAQxD,cAEvGnF,EAAOC,QAAU,CACfuF,OAAQA,EACRsD,OAAQA,EACRE,aAAcA,aCfhB,IAAIL,EAAoBF,SAAS7E,UAC7B9C,EAAO6H,EAAkB7H,KACzBqC,EAAOwF,EAAkBxF,KACzB8F,EAAWnI,GAAQA,EAAKA,KAAKqC,GAEjCnD,EAAOC,QAAUa,EAAO,SAAUyH,GAChC,OAAOA,GAAMU,EAAS9F,EAAMoF,IAC1B,SAAUA,GACZ,OAAOA,GAAM,WACX,OAAOpF,EAAKqF,MAAMD,EAAI5H,6BCT1B,IAAIhB,EAASC,EAAQ,MACjBC,EAAaD,EAAQ,KAErBsJ,EAAY,SAAUhJ,GACxB,OAAOL,EAAWK,GAAYA,OAAWW,GAG3Cb,EAAOC,QAAU,SAAUkJ,EAAWjG,GACpC,OAAOvC,UAAUC,OAAS,EAAIsI,EAAUvJ,EAAOwJ,IAAcxJ,EAAOwJ,IAAcxJ,EAAOwJ,GAAWjG,oBCRtG,IAAIoF,EAAY1I,EAAQ,MAIxBI,EAAOC,QAAU,SAAUmJ,EAAGC,GAC5B,IAAIC,EAAOF,EAAEC,GACb,OAAe,MAARC,OAAezI,EAAYyH,EAAUgB,oBCN9C,IAAIC,EAAQ,SAAUtF,GACpB,OAAOA,GAAMA,EAAGuF,MAAQA,MAAQvF,GAIlCjE,EAAOC,QAELsJ,EAA2B,iBAAdE,YAA0BA,aACvCF,EAAuB,iBAAVG,QAAsBA,SAEnCH,EAAqB,iBAARnH,MAAoBA,OACjCmH,EAAuB,iBAAV5J,EAAAA,GAAsBA,EAAAA,IAElC,WAAc,OAAOe,KAArB,IAAmC+H,SAAS,cAATA,mBCbtC,IAAI1H,EAAcnB,EAAQ,MACtBqB,EAAWrB,EAAQ,MAEnB+J,EAAiB5I,EAAY,GAAG4I,gBAIpC3J,EAAOC,QAAUoE,OAAOqE,QAAU,SAAgBzE,EAAIO,GACpD,OAAOmF,EAAe1I,EAASgD,GAAKO,cCRtCxE,EAAOC,QAAU,mBCAjB,IAAI2E,EAAchF,EAAQ,MACtBoD,EAAQpD,EAAQ,MAChB6F,EAAgB7F,EAAQ,MAG5BI,EAAOC,SAAW2E,IAAgB5B,GAAM,WAEtC,OAEQ,GAFDqB,OAAOgB,eAAeI,EAAc,OAAQ,IAAK,CACtDH,IAAK,WAAc,OAAO,KACzBsE,qBCTL,IAAIjK,EAASC,EAAQ,MACjBmB,EAAcnB,EAAQ,MACtBoD,EAAQpD,EAAQ,MAChBiK,EAAUjK,EAAQ,MAElByE,EAAS1E,EAAO0E,OAChB+D,EAAQrH,EAAY,GAAGqH,OAG3BpI,EAAOC,QAAU+C,GAAM,WAGrB,OAAQqB,EAAO,KAAKyF,qBAAqB,MACtC,SAAU7F,GACb,MAAsB,UAAf4F,EAAQ5F,GAAkBmE,EAAMnE,EAAI,IAAMI,EAAOJ,IACtDI,kBCfJ,IAAItD,EAAcnB,EAAQ,MACtBC,EAAaD,EAAQ,KACrBmK,EAAQnK,EAAQ,MAEhBoK,EAAmBjJ,EAAY0H,SAAS3E,UAGvCjE,EAAWkK,EAAME,iBACpBF,EAAME,cAAgB,SAAUhG,GAC9B,OAAO+F,EAAiB/F,KAI5BjE,EAAOC,QAAU8J,EAAME,6BCbvB,IAaIC,EAAK5E,EAAK6E,EAbVC,EAAkBxK,EAAQ,MAC1BD,EAASC,EAAQ,MACjBmB,EAAcnB,EAAQ,MACtBO,EAAWP,EAAQ,MACnByK,EAA8BzK,EAAQ,MACtC8I,EAAS9I,EAAQ,MACjB0K,EAAS1K,EAAQ,MACjB2K,EAAY3K,EAAQ,MACpB4K,EAAa5K,EAAQ,MAErB6K,EAA6B,6BAC7B1K,EAAYJ,EAAOI,UACnB2K,EAAU/K,EAAO+K,QAgBrB,GAAIN,GAAmBE,EAAOK,MAAO,CACnC,IAAIZ,EAAQO,EAAOK,QAAUL,EAAOK,MAAQ,IAAID,GAC5CE,EAAQ7J,EAAYgJ,EAAMzE,KAC1BuF,EAAQ9J,EAAYgJ,EAAMI,KAC1BW,EAAQ/J,EAAYgJ,EAAMG,KAC9BA,EAAM,SAAUjG,EAAI8G,GAClB,GAAIF,EAAMd,EAAO9F,GAAK,MAAM,IAAIlE,EAAU0K,GAG1C,OAFAM,EAASC,OAAS/G,EAClB6G,EAAMf,EAAO9F,EAAI8G,GACVA,GAETzF,EAAM,SAAUrB,GACd,OAAO2G,EAAMb,EAAO9F,IAAO,IAE7BkG,EAAM,SAAUlG,GACd,OAAO4G,EAAMd,EAAO9F,QAEjB,CACL,IAAIgH,EAAQV,EAAU,SACtBC,EAAWS,IAAS,EACpBf,EAAM,SAAUjG,EAAI8G,GAClB,GAAIrC,EAAOzE,EAAIgH,GAAQ,MAAM,IAAIlL,EAAU0K,GAG3C,OAFAM,EAASC,OAAS/G,EAClBoG,EAA4BpG,EAAIgH,EAAOF,GAChCA,GAETzF,EAAM,SAAUrB,GACd,OAAOyE,EAAOzE,EAAIgH,GAAShH,EAAGgH,GAAS,IAEzCd,EAAM,SAAUlG,GACd,OAAOyE,EAAOzE,EAAIgH,IAItBjL,EAAOC,QAAU,CACfiK,IAAKA,EACL5E,IAAKA,EACL6E,IAAKA,EACLe,QAnDY,SAAUjH,GACtB,OAAOkG,EAAIlG,GAAMqB,EAAIrB,GAAMiG,EAAIjG,EAAI,KAmDnCkH,UAhDc,SAAU7J,GACxB,OAAO,SAAU2C,GACf,IAAI0G,EACJ,IAAKxK,EAAS8D,KAAQ0G,EAAQrF,EAAIrB,IAAKmH,OAAS9J,EAC9C,MAAMvB,EAAU,0BAA4BuB,EAAO,aACnD,OAAOqJ,qBCxBb,IAAId,EAAUjK,EAAQ,MAKtBI,EAAOC,QAAUuD,MAAMJ,SAAW,SAAiBlD,GACjD,MAA4B,SAArB2J,EAAQ3J,aCJjBF,EAAOC,QAAU,SAAUC,GACzB,MAA0B,mBAAZA,kBCHhB,IAAIa,EAAcnB,EAAQ,MACtBoD,EAAQpD,EAAQ,MAChBC,EAAaD,EAAQ,KACrBiK,EAAUjK,EAAQ,MAClBgI,EAAahI,EAAQ,MACrBqK,EAAgBrK,EAAQ,MAExByL,EAAO,aACPC,EAAQ,GACRC,EAAY3D,EAAW,UAAW,aAClC4D,EAAoB,2BACpBnD,EAAOtH,EAAYyK,EAAkBnD,MACrCoD,GAAuBD,EAAkBnD,KAAKgD,GAE9CK,EAAsB,SAAUxL,GAClC,IAAKL,EAAWK,GAAW,OAAO,EAClC,IAEE,OADAqL,EAAUF,EAAMC,EAAOpL,IAChB,EACP,MAAOuE,GACP,OAAO,IAgBXzE,EAAOC,SAAWsL,GAAavI,GAAM,WACnC,IAAI2I,EACJ,OAAOD,EAAoBA,EAAoBvI,QACzCuI,EAAoBrH,UACpBqH,GAAoB,WAAcC,GAAS,MAC5CA,KAjBmB,SAAUzL,GAClC,IAAKL,EAAWK,GAAW,OAAO,EAClC,OAAQ2J,EAAQ3J,IACd,IAAK,gBACL,IAAK,oBACL,IAAK,yBAA0B,OAAO,EAEtC,OAAOuL,KAAyBpD,EAAKmD,EAAmBvB,EAAc/J,KAW/CwL,kBC1C3B,IAAI7L,EAAaD,EAAQ,KAEzBI,EAAOC,QAAU,SAAUgE,GACzB,MAAoB,iBAANA,EAAwB,OAAPA,EAAcpE,EAAWoE,cCH1DjE,EAAOC,SAAU,kBCAjB,IAAIN,EAASC,EAAQ,MACjBgI,EAAahI,EAAQ,MACrBC,EAAaD,EAAQ,KACrBgM,EAAgBhM,EAAQ,MACxBiM,EAAoBjM,EAAQ,MAE5ByE,EAAS1E,EAAO0E,OAEpBrE,EAAOC,QAAU4L,EAAoB,SAAU5H,GAC7C,MAAoB,iBAANA,GACZ,SAAUA,GACZ,IAAI6H,EAAUlE,EAAW,UACzB,OAAO/H,EAAWiM,IAAYF,EAAcE,EAAQlI,UAAWS,EAAOJ,qBCZxE,IAAI8H,EAAWnM,EAAQ,MAIvBI,EAAOC,QAAU,SAAU+L,GACzB,OAAOD,EAASC,EAAIpL,yBCJtB,IAAIqL,EAAarM,EAAQ,MACrBoD,EAAQpD,EAAQ,MAGpBI,EAAOC,UAAYoE,OAAO6H,wBAA0BlJ,GAAM,WACxD,IAAImJ,EAASC,SAGb,OAAQhM,OAAO+L,MAAa9H,OAAO8H,aAAmBC,UAEnDA,OAAOC,MAAQJ,GAAcA,EAAa,sBCX/C,IAAItM,EAASC,EAAQ,MACjBC,EAAaD,EAAQ,KACrBqK,EAAgBrK,EAAQ,MAExB8K,EAAU/K,EAAO+K,QAErB1K,EAAOC,QAAUJ,EAAW6K,IAAY,cAAc4B,KAAKrC,EAAcS,kBCNzE,IAAI/K,EAASC,EAAQ,MACjBgF,EAAchF,EAAQ,MACtB2M,EAAiB3M,EAAQ,MACzB4M,EAAW5M,EAAQ,MACnB6M,EAAgB7M,EAAQ,MAExBG,EAAYJ,EAAOI,UAEnB2M,EAAkBrI,OAAOgB,eAI7BpF,EAAQ+E,EAAIJ,EAAc8H,EAAkB,SAAwBvK,EAAGkH,EAAGsD,GAIxE,GAHAH,EAASrK,GACTkH,EAAIoD,EAAcpD,GAClBmD,EAASG,GACLJ,EAAgB,IAClB,OAAOG,EAAgBvK,EAAGkH,EAAGsD,GAC7B,MAAOlI,IACT,GAAI,QAASkI,GAAc,QAASA,EAAY,MAAM5M,EAAU,2BAEhE,MADI,UAAW4M,IAAYxK,EAAEkH,GAAKsD,EAAW1K,OACtCE,mBCrBT,IAAIpB,EAAcnB,EAAQ,MAE1BI,EAAOC,QAAUc,EAAY,GAAG6K,4CCDhC,IAAI1H,EAAwBtE,EAAQ,MAChCiK,EAAUjK,EAAQ,MAItBI,EAAOC,QAAUiE,EAAwB,GAAGJ,SAAW,WACrD,MAAO,WAAa+F,EAAQnJ,MAAQ,qBCPtC,IAAIf,EAASC,EAAQ,MACjBuD,EAAOvD,EAAQ,MACfC,EAAaD,EAAQ,KACrBO,EAAWP,EAAQ,MAEnBG,EAAYJ,EAAOI,UAIvBC,EAAOC,QAAU,SAAU2M,EAAOC,GAChC,IAAItE,EAAIuE,EACR,GAAa,WAATD,GAAqBhN,EAAW0I,EAAKqE,EAAM9I,YAAc3D,EAAS2M,EAAM3J,EAAKoF,EAAIqE,IAAS,OAAOE,EACrG,GAAIjN,EAAW0I,EAAKqE,EAAMG,WAAa5M,EAAS2M,EAAM3J,EAAKoF,EAAIqE,IAAS,OAAOE,EAC/E,GAAa,WAATD,GAAqBhN,EAAW0I,EAAKqE,EAAM9I,YAAc3D,EAAS2M,EAAM3J,EAAKoF,EAAIqE,IAAS,OAAOE,EACrG,MAAM/M,EAAU,4DCdlB,IAAIJ,EAASC,EAAQ,MACjBC,EAAaD,EAAQ,KACrB8I,EAAS9I,EAAQ,MACjByK,EAA8BzK,EAAQ,MACtCoN,EAAYpN,EAAQ,MACpBqK,EAAgBrK,EAAQ,MACxBqN,EAAsBrN,EAAQ,KAC9BsN,EAA6BtN,EAAAA,MAAAA,aAE7BuN,EAAmBF,EAAoB3H,IACvC8H,EAAuBH,EAAoB/B,QAC3CmC,EAAWjN,OAAOA,QAAQgI,MAAM,WAEnCpI,EAAOC,QAAU,SAAUkC,EAAGqC,EAAKvC,EAAOqL,GACzC,IAII3C,EAJA4C,IAASD,KAAYA,EAAQC,OAC7BC,IAASF,KAAYA,EAAQpI,WAC7BuI,IAAcH,KAAYA,EAAQG,YAClC1E,EAAOuE,QAA4BzM,IAAjByM,EAAQvE,KAAqBuE,EAAQvE,KAAOvE,EAE9D3E,EAAWoC,KACoB,YAA7B7B,OAAO2I,GAAM/E,MAAM,EAAG,KACxB+E,EAAO,IAAM3I,OAAO2I,GAAM2E,QAAQ,qBAAsB,MAAQ,OAE7DhF,EAAOzG,EAAO,SAAYiL,GAA8BjL,EAAM8G,OAASA,IAC1EsB,EAA4BpI,EAAO,OAAQ8G,IAE7C4B,EAAQyC,EAAqBnL,IAClB0L,SACThD,EAAMgD,OAASN,EAASO,KAAoB,iBAAR7E,EAAmBA,EAAO,MAG9D5G,IAAMxC,GAIE4N,GAEAE,GAAetL,EAAEqC,KAC3BgJ,GAAS,UAFFrL,EAAEqC,GAIPgJ,EAAQrL,EAAEqC,GAAOvC,EAChBoI,EAA4BlI,EAAGqC,EAAKvC,IATnCuL,EAAQrL,EAAEqC,GAAOvC,EAChB+K,EAAUxI,EAAKvC,KAUrBwG,SAAS7E,UAAW,YAAY,WACjC,OAAO/D,EAAWa,OAASyM,EAAiBzM,MAAMiN,QAAU1D,EAAcvJ,yBC5C5E,IAEIX,EAFSH,EAAQ,MAEEG,UAIvBC,EAAOC,QAAU,SAAUgE,GACzB,GAAUpD,MAANoD,EAAiB,MAAMlE,EAAU,wBAA0BkE,GAC/D,OAAOA,mBCRT,IAAItE,EAASC,EAAQ,MAGjByF,EAAiBhB,OAAOgB,eAE5BrF,EAAOC,QAAU,SAAUuE,EAAKvC,GAC9B,IACEoD,EAAe1F,EAAQ6E,EAAK,CAAEvC,MAAOA,EAAOkD,cAAc,EAAMC,UAAU,IAC1E,MAAOX,GACP9E,EAAO6E,GAAOvC,EACd,OAAOA,mBCVX,IAAIqI,EAAS1K,EAAQ,MACjBiO,EAAMjO,EAAQ,MAEdkO,EAAOxD,EAAO,QAElBtK,EAAOC,QAAU,SAAUuE,GACzB,OAAOsJ,EAAKtJ,KAASsJ,EAAKtJ,GAAOqJ,EAAIrJ,qBCNvC,IAAI7E,EAASC,EAAQ,MACjBoN,EAAYpN,EAAQ,MAEpBmO,EAAS,qBACThE,EAAQpK,EAAOoO,IAAWf,EAAUe,EAAQ,IAEhD/N,EAAOC,QAAU8J,kBCNjB,IAAIiE,EAAUpO,EAAQ,MAClBmK,EAAQnK,EAAQ,OAEnBI,EAAOC,QAAU,SAAUuE,EAAKvC,GAC/B,OAAO8H,EAAMvF,KAASuF,EAAMvF,QAAiB3D,IAAVoB,EAAsBA,EAAQ,MAChE,WAAY,IAAIb,KAAK,CACtB0G,QAAS,SACTmG,KAAMD,EAAU,OAAS,SACzBE,UAAW,mDCRb,IAAIC,EAAO3E,KAAK2E,KACZC,EAAQ5E,KAAK4E,MAIjBpO,EAAOC,QAAU,SAAUC,GACzB,IAAImO,GAAUnO,EAEd,OAAOmO,GAAWA,GAAqB,IAAXA,EAAe,GAAKA,EAAS,EAAID,EAAQD,GAAME,oBCR7E,IAAIC,EAAsB1O,EAAQ,MAE9B2O,EAAM/E,KAAK+E,IAIfvO,EAAOC,QAAU,SAAUC,GACzB,OAAOA,EAAW,EAAIqO,EAAID,EAAoBpO,GAAW,kBAAoB,mBCP/E,IAAIP,EAASC,EAAQ,MACjB4O,EAAyB5O,EAAQ,MAEjCyE,EAAS1E,EAAO0E,OAIpBrE,EAAOC,QAAU,SAAUC,GACzB,OAAOmE,EAAOmK,EAAuBtO,qBCRvC,IAAIP,EAASC,EAAQ,MACjBuD,EAAOvD,EAAQ,MACfO,EAAWP,EAAQ,MACnB6O,EAAW7O,EAAQ,MACnB8O,EAAY9O,EAAQ,MACpB+O,EAAsB/O,EAAQ,MAC9B2D,EAAkB3D,EAAQ,MAE1BG,EAAYJ,EAAOI,UACnB6O,EAAerL,EAAgB,eAInCvD,EAAOC,QAAU,SAAU2M,EAAOC,GAChC,IAAK1M,EAASyM,IAAU6B,EAAS7B,GAAQ,OAAOA,EAChD,IACI1K,EADA2M,EAAeH,EAAU9B,EAAOgC,GAEpC,GAAIC,EAAc,CAGhB,QAFahO,IAATgM,IAAoBA,EAAO,WAC/B3K,EAASiB,EAAK0L,EAAcjC,EAAOC,IAC9B1M,EAAS+B,IAAWuM,EAASvM,GAAS,OAAOA,EAClD,MAAMnC,EAAU,2CAGlB,YADac,IAATgM,IAAoBA,EAAO,UACxB8B,EAAoB/B,EAAOC,oBCxBpC,IAAIiC,EAAclP,EAAQ,MACtB6O,EAAW7O,EAAQ,MAIvBI,EAAOC,QAAU,SAAUC,GACzB,IAAIsE,EAAMsK,EAAY5O,EAAU,UAChC,OAAOuO,EAASjK,GAAOA,EAAMA,EAAM,oBCPrC,IAGI8H,EAAO,GAEXA,EALsB1M,EAAQ,KAEV2D,CAAgB,gBAGd,IAEtBvD,EAAOC,QAA2B,eAAjBG,OAAOkM,mBCPxB,IAEIlM,EAFSR,EAAQ,MAEDQ,OAEpBJ,EAAOC,QAAU,SAAUC,GACzB,IACE,OAAOE,EAAOF,GACd,MAAOuE,GACP,MAAO,2BCRX,IAAI1D,EAAcnB,EAAQ,MAEtBmP,EAAK,EACLC,EAAUxF,KAAKyF,SACfnL,EAAW/C,EAAY,GAAI+C,UAE/B9D,EAAOC,QAAU,SAAUuE,GACzB,MAAO,gBAAqB3D,IAAR2D,EAAoB,GAAKA,GAAO,KAAOV,IAAWiL,EAAKC,EAAS,qBCNtF,IAAIE,EAAgBtP,EAAQ,MAE5BI,EAAOC,QAAUiP,IACX9C,OAAOC,MACkB,iBAAnBD,OAAO+C,yBCLnB,IAAIxP,EAASC,EAAQ,MACjB0K,EAAS1K,EAAQ,MACjB8I,EAAS9I,EAAQ,MACjBiO,EAAMjO,EAAQ,MACdsP,EAAgBtP,EAAQ,MACxBiM,EAAoBjM,EAAQ,MAE5BwP,EAAwB9E,EAAO,OAC/B8B,EAASzM,EAAOyM,OAChBiD,EAAYjD,GAAUA,EAAM,IAC5BkD,EAAwBzD,EAAoBO,EAASA,GAAUA,EAAOmD,eAAiB1B,EAE3F7N,EAAOC,QAAU,SAAU8I,GACzB,IAAKL,EAAO0G,EAAuBrG,KAAWmG,GAAuD,iBAA/BE,EAAsBrG,GAAoB,CAC9G,IAAIyG,EAAc,UAAYzG,EAC1BmG,GAAiBxG,EAAO0D,EAAQrD,GAClCqG,EAAsBrG,GAAQqD,EAAOrD,GAErCqG,EAAsBrG,GADb8C,GAAqBwD,EACAA,EAAUG,GAEVF,EAAsBE,GAEtD,OAAOJ,EAAsBrG,oBCtBjC,IAAI7E,EAAwBtE,EAAQ,MAChC6P,EAAW7P,EAAQ,MACnBkE,EAAWlE,EAAQ,MAIlBsE,GACHuL,EAASpL,OAAOT,UAAW,WAAYE,EAAU,CAAEyJ,QAAQ,oBCP7D,IAAI5N,EAASC,EAAQ,MACjB8P,EAAe9P,EAAQ,KACvB+H,EAAwB/H,EAAQ,MAChCY,EAAUZ,EAAQ,MAClByK,EAA8BzK,EAAQ,MAEtC+P,EAAkB,SAAUC,GAE9B,GAAIA,GAAuBA,EAAoBpP,UAAYA,EAAS,IAClE6J,EAA4BuF,EAAqB,UAAWpP,GAC5D,MAAOiE,GACPmL,EAAoBpP,QAAUA,IAIlC,IAAK,IAAIqP,KAAmBH,EACtBA,EAAaG,IACfF,EAAgBhQ,EAAOkQ,IAAoBlQ,EAAOkQ,GAAiBjM,WAIvE+L,EAAgBhI,KCpBZmI,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBnP,IAAjBoP,EACH,OAAOA,EAAahQ,QAGrB,IAAID,EAAS8P,EAAyBE,GAAY,CAGjD/P,QAAS,IAOV,OAHAiQ,EAAoBF,GAAUhQ,EAAQA,EAAOC,QAAS8P,GAG/C/P,EAAOC,QCrBf8P,EAAoBI,EAAI,WACvB,GAA0B,iBAAf1G,WAAyB,OAAOA,WAC3C,IACC,OAAO/I,MAAQ,IAAI+H,SAAS,cAAb,GACd,MAAO2H,GACR,GAAsB,iBAAX1G,OAAqB,OAAOA,QALjB,sCCiBxB,QAjBc,CACV2G,MAAO,GACPC,WAAY,GACZC,SAAU,GACVC,OAAQ,CACJC,KAAK,EACLC,QAAQ,EACRC,MAAO,OACPC,UAAW,UAEfC,QAAS,CACLC,MAAO,KACPC,eAAgB,KAChBC,aAAa,GAEjBC,iBAAiB,GCDrB,QAdc,CACVC,WAAY,CACRC,MAAO,QACPC,WAAY,aACZC,QAAS,UACTC,MAAO,QACPC,SAAU,WACVC,SAAU,YAEdC,SAAU,KACVC,gBAAiB,GACjBC,cAAe,CAAC,KAAM,KAAM,OAC5BC,mBAAoB,KCJjB,SAASC,EAAOC,EAAQC,GAO3B,IAAK,IAAIC,IANW,UAAhB5G,EAAK0G,KACLA,EAAS,IAEO,UAAhB1G,EAAK2G,KACLA,EAAS,IAECA,EACLA,EAAOpI,eAAeqI,UAGH,IAAbF,EAAOE,GACdF,EAAOE,GAAKD,EAAOC,GAEK,UAAnB5G,EAAK0G,EAAOE,KACjBH,EAAOC,EAAOE,GAAID,EAAOC,KAGjC,OAAOF,EA6BJ,SAAS1G,EAAK6G,GACjB,MAAO,GAAGnO,SACLX,KAAK8O,GACLpK,MAAM,iBAAiB,GACvBqK,cASF,SAASC,EAAUC,EAASC,EAAQN,GACvC,GAAqB,mBAAVM,EAAsB,CAC7B,IAAIpQ,EAAQoQ,EAAOlP,KAAKiP,GACxB,QAAoB,IAATnQ,EACP,OAAOA,EAGf,OAAgB,OAAXoQ,GACgB,mBAAVA,QACU,IAAVA,QACU,IAAVN,EAGJM,EAFIN,EAWR,SAASO,EAAcF,EAAS9I,EAAMiJ,GACzC,IAAIC,GAAS,EAAOC,EAAM,SAAUC,QACZ,IAATA,GACHA,EAAKlQ,SAAW4P,IAInBI,IACDJ,EAAQO,oBAAoB,gBAAiBF,GAC7CL,EAAQO,oBAAoB,sBAAuBF,GACnDnJ,EAAKnG,KAAKiP,IAEdI,GAAS,IAEbJ,EAAQQ,iBAAiB,gBAAiBH,GAC1CL,EAAQQ,iBAAiB,sBAAuBH,GAChDI,WAAWJ,EAAgB,IAAXF,GAKb,SAASO,IACZ,MAAO,MAAQC,IAEnB,IAAIA,EAAO,EAKJ,SAASC,EAAWjE,GACvB,MAAsB,OAAlBA,EAAG/K,MAAM,EAAG,GACL+K,EAAG/K,MAAM,GAEb+K,EC1HX,IAAIkE,EAAe,GAMZ,SAASxC,EAAIyC,EAAMzB,QACe,IAA1BwB,EAAaxB,KACpBwB,EAAaxB,GAAY,IAE7BI,EAAOoB,EAAaxB,GAAWyB,GCXnC,MCAA,GACI,KAAQ,OCDZ,GACI,KAAQ,QCDZ,GACI,KAAQ,QCKL,SAAS3Q,EAAO4Q,GACnB,IAAIC,EAAOD,EAAS/K,MAAM,KACtBiL,EAAO9N,SAASE,cAAc2N,EAAKE,SAOvC,OALAF,EAAK5S,SAAQ,SAAU+S,GACnBF,EAAK5L,UAAUgJ,IAAI8C,MAIhBF,EAUJ,SAASxQ,EAAKuP,EAAS1P,GAC1B,OAAOc,MAAMI,UAAUI,MAAMb,KAAKiP,EAAQoB,iBAAiB9Q,IASxD,SAAS+Q,EAASrB,EAAS1P,GAC9B,IAAI+Q,EAAWjQ,MAAMI,UAAUI,MAAMb,KAAKiP,EAAQqB,UAClD,OAAO/Q,EACD+Q,EAAS/Q,QAAO,SAAUgR,GAAS,OAAOA,EAAMC,QAAQjR,MACxD+Q,EAqBH,SAASG,EAAQxB,EAAS1P,GAK7B,IAHA,IAAIkR,EAAU,GAEVC,EAASzB,EAAQ0B,cACdD,GACHD,EAAQxS,KAAKyS,GACbA,EAASA,EAAOC,cAEpB,OAAOpR,EACDkR,EAAQlR,QAAO,SAAUmR,GAAU,OAAOA,EAAOF,QAAQjR,MACzDkR,EAsCH,SAASG,EAASC,GACrB,OAAOA,EAAUtR,QAAO,SAAUuR,GAAY,OAAQA,EAASN,QAAQ,iBAOpE,SAASO,EAAUF,GACtB,IAAIG,EAAU,GAId,OAHAJ,EAASC,GAAWxT,SAAQ,SAAUyT,GAClCE,EAAQ/S,KAAKoH,MAAM2L,EAASV,EAASQ,EAAU,2BAE5CE,EAAQzR,QAAO,SAAU0R,GAAU,OAAQA,EAAOT,QAAQ,mBAQ9D,SAASU,EAAQjC,EAASkC,EAAUC,GACnCnC,EAAQuB,QAAQ,IAAMW,KACtBlC,EAAQ3K,UAAU+M,OAAOF,GACzBlC,EAAQ3K,UAAUgJ,IAAI8D,ICpI9B,IAAIE,EAAY,GAQT,SAAShE,EAAIiE,EAAOC,EAAKC,GACR,iBAATF,IACPA,EAAQ,eAAiBA,EAAQ,OAErCD,EAAUC,GAASD,EAAUC,IAAU,GACvCD,EAAUC,GAAOtT,KAAK,CAAEuT,IAAKA,EAAKC,GAAIA,IAuBnC,SAASC,EAAKH,EAAOI,GAExB,IADA,IAAIvM,EAAKuM,EAAOnB,QAAU,MAAQ,KACzBoB,EAAI,EAAGA,EAAIN,EAAUC,GAAO9T,OAAQmU,IACzCN,EAAUC,GAAOK,GAAGxM,KClCxBkI,ENNJ,CACI,KAAQ,QMKA,MACRA,EAAIuE,EAAI,MACRvE,EAAIwE,EAAI,MACRxE,EAAIyE,EAAI,MCGZ,IAAIC,EAAuB,WAOvB,SAASA,EAAMC,EAAM9H,EAAS+H,GAmC1B,OAjCA3U,KAAK4U,KAAOzD,EAAOvE,EAAS6H,EAAM7H,SAClC5M,KAAK6U,KAAO1D,EAAOwD,EAASF,EAAME,SAElC3U,KAAK8U,KAAO,CACR,OACA,YACA,eACA,YACA,aACA,iBACA,eAGJ9U,KAAK+U,KAAO,GACZ/U,KAAKgV,KAAO,GACZhV,KAAKiV,KAAO,GACZjV,KAAKkV,KAAO,GAEZlV,KAAK+U,KAAKL,KACS,iBAARA,EAAmB7P,SAASsQ,cAAcT,GAAQA,EACtB,mBAA5B1U,KAAKoV,qBACZpV,KAAKoV,sBAETpV,KAAKqV,gBACLrV,KAAKsV,cACLtV,KAAKuV,kBACLvV,KAAKwV,aACLxV,KAAKyV,WACLzV,KAAK0V,YACL1V,KAAK2V,cACL3V,KAAK4V,cACL5V,KAAK6V,eFjCN,WACH,IAAIC,EAAU,SAAU9B,GACpB,IAAII,EAASpL,OAAO+M,WAAW/B,GAC/BG,EAAKH,EAAOI,GACZA,EAAO4B,SAAW,SAAUhE,GACxBmC,EAAKH,EAAOI,KAGpB,IAAK,IAAIJ,KAASD,EACd+B,EAAQ9B,GEyBRiC,GACOjW,KA0sBX,OAnsBAyU,EAAMvR,UAAUgT,UAAY,SAAUtF,EAAOuF,GACzC,IAAIC,EAAQpW,KAIZ,GAFAA,KAAKqW,QAAQ,mBAAoB,CAACzF,IAE7BA,IAGAA,EAAMqC,QAAQ,eACfrC,EAAQA,EAAM0F,QAAQ,cAErB1F,GAAL,CAQA,GAJwB,kBAAbuF,IACPA,GAAY,GAGZvF,EAAMwC,cAAcH,QAAQ,yBAA0B,CAEtDsD,EAAY3F,EAAO,yBAAyB9Q,SAAQ,SAAUyT,GAC1DA,EAASxM,UAAUgJ,IAAI,sBACvBwG,EAAahD,EAAU,aAAazT,SAAQ,SAAU8Q,GAClDA,EAAM7J,UAAU+M,OAAO,mBAI/B,IAAIZ,EAAUqD,EAAY3F,EAAO,aAAa5O,QAAO,SAAU4O,GAAS,OAAQA,EAAMwC,cAAcH,QAAQ,4BAC5GjT,KAAKqW,QAAQ,kBAAmB,CAACzF,IAC7BsC,EAAQhT,QACRF,KAAKkW,UAAUhD,EAAQ,IAE3BlT,KAAKqW,QAAQ,mBAAoB,CAACzF,QAGjC,CACD,GAAIA,EAAMqC,QAAQ,oBACd,OAEJ,IAAIuD,EAASD,EAAavW,KAAK+U,KAAK0B,KAAM,aAAcC,EAAYH,EAAavW,KAAK+U,KAAK0B,KAAM,oBAAoB,GAErHD,EACKxU,QAAO,SAAUmR,GAAU,OAAOA,IAAWvC,KAC7C9Q,SAAQ,SAAUqT,GACnBA,EAAOpM,UAAU+M,OAAO,6BAI5B,IADA,IAAI6C,EAAW/F,EAAK,SACb+F,IACHA,EAAWA,EAASL,QAAQ,gBAEnBK,EAASvD,cAAcH,QAAQ,0BAChC0D,EAAS5P,UAAUgJ,IAAI,0BAE3B4G,EAAWA,EAAQ,UAI3BH,EAAO1W,SAAQ,SAAU8Q,GACrBA,EAAM7J,UAAU+M,OAAO,uBAE3B0C,EACKxU,QAAO,SAAU4U,GAAU,OAAOA,IAAWF,KAC7C1U,QAAO,SAAU4U,GAAU,OAAOA,IAAWhG,KAC7C9Q,SAAQ,SAAU8W,GACnBA,EAAO7P,UAAUgJ,IAAI,gBAEzBa,EAAM7J,UAAU+M,OAAO,aAEvB,IAAI+C,EAAmB,WACfH,GACAA,EAAU3P,UAAU+M,OAAO,mBAE/BlD,EAAM7J,UAAUgJ,IAAI,mBAChBa,EAAMqC,QAAQ,4BACVyD,GACAA,EAAU3P,UAAUgJ,IAAI,oBAE5Ba,EAAM7J,UAAU+M,OAAO,4BAGnB4C,GACAA,EAAU3P,UAAUgJ,IAAI,0BAE5Ba,EAAM7J,UAAUgJ,IAAI,qBAGxBqG,EAAMC,QAAQ,kBAAmB,CAACzF,KAGlCkG,EAAoB,WAChBJ,IACAA,EAAU3P,UAAU+M,OAAO,oBAC3B4C,EAAU3P,UAAUgJ,IAAI,cAE5Ba,EAAM7J,UAAU+M,OAAO,oBAEvBsC,EAAMC,QAAQ,mBAAoB,CAACzF,KAEnCuF,IAAcvF,EAAMqC,QAAQ,yBAE5Bd,YAAW,WAEPP,EAAchB,GAAO,WACjBkG,MACDV,EAAMvB,KAAK3D,oBACd2F,MACD7W,KAAK6U,KAAK7D,kBAGb6F,IACAC,KAIR9W,KAAKqW,QAAQ,kBAAmB,CAACzF,MAMrC6D,EAAMvR,UAAU6T,WAAa,SAAUnG,GAEnC5Q,KAAKqW,QAAQ,oBAAqB,CAACzF,IACnC,IAAIoG,EAAKpG,EAAMwC,cAEX4D,EAAG/D,QAAQ,2BACX+D,EAAGjQ,UAAU+M,OAAO,sBACpBlD,EAAM7J,UAAUgJ,IAAI,aAEpB/P,KAAKqW,QAAQ,aAAc,CAACzF,KAGhC5Q,KAAKqW,QAAQ,mBAAoB,CAACzF,KAMtC6D,EAAMvR,UAAU+T,eAAiB,SAAUrG,GAEvC5Q,KAAKqW,QAAQ,yBAEGrW,KAAK+U,KAAK0B,KAAK3D,iBAAiB,gBACtChT,SAAQ,SAAUyT,GACxBA,EAASxM,UAAU+M,OAAO,wBAC1BP,EAASxM,UAAU+M,OAAO,yBAG9B,IAAI0C,EAASD,EAAavW,KAAK+U,KAAK0B,KAAM,aAAcS,EAAStG,GAAgB4F,EAAO,GACxFD,EAAavW,KAAK+U,KAAK0B,KAAM,aAAa3W,SAAQ,SAAU8Q,GACpDA,IAAUsG,IACVtG,EAAM7J,UAAU+M,OAAO,mBACvBlD,EAAM7J,UAAU+M,OAAO,0BACvBlD,EAAM7J,UAAU+M,OAAO,oBACvBlD,EAAM7J,UAAUgJ,IAAI,iBAI5B/P,KAAKkW,UAAUgB,GAAQ,GAEvBlX,KAAKqW,QAAQ,yBAMjB5B,EAAMvR,UAAUiU,YAAc,SAAUvG,GACpC,IAAI2C,EAAW3C,EAAMwC,cAEjBG,EAASN,QAAQ,0BACjBjT,KAAKuT,EAASN,QAAQ,uBAChB,aACA,aAAarC,IAO3B6D,EAAMvR,UAAUoN,YAAc,SAAUiD,GAEpCvT,KAAKqW,QAAQ,qBAAsB,CAAC9C,IAEpCgD,EAASvW,KAAK+U,KAAKL,KAAM,yBAAyB5U,SAAQ,SAAUkX,GAChEA,EAAGjQ,UAAU+M,OAAO,2BAGxBP,EAASxM,UAAUgJ,IAAI,wBAEvB/P,KAAKqW,QAAQ,oBAAqB,CAAC9C,KAOvCkB,EAAMvR,UAAU9C,KAAO,SAAU6U,EAAMrM,GAEnC5I,KAAKiV,KAAKA,GAAQjV,KAAKiV,KAAKA,IAAS,GAErCjV,KAAKiV,KAAKA,GAAMvU,KAAKkI,IAOzB6L,EAAMvR,UAAUmT,QAAU,SAAUpB,EAAMvC,GACtC,GAAI1S,KAAKiV,KAAKA,GACV,IAAK,IAAImC,EAAI,EAAGC,EAAIrX,KAAKiV,KAAKA,GAAM/U,OAAQkX,EAAIC,EAAGD,IAC/CpX,KAAKiV,KAAKA,GAAMmC,GAAGtP,MAAM9H,KAAM0S,IAO3C+B,EAAMvR,UAAUuS,SAAW,WACvB,IAAIW,EAAQpW,KAGRqB,EAAOrB,KACXA,KAAKsX,IAAM,GACXtX,KAAK8U,KAAKhV,SAAQ,SAAU+H,GACxBuO,EAAMkB,IAAIzP,GAAM,WACZ,IAAI0P,EAAKlW,EAAKwG,GAAIC,MAAMzG,EAAMpB,WAC9B,YAAoB,IAANsX,EAAoBlW,EAAKiW,IAAMC,MAIrDvX,KAAK+U,KAAKL,KAAV,MAA0B1U,KAAKsX,KAKnC7C,EAAMvR,UAAUsS,WAAa,WACzB,IAAK,IAAIP,KAAQjV,KAAK4U,KAAKjF,MACvB3P,KAAKI,KAAK6U,EAAMjV,KAAK4U,KAAKjF,MAAMsF,KAMxCR,EAAMvR,UAAUmS,cAAgB,WAE5BrV,KAAKqW,QAAQ,uBACb,IAAK,IAAImB,EAAI,EAAGA,EAAIxX,KAAK4U,KAAK/E,SAAS3P,OAAQsX,IAAK,CAChD,IAAIC,EAAOhD,EAAM5E,SAAS7P,KAAK4U,KAAK/E,SAAS2H,IAC1B,mBAARC,GACPA,EAAKhV,KAAKzC,MAIlBA,KAAKqW,QAAQ,uBAKjB5B,EAAMvR,UAAUoS,YAAc,WAG1B,IAAK,IAAIoC,KADT1X,KAAKqW,QAAQ,qBACK5B,EAAMkD,OACpBlD,EAAMkD,OAAOD,GAAOjV,KAAKzC,MAG7BA,KAAKqW,QAAQ,qBAKjB5B,EAAMvR,UAAUqS,gBAAkB,WAC9B,IAAIa,EAAQpW,KAEZA,KAAKqW,QAAQ,yBAEqB,SAA9B3L,EAAK1K,KAAK4U,KAAKhF,cACf5P,KAAK4U,KAAKhF,WAAa,CACnBgI,IAAK5X,KAAK4U,KAAKhF,aAIvBjM,OAAOyJ,KAAKpN,KAAK4U,KAAKhF,YAAY9P,SAAQ,SAAUkU,GAChD,IAAI6D,EAAazB,EAAMxB,KAAKhF,WAAWoE,GAAOjS,KAAI,SAAU+V,GAAa,MAAO,WAAaA,KACzFD,EAAW3X,QACX+V,EAAUjC,GAAO,WAEb6D,EAAW/X,SAAQ,SAAU+S,GACzBuD,EAAMrB,KAAKL,KAAK3N,UAAUgJ,IAAI8C,SAInC,WAECgF,EAAW/X,SAAQ,SAAU+S,GACzBuD,EAAMrB,KAAKL,KAAK3N,UAAU+M,OAAOjB,YAQjD7S,KAAKqW,QAAQ,yBAKjB5B,EAAMvR,UAAUwS,UAAY,WACxB,IAAIU,EAAQpW,KAEZA,KAAKqW,QAAQ,mBAEbrW,KAAK+U,KAAK0C,KAAOzX,KAAK+U,KAAK0C,MAAQzX,KAAK+U,KAAKL,KAAKtB,cAClDpT,KAAK+U,KAAK0C,KAAK1Q,UAAUgJ,IAAI,cAE7B/P,KAAK+U,KAAKL,KAAKrG,GAAKrO,KAAK+U,KAAKL,KAAKrG,IAAM+D,IAEzC,IAAIoE,EAASD,EAAW,iBACxBA,EAAavW,KAAK+U,KAAKL,MAAM5U,SAAQ,SAAU8Q,GACvCwF,EAAMvB,KAAK5D,cAAc8G,QAAQnH,EAAMoH,SAASxG,gBAC/C,GACDgF,EAAOyB,OAAOrH,MAGtB5Q,KAAK+U,KAAKL,KAAKuD,OAAOzB,GACtBxW,KAAK+U,KAAK0B,KAAOD,EAEjBxW,KAAK+U,KAAKL,KAAK3N,UAAUgJ,IAAI,WAE7B/P,KAAKqW,QAAQ,mBAKjB5B,EAAMvR,UAAUyS,YAAc,WAC1B,IAAIS,EAAQpW,KAEZA,KAAKqW,QAAQ,qBAEbrW,KAAKkV,KAAKxU,MAAK,SAAUgT,EAAQhB,GAC7B,GAAIA,EAAKwF,OAAQ,CACb,IAAIC,EAAOzE,EAAO0E,aAAa,QAC/B,GAAID,GAAQA,EAAKjY,OAAS,GAAyB,KAApBiY,EAAK7U,MAAM,EAAG,GACzC,IACI,IAAIsN,EAAQ2F,EAASH,EAAMrB,KAAKL,KAAMyD,GAAM,GAC5C,GAAIvH,GAASA,EAAMqC,QAAQ,aAOvB,OANIS,EAAON,cAAcH,QAAQ,yBAC7BmD,EAAMe,YAAYvG,GAGlBwF,EAAMF,UAAUtF,IAEb,EAGf,MAAOyH,SAKN9B,EAAavW,KAAK+U,KAAK0B,MAC7B3W,SAAQ,SAAU8Q,GACrBwF,EAAMkC,UAAU1H,MAGpB5Q,KAAKqW,QAAQ,qBAMjB5B,EAAMvR,UAAUoV,UAAY,SAAU1H,GAClC,IAAIwF,EAAQpW,KAERiR,EAAgBjR,KAAK6U,KAAK5D,cAAc/D,KAAK,MACjD,GAAI0D,EAAMqC,QAAQhC,KAETL,EAAMqC,QAAQ,eACfrC,EAAQ5Q,KAAKuY,WAAW3H,IAExBA,GAAO,CAEP,IAAI4H,EAAa,GAEjBA,EAAW9X,KAAKoH,MAAM0Q,EAAYjC,EAAa3F,EAAO,IAAM5Q,KAAK6U,KAAKrE,WAAWI,QAEjF2F,EAAa3F,EAAO,gBAAgB9Q,SAAQ,SAAU2Y,GAClDlC,EAAakC,EAAU,gBAAgB3Y,SAAQ,SAAUyT,GACrDiF,EAAW9X,KAAKoH,MAAM0Q,EAAYjC,EAAahD,EAAUtC,UAIjEuH,EAAW1Y,SAAQ,SAAUkT,GACzBoD,EAAMkC,UAAUtF,QAUhCyB,EAAMvR,UAAUqV,WAAa,SAAU3H,GACnC,IAAIwF,EAAQpW,KAWZ,GATAA,KAAKqW,QAAQ,mBAAoB,CAACzF,IAElC2F,EAAY3F,EAAO5Q,KAAK6U,KAAKrE,WAAWI,MAAO,YAC/C2F,EAAY3F,EAAO5Q,KAAK6U,KAAKrE,WAAWG,QAAS,cACjD4F,EAAY3F,EAAO5Q,KAAK6U,KAAKrE,WAAWC,MAAO,qBAC3CG,EAAMqC,QAAQ,uBACdrC,EAAM7J,UAAUgJ,IAAI,cAGpBa,EAAMqC,QAAQ,eACd,OAAO,KAGX,IAAI5E,EAAKuC,EAAMvC,IAAM+D,IAEjBtB,EAAWF,EAAMqC,QAAQ,IAAMjT,KAAK6U,KAAKrE,WAAWM,YACnD9Q,KAAK4U,KAAKrE,gBAGf,GAFAK,EAAM7J,UAAU+M,OAAO9T,KAAK6U,KAAKrE,WAAWM,UAExCF,EAAMqC,QAAQ,UAAW,CACzBrC,EAAM8H,gBAAgB,MAEtB,IAAIC,EAAUpC,EAAW,OAEzB3F,EAAMgI,OAAOD,GACbA,EAAQV,OAAOrH,GACfA,EAAQ+H,EAEZ/H,EAAMvC,GAAKA,EACXuC,EAAM7J,UAAUgJ,IAAI,YACpBa,EAAM7J,UAAUgJ,IAAI,aAEpB,IAAIoD,EAAS,CAACvC,EAAMwC,eAAepR,QAAO,SAAUuR,GAChD,OAAOA,EAASN,QAAQ,SACzB,GASH,GARInC,EACIqC,GACAA,EAAOpM,UAAUgJ,IAAI,wBAIzB/P,KAAK+U,KAAK0B,KAAKwB,OAAOrH,GAEtBuC,IAEAA,EAAM,QAAcvC,EACpBA,EAAK,SAAeuC,EAEhBA,GAAUA,EAAOF,QAAQ,kBACpBsD,EAAapD,EAAQ,WAAWjT,QAAQ,CAEzC,IAAI2Y,EAAOtC,EAAapD,EAAQ,sBAAsB,GACtD,GAAI0F,EAAM,CAEN,IAAIC,EAASvC,EAAW,yCACxBuC,EAAOC,aAAa,OAAQ,IAAMnI,EAAMvC,IAGpCwK,EAAK5F,QAAQ,SACb6F,EAAO/R,UAAUgJ,IAAI,qBACrB+I,EAAOE,UAAYH,EAAKG,UACxB7F,EAAO8F,aAAaH,EAAQD,EAAKK,oBACjCL,EAAK/E,UAILX,EAAO8F,aAAaH,EAAQvC,EAAapD,EAAQ,aAAa,KAYlF,OANAnT,KAAKmZ,YAAYvI,GACjB2F,EAAa3F,EAAO,UAAU9Q,SAAQ,SAAU2Y,GAC5CrC,EAAMgD,aAAaX,MAGvBzY,KAAKqW,QAAQ,kBAAmB,CAACzF,IAC1BA,GAMX6D,EAAMvR,UAAUiW,YAAc,SAAUvI,GAIpC,GAFA5Q,KAAKqW,QAAQ,oBAAqB,CAACzF,KAE/B2F,EAAa3F,EAAO,cAAc1Q,OAAtC,CAIA,IAAImZ,EAAiB,KAEjBC,EAAc,KAgBlB,GAdI1I,EAAMwH,aAAa,kBACnBkB,EAAc/C,EAASvW,KAAK+U,KAAK0B,KAAM7F,EAAMwH,aAAa,mBAAmB,IAO7EiB,EAAiBzI,EAAK,YAElB0I,EAAcD,EAAe/C,QAAQ,eAIzC+C,IAAkBA,EAAepG,QAAQ,yBAA7C,CAIA,IAAInD,EAASyG,EAAW,iBAUxB,GARKvW,KAAK4U,KAAK9E,OAAOC,IAIb/P,KAAK4U,KAAK9E,OAAOE,QACtBF,EAAO/I,UAAUgJ,IAAI,oBAJrBD,EAAO/I,UAAUgJ,IAAI,aAOrBuJ,EAAa,CAEb,IAAIC,EAAOhD,EAAW,uCACtBgD,EAAKR,aAAa,OAAQ,IAAMO,EAAYjL,IAC5CyB,EAAOmI,OAAOsB,GAGlB,IAAIC,EAAS,KAETH,EACAG,EAASjD,EAAa8C,EAAgB,sBAAsB,GAGvDC,IACLE,EAASjD,EAAS+C,EAAa,YAAc1I,EAAMvC,GAAK,MAAM,IAGlE,IAAI4B,EAAQsG,EAAW,sBACnBkD,EAAYlD,EAAW,QAQ3B,OAPAtG,EAAMgI,OAAOwB,GACbA,EAAUT,UAENpI,EAAMwH,aAAa,mBACdoB,EAASA,EAAOE,YAAc,KAC/B1Z,KAAK2Z,KAAK3Z,KAAK4U,KAAK9E,OAAOG,QAC3BjQ,KAAK2Z,KAAK,QACV3Z,KAAK4U,KAAK9E,OAAOI,WACrB,IAAK,SACGsJ,GACAvJ,EAAM8I,aAAa,OAAQS,EAAOpB,aAAa,SAEnD,MACJ,IAAK,SACGkB,GACArJ,EAAM8I,aAAa,OAAQ,IAAMO,EAAYjL,IAIzDyB,EAAOmI,OAAOhI,GACdW,EAAMgJ,QAAQ9J,GAEd9P,KAAKqW,QAAQ,mBAAoB,CAACzF,OAMtC6D,EAAMvR,UAAUkW,aAAe,SAAUX,GACrC,IAAIrC,EAAQpW,KAEZA,KAAKqW,QAAQ,sBAAuB,CAACoC,IACrClC,EAAYkC,EAAUzY,KAAK6U,KAAKrE,WAAWE,WAAY,iBAClD+H,EAASxF,QAAQ,oBAClBwF,EAAS1R,UAAUgJ,IAAI,eACvBwG,EAAakC,GAAU3Y,SAAQ,SAAUyT,GACrCA,EAASxM,UAAUgJ,IAAI,eACvBwG,EAAYhD,EAAU6C,EAAMvB,KAAKrE,WAAWK,SAAU,wBACtD0F,EAAahD,EAAU,WAAWzT,SAAQ,SAAU+Y,GAC3CA,EAAK5F,QAAQ,YACd4F,EAAK9R,UAAUgJ,IAAI,4BAMnC/P,KAAKqW,QAAQ,qBAAsB,CAACoC,KAKxChE,EAAMvR,UAAU0S,YAAc,WAE1B5V,KAAKqW,QAAQ,qBAEb,IAAI/C,EAAYtT,KAAK+U,KAAK0B,KAAK3D,iBAAiB,yBAE5C+G,EAAW,KAEfvG,EAAUxT,SAAQ,SAAUyT,GACxBsG,EAAWtG,EACXA,EAASxM,UAAU+M,OAAO,2BAG1B+F,GACAA,EAAS9S,UAAUgJ,IAAI,wBAG3B,IAAI+J,EAAUD,EACRA,EAASvD,QAAQ,aACjBC,EAAavW,KAAK+U,KAAK0B,KAAM,aAAa,GAEhDzW,KAAKkW,UAAU4D,GAAS,GAExB9Z,KAAKqW,QAAQ,qBAKjB5B,EAAMvR,UAAU2S,aAAe,WAC3B,IAAIO,EAAQpW,KAEZA,KAAKqW,QAAQ,sBACbxR,SAASqN,iBAAiB,SAAS,SAAUF,GAEzC,IAAIlQ,EAASkQ,EAAKlQ,OAAOwU,QAAQ,WACjC,GAAKxU,EAAL,CAgBA,IAZA,IAAI4Q,EAAO,CACPwF,OAAQpW,EAAOwU,QAAQ,cAAgBF,EAAMrB,KAAKL,KAClDqF,WAAYjY,EAAOmR,QAAQ,oBAC3B+G,WAAYlY,EAAOmR,QAAQ,qBACvBnR,EAAOmR,QAAQ,sBAEnB9C,EAAU,CACVC,MAAO,KACPE,YAAa,KACbD,eAA2D,KAA3CvO,EAAOsW,aAAa,QAAQ9U,MAAM,EAAG,IAGhD2W,EAAI,EAAGA,EAAI7D,EAAMlB,KAAKhV,OAAQ+Z,IAAK,CACxC,IAAIC,EAAQ9D,EAAMlB,KAAK+E,GAAGxX,KAAK2T,EAAOtU,EAAQ4Q,GAC9C,GAAIwH,EAAO,CACP,GAAoB,kBAATA,EAEP,YADAlI,EAAK3B,iBAGU,UAAf3F,EAAKwP,KACL/J,EAAUgB,EAAO+I,EAAO/J,KAKhCuC,EAAKwF,QAAUxF,EAAKqH,aAAerH,EAAKsH,aAEpCvI,EAAU3P,EAAQsU,EAAMxB,KAAKzE,QAAQG,YAAaH,EAAQG,cAC1D8F,EAAM9F,YAAYxO,EAAOsR,eAGzB3B,EAAU3P,EAAQsU,EAAMxB,KAAKzE,QAAQE,eAAgBF,EAAQE,iBAC7D2B,EAAK3B,iBAGLoB,EAAU3P,EAAQsU,EAAMxB,KAAKzE,QAAQC,MAAOD,EAAQC,QAChDgG,EAAMxB,KAAKuF,WACW,mBAAf/D,EAAMhG,OACbgG,EAAMhG,aAInB,GAEHpQ,KAAKqW,QAAQ,sBAOjB5B,EAAMvR,UAAUyW,KAAO,SAAUnH,GAC7B,OR/tBD,SAAaA,EAAMzB,GACtB,MAAuB,iBAAZA,QAC0B,IAA1BwB,EAAaxB,IACbwB,EAAaxB,GAAUyB,IAE3BA,EQ0tBImH,CAASnH,EAAMxS,KAAK6U,KAAK9D,WAGpC0D,EAAM7H,QAAUA,EAEhB6H,EAAME,QAAUA,EAEhBF,EAAMkD,OAAS,GAEflD,EAAM5E,SAAW,GAEjB4E,EAAMM,KAAO,GAEbN,EAAMO,KAAO,GACNP,EApvBgB,GAsvB3B,UC9vBA,QAJc,CACV2F,SAAS,EACTC,gBAAgB,GCUpB,QAZc,CACVC,OAAO,EACP5F,KAAM,CACF6F,aAAc,UACdC,eAAgB,QAEpBC,KAAM,CACFC,SAAU,MACVjI,SAAU,KACVkI,WAAY,KCLpB,SAASC,EAAQC,GACb,OAAKA,EAGEA,EAAKC,OAAO,GAAGC,cAAgBF,EAAKvX,MAAM,GAFtC,GAUR,SAAS0X,EAAGtJ,EAASM,EAAMiJ,GAE9B,IAAIC,EAAYlJ,EAAKtK,MAAM,KAE3BgK,EADAM,EAAO,UAAY4I,EAAQM,EAAU,IAAMN,EAAQM,EAAU,KAC7CxJ,EAAQM,IAAS,GACjCN,EAAQM,GAAMtR,KAAKua,GACnBvJ,EAAQQ,iBAAiBgJ,EAAU,GAAID,GAOpC,SAASE,EAAIzJ,EAASM,GAEzB,IAAIkJ,EAAYlJ,EAAKtK,MAAM,KAC3BsK,EAAO,UAAY4I,EAAQM,EAAU,IAAMN,EAAQM,EAAU,KAC5DxJ,EAAQM,IAAS,IAAIlS,SAAQ,SAAUmb,GACpCvJ,EAAQO,oBAAoBiJ,EAAU,GAAID,MC1BlDxG,EAAAA,QAAAA,UAA0B7H,EAC1B6H,EAAAA,QAAAA,UAA0BE,EAyH1BF,EAAAA,UAAAA,KAAuB,WACnB,IAAI2B,EAAQpW,KAEZA,KAAKqW,QAAQ,eACTrW,KAAKgV,KAAKkC,SAGdlX,KAAKob,aAELjJ,YAAW,WACPiE,EAAMiF,eACPrb,KAAK6U,KAAK7D,iBAEbhR,KAAKqW,QAAQ,gBAEjB5B,EAAAA,UAAAA,WAA6B,WACzB,IAAI2B,EAAQpW,KACR4M,EAAU5M,KAAK4U,KAAKuF,UAExBna,KAAKsb,iBD1GF,SAAiB5J,EAASM,EAAMpF,GACnC,IAAIsO,EAAYlJ,EAAKtK,MAAM,MAE1BgK,EADDM,EAAO,UAAY4I,EAAQM,EAAU,IAAMN,EAAQM,EAAU,MAC3C,IAAIpb,SAAQ,SAAUmb,GACpCA,EAAQrO,GAAW,OCwGvB2O,CAAevS,OAAQ,cAAe,CAAEwS,OAAO,IAC/C,IAAIC,EAAO,CAAC,qBAER7O,EAAQwN,SACRqB,EAAK/a,KAAK,uBAES,SAAnBkM,EAAQwN,SACRqB,EAAK/a,KAAK,oBAEVkM,EAAQyN,gBACRoB,EAAK/a,KAAK,yBAGd+a,EAAK3b,SAAQ,SAAU+S,GACnBuD,EAAMrB,KAAK0C,KAAK1Q,UAAUgJ,IAAI8C,MAMlCV,YAAW,WACPiE,EAAMpB,KAAKkC,QAAS,IACrBlX,KAAK6U,KAAK7D,iBACbhR,KAAK+U,KAAKL,KAAK3N,UAAUgJ,IAAI,mBAKjC0E,EAAAA,UAAAA,WAA6B,WACzB,IAAI2B,EAAQpW,KAEZ4R,EAAc6C,EAAAA,KAAAA,MAAiB,WAC3B2B,EAAMC,QAAQ,iBACfrW,KAAK6U,KAAK3D,oBAEblR,KAAKqW,QAAQ,cACbrW,KAAK+U,KAAK0C,KAAK1Q,UAAUgJ,IAAI,uBAEjC0E,EAAAA,UAAAA,MAAwB,WACpB,IAAI2B,EAAQpW,KAEZA,KAAKqW,QAAQ,gBACRrW,KAAKgV,KAAKkC,SAIftF,EAAc6C,EAAAA,KAAAA,MAAiB,WAC3B2B,EAAMrB,KAAKL,KAAK3N,UAAU+M,OAAO,kBAChB,CACb,oBACA,sBACA,mBACA,yBAGOhU,SAAQ,SAAU+S,GACzBuD,EAAMrB,KAAK0C,KAAK1Q,UAAU+M,OAAOjB,MAIrCuD,EAAMpB,KAAKkC,QAAS,EACpBd,EAAMC,QAAQ,kBACfrW,KAAK6U,KAAK3D,oBAEblR,KAAKqW,QAAQ,eACbrW,KAAK+U,KAAK0C,KAAK1Q,UAAU+M,OAAO,sBAEhC9T,KAAKqW,QAAQ,iBAKjB5B,EAAAA,UAAAA,eAAiC,WAC7B,IAAI2B,EAAQpW,KACZuW,EAAS1R,SAAS6W,KAAM,sBAAsB5b,SAAQ,SAAU4U,GAC5D,GAAIA,IAAS0B,EAAMrB,KAAKL,KAAM,CAC1B,IAAIiH,EAAMjH,EAAI,MACViH,GAAOA,EAAIvL,OACXuL,EAAIvL,aAUpBqE,EAAAA,UAAAA,QAA0B,SAAUgG,GAEhCza,KAAKqW,QAAQ,iBAAkB,CAACoE,IAChC,IAAI9F,EAAU3U,KAAK6U,KAAKsF,UAExB,IAAKM,EAAM,CAEP,IAAImB,EAAwC,iBAAzBjH,EAAQ8F,KAAKhI,SAC1B8D,EAAS1R,SAAS6W,KAAM/G,EAAQ8F,KAAKhI,UACrC8D,EAAa1R,SAAS6W,KAAM/G,EAAQ8F,KAAKC,UAQ/C,GANAkB,EAAQA,EAAM5Z,QAAO,SAAUyY,GAAQ,OAAQA,EAAKxH,QAAQ,qCAExD0B,EAAQ8F,KAAKE,WAAWza,SACxB0b,EAAQA,EAAM5Z,QAAO,SAAUyY,GAAQ,OAAQA,EAAKxH,QAAQ0B,EAAQ8F,KAAKE,WAAWzN,KAAK,WAGzF0O,EAAM1b,OAAS,EAAG,CAClB,IAAI2b,EAAYtF,EAAW,OAC3BqF,EAAM,GAAGhD,OAAOiD,GAChBD,EAAM9b,SAAQ,SAAU2a,GACpBoB,EAAU5D,OAAOwC,MAErBmB,EAAQ,CAACC,GAEbpB,EAAOmB,EAAM,GAEjBnB,EAAK1T,UAAUgJ,IAAI,WACnB0K,EAAK1T,UAAUgJ,IAAI,eACnB0K,EAAKpM,GAAKoM,EAAKpM,IAAM+D,IACrBqC,EAAAA,KAAAA,KAAkBgG,EAElBza,KAAKqW,QAAQ,gBAAiB,CAACoE,KAKnC,IAAIqB,EAAa,WACb,IAAI1F,EAAQpW,KAIZub,EAAW1W,SAAS6W,KAAM,oBAC1BH,EAAU1W,SAAS6W,KAAM,oBAAoB,SAAU1J,GAC/B,GAAhBA,EAAK+J,SACD3F,EAAMrB,KAAK0C,KAAKxE,QAAQ,uBACxBjB,EAAK3B,qBAQjB2L,EAAc,WACd,IAAI5F,EAAQpW,KAEZA,KAAKqW,QAAQ,sBACb,IAAIzJ,EAAU5M,KAAK4U,KAAKuF,UAAWxF,EAAU3U,KAAK6U,KAAKsF,UACvD,GAAKvN,EAAQwN,QAAb,CAIA,IAAK3F,EAAAA,KAAAA,KAAiB,CAClB,IAAIwH,EAAO1F,EAAW,uCACtB0F,EAAKjD,UAAY,UAEjBnU,SAASsQ,cAAcR,EAAQD,KAAK8F,gBAAgBvC,OAAOgE,GAE3DxH,EAAAA,KAAAA,KAAkBwH,EAMtB,IAAIC,EAAY,SAAUlK,GACtBA,EAAK3B,iBACL2B,EAAKmK,kBACA/F,EAAMrB,KAAK0C,KAAKxE,QAAQ,sBACzBmD,EAAMhG,SAGdqE,EAAAA,KAAAA,KAAAA,iBAAiC,YAAayH,GAC9CzH,EAAAA,KAAAA,KAAAA,iBAAiC,aAAcyH,GAC/CzH,EAAAA,KAAAA,KAAAA,iBAAiC,YAAayH,GAE9Clc,KAAKqW,QAAQ,uBCjUjB,QAJc,CACV+F,MAAM,EACN5J,MAAM,GCMV,QARc,CACVA,KAAM,CACF0J,UAAW,aACXG,aAAc,gBACdC,YAAa,eACbC,cAAe,mBCLvB,GACI,aAAc,WACd,gBAAiB,cACjB,eAAgB,iBAChB,iBAAkB,gBCJtB,GACI,aAAc,iBACd,gBAAiB,sBACjB,eAAgB,mBAChB,iBAAkB,sBCJtB,GACI,aAAc,eACd,gBAAiB,kBACjB,eAAgB,kBAChB,iBAAkB,uBCkJtB,IACQC,ECjJJzM,ECNJ,CACI,aAAc,eACd,gBAAiB,kBACjB,eAAgB,iBAChB,iBAAkB,oBDEV,MACRA,EAAIuE,EAAI,MACRvE,EAAIwE,EAAI,MACRxE,EAAIyE,EAAI,MDCZC,EAAAA,QAAAA,aAA6B7H,EAC7B6H,EAAAA,QAAAA,aAA6BE,EA4IrB6H,EAAO,SAAU9K,EAAS8K,EAAMjb,GAChCmQ,EAAQ8K,GAAQjb,EACZA,EACAmQ,EAAQqH,aAAayD,EAAMjb,EAAM6B,YAGjCsO,EAAQgH,gBAAgB8D,IAUhC/H,EAAAA,QAAgB,SAAU/C,EAASrJ,EAAM9G,GACrCib,EAAK9K,EAAS,QAAUrJ,EAAM9G,IAQlCkT,EAAAA,QAAgB,SAAU/C,EAASnQ,GAC/Bib,EAAK9K,EAAS,OAAQnQ,IAQ1BkT,EAAAA,QAAgB,SAAUjC,GACtB,MAAO,2BAA6BA,EAAO,WGvLnD,QAHc,CACViK,KAAK,GCAF,IAAIC,EAAQ,iBAAkB1T,UAChC2T,UAAUC,mBACX,ECIJnI,EAAAA,QAAAA,aAA6B7H,ECJ7B,QAHW,CACPiQ,OAAQ,WCKZpI,EAAAA,QAAAA,WAA2B7H,ECF3B,QAJc,CACVwD,OAAO,EACP0M,MAAM,GCIVrI,EAAAA,QAAAA,WAA2B7H,ECC3B,QAPc,CACVmD,KAAK,EACLgN,QAAS,CACLlP,IAAK,EACLmP,IAAK,ICEbvI,EAAAA,QAAAA,QAAwB7H,ECDxB,QALc,CACVmD,KAAK,EACLkN,MAAO,SACPC,OAAO,GCGXzI,EAAAA,QAAAA,SAAyB7H,EAEzB6H,EAAAA,QAAAA,WAAAA,SAAoC,CAChC0I,QAAS,WCLb,QAJc,CACVpN,KAAK,EACLkN,MAAO,UCIXxI,EAAAA,QAAAA,SAAyB7H,EAEzB6H,EAAAA,QAAAA,WAAAA,QAAmC,UCJnC,QAJc,CACVqI,MAAM,EACN/H,KAAM,MCDH,IAAI2H,EAAQ,iBAAkB1T,UAChC2T,UAAUC,mBACX,ECFOQ,EAAO,CACdC,IAAK,EACLC,MAAO,EACPC,OAAQ,EACRC,KAAM,GAGCC,EAAW,CAClBC,MAAO,GACPC,MAAO,ICTAC,EAAiB,CACxBC,EAAG,CAAC,QAAS,QACbC,EAAG,CAAC,OAAQ,OAGL7T,EACG,EADHA,EAEG,EAFHA,GAGG,ECHH8T,GAAoB,SAAUC,EAAUC,GAO/C,MANuB,iBAAZD,GACmB,KAAtBA,EAAS1a,OAAO,KAEhB0a,EAAWC,IADXD,EAAWE,SAASF,EAAS1a,MAAM,GAAI,GAAI,KACb,MAG/B0a,GCkMX,SA1MgC,WAO5B,SAASG,EAAWC,EAAShB,EAAMK,GAC/Bzd,KAAKoe,QAAUA,EACfpe,KAAKod,KAAOjM,EAAOiM,EAAMxQ,GACzB5M,KAAKyd,SAAWtM,EAAOsM,EAAU7Q,GAE5B5M,KAAKoe,QAAL,kBACDpe,KAAKoe,QAAQlM,iBAAiBmM,EAAgB,aAAe,YAAare,KAAK0d,MAAMtd,KAAKJ,OAC1FA,KAAKoe,QAAQlM,iBAAiBmM,EAAgB,WAAa,UAAWre,KAAKse,KAAKle,KAAKJ,OACrFA,KAAKoe,QAAQlM,iBAAiBmM,EAAgB,aAAe,aAAcre,KAAKse,KAAKle,KAAKJ,OAC1FA,KAAKoe,QAAQlM,iBAAiBmM,EAAgB,YAAc,YAAare,KAAKue,KAAKne,KAAKJ,QAE5FA,KAAKoe,QAAL,iBAAkC,EAsLtC,OAhLAD,EAAWjb,UAAUwa,MAAQ,SAAUc,GACnCxe,KAAKye,gBAAkB,CACnBZ,EAAGW,EAAME,QAAUF,EAAME,QAAQ,GAAGC,MAAQH,EAAMG,OAAS,EAC3Db,EAAGU,EAAME,QAAUF,EAAME,QAAQ,GAAGE,MAAQJ,EAAMI,OAAS,GAG/D,IAAIC,EAAQ7e,KAAKoe,QAAQU,YAErBjC,EAAS7c,KAAKoe,QAAQW,aAEtB1B,EAAMU,GAAkB/d,KAAKod,KAAKC,IAAKR,GAC3C,KAAkB,iBAAPQ,GACHrd,KAAKye,gBAAgBX,EAAIT,GADjC,CAMA,IAAIC,EAAQS,GAAkB/d,KAAKod,KAAKE,MAAOuB,GAC/C,KAAoB,iBAATvB,IACPA,EAAQuB,EAAQvB,EACZtd,KAAKye,gBAAgBZ,EAAIP,IAFjC,CAOA,IAAIC,EAASQ,GAAkB/d,KAAKod,KAAKG,OAAQV,GACjD,KAAqB,iBAAVU,IACPA,EAASV,EAASU,EACdvd,KAAKye,gBAAgBX,EAAIP,IAFjC,CAOA,IAAIC,EAAOO,GAAkB/d,KAAKod,KAAKI,KAAMqB,GAC1B,iBAARrB,GACHxd,KAAKye,gBAAgBZ,EAAIL,IAKjCxd,KAAKgf,cAAgB,CACjBnB,EAAG7d,KAAKye,gBAAgBZ,EACxBC,EAAG9d,KAAKye,gBAAgBX,GAG5B9d,KAAKiK,MAAQgV,OAMjBd,EAAWjb,UAAUob,KAAO,SAAUE,GAElC,GAAIxe,KAAKiK,OAASgV,GAAyB,CAEvC,IAAIC,EAAgBlf,KAAKmf,iBAErBC,EAASpf,KAAKqf,aAAaH,GAG/B,GAFAlf,KAAKsf,gBAAgB,WAAYF,GAE7BtW,KAAKyW,IAAIvf,KAAKwf,SAASxf,KAAKyf,OAASzf,KAAKyd,SAASE,MAAO,CAE1D,IAAI+B,EAAiB1f,KAAK2f,kBAC1BP,EAAOQ,UAAYF,EACnB1f,KAAKsf,gBAAgB,SAAUF,IAIvCpf,KAAKiK,MAAQgV,GAMjBd,EAAWjb,UAAUqb,KAAO,SAAUC,GAClC,OAAQxe,KAAKiK,OACT,KAAKgV,EACL,KAAKA,GACD,IAAIjB,EAAW,CACXH,EAAGW,EAAMqB,eACHrB,EAAME,QAAQ,GAAGC,MACjBH,EAAMG,OAAS,EACrBb,EAAGU,EAAMqB,eACHrB,EAAME,QAAQ,GAAGE,MACjBJ,EAAMI,OAAS,GAEzB5e,KAAKwf,SAAW,CACZ3B,EAAGG,EAASH,EAAI7d,KAAKye,gBAAgBZ,EACrCC,EAAGE,EAASF,EAAI9d,KAAKye,gBAAgBX,GAEzC9d,KAAK8f,SAAW,CACZjC,EAAGG,EAASH,EAAI7d,KAAKgf,cAAcnB,EACnCC,EAAGE,EAASF,EAAI9d,KAAKgf,cAAclB,GAEvC9d,KAAKye,gBAAkB,CACnBZ,EAAGG,EAASH,EACZC,EAAGE,EAASF,GAEhB9d,KAAKyf,KACD3W,KAAKyW,IAAIvf,KAAK8f,SAASjC,GAAK/U,KAAKyW,IAAIvf,KAAK8f,SAAShC,GAC7C,IACA,IAEV,IAAIoB,EAAgBlf,KAAKmf,iBAErBC,EAASpf,KAAKqf,aAAaH,GAE3Blf,KAAKiK,OAASgV,GACVnW,KAAKyW,IAAIvf,KAAK8f,SAAS9f,KAAKyf,OAASzf,KAAKyd,SAASC,QACnD1d,KAAKsf,gBAAgB,aAAcF,GAEnCpf,KAAKiK,MAAQgV,IAIjBjf,KAAKiK,OAASgV,IACdjf,KAAKsf,gBAAgB,YAAaF,KAUlDjB,EAAWjb,UAAUmc,aAAe,SAAUO,GAC1C,IAAIG,EAAQ/f,KAAK8f,SAASjC,EACtBmC,EAAQhgB,KAAK8f,SAAShC,EAO1B,MANiB,KAAb9d,KAAKyf,OACLM,GAASA,EAAQ,EAAI/f,KAAKyd,SAASC,MAAQ,EAAI1d,KAAKyd,SAASC,OAEhD,KAAb1d,KAAKyf,OACLO,GAASA,EAAQ,EAAIhgB,KAAKyd,SAASC,MAAQ,EAAI1d,KAAKyd,SAASC,OAE1D,CACH+B,KAAMzf,KAAKyf,KACXG,UAAWA,EACXK,UAAWjgB,KAAKwf,SAAS3B,EACzBqC,UAAWlgB,KAAKwf,SAAS1B,EACzBqC,UAAWJ,EACXK,UAAWJ,IAQnB7B,EAAWjb,UAAUoc,gBAAkB,SAAUe,EAAWjB,GAExD,IAAIZ,EAAQ,IAAI8B,YAAYD,EAAUrT,QAAQ,IAAK,IAAK,CAAEoS,OAAQA,IAClEpf,KAAKoe,QAAQmC,cAAc/B,GAE3B,IAAIiB,EAAO,IAAIa,YAAYD,EAAUrT,QAAQ,IAAKhN,KAAKyf,KAAK1E,eAAgB,CAAEqE,OAAQA,IACtFpf,KAAKoe,QAAQmC,cAAcd,GAE3B,IAAIG,EAAY,IAAIU,YAAYD,EAAUrT,QAAQ,IAAKoS,EAAOQ,WAAY,CACtER,OAAQA,IAEZpf,KAAKoe,QAAQmC,cAAcX,IAM/BzB,EAAWjb,UAAUic,eAAiB,WAClC,OAAOF,EAAwBjf,KAAKyf,MAAMzf,KAAK8f,SAAS9f,KAAKyf,MAAQ,EAAI,EAAI,IAMjFtB,EAAWjb,UAAUyc,gBAAkB,WACnC,OAAOV,EAAwBjf,KAAKyf,MAAMzf,KAAKwf,SAASxf,KAAKyf,MAAQ,EAAI,EAAI,IAE1EtB,EAxMqB,GCAhC,IAAIqC,GAAe,KAEfC,GAAW,KAEXC,GAAc,EACH,SAAS,GAACjG,GACrB,IAAIrE,EAAQpW,KAERgV,EAAO,GAEP2L,GAAS,EAoGTC,EAAgB,WAChB,IAAIC,EAAUld,OAAOyJ,KAAKgJ,EAAMxB,KAAKhF,YACjCiR,EAAQ3gB,QAGR+V,EAAU4K,EAAQ3T,KAAK,OAAO,eAAiB,WAC3C8H,EAAO8L,GAAgB9L,EAAM,GAAIoB,EAAMrB,KAAKL,SAGhDmM,EAAQ/gB,SAAQ,SAAUkU,GACtBiC,EAAUjC,GAAO,WACbgB,EAAO8L,GAAgB9L,EAAMoB,EAAMxB,KAAKhF,WAAWoE,GAAQoC,EAAMrB,KAAKL,SACvE,mBAKPM,EAAO8L,GAAgB9L,EAAM,GAAIoB,EAAMrB,KAAKL,OAvB5C+L,KACAlF,EAAWkF,GAAU,aACrBlF,EAAWkF,GAAU,YACrBlF,EAAWkF,GAAU,YA4B7BD,GAAe,IAAIrC,GAFnBsC,GAAWhG,GAGXmG,IACAA,EAAgB,aA1HRH,KAEAlF,EAAUkF,GAAU,aAAa,SAAUzO,GACnCA,EAAI,OAAW4N,WAAa5K,EAAK4K,YACjCe,GAAS,EAETvK,EAAMrB,KAAK0C,KAAK1Q,UAAUgJ,IAAI,uBAE9BqG,EAAMgF,aACNhF,EAAMC,QAAQ,cAEdqK,GAActK,EAAMrB,KAAKL,KAAkB,KAAbM,EAAKyK,KAAc,cAAgB,oBAIzElE,EAAUkF,GAAU,YAAY,SAAUzO,GACtC,GAAIA,EAAI,OAAWyN,MAAQzK,EAAKyK,MACxBkB,EAAQ,CACR,IAAIb,EAAW9N,EAAI,OAAW,WAAagD,EAAKyK,KAAK1E,eACrD,OAAQ/F,EAAKgJ,UACT,IAAK,QACL,IAAK,SACD8B,EAAWhX,KAAK+E,IAAI/E,KAAKkU,IAAI8C,GAAWY,IAAc,GACtD,MACJ,QACIZ,EAAWhX,KAAKkU,IAAIlU,KAAK+E,IAAIiS,EAAUY,IAAc,GAG7D,GAAsB,SAAlB1L,EAAK+L,UACL,OAAQ/L,EAAKgJ,UACT,IAAK,QACL,IAAK,SACD8B,GAAYY,GACZ,MACJ,QACIZ,GAAYY,GAIxB1L,EAAKgM,cAAclhB,SAAQ,SAAUiV,GACjCA,EAAKkM,MAAL,UACI,YACIjM,EAAKyK,KAAK1E,cACV,IACA+E,EACA,aAMxBvE,EAAUkF,GAAU,WAAW,SAAUzO,GACrC,GAAIA,EAAI,OAAWyN,MAAQzK,EAAKyK,MACxBkB,EAAQ,CACRA,GAAS,EACTvK,EAAMrB,KAAK0C,KAAK1Q,UAAU+M,OAAO,uBACjCkB,EAAKgM,cAAclhB,SAAQ,SAAUiV,GACjCA,EAAKkM,MAAL,UAA0B,MAG9B,IAAIC,EAASpY,KAAKyW,IAAIvN,EAAI,OAAW,WAAagD,EAAKyK,KAAK1E,iBAC1C,IAAd2F,GACJ,IAAKQ,EAAQ,CACT,IAAI1B,EAAWxN,EAAI,OAAW,WAAagD,EAAKyK,KAAK1E,eACrD,OAAQ/F,EAAKgJ,UACT,IAAK,QACL,IAAK,SACDkD,EAAS1B,GAAY,EACrB,MACJ,QACI0B,EAAS1B,GAAY,GAI7B0B,EACA9K,EAAMiF,aAGNjF,EAAMhG,aA+ClC,IAAI0Q,GAAkB,SAAU9L,EAAMpF,EAAY8E,GAyB9C,OAvBAM,EAAKgJ,SAAW,OAChBhJ,EAAK+L,UAAY,OAEjB,CAAC,QAAS,MAAO,UAAUjhB,SAAQ,SAAUqhB,GACrCvR,EAAWmI,QAAQ,YAAcoJ,IAAQ,IACzCnM,EAAKgJ,SAAWmD,MAIxB,CAAC,QAAS,MAAO,UAAUrhB,SAAQ,SAAUqhB,GACrCvR,EAAWmI,QAAQ,YAAcoJ,IAAQ,IACzCnM,EAAK+L,UAAY,YAIzBP,GAAapD,KAAO,CAChBC,IAAsB,UAAjBrI,EAAKgJ,SAAuB,MAAQ,EACzCV,MAAwB,QAAjBtI,EAAKgJ,SAAqB,MAAQ,EACzCT,OAAyB,OAAjBvI,EAAKgJ,SAAoB,MAAQ,EACzCR,KAAuB,SAAjBxI,EAAKgJ,SAAsB,MAAQ,GAIrChJ,EAAKgJ,UACT,IAAK,MACL,IAAK,SACDhJ,EAAKyK,KAAO,IACZ,MACJ,QACIzK,EAAKyK,KAAO,IAGpB,OAAQzK,EAAKgJ,UACT,IAAK,MACDhJ,EAAK4K,UAAY,OACjB,MACJ,IAAK,QACD5K,EAAK4K,UAAY,OACjB,MACJ,IAAK,SACD5K,EAAK4K,UAAY,KACjB,MACJ,QACI5K,EAAK4K,UAAY,QAGzB,GACS,UADD5K,EAAK+L,UAEL/L,EAAKgM,cAAgB,CAACtM,QAGtBM,EAAKgM,cAAgBzK,EAAS1R,SAAS6W,KAAM,gBAErD,OAAO1G,GClMXP,EAAAA,QAAAA,KAAqB7H,ECCrB,SAPc,CACVwU,MAAM,EACNC,aAAa,EACb7C,MAAO,QACPR,SAAU,GACVsD,KAAK,GCaT,SAlBc,CACVC,OAAQ,CACJzI,OAAQ,CACJ+E,GAAI,EACJC,EAAG,GAEP0D,SAAU,CACN3D,EAAG,GACHC,EAAG,KAGXjB,OAAQ,CACJG,IAAK,KAET6B,MAAO,CACH7B,IAAK,MCRbvI,EAAAA,QAAAA,SAAyB7H,GACzB6H,EAAAA,QAAAA,SAAyBE,GCJzB,SAJc,CACV4F,aAAc,SACdC,eAAgB,QCEpB/F,EAAAA,QAAAA,cAA8BE,GAE9BF,EAAAA,QAAAA,WAAAA,cAAyC,CACrCgN,MAAO,SCCX,SAPc,CACVC,KAAK,EACLrE,IAAK,GACLE,OAAQ,GACRS,SAAU,OACVtT,KAAM,WCCV+J,EAAAA,QAAAA,QAAwB7H,GCAxB,SAPc,CACVmD,KAAK,EACL4R,YAAY,EACZC,aAAa,EACbC,YAAY,EACZ9E,QAAS,GCCbtI,EAAAA,QAAAA,WAA2B7H,GCF3B,SAJc,CACVkV,QAAQ,EACRC,SAAS,GCMbtN,EAAAA,QAAAA,mBAAmC7H,GAsFnC,IAAIkP,GAAa,SAAUiG,GACvB,IAAI3L,EAAQpW,KAEZub,EAAW1W,SAAS6W,KAAM,oBAE1BH,EAAW1W,SAAS6W,KAAM,oBAC1BH,EAAU1W,SAAS6W,KAAM,oBAAoB,SAAU1J,GACnD,GAAIoE,EAAMrB,KAAK0C,KAAKxE,QAAQ,sBAAuB,CAC/C,IAAInR,EAASkQ,EAAKlQ,OAClB,GAAIA,EAAOmR,QAAQ,cAAe,CAC9B,IAAI+O,OAAO,EAEPlgB,EAAOsR,cAAcH,QAAQ,aACzBwB,EAAAA,KAAAA,OACAuN,EAAOvN,EAAAA,KAAAA,MAIX3S,EAAOsR,cAAcH,QAAQ,0BAC7B+O,EAAOzL,EAAS1R,SAAS6W,KAAM,qCAAqC,IAGnEsG,IACDA,EAAOlgB,EAAOsR,eAEd4O,GACAzL,EAAayL,EAAM,gBAAgB,GAAGC,aAMtD1G,EAAW1W,SAAS6W,KAAM,oBAC1BH,EAAU1W,SAAS6W,KAAM,oBAAoB,SAAU1J,GACnD,IAAIlQ,EAASkQ,EAAKlQ,OACd4S,EAAO5S,EAAOwU,QAAQ,YAC1B,GAAI5B,EAAM,CACIA,EAAI,MACd,IAAK5S,EAAOmR,QAAQ,mBAChB,OAAQjB,EAAK+J,SAET,KAAK,IACGja,EAAOmR,QAAQ,eACfnR,EAAOmR,QAAQ,eACfnR,EAAOye,cAAc,IAAI2B,MAAM,UAEnC,MAEJ,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACDlQ,EAAK3B,iBAIjB,GAAI0R,EAEA,GAAIjgB,EAAOmR,QAAQ,UACf,GAES,KAFDjB,EAAK+J,QAGLja,EAAOP,MAAQ,OAItB,CACD,IAAI4gB,EAAQzN,EAAI,MAChB,OAAQ1C,EAAK+J,SAET,KAAK,EACD,IAAIpF,EAAWJ,EAAS7B,EAAM,oBAAoB,GAAnC,SACXiC,GACAwL,EAAMjM,UAAUS,EAASL,QAAQ,cAErC,MAEJ,KAAK,GACG5B,EAAKzB,QAAQ,uBACbkP,EAAM/R,eC3KtC,SAHc,CACVgS,MAAM,GCKV3N,EAAAA,QAAAA,aAA6B7H,GCL7B,SADc,GCMd,SANc,CACVyV,YAAa,CACTC,UAAW,IACXC,aAAa,IC2BN,SAASC,KACpB,IAAIpM,EAAQpW,KACRyiB,EAAOziB,KAAK4U,KAAK8N,QACrB,QAAmB,IAARD,EAAX,CAGMA,aAAgB3f,QAClB2f,EAAO,CAACA,IAEZ,IAAIC,EAAU,GACTD,EAAKviB,SAGVuiB,EAAK3iB,SAAQ,SAAU8M,GAEnB,KADAA,EFpCD,SAAgCA,GAmBnC,MAlBsB,kBAAXA,GAAwBA,IAC/BA,EAAU,IAEQ,iBAAXA,IACPA,EAAU,SAEgB,IAAnBA,EAAQ+V,UACf/V,EAAQ+V,QAAU,CAAC,OAAQ,UAEzB/V,EAAQ+V,mBAAmB7f,QAC7B8J,EAAQ+V,QAAU,CAAC/V,EAAQ+V,eAEL,IAAf/V,EAAQ8U,MACf9U,EAAQ8U,KAAM,GAEQ,kBAAf9U,EAAQ8U,KAAoB9U,EAAQ8U,MAC3C9U,EAAQ8U,KAAM,GAEX9U,EEiBOgW,CAAuBhW,IACpB8U,IACT,OAAO,EAGX,IAAI5R,EAASyG,EAAW,iBAEpByH,EAAWpR,EAAQoR,SAEN,WAAbA,IACAA,EAAW,OAGV0E,EAAQ1E,KACT0E,EAAQ1E,GAAYzH,EAAW,kBAAoByH,IAEvD0E,EAAQ1E,GAAU/F,OAAOnI,GAEzB,IAAK,IAAImK,EAAI,EAAG5C,EAAIzK,EAAQ+V,QAAQziB,OAAQ+Z,EAAI5C,EAAG4C,IAAK,CACpD,IAGQrR,EAHJia,EAAOjW,EAAQ+V,QAAQ1I,GAE3B,GAAmB,iBAAR4I,EAGP,GAAmB,mBAFfja,EAAO4Z,GAAQM,eAAeD,IAI9Bja,EAAKnG,KAAK2T,EAAOtG,OAGhB,CAGD,IAAIiF,EAAOwB,EAAW,QACtBxB,EAAKiE,UAAY6J,EAEjB,IAAI9P,EAAWwD,EAAaxB,GACL,GAAnBhC,EAAS7S,SACT6U,EAAOhC,EAAS,IAEpBjD,EAAOmI,OAAOlD,QAKlBjF,EAAOmI,OAAO4K,GAIK,iBAAhBjW,EAAQlC,OAGI,mBADf9B,EAAO4Z,GAAQO,YAAYnW,EAAQlC,QAGnC9B,EAAKnG,KAAK2T,EAAOtG,IAYC,kBAAflD,EAAQ8U,KACfzL,EAAUrJ,EAAQ8U,KATT,WACT5R,EAAO/I,UAAU+M,OAAO,aACxBW,EAAAA,QAAc3E,EAAQ,UAAU,MAEtB,WACVA,EAAO/I,UAAUgJ,IAAI,aACrB0E,EAAAA,QAAc3E,EAAQ,UAAU,SAOxC9P,KAAKI,KAAK,kBAAkB,WACxB,IAAK,IAAI4d,KAAY0E,EACjBtM,EAAMrB,KAAKL,KAAiB,UAAZsJ,EAAuB,SAAW,WAAW0E,EAAQ1E,SA7GjFvJ,EAAAA,QAAAA,QAAwB7H,GACxB6H,EAAAA,QAAAA,QAAwBE,GAExBF,EAAAA,QAAAA,WAAAA,QAAmC,CAC/BuO,UAAW,OACXC,WAAY,SAOhBT,GAAQM,eAAiB,CACrBT,YClBW,SAAUvS,GACrB,IAAIsG,EAAQpW,KAERqiB,EAAc9L,EAAW,8BAC7BzG,EAAOmI,OAAOoK,GACdriB,KAAKI,KAAK,oBAAoB,SAAUwQ,GACpC,IAAIA,EAAMuE,cAAc,2BAAxB,CAGAoB,EAAa3F,EAAO,cAAc,GAAG7J,UAAUgJ,IAAI,aAEnD,IADA,IAAImT,EAAS,GAAIb,EAAc9L,EAAW,+BAAgCuD,EAAUlJ,EAAOuS,GAAQ,EAC5FrJ,GAAS,CAEZ,KADAA,EAAUA,EAAQxD,QAAQ,cACblD,cAAcH,QAAQ,yBAA0B,CACzD,IAAIhD,EAAQsG,EAASuD,EAAS,0BAA0B,GACxD,GAAI7J,EAAO,CACP,IAAIuC,EAAOvC,EAAMyJ,YACblH,EAAKtS,QACLgjB,EAAOE,QAAQD,EACT,SAAW3Q,EAAO,UAClB,aACEsH,EAAQzL,GACR,KACAmE,EACA,QAGhB2Q,GAAQ,EAEZrJ,EAAUA,EAAO,SAEjB1D,EAAMvB,KAAK6N,QAAQL,YAAYE,aAC/BW,EAAOtQ,QAEXyP,EAAYrJ,UAAYkK,EAAOhW,KAAK,8BAChCkJ,EAAMvB,KAAK6N,QAAQL,YAAYC,UAC/B,WACJ/L,EAAa3F,EAAO,cAAc,GAAGqH,OAAOoK,OAGhDriB,KAAKI,KAAK,mBAAmB,SAAUwQ,GACnC,IAAIsS,EAAStS,EAAMuE,cAAc,2BACjCkN,EAAYrJ,UAAYkK,EAASA,EAAOlK,UAAY,MAGxDhZ,KAAKI,KAAK,4BAA4B,SAAUwQ,GAC5C2F,EAAS3F,EAAO,qBAAqB9Q,SAAQ,SAAU4T,GACnDe,EAAAA,QAAcf,EAAQ,OAAQA,EAAO0E,aAAa,QAAQ9U,MAAM,WD5BxE8M,MEnBW,SAAUN,GACrB,IAAIsG,EAAQpW,KAERoQ,EAAQmG,EAAW,wCACvBzG,EAAOmI,OAAO7H,GAEdpQ,KAAKI,KAAK,iBAAiB,SAAUqa,GACjCrK,EAAM2I,aAAa,OAAQ,IAAM0B,EAAKpM,OAG1CrO,KAAKI,KAAK,yBAAyB,WAC/BgQ,EAAM4I,UAAYvE,EAAAA,QAAc2B,EAAMuD,KAAKvD,EAAMvB,KAAKwO,aAAa7Q,KAAK0J,gBFS5E3C,KGpBW,SAAUzJ,GACrB,IAQIwT,EACAC,EAAMC,EATNpN,EAAQpW,KAERuZ,EAAOhD,EAAW,uCACtBzG,EAAOmI,OAAOsB,GACdvZ,KAAKI,KAAK,oBAAoB,SAAUwQ,GACpC2F,EAAa3F,EAAO,cAAc,GAAG7J,UAAUgJ,IAAI,gBAKvD/P,KAAKI,KAAK,mBAAmB,SAAUwQ,GAC/BA,EAAMwC,cAAcH,QAAQ,4BAGhCqQ,EAAM1S,EAAMuE,cAAc,IAAMiB,EAAMvB,KAAKrE,WAAWkS,QAAQM,cAE1DM,EAAM1S,EAAMuE,cAAc,gCAE9BoO,EAAOD,EAAMA,EAAIlL,aAAa,QAAU,GACxCoL,EAAOF,EAAMA,EAAItK,UAAY,GACzBuK,EACAhK,EAAKR,aAAa,OAAQwK,GAG1BhK,EAAKb,gBAAgB,QAEzBa,EAAKxS,UAAUwc,GAAQC,EAAO,SAAW,OAAO,aAChDjK,EAAKP,UAAYwK,MAGrBxjB,KAAKI,KAAK,4BAA4B,SAAUwQ,GAC5C6D,EAAAA,QAAc7D,EAAMuE,cAAc,cAAe,UAAU,MAE/DnV,KAAKI,KAAK,2BAA2B,SAAUwQ,GAC3C6D,EAAAA,QAAc8E,EAAM,SAAUA,EAAKtG,QAAQ,eAC3CwB,EAAAA,QAAc8E,EAAM,QAASA,EAAKnB,aAAa,SAAW,IAAI9U,MAAM,QHfxEmgB,YIrBW,SAAU3T,GACc,UAA/BpF,EAAK1K,KAAK4U,KAAK6O,eACfzjB,KAAK4U,KAAK6O,YAAc,IAE5B,IAAIA,EAAclN,EAAW,8BAC7BzG,EAAOmI,OAAOwL,GACdzjB,KAAK4U,KAAK6O,YAAY1T,KAAM,EAC5B/P,KAAK4U,KAAK6O,YAAYxG,MAAQ,CAACwG,IJe/BxT,MKtBW,SAAUH,GACrB,IAOIyT,EAAMC,EACNE,EA2BAnK,EAnCAnD,EAAQpW,KAERiQ,EAAQsG,EAAW,sBACnBkD,EAAYlD,EAAW,QAC3BtG,EAAMgI,OAAOwB,GACb3J,EAAOmI,OAAOhI,GAIdjQ,KAAKI,KAAK,mBAAmB,SAAUwQ,GAE/BA,EAAMwC,cAAcH,QAAQ,4BAIhCyQ,EAAW9S,EAAMuE,cAAc,IAAMiB,EAAMvB,KAAKrE,WAAWkS,QAAQO,eAE/DS,EAAW9S,EAAMuE,cAAc,4BAGnCoO,EACIG,GAAYA,EAASpN,QAAQ,KACvBoN,EAASpN,QAAQ,KAAK8B,aAAa,QACnC,IAENnI,EAAM8I,aAAa,OAAQwK,GAG3BtT,EAAMyI,gBAAgB,QAG1B8K,EAAOE,EAAWA,EAAS1K,UAAY,GACvCS,EAAUT,UAAYwK,MAI1BxjB,KAAKI,KAAK,2BAA2B,SAAUwQ,GAC3C,GAAIwF,EAAMxB,KAAKyO,aAAa7Q,KAAM,CAC9B,IAAK+G,EACahD,EAAaH,EAAMrB,KAAKL,KAAM,uCACpC5U,SAAQ,SAAUgQ,GACtB,IAAI6T,EAAM7T,EAAOqF,cAAc,gBAC3BwO,IACApK,EAAOoK,MAInB,GAAIpK,EAAM,CACN,IAAI3C,GAAS,EACsB,UAA/BR,EAAMxB,KAAK9E,OAAOI,YAClB0G,GAAU2C,EAAKtG,QAAQ,eAE3BwB,EAAAA,QAAcxE,EAAO,SAAU2G,UL5B/C4L,GAAQO,YAAc,CAClBa,KM3BW,SAAU9T,GACrB,IAAIsG,EAAQpW,KACZ8P,EAAO/I,UAAUgJ,IAAI,kBACrBD,EAAOsD,cAAcrM,UAAUgJ,IAAI,uBACnC,IAAI0D,EAAU8C,EAAazG,EAAQ,KACnCA,EAAOoC,iBAAiB,SAAS,SAAUF,GACvC,IAAI0B,EAAS1B,EAAKlQ,OAClB,GAAK4R,EAAOT,QAAQ,KAGpB,GAAIS,EAAOT,QAAQ,4BACfjB,EAAK6R,gCAGT,IACIzN,EAAMF,UAAUE,EAAMrB,KAAKL,KAAKS,cAAczB,EAAO0E,aAAa,UAAU,GAC5EpG,EAAK6R,2BAET,MAAOxL,QAmBXrY,KAAKI,KAAK,mBAjBV,SAAS0jB,EAAUlT,GACf6C,EAAQ3T,SAAQ,SAAU4T,GACtBA,EAAO3M,UAAU+M,OAAO,8BAE5B,IAAIJ,EAASD,EAAQzR,QAAO,SAAU0R,GAClC,OAAOA,EAAOT,QAAQ,WAAarC,EAAMvC,GAAK,SAC/C,GACH,GAAIqF,EACAA,EAAO3M,UAAUgJ,IAAI,+BAEpB,CACD,IAAIoD,EAASvC,EAAK,SACduC,GACA2Q,EAAUrhB,KAAKzC,KAAMmT,EAAOmD,QAAQ,oBC9BpD,SAJc,CACVyN,QAAQ,EACRC,QAAQ,GCEZ,SAJc,CACVC,aAAc,EACdC,aAAc,ICKlBzP,EAAAA,QAAAA,WAA2B7H,GAC3B6H,EAAAA,QAAAA,WAA2BE,GCU3B,SAlBc,CACV5E,KAAK,EACLkN,MAAO,SACPkH,QAAQ,EACRC,UAAW,oBACXC,YAAa,SACbzT,MAAO,CACHb,KAAK,EACLuU,UAAU,EACVC,GAAI,OACJlW,GAAI,KACJmW,OAAQ,KACRvU,MAAO,UAEXwU,QAAQ,EACRC,eAAe,EACfC,eAAe,GCVnB,SANc,CACVC,OAAO,EACPC,MAAM,EACN3Y,OAAO,EACP4Y,QAAQ,GCJZ,IACIC,OAAQ,QACR,oBAAqB,qBACrBZ,OAAQ,UCHZ,IACIY,OAAQ,QACR,oBAAqB,6BACrBZ,OAAQ,WCHZ,IACIY,OAAQ,QACR,oBAAqB,qBACrBZ,OAAQ,YCHZ,IAAIa,GAAkD,WAClD,IAAK,IAAIC,EAAI,EAAGC,EAAI,EAAGC,EAAKllB,UAAUC,OAAQglB,EAAIC,EAAID,IAAKD,GAAKhlB,UAAUilB,GAAGhlB,OACxE,IAAIklB,EAAItiB,MAAMmiB,GAAI3T,EAAI,EAA3B,IAA8B4T,EAAI,EAAGA,EAAIC,EAAID,IACzC,IAAK,IAAIhc,EAAIjJ,UAAUilB,GAAIG,EAAI,EAAGC,EAAKpc,EAAEhJ,OAAQmlB,EAAIC,EAAID,IAAK/T,IAC1D8T,EAAE9T,GAAKpI,EAAEmc,GACjB,OAAOD,GCCPrV,ECNJ,CACIgV,OAAQ,SACR,oBAAqB,4BACrBZ,OAAQ,aDGA,MACRpU,EAAIuE,GAAI,MACRvE,EAAIwE,GAAI,MACRxE,EAAIyE,GAAI,MDSZC,EAAAA,QAAAA,YAA4B7H,GAC5B6H,EAAAA,QAAAA,YAA4BE,GA0E5B,IAAI4Q,GAAkB,WAClB,IAAI3Y,EAAU5M,KAAK4U,KAAK6O,YACpB+B,GAD2CxlB,KAAK6U,KAAK4O,YACvClN,EAAavW,KAAK+U,KAAK0B,KAAM,oBAAoB,IAEnE,GAAI+O,EACA,OAAOA,EAEXA,EAAcjP,EAAW,0CACrB3J,EAAQgE,MAAMvC,KACdmX,EAAYnX,GAAKzB,EAAQgE,MAAMvC,IAE/BzB,EAAQgE,MAAMX,OACduV,EAAYzM,aAAa,gBAAiBnM,EAAQgE,MAAMX,OAG5D,IAAIwI,EAAWlC,EAAW,MAK1B,OAJAiP,EAAYvN,OAAOQ,GACnBzY,KAAK+U,KAAK0B,KAAKwB,OAAOuN,GACtBxlB,KAAKoZ,aAAaX,GAClBzY,KAAKmZ,YAAYqM,GACT5Y,EAAQgE,MAAM2T,IAClB,KAAK,EACD,MACJ,IAAK,OACDiB,EAAYze,UAAUgJ,IAAI,wBAC1B,MACJ,QACIyV,EAAYze,UAAUgJ,IAAI,eAAiBnD,EAAQgE,MAAM2T,IAIjE,GAAI3X,EAAQgE,MAAM4T,OAAQ,CACtB,IAAIA,EAASjO,EAAW,yBACxBiO,EAAOxL,UAAYpM,EAAQgE,MAAM4T,OACjCgB,EAAYvN,OAAOuM,GAKvB,OAHAgB,EAAYze,UAAUgJ,IAAI,YAC1ByV,EAAYze,UAAUgJ,IAAI,aAC1B/P,KAAK+U,KAAK0B,KAAKwB,OAAOuN,GACfA,GAEPC,GAAkB,SAAU9M,GAC5B,IAAI/L,EAAU5M,KAAK4U,KAAK6O,YAAa9O,EAAU3U,KAAK6U,KAAK4O,YAEzD,GAAI9K,EAAQvF,cAAcH,QAAQ,yBAC9B,OAAO,KAIX,GADI4R,EAAOtO,EAASoC,EAAS,mBAAmB,GAE5C,OAAOkM,EAEX,SAASa,EAAchU,EAAS8K,GAC5B,GAAIA,EACA,IAAK,IAAItT,KAAKsT,EACV9K,EAAQqH,aAAa7P,EAAGsT,EAAKtT,IAIzC,IAuBQwK,EAvBJmR,EAAOtO,GAAY5B,EAAQkQ,KAAO,OAAS,OAAS,mBAAoBc,EAAQpP,EAAW,6BAA8BrK,EAAQqK,EAAW,UAChJrK,EAAMxB,KAAO,OACbwB,EAAM0Z,aAAe,MACrB1Z,EAAMmY,YAAcrkB,KAAK2Z,KAAK/M,EAAQyX,aACtCsB,EAAM1N,OAAO/L,GACb2Y,EAAK5M,OAAO0N,GACZhN,EAAQiB,QAAQiL,GAEhBa,EAAcxZ,EAAOyI,EAAQzI,OAEzByI,EAAQiQ,UACJlR,EAAS6C,EAAW,8CACjBwC,aAAa,OAAQ,KAC5B4M,EAAM1N,OAAOvE,KAGjBgS,EAAcb,EAAMlQ,EAAQkQ,MACxBlQ,EAAQkQ,MAAQlQ,EAAQmQ,SAAWnQ,EAAQiQ,UACvClR,EAAS6C,EAAW,6CACjBwC,aAAa,OAAQ,KAC5B4M,EAAM1N,OAAOvE,IAEb9G,EAAQuX,UACJzQ,EAAS6C,EAAW,6BACjBwC,aAAa,OAAQ,KAC5BrF,EAAOgG,YAAc1Z,KAAK2Z,KAAK,UAC/BkL,EAAK5M,OAAOvE,IAEhB,OAAOmR,GAEPgB,GAAgB,SAAUhB,GAC1B,IAAIzO,EAAQpW,KACR4M,EAAU5M,KAAK4U,KAAK6O,YACpBqC,GAD2C9lB,KAAK6U,KAAK4O,YAC9C,IAEPoB,EAAKvO,QAAQ,qBACbwP,EAAKtP,OAASD,EAASvW,KAAK+U,KAAK0B,KAAM,aACvCqP,EAAKC,UAAY,CAAClB,EAAKvO,QAAQ,eAG1BuO,EAAKvO,QAAQ,cAClBwP,EAAKtP,OAAS,CAACqO,EAAKvO,QAAQ,cAC5BwP,EAAKC,UAAYD,EAAKtP,SAItBsP,EAAKtP,OAASD,EAASvW,KAAK+U,KAAK0B,KAAM,aACvCqP,EAAKC,UAAY,CAAC/lB,KAAK+U,KAAKL,OAGhCoR,EAAKtP,OAASsP,EAAKtP,OAAOxU,QAAO,SAAU4O,GAAS,OAAQA,EAAMqC,QAAQ,uBAE1E6S,EAAKtP,OAASsP,EAAKtP,OAAOxU,QAAO,SAAU4O,GAAS,OAAQA,EAAMwC,cAAcH,QAAQ,4BAExF6S,EAAKxS,UAAY,GACjBwS,EAAKxB,SAAW,GAChBwB,EAAKtP,OAAO1W,SAAQ,SAAU8Q,GAC1B,IAAIoV,EAAIC,GACPD,EAAKF,EAAKxS,WAAW5S,KAAKoH,MAAMke,EAAIzP,EAAS3F,EAAO,kBACpDqV,EAAKH,EAAKxB,UAAU5jB,KAAKoH,MAAMme,EAAI1P,EAAS3F,EAAO,mBAExD,IAAI4U,EAAcjP,EAAavW,KAAK+U,KAAK0B,KAAM,oBAAoB,GAAIvK,EAAQqK,EAASsO,EAAM,SAAS,GAAIV,EAAS5N,EAASsO,EAAM,2BAA2B,GAC9J3Y,EAAK,cAAoB4Z,EAErBlZ,EAAQgE,MAAMb,KAAOnD,EAAQgE,MAAM4T,SACnCjJ,EAAWrP,EAAO,gBAClBqP,EAAUrP,EAAO,gBAAgB,SAAU8F,GACvCoE,EAAMF,UAAUsP,OAGpB5Y,EAAQuX,SAER5I,EAAWrP,EAAO,gBAClBqP,EAAUrP,EAAO,gBAAgB,SAAU8F,GACvCmS,EAAOpd,UAAUgJ,IAAI,oCAGzBwL,EAAW4I,EAAQ,gBACnB5I,EAAU4I,EAAQ,gBAAgB,SAAUnS,GAGxC,GAFAA,EAAK3B,iBACL8T,EAAOpd,UAAU+M,OAAO,iCACpB0R,EAAYvS,QAAQ,oBAAqB,CACzC,IAAIC,EAAUqD,EAAaH,EAAMrB,KAAK0B,KAAM,2BACxCvD,EAAQhT,QACRkW,EAAMF,UAAUhD,EAAQA,EAAQhT,OAAS,SAMrD0M,EAAQgE,MAAMb,KAAwB,SAAjBnD,EAAQqQ,OAC7Bjd,KAAKI,KAAK,oBAAoB,SAAUwQ,GAChCA,IAAU4U,GACVtZ,EAAM+V,WAKlB1G,EAAWrP,EAAO,gBAClBqP,EAAUrP,EAAO,gBAAgB,SAAU8F,GACvC,OAAQA,EAAK+J,SACT,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACD,MACJ,QACI3F,EAAMqO,OAAOvY,OAKzBlM,KAAKykB,OAAOvY,IAEZga,GAAmB,SAAUvN,GAC7B,GAAKA,EAAL,CAGA,IAAI/L,EAAU5M,KAAK4U,KAAK6O,YAAuBzjB,KAAK6U,KAAK4O,YAMzD,GAJK9K,EAAQrC,QAAQ,eACjBqC,EAAUpC,EAAavW,KAAK+U,KAAK0B,KAAM,aAAa,KAGpDF,EAAaoC,EAAS,2BAA2BzY,OAArD,CAIA,IAAIimB,EAAU5P,EAAW,wCACzB4P,EAAQnN,UAAYhZ,KAAK2Z,KAAK/M,EAAQwX,WACtCzL,EAAQV,OAAOkO,MAEnB1R,EAAAA,UAAAA,OAAyB,SAAUvI,EAAO8H,GACtC,IAAIgS,EACA5P,EAAQpW,KACR4M,EAAU5M,KAAK4U,KAAK6O,YAAuBzjB,KAAK6U,KAAK4O,YAEzDzP,GADAA,EAAQA,GAAS,GAAK9H,EAAM3K,OACdiQ,cAAc4U,OAC5B,IAAIN,EAAO5Z,EAAK,cAC6Bma,EAAU9P,EAA5CrK,EAAMoK,QAAQ,mBAA6C,WAAYkP,EAAcjP,EAAavW,KAAK+U,KAAK0B,KAAM,oBAAoB,GAE7ID,EAASsP,EAAKtP,OAEduP,EAAYD,EAAKC,UAEjBzS,EAAYwS,EAAKxS,UAEjBgR,EAAWwB,EAAKxB,SAcpB,GAZAhR,EAAUxT,SAAQ,SAAUyT,GACxBA,EAASxM,UAAU+M,OAAO,0BAC1BP,EAASxM,UAAU+M,OAAO,4BAC1BP,EAASxM,UAAU+M,OAAO,gBAE1B0R,IACAjP,EAAaiP,EAAa,gBAAgB,GAAGxM,UAAY,IAE7DxC,EAAO1W,SAAQ,SAAU8Q,GACrBA,EAAM0V,UAAY,KAGlBtS,EAAM9T,OAAQ,CAEdokB,EAASxkB,SAAQ,SAAUymB,GACvBA,EAAQxf,UAAUgJ,IAAI,gBAG1BuD,EAAUxT,SAAQ,SAAUyT,GACxB,InEtRS7B,EmEsRLc,EAAO+D,EAAahD,EAAU,sBAAsB,GACpDxD,GAAM,EASNyC,InEhSKd,EmEiSIc,EnEhSd1P,MAAMI,UAAUI,MAClBb,KAAKiP,EAAQ8U,YACbxkB,QAAO,SAAUgR,GAAS,OAAyB,GAAlBA,EAAMyT,YACvC1kB,KAAI,SAAUiR,GAAS,OAAOA,EAAM0G,eACpCxM,KAAK,MmE6ROsE,cACAuG,QAAQ/D,IAAU,IAEnBxB,EAAKS,QAAQ,qBAETrG,EAAQ+X,gBACR5U,GAAM,IAIJyC,EAAKS,QAAQ,MAEfrG,EAAQ8X,iBAMZ3U,GAAM,IAGTA,GACDwD,EAASxM,UAAUgJ,IAAI,gBAI/B,IAAI2W,EAAapT,EAAUtR,QAAO,SAAUuR,GAAY,OAAQA,EAASN,QAAQ,iBAAkB/S,OAEnG,GAAI0M,EAAQgE,MAAMb,IAAK,CAEnB,IAAI4W,EAAa,GACjBnQ,EAAO1W,SAAQ,SAAU8Q,GACrB,IAAI0C,EAAYiD,EAAaA,EAAS3F,EAAO,iBAE7C,IADA0C,EAAYA,EAAUtR,QAAO,SAAUuR,GAAY,OAAQA,EAASN,QAAQ,kBAC9D/S,OAAQ,CAElB,GAAI0M,EAAQgE,MAAM0T,SAAU,CACxB,IAAIiC,EAAUhQ,EAAW,iBACrBtG,EAAQsG,EAAS3F,EAAO,qBAAqB,GAC7CX,IACAsW,EAAQvN,UAAY/I,EAAM+I,UAC1B2N,EAAWjmB,KAAK6lB,IAGxBjT,EAAUxT,SAAQ,SAAUyT,GACxBoT,EAAWjmB,KAAK6S,EAASqT,WAAU,WAK/CD,EAAW7mB,SAAQ,SAAUyT,GACzBA,EACKT,iBAAiB,yBACjBhT,SAAQ,SAAU4R,GACnBA,EAAQoC,gBAIfkS,EAAKzP,EAAaiP,EAAa,gBAAgB,IAAIvN,OAAOnQ,MAAMke,EAAIW,GAErE3mB,KAAKkW,UAAUsP,QAIX5Y,EAAQ+X,eACRnO,EAAO1W,SAAQ,SAAU8Q,GAErB2F,EADgBA,EAAS3F,EAAO,iBACR9Q,SAAQ,SAAUyT,GACtC,IAAIP,EAAQO,EAAQ,QAChBP,GACAuD,EAASvD,EAAO,gBAAgBlT,SAAQ,SAAUyT,GAC9CA,EAASxM,UAAU+M,OAAO,sBAQ9CkR,GAAexO,GAAQqQ,UAAU/mB,SAAQ,SAAU8Q,EAAOkW,GACtD,IAAI3T,EAASvC,EAAK,SACduC,IAGIoD,EADcA,EAAS3F,EAAO,iBACJ1Q,QAEtBiT,EAAOF,QAAQ,eACfE,EAAOpM,UAAU+M,OAAO,aAE5BX,EAAOpM,UAAUgJ,IAAI,6BAEf7D,EAAMoK,QAAQ,gBAChB1F,EAAMqC,QAAQ,qBACdrC,EAAMqC,QAAQ,6BAEdd,YAAW,WACPiE,EAAMF,UAAU/C,EAAOmD,QAAQ,iBAC/BwQ,EAAI,IAAmC,IAA7B1Q,EAAMvB,KAAK7D,kBAE7BmC,EAAOpM,UAAUgJ,IAAI,+BAKjCyG,EAAO1W,SAAQ,SAAU8Q,GAErB2F,EADgBA,EAAS3F,EAAO,iBACR9Q,SAAQ,SAAUyT,GACtCgD,EAAYhD,EAAU,yBAAyBzT,SAAQ,SAAUqT,GACzDA,EAAOF,QAAQ,gBACfE,EAAOpM,UAAU+M,OAAO,aACxBX,EAAOpM,UAAUgJ,IAAI,sCAMrCyG,EAAO1W,SAAQ,SAAU8Q,GAErB2F,EADgBA,EAAS3F,EAAO,iBACR9Q,SAAQ,SAAUyT,GACtC,IAAIgT,EnEvXjB,SAAiB7U,EAAS1P,GAK7B,IAHA,IAAI+kB,EAAW,GAEXjN,EAAUpI,EAAQsV,uBACflN,GACE9X,IAAU8X,EAAQ7G,QAAQjR,IAC3B+kB,EAASrmB,KAAKoZ,GAElBA,EAAUA,EAAQkN,uBAEtB,OAAOD,EmE4WuBxQ,CAAYhD,EAAU,eAAe,GAC/CgT,GACAA,EAAQxf,UAAU+M,OAAO,mBAMzCuS,EAAQvmB,SAAQ,SAAUgZ,GAAU,OAAOA,EAAO/R,UAAU+M,OAAO,gBAEnEiS,EAAUjmB,SAAQ,SAAU6Y,GACxBpC,EAASoC,EAAS,2BAA2B7Y,SAAQ,SAAUqmB,GAC3D,OAAOA,EAAQpf,UAAU2f,EAAa,MAAQ,UAAU,mBAG5D9Z,EAAQgE,MAAMb,MAEVnD,EAAQgE,MAAM4T,QACdjO,EAASiP,EAAa,sBAAsB1lB,SAAQ,SAAU0kB,GAC1D,OAAOA,EAAOzd,UAAUgJ,IAAI,gBAIpCuD,EAAUxT,SAAQ,SAAUyT,GACxB,OAAOA,EAASxM,UAAU+M,OAAO,gBAErCwQ,EAASxkB,SAAQ,SAAUymB,GAAW,OAAOA,EAAQxf,UAAU+M,OAAO,sBAgB1E,GAVAR,EAAUxT,SAAQ,SAAUyT,GAAY,OAAOA,EAASxM,UAAU+M,OAAO,gBACzEwQ,EAASxkB,SAAQ,SAAUymB,GAAW,OAAOA,EAAQxf,UAAU+M,OAAO,gBAEtEuS,EAAQvmB,SAAQ,SAAUgZ,GAAU,OAAOA,EAAO/R,UAAUgJ,IAAI,gBAEhEgW,EAAUjmB,SAAQ,SAAU6Y,GACxBpC,EAASoC,EAAS,2BAA2B7Y,SAAQ,SAAUqmB,GAC3D,OAAOA,EAAQpf,UAAUgJ,IAAI,mBAGjCnD,EAAQgE,MAAMb,IAEd,GAAInD,EAAQgE,MAAM4T,OACdjO,EAASiP,EAAa,sBAAsB1lB,SAAQ,SAAU0kB,GAC1D,OAAOA,EAAOzd,UAAU+M,OAAO,qBAIlC,IAAK5H,EAAMoK,QAAQ,oBAAqB,CACzC,IAAIY,EAASX,EAAavW,KAAK+U,KAAK0B,KAAM,2BAC1CzW,KAAKkW,UAAUgB,EAAO5T,OAAO,GAAG,IAK5CtD,KAAKqW,QAAQ,mBG5fjB,SAJc,CACVtG,KAAK,EACLkN,MAAO,UCKXxI,EAAAA,QAAAA,eAA+B7H,GCF/B,SALc,CACVkN,SAAS,EACTmN,OAAO,EACP9T,QAAQ,GCGZsB,EAAAA,QAAAA,YAA4B7H,GCM5B,SAZc,CACVsa,UAAW,CACPxF,KAAK,EACLyF,WAAW,EACXvF,aAAa,EACbC,YAAY,GAEhBuF,SAAU,CACN1F,KAAK,EACL2F,QAAS,SCFjB5S,EAAAA,QAAAA,QAAwB7H,GCJxB6H,EAAAA,QAAAA,WAAAA,QAAmC,CAC/B6S,OAAQ,SACRze,MAAO,SCuCX4L,EAAAA,OAAe,CAEX8S,UtEpCW,WACX,IAAInR,EAAQpW,KACZ,GAAKA,KAAK4U,KAAKuF,UAAf,CAGA,IAAIvN,EHJD,SAAgCA,GAInC,MAHsB,iBAAXA,IACPA,EAAU,IAEPA,EGAOgW,CAAuB5iB,KAAK4U,KAAKuF,WAC/Cna,KAAK4U,KAAKuF,UAAYhJ,EAAOvE,EAAS6H,EAAAA,QAAAA,WACtC,IAAIE,EAAU3U,KAAK6U,KAAKsF,UAExBna,KAAK8U,KAAKpU,KAAK,OAAQ,QAAS,WAEhCV,KAAKgV,KAAKkC,QAAS,EAEnBlX,KAAKI,KAAK,mBAAmB,WAErBuU,EAAQ2F,QAERlE,EAAMrB,KAAKL,KAAO0B,EAAMrB,KAAKL,KAAKkS,WAAU,GAExCxQ,EAAMrB,KAAKL,KAAKrG,KAChB+H,EAAMrB,KAAKL,KAAKrG,GAAK,MAAQ+H,EAAMrB,KAAKL,KAAKrG,IAEjDkI,EAASH,EAAMrB,KAAKL,KAAM,QAAQ5U,SAAQ,SAAU6S,GAChDA,EAAKtE,GAAK,MAAQsE,EAAKtE,OAG/B+H,EAAMrB,KAAK0C,KAAO5S,SAAS6W,KAE3B7W,SACKsQ,cAAcR,EAAQD,KAAK8F,gBAAgB7F,EAAQD,KAAK6F,cAAcnE,EAAMrB,KAAKL,SAE1F1U,KAAKI,KAAK,kBAAkB,WAExB4b,EAAYvZ,KAAK2T,GAEjBA,EAAMoR,QAAQ/S,EAAAA,KAAAA,MAEdqH,EAAWrZ,KAAK2T,GAEhBA,EAAMrB,KAAKL,KAAK3N,UAAUgJ,IAAI,qBAE9B,IAAI0X,EAAOze,OAAO0e,SAASD,KAC3B,GAAIA,EAAM,CACN,IAAIpZ,EAAKiE,EAAW8D,EAAMrB,KAAKL,KAAKrG,IAChCA,GAAMA,GAAMoZ,EAAKnkB,MAAM,IACvB6O,YAAW,WACPiE,EAAM0G,SACP,SAKf9c,KAAKI,KAAK,iBAAiB,SAAUqa,GAC7BhG,EAAAA,KAAAA,MACA8B,EAAa9B,EAAAA,KAAAA,KAAiB,KAAK3U,SAAQ,SAAU4T,GACjDA,EAAOqF,aAAa,OAAQ,IAAM0B,EAAKpM,UAKnDrO,KAAKI,KAAK,sBAAsB,WAC5BqU,EAAAA,QAAc2B,EAAMrB,KAAKL,KAAM,UAAU,MAE7C1U,KAAKI,KAAK,wBAAwB,WAC9BqU,EAAAA,QAAc2B,EAAMrB,KAAKL,KAAM,UAAU,MAE7C1U,KAAKI,KAAK,0BAA0B,WAChCqU,EAAAA,QAAc2B,EAAMrB,KAAKL,KAAM,UAAU,MAG7C1U,KAAKI,KAAK,6BAA6B,WACnCmW,EAAa9B,EAAAA,KAAAA,KAAiB,KAAK3U,SAAQ,SAAU4T,GACjDA,EAAOsF,UAAYvE,EAAAA,QAAc2B,EAAMuD,KAAKvD,EAAMvB,KAAKwO,aAAa7Q,KAAK0J,kBAKjFlc,KAAKkV,KAAKxU,MAAK,SAAUgT,EAAQhB,GAE7B,IAAIrE,EAAKiE,EAAW8D,EAAMrB,KAAKL,KAAKrG,IACpC,GAAIA,GACIqF,EAAOT,QAAQ,WAAa5E,EAAK,MAAO,CAGxC,GAAIqE,EAAKwF,OAEL,OADA9B,EAAM0G,QACC,EAIX,IAAIpI,EAAOhB,EAAO4C,QAAQ,YAC1B,GAAI5B,EAAM,CACN,IAAIiH,EAAMjH,EAAI,MACd,GAAIiH,GAAOA,EAAIvL,MAKX,OAJAuL,EAAIvL,QACJwB,EAAc8C,GAAM,WAChB0B,EAAM0G,SACP1G,EAAMvB,KAAK3D,qBACP,EAKf,OADAkF,EAAM0G,QACC,EAKf,IADAzO,EAAKoG,EAAAA,KAAAA,KAAAA,KAEGf,EAAOT,QAAQ,WAAa5E,EAAK,MAEjC,OADA+H,EAAMhG,SACC,OsE1EnBiT,ahEnCW,WACX,IAAIjN,EAAQpW,KAER4M,ELJD,SAAgCA,GAUnC,MATsB,kBAAXA,IACPA,EAAU,CACNwP,KAAMxP,EACN4F,KAAM5F,IAGQ,iBAAXA,IACPA,EAAU,IAEPA,EKNOgW,CAAuB5iB,KAAK4U,KAAKyO,cAC/CrjB,KAAK4U,KAAKyO,aAAelS,EAAOvE,EAAS6H,EAAAA,QAAAA,cAEzC,IAAIE,EAAU3U,KAAK6U,KAAKwO,aAEpBzW,EAAQwP,OAGRpc,KAAKI,KAAK,oBAAoB,WAC1BgW,EAAMhW,KAAK,kBAAkB,WACzBJ,KAAKqW,QAAQ,yBAA0B,GAAG/S,MAAMb,KAAKxC,eAEzDmW,EAAMhW,KAAK,oBAAoB,WAC3BJ,KAAKqW,QAAQ,2BAA4B,GAAG/S,MAAMb,KAAKxC,eAE3DmW,EAAMhW,KAAK,mBAAmB,WAC1BJ,KAAKqW,QAAQ,0BAA2B,GAAG/S,MAAMb,KAAKxC,eAE1DmW,EAAMhW,KAAK,eAAe,WACtBJ,KAAKqW,QAAQ,sBAAuB,GAAG/S,MAAMb,KAAKxC,eAEtDmW,EAAMhW,KAAK,gBAAgB,WACvBJ,KAAKqW,QAAQ,uBAAwB,GAAG/S,MAAMb,KAAKxC,eAEvDmW,EAAMhW,KAAK,cAAc,WACrBJ,KAAKqW,QAAQ,qBAAsB,GAAG/S,MAAMb,KAAKxC,eAErDmW,EAAMhW,KAAK,oBAAoB,WAC3BJ,KAAKqW,QAAQ,2BAA4B,GAAG/S,MAAMb,KAAKxC,kBAI/DD,KAAKI,KAAK,kBAAkB,WACxBgW,EAAMrB,KAAK0B,KACN3D,iBAAiB,gBACjBhT,SAAQ,SAAUyT,GACnBkB,EAAAA,QAAclB,EAAU,SAAUA,EAASN,QAAQ,qBAI3DjT,KAAKI,KAAK,mBAAmB,SAAUwQ,GAEnC,IAAIgG,EAASL,EAASH,EAAMrB,KAAK0B,KAAM,aAClCzU,QAAO,SAAU2lB,GAAQ,OAAOA,IAAS/W,KACzC5O,QAAO,SAAU2lB,GAAQ,OAAQA,EAAKvU,cAAcH,QAAQ,gBAE7D8J,EAAU,CAACnM,GACf2F,EAAS3F,EAAO,6CAA6C9Q,SAAQ,SAAUyT,GAC3EwJ,EAAQrc,KAAKoH,MAAMiV,EAASxG,EAAahD,EAAU,iBAGvDqD,EAAO9W,SAAQ,SAAU8Q,GACrB6D,EAAAA,QAAc7D,EAAO,UAAU,MAEnCmM,EAAQjd,SAAQ,SAAU8Q,GACtB6D,EAAAA,QAAc7D,EAAO,UAAU,SAGvC5Q,KAAKI,KAAK,cAAc,SAAUwQ,GAC9B6D,EAAAA,QAAc7D,EAAO,UAAU,MAanC5Q,KAAKI,KAAK,oBAAoB,SAAUwQ,GAEpC,IAAId,EAASyG,EAAa3F,EAAO,cAAc,GAE3CgG,EAAS9G,EAAOmD,QAAQ,cAE5BwB,EAAAA,QAAc3E,EAAQ,SAAU8G,MAGhChK,EAAQ4F,MAE0B,UAA9BxS,KAAK4U,KAAK9E,OAAOI,WACjBlQ,KAAKI,KAAK,oBAAoB,SAAUwQ,GAEpC,IAAId,EAASyG,EAAa3F,EAAO,cAAc,GAE3CgG,IAAS9G,EAAOqF,cAAc,gBAIlCV,EAAAA,QAAc8B,EAASzG,EAAQ,qBAAqB,GAAI,SAAU8G,OAM9EhK,EAAQ4F,OAGRxS,KAAKI,KAAK,oBAAoB,WAC1BgW,EAAMhW,KAAK,iBAAiB,WACxBJ,KAAKqW,QAAQ,wBAAyB,GAAG/S,MAAMb,KAAKxC,eAExDmW,EAAMhW,KAAK,qBAAqB,WAC5BJ,KAAKqW,QAAQ,4BAA6B,GAAG/S,MAAMb,KAAKxC,kBAIhED,KAAKI,KAAK,oBAAoB,SAAUwQ,GACpC,IAAId,EAASyG,EAAa3F,EAAO,cAAc,GAC/C,GAAId,EAAQ,CACR,IAAIgJ,EAASvC,EAAazG,EAAQ,gBAAgB,GAC9CgJ,IACAA,EAAOE,UAAYvE,EAAAA,QAAc2B,EAAMuD,KAAKhF,EAAQnC,KAAK6J,oBAKrErc,KAAKI,KAAK,sBAAsB,SAAUqY,GACtC,IAAItF,EAASsF,EAASnC,QAAQ,aAAjB,SACb,GAAInD,EAAQ,CACR,IAAI6O,EAAOzL,EAAapD,EAAQ,gBAAgB,GAChD,GAAI6O,EAAM,CACN,IAAIxP,EAAO4D,EAAMuD,KAAKhF,EAAQnC,KAAKwP,EAAK5O,cAAcH,QAAQ,yBACxD,gBACA,gBACN+O,EAAKhJ,WAAavE,EAAAA,QAAcjC,UgE/FhDoV,a3DxCW,WACX,IAAIxR,EAAQpW,KAKZ,GAAKqe,GACAre,KAAK4U,KAAKuF,WACVna,KAAK4U,KAAKuF,UAAUC,QAFzB,CAOA,IAAIxN,EFXD,SAAgCA,GASnC,MARsB,kBAAXA,IACPA,EAAU,CACN6P,IAAK7P,IAGS,iBAAXA,IACPA,EAAU,IAEPA,EEEOgW,CAAuB5iB,KAAK4U,KAAKgT,cAE/C,GADA5nB,KAAK4U,KAAKgT,aAAezW,EAAOvE,EAAS6H,EAAAA,QAAAA,cACpC7H,EAAQ6P,IAAb,CAGA,IxBQ2B2B,EACvBwB,EwBTAiI,GxBQuBzJ,EwBRGpe,KAAK+U,KAAKL,KxBSpCkL,EAAY,GAChBxB,EAAQlM,iBAAiB,aAAa,SAAUF,GAC5C4N,EAAY,GACR5N,EAAKkO,UAAY,EACjBN,EAAY,OAEP5N,EAAKkO,UAAY,IACtBN,EAAY,SAGb,CACHhb,IAAK,WAAc,OAAOgb,KwBV9B5f,KAAK+U,KAAKL,KAAKxC,iBAAiB,SAAUoM,EAAM,CAE5CwJ,SAAS,IAGb9nB,KAAK+U,KAAKL,KAAKxC,iBAAiB,aAAa,SAAUF,GACnD,IAAI2G,EAAU3G,EAAKlQ,OAAOwU,QAAQ,oDAC9BqC,GAAWA,EAAQrC,QAAQ,2BAC3BqC,EAAUpC,EAAYoC,EAAS,aAAaoP,OAE5CpP,GAGIA,EAAQqP,eAAiBrP,EAAQsP,cAUf,GAArBtP,EAAQ2N,WAAoC,QAAlBuB,EAASjjB,OAE/B+T,EAAQqP,cACLrP,EAAQ2N,UAAY3N,EAAQsP,cACV,MAAlBJ,EAASjjB,QAbb0Z,EAAKtM,GAmBTsM,EAAKtM,KAEV,CAEC8V,SAAS,IAIb9nB,KAAKI,KAAK,cAAc,WACpB,IAAIwQ,EAAQ2F,EAAaH,EAAMrB,KAAK0B,KAAM,oBAAoB,GAC1D7F,IACAA,EAAM0V,UAAY,MAI1Btd,OAAOkJ,iBAAiB,qBAAqB,SAAUF,GACnD,IAAIpB,EAAQ2F,EAAaH,EAAMrB,KAAK0B,KAAM,oBAAoB,GAC1D7F,IACAA,EAAM0V,UAAY,EAElB1V,EAAMqQ,MAAM,8BAAgC,OAC5CrQ,EAAMqQ,MAAM,8BAAgC,aA3DpD,SAAS3C,EAAKtM,GACVA,EAAK3B,iBACL2B,EAAKmK,oB2DkBT+L,WzD5CW,WACX,IAAI9R,EAAQpW,KACR4M,EDCD,SAAgCA,GAcnC,MAbsB,kBAAXA,GAAwBA,IAC/BA,EAAU,CACNiQ,OAAQ,SAGM,iBAAXjQ,IACPA,EAAU,CACNiQ,OAAQjQ,IAGM,iBAAXA,IACPA,EAAU,IAEPA,ECfOgW,CAAuB5iB,KAAK4U,KAAKsT,YAE/C,GADAloB,KAAK4U,KAAKsT,WAAa/W,EAAOvE,EAAS6H,EAAAA,QAAAA,YACjB,QAAlB7H,EAAQiQ,QAAsC,WAAlBjQ,EAAQiQ,OAAxC,CAGA,IAoBQsL,EApBJC,GAoBID,EAAkB,SAAUvX,GAQ5B,OANIA,EAAMwC,cAAcH,QAAQ,2BAE5BrC,EAAQ2F,EAAY3F,EAAO,aAAa5O,QAAO,SAAU4O,GACrD,OAAQA,EAAMwC,cAAcH,QAAQ,4BACrC,IAEArC,GAEJ,WACH,IAAIwF,EAAMxB,KAAKuF,WAAc/D,EAAMpB,KAAKkC,OAAxC,CAGA,IArBImR,EAXAzX,EAgCA0X,EAAO,EACPC,EAAOnS,EAAMrB,KAAKL,KAAKuT,aAAe7R,EAAMrB,KAAK0B,KAAKwR,aAE1D7R,EAAMrB,KAAKL,KAAK3N,UAAUgJ,IAAI,gCAER,QAAlBnD,EAAQiQ,SArCRjM,EAAQ2F,EAAaH,EAAMrB,KAAK0B,KAAM,oBAAoB,MAE1D7F,EAAQuX,EAAgBvX,IAGvBA,IACDA,EAAQ2F,EAAaH,EAAMrB,KAAK0B,KAAM,aAAa,IAgCnD6R,EA9BG1X,EAAMoX,cAgCc,WAAlBpb,EAAQiQ,SA7BbwL,EAAU,EACd9R,EAAaH,EAAMrB,KAAK0B,KAAM,aAAa3W,SAAQ,SAAU8Q,GACzDA,EAAQuX,EAAgBvX,GACxByX,EAAUvf,KAAKkU,IAAIqL,EAASzX,EAAMoX,iBA2BlCM,EAzBGD,GA4BPjS,EAAMrB,KAAKL,KAAKuM,MAAMpE,OAASyL,EAAOC,EAAO,KAE7CnS,EAAMrB,KAAKL,KAAK3N,UAAU+M,OAAO,mCAIzC9T,KAAKI,KAAK,kBAAkB,WACxBgW,EAAMrB,KAAKL,KAAK3N,UAAUgJ,IAAI,yBAE9B/P,KAAK4U,KAAKuF,WAEVna,KAAKI,KAAK,aAAcgoB,GAEN,WAAlBxb,EAAQiQ,QAER7c,KAAKI,KAAK,mBAAoBgoB,GAEZ,QAAlBxb,EAAQiQ,SAER7c,KAAKI,KAAK,iBAAkBgoB,GAE5BpoB,KAAKI,KAAK,kBAAmBgoB,MyD7BjCI,WvD7CW,WACX,IAAIpS,EAAQpW,KACZ,GAAKA,KAAK4U,KAAKuF,UAAf,CAGA,IAAIvN,EDDD,SAAgCA,GASnC,MARsB,kBAAXA,IACPA,EAAU,CACNwD,MAAOxD,IAGO,iBAAXA,IACPA,EAAU,IAEPA,ECROgW,CAAuB5iB,KAAK4U,KAAK4T,YAC/CxoB,KAAK4U,KAAK4T,WAAarX,EAAOvE,EAAS6H,EAAAA,QAAAA,YACvC,IAAIgU,EAAQ,IAAMzoB,KAAK+U,KAAKL,KAAKrG,GAEjC,GAAIzB,EAAQwD,MAAO,CACf,IAAIsY,EAAS,GACTC,EAAY,WACZD,EAAS,CAACD,GACVlS,EAAaH,EAAMrB,KAAK0B,KAAM,6CAA6C3W,SAAQ,SAAU8Q,GACzF8X,EAAOhoB,KAAK,IAAMkQ,EAAMvC,QAGhCrO,KAAKI,KAAK,eAAe,WACrBwoB,QAAQC,UAAU,KAAMhkB,SAASoL,MAAOwY,MAE5CzoB,KAAKI,KAAK,cAAeuoB,GACzB3oB,KAAKI,KAAK,mBAAoBuoB,GAC9B3oB,KAAKI,KAAK,gBAAgB,WACtBsoB,EAAS,GACTE,QAAQE,OACRF,QAAQC,UAAU,KAAMhkB,SAASoL,MAAOyX,SAASqB,SAAWrB,SAASjD,WAEzEzb,OAAOkJ,iBAAiB,YAAY,SAAUF,GAC1C,GAAIoE,EAAMpB,KAAKkC,QACPwR,EAAOxoB,OAAQ,CAEf,IAAIunB,GADJiB,EAASA,EAAOplB,MAAM,GAAI,IACRolB,EAAOxoB,OAAS,GAC9BunB,GAAQgB,EACRrS,EAAMhG,SAGNgG,EAAMF,UAAUE,EAAMrB,KAAKL,KAAKS,cAAcsS,IAC9CmB,QAAQC,UAAU,KAAMhkB,SAASoL,MAAOwY,QAMxD7b,EAAQkQ,MACR9T,OAAOkJ,iBAAiB,YAAY,SAAUF,GACrCoE,EAAMpB,KAAKkC,QAAUwQ,SAASD,MAAQgB,GACvCrS,EAAM0G,YuDAlBkM,QrD9CW,WACX,IAAI5S,EAAQpW,KACR4M,EDKD,SAAgCA,GAqBnC,MApBsB,kBAAXA,IACPA,EAAU,CACNmD,IAAKnD,IAGS,iBAAXA,IACPA,EAAU,CACNmD,KAAK,EACLgN,QAASnQ,IAGK,iBAAXA,IACPA,EAAU,IAEgB,iBAAnBA,EAAQmQ,UACfnQ,EAAQmQ,QAAU,CACdlP,IAAKjB,EAAQmQ,QACbC,IAAKpQ,EAAQmQ,UAGdnQ,EC1BOgW,CAAuB5iB,KAAK4U,KAAKoU,SAG/C,GAFAhpB,KAAK4U,KAAKoU,QAAU7X,EAAOvE,EAAS6H,EAAAA,QAAAA,SAEhC7H,EAAQmD,IAAK,CACbnD,EAAQmQ,QAAQlP,IAAM/E,KAAKkU,IAAI,EAAGlU,KAAK+E,IAAI,EAAGjB,EAAQmQ,QAAQlP,MAC9DjB,EAAQmQ,QAAQC,IAAMlU,KAAKkU,IAAIpQ,EAAQmQ,QAAQlP,IAAK/E,KAAK+E,IAAI,EAAGjB,EAAQmQ,QAAQC,MAWhF,IATA,IAAIiM,EAAO,GAEPC,EAAO,GAEPC,EAAO,CACP,kBACA,yBACA,oBAEKjE,EAAI,EAAGA,GAAKtY,EAAQmQ,QAAQC,IAAKkI,IACtC+D,EAAKvoB,KAAK,mBAAqBwkB,GAC/BgE,EAAKxoB,KAAK,oBAAsBwkB,GAEpCiE,EAAKzoB,KAAKoH,MAAMqhB,EAAMD,GAEtBlpB,KAAKI,KAAK,oBAAoB,SAAUwQ,GAEpC,IAAIuC,EAIJ,GAHIvC,IACAuC,EAASvC,EAAK,UAEbuC,IAGDA,EAAOpM,UAAUqiB,SAAS,0BAG9BjW,EAASA,EAAOmD,QAAQ,cACxB,CAGA,IAAIzD,EAAYM,EAAOkW,UACvB,GAAKxW,EAAU3S,SAGf2S,EAAYA,EAAUnL,MAAM,qBAAqB,IAKjD,IADA,IAAI4hB,EAAQpL,SAASrL,EAAUnL,MAAM,KAAK,GAAI,IAAM,EAC7C4hB,EAAQ,GAAG,CAEd,KADA1Y,EAAQ2F,EAAaH,EAAMrB,KAAK0B,KAAM,qBAAuB6S,GAAO,IAW/D,CACDA,GAAS,EACT,MAXAA,IACA1Y,EAAM7J,UAAUgJ,IAAI,aAEpBoZ,EAAKrpB,SAAQ,SAAU+S,GACnBjC,EAAM7J,UAAU+M,OAAOjB,WAWvC7S,KAAKI,KAAK,mBAAmB,SAAUwQ,GACnC,GAAIA,EAAO,CAEP,IAAI+F,EAAW/F,EAAK,SACpB,GAAI+F,GACAA,EAAS5P,UAAUqiB,SAAS,wBAC5B,OAGR,IAAIJ,EAAUzS,EAAaH,EAAMrB,KAAK0B,KAAM,2BAA2BvW,OAClE0Q,EAAMqC,QAAQ,4BACf+V,IAEJA,EAAUlgB,KAAK+E,IAAIjB,EAAQmQ,QAAQC,IAAKlU,KAAKkU,IAAIpQ,EAAQmQ,QAAQlP,IAAKmb,IAEtEC,EAAKnpB,SAAQ,SAAU+S,GACnBuD,EAAMrB,KAAKL,KAAK3N,UAAU+M,OAAOjB,MAIrCuD,EAAMrB,KAAKL,KAAK3N,UAAUgJ,IAAI,mBAAqBiZ,GACnD,IAAIxS,EAAS,GACbD,EAAaH,EAAMrB,KAAK0B,KAAM,aAAa3W,SAAQ,SAAU8Q,GAEzDsY,EAAKppB,SAAQ,SAAU+S,GACnBjC,EAAM7J,UAAU+M,OAAOjB,MAIvBjC,EAAMqC,QAAQ,4BACduD,EAAO9V,KAAKkQ,MAGpB4F,EAAO9V,KAAKkQ,GACZ4F,EAAOlT,OAAOsJ,EAAQmQ,QAAQC,KAAKld,SAAQ,SAAU8Q,EAAOkW,GACxDlW,EAAM7J,UAAUgJ,IAAI,oBAAsB+W,WqDvDtDyC,SnD3CW,WACX,IAAInT,EAAQpW,KACR4M,EDDD,SAAgCA,GAcnC,MAbsB,kBAAXA,IACPA,EAAU,CACNmD,IAAKnD,EACLqQ,MAAO,SACPC,MAAOtQ,IAGO,iBAAXA,IACPA,EAAU,IAEO,UAAjBA,EAAQqQ,QACRrQ,EAAQqQ,MAAQ,gBAEbrQ,ECbOgW,CAAuB5iB,KAAK4U,KAAK2U,UA2B/C,GA1BAvpB,KAAK4U,KAAK2U,SAAWpY,EAAOvE,EAAS6H,EAAAA,QAAAA,UAErCzU,KAAKI,KAAK,sBAAsB,SAAUqY,GACtC,IAAI+Q,EAAWpT,EAAMvB,KAAKrE,WAAW+Y,SAASpM,QAAoB5G,EAASkC,EAAU,IAAM+Q,GAClF1pB,SAAQ,SAAUqd,GACvB5G,EAAY4G,EAASqM,EAAU,oBAInC5c,EAAQmD,KACR/P,KAAKI,KAAK,sBAAsB,SAAUqY,GACtC,GAAKA,EAASxF,QAAQrG,EAAQqQ,OAA9B,CAGA,IAAI9J,EAASsF,EAASnC,QAAQ,aAAjB,SACb,GAAInD,IAEKoD,EAASpD,EAAQ,eAAejT,OAAQ,CACzC,IAAIyjB,EAAMpN,EAAapD,EAAQ,WAAW,GACtCwQ,GACAA,EAAI/J,QAAQrD,EAAW,yBAMvC3J,EAAQsQ,MAAO,CACf,IAAIA,EAAQ,SAAUzE,IACLA,EACP,CAACA,EAASnC,QAAQ,cAClBC,EAAaH,EAAMrB,KAAK0B,KAAM,cAC7B3W,SAAQ,SAAU8Q,GACrB,IAAIuC,EAASvC,EAAK,SAClB,GAAKuC,EAAL,CAGA,IAAIgK,EAAU5G,EAASpD,EAAQ,eAAe,GAC9C,GAAKgK,EAAL,CAGA,IAAI7J,EAAY,GAChBiD,EAAa3F,EAAO,gBAAgB9Q,SAAQ,SAAU2Y,GAClDnF,EAAU5S,KAAKoH,MAAMwL,EAAWiD,EAAakC,OAEjD0E,EAAQnE,UAAYzC,EAAajD,GAAWpT,OAAOkD,iBAG3DpD,KAAKI,KAAK,qBAAsB8c,GAChCld,KAAKI,KAAK,iBAAkB8c,KmDPhCoH,SjD9CW,WACX,IAAIlO,EAAQpW,KACR4M,EDAD,SAAgCA,GAYnC,MAXsB,kBAAXA,IACPA,EAAU,CACNmD,IAAKnD,IAGS,iBAAXA,IACPA,EAAU,IAEO,UAAjBA,EAAQqQ,QACRrQ,EAAQqQ,MAAQ,gBAEbrQ,ECZOgW,CAAuB5iB,KAAK4U,KAAK0P,UAC/CtkB,KAAK4U,KAAK0P,SAAWnT,EAAOvE,EAAS6H,EAAAA,QAAAA,UAErCzU,KAAKI,KAAK,sBAAsB,SAAUqY,GACtClC,EAAakC,GAAU3Y,SAAQ,SAAUyT,GACrCgD,EAAYhD,EAAU6C,EAAMvB,KAAKrE,WAAW+V,QAAS,cACjDhT,EAASN,QAAQ,gBACjBM,EAASxM,UAAU+M,OAAO,qBAKlClH,EAAQmD,KACR/P,KAAKI,KAAK,sBAAsB,SAAUqY,GACtC,GAAKA,EAASxF,QAAQrG,EAAQqQ,OAA9B,CAGA1G,EAASkC,EAAU,eAAe3Y,SAAQ,SAAUymB,GAChDA,EAAQzS,YAEZ,IAAI2V,EAAa,GACjBlT,EADiCA,EAAakC,IACtB3Y,SAAQ,SAAUyT,GACtC,IAAImW,EAASnT,EAAahD,EAAU,sBAAsB,GACrDmG,YAAY0M,OACZ5U,cAAc,GACnB,GAAIkY,EAAOxpB,QAAUwpB,GAAUD,EAAY,CACvCA,EAAaC,EACb,IAAInD,EAAUhQ,EAAW,iBACzBgQ,EAAQ7M,YAAcgQ,EACtBjR,EAASQ,aAAasN,EAAShT,YiDgB/CoW,KzCjDW,WACX,IAAIvT,EAAQpW,KACZ,GAAKA,KAAK4U,KAAKuF,UAAf,CAGA,IAAIvN,EPDD,SAAgCA,GASnC,MARsB,kBAAXA,IACPA,EAAU,CACNkQ,KAAMlQ,IAGQ,iBAAXA,IACPA,EAAU,IAEPA,EOROgW,CAAuB5iB,KAAK4U,KAAK+U,MAC/C3pB,KAAK4U,KAAK+U,KAAOxY,EAAOvE,EAAS6H,EAAAA,QAAAA,MAE7B7H,EAAQkQ,MACR9c,KAAKI,KAAK,iBAAiB,SAAUqa,GACjCmP,GAAAA,KAAcxT,EAAOxJ,EAAQmI,MAAQ0F,QyCwC7CoP,StChDW,WACX,IAAIzT,EAAQpW,KACZ,GAAKA,KAAK4U,KAAKuF,UAAf,CAGA,IAAIvN,EFAD,SAAgCA,GAcnC,MAbsB,kBAAXA,GAAwBA,IAC/BA,EAAU,CACNwU,KAAMxU,IAGQ,iBAAXA,IACPA,EAAU,IAEiB,iBAApBA,EAAQoR,WACfpR,EAAQoR,SAAW,CACf8L,GAAIld,EAAQoR,WAGbpR,EEdOgW,CAAuB5iB,KAAK4U,KAAKiV,UAC/C7pB,KAAK4U,KAAKiV,SAAW1Y,EAAOvE,EAAS6H,EAAAA,QAAAA,UACrC,IAAIE,EAAU3U,KAAK6U,KAAKgV,SACxB,GAAKjd,EAAQwU,KAAb,CAGA,IAAItI,EACJ9Y,KAAKI,KAAK,kBAAkB,WAExB,GADAgW,EAAMrB,KAAKL,KAAK3N,UAAUgJ,IAAI,oBACI,iBAAvBnD,EAAQoR,SAAS8L,GAAgB,CACxC,IAAIzb,EAAKiE,EAAW8D,EAAMrB,KAAKL,KAAKrG,IAChCA,IACAzB,EAAQoR,SAAS8L,GAAK,WAAazb,EAAK,MAGhD,GAAkC,iBAAvBzB,EAAQoR,SAAS8L,GAA5B,CAIAhR,EAASvC,EAAS1R,SAAS6W,KAAM9O,EAAQoR,SAAS8L,IAAI,GAEtD,IAAIvO,EAAS3O,EAAQ4R,MAAM9W,MAAM,KACZ,GAAjB6T,EAAOrb,SACPqb,EAAO,GAAKA,EAAO,IAEN,SAAbA,EAAO,IACPzC,EAAO5G,iBAAiB,cAAc,WAClCkE,EAAM0G,SACP,CAAEgL,SAAS,IAED,SAAbvM,EAAO,IACPnF,EAAMrB,KAAKL,KAAKxC,iBAAiB,cAAc,WAC3CkE,EAAMhG,UACP,CAAE0X,SAAS,QAItB9nB,KAAKI,KAAK,cAAc,WACpBgW,EAAMrB,KAAKL,KAAX,QAA6B0B,EAAMrB,KAAKL,KAAK0D,aAAa,SAC1DhC,EAAMrB,KAAK0C,KAAK1Q,UAAUgJ,IAAI,0BAElC/P,KAAKI,KAAK,gBAAgB,WACtBgW,EAAMrB,KAAKL,KAAKqE,aAAa,QAAS3C,EAAMrB,KAAKL,KAAX,SACtC0B,EAAMrB,KAAK0C,KAAK1Q,UAAU+M,OAAO,0BASrC,IAAIiW,EAAc,SAAUC,EAAK1e,GAC7B,IvCiCwBsU,EuCPpBxT,EAAK4Q,EA1BLiN,EAAM3e,EAAI,GAAI4e,EAAM5e,EAAI,GACxB6e,EAAoB,KAAPH,EAAa,cAAgB,eAAgBI,EAAmB,KAAPJ,EAAa,OAAS,MAAOK,EAAkB,KAAPL,EAAa,QAAU,SAAUM,EAAe,KAAPN,EAAa,QAAU,SAAUO,EAAkB,KAAPP,EAAa,aAAe,cAAeQ,EAAkB,KAAPR,EAAa,WAAa,YAAaS,EAAY,KAC5SC,GvC+BoB9K,EuC/BUwK,EAARtR,EvCgCd6R,wBAAwB/K,GACpC/a,SAAS6W,KAAmB,SAAdkE,EAAuB,aAAe,cuCjCNgL,EAAUF,EAAW5R,EAAOqR,GAAaU,EAAa7hB,OAAOuhB,GAEvGO,EAAOnW,EAAQ4M,OAAOzI,OAAOkR,GAAOrV,EAAQ4M,OAAOC,SAASwI,GAEhE,GAAIpd,EAAQoR,SAASgM,GACjB,OAAQpd,EAAQoR,SAASgM,IACrB,IAAK,OACL,IAAK,SACDS,EAAY,QACZ,MACJ,IAAK,QACL,IAAK,MACDA,EAAY,SAmCxB,OA9BkB,OAAdA,IACAA,EACIC,GAAYE,EAAUF,GAAY,EAAIG,EAAa,EAC7C,QACA,UAIG,SAAbJ,GAEAzN,EAAM6N,IADNze,EAAa,KAAP4d,EAAaU,EAAWE,GACJE,GAC1Bb,EAAIG,GAAahe,EAAMuI,EAAQ4M,OAAOzI,OAAOkR,GAAO,KACpDC,EAAII,GAAY,OACZzd,EAAQ0U,KACR4I,EAAIxpB,KAAK,gBAAyB,KAAPspB,EAAa,OAAS,UAKrDhN,GADA5Q,EAAa,KAAP4d,EAAaY,EAAUF,GACjBI,EACZb,EAAII,GACA,iBAAmBje,EAAMuI,EAAQ4M,OAAOzI,OAAOkR,IAAQ,OAC3DC,EAAIG,GAAa,OACbxd,EAAQ0U,KACR4I,EAAIxpB,KAAK,gBAAyB,KAAPspB,EAAa,QAAU,YAGtDpd,EAAQyU,cACR4I,EAAIO,GAAY1hB,KAAK+E,IAAI8G,EAAQ2V,GAAOtN,IAAKA,GAAO,MAEjD,CAACiN,EAAKC,IAiCjBlqB,KAAKI,KAAK,aAAc4d,GACxBhV,OAAOkJ,iBAAiB,UAAU,SAAUF,GACxCgM,EAASvb,KAAK2T,KACf,CAAE0R,SAAS,IACT9nB,KAAK4U,KAAKuF,UAAUC,SACrBpR,OAAOkJ,iBAAiB,UAAU,SAAUF,GACxCgM,EAASvb,KAAK2T,KACf,CAAE0R,SAAS,KAtClB,SAAS9J,IACL,IAAI5H,EAAQpW,KACZ,GAAKA,KAAKgV,KAAKkC,OAAf,CAGAlX,KAAK+U,KAAKL,KAAKqE,aAAa,QAAS/Y,KAAK+U,KAAKL,KAAV,SACrC,IAAIpJ,EAAM,CAAC,GAAI,IAGf,IAAK,IAAI2Z,KAFT3Z,EAAMye,EAAYtnB,KAAKzC,KAAM,IAAKsL,IAClCA,EAAMye,EAAYtnB,KAAKzC,KAAM,IAAKsL,IAChB,GACdtL,KAAK+U,KAAKL,KAAKuM,MAAMgE,GAAK3Z,EAAI,GAAG2Z,GAErC,GAAIrY,EAAQ0U,IAAK,CACI,CACb,mBACA,oBACA,kBACA,sBAGOxhB,SAAQ,SAAU+S,GACzBuD,EAAMrB,KAAKL,KAAK3N,UAAU+M,OAAOjB,MAErCvH,EAAI,GAAGxL,SAAQ,SAAU+S,GACrBuD,EAAMrB,KAAKL,KAAK3N,UAAUgJ,IAAI8C,UsCpF1CkY,cpCjDW,WACX,IAAI3U,EAAQpW,KACZ,GAAKA,KAAK4U,KAAKuF,UAAf,CAGA,IACI6Q,EAAcC,EADdtW,EAAU3U,KAAK6U,KAAKkW,cAExB/qB,KAAKI,KAAK,iBAAiB,SAAUqa,GACjCuQ,EAAQ5U,EAAMvB,KAAKrE,WAAWua,cAActJ,MAC5CwJ,EAAQ1U,EAAS1R,SAAU8P,EAAQ6F,gBAAgB,GAC3CjE,EAASkE,EAAM,IAAMuQ,GACvBlrB,SAAQ,SAAUorB,GACpB3U,EAAY2U,EAAKF,EAAO,eACxBC,EAAMtW,EAAQ4F,cAAc2Q,WoCqCpCC,QlCnDW,WACX,IAMIA,EANA/U,EAAQpW,KACR4M,EDKD,SAAgCA,GAgBnC,MAfqB,SAAjBlC,EAAKkC,KACLA,EAAU,CACN8U,KAAK,EACLrE,IAAKzQ,IAGQ,UAAjBlC,EAAKkC,KACLA,EAAU,SAEY,IAAfA,EAAQ8U,MACf9U,EAAQ8U,KAAM,GAEQ,kBAAf9U,EAAQ8U,KAAoB9U,EAAQ8U,MAC3C9U,EAAQ8U,KAAM,GAEX9U,ECrBOgW,CAAuB5iB,KAAK4U,KAAKuW,SAE/C,GADAnrB,KAAK4U,KAAKuW,QAAUha,EAAOvE,EAAS6H,EAAAA,QAAAA,SAC/B7H,EAAQ8U,MAIb,CAAC,MAAO,UAAU5hB,SAAQ,SAAUke,EAAUoN,GAC1C,IAAIvI,EAAOjW,EAAQoR,GAED,SAAdtT,EAAKmY,KACLA,EAAO,CAACA,IAKZ,IAFA,IAAIwI,EAAO9U,EAAW,mBAAqByH,GAElC/D,EAAI,EAAG5C,EAAIwL,EAAK3iB,OAAQ+Z,EAAI5C,EAAG4C,IACd,iBAAX4I,EAAK5I,GACZoR,EAAKrS,WAAa6J,EAAK5I,GAGvBoR,EAAKpT,OAAO4K,EAAK5I,IAGrBoR,EAAKtY,SAAS7S,SACTirB,IACDA,EAAU5U,EAAW,mBAEzB4U,EAAQlT,OAAOoT,OAInBF,GAAS,CAETnrB,KAAKI,KAAK,kBAAkB,WACxBgW,EAAMrB,KAAKL,KAAKkF,QAAQuR,MAG5B,IAAIG,EAAc,mBAAqB1e,EAAQoR,SAC3C8D,EAAS,WACT1L,EAAMrB,KAAKL,KAAK3N,UAAUgJ,IAAIub,GAC9B7W,EAAAA,QAAc0W,EAAS,UAAU,IAarC,GAP0B,kBAAfve,EAAQ8U,IACf1hB,KAAKI,KAAK,iBAAkB0hB,GAG5B7L,EAAUrJ,EAAQ8U,IAAKI,GARb,WACV1L,EAAMrB,KAAKL,KAAK3N,UAAU+M,OAAOwX,GACjC7W,EAAAA,QAAc0W,EAAS,UAAU,MASjB,QAAhBve,EAAQlC,KAAgB,CACxBygB,EAAQpkB,UAAUgJ,IAAI,mBACtBob,EAAQjZ,iBAAiB,SAAS,SAAUF,GACxC,IAAI0B,EAAS1B,EAAKlQ,OAClB,GAAK4R,EAAOT,QAAQ,KAGpB,GAAIS,EAAOT,QAAQ,6BACfjB,EAAK6R,gCAGT,IACI,IAAIjT,EAAQwF,EAAMrB,KAAKL,KAAKS,cAAczB,EAAO0E,aAAa,SAAS,GACnExH,GAASA,EAAMqC,QAAQ,eACvBjB,EAAK3B,iBACL2B,EAAK6R,2BACLzN,EAAMF,UAAUtF,GAAO,IAG/B,MAAOyH,QAEX,IAAIkT,EAAc,SAAU3a,GACxB2F,EAAS4U,EAAS,KAAKrrB,SAAQ,SAAU4T,GACrCA,EAAO3M,UAAU+M,OAAO,+BAE5B,IAAIJ,EAAS6C,EAAS4U,EAAS,WAAava,EAAMvC,GAAK,MAAM,GAC7D,GAAIqF,EACAA,EAAO3M,UAAUgJ,IAAI,gCAEpB,CACD,IAAI4G,EAAW/F,EAAK,SAChB+F,GACA4U,EAAY5U,EAASL,QAAQ,gBAIzCtW,KAAKI,KAAK,kBAAmBmrB,MkCvCrCC,WhCrDW,WACX,IAAIpV,EAAQpW,KACR4M,EDKD,SAAgCA,GAgBnC,MAfsB,kBAAXA,IACPA,EAAU,CACNmD,IAAKnD,IAGS,iBAAXA,GACW,iBAAXA,IACPA,EAAU,CACNmD,KAAK,EACLgN,QAASnQ,IAGK,iBAAXA,IACPA,EAAU,IAEPA,ECrBOgW,CAAuB5iB,KAAK4U,KAAK4W,YAC/CxrB,KAAK4U,KAAK4W,WAAara,EAAOvE,EAAS6H,EAAAA,QAAAA,YACvC,IAAIgX,GAAY,EAQhB,GAPuB,SAAnB7e,EAAQmQ,UACR0O,GAAY,EACZ7e,EAAQmQ,QAAU,GAEtBnQ,EAAQmQ,QAAUjU,KAAK+E,IAAI,EAAG/E,KAAKkU,IAAI,EAAGpQ,EAAQmQ,UAClDnQ,EAAQmQ,UAEJnQ,EAAQmD,IAAK,CACb/P,KAAKI,KAAK,kBAAkB,WACxB,IAAIyX,EAAa,CAAC,qBACdjL,EAAQiV,YACRhK,EAAWnX,KAAK,sBAEhBkM,EAAQgV,aACR/J,EAAWnX,KAAK,uBAGpBmX,EAAW/X,SAAQ,SAAU+S,GACzBuD,EAAMrB,KAAKL,KAAK3N,UAAUgJ,IAAI8C,SAKtC,IAAI6Y,EAAe,GACnB,IAAKD,EACD,IAAK,IAAIvG,EAAI,EAAGA,GAAKtY,EAAQmQ,QAASmI,IAClCwG,EAAahrB,KAAK,sBAAwBwkB,GAGlDllB,KAAKI,KAAK,mBAAmB,SAAUwQ,GACnC,IAAI4F,EAASD,EAAaH,EAAMrB,KAAK0B,KAAM,aAE3C,KADA7F,EAAQA,GAAS4F,EAAO,IACdpD,cAAcH,QAAQ,yBAGhC,GAAIwY,EACAjV,EAAO1W,SAAQ,SAAU8Q,EAAOkW,GAC5BlW,EAAM7J,UAAe,GAAL+f,EAAS,MAAQ,UAAU,mCAG9C,CAEDtQ,EAAO1W,SAAQ,SAAU8Q,GAErB8a,EAAa5rB,SAAQ,SAAU+S,GAC3BjC,EAAM7J,UAAU+M,OAAOjB,SAM/B2D,EAASA,EAAOxU,QAAO,SAAU4O,GAC7B,OAAOA,EAAMqC,QAAQ,8BAGzB,IAAI0Y,GAAe,EACnBnV,EAAO1W,SAAQ,SAAU6S,GACjB/B,IAAU+B,IACVgZ,GAAe,MAGlBA,GACDnV,EAAO9V,KAAKkQ,GAGhB4F,EAAO1W,SAAQ,SAAU8Q,GACrBA,EAAM7J,UAAU+M,OAAO,iBAG3B0C,EAASA,EAAOlT,OAAOsJ,EAAQmQ,UAExBjd,SAAQ,SAAU8Q,EAAOkW,GAC5BlW,EAAM7J,UAAUgJ,IAAI,sBAAwB+W,UAIxD9mB,KAAKI,KAAK,mBAAmB,SAAUwQ,GACnC,GAAIhE,EAAQ+U,aACP/Q,EAAMwC,cAAcH,QAAQ,2BAC5BsD,EAAa3F,EAAO,sBAAsB,GAAI,CAC/C,IAAIgb,EAAUrV,EAAW,uBACzBqV,EAAQ7S,aAAa,OAAQ,IAAMnI,EAAM0F,QAAQ,aAAajI,IAC9DuC,EAAMgJ,QAAQgS,SgCjC1BC,mB9BpDW,WACX,IAAIzV,EAAQpW,KAGZ,IAAIqe,EAAJ,CAGA,IAAIzR,EDLD,SAAgCA,GASnC,MARsB,kBAAXA,GAA0C,iBAAXA,IACtCA,EAAU,CACNkV,OAAQlV,IAGM,iBAAXA,IACPA,EAAU,IAEPA,ECJOgW,CAAuB5iB,KAAK4U,KAAKiX,oBAG/C,GAFA7rB,KAAK4U,KAAKiX,mBAAqB1a,EAAOvE,EAAS6H,EAAAA,QAAAA,oBAE3C7H,EAAQkV,OAAQ,CAChB,IAAIgK,EAAcvV,EAAW,gCAAiCwV,EAAYxV,EAAW,8BAA+ByV,EAAezV,EAAW,8BAC9IvW,KAAKI,KAAK,kBAAkB,WACpBwM,EAAQmV,SACR3L,EAAMrB,KAAKL,KAAK3N,UAAUgJ,IAAI,yBAElC+L,GAAWrZ,KAAK2T,EAAOxJ,EAAQmV,YAEnC/hB,KAAKI,KAAK,qBAAqB,WAC3BgW,EAAMrB,KAAKL,KAAKkF,QAAQkS,GACxB1V,EAAMrB,KAAKL,KAAKuD,OAAO8T,GACvBxV,EAAaH,EAAMrB,KAAKL,KAAM,uCAAuC5U,SAAQ,SAAU4iB,GACnFA,EAAQ5P,iBAAiB,qBAAqBhT,SAAQ,SAAUmQ,GAC5DA,EAAM8I,aAAa,WAAY,eAI3C/Y,KAAKI,KAAK,qBAAqB,WAC3BqU,EAAAA,KAAAA,KAAAA,OAAuBuX,GACvBzV,EAAa9B,EAAAA,KAAAA,KAAiB,KAAK,GAAG1N,UAAUgJ,IAAI,kBAExD,IAAIkc,EAAc,kDACdC,EAAW,SAAUtb,GACrBA,EACIA,GAAS2F,EAAaH,EAAMrB,KAAK0B,KAAM,oBAAoB,GAC/D,IAAIwL,EAAQ,KAERnS,EAASjL,SAASsnB,cAAc7V,QAAQ,cAC5C,IAAIxG,GACIA,EAAOwG,QAAQ,aAAeF,EAAMrB,KAAKL,KADjD,CAMA,GAAsB,WAAlB9H,EAAQkV,UAERG,EAAQ1L,EAAS3F,EAAO,wCAAwC,MAG5DqR,EAAQ1L,EAAS3F,EAAOqb,EAAc,oBAAoB,KAGzDhK,GAAO,CACR,IAAImK,EAAa,GACjB7V,EAAaH,EAAMrB,KAAKL,KAAM,uCAAuC5U,SAAQ,SAAUgQ,GACnFsc,EAAW1rB,KAAKoH,MAAMskB,EAAY7V,EAASzG,EAAQmc,EAAc,wBAErEhK,EAAQmK,EAAW,GAItBnK,IACDA,EAAQ1L,EAAaH,EAAMrB,KAAKL,KAAM,gBAAgB,IAEtDuN,GACAA,EAAMA,UAGdjiB,KAAKI,KAAK,cAAe8rB,GACzBlsB,KAAKI,KAAK,mBAAoB8rB,GAE9BlsB,KAAKI,KAAK,4BAA4B,WAClC,CAACgW,EAAMrB,KAAKL,KAAMD,EAAAA,KAAAA,MAAiB3U,SAAQ,SAAU4R,GACjD6E,EAAa7E,EAAS,4BAA4B5R,SAAQ,SAAUusB,GAChE5X,EAAAA,QAAc4X,EAAQ,UAAU,GAChC5X,EAAAA,QAAc4X,EAAQ,4B8BtBtCC,a5BvDW,WACX,IAAIlW,EAAQpW,KACR4M,EDCD,SAAgCA,GASnC,MARsB,kBAAXA,IACPA,EAAU,CACNwV,KAAMxV,IAGQ,iBAAXA,IACPA,EAAU,IAEPA,ECVOgW,CAAuB5iB,KAAK4U,KAAK0X,cAC/CtsB,KAAK4U,KAAK0X,aAAenb,EAAOvE,EAAS6H,EAAAA,QAAAA,cACrC7H,EAAQwV,OAERpiB,KAAKI,KAAK,qBAAqB,WAC3B,IAAIoW,EAAS,GAEbD,EAASH,EAAMrB,KAAK0B,KAAM,MAAM3W,SAAQ,SAAUyT,GAC9CiD,EAAO9V,KAAKoH,MAAM0O,EAAQD,EAAahD,EAAU6C,EAAMvB,KAAK5D,cAAc/D,KAAK,WAGnFsJ,EACKxU,QAAO,SAAU4O,GAAS,OAAQA,EAAMqC,QAAQ,yBAChDjR,QAAO,SAAU4O,GAAS,OAAQA,EAAMqC,QAAQ,qBAChDjR,QAAO,SAAU4O,GAAS,OAAQA,EAAMqC,QAAQ,kBAChDnT,SAAQ,SAAU8Q,GACF,CACb,uBACA,gBACA,cAGO9Q,SAAQ,SAAU+S,GACzBjC,EAAM7J,UAAUgJ,IAAI8C,YAOhC7S,KAAKI,KAAK,qBAAqB,WAC3B,IAAIoW,EAAS,GACbD,EAASH,EAAMrB,KAAK0B,KAAM,IAAML,EAAMvB,KAAKrE,WAAWK,UAAU/Q,SAAQ,SAAUyT,GAC9EiD,EAAO9V,KAAKoH,MAAM0O,EAAQD,EAAYhD,EAAU,6BAEhDiD,EAAOtW,QACPsW,EAAO1W,SAAQ,SAAU8Q,GACrB2b,QAAQC,IAAI5b,GACK,CACb,uBACA,gBACA,cAGO9Q,SAAQ,SAAU+S,GACzBjC,EAAM7J,UAAU+M,OAAOjB,YAQvC7S,KAAKI,KAAK,oBAAoB,SAAUwQ,GACpC,IAAI4F,EAASD,EAAS3F,EAAO,yBAAyB5O,QAAO,SAAU4O,GACnE,OAAQA,EAAMqC,QAAQ,kDAEtBrC,EAAMqC,QAAQ,0BACduD,EAAO4M,QAAQxS,GAEnB4F,EAAO1W,SAAQ,SAAU8Q,GACJ,CACb,uBACA,gBACA,cAGO9Q,SAAQ,SAAU+S,GACzBjC,EAAM7J,UAAU+M,OAAOjB,MAI3BuD,EAAMkC,UAAU1H,W4BlB5B8R,QAnBW,GAoBX+J,WhBvDW,WACX,IAAIrW,EAAQpW,KACR4M,EFAD,SAAgCA,GASnC,MARsB,kBAAXA,IACPA,EAAU,CACNmX,OAAQnX,IAGM,iBAAXA,IACPA,EAAU,IAEPA,EETOgW,CAAuB5iB,KAAK4U,KAAK6X,YAC/CzsB,KAAK4U,KAAK6X,WAAatb,EAAOvE,EAAS6H,EAAAA,QAAAA,YACvC,IAEIiY,EAFA/X,EAAU3U,KAAK6U,KAAK4X,WAGxB,SAASE,IACDD,GAEA1jB,OAAO2jB,SAAS,CACZtP,IAAKqP,EAAQ/B,wBAAwBtN,IACjCxY,SAAS+nB,iBAAiBtG,UAC1B3R,EAAQsP,aACZ4I,SAAU,WAGlBH,EAAU,KAEd,SAASI,EAAa3U,GAClB,IACI,MAAY,KAARA,GAAmC,KAApBA,EAAK7U,MAAM,EAAG,GACtBmR,EAAAA,KAAAA,KAAAA,cAA8B0D,GAElC,KAEX,MAAOE,GACH,OAAO,MAwCf,GApCIzL,EAAQmX,QACR/jB,KAAKI,KAAK,gBAAgB,WACtBusB,OAKJ3sB,KAAK4U,KAAKuF,WAAavN,EAAQmX,QAC/B/jB,KAAKkV,KAAKxU,MAAK,SAAUgT,EAAQhB,GAG7B,GAFAga,EAAU,KAELha,EAAKwF,OAAV,CAIA,IAAIC,EAAOzE,EAAO0E,aAAa,QAE/B,GADAsU,EAAUI,EAAa3U,GAKvB,OAAI/B,EAAMrB,KAAKL,KAAKzB,QAAQ,8BACxBmD,EAAMrB,KAAK0C,KAAKxE,QAAQ,qCAExB0Z,IAKO,CACHvc,OAAO,OAMnBxD,EAAQoX,OAAQ,CAChB,IAAI+I,EAAS,GACb/sB,KAAKI,KAAK,sBAAsB,SAAUqY,GAEtClC,EADgBA,EAAakC,EAAU,iBACd3Y,SAAQ,SAAU4T,GACvC,IACIgZ,EAAUI,EADHpZ,EAAO0E,aAAa,SAE3BsU,GACAK,EAAO3J,QAAQsJ,SAI3B,IAAIM,GAAe,EACnBhkB,OAAOkJ,iBAAiB,UAAU,SAAUF,GAExC,IADA,IAAIsU,EAAYtd,OAAOikB,QACdhI,EAAI,EAAGA,EAAI8H,EAAO7sB,OAAQ+kB,IAC/B,GAAI8H,EAAO9H,GAAGiI,UAAY5G,EAAY3R,EAAQuP,aAAc,CACxD,GAAI8I,IAAgB/H,EAAG,CACnB+H,EAAc/H,EACd,IAEIxR,EAAU8C,EADEA,EADJA,EAAaH,EAAMrB,KAAK0B,KAAM,oBAAoB,GAC9B,kBAEhChD,EAAUA,EAAQzR,QAAO,SAAU0R,GAC/B,OAAOA,EAAOT,QAAQ,WAAa8Z,EAAO9H,GAAG5W,GAAK,UAE1CnO,QACRkW,EAAM9F,YAAYmD,EAAQ,GAAGL,eAGrC,YgBxChBqQ,YV7CW,WACX,IAAIrN,EAAQpW,KACR4M,ELGD,SAAgCA,GA2BnC,MA1BsB,kBAAXA,IACPA,EAAU,CACNmD,IAAKnD,IAGS,iBAAXA,IACPA,EAAU,IAEc,kBAAjBA,EAAQgE,QACfhE,EAAQgE,MAAQ,CACZb,IAAKnD,EAAQgE,QAGO,iBAAjBhE,EAAQgE,QACfhE,EAAQgE,MAAQ,IAGC,SAAjBhE,EAAQqQ,QACRrQ,EAAQgE,MAAMb,KAAM,GAEpBnD,EAAQgE,MAAMb,MACdnD,EAAQ+X,eAAgB,EACpB/X,EAAQgE,MAAM4T,SACd5X,EAAQuX,QAAS,IAGlBvX,EK9BOgW,CAAuB5iB,KAAK4U,KAAK6O,aAC/CzjB,KAAK4U,KAAK6O,YAActS,EAAOvE,EAAS6H,EAAAA,QAAAA,aAC1BzU,KAAK6U,KAAK4O,YACnB7W,EAAQmD,MAIb/P,KAAKI,KAAK,eAAe,WACrBmW,EAASH,EAAMrB,KAAKL,KAAM,mBAAmB5U,SAAQ,SAAUoM,GAC3DA,EAAMihB,aAGdntB,KAAKI,KAAK,mBAAmB,SAAUwQ,GACnC,IAAI4U,EAAc,KAEd5Y,EAAQgE,MAAMb,MACdyV,EAAcD,GAAgB9iB,KAAK2T,IAGvC,IAAI6G,EAAQ,KACZ,OAAQrQ,EAAQqQ,OACZ,IAAK,SACDA,EAAQ,CAACrM,GACT,MACJ,IAAK,QACDqM,EAAQ,CAACuI,GACT,MACJ,QACgC,iBAAjB5Y,EAAQqQ,MACfA,EAAQ1G,EAASH,EAAMrB,KAAKL,KAAM9H,EAAQqQ,OAEd,SAAvBvS,EAAKkC,EAAQqQ,SAClBA,EAAQrQ,EAAQqQ,OAI5BA,EAAMnd,SAAQ,SAAU+kB,GACpBA,EAAOY,GAAgBhjB,KAAK2T,EAAOyO,GAC/BjY,EAAQ6X,QAAUI,GAClBgB,GAAcpjB,KAAK2T,EAAOyO,MAI9BjY,EAAQwX,WACR8B,GAAiBzjB,KAAK2T,EAAOxJ,EAAQgE,MAAMb,IAAMyV,EAAc5U,MAKvE5Q,KAAKkV,KAAKxU,MAAK,SAAUgT,EAAQhB,GAC7B,GAAIA,EAAKwF,QACDxE,EAAOT,QAAQ,wBAAyB,CAExC,GAAIS,EAAOT,QAAQ,iBAAkB,CACjC,IAA8C/G,EAAQqK,EAAlDsO,EAAOnR,EAAO4C,QAAQ,mBAA2C,SAAS,GAG9E,OAFApK,EAAM3K,MAAQ,GACd6U,EAAMqO,OAAOvY,IACN,EAIP,IAAI2Y,EADR,GAAInR,EAAOT,QAAQ,gBAKf,OAJI4R,EAAOnR,EAAO4C,QAAQ,UAEtBuO,EAAKC,UAEF,QUrBvBsI,eN1DW,WACX,IAAIhX,EAAQpW,KACR4M,EDCD,SAAgCA,GASnC,MARsB,kBAAXA,IACPA,EAAU,CACNmD,IAAKnD,IAGS,iBAAXA,IACPA,EAAU,IAEPA,ECVOgW,CAAuB5iB,KAAK4U,KAAKwY,gBAC/CptB,KAAK4U,KAAKwY,eAAiBjc,EAAOvE,EAAS6H,EAAAA,QAAAA,gBACtC7H,EAAQmD,KAGb/P,KAAKI,KAAK,oBAAoB,WAE1B,IAAKgW,EAAMrB,KAAKsY,KAAM,CAClB,IAAIC,EAAY,GAChB,6BAA6B5lB,MAAM,IAAI5H,SAAQ,SAAU4pB,GACrD4D,GAAa,eAAiB5D,EAAS,UAE3C,IAAI6D,EAAUhX,EAAW,yBACzBgX,EAAQvU,UAAYsU,EACpBlX,EAAMrB,KAAK0B,KAAKmD,QAAQ2T,GACxBnX,EAAMrB,KAAKsY,KAAOE,EAElBnX,EAAMrB,KAAKsY,KAAKnb,iBAAiB,SAAS,SAAUF,GACnCA,EAAKlQ,OACPmR,QAAQ,MACfjB,EAAK3B,oBAIb,IAAImd,EAAiB,SAAUxb,GAC3B,GAAKA,EAAKlQ,OAAOmR,QAAQ,KAAzB,CAGA,IAAIyW,EAAS1X,EAAKlQ,OAAO4X,YAAa9I,EAAQ2F,EAAaH,EAAMrB,KAAK0B,KAAM,oBAAoB,GAC5FgX,GAAU,EAAGC,EAAS9c,EAAM0V,UAChC1V,EAAM0V,UAAY,EAClB/P,EAAS3F,EAAO,eACX5O,QAAO,SAAUukB,GAAW,OAAQA,EAAQtT,QAAQ,iBACpDnT,SAAQ,SAAUymB,GACfkH,EAAS,GACT/D,GACInD,EAAQ7M,YACH0M,OACA9iB,MAAM,EAAG,GACTkO,gBACTic,EAASlH,EAAQ2G,cAGzBtc,EAAM0V,UAAYmH,GAAU,EAAIA,EAASC,IAEzCrP,GACAjI,EAAMrB,KAAKsY,KAAKnb,iBAAiB,aAAcsb,GAC/CpX,EAAMrB,KAAKsY,KAAKnb,iBAAiB,YAAasb,IAG9CpX,EAAMrB,KAAKsY,KAAKnb,iBAAiB,YAAasb,GAItDpX,EAAMhW,KAAK,mBAAmB,SAAUwQ,GACpC,IAAI+c,EAASpX,EAAS3F,EAAO,eAAe5O,QAAO,SAAUukB,GAAW,OAAQA,EAAQtT,QAAQ,iBAAkB/S,OAClHkW,EAAMrB,KAAKsY,KAAKtmB,UAAU4mB,EAAS,MAAQ,UAAU,mCMC7Drd,YJ5DW,WACX,IAAI8F,EAAQpW,KACR4M,EDGD,SAAgCA,GAUnC,MATsB,kBAAXA,IACPA,EAAU,CACNqa,MAAOra,EACPuG,OAAQvG,IAGM,iBAAXA,IACPA,EAAU,IAEPA,ECbOgW,CAAuB5iB,KAAK4U,KAAKtE,aAG/C,GAFAtQ,KAAK4U,KAAKtE,YAAca,EAAOvE,EAAS6H,EAAAA,QAAAA,aAEjB,UAAnB7H,EAAQkN,QAAqB,CAC7B,IAAI8T,EAAgB,SAAUC,GAC1BA,EAAMA,EAAInmB,MAAM,KAAK,GAAGA,MAAM,KAAK,GACnC,IAAIgM,EAAS0C,EAAMrB,KAAKL,KAAKS,cAAc,WAAa0Y,EAAM,eAAiBA,EAAM,OACrF,GAAIna,EACA0C,EAAM9F,YAAYoD,EAAON,mBAExB,CACD,IAAI0a,EAAMD,EAAInmB,MAAM,KAAKpE,MAAM,GAAI,GAC/BwqB,EAAI5tB,QACJ0tB,EAAcE,EAAI5gB,KAAK,QAInClN,KAAKI,KAAK,kBAAkB,WACxBwtB,EAAcnrB,KAAK2T,EAAOpN,OAAO0e,SAASvP,cAIxCvL,EAAQkN,SACd9Z,KAAKI,KAAK,sBAAsB,SAAUqY,GACtClC,EAAakC,EAAU,yBAAyB3Y,SAAQ,SAAUyT,GAC9DA,EAASxM,UAAU+M,OAAO,8BAKlClH,EAAQqa,OACRjnB,KAAKI,KAAK,kBAAkB,WACxBgW,EAAMrB,KAAKL,KAAK3N,UAAUgJ,IAAI,6BAIlCnD,EAAQuG,SACRnT,KAAKI,KAAK,oBAAoB,SAAUwQ,GAEpC2F,EAASH,EAAMrB,KAAK0B,KAAM,gCAAgC3W,SAAQ,SAAUyT,GACxEA,EAASxM,UAAU+M,OAAO,kCAI9B,IADA,IAAIX,EAASvC,EAAK,SACXuC,GACEA,EAAOF,QAAQ,0BAChBE,EAAOpM,UAAUgJ,IAAI,+BAGzBoD,GADAA,EAASA,EAAOmD,QAAQ,cACT,YAGvBtW,KAAKI,KAAK,kBAAkB,WACxBgW,EAAMrB,KAAKL,KAAK3N,UAAUgJ,IAAI,gCIMtCge,QF5DW,WACX,IAAI3X,EAAQpW,KACZ,GAAKA,KAAK4U,KAAKuF,UAAf,CAGA,IAAIvN,EDMD,SAAgCA,GAyCnC,OAxCsB,iBAAXA,GACY,kBAAXA,GAAwBA,GACd,iBAAXA,KACPA,EAAU,CACNwa,SAAUxa,IAGI,iBAAXA,IACPA,EAAU,IAGkB,kBAArBA,EAAQsa,WAA0Bta,EAAQsa,YACjDta,EAAQsa,UAAY,CAChBxF,KAAK,IAGmB,iBAArB9U,EAAQsa,WACa,iBAArBta,EAAQsa,YACfta,EAAQsa,UAAY,CAChBxF,IAAK9U,EAAQsa,YAGW,iBAArBta,EAAQsa,YACfta,EAAQsa,UAAY,IAGO,kBAApBta,EAAQwa,UAAyBxa,EAAQwa,WAChDxa,EAAQwa,SAAW,CACf1F,KAAK,IAGkB,iBAApB9U,EAAQwa,UACY,iBAApBxa,EAAQwa,WACfxa,EAAQwa,SAAW,CACf1F,IAAK9U,EAAQwa,WAGU,iBAApBxa,EAAQwa,WACfxa,EAAQwa,SAAW,IAEhBxa,EC/COgW,CAAuB5iB,KAAK4U,KAAKmZ,SAG/C,GAFA/tB,KAAK4U,KAAKmZ,QAAU5c,EAAOvE,EAAS6H,EAAAA,QAAAA,SAEhC7H,EAAQsa,UAAUxF,IAAK,CAEvB1hB,KAAKI,KAAK,kBAAkB,WAExB,GADAgW,EAAMrB,KAAKL,KAAK3N,UAAUgJ,IAAI,6BAC1BnD,EAAQsa,UAAUC,WAClB/Q,EAAMxB,KAAKuF,YACV5D,EAAaH,EAAMrB,KAAKL,KAAM,qBAAqB,GAAI,CACxD,IAAIhB,EAAS6C,EAAW,sBACxB7C,EAAOqF,aAAa,OAAQ,IAAM3C,EAAMrB,KAAKL,KAAKrG,IAClD+H,EAAMrB,KAAKL,KAAKkF,QAAQlG,GAExB9G,EAAQsa,UAAUrF,YAClBzL,EAAMrB,KAAKL,KAAK3N,UAAUgJ,IAAI,sBAE9BnD,EAAQsa,UAAUtF,aAClBxL,EAAMrB,KAAKL,KAAK3N,UAAUgJ,IAAI,0BAItC,IAAI+R,EAAS,WACT1L,EAAMrB,KAAK0C,KAAK1Q,UAAUgJ,IAAI,iCAE9Bie,EAAU,WACV5X,EAAMrB,KAAK0C,KAAK1Q,UAAU+M,OAAO,iCAED,kBAAzBlH,EAAQsa,UAAUxF,IACzB1hB,KAAKI,KAAK,iBAAkB0hB,GAG5B7L,EAAUrJ,EAAQsa,UAAUxF,IAAKI,EAAQkM,GAIjD,GAAIphB,EAAQwa,SAAS1F,IAAK,CAEtB1hB,KAAKI,KAAK,kBAAkB,WACxBgW,EAAMrB,KAAKL,KAAK3N,UAAUgJ,IAAI,+BAG9B+R,EAAS,WACT1L,EAAMrB,KAAK0C,KAAK1Q,UAAUgJ,IAAI,+BACzBqG,EAAMrB,KAAK0C,KAAKxE,QAAQ,+BACzBmD,EAAM0G,QAGVkR,EAAU,WACV5X,EAAMrB,KAAK0C,KAAK1Q,UAAU+M,OAAO,+BACjCsC,EAAMhG,SAEyB,kBAAxBxD,EAAQwa,SAAS1F,IACxB1hB,KAAKI,KAAK,iBAAkB0hB,GAG5B7L,EAAUrJ,EAAQwa,SAAS1F,IAAKI,EAAQkM,GAG5ChuB,KAAKI,KAAK,eAAe,WACjBgW,EAAMrB,KAAK0C,KAAKxE,QAAQ,kCACxBmD,EAAMrB,KAAK0C,KAAK1Q,UAAUgJ,IAAI,6BACE,YAA5BnD,EAAQwa,SAASC,SACjBre,OAAOilB,aAAaC,QAAQ,qBAAsB,cAI9DluB,KAAKI,KAAK,cAAc,WAChBgW,EAAMrB,KAAK0C,KAAKxE,QAAQ,kCACxBmD,EAAMrB,KAAK0C,KAAK1Q,UAAU+M,OAAO,6BACD,YAA5BlH,EAAQwa,SAASC,SACjBre,OAAOilB,aAAaC,QAAQ,qBAAsB,YAK9D,IAAIC,EAAevhB,EAAQwa,SAASC,QACpC,GAAgC,YAA5Bza,EAAQwa,SAASC,QAAuB,CACxC,IAAIpd,EAAQjB,OAAOilB,aAAaG,QAAQ,sBACxC,OAAQnkB,GACJ,IAAK,OACL,IAAK,SACDkkB,EAAelkB,GAIP,UAAhBkkB,GACAnuB,KAAKI,KAAK,kBAAkB,WACxBgW,EAAMrB,KAAK0C,KAAK1Q,UAAUgJ,IAAI,gCAKtC/P,KAAKkV,KAAKxU,MAAK,SAAUgT,EAAQhB,GAC7B,GAAIA,EAAKwF,QAAUxF,EAAKqH,YAChB3D,EAAMrB,KAAK0C,KAAKxE,QAAQ,gCACxB,MAAO,CACH7C,MAAmC,UAA5BxD,EAAQwa,SAASC,eEzC5CgH,QD9DW,WACX,IAAIjY,EAAQpW,KACZA,KAAKI,KAAK,mBAAmB,SAAUwQ,GAEnC2F,EAAS3F,EAAO,SAAS9Q,SAAQ,SAAUoM,GACvCqK,EAAYrK,EAAOkK,EAAMvB,KAAKrE,WAAW6d,QAAQ/G,OAAQ,aACzD/Q,EAAYrK,EAAOkK,EAAMvB,KAAKrE,WAAW6d,QAAQxlB,MAAO,oBC4DpE4L,EAAAA,SAAiB,CACb6Z,QC1EW,WACXtuB,KAAK4U,KAAKzE,QAAU,CAChBC,OAAO,EACPC,gBAAgB,EAChBC,aAAa,IDuEjBie,UE1EW,WACX,IAAInY,EAAQpW,KAEZ,GAAIA,KAAK+U,KAAKL,KAAKzB,QAAQ,oBAAqB,CAExCjT,KAAK6U,KAAKsF,YACVna,KAAK6U,KAAKsF,UAAUG,OAAQ,GAGhC,IAAIkU,EAAMjY,EAAW,OAAQ3F,EAAQ2F,EAAW,OAChDiY,EAAIvW,OAAOrH,GACX2F,EAAavW,KAAK+U,KAAKL,MAAM5U,SAAQ,SAAUkT,GAC3C,QAAQ,GACJ,KAAKA,EAAMC,QAAQ,eACfrC,EAAMqH,OA8EtB,SAAkBuW,GACd,IAAIC,EAAOlY,EAAW,MAgBtB,OAfAA,EAASiY,EAAK,aAAa1uB,SAAQ,SAAU4T,GACzC,IAAImF,EAAOtC,EAAW,MAItB,GAHI7C,EAAOT,QAAQ,YACf4F,EAAK9R,UAAUgJ,IAAI,aAElB2D,EAAOT,QAAQ,aAAc,CAC9B,IAAI4W,EAAWtT,EAAa7C,EAAQ,kBAAkB,GAClDmW,GACAhR,EAAKZ,OAAOyW,EAAc7E,IAE9BnW,EAAS6C,EAAa7C,EAAQ,aAAa,GAE/CmF,EAAKe,QAAQ+U,EAAUjb,IACvB+a,EAAKxW,OAAOY,MAET4V,EA/FkBG,CAAS5b,IACtB,MACJ,KAAKA,EAAMC,QAAQ,kBACfrC,EAAMqH,OAAOyW,EAAc1b,IAC3B,MACJ,KAAKA,EAAMC,QAAQ,gBACfmD,EAAMvB,KAAK4O,YAAYoB,KAAO,CAC1BgK,OAAQ7b,EAAMoF,aAAa,WAAa,KACxC5V,OAAQwQ,EAAMoF,aAAa,WAAa,MAE5ChC,EAAMvB,KAAK4O,YAAYvX,MAAQ,CAC3B7D,KAAM2K,EAAMmC,cAAc,SAASiD,aAAa,SAC5C,MAERhC,EAAMvB,KAAK4O,YAAYmB,OAAQ,EAC/BxO,EAAMvB,KAAK4O,YAAYqB,QAAS,EAChC,MACJ,QACIlU,EAAMqH,OAAOjF,EAAM4T,WAAU,QAKzC5mB,KAAKI,KAAK,mBAAmB,WACzByE,SAAS6W,KAAK9B,QAAQ4U,GACtBpY,EAAMrB,KAAKL,KAAO8Z,KAGtB,IAAI7X,EAAW3W,KAAK+U,KAAKL,KAAKtB,cAC9B,GAAIuD,EAAU,CACV,IAAImY,EAAUnY,EAASxB,cAAc,mBACjC2Z,IACAA,EAAQpW,gBAAgB,eAExBoW,EAAQpW,gBAAgB,iBAExBoW,EAAQC,UAAYD,EAAQC,WAC5BD,EAAUnY,EAASxB,cAAc,oBAEzBjD,iBAAiB,SAAS,SAAUF,GACxCA,EAAK3B,iBACL2B,EAAK6R,2BACLzN,EAAMA,EAAMpB,KAAKkC,OAAS,QAAU,eAKpD,SAASyX,EAAUjb,GAIf,IAHA,IAAIsb,EAAOzY,EAAW7C,EAAOT,QAAQ,KAAO,IAAM,QAE9CuJ,EAAO,CAAC,OAAQ,QAAS,UACpBtT,EAAI,EAAGA,EAAIsT,EAAKtc,OAAQgJ,IACzBwK,EAAO0E,aAAaoE,EAAKtT,KACzB8lB,EAAKjW,aAAayD,EAAKtT,GAAIwK,EAAO0E,aAAaoE,EAAKtT,KAS5D,OALA8lB,EAAKhW,UAAYtF,EAAOsF,UAExBzC,EAASyY,EAAM,YAAYlvB,SAAQ,SAAUmvB,GACzCA,EAAInb,YAEDkb,EAEX,SAASN,EAAc7E,GACnB,IAAI4E,EAAOlY,EAAW,MAWtB,OAVAA,EAAasT,GAAU/pB,SAAQ,SAAU4T,GACrC,IAAImF,EAAOtC,EAAW,MAClB7C,EAAOT,QAAQ,qBACf4F,EAAK9R,UAAUgJ,IAAI,WAEd2D,EAAOT,QAAQ,mBACpB4F,EAAKZ,OAAO0W,EAAUjb,IAE1B+a,EAAKxW,OAAOY,MAET4V,IFfXS,MG5EW,WACXlvB,KAAK6U,KAAKsF,UAAUM,KAAKE,WAAWja,KAAK,WH4EzCyuB,WI7EW,WACX,IAAItX,EACJhT,SAASqN,iBAAiB,2BAA2B,SAAUF,GAC3D6F,EAAahT,SACRsQ,cAAc,eACdkU,UAAU3hB,MAAM,KAChB1F,QAAO,SAAUqG,GAAQ,MAAO,MAAMuD,KAAKvD,SAEpDxD,SAASqN,iBAAiB,mBAAmB,SAAUF,QACzB,IAAf6F,IAGXhT,SAASsQ,cAAc,eAAekU,UAAYxR,OJkEtDuX,UK9EW,WACXpvB,KAAK6U,KAAKrE,WAAWK,SAAW,oBAChC,IAAIwe,EAAaxqB,SAASyqB,eAAe,cACrCD,IACAA,EAAWpO,MAAMjD,SAAW,QAC5BqR,EAAWtoB,UAAUgJ,IAAI,kBL6EjC,WAQA,IAAWwf,GALPvmB,SACAA,OAAOyL,MAAQA,IAIR8a,GAuBRvmB,OAAOwmB,QAAUxmB,OAAOymB,OAAS,QArB5BF,GAAE1nB,GAAG6nB,MAAQ,SAAU9iB,EAAS+H,GAC5B,IAAIgb,EAAUJ,KAiBd,OAfAvvB,KAAK4vB,MAAK,SAAUlgB,EAAGgC,GAEnB,IAAIA,EAAQme,MAAZ,CAIA,IAAInb,EAAO,IAAID,EAAM/C,EAAS9E,EAAS+H,GACnCmb,EAAQP,GAAE7a,EAAKK,KAAKL,MAGxBob,EAAMhK,KAAK,QAASpR,EAAK4C,KAEzBqY,EAAUA,EAAQ5f,IAAI+f,OAGnBH,IMrGnB,IAAcI,GAAAA,GAKR,WCTC,IACCC,EACAC,EAEAC,EADAC,EAGMC,EAHND,EAAiB,IAGXC,EAAqB,eAGlB,WACTJ,EAAanrB,SAASsQ,cAAcib,GACpCH,EAAoBprB,SAASsQ,cAAc,eAC3Cgb,EAAiB,IAEjB,IAwBME,EAxBO,IAAI5b,GAAM2b,EAAoB,CAEvC,WAAc,CACV,iBACA,gBACA,cACA,aACA,kBAEL,CAECjW,UAAW,CACPM,KAAM,CACFC,SAAU,OACVjI,SArBU,iBAwBlBjC,WAAY,CACRK,SAAU,qBACVD,MAAO,qBAKO0G,IAGtB2Y,EAAkB/d,iBAAiB,SAAS,SAACxC,GACrC2gB,IACAL,EAAWjX,aAAa,QAAS,IACjCsX,EAASvT,WAIjBjY,SAASiO,iBAAiB,WAAWhT,SAAQ,SAAA6jB,GACzCA,EAAIzR,iBAAiB,SAAQ,SAAAxC,GACzBA,EAAEyM,kBACFoQ,QAAQC,IAAI9c,SAKpB1G,OAAOkJ,iBAAiB,UAAU,SAAAxC,GAC9B4gB,aAAaJ,GACbA,EAAc/d,YAAW,WACrB,IAAM0M,EAAQha,SAAS6W,KAAKoD,YACtByR,EAAa1rB,SAASsQ,cAAc,QAAQpO,UAAUqiB,SAAS,sBACjEiH,GAAYE,GAAc1R,EAAQsR,GAClCE,EAASjgB,UAEd,QAIXogB,ID/D2B,WAAvB3rB,SAAS4rB,WAAyBV,KACjClrB,SAASqN,iBAAiB,mBAAoB6d","sources":["webpack://clienti-baseline-webpack/./node_modules/core-js/internals/a-callable.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/an-object.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/array-for-each.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/array-iteration.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/array-method-is-strict.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/array-species-constructor.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/array-species-create.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/classof-raw.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/classof.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/create-property-descriptor.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/descriptors.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/document-create-element.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/dom-iterables.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/dom-token-list-prototype.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/engine-user-agent.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/engine-v8-version.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/fails.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/function-bind-context.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/function-call.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/function-name.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/function-uncurry-this.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/get-built-in.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/get-method.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/global.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/has-own-property.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/hidden-keys.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/ie8-dom-define.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/indexed-object.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/inspect-source.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/internal-state.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/is-array.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/is-callable.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/is-constructor.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/is-object.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/is-pure.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/is-symbol.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/length-of-array-like.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/native-symbol.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/native-weak-map.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/object-define-property.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/object-to-string.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/redefine.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/require-object-coercible.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/set-global.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/shared-key.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/shared-store.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/shared.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/to-length.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/to-object.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/to-primitive.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/to-property-key.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/to-string-tag-support.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/try-to-string.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/uid.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://clienti-baseline-webpack/./node_modules/core-js/internals/well-known-symbol.js","webpack://clienti-baseline-webpack/./node_modules/core-js/modules/es.object.to-string.js","webpack://clienti-baseline-webpack/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://clienti-baseline-webpack/webpack/bootstrap","webpack://clienti-baseline-webpack/webpack/runtime/global","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/oncanvas/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/oncanvas/_configs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/helpers.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/i18n.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/oncanvas/translations/nl.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/oncanvas/translations/fa.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/oncanvas/translations/de.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/oncanvas/translations/ru.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/dom.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/matchmedia.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/oncanvas/translations/translate.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/oncanvas/mmenu.oncanvas.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/offcanvas/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/offcanvas/_configs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/eventlisteners.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/offcanvas/mmenu.offcanvas.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/screenreader/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/screenreader/_configs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/screenreader/translations/fa.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/screenreader/translations/de.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/screenreader/translations/ru.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/screenreader/mmenu.screenreader.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/screenreader/translations/translate.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/screenreader/translations/nl.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/scrollbugfix/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/support.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/core/scrollbugfix/mmenu.scrollbugfix.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/autoheight/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/autoheight/mmenu.autoheight.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/backbutton/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/backbutton/mmenu.backbutton.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/columns/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/columns/mmenu.columns.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/counters/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/counters/mmenu.counters.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/dividers/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/dividers/mmenu.dividers.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/drag/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/dragevents/_support.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/dragevents/_defaults.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/dragevents/_settings.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/dragevents/_helpers.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/_modules/dragevents/index.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/drag/_drag.open.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/drag/mmenu.drag.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/dropdown/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/dropdown/_configs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/dropdown/mmenu.dropdown.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/fixedelements/_configs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/fixedelements/mmenu.fixedelements.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/iconbar/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/iconbar/mmenu.iconbar.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/iconpanels/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/iconpanels/mmenu.iconpanels.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/keyboardnavigation/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/keyboardnavigation/mmenu.keyboardnavigation.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/lazysubmenus/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/lazysubmenus/mmenu.lazysubmenus.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/navbars/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/navbars/_configs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/navbars/mmenu.navbars.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/navbars/_navbar.breadcrumbs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/navbars/_navbar.close.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/navbars/_navbar.prev.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/navbars/_navbar.searchfield.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/navbars/_navbar.title.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/navbars/_navbar.tabs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/pagescroll/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/pagescroll/_configs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/pagescroll/mmenu.pagescroll.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/searchfield/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/searchfield/_configs.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/searchfield/translations/fa.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/searchfield/translations/de.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/searchfield/translations/ru.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/searchfield/mmenu.searchfield.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/searchfield/translations/translate.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/searchfield/translations/nl.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/sectionindexer/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/sectionindexer/mmenu.sectionindexer.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/setselected/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/setselected/mmenu.setselected.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/sidebar/_options.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/sidebar/mmenu.sidebar.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/addons/toggles/mmenu.toggles.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/src/mmenu.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/wrappers/angular/mmenu.angular.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/wrappers/bootstrap/mmenu.bootstrap.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/wrappers/olark/mmenu.olark.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/wrappers/turbolinks/mmenu.turbolinks.js","webpack://clienti-baseline-webpack/./node_modules/mmenu-js/dist/wrappers/wordpress/mmenu.wordpress.js","webpack://clienti-baseline-webpack/./src/scripts/mmenu.js","webpack://clienti-baseline-webpack/./src/scripts/partials/mmenu.js"],"sourcesContent":["var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : bind ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var call = Function.prototype.call;\n\nmodule.exports = call.bind ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar callBind = bind && bind.bind(call);\n\nmodule.exports = bind ? function (fn) {\n return fn && callBind(call, fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function (argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function (argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n // we can't check .prototype since constructors produced by .bind haven't it\n } return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n};\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.19.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","var options = {\n hooks: {},\n extensions: [],\n wrappers: [],\n navbar: {\n add: true,\n sticky: true,\n title: 'Menu',\n titleLink: 'parent'\n },\n onClick: {\n close: null,\n preventDefault: null,\n setSelected: true\n },\n slidingSubmenus: true\n};\nexport default options;\n","var configs = {\n classNames: {\n inset: 'Inset',\n nolistview: 'NoListview',\n nopanel: 'NoPanel',\n panel: 'Panel',\n selected: 'Selected',\n vertical: 'Vertical'\n },\n language: null,\n openingInterval: 25,\n panelNodetype: ['ul', 'ol', 'div'],\n transitionDuration: 400\n};\nexport default configs;\n","/**\n * Deep extend an object with the given defaults.\n * Note that the extended object is not a clone, meaning the original object will also be updated.\n *\n * @param \t{object}\torignl\tThe object to extend to.\n * @param \t{object}\tdfault\tThe object to extend from.\n * @return\t{object}\t\t\tThe extended \"orignl\" object.\n */\nexport function extend(orignl, dfault) {\n if (type(orignl) != 'object') {\n orignl = {};\n }\n if (type(dfault) != 'object') {\n dfault = {};\n }\n for (var k in dfault) {\n if (!dfault.hasOwnProperty(k)) {\n continue;\n }\n if (typeof orignl[k] == 'undefined') {\n orignl[k] = dfault[k];\n }\n else if (type(orignl[k]) == 'object') {\n extend(orignl[k], dfault[k]);\n }\n }\n return orignl;\n}\n/**\n * Detect the touch / dragging direction on a touch device.\n *\n * @param {HTMLElement} surface The element to monitor for touch events.\n * @return {object} Object with \"get\" function.\n */\nexport function touchDirection(surface) {\n var direction = '';\n surface.addEventListener('touchmove', function (evnt) {\n direction = '';\n if (evnt.movementY > 0) {\n direction = 'down';\n }\n else if (evnt.movementY < 0) {\n direction = 'up';\n }\n });\n return {\n get: function () { return direction; }\n };\n}\n/**\n * Get the type of any given variable. Improvement of \"typeof\".\n *\n * @param \t{any}\t\tvariable\tThe variable.\n * @return\t{string}\t\t\t\tThe type of the variable in lowercase.\n */\nexport function type(variable) {\n return {}.toString\n .call(variable)\n .match(/\\s([a-zA-Z]+)/)[1]\n .toLowerCase();\n}\n/**\n * Find the value from an option or function.\n * @param \t{HTMLElement} \telement \tScope for the function.\n * @param \t{any} \t\t\t[option] \tValue or function.\n * @param \t{any} \t\t\t[dfault] \tDefault fallback value.\n * @return\t{any}\t\t\t\t\t\tThe given evaluation of the given option, or the default fallback value.\n */\nexport function valueOrFn(element, option, dfault) {\n if (typeof option == 'function') {\n var value = option.call(element);\n if (typeof value != 'undefined') {\n return value;\n }\n }\n if ((option === null ||\n typeof option == 'function' ||\n typeof option == 'undefined') &&\n typeof dfault != 'undefined') {\n return dfault;\n }\n return option;\n}\n/**\n * Set and invoke a (single) transition-end function with fallback.\n *\n * @param {HTMLElement} \telement \tScope for the function.\n * @param {function}\t\tfunc\t\tFunction to invoke.\n * @param {number}\t\t\tduration\tThe duration of the animation (for the fallback).\n */\nexport function transitionend(element, func, duration) {\n var _ended = false, _fn = function (evnt) {\n if (typeof evnt !== 'undefined') {\n if (evnt.target !== element) {\n return;\n }\n }\n if (!_ended) {\n element.removeEventListener('transitionend', _fn);\n element.removeEventListener('webkitTransitionEnd', _fn);\n func.call(element);\n }\n _ended = true;\n };\n element.addEventListener('transitionend', _fn);\n element.addEventListener('webkitTransitionEnd', _fn);\n setTimeout(_fn, duration * 1.1);\n}\n/**\n * Get a (page wide) unique ID.\n */\nexport function uniqueId() {\n return 'mm-' + __id++;\n}\nvar __id = 0;\n/**\n * Get the original ID from a possibly prefixed ID.\n * @param id The possibly prefixed ID.\n */\nexport function originalId(id) {\n if (id.slice(0, 3) == 'mm-') {\n return id.slice(3);\n }\n return id;\n}\n","import { extend } from './helpers';\nvar translations = {};\n/**\n * Add translations to a language.\n * @param {object} text Object of key/value translations.\n * @param {string} language The translated language.\n */\nexport function add(text, language) {\n if (typeof translations[language] == 'undefined') {\n translations[language] = {};\n }\n extend(translations[language], text);\n}\n/**\n * Find a translated text in a language.\n * @param {string} text The text to find the translation for.\n * @param {string} language The language to search in.\n * @return {string} The translated text.\n */\nexport function get(text, language) {\n if (typeof language == 'string' &&\n typeof translations[language] != 'undefined') {\n return translations[language][text] || text;\n }\n return text;\n}\n/**\n * Get all translated text in a language.\n * @param {string} language The language to search for.\n * @return {object} The translations.\n */\nexport function all(language) {\n return translations;\n}\n","export default {\n 'Menu': 'Menu'\n};\n","export default {\n 'Menu': 'منو'\n};\n","export default {\n 'Menu': 'Menü'\n};\n","export default {\n 'Menu': 'Меню'\n};\n","/**\n * Create an element with classname.\n *\n * @param \t{string}\t\tselector\tThe nodeName and classnames for the element to create.\n * @return\t{HTMLElement}\t\t\t\tThe created element.\n */\nexport function create(selector) {\n var args = selector.split('.');\n var elem = document.createElement(args.shift());\n // IE11:\n args.forEach(function (classname) {\n elem.classList.add(classname);\n });\n // Better browsers:\n // elem.classList.add(...args);\n return elem;\n}\n/**\n * Find all elements matching the selector.\n * Basically the same as element.querySelectorAll() but it returns an actuall array.\n *\n * @param \t{HTMLElement} \telement Element to search in.\n * @param \t{string}\t\tfilter\tThe filter to match.\n * @return\t{array}\t\t\t\t\tArray of elements that match the filter.\n */\nexport function find(element, filter) {\n return Array.prototype.slice.call(element.querySelectorAll(filter));\n}\n/**\n * Find all child elements matching the (optional) selector.\n *\n * @param \t{HTMLElement} \telement Element to search in.\n * @param \t{string}\t\tfilter\tThe filter to match.\n * @return\t{array}\t\t\t\t\tArray of child elements that match the filter.\n */\nexport function children(element, filter) {\n var children = Array.prototype.slice.call(element.children);\n return filter\n ? children.filter(function (child) { return child.matches(filter); })\n : children;\n}\n/**\n * Find text excluding text from within child elements.\n * @param {HTMLElement} element Element to search in.\n * @return {string} The text.\n */\nexport function text(element) {\n return Array.prototype.slice\n .call(element.childNodes)\n .filter(function (child) { return child.nodeType == 3; })\n .map(function (child) { return child.textContent; })\n .join(' ');\n}\n/**\n * Find all preceding elements matching the selector.\n *\n * @param \t{HTMLElement} \telement Element to start searching from.\n * @param \t{string}\t\tfilter\tThe filter to match.\n * @return\t{array}\t\t\t\t\tArray of preceding elements that match the selector.\n */\nexport function parents(element, filter) {\n /** Array of preceding elements that match the selector. */\n var parents = [];\n /** Array of preceding elements that match the selector. */\n var parent = element.parentElement;\n while (parent) {\n parents.push(parent);\n parent = parent.parentElement;\n }\n return filter\n ? parents.filter(function (parent) { return parent.matches(filter); })\n : parents;\n}\n/**\n * Find all previous siblings matching the selecotr.\n *\n * @param \t{HTMLElement} \telement Element to start searching from.\n * @param \t{string}\t\tfilter\tThe filter to match.\n * @return\t{array}\t\t\t\t\tArray of previous siblings that match the selector.\n */\nexport function prevAll(element, filter) {\n /** Array of previous siblings that match the selector. */\n var previous = [];\n /** Current element in the loop */\n var current = element.previousElementSibling;\n while (current) {\n if (!filter || current.matches(filter)) {\n previous.push(current);\n }\n current = current.previousElementSibling;\n }\n return previous;\n}\n/**\n * Get an element offset relative to the document.\n *\n * @param \t{HTMLElement}\t element \t\t\tElement to start measuring from.\n * @param \t{string}\t\t [direction=top] \tOffset top or left.\n * @return\t{number}\t\t\t\t\t\t\tThe element offset relative to the document.\n */\nexport function offset(element, direction) {\n return (element.getBoundingClientRect()[direction] +\n document.body[direction === 'left' ? 'scrollLeft' : 'scrollTop']);\n}\n/**\n * Filter out non-listitem listitems.\n * @param {array} listitems \tElements to filter.\n * @return {array}\t\t\t\tThe filtered set of listitems.\n */\nexport function filterLI(listitems) {\n return listitems.filter(function (listitem) { return !listitem.matches('.mm-hidden'); });\n}\n/**\n * Find anchors in listitems (excluding anchor that open a sub-panel).\n * @param {array} \tlistitems \tElements to filter.\n * @return {array}\t\t\t\tThe found set of anchors.\n */\nexport function filterLIA(listitems) {\n var anchors = [];\n filterLI(listitems).forEach(function (listitem) {\n anchors.push.apply(anchors, children(listitem, 'a.mm-listitem__text'));\n });\n return anchors.filter(function (anchor) { return !anchor.matches('.mm-btn_next'); });\n}\n/**\n * Refactor a classname on multiple elements.\n * @param {HTMLElement} element \tElement to refactor.\n * @param {string}\t\toldClass \tClassname to remove.\n * @param {string}\t\tnewClass \tClassname to add.\n */\nexport function reClass(element, oldClass, newClass) {\n if (element.matches('.' + oldClass)) {\n element.classList.remove(oldClass);\n element.classList.add(newClass);\n }\n}\n","/** Collection of callback functions for media querys. */\nvar listeners = {};\n/**\n * Bind functions to a matchMedia listener (subscriber).\n *\n * @param {string|number} \tquery \tMedia query to match or number for min-width.\n * @param {function} \t\tyes \tFunction to invoke when the media query matches.\n * @param {function} \t\tno \t\tFunction to invoke when the media query doesn't match.\n */\nexport function add(query, yes, no) {\n if (typeof query == 'number') {\n query = '(min-width: ' + query + 'px)';\n }\n listeners[query] = listeners[query] || [];\n listeners[query].push({ yes: yes, no: no });\n}\n/**\n * Initialize the matchMedia listener.\n */\nexport function watch() {\n var _loop_1 = function (query) {\n var mqlist = window.matchMedia(query);\n fire(query, mqlist);\n mqlist.onchange = function (evnt) {\n fire(query, mqlist);\n };\n };\n for (var query in listeners) {\n _loop_1(query);\n }\n}\n/**\n * Invoke the \"yes\" or \"no\" function for a matchMedia listener (publisher).\n *\n * @param {string} \t\t\tquery \tMedia query to check for.\n * @param {MediaQueryList} \tmqlist \tMedia query list to check with.\n */\nexport function fire(query, mqlist) {\n var fn = mqlist.matches ? 'yes' : 'no';\n for (var m = 0; m < listeners[query].length; m++) {\n listeners[query][m][fn]();\n }\n}\n","import { add } from '../../../_modules/i18n';\nimport nl from './nl';\nimport fa from './fa';\nimport de from './de';\nimport ru from './ru';\nexport default function () {\n add(nl, 'nl');\n add(fa, 'fa');\n add(de, 'de');\n add(ru, 'ru');\n}\n","import options from './_options';\nimport configs from './_configs';\nimport translate from './translations/translate';\nimport * as DOM from '../../_modules/dom';\nimport * as i18n from '../../_modules/i18n';\nimport * as media from '../../_modules/matchmedia';\nimport { type, extend, transitionend, uniqueId, valueOrFn, } from '../../_modules/helpers';\n// Add the translations.\ntranslate();\n/**\n * Class for a mobile menu.\n */\nvar Mmenu = /** @class */ (function () {\n /**\n * Create a mobile menu.\n * @param {HTMLElement|string} \tmenu\t\t\t\t\t\tThe menu node.\n * @param {object} \t\t\t\t[options=Mmenu.options]\t\tOptions for the menu.\n * @param {object} \t\t\t\t[configs=Mmenu.configs]\t\tConfiguration options for the menu.\n */\n function Mmenu(menu, options, configs) {\n //\tExtend options and configuration from defaults.\n this.opts = extend(options, Mmenu.options);\n this.conf = extend(configs, Mmenu.configs);\n //\tMethods to expose in the API.\n this._api = [\n 'bind',\n 'initPanel',\n 'initListview',\n 'openPanel',\n 'closePanel',\n 'closeAllPanels',\n 'setSelected',\n ];\n //\tStorage objects for nodes, variables, hooks and click handlers.\n this.node = {};\n this.vars = {};\n this.hook = {};\n this.clck = [];\n //\tGet menu node from string or element.\n this.node.menu =\n typeof menu == 'string' ? document.querySelector(menu) : menu;\n if (typeof this._deprecatedWarnings == 'function') {\n this._deprecatedWarnings();\n }\n this._initWrappers();\n this._initAddons();\n this._initExtensions();\n this._initHooks();\n this._initAPI();\n this._initMenu();\n this._initPanels();\n this._initOpened();\n this._initAnchors();\n media.watch();\n return this;\n }\n /**\n * Open a panel.\n * @param {HTMLElement} panel\t\t\t\tPanel to open.\n * @param {boolean}\t\t[animation=true]\tWhether or not to open the panel with an animation.\n */\n Mmenu.prototype.openPanel = function (panel, animation) {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('openPanel:before', [panel]);\n //\tFind panel.\n if (!panel) {\n return;\n }\n if (!panel.matches('.mm-panel')) {\n panel = panel.closest('.mm-panel');\n }\n if (!panel) {\n return;\n }\n //\t/Find panel.\n if (typeof animation != 'boolean') {\n animation = true;\n }\n //\tOpen a \"vertical\" panel.\n if (panel.parentElement.matches('.mm-listitem_vertical')) {\n //\tOpen current and all vertical parent panels.\n DOM.parents(panel, '.mm-listitem_vertical').forEach(function (listitem) {\n listitem.classList.add('mm-listitem_opened');\n DOM.children(listitem, '.mm-panel').forEach(function (panel) {\n panel.classList.remove('mm-hidden');\n });\n });\n //\tOpen first non-vertical parent panel.\n var parents = DOM.parents(panel, '.mm-panel').filter(function (panel) { return !panel.parentElement.matches('.mm-listitem_vertical'); });\n this.trigger('openPanel:start', [panel]);\n if (parents.length) {\n this.openPanel(parents[0]);\n }\n this.trigger('openPanel:finish', [panel]);\n //\tOpen a \"horizontal\" panel.\n }\n else {\n if (panel.matches('.mm-panel_opened')) {\n return;\n }\n var panels = DOM.children(this.node.pnls, '.mm-panel'), current_1 = DOM.children(this.node.pnls, '.mm-panel_opened')[0];\n //\tClose all child panels.\n panels\n .filter(function (parent) { return parent !== panel; })\n .forEach(function (parent) {\n parent.classList.remove('mm-panel_opened-parent');\n });\n //\tOpen all parent panels.\n var parent_1 = panel['mmParent'];\n while (parent_1) {\n parent_1 = parent_1.closest('.mm-panel');\n if (parent_1) {\n if (!parent_1.parentElement.matches('.mm-listitem_vertical')) {\n parent_1.classList.add('mm-panel_opened-parent');\n }\n parent_1 = parent_1['mmParent'];\n }\n }\n //\tAdd classes for animation.\n panels.forEach(function (panel) {\n panel.classList.remove('mm-panel_highest');\n });\n panels\n .filter(function (hidden) { return hidden !== current_1; })\n .filter(function (hidden) { return hidden !== panel; })\n .forEach(function (hidden) {\n hidden.classList.add('mm-hidden');\n });\n panel.classList.remove('mm-hidden');\n /**\tStart opening the panel. */\n var openPanelStart_1 = function () {\n if (current_1) {\n current_1.classList.remove('mm-panel_opened');\n }\n panel.classList.add('mm-panel_opened');\n if (panel.matches('.mm-panel_opened-parent')) {\n if (current_1) {\n current_1.classList.add('mm-panel_highest');\n }\n panel.classList.remove('mm-panel_opened-parent');\n }\n else {\n if (current_1) {\n current_1.classList.add('mm-panel_opened-parent');\n }\n panel.classList.add('mm-panel_highest');\n }\n //\tInvoke \"start\" hook.\n _this.trigger('openPanel:start', [panel]);\n };\n /**\tFinish opening the panel. */\n var openPanelFinish_1 = function () {\n if (current_1) {\n current_1.classList.remove('mm-panel_highest');\n current_1.classList.add('mm-hidden');\n }\n panel.classList.remove('mm-panel_highest');\n //\tInvoke \"finish\" hook.\n _this.trigger('openPanel:finish', [panel]);\n };\n if (animation && !panel.matches('.mm-panel_noanimation')) {\n //\tWithout the timeout the animation will not work because the element had display: none;\n setTimeout(function () {\n //\tCallback\n transitionend(panel, function () {\n openPanelFinish_1();\n }, _this.conf.transitionDuration);\n openPanelStart_1();\n }, this.conf.openingInterval);\n }\n else {\n openPanelStart_1();\n openPanelFinish_1();\n }\n }\n //\tInvoke \"after\" hook.\n this.trigger('openPanel:after', [panel]);\n };\n /**\n * Close a panel.\n * @param {HTMLElement} panel Panel to close.\n */\n Mmenu.prototype.closePanel = function (panel) {\n //\tInvoke \"before\" hook.\n this.trigger('closePanel:before', [panel]);\n var li = panel.parentElement;\n //\tOnly works for \"vertical\" panels.\n if (li.matches('.mm-listitem_vertical')) {\n li.classList.remove('mm-listitem_opened');\n panel.classList.add('mm-hidden');\n //\tInvoke main hook.\n this.trigger('closePanel', [panel]);\n }\n //\tInvoke \"after\" hook.\n this.trigger('closePanel:after', [panel]);\n };\n /**\n * Close all opened panels.\n * @param {HTMLElement} panel Panel to open after closing all other panels.\n */\n Mmenu.prototype.closeAllPanels = function (panel) {\n //\tInvoke \"before\" hook.\n this.trigger('closeAllPanels:before');\n //\tClose all \"vertical\" panels.\n var listitems = this.node.pnls.querySelectorAll('.mm-listitem');\n listitems.forEach(function (listitem) {\n listitem.classList.remove('mm-listitem_selected');\n listitem.classList.remove('mm-listitem_opened');\n });\n //\tClose all \"horizontal\" panels.\n var panels = DOM.children(this.node.pnls, '.mm-panel'), opened = panel ? panel : panels[0];\n DOM.children(this.node.pnls, '.mm-panel').forEach(function (panel) {\n if (panel !== opened) {\n panel.classList.remove('mm-panel_opened');\n panel.classList.remove('mm-panel_opened-parent');\n panel.classList.remove('mm-panel_highest');\n panel.classList.add('mm-hidden');\n }\n });\n //\tOpen first panel.\n this.openPanel(opened, false);\n //\tInvoke \"after\" hook.\n this.trigger('closeAllPanels:after');\n };\n /**\n * Toggle a panel opened/closed.\n * @param {HTMLElement} panel Panel to open or close.\n */\n Mmenu.prototype.togglePanel = function (panel) {\n var listitem = panel.parentElement;\n //\tOnly works for \"vertical\" panels.\n if (listitem.matches('.mm-listitem_vertical')) {\n this[listitem.matches('.mm-listitem_opened')\n ? 'closePanel'\n : 'openPanel'](panel);\n }\n };\n /**\n * Display a listitem as being \"selected\".\n * @param {HTMLElement} listitem Listitem to mark.\n */\n Mmenu.prototype.setSelected = function (listitem) {\n //\tInvoke \"before\" hook.\n this.trigger('setSelected:before', [listitem]);\n //\tFirst, remove the selected class from all listitems.\n DOM.find(this.node.menu, '.mm-listitem_selected').forEach(function (li) {\n li.classList.remove('mm-listitem_selected');\n });\n //\tNext, add the selected class to the provided listitem.\n listitem.classList.add('mm-listitem_selected');\n //\tInvoke \"after\" hook.\n this.trigger('setSelected:after', [listitem]);\n };\n /**\n * Bind functions to a hook (subscriber).\n * @param {string} \t\thook The hook.\n * @param {function} \tfunc The function.\n */\n Mmenu.prototype.bind = function (hook, func) {\n //\tCreate an array for the hook if it does not yet excist.\n this.hook[hook] = this.hook[hook] || [];\n //\tPush the function to the array.\n this.hook[hook].push(func);\n };\n /**\n * Invoke the functions bound to a hook (publisher).\n * @param {string} \thook \tThe hook.\n * @param {array}\t[args] \tArguments for the function.\n */\n Mmenu.prototype.trigger = function (hook, args) {\n if (this.hook[hook]) {\n for (var h = 0, l = this.hook[hook].length; h < l; h++) {\n this.hook[hook][h].apply(this, args);\n }\n }\n };\n /**\n * Create the API.\n */\n Mmenu.prototype._initAPI = function () {\n var _this = this;\n //\tWe need this=that because:\n //\t1) the \"arguments\" object can not be referenced in an arrow function in ES3 and ES5.\n var that = this;\n this.API = {};\n this._api.forEach(function (fn) {\n _this.API[fn] = function () {\n var re = that[fn].apply(that, arguments); // 1)\n return typeof re == 'undefined' ? that.API : re;\n };\n });\n //\tStore the API in the HTML node for external usage.\n this.node.menu['mmApi'] = this.API;\n };\n /**\n * Bind the hooks specified in the options (publisher).\n */\n Mmenu.prototype._initHooks = function () {\n for (var hook in this.opts.hooks) {\n this.bind(hook, this.opts.hooks[hook]);\n }\n };\n /**\n * Initialize the wrappers specified in the options.\n */\n Mmenu.prototype._initWrappers = function () {\n //\tInvoke \"before\" hook.\n this.trigger('initWrappers:before');\n for (var w = 0; w < this.opts.wrappers.length; w++) {\n var wrpr = Mmenu.wrappers[this.opts.wrappers[w]];\n if (typeof wrpr == 'function') {\n wrpr.call(this);\n }\n }\n //\tInvoke \"after\" hook.\n this.trigger('initWrappers:after');\n };\n /**\n * Initialize all available add-ons.\n */\n Mmenu.prototype._initAddons = function () {\n //\tInvoke \"before\" hook.\n this.trigger('initAddons:before');\n for (var addon in Mmenu.addons) {\n Mmenu.addons[addon].call(this);\n }\n //\tInvoke \"after\" hook.\n this.trigger('initAddons:after');\n };\n /**\n * Initialize the extensions specified in the options.\n */\n Mmenu.prototype._initExtensions = function () {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('initExtensions:before');\n //\tConvert array to object with array.\n if (type(this.opts.extensions) == 'array') {\n this.opts.extensions = {\n all: this.opts.extensions,\n };\n }\n //\tLoop over object.\n Object.keys(this.opts.extensions).forEach(function (query) {\n var classnames = _this.opts.extensions[query].map(function (extension) { return 'mm-menu_' + extension; });\n if (classnames.length) {\n media.add(query, function () {\n // IE11:\n classnames.forEach(function (classname) {\n _this.node.menu.classList.add(classname);\n });\n // Better browsers:\n // this.node.menu.classList.add(...classnames);\n }, function () {\n // IE11:\n classnames.forEach(function (classname) {\n _this.node.menu.classList.remove(classname);\n });\n // Better browsers:\n // this.node.menu.classList.remove(...classnames);\n });\n }\n });\n //\tInvoke \"after\" hook.\n this.trigger('initExtensions:after');\n };\n /**\n * Initialize the menu.\n */\n Mmenu.prototype._initMenu = function () {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('initMenu:before');\n //\tAdd class to the wrapper.\n this.node.wrpr = this.node.wrpr || this.node.menu.parentElement;\n this.node.wrpr.classList.add('mm-wrapper');\n //\tAdd an ID to the menu if it does not yet have one.\n this.node.menu.id = this.node.menu.id || uniqueId();\n //\tWrap the panels in a node.\n var panels = DOM.create('div.mm-panels');\n DOM.children(this.node.menu).forEach(function (panel) {\n if (_this.conf.panelNodetype.indexOf(panel.nodeName.toLowerCase()) >\n -1) {\n panels.append(panel);\n }\n });\n this.node.menu.append(panels);\n this.node.pnls = panels;\n //\tAdd class to the menu.\n this.node.menu.classList.add('mm-menu');\n //\tInvoke \"after\" hook.\n this.trigger('initMenu:after');\n };\n /**\n * Initialize panels.\n */\n Mmenu.prototype._initPanels = function () {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('initPanels:before');\n //\tOpen / close panels.\n this.clck.push(function (anchor, args) {\n if (args.inMenu) {\n var href = anchor.getAttribute('href');\n if (href && href.length > 1 && href.slice(0, 1) == '#') {\n try {\n var panel = DOM.find(_this.node.menu, href)[0];\n if (panel && panel.matches('.mm-panel')) {\n if (anchor.parentElement.matches('.mm-listitem_vertical')) {\n _this.togglePanel(panel);\n }\n else {\n _this.openPanel(panel);\n }\n return true;\n }\n }\n catch (err) { }\n }\n }\n });\n /** The panels to initiate */\n var panels = DOM.children(this.node.pnls);\n panels.forEach(function (panel) {\n _this.initPanel(panel);\n });\n //\tInvoke \"after\" hook.\n this.trigger('initPanels:after');\n };\n /**\n * Initialize a single panel and its children.\n * @param {HTMLElement} panel The panel to initialize.\n */\n Mmenu.prototype.initPanel = function (panel) {\n var _this = this;\n /** Query selector for possible node-types for panels. */\n var panelNodetype = this.conf.panelNodetype.join(', ');\n if (panel.matches(panelNodetype)) {\n // Only once\n if (!panel.matches('.mm-panel')) {\n panel = this._initPanel(panel);\n }\n if (panel) {\n /** The sub panels. */\n var children_1 = [];\n //\tFind panel > panel\n children_1.push.apply(children_1, DOM.children(panel, '.' + this.conf.classNames.panel));\n //\tFind panel listitem > panel\n DOM.children(panel, '.mm-listview').forEach(function (listview) {\n DOM.children(listview, '.mm-listitem').forEach(function (listitem) {\n children_1.push.apply(children_1, DOM.children(listitem, panelNodetype));\n });\n });\n // Initiate subpanel(s).\n children_1.forEach(function (child) {\n _this.initPanel(child);\n });\n }\n }\n };\n /**\n * Initialize a single panel.\n * @param {HTMLElement} \t\tpanel \tPanel to initialize.\n * @return {HTMLElement|null} \t\t\tInitialized panel.\n */\n Mmenu.prototype._initPanel = function (panel) {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('initPanel:before', [panel]);\n //\tRefactor panel classnames\n DOM.reClass(panel, this.conf.classNames.panel, 'mm-panel');\n DOM.reClass(panel, this.conf.classNames.nopanel, 'mm-nopanel');\n DOM.reClass(panel, this.conf.classNames.inset, 'mm-listview_inset');\n if (panel.matches('.mm-listview_inset')) {\n panel.classList.add('mm-nopanel');\n }\n //\tStop if not supposed to be a panel.\n if (panel.matches('.mm-nopanel')) {\n return null;\n }\n /** The original ID on the node. */\n var id = panel.id || uniqueId();\n // Vertical panel.\n var vertical = panel.matches('.' + this.conf.classNames.vertical) ||\n !this.opts.slidingSubmenus;\n panel.classList.remove(this.conf.classNames.vertical);\n //\tWrap UL/OL in DIV\n if (panel.matches('ul, ol')) {\n panel.removeAttribute('id');\n /** The panel. */\n var wrapper = DOM.create('div');\n //\tWrap the listview in the panel.\n panel.before(wrapper);\n wrapper.append(panel);\n panel = wrapper;\n }\n panel.id = id;\n panel.classList.add('mm-panel');\n panel.classList.add('mm-hidden');\n /** The parent listitem. */\n var parent = [panel.parentElement].filter(function (listitem) {\n return listitem.matches('li');\n })[0];\n if (vertical) {\n if (parent) {\n parent.classList.add('mm-listitem_vertical');\n }\n }\n else {\n this.node.pnls.append(panel);\n }\n if (parent) {\n //\tStore parent/child relation.\n parent['mmChild'] = panel;\n panel['mmParent'] = parent;\n //\tAdd open link to parent listitem\n if (parent && parent.matches('.mm-listitem')) {\n if (!DOM.children(parent, '.mm-btn').length) {\n /** The text node. */\n var item = DOM.children(parent, '.mm-listitem__text')[0];\n if (item) {\n /** The open link. */\n var button = DOM.create('a.mm-btn.mm-btn_next.mm-listitem__btn');\n button.setAttribute('href', '#' + panel.id);\n // If the item has no link,\n // Replace the item with the open link.\n if (item.matches('span')) {\n button.classList.add('mm-listitem__text');\n button.innerHTML = item.innerHTML;\n parent.insertBefore(button, item.nextElementSibling);\n item.remove();\n }\n // Otherwise, insert the button after the text.\n else {\n parent.insertBefore(button, DOM.children(parent, '.mm-panel')[0]);\n }\n }\n }\n }\n }\n this._initNavbar(panel);\n DOM.children(panel, 'ul, ol').forEach(function (listview) {\n _this.initListview(listview);\n });\n //\tInvoke \"after\" hook.\n this.trigger('initPanel:after', [panel]);\n return panel;\n };\n /**\n * Initialize a navbar.\n * @param {HTMLElement} panel Panel for the navbar.\n */\n Mmenu.prototype._initNavbar = function (panel) {\n //\tInvoke \"before\" hook.\n this.trigger('initNavbar:before', [panel]);\n //\tOnly one navbar per panel.\n if (DOM.children(panel, '.mm-navbar').length) {\n return;\n }\n /** The parent listitem. */\n var parentListitem = null;\n /** The parent panel. */\n var parentPanel = null;\n // The parent panel was specified in the data-mm-parent attribute.\n if (panel.getAttribute('data-mm-parent')) {\n parentPanel = DOM.find(this.node.pnls, panel.getAttribute('data-mm-parent'))[0];\n }\n // if (panel.dataset.mmParent) { // IE10 has no dataset\n // parentPanel = DOM.find(this.node.pnls, panel.dataset.mmParent)[0];\n // }\n // The parent panel from a listitem.\n else {\n parentListitem = panel['mmParent'];\n if (parentListitem) {\n parentPanel = parentListitem.closest('.mm-panel');\n }\n }\n // No navbar needed for vertical submenus.\n if (parentListitem && parentListitem.matches('.mm-listitem_vertical')) {\n return;\n }\n /** The navbar element. */\n var navbar = DOM.create('div.mm-navbar');\n // Hide navbar if specified in options.\n if (!this.opts.navbar.add) {\n navbar.classList.add('mm-hidden');\n }\n // Sticky navbars.\n else if (this.opts.navbar.sticky) {\n navbar.classList.add('mm-navbar_sticky');\n }\n // Add the back button.\n if (parentPanel) {\n /** The back button. */\n var prev = DOM.create('a.mm-btn.mm-btn_prev.mm-navbar__btn');\n prev.setAttribute('href', '#' + parentPanel.id);\n navbar.append(prev);\n }\n /** The anchor that opens the panel. */\n var opener = null;\n // The anchor is in a listitem.\n if (parentListitem) {\n opener = DOM.children(parentListitem, '.mm-listitem__text')[0];\n }\n // The anchor is in a panel.\n else if (parentPanel) {\n opener = DOM.find(parentPanel, 'a[href=\"#' + panel.id + '\"]')[0];\n }\n // Add the title.\n var title = DOM.create('a.mm-navbar__title');\n var titleText = DOM.create('span');\n title.append(titleText);\n titleText.innerHTML =\n // panel.dataset.mmTitle || // IE10 has no dataset :(\n panel.getAttribute('data-mm-title') ||\n (opener ? opener.textContent : '') ||\n this.i18n(this.opts.navbar.title) ||\n this.i18n('Menu');\n switch (this.opts.navbar.titleLink) {\n case 'anchor':\n if (opener) {\n title.setAttribute('href', opener.getAttribute('href'));\n }\n break;\n case 'parent':\n if (parentPanel) {\n title.setAttribute('href', '#' + parentPanel.id);\n }\n break;\n }\n navbar.append(title);\n panel.prepend(navbar);\n //\tInvoke \"after\" hook.\n this.trigger('initNavbar:after', [panel]);\n };\n /**\n * Initialize a listview.\n * @param {HTMLElement} listview Listview to initialize.\n */\n Mmenu.prototype.initListview = function (listview) {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('initListview:before', [listview]);\n DOM.reClass(listview, this.conf.classNames.nolistview, 'mm-nolistview');\n if (!listview.matches('.mm-nolistview')) {\n listview.classList.add('mm-listview');\n DOM.children(listview).forEach(function (listitem) {\n listitem.classList.add('mm-listitem');\n DOM.reClass(listitem, _this.conf.classNames.selected, 'mm-listitem_selected');\n DOM.children(listitem, 'a, span').forEach(function (item) {\n if (!item.matches('.mm-btn')) {\n item.classList.add('mm-listitem__text');\n }\n });\n });\n }\n //\tInvoke \"after\" hook.\n this.trigger('initListview:after', [listview]);\n };\n /**\n * Find and open the correct panel after creating the menu.\n */\n Mmenu.prototype._initOpened = function () {\n //\tInvoke \"before\" hook.\n this.trigger('initOpened:before');\n /** The selected listitem(s). */\n var listitems = this.node.pnls.querySelectorAll('.mm-listitem_selected');\n /** The last selected listitem. */\n var lastitem = null;\n //\tDeselect the listitems.\n listitems.forEach(function (listitem) {\n lastitem = listitem;\n listitem.classList.remove('mm-listitem_selected');\n });\n //\tRe-select the last listitem.\n if (lastitem) {\n lastitem.classList.add('mm-listitem_selected');\n }\n /**\tThe current opened panel. */\n var current = lastitem\n ? lastitem.closest('.mm-panel')\n : DOM.children(this.node.pnls, '.mm-panel')[0];\n //\tOpen the current opened panel.\n this.openPanel(current, false);\n //\tInvoke \"after\" hook.\n this.trigger('initOpened:after');\n };\n /**\n * Initialize anchors in / for the menu.\n */\n Mmenu.prototype._initAnchors = function () {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('initAnchors:before');\n document.addEventListener('click', function (evnt) {\n /** The clicked element. */\n var target = evnt.target.closest('a[href]');\n if (!target) {\n return;\n }\n /** Arguments passed to the bound methods. */\n var args = {\n inMenu: target.closest('.mm-menu') === _this.node.menu,\n inListview: target.matches('.mm-listitem > a'),\n toExternal: target.matches('[rel=\"external\"]') ||\n target.matches('[target=\"_blank\"]'),\n };\n var onClick = {\n close: null,\n setSelected: null,\n preventDefault: target.getAttribute('href').slice(0, 1) == '#',\n };\n //\tFind hooked behavior.\n for (var c = 0; c < _this.clck.length; c++) {\n var click = _this.clck[c].call(_this, target, args);\n if (click) {\n if (typeof click == 'boolean') {\n evnt.preventDefault();\n return;\n }\n if (type(click) == 'object') {\n onClick = extend(click, onClick);\n }\n }\n }\n //\tDefault behavior for anchors in lists.\n if (args.inMenu && args.inListview && !args.toExternal) {\n //\tSet selected item, Default: true\n if (valueOrFn(target, _this.opts.onClick.setSelected, onClick.setSelected)) {\n _this.setSelected(target.parentElement);\n }\n //\tPrevent default / don't follow link. Default: false.\n if (valueOrFn(target, _this.opts.onClick.preventDefault, onClick.preventDefault)) {\n evnt.preventDefault();\n }\n //\tClose menu. Default: false\n if (valueOrFn(target, _this.opts.onClick.close, onClick.close)) {\n if (_this.opts.offCanvas &&\n typeof _this.close == 'function') {\n _this.close();\n }\n }\n }\n }, true);\n //\tInvoke \"after\" hook.\n this.trigger('initAnchors:after');\n };\n /**\n * Get the translation for a text.\n * @param {string} text \tText to translate.\n * @return {string}\t\t\tThe translated text.\n */\n Mmenu.prototype.i18n = function (text) {\n return i18n.get(text, this.conf.language);\n };\n /**\tDefault options for menus. */\n Mmenu.options = options;\n /**\tDefault configuration for menus. */\n Mmenu.configs = configs;\n /**\tAvailable add-ons for the plugin. */\n Mmenu.addons = {};\n /** Available wrappers for the plugin. */\n Mmenu.wrappers = {};\n /**\tGlobally used HTML elements. */\n Mmenu.node = {};\n /** Globally used variables. */\n Mmenu.vars = {};\n return Mmenu;\n}());\nexport default Mmenu;\n","var options = {\n blockUI: true,\n moveBackground: true\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","var configs = {\n clone: false,\n menu: {\n insertMethod: 'prepend',\n insertSelector: 'body'\n },\n page: {\n nodetype: 'div',\n selector: null,\n noSelector: []\n }\n};\nexport default configs;\n","/**\n * Make the first letter in a word uppercase.\n * @param {string} word The word.\n */\nfunction ucFirst(word) {\n if (!word) {\n return '';\n }\n return word.charAt(0).toUpperCase() + word.slice(1);\n}\n/**\n * Bind an event listener to an element.\n * @param {HTMLElement} element The element to bind the event listener to.\n * @param {string} evnt The event to listen to.\n * @param {funcion} handler The function to invoke.\n */\nexport function on(element, evnt, handler) {\n // Extract the event name and space from the event (the event can include a namespace (click.foo)).\n var evntParts = evnt.split('.');\n evnt = 'mmEvent' + ucFirst(evntParts[0]) + ucFirst(evntParts[1]);\n element[evnt] = element[evnt] || [];\n element[evnt].push(handler);\n element.addEventListener(evntParts[0], handler);\n}\n/**\n * Remove an event listener from an element.\n * @param {HTMLElement} element The element to remove the event listeners from.\n * @param {string} evnt The event to remove.\n */\nexport function off(element, evnt) {\n // Extract the event name and space from the event (the event can include a namespace (click.foo)).\n var evntParts = evnt.split('.');\n evnt = 'mmEvent' + ucFirst(evntParts[0]) + ucFirst(evntParts[1]);\n (element[evnt] || []).forEach(function (handler) {\n element.removeEventListener(evntParts[0], handler);\n });\n}\n/**\n * Trigger the bound event listeners on an element.\n * @param {HTMLElement} element The element of which to trigger the event listeners from.\n * @param {string} evnt The event to trigger.\n * @param {object} [options] Options to pass to the handler.\n */\nexport function trigger(element, evnt, options) {\n var evntParts = evnt.split('.');\n evnt = 'mmEvent' + ucFirst(evntParts[0]) + ucFirst(evntParts[1]);\n (element[evnt] || []).forEach(function (handler) {\n handler(options || {});\n });\n}\n","import Mmenu from './../oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport configs from './_configs';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport * as events from '../../_modules/eventlisteners';\nimport { extend, transitionend, uniqueId, originalId } from '../../_modules/helpers';\n// Add the options and configs.\nMmenu.options.offCanvas = options;\nMmenu.configs.offCanvas = configs;\nexport default function () {\n var _this = this;\n if (!this.opts.offCanvas) {\n return;\n }\n var options = extendShorthandOptions(this.opts.offCanvas);\n this.opts.offCanvas = extend(options, Mmenu.options.offCanvas);\n var configs = this.conf.offCanvas;\n //\tAdd methods to the API.\n this._api.push('open', 'close', 'setPage');\n //\tSetup the menu.\n this.vars.opened = false;\n //\tAdd off-canvas behavior.\n this.bind('initMenu:before', function () {\n //\tClone if needed.\n if (configs.clone) {\n //\tClone the original menu and store it.\n _this.node.menu = _this.node.menu.cloneNode(true);\n //\tPrefix all ID's in the cloned menu.\n if (_this.node.menu.id) {\n _this.node.menu.id = 'mm-' + _this.node.menu.id;\n }\n DOM.find(_this.node.menu, '[id]').forEach(function (elem) {\n elem.id = 'mm-' + elem.id;\n });\n }\n _this.node.wrpr = document.body;\n //\tPrepend to the \n document\n .querySelector(configs.menu.insertSelector)[configs.menu.insertMethod](_this.node.menu);\n });\n this.bind('initMenu:after', function () {\n //\tSetup the UI blocker.\n initBlocker.call(_this);\n //\tSetup the page.\n _this.setPage(Mmenu.node.page);\n //\tSetup window events.\n initWindow.call(_this);\n //\tSetup the menu.\n _this.node.menu.classList.add('mm-menu_offcanvas');\n //\tOpen if url hash equals menu id (usefull when user clicks the hamburger icon before the menu is created)\n var hash = window.location.hash;\n if (hash) {\n var id = originalId(_this.node.menu.id);\n if (id && id == hash.slice(1)) {\n setTimeout(function () {\n _this.open();\n }, 1000);\n }\n }\n });\n //\tSync the blocker to target the page.\n this.bind('setPage:after', function (page) {\n if (Mmenu.node.blck) {\n DOM.children(Mmenu.node.blck, 'a').forEach(function (anchor) {\n anchor.setAttribute('href', '#' + page.id);\n });\n }\n });\n //\tAdd screenreader / aria support\n this.bind('open:start:sr-aria', function () {\n Mmenu.sr_aria(_this.node.menu, 'hidden', false);\n });\n this.bind('close:finish:sr-aria', function () {\n Mmenu.sr_aria(_this.node.menu, 'hidden', true);\n });\n this.bind('initMenu:after:sr-aria', function () {\n Mmenu.sr_aria(_this.node.menu, 'hidden', true);\n });\n //\tAdd screenreader / text support\n this.bind('initBlocker:after:sr-text', function () {\n DOM.children(Mmenu.node.blck, 'a').forEach(function (anchor) {\n anchor.innerHTML = Mmenu.sr_text(_this.i18n(_this.conf.screenReader.text.closeMenu));\n });\n });\n //\tAdd click behavior.\n //\tPrevents default behavior when clicking an anchor\n this.clck.push(function (anchor, args) {\n //\tOpen menu if the clicked anchor links to the menu\n var id = originalId(_this.node.menu.id);\n if (id) {\n if (anchor.matches('[href=\"#' + id + '\"]')) {\n //\tOpening this menu from within this menu\n //\t\t-> Open menu\n if (args.inMenu) {\n _this.open();\n return true;\n }\n //\tOpening this menu from within a second menu\n //\t\t-> Close the second menu before opening this menu\n var menu = anchor.closest('.mm-menu');\n if (menu) {\n var api = menu['mmApi'];\n if (api && api.close) {\n api.close();\n transitionend(menu, function () {\n _this.open();\n }, _this.conf.transitionDuration);\n return true;\n }\n }\n //\tOpening this menu\n _this.open();\n return true;\n }\n }\n //\tClose menu\n id = Mmenu.node.page.id;\n if (id) {\n if (anchor.matches('[href=\"#' + id + '\"]')) {\n _this.close();\n return true;\n }\n }\n return;\n });\n}\n/**\n * Open the menu.\n */\nMmenu.prototype.open = function () {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('open:before');\n if (this.vars.opened) {\n return;\n }\n this._openSetup();\n //\tWithout the timeout, the animation won't work because the menu had display: none;\n setTimeout(function () {\n _this._openStart();\n }, this.conf.openingInterval);\n //\tInvoke \"after\" hook.\n this.trigger('open:after');\n};\nMmenu.prototype._openSetup = function () {\n var _this = this;\n var options = this.opts.offCanvas;\n //\tClose other menus\n this.closeAllOthers();\n //\tTrigger window-resize to measure height\n events.trigger(window, 'resize.page', { force: true });\n var clsn = ['mm-wrapper_opened'];\n //\tAdd options\n if (options.blockUI) {\n clsn.push('mm-wrapper_blocking');\n }\n if (options.blockUI == 'modal') {\n clsn.push('mm-wrapper_modal');\n }\n if (options.moveBackground) {\n clsn.push('mm-wrapper_background');\n }\n // IE11:\n clsn.forEach(function (classname) {\n _this.node.wrpr.classList.add(classname);\n });\n // Better browsers:\n // this.node.wrpr.classList.add(...clsn);\n //\tOpen\n //\tWithout the timeout, the animation won't work because the menu had display: none;\n setTimeout(function () {\n _this.vars.opened = true;\n }, this.conf.openingInterval);\n this.node.menu.classList.add('mm-menu_opened');\n};\n/**\n * Finish opening the menu.\n */\nMmenu.prototype._openStart = function () {\n var _this = this;\n //\tCallback when the page finishes opening.\n transitionend(Mmenu.node.page, function () {\n _this.trigger('open:finish');\n }, this.conf.transitionDuration);\n //\tOpening\n this.trigger('open:start');\n this.node.wrpr.classList.add('mm-wrapper_opening');\n};\nMmenu.prototype.close = function () {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('close:before');\n if (!this.vars.opened) {\n return;\n }\n //\tCallback when the page finishes closing.\n transitionend(Mmenu.node.page, function () {\n _this.node.menu.classList.remove('mm-menu_opened');\n var classnames = [\n 'mm-wrapper_opened',\n 'mm-wrapper_blocking',\n 'mm-wrapper_modal',\n 'mm-wrapper_background'\n ];\n // IE11:\n classnames.forEach(function (classname) {\n _this.node.wrpr.classList.remove(classname);\n });\n // Better browsers:\n // this.node.wrpr.classList.remove(...classnames);\n _this.vars.opened = false;\n _this.trigger('close:finish');\n }, this.conf.transitionDuration);\n //\tClosing\n this.trigger('close:start');\n this.node.wrpr.classList.remove('mm-wrapper_opening');\n //\tInvoke \"after\" hook.\n this.trigger('close:after');\n};\n/**\n * Close all other menus.\n */\nMmenu.prototype.closeAllOthers = function () {\n var _this = this;\n DOM.find(document.body, '.mm-menu_offcanvas').forEach(function (menu) {\n if (menu !== _this.node.menu) {\n var api = menu['mmApi'];\n if (api && api.close) {\n api.close();\n }\n }\n });\n};\n/**\n * Set the \"page\" node.\n *\n * @param {HTMLElement} page Element to set as the page.\n */\nMmenu.prototype.setPage = function (page) {\n //\tInvoke \"before\" hook.\n this.trigger('setPage:before', [page]);\n var configs = this.conf.offCanvas;\n //\tIf no page was specified, find it.\n if (!page) {\n /** Array of elements that are / could be \"the page\". */\n var pages = typeof configs.page.selector == 'string'\n ? DOM.find(document.body, configs.page.selector)\n : DOM.children(document.body, configs.page.nodetype);\n //\tFilter out elements that are absolutely not \"the page\".\n pages = pages.filter(function (page) { return !page.matches('.mm-menu, .mm-wrapper__blocker'); });\n //\tFilter out elements that are configured to not be \"the page\".\n if (configs.page.noSelector.length) {\n pages = pages.filter(function (page) { return !page.matches(configs.page.noSelector.join(', ')); });\n }\n //\tWrap multiple pages in a single element.\n if (pages.length > 1) {\n var wrapper_1 = DOM.create('div');\n pages[0].before(wrapper_1);\n pages.forEach(function (page) {\n wrapper_1.append(page);\n });\n pages = [wrapper_1];\n }\n page = pages[0];\n }\n page.classList.add('mm-page');\n page.classList.add('mm-slideout');\n page.id = page.id || uniqueId();\n Mmenu.node.page = page;\n //\tInvoke \"after\" hook.\n this.trigger('setPage:after', [page]);\n};\n/**\n * Initialize the window.\n */\nvar initWindow = function () {\n var _this = this;\n //\tPrevent tabbing\n //\tBecause when tabbing outside the menu, the element that gains focus will be centered on the screen.\n //\tIn other words: The menu would move out of view.\n events.off(document.body, 'keydown.tabguard');\n events.on(document.body, 'keydown.tabguard', function (evnt) {\n if (evnt.keyCode == 9) {\n if (_this.node.wrpr.matches('.mm-wrapper_opened')) {\n evnt.preventDefault();\n }\n }\n });\n};\n/**\n * Initialize \"blocker\" node\n */\nvar initBlocker = function () {\n var _this = this;\n //\tInvoke \"before\" hook.\n this.trigger('initBlocker:before');\n var options = this.opts.offCanvas, configs = this.conf.offCanvas;\n if (!options.blockUI) {\n return;\n }\n //\tCreate the blocker node.\n if (!Mmenu.node.blck) {\n var blck = DOM.create('div.mm-wrapper__blocker.mm-slideout');\n blck.innerHTML = '';\n //\tAppend the blocker node to the body.\n document.querySelector(configs.menu.insertSelector).append(blck);\n //\tStore the blocker node.\n Mmenu.node.blck = blck;\n }\n //\tClose the menu when\n //\t\t1) clicking,\n //\t\t2) touching or\n //\t\t3) dragging the blocker node.\n var closeMenu = function (evnt) {\n evnt.preventDefault();\n evnt.stopPropagation();\n if (!_this.node.wrpr.matches('.mm-wrapper_modal')) {\n _this.close();\n }\n };\n Mmenu.node.blck.addEventListener('mousedown', closeMenu); // 1\n Mmenu.node.blck.addEventListener('touchstart', closeMenu); // 2\n Mmenu.node.blck.addEventListener('touchmove', closeMenu); // 3\n //\tInvoke \"after\" hook.\n this.trigger('initBlocker:after');\n};\n","var options = {\n aria: true,\n text: true\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n aria: options,\n text: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","var configs = {\n text: {\n closeMenu: 'Close menu',\n closeSubmenu: 'Close submenu',\n openSubmenu: 'Open submenu',\n toggleSubmenu: 'Toggle submenu'\n }\n};\nexport default configs;\n","export default {\n 'Close menu': 'بستن منو',\n 'Close submenu': 'بستن زیرمنو',\n 'Open submenu': 'بازکردن زیرمنو',\n 'Toggle submenu': 'سوییچ زیرمنو'\n};\n","export default {\n 'Close menu': 'Menü schließen',\n 'Close submenu': 'Untermenü schließen',\n 'Open submenu': 'Untermenü öffnen',\n 'Toggle submenu': 'Untermenü wechseln'\n};\n","export default {\n 'Close menu': 'Закрыть меню',\n 'Close submenu': 'Закрыть подменю',\n 'Open submenu': 'Открыть подменю',\n 'Toggle submenu': 'Переключить подменю'\n};\n","import Mmenu from './../oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport configs from './_configs';\nimport translate from './translations/translate';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n// Add the translations.\ntranslate();\n// Add the options and configs.\nMmenu.options.screenReader = options;\nMmenu.configs.screenReader = configs;\nexport default function () {\n var _this = this;\n //\tExtend options.\n var options = extendShorthandOptions(this.opts.screenReader);\n this.opts.screenReader = extend(options, Mmenu.options.screenReader);\n //\tExtend configs.\n var configs = this.conf.screenReader;\n //\tAdd Aria-* attributes\n if (options.aria) {\n //\tAdd screenreader / aria hooks for add-ons\n //\tIn orde to keep this list short, only extend hooks that are actually used by other add-ons.\n this.bind('initAddons:after', function () {\n _this.bind('initMenu:after', function () {\n this.trigger('initMenu:after:sr-aria', [].slice.call(arguments));\n });\n _this.bind('initNavbar:after', function () {\n this.trigger('initNavbar:after:sr-aria', [].slice.call(arguments));\n });\n _this.bind('openPanel:start', function () {\n this.trigger('openPanel:start:sr-aria', [].slice.call(arguments));\n });\n _this.bind('close:start', function () {\n this.trigger('close:start:sr-aria', [].slice.call(arguments));\n });\n _this.bind('close:finish', function () {\n this.trigger('close:finish:sr-aria', [].slice.call(arguments));\n });\n _this.bind('open:start', function () {\n this.trigger('open:start:sr-aria', [].slice.call(arguments));\n });\n _this.bind('initOpened:after', function () {\n this.trigger('initOpened:after:sr-aria', [].slice.call(arguments));\n });\n });\n //\tUpdate aria-hidden for hidden / visible listitems\n this.bind('updateListview', function () {\n _this.node.pnls\n .querySelectorAll('.mm-listitem')\n .forEach(function (listitem) {\n Mmenu.sr_aria(listitem, 'hidden', listitem.matches('.mm-hidden'));\n });\n });\n //\tUpdate aria-hidden for the panels when opening and closing a panel.\n this.bind('openPanel:start', function (panel) {\n /** Panels that should be considered \"hidden\". */\n var hidden = DOM.find(_this.node.pnls, '.mm-panel')\n .filter(function (hide) { return hide !== panel; })\n .filter(function (hide) { return !hide.parentElement.matches('.mm-panel'); });\n /** Panels that should be considered \"visible\". */\n var visible = [panel];\n DOM.find(panel, '.mm-listitem_vertical .mm-listitem_opened').forEach(function (listitem) {\n visible.push.apply(visible, DOM.children(listitem, '.mm-panel'));\n });\n //\tSet the panels to be considered \"hidden\" or \"visible\".\n hidden.forEach(function (panel) {\n Mmenu.sr_aria(panel, 'hidden', true);\n });\n visible.forEach(function (panel) {\n Mmenu.sr_aria(panel, 'hidden', false);\n });\n });\n this.bind('closePanel', function (panel) {\n Mmenu.sr_aria(panel, 'hidden', true);\n });\n // //\tAdd aria-haspopup and aria-owns to prev- and next buttons.\n // this.bind('initPanel:after', (panel: HTMLElement) => {\n // DOM.find(panel, '.mm-btn').forEach(button => {\n // Mmenu.sr_aria(button, 'haspopup', true);\n // let href = button.getAttribute('href');\n // if (href) {\n // Mmenu.sr_aria(button, 'owns', href.replace('#', ''));\n // }\n // });\n // });\n //\tAdd aria-hidden for navbars in panels.\n this.bind('initNavbar:after', function (panel) {\n /** The navbar in the panel. */\n var navbar = DOM.children(panel, '.mm-navbar')[0];\n /** Whether or not the navbar should be considered \"hidden\". */\n var hidden = navbar.matches('.mm-hidden');\n //\tSet the navbar to be considered \"hidden\" or \"visible\".\n Mmenu.sr_aria(navbar, 'hidden', hidden);\n });\n //\tText\n if (options.text) {\n //\tAdd aria-hidden to titles in navbars\n if (this.opts.navbar.titleLink == 'parent') {\n this.bind('initNavbar:after', function (panel) {\n /** The navbar in the panel. */\n var navbar = DOM.children(panel, '.mm-navbar')[0];\n /** Whether or not the navbar should be considered \"hidden\". */\n var hidden = navbar.querySelector('.mm-btn_prev')\n ? true\n : false;\n //\tSet the navbar-title to be considered \"hidden\" or \"visible\".\n Mmenu.sr_aria(DOM.find(navbar, '.mm-navbar__title')[0], 'hidden', hidden);\n });\n }\n }\n }\n //\tAdd screenreader text\n if (options.text) {\n //\tAdd screenreader / text hooks for add-ons\n //\tIn orde to keep this list short, only extend hooks that are actually used by other add-ons.\n this.bind('initAddons:after', function () {\n _this.bind('setPage:after', function () {\n this.trigger('setPage:after:sr-text', [].slice.call(arguments));\n });\n _this.bind('initBlocker:after', function () {\n this.trigger('initBlocker:after:sr-text', [].slice.call(arguments));\n });\n });\n //\tAdd text to the prev-buttons.\n this.bind('initNavbar:after', function (panel) {\n var navbar = DOM.children(panel, '.mm-navbar')[0];\n if (navbar) {\n var button = DOM.children(navbar, '.mm-btn_prev')[0];\n if (button) {\n button.innerHTML = Mmenu.sr_text(_this.i18n(configs.text.closeSubmenu));\n }\n }\n });\n //\tAdd text to the next-buttons.\n this.bind('initListview:after', function (listview) {\n var parent = listview.closest('.mm-panel')['mmParent'];\n if (parent) {\n var next = DOM.children(parent, '.mm-btn_next')[0];\n if (next) {\n var text = _this.i18n(configs.text[next.parentElement.matches('.mm-listitem_vertical')\n ? 'toggleSubmenu'\n : 'openSubmenu']);\n next.innerHTML += Mmenu.sr_text(text);\n }\n }\n });\n }\n}\n//\tMethods\n(function () {\n var attr = function (element, attr, value) {\n element[attr] = value;\n if (value) {\n element.setAttribute(attr, value.toString());\n }\n else {\n element.removeAttribute(attr);\n }\n };\n /**\n * Add aria (property and) attribute to a HTML element.\n *\n * @param {HTMLElement} \telement\tThe node to add the attribute to.\n * @param {string}\t\t\tname\tThe (non-aria-prefixed) attribute name.\n * @param {string|boolean}\tvalue\tThe attribute value.\n */\n Mmenu.sr_aria = function (element, name, value) {\n attr(element, 'aria-' + name, value);\n };\n /**\n * Add role attribute to a HTML element.\n *\n * @param {HTMLElement}\t\telement\tThe node to add the attribute to.\n * @param {string|boolean}\tvalue\tThe attribute value.\n */\n Mmenu.sr_role = function (element, value) {\n attr(element, 'role', value);\n };\n /**\n * Wrap a text in a screen-reader-only node.\n *\n * @param \t{string} text\tThe text to wrap.\n * @return\t{string}\t\tThe wrapped text.\n */\n Mmenu.sr_text = function (text) {\n return '' + text + '';\n };\n})();\n","import { add } from '../../../_modules/i18n';\nimport nl from './nl';\nimport fa from './fa';\nimport de from './de';\nimport ru from './ru';\nexport default function () {\n add(nl, 'nl');\n add(fa, 'fa');\n add(de, 'de');\n add(ru, 'ru');\n}\n","export default {\n 'Close menu': 'Menu sluiten',\n 'Close submenu': 'Submenu sluiten',\n 'Open submenu': 'Submenu openen',\n 'Toggle submenu': 'Submenu wisselen'\n};\n","var options = {\n fix: true\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n fix: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","/** Whether or not touch gestures are supported by the browser. */\nexport var touch = 'ontouchstart' in window ||\n (navigator.msMaxTouchPoints ? true : false) ||\n false;\n","import Mmenu from './../oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport * as support from '../../_modules/support';\nimport { extend, touchDirection } from '../../_modules/helpers';\n// Add the options.\nMmenu.options.scrollBugFix = options;\nexport default function () {\n var _this = this;\n //\tThe scrollBugFix add-on fixes a scrolling bug\n //\t\t1) on touch devices\n //\t\t2) in an off-canvas menu\n //\t\t3) that -when opened- blocks the UI from interaction\n if (!support.touch || // 1\n !this.opts.offCanvas || // 2\n !this.opts.offCanvas.blockUI // 3\n ) {\n return;\n }\n //\tExtend options.\n var options = extendShorthandOptions(this.opts.scrollBugFix);\n this.opts.scrollBugFix = extend(options, Mmenu.options.scrollBugFix);\n if (!options.fix) {\n return;\n }\n var touchDir = touchDirection(this.node.menu);\n /**\n * Prevent an event from doing its default and stop its propagation.\n * @param {ScrollBehavior} evnt The event to stop.\n */\n function stop(evnt) {\n evnt.preventDefault();\n evnt.stopPropagation();\n }\n // Prevent the page from scrolling when scrolling in the menu.\n this.node.menu.addEventListener('scroll', stop, {\n // Make sure to tell the browser the event will be prevented.\n passive: false,\n });\n // Prevent the page from scrolling when dragging in the menu.\n this.node.menu.addEventListener('touchmove', function (evnt) {\n var wrapper = evnt.target.closest('.mm-panel, .mm-iconbar__top, .mm-iconbar__bottom');\n if (wrapper && wrapper.closest('.mm-listitem_vertical')) {\n wrapper = DOM.parents(wrapper, '.mm-panel').pop();\n }\n if (wrapper) {\n // When dragging a non-scrollable panel,\n // we can simple preventDefault and stopPropagation.\n if (wrapper.scrollHeight === wrapper.offsetHeight) {\n stop(evnt);\n }\n // When dragging a scrollable panel,\n // that is fully scrolled up (or down).\n // It will not trigger the scroll event when dragging down (or up) (because you can't scroll up (or down)),\n // so we need to match the dragging direction with the scroll position before preventDefault and stopPropagation,\n // otherwise the panel would not scroll at all in any direction.\n else if (\n // When scrolled up and dragging down\n (wrapper.scrollTop == 0 && touchDir.get() == 'down') ||\n // When scrolled down and dragging up\n (wrapper.scrollHeight ==\n wrapper.scrollTop + wrapper.offsetHeight &&\n touchDir.get() == 'up')) {\n stop(evnt);\n }\n // When dragging anything other than a panel.\n }\n else {\n stop(evnt);\n }\n }, {\n // Make sure to tell the browser the event can be prevented.\n passive: false,\n });\n // Some small additional improvements\n //\tScroll the current opened panel to the top when opening the menu.\n this.bind('open:start', function () {\n var panel = DOM.children(_this.node.pnls, '.mm-panel_opened')[0];\n if (panel) {\n panel.scrollTop = 0;\n }\n });\n //\tFix issue after device rotation change.\n window.addEventListener('orientationchange', function (evnt) {\n var panel = DOM.children(_this.node.pnls, '.mm-panel_opened')[0];\n if (panel) {\n panel.scrollTop = 0;\n //\tApparently, changing the overflow-scrolling property triggers some event :)\n panel.style['-webkit-overflow-scrolling'] = 'auto';\n panel.style['-webkit-overflow-scrolling'] = 'touch';\n }\n });\n}\n","var opts = {\n height: 'default'\n};\nexport default opts;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean' && options) {\n options = {\n height: 'auto'\n };\n }\n if (typeof options == 'string') {\n options = {\n height: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","import Mmenu from './../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options.\nMmenu.options.autoHeight = options;\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.autoHeight);\n this.opts.autoHeight = extend(options, Mmenu.options.autoHeight);\n if (options.height != 'auto' && options.height != 'highest') {\n return;\n }\n var setHeight = (function () {\n var getCurrent = function () {\n var panel = DOM.children(_this.node.pnls, '.mm-panel_opened')[0];\n if (panel) {\n panel = measurablePanel(panel);\n }\n //\tFallback, just to be sure we have a panel.\n if (!panel) {\n panel = DOM.children(_this.node.pnls, '.mm-panel')[0];\n }\n return panel.scrollHeight;\n };\n var getHighest = function () {\n var highest = 0;\n DOM.children(_this.node.pnls, '.mm-panel').forEach(function (panel) {\n panel = measurablePanel(panel);\n highest = Math.max(highest, panel.scrollHeight);\n });\n return highest;\n };\n var measurablePanel = function (panel) {\n //\tIf it's a vertically expanding panel...\n if (panel.parentElement.matches('.mm-listitem_vertical')) {\n //\t...find the first parent panel that isn't.\n panel = DOM.parents(panel, '.mm-panel').filter(function (panel) {\n return !panel.parentElement.matches('.mm-listitem_vertical');\n })[0];\n }\n return panel;\n };\n return function () {\n if (_this.opts.offCanvas && !_this.vars.opened) {\n return;\n }\n var _hgh = 0;\n var _dif = _this.node.menu.offsetHeight - _this.node.pnls.offsetHeight;\n //\tThe \"measuring\" classname undoes some CSS to be able to measure the height.\n _this.node.menu.classList.add('mm-menu_autoheight-measuring');\n //\tMeasure the height.\n if (options.height == 'auto') {\n _hgh = getCurrent();\n }\n else if (options.height == 'highest') {\n _hgh = getHighest();\n }\n //\tSet the height.\n _this.node.menu.style.height = _hgh + _dif + 'px';\n //\tRemove the \"measuring\" classname.\n _this.node.menu.classList.remove('mm-menu_autoheight-measuring');\n };\n })();\n //\tAdd the autoheight class to the menu.\n this.bind('initMenu:after', function () {\n _this.node.menu.classList.add('mm-menu_autoheight');\n });\n if (this.opts.offCanvas) {\n //\tMeasure the height when opening the off-canvas menu.\n this.bind('open:start', setHeight);\n }\n if (options.height == 'highest') {\n //\tMeasure the height when initiating panels.\n this.bind('initPanels:after', setHeight);\n }\n if (options.height == 'auto') {\n //\tMeasure the height when updating listviews.\n this.bind('updateListview', setHeight);\n //\tMeasure the height when opening a panel.\n this.bind('openPanel:start', setHeight);\n }\n}\n","var options = {\n close: false,\n open: false\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n close: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options.\nMmenu.options.backButton = options;\nexport default function () {\n var _this = this;\n if (!this.opts.offCanvas) {\n return;\n }\n var options = extendShorthandOptions(this.opts.backButton);\n this.opts.backButton = extend(options, Mmenu.options.backButton);\n var _menu = '#' + this.node.menu.id;\n //\tClose menu\n if (options.close) {\n var states = [];\n var setStates = function () {\n states = [_menu];\n DOM.children(_this.node.pnls, '.mm-panel_opened, .mm-panel_opened-parent').forEach(function (panel) {\n states.push('#' + panel.id);\n });\n };\n this.bind('open:finish', function () {\n history.pushState(null, document.title, _menu);\n });\n this.bind('open:finish', setStates);\n this.bind('openPanel:finish', setStates);\n this.bind('close:finish', function () {\n states = [];\n history.back();\n history.pushState(null, document.title, location.pathname + location.search);\n });\n window.addEventListener('popstate', function (evnt) {\n if (_this.vars.opened) {\n if (states.length) {\n states = states.slice(0, -1);\n var hash = states[states.length - 1];\n if (hash == _menu) {\n _this.close();\n }\n else {\n _this.openPanel(_this.node.menu.querySelector(hash));\n history.pushState(null, document.title, _menu);\n }\n }\n }\n });\n }\n if (options.open) {\n window.addEventListener('popstate', function (evnt) {\n if (!_this.vars.opened && location.hash == _menu) {\n _this.open();\n }\n });\n }\n}\n","var options = {\n add: false,\n visible: {\n min: 1,\n max: 3\n }\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n add: options\n };\n }\n if (typeof options == 'number') {\n options = {\n add: true,\n visible: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n if (typeof options.visible == 'number') {\n options.visible = {\n min: options.visible,\n max: options.visible\n };\n }\n return options;\n}\n;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options.\nMmenu.options.columns = options;\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.columns);\n this.opts.columns = extend(options, Mmenu.options.columns);\n //\tAdd the columns\n if (options.add) {\n options.visible.min = Math.max(1, Math.min(6, options.visible.min));\n options.visible.max = Math.max(options.visible.min, Math.min(6, options.visible.max));\n /** Columns related clasnames for the menu. */\n var colm = [];\n /** Columns related clasnames for the panels. */\n var colp = [];\n /** Classnames to remove from panels in favor of showing columns. */\n var rmvc = [\n 'mm-panel_opened',\n 'mm-panel_opened-parent',\n 'mm-panel_highest',\n ];\n for (var i = 0; i <= options.visible.max; i++) {\n colm.push('mm-menu_columns-' + i);\n colp.push('mm-panel_columns-' + i);\n }\n rmvc.push.apply(rmvc, colp);\n //\tClose all later opened panels\n this.bind('openPanel:before', function (panel) {\n /** The parent panel. */\n var parent;\n if (panel) {\n parent = panel['mmParent'];\n }\n if (!parent) {\n return;\n }\n if (parent.classList.contains('mm-listitem_vertical')) {\n return;\n }\n parent = parent.closest('.mm-panel');\n if (!parent) {\n return;\n }\n var classname = parent.className;\n if (!classname.length) {\n return;\n }\n classname = classname.split('mm-panel_columns-')[1];\n if (!classname) {\n return;\n }\n var colnr = parseInt(classname.split(' ')[0], 10) + 1;\n while (colnr > 0) {\n panel = DOM.children(_this.node.pnls, '.mm-panel_columns-' + colnr)[0];\n if (panel) {\n colnr++;\n panel.classList.add('mm-hidden');\n // IE11:\n rmvc.forEach(function (classname) {\n panel.classList.remove(classname);\n });\n // Better browsers:\n // panel.classList.remove(...rmvc);\n }\n else {\n colnr = -1;\n break;\n }\n }\n });\n this.bind('openPanel:start', function (panel) {\n if (panel) {\n /** The parent panel. */\n var parent_1 = panel['mmParent'];\n if (parent_1 &&\n parent_1.classList.contains('mm-listitem_vertical')) {\n return;\n }\n }\n var columns = DOM.children(_this.node.pnls, '.mm-panel_opened-parent').length;\n if (!panel.matches('.mm-panel_opened-parent')) {\n columns++;\n }\n columns = Math.min(options.visible.max, Math.max(options.visible.min, columns));\n // IE11:\n colm.forEach(function (classname) {\n _this.node.menu.classList.remove(classname);\n });\n // Better browsers:\n // this.node.menu.classList.remove(...colm);\n _this.node.menu.classList.add('mm-menu_columns-' + columns);\n var panels = [];\n DOM.children(_this.node.pnls, '.mm-panel').forEach(function (panel) {\n // IE11:\n colp.forEach(function (classname) {\n panel.classList.remove(classname);\n });\n // Better browsers:\n // panel.classList.remove(...colp);\n if (panel.matches('.mm-panel_opened-parent')) {\n panels.push(panel);\n }\n });\n panels.push(panel);\n panels.slice(-options.visible.max).forEach(function (panel, p) {\n panel.classList.add('mm-panel_columns-' + p);\n });\n });\n }\n}\n","var options = {\n add: false,\n addTo: 'panels',\n count: false\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n add: options,\n addTo: 'panels',\n count: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n if (options.addTo == 'panels') {\n options.addTo = '.mm-listview';\n }\n return options;\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options.\nMmenu.options.counters = options;\n//\tAdd the classnames.\nMmenu.configs.classNames.counters = {\n counter: 'Counter',\n};\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.counters);\n this.opts.counters = extend(options, Mmenu.options.counters);\n //\tRefactor counter class\n this.bind('initListview:after', function (listview) {\n var cntrclss = _this.conf.classNames.counters.counter, counters = DOM.find(listview, '.' + cntrclss);\n counters.forEach(function (counter) {\n DOM.reClass(counter, cntrclss, 'mm-counter');\n });\n });\n //\tAdd the counters after a listview is initiated.\n if (options.add) {\n this.bind('initListview:after', function (listview) {\n if (!listview.matches(options.addTo)) {\n return;\n }\n var parent = listview.closest('.mm-panel')['mmParent'];\n if (parent) {\n //\tCheck if no counter already excists.\n if (!DOM.find(parent, '.mm-counter').length) {\n var btn = DOM.children(parent, '.mm-btn')[0];\n if (btn) {\n btn.prepend(DOM.create('span.mm-counter'));\n }\n }\n }\n });\n }\n if (options.count) {\n var count = function (listview) {\n var panels = listview\n ? [listview.closest('.mm-panel')]\n : DOM.children(_this.node.pnls, '.mm-panel');\n panels.forEach(function (panel) {\n var parent = panel['mmParent'];\n if (!parent) {\n return;\n }\n var counter = DOM.find(parent, '.mm-counter')[0];\n if (!counter) {\n return;\n }\n var listitems = [];\n DOM.children(panel, '.mm-listview').forEach(function (listview) {\n listitems.push.apply(listitems, DOM.children(listview));\n });\n counter.innerHTML = DOM.filterLI(listitems).length.toString();\n });\n };\n this.bind('initListview:after', count);\n this.bind('updateListview', count);\n }\n}\n","var options = {\n add: false,\n addTo: 'panels'\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n add: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n if (options.addTo == 'panels') {\n options.addTo = '.mm-listview';\n }\n return options;\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options.\nMmenu.options.dividers = options;\n// Add the classnames.\nMmenu.configs.classNames.divider = 'Divider';\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.dividers);\n this.opts.dividers = extend(options, Mmenu.options.dividers);\n //\tRefactor divider classname\n this.bind('initListview:after', function (listview) {\n DOM.children(listview).forEach(function (listitem) {\n DOM.reClass(listitem, _this.conf.classNames.divider, 'mm-divider');\n if (listitem.matches('.mm-divider')) {\n listitem.classList.remove('mm-listitem');\n }\n });\n });\n //\tAdd dividers\n if (options.add) {\n this.bind('initListview:after', function (listview) {\n if (!listview.matches(options.addTo)) {\n return;\n }\n DOM.find(listview, '.mm-divider').forEach(function (divider) {\n divider.remove();\n });\n var lastletter = '', listitems = DOM.children(listview);\n DOM.filterLI(listitems).forEach(function (listitem) {\n var letter = DOM.children(listitem, '.mm-listitem__text')[0]\n .textContent.trim()\n .toLowerCase()[0];\n if (letter.length && letter != lastletter) {\n lastletter = letter;\n var divider = DOM.create('li.mm-divider');\n divider.textContent = letter;\n listview.insertBefore(divider, listitem);\n }\n });\n });\n }\n}\n","var options = {\n open: false,\n node: null\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n open: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n","/** Whether or not touch gestures are supported by the browser. */\nexport var touch = 'ontouchstart' in window ||\n (navigator.msMaxTouchPoints ? true : false) ||\n false;\n","/** How far from the sides the gesture can start. */\nexport var area = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n};\n/** Tresholds for gestures. */\nexport var treshold = {\n start: 15,\n swipe: 15\n};\n","/** Names of the possible directions. */\nexport var directionNames = {\n x: ['Right', 'Left'],\n y: ['Down', 'Up']\n};\n/** States for the gesture. */\nexport var state = {\n inactive: 0,\n watching: 1,\n dragging: 2\n};\n","/**\n * Calculate a distance from a percentage.\n * @param {string|number} position The percentage (e.g. \"75%\").\n * @param {number} size The available width or height in pixels.\n * @return {number} The calculated distance.\n */\nexport var percentage2number = function (position, size) {\n if (typeof position == 'string') {\n if (position.slice(-1) == '%') {\n position = parseInt(position.slice(0, -1), 10);\n position = size * (position / 100);\n }\n }\n return position;\n};\n","import * as support from './_support';\nimport * as options from './_defaults';\nimport * as settings from './_settings';\nimport { percentage2number } from './_helpers';\nimport { extend } from '../helpers';\nvar DragEvents = /** @class */ (function () {\n /**\n * Create the gestures.\n * @param {HTMLElement} surface The surface for the gesture.\n * @param {object} area Restriction where on the surface the gesture can be started.\n * @param {object} treshold Treshold for the gestures.\n */\n function DragEvents(surface, area, treshold) {\n this.surface = surface;\n this.area = extend(area, options.area);\n this.treshold = extend(treshold, options.treshold);\n //\tSet the mouse/touch events.\n if (!this.surface['mmHasDragEvents']) {\n this.surface.addEventListener(support.touch ? 'touchstart' : 'mousedown', this.start.bind(this));\n this.surface.addEventListener(support.touch ? 'touchend' : 'mouseup', this.stop.bind(this));\n this.surface.addEventListener(support.touch ? 'touchleave' : 'mouseleave', this.stop.bind(this));\n this.surface.addEventListener(support.touch ? 'touchmove' : 'mousemove', this.move.bind(this));\n }\n this.surface['mmHasDragEvents'] = true;\n }\n /**\n * Starting the touch gesture.\n * @param {Event} event The touch event.\n */\n DragEvents.prototype.start = function (event) {\n this.currentPosition = {\n x: event.touches ? event.touches[0].pageX : event.pageX || 0,\n y: event.touches ? event.touches[0].pageY : event.pageY || 0\n };\n /** The widht of the surface. */\n var width = this.surface.clientWidth;\n /** The height of the surface. */\n var height = this.surface.clientHeight;\n // Check if the gesture started below the area.top.\n var top = percentage2number(this.area.top, height);\n if (typeof top == 'number') {\n if (this.currentPosition.y < top) {\n return;\n }\n }\n // Check if the gesture started before the area.right.\n var right = percentage2number(this.area.right, width);\n if (typeof right == 'number') {\n right = width - right;\n if (this.currentPosition.x > right) {\n return;\n }\n }\n // Check if the gesture started above the area.bottom.\n var bottom = percentage2number(this.area.bottom, height);\n if (typeof bottom == 'number') {\n bottom = height - bottom;\n if (this.currentPosition.y > bottom) {\n return;\n }\n }\n // Check if the gesture started after the area.left.\n var left = percentage2number(this.area.left, width);\n if (typeof left == 'number') {\n if (this.currentPosition.x < left) {\n return;\n }\n }\n //\tStore the start x- and y-position.\n this.startPosition = {\n x: this.currentPosition.x,\n y: this.currentPosition.y\n };\n //\tSet the state of the gesture to \"watching\".\n this.state = settings.state.watching;\n };\n /**\n * Stopping the touch gesture.\n * @param {Event} event The touch event.\n */\n DragEvents.prototype.stop = function (event) {\n //\tDispatch the \"dragEnd\" events.\n if (this.state == settings.state.dragging) {\n /** The direction. */\n var dragDirection = this._dragDirection();\n /** The event information. */\n var detail = this._eventDetail(dragDirection);\n this._dispatchEvents('drag*End', detail);\n //\tDispatch the \"swipe\" events.\n if (Math.abs(this.movement[this.axis]) > this.treshold.swipe) {\n /** The direction. */\n var swipeDirection = this._swipeDirection();\n detail.direction = swipeDirection;\n this._dispatchEvents('swipe*', detail);\n }\n }\n //\tSet the state of the gesture to \"inactive\".\n this.state = settings.state.inactive;\n };\n /**\n * Doing the touch gesture.\n * @param {Event} event The touch event.\n */\n DragEvents.prototype.move = function (event) {\n switch (this.state) {\n case settings.state.watching:\n case settings.state.dragging:\n var position = {\n x: event.changedTouches\n ? event.touches[0].pageX\n : event.pageX || 0,\n y: event.changedTouches\n ? event.touches[0].pageY\n : event.pageY || 0\n };\n this.movement = {\n x: position.x - this.currentPosition.x,\n y: position.y - this.currentPosition.y\n };\n this.distance = {\n x: position.x - this.startPosition.x,\n y: position.y - this.startPosition.y\n };\n this.currentPosition = {\n x: position.x,\n y: position.y\n };\n this.axis =\n Math.abs(this.distance.x) > Math.abs(this.distance.y)\n ? 'x'\n : 'y';\n /** The direction. */\n var dragDirection = this._dragDirection();\n /** The event information. */\n var detail = this._eventDetail(dragDirection);\n //\tWatching for the gesture to go past the treshold.\n if (this.state == settings.state.watching) {\n if (Math.abs(this.distance[this.axis]) > this.treshold.start) {\n this._dispatchEvents('drag*Start', detail);\n //\tSet the state of the gesture to \"inactive\".\n this.state = settings.state.dragging;\n }\n }\n //\tDispatch the \"drag\" events.\n if (this.state == settings.state.dragging) {\n this._dispatchEvents('drag*Move', detail);\n }\n break;\n }\n };\n /**\n * Get the event details.\n * @param {string} direction Direction for the event (up, right, down, left).\n * @return {object} The event details.\n */\n DragEvents.prototype._eventDetail = function (direction) {\n var distX = this.distance.x;\n var distY = this.distance.y;\n if (this.axis == 'x') {\n distX -= distX > 0 ? this.treshold.start : 0 - this.treshold.start;\n }\n if (this.axis == 'y') {\n distY -= distY > 0 ? this.treshold.start : 0 - this.treshold.start;\n }\n return {\n axis: this.axis,\n direction: direction,\n movementX: this.movement.x,\n movementY: this.movement.y,\n distanceX: distX,\n distanceY: distY\n };\n };\n /**\n * Dispatch the events\n * @param {string} eventName The name for the events to dispatch.\n * @param {object} detail The event details.\n */\n DragEvents.prototype._dispatchEvents = function (eventName, detail) {\n /** General event, e.g. \"drag\" */\n var event = new CustomEvent(eventName.replace('*', ''), { detail: detail });\n this.surface.dispatchEvent(event);\n /** Axis event, e.g. \"dragX\" */\n var axis = new CustomEvent(eventName.replace('*', this.axis.toUpperCase()), { detail: detail });\n this.surface.dispatchEvent(axis);\n /** Direction event, e.g. \"dragLeft\" */\n var direction = new CustomEvent(eventName.replace('*', detail.direction), {\n detail: detail\n });\n this.surface.dispatchEvent(direction);\n };\n /**\n * Get the dragging direction.\n * @return {string} The direction in which the user is dragging.\n */\n DragEvents.prototype._dragDirection = function () {\n return settings.directionNames[this.axis][this.distance[this.axis] > 0 ? 0 : 1];\n };\n /**\n * Get the dragging direction.\n * @return {string} The direction in which the user is dragging.\n */\n DragEvents.prototype._swipeDirection = function () {\n return settings.directionNames[this.axis][this.movement[this.axis] > 0 ? 0 : 1];\n };\n return DragEvents;\n}());\nexport default DragEvents;\n","import DragEvents from '../../_modules/dragevents/index';\nimport * as DOM from '../../_modules/dom';\nimport * as events from '../../_modules/eventlisteners';\nimport * as media from '../../_modules/matchmedia';\n/** Instance of the DragEvents class. */\nvar dragInstance = null;\n/** THe node that can be dragged. */\nvar dragNode = null;\n/** How far the page (or menu) can be dragged. */\nvar maxDistance = 0;\nexport default function (page) {\n var _this = this;\n /** Variables that vary for each menu position (top, right, bottom, left. front, back). */\n var vars = {};\n /** Whether or not the page or menu is actually being moved. */\n var moving = false;\n /**\n * Add the dragging events.\n */\n var addEvents = function () {\n if (dragNode) {\n // Prepare the page or menu to be moved.\n events.on(dragNode, 'dragStart', function (evnt) {\n if (evnt['detail'].direction == vars.direction) {\n moving = true;\n // Class prevents interaction with the page.\n _this.node.wrpr.classList.add('mm-wrapper_dragging');\n // Prepare the menu to be opened.\n _this._openSetup();\n _this.trigger('open:start');\n // Get the maximum distance to move out the page or menu.\n maxDistance = _this.node.menu[vars.axis == 'x' ? 'clientWidth' : 'clientHeight'];\n }\n });\n // Move the page or menu when dragging.\n events.on(dragNode, 'dragMove', function (evnt) {\n if (evnt['detail'].axis == vars.axis) {\n if (moving) {\n var distance = evnt['detail']['distance' + vars.axis.toUpperCase()];\n switch (vars.position) {\n case 'right':\n case 'bottom':\n distance = Math.min(Math.max(distance, -maxDistance), 0);\n break;\n default:\n distance = Math.max(Math.min(distance, maxDistance), 0);\n }\n // Deviate for position front (the menu starts out of view).\n if (vars.zposition == 'front') {\n switch (vars.position) {\n case 'right':\n case 'bottom':\n distance += maxDistance;\n break;\n default:\n distance -= maxDistance;\n break;\n }\n }\n vars.slideOutNodes.forEach(function (node) {\n node.style['transform'] =\n 'translate' +\n vars.axis.toUpperCase() +\n '(' +\n distance +\n 'px)';\n });\n }\n }\n });\n // Stop the page or menu from being moved.\n events.on(dragNode, 'dragEnd', function (evnt) {\n if (evnt['detail'].axis == vars.axis) {\n if (moving) {\n moving = false;\n _this.node.wrpr.classList.remove('mm-wrapper_dragging');\n vars.slideOutNodes.forEach(function (node) {\n node.style['transform'] = '';\n });\n // Determine if the menu should open or close.\n var open_1 = Math.abs(evnt['detail']['distance' + vars.axis.toUpperCase()]) >=\n maxDistance * 0.75;\n if (!open_1) {\n var movement = evnt['detail']['movement' + vars.axis.toUpperCase()];\n switch (vars.position) {\n case 'right':\n case 'bottom':\n open_1 = movement <= 0;\n break;\n default:\n open_1 = movement >= 0;\n break;\n }\n }\n if (open_1) {\n _this._openStart();\n }\n else {\n _this.close();\n }\n }\n }\n });\n }\n };\n /**\n * Remove the dragging events.\n */\n var removeEvents = function () {\n if (dragNode) {\n events.off(dragNode, 'dragStart');\n events.off(dragNode, 'dragMove');\n events.off(dragNode, 'dragEnd');\n }\n };\n var addMatchMedia = function () {\n var queries = Object.keys(_this.opts.extensions);\n if (queries.length) {\n // A media query that'll match if any of the other media query matches:\n // set the defaults if it doesn't match.\n media.add(queries.join(', '), function () { }, function () {\n vars = getPositionVars(vars, [], _this.node.menu);\n });\n // The other media queries.\n queries.forEach(function (query) {\n media.add(query, function () {\n vars = getPositionVars(vars, _this.opts.extensions[query], _this.node.menu);\n }, function () { });\n });\n // No extensions, just use the defaults.\n }\n else {\n vars = getPositionVars(vars, [], _this.node.menu);\n }\n };\n // Remove events from previous \"page\"\n removeEvents();\n // Store new \"page\"\n dragNode = page;\n // Initialize the drag events.\n dragInstance = new DragEvents(dragNode);\n addMatchMedia();\n addMatchMedia = function () { };\n addEvents();\n}\nvar getPositionVars = function (vars, extensions, menu) {\n // Default position and z-position.\n vars.position = 'left';\n vars.zposition = 'back';\n // Find position.\n ['right', 'top', 'bottom'].forEach(function (pos) {\n if (extensions.indexOf('position-' + pos) > -1) {\n vars.position = pos;\n }\n });\n // Find z-position.\n ['front', 'top', 'bottom'].forEach(function (pos) {\n if (extensions.indexOf('position-' + pos) > -1) {\n vars.zposition = 'front';\n }\n });\n // Set the area where the dragging can start.\n dragInstance.area = {\n top: vars.position == 'bottom' ? '75%' : 0,\n right: vars.position == 'left' ? '75%' : 0,\n bottom: vars.position == 'top' ? '75%' : 0,\n left: vars.position == 'right' ? '75%' : 0\n };\n // What side of the menu to measure (width or height).\n // What axis to drag the menu along (x or y).\n switch (vars.position) {\n case 'top':\n case 'bottom':\n vars.axis = 'y';\n break;\n default:\n vars.axis = 'x';\n }\n // What direction to drag in.\n switch (vars.position) {\n case 'top':\n vars.direction = 'Down';\n break;\n case 'right':\n vars.direction = 'Left';\n break;\n case 'bottom':\n vars.direction = 'Up';\n break;\n default:\n vars.direction = 'Right';\n }\n // What nodes to slide out while dragging.\n switch (vars.zposition) {\n case 'front':\n vars.slideOutNodes = [menu];\n break;\n default:\n vars.slideOutNodes = DOM.find(document.body, '.mm-slideout');\n }\n return vars;\n};\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport dragOpen from './_drag.open';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options and configs.\nMmenu.options.drag = options;\nexport default function () {\n var _this = this;\n if (!this.opts.offCanvas) {\n return;\n }\n var options = extendShorthandOptions(this.opts.drag);\n this.opts.drag = extend(options, Mmenu.options.drag);\n //\tDrag open the menu\n if (options.open) {\n this.bind('setPage:after', function (page) {\n dragOpen.call(_this, options.node || page);\n });\n }\n}\n","var options = {\n drop: false,\n fitViewport: true,\n event: 'click',\n position: {},\n tip: true\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean' && options) {\n options = {\n drop: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n if (typeof options.position == 'string') {\n options.position = {\n of: options.position\n };\n }\n return options;\n}\n;\n","var configs = {\n offset: {\n button: {\n x: -5,\n y: 5\n },\n viewport: {\n x: 20,\n y: 20\n }\n },\n height: {\n max: 880\n },\n width: {\n max: 440\n }\n};\nexport default configs;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport configs from './_configs';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend, originalId } from '../../_modules/helpers';\n//\tAdd the options and configs.\nMmenu.options.dropdown = options;\nMmenu.configs.dropdown = configs;\nexport default function () {\n var _this = this;\n if (!this.opts.offCanvas) {\n return;\n }\n var options = extendShorthandOptions(this.opts.dropdown);\n this.opts.dropdown = extend(options, Mmenu.options.dropdown);\n var configs = this.conf.dropdown;\n if (!options.drop) {\n return;\n }\n var button;\n this.bind('initMenu:after', function () {\n _this.node.menu.classList.add('mm-menu_dropdown');\n if (typeof options.position.of != 'string') {\n var id = originalId(_this.node.menu.id);\n if (id) {\n options.position.of = '[href=\"#' + id + '\"]';\n }\n }\n if (typeof options.position.of != 'string') {\n return;\n }\n //\tGet the button to put the menu next to\n button = DOM.find(document.body, options.position.of)[0];\n //\tEmulate hover effect\n var events = options.event.split(' ');\n if (events.length == 1) {\n events[1] = events[0];\n }\n if (events[0] == 'hover') {\n button.addEventListener('mouseenter', function () {\n _this.open();\n }, { passive: true });\n }\n if (events[1] == 'hover') {\n _this.node.menu.addEventListener('mouseleave', function () {\n _this.close();\n }, { passive: true });\n }\n });\n //\tAdd/remove classname and style when opening/closing the menu\n this.bind('open:start', function () {\n _this.node.menu['mmStyle'] = _this.node.menu.getAttribute('style');\n _this.node.wrpr.classList.add('mm-wrapper_dropdown');\n });\n this.bind('close:finish', function () {\n _this.node.menu.setAttribute('style', _this.node.menu['mmStyle']);\n _this.node.wrpr.classList.remove('mm-wrapper_dropdown');\n });\n /**\n * Find the position (x, y) and sizes (width, height) for the menu.\n *\n * @param {string} dir The direction to measure (\"x\" for horizontal, \"y\" for vertical)\n * @param {object} obj The object where (previously) measured values are stored.\n * @return {object}\t\tThe object where measered values are stored.\n */\n var getPosition = function (dir, obj) {\n var css = obj[0], cls = obj[1];\n var _outerSize = dir == 'x' ? 'offsetWidth' : 'offsetHeight', _startPos = dir == 'x' ? 'left' : 'top', _stopPos = dir == 'x' ? 'right' : 'bottom', _size = dir == 'x' ? 'width' : 'height', _winSize = dir == 'x' ? 'innerWidth' : 'innerHeight', _maxSize = dir == 'x' ? 'maxWidth' : 'maxHeight', _position = null;\n var startPos = DOM.offset(button, _startPos), stopPos = startPos + button[_outerSize], windowSize = window[_winSize];\n /** Offset for the menu relative to the button. */\n var offs = configs.offset.button[dir] + configs.offset.viewport[dir];\n //\tPosition set in option\n if (options.position[dir]) {\n switch (options.position[dir]) {\n case 'left':\n case 'bottom':\n _position = 'after';\n break;\n case 'right':\n case 'top':\n _position = 'before';\n break;\n }\n }\n //\tPosition not set in option, find most space\n if (_position === null) {\n _position =\n startPos + (stopPos - startPos) / 2 < windowSize / 2\n ? 'after'\n : 'before';\n }\n //\tSet position and max\n var val, max;\n if (_position == 'after') {\n val = dir == 'x' ? startPos : stopPos;\n max = windowSize - (val + offs);\n css[_startPos] = val + configs.offset.button[dir] + 'px';\n css[_stopPos] = 'auto';\n if (options.tip) {\n cls.push('mm-menu_tip-' + (dir == 'x' ? 'left' : 'top'));\n }\n }\n else {\n val = dir == 'x' ? stopPos : startPos;\n max = val - offs;\n css[_stopPos] =\n 'calc( 100% - ' + (val - configs.offset.button[dir]) + 'px )';\n css[_startPos] = 'auto';\n if (options.tip) {\n cls.push('mm-menu_tip-' + (dir == 'x' ? 'right' : 'bottom'));\n }\n }\n if (options.fitViewport) {\n css[_maxSize] = Math.min(configs[_size].max, max) + 'px';\n }\n return [css, cls];\n };\n function position() {\n var _this = this;\n if (!this.vars.opened) {\n return;\n }\n this.node.menu.setAttribute('style', this.node.menu['mmStyle']);\n var obj = [{}, []];\n obj = getPosition.call(this, 'y', obj);\n obj = getPosition.call(this, 'x', obj);\n for (var s in obj[0]) {\n this.node.menu.style[s] = obj[0][s];\n }\n if (options.tip) {\n var classnames = [\n 'mm-menu_tip-left',\n 'mm-menu_tip-right',\n 'mm-menu_tip-top',\n 'mm-menu_tip-bottom'\n ];\n // IE11:\n classnames.forEach(function (classname) {\n _this.node.menu.classList.remove(classname);\n });\n obj[1].forEach(function (classname) {\n _this.node.menu.classList.add(classname);\n });\n // Better browsers:\n // this.node.menu.classList.remove(...classnames);\n // this.node.menu.classList.add(...obj[1]);\n }\n }\n this.bind('open:start', position);\n window.addEventListener('resize', function (evnt) {\n position.call(_this);\n }, { passive: true });\n if (!this.opts.offCanvas.blockUI) {\n window.addEventListener('scroll', function (evnt) {\n position.call(_this);\n }, { passive: true });\n }\n}\n","var configs = {\n insertMethod: 'append',\n insertSelector: 'body'\n};\nexport default configs;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport configs from './_configs';\nimport * as DOM from '../../_modules/dom';\n//\tAdd the configs.\nMmenu.configs.fixedElements = configs;\n//\tAdd the classnames.\nMmenu.configs.classNames.fixedElements = {\n fixed: 'Fixed'\n};\nexport default function () {\n var _this = this;\n if (!this.opts.offCanvas) {\n return;\n }\n var configs = this.conf.fixedElements;\n var _fixd, fixed, wrppr;\n this.bind('setPage:after', function (page) {\n _fixd = _this.conf.classNames.fixedElements.fixed;\n wrppr = DOM.find(document, configs.insertSelector)[0];\n fixed = DOM.find(page, '.' + _fixd);\n fixed.forEach(function (fxd) {\n DOM.reClass(fxd, _fixd, 'mm-slideout');\n wrppr[configs.insertMethod](fxd);\n });\n });\n}\n","import { type } from '../../_modules/helpers';\nvar options = {\n use: false,\n top: [],\n bottom: [],\n position: 'left',\n type: 'default'\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (type(options) == 'array') {\n options = {\n use: true,\n top: options\n };\n }\n if (type(options) != 'object') {\n options = {};\n }\n if (typeof options.use == 'undefined') {\n options.use = true;\n }\n if (typeof options.use == 'boolean' && options.use) {\n options.use = true;\n }\n return options;\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport * as media from '../../_modules/matchmedia';\nimport { type, extend } from '../../_modules/helpers';\n// Add the options.\nMmenu.options.iconbar = options;\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.iconbar);\n this.opts.iconbar = extend(options, Mmenu.options.iconbar);\n if (!options.use) {\n return;\n }\n var iconbar;\n ['top', 'bottom'].forEach(function (position, n) {\n var ctnt = options[position];\n //\tExtend shorthand options\n if (type(ctnt) != 'array') {\n ctnt = [ctnt];\n }\n //\tCreate node\n var part = DOM.create('div.mm-iconbar__' + position);\n //\tAdd content\n for (var c = 0, l = ctnt.length; c < l; c++) {\n if (typeof ctnt[c] == 'string') {\n part.innerHTML += ctnt[c];\n }\n else {\n part.append(ctnt[c]);\n }\n }\n if (part.children.length) {\n if (!iconbar) {\n iconbar = DOM.create('div.mm-iconbar');\n }\n iconbar.append(part);\n }\n });\n //\tAdd to menu\n if (iconbar) {\n //\tAdd the iconbar.\n this.bind('initMenu:after', function () {\n _this.node.menu.prepend(iconbar);\n });\n //\tEn-/disable the iconbar.\n var classname_1 = 'mm-menu_iconbar-' + options.position;\n var enable = function () {\n _this.node.menu.classList.add(classname_1);\n Mmenu.sr_aria(iconbar, 'hidden', false);\n };\n var disable = function () {\n _this.node.menu.classList.remove(classname_1);\n Mmenu.sr_aria(iconbar, 'hidden', true);\n };\n if (typeof options.use == 'boolean') {\n this.bind('initMenu:after', enable);\n }\n else {\n media.add(options.use, enable, disable);\n }\n //\tTabs\n if (options.type == 'tabs') {\n iconbar.classList.add('mm-iconbar_tabs');\n iconbar.addEventListener('click', function (evnt) {\n var anchor = evnt.target;\n if (!anchor.matches('a')) {\n return;\n }\n if (anchor.matches('.mm-iconbar__tab_selected')) {\n evnt.stopImmediatePropagation();\n return;\n }\n try {\n var panel = _this.node.menu.querySelector(anchor.getAttribute('href'))[0];\n if (panel && panel.matches('.mm-panel')) {\n evnt.preventDefault();\n evnt.stopImmediatePropagation();\n _this.openPanel(panel, false);\n }\n }\n catch (err) { }\n });\n var selectTab_1 = function (panel) {\n DOM.find(iconbar, 'a').forEach(function (anchor) {\n anchor.classList.remove('mm-iconbar__tab_selected');\n });\n var anchor = DOM.find(iconbar, '[href=\"#' + panel.id + '\"]')[0];\n if (anchor) {\n anchor.classList.add('mm-iconbar__tab_selected');\n }\n else {\n var parent_1 = panel['mmParent'];\n if (parent_1) {\n selectTab_1(parent_1.closest('.mm-panel'));\n }\n }\n };\n this.bind('openPanel:start', selectTab_1);\n }\n }\n}\n","var options = {\n add: false,\n blockPanel: true,\n hideDivider: false,\n hideNavbar: true,\n visible: 3\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n add: options\n };\n }\n if (typeof options == 'number' ||\n typeof options == 'string') {\n options = {\n add: true,\n visible: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options.\nMmenu.options.iconPanels = options;\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.iconPanels);\n this.opts.iconPanels = extend(options, Mmenu.options.iconPanels);\n var keepFirst = false;\n if (options.visible == 'first') {\n keepFirst = true;\n options.visible = 1;\n }\n options.visible = Math.min(3, Math.max(1, options.visible));\n options.visible++;\n //\tAdd the iconpanels\n if (options.add) {\n this.bind('initMenu:after', function () {\n var classnames = ['mm-menu_iconpanel'];\n if (options.hideNavbar) {\n classnames.push('mm-menu_hidenavbar');\n }\n if (options.hideDivider) {\n classnames.push('mm-menu_hidedivider');\n }\n // IE11:\n classnames.forEach(function (classname) {\n _this.node.menu.classList.add(classname);\n });\n // Better browsers:\n // this.node.menu.classList.add(...classnames);\n });\n var classnames_1 = [];\n if (!keepFirst) {\n for (var i = 0; i <= options.visible; i++) {\n classnames_1.push('mm-panel_iconpanel-' + i);\n }\n }\n this.bind('openPanel:start', function (panel) {\n var panels = DOM.children(_this.node.pnls, '.mm-panel');\n panel = panel || panels[0];\n if (panel.parentElement.matches('.mm-listitem_vertical')) {\n return;\n }\n if (keepFirst) {\n panels.forEach(function (panel, p) {\n panel.classList[p == 0 ? 'add' : 'remove']('mm-panel_iconpanel-first');\n });\n }\n else {\n //\tRemove the \"iconpanel\" classnames from all panels.\n panels.forEach(function (panel) {\n // IE11:\n classnames_1.forEach(function (classname) {\n panel.classList.remove(classname);\n });\n // Better browsers:\n // panel.classList.remove(...classnames);\n });\n //\tFilter out panels that are not opened.\n panels = panels.filter(function (panel) {\n return panel.matches('.mm-panel_opened-parent');\n });\n //\tAdd the current panel to the list.\n var panelAdded_1 = false;\n panels.forEach(function (elem) {\n if (panel === elem) {\n panelAdded_1 = true;\n }\n });\n if (!panelAdded_1) {\n panels.push(panel);\n }\n //\tRemove the \"hidden\" classname from all opened panels.\n panels.forEach(function (panel) {\n panel.classList.remove('mm-hidden');\n });\n //\tSlice the opened panels to the max visible amount.\n panels = panels.slice(-options.visible);\n //\tAdd the \"iconpanel\" classnames.\n panels.forEach(function (panel, p) {\n panel.classList.add('mm-panel_iconpanel-' + p);\n });\n }\n });\n this.bind('initPanel:after', function (panel) {\n if (options.blockPanel &&\n !panel.parentElement.matches('.mm-listitem_vertical') &&\n !DOM.children(panel, '.mm-panel__blocker')[0]) {\n var blocker = DOM.create('a.mm-panel__blocker');\n blocker.setAttribute('href', '#' + panel.closest('.mm-panel').id);\n panel.prepend(blocker);\n }\n });\n }\n}\n","var options = {\n enable: false,\n enhance: false\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean' || typeof options == 'string') {\n options = {\n enable: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport * as events from '../../_modules/eventlisteners';\nimport * as support from '../../_modules/support';\nimport { extend } from '../../_modules/helpers';\n// Add the options.\nMmenu.options.keyboardNavigation = options;\nexport default function () {\n var _this = this;\n //\tKeyboard navigation on touchscreens opens the virtual keyboard :/\n //\tLets prevent that.\n if (support.touch) {\n return;\n }\n var options = extendShorthandOptions(this.opts.keyboardNavigation);\n this.opts.keyboardNavigation = extend(options, Mmenu.options.keyboardNavigation);\n //\tEnable keyboard navigation\n if (options.enable) {\n var menuStart_1 = DOM.create('button.mm-tabstart.mm-sronly'), menuEnd_1 = DOM.create('button.mm-tabend.mm-sronly'), blockerEnd_1 = DOM.create('button.mm-tabend.mm-sronly');\n this.bind('initMenu:after', function () {\n if (options.enhance) {\n _this.node.menu.classList.add('mm-menu_keyboardfocus');\n }\n initWindow.call(_this, options.enhance);\n });\n this.bind('initOpened:before', function () {\n _this.node.menu.prepend(menuStart_1);\n _this.node.menu.append(menuEnd_1);\n DOM.children(_this.node.menu, '.mm-navbars-top, .mm-navbars-bottom').forEach(function (navbars) {\n navbars.querySelectorAll('.mm-navbar__title').forEach(function (title) {\n title.setAttribute('tabindex', '-1');\n });\n });\n });\n this.bind('initBlocker:after', function () {\n Mmenu.node.blck.append(blockerEnd_1);\n DOM.children(Mmenu.node.blck, 'a')[0].classList.add('mm-tabstart');\n });\n var focusable_1 = 'input, select, textarea, button, label, a[href]';\n var setFocus = function (panel) {\n panel =\n panel || DOM.children(_this.node.pnls, '.mm-panel_opened')[0];\n var focus = null;\n //\tFocus already is on an element in a navbar in this menu.\n var navbar = document.activeElement.closest('.mm-navbar');\n if (navbar) {\n if (navbar.closest('.mm-menu') == _this.node.menu) {\n return;\n }\n }\n //\tSet the focus to the first focusable element by default.\n if (options.enable == 'default') {\n //\tFirst visible anchor in a listview in the current panel.\n focus = DOM.find(panel, '.mm-listview a[href]:not(.mm-hidden)')[0];\n //\tFirst focusable and visible element in the current panel.\n if (!focus) {\n focus = DOM.find(panel, focusable_1 + ':not(.mm-hidden)')[0];\n }\n //\tFirst focusable and visible element in a navbar.\n if (!focus) {\n var elements_1 = [];\n DOM.children(_this.node.menu, '.mm-navbars_top, .mm-navbars_bottom').forEach(function (navbar) {\n elements_1.push.apply(elements_1, DOM.find(navbar, focusable_1 + ':not(.mm-hidden)'));\n });\n focus = elements_1[0];\n }\n }\n //\tDefault.\n if (!focus) {\n focus = DOM.children(_this.node.menu, '.mm-tabstart')[0];\n }\n if (focus) {\n focus.focus();\n }\n };\n this.bind('open:finish', setFocus);\n this.bind('openPanel:finish', setFocus);\n //\tAdd screenreader / aria support.\n this.bind('initOpened:after:sr-aria', function () {\n [_this.node.menu, Mmenu.node.blck].forEach(function (element) {\n DOM.children(element, '.mm-tabstart, .mm-tabend').forEach(function (tabber) {\n Mmenu.sr_aria(tabber, 'hidden', true);\n Mmenu.sr_role(tabber, 'presentation');\n });\n });\n });\n }\n}\n/**\n * Initialize the window for keyboard navigation.\n * @param {boolean} enhance - Whether or not to also rich enhance the keyboard behavior.\n **/\nvar initWindow = function (enhance) {\n var _this = this;\n //\tRe-enable tabbing in general\n events.off(document.body, 'keydown.tabguard');\n //\tIntersept the target when tabbing.\n events.off(document.body, 'focusin.tabguard');\n events.on(document.body, 'focusin.tabguard', function (evnt) {\n if (_this.node.wrpr.matches('.mm-wrapper_opened')) {\n var target = evnt.target;\n if (target.matches('.mm-tabend')) {\n var next = void 0;\n //\tJump from menu to blocker.\n if (target.parentElement.matches('.mm-menu')) {\n if (Mmenu.node.blck) {\n next = Mmenu.node.blck;\n }\n }\n //\tJump to opened menu.\n if (target.parentElement.matches('.mm-wrapper__blocker')) {\n next = DOM.find(document.body, '.mm-menu_offcanvas.mm-menu_opened')[0];\n }\n //\tIf no available element found, stay in current element.\n if (!next) {\n next = target.parentElement;\n }\n if (next) {\n DOM.children(next, '.mm-tabstart')[0].focus();\n }\n }\n }\n });\n //\tAdd Additional keyboard behavior.\n events.off(document.body, 'keydown.navigate');\n events.on(document.body, 'keydown.navigate', function (evnt) {\n var target = evnt.target;\n var menu = target.closest('.mm-menu');\n if (menu) {\n var api = menu['mmApi'];\n if (!target.matches('input, textarea')) {\n switch (evnt.keyCode) {\n //\tpress enter to toggle and check\n case 13:\n if (target.matches('.mm-toggle') ||\n target.matches('.mm-check')) {\n target.dispatchEvent(new Event('click'));\n }\n break;\n //\tprevent spacebar or arrows from scrolling the page\n case 32: //\tspace\n case 37: //\tleft\n case 38: //\ttop\n case 39: //\tright\n case 40: //\tbottom\n evnt.preventDefault();\n break;\n }\n }\n if (enhance) {\n //\tspecial case for input\n if (target.matches('input')) {\n switch (evnt.keyCode) {\n //\tempty searchfield with esc\n case 27:\n target.value = '';\n break;\n }\n }\n else {\n var api_1 = menu['mmApi'];\n switch (evnt.keyCode) {\n //\tclose submenu with backspace\n case 8:\n var parent_1 = DOM.find(menu, '.mm-panel_opened')[0]['mmParent'];\n if (parent_1) {\n api_1.openPanel(parent_1.closest('.mm-panel'));\n }\n break;\n //\tclose menu with esc\n case 27:\n if (menu.matches('.mm-menu_offcanvas')) {\n api_1.close();\n }\n break;\n }\n }\n }\n }\n });\n};\n","var options = {\n load: false\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n load: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options.\nMmenu.options.lazySubmenus = options;\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.lazySubmenus);\n this.opts.lazySubmenus = extend(options, Mmenu.options.lazySubmenus);\n if (options.load) {\n //\tPrevent all sub panels from being initialized.\n this.bind('initPanels:before', function () {\n var panels = [];\n //\tFind all potential subpanels.\n DOM.find(_this.node.pnls, 'li').forEach(function (listitem) {\n panels.push.apply(panels, DOM.children(listitem, _this.conf.panelNodetype.join(', ')));\n });\n //\tFilter out all non-panels and add the lazyload classes\n panels\n .filter(function (panel) { return !panel.matches('.mm-listview_inset'); })\n .filter(function (panel) { return !panel.matches('.mm-nolistview'); })\n .filter(function (panel) { return !panel.matches('.mm-nopanel'); })\n .forEach(function (panel) {\n var classnames = [\n 'mm-panel_lazysubmenu',\n 'mm-nolistview',\n 'mm-nopanel',\n ];\n // IE11:\n classnames.forEach(function (classname) {\n panel.classList.add(classname);\n });\n // Better browsers:\n // panel.classList.add(...classnames);\n });\n });\n //\tre-enable the default opened panel to be initialized.\n this.bind('initPanels:before', function () {\n var panels = [];\n DOM.find(_this.node.pnls, '.' + _this.conf.classNames.selected).forEach(function (listitem) {\n panels.push.apply(panels, DOM.parents(listitem, '.mm-panel_lazysubmenu'));\n });\n if (panels.length) {\n panels.forEach(function (panel) {\n console.log(panel);\n var classnames = [\n 'mm-panel_lazysubmenu',\n 'mm-nolistview',\n 'mm-nopanel',\n ];\n // IE11:\n classnames.forEach(function (classname) {\n panel.classList.remove(classname);\n });\n // Better browsers:\n // panel.classList.remove(...classnames);\n });\n }\n });\n //\tinitPanel for current- and sub panels before openPanel\n this.bind('openPanel:before', function (panel) {\n var panels = DOM.find(panel, '.mm-panel_lazysubmenu').filter(function (panel) {\n return !panel.matches('.mm-panel_lazysubmenu .mm-panel_lazysubmenu');\n });\n if (panel.matches('.mm-panel_lazysubmenu')) {\n panels.unshift(panel);\n }\n panels.forEach(function (panel) {\n var classnames = [\n 'mm-panel_lazysubmenu',\n 'mm-nolistview',\n 'mm-nopanel',\n ];\n // IE11:\n classnames.forEach(function (classname) {\n panel.classList.remove(classname);\n });\n // Better browsers:\n // child.classList.remove(...classnames);\n _this.initPanel(panel);\n });\n });\n }\n}\n","var options = [];\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean' && options) {\n options = {};\n }\n if (typeof options != 'object') {\n options = {};\n }\n if (typeof options.content == 'undefined') {\n options.content = ['prev', 'title'];\n }\n if (!(options.content instanceof Array)) {\n options.content = [options.content];\n }\n if (typeof options.use == 'undefined') {\n options.use = true;\n }\n if (typeof options.use == 'boolean' && options.use) {\n options.use = true;\n }\n return options;\n}\n;\n","var configs = {\n breadcrumbs: {\n separator: '/',\n removeFirst: false\n }\n};\nexport default configs;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport configs from './_configs';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport * as media from '../../_modules/matchmedia';\n// Add the options and configs.\nMmenu.options.navbars = options;\nMmenu.configs.navbars = configs;\n// Add the classnames.\nMmenu.configs.classNames.navbars = {\n panelPrev: 'Prev',\n panelTitle: 'Title'\n};\nimport breadcrumbs from './_navbar.breadcrumbs';\nimport close from './_navbar.close';\nimport prev from './_navbar.prev';\nimport searchfield from './_navbar.searchfield';\nimport title from './_navbar.title';\nNavbars.navbarContents = {\n breadcrumbs: breadcrumbs,\n close: close,\n prev: prev,\n searchfield: searchfield,\n title: title\n};\nimport tabs from './_navbar.tabs';\nNavbars.navbarTypes = {\n tabs: tabs\n};\nexport default function Navbars() {\n var _this = this;\n var navs = this.opts.navbars;\n if (typeof navs == 'undefined') {\n return;\n }\n if (!(navs instanceof Array)) {\n navs = [navs];\n }\n var navbars = {};\n if (!navs.length) {\n return;\n }\n navs.forEach(function (options) {\n options = extendShorthandOptions(options);\n if (!options.use) {\n return false;\n }\n //\tCreate the navbar element.\n var navbar = DOM.create('div.mm-navbar');\n //\tGet the position for the navbar.\n var position = options.position;\n //\tRestrict the position to either \"bottom\" or \"top\" (default).\n if (position !== 'bottom') {\n position = 'top';\n }\n //\tCreate the wrapper for the navbar position.\n if (!navbars[position]) {\n navbars[position] = DOM.create('div.mm-navbars_' + position);\n }\n navbars[position].append(navbar);\n //\tAdd content to the navbar.\n for (var c = 0, l = options.content.length; c < l; c++) {\n var ctnt = options.content[c];\n //\tThe content is a string.\n if (typeof ctnt == 'string') {\n var func = Navbars.navbarContents[ctnt];\n //\tThe content refers to one of the navbar-presets (\"prev\", \"title\", etc).\n if (typeof func == 'function') {\n //\tCall the preset function.\n func.call(_this, navbar);\n //\tThe content is just HTML.\n }\n else {\n //\tAdd the HTML.\n // Wrap the HTML in a single node\n var node = DOM.create('span');\n node.innerHTML = ctnt;\n // If there was only a single node, use that.\n var children = DOM.children(node);\n if (children.length == 1) {\n node = children[0];\n }\n navbar.append(node);\n }\n //\tThe content is not a string, it must be an element.\n }\n else {\n navbar.append(ctnt);\n }\n }\n //\tThe type option is set.\n if (typeof options.type == 'string') {\n //\tThe function refers to one of the navbar-presets (\"tabs\").\n var func = Navbars.navbarTypes[options.type];\n if (typeof func == 'function') {\n //\tCall the preset function.\n func.call(_this, navbar);\n }\n }\n //\tEn-/disable the navbar.\n var enable = function () {\n navbar.classList.remove('mm-hidden');\n Mmenu.sr_aria(navbar, 'hidden', false);\n };\n var disable = function () {\n navbar.classList.add('mm-hidden');\n Mmenu.sr_aria(navbar, 'hidden', true);\n };\n if (typeof options.use != 'boolean') {\n media.add(options.use, enable, disable);\n }\n });\n //\tAdd to menu.\n this.bind('initMenu:after', function () {\n for (var position in navbars) {\n _this.node.menu[position == 'bottom' ? 'append' : 'prepend'](navbars[position]);\n }\n });\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport * as DOM from '../../_modules/dom';\nexport default function (navbar) {\n var _this = this;\n //\tAdd content\n var breadcrumbs = DOM.create('div.mm-navbar__breadcrumbs');\n navbar.append(breadcrumbs);\n this.bind('initNavbar:after', function (panel) {\n if (panel.querySelector('.mm-navbar__breadcrumbs')) {\n return;\n }\n DOM.children(panel, '.mm-navbar')[0].classList.add('mm-hidden');\n var crumbs = [], breadcrumbs = DOM.create('span.mm-navbar__breadcrumbs'), current = panel, first = true;\n while (current) {\n current = current.closest('.mm-panel');\n if (!current.parentElement.matches('.mm-listitem_vertical')) {\n var title = DOM.find(current, '.mm-navbar__title span')[0];\n if (title) {\n var text = title.textContent;\n if (text.length) {\n crumbs.unshift(first\n ? '' + text + ''\n : '' +\n text +\n '');\n }\n }\n first = false;\n }\n current = current['mmParent'];\n }\n if (_this.conf.navbars.breadcrumbs.removeFirst) {\n crumbs.shift();\n }\n breadcrumbs.innerHTML = crumbs.join('' +\n _this.conf.navbars.breadcrumbs.separator +\n '');\n DOM.children(panel, '.mm-navbar')[0].append(breadcrumbs);\n });\n //\tUpdate for to opened panel\n this.bind('openPanel:start', function (panel) {\n var crumbs = panel.querySelector('.mm-navbar__breadcrumbs');\n breadcrumbs.innerHTML = crumbs ? crumbs.innerHTML : '';\n });\n //\tAdd screenreader / aria support\n this.bind('initNavbar:after:sr-aria', function (panel) {\n DOM.find(panel, '.mm-breadcrumbs a').forEach(function (anchor) {\n Mmenu.sr_aria(anchor, 'owns', anchor.getAttribute('href').slice(1));\n });\n });\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport * as DOM from '../../_modules/dom';\nexport default function (navbar) {\n var _this = this;\n //\tAdd content\n var close = DOM.create('a.mm-btn.mm-btn_close.mm-navbar__btn');\n navbar.append(close);\n //\tUpdate to page node\n this.bind('setPage:after', function (page) {\n close.setAttribute('href', '#' + page.id);\n });\n //\tAdd screenreader / text support\n this.bind('setPage:after:sr-text', function () {\n close.innerHTML = Mmenu.sr_text(_this.i18n(_this.conf.screenReader.text.closeMenu));\n });\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport * as DOM from '../../_modules/dom';\nexport default function (navbar) {\n var _this = this;\n //\tAdd content.\n var prev = DOM.create('a.mm-btn.mm-btn_prev.mm-navbar__btn');\n navbar.append(prev);\n this.bind('initNavbar:after', function (panel) {\n DOM.children(panel, '.mm-navbar')[0].classList.add('mm-hidden');\n });\n //\tUpdate to opened panel.\n var org;\n var _url, _txt;\n this.bind('openPanel:start', function (panel) {\n if (panel.parentElement.matches('.mm-listitem_vertical')) {\n return;\n }\n org = panel.querySelector('.' + _this.conf.classNames.navbars.panelPrev);\n if (!org) {\n org = panel.querySelector('.mm-navbar__btn.mm-btn_prev');\n }\n _url = org ? org.getAttribute('href') : '';\n _txt = org ? org.innerHTML : '';\n if (_url) {\n prev.setAttribute('href', _url);\n }\n else {\n prev.removeAttribute('href');\n }\n prev.classList[_url || _txt ? 'remove' : 'add']('mm-hidden');\n prev.innerHTML = _txt;\n });\n //\tAdd screenreader / aria support\n this.bind('initNavbar:after:sr-aria', function (panel) {\n Mmenu.sr_aria(panel.querySelector('.mm-navbar'), 'hidden', true);\n });\n this.bind('openPanel:start:sr-aria', function (panel) {\n Mmenu.sr_aria(prev, 'hidden', prev.matches('.mm-hidden'));\n Mmenu.sr_aria(prev, 'owns', (prev.getAttribute('href') || '').slice(1));\n });\n}\n","import * as DOM from '../../_modules/dom';\nimport { type } from '../../_modules/helpers';\nexport default function (navbar) {\n if (type(this.opts.searchfield) != 'object') {\n this.opts.searchfield = {};\n }\n var searchfield = DOM.create('div.mm-navbar__searchfield');\n navbar.append(searchfield);\n this.opts.searchfield.add = true;\n this.opts.searchfield.addTo = [searchfield];\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport * as DOM from '../../_modules/dom';\nexport default function (navbar) {\n var _this = this;\n //\tAdd content to the navbar.\n var title = DOM.create('a.mm-navbar__title');\n var titleText = DOM.create('span');\n title.append(titleText);\n navbar.append(title);\n //\tUpdate the title to the opened panel.\n var _url, _txt;\n var original;\n this.bind('openPanel:start', function (panel) {\n //\tDo nothing in a vertically expanding panel.\n if (panel.parentElement.matches('.mm-listitem_vertical')) {\n return;\n }\n //\tFind the original title in the opened panel.\n original = panel.querySelector('.' + _this.conf.classNames.navbars.panelTitle);\n if (!original) {\n original = panel.querySelector('.mm-navbar__title span');\n }\n //\tGet the URL for the title.\n _url =\n original && original.closest('a')\n ? original.closest('a').getAttribute('href')\n : '';\n if (_url) {\n title.setAttribute('href', _url);\n }\n else {\n title.removeAttribute('href');\n }\n //\tGet the text for the title.\n _txt = original ? original.innerHTML : '';\n titleText.innerHTML = _txt;\n });\n //\tAdd screenreader / aria support\n var prev;\n this.bind('openPanel:start:sr-aria', function (panel) {\n if (_this.opts.screenReader.text) {\n if (!prev) {\n var navbars = DOM.children(_this.node.menu, '.mm-navbars_top, .mm-navbars_bottom');\n navbars.forEach(function (navbar) {\n var btn = navbar.querySelector('.mm-btn_prev');\n if (btn) {\n prev = btn;\n }\n });\n }\n if (prev) {\n var hidden = true;\n if (_this.opts.navbar.titleLink == 'parent') {\n hidden = !prev.matches('.mm-hidden');\n }\n Mmenu.sr_aria(title, 'hidden', hidden);\n }\n }\n });\n}\n","import * as DOM from '../../_modules/dom';\nexport default function (navbar) {\n var _this = this;\n navbar.classList.add('mm-navbar_tabs');\n navbar.parentElement.classList.add('mm-navbars_has-tabs');\n var anchors = DOM.children(navbar, 'a');\n navbar.addEventListener('click', function (evnt) {\n var anchor = evnt.target;\n if (!anchor.matches('a')) {\n return;\n }\n if (anchor.matches('.mm-navbar__tab_selected')) {\n evnt.stopImmediatePropagation();\n return;\n }\n try {\n _this.openPanel(_this.node.menu.querySelector(anchor.getAttribute('href')), false);\n evnt.stopImmediatePropagation();\n }\n catch (err) { }\n });\n function selectTab(panel) {\n anchors.forEach(function (anchor) {\n anchor.classList.remove('mm-navbar__tab_selected');\n });\n var anchor = anchors.filter(function (anchor) {\n return anchor.matches('[href=\"#' + panel.id + '\"]');\n })[0];\n if (anchor) {\n anchor.classList.add('mm-navbar__tab_selected');\n }\n else {\n var parent = panel['mmParent'];\n if (parent) {\n selectTab.call(this, parent.closest('.mm-panel'));\n }\n }\n }\n this.bind('openPanel:start', selectTab);\n}\n","var options = {\n scroll: false,\n update: false\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n scroll: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","var configs = {\n scrollOffset: 0,\n updateOffset: 50\n};\nexport default configs;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport configs from './_configs';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options and configs.\nMmenu.options.pageScroll = options;\nMmenu.configs.pageScroll = configs;\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.pageScroll);\n this.opts.pageScroll = extend(options, Mmenu.options.pageScroll);\n var configs = this.conf.pageScroll;\n /** The currently \"active\" section */\n var section;\n function scrollTo() {\n if (section) {\n // section.scrollIntoView({ behavior: 'smooth' });\n window.scrollTo({\n top: section.getBoundingClientRect().top +\n document.scrollingElement.scrollTop -\n configs.scrollOffset,\n behavior: 'smooth'\n });\n }\n section = null;\n }\n function anchorInPage(href) {\n try {\n if (href != '#' && href.slice(0, 1) == '#') {\n return Mmenu.node.page.querySelector(href);\n }\n return null;\n }\n catch (err) {\n return null;\n }\n }\n //\tScroll to section after clicking menu item.\n if (options.scroll) {\n this.bind('close:finish', function () {\n scrollTo();\n });\n }\n //\tAdd click behavior.\n //\tPrevents default behavior when clicking an anchor.\n if (this.opts.offCanvas && options.scroll) {\n this.clck.push(function (anchor, args) {\n section = null;\n //\tDon't continue if the clicked anchor is not in the menu.\n if (!args.inMenu) {\n return;\n }\n //\tDon't continue if the targeted section is not on the page.\n var href = anchor.getAttribute('href');\n section = anchorInPage(href);\n if (!section) {\n return;\n }\n //\tIf the sidebar add-on is \"expanded\"...\n if (_this.node.menu.matches('.mm-menu_sidebar-expanded') &&\n _this.node.wrpr.matches('.mm-wrapper_sidebar-expanded')) {\n //\t... scroll the page to the section.\n scrollTo();\n //\t... otherwise...\n }\n else {\n //\t... close the menu.\n return {\n close: true\n };\n }\n });\n }\n //\tUpdate selected menu item after scrolling.\n if (options.update) {\n var scts_1 = [];\n this.bind('initListview:after', function (listview) {\n var listitems = DOM.children(listview, '.mm-listitem');\n DOM.filterLIA(listitems).forEach(function (anchor) {\n var href = anchor.getAttribute('href');\n var section = anchorInPage(href);\n if (section) {\n scts_1.unshift(section);\n }\n });\n });\n var _selected_1 = -1;\n window.addEventListener('scroll', function (evnt) {\n var scrollTop = window.scrollY;\n for (var s = 0; s < scts_1.length; s++) {\n if (scts_1[s].offsetTop < scrollTop + configs.updateOffset) {\n if (_selected_1 !== s) {\n _selected_1 = s;\n var panel = DOM.children(_this.node.pnls, '.mm-panel_opened')[0];\n var listitems = DOM.find(panel, '.mm-listitem');\n var anchors = DOM.filterLIA(listitems);\n anchors = anchors.filter(function (anchor) {\n return anchor.matches('[href=\"#' + scts_1[s].id + '\"]');\n });\n if (anchors.length) {\n _this.setSelected(anchors[0].parentElement);\n }\n }\n break;\n }\n }\n });\n }\n}\n","var options = {\n add: false,\n addTo: 'panels',\n cancel: false,\n noResults: 'No results found.',\n placeholder: 'Search',\n panel: {\n add: false,\n dividers: true,\n fx: 'none',\n id: null,\n splash: null,\n title: 'Search'\n },\n search: true,\n showTextItems: false,\n showSubPanels: true\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n add: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n if (typeof options.panel == 'boolean') {\n options.panel = {\n add: options.panel\n };\n }\n if (typeof options.panel != 'object') {\n options.panel = {};\n }\n //\tExtend logical options.\n if (options.addTo == 'panel') {\n options.panel.add = true;\n }\n if (options.panel.add) {\n options.showSubPanels = false;\n if (options.panel.splash) {\n options.cancel = true;\n }\n }\n return options;\n}\n;\n","var configs = {\n clear: false,\n form: false,\n input: false,\n submit: false\n};\nexport default configs;\n","export default {\n Search: 'جستجو',\n 'No results found.': 'نتیجه‌ای یافت نشد.',\n cancel: 'انصراف'\n};\n","export default {\n Search: 'Suche',\n 'No results found.': 'Keine Ergebnisse gefunden.',\n cancel: 'beenden'\n};\n","export default {\n Search: 'Найти',\n 'No results found.': 'Ничего не найдено.',\n cancel: 'отменить'\n};\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport configs from './_configs';\nimport translate from './translations/translate';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport * as events from '../../_modules/eventlisteners';\nimport { type, extend } from '../../_modules/helpers';\n// Add the translations.\ntranslate();\n// Add the options and configs.\nMmenu.options.searchfield = options;\nMmenu.configs.searchfield = configs;\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.searchfield);\n this.opts.searchfield = extend(options, Mmenu.options.searchfield);\n var configs = this.conf.searchfield;\n if (!options.add) {\n return;\n }\n //\tBlur searchfield\n this.bind('close:start', function () {\n DOM.find(_this.node.menu, '.mm-searchfield').forEach(function (input) {\n input.blur();\n });\n });\n this.bind('initPanel:after', function (panel) {\n var searchpanel = null;\n //\tAdd the search panel\n if (options.panel.add) {\n searchpanel = initSearchPanel.call(_this);\n }\n //\tAdd the searchfield\n var addTo = null;\n switch (options.addTo) {\n case 'panels':\n addTo = [panel];\n break;\n case 'panel':\n addTo = [searchpanel];\n break;\n default:\n if (typeof options.addTo == 'string') {\n addTo = DOM.find(_this.node.menu, options.addTo);\n }\n else if (type(options.addTo) == 'array') {\n addTo = options.addTo;\n }\n break;\n }\n addTo.forEach(function (form) {\n form = initSearchfield.call(_this, form);\n if (options.search && form) {\n initSearching.call(_this, form);\n }\n });\n //\tAdd the no-results message\n if (options.noResults) {\n initNoResultsMsg.call(_this, options.panel.add ? searchpanel : panel);\n }\n });\n //\tAdd click behavior.\n //\tPrevents default behavior when clicking an anchor\n this.clck.push(function (anchor, args) {\n if (args.inMenu) {\n if (anchor.matches('.mm-searchfield__btn')) {\n //\tClicking the clear button\n if (anchor.matches('.mm-btn_close')) {\n var form = anchor.closest('.mm-searchfield'), input = DOM.find(form, 'input')[0];\n input.value = '';\n _this.search(input);\n return true;\n }\n //\tClicking the submit button\n if (anchor.matches('.mm-btn_next')) {\n var form = anchor.closest('form');\n if (form) {\n form.submit();\n }\n return true;\n }\n }\n }\n });\n}\nvar initSearchPanel = function () {\n var options = this.opts.searchfield, configs = this.conf.searchfield;\n var searchpanel = DOM.children(this.node.pnls, '.mm-panel_search')[0];\n //\tOnly once\n if (searchpanel) {\n return searchpanel;\n }\n searchpanel = DOM.create('div.mm-panel.mm-panel_search.mm-hidden');\n if (options.panel.id) {\n searchpanel.id = options.panel.id;\n }\n if (options.panel.title) {\n searchpanel.setAttribute('data-mm-title', options.panel.title);\n // searchpanel.dataset.mmTitle = options.panel.title; // IE10 has no dataset :(\n }\n var listview = DOM.create('ul');\n searchpanel.append(listview);\n this.node.pnls.append(searchpanel);\n this.initListview(listview);\n this._initNavbar(searchpanel);\n switch (options.panel.fx) {\n case false:\n break;\n case 'none':\n searchpanel.classList.add('mm-panel_noanimation');\n break;\n default:\n searchpanel.classList.add('mm-panel_fx-' + options.panel.fx);\n break;\n }\n //\tAdd splash content\n if (options.panel.splash) {\n var splash = DOM.create('div.mm-panel__content');\n splash.innerHTML = options.panel.splash;\n searchpanel.append(splash);\n }\n searchpanel.classList.add('mm-panel');\n searchpanel.classList.add('mm-hidden');\n this.node.pnls.append(searchpanel);\n return searchpanel;\n};\nvar initSearchfield = function (wrapper) {\n var options = this.opts.searchfield, configs = this.conf.searchfield;\n //\tNo searchfield in vertical submenus\n if (wrapper.parentElement.matches('.mm-listitem_vertical')) {\n return null;\n }\n //\tOnly one searchfield per panel\n var form = DOM.find(wrapper, '.mm-searchfield')[0];\n if (form) {\n return form;\n }\n function addAttributes(element, attr) {\n if (attr) {\n for (var a in attr) {\n element.setAttribute(a, attr[a]);\n }\n }\n }\n var form = DOM.create((configs.form ? 'form' : 'div') + '.mm-searchfield'), field = DOM.create('div.mm-searchfield__input'), input = DOM.create('input');\n input.type = 'text';\n input.autocomplete = 'off';\n input.placeholder = this.i18n(options.placeholder);\n field.append(input);\n form.append(field);\n wrapper.prepend(form);\n //\tAdd attributes to the input\n addAttributes(input, configs.input);\n //\tAdd the clear button\n if (configs.clear) {\n var anchor = DOM.create('a.mm-btn.mm-btn_close.mm-searchfield__btn');\n anchor.setAttribute('href', '#');\n field.append(anchor);\n }\n //\tAdd attributes and submit to the form\n addAttributes(form, configs.form);\n if (configs.form && configs.submit && !configs.clear) {\n var anchor = DOM.create('a.mm-btn.mm-btn_next.mm-searchfield__btn');\n anchor.setAttribute('href', '#');\n field.append(anchor);\n }\n if (options.cancel) {\n var anchor = DOM.create('a.mm-searchfield__cancel');\n anchor.setAttribute('href', '#');\n anchor.textContent = this.i18n('cancel');\n form.append(anchor);\n }\n return form;\n};\nvar initSearching = function (form) {\n var _this = this;\n var options = this.opts.searchfield, configs = this.conf.searchfield;\n var data = {};\n //\tIn the searchpanel.\n if (form.closest('.mm-panel_search')) {\n data.panels = DOM.find(this.node.pnls, '.mm-panel');\n data.noresults = [form.closest('.mm-panel')];\n //\tIn a panel\n }\n else if (form.closest('.mm-panel')) {\n data.panels = [form.closest('.mm-panel')];\n data.noresults = data.panels;\n //\tNot in a panel, global\n }\n else {\n data.panels = DOM.find(this.node.pnls, '.mm-panel');\n data.noresults = [this.node.menu];\n }\n //\tFilter out search panel\n data.panels = data.panels.filter(function (panel) { return !panel.matches('.mm-panel_search'); });\n //\tFilter out vertical submenus\n data.panels = data.panels.filter(function (panel) { return !panel.parentElement.matches('.mm-listitem_vertical'); });\n // Find listitems and dividers.\n data.listitems = [];\n data.dividers = [];\n data.panels.forEach(function (panel) {\n var _a, _b;\n (_a = data.listitems).push.apply(_a, DOM.find(panel, '.mm-listitem'));\n (_b = data.dividers).push.apply(_b, DOM.find(panel, '.mm-divider'));\n });\n var searchpanel = DOM.children(this.node.pnls, '.mm-panel_search')[0], input = DOM.find(form, 'input')[0], cancel = DOM.find(form, '.mm-searchfield__cancel')[0];\n input['mmSearchfield'] = data;\n //\tOpen the splash panel when focussing the input.\n if (options.panel.add && options.panel.splash) {\n events.off(input, 'focus.splash');\n events.on(input, 'focus.splash', function (evnt) {\n _this.openPanel(searchpanel);\n });\n }\n if (options.cancel) {\n //\tShow the cancel button when focussing the input.\n events.off(input, 'focus.cancel');\n events.on(input, 'focus.cancel', function (evnt) {\n cancel.classList.add('mm-searchfield__cancel-active');\n });\n //\tClose the splash panel when clicking the cancel button.\n events.off(cancel, 'click.splash');\n events.on(cancel, 'click.splash', function (evnt) {\n evnt.preventDefault();\n cancel.classList.remove('mm-searchfield__cancel-active');\n if (searchpanel.matches('.mm-panel_opened')) {\n var parents = DOM.children(_this.node.pnls, '.mm-panel_opened-parent');\n if (parents.length) {\n _this.openPanel(parents[parents.length - 1]);\n }\n }\n });\n }\n //\tFocus the input in the searchpanel when opening the searchpanel.\n if (options.panel.add && options.addTo == 'panel') {\n this.bind('openPanel:finish', function (panel) {\n if (panel === searchpanel) {\n input.focus();\n }\n });\n }\n //\tSearch while typing.\n events.off(input, 'input.search');\n events.on(input, 'input.search', function (evnt) {\n switch (evnt.keyCode) {\n case 9: //\ttab\n case 16: //\tshift\n case 17: //\tcontrol\n case 18: //\talt\n case 37: //\tleft\n case 38: //\ttop\n case 39: //\tright\n case 40: //\tbottom\n break;\n default:\n _this.search(input);\n break;\n }\n });\n //\tSearch initially.\n this.search(input);\n};\nvar initNoResultsMsg = function (wrapper) {\n if (!wrapper) {\n return;\n }\n var options = this.opts.searchfield, configs = this.conf.searchfield;\n //\tNot in a panel\n if (!wrapper.closest('.mm-panel')) {\n wrapper = DOM.children(this.node.pnls, '.mm-panel')[0];\n }\n //\tOnly once\n if (DOM.children(wrapper, '.mm-panel__noresultsmsg').length) {\n return;\n }\n //\tAdd no-results message\n var message = DOM.create('div.mm-panel__noresultsmsg.mm-hidden');\n message.innerHTML = this.i18n(options.noResults);\n wrapper.append(message);\n};\nMmenu.prototype.search = function (input, query) {\n var _a;\n var _this = this;\n var options = this.opts.searchfield, configs = this.conf.searchfield;\n query = query || '' + input.value;\n query = query.toLowerCase().trim();\n var data = input['mmSearchfield'];\n var form = input.closest('.mm-searchfield'), buttons = DOM.find(form, '.mm-btn'), searchpanel = DOM.children(this.node.pnls, '.mm-panel_search')[0];\n /** The panels. */\n var panels = data.panels;\n /** The \"no results\" messages in a cloned array. */\n var noresults = data.noresults;\n /** The listitems in a cloned array. */\n var listitems = data.listitems;\n /** Tje dividers in a cloned array. */\n var dividers = data.dividers;\n //\tReset previous results\n listitems.forEach(function (listitem) {\n listitem.classList.remove('mm-listitem_nosubitems');\n listitem.classList.remove('mm-listitem_onlysubitems');\n listitem.classList.remove('mm-hidden');\n });\n if (searchpanel) {\n DOM.children(searchpanel, '.mm-listview')[0].innerHTML = '';\n }\n panels.forEach(function (panel) {\n panel.scrollTop = 0;\n });\n //\tSearch\n if (query.length) {\n //\tInitially hide all dividers.\n dividers.forEach(function (divider) {\n divider.classList.add('mm-hidden');\n });\n //\tHide listitems that do not match.\n listitems.forEach(function (listitem) {\n var text = DOM.children(listitem, '.mm-listitem__text')[0];\n var add = false;\n // The listitem should be shown if:\n // 1) The text matches the query and\n // 2a) The text is a open-button and\n // 2b) the option showSubPanels is set to true.\n // or 3a) The text is not an anchor and\n // 3b) the option showTextItems is set to true.\n // or 4) The text is an anchor.\n // 1\n if (text &&\n DOM.text(text)\n .toLowerCase()\n .indexOf(query) > -1) {\n // 2a\n if (text.matches('.mm-listitem__btn')) {\n // 2b\n if (options.showSubPanels) {\n add = true;\n }\n }\n // 3a\n else if (!text.matches('a')) {\n // 3b\n if (options.showTextItems) {\n add = true;\n }\n }\n // 4\n else {\n add = true;\n }\n }\n if (!add) {\n listitem.classList.add('mm-hidden');\n }\n });\n /** Whether or not the query yielded results. */\n var hasResults = listitems.filter(function (listitem) { return !listitem.matches('.mm-hidden'); }).length;\n //\tShow all mached listitems in the search panel\n if (options.panel.add) {\n //\tClone all matched listitems into the search panel\n var allitems_1 = [];\n panels.forEach(function (panel) {\n var listitems = DOM.filterLI(DOM.find(panel, '.mm-listitem'));\n listitems = listitems.filter(function (listitem) { return !listitem.matches('.mm-hidden'); });\n if (listitems.length) {\n // Add a divider to indicate in what panel the listitems were.\n if (options.panel.dividers) {\n var divider = DOM.create('li.mm-divider');\n var title = DOM.find(panel, '.mm-navbar__title')[0];\n if (title) {\n divider.innerHTML = title.innerHTML;\n allitems_1.push(divider);\n }\n }\n listitems.forEach(function (listitem) {\n allitems_1.push(listitem.cloneNode(true));\n });\n }\n });\n //\tRemove toggles and checks.\n allitems_1.forEach(function (listitem) {\n listitem\n .querySelectorAll('.mm-toggle, .mm-check')\n .forEach(function (element) {\n element.remove();\n });\n });\n //\tAdd to the search panel.\n (_a = DOM.children(searchpanel, '.mm-listview')[0]).append.apply(_a, allitems_1);\n //\tOpen the search panel.\n this.openPanel(searchpanel);\n }\n else {\n //\tAlso show listitems in sub-panels for matched listitems\n if (options.showSubPanels) {\n panels.forEach(function (panel) {\n var listitems = DOM.find(panel, '.mm-listitem');\n DOM.filterLI(listitems).forEach(function (listitem) {\n var child = listitem['mmChild'];\n if (child) {\n DOM.find(child, '.mm-listitem').forEach(function (listitem) {\n listitem.classList.remove('mm-hidden');\n });\n }\n });\n });\n }\n //\tUpdate parent for sub-panel\n // .reverse() mutates the original array, therefor we \"clone\" it first using [...panels].\n __spreadArrays(panels).reverse().forEach(function (panel, p) {\n var parent = panel['mmParent'];\n if (parent) {\n //\tThe current panel has mached listitems\n var listitems_1 = DOM.find(panel, '.mm-listitem');\n if (DOM.filterLI(listitems_1).length) {\n //\tShow parent\n if (parent.matches('.mm-hidden')) {\n parent.classList.remove('mm-hidden');\n }\n parent.classList.add('mm-listitem_onlysubitems');\n }\n else if (!input.closest('.mm-panel')) {\n if (panel.matches('.mm-panel_opened') ||\n panel.matches('.mm-panel_opened-parent')) {\n //\tCompensate the timeout for the opening animation\n setTimeout(function () {\n _this.openPanel(parent.closest('.mm-panel'));\n }, (p + 1) * (_this.conf.openingInterval * 1.5));\n }\n parent.classList.add('mm-listitem_nosubitems');\n }\n }\n });\n //\tShow parent panels of vertical submenus\n panels.forEach(function (panel) {\n var listitems = DOM.find(panel, '.mm-listitem');\n DOM.filterLI(listitems).forEach(function (listitem) {\n DOM.parents(listitem, '.mm-listitem_vertical').forEach(function (parent) {\n if (parent.matches('.mm-hidden')) {\n parent.classList.remove('mm-hidden');\n parent.classList.add('mm-listitem_onlysubitems');\n }\n });\n });\n });\n //\tShow first preceeding divider of parent\n panels.forEach(function (panel) {\n var listitems = DOM.find(panel, '.mm-listitem');\n DOM.filterLI(listitems).forEach(function (listitem) {\n var divider = DOM.prevAll(listitem, '.mm-divider')[0];\n if (divider) {\n divider.classList.remove('mm-hidden');\n }\n });\n });\n }\n //\tShow submit / clear button\n buttons.forEach(function (button) { return button.classList.remove('mm-hidden'); });\n //\tShow/hide no results message\n noresults.forEach(function (wrapper) {\n DOM.find(wrapper, '.mm-panel__noresultsmsg').forEach(function (message) {\n return message.classList[hasResults ? 'add' : 'remove']('mm-hidden');\n });\n });\n if (options.panel.add) {\n //\tHide splash\n if (options.panel.splash) {\n DOM.find(searchpanel, '.mm-panel__content').forEach(function (splash) {\n return splash.classList.add('mm-hidden');\n });\n }\n //\tRe-show original listitems when in search panel\n listitems.forEach(function (listitem) {\n return listitem.classList.remove('mm-hidden');\n });\n dividers.forEach(function (divider) { return divider.classList.remove('mm-hidden'); });\n }\n //\tDon't search\n }\n else {\n //\tShow all items\n listitems.forEach(function (listitem) { return listitem.classList.remove('mm-hidden'); });\n dividers.forEach(function (divider) { return divider.classList.remove('mm-hidden'); });\n //\tHide submit / clear button\n buttons.forEach(function (button) { return button.classList.add('mm-hidden'); });\n //\tHide no results message\n noresults.forEach(function (wrapper) {\n DOM.find(wrapper, '.mm-panel__noresultsmsg').forEach(function (message) {\n return message.classList.add('mm-hidden');\n });\n });\n if (options.panel.add) {\n //\tShow splash\n if (options.panel.splash) {\n DOM.find(searchpanel, '.mm-panel__content').forEach(function (splash) {\n return splash.classList.remove('mm-hidden');\n });\n //\tClose panel\n }\n else if (!input.closest('.mm-panel_search')) {\n var opened = DOM.children(this.node.pnls, '.mm-panel_opened-parent');\n this.openPanel(opened.slice(-1)[0]);\n }\n }\n }\n //\tUpdate for other addons\n this.trigger('updateListview');\n};\n","import { add } from '../../../_modules/i18n';\nimport nl from './nl';\nimport fa from './fa';\nimport de from './de';\nimport ru from './ru';\nexport default function () {\n add(nl, 'nl');\n add(fa, 'fa');\n add(de, 'de');\n add(ru, 'ru');\n}\n","export default {\n Search: 'Zoeken',\n 'No results found.': 'Geen resultaten gevonden.',\n cancel: 'annuleren'\n};\n","var options = {\n add: false,\n addTo: 'panels'\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n add: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport * as support from '../../_modules/support';\nimport { extend } from '../../_modules/helpers';\n// Add the options.\nMmenu.options.sectionIndexer = options;\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.sectionIndexer);\n this.opts.sectionIndexer = extend(options, Mmenu.options.sectionIndexer);\n if (!options.add) {\n return;\n }\n this.bind('initPanels:after', function () {\n //\tAdd the indexer, only if it does not allready excists\n if (!_this.node.indx) {\n var buttons_1 = '';\n 'abcdefghijklmnopqrstuvwxyz'.split('').forEach(function (letter) {\n buttons_1 += '' + letter + '';\n });\n var indexer = DOM.create('div.mm-sectionindexer');\n indexer.innerHTML = buttons_1;\n _this.node.pnls.prepend(indexer);\n _this.node.indx = indexer;\n //\tPrevent default behavior when clicking an anchor\n _this.node.indx.addEventListener('click', function (evnt) {\n var anchor = evnt.target;\n if (anchor.matches('a')) {\n evnt.preventDefault();\n }\n });\n //\tScroll onMouseOver / onTouchStart\n var mouseOverEvent = function (evnt) {\n if (!evnt.target.matches('a')) {\n return;\n }\n var letter = evnt.target.textContent, panel = DOM.children(_this.node.pnls, '.mm-panel_opened')[0];\n var newTop = -1, oldTop = panel.scrollTop;\n panel.scrollTop = 0;\n DOM.find(panel, '.mm-divider')\n .filter(function (divider) { return !divider.matches('.mm-hidden'); })\n .forEach(function (divider) {\n if (newTop < 0 &&\n letter ==\n divider.textContent\n .trim()\n .slice(0, 1)\n .toLowerCase()) {\n newTop = divider.offsetTop;\n }\n });\n panel.scrollTop = newTop > -1 ? newTop : oldTop;\n };\n if (support.touch) {\n _this.node.indx.addEventListener('touchstart', mouseOverEvent);\n _this.node.indx.addEventListener('touchmove', mouseOverEvent);\n }\n else {\n _this.node.indx.addEventListener('mouseover', mouseOverEvent);\n }\n }\n //\tShow or hide the indexer\n _this.bind('openPanel:start', function (panel) {\n var active = DOM.find(panel, '.mm-divider').filter(function (divider) { return !divider.matches('.mm-hidden'); }).length;\n _this.node.indx.classList[active ? 'add' : 'remove']('mm-sectionindexer_active');\n });\n });\n}\n","var options = {\n current: true,\n hover: false,\n parent: false\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'boolean') {\n options = {\n hover: options,\n parent: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n return options;\n}\n;\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport { extend } from '../../_modules/helpers';\n//\tAdd the options.\nMmenu.options.setSelected = options;\nexport default function () {\n var _this = this;\n var options = extendShorthandOptions(this.opts.setSelected);\n this.opts.setSelected = extend(options, Mmenu.options.setSelected);\n //\tFind current by URL\n if (options.current == 'detect') {\n var findCurrent_1 = function (url) {\n url = url.split('?')[0].split('#')[0];\n var anchor = _this.node.menu.querySelector('a[href=\"' + url + '\"], a[href=\"' + url + '/\"]');\n if (anchor) {\n _this.setSelected(anchor.parentElement);\n }\n else {\n var arr = url.split('/').slice(0, -1);\n if (arr.length) {\n findCurrent_1(arr.join('/'));\n }\n }\n };\n this.bind('initMenu:after', function () {\n findCurrent_1.call(_this, window.location.href);\n });\n //\tRemove current selected item\n }\n else if (!options.current) {\n this.bind('initListview:after', function (listview) {\n DOM.children(listview, '.mm-listitem_selected').forEach(function (listitem) {\n listitem.classList.remove('mm-listitem_selected');\n });\n });\n }\n //\tAdd :hover effect on items\n if (options.hover) {\n this.bind('initMenu:after', function () {\n _this.node.menu.classList.add('mm-menu_selected-hover');\n });\n }\n //\tSet parent item selected for submenus\n if (options.parent) {\n this.bind('openPanel:finish', function (panel) {\n //\tRemove all\n DOM.find(_this.node.pnls, '.mm-listitem_selected-parent').forEach(function (listitem) {\n listitem.classList.remove('mm-listitem_selected-parent');\n });\n //\tMove up the DOM tree\n var parent = panel['mmParent'];\n while (parent) {\n if (!parent.matches('.mm-listitem_vertical')) {\n parent.classList.add('mm-listitem_selected-parent');\n }\n parent = parent.closest('.mm-panel');\n parent = parent['mmParent'];\n }\n });\n this.bind('initMenu:after', function () {\n _this.node.menu.classList.add('mm-menu_selected-parent');\n });\n }\n}\n","var options = {\n collapsed: {\n use: false,\n blockMenu: true,\n hideDivider: false,\n hideNavbar: true\n },\n expanded: {\n use: false,\n initial: 'open'\n }\n};\nexport default options;\n/**\n * Extend shorthand options.\n *\n * @param {object} options The options to extend.\n * @return {object}\t\t\tThe extended options.\n */\nexport function extendShorthandOptions(options) {\n if (typeof options == 'string' ||\n (typeof options == 'boolean' && options) ||\n typeof options == 'number') {\n options = {\n expanded: options\n };\n }\n if (typeof options != 'object') {\n options = {};\n }\n //\tExtend collapsed shorthand options.\n if (typeof options.collapsed == 'boolean' && options.collapsed) {\n options.collapsed = {\n use: true\n };\n }\n if (typeof options.collapsed == 'string' ||\n typeof options.collapsed == 'number') {\n options.collapsed = {\n use: options.collapsed\n };\n }\n if (typeof options.collapsed != 'object') {\n options.collapsed = {};\n }\n //\tExtend expanded shorthand options.\n if (typeof options.expanded == 'boolean' && options.expanded) {\n options.expanded = {\n use: true\n };\n }\n if (typeof options.expanded == 'string' ||\n typeof options.expanded == 'number') {\n options.expanded = {\n use: options.expanded\n };\n }\n if (typeof options.expanded != 'object') {\n options.expanded = {};\n }\n return options;\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport options from './_options';\nimport { extendShorthandOptions } from './_options';\nimport * as DOM from '../../_modules/dom';\nimport * as media from '../../_modules/matchmedia';\nimport { extend } from '../../_modules/helpers';\n// Add the options.\nMmenu.options.sidebar = options;\nexport default function () {\n var _this = this;\n if (!this.opts.offCanvas) {\n return;\n }\n var options = extendShorthandOptions(this.opts.sidebar);\n this.opts.sidebar = extend(options, Mmenu.options.sidebar);\n //\tCollapsed\n if (options.collapsed.use) {\n //\tMake the menu collapsable.\n this.bind('initMenu:after', function () {\n _this.node.menu.classList.add('mm-menu_sidebar-collapsed');\n if (options.collapsed.blockMenu &&\n _this.opts.offCanvas &&\n !DOM.children(_this.node.menu, '.mm-menu__blocker')[0]) {\n var anchor = DOM.create('a.mm-menu__blocker');\n anchor.setAttribute('href', '#' + _this.node.menu.id);\n _this.node.menu.prepend(anchor);\n }\n if (options.collapsed.hideNavbar) {\n _this.node.menu.classList.add('mm-menu_hidenavbar');\n }\n if (options.collapsed.hideDivider) {\n _this.node.menu.classList.add('mm-menu_hidedivider');\n }\n });\n //\tEn-/disable the collapsed sidebar.\n var enable = function () {\n _this.node.wrpr.classList.add('mm-wrapper_sidebar-collapsed');\n };\n var disable = function () {\n _this.node.wrpr.classList.remove('mm-wrapper_sidebar-collapsed');\n };\n if (typeof options.collapsed.use == 'boolean') {\n this.bind('initMenu:after', enable);\n }\n else {\n media.add(options.collapsed.use, enable, disable);\n }\n }\n //\tExpanded\n if (options.expanded.use) {\n //\tMake the menu expandable\n this.bind('initMenu:after', function () {\n _this.node.menu.classList.add('mm-menu_sidebar-expanded');\n });\n //\tEn-/disable the expanded sidebar.\n var enable = function () {\n _this.node.wrpr.classList.add('mm-wrapper_sidebar-expanded');\n if (!_this.node.wrpr.matches('.mm-wrapper_sidebar-closed')) {\n _this.open();\n }\n };\n var disable = function () {\n _this.node.wrpr.classList.remove('mm-wrapper_sidebar-expanded');\n _this.close();\n };\n if (typeof options.expanded.use == 'boolean') {\n this.bind('initMenu:after', enable);\n }\n else {\n media.add(options.expanded.use, enable, disable);\n }\n // Manually en-/disable the expanded sidebar (open / close the menu)\n this.bind('close:start', function () {\n if (_this.node.wrpr.matches('.mm-wrapper_sidebar-expanded')) {\n _this.node.wrpr.classList.add('mm-wrapper_sidebar-closed');\n if (options.expanded.initial == 'remember') {\n window.localStorage.setItem('mmenuExpandedState', 'closed');\n }\n }\n });\n this.bind('open:start', function () {\n if (_this.node.wrpr.matches('.mm-wrapper_sidebar-expanded')) {\n _this.node.wrpr.classList.remove('mm-wrapper_sidebar-closed');\n if (options.expanded.initial == 'remember') {\n window.localStorage.setItem('mmenuExpandedState', 'open');\n }\n }\n });\n // Set the initial state\n var initialState = options.expanded.initial;\n if (options.expanded.initial == 'remember') {\n var state = window.localStorage.getItem('mmenuExpandedState');\n switch (state) {\n case 'open':\n case 'closed':\n initialState = state;\n break;\n }\n }\n if (initialState == 'closed') {\n this.bind('initMenu:after', function () {\n _this.node.wrpr.classList.add('mm-wrapper_sidebar-closed');\n });\n }\n //\tAdd click behavior.\n //\tPrevents default behavior when clicking an anchor\n this.clck.push(function (anchor, args) {\n if (args.inMenu && args.inListview) {\n if (_this.node.wrpr.matches('.mm-wrapper_sidebar-expanded')) {\n return {\n close: options.expanded.initial == 'closed'\n };\n }\n }\n });\n }\n}\n","import Mmenu from '../../core/oncanvas/mmenu.oncanvas';\nimport * as DOM from '../../_modules/dom';\n//\tAdd the classnames.\nMmenu.configs.classNames.toggles = {\n toggle: 'Toggle',\n check: 'Check'\n};\nexport default function () {\n var _this = this;\n this.bind('initPanel:after', function (panel) {\n //\tRefactor toggle classes\n DOM.find(panel, 'input').forEach(function (input) {\n DOM.reClass(input, _this.conf.classNames.toggles.toggle, 'mm-toggle');\n DOM.reClass(input, _this.conf.classNames.toggles.check, 'mm-check');\n });\n });\n}\n","/*!\n * mmenu.js\n * mmenujs.com\n *\n * Copyright (c) Fred Heusschen\n * frebsite.nl\n */\n\n//\tCore\nimport Mmenu from '../dist/core/oncanvas/mmenu.oncanvas';\n\n//\tCore add-ons\nimport offcanvas from '../dist/core/offcanvas/mmenu.offcanvas';\nimport screenReader from '../dist/core/screenreader/mmenu.screenreader';\nimport scrollBugFix from '../dist/core/scrollbugfix/mmenu.scrollbugfix';\n\n//\tAdd-ons\nimport autoHeight from '../dist/addons/autoheight/mmenu.autoheight';\nimport backButton from '../dist/addons/backbutton/mmenu.backbutton';\nimport columns from '../dist/addons/columns/mmenu.columns';\nimport counters from '../dist/addons/counters/mmenu.counters';\nimport dividers from '../dist/addons/dividers/mmenu.dividers';\nimport drag from '../dist/addons/drag/mmenu.drag';\nimport dropdown from '../dist/addons/dropdown/mmenu.dropdown';\nimport fixedElements from '../dist/addons/fixedelements/mmenu.fixedelements';\nimport iconbar from '../dist/addons/iconbar/mmenu.iconbar';\nimport iconPanels from '../dist/addons/iconpanels/mmenu.iconpanels';\nimport keyboardNavigation from '../dist/addons/keyboardnavigation/mmenu.keyboardnavigation';\nimport lazySubmenus from '../dist/addons/lazysubmenus/mmenu.lazysubmenus';\nimport navbars from '../dist/addons/navbars/mmenu.navbars';\nimport pageScroll from '../dist/addons/pagescroll/mmenu.pagescroll';\nimport searchfield from '../dist/addons/searchfield/mmenu.searchfield';\nimport sectionIndexer from '../dist/addons/sectionindexer/mmenu.sectionindexer';\nimport setSelected from '../dist/addons/setselected/mmenu.setselected';\nimport sidebar from '../dist/addons/sidebar/mmenu.sidebar';\nimport toggles from '../dist/addons/toggles/mmenu.toggles';\n\n//\tWrappers\nimport angular from '../dist/wrappers/angular/mmenu.angular';\nimport bootstrap from '../dist/wrappers/bootstrap/mmenu.bootstrap';\nimport olark from '../dist/wrappers/olark/mmenu.olark';\nimport turbolinks from '../dist/wrappers/turbolinks/mmenu.turbolinks';\nimport wordpress from '../dist/wrappers/wordpress/mmenu.wordpress';\n\nMmenu.addons = {\n //\tCore add-ons\n offcanvas,\n screenReader,\n scrollBugFix,\n\n //\tAdd-ons\n autoHeight,\n backButton,\n columns,\n counters,\n dividers,\n drag,\n dropdown,\n fixedElements,\n iconbar,\n iconPanels,\n keyboardNavigation,\n lazySubmenus,\n navbars,\n pageScroll,\n searchfield,\n sectionIndexer,\n setSelected,\n sidebar,\n toggles\n};\n\n//\tWrappers\nMmenu.wrappers = {\n angular,\n bootstrap,\n olark,\n turbolinks,\n wordpress\n};\n\n// Export module\nexport default Mmenu;\n\n//\tGlobal namespace\nif (window) {\n window.Mmenu = Mmenu;\n}\n\n//\tjQuery plugin\n(function ($) {\n if ($) {\n $.fn.mmenu = function (options, configs) {\n var $result = $();\n\n this.each(function (e, element) {\n //\tDon't proceed if the element already is a mmenu.\n if (element.mmApi) {\n return;\n }\n\n var menu = new Mmenu(element, options, configs),\n $menu = $(menu.node.menu);\n\n //\tStore the API for backward compat.\n $menu.data('mmenu', menu.API);\n\n $result = $result.add($menu);\n });\n\n return $result;\n };\n }\n})(window.jQuery || window.Zepto || null);\n","export default function () {\n this.opts.onClick = {\n close: true,\n preventDefault: false,\n setSelected: true\n };\n}\n;\n","import * as DOM from '../../_modules/dom';\nexport default function () {\n var _this = this;\n //\tCreate the menu\n if (this.node.menu.matches('.navbar-collapse')) {\n //\tNo need for cloning the menu...\n if (this.conf.offCanvas) {\n this.conf.offCanvas.clone = false;\n }\n //\t... We'll create a new menu\n var nav = DOM.create('nav'), panel = DOM.create('div');\n nav.append(panel);\n DOM.children(this.node.menu).forEach(function (child) {\n switch (true) {\n case child.matches('.navbar-nav'):\n panel.append(cloneNav(child));\n break;\n case child.matches('.dropdown-menu'):\n panel.append(cloneDropdown(child));\n break;\n case child.matches('.form-inline'):\n _this.conf.searchfield.form = {\n action: child.getAttribute('action') || null,\n method: child.getAttribute('method') || null,\n };\n _this.conf.searchfield.input = {\n name: child.querySelector('input').getAttribute('name') ||\n null,\n };\n _this.conf.searchfield.clear = false;\n _this.conf.searchfield.submit = true;\n break;\n default:\n panel.append(child.cloneNode(true));\n break;\n }\n });\n //\tSet the menu\n this.bind('initMenu:before', function () {\n document.body.prepend(nav);\n _this.node.menu = nav;\n });\n //\tHijack the toggler.\n var parent_1 = this.node.menu.parentElement;\n if (parent_1) {\n var toggler = parent_1.querySelector('.navbar-toggler');\n if (toggler) {\n toggler.removeAttribute('data-target');\n // delete toggler.dataset.target; // IE10 has no dataset :(\n toggler.removeAttribute('aria-controls');\n //\tRemove all bound events.\n toggler.outerHTML = toggler.outerHTML;\n toggler = parent_1.querySelector('.navbar-toggler');\n // Open the menu on-click.\n toggler.addEventListener('click', function (evnt) {\n evnt.preventDefault();\n evnt.stopImmediatePropagation();\n _this[_this.vars.opened ? 'close' : 'open']();\n });\n }\n }\n }\n function cloneLink(anchor) {\n var link = DOM.create(anchor.matches('a') ? 'a' : 'span');\n //\tCopy attributes\n var attr = ['href', 'title', 'target'];\n for (var a = 0; a < attr.length; a++) {\n if (anchor.getAttribute(attr[a])) {\n link.setAttribute(attr[a], anchor.getAttribute(attr[a]));\n }\n }\n //\tCopy contents\n link.innerHTML = anchor.innerHTML;\n //\tRemove Screen reader text.\n DOM.find(link, '.sr-only').forEach(function (sro) {\n sro.remove();\n });\n return link;\n }\n function cloneDropdown(dropdown) {\n var list = DOM.create('ul');\n DOM.children(dropdown).forEach(function (anchor) {\n var item = DOM.create('li');\n if (anchor.matches('.dropdown-divider')) {\n item.classList.add('Divider');\n }\n else if (anchor.matches('.dropdown-item')) {\n item.append(cloneLink(anchor));\n }\n list.append(item);\n });\n return list;\n }\n function cloneNav(nav) {\n var list = DOM.create('ul');\n DOM.find(nav, '.nav-item').forEach(function (anchor) {\n var item = DOM.create('li');\n if (anchor.matches('.active')) {\n item.classList.add('Selected');\n }\n if (!anchor.matches('.nav-link')) {\n var dropdown = DOM.children(anchor, '.dropdown-menu')[0];\n if (dropdown) {\n item.append(cloneDropdown(dropdown));\n }\n anchor = DOM.children(anchor, '.nav-link')[0];\n }\n item.prepend(cloneLink(anchor));\n list.append(item);\n });\n return list;\n }\n}\n","export default function () {\n this.conf.offCanvas.page.noSelector.push('#olark');\n}\n;\n","export default function () {\n var classnames;\n document.addEventListener('turbolinks:before-visit', function (evnt) {\n classnames = document\n .querySelector('.mm-wrapper')\n .className.split(' ')\n .filter(function (name) { return /mm-/.test(name); });\n });\n document.addEventListener('turbolinks:load', function (evnt) {\n if (typeof classnames === 'undefined') {\n return;\n }\n document.querySelector('.mm-wrapper').className = classnames;\n });\n}\n","export default function () {\n this.conf.classNames.selected = 'current-menu-item';\n var wpadminbar = document.getElementById('wpadminbar');\n if (wpadminbar) {\n wpadminbar.style.position = 'fixed';\n wpadminbar.classList.add('mm-slideout');\n }\n}\n","/*************************************************/\r\n/* Partials */\r\n/*************************************************/\r\nimport { mmenu } from \"./partials/mmenu.js\";\r\n\r\n/*************************************************/\r\n/* Init */\r\n/*************************************************/\r\n\r\nconst ready = callback => {\r\n if (document.readyState != 'loading') callback();\r\n else document.addEventListener('DOMContentLoaded', callback);\r\n}\r\n\r\nready(() => {\r\n mmenu();\r\n});\r\n","/*************************************************/\r\n/* MMENU */\r\n/*************************************************/\r\nimport Mmenu from 'mmenu-js';\r\n\r\nexport function mmenu() {\r\n let mobileMenu,\r\n mobileMenuTrigger,\r\n breakpointMaxM = 768,\r\n resizeTimer;\r\n\r\n const mobileMenuSelector = '#mobile-menu',\r\n mainContentSelector = '#mainContent';\r\n\r\n const init = function () {\r\n mobileMenu = document.querySelector(mobileMenuSelector);\r\n mobileMenuTrigger = document.querySelector('.mm-trigger');\r\n breakpointMaxM = 768;\r\n\r\n const menu = new Mmenu(mobileMenuSelector, {\r\n // options\r\n 'extensions': [\r\n 'position-right',\r\n 'pagedim-black',\r\n 'border-full',\r\n 'theme-dark',\r\n 'fx-menu-slide'\r\n ]\r\n }, {\r\n // configuration\r\n offCanvas: {\r\n page: {\r\n nodetype: 'main',\r\n selector:mainContentSelector\r\n }\r\n },\r\n classNames: {\r\n selected: 'custom-mm-selected',\r\n panel: 'custom-mm-panel'\r\n }\r\n });\r\n\r\n // Init mmenu api\r\n const mmenuApi = menu.API;\r\n\r\n // Open menu\r\n mobileMenuTrigger.addEventListener('click', (e) => {\r\n if (mmenuApi) {\r\n mobileMenu.setAttribute('style', '');\r\n mmenuApi.open();\r\n }\r\n });\r\n\r\n document.querySelectorAll('.mm-btn').forEach(btn => {\r\n btn.addEventListener('click',e=> {\r\n e.stopPropagation();\r\n console.log(e);\r\n });\r\n });\r\n\r\n // Close mmenu if screen width gets over breakpointMaxM (768px)\r\n window.addEventListener('resize', e => {\r\n clearTimeout(resizeTimer);\r\n resizeTimer = setTimeout(function () {\r\n const width = document.body.clientWidth;\r\n const mmIsOpened = document.querySelector('body').classList.contains('mm-wrapper_opening');\r\n if (mmenuApi && mmIsOpened && width > breakpointMaxM) {\r\n mmenuApi.close();\r\n }\r\n }, 250);\r\n });\r\n };\r\n\r\n init();\r\n}\r\n"],"names":["global","require","isCallable","tryToString","TypeError","module","exports","argument","isObject","String","$forEach","STRICT_METHOD","arrayMethodIsStrict","forEach","callbackfn","this","arguments","length","undefined","bind","uncurryThis","IndexedObject","toObject","lengthOfArrayLike","arraySpeciesCreate","push","createMethod","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","$this","that","specificCreate","value","result","O","self","boundFunction","index","create","target","map","filter","some","every","find","findIndex","filterReject","fails","METHOD_NAME","method","call","isArray","isConstructor","SPECIES","wellKnownSymbol","Array","originalArray","C","constructor","prototype","arraySpeciesConstructor","toString","stringSlice","slice","it","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","Object","CORRECT_ARGUMENTS","tag","key","error","tryGet","callee","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","object","f","bitmap","enumerable","configurable","writable","defineProperty","get","document","EXISTS","createElement","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","documentCreateElement","DOMTokenListPrototype","getBuiltIn","match","version","userAgent","process","Deno","versions","v8","split","exec","aCallable","fn","apply","Function","hasOwn","FunctionPrototype","getDescriptor","getOwnPropertyDescriptor","PROPER","name","CONFIGURABLE","callBind","aFunction","namespace","V","P","func","check","Math","globalThis","window","hasOwnProperty","a","classof","propertyIsEnumerable","store","functionToString","inspectSource","set","has","NATIVE_WEAK_MAP","createNonEnumerableProperty","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","state","wmget","wmhas","wmset","metadata","facade","STATE","enforce","getterFor","type","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","called","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","toLength","obj","V8_VERSION","getOwnPropertySymbols","symbol","Symbol","sham","test","IE8_DOM_DEFINE","anObject","toPropertyKey","$defineProperty","Attributes","input","pref","val","valueOf","setGlobal","InternalStateModule","CONFIGURABLE_FUNCTION_NAME","getInternalState","enforceInternalState","TEMPLATE","options","unsafe","simple","noTargetGet","replace","source","join","uid","keys","SHARED","IS_PURE","mode","copyright","ceil","floor","number","toIntegerOrInfinity","min","requireObjectCoercible","isSymbol","getMethod","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","toPrimitive","id","postfix","random","NATIVE_SYMBOL","iterator","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","description","redefine","DOMIterables","handlePrototype","CollectionPrototype","COLLECTION_NAME","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","g","e","hooks","extensions","wrappers","navbar","add","sticky","title","titleLink","onClick","close","preventDefault","setSelected","slidingSubmenus","classNames","inset","nolistview","nopanel","panel","selected","vertical","language","openingInterval","panelNodetype","transitionDuration","extend","orignl","dfault","k","variable","toLowerCase","valueOrFn","element","option","transitionend","duration","_ended","_fn","evnt","removeEventListener","addEventListener","setTimeout","uniqueId","__id","originalId","translations","text","selector","args","elem","shift","classname","querySelectorAll","children","child","matches","parents","parent","parentElement","filterLI","listitems","listitem","filterLIA","anchors","anchor","reClass","oldClass","newClass","remove","listeners","query","yes","no","fire","mqlist","m","fa","de","ru","Mmenu","menu","configs","opts","conf","_api","node","vars","hook","clck","querySelector","_deprecatedWarnings","_initWrappers","_initAddons","_initExtensions","_initHooks","_initAPI","_initMenu","_initPanels","_initOpened","_initAnchors","_loop_1","matchMedia","onchange","media","openPanel","animation","_this","trigger","closest","DOM","panels","pnls","current_1","parent_1","hidden","openPanelStart_1","openPanelFinish_1","closePanel","li","closeAllPanels","opened","togglePanel","h","l","API","re","w","wrpr","addon","addons","all","classnames","extension","indexOf","nodeName","append","inMenu","href","getAttribute","err","initPanel","_initPanel","children_1","listview","removeAttribute","wrapper","before","item","button","setAttribute","innerHTML","insertBefore","nextElementSibling","_initNavbar","initListview","parentListitem","parentPanel","prev","opener","titleText","textContent","i18n","prepend","lastitem","current","inListview","toExternal","c","click","offCanvas","blockUI","moveBackground","clone","insertMethod","insertSelector","page","nodetype","noSelector","ucFirst","word","charAt","toUpperCase","on","handler","evntParts","off","_openSetup","_openStart","closeAllOthers","events","force","clsn","body","api","pages","wrapper_1","initWindow","keyCode","initBlocker","blck","closeMenu","stopPropagation","aria","closeSubmenu","openSubmenu","toggleSubmenu","attr","fix","touch","navigator","msMaxTouchPoints","height","open","visible","max","addTo","count","counter","area","top","right","bottom","left","treshold","start","swipe","directionNames","x","y","percentage2number","position","size","parseInt","DragEvents","surface","support","stop","move","event","currentPosition","touches","pageX","pageY","width","clientWidth","clientHeight","startPosition","settings","dragDirection","_dragDirection","detail","_eventDetail","_dispatchEvents","abs","movement","axis","swipeDirection","_swipeDirection","direction","changedTouches","distance","distX","distY","movementX","movementY","distanceX","distanceY","eventName","CustomEvent","dispatchEvent","dragInstance","dragNode","maxDistance","moving","addMatchMedia","queries","getPositionVars","zposition","slideOutNodes","style","open_1","pos","drop","fitViewport","tip","offset","viewport","fixed","use","blockPanel","hideDivider","hideNavbar","enable","enhance","next","focus","Event","api_1","load","breadcrumbs","separator","removeFirst","Navbars","navs","navbars","content","extendShorthandOptions","ctnt","navbarContents","navbarTypes","panelPrev","panelTitle","crumbs","first","unshift","screenReader","org","_url","_txt","searchfield","original","btn","tabs","stopImmediatePropagation","selectTab","scroll","update","scrollOffset","updateOffset","cancel","noResults","placeholder","dividers","fx","splash","search","showTextItems","showSubPanels","clear","form","submit","Search","__spreadArrays","s","i","il","r","j","jl","initSearchPanel","searchpanel","initSearchfield","addAttributes","field","autocomplete","initSearching","data","noresults","_a","_b","initNoResultsMsg","message","trim","buttons","scrollTop","divider","childNodes","nodeType","hasResults","allitems_1","cloneNode","reverse","p","previous","previousElementSibling","hover","collapsed","blockMenu","expanded","initial","toggle","offcanvas","setPage","hash","location","hide","scrollBugFix","touchDir","passive","pop","scrollHeight","offsetHeight","autoHeight","measurablePanel","setHeight","highest","_hgh","_dif","backButton","_menu","states","setStates","history","pushState","back","pathname","columns","colm","colp","rmvc","contains","className","colnr","counters","cntrclss","lastletter","letter","drag","dragOpen","dropdown","of","getPosition","dir","css","cls","_outerSize","_startPos","_stopPos","_size","_winSize","_maxSize","_position","startPos","getBoundingClientRect","stopPos","windowSize","offs","fixedElements","_fixd","wrppr","fxd","iconbar","n","part","classname_1","selectTab_1","iconPanels","keepFirst","classnames_1","panelAdded_1","blocker","keyboardNavigation","menuStart_1","menuEnd_1","blockerEnd_1","focusable_1","setFocus","activeElement","elements_1","tabber","lazySubmenus","console","log","pageScroll","section","scrollTo","scrollingElement","behavior","anchorInPage","scts_1","_selected_1","scrollY","offsetTop","blur","sectionIndexer","indx","buttons_1","indexer","mouseOverEvent","newTop","oldTop","active","findCurrent_1","url","arr","sidebar","disable","localStorage","setItem","initialState","getItem","toggles","angular","bootstrap","nav","list","cloneDropdown","cloneLink","cloneNav","action","toggler","outerHTML","link","sro","olark","turbolinks","wordpress","wpadminbar","getElementById","$","jQuery","Zepto","mmenu","$result","each","mmApi","$menu","callback","mobileMenu","mobileMenuTrigger","resizeTimer","breakpointMaxM","mobileMenuSelector","mmenuApi","clearTimeout","mmIsOpened","init","readyState"],"sourceRoot":""}