{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/modules/Module.js","webpack:///./src/js/services/manage-focus.js","webpack:///./src/js/modules/ModuleBootstrapHelper.js","webpack:///./src/js/views/View.js","webpack:///./src/js/modules/ModulePopup.js","webpack:///./node_modules/is-desktop-ua/index.js","webpack:///./src/js/boot.js","webpack:///./src/js/utils/Prototypes.js","webpack:///./src/js/utils/DispatchEvents.js","webpack:///./src/js/utils/WindowFunctions.js","webpack:///./src/js/modules/ModulePopupGallery.js","webpack:///./src/js/views/ViewPressroom.js","webpack:///./node_modules/basil.js/build/basil.js","webpack:///./node_modules/throttle-debounce/esm/index.js","webpack:///./src/js/modules/ModuleHero.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","Module","constructor","el","this","dom","body","$","html","page","site","w","window","backToTop","animate","scrollTop","manageAuthentication","cirqueClub","isAuthenticated","find","removeClass","ManageFocus","focusable","document","querySelectorAll","focusableArray","Array","apply","mouseDown","forEach","elm","addEventListener","e","currentTarget","blur","ModuleBootstrapHelper","super","breakpoints","extend","b","temp","createElement","appendChild","length","env","className","is","parentNode","removeChild","View","back","language","init","initBootstrapHelper","setResponsiveImage","breakpoint","on","update","preventDefault","manageAriaHiddenLangAndBackToTop","bootstrapHelper","scrolled","undefined","addClass","attr","ModulePopup","qs","location","search","replace","$0","$1","$2","$3","qParam","toLowerCase","unescape","href","data","addedClass","autoplay","showName","bindEvents","self","image","mobilePortrait","featherlight","variant","youtube","content","type","afterContent","play","initClasses","$content","status","width","detectImage","detectYoutube","player","youtubeKey","manageFocus","url","match","RegExp","console","log","configYT","videoId","playerVars","rel","showinfo","modestbranding","theme","enablejsapi","events","onStateChange","onPlayerStateChange","onReady","onPlayerReady","YT","Player","startPlayback","playback50","playback100","event","target","playVideo","current","close","PlayerState","PLAYING","videoLister","played","getCurrentTime","videoLenght","getDuration","percentage","Math","round","setTimeout","ua","require","Modules","Hero","PopupGallery","Popup","Views","Main","Pressroom","basil","context","_","each","list","split","default","NodeList","toArray","slice","debounce","dispatchEvent","CustomEvent","indexOf","res","nodes","node","img","JSON","parse","getAttribute","trim","style","backgroundImage","ModulePopupGallery","links","off","featherlightGallery","galleryFadeIn","previousIcon","nextIcon","openSpeed","iframeMaxWidth","iframeMaxHeight","previousNext","f","src","$currentTarget","ref","parent","dataAttr","dataAlt","instance","closest","$instance","hasAttribute","info","dataset","itemTemplate","featherlightContent","wrapInner","append","one","unwrap","remove","nextButton","keyup","keyCode","click","ViewPressroom","newsFilter","contactFilter","pressKitFilter","pressReleaseFilter","mediaFilter","mediaFilters","spinner","categoryFilter","countryFilter","yearFilter","showFilter","mediaTypeFilter","galleryFilter","elemTrigger","pressRoomMenu","pressRoomMenuToggle","pressRoomMenuOffset","menuContacts","newsSummary","setTruncate","hide","FB","ui","method","response","dropdown","next","toggleClass","slideToggle","getFilteredUrl","val","ajax","itemId","sitecoreRequestObject","ItemId","lang","Lang","country","dataType","success","error","manageSection","getParameterByName","results","exec","decodeURIComponent","rawUrl","tokens","category","year","sectionId","id","section","querySelector","classList","contains","add","dotdotdot","ellipsis","watch","wrap","height","Basil","options","utils","plugins","Storage","version","destination","arguments","obj","fnIterator","isArray","tryEach","fnError","isFunction","registerPlugin","methods","getTypeOf","toString","types","namespace","storages","expireDays","keyDelimiter","_salt","random","substring","_storages","_isValidKey","_toStoragesArray","isString","_toStoredKey","path","delimiter","filter","join","_toKeyName","webStorageInterface","engine","check","setItem","removeItem","set","Error","getItem","reset","keys","push","local","session","memory","_hash","cookie","navigator","cookieEnabled","top","secure","hasSecurelyPersited","encodeURIComponent","date","Date","setTime","getTime","toGMTString","domain","_domain","sameSite","includes","encodedKey","cookies","domainParts","substr","setOptions","support","storage","raw","stringify","_toStoredValue","where","index","_fromStoredValue","keysMap","map","localStorage","sessionStorage","throttle","delay","noTrailing","callback","debounceMode","timeoutID","cancelled","lastExec","clearExistingTimeout","clearTimeout","wrapper","_len","arguments_","_key","elapsed","now","clear","cancel","ModuleHero","container","sources","video","desktop","mobile","deviceSize","atBegin","newWidth","setBackgroundVideo","loadBackground","videos","compatibleDevices","isDesktopUa","userAgent","os","parseFloat","chrome","browser","safari","load","readyState","source","currentSrc","dataVideoSrc"],"mappings":"aACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QAKfF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,G,+BClFrD,kCAAe,MAAMC,EACpBC,YAAYC,GAGXC,KAAKC,IAAM,CACVF,GAAIA,EACJG,KAAMC,EAAE,QACRC,KAAMD,EAAE,QACRE,KAAMF,EAAE,cACRG,KAAMH,EAAE,SACRI,EAAGJ,EAAEK,SAMPC,YACCT,KAAKC,IAAII,KAAKK,QAAQ,CAAEC,UAAW,GAAK,KAGzCC,uBACKJ,OAAOK,WAAWC,gBACrBd,KAAKC,IAAIK,KAAKS,KAAK,qBAAqBC,YAAY,oBAEpDhB,KAAKC,IAAIK,KAAKS,KAAK,kBAAkBC,YAAY,oB,6BCxBrC,SAASC,IACvB,IAAIC,EAAYC,SAASC,iBACvB,+EAEDC,EAAiBC,MAAMC,MAAM,KAAML,GACnCM,GAAY,EAEbH,EAAeI,QAAQ,CAACC,EAAK7D,KAC5B6D,EAAIC,iBAAiB,YAAa,KACjCH,GAAY,IAEbE,EAAIC,iBAAiB,UAAW,KAC/BH,GAAY,IAEbE,EAAIC,iBAAiB,QAAUC,IAC1BJ,GACHI,EAAEC,cAAcC,WAhBpB,mC,uFCEe,MAAMC,UAA8BlC,IAClDC,YAAYC,GACXiC,MAAMjC,GAINC,KAAKiC,YAAc,CAAC,KAAM,KAAM,KAAM,MAEtC9B,EAAE+B,OAAOlC,KAAKC,IAAK,CAClBkC,EAAG3B,OAAOW,SAASjB,KACnBkC,KAAM5B,OAAOW,SAASkB,cAAc,SAMtC,iBACCrC,KAAKC,IAAIkC,EAAEG,YAAYtC,KAAKC,IAAImC,MAEhC,IAAK,IAAIvE,EAAImC,KAAKiC,YAAYM,OAAS,EAAG1E,GAAK,EAAGA,IAAK,CACtD,MAAM2E,EAAMxC,KAAKiC,YAAYpE,GAI7B,GAFAmC,KAAKC,IAAImC,KAAKK,UAAY,UAAUD,EAEhCrC,EAAEH,KAAKC,IAAImC,MAAMM,GAAG,WAEvB,OADA1C,KAAKC,IAAImC,KAAKO,WAAWC,YAAY5C,KAAKC,IAAImC,MACvCI,EAGT,MAAO,IC7BM,MAAMK,EACpB/C,YAAYC,GAGXC,KAAKC,IAAM,CACVF,KACAG,KAAMC,EAAE,QACRC,KAAMD,EAAE,QACRE,KAAMF,EAAE,cACRG,KAAMH,EAAE,SACRI,EAAGJ,EAAEK,SAGNR,KAAKC,IAAI6C,KAAO9C,KAAKC,IAAIK,KAAKS,KAAK,gBACnCf,KAAKC,IAAI8C,SAAW/C,KAAKC,IAAIK,KAAKS,KAAK,4BAGxCiC,OACChD,KAAKiD,sBACLzC,OAAO0C,mBAAmBlD,KAAKmD,YAG/BnD,KAAKC,IAAIM,EAAE6C,GAAG,oBAAqB,KAC9BpD,KAAKC,IAAIM,EAAEI,YAAc,GAC5BX,KAAKC,IAAII,KAAKK,QACb,CACCC,UAAW,GAEZ,EACA,KACCX,KAAKqD,QAAO,KAIdrD,KAAKqD,WAIPrD,KAAKC,IAAI6C,KAAKM,GAAG,QAAUxB,IAC1BA,EAAE0B,iBACFtD,KAAKS,cAGNT,KAAKuD,mCAGNN,sBACCjD,KAAKwD,gBAAkB,IAAIzB,EAC3B/B,KAAKmD,WAAanD,KAAKwD,gBAAgBL,WACvC3C,OAAO2C,WAAanD,KAAKwD,gBAAgBL,WAG1CE,OAAOI,QACWC,IAAbD,EACCA,EACHzD,KAAKC,IAAIC,KAAKyD,SAAS,iBAEvB3D,KAAKC,IAAIC,KAAKc,YAAY,iBAEjBhB,KAAKC,IAAIM,EAAEI,YAAc,EACnCX,KAAKC,IAAIC,KAAKyD,SAAS,iBAEvB3D,KAAKC,IAAIC,KAAKc,YAAY,iBAE3BhB,KAAKuD,mCAGNA,mCACKvD,KAAKC,IAAIM,EAAEI,YAAc,GAC5BX,KAAKC,IAAI8C,SAASa,KAAK,eAAe,GACtC5D,KAAKC,IAAI6C,KAAKc,KAAK,eAAe,KAElC5D,KAAKC,IAAI8C,SAASa,KAAK,eAAe,GACtC5D,KAAKC,IAAI6C,KAAKc,KAAK,eAAe,IAIpCnD,YACCT,KAAKC,IAAII,KAAKK,QAAQ,CAAEC,UAAW,GAAK,Q,6BChF1C,iEAGe,MAAMkD,UAAoBhE,IACxCC,YAAYC,GACXiC,MAAMjC,GAEN,MAAM+D,EAAK,GACXC,SAASC,OAAOC,QAAQ,yBAAyB,SAAUC,EAAIC,EAAIC,EAAIC,GACtE,MAAMC,EAASH,EAAGF,QAAQ,MAAO,IACjCH,EAAGQ,EAAOC,eAAiBC,SAASH,MAErCrE,KAAK8D,GAAKA,EAIV9D,KAAKyE,KAAOzE,KAAKC,IAAIF,GAAG6D,KAAK,SAAW5D,KAAKC,IAAIF,GAAG2E,KAAK,OACzD1E,KAAK2E,WAAa3E,KAAKC,IAAIF,GAAG2E,KAAK,SAChC1E,KAAKC,IAAIF,GAAG2E,KAAK,SACjB,GACH1E,KAAK4E,SAAW5E,KAAKC,IAAIF,GAAG2E,KAAK,YACjC1E,KAAK6E,SAAW7E,KAAKC,IAAIF,GAAG2E,KAAK,YAKlC1B,OACChD,KAAKb,SACLa,KAAK8E,aAGNA,aACC,MAAMC,EAAO/E,KAEbA,KAAKC,IAAIF,GAAGqD,GAAG,QAAUxB,IACpBA,GACHA,EAAE0B,iBAGCtD,KAAKgF,MACHhF,KAAKiF,gBACT9E,EAAE+E,aAAa,CACdF,MAAOhF,KAAKyE,KACZU,QAASJ,EAAKI,UAGNnF,KAAKoF,SACfjF,EAAE+E,aAAaH,EAAKM,QAAS,CAC5BC,KAAMP,EAAKO,KACXC,iBACAJ,QAASJ,EAAKI,UAGfJ,EAAKS,QAELrF,EAAE+E,aAAaH,EAAKM,QAAS,CAC5BC,KAAMP,EAAKO,KACXH,QAASJ,EAAKI,QACdI,eACC/E,OAAOiF,YAAYzF,KAAK0F,eAO7B,qBACC,IAAIC,GAAS,EAIb,OAHI3F,KAAKC,IAAIM,EAAEqF,QAAU,MACxBD,GAAS,GAEHA,EAGRxG,SACC,MAAM,KAAEsF,GAASzE,KACjBA,KAAKqF,QAAU,KAEfrF,KAAKI,KAAOD,EAAE,WAAWC,KAAKJ,KAAKC,IAAIF,GAAG2E,KAAK,SAAStE,OACpDqE,IACHzE,KAAKgF,MAAQhF,KAAK6F,YAAYpB,GAC9BzE,KAAKoF,QAAUpF,KAAK8F,cAAcrB,IAG/BzE,KAAKI,MACRJ,KAAKsF,KAAO,OACZtF,KAAKmF,QAAU,OACfnF,KAAKqF,QAAU,eACdrF,KAAK2E,wLAG6B3E,KAAKC,IAAIF,GAAG2E,KAAK,+IAGjB1E,KAAKI,oFAG9BJ,KAAKgF,OACfhF,KAAKsF,KAAO,QACZtF,KAAKmF,QAAU,SACLnF,KAAKoF,UACfpF,KAAKsF,KAAO,OACZtF,KAAKmF,QAAU,UACfnF,KAAK+F,OAAS,KACd/F,KAAKZ,IAAMY,KAAKgG,aAChBhG,KAAKqF,QAAU,uFACuCrF,KAAKZ,mDAG5D6G,cAGDJ,YAAYK,GACX,OAA8C,OAAvCA,EAAIC,MAAM,yBAGlBL,cAAcI,GAEb,QAAOA,EAAIC,MADD,yHACYC,OAAOjC,GAG9B6B,aACC,MACMG,EAAQnG,KAAKyE,KAAK0B,MADT,mEAGf,GAAIA,GAA6B,KAApBA,EAAM,GAAG5D,OACrB,OAAO4D,EAAM,GAEdE,QAAQC,IAAI,yBAGbd,OACC,MAAMT,EAAO/E,KACPuG,EAAW,CAChBC,QAASzB,EAAK3F,IACdqH,WAAY,CACXC,IAAK,EACLC,SAAU,EACVC,eAAgB,EAChBC,MAAO,QACPC,YAAa,EACbjC,SAAUE,EAAKF,UAEhBkC,OAAQ,CACPC,cAAejC,EAAKkC,uBAIkB,IAApC9G,EAAEH,KAAKC,IAAIF,IAAI2E,KAAK,cACvB6B,EAASQ,OAAOG,QAAUnC,EAAKoC,eAGhCnH,KAAK+F,OAAS,IAAIqB,GAAGC,OAAO,iBAAiBrH,KAAKZ,IAAOmH,GACzDpG,EAAEH,KAAKC,IAAIF,IAAI2E,KAAK,WAAY1E,KAAK4E,UAErC5E,KAAK+F,OAAOlB,SAAWE,EAAKF,SAC5B7E,KAAK+F,OAAOuB,eAAgB,EAC5BtH,KAAK+F,OAAOwB,YAAa,EACzBvH,KAAK+F,OAAOyB,aAAc,EAG3BL,cAAcM,GACbA,EAAMC,OAAOC,YAEbF,EAAMC,OAAOJ,eAAgB,EAc9BL,oBAAoBQ,GACA,IAAfA,EAAM/C,KAgCOvE,EAAE+E,aAAa0C,UACvBC,QA9BEJ,EAAM/C,MAAQ0C,GAAGU,YAAYC,UAElCN,EAAMC,OAAOJ,gBACjBG,EAAMC,OAAOJ,eAAgB,GAM/B,SAASU,EAAYP,GACpB,MAAMQ,EAASR,EAAMC,OAAOQ,iBACtBC,EAAcV,EAAMC,OAAOU,cAE3BC,EAAaC,KAAKC,MAAgB,IAATN,EAAgBE,GAE3CE,GAAc,KAAOZ,EAAMC,OAAOH,aACrCE,EAAMC,OAAOH,YAAa,GAG3B,GAAkB,KAAdc,IAAsBZ,EAAMC,OAAOF,YAEtC,YADAC,EAAMC,OAAOF,aAAc,GAI5BgB,WAAWR,EAAa,IAAKP,GAnB7BO,CAAYP,O,cC3Lf7J,EAAOD,QAAU,SAAoB8K,GACpC,SAAYA,EAAGtC,MAAM,0BAA4BsC,EAAGtC,MAAM,YAAesC,EAAGtC,MAAM,sCAAwCsC,EAAGtC,MAAM,iBAC9HsC,EAAGtC,MAAM,wBAA0BsC,EAAGtC,MAAM,UAC5CsC,EAAGtC,MAAM,WAAasC,EAAGtC,MAAM,UAAYsC,EAAGtC,MAAM,eACpDsC,EAAGtC,MAAM,SACHsC,EAAGtC,MAAM,yB,6BCLrB,kBAEAuC,EAAQ,GACRA,EAAQ,GACRA,EAAQ,GAER,MAAMC,EAAU,CACfC,KAAMF,EAAQ,IACdG,aAAcH,EAAQ,GACtBI,MAAOJ,EAAQ,IAGVK,EAAQ,CACbC,KAAMN,EAAQ,GACdO,UAAWP,EAAQ,KAGpBlI,OAAO0I,MAAQR,EAAQ,IAEvBvI,GAAE,WACDsF,YAAYtF,EAAE,UACdc,iBAGDT,OAAOiF,YAAc,SAAU0D,GAC9BC,EAAEC,KAAKF,EAAQpI,KAAK,gBAAgB,SAAUhB,GAC7C,MAAMuJ,EAAOnJ,EAAEJ,GAAI2E,KAAK,QAAQ6E,MAAM,OACtCH,EAAEC,KAAKC,GAAM,SAAUlL,GACtB,QAAoBsF,IAAhBqF,EAAM3K,GAAqB,CAEpB,IAAI2K,EAAM3K,GAAMoL,QAAQrJ,EAAEJ,IAClCiD,YAEF,IAAI+F,EAAMC,KAAK7I,EAAEJ,IAAKiD,aAIzBoG,EAAEC,KAAKF,EAAQpI,KAAK,kBAAkB,SAAUhB,GAC/C,MAAMuJ,EAAOnJ,EAAEJ,GAAI2E,KAAK,UAAU6E,MAAM,OACxCH,EAAEC,KAAKC,GAAM,SAAUlL,GACtB,QAAsBsF,IAAlBiF,EAAQvK,GAAqB,CACtB,IAAIuK,EAAQvK,GAAMoL,QAAQrJ,EAAEJ,IACpCiD,gB,cC1CNyG,SAAShK,UAAUiK,QAAU,WACzB,OAAOpI,MAAM7B,UAAUkK,MAAM3L,KAAKgC,Q,cCCtCG,EAAEK,QAAQ4C,GAAG,SAAUgG,EAAEQ,SAAWnC,IAChCjH,OAAOqJ,cAAc,IAAIC,YAAY,oBACtC,O,cCJHtJ,OAAO0C,mBAAsBf,IAEzB,IAAIgB,EAAahB,GACqC,GAAjD,CAAC,KAAM,KAAM,KAAM,MAAM4H,QAAQ5G,KAClCA,EAAa,MAGjB,IAAI6G,EAAQ,CAAC,KAAM,MAAMD,QAAQ5G,IAAe,EAAM,IAAM,IACxD8G,EAAQ9I,SAASC,iBAAiB,wBAEtC6I,EAAQA,EAAMP,UACdO,EAAMxI,QAAQ,CAACyI,EAAMrM,KACjB,IAAIsM,EAAMC,KAAKC,MAAMH,EAAKI,aAAa,sBAAsBrG,QAAQ,KAAM,MACpD,IAAnBkG,EAAIH,GAAKO,SACTL,EAAKM,MAAMC,gBAAkB,OAASN,EAAIH,GAAO,S,6BCd7D,wEAIe,MAAMU,UAA2B7K,IAC/CC,YAAYC,GACXiC,MAAMjC,GAINI,EAAE+B,OAAOlC,KAAKC,IAAK,CAClB0K,MAAO5K,EAAGgB,KAAK,cAIhBZ,EAAEH,KAAKC,IAAI0K,OAAOC,IAAI,SAKvB5H,OACC,MAAMmC,EAC2B,aAAhCnF,KAAKC,IAAIF,GAAG2E,KAAK,WAA4B,WAAa,UAE3D1E,KAAKC,IAAI0K,MAAME,oBAAoB,CAClC1F,UACA2F,cAAe,IACfC,aAAc,8CACdC,SAAU,0CACVC,UAAW,IACXC,eAAgB,KAChBC,gBAAiB,IAGjB5F,aAAekC,IACdxB,cAEAjG,KAAKoL,eAEL,MACMC,EAAIlK,SAASC,iBAAiB,+BAEpC,GAAGK,QAAQzD,KAAKqN,EAAItL,IACnBA,EAAGuL,KAJM,qBAOV,MAAMvL,EAAKI,EAAE+E,aAAa0C,UAAU2D,eAC9BC,EAAM,CACXC,OAAQ1L,EAAG2E,KAAK,eAChBgH,SAAU3L,EAAG2E,KAAK,kBAClBiH,QAAS5L,EAAG2E,KAAK,aAQZkH,GALOzL,EAAE+E,aACb0C,UACA2D,eAAeM,QAAQL,EAAIC,QAC3B/G,KAAK8G,EAAIE,UAEMvL,EAAE+E,aAAa0C,UAAUkE,WAI1C,GAHcF,EAAS7K,KAAK,6BACtB6C,KAAK,MAAO4H,EAAIG,SAElB5L,EAAG,GAAGgM,aAAa,sBAAuB,CAC7C,MAAMC,EAAOjM,EAAG,GAAGkM,QAAQC,aACrBC,EAAsBP,EAAS7K,KAAK,yBAErCZ,EAAE,yBAAyBoC,QAC/B4J,EAAoBC,UACnB,4CAIFD,EAAoBE,OAAOL,GAG5BJ,EACE7K,KAAK,8CACLuL,IAAI,QAAS,KACbnM,EAAE,6BAA6BoM,SAC/BpM,EAAE,0BAA0BqM,cAMjCpB,eACC,MAAMqB,EAAatM,EAAE,sBACFA,EAAE,0BAErBA,EAAE,8CAA8CyD,KAAK,WAAY,KAEjE6I,EAAWC,MAAO9K,IACA,MAAbA,EAAE+K,SACLF,EAAWG,UAKd,qBACC,IAAIjH,GAAS,EAIb,OAHI3F,KAAKC,IAAIM,EAAEqF,QAAU,MACxBD,GAAS,GAEHA,K,6BCvGT,0DAEe,MAAMkH,UAAsBhK,UAC1C/C,YAAYC,GACXiC,MAAMjC,GAINI,EAAE+B,OAAOlC,KAAKC,IAAK,CAClB6M,WAAY9M,KAAKC,IAAIF,GAAGgB,KAAK,+BAC7BgM,cAAe/M,KAAKC,IAAIF,GAAGgB,KAAK,uCAChCiM,eAAgBhN,KAAKC,IAAIF,GAAGgB,KAAK,mCACjCkM,mBAAoBjN,KAAKC,IAAIF,GAAGgB,KAC/B,yCAEDmM,YAAalN,KAAKC,IAAIF,GAAGgB,KAAK,qCAC9BoM,aAAcnN,KAAKC,IAAIF,GAAGgB,KAAK,sCAC/BqM,QAASpN,KAAKC,IAAIF,GAAGgB,KAAK,YAC1BsM,eAAgBrN,KAAKC,IAAIF,GAAGgB,KAAK,+BACjCuM,cAAetN,KAAKC,IAAIF,GAAGgB,KAAK,8BAChCwM,WAAYvN,KAAKC,IAAIF,GAAGgB,KAAK,2BAC7ByM,WAAYxN,KAAKC,IAAIF,GAAGgB,KAAK,2BAC7B0M,gBAAiBzN,KAAKC,IAAIF,GAAGgB,KAAK,gCAClC2M,cAAe1N,KAAKC,IAAIF,GAAGgB,KAAK,8BAChC4M,YAAa3N,KAAKC,IAAIF,GAAGgB,KAAK,yBAC9B6M,cAAe5N,KAAKC,IAAIF,GAAGgB,KAAK,kCAChC8M,oBAAqB7N,KAAKC,IAAIF,GAAGgB,KAChC,gDAED+M,oBAAqB9N,KAAKC,IAAIF,GAAGgB,KAAK,0BACtCgN,aAAc/N,KAAKC,IAAIF,GAAGgB,KAAK,kBAC/BiN,YAAahO,KAAKC,IAAIF,GAAGgB,KAAK,8BAIhCiC,OACChB,MAAMgB,OAENhD,KAAK8E,aACL9E,KAAKiO,cACLjO,KAAKC,IAAImN,QAAQc,OAGlBpJ,aAGC9E,KAAKC,IAAIF,GAAGgB,KAAK,YAAYqC,GAAG,QAAUxB,IACzCA,EAAE0B,iBACF6K,GAAGC,GACF,CACCC,OAAQ,QACR5J,KAAMjE,OAAOuD,SAASU,OAEvB,SAAU6J,SAIZtO,KAAKC,IAAIF,GAAGgB,KAAK,gBAAgBqC,GAAG,SAAS,SAAUxB,GACtDA,EAAE0B,iBACF,MAAMyB,EAAO5E,EAAEH,MACTuO,EAAWxJ,EAAKyJ,OACtBzJ,EAAK0J,YAAY,WACjBF,EAASG,iBAGV1O,KAAKC,IAAI6M,WAAW1J,GAAG,SAAWqE,IACjCjH,OAAOuD,SAASU,KAAOzE,KAAK2O,mBAG7B3O,KAAKC,IAAIwN,gBAAgBrK,GAAG,SAAWqE,IACtCjH,OAAOuD,SAASU,KAAOzE,KAAKC,IAAIwN,gBAAgBmB,QAGjD5O,KAAKC,IAAIyN,cAActK,GAAG,SAAWqE,IACpCjH,OAAOuD,SAASU,KAAOzE,KAAKC,IAAIyN,cAAckB,QAG/C5O,KAAKC,IAAIoN,eAAejK,GAAG,SAAWqE,IACrCjH,OAAOuD,SAASU,KAAOzE,KAAKC,IAAIoN,eAAeuB,QAGhD5O,KAAKC,IAAIqN,cAAclK,GAAG,SAAWqE,IACpCjH,OAAOuD,SAASU,KAAOzE,KAAKC,IAAIqN,cAAcsB,QAG/C5O,KAAKC,IAAIsN,WAAWnK,GAAG,SAAWqE,IACjCjH,OAAOuD,SAASU,KAAOzE,KAAKC,IAAIsN,WAAWqB,QAG5C5O,KAAKC,IAAI+M,eAAe5J,GAAG,SAAWqE,IACrCtH,EAAE0O,KAAK,CACNvJ,KAAM,MACNY,IAAK,6CACLxB,KAAM,CACLoK,OAAQtO,OAAOuO,sBAAsBC,OACrCC,KAAMzO,OAAOuO,sBAAsBG,KACnCC,QAASnP,KAAKC,IAAIF,GAAGgB,KAAK,oBAAoB6N,OAE/CQ,SAAU,OACVC,QAAQ3K,GACPvE,EAAE,cAAcC,KAAKsE,IAEtB4K,MAAMA,GACLjJ,QAAQC,IAAIgJ,QAKftP,KAAKC,IAAI8M,cAAc3J,GAAG,SAAWqE,IACpCjH,OAAOuD,SAASU,KAAOzE,KAAKC,IAAI8M,cAAc6B,QAG/C5O,KAAKC,IAAI0N,YAAYvK,GAAG,QAAUqE,IACjCoF,EAAc0C,cAAc9H,KAI9B+H,mBAAmBtJ,EAAK9H,GACvBA,EAAOA,EAAK6F,QAAQ,OAAQ,OAAOA,QAAQ,OAAQ,OACnD,MACMwL,EADQ,IAAIrJ,OAAO,SAAShI,cACZsR,KAAKxJ,GAC3B,OAAmB,OAAZuJ,EACJ,GACAE,mBAAmBF,EAAQ,GAAGxL,QAAQ,MAAO,MAGjD0K,iBACC,MAAMiB,EAAS5P,KAAKC,IAAIgN,mBAAmB,GAAG3C,aAAa,eACrDuF,EAASD,EAAOrG,MAAM,KAC5B,IAAIrD,EAAM0J,EAAOrG,MAAM,KAAK,GACfvJ,KAAKwP,mBAAmBI,EAAQ,QAA7C,MACME,EAAW9P,KAAKC,IAAIoN,eAAeuB,MACnCO,EAAUnP,KAAKC,IAAIqN,cAAcsB,MACjCmB,EAAO/P,KAAKC,IAAIsN,WAAWqB,MAmBjC,OAjBgB,OAAZO,GAAgC,KAAZA,IAGtBjJ,EAFqB,IAAlB2J,EAAOtN,OAEJ,IAAIsN,EAAO,MAAMV,KAAWU,EAAO,MAAMA,EAAO,KAEhD,IAAIV,IAAUjJ,KAIL,OAAb4J,GAAkC,KAAbA,IACxB5J,EAAM,GAAGA,KAAO4J,KAGJ,OAATC,GAA0B,KAATA,IACpB7J,EAAM,GAAGA,KAAO6J,KAGV7J,EAGR,qBAAqBuB,GACpB,MAAMgE,EAAShE,EAAM5F,cAAcgK,QAAQ,sBACrCmE,EAAYvI,EAAM5F,cAAcoK,QAAQgE,GACxCC,EAAU/O,SAASgP,cAAc,kBAAkBH,OAErDvE,EAAO2E,UAAUC,SAAS,SAC7B5E,EAAO2E,UAAU5D,OAAO,QACxB0D,EAAQE,UAAU5D,OAAO,UAEzBf,EAAO2E,UAAUE,IAAI,QACrBJ,EAAQE,UAAUE,IAAI,SAIxBrC,cACCjO,KAAKC,IAAI+N,YAAYuC,UAAU,CAC9BC,SAAU,MACVC,OAAO,EACPC,KAAM,SACNC,OAAQ,Q,gBC9KX,kBAEC,IAAIC,EAAQ,SAAUC,GACrB,OAAOD,EAAME,MAAM5O,OAAO,GAAI0O,EAAMG,SAAS,IAAIH,EAAMI,SAAUhO,KAAK6N,KAIvED,EAAMK,QAAU,SAGhBL,EAAME,MAAQ,CACb5O,OAAQ,WAEP,IADA,IAAIgP,EAAsC,iBAAjBC,UAAU,GAAkBA,UAAU,GAAK,GAC3DtT,EAAI,EAAGA,EAAIsT,UAAU5O,OAAQ1E,IACrC,GAAIsT,UAAUtT,IAA8B,iBAAjBsT,UAAUtT,GACpC,IAAK,IAAI2B,KAAY2R,UAAUtT,GAC9BqT,EAAY1R,GAAY2R,UAAUtT,GAAG2B,GAExC,OAAO0R,GAER7H,KAAM,SAAU+H,EAAKC,EAAYlI,GAChC,GAAInJ,KAAKsR,QAAQF,IAChB,IAAK,IAAIvT,EAAI,EAAGA,EAAIuT,EAAI7O,OAAQ1E,IAC/B,IAA4C,IAAxCwT,EAAWrT,KAAKmL,EAASiI,EAAIvT,GAAIA,GAAc,YAC9C,GAAIuT,EACV,IAAK,IAAIhS,KAAOgS,EACf,IAAgD,IAA5CC,EAAWrT,KAAKmL,EAASiI,EAAIhS,GAAMA,GAAgB,QAG1DmS,QAAS,SAAUH,EAAKC,EAAYG,EAASrI,GAC5CnJ,KAAKqJ,KAAK+H,GAAK,SAAUtS,EAAOM,GAC/B,IACC,OAAOiS,EAAWrT,KAAKmL,EAASrK,EAAOM,GACtC,MAAOkQ,GACR,GAAItP,KAAKyR,WAAWD,GACnB,IACCA,EAAQxT,KAAKmL,EAASrK,EAAOM,EAAKkQ,GACjC,MAAOA,QAGTtP,OAEJ0R,eAAgB,SAAUC,GACzBf,EAAMG,QAAU/Q,KAAKkC,OAAOyP,EAASf,EAAMG,UAE5Ca,UAAW,SAAUR,GACpB,OAAI,MAAOA,EACH,GAAKA,EACN7S,OAAOkB,UAAUoS,SAAS7T,KAAKoT,GAAKnN,QAAQ,sBAAsB,SAAUC,EAAIC,GAAM,OAAOA,EAAGI,mBAMzG,IADA,IAAIuN,EAAQ,CAAC,YAAa,UAAW,WAAY,SAAU,QAAS,SAAU,OAAQ,SAAU,YAAa,QACpGjU,EAAI,EAAGA,EAAIiU,EAAMvP,OAAQ1E,IACjC+S,EAAME,MAAM,KAAOgB,EAAMjU,IAAM,SAAWyH,GACzC,OAAO,SAAU8L,GAChB,OAAOR,EAAME,MAAMc,UAAUR,KAAS9L,EAAKf,eAFd,CAI5BuN,EAAMjU,IAIV+S,EAAMG,QAAU,GAGhBH,EAAMC,QAAUD,EAAME,MAAM5O,OAAO,CAClC6P,UAAW,QACXC,SAAU,CAAC,QAAS,SAAU,UAAW,UACzCC,WAAY,IACZC,aAAc,KACZ1R,OAAOoQ,MAAQpQ,OAAOoQ,MAAMC,QAAU,IAGzCD,EAAMI,QAAU,WACf,IAAImB,EAAQ,SAAW7J,KAAK8J,SAAW,GACpCP,SAAS,IACTQ,UAAU,GACZC,EAAY,GACZC,EAAc,SAAUnT,GACvB,IAAIkG,EAAOsL,EAAME,MAAMc,UAAUxS,GACjC,MAAiB,WAATkG,GAAqBlG,GAAiB,WAATkG,GAA8B,YAATA,GAE3DkN,EAAmB,SAAUR,GAC5B,OAAIpB,EAAME,MAAMQ,QAAQU,GAChBA,EACDpB,EAAME,MAAM2B,SAAST,GAAY,CAACA,GAAY,IAEtDU,EAAe,SAAUX,EAAWY,EAAMC,GACzC,IAAIxT,EAAM,GAOV,OANImT,EAAYI,GACfvT,GAAOuT,EACG/B,EAAME,MAAMQ,QAAQqB,KAE9BvT,GADAuT,EAAO/B,EAAME,MAAMW,WAAWkB,EAAKE,QAAUF,EAAKE,OAAON,GAAeI,GAC7DG,KAAKF,IAEVxT,GAAOmT,EAAYR,GAAaA,EAAYa,EAAYxT,EAAMA,GAEtE2T,EAAa,SAAUhB,EAAW3S,EAAKwT,GACtC,OAAKL,EAAYR,GAEV3S,EAAI6E,QAAQ,IAAImC,OAAO,IAAM2L,EAAYa,GAAY,IADpDxT,GAWN4T,EAAsB,CACzBC,OAAQ,KACRC,MAAO,WACN,IACC1S,OAAOR,KAAKiT,QAAQE,QAAQhB,GAAO,GACnC3R,OAAOR,KAAKiT,QAAQG,WAAWjB,GAC9B,MAAOvQ,GACR,OAAO,EAER,OAAO,GAERyR,IAAK,SAAUjU,EAAKN,EAAO+R,GAC1B,IAAKzR,EACJ,MAAMkU,MAAM,eACb9S,OAAOR,KAAKiT,QAAQE,QAAQ/T,EAAKN,IAElCJ,IAAK,SAAUU,GACd,OAAOoB,OAAOR,KAAKiT,QAAQM,QAAQnU,IAEpCoN,OAAQ,SAAUpN,GACjBoB,OAAOR,KAAKiT,QAAQG,WAAWhU,IAEhCoU,MAAO,SAAUzB,GAChB,IAAK,IAAW3S,EAAPvB,EAAI,EAAQA,EAAI2C,OAAOR,KAAKiT,QAAQ1Q,OAAQ1E,IACpDuB,EAAMoB,OAAOR,KAAKiT,QAAQ7T,IAAIvB,GACzBkU,GAAwC,IAA3B3S,EAAI2K,QAAQgI,KAC7B/R,KAAKwM,OAAOpN,GACZvB,MAIH4V,KAAM,SAAU1B,EAAWa,GAE1B,IADA,IACgBxT,EADZqU,EAAO,GACF5V,EAAI,EAAQA,EAAI2C,OAAOR,KAAKiT,QAAQ1Q,OAAQ1E,IACpDuB,EAAMoB,OAAOR,KAAKiT,QAAQ7T,IAAIvB,GACzBkU,GAAwC,IAA3B3S,EAAI2K,QAAQgI,IAC7B0B,EAAKC,KAAKX,EAAWhB,EAAW3S,EAAKwT,IAEvC,OAAOa,IAiJT,OA5IAnB,EAAUqB,MAAQ/C,EAAME,MAAM5O,OAAO,GAAI8Q,EAAqB,CAC7DC,OAAQ,iBAGTX,EAAUsB,QAAUhD,EAAME,MAAM5O,OAAO,GAAI8Q,EAAqB,CAC/DC,OAAQ,mBAITX,EAAUuB,OAAS,CAClBC,MAAO,GACPZ,MAAO,WACN,OAAO,GAERG,IAAK,SAAUjU,EAAKN,EAAO+R,GAC1B,IAAKzR,EACJ,MAAMkU,MAAM,eACbtT,KAAK8T,MAAM1U,GAAON,GAEnBJ,IAAK,SAAUU,GACd,OAAOY,KAAK8T,MAAM1U,IAAQ,MAE3BoN,OAAQ,SAAUpN,UACVY,KAAK8T,MAAM1U,IAEnBoU,MAAO,SAAUzB,GAChB,IAAK,IAAI3S,KAAOY,KAAK8T,MACf/B,GAAwC,IAA3B3S,EAAI2K,QAAQgI,IAC7B/R,KAAKwM,OAAOpN,IAGfqU,KAAM,SAAU1B,EAAWa,GAC1B,IAAIa,EAAO,GACX,IAAK,IAAIrU,KAAOY,KAAK8T,MACf/B,GAAwC,IAA3B3S,EAAI2K,QAAQgI,IAC7B0B,EAAKC,KAAKX,EAAWhB,EAAW3S,EAAKwT,IACvC,OAAOa,IAKTnB,EAAUyB,OAAS,CAClBb,MAAO,SAAUrC,GAChB,IAAKmD,UAAUC,cACd,OAAO,EACR,GAAIzT,OAAOuE,OAASvE,OAAO0T,IAAK,CAE/B,IAAIH,EAAS,oBAAsBzL,KAAKC,MAAsB,IAAhBD,KAAK8J,UAEnD,OADAjR,SAAS4S,OAASA,EAAS,YACiB,IAArC5S,SAAS4S,OAAOhK,QAAQgK,GAGhC,GAAIlD,GAAWA,EAAQsD,OACtB,IACCnU,KAAKqT,IAAIlB,EAAOA,EAAOtB,GACvB,IAAIuD,EAAsBpU,KAAKtB,IAAIyT,KAAWA,EAE9C,OADAnS,KAAKwM,OAAO2F,GACLiC,EACN,MAAO9E,GACR,OAAO,EAGT,OAAO,GAER+D,IAAK,SAAUjU,EAAKN,EAAO+R,GAC1B,IAAK7Q,KAAKkT,QACT,MAAMI,MAAM,wBAEb,GADAzC,EAAUA,GAAW,IAChBzR,EACJ,MAAMkU,MAAM,eACb,IAAIS,EAASM,mBAAmBjV,GAAO,IAAMiV,mBAAmBvV,GAEhE,GAAI+R,EAAQoB,WAAY,CACvB,IAAIqC,EAAO,IAAIC,KACfD,EAAKE,QAAQF,EAAKG,UAAkC,GAArB5D,EAAQoB,WAAkB,GAAK,GAAK,KACnE8B,GAAU,aAAeO,EAAKI,cAG/B,GAAI7D,EAAQ8D,QAAU9D,EAAQ8D,SAAWxT,SAASwT,OAAQ,CACzD,IAAIC,EAAU/D,EAAQ8D,OAAO1Q,QAAQ,MAAO,IAC5C,IAA0C,IAAtC9C,SAASwT,OAAO5K,QAAQ6K,IAAmBA,EAAQrL,MAAM,KAAKhH,QAAU,EAC3E,MAAM+Q,MAAM,kBACbS,GAAU,YAAclD,EAAQ8D,OAG7B9D,EAAQgE,UAAY,CAAC,MAAM,SAAS,QAAQC,SAASjE,EAAQgE,SAAStQ,iBACzEwP,GAAU,cAAgBlD,EAAQgE,WAGZ,IAAnBhE,EAAQsD,SACXJ,GAAU,YAEX5S,SAAS4S,OAASA,EAAS,YAE5BrV,IAAK,SAAUU,GACd,IAAKY,KAAKkT,QACT,MAAMI,MAAM,wBAIb,IAHA,IAGiCS,EAH7BgB,EAAaV,mBAAmBjV,GAChC4V,EAAU7T,SAAS4S,OAAS5S,SAAS4S,OAAOxK,MAAM,KAAO,GAEpD1L,EAAImX,EAAQzS,OAAS,EAAW1E,GAAK,EAAGA,IAEhD,GAAyC,KADzCkW,EAASiB,EAAQnX,GAAGoG,QAAQ,OAAQ,KACzB8F,QAAQgL,EAAa,KAC/B,OAAOpF,mBAAmBoE,EAAO1B,UAAU0C,EAAWxS,OAAS,EAAGwR,EAAOxR,SAE3E,OAAO,MAERiK,OAAQ,SAAUpN,GAEjBY,KAAKqT,IAAIjU,EAAK,GAAI,CAAE6S,YAAa,IAGjC,IADA,IAAIgD,EAAc9T,SAASwT,OAAOpL,MAAM,KAC/B1L,EAAIoX,EAAY1S,OAAQ1E,EAAI,EAAGA,IACvCmC,KAAKqT,IAAIjU,EAAK,GAAI,CAAE6S,YAAa,EAAG0C,OAAQ,IAAMM,EAAYtL,OAAQ9L,GAAGiV,KAAK,QAGhFU,MAAO,SAAUzB,GAEhB,IADA,IACgBgC,EAAQ3U,EADpB4V,EAAU7T,SAAS4S,OAAS5S,SAAS4S,OAAOxK,MAAM,KAAO,GACpD1L,EAAI,EAAgBA,EAAImX,EAAQzS,OAAQ1E,IAEhDuB,GADA2U,EAASiB,EAAQnX,GAAGoG,QAAQ,OAAQ,KACvBiR,OAAO,EAAGnB,EAAOhK,QAAQ,MACjCgI,GAAwC,IAA3B3S,EAAI2K,QAAQgI,IAC7B/R,KAAKwM,OAAOpN,IAGfqU,KAAM,SAAU1B,EAAWa,GAC1B,IAAK5S,KAAKkT,QACT,MAAMI,MAAM,wBAGb,IAFA,IAEgBS,EAAQ3U,EAFpBqU,EAAO,GACVuB,EAAU7T,SAAS4S,OAAS5S,SAAS4S,OAAOxK,MAAM,KAAO,GACjD1L,EAAI,EAAgBA,EAAImX,EAAQzS,OAAQ1E,IAChDkW,EAASiB,EAAQnX,GAAGoG,QAAQ,OAAQ,IACpC7E,EAAMuQ,mBAAmBoE,EAAOmB,OAAO,EAAGnB,EAAOhK,QAAQ,OACpDgI,GAAwC,IAA3B3S,EAAI2K,QAAQgI,IAC7B0B,EAAKC,KAAKX,EAAWhB,EAAW3S,EAAKwT,IAEvC,OAAOa,IAIF,CACNzQ,KAAM,SAAU6N,GAEf,OADA7Q,KAAKmV,WAAWtE,GACT7Q,MAERmV,WAAY,SAAUtE,GACrB7Q,KAAK6Q,QAAUD,EAAME,MAAM5O,OAAO,GAAIlC,KAAK6Q,SAAWD,EAAMC,QAASA,IAEtEuE,QAAS,SAAUC,GAClB,OAAO/C,EAAU5S,eAAe2V,IAEjCnC,MAAO,SAAUmC,GAChB,QAAIrV,KAAKoV,QAAQC,IACT/C,EAAU+C,GAASnC,MAAMlT,KAAK6Q,UAGvCwC,IAAK,SAAUjU,EAAKN,EAAO+R,GAE1B,GADAA,EAAUD,EAAME,MAAM5O,OAAO,GAAIlC,KAAK6Q,QAASA,KACzCzR,EAAMsT,EAAa7B,EAAQkB,UAAW3S,EAAKyR,EAAQqB,eACxD,OAAO,EACRpT,GAAwB,IAAhB+R,EAAQyE,IAAexW,EAnNf,SAAUA,GAC1B,OAAOsL,KAAKmL,UAAUzW,GAkNiB0W,CAAe1W,GACtD,IAAI2W,EAAQ,KAOZ,OALA7E,EAAME,MAAMS,QAAQiB,EAAiB3B,EAAQmB,WAAW,SAAUqD,EAASK,GAG1E,OAFApD,EAAU+C,GAAShC,IAAIjU,EAAKN,EAAO+R,GACnC4E,EAAQJ,GACD,IACL,KAAMrV,QACJyV,IAKL7E,EAAME,MAAMS,QAAQiB,EAAiB3B,EAAQmB,WAAW,SAAUqD,EAASK,GACtEL,IAAYI,GACfnD,EAAU+C,GAAS7I,OAAOpN,KACzB,KAAMY,OACF,IAERtB,IAAK,SAAUU,EAAKyR,GAEnB,GADAA,EAAUD,EAAME,MAAM5O,OAAO,GAAIlC,KAAK6Q,QAASA,KACzCzR,EAAMsT,EAAa7B,EAAQkB,UAAW3S,EAAKyR,EAAQqB,eACxD,OAAO,KACR,IAAIpT,EAAQ,KASZ,OARA8R,EAAME,MAAMS,QAAQiB,EAAiB3B,EAAQmB,WAAW,SAAUqD,EAASK,GAC1E,GAAc,OAAV5W,EACH,OAAO,EACRA,EAAQwT,EAAU+C,GAAS3W,IAAIU,EAAKyR,IAAY,KAChD/R,GAAwB,IAAhB+R,EAAQyE,IAAexW,EA5Od,SAAUA,GAC5B,OAAOA,EAAQsL,KAAKC,MAAMvL,GAAS,KA2OK6W,CAAiB7W,MACtD,SAAUuW,EAASK,EAAOpG,GAC5BxQ,EAAQ,OACNkB,MACIlB,GAER0N,OAAQ,SAAUpN,EAAKyR,GACtBA,EAAUD,EAAME,MAAM5O,OAAO,GAAIlC,KAAK6Q,QAASA,IACzCzR,EAAMsT,EAAa7B,EAAQkB,UAAW3S,EAAKyR,EAAQqB,gBAEzDtB,EAAME,MAAMS,QAAQiB,EAAiB3B,EAAQmB,WAAW,SAAUqD,GACjE/C,EAAU+C,GAAS7I,OAAOpN,KACxB,KAAMY,OAEVwT,MAAO,SAAU3C,GAChBA,EAAUD,EAAME,MAAM5O,OAAO,GAAIlC,KAAK6Q,QAASA,GAC/CD,EAAME,MAAMS,QAAQiB,EAAiB3B,EAAQmB,WAAW,SAAUqD,GACjE/C,EAAU+C,GAAS7B,MAAM3C,EAAQkB,aAC/B,KAAM/R,OAEVyT,KAAM,SAAU5C,GACfA,EAAUA,GAAW,GACrB,IAAI4C,EAAO,GACX,IAAK,IAAIrU,KAAOY,KAAK4V,QAAQ/E,GAC5B4C,EAAKC,KAAKtU,GACX,OAAOqU,GAERmC,QAAS,SAAU/E,GAClBA,EAAUD,EAAME,MAAM5O,OAAO,GAAIlC,KAAK6Q,QAASA,GAC/C,IAAIgF,EAAM,GAOV,OANAjF,EAAME,MAAMS,QAAQiB,EAAiB3B,EAAQmB,WAAW,SAAUqD,GACjEzE,EAAME,MAAMzH,KAAKiJ,EAAU+C,GAAS5B,KAAK5C,EAAQkB,UAAWlB,EAAQqB,eAAe,SAAU9S,GAC5FyW,EAAIzW,GAAOwR,EAAME,MAAMQ,QAAQuE,EAAIzW,IAAQyW,EAAIzW,GAAO,GACtDyW,EAAIzW,GAAKsU,KAAK2B,KACZrV,QACD,KAAMA,MACF6V,KAMVjF,EAAMiD,QAAS,IAAIjD,EAAMI,SAAUhO,KAAK,CAAEgP,SAAU,SAAUD,UAAW,KAAMuD,KAAK,IACpF1E,EAAMmD,QAAS,IAAInD,EAAMI,SAAUhO,KAAK,CAAEgP,SAAU,SAAUD,UAAW,KAAMuD,KAAK,IACpF1E,EAAMkF,cAAe,IAAIlF,EAAMI,SAAUhO,KAAK,CAAEgP,SAAU,QAASD,UAAW,KAAMuD,KAAK,IACzF1E,EAAMmF,gBAAiB,IAAInF,EAAMI,SAAUhO,KAAK,CAAEgP,SAAU,UAAWD,UAAW,KAAMuD,KAAK,IAG7F9U,OAAOoQ,MAAQA,OAMb,KAFD,aACC,OAAOA,GACP,8BA5YH,I,mCCkBA,SAASoF,EAAUC,EAAOC,EAAYC,EAAUC,GAM9C,IAAIC,EACAC,GAAY,EAEZC,EAAW,EAEf,SAASC,IACHH,GACFI,aAAaJ,GAuBjB,SAASK,IACP,IAAK,IAAIC,EAAOxF,UAAU5O,OAAQqU,EAAa,IAAItV,MAAMqV,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IACrFD,EAAWC,GAAQ1F,UAAU0F,GAG/B,IAAI9R,EAAO/E,KACP8W,EAAUvC,KAAKwC,MAAQR,EAO3B,SAAS7G,IACP6G,EAAWhC,KAAKwC,MAChBZ,EAAS5U,MAAMwD,EAAM6R,GAQvB,SAASI,IACPX,OAAY3S,EAhBV4S,IAmBAF,IAAiBC,GAKnB3G,IAGF8G,SAEqB9S,IAAjB0S,GAA8BU,EAAUb,EAK1CvG,KACwB,IAAfwG,IAYTG,EAAY7N,WAAW4N,EAAeY,EAAQtH,OAAuBhM,IAAjB0S,EAA6BH,EAAQa,EAAUb,KAMvG,MAzE0B,kBAAfC,IACTE,EAAeD,EACfA,EAAWD,EACXA,OAAaxS,GAoEfgT,EAAQO,OA7ER,WACET,IACAF,GAAY,GA6EPI,E,0EC/GM,MAAMQ,UAAmBrX,IACvCC,YAAYC,GACXiC,MAAMjC,GAKPiD,OACC7C,EAAE+B,OAAOlC,KAAKC,IAAK,CAClBkX,UAAWnX,KAAKC,IAAIF,GAAGgB,KAAK,cAC5BqW,QAASpX,KAAKC,IAAIF,GAAGgB,KAAK,uBAC1BsW,MAAOrX,KAAKC,IAAIF,GAAGgB,KAAK,wBAGzBf,KAAKmK,IAAM,CACVmN,QAAStX,KAAKC,IAAIkX,UAAUzS,KAAK,eACjC6S,OAAQvX,KAAKC,IAAIkX,UAAUzS,KAAK,eAGjC,IAAIyF,EAAMnK,KAAKmK,IAAImN,QACO,OAAtB9W,OAAOgX,aACVrN,EAAMnK,KAAKmK,IAAIoN,QAGDvX,KAAKC,IAAIoX,MAAM,GAG9BrX,KAAK8E,aAGNA,aACC,IAAIc,EAAQ5F,KAAKC,IAAIM,EAAEqF,QDmGzB,IAAmBqQ,EAAOwB,EAAStB,EChGjCnW,KAAKC,IAAIM,EAAE6C,GACV,UD+FgB6S,EC9FP,ID8FcwB,EC9FT,KACb,MAAMC,EAAW1X,KAAKC,IAAIM,EAAEqF,QAExBA,IAAU8R,GACb1X,KAAK2X,qBAIN/R,EAAQ5F,KAAKC,IAAIM,EAAEqF,cDuFDlC,IAAbyS,EAAyBH,EAASC,EAAOwB,GAAS,GAASzB,EAASC,EAAOE,GAAsB,IAAZsB,KClF7FG,eAAezN,EAAK0N,GACnB,MAAMC,EACIC,IAAY/D,UAAUgE,WAD1BF,EAEI,CACR1Z,KAAqB,YAAfqK,GAAGwP,GAAG7Z,KACZ6S,QAASiH,WAAWzP,GAAGwP,GAAGhH,UAAY,GAJlC6G,EAMA,CACJ1Z,KAAqB,QAAfqK,GAAGwP,GAAG7Z,KACZ6S,QAASiH,WAAWzP,GAAGwP,GAAGhH,UAAY,IARlC6G,EAUI,CACRK,OAAQ,CACP/Z,KAA0B,WAApBqK,GAAG2P,QAAQha,KACjB6S,QAASiH,WAAWzP,GAAG2P,QAAQnH,UAAY,IAE5CoH,OAAQ,CACPja,KAA0B,WAApBqK,GAAG2P,QAAQha,KACjB6S,QAASiH,WAAWzP,GAAG2P,QAAQnH,UAAY,KAK9C,GAAI4G,EACH,GACCC,GACCA,EAA0B1Z,MAC1B0Z,EAA0B7G,SAC1B6G,EAA0BK,QAC1BL,EAA0BK,OAAOlH,SACjC6G,EAAsB1Z,MACtB0Z,EAAsB7G,UACrB6G,EAA0BO,OAAOpH,SACjC6G,EAA0BK,OAAOlH,SAEnCjR,KAAK2X,qBACL3X,KAAKC,IAAIoX,MAAMiB,OAEftY,KAAKC,IAAIoX,MAAM,GAAG1V,iBAAiB,aAAc,KAE5C3B,KAAKC,IAAIoX,MAAM,GAAGkB,YAAc,IACnCvY,KAAKC,IAAIF,GAAG4D,SAAS,UACrB3D,KAAKC,IAAIC,KAAKyD,SAAS,sBAGnB,CACiB3D,KAAKC,IAAIF,GAAGgB,KAAK,0BACzB6C,KAAK,wBAAyB,SAE7C5D,KAAKC,IAAIF,GAAG4D,SAAS,UACrB3D,KAAKC,IAAIC,KAAKyD,SAAS,oBAEdwG,EACVhK,EAAE,UACAyD,KAAK,MAAOuG,GACZmO,KAAK,KACLtY,KAAKC,IAAIF,GAAG4D,SAAS,UACrB3D,KAAKC,IAAIC,KAAKyD,SAAS,kBAGzB3D,KAAKC,IAAIF,GAAG4D,SAAS,UACrB3D,KAAKC,IAAIC,KAAKyD,SAAS,gBAIzBgU,qBAGwB,OAAtBnX,OAAOgX,YACe,OAAtBhX,OAAOgX,YACe,OAAtBhX,OAAOgX,WAEP,GAAG/V,QAAQzD,KAAKgC,KAAKC,IAAImX,QAAUoB,IAClC,MAAMC,EAAaD,EAAOlO,aAAa,OACjCoO,EAAeF,EAAOlO,aAAa,sBAErCmO,IAAeC,IAClBF,EAAOlN,IAAMoN,EACb1Y,KAAKC,IAAIoX,MAAMiB,UAIjB,GAAG7W,QAAQzD,KAAKgC,KAAKC,IAAImX,QAAUoB,IAClC,MAAMC,EAAaD,EAAOlO,aAAa,OACjCoO,EAAeF,EAAOlO,aAAa,qBAErCmO,IAAeC,IAClBF,EAAOlN,IAAMoN,EACb1Y,KAAKC,IAAIoX,MAAMiB","file":"pressroom.boot.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 5);\n","export default class Module {\r\n\tconstructor(el) {\r\n\t\t//-- Properties\r\n\t\t//--------------------------------------------------------------\r\n\t\tthis.dom = {\r\n\t\t\tel: el,\r\n\t\t\tbody: $('body'),\r\n\t\t\thtml: $('html'),\r\n\t\t\tpage: $('html, body'),\r\n\t\t\tsite: $('#site'),\r\n\t\t\tw: $(window),\r\n\t\t};\r\n\t}\r\n\r\n\t//-- Methods\r\n\t//--------------------------------------------------------------\r\n\tbackToTop() {\r\n\t\tthis.dom.page.animate({ scrollTop: 0 }, 500);\r\n\t}\r\n\r\n\tmanageAuthentication() {\r\n\t\tif (window.cirqueClub.isAuthenticated) {\r\n\t\t\tthis.dom.site.find('.hidden-anonymous').removeClass('hidden-anonymous');\r\n\t\t} else {\r\n\t\t\tthis.dom.site.find('.hidden-logged').removeClass('hidden-logged');\r\n\t\t}\r\n\t}\r\n}\r\n","export default function ManageFocus() {\r\n\tlet focusable = document.querySelectorAll(\r\n\t\t\t'button, [href], form, [tabindex]:not([tabindex=\"-1\"]), input[type=checkbox]'\r\n\t\t),\r\n\t\tfocusableArray = Array.apply(null, focusable),\r\n\t\tmouseDown = false;\r\n\r\n\tfocusableArray.forEach((elm, i) => {\r\n\t\telm.addEventListener('mousedown', () => {\r\n\t\t\tmouseDown = true;\r\n\t\t});\r\n\t\telm.addEventListener('mouseup', () => {\r\n\t\t\tmouseDown = false;\r\n\t\t});\r\n\t\telm.addEventListener('focus', (e) => {\r\n\t\t\tif (mouseDown) {\r\n\t\t\t\te.currentTarget.blur();\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\n","import Module from './Module';\r\n\r\nexport default class ModuleBootstrapHelper extends Module {\r\n\tconstructor(el) {\r\n\t\tsuper(el);\r\n\r\n\t\t// -- Properties\r\n\t\t//--------------------------------------------------------------\r\n\t\tthis.breakpoints = ['xs', 'sm', 'md', 'lg'];\r\n\r\n\t\t$.extend(this.dom, {\r\n\t\t\tb: window.document.body,\r\n\t\t\ttemp: window.document.createElement('div'),\r\n\t\t});\r\n\t}\r\n\r\n\t// -- Methods\r\n\t//--------------------------------------------------------------\r\n\tget breakpoint() {\r\n\t\tthis.dom.b.appendChild(this.dom.temp);\r\n\r\n\t\tfor (let i = this.breakpoints.length - 1; i >= 0; i--) {\r\n\t\t\tconst env = this.breakpoints[i];\r\n\r\n\t\t\tthis.dom.temp.className = `hidden-${env}`;\r\n\r\n\t\t\tif ($(this.dom.temp).is(':hidden')) {\r\n\t\t\t\tthis.dom.temp.parentNode.removeChild(this.dom.temp);\r\n\t\t\t\treturn env;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn '';\r\n\t}\r\n}\r\n","import ModuleBootstrapHelper from '../modules/ModuleBootstrapHelper';\r\n\r\nexport default class View {\r\n\tconstructor(el) {\r\n\t\t// -- Properties\r\n\t\t//--------------------------------------------------------------\r\n\t\tthis.dom = {\r\n\t\t\tel,\r\n\t\t\tbody: $('body'),\r\n\t\t\thtml: $('html'),\r\n\t\t\tpage: $('html, body'),\r\n\t\t\tsite: $('#site'),\r\n\t\t\tw: $(window),\r\n\t\t};\r\n\r\n\t\tthis.dom.back = this.dom.site.find('.back-to-top');\r\n\t\tthis.dom.language = this.dom.site.find('.languages.dropdown-menu');\r\n\t}\r\n\r\n\tinit() {\r\n\t\tthis.initBootstrapHelper();\r\n\t\twindow.setResponsiveImage(this.breakpoint);\r\n\r\n\t\t// default bindings\r\n\t\tthis.dom.w.on('orientationchange', () => {\r\n\t\t\tif (this.dom.w.scrollTop() < 30) {\r\n\t\t\t\tthis.dom.page.animate(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tscrollTop: 0,\r\n\t\t\t\t\t},\r\n\t\t\t\t\t0,\r\n\t\t\t\t\t() => {\r\n\t\t\t\t\t\tthis.update(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tthis.update();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.dom.back.on('click', (e) => {\r\n\t\t\te.preventDefault();\r\n\t\t\tthis.backToTop();\r\n\t\t});\r\n\r\n\t\tthis.manageAriaHiddenLangAndBackToTop();\r\n\t}\r\n\r\n\tinitBootstrapHelper() {\r\n\t\tthis.bootstrapHelper = new ModuleBootstrapHelper();\r\n\t\tthis.breakpoint = this.bootstrapHelper.breakpoint;\r\n\t\twindow.breakpoint = this.bootstrapHelper.breakpoint;\r\n\t}\r\n\r\n\tupdate(scrolled) {\r\n\t\tif (scrolled !== undefined) {\r\n\t\t\tif (scrolled) {\r\n\t\t\t\tthis.dom.body.addClass('page-scrolled');\r\n\t\t\t} else {\r\n\t\t\t\tthis.dom.body.removeClass('page-scrolled');\r\n\t\t\t}\r\n\t\t} else if (this.dom.w.scrollTop() > 5) {\r\n\t\t\tthis.dom.body.addClass('page-scrolled');\r\n\t\t} else {\r\n\t\t\tthis.dom.body.removeClass('page-scrolled');\r\n\t\t}\r\n\t\tthis.manageAriaHiddenLangAndBackToTop();\r\n\t}\r\n\r\n\tmanageAriaHiddenLangAndBackToTop() {\r\n\t\tif (this.dom.w.scrollTop() > 5) {\r\n\t\t\tthis.dom.language.attr('aria-hidden', true);\r\n\t\t\tthis.dom.back.attr('aria-hidden', false);\r\n\t\t} else {\r\n\t\t\tthis.dom.language.attr('aria-hidden', false);\r\n\t\t\tthis.dom.back.attr('aria-hidden', true);\r\n\t\t}\r\n\t}\r\n\r\n\tbackToTop() {\r\n\t\tthis.dom.page.animate({ scrollTop: 0 }, 500);\r\n\t}\r\n}\r\n","import Module from './Module';\r\nimport manageFocus from '../services/manage-focus';\r\n\r\nexport default class ModulePopup extends Module {\r\n\tconstructor(el) {\r\n\t\tsuper(el);\r\n\r\n\t\tconst qs = {};\r\n\t\tlocation.search.replace(/([^?=&]+)(=([^&]*))?/g, function ($0, $1, $2, $3) {\r\n\t\t\tconst qParam = $1.replace(/\\-/g, ''); // Dashes needs to be removed since it can't be part of a Js variable name.\r\n\t\t\tqs[qParam.toLowerCase()] = unescape($3);\r\n\t\t});\r\n\t\tthis.qs = qs;\r\n\r\n\t\t// -- Properties\r\n\t\t//--------------------------------------------------------------\r\n\t\tthis.href = this.dom.el.attr('href') || this.dom.el.data('url');\r\n\t\tthis.addedClass = this.dom.el.data('class')\r\n\t\t\t? this.dom.el.data('class')\r\n\t\t\t: '';\r\n\t\tthis.autoplay = this.dom.el.data('autoplay');\r\n\t\tthis.showName = this.dom.el.data('showname');\r\n\t}\r\n\r\n\t// -- Methods\r\n\t//--------------------------------------------------------------\r\n\tinit() {\r\n\t\tthis.create();\r\n\t\tthis.bindEvents();\r\n\t}\r\n\r\n\tbindEvents() {\r\n\t\tconst self = this;\r\n\r\n\t\tthis.dom.el.on('click', (e) => {\r\n\t\t\tif (e) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t}\r\n\r\n\t\t\tif (this.image) {\r\n\t\t\t\tif (!this.mobilePortrait) {\r\n\t\t\t\t\t$.featherlight({\r\n\t\t\t\t\t\timage: this.href,\r\n\t\t\t\t\t\tvariant: self.variant,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t} else if (this.youtube) {\r\n\t\t\t\t$.featherlight(self.content, {\r\n\t\t\t\t\ttype: self.type,\r\n\t\t\t\t\tafterContent() {},\r\n\t\t\t\t\tvariant: self.variant,\r\n\t\t\t\t});\r\n\r\n\t\t\t\tself.play();\r\n\t\t\t} else {\r\n\t\t\t\t$.featherlight(self.content, {\r\n\t\t\t\t\ttype: self.type,\r\n\t\t\t\t\tvariant: self.variant,\r\n\t\t\t\t\tafterContent() {\r\n\t\t\t\t\t\twindow.initClasses(this.$content);\r\n\t\t\t\t\t},\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tget mobilePortrait() {\r\n\t\tlet status = false;\r\n\t\tif (this.dom.w.width() < 480) {\r\n\t\t\tstatus = true;\r\n\t\t}\r\n\t\treturn status;\r\n\t}\r\n\r\n\tcreate() {\r\n\t\tconst { href } = this;\r\n\t\tthis.content = null;\r\n\r\n\t\tthis.html = $('
').html(this.dom.el.data('html')).html();\r\n\t\tif (href) {\r\n\t\t\tthis.image = this.detectImage(href);\r\n\t\t\tthis.youtube = this.detectYoutube(href);\r\n\t\t}\r\n\r\n\t\tif (this.html) {\r\n\t\t\tthis.type = 'html';\r\n\t\t\tthis.variant = 'html';\r\n\t\t\tthis.content = `
\r\n
\r\n ${this.dom.el.data('name')}\r\n
\r\n
\r\n ${this.html}\r\n
\r\n
`;\r\n\t\t} else if (this.image) {\r\n\t\t\tthis.type = 'image';\r\n\t\t\tthis.variant = 'image';\r\n\t\t} else if (this.youtube) {\r\n\t\t\tthis.type = 'html';\r\n\t\t\tthis.variant = 'youtube';\r\n\t\t\tthis.player = null;\r\n\t\t\tthis.key = this.youtubeKey();\r\n\t\t\tthis.content = `
\r\n
\r\n
`;\r\n\t\t}\r\n\t\tmanageFocus();\r\n\t}\r\n\r\n\tdetectImage(url) {\r\n\t\treturn url.match(/\\.(jpeg|jpg|gif|png)$/) !== null;\r\n\t}\r\n\r\n\tdetectYoutube(url) {\r\n\t\tconst p = /^(?:https?:\\/\\/)?(?:www\\.)?(?:youtu\\.be\\/|youtube\\.com\\/(?:embed\\/|v\\/|watch\\?v=|watch\\?.+&v=))((\\w|-){11})(?:\\S+)?$/;\r\n\t\treturn url.match(p) ? RegExp.$1 : false;\r\n\t}\r\n\r\n\tyoutubeKey() {\r\n\t\tconst regExp = /^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|\\&v=)([^#\\&\\?]*).*/;\r\n\t\tconst match = this.href.match(regExp);\r\n\r\n\t\tif (match && match[2].length === 11) {\r\n\t\t\treturn match[2];\r\n\t\t}\r\n\t\tconsole.log('Youtube URL incorrect');\r\n\t}\r\n\r\n\tplay() {\r\n\t\tconst self = this;\r\n\t\tconst configYT = {\r\n\t\t\tvideoId: self.key,\r\n\t\t\tplayerVars: {\r\n\t\t\t\trel: 0,\r\n\t\t\t\tshowinfo: 0,\r\n\t\t\t\tmodestbranding: 1,\r\n\t\t\t\ttheme: 'light',\r\n\t\t\t\tenablejsapi: 1,\r\n\t\t\t\tshowName: self.showName,\r\n\t\t\t},\r\n\t\t\tevents: {\r\n\t\t\t\tonStateChange: self.onPlayerStateChange,\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\tif ($(this.dom.el).data('autoplay') === true) {\r\n\t\t\tconfigYT.events.onReady = self.onPlayerReady;\r\n\t\t}\r\n\r\n\t\tthis.player = new YT.Player(`youtube_player${this.key}`, configYT);\r\n\t\t$(this.dom.el).data('autoplay', this.autoplay);\r\n\r\n\t\tthis.player.showName = self.showName;\r\n\t\tthis.player.startPlayback = false;\r\n\t\tthis.player.playback50 = false;\r\n\t\tthis.player.playback100 = false;\r\n\t}\r\n\r\n\tonPlayerReady(event) {\r\n\t\tevent.target.playVideo();\r\n\r\n\t\tevent.target.startPlayback = true;\r\n\r\n\t\tfunction publishGTM(event, eventCategory, eventAction, eventLabel) {\r\n\t\t\tconst obj = {};\r\n\r\n\t\t\tobj.event = event;\r\n\t\t\tobj.eventCategory = eventCategory;\r\n\t\t\tobj.eventAction = eventAction;\r\n\t\t\tobj.eventLabel = eventLabel;\r\n\r\n\t\t\twindow.dataLayer.push(obj);\r\n\t\t}\r\n\t}\r\n\r\n\tonPlayerStateChange(event) {\r\n\t\tif (event.data === 0) {\r\n\t\t\t// Video end\r\n\t\t\tcloseModule();\r\n\t\t} else if (event.data == YT.PlayerState.PLAYING) {\r\n\t\t\t// Video Playing\r\n\t\t\tif (!event.target.startPlayback) {\r\n\t\t\t\tevent.target.startPlayback = true;\r\n\t\t\t}\r\n\t\t\tvideoLister(event); // Listen video\r\n\t\t}\r\n\r\n\t\t// Listen method to determin percentage of watched videos\r\n\t\tfunction videoLister(event) {\r\n\t\t\tconst played = event.target.getCurrentTime();\r\n\t\t\tconst videoLenght = event.target.getDuration();\r\n\r\n\t\t\tconst percentage = Math.round((played * 100) / videoLenght);\r\n\r\n\t\t\tif (percentage >= 50 && !event.target.playback50) {\r\n\t\t\t\tevent.target.playback50 = true;\r\n\t\t\t}\r\n\r\n\t\t\tif (percentage == 100 && !event.target.playback100) {\r\n\t\t\t\tevent.target.playback100 = true;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tsetTimeout(videoLister, 500, event);\r\n\t\t}\r\n\r\n\t\tfunction closeModule() {\r\n\t\t\t// Actions to execute when the popup closes\r\n\t\t\tconst current = $.featherlight.current();\r\n\t\t\tcurrent.close();\r\n\t\t}\r\n\r\n\t\t// Send GTM infos regarding status of the video\r\n\t\tfunction publishGTM(event, eventCategory, eventAction, eventLabel) {\r\n\t\t\tconst obj = {};\r\n\r\n\t\t\tobj.event = event;\r\n\t\t\tobj.eventCategory = eventCategory;\r\n\t\t\tobj.eventAction = eventAction;\r\n\t\t\tobj.eventLabel = eventLabel;\r\n\r\n\t\t\twindow.dataLayer.push(obj);\r\n\t\t}\r\n\t}\r\n}\r\n","module.exports = function isDesktop (ua) {\n\treturn !!(((ua.match(/Windows (NT|XP|ME|9)/) && !ua.match(/Phone/i)) && !ua.match(/Bot|Spider|ia_archiver|NewsGator/i) || ua.match(/Win( ?9|NT)/i))\n\t\t|| (ua.match(/Macintosh|PowerPC/i) && !ua.match(/Silk/i))\n\t\t|| (ua.match(/Linux/i) && ua.match(/X11/i) && !ua.match(/Charlotte/i))\n\t\t|| (ua.match(/CrOS/))\n || (ua.match(/Solaris|SunOS|BSD/i)));\n}\n","import ManageFocus from './services/manage-focus.js';\r\n\r\nrequire('./utils/Prototypes');\r\nrequire('./utils/DispatchEvents');\r\nrequire('./utils/WindowFunctions');\r\n\r\nconst Modules = {\r\n\tHero: require('./modules/ModuleHero'),\r\n\tPopupGallery: require('./modules/ModulePopupGallery'),\r\n\tPopup: require('./modules/ModulePopup')\r\n};\r\n\r\nconst Views = {\r\n\tMain: require('./views/View'),\r\n\tPressroom: require('./views/ViewPressroom'),\r\n};\r\n\r\nwindow.basil = require('basil.js');\r\n\r\n$(function () {\r\n\tinitClasses($('#site'));\r\n\tManageFocus();\r\n});\r\n\r\nwindow.initClasses = function (context) {\r\n\t_.each(context.find('[data-view]'), function (el) {\r\n\t\tconst list = $(el).data('view').split(/\\s+/);\r\n\t\t_.each(list, function (name) {\r\n\t\t\tif (Views[name] !== undefined) {\r\n\t\t\t\t// new Views[name]($(el)).init();\r\n\t\t\t\tconst v = new Views[name].default($(el));\r\n\t\t\t\tv.init();\r\n\t\t\t} else {\r\n\t\t\t\tnew Views.Main($(el)).init();\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\t_.each(context.find('[data-module]'), function (el) {\r\n\t\tconst list = $(el).data('module').split(/\\s+/);\r\n\t\t_.each(list, function (name) {\r\n\t\t\tif (Modules[name] !== undefined) {\r\n\t\t\t\tconst m = new Modules[name].default($(el));\r\n\t\t\t\tm.init();\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n};\r\n","NodeList.prototype.toArray = function(){\r\n return Array.prototype.slice.call(this);\r\n}","// Debounce is binded with Jquery to avoid resize event to be overriden\r\n// Custom event \"debounceResize\" is dispatched in JavaScript \r\n$(window).on(\"resize\", _.debounce( (event) => {\r\n window.dispatchEvent(new CustomEvent(\"debounceResize\"));\r\n}, 200) );","window.setResponsiveImage = (b) => {\r\n \r\n let breakpoint = b;\r\n if ( [\"xs\", \"sm\", \"md\", \"lg\"].indexOf(breakpoint) == -1 ) {\r\n breakpoint = \"lg\";\r\n }\r\n\r\n let res = ( [\"xs\", \"sm\"].indexOf(breakpoint) >= 0 ) ? \"m\" : \"d\";\r\n let nodes = document.querySelectorAll(\"[data-responsiveimg]\");\r\n\r\n nodes = nodes.toArray();\r\n nodes.forEach((node, i) => {\r\n let img = JSON.parse(node.getAttribute('data-ResponsiveImg').replace(/'/g, '\\\"'));\r\n if (img[res].trim() != \"\") {\r\n node.style.backgroundImage = 'url(' + img[res] + ')';\r\n }\r\n })\r\n}","import Module from './Module';\r\nimport ModulePopUp from './ModulePopup';\r\nimport manageFocus from '../services/manage-focus';\r\n\r\nexport default class ModulePopupGallery extends Module {\r\n\tconstructor(el) {\r\n\t\tsuper(el);\r\n\r\n\t\t// -- Properties\r\n\t\t//--------------------------------------------------------------\r\n\t\t$.extend(this.dom, {\r\n\t\t\tlinks: el.find('.gallery'),\r\n\t\t});\r\n\r\n\t\t// Clear click events from all links\r\n\t\t$(this.dom.links).off('click');\r\n\t}\r\n\r\n\t// -- Methods\r\n\t//--------------------------------------------------------------\r\n\tinit() {\r\n\t\tconst variant =\r\n\t\t\tthis.dom.el.data('variant') === 'creators' ? 'creators' : 'gallery';\r\n\r\n\t\tthis.dom.links.featherlightGallery({\r\n\t\t\tvariant,\r\n\t\t\tgalleryFadeIn: 300,\r\n\t\t\tpreviousIcon: ' Previous',\r\n\t\t\tnextIcon: ' Next',\r\n\t\t\topenSpeed: 300,\r\n\t\t\tiframeMaxWidth: 1170,\r\n\t\t\tiframeMaxHeight: 658,\r\n\r\n\t\t\t// Analytics/ Tracking - virtual page views\r\n\t\t\tafterContent: (event) => {\r\n\t\t\t\tmanageFocus();\r\n\r\n\t\t\t\tthis.previousNext();\r\n\r\n\t\t\t\tconst a = '?autoplay=1;fs=0';\r\n\t\t\t\tconst f = document.querySelectorAll('.featherlight-iframe iframe');\r\n\r\n\t\t\t\t[].forEach.call(f, (el) => {\r\n\t\t\t\t\tel.src += a;\r\n\t\t\t\t});\r\n\r\n\t\t\t\tconst el = $.featherlight.current().$currentTarget;\r\n\t\t\t\tconst ref = {\r\n\t\t\t\t\tparent: el.data('item-parent'),\r\n\t\t\t\t\tdataAttr: el.data('item-data-attr'),\r\n\t\t\t\t\tdataAlt: el.data('item-alt'),\r\n\t\t\t\t};\r\n\r\n\t\t\t\tconst name = $.featherlight\r\n\t\t\t\t\t.current()\r\n\t\t\t\t\t.$currentTarget.closest(ref.parent)\r\n\t\t\t\t\t.data(ref.dataAttr);\r\n\r\n\t\t\t\tconst instance = $.featherlight.current().$instance;\r\n\t\t\t\tconst image = instance.find('.featherlight-content img');\r\n\t\t\t\timage.attr('alt', ref.dataAlt);\r\n\r\n\t\t\t\tif (el[0].hasAttribute('data-item-template')) {\r\n\t\t\t\t\tconst info = el[0].dataset.itemTemplate;\r\n\t\t\t\t\tconst featherlightContent = instance.find('.featherlight-content');\r\n\r\n\t\t\t\t\tif (!$('.featherlight-wrapper').length) {\r\n\t\t\t\t\t\tfeatherlightContent.wrapInner(\r\n\t\t\t\t\t\t\t'
'\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tfeatherlightContent.append(info);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tinstance\r\n\t\t\t\t\t.find('.featherlight-next, .featherlight-previous')\r\n\t\t\t\t\t.one('click', () => {\r\n\t\t\t\t\t\t$('.featherlight-wrapper img').unwrap();\r\n\t\t\t\t\t\t$('.featherlight-template').remove();\r\n\t\t\t\t\t});\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tpreviousNext() {\r\n\t\tconst nextButton = $('.featherlight-next');\r\n\t\tconst prevButton = $('.featherlight-previous');\r\n\r\n\t\t$('.featherlight-next, .featherlight-previous').attr('tabindex', '0');\r\n\r\n\t\tnextButton.keyup((e) => {\r\n\t\t\tif (e.keyCode == '13') {\r\n\t\t\t\tnextButton.click();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tget mobilePortrait() {\r\n\t\tlet status = false;\r\n\t\tif (this.dom.w.width() < 480) {\r\n\t\t\tstatus = true;\r\n\t\t}\r\n\t\treturn status;\r\n\t}\r\n}\r\n","import View from './View';\r\n\r\nexport default class ViewPressroom extends View {\r\n\tconstructor(el) {\r\n\t\tsuper(el);\r\n\r\n\t\t// -- Properties\r\n\t\t//--------------------------------------------------------------\r\n\t\t$.extend(this.dom, {\r\n\t\t\tnewsFilter: this.dom.el.find('[data-action=\"news-filter\"]'),\r\n\t\t\tcontactFilter: this.dom.el.find('select[name=ContactListGroupFilter]'),\r\n\t\t\tpressKitFilter: this.dom.el.find('[data-action=\"presskit-filter\"]'),\r\n\t\t\tpressReleaseFilter: this.dom.el.find(\r\n\t\t\t\t'[data-action=\"pressreleases-filters\"]'\r\n\t\t\t),\r\n\t\t\tmediaFilter: this.dom.el.find('[data-action=\"pressmedia-filter\"]'),\r\n\t\t\tmediaFilters: this.dom.el.find('[data-action=\"pressmedia-filters\"]'),\r\n\t\t\tspinner: this.dom.el.find('.spinner'),\r\n\t\t\tcategoryFilter: this.dom.el.find('select[name=CategoryFilter]'),\r\n\t\t\tcountryFilter: this.dom.el.find('select[name=CountryFilter]'),\r\n\t\t\tyearFilter: this.dom.el.find('select[name=YearFilter]'),\r\n\t\t\tshowFilter: this.dom.el.find('select[name=ShowFilter]'),\r\n\t\t\tmediaTypeFilter: this.dom.el.find('select[name=MediaTypeFilter]'),\r\n\t\t\tgalleryFilter: this.dom.el.find('select[name=GalleryFilter]'),\r\n\t\t\telemTrigger: this.dom.el.find('.accordion-section h2'),\r\n\t\t\tpressRoomMenu: this.dom.el.find('[data-action=\"pressroom-menu\"]'),\r\n\t\t\tpressRoomMenuToggle: this.dom.el.find(\r\n\t\t\t\t'[data-action=\"pressroom-menu-toggle-mobile\"]'\r\n\t\t\t),\r\n\t\t\tpressRoomMenuOffset: this.dom.el.find('.pressroom-menu-offset'),\r\n\t\t\tmenuContacts: this.dom.el.find('.menu-contacts'),\r\n\t\t\tnewsSummary: this.dom.el.find('[data-action=\"truncate\"]'),\r\n\t\t});\r\n\t}\r\n\r\n\tinit() {\r\n\t\tsuper.init();\r\n\r\n\t\tthis.bindEvents();\r\n\t\tthis.setTruncate();\r\n\t\tthis.dom.spinner.hide();\r\n\t}\r\n\r\n\tbindEvents() {\r\n\t\tconst $this = this;\r\n\r\n\t\tthis.dom.el.find('.fbShare').on('click', (e) => {\r\n\t\t\te.preventDefault();\r\n\t\t\tFB.ui(\r\n\t\t\t\t{\r\n\t\t\t\t\tmethod: 'share',\r\n\t\t\t\t\thref: window.location.href,\r\n\t\t\t\t},\r\n\t\t\t\tfunction (response) {}\r\n\t\t\t);\r\n\t\t});\r\n\r\n\t\tthis.dom.el.find('.js-collapse').on('click', function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tconst self = $(this);\r\n\t\t\tconst dropdown = self.next();\r\n\t\t\tself.toggleClass('is-open');\r\n\t\t\tdropdown.slideToggle();\r\n\t\t});\r\n\r\n\t\tthis.dom.newsFilter.on('change', (event) => {\r\n\t\t\twindow.location.href = this.getFilteredUrl();\r\n\t\t});\r\n\r\n\t\tthis.dom.mediaTypeFilter.on('change', (event) => {\r\n\t\t\twindow.location.href = this.dom.mediaTypeFilter.val();\r\n\t\t});\r\n\r\n\t\tthis.dom.galleryFilter.on('change', (event) => {\r\n\t\t\twindow.location.href = this.dom.galleryFilter.val();\r\n\t\t});\r\n\r\n\t\tthis.dom.categoryFilter.on('change', (event) => {\r\n\t\t\twindow.location.href = this.dom.categoryFilter.val();\r\n\t\t});\r\n\r\n\t\tthis.dom.countryFilter.on('change', (event) => {\r\n\t\t\twindow.location.href = this.dom.countryFilter.val();\r\n\t\t});\r\n\r\n\t\tthis.dom.yearFilter.on('change', (event) => {\r\n\t\t\twindow.location.href = this.dom.yearFilter.val();\r\n\t\t});\r\n\r\n\t\tthis.dom.pressKitFilter.on('change', (event) => {\r\n\t\t\t$.ajax({\r\n\t\t\t\ttype: 'GET',\r\n\t\t\t\turl: '/press/api/kits/presskitsshowsapi/v1.0/get',\r\n\t\t\t\tdata: {\r\n\t\t\t\t\titemId: window.sitecoreRequestObject.ItemId,\r\n\t\t\t\t\tlang: window.sitecoreRequestObject.Lang,\r\n\t\t\t\t\tcountry: this.dom.el.find('.presskit-filter').val(),\r\n\t\t\t\t},\r\n\t\t\t\tdataType: 'html',\r\n\t\t\t\tsuccess(data) {\r\n\t\t\t\t\t$('.presskits').html(data);\r\n\t\t\t\t},\r\n\t\t\t\terror(error) {\r\n\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tthis.dom.contactFilter.on('change', (event) => {\r\n\t\t\twindow.location.href = this.dom.contactFilter.val();\r\n\t\t});\r\n\r\n\t\tthis.dom.elemTrigger.on('click', (event) => {\r\n\t\t\tViewPressroom.manageSection(event);\r\n\t\t});\r\n\t}\r\n\r\n\tgetParameterByName(url, name) {\r\n\t\tname = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\r\n\t\tconst regex = new RegExp(`[\\\\?&]${name}=([^&#]*)`);\r\n\t\tconst results = regex.exec(url);\r\n\t\treturn results === null\r\n\t\t\t? ''\r\n\t\t\t: decodeURIComponent(results[1].replace(/\\+/g, ' '));\r\n\t}\r\n\r\n\tgetFilteredUrl() {\r\n\t\tconst rawUrl = this.dom.pressReleaseFilter[0].getAttribute('data-rawurl');\r\n\t\tconst tokens = rawUrl.split('/');\r\n\t\tlet url = rawUrl.split('?')[0];\r\n\t\tconst page = this.getParameterByName(rawUrl, 'page');\r\n\t\tconst category = this.dom.categoryFilter.val();\r\n\t\tconst country = this.dom.countryFilter.val();\r\n\t\tconst year = this.dom.yearFilter.val();\r\n\r\n\t\tif (country !== null && country !== '') {\r\n\t\t\tif (tokens.length === 4) {\r\n\t\t\t\t// Localized\r\n\t\t\t\turl = `/${tokens[1]}/${country}/${tokens[2]}/${tokens[3]}`;\r\n\t\t\t} else {\r\n\t\t\t\turl = `/${country}${url}`;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (category !== null && category !== '') {\r\n\t\t\turl = `${url}/${category}`;\r\n\t\t}\r\n\r\n\t\tif (year !== null && year !== '') {\r\n\t\t\turl = `${url}/${year}`;\r\n\t\t}\r\n\r\n\t\treturn url;\r\n\t}\r\n\r\n\tstatic manageSection(event) {\r\n\t\tconst parent = event.currentTarget.closest('.accordion-section');\r\n\t\tconst sectionId = event.currentTarget.dataset.id;\r\n\t\tconst section = document.querySelector(`[data-section=\"${sectionId}\"]`);\r\n\r\n\t\tif (parent.classList.contains('open')) {\r\n\t\t\tparent.classList.remove('open');\r\n\t\t\tsection.classList.remove('open');\r\n\t\t} else {\r\n\t\t\tparent.classList.add('open');\r\n\t\t\tsection.classList.add('open');\r\n\t\t}\r\n\t}\r\n\r\n\tsetTruncate() {\r\n\t\tthis.dom.newsSummary.dotdotdot({\r\n\t\t\tellipsis: '...',\r\n\t\t\twatch: true,\r\n\t\t\twrap: 'letter',\r\n\t\t\theight: 20 * 3, // max number of lines\r\n\t\t});\r\n\t}\r\n}\r\n","(function () {\n\t// Basil\n\tvar Basil = function (options) {\n\t\treturn Basil.utils.extend({}, Basil.plugins, new Basil.Storage().init(options));\n\t};\n\n\t// Version\n\tBasil.version = '0.4.11';\n\n\t// Utils\n\tBasil.utils = {\n\t\textend: function () {\n\t\t\tvar destination = typeof arguments[0] === 'object' ? arguments[0] : {};\n\t\t\tfor (var i = 1; i < arguments.length; i++) {\n\t\t\t\tif (arguments[i] && typeof arguments[i] === 'object')\n\t\t\t\t\tfor (var property in arguments[i])\n\t\t\t\t\t\tdestination[property] = arguments[i][property];\n\t\t\t}\n\t\t\treturn destination;\n\t\t},\n\t\teach: function (obj, fnIterator, context) {\n\t\t\tif (this.isArray(obj)) {\n\t\t\t\tfor (var i = 0; i < obj.length; i++)\n\t\t\t\t\tif (fnIterator.call(context, obj[i], i) === false) return;\n\t\t\t} else if (obj) {\n\t\t\t\tfor (var key in obj)\n\t\t\t\t\tif (fnIterator.call(context, obj[key], key) === false) return;\n\t\t\t}\n\t\t},\n\t\ttryEach: function (obj, fnIterator, fnError, context) {\n\t\t\tthis.each(obj, function (value, key) {\n\t\t\t\ttry {\n\t\t\t\t\treturn fnIterator.call(context, value, key);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (this.isFunction(fnError)) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tfnError.call(context, value, key, error);\n\t\t\t\t\t\t} catch (error) {}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, this);\n\t\t},\n\t\tregisterPlugin: function (methods) {\n\t\t\tBasil.plugins = this.extend(methods, Basil.plugins);\n\t\t},\n\t\tgetTypeOf: function (obj) {\n\t\t\tif (typeof obj === 'undefined' || obj === null)\n\t\t\t\treturn '' + obj;\n\t\t\treturn Object.prototype.toString.call(obj).replace(/^\\[object\\s(.*)\\]$/, function ($0, $1) { return $1.toLowerCase(); });\n\t\t}\n\t};\n\n\t// Add some isType methods: isArguments, isBoolean, isFunction, isString, isArray, isNumber, isDate, isRegExp, isUndefined, isNull.\n\tvar types = ['Arguments', 'Boolean', 'Function', 'String', 'Array', 'Number', 'Date', 'RegExp', 'Undefined', 'Null'];\n\tfor (var i = 0; i < types.length; i++) {\n\t\tBasil.utils['is' + types[i]] = (function (type) {\n\t\t\treturn function (obj) {\n\t\t\t\treturn Basil.utils.getTypeOf(obj) === type.toLowerCase();\n\t\t\t};\n\t\t})(types[i]);\n\t}\n\n\t// Plugins\n\tBasil.plugins = {};\n\n\t// Options\n\tBasil.options = Basil.utils.extend({\n\t\tnamespace: 'b45i1',\n\t\tstorages: ['local', 'cookie', 'session', 'memory'],\n\t\texpireDays: 365,\n\t\tkeyDelimiter: '.'\n\t}, window.Basil ? window.Basil.options : {});\n\n\t// Storage\n\tBasil.Storage = function () {\n\t\tvar _salt = 'b45i1' + (Math.random() + 1)\n\t\t\t\t.toString(36)\n\t\t\t\t.substring(7),\n\t\t\t_storages = {},\n\t\t\t_isValidKey = function (key) {\n\t\t\t\tvar type = Basil.utils.getTypeOf(key);\n\t\t\t\treturn (type === 'string' && key) || type === 'number' || type === 'boolean';\n\t\t\t},\n\t\t\t_toStoragesArray = function (storages) {\n\t\t\t\tif (Basil.utils.isArray(storages))\n\t\t\t\t\treturn storages;\n\t\t\t\treturn Basil.utils.isString(storages) ? [storages] : [];\n\t\t\t},\n\t\t\t_toStoredKey = function (namespace, path, delimiter) {\n\t\t\t\tvar key = '';\n\t\t\t\tif (_isValidKey(path)) {\n\t\t\t\t\tkey += path;\n\t\t\t\t} else if (Basil.utils.isArray(path)) {\n\t\t\t\t\tpath = Basil.utils.isFunction(path.filter) ? path.filter(_isValidKey) : path;\n\t\t\t\t\tkey = path.join(delimiter);\n\t\t\t\t}\n\t\t\t\treturn key && _isValidKey(namespace) ? namespace + delimiter + key : key;\n \t\t\t},\n\t\t\t_toKeyName = function (namespace, key, delimiter) {\n\t\t\t\tif (!_isValidKey(namespace))\n\t\t\t\t\treturn key;\n\t\t\t\treturn key.replace(new RegExp('^' + namespace + delimiter), '');\n\t\t\t},\n\t\t\t_toStoredValue = function (value) {\n\t\t\t\treturn JSON.stringify(value);\n\t\t\t},\n\t\t\t_fromStoredValue = function (value) {\n\t\t\t\treturn value ? JSON.parse(value) : null;\n\t\t\t};\n\n\t\t// HTML5 web storage interface\n\t\tvar webStorageInterface = {\n\t\t\tengine: null,\n\t\t\tcheck: function () {\n\t\t\t\ttry {\n\t\t\t\t\twindow[this.engine].setItem(_salt, true);\n\t\t\t\t\twindow[this.engine].removeItem(_salt);\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tset: function (key, value, options) {\n\t\t\t\tif (!key)\n\t\t\t\t\tthrow Error('invalid key');\n\t\t\t\twindow[this.engine].setItem(key, value);\n\t\t\t},\n\t\t\tget: function (key) {\n\t\t\t\treturn window[this.engine].getItem(key);\n\t\t\t},\n\t\t\tremove: function (key) {\n\t\t\t\twindow[this.engine].removeItem(key);\n\t\t\t},\n\t\t\treset: function (namespace) {\n\t\t\t\tfor (var i = 0, key; i < window[this.engine].length; i++) {\n\t\t\t\t\tkey = window[this.engine].key(i);\n\t\t\t\t\tif (!namespace || key.indexOf(namespace) === 0) {\n\t\t\t\t\t\tthis.remove(key);\n\t\t\t\t\t\ti--;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tkeys: function (namespace, delimiter) {\n\t\t\t\tvar keys = [];\n\t\t\t\tfor (var i = 0, key; i < window[this.engine].length; i++) {\n\t\t\t\t\tkey = window[this.engine].key(i);\n\t\t\t\t\tif (!namespace || key.indexOf(namespace) === 0)\n\t\t\t\t\t\tkeys.push(_toKeyName(namespace, key, delimiter));\n\t\t\t\t}\n\t\t\t\treturn keys;\n\t\t\t}\n\t\t};\n\n\t\t// local storage\n\t\t_storages.local = Basil.utils.extend({}, webStorageInterface, {\n\t\t\tengine: 'localStorage'\n\t\t});\n\t\t// session storage\n\t\t_storages.session = Basil.utils.extend({}, webStorageInterface, {\n\t\t\tengine: 'sessionStorage'\n\t\t});\n\n\t\t// memory storage\n\t\t_storages.memory = {\n\t\t\t_hash: {},\n\t\t\tcheck: function () {\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tset: function (key, value, options) {\n\t\t\t\tif (!key)\n\t\t\t\t\tthrow Error('invalid key');\n\t\t\t\tthis._hash[key] = value;\n\t\t\t},\n\t\t\tget: function (key) {\n\t\t\t\treturn this._hash[key] || null;\n\t\t\t},\n\t\t\tremove: function (key) {\n\t\t\t\tdelete this._hash[key];\n\t\t\t},\n\t\t\treset: function (namespace) {\n\t\t\t\tfor (var key in this._hash) {\n\t\t\t\t\tif (!namespace || key.indexOf(namespace) === 0)\n\t\t\t\t\t\tthis.remove(key);\n\t\t\t\t}\n\t\t\t},\n\t\t\tkeys: function (namespace, delimiter) {\n\t\t\t\tvar keys = [];\n\t\t\t\tfor (var key in this._hash)\n\t\t\t\t\tif (!namespace || key.indexOf(namespace) === 0)\n\t\t\t\t\t\tkeys.push(_toKeyName(namespace, key, delimiter));\n\t\t\t\treturn keys;\n\t\t\t}\n\t\t};\n\n\t\t// cookie storage\n\t\t_storages.cookie = {\n\t\t\tcheck: function (options) {\n\t\t\t\tif (!navigator.cookieEnabled)\n\t\t\t\t\treturn false;\n\t\t\t\tif (window.self !== window.top) {\n\t\t\t\t\t// we need to check third-party cookies;\n\t\t\t\t\tvar cookie = 'thirdparty.check=' + Math.round(Math.random() * 1000);\n\t\t\t\t\tdocument.cookie = cookie + '; path=/';\n\t\t\t\t\treturn document.cookie.indexOf(cookie) !== -1;\n\t\t\t\t}\n\t\t\t\t// if cookie secure activated, ensure it works (not the case if we are in http only)\n\t\t\t\tif (options && options.secure) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tthis.set(_salt, _salt, options);\n\t\t\t\t\t\tvar hasSecurelyPersited = this.get(_salt) === _salt;\n\t\t\t\t\t\tthis.remove(_salt);\n\t\t\t\t\t\treturn hasSecurelyPersited;\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tset: function (key, value, options) {\n\t\t\t\tif (!this.check())\n\t\t\t\t\tthrow Error('cookies are disabled');\n\t\t\t\toptions = options || {};\n\t\t\t\tif (!key)\n\t\t\t\t\tthrow Error('invalid key');\n\t\t\t\tvar cookie = encodeURIComponent(key) + '=' + encodeURIComponent(value);\n\t\t\t\t// handle expiration days\n\t\t\t\tif (options.expireDays) {\n\t\t\t\t\tvar date = new Date();\n\t\t\t\t\tdate.setTime(date.getTime() + (options.expireDays * 24 * 60 * 60 * 1000));\n\t\t\t\t\tcookie += '; expires=' + date.toGMTString();\n\t\t\t\t}\n\t\t\t\t// handle domain\n\t\t\t\tif (options.domain && options.domain !== document.domain) {\n\t\t\t\t\tvar _domain = options.domain.replace(/^\\./, '');\n\t\t\t\t\tif (document.domain.indexOf(_domain) === -1 || _domain.split('.').length <= 1)\n\t\t\t\t\t\tthrow Error('invalid domain');\n\t\t\t\t\tcookie += '; domain=' + options.domain;\n\t\t\t\t}\n\t\t\t\t// handle same site\n\t\t\t\tif (options.sameSite && ['lax','strict','none'].includes(options.sameSite.toLowerCase())) {\n\t\t\t\t\tcookie += '; SameSite=' + options.sameSite;\n\t\t\t\t}\n\t\t\t\t// handle secure\n\t\t\t\tif (options.secure === true) {\n\t\t\t\t\tcookie += '; Secure';\n\t\t\t\t}\n\t\t\t\tdocument.cookie = cookie + '; path=/';\n\t\t\t},\n\t\t\tget: function (key) {\n\t\t\t\tif (!this.check())\n\t\t\t\t\tthrow Error('cookies are disabled');\n\t\t\t\tvar encodedKey = encodeURIComponent(key);\n\t\t\t\tvar cookies = document.cookie ? document.cookie.split(';') : [];\n\t\t\t\t// retrieve last updated cookie first\n\t\t\t\tfor (var i = cookies.length - 1, cookie; i >= 0; i--) {\n\t\t\t\t\tcookie = cookies[i].replace(/^\\s*/, '');\n\t\t\t\t\tif (cookie.indexOf(encodedKey + '=') === 0)\n\t\t\t\t\t\treturn decodeURIComponent(cookie.substring(encodedKey.length + 1, cookie.length));\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t},\n\t\t\tremove: function (key) {\n\t\t\t\t// remove cookie from main domain\n\t\t\t\tthis.set(key, '', { expireDays: -1 });\n\t\t\t\t// remove cookie from upper domains\n\t\t\t\tvar domainParts = document.domain.split('.');\n\t\t\t\tfor (var i = domainParts.length; i > 1; i--) {\n\t\t\t\t\tthis.set(key, '', { expireDays: -1, domain: '.' + domainParts.slice(- i).join('.') });\n\t\t\t\t}\n\t\t\t},\n\t\t\treset: function (namespace) {\n\t\t\t\tvar cookies = document.cookie ? document.cookie.split(';') : [];\n\t\t\t\tfor (var i = 0, cookie, key; i < cookies.length; i++) {\n\t\t\t\t\tcookie = cookies[i].replace(/^\\s*/, '');\n\t\t\t\t\tkey = cookie.substr(0, cookie.indexOf('='));\n\t\t\t\t\tif (!namespace || key.indexOf(namespace) === 0)\n\t\t\t\t\t\tthis.remove(key);\n\t\t\t\t}\n\t\t\t},\n\t\t\tkeys: function (namespace, delimiter) {\n\t\t\t\tif (!this.check())\n\t\t\t\t\tthrow Error('cookies are disabled');\n\t\t\t\tvar keys = [],\n\t\t\t\t\tcookies = document.cookie ? document.cookie.split(';') : [];\n\t\t\t\tfor (var i = 0, cookie, key; i < cookies.length; i++) {\n\t\t\t\t\tcookie = cookies[i].replace(/^\\s*/, '');\n\t\t\t\t\tkey = decodeURIComponent(cookie.substr(0, cookie.indexOf('=')));\n\t\t\t\t\tif (!namespace || key.indexOf(namespace) === 0)\n\t\t\t\t\t\tkeys.push(_toKeyName(namespace, key, delimiter));\n\t\t\t\t}\n\t\t\t\treturn keys;\n\t\t\t}\n\t\t};\n\n\t\treturn {\n\t\t\tinit: function (options) {\n\t\t\t\tthis.setOptions(options);\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tsetOptions: function (options) {\n\t\t\t\tthis.options = Basil.utils.extend({}, this.options || Basil.options, options);\n\t\t\t},\n\t\t\tsupport: function (storage) {\n\t\t\t\treturn _storages.hasOwnProperty(storage);\n\t\t\t},\n\t\t\tcheck: function (storage) {\n\t\t\t\tif (this.support(storage))\n\t\t\t\t\treturn _storages[storage].check(this.options);\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tset: function (key, value, options) {\n\t\t\t\toptions = Basil.utils.extend({}, this.options, options);\n\t\t\t\tif (!(key = _toStoredKey(options.namespace, key, options.keyDelimiter)))\n\t\t\t\t\treturn false;\n\t\t\t\tvalue = options.raw === true ? value : _toStoredValue(value);\n\t\t\t\tvar where = null;\n\t\t\t\t// try to set key/value in first available storage\n\t\t\t\tBasil.utils.tryEach(_toStoragesArray(options.storages), function (storage, index) {\n\t\t\t\t\t_storages[storage].set(key, value, options);\n\t\t\t\t\twhere = storage;\n\t\t\t\t\treturn false; // break;\n\t\t\t\t}, null, this);\n\t\t\t\tif (!where) {\n\t\t\t\t\t// key has not been set anywhere\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// remove key from all other storages\n\t\t\t\tBasil.utils.tryEach(_toStoragesArray(options.storages), function (storage, index) {\n\t\t\t\t\tif (storage !== where)\n\t\t\t\t\t\t_storages[storage].remove(key);\n\t\t\t\t}, null, this);\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\tget: function (key, options) {\n\t\t\t\toptions = Basil.utils.extend({}, this.options, options);\n\t\t\t\tif (!(key = _toStoredKey(options.namespace, key, options.keyDelimiter)))\n\t\t\t\t\treturn null;\n\t\t\t\tvar value = null;\n\t\t\t\tBasil.utils.tryEach(_toStoragesArray(options.storages), function (storage, index) {\n\t\t\t\t\tif (value !== null)\n\t\t\t\t\t\treturn false; // break if a value has already been found.\n\t\t\t\t\tvalue = _storages[storage].get(key, options) || null;\n\t\t\t\t\tvalue = options.raw === true ? value : _fromStoredValue(value);\n\t\t\t\t}, function (storage, index, error) {\n\t\t\t\t\tvalue = null;\n\t\t\t\t}, this);\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\tremove: function (key, options) {\n\t\t\t\toptions = Basil.utils.extend({}, this.options, options);\n\t\t\t\tif (!(key = _toStoredKey(options.namespace, key, options.keyDelimiter)))\n\t\t\t\t\treturn;\n\t\t\t\tBasil.utils.tryEach(_toStoragesArray(options.storages), function (storage) {\n\t\t\t\t\t_storages[storage].remove(key);\n\t\t\t\t}, null, this);\n\t\t\t},\n\t\t\treset: function (options) {\n\t\t\t\toptions = Basil.utils.extend({}, this.options, options);\n\t\t\t\tBasil.utils.tryEach(_toStoragesArray(options.storages), function (storage) {\n\t\t\t\t\t_storages[storage].reset(options.namespace);\n\t\t\t\t}, null, this);\n\t\t\t},\n\t\t\tkeys: function (options) {\n\t\t\t\toptions = options || {};\n\t\t\t\tvar keys = [];\n\t\t\t\tfor (var key in this.keysMap(options))\n\t\t\t\t\tkeys.push(key);\n\t\t\t\treturn keys;\n\t\t\t},\n\t\t\tkeysMap: function (options) {\n\t\t\t\toptions = Basil.utils.extend({}, this.options, options);\n\t\t\t\tvar map = {};\n\t\t\t\tBasil.utils.tryEach(_toStoragesArray(options.storages), function (storage) {\n\t\t\t\t\tBasil.utils.each(_storages[storage].keys(options.namespace, options.keyDelimiter), function (key) {\n\t\t\t\t\t\tmap[key] = Basil.utils.isArray(map[key]) ? map[key] : [];\n\t\t\t\t\t\tmap[key].push(storage);\n\t\t\t\t\t}, this);\n\t\t\t\t}, null, this);\n\t\t\t\treturn map;\n\t\t\t}\n\t\t};\n\t};\n\n\t// Access to native storages, without namespace or basil value decoration\n\tBasil.memory = new Basil.Storage().init({ storages: 'memory', namespace: null, raw: true });\n\tBasil.cookie = new Basil.Storage().init({ storages: 'cookie', namespace: null, raw: true });\n\tBasil.localStorage = new Basil.Storage().init({ storages: 'local', namespace: null, raw: true });\n\tBasil.sessionStorage = new Basil.Storage().init({ storages: 'session', namespace: null, raw: true });\n\n\t// browser export\n\twindow.Basil = Basil;\n\n\t// AMD export\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(function() {\n\t\t\treturn Basil;\n\t\t});\n\t// commonjs export\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = Basil;\n\t}\n\n})();\n","/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {boolean} [noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds while the\n * throttled-function is being called. If noTrailing is false or unspecified, callback will be executed one final time\n * after the last throttled-function call. (After the throttled-function has not been called for `delay` milliseconds,\n * the internal counter is reset).\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the throttled-function is executed.\n * @param {boolean} [debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is false (at end),\n * schedule `callback` to execute after `delay` ms.\n *\n * @returns {Function} A new, throttled, function.\n */\nfunction throttle (delay, noTrailing, callback, debounceMode) {\n /*\n * After wrapper has stopped being called, this timeout ensures that\n * `callback` is executed at the proper times in `throttle` and `end`\n * debounce modes.\n */\n var timeoutID;\n var cancelled = false; // Keep track of the last time `callback` was executed.\n\n var lastExec = 0; // Function to clear existing timeout\n\n function clearExistingTimeout() {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n } // Function to cancel next exec\n\n\n function cancel() {\n clearExistingTimeout();\n cancelled = true;\n } // `noTrailing` defaults to falsy.\n\n\n if (typeof noTrailing !== 'boolean') {\n debounceMode = callback;\n callback = noTrailing;\n noTrailing = undefined;\n }\n /*\n * The `wrapper` function encapsulates all of the throttling / debouncing\n * functionality and when executed will limit the rate at which `callback`\n * is executed.\n */\n\n\n function wrapper() {\n for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {\n arguments_[_key] = arguments[_key];\n }\n\n var self = this;\n var elapsed = Date.now() - lastExec;\n\n if (cancelled) {\n return;\n } // Execute `callback` and update the `lastExec` timestamp.\n\n\n function exec() {\n lastExec = Date.now();\n callback.apply(self, arguments_);\n }\n /*\n * If `debounceMode` is true (at begin) this is used to clear the flag\n * to allow future `callback` executions.\n */\n\n\n function clear() {\n timeoutID = undefined;\n }\n\n if (debounceMode && !timeoutID) {\n /*\n * Since `wrapper` is being called for the first time and\n * `debounceMode` is true (at begin), execute `callback`.\n */\n exec();\n }\n\n clearExistingTimeout();\n\n if (debounceMode === undefined && elapsed > delay) {\n /*\n * In throttle mode, if `delay` time has been exceeded, execute\n * `callback`.\n */\n exec();\n } else if (noTrailing !== true) {\n /*\n * In trailing throttle mode, since `delay` time has not been\n * exceeded, schedule `callback` to execute `delay` ms after most\n * recent execution.\n *\n * If `debounceMode` is true (at begin), schedule `clear` to execute\n * after `delay` ms.\n *\n * If `debounceMode` is false (at end), schedule `callback` to\n * execute after `delay` ms.\n */\n timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n }\n }\n\n wrapper.cancel = cancel; // Return the wrapper function.\n\n return wrapper;\n}\n\n/* eslint-disable no-undefined */\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {boolean} [atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n *\n * @returns {Function} A new, debounced function.\n */\n\nfunction debounce (delay, atBegin, callback) {\n return callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);\n}\n\nexport { debounce, throttle };\n//# sourceMappingURL=index.js.map\n","import { debounce } from 'throttle-debounce';\r\nimport isDesktopUa from 'is-desktop-ua';\r\nimport Module from './Module';\r\n\r\nexport default class ModuleHero extends Module {\r\n\tconstructor(el) {\r\n\t\tsuper(el);\r\n\t}\r\n\r\n\t// -- Methods\r\n\t//--------------------------------------------------------------\r\n\tinit() {\r\n\t\t$.extend(this.dom, {\r\n\t\t\tcontainer: this.dom.el.find('.container'),\r\n\t\t\tsources: this.dom.el.find('.hero__video source'),\r\n\t\t\tvideo: this.dom.el.find('.hero__video video'),\r\n\t\t});\r\n\r\n\t\tthis.img = {\r\n\t\t\tdesktop: this.dom.container.data('img-desktop'),\r\n\t\t\tmobile: this.dom.container.data('img-mobile'),\r\n\t\t};\r\n\r\n\t\tlet img = this.img.desktop;\r\n\t\tif (window.deviceSize === 'xs') {\r\n\t\t\timg = this.img.mobile;\r\n\t\t}\r\n\r\n\t\tconst videos = this.dom.video[0];\r\n\r\n\t\t// this.loadBackground(img, videos);\r\n\t\tthis.bindEvents();\r\n\t}\r\n\r\n\tbindEvents() {\r\n\t\tlet width = this.dom.w.width();\r\n\r\n\t\t// resize X only\r\n\t\tthis.dom.w.on(\r\n\t\t\t'resize',\r\n\t\t\tdebounce(300, () => {\r\n\t\t\t\tconst newWidth = this.dom.w.width();\r\n\r\n\t\t\t\tif (width !== newWidth) {\r\n\t\t\t\t\tthis.setBackgroundVideo();\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// reset the basic width\r\n\t\t\t\twidth = this.dom.w.width();\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tloadBackground(img, videos) {\r\n\t\tconst compatibleDevices = {\r\n\t\t\tdesktop: isDesktopUa(navigator.userAgent),\r\n\t\t\tandroid: {\r\n\t\t\t\tname: ua.os.name === 'Android',\r\n\t\t\t\tversion: parseFloat(ua.os.version) >= 6,\r\n\t\t\t},\r\n\t\t\tios: {\r\n\t\t\t\tname: ua.os.name === 'iOS',\r\n\t\t\t\tversion: parseFloat(ua.os.version) >= 10,\r\n\t\t\t},\r\n\t\t\tbrowser: {\r\n\t\t\t\tchrome: {\r\n\t\t\t\t\tname: ua.browser.name === 'chrome',\r\n\t\t\t\t\tversion: parseFloat(ua.browser.version) >= 54,\r\n\t\t\t\t},\r\n\t\t\t\tsafari: {\r\n\t\t\t\t\tname: ua.browser.name === 'safari',\r\n\t\t\t\t\tversion: parseFloat(ua.browser.version) >= 10,\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t};\r\n\r\n\t\tif (videos) {\r\n\t\t\tif (\r\n\t\t\t\tcompatibleDevices.desktop ||\r\n\t\t\t\t(compatibleDevices.android.name &&\r\n\t\t\t\t\tcompatibleDevices.android.version &&\r\n\t\t\t\t\tcompatibleDevices.browser.chrome &&\r\n\t\t\t\t\tcompatibleDevices.browser.chrome.version) ||\r\n\t\t\t\t(compatibleDevices.ios.name &&\r\n\t\t\t\t\tcompatibleDevices.ios.version &&\r\n\t\t\t\t\t(compatibleDevices.browser.safari.version ||\r\n\t\t\t\t\t\tcompatibleDevices.browser.chrome.version))\r\n\t\t\t) {\r\n\t\t\t\tthis.setBackgroundVideo();\r\n\t\t\t\tthis.dom.video.load();\r\n\r\n\t\t\t\tthis.dom.video[0].addEventListener('loadeddata', () => {\r\n\t\t\t\t\t// try 0 or 2\r\n\t\t\t\t\tif (this.dom.video[0].readyState >= 2) {\r\n\t\t\t\t\t\tthis.dom.el.addClass('loaded');\r\n\t\t\t\t\t\tthis.dom.body.addClass('hero-loaded');\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tconst moduleImageSrc = this.dom.el.find('[data-module=ImageSrc]');\r\n\t\t\t\tmoduleImageSrc.attr('data-video-background', 'false');\r\n\r\n\t\t\t\tthis.dom.el.addClass('loaded');\r\n\t\t\t\tthis.dom.body.addClass('hero-loaded');\r\n\t\t\t}\r\n\t\t} else if (img) {\r\n\t\t\t$('')\r\n\t\t\t\t.attr('src', img)\r\n\t\t\t\t.load(() => {\r\n\t\t\t\t\tthis.dom.el.addClass('loaded');\r\n\t\t\t\t\tthis.dom.body.addClass('hero-loaded');\r\n\t\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.dom.el.addClass('loaded');\r\n\t\t\tthis.dom.body.addClass('hero-loaded');\r\n\t\t}\r\n\t}\r\n\r\n\tsetBackgroundVideo() {\r\n\t\t// load one time only if is on the other size\r\n\t\tif (\r\n\t\t\twindow.deviceSize === 'md' ||\r\n\t\t\twindow.deviceSize === 'lg' ||\r\n\t\t\twindow.deviceSize === 'xl'\r\n\t\t) {\r\n\t\t\t[].forEach.call(this.dom.sources, (source) => {\r\n\t\t\t\tconst currentSrc = source.getAttribute('src');\r\n\t\t\t\tconst dataVideoSrc = source.getAttribute('data-video-desktop');\r\n\r\n\t\t\t\tif (currentSrc !== dataVideoSrc) {\r\n\t\t\t\t\tsource.src = dataVideoSrc;\r\n\t\t\t\t\tthis.dom.video.load();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\t[].forEach.call(this.dom.sources, (source) => {\r\n\t\t\t\tconst currentSrc = source.getAttribute('src');\r\n\t\t\t\tconst dataVideoSrc = source.getAttribute('data-video-mobile');\r\n\r\n\t\t\t\tif (currentSrc !== dataVideoSrc) {\r\n\t\t\t\t\tsource.src = dataVideoSrc;\r\n\t\t\t\t\tthis.dom.video.load();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n"],"sourceRoot":""}