{"version":3,"file":"static/chunks/pages/_app-3e42404c63d644cc.js","mappings":"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,SAAe,uCClCf,sCASA,OARA,6BACA,iCAAiD,IAAO,IAExD,aADA,eACA,2CACA,YAEA,QACA,GACA,qBACA,EACA,0CACA,0BAA6C,UAC7C,EACA,qCAA6C,CAAE,SAAa,EAAC,IAC7D,EAAuB,EAAQ,KAA4B,EAC3D,EAAqB,EAAQ,KAA0B,CADzB,CAE9B,IAAqC,EAAQ,IADjB,CACiC,GAC7D,EAAe,EAAQ,KAAU,EACjC,IAA0C,EAAQ,IAD5B,CACiD,GACvE,SADiD,IACjD,oBAKA,cACA,oBACA,CACA,OACA,eACA,0BACA,CAAK,CACL,eACA,wBACA,CAAK,CACL,oBACA,0BACA,CAAK,CACL,kBACA,wBACA,CAAK,EAEL,aACA,cACA,WACA,QAA4D,8BAC5D,oKACA,WADA,eAEA,gCACA,8BACA,uCACA,uCACA,4CACA,yBACA,wBACA,CAAS,EACT,GACA,uBACA,GACA,4BAIA,wBAEA,kBACA,gCACA,2BACA,gBAtBA,cAuBA,GA9CA,uBA+CA,uBAGA,kFACA,+CAEA,yBACA,yBACA,qCACA,oCACA,CAqKA,OApKA,2BACA,6BAEA,6BACA,iBACA,oCACA,kBACA,+BACA,uCACA,oBAEA,EACA,4BAYA,OAXA,oCACA,kBACA,sBACA,kCACA,0BAEA,kCACA,sBACA,4BACA,0BAEA,iBACA,EACA,+BACA,0BAEA,6BACA,2BACA,EACA,0CACA,iBAGA,oCACA,mBACA,mDAEA,mBACA,yCAGA,mCAEA,EACA,0CACA,mBAGA,uCACA,+BAGA,oCAEA,sCACA,yCACA,UACA,0CACA,uBACA,gCACA,2BAOA,kBAlIA,SA+HA,CACA,UACA,GALA,4BASA,EACA,yCACA,iBAGA,yBACA,6CAEA,yDAEA,oDACA,oBAEA,qCACA,EACA,oCACA,WACA,IACA,gCACA,uDAEA,yFAA2G,yBAAiC,EAC5I,4DACA,iBACA,qBACA,EAOA,oCACA,KAPA,YACA,sBACA,EACA,YACA,sBACA,GAGA,UACA,iBACA,yBAEA,EACA,2CACA,4BACA,6BACA,EACA,2CACA,6BACA,6BACA,EACA,0CACA,WAEA,WADA,kC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CA,CAAC,GACD,sCAA2C,iCCpF3C,qCAA6C,CAAE,SAAa,EAAC,EAC7D,iBAAyB,QAgBzB,MAAqB,EAAQ,KAA0B,EAEvD,EADuB,EAAQ,KAA4B,CAD/B,CAE5B,UAD8B,kBAE9B,aACA,cACA,0BACA,cACA,eAFA,gBAGA,CA4DA,OA3DA,4BACA,6BACA,EACA,8BACA,mBACA,QACA,eACA,EACA,+BACA,mBACA,aACA,eACA,EACA,8BACA,oCACA,EACA,6BACA,eAAuB,CACvB,EACA,gCACA,IAEA,yEACA,YACA,CACA,SACA,UACA,CACA,EACA,6BACA,oBACA,iBACA,0BACA,WAGA,wBAAgD,OAChD,MACA,WACS,CAAI,EACb,qBAAuC,2CAA+C,EACtF,YAAwB,IAAc,IACtC,mBAEA,gBACA,EACA,8BACA,IAEA,6DACA,KACA,wBAEA,CACA,SACA,UACA,CACA,QACA,EACA,CACA,CAAC,GACD,mBAAyB,+BCxEzB,qCAA6C,CAAE,SAAa,EAO5D,iBACA,aACA,yBACA,8BAmCA,OA5BA,qCACA,WACA,yBACA,iBACA,sBACA,0BACA,4CAA0E,WAAoB,EAC9F,2BAEA,EACA,WACA,EAMA,0CACA,WACA,+BACA,wBACA,IAGA,+BAEA,CAAS,CACT,EACA,CACA,CAAC,GACD,SAAe,qCC9Df,sCASA,MARA,8BACA,iCAAiD,IAAO,IAExD,aADA,eACA,2CACA,YAEA,QACA,GACA,qBACA,EACA,qCAA6C,CAAE,SAAa,EAAC,EAC7D,YAAoB,CAAG,wBAA8B,CAAG,wBAA8B,CAAG,oBAA0B,QAGnH,2BAQA,cACA,SACA,OAaA,OAZA,sBACA,iDACA,UACA,uBACA,uBAEA,uBACA,uBAEA,SACA,CACA,CAAK,EACL,CACA,iCACA,uCACA,+BACA,+BACA,4BACA,mCACA,oBACA,UACA,CACA,CAEA,cACA,UAA0B,QAC1B,kBACA,eACA,OACA,qBACA,gBACA,sBACA,WACA,EAUA,OATA,QACA,gBAEA,eACA,kBAEA,iBACA,sBAEA,CACA,WAEA,CACA,cAEA,IADA,IACA,wFACA,cAIA,OACA,WACA,CA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GA,yEACA,uBACA,EAKA,oCACA,OACA,wCAIA,gBAHA,8BAKA,EAKA,+BACA,+BACA,EAOA,kCACA,yBAQA,wCACA,UACA,sBACA,aACA,sBACA,aACA,yBACA,aACA,uBACA,aACA,SACA,cACA,CACA,EAOA,qCACA,UACA,sBACA,6BACA,KACA,sBACA,8BACA,KACA,yBACA,8BACA,KACA,uBACA,+BACA,KACA,SACA,4BACA,CACA,EACA,CACA,CAAC,EACD,oBAAyB,GACzB,wBACA,OACA,aACA,cACA,YAA+B,OAC/B,sBACA,iBACA,oCAEA,CAqFA,OA/EA,8BAEA,QADA,KACA,IAAyB,mBAAuB,IAChD,oBAEA,uBACA,UACA,OACA,CAAS,CACT,EACA,6BAEA,QADA,KACA,IAAyB,mBAAuB,IAChD,oBAEA,kCACA,EACA,8BAEA,QADA,KACA,IAAyB,mBAAuB,IAChD,oBAEA,mCACA,EACA,6BAEA,QADA,KACA,IAAyB,mBAAuB,IAChD,oBAEA,qCACA,EACA,8BAEA,QADA,KACA,IAAyB,mBAAuB,IAChD,oBAEA,mCACA,EACA,+BACA,oGACA,EACA,sCACA,IAGA,QAGA,wBACA,mCACA,yCAEA,EACA,qCAEA,uBAEA,EADA,MACA,QACA,oBACA,QACA,UACA,OACA,CAAa,EACb,MACA,CACA,iBACA,oBACA,UACA,OACA,CAAa,EACb,MACA,CACA,IAlBA,EAkBA,gBACA,qBACA,IACA,cAEA,oBAAkC,0BAA8C,CAChF,EACA,CACA,CAAC,GACD,QAIA,WAAiB,CAHjB,YACA,qBACA,EAKA,eAAqB,CAHrB,YACA,GACA,EAWA,aAAmB,CATnB,YACA,OAKA,EAJA,wCAIA,EAHA,gBAKA,EAKA,aAAmB,CAHnB,WACA,QACA,EASA,aAAmB,CAJnB,WACA,QACA,iDCjSA,qCAA6C,CAAE,SAAa,EAAC,SAiB7D,GACA,uBACA,qBACA,mBACA,yBACA,oBACA,CAAC,aAAkC,WAAgB,IAAK,gCCvBxD,qCAA6C,CAAE,SAAa,EAAC,IAgB7D,EAAa,EAAQ,KAAM,EAuC3B,UAvCoB,CAuCpB,GACA,sC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ACA,qDCTA,MAAa,EAAQ,IAAW,EAChC,EAAc,EAAQ,KAAS,EADX,EAGpB,QAFqB,IAErB,6CACA,yCACA,KA8DA,cACA,KAzDA,WA0DA,mEAGA,wBAEA,OADA,qCACA,CACA,CAYA,kBAEA,uBACA,sBACA,gBACA,sEAGA,WACA,CACA,eACA,CAIA,kBACA,sBACA,gBAuHA,KAKA,GAJA,8BACA,WAGA,iBACA,wCAGA,eACA,OAEA,eASA,OAPA,OAIA,iBAGA,CACA,EA7IA,KAGA,yBACA,gBAoJA,GACA,oBACA,wBACA,4CACA,CACA,WACA,EA1JA,GAGA,WACA,gBACA,kHACA,UAIA,qBACA,4BAIA,uCACA,yBACA,kCALA,gBASA,sBACA,gBACA,yEAIA,6BACA,kBACA,qBAGA,eAoJA,GACA,kBACA,IA29CA,EA39CA,gBACA,cAEA,cAIA,gBAHA,CAKA,QAEA,kBACA,2BAi9CA,CAFA,EA/8CA,WAi9CA,EAh9CA,KAEA,KAGA,yCACA,gBAEA,EA3KA,GACA,cAEA,yDACA,yCACA,cACA,oCAIA,iBACA,kHACA,SAEA,CAmBA,cACA,sBACA,0DACI,OACJ,kEAEA,CA0BA,cAEA,OADA,KACA,eACA,CAuCA,cAGA,QAFA,6BACA,OACA,IAAkB,IAAY,KAC9B,cAEA,QACA,CAUA,sBASA,EARA,uBACA,yDAGA,yBACA,yDAeA,OAFA,sBARA,EADA,uBACA,kBACI,WACJ,oBAEA,sBAIA,aAEA,CACA,CA2BA,cAGA,MAjTA,WAkTA,0FAGA,UACA,CAqGA,gBACA,iBACA,gBAEA,2CACA,oBAEA,sBACA,gBACA,2FACA,UAIA,eACA,wCACA,sBAIA,IADA,GACS,CADT,OAEA,UACA,YACA,aACA,aACA,QACA,YACA,YACA,uBACA,OACA,YACA,cACA,eACA,UACA,WACA,YACA,cACA,kBACA,SACA,KACA,wBAEA,uBACA,IACA,CAEA,CAGA,kBACA,IA6cA,IA7cA,KAcA,GALA,mBACA,MAIA,gBAIA,6BACA,gBAGA,MAQA,CAHA,SACA,UAbA,SAqBA,IAFA,gBAGA,UACA,UACA,gBAqiBA,OACA,eAEA,iBACA,sBAGA,QADA,KACA,IAAsB,IAAS,IAC/B,WAEA,QACA,EAhjBA,SAEA,YACA,YACA,kBAEA,aACA,OA0gBA,gBACA,SACA,uBAEA,YAAsB,IAAS,IAC/B,iCAEA,QACA,EAlhBA,SAEA,cACA,aACA,gBAghBA,OACA,SACA,uBAEA,YAAsB,IAAS,IAC/B,6BAEA,QACA,EAxhBA,SAEA,cACA,OAwZA,EAxZA,EAwZA,EAxZA,EAyZA,eAzZA,CAyZA,OACA,gBA1ZA,MA4ZA,oBA5ZA,CA4ZA,WA1ZA,YACA,YACA,cACA,eACA,gBA8hBA,OAIA,QAHA,eACA,KAEA,IAAkB,aAAsB,KACxC,wCAEA,QACA,EAtiBA,SAEA,SACA,6CACA,uBACA,IACA,CAEA,CAUA,kBACA,WACA,UACA,MACA,CA2IA,0BAykCA,EAvkCA,0BAmBA,GAhBA,oBACA,IACA,KACI,aACJ,aACI,eACJ,iBA8jCA,EA5jCA,OA8jCA,GA3jCA,mBAIA,oBACA,aACA,eACA,YACA,EAAI,YACJ,MACA,UADA,GAEA,CAQA,GALA,oBACA,gBAIA,qBAEA,aACA,GAEA,aACI,4BAEJ,CADA,OACA,iDACA,EACA,yCAEA,6CAGA,cAGA,wDACA,CAEA,sBACA,IA0BA,EA1BA,IACA,WACA,WAEA,eAEA,UADA,6BACA,aACA,gCACA,0BACA,UAEA,IACA,KACA,KACA,IACA,CAGA,uBACA,MACA,KAEA,mBAEA,CAGA,MACA,SACA,QAAyB,IAAe,IACxC,8BAEA,IADA,cACA,0BAEA,iBACA,IAGA,EAAI,IAEJ,IADA,eACA,IAAyB,KAAQ,KAEjC,QADA,KACA,IAAsB,IAAe,IACrC,sBACA,KACA,KACA,CAEA,aACA,CAGA,SACA,CA2IA,kBACA,uBAIA,IAHA,SAEA,IACA,MACA,IAWA,QAXA,OACA,OACA,QACA,EACA,MACA,EACA,MACA,EACA,EAEA,UAGA,UACA,OACA,OACA,MAEA,KACA,QAEA,KADA,UACA,QACA,mBACA,KACA,MAGA,KACA,QACA,SACA,SACA,4BACA,8BACA,0BACA,MAGA,KACA,QACA,SACA,SACA,SACA,0CACA,yCACA,kBACA,KAGA,CAGA,UAGA,QACA,KACM,UAEN,SACA,0BACA,gBAGA,UACA,IACA,CAEA,gBAQA,GACA,eACA,MAJA,KAKA,2CAMA,IAFA,SACA,IACA,KACA,6BACA,OACA,aAdA,OAiBA,QACA,EAxBA,EACA,CAmGA,kBACA,sDACA,kEACA,CAmLA,wBACA,iFACA,kEACA,sDACA,CA+LA,wBACA,iBACA,IADA,sCAEA,CAEA,sBAOA,OANA,KACA,OACA,GACA,sDAEA,sBACA,GACA,CAUA,sBAOA,OANA,KACA,OACA,GACA,wDAEA,sBACA,GACA,CA3+CA,QAAc,GACd,YAAkB,CA2TlB,YAIA,MAHA,OACA,MAEA,CAH2B,CAG3B,SACA,EA/TA,mBAAyB,IAGzB,YAAkB,CADlB,WAiBA,iCAYA,IACA,wBACA,GAAkB,eAAmB,YAGrC,OAFA,8CACA,2BACA,YACA,CAAI,SACJ,QACA,CACA,IAnBA,oDACA,kCACA,cACA,iJAkBA,4CACA,cACA,eACA,oBACA,mBAEA,CAAC,EAED,4CACA,cACA,eACA,oBACA,uBAEA,CAAC,EAmCD,gBAgEA,uBACA,eACA,EAIA,wDACA,oCA8BA,wBACA,OApBA,EAoBA,MAnBA,GACA,EAkBA,GAhBA,SAgBA,EAZA,iBAYA,EAXA,EAWA,GAXA,KAWA,KAVA,EAUA,GAVA,KAUA,GARA,EAQA,EACA,EAUA,0BACA,WACA,EAIA,8BACA,WACA,EA6GA,uBACA,kCACA,eACA,EAEA,wBAGA,GAFA,qDACA,qDACA,+BACA,gBACA,yEAIA,kBAKA,QAHA,WACA,WAEA,oBAAwC,IAAS,IACjD,gBACA,OACA,OACA,KACA,QAGA,OACA,MACA,CACA,EAEA,yBACA,gCACA,UACA,WACA,YACA,YACA,aACA,aACA,aACA,WACA,YACA,cACA,eACA,QACA,SACA,QACA,CACA,EAEA,uBACA,qBACA,+DAGA,gBACA,kBAIA,cAEA,QADA,IACgB,WAAiB,IACjC,eAIA,IARA,EAQA,mBACA,IACA,QAAc,WAAiB,KAC/B,WACA,mBACA,oBACA,oBAEA,8BACA,EACA,EACA,QAGM,iBAGN,iBAFA,+DAIA,YAEA,QACA,EAiDA,eA8EA,yBAQA,8BACA,kBACA,UACA,8DAEA,YAAkB,IAAS,KAC3B,cAEA,WACA,EAEA,8BACA,kBACA,UACA,8DAEA,YAAkB,IAAS,KAC3B,cACA,gBAEA,aAGA,8BACA,kBACA,UACA,8DAEA,YAAkB,IAAS,KAC3B,cACA,gBACA,gBACA,gBAEA,aAGA,gCACA,yBACA,SACA,gCACA,uBACA,EAEA,gDAEA,+BACA,sEACA,UACA,qBACA,EAEA,+BACA,SACA,sBAGA,OAFA,uCAAiD,EAAE,kBACnD,4BACA,gBACA,EACA,GACA,qCAGA,wCAIA,GAHA,iBACA,oCAEA,eACA,gBACA,iFACA,UAiBA,GAbA,YACA,MAEA,YACA,iBAEA,YACA,MAEA,YACA,gBAGA,oCACA,uCAGA,cACA,SAEA,QACA,UAEA,QACA,SAQA,GALA,OACA,OACA,OACA,OAEA,kBASA,QAPA,MACA,MACA,gBAEA,kBACA,eAEA,IAAkB,IAAS,IAC3B,gBACA,OACA,OACA,KACA,QAGA,OACA,MACA,CACA,EA2HA,qCACA,+BACA,EAEA,oCACA,uBACA,EAEA,wCACA,uBACA,EA2CA,oCAEA,cACA,SACA,cACA,SAEI,kCACJ,IACA,cACA,SAEI,eACJ,OACA,aACA,OACA,yBAEA,IACA,eAGA,YACA,2EAIA,IA3CA,IAIA,IAIA,IAIA,IA+BA,gBAGA,GAFA,yBAEA,sCACA,2DAGA,cAGA,IADA,GACS,CADT,OAEA,UACA,UACA,gBAjFA,SACA,eACA,iBACA,EAGA,cACA,GACA,MAJA,IAQA,eAEA,OACA,QAEA,YAAkB,IAAY,KAC9B,mCACA,aACA,SACA,CACA,QACA,EA0DA,WAEA,YACA,YACA,OA5DA,EA4DA,EA5DA,EA4DA,EA3DA,IA2DA,OA3DA,UA2DA,KA3DA,IA6DA,aACA,aACA,aACA,OA7DA,EA6DA,EA7DA,EA6DA,EA5DA,EAk4BA,YAEA,QADA,KACA,IAAkB,WAAgB,IAElC,4BAEA,QACA,EA70BA,QA5DA,IA8DA,cAEA,OA7DA,EA6DA,EA7DA,EA6DA,EA5DA,IA4DA,QA5DA,IA8DA,YACA,YACA,cACA,eACA,OA/DA,EA+DA,EA/DA,EA+DA,EA9DA,WAm4BA,KAGA,QAFA,IACA,KACA,IAAkB,aAClB,WADkC,IAIlC,EADA,qBACA,EAEA,OADA,OAEA,UAGA,QACA,EAn1BA,EA9DA,IA8DA,CA9DA,UA8DA,KA9DA,IAgEA,SACA,6CACA,uBACA,IACA,CAEA,EAEA,8BACA,OACA,cACA,kDACA,CACA,EAwJA,gCACA,kBACA,MACA,mBAEA,IACA,OACA,SACI,KACJ,MAGA,IACA,OACA,SACI,KACJ,MAGA,WAEA,yBAIA,OAFA,qCAEA,CACA,EAUA,uBACA,uCACA,OACA,OACA,sBAKA,IAHA,cACA,IACA,IACA,iBACA,eAGA,QACA,EAEA,uBACA,uCACA,OACA,OACA,GACA,mBAKA,IAFA,kBACA,IACA,eACA,iBAGA,QACA,EAEA,sBACA,oCAGA,OAFA,OACA,sBACA,SAGA,yBACA,uCAGA,OAFA,OACA,sBACA,oBACA,EAEA,yBACA,uCAGA,OAFA,OACA,sBACA,sBAGA,yBACA,uCAIA,OAHA,OACA,sBAEA,SACA,aACA,eACA,qBAGA,yBACA,uCAIA,OAHA,OACA,sBAEA,kBACA,eACA,aACA,UACA,EAEA,sCACA,OACA,OACA,sBAKA,IAHA,cACA,IACA,IACA,iBACA,eAMA,OAFA,GAFA,UAEA,qBAEA,CACA,EAEA,sCACA,OACA,OACA,sBAKA,IAHA,QACA,IACA,cACA,eACA,iBAMA,OAFA,GAFA,UAEA,qBAEA,CACA,EAEA,yCAGA,CAFA,OACA,sBACA,aACA,qBADA,OAEA,EAEA,sCACA,OACA,sBACA,2BACA,6BACA,EAEA,sCACA,OACA,sBACA,2BACA,6BACA,EAEA,sCAIA,OAHA,OACA,sBAEA,QACA,aACA,cACA,aACA,EAEA,sCAIA,OAHA,OACA,sBAEA,YACA,cACA,aACA,WAGA,sCAGA,OAFA,OACA,sBACA,sBACA,EAEA,sCAGA,OAFA,OACA,sBACA,sBACA,EAEA,uCAGA,OAFA,OACA,sBACA,sBACA,EAEA,uCAGA,OAFA,OACA,sBACA,sBACA,EAQA,wBACA,0CAIA,GAHA,KACA,OACA,OACA,IACA,wBACA,iBACA,CAEA,QACA,IAEA,IADA,cACA,iBACA,kBAGA,UACA,EAEA,wBACA,0CAIA,GAHA,KACA,OACA,OACA,IACA,wBACA,iBACA,CAEA,UACA,IAEA,IADA,gBACA,kBACA,kBAGA,UACA,EAEA,uBACA,uCAKA,OAJA,KACA,OACA,uBACA,cACA,GACA,EAEA,0BACA,0CAMA,OALA,KACA,OACA,yBACA,cACA,gBACA,GACA,EAEA,0BACA,0CAMA,OALA,KACA,OACA,yBACA,cACA,gBACA,GACA,EAEA,0BACA,0CAQA,OAPA,KACA,OACA,8BACA,iBACA,iBACA,gBACA,cACA,GACA,EAEA,0BACA,0CAQA,OAPA,KACA,OACA,8BACA,eACA,iBACA,gBACA,gBACA,GACA,EAEA,yCAGA,GAFA,KACA,OACA,IACA,wBAEA,oBACA,CAEA,QACA,IACA,IAEA,IADA,cACA,iBACA,6BACA,MAEA,yBAGA,UACA,EAEA,yCAGA,GAFA,KACA,OACA,IACA,wBAEA,oBACA,CAEA,UACA,IACA,IAEA,IADA,gBACA,kBACA,6BACA,MAEA,yBAGA,UACA,EAEA,sCAMA,OALA,KACA,OACA,0BACA,iBACA,cACA,GACA,EAEA,yCAMA,OALA,KACA,OACA,8BACA,cACA,gBACA,GACA,EAEA,yCAMA,OALA,KACA,OACA,8BACA,cACA,gBACA,GACA,EAEA,yCAQA,OAPA,KACA,OACA,wCACA,cACA,gBACA,iBACA,iBACA,GACA,EAEA,yCASA,OARA,KACA,OACA,wCACA,wBACA,eACA,iBACA,gBACA,gBACA,GACA,EAiBA,yCACA,uBACA,EAEA,yCACA,uBACA,EAYA,0CACA,uBACA,EAEA,0CACA,uBACA,EAGA,mCACA,iEAQA,GAPA,SACA,0BACA,0BACA,SACA,gBAGA,OACA,8BADA,SAIA,OACA,8CAEA,8DACA,mDAGA,+BACA,gBACA,iBAGA,UAaA,OAXA,6DAEA,uBAEA,8BACA,EACA,mBACA,GAIA,CACA,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CC,EACD,6BACO,GACP,wBACA,oBACA,sBACA,sBACA,uBACA,EACO,+BACA,+DACA,kBCtCA,gBACP,kBAEA,QADA,KACA,IAAyB,mBAAuB,IAChD,kBAEA,IACA,wBACA,CACA,SACY,EAAO,UACnB,CACA,CACA,CCdA,MAAiC,eAAZ,CACrB,QADyB,CACzB,GAD6B,OAC7B,EADiC,IACjC,0BAA6E,IAAO,KACpF,YACA,yCACA,WAGA,iDACA,EAGA,KAIO,cACP,GACA,CAgBO,cACP,kBAEA,0BACA,CACA,CACO,CAFA,QAEA,SACP,IAEA,mBACA,CACA,SAEA,GADA,KACA,EACA,IACA,IACA,CACA,SACA,IACA,CAEA,CACA,CACO,aAEP,QADA,KACA,IAAqB,mBAAuB,IAC5C,kBAEA,GACQ,EAAO,YAAa,EAAO,sBAEnC,CChEO,gBACP,wBACA,CACO,SAAS,EAAS,GACzB,cADyB,OAEzB,cAEA,SACA,oBACA,sBAA4C,iBAA0B,OAGtE,YAAwB,WAAsB,IAC9C,aAGA,QACA,CACO,gBACP,YAAoB,WAAkB,MACtC,WACA,UACA,QAEA,CAEA,CAaO,cACP,sCAAoD,YAAqB,CACzE,CACO,cACP,sCAAoD,eAA4B,CAChF,CACO,gBACP,8BACA,CAIO,SAAS,EAAM,GAEtB,QADA,GADsB,CACtB,CACA,IAAqB,mBAAuB,IAC5C,oBASA,OAPA,sBACA,eACA,2CACA,WAGA,CAAK,EACL,CACA,CE7DO,aACP,+BACA,kBAEA,oDACA,eACA,YACS,CACT,eACA,CAAK,EAEL,gBAgBA,OAdA,kCACA,qBAGA,sBACA,OAGA,EADA,wBACA,OAGA,IAGA,CACA,CC9BO,IAEP,qBACO,qBAEP,UAGA,4BACA,mCAEA,mBALA,QAMA,CCCO,gBACP,IACA,EADA,EAAwB,IAQxB,OANA,IAFuC,EAEvC,wCACA,4BAEA,GACA,SAEA,CACA,CCrBO,SAAS,GAAU,KAC1B,OAAW,CADe,CACQ,IAAe,cAAkB,EAAlC,GAAyC,GAEnE,SAAS,GAAY,GACxB,EAAuB,IAAe,MADd,KACc,KAAhB,EAC1B,CACO,SAAS,GAAW,KAC3B,OAAW,EADgB,IACsB,eAAmB,CAAnC,CAA0C,MAEpE,SAAS,GAAa,GACzB,EAAuB,IAAe,OADb,IACa,KAAhB,CAAgB,EAC1C,CCZO,mBACP,IAGA,EACA,EAJA,oCACA,sCACA,KAGA,OACA,qBAEA,QADA,KACA,IAA6B,mBAAuB,IACpD,kBAEA,MACA,IACA,MACA,CACA,EACA,kBAGA,IAEA,KACA,EAA+B,GAAU,WACzC,EADyC,CACzC,GACA,kBAEA,KACA,QACA,CAAa,GACb,CAAS,CACT,kBACY,GAAY,GACxB,KACA,QACA,CAAS,CAET,CAEO,eChCA,mBACP,gCACA,yBAIA,2BACA,sBACA,+BACA,QACA,IACA,4BACA,CACA,SACA,2CACA,QACA,CACA,IACA,IACA,IACA,GACA,CACA,CACO,eAEP,MADA,EACA,cACA,GACA,OAHA,EAGA,OACA,WAJA,EAKA,QACA,GAEW,EACX,CCzCO,CDwCQ,QCxCR,MACP,OAAW,EAAM,EAAG,GACpB,CACO,QAFU,CAEV,QACP,uCAAqD,gBAA+B,CACpF,CACO,eACP,iCC8DO,eACP,QAGA,EAAa,GAAQ,YACrB,EAA0B,EAAkB,GAAa,IACzD,GACA,CAAK,CA/DE,CA6DkD,EAAd,EAEtC,yBACL,aACA,IACA,GACA,EACA,OACA,+BACgB,GAAa,GAC7B,IAGA,GAJ6B,CAM7B,CAAS,CACT,oBACA,yBAAqC,SAAyB,CAC9D,gBACA,GACA,CAAS,CAET,CC9FO,sBACP,SACA,OAEA,iBACA,QAEA,QACA,CCNO,mBAGP,GAFA,aAA+C,aAqE/C,gCACA,kBACA,OACA,+BACA,eAIA,OAHA,GACA,SAEA,CACA,CAAa,CAEb,CACA,SACA,OACA,+BACA,sBAIA,OAHA,GACA,UAEA,CACA,CAAS,CAET,GA3F+C,EAE/C,WACA,SAEA,gCAEA,SAEA,qBACA,6BAEA,wBACA,eAEA,CACA,gBACA,oBACA,mBACA,gBACA,iBACA,UACA,6BACA,CACA,6BAIA,qBAEA,QADA,wBACA,IAAwB,WAAmB,IAC3C,qBAEA,QACA,CACA,MAAwB,WAAP,GAAO,QACxB,eACA,2CACA,uBAGA,SACA,CAOO,eACP,mBACA,CACO,cAEP,QAGA,EAJA,KACA,IAAqB,mBAAuB,IAC5C,kBAGA,YAA0C,EAA1C,EAA0C,OAAuB,KACjE,MADA,CACA,UAEA,GAGA,WACA,CACA,QACA,CC9DO,iBACP,aAAwC,EAPxC,MAAiD,EASjD,MAAuC,GAAkB,EATK,KASL,WACzD,EAAsC,GAAkB,iBAExD,KACA,cACA,OAZA,IAYA,YACA,oBACA,eACA,QACA,oBACA,MACA,CACA,uBACA,gBACA,IAGA,CAHiC,EAGjC,wBACA,YAA8B,kBAAwC,KACtE,mCAWA,GAVA,WACA,4BAKA,KAEA,KACA,IACA,KACA,oBACA,KACA,CAEA,aACA,MAGA,sBACA,qDACA,mCAQA,GALA,aACA,GACA,oCAlDA,EAmDA,KAEA,KACA,oBACA,KACA,CAEA,aACA,CAGA,CAIA,OAFA,IACA,IACA,CACA,CAMA,uBAEA,eA6EA,GAEA,yBADA,EACA,OACA,IACA,OAHA,EAGA,QACA,CACA,SAEA,CAEA,QACA,EAxFA,GACA,0BACA,MA0BA,iBA1BA,EA2BA,mBA3BA,EA2BA,YAIA,mBA/BA,EAgCA,qBAhCA,EAgCA,iBAGA,iBAnCA,EAoCA,mBApCA,EAoCA,aApCA,EAoCA,YApCA,EAEA,eAgDA,GACA,IAEA,sBACA,OACA,uBAKA,MADA,kCACA,yBACA,WACA,0BAEA,CACA,SAGA,CACA,wBACA,EApEA,GACA,gDACA,SAMA,SADA,GAEA,yCAFA,GAEA,KAGA,8CACA,yBAGA,OAFA,MAPA,EAOA,GACA,QAAiB,yBAA6D,EAC9E,CACA,CAuEA,mBACI,EAAO,uGACX,CClLA,kBACA,cACA,wBACA,kBAoBA,OAlBA,kCACA,WAKA,OAJA,uBACA,kDACA,6DAEA,CACA,uBACA,2CAA4E,aAAqB,EACjG,0CACA,qBAEA,CAAa,CAEb,EACA,+BACA,mCAAqD,YAAwB,CAC7E,EACA,CACA,CAAC,GAEM,cAEP,QADA,KACA,IAAqB,mBAAuB,IAC5C,kBAEA,0BACA,wBACA,+BAA0D,mBAAuC,CACjG,CAAS,EACT,kBAA6B,6BAAuD,uBAAoC,EACxH,CAAK,CACL,CClCO,eACP,SACA,MAA+B,GAC/B,GACA,IAFyC,OAEzC,WAAkC,OAAO,GAAS,GAAY,CAC9D,EADkD,SAClD,YACuB,WAAP,GAAO,MACG,GAAQ,GAClC,EADkC,IAClC,4BAGA,iBAEA,UACA,CAAS,CACT,iCACA,KAA2B,GAAQ,GACnC,EADmC,IACnC,2BACA,UACA,CAAS,CACT,kCACA,YACA,iCACA,UACA,CAAS,CACT,wBACA,KACA,+BACA,UACA,CAAS,CACT,kBACA,EACA,QACA,CCpCO,QACP,kBACA,yBACA,ECQO,uBACP,sBACA,CAaO,uBACP,oBAAgC,mCAChC,EAA8B,EAAO,YACrC,yDAGA,GACA,IAEA,KACA,CAAK,EACL,KAA8B,qBAAqC,EAEnE,8EACA,EAAc,EAAsB,sBAEpC,aACA,MAAqB,EAAsB,yBAC3C,sBAAkD,uBAA2E,CAC7H,CACA,OALA,sBAA8C,uBAAwE,EAKtH,CACA,MACA,CACA,CC/CA,UACO,qBACP,MAqBA,UAxBA,QAwBA,YArBA,EAqBA,YArBA,GAeA,aACA,8BACA,gCACA,CAjBA,QAA0B,GAAgB,+BAE1C,IADA,OAQA,iBAJA,CAAK,GACL,6BAKA,WACA,sDACA,GANA,aAA8B,GAAO,oBAWrC,CCvBO,cACP,SACA,IACA,OACA,WACA,cACA,QACA,CAAS,CACT,oBACA,MAA8C,EAAiB,GAC/D,KACA,KACA,EAH+D,CAI/D,IAEA,CAAS,CACT,mBACA,oBACA,CAAS,CACT,sBACA,OACA,SACA,mBACA,gBACA,cACA,EAGA,OAFA,KACA,IACA,CACA,CAAS,CACT,sCACA,gBACS,CAET,CC5BO,eACP,SACA,gBACA,YAeA,OAdA,GAAyB,EAAU,MACnC,EADmC,CACnC,mBAEA,GACA,kCACA,eAmBA,GACA,iBACA,MAGA,eAAiE,CAAjE,uBACA,WAA6D,CAA7D,qBACA,gBAOA,OANA,OAEA,UACA,CADgC,CAChC,QACA,CADgC,CAChC,SAAgC,CAGhC,iBACA,yBACA,WA9CA,IA+CA,uBACA,mBAEA,EAxCA,IA0CA,YACA,iBACA,KAGA,OACA,QACA,yBACA,KA5DA,IA6DA,uBACA,SAEA,EAtDA,aAwDA,GACA,iBACA,KAGA,OACA,QACA,yBACA,WA1EA,IA2EA,WACA,SAEA,EApEA,aAuEA,GACA,iBACA,MAGA,uCACA,gBAOA,OANA,OAEA,UACA,UACA,aAEA,CACA,OAH8B,EAG9B,oBACA,yBACA,WAjGA,IAkGA,uBACA,UAEA,EA3FA,GACA,IACA,iBACA,QAbA,GAaA,EAEA,UAEA,CAAS,EAET,CACA,wBACA,kBACA,OACA,CACA,CACA,iHACA,iBACA,sFACA,uDAuBA,0EAcA,mHAcA,+IACA,mDAsBA,iBACA,kCAGA,WACA,kCACA,CAWA,sHCpHO,cAQP,IACA,EADA,UAGA,YACA,IACA,OACA,CACA,SAEA,CAOA,OALI,EAAa,eACjB,EAAyB,GAAiB,EAC1C,YAD0C,IAC1C,OAdA,GAeA,OACA,CAAK,EACL,CACA,CACO,eACP,YAQA,OAPA,4BACA,wCACA,+DACA,+BACA,2CACA,wEACA,CAAK,EACL,CACA,CACO,eACP,uDACA,CC5CO,uDACA,eACP,kHACA,QACA,EAuBA,OAvBA,EAuBA,OAvBA,EAuBA,iBAvBA,EAuBA,OAvBA,EAuBA,MAvBA,EAwBA,QAxBA,EA2BA,gBADA,UA1BA,EA0BA,YAAoD,GAAc,GA1BlE,KA0B0E,EAzB1E,KA6BA,IA7BA,SAqCA,4CArCA,EAqCA,eApCU,GAAkB,GAC5B,GACA,SAF4B,GAE5B,OACA,kBACA,QACA,OACA,cACA,SACA,WACA,gBACA,gBACA,OACA,UACA,QACA,SACA,aACA,CACA,CAqBO,eACP,kEACA,CAKO,eACP,+EACA,CACO,iBAGP,IAFA,QACA,KACA,0CACA,MAAyB,GAAiB,SAC1C,KAD0C,CAC1C,EACA,wBACA,SACA,2BACA,SAAiC,GAAkB,EACnD,CAAS,EACT,UAFmD,OAInD,iBACA,EC1DA,YACA,wDACA,8CACA,8CACA,oDACA,4CACA,wDACA,uDACA,CAAC,UAAkD,EACnD,eAaO,eACP,gBACA,CCtCO,qBAEA,mBAIA,yBCFA,eACP,kCA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,OAJA,GACY,EAAa,YAGzB,CACA,EAEA,OADA,OACA,CACA,gBACA,KAEA,UACA,QAEA,CAAS,CAET,CACO,mBACP,2CACA,+BACA,OAAiB,KAAM,EAAI,MAG3B,gBAEQ,GAAU,WAClB,EADkB,MAElB,MAEA,CAAS,GACT,EACA,cACA,mBACA,SACA,EAIA,OAHA,2BACA,KACA,CAAK,EACL,CACA,gBACA,MACA,gFACA,6BAEA,EAtBiC,EAuBjC,CAAS,CAET,CCjHO,eACP,+BACA,CAaO,iBACP,iBA2BA,cACA,IACA,iCACA,8BAEA,SACA,IACA,CAEA,kBACA,IApCA,KACA,IACA,qCACA,CACA,SACA,qEAA0F,GAAa,CAAG,SAAH,EAAG,EAAsB,GAChI,CAEA,4BACA,4CAEA,eACA,uBACA,eAEA,OADA,kDACA,qBACA,UACA,sBACA,qBACA,CAEA,OADA,SACA,CACA,CACA,WClCO,cAIP,OAHA,GACA,GAQA,IAAe,GAAU,YACzB,gBAMA,OAHmB,GAAgB,+BAOnC,MACA,IACA,EAIA,EACA,EAEA,EAhBuE,OAOvE,EAPuE,EAOvE,aAPuE,EAOvE,6BACA,OAEA,UADA,GADA,SACA,WACA,sBACA,aAEA,2CACA,6BAAqD,GAAY,WAEjE,GACA,cACA,OACA,QACA,SACA,YANsB,KAOtB,IAP+B,EAQ/B,eACA,OACA,YAEA,aACA,YACA,cAA4C,gBAE5C,OAEA,cADA,EAEA,gBACQ,EAHR,EAGc,GACd,SADc,EAEd,CACA,OAAyB,EAAO,YAChC,GACA,WACA,oBACA,gBACA,YACA,CAAS,CACT,CAAK,EAAG,EAAO,YACf,QACA,GACA,SACA,8JACA,OACA,CAAS,CACT,CAAK,EACL,EArDuE,EA6B3B,KAAyD,EA7B9B,CAAsC,EAC7G,uBACA,CAAS,MAET,CAAK,CAhBL,EAEA,CACA,CCTO,qBACP,YAAkC,MAClC,eACA,yBACA,yCACA,iCACA,gBAA+C,6BAC/C,gBAA+C,WAC/C,qBAAyD,eACzD,6CAA2D,cAAqB,OAAO,mDACvF,CACO,eACP,OAAW,GAAuB,kBAClC,CAMO,CAP2B,QAO3B,MAI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,EADA,KAEA,IAwBA,OAvBA,qCAAoI,GAA2B,GAAkB,KAAM,EAAuB,SAAW,KAA1D,MAA0D,aACzN,mBAAgD,oBAAmD,GACnG,GAEA,CAAS,4BACT,cAGA,YACA,mBAEA,KACA,IACA,CAAS,4BACT,aACA,YAEA,mBAGA,KACA,IACA,CAAS,GACT,WACA,sBAAiD,uBAAyB,CAC1E,EACA,aACA,UAAgC,WAAkC,CAClE,CACA,CAAK,CACL,CACA,iBACA,OAAW,GAAS,yBACpB,CC7GO,sBACP,8BACA,qBAGA,8EACA,EAEA,SACA,IAGA,gFAGA,cACA,CAAK,CACL,CACO,wBACP,UACA,eAGA,qBACA,sBAGA,CAMO,eACP,mBACA,uBAEA,oBACA,6CACA,oBAEA,eAEA,WACA,EFtCA,YACA,gBACA,4BACA,sDACA,8BACA,uBACA,8CACA,0BACA,gBACA,qBACA,CAAC,UAA0D,EE8C3D,IAAI,GAAO,WACX,GADW,MACX,KACA,WACA,qBACA,GACA,sBAAqD,mBAPrD,EAOqD,CAA2C,CAEhG,CAWA,OAVA,4BAEA,OADA,eAXA,GAYA,MAEA,+BACA,yBACA,EACA,4BACA,sBACA,EACA,CACA,CAAC,GClFM,eACP,mCAKO,eACP,sCAEO,eACP,6BAEO,eAEP,QADA,EACA,MADA,EACA,kDACA,CAIO,iBAEP,IADA,mBACA,GACA,KACA,gBAEA,OACA,eAEA,CAIO,eACP,iCC9BO,QACP,gBACA,gBACA,MAAW,GAAmB,MAC9B,KAAU,GAAmB,EADC,EACD,CAC7B,WAD6B,KACR,GAAmB,iBAEjC,qBAUA,mBAAwC,qEACxC,IACP,SACA,UACA,YACA,UACA,UACA,YACA,WACA,EAQO,mBACP,eACA,gBAEA,MAAqB,GAAa,GAClC,IACA,GAFkC,EAElC,KACA,EAEA,KADA,MACA,GAIA,OAHA,GACA,WAEA,CACA,CAIO,iBACP,UAEA,eACA,eACA,QACA,CACA,UACA,cACA,aACA,wBACA,eACA,eACA,QACA,SACA,QACA,CACA,CAIO,eAEP,GAAS,GAAa,IAItB,MAJsB,MAItB,UACA,gBAGA,wBAEA,kDADA,EACA,MAGA,kBAFA,eAKA,qCAEA,qDACA,sBAIA,GAAsB,iBACtB,UAEQ,GAAc,eACtB,QAEQ,GAAc,0BACtB,mBAEQ,GAAc,gBACtB,UAEA,SA6FO,GACP,yBACA,SAEA,wBACA,eACA,MAEA,iDAEA,qBACA,UACA,CACA,wBACA,gBACA,WACA,gBACA,MAEA,6CACA,wBACA,YACA,wBACA,qBAEA,gBACA,mBAEA,6BACA,0BACA,iBAEA,cACA,iBACA,eAGA,8BAEA,cACA,iBACA,iBACA,iBACA,cACA,qBACA,qBAEA,gCACA,2BACA,kBACA,uBACA,iBACA,oBACA,gCACA,CACA,cACA,2CACA,CACA,QACA,EAxJA,UACA,UAEA,CAYO,iBACP,UACA,aACA,eACA,eACA,QACA,yBACA,OAAmB,GAAU,yBAC7B,SACA,QACA,CACA,CACA,eACA,mCACA,SAGA,aADA,EACA,QACA,OAFA,EAEA,MACA,aACA,YACA,YACA,aACA,QACA,CAEA,WAVA,EAUA,SAOO,mBAIP,IAHA,EAGA,0DACA,oBACA,iBAKA,GADA,aAGA,EA3JO,WA6JP,GANA,IAMA,UAEA,EA/JO,WAiKP,QAVA,IAWA,GAEA,gBACA,cACA,eACA,cACA,MACA,MAIA,EAFA,aA3KO,MA6ImC,gBAlI1C,KAwKA,SACA,CAmEO,eACP,mDA1PO,eA0PP,SACA,CCrQO,6BAsBP,iBAMA,GAwNA,YACA,sCAEA,EA1NA,oCAIA,IADA,IATA,EASA,IACA,IACA,sBACA,IACA,KACA,CACA,EAAsB,GAAgB,EACtC,CAEA,KAIA,KAPsC,EAOtC,MADA,kBACA,QACA,CACA,QAEA,gBAGA,GAmLA,YACA,0CAEA,EArLA,8CACA,wBACA,MAEA,SACA,uBACgB,EAAI,sDAAqE,wBAAsC,EAC/H,mBACA,CACA,CAAK,CAEL,YACA,yBAEA,MADA,EACA,qBACA,2CACA,OAAyB,KAHzB,EAGyB,gCAEzB,CACA,CAAK,CAEL,gBACA,kFACA,gBAEA,CAAK,CACL,YAAyB,0BAAmE,CAE5F,gBACA,wCACA,KACA,OACA,OACA,aACA,gBAAyC,OAkEzC,+CAlEyC,GAkEzC,IAlEyC,CAAqC,EAC9E,mBAA+C,UAAwB,EACvE,gBAA8C,iBAAyF,EACvI,UACA,yBACA,CAEA,CAAK,CACL,YAAyB,mBAA4D,CACrF,YAAyB,oBAA6D,CACtF,YAAyB,qBAA8D,CACvF,YAAyB,2BAAoE,CAE7F,cACA,qCACA,yBAEA,CAAK,CACL,CACA,IACA,gBACA,gBACA,CAAK,CACL,CAMA,qBAGA,IAFA,QACA,IACA,GAJA,IAKA,GACA,qBACA,qBACA,sBACA,YAAoD,EAApD,EAAoD,OAA0B,KAE9E,MADA,GADA,CACA,KACA,OACA,MACA,4BACA,cACA,KACA,OAA6B,4BAE7B,CACA,CAGA,uBACA,MAEA,EAAkB,GAAgB,GAClC,IACA,CACA,CACA,IAJkC,KAIlC,MACA,4BACA,CACA,eACA,8BAAsC,GAAY,kBAClD,CAMA,iBACA,OACA,2BACA,+BACA,CACA,CACA,mBACA,OACA,mBACA,yBACA,CACA,CACA,mBACA,yBAGA,oBACA,kBACA,cAEA,QADA,wBACA,IAAgC,WAAqB,MACrD,WACA,oBACA,kBACA,sBACA,mBAEA,CACA,CACA,EAeA,OlD7MA,UkDkMA,mBAGA,sBACA,GACA,qBAEA,GAEA,YAA6C,GAAmB,GAAgB,YAAjB,CAAiB,QAAuB,GAAmB,GAAgB,QAE1I,CACA,CACA,EAJyH,CAAiB,IAI1I,cACA,CC1MO,QACH,GAEJ,cACA,YACA,UACA,GAL8C,OAM9C,eACA,aACA,eAEA,iBACA,eACA,mBACA,CAIA,OAuCA,YACA,mBACA,iBAA0B,GAAS,QAzCnC,CAIA,IACA,GAuCA,YACA,sBAIA,QADA,EJpBO,YACP,eACA,mBAEA,2CACA,4BIegC,GAChC,IAAoB,WAAsB,MAC1C,WACA,UAGA,gBAAyB,GAAS,uBAA+B,GAAS,GAC1E,CACA,EAF0E,SAG1E,GACA,OAAW,GAAS,UACpB,EAnDA,CACO,iBACP,GA6MA,gBA7MA,EAgNA,cAhNA,EAkNA,uCAlNA,IAOA,IADA,IADA,EACA,IACA,yBACA,sBACA,KACA,SAGA,EACA,GAFA,cAEA,GAwDA,YAGA,IAFA,MAAkB,GAAgB,qBAClC,IACA,UACA,uBACA,OAEA,uBAEA,gBAAqB,GAAS,yCAC9B,EAlEA,MACA,EAAyB,GAAgB,EACzC,CACA,SACA,CACA,eAQA,qBACA,CAsBA,iBACA,MACA,WACA,KACA,QAEA,CACA,YAA8D,YAAiC,KAE/F,QADA,OAEA,KACA,QAEA,CACA,cACA,qBACA,gBAA6B,GAAS,sCAA4D,GAAS,wBAE3G,CACA,CAYA,uBACA,YAA0D,EAA1D,EAA0D,OAA+B,KAEzF,MADA,GADA,CACA,KACA,KACA,MAGA,SACA,cAEA,CACA,CAIA,mBACA,4DAgEO,mBAEP,cAIA,cAAiD,OAAO,GAAc,UAEtE,CAFsE,IALtE,EAQA,cAoBA,cACA,IACA,iCACA,IACA,CACA,SACA,IACA,CAEA,QACA,IA5BA,QADA,4BAEA,cAAiD,iCACjD,CAGA,IADA,MADiB,GAAgB,GACjC,UADiC,OACjC,CACA,IACA,eACA,SAEA,uBAEA,QACA,CACA,iBACA,qCACA,CE9KA,cACA,4BACA,wBAEA,eACA,oCAGA,iBCFO,qBACP,6EAGA,CAAY,GAAc,eAhB1B,oNAiBA,CCzDO,IACA,WAMA,iBACP,YACA,yBACuC,KAApB,EAVZ,IAU2C,CAClD,YAEA,CAAK,CACL,CEQA,iBACA,YACA,CACA,QACA,QACA,aAA8B,GAAwB,GAAgB,aACtE,IADqD,QACrD,CACA,wBACiB,CACjB,OACA,0BACiB,CACjB,WACA,6BACiB,CACjB,UACA,6BACiB,CACJ,CACb,KACA,QACA,gBACA,oBACA,YAAiC,GAA6B,EAAmB,qBACjF,EAD6D,UAC7D,CACA,MACA,CAAiB,CACJ,EAEb,OACA,yBACA,EAAsB,GAAO,CAC7B,GAD6B,IAC7B,CACA,GAAgB,KAChB,OAD4B,CAE5B,YACa,CACb,WACA,CAAS,CACT,6BACA,cACA,MAAgB,kEAAgH,CAC3H,IACL,SAAiD,iBAAwB,GAIzE,MAHA,yBACA,kCAEA,CACA,kBACA,cACA,iCACA,eACA,CACA,CACA,eACA,wBEpEA,UEHO,IACP,4BAEA,4BACA,EA6DA,eACA,O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A,yBACA,aACA,UACA,CAAK,EACL,CACA,gBACA,eACA,QACA,CAAS,CACT,iBACA,SACA,CAAS,CAET,CGlCO,uBACP,cACA,GACA,0BACA,cAGA,MAAkC,GAAa,SAE/C,CAF+C,CAEhB,GAAU,SAET,GAAW,SAC3C,SACA,iBAAqC,iBAAiC,CACtE,gBACA,SACA,SACA,QACA,CAAiB,CACJ,EACb,CAAS,CACT,6BACA,eACA,IAIA,SACA,YACA,CAAS,CACT,gBACA,sBAEA,MADA,YAEA,CAAa,CACb,CAAS,CACT,iBACA,sBAEA,MADA,aAEA,CAAa,CACb,CAAS,EAET,QACA,EW5CO,mBACP,IAEA,EAFA,IACA,KAEA,IACA,KACA,EAAgC,GAAgB,0BAChD,aACA,qCAGA,0BACA,iBACA,YACA,eACA,gBACA,gBACA,qCAEA,kBACA,oBAIA,IACY,GAAiB,4CAE7B,CAAK,OACL,aACA,qC7LhBO,YAIP,C6LYoF,G7LZpF,IAFA,iBADA,uBAA2D,kBAA+B,KAE1F,IACA,IAA0C,WAAuB,KACjE,WACA,WACA,YAEA,QACA,E6LMoF,aACpF,GACA,gBACA,SACA,8BACA,kBACA,EAGA,OAFA,IACA,KACA,CACA,CACA,aACA,MACA,eACA,eACA,UACA,CAAa,EACb,IAEA,CACA,OACA,WACA,cACA,YACA,CAAS,CACT,oBACA,eACA,eACA,KACA,OACA,UACA,CAAa,EACb,QACA,KACA,gBACA,MACA,CAAa,EACb,IACA,CAAS,CACT,mBACA,IACA,UAKA,sBACA,uBACiB,EAEjB,wCAAmG,gBARnG,MAUA,CAAS,CACT,sBACA,IACA,QACA,gBAIA,OAFA,uBACA,wBACA,OACa,EACb,SACA,OAAmB,EAAM,KACzB,SADyB,GACzB,CACA,CAAa,CACb,CAAS,CACT,sCAKA,iBACA,CAAS,CACT,gBACA,GACA,CAAS,CAET,CC1GA,eACA,0EAA4F,eAAe,cAAc,kCAAkC,kBAAkB,qCAAqC,WAAW,KAAK,WAAW,uBAAuB,SAAS,cAAc,mBAAmB,OAAO,QAAQ,8UAA8U,KAAK,oBAAoB,KAAK,qBAAqB,KAAK,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,GACA,aACA,0BACA,stBACA,EA2HA,GACA,aACA,uBACA,kuBAoFA,GACA,aACA,0BACA,muBA+UA,GACA,aACA,iBACA,+aAqDA,GACA,aACA,uBACA,kbAiGA,GACA,aACA,wBACA,kPAEA,IAgFA,GACA,aACA,yBACA,0gBACA,EAggBA,GACA,aACA,qBACA,yuCAqTA,GACA,aACA,uBACA,8PA4CA,GACA,aACA,iBACA,qXA6ZA,GACA,aACA,eACA,+lBA4XA,GACA,aACA,sBACA,6PA4JA,GACA,aACA,mBACA,oaASA,GACA,aACA,oBACA,0TAiFA,GACA,aACA,uBACA,kTAQA,GACA,aACA,kBACA,iTAiOA,GACA,aACA,iBACA,w/BAoCA,GACA,aACA,gBACA,kjCAEA,IA2NA,GACA,aACA,6BACA,2KAgHA,GACA,aACA,oBACA,mcAmWA,GACA,aACA,qBACA,ucA+IA,GACA,aACA,6BACA,+sBAuBA,GACA,aACA,wBACA,qNAaA,GACA,aACA,2BACA,28BAGA,GACA,aACA,sBACA,4PAmJA,GACA,aACA,gBACA,qzBAcA,GACA,aACA,gBACA,qLAsBA,EALA,CACA,aACA,4BACA,kRACA,EAgEA,GACA,aACA,wBACA,qMAmEA,GACA,aACA,oBACA,6PA0JA,GACA,aACA,gBACA,qPAaA,GACA,aACA,iBACA,oXAEA,IAGA,IACA,IACA,aACA,qCACA,6rBAqNA,IACA,aACA,yBACA,uMACA,EAiBA,IACA,aACA,uBACA,2bAwEA,IACA,aACA,kBACA,0tBAkBA,IACA,aACA,kBACA,wtBAmGA,IACA,aACA,kBACA,+wBA8HA,IACA,aACA,yBACA,8hBAiIA,IACA,aACA,uBACA,yWA8JA,IACA,aACA,iBACA,4NAkSA,IACA,aACA,iCACA,gaACA,EAiDA,IACA,aACA,kCACA,gUAqGA,IACA,aACA,uBACA,+KAOA,IACA,aACA,iBACA,qcACA,EA8GA,IACA,aACA,iBACA,4iBCn4OA,kCCKA,kBAGA,SAKA,MACA,SACA,WACA,0BACA,WACA,KACA,KACA,CAAK,CACL,eAEA,KACA,KACA,cAEA,mBACA,qBACA,gDACA,UACA,eACA,OAEA,uBAEA,IACA,UACA,eAGA,QACA,SAEA,mBACA,CACA,CAAS,CAET,KAEA,IACA,OAEA,YAGA,mBAGA,EASA,KAGA,OAZc,EAYd,yBACA,qCACA,wCACA,EACA,EACA,EACA,CAuCA,GACA,UAnCA,IAEA,GACA,gDAEA,aACA,KACA,GACA,mDAEA,YACA,GAyBA,cAvBA,IAEA,WACA,KACA,GACA,EAEA,OACA,IACA,EAGA,OAFA,cACA,eACA,KACA,cACA,cACA,CACA,CAQA,EAEA,GAAyB,OAAW,CACpC,0BAEA,yDAIA,IAA8C,WAAS,CAAG,iBAAe,CAEzE,sDAEA,WACA,UACA,KACA,wCAMA,cACA,mDAAyF,EAAK,GAE9F,IASA,UAKA,EACA,EALA,eACA,cACA,gBACA,gBAGA,kBA8BA,+EA9BA,CAIA,GADA,WACA,SAMA,GAFA,UACA,WACA,kBAGA,QADA,MAC2B,WAAoB,IAC/C,eAEA,UACA,CACA,MAEA,MACA,uBACA,oBACA,SACA,uBAGA,UACA,CACA,CAGA,CAHM,MAGN,CACA,EAEA,MACA,QACA,IACA,KACA,CAAU,SAEV,IACA,CAIA,QAGA,OADA,6DAGA,EACA,EAIA,IACA,UAOA,OACA,eACA,uBAJA,EAKA,YARA,EASA,aAPA,EAQA,gBATA,CAUA,EAEA,uBACA,eAGA,KACA,iBACA,eACA,CAAK,sBACL,YACA,EAAM,KAAa,EACnB,kBACA,oBACA,mBACA,KACA,iCAEA,iBAGA,SAEA,SAEA,aADA,SAGA,2CACA,UAGA,4BACA,CACA,YACA,wBA0BA,EAxBA,YACA,aACA,gBACA,mBACA,OACA,iBACA,+DAIA,YACA,YACA,SACA,KA1DA,GA0DA,mBAGA,UAGA,cAEA,WAEA,QAGA,KACA,OACA,EACA,EACA,CACA,YACA,MAIA,SACA,OACA,WAUA,GARA,GAGA,GACA,KAHA,gBAIA,IACA,CAAa,EAEb,KAEA,IACA,MACA,CAAc,SAEd,GACA,CAGA,YASA,GANA,oBACA,GACA,CAAa,EAIb,aACA,aACA,QACA,CAAc,aAGd,KAEA,GACA,OACA,IACA,CAAiB,EAEjB,CAiCA,GA/BA,GACA,KAEA,KAEA,GACA,KAFA,OAGA,QACA,IACA,CAAqB,EAGrB,GACA,OACA,QACA,IACA,CAAqB,GAKrB,YAEA,+BAGA,GACA,IACA,CAAa,CACb,CAAS,EAET,GACA,aACA,MACA,CACA,QACA,CACA,CAEA,cACA,eACA,mBAEA,EACA,UAMA,cACA,aAGA,KACA,cACA,IACA,KACA,UACA,eAGA,OAFA,OACA,UACA,4BACA,EACA,YACA,WACA,WACA,KACA,eACA,MAGA,EACA,OACA,eAEA,SACA,EACA,EAAsB,CACtB,EAAsB,CACtB,EAAsB,CACtB,EACA,EACA,EACA,EACA,KAOA,+CA7NA,KA8NA,+CA7NA,KA8NA,OACA,OACA,OAIA,WACA,CACA,CAEA,EAOA,OANA,IAMA,CACA,EACA,EACA,EACA,EACA,CAEA,OACA,EACA,YACA,EAgBA,iBAEA,KAEA,gBACA,YACA,UACA,aAnBA,cACA,wBACA,eAEA,6DACA,gBAGA,iBACA,EAWA,cAEA,qBACA,yBACA,qBACA,sBAEA,6BACA,0BACA,qBACA,yBAEA,QDvfO,gBACP,QACA,kBAEA,4CACA,6CACA,iDAEA,cACA,2BACA,yBAEA,aACA,CAEA,2BAEA,SADA,IACA,EACA,mCACA,yBADA,SAGA,gCACA,CACA,CAEA,iBACA,EC8dA,gBACA,QACA,SACA,WACA,CAAC,CA9YD,CACA,SA5CA,MA6CA,UApCA,KACA,kCACA,yBACA,CAkCA,GA8YA,UAEA,aAEA,MACA,IAAgB,kBAAwB,EACxC,CAAgB,kBAAwB,EACxC,MACA,oBAEA,MACA,mBAEA,CACA,QACA,EAEA,EAAyB,mBAAa,GAAG,EACzC,MACA,UAAY,GAAQ,EACpB,EAAyB,gBAAU,IACnC,OACA,EAAmB,aAAO,eAC1B,EACA,EACA,EACA,EAEA,EAA2B,aAAO,iBAClC,EACA,EACA,EACA,EAEA,gBAEA,EAA4B,YAAM,IAClC,eACA,+BAEA,gBAaA,OAXA,IACA,aACA,eAGA,OACA,KAEA,OADA,aACA,KAEK,KACM,mBA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","sources":["webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/@fortawesome/free-solid-svg-icons/index.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/tslib/tslib.es6.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Avatar/styles.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Avatar/index.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Badge/styles.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Badge/index.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Box/styles.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Box/index.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Button/styles.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Button/index.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Heading/styles.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Heading/index.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/IconFa/styles.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/IconFa/index.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Link/styles.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Link/index.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/constants.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/use-sidecar/dist/es2015/medium.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/react-focus-lock/dist/es2015/medium.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/react-focus-lock/dist/es2015/scope.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/use-callback-ref/dist/es2015/useRef.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/react-focus-lock/dist/es2015/Lock.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/react-clientside-effect/lib/index.es.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/utils/array.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/utils/is.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/utils/tabOrder.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/utils/tabbables.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/utils/tabUtils.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/utils/DOMutils.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/utils/all-affected.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/utils/safe.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/utils/getActiveElement.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/focusInside.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/focusIsHidden.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/utils/parenting.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/focusables.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/commands.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/utils/correctFocus.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/utils/firstFocus.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/solver.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/utils/auto-focus.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/focusSolver.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/moveFocusInside.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/return-focus.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/focus-lock/dist/es2015/sibling.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/react-focus-lock/dist/es2015/util.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/react-focus-lock/dist/es2015/Trap.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/node_modules/react-focus-lock/dist/es2015/Combination.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Modal/styles.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Modal/index.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Spacing/index.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Text/styles.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Text/index.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/themes/bowelbabe.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/themes/cruk.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/themes/rfl.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/themes/su2c.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/utils/themeUtils.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-datafile-manager/lib/backoffController.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-datafile-manager/lib/browserDatafileManager.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-datafile-manager/lib/browserRequest.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-datafile-manager/lib/config.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-datafile-manager/lib/eventEmitter.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-datafile-manager/lib/httpPollingDatafileManager.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-datafile-manager/lib/index.browser.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-event-processor/lib/eventDispatcher.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-event-processor/lib/eventProcessor.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-event-processor/lib/eventQueue.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-event-processor/lib/events.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-event-processor/lib/index.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-event-processor/lib/managed.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-event-processor/lib/pendingEventsDispatcher.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-event-processor/lib/pendingEventsStore.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-event-processor/lib/requestTracker.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-event-processor/lib/v1/buildEventV1.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-event-processor/lib/v1/v1EventProcessor.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-logging/lib/errorHandler.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-logging/lib/index.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-logging/lib/logger.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-logging/lib/models.js","webpack://_N_E/../../node_modules/@optimizely/js-sdk-utils/lib/index.js","webpack://_N_E/../../node_modules/@optimizely/optimizely-sdk/dist/optimizely.browser.min.js","webpack://_N_E/../../node_modules/base64-js/index.js","webpack://_N_E/../../node_modules/buffer/index.js","webpack://_N_E/../../node_modules/ieee754/index.js","webpack://_N_E/../../node_modules/murmurhash/murmurhash.js","webpack://_N_E/../../node_modules/next/compat/router.js","webpack://_N_E/?7dfe","webpack://_N_E/./src/components/styles.ts","webpack://_N_E/./src/contexts/ActiveSectionContext.tsx","webpack://_N_E/./src/contexts/BrandContext.tsx","webpack://_N_E/./src/contexts/FundraiserContext.tsx","webpack://_N_E/./src/contexts/ModalContext.tsx","webpack://_N_E/./src/contexts/OptimizelyContext.tsx","webpack://_N_E/./src/contexts/ToastContext.tsx","webpack://_N_E/./src/hooks/useKey.ts","webpack://_N_E/./src/hooks/useLayoutEffectBrowser.ts","webpack://_N_E/./src/hooks/useLocalStorage.ts","webpack://_N_E/./src/hooks/useTracking.tsx","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/GlobalStyleNoFontFace.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Fontface.js","webpack://_N_E/./src/services/oneTrust.ts","webpack://_N_E/./src/services/userZoom.ts","webpack://_N_E/./src/hooks/usePrevious.ts","webpack://_N_E/./src/components/LoginWrapper/index.tsx","webpack://_N_E/./src/components/PageLoadingIndicator/styles.ts","webpack://_N_E/./src/components/PageLoadingIndicator/index.tsx","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Footer/styles.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Footer/index.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/hooks/useLayoutEffectBrowser.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/hooks/useScrollPosition.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Header/styles.js","webpack://_N_E/../../node_modules/@cruk/cruk-react-components/lib/src/components/Header/index.js","webpack://_N_E/./src/hooks/useOrientation.ts","webpack://_N_E/./src/hooks/useScrollPosition.ts","webpack://_N_E/./src/components/TopSection/styles.ts","webpack://_N_E/./src/components/TopSection/index.tsx","webpack://_N_E/./src/components/Layout/styles.ts","webpack://_N_E/./src/components/Layout/index.tsx","webpack://_N_E/./src/components/TrackingRouteListener/index.tsx","webpack://_N_E/./src/components/OptimizelyLoader/index.tsx","webpack://_N_E/./src/components/OptimizelyFundraiserLoader/index.tsx","webpack://_N_E/./src/services/hotjar.ts","webpack://_N_E/./src/components/HotjarListener/index.tsx","webpack://_N_E/./src/pages/_app.tsx","webpack://_N_E/./src/services/apiClient.ts","webpack://_N_E/../../node_modules/jssha/dist/sha.mjs","webpack://_N_E/./src/services/auth.ts","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/display.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/catchUserErrors.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/monitor.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/utils/polyfills.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/boot/init.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/getGlobalObject.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/utils/byteUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/getZoneJsOriginalValue.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/timer.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/utils/functionUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/serialisation/jsonStringify.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/utils/objectUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/context/customerDataTracker.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/utils/typeUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/mergeInto.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/serialisation/sanitize.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/observable.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/context/contextManager.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/trackingConsent.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/browser/addEventListener.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/context/storeContextManager.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/encoder.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/stackTrace/computeStackTrace.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/stackTrace/handlingStack.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/error/error.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/experimentalFeatures.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/configuration/intakeSites.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/utils/numberUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/utils/timeUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/sendToExtension.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/connectivity/connectivity.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/utils/arrayUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/boundedBuffer.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/telemetry/rawTelemetryEvent.types.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/telemetry/telemetry.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/user/user.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/boot/displayAlreadyInitializedError.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/commonContext.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/utils/stringUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/vital/vitalCollection.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/transport/eventBridge.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/instrumentMethod.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/utils/urlPolyfill.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/browser/fetchObservable.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/browser/cookie.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/synthetics/syntheticsWorkerValues.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/utils/browserDetection.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/session/storeStrategies/sessionStoreStrategy.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/session/sessionConstants.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/session/sessionStateValidation.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/session/sessionState.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/session/oldCookiesMigration.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/session/storeStrategies/sessionInCookie.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/session/storeStrategies/sessionInLocalStorage.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/session/sessionStoreOperations.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/session/sessionStore.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/configuration/endpointBuilder.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/configuration/tags.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/configuration/transportConfiguration.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/configuration/configuration.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/matchOption.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/browser/crypto.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/tracing/identifier.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/tracing/sampler.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/tracing/tracer.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/configuration/configuration.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/configuration/remoteConfiguration.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/plugins.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/boot/preStartRum.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/boot/rumPublicApi.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/browser/pageExitObservable.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/browser/domMutationObservable.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/browser/windowOpenObservable.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/error/error.types.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/eventRateLimiter/createEventRateLimiter.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/syntheticsContext.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/limitModification.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/assembly.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/internalContext.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/abstractLifeCycle.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/lifeCycle.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/valueHistory.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/viewHistory.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/browser/xhrObservable.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/utils/responseUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/readBytesFromStream.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/resource/resourceUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/requestCollection.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/discardNegativeDuration.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/trackEventCounts.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/browser/firstInputPolyfill.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/browser/performanceObservable.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/waitPageActivityEnd.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/browser/polyfills.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/browser/htmlDomUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/privacy.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/action/getActionNameFromElement.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/getSelectorFromElement.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/action/clickChain.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/action/listenActionEvents.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/action/computeFrustration.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/action/interactionSelectorCache.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/action/trackClickActions.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/action/actionCollection.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/error/trackRuntimeError.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/console/consoleObservable.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/error/trackConsoleError.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/report/reportObservable.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/error/trackReportError.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/error/errorCollection.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/longTask/longTaskCollection.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/requestIdleCallback.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/tools/taskQueue.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/resource/matchRequestResourceEntry.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/browser/runOnReadyState.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/tracing/getDocumentTraceId.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/browser/performanceUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/resource/retrieveInitialDocumentResourceTiming.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/resource/resourceCollection.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/view/trackViewEventCounts.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackFirstContentfulPaint.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackFirstInput.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackNavigationTimings.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackLargestContentfulPaint.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackFirstHidden.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackInitialViewMetrics.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackCumulativeLayoutShift.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/interactionCountPolyfill.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackInteractionToNextPaint.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackLoadingTime.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/browser/scroll.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/browser/viewportObservable.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackScrollMetrics.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewMetrics/trackCommonViewMetrics.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/view/trackViews.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/view/viewCollection.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/domain/session/sessionManager.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/rumSessionManager.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/transport/batch.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/transport/sendWithRetryStrategy.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/transport/httpRequest.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/transport/flushController.js","webpack://_N_E/../../node_modules/@datadog/browser-core/esm/transport/startBatchWithReplica.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/transport/startRumBatch.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/transport/startRumEventBridge.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/urlContexts.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/browser/locationChangeObservable.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/featureFlagContext.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/startCustomerDataTelemetry.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/pageStateHistory.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/displayContext.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/browser/cookieObservable.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/contexts/ciVisibilityContext.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/longAnimationFrame/longAnimationFrameCollection.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/boot/startRum.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/domain/getSessionReplayUrl.js","webpack://_N_E/../../node_modules/@datadog/browser-rum-core/esm/index.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/replayStats.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializationUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/types/sessionReplayConstants.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/types/index.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeStyleSheets.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeAttribute.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeAttributes.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeNode.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/serialization/serializeDocument.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/serialization/index.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/eventsUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/viewports.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/assembly.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackMove.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackMouseInteraction.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackScroll.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackViewportResize.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackMediaInteraction.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackStyleSheet.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackFocus.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackFrustration.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackViewEnd.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackInput.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/mutationBatch.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/trackers/trackMutation.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/trackers/index.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/elementsScrollPositions.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/shadowRootsController.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/startFullSnapshots.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/recordIds.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/record.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/record/index.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/segmentCollection/buildReplayPayload.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/segmentCollection/segment.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/segmentCollection/segmentCollection.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/segmentCollection/index.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/startRecordBridge.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/boot/startRecording.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/deflate/deflateEncoder.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/deflate/deflateWorker.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/deflate/index.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/boot/isBrowserSupported.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/domain/getSessionReplayLink.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/boot/postStartStrategy.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/boot/preStartStrategy.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/boot/recorderApi.js","webpack://_N_E/../../node_modules/@datadog/browser-rum/esm/entries/main.js","webpack://_N_E/./src/services/dataDog.ts","webpack://_N_E/./src/services/fundraiserService.ts","webpack://_N_E/./src/services/gtm.ts","webpack://_N_E/./src/services/imageService.ts","webpack://_N_E/./src/services/logger.ts","webpack://_N_E/./src/services/reportFormService.ts","webpack://_N_E/./src/store/SwrCache.ts","webpack://_N_E/./src/utils/browserUtils.ts","webpack://_N_E/./src/utils/envUtils.ts","webpack://_N_E/./src/utils/urlUtils.ts","webpack://_N_E/../../../src/client/compat/router.ts","webpack://_N_E/../../src/client/get-domain-locale.ts","webpack://_N_E/../../src/client/link.tsx","webpack://_N_E/../../src/client/use-intersection.tsx","webpack://_N_E/../../src/client/use-merged-ref.ts","webpack://_N_E/../../node_modules/next/head.js","webpack://_N_E/../../node_modules/next/link.js","webpack://_N_E/../../node_modules/next/router.js","webpack://_N_E/../../node_modules/randombytes/browser.js","webpack://_N_E/../../node_modules/safe-buffer/index.js","webpack://_N_E/../../node_modules/shallowequal/index.js","webpack://_N_E/../../node_modules/styled-components/node_modules/tslib/tslib.es6.mjs","webpack://_N_E/../../node_modules/stylis/src/Enum.js","webpack://_N_E/../../node_modules/stylis/src/Utility.js","webpack://_N_E/../../node_modules/stylis/src/Tokenizer.js","webpack://_N_E/../../node_modules/stylis/src/Serializer.js","webpack://_N_E/../../node_modules/stylis/src/Prefixer.js","webpack://_N_E/../../node_modules/stylis/src/Middleware.js","webpack://_N_E/../../node_modules/stylis/src/Parser.js","webpack://_N_E/../../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","webpack://_N_E/../../node_modules/styled-components/dist/styled-components.browser.esm.js","webpack://_N_E/../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","webpack://_N_E/../../node_modules/use-sync-external-store/shim/index.js","webpack://_N_E/../../node_modules/uuid/index.js","webpack://_N_E/../../node_modules/uuid/lib/bytesToUuid.js","webpack://_N_E/../../node_modules/uuid/lib/rng-browser.js","webpack://_N_E/../../node_modules/uuid/v1.js","webpack://_N_E/../../node_modules/uuid/v4.js","webpack://_N_E/../../node_modules/@fortawesome/free-solid-svg-icons/index.mjs","webpack://_N_E/../../node_modules/dequal/lite/index.mjs","webpack://_N_E/../../node_modules/swr/dist/_internal/config-context-client-x_C9_NWC.mjs","webpack://_N_E/../../node_modules/swr/dist/_internal/index.mjs","webpack://_N_E/../../node_modules/swr/dist/index/index.mjs"],"sourcesContent":["/*!\n * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n * Copyright 2024 Fonticons, Inc.\n */\nconst c={prefix:\"fas\",iconName:\"caret-right\",icon:[256,512,[],\"f0da\",\"M246.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9s-19.8 16.6-19.8 29.6l0 256c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128z\"]},i={prefix:\"fas\",iconName:\"caret-left\",icon:[256,512,[],\"f0d9\",\"M9.4 278.6c-12.5-12.5-12.5-32.8 0-45.3l128-128c9.2-9.2 22.9-11.9 34.9-6.9s19.8 16.6 19.8 29.6l0 256c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-128-128z\"]},e={prefix:\"fas\",iconName:\"chevron-down\",icon:[512,512,[],\"f078\",\"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\"]},a={prefix:\"fas\",iconName:\"xmark\",icon:[384,512,[128473,10005,10006,10060,215,\"close\",\"multiply\",\"remove\",\"times\"],\"f00d\",\"M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z\"]},s=a,l={prefix:\"fas\",iconName:\"chevron-right\",icon:[320,512,[9002],\"f054\",\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"]},n={prefix:\"fas\",iconName:\"check\",icon:[448,512,[10003,10004],\"f00c\",\"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"]},o={prefix:\"fas\",iconName:\"triangle-exclamation\",icon:[512,512,[9888,\"exclamation-triangle\",\"warning\"],\"f071\",\"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]};export{i as faCaretLeft,c as faCaretRight,n as faCheck,e as faChevronDown,l as faChevronRight,s as faClose,o as faTriangleExclamation,a as faXmark};\n//# sourceMappingURL=index.js.map\n","var r=function(){return r=Object.assign||function(r){for(var e,t=1,n=arguments.length;t=0})).sort(n)};export{r as orderByTabIndex,n as tabSort};\n//# sourceMappingURL=tabOrder.js.map\n","var e=[\"button:enabled\",\"select:enabled\",\"textarea:enabled\",\"input:enabled\",\"a[href]\",\"area[href]\",\"summary\",\"iframe\",\"object\",\"embed\",\"audio[controls]\",\"video[controls]\",\"[tabindex]\",\"[contenteditable]\",\"[autofocus]\"];export{e as tabbables};\n//# sourceMappingURL=tabbables.js.map\n","import{FOCUS_AUTO as n}from\"../constants.js\";import{toArray as t}from\"./array.js\";import{tabbables as r}from\"./tabbables.js\";var o=r.join(\",\"),e=\"\".concat(o,\", [data-focus-guard]\"),c=function(n,r){return t((n.shadowRoot||n).children).reduce((function(n,t){return n.concat(t.matches(r?e:o)?[t]:[],c(t))}),[])},u=function(n,r){return n.reduce((function(n,e){var a,i=c(e,r),f=(a=[]).concat.apply(a,i.map((function(n){return function(n,t){var r;return n instanceof HTMLIFrameElement&&(null===(r=n.contentDocument)||void 0===r?void 0:r.body)?u([n.contentDocument.body],t):[n]}(n,r)})));return n.concat(f,e.parentNode?t(e.parentNode.querySelectorAll(o)).filter((function(n){return n===e})):[])}),[])},a=function(r){var o=r.querySelectorAll(\"[\".concat(n,\"]\"));return t(o).map((function(n){return u([n])})).reduce((function(n,t){return n.concat(t)}),[])};export{u as getFocusables,a as getParentAutofocusables};\n//# sourceMappingURL=tabUtils.js.map\n","import{toArray as t}from\"./array.js\";import{isVisibleCached as r,notHiddenInput as n,isAutoFocusAllowedCached as o}from\"./is.js\";import{orderByTabIndex as e}from\"./tabOrder.js\";import{getFocusables as i,getParentAutofocusables as u}from\"./tabUtils.js\";var f=function(o,e){return t(o).filter((function(t){return r(e,t)})).filter((function(t){return n(t)}))},c=function(r,n){return void 0===n&&(n=new Map),t(r).filter((function(t){return o(n,t)}))},a=function(t,r,n){return e(f(i(t,n),r),!0,n)},m=function(t,r){return e(f(i(t),r),!1)},s=function(t,r){return f(u(t),r)},l=function(r,n){return r.shadowRoot?l(r.shadowRoot,n):!(void 0===Object.getPrototypeOf(r).contains||!Object.getPrototypeOf(r).contains.call(r,n))||t(r.children).some((function(t){var r;if(t instanceof HTMLIFrameElement){var o=null===(r=t.contentDocument)||void 0===r?void 0:r.body;return!!o&&l(o,n)}return l(t,n)}))};export{l as contains,c as filterAutoFocusable,f as filterFocusable,m as getFocusableNodes,a as getTabbableNodes,s as parentAutofocusables};\n//# sourceMappingURL=DOMutils.js.map\n","import{FOCUS_GROUP as r,FOCUS_DISABLED as t}from\"../constants.js\";import{asArray as e,toArray as n}from\"./array.js\";var o=function(r){return r.parentNode?o(r.parentNode):r},a=function(a){return e(a).filter(Boolean).reduce((function(e,a){var c=a.getAttribute(r);return e.push.apply(e,c?function(r){for(var t=new Set,e=r.length,n=0;n0&&t.add(o),(a&Node.DOCUMENT_POSITION_CONTAINS)>0&&t.add(n)}return r.filter((function(r,e){return!t.has(e)}))}(n(o(a).querySelectorAll(\"[\".concat(r,'=\"').concat(c,'\"]:not([').concat(t,'=\"disabled\"])')))):[a]),e}),[])};export{a as getAllAffectedNodes};\n//# sourceMappingURL=all-affected.js.map\n","var r=function(r){try{return r()}catch(r){return}};export{r as safeProbe};\n//# sourceMappingURL=safe.js.map\n","import{safeProbe as t}from\"./safe.js\";var n=function(o){if(void 0===o&&(o=document),o&&o.activeElement){var e=o.activeElement;return e.shadowRoot?n(e.shadowRoot):e instanceof HTMLIFrameElement&&t((function(){return e.contentWindow.document}))?n(e.contentWindow.document):e}};export{n as getActiveElement};\n//# sourceMappingURL=getActiveElement.js.map\n","import{contains as t}from\"./utils/DOMutils.js\";import{getAllAffectedNodes as r}from\"./utils/all-affected.js\";import{getFirst as e,toArray as o}from\"./utils/array.js\";import{getActiveElement as n}from\"./utils/getActiveElement.js\";var u=function(u,i){return void 0===i&&(i=n(e(u).ownerDocument)),!(!i||i.dataset&&i.dataset.focusGuard)&&r(u).some((function(r){return t(r,i)||function(t,r){return Boolean(o(t.querySelectorAll(\"iframe\")).some((function(t){return function(t,r){return t===r}(t,r)})))}(r,i)}))};export{u as focusInside};\n//# sourceMappingURL=focusInside.js.map\n","import{FOCUS_ALLOW as t}from\"./constants.js\";import{contains as r}from\"./utils/DOMutils.js\";import{toArray as o}from\"./utils/array.js\";import{getActiveElement as e}from\"./utils/getActiveElement.js\";var i=function(i){void 0===i&&(i=document);var m=e(i);return!!m&&o(i.querySelectorAll(\"[\".concat(t,\"]\"))).some((function(t){return r(t,m)}))};export{i as focusIsHidden};\n//# sourceMappingURL=focusIsHidden.js.map\n","import{contains as r,parentAutofocusables as n}from\"./DOMutils.js\";import{asArray as o}from\"./array.js\";var t=function(r,n){return void 0===n&&(n=[]),n.push(r),r.parentNode&&t(r.parentNode.host||r.parentNode,n),n},e=function(r,n){for(var o=t(r),e=t(n),f=0;f=0)return u}return!1},f=function(n,t,f){var u=o(n),a=o(t),i=u[0],c=!1;return a.filter(Boolean).forEach((function(n){c=e(c||n,n)||c,f.filter(Boolean).forEach((function(n){var o=e(i,n);o&&(c=!c||r(o,c)?o:e(o,c))}))})),c},u=function(r,o){return r.reduce((function(r,t){return r.concat(n(t,o))}),[])};export{u as allParentAutofocusables,e as getCommonParent,f as getTopCommonParent};\n//# sourceMappingURL=parenting.js.map\n","import{getAllAffectedNodes as r}from\"./utils/all-affected.js\";import{isNotAGuard as t,isGuard as i}from\"./utils/is.js\";import{getTopCommonParent as o}from\"./utils/parenting.js\";import{orderByTabIndex as e}from\"./utils/tabOrder.js\";import{getFocusables as n}from\"./utils/tabUtils.js\";var m=function(m){var s=r(m).filter(t),f=o(m,m,s),a=e(n([f],!0),!0,!0),l=n(s,!1);return a.map((function(r){var t=r.node;return{node:t,index:r.index,lockItem:l.indexOf(t)>=0,guard:i(t)}}))};export{m as expandFocusableNodes};\n//# sourceMappingURL=focusables.js.map\n","var n=function(n,o){n&&(\"focus\"in n&&n.focus(o),\"contentWindow\"in n&&n.contentWindow&&n.contentWindow.focus())};export{n as focusOn};\n//# sourceMappingURL=commands.js.map\n","import{isRadioElement as n}from\"./is.js\";var r=function(r,t){return n(r)&&r.name?function(r,t){return t.filter(n).filter((function(n){return n.name===r.name})).filter((function(n){return n.checked}))[0]||r}(r,t):r},t=function(n){var t=new Set;return n.forEach((function(e){return t.add(r(e,n))})),n.filter((function(n){return t.has(n)}))};export{r as correctNode,t as correctNodes};\n//# sourceMappingURL=correctFocus.js.map\n","import{correctNode as r}from\"./correctFocus.js\";var n=function(n){return n[0]&&n.length>1?r(n[0],n):n[0]},t=function(n,t){return n.indexOf(r(t,n))};export{n as pickFirstFocus,t as pickFocusable};\n//# sourceMappingURL=firstFocus.js.map\n","import{correctNodes as i}from\"./utils/correctFocus.js\";import{pickFocusable as r}from\"./utils/firstFocus.js\";import{isGuard as t}from\"./utils/is.js\";var n=\"NEW_FOCUS\",e=function(e,f,o,d,a){var s=e.length,u=e[0],x=e[s-1],O=t(d);if(!(d&&e.indexOf(d)>=0)){var v=void 0!==d?o.indexOf(d):-1,h=a?o.indexOf(a):v,l=a?e.indexOf(a):-1;if(-1===v)return-1!==l?l:n;if(-1===l)return n;var c=v-h,m=o.indexOf(u),b=o.indexOf(x),p=i(o),M=void 0!==d?p.indexOf(d):-1,g=a?p.indexOf(a):M,j=p.filter((function(i){return i.tabIndex>=0})),F=void 0!==d?j.indexOf(d):-1,C=a?j.indexOf(a):F,E=F>=0&&C>=0?C-F:g-M;if(!c&&l>=0)return l;if(0===f.length)return l;var I=r(e,f[0]),N=r(e,f[f.length-1]);return v<=m&&O&&Math.abs(c)>1?N:v>=b&&O&&Math.abs(c)>1?I:c&&Math.abs(E)>1?l:v<=m?N:v>b?I:c?Math.abs(c)>1?l:(s+l+c)%s:void 0}};export{n as NEW_FOCUS,e as newFocus};\n//# sourceMappingURL=solver.js.map\n","import{filterAutoFocusable as o}from\"./DOMutils.js\";import{pickFirstFocus as r}from\"./firstFocus.js\";import{getDataset as t}from\"./is.js\";var i=function(i,n,u){var f,s=i.map((function(o){return o.node})),e=o(s.filter((f=u,function(o){var r,i=null===(r=t(o))||void 0===r?void 0:r.autofocus;return o.autofocus||void 0!==i&&\"false\"!==i||f.indexOf(o)>=0})));return e&&e.length?r(e):r(o(n))};export{i as pickAutofocus};\n//# sourceMappingURL=auto-focus.js.map\n","import{newFocus as t,NEW_FOCUS as r}from\"./solver.js\";import{getFocusableNodes as o}from\"./utils/DOMutils.js\";import{getAllAffectedNodes as n}from\"./utils/all-affected.js\";import{getFirst as e,asArray as i}from\"./utils/array.js\";import{pickAutofocus as u}from\"./utils/auto-focus.js\";import{getActiveElement as f}from\"./utils/getActiveElement.js\";import{isNotAGuard as m,isDefined as s}from\"./utils/is.js\";import{getTopCommonParent as a,allParentAutofocusables as c}from\"./utils/parenting.js\";var l=function(l,p){var d=f(i(l).length>0?document:e(l).ownerDocument),v=n(l).filter(m),j=a(d||l,l,v),g=new Map,w=o(v,g),M=w.filter((function(t){var r=t.node;return m(r)}));if(M[0]){var h,x,y,D=o([j],g).map((function(t){return t.node})),E=(h=D,x=M,y=new Map,x.forEach((function(t){return y.set(t.node,t)})),h.map((function(t){return y.get(t)})).filter(s)),b=E.map((function(t){return t.node})),k=E.filter((function(t){return t.tabIndex>=0})).map((function(t){return t.node})),A=t(b,k,D,d,p);if(A===r){var I=u(w,k,c(v,g))||u(w,b,c(v,g));return I?{node:I}:void console.warn(\"focus-lock: cannot find any node to move focus into\")}return void 0===A?A:E[A]}};export{l as focusSolver};\n//# sourceMappingURL=focusSolver.js.map\n","import{focusOn as o}from\"./commands.js\";import{focusSolver as e}from\"./focusSolver.js\";var t=0,c=!1,s=function(s,i,n){void 0===n&&(n={});var f=e(s,i);if(!c&&f){if(t>2)return console.error(\"FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting\"),c=!0,void setTimeout((function(){c=!1}),1);t++,o(f.node,n.focusOptions),t--}};export{s as moveFocusInside};\n//# sourceMappingURL=moveFocusInside.js.map\n","import{getTabbableNodes as n}from\"./utils/DOMutils.js\";function e(n){if(!n)return null;if(\"undefined\"==typeof WeakRef)return function(){return n||null};var e=n?new WeakRef(n):null;return function(){return(null==e?void 0:e.deref())||null}}var t=function(n){if(!n)return null;for(var t=[],r=n;r&&r!==document.body;)t.push({current:e(r),parent:e(r.parentElement),left:e(r.previousElementSibling),right:e(r.nextElementSibling)}),r=r.parentElement;return{element:e(n),stack:t,ownerDocument:n.ownerDocument}},r=function(e){var r=t(e);return function(){return function(e){var t,r,l,i,u;if(e)for(var o=e.stack,f=e.ownerDocument,a=new Map,v=0,c=o;v-1&&(G.filter((function(e){var n=e.guard,t=e.node;return n&&t.dataset.focusAutoGuard})).forEach((function(e){return e.node.removeAttribute(\"tabIndex\")})),I(q,G.length,1,G),I(q,-1,-1,G))}}}return c},M=function(e){N()&&e&&(e.stopPropagation(),e.preventDefault())},O=function(){return m(N)};\"production\"===process.env.NODE_ENV||e.node.isRequired;var A=function(){k=!0},D=function(){k=!1,L=\"just\",m((function(){L=\"meanwhile\"}))};var G={moveFocusInside:u,focusInside:t,focusNextElement:f,focusPrevElement:d,focusFirstElement:s,focusLastElement:c,captureFocusRestore:i};v.assignSyncMedium((function(e){var n=e.target,t=e.currentTarget;t.contains(n)||(h={observerNode:t,portaledElement:n})})),p.assignMedium(O),E.assignMedium((function(e){return e(G)}));var q=n((function(e){return e.filter((function(e){return!e.disabled}))}),(function(e){var n=e.slice(-1)[0];n&&!g&&(document.addEventListener(\"focusin\",M),document.addEventListener(\"focusout\",O),window.addEventListener(\"focus\",A),window.addEventListener(\"blur\",D));var t=g,o=t&&n&&n.id===t.id;g=n,t&&!o&&(t.onDeactivation(),e.filter((function(e){return e.id===t.id})).length||t.returnFocus(!n)),n?(w=null,o&&t.observed===n.observed||n.onActivation(G),N(),m(N)):(document.removeEventListener(\"focusin\",M),document.removeEventListener(\"focusout\",O),window.removeEventListener(\"focus\",A),window.removeEventListener(\"blur\",D),w=null)}))((function(){return null}));export{q as default};\n//# sourceMappingURL=Trap.js.map\n","import e from\"../../../@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\";import r from\"../../../@babel/runtime/helpers/esm/extends.js\";import o,{forwardRef as t}from\"react\";import s from\"./Lock.js\";import p from\"./Trap.js\";var m=t((function(e,t){return o.createElement(s,r({sideCar:p,ref:t},e))})),i=s.propTypes||{};i.sideCar;var a=e(i,[\"sideCar\"]);m.propTypes=\"production\"!==process.env.NODE_ENV?a:{};export{m as default};\n//# sourceMappingURL=Combination.js.map\n","import{__makeTemplateObject as n}from\"../../../node_modules/tslib/tslib.es6.js\";import i,{keyframes as o}from\"styled-components\";import{Box as t}from\"../Box/index.js\";import{Button as a}from\"../Button/index.js\";var r,e,m,d,s,c,u=i.div(r||(r=n([\"\\n height: 100%;\\n overflow-x: hidden;\\n overflow-y: auto;\\n position: fixed;\\n top: 0;\\n width: 100%;\\n z-index: 9999;\\n\"],[\"\\n height: 100%;\\n overflow-x: hidden;\\n overflow-y: auto;\\n position: fixed;\\n top: 0;\\n width: 100%;\\n z-index: 9999;\\n\"]))),f=o(e||(e=n([\"\\n from {\\n opacity: 0;\\n transform: scale(0);\\n }\\n to {\\n opacity: 1;\\n transform: scale(1);\\n }\\n\"],[\"\\n from {\\n opacity: 0;\\n transform: scale(0);\\n }\\n to {\\n opacity: 1;\\n transform: scale(1);\\n }\\n\"]))),p=o(m||(m=n([\"\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 0.5;\\n }\\n\"],[\"\\n from {\\n opacity: 0;\\n }\\n to {\\n opacity: 0.5;\\n }\\n\"]))),l=i(t)(d||(d=n([\"\\n background-color: \",\";\\n position: relative;\\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);\\n margin: \",\";\\n width: \",\";\\n min-height: 10rem;\\n max-width: \",\";\\n z-index: 9999;\\n animation-direction: normal;\\n animation-timing-function: ease-in-out;\\n animation-duration: 0.2s;\\n animation-name: \",\";\\n\"],[\"\\n background-color: \",\";\\n position: relative;\\n box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);\\n margin: \",\";\\n width: \",\";\\n min-height: 10rem;\\n max-width: \",\";\\n z-index: 9999;\\n animation-direction: normal;\\n animation-timing-function: ease-in-out;\\n animation-duration: 0.2s;\\n animation-name: \",\";\\n\"])),(function(n){var i=n.theme.colors,o=n.backgroundColor;return void 0!==o?void 0!==i[o]?i[o]:o:i.backgroundLight}),(function(n){var i=n.$top;return\"\".concat(i,\" auto auto auto\")}),(function(n){return n.$width}),(function(n){return n.$maxWidth}),(function(n){return n.$isAnimated?f:\"none\"})),g=i(a)(s||(s=n([\"\\n float: right;\\n margin-left: \",\";\\n font-size: 1.2rem;\\n padding: 0;\\n\"],[\"\\n float: right;\\n margin-left: \",\";\\n font-size: 1.2rem;\\n padding: 0;\\n\"])),(function(n){return n.theme.spacing.xs})),h=i.div(c||(c=n([\"\\n background: \",\";\\n bottom: 0;\\n left: 0;\\n opacity: 0.5;\\n position: fixed;\\n right: 0;\\n top: 0;\\n transition:\\n opacity 0.3s,\\n bottom 0s 0.3s;\\n z-index: 100;\\n animation-direction: normal;\\n animation-timing-function: ease-in-out;\\n animation-duration: 0.3s;\\n animation-name: \",\";\\n\"],[\"\\n background: \",\";\\n bottom: 0;\\n left: 0;\\n opacity: 0.5;\\n position: fixed;\\n right: 0;\\n top: 0;\\n transition:\\n opacity 0.3s,\\n bottom 0s 0.3s;\\n z-index: 100;\\n animation-direction: normal;\\n animation-timing-function: ease-in-out;\\n animation-duration: 0.3s;\\n animation-name: \",\";\\n\"])),(function(n){return n.theme.colors.modalBackdrop}),(function(n){return n.$isAnimated?p:\"none\"}));export{h as Background,g as CloseButton,l as Content,u as Wrapper};\n//# sourceMappingURL=styles.js.map\n","import{__assign as e}from\"../../../node_modules/tslib/tslib.es6.js\";import o,{useEffect as t}from\"react\";import{createPortal as n}from\"react-dom\";import{useTheme as i,ThemeProvider as d}from\"styled-components\";import a from\"../../../node_modules/react-focus-lock/dist/es2015/Combination.js\";import{faClose as r}from\"../../../node_modules/@fortawesome/free-solid-svg-icons/index.js\";import{IconFa as m}from\"../IconFa/index.js\";import{crukTheme as l}from\"../../themes/cruk.js\";import{Wrapper as c,Content as s,CloseButton as g,Background as p}from\"./styles.js\";function u(u){var f=u.modalName,h=u.closeFunction,v=u.showCloseButton,w=u.maxWidth,y=void 0===w?\"500px\":w,b=u.top,E=void 0===b?\"1rem\":b,k=u.backgroundColor,x=void 0===k?\"backgroundLight\":k,L=u.children,j=u.width,C=void 0===j?\"90%\":j,B=u.margin,$=u.marginHorizontal,z=u.marginVertical,F=u.marginTop,H=u.marginRight,R=u.marginBottom,T=void 0===R?\"xxl\":R,V=u.marginLeft,A=u.padding,_=void 0===A?\"xs\":A,I=u.paddingHorizontal,W=u.paddingVertical,N=u.paddingTop,q=u.paddingRight,D=u.paddingBottom,G=u.paddingLeft,J=u.isAnimated,K=void 0===J||J,M=i(),O=e(e({},l),M),P=o.useCallback((function(e){\"Escape\"===e.key&&h&&h()}),[h]);return t((function(){if(\"undefined\"!=typeof window)return document.body.style.overflow=\"hidden\",document.addEventListener(\"keydown\",P),function(){\"undefined\"!=typeof window&&(document.body.style.overflow=\"unset\",document.removeEventListener(\"keydown\",P))}}),[P]),o.createElement(o.Fragment,null,\"undefined\"!=typeof window?n(o.createElement(\"section\",null,o.createElement(a,{returnFocus:!0},o.createElement(d,{theme:O},o.createElement(c,{role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":f},o.createElement(s,{backgroundColor:x,$maxWidth:y,$width:C,$top:E,margin:B,marginHorizontal:$,marginVertical:z,marginTop:F,marginRight:H,marginBottom:T,marginLeft:V,padding:_,paddingHorizontal:I,paddingVertical:W,paddingTop:N,paddingRight:q,paddingBottom:D,paddingLeft:G,$isAnimated:K},v&&h?o.createElement(g,{\"aria-label\":\"close\",appearance:\"tertiary\",onClick:function(){h()}},o.createElement(m,{faIcon:r})):null,L),o.createElement(p,{$isAnimated:K}))))),document.body):null)}export{u as Modal,u as default};\n//# sourceMappingURL=index.js.map\n","import{__assign as n}from\"../../../node_modules/tslib/tslib.es6.js\";function a(a){return n(n({},a),{margin:void 0,marginTop:void 0,marginRight:void 0,marginBottom:void 0,marginLeft:void 0,marginVertical:void 0,marginHorizontal:void 0,padding:void 0,paddingTop:void 0,paddingRight:void 0,paddingBottom:void 0,paddingLeft:void 0,paddingVertical:void 0,paddingHorizontal:void 0,$margin:a.margin,$marginTop:a.marginTop,$marginRight:a.marginRight,$marginBottom:a.marginBottom,$marginLeft:a.marginLeft,$marginVertical:a.marginVertical,$marginHorizontal:a.marginHorizontal,$padding:a.padding,$paddingTop:a.paddingTop,$paddingRight:a.paddingRight,$paddingBottom:a.paddingBottom,$paddingLeft:a.paddingLeft,$paddingVertical:a.paddingVertical,$paddingHorizontal:a.paddingHorizontal})}function i(n,a){var i=n.$margin,t=n.$marginHorizontal,o=n.$marginVertical,g=n.$marginTop,d=n.$marginRight,p=n.$marginBottom,r=n.$marginLeft,c=n.$padding,m=n.$paddingHorizontal,l=n.$paddingVertical,$=n.$paddingTop,e=n.$paddingRight,s=n.$paddingBottom,u=n.$paddingLeft,f=i?a.spacing[i]:null,v=o?a.spacing[o]:null,h=t?a.spacing[t]:null,z=g?a.spacing[g]:null,B=d?a.spacing[d]:null,H=p?a.spacing[p]:null,L=r?a.spacing[r]:null,R=f?\"margin: \".concat(f,\" !important;\"):\"\",T=z?\"margin-top: \".concat(z,\" !important;\"):v?\"margin-top: \".concat(v,\" !important;\"):\"\",V=B?\"margin-right: \".concat(B,\" !important;\"):h?\"margin-right: \".concat(h,\" !important;\"):\"\",b=H?\"margin-bottom: \".concat(H,\" !important;\"):v?\"margin-bottom: \".concat(v,\" !important;\"):\"\",j=L?\"margin-left: \".concat(L,\" !important;\"):h?\"margin-left: \".concat(h,\" !important;\"):\"\",x=c?a.spacing[c]:null,_=l?a.spacing[l]:null,k=m?a.spacing[m]:null,q=$?a.spacing[$]:null,w=e?a.spacing[e]:null,y=s?a.spacing[s]:null,A=u?a.spacing[u]:null,C=x?\"padding: \".concat(x,\" !important;\"):\"\",D=q?\"padding-top: \".concat(q,\" !important;\"):_?\"padding-top: \".concat(_,\" !important;\"):\"\",E=w?\"padding-right: \".concat(w,\" !important;\"):k?\"padding-right: \".concat(k,\" !important;\"):\"\",F=y?\"padding-bottom: \".concat(y,\" !important;\"):_?\"padding-bottom: \".concat(_,\" !important;\"):\"\",G=A?\"padding-left: \".concat(A,\" !important;\"):k?\"padding-left: \".concat(k,\" !important;\"):\"\";return\"\\n \".concat(R,\"\\n \").concat(T,\"\\n \").concat(V,\"\\n \").concat(b,\"\\n \").concat(j,\"\\n \").concat(C,\"\\n \").concat(D,\"\\n \").concat(E,\"\\n \").concat(F,\"\\n \").concat(G,\"\\n \")}export{i as default,i as spacing,a as spacingPropsToSpacingPropsInternal};\n//# sourceMappingURL=index.js.map\n","import{__makeTemplateObject as n}from\"../../../node_modules/tslib/tslib.es6.js\";import t from\"styled-components\";import{spacing as o}from\"../Spacing/index.js\";var e,r=t.p(e||(e=n([\"\\n font-family: \",\";\\n word-break: \",\";\\n overflow-wrap: \",\";\\n color: \",\";\\n text-align: \",\";\\n font-size: \",\";\\n line-height: \",\";\\n font-weight: \",\";\\n padding: 0;\\n margin: 0;\\n margin-bottom: \",\";\\n\\n &:last-child {\\n margin-bottom: 0;\\n }\\n\\n \",\"\\n\"],[\"\\n font-family: \",\";\\n word-break: \",\";\\n overflow-wrap: \",\";\\n color: \",\";\\n text-align: \",\";\\n font-size: \",\";\\n line-height: \",\";\\n font-weight: \",\";\\n padding: 0;\\n margin: 0;\\n margin-bottom: \",\";\\n\\n &:last-child {\\n margin-bottom: 0;\\n }\\n\\n \",\"\\n\"])),(function(n){var t=n.$textFontFamily,o=n.theme;return t||o.typography.fontFamilyBase}),(function(n){return n.$wordBreak||\"normal\"}),(function(n){return n.$overflowWrap||\"break-word\"}),(function(n){var t=n.theme.colors,o=n.$textColor;return o&&void 0!==t[o]?t[o]:o||t.textDark}),(function(n){return n.$textAlign||\"left\"}),(function(n){var t=n.theme,o=t.fontSizes,e=t.fontSizes.m,r=n.$textSize;return r?o[r]:e}),(function(n){return n.theme.typography.lineHeight}),(function(n){var t=n.$textWeight,o=n.theme;return t||o.typography.fontWeightBase}),(function(n){var t=n.as,o=n.theme.spacing.xs;return void 0===t||\"p\"===t?\"\".concat(o):0}),(function(n){return o(n,n.theme)}));export{r as TextStyled};\n//# sourceMappingURL=styles.js.map\n","import{__assign as t,__rest as e}from\"../../../node_modules/tslib/tslib.es6.js\";import r from\"react\";import{useTheme as o}from\"styled-components\";import{crukTheme as i}from\"../../themes/cruk.js\";import{spacingPropsToSpacingPropsInternal as m}from\"../Spacing/index.js\";import{TextStyled as l}from\"./styles.js\";var x=function(x){var a=o(),n=t(t({},i),a),f=x.textColor,s=x.textAlign,p=x.textSize,d=x.textWeight,g=x.textFontFamily,$=x.wordBreak,c=x.overflowWrap,w=x.ref,F=e(x,[\"textColor\",\"textAlign\",\"textSize\",\"textWeight\",\"textFontFamily\",\"wordBreak\",\"overflowWrap\",\"ref\"]),W=m(F);return r.createElement(l,t({$textColor:f,$textAlign:s,$textSize:p,$textWeight:d,$textFontFamily:g,$wordBreak:$,$overflowWrap:c},W,{theme:n,ref:w}))};export{x as Text,x as default};\n//# sourceMappingURL=index.js.map\n","import{__assign as e}from\"../../node_modules/tslib/tslib.es6.js\";import{crukTheme as r}from\"./cruk.js\";var a=e({},r.utilities),o=e(e({},r.siteConfig),{logoSrc:\"https://rcl.assets.cancerresearchuk.org/images/logos/bowelbabe-logo-160.png\",footerCopyText:\"The Bowelbabe Fund for Cancer Research UK, raises money to fund clinical trials, research and cancer information and awareness, as well as other initiatives to combat cancer and support those affected by cancer. The Bowelbabe Fund is a restricted fund within Cancer Research UK. Cancer Research UK is a registered charity in England and Wales (1089464), Scotland (SC041666), the Isle of Man (1103) and Jersey (247) and is registered with the Fundraising Regulator.\"}),t=e(e({},r.avatar),{path:\"\".concat(o.assetPath,\"images/avatar/bowelbabe/\")}),n=e(e({},r.button),{horizontalPadding:\"1rem\",borderRadius:\"2em\"}),b=e({},r.breakpoint),i=e(e({},r.tokenColors),{bbPurple:\"#501e70\",bbLightGreen:\"#92ddcb\",bbGreen:\"#26bb98\",bbPastelGreen:\"#d4f1ea\",bbPink:\"#d81272\",bbPastelPink:\"#EB88B8\",bbBlue:\"#009ed1\",bbTeal:\"#005e85\",bbYellow:\"#e4b50b\",bbPastelYellow:\"#F1DA85\"}),s=e(e({},r.colors),{primary:i.bbPurple,secondary:i.bbGreen,tertiary:i.bbTeal,textOnPrimary:i.white,textOnSecondary:i.bbPurple,textOnTertiary:i.white,warning:i.bbYellow,success:i.bbGreen,info:i.bbBlue,avatarBorder:i.bbPurple,progressBar:i.bbLightGreen,progressBarSecondary:i.bbGreen,circularProgress:i.bbLightGreen,circularProgressSecondary:i.bbGreen,linkColor:i.bbPurple,linkColorHover:i.bbPink,linkColorSecondary:i.bbPurple,linkColorSecondaryHover:i.bbPink,backgroundLightColor:i.bbPastelGreen,collapseHeaderColor:i.bbPink,check:i.bbPurple,headerTaglineText:i.bbPurple,loaderColor1:i.bbPurple,loaderColor2:i.bbLightGreen,loaderColor3:i.bbPink,paginationText:i.bbPurple,paginationBackground:i.bbPurple,totaliserBubbleColor:i.bbPurple,totaliserBubbleTextColor:i.bbLightGreen,totaliserBubbleTotalColor:i.white,buttonPrimaryBackground:i.bbPastelYellow,buttonPrimaryText:i.bbPurple,buttonPrimaryBorder:i.bbPastelYellow,buttonPrimaryBackgroundHover:i.bbPastelPink,buttonPrimaryTextHover:i.bbPurple,buttonPrimaryBorderHover:i.bbPastelPink,buttonPrimaryDisabledBackground:i.grey_200,buttonPrimaryDisabledText:i.grey_800,buttonPrimaryDisabledBorder:i.grey_200,buttonSecondaryBackground:i.white,buttonSecondaryText:i.bbPurple,buttonSecondaryBorder:i.bbPastelYellow,buttonSecondaryBackgroundHover:i.bbPastelPink,buttonSecondaryTextHover:i.bbPurple,buttonSecondaryBorderHover:i.bbPastelYellow,buttonSecondaryDisabledBackground:i.grey_200,buttonSecondaryDisabledText:i.grey_800,buttonSecondaryDisabledBorder:i.grey_200,buttonTertiaryText:i.bbPurple,buttonTertiaryTextHover:i.bbPink,buttonTertiaryDisabledText:i.grey_200}),l=e({},r.spacing),u=e({},r.shadows),d=e({},r.fontSizes),c=e(e({},r.typography),{customFonts:[{family:\"juana\",urlWoff:\"\".concat(o.assetPath,\"fonts/juana-semibold-webfont.woff\"),urlWoff2:\"\".concat(o.assetPath,\"fonts/juana-semibold-webfont.woff2\"),fontWeight:600}],fontFamilyHeadings:\"juana,Arial,sans-serif\",fontFamilyLinks:\"juana,Arial,sans-serif\",fontFamilyButtons:\"juana,Arial,sans-serif\",fontFamilyBase:\"Arial, Calibri, nimbussansl, liberationsans, freesans, clean, sans-serif\",fontFamilyLabel:\"Arial, Calibri, nimbussansl, liberationsans, freesans, clean, sans-serif\",fontWeightBase:400,fontWeightLinks:600,fontWeightHeadings:600,fontWeightButtons:600,fontWeightLabels:600,LinkPrimaryTextDecoration:\"none\",LinkLetterSpacing:\"0px\"}),g={avatar:e({},t),breakpoint:e({},b),button:e({},n),tokenColors:e({},i),colors:e({},s),spacing:e({},l),fontSizes:e({},d),siteConfig:e({},o),typography:e({},c),shadows:e({},u),utilities:e({},a)};export{t as AVATAR,b as BREAKPOINT,n as BUTTON,s as COLORS,d as FONT_SIZES,u as SHADOWS,o as SITE_CONFIG,l as SPACING,i as TOKEN_COLORS,c as TYPOGRAPHY,a as UTILITIES,g as bowelbabeTheme,g as default};\n//# sourceMappingURL=bowelbabe.js.map\n","import{__assign as e}from\"../../node_modules/tslib/tslib.es6.js\";var r={contentMaxWidth:\"1020px\",useDefaultFocusRect:!0,useDefaultFromControls:!1,useBackgroundStyleLinks:!1,inputBorderWidth:\"1px\"},t={assetPath:\"https://rcl.assets.cancerresearchuk.org/\",logoUrl:\"/\",logoAlt:\"Cancer Research UK Giving Page\",logoSrc:\"https://rcl.assets.cancerresearchuk.org/images/logos/cruk.svg\",footerCopyText:\"Cancer Research UK is a registered charity in England and Wales (1089464), Scotland (SC041666), the Isle of Man (1103) and Jersey (247). A company limited by guarantee. Registered company in England and Wales(4325234) and the Isle of Man (5713F).\",footerLogoAlt:\"Registered with Fundraising Regulator\",footerLogoSrc:\"https://rcl.assets.cancerresearchuk.org/images/logos/fundreg.png\"},a={s:\"32px\",m:\"48px\",l:\"64px\",xl:\"128px\",path:\"\".concat(t.assetPath,\"images/avatar/cruk2/\")},o={borderRadius:\"0px\",borderRadiusLarge:\"0px\",buttonBorderThickness:\"2px\",textDecoration:\"none\",textTransform:\"none\",horizontalPadding:\"2em\"},n={mobile:\"576px\",tablet:\"768px\",desktop:\"992px\",desktopLarge:\"1200px\"},i={navy_100:\"#E5E5FF\",navy_600:\"#00007E\",navy_700:\"#000066\",navy_800:\"#00004D\",magenta_100:\"#FFE6F3\",magenta_600:\"#FF0087\",magenta_700:\"#E60079\",magenta_800:\"#CC006C\",cyan_600:\"#009CEE\",cyan_700:\"#006DA7\",grey_100:\"#F2F2F2\",grey_200:\"#E6E6E6\",grey_300:\"#c6c6c6\",grey_600:\"#666666\",grey_800:\"#575757\",grey_900:\"#2e2d2c\",white:\"#fff\",black:\"#000\",red:\"#D51311\",yellow:\"#fdc02f\",green:\"#3d854d\"},s={primary:i.navy_600,secondary:i.magenta_700,tertiary:i.cyan_600,textOnPrimary:i.white,textOnSecondary:i.white,textOnTertiary:i.white,textHeaderDefault:i.black,disabled:i.grey_200,danger:i.red,warning:i.yellow,success:i.green,info:i.cyan_600,textError:i.red,textDark:i.black,textLight:i.white,linkColor:i.magenta_700,linkColorHover:i.magenta_800,linkColorSecondary:i.magenta_700,linkColorSecondaryHover:i.magenta_800,avatarBorder:i.navy_600,progressBar:i.navy_600,progressBarSecondary:i.magenta_700,progressBarBackground:i.grey_200,circularProgress:i.cyan_600,circularProgressSecondary:i.magenta_700,circularProgressBackground:i.grey_200,buttonPrimaryBackground:i.magenta_700,buttonPrimaryText:i.white,buttonPrimaryBorder:i.magenta_700,buttonPrimaryBackgroundHover:i.magenta_800,buttonPrimaryTextHover:i.white,buttonPrimaryBorderHover:i.magenta_800,buttonPrimaryDisabledBackground:i.grey_200,buttonPrimaryDisabledText:i.grey_600,buttonPrimaryDisabledBorder:i.grey_200,buttonSecondaryBackground:i.white,buttonSecondaryText:i.magenta_700,buttonSecondaryBorder:i.magenta_700,buttonSecondaryBackgroundHover:i.magenta_100,buttonSecondaryTextHover:i.magenta_800,buttonSecondaryBorderHover:i.magenta_100,buttonSecondaryDisabledBackground:i.grey_200,buttonSecondaryDisabledText:i.grey_600,buttonSecondaryDisabledBorder:i.grey_200,buttonTertiaryText:i.magenta_700,buttonTertiaryTextHover:i.magenta_800,buttonTertiaryDisabledText:i.grey_600,collapseHeaderColor:i.navy_600,selectionBorder:i.grey_600,textInputBorder:i.grey_900,inputBorder:i.grey_900,check:i.magenta_700,headerBackground:i.white,backgroundLight:i.white,backgroundLightColor:i.navy_100,backgroundMid:i.grey_200,backgroundMidLight:i.grey_100,loaderColor1:i.navy_600,loaderColor2:i.magenta_600,loaderColor3:i.cyan_600,paginationText:i.navy_600,paginationActive:i.grey_200,paginationBackground:i.navy_600,footerBackground:i.backgroundLight,headerBorder:i.grey_200,headerTaglineText:i.black,stepBorder:i.grey_200,stepBackground:i.white,popoverBackground:i.white,textInputExtraInfo:i.grey_200,totaliserBubbleColor:i.grey_200,totaliserBubbleTextColor:i.black,totaliserBubbleTotalColor:i.navy_600,selectBackground:i.black,modalBackdrop:i.black,userBlockExtraText:i.grey_800},g={none:\"0\",auto:\"auto\",xxs:\"0.5rem\",xs:\"1rem\",s:\"1.5rem\",m:\"2rem\",l:\"2.5rem\",xl:\"3rem\",xxl:\"3.5rem\"},l={xs:\"0.75rem\",s:\"0.875rem\",m:\"1rem\",l:\"1.25rem\",xl:\"1.5625rem\",xxl:\"2rem\",xxxl:\"2.5rem\",xxxxl:\"3.125rem\"},c={customFonts:[{family:\"Progress\",urlWoff:\"\".concat(t.assetPath,\"fonts/Progress-Regular.woff2\"),fontWeight:400},{family:\"Progress\",urlWoff:\"\".concat(t.assetPath,\"fonts/Progress-SemiBold.woff2\"),fontWeight:600},{family:\"Poppins\",urlWoff:\"\".concat(t.assetPath,\"fonts/Poppins-Light.woff\"),fontWeight:300},{family:\"Poppins\",urlWoff:\"\".concat(t.assetPath,\"fonts/Poppins-Regular.woff2\"),fontWeight:400},{family:\"Poppins\",urlWoff:\"\".concat(t.assetPath,\"fonts/Poppins-SemiBold.woff2\"),fontWeight:600},{family:\"Poppins\",urlWoff:\"\".concat(t.assetPath,\"fonts/Poppins-Medium.woff\"),fontWeight:500}],fontFamilyBase:\"Poppins,sans-serif\",fontFamilyButtons:\"Poppins,sans-serif\",fontFamilyLinks:\"Poppins,sans-serif\",fontFamilyHeadings:\"Progress,Arial,Helvetica,sans-serif\",fontFamilyLabel:\"Poppins,sans-serif\",fontSizeBase:\"16px\",fontWeightBase:300,fontWeightHeadings:400,fontWeightLinks:700,fontWeightButtons:400,fontWeightLabels:400,fontWeightHeavy:700,fontWeightMedium:500,fontWeightNormal:400,fontWeightLight:300,fontWeightVLight:100,linkTextDecoration:\"underline\",LinkLetterSpacing:\"0px\",LinkPrimaryTextDecoration:\"underline\",lineHeight:\"1.5em\",headerLineHeight:\"1.25em\",headerTextTransform:\"none\"},d={s:\"0px 0px 2px 1px \".concat(i.grey_300),m:\"0px 0px 4px 1px \".concat(i.grey_300),l:\"0px 0px 7px 1px \".concat(i.grey_300)},y={name:\"cruk\",avatar:e({},a),breakpoint:e({},n),button:e({},o),tokenColors:e({},i),colors:e({},s),spacing:e({},g),fontSizes:e({},l),siteConfig:e({},t),typography:e({},c),shadows:e({},d),utilities:e({},r)};export{a as AVATAR,n as BREAKPOINT,o as BUTTON,s as COLORS,l as FONT_SIZES,d as SHADOWS,t as SITE_CONFIG,g as SPACING,i as TOKEN_COLORS,c as TYPOGRAPHY,r as UTILITIES,y as crukTheme,y as default};\n//# sourceMappingURL=cruk.js.map\n","import{__assign as a}from\"../../node_modules/tslib/tslib.es6.js\";import{crukTheme as t}from\"./cruk.js\";var s=a({},t.utilities),o=a(a({},t.siteConfig),{logoSrc:\"https://rcl.assets.cancerresearchuk.org/images/logos/rfl-sl.svg\"}),e=a(a({},t.avatar),{path:\"\".concat(o.assetPath,\"images/avatar/rfl/\")}),r=a({},t.button),i=a({},t.breakpoint),n=a({},t.tokenColors),g=a(a({},t.colors),{textHeaderDefault:n.navy_600,headerTaglineText:n.navy_600,progressBar:n.magenta_700,progressBarSecondary:n.navy_600}),l=a({},t.spacing),p=a({},t.shadows),c=a({},t.fontSizes),f=a(a({},t.typography),{fontWeightHeadings:600}),h={avatar:a({},e),breakpoint:a({},i),button:a({},r),tokenColors:a({},n),colors:a({},g),spacing:a({},l),fontSizes:a({},c),siteConfig:a({},o),typography:a({},f),shadows:a({},p),utilities:a({},s)};export{e as AVATAR,i as BREAKPOINT,r as BUTTON,g as COLORS,c as FONT_SIZES,p as SHADOWS,o as SITE_CONFIG,l as SPACING,n as TOKEN_COLORS,f as TYPOGRAPHY,s as UTILITIES,h as default,h as rflTheme};\n//# sourceMappingURL=rfl.js.map\n","import{__assign as e}from\"../../node_modules/tslib/tslib.es6.js\";import{crukTheme as r}from\"./cruk.js\";var a=e(e({},r.utilities),{useBackgroundStyleLinks:!0}),o=e(e({},r.siteConfig),{logoSrc:\"https://rcl.assets.cancerresearchuk.org/images/logos/su2c-160.png\",footerCopyText:\"Stand Up To Cancer and Stand Up To Cancer Brand Marks are registered trademarks of the Entertainment Industry Foundation. Cancer Research UK is a registered charity in England and Wales (1089464), Scotland(SC041666), the Isle of Man (1103) and Jersey (247). A company limited by guarantee. Registered company in England and Wales (4325234) and the Isle of Man (5713F). Registered address: 2 Redman Place, London, E20 1JQ. Donations will be made to Cancer Research UK in support of the Stand Up To Cancer campaign.\"}),n=e(e({},r.avatar),{path:\"\".concat(o.assetPath,\"images/avatar/su2c/\")}),t=e(e({},r.button),{borderRadius:\"1.5rem\",borderRadiusLarge:\"2rem\",textTransform:\"uppercase\"}),s=e({},r.breakpoint),c=e(e({},r.tokenColors),{su2cOrange5:\"#FF8E00\",su2cOrange3:\"#FFB04D\",su2cOrange2:\"#FFDAAD\",su2cOrange1:\"#FFF6EB\",su2cBlack:\"#231F20\",su2cGrey1:\"#555759\",su2cGrey2:\"#A5A5A9\",su2cRed:\"#EF4135\",su2cYellow:\"#FFC325\"}),i=e(e({},r.colors),{primary:c.su2cOrange5,secondary:c.su2cOrange5,tertiary:c.su2cBlack,textHeaderDefault:c.su2cBlack,textOnPrimary:c.su2cBlack,avatarBorder:c.su2cBlack,progressBar:c.su2cOrange5,progressBarSecondary:c.su2cRed,circularProgress:c.su2cOrange3,circularProgressSecondary:c.su2cRed,linkColor:c.su2cOrange5,linkColorHover:c.su2cRed,linkColorSecondary:c.su2cOrange5,linkColorSecondaryHover:c.su2cRed,backgroundLightColor:c.su2cOrange2,loaderColor1:c.su2cOrange5,loaderColor2:c.su2cRed,loaderColor3:c.su2cBlack,paginationText:c.su2cBlack,paginationBackground:c.su2cBlack,totaliserBubbleColor:c.su2cBlack,totaliserBubbleTextColor:c.white,totaliserBubbleTotalColor:c.white,collapseHeaderColor:c.su2cOrange5,check:c.su2cBlack,headerTaglineText:c.su2cOrange5,buttonPrimaryBackground:c.su2cOrange5,buttonPrimaryText:c.su2cBlack,buttonPrimaryBorder:c.su2cOrange5,buttonPrimaryBackgroundHover:c.su2cOrange3,buttonPrimaryTextHover:c.su2cBlack,buttonPrimaryBorderHover:c.su2cOrange3,buttonPrimaryDisabledBackground:c.grey_200,buttonPrimaryDisabledText:c.grey_600,buttonPrimaryDisabledBorder:c.grey_200,buttonSecondaryBackground:c.white,buttonSecondaryText:c.su2cOrange5,buttonSecondaryBorder:c.su2cOrange5,buttonSecondaryBackgroundHover:c.su2cOrange1,buttonSecondaryTextHover:c.su2cOrange5,buttonSecondaryBorderHover:c.su2cOrange5,buttonSecondaryDisabledBackground:c.white,buttonSecondaryDisabledText:c.grey_200,buttonSecondaryDisabledBorder:c.grey_200,buttonTertiaryText:c.su2cOrange5,buttonTertiaryTextHover:c.su2cOrange5,buttonTertiaryDisabledText:c.grey_200}),u=e({},r.spacing),l=e({},r.shadows),d=e({},r.fontSizes),g=e(e({},r.typography),{customFonts:[{family:\"itc_avant_garde_pro\",urlWoff:\"\".concat(o.assetPath,\"fonts/itc_-_itcavantgardepro-bold-webfont.woff\"),fontWeight:700}],fontFamilyHeadings:\"itc_avant_garde_pro,Arial,sans-serif\",fontFamilyLinks:\"itc_avant_garde_pro,Arial,sans-serif\",fontFamilyButtons:\"itc_avant_garde_pro,Arial,sans-serif\",fontFamilyBase:\"Arial, Calibri, nimbussansl, liberationsans, freesans, clean, sans-serif\",fontFamilyLabel:\"Arial, Calibri, nimbussansl, liberationsans, freesans, clean, sans-serif\",linkTextDecoration:\"none\",headerLineHeight:\"1.5em\",headerTextTransform:\"uppercase\",fontWeightBase:400,fontWeightLinks:700,fontWeightButtons:700,fontWeightLabels:600,LinkPrimaryTextDecoration:\"none\",LinkLetterSpacing:\"0px\"}),y={avatar:e({},n),breakpoint:e({},s),button:e({},t),tokenColors:e({},c),colors:e({},i),spacing:e({},u),fontSizes:e({},d),siteConfig:e({},o),typography:e({},g),shadows:e({},l),utilities:e({},a)};export{n as AVATAR,s as BREAKPOINT,t as BUTTON,i as COLORS,d as FONT_SIZES,l as SHADOWS,o as SITE_CONFIG,u as SPACING,c as TOKEN_COLORS,g as TYPOGRAPHY,a as UTILITIES,y as default,y as su2cTheme};\n//# sourceMappingURL=su2c.js.map\n","var o=function(o,r){return void 0===r.spacing[o]?o:r.spacing[o]},r=function(o,r){return void 0===r.colors[o]?o||\"currentColor\":r.colors[o]};export{r as themeColorOrString,o as themeSizeOrString};\n//# sourceMappingURL=themeUtils.js.map\n","\"use strict\";\n/**\n * Copyright 2019-2020, Optimizely\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar config_1 = require(\"./config\");\nfunction randomMilliseconds() {\n return Math.round(Math.random() * 1000);\n}\nvar BackoffController = /** @class */ (function () {\n function BackoffController() {\n this.errorCount = 0;\n }\n BackoffController.prototype.getDelay = function () {\n if (this.errorCount === 0) {\n return 0;\n }\n var baseWaitSeconds = config_1.BACKOFF_BASE_WAIT_SECONDS_BY_ERROR_COUNT[Math.min(config_1.BACKOFF_BASE_WAIT_SECONDS_BY_ERROR_COUNT.length - 1, this.errorCount)];\n return baseWaitSeconds * 1000 + randomMilliseconds();\n };\n BackoffController.prototype.countError = function () {\n if (this.errorCount < config_1.BACKOFF_BASE_WAIT_SECONDS_BY_ERROR_COUNT.length - 1) {\n this.errorCount++;\n }\n };\n BackoffController.prototype.reset = function () {\n this.errorCount = 0;\n };\n return BackoffController;\n}());\nexports.default = BackoffController;\n","\"use strict\";\n/**\n * Copyright 2019-2020, Optimizely\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar browserRequest_1 = require(\"./browserRequest\");\nvar httpPollingDatafileManager_1 = __importDefault(require(\"./httpPollingDatafileManager\"));\nvar BrowserDatafileManager = /** @class */ (function (_super) {\n __extends(BrowserDatafileManager, _super);\n function BrowserDatafileManager() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BrowserDatafileManager.prototype.makeGetRequest = function (reqUrl, headers) {\n return browserRequest_1.makeGetRequest(reqUrl, headers);\n };\n BrowserDatafileManager.prototype.getConfigDefaults = function () {\n return {\n autoUpdate: false,\n };\n };\n return BrowserDatafileManager;\n}(httpPollingDatafileManager_1.default));\nexports.default = BrowserDatafileManager;\n","\"use strict\";\n/**\n * Copyright 2019-2020, Optimizely\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar config_1 = require(\"./config\");\nvar js_sdk_logging_1 = require(\"@optimizely/js-sdk-logging\");\nvar logger = js_sdk_logging_1.getLogger('DatafileManager');\nvar GET_METHOD = 'GET';\nvar READY_STATE_DONE = 4;\nfunction parseHeadersFromXhr(req) {\n var allHeadersString = req.getAllResponseHeaders();\n if (allHeadersString === null) {\n return {};\n }\n var headerLines = allHeadersString.split('\\r\\n');\n var headers = {};\n headerLines.forEach(function (headerLine) {\n var separatorIndex = headerLine.indexOf(': ');\n if (separatorIndex > -1) {\n var headerName = headerLine.slice(0, separatorIndex);\n var headerValue = headerLine.slice(separatorIndex + 2);\n if (headerValue.length > 0) {\n headers[headerName] = headerValue;\n }\n }\n });\n return headers;\n}\nfunction setHeadersInXhr(headers, req) {\n Object.keys(headers).forEach(function (headerName) {\n var header = headers[headerName];\n req.setRequestHeader(headerName, header);\n });\n}\nfunction makeGetRequest(reqUrl, headers) {\n var req = new XMLHttpRequest();\n var responsePromise = new Promise(function (resolve, reject) {\n req.open(GET_METHOD, reqUrl, true);\n setHeadersInXhr(headers, req);\n req.onreadystatechange = function () {\n if (req.readyState === READY_STATE_DONE) {\n var statusCode = req.status;\n if (statusCode === 0) {\n reject(new Error('Request error'));\n return;\n }\n var headers_1 = parseHeadersFromXhr(req);\n var resp = {\n statusCode: req.status,\n body: req.responseText,\n headers: headers_1,\n };\n resolve(resp);\n }\n };\n req.timeout = config_1.REQUEST_TIMEOUT_MS;\n req.ontimeout = function () {\n logger.error('Request timed out');\n };\n req.send();\n });\n return {\n responsePromise: responsePromise,\n abort: function () {\n req.abort();\n },\n };\n}\nexports.makeGetRequest = makeGetRequest;\n","\"use strict\";\n/**\n * Copyright 2019-2020, Optimizely\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DEFAULT_UPDATE_INTERVAL = 5 * 60 * 1000; // 5 minutes\nexports.MIN_UPDATE_INTERVAL = 1000;\nexports.DEFAULT_URL_TEMPLATE = \"https://cdn.optimizely.com/datafiles/%s.json\";\nexports.DEFAULT_AUTHENTICATED_URL_TEMPLATE = \"https://config.optimizely.com/datafiles/auth/%s.json\";\nexports.BACKOFF_BASE_WAIT_SECONDS_BY_ERROR_COUNT = [0, 8, 16, 32, 64, 128, 256, 512];\nexports.REQUEST_TIMEOUT_MS = 60 * 1000; // 1 minute\n","\"use strict\";\n/**\n * Copyright 2019-2020, Optimizely\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EventEmitter = /** @class */ (function () {\n function EventEmitter() {\n this.listeners = {};\n this.listenerId = 1;\n }\n EventEmitter.prototype.on = function (eventName, listener) {\n var _this = this;\n if (!this.listeners[eventName]) {\n this.listeners[eventName] = {};\n }\n var currentListenerId = String(this.listenerId);\n this.listenerId++;\n this.listeners[eventName][currentListenerId] = listener;\n return function () {\n if (_this.listeners[eventName]) {\n delete _this.listeners[eventName][currentListenerId];\n }\n };\n };\n EventEmitter.prototype.emit = function (eventName, arg) {\n var listeners = this.listeners[eventName];\n if (listeners) {\n Object.keys(listeners).forEach(function (listenerId) {\n var listener = listeners[listenerId];\n listener(arg);\n });\n }\n };\n EventEmitter.prototype.removeAllListeners = function () {\n this.listeners = {};\n };\n return EventEmitter;\n}());\nexports.default = EventEmitter;\n// TODO: Create a typed event emitter for use in TS only (not JS)\n","\"use strict\";\n/**\n * Copyright 2019-2020, Optimizely\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar js_sdk_logging_1 = require(\"@optimizely/js-sdk-logging\");\nvar js_sdk_utils_1 = require(\"@optimizely/js-sdk-utils\");\nvar eventEmitter_1 = __importDefault(require(\"./eventEmitter\"));\nvar config_1 = require(\"./config\");\nvar backoffController_1 = __importDefault(require(\"./backoffController\"));\nvar logger = js_sdk_logging_1.getLogger('DatafileManager');\nvar UPDATE_EVT = 'update';\nfunction isValidUpdateInterval(updateInterval) {\n return updateInterval >= config_1.MIN_UPDATE_INTERVAL;\n}\nfunction isSuccessStatusCode(statusCode) {\n return statusCode >= 200 && statusCode < 400;\n}\nvar noOpKeyValueCache = {\n get: function () {\n return Promise.resolve('');\n },\n set: function () {\n return Promise.resolve();\n },\n contains: function () {\n return Promise.resolve(false);\n },\n remove: function () {\n return Promise.resolve();\n },\n};\nvar HttpPollingDatafileManager = /** @class */ (function () {\n function HttpPollingDatafileManager(config) {\n var _this = this;\n var configWithDefaultsApplied = __assign(__assign({}, this.getConfigDefaults()), config);\n var datafile = configWithDefaultsApplied.datafile, _a = configWithDefaultsApplied.autoUpdate, autoUpdate = _a === void 0 ? false : _a, sdkKey = configWithDefaultsApplied.sdkKey, _b = configWithDefaultsApplied.updateInterval, updateInterval = _b === void 0 ? config_1.DEFAULT_UPDATE_INTERVAL : _b, _c = configWithDefaultsApplied.urlTemplate, urlTemplate = _c === void 0 ? config_1.DEFAULT_URL_TEMPLATE : _c, _d = configWithDefaultsApplied.cache, cache = _d === void 0 ? noOpKeyValueCache : _d;\n this.cache = cache;\n this.cacheKey = 'opt-datafile-' + sdkKey;\n this.isReadyPromiseSettled = false;\n this.readyPromiseResolver = function () { };\n this.readyPromiseRejecter = function () { };\n this.readyPromise = new Promise(function (resolve, reject) {\n _this.readyPromiseResolver = resolve;\n _this.readyPromiseRejecter = reject;\n });\n if (datafile) {\n this.currentDatafile = datafile;\n if (!sdkKey) {\n this.resolveReadyPromise();\n }\n }\n else {\n this.currentDatafile = '';\n }\n this.isStarted = false;\n this.datafileUrl = js_sdk_utils_1.sprintf(urlTemplate, sdkKey);\n this.emitter = new eventEmitter_1.default();\n this.autoUpdate = autoUpdate;\n if (isValidUpdateInterval(updateInterval)) {\n this.updateInterval = updateInterval;\n }\n else {\n logger.warn('Invalid updateInterval %s, defaulting to %s', updateInterval, config_1.DEFAULT_UPDATE_INTERVAL);\n this.updateInterval = config_1.DEFAULT_UPDATE_INTERVAL;\n }\n this.currentTimeout = null;\n this.currentRequest = null;\n this.backoffController = new backoffController_1.default();\n this.syncOnCurrentRequestComplete = false;\n }\n HttpPollingDatafileManager.prototype.get = function () {\n return this.currentDatafile;\n };\n HttpPollingDatafileManager.prototype.start = function () {\n if (!this.isStarted) {\n logger.debug('Datafile manager started');\n this.isStarted = true;\n this.backoffController.reset();\n this.setDatafileFromCacheIfAvailable();\n this.syncDatafile();\n }\n };\n HttpPollingDatafileManager.prototype.stop = function () {\n logger.debug('Datafile manager stopped');\n this.isStarted = false;\n if (this.currentTimeout) {\n clearTimeout(this.currentTimeout);\n this.currentTimeout = null;\n }\n this.emitter.removeAllListeners();\n if (this.currentRequest) {\n this.currentRequest.abort();\n this.currentRequest = null;\n }\n return Promise.resolve();\n };\n HttpPollingDatafileManager.prototype.onReady = function () {\n return this.readyPromise;\n };\n HttpPollingDatafileManager.prototype.on = function (eventName, listener) {\n return this.emitter.on(eventName, listener);\n };\n HttpPollingDatafileManager.prototype.onRequestRejected = function (err) {\n if (!this.isStarted) {\n return;\n }\n this.backoffController.countError();\n if (err instanceof Error) {\n logger.error('Error fetching datafile: %s', err.message, err);\n }\n else if (typeof err === 'string') {\n logger.error('Error fetching datafile: %s', err);\n }\n else {\n logger.error('Error fetching datafile');\n }\n };\n HttpPollingDatafileManager.prototype.onRequestResolved = function (response) {\n if (!this.isStarted) {\n return;\n }\n if (typeof response.statusCode !== 'undefined' && isSuccessStatusCode(response.statusCode)) {\n this.backoffController.reset();\n }\n else {\n this.backoffController.countError();\n }\n this.trySavingLastModified(response.headers);\n var datafile = this.getNextDatafileFromResponse(response);\n if (datafile !== '') {\n logger.info('Updating datafile from response');\n this.currentDatafile = datafile;\n this.cache.set(this.cacheKey, datafile);\n if (!this.isReadyPromiseSettled) {\n this.resolveReadyPromise();\n }\n else {\n var datafileUpdate = {\n datafile: datafile,\n };\n this.emitter.emit(UPDATE_EVT, datafileUpdate);\n }\n }\n };\n HttpPollingDatafileManager.prototype.onRequestComplete = function () {\n if (!this.isStarted) {\n return;\n }\n this.currentRequest = null;\n if (!this.isReadyPromiseSettled && !this.autoUpdate) {\n // We will never resolve ready, so reject it\n this.rejectReadyPromise(new Error('Failed to become ready'));\n }\n if (this.autoUpdate && this.syncOnCurrentRequestComplete) {\n this.syncDatafile();\n }\n this.syncOnCurrentRequestComplete = false;\n };\n HttpPollingDatafileManager.prototype.syncDatafile = function () {\n var _this = this;\n var headers = {};\n if (this.lastResponseLastModified) {\n headers['if-modified-since'] = this.lastResponseLastModified;\n }\n logger.debug('Making datafile request to url %s with headers: %s', this.datafileUrl, function () { return JSON.stringify(headers); });\n this.currentRequest = this.makeGetRequest(this.datafileUrl, headers);\n var onRequestComplete = function () {\n _this.onRequestComplete();\n };\n var onRequestResolved = function (response) {\n _this.onRequestResolved(response);\n };\n var onRequestRejected = function (err) {\n _this.onRequestRejected(err);\n };\n this.currentRequest.responsePromise\n .then(onRequestResolved, onRequestRejected)\n .then(onRequestComplete, onRequestComplete);\n if (this.autoUpdate) {\n this.scheduleNextUpdate();\n }\n };\n HttpPollingDatafileManager.prototype.resolveReadyPromise = function () {\n this.readyPromiseResolver();\n this.isReadyPromiseSettled = true;\n };\n HttpPollingDatafileManager.prototype.rejectReadyPromise = function (err) {\n this.readyPromiseRejecter(err);\n this.isReadyPromiseSettled = true;\n };\n HttpPollingDatafileManager.prototype.scheduleNextUpdate = function () {\n var _this = this;\n var currentBackoffDelay = this.backoffController.getDelay();\n var nextUpdateDelay = Math.max(currentBackoffDelay, this.updateInterval);\n logger.debug('Scheduling sync in %s ms', nextUpdateDelay);\n this.currentTimeout = setTimeout(function () {\n if (_this.currentRequest) {\n _this.syncOnCurrentRequestComplete = true;\n }\n else {\n _this.syncDatafile();\n }\n }, nextUpdateDelay);\n };\n HttpPollingDatafileManager.prototype.getNextDatafileFromResponse = function (response) {\n logger.debug('Response status code: %s', response.statusCode);\n if (typeof response.statusCode === 'undefined') {\n return '';\n }\n if (response.statusCode === 304) {\n return '';\n }\n if (isSuccessStatusCode(response.statusCode)) {\n return response.body;\n }\n return '';\n };\n HttpPollingDatafileManager.prototype.trySavingLastModified = function (headers) {\n var lastModifiedHeader = headers['last-modified'] || headers['Last-Modified'];\n if (typeof lastModifiedHeader !== 'undefined') {\n this.lastResponseLastModified = lastModifiedHeader;\n logger.debug('Saved last modified header value from response: %s', this.lastResponseLastModified);\n }\n };\n HttpPollingDatafileManager.prototype.setDatafileFromCacheIfAvailable = function () {\n var _this = this;\n this.cache.get(this.cacheKey).then(function (datafile) {\n if (_this.isStarted && !_this.isReadyPromiseSettled && datafile !== '') {\n logger.debug('Using datafile from cache');\n _this.currentDatafile = datafile;\n _this.resolveReadyPromise();\n }\n });\n };\n return HttpPollingDatafileManager;\n}());\nexports.default = HttpPollingDatafileManager;\n","\"use strict\";\n/**\n * Copyright 2019-2020, Optimizely\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar browserDatafileManager_1 = require(\"./browserDatafileManager\");\nexports.HttpPollingDatafileManager = browserDatafileManager_1.default;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sendEventNotification = exports.getQueue = exports.validateAndGetBatchSize = exports.validateAndGetFlushInterval = exports.DEFAULT_BATCH_SIZE = exports.DEFAULT_FLUSH_INTERVAL = void 0;\nvar eventQueue_1 = require(\"./eventQueue\");\nvar js_sdk_logging_1 = require(\"@optimizely/js-sdk-logging\");\nvar js_sdk_utils_1 = require(\"@optimizely/js-sdk-utils\");\nexports.DEFAULT_FLUSH_INTERVAL = 30000; // Unit is ms - default flush interval is 30s\nexports.DEFAULT_BATCH_SIZE = 10;\nvar logger = js_sdk_logging_1.getLogger('EventProcessor');\nfunction validateAndGetFlushInterval(flushInterval) {\n if (flushInterval <= 0) {\n logger.warn(\"Invalid flushInterval \" + flushInterval + \", defaulting to \" + exports.DEFAULT_FLUSH_INTERVAL);\n flushInterval = exports.DEFAULT_FLUSH_INTERVAL;\n }\n return flushInterval;\n}\nexports.validateAndGetFlushInterval = validateAndGetFlushInterval;\nfunction validateAndGetBatchSize(batchSize) {\n batchSize = Math.floor(batchSize);\n if (batchSize < 1) {\n logger.warn(\"Invalid batchSize \" + batchSize + \", defaulting to \" + exports.DEFAULT_BATCH_SIZE);\n batchSize = exports.DEFAULT_BATCH_SIZE;\n }\n batchSize = Math.max(1, batchSize);\n return batchSize;\n}\nexports.validateAndGetBatchSize = validateAndGetBatchSize;\nfunction getQueue(batchSize, flushInterval, batchComparator, sink, closingSink) {\n var queue;\n if (batchSize > 1) {\n queue = new eventQueue_1.DefaultEventQueue({\n flushInterval: flushInterval,\n maxQueueSize: batchSize,\n batchComparator: batchComparator,\n sink: sink,\n closingSink: closingSink,\n });\n }\n else {\n queue = new eventQueue_1.SingleEventQueue({ sink: sink });\n }\n return queue;\n}\nexports.getQueue = getQueue;\nfunction sendEventNotification(notificationCenter, event) {\n if (notificationCenter) {\n notificationCenter.sendNotifications(js_sdk_utils_1.NOTIFICATION_TYPES.LOG_EVENT, event);\n }\n}\nexports.sendEventNotification = sendEventNotification;\n","\"use strict\";\n/**\n * Copyright 2019, 2023 Optimizely\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DefaultEventQueue = exports.SingleEventQueue = void 0;\nvar js_sdk_logging_1 = require(\"@optimizely/js-sdk-logging\");\nvar logger = js_sdk_logging_1.getLogger('EventProcessor');\nvar Timer = /** @class */ (function () {\n function Timer(_a) {\n var timeout = _a.timeout, callback = _a.callback;\n this.timeout = Math.max(timeout, 0);\n this.callback = callback;\n }\n Timer.prototype.start = function () {\n this.timeoutId = setTimeout(this.callback, this.timeout);\n };\n Timer.prototype.refresh = function () {\n this.stop();\n this.start();\n };\n Timer.prototype.stop = function () {\n if (this.timeoutId) {\n clearTimeout(this.timeoutId);\n }\n };\n return Timer;\n}());\nvar SingleEventQueue = /** @class */ (function () {\n function SingleEventQueue(_a) {\n var sink = _a.sink;\n this.sink = sink;\n }\n SingleEventQueue.prototype.start = function () {\n // no-op\n };\n SingleEventQueue.prototype.stop = function () {\n // no-op\n return Promise.resolve();\n };\n SingleEventQueue.prototype.enqueue = function (event) {\n this.sink([event]);\n };\n return SingleEventQueue;\n}());\nexports.SingleEventQueue = SingleEventQueue;\nvar DefaultEventQueue = /** @class */ (function () {\n function DefaultEventQueue(_a) {\n var flushInterval = _a.flushInterval, maxQueueSize = _a.maxQueueSize, sink = _a.sink, closingSink = _a.closingSink, batchComparator = _a.batchComparator;\n this.buffer = [];\n this.maxQueueSize = Math.max(maxQueueSize, 1);\n this.sink = sink;\n this.closingSink = closingSink;\n this.batchComparator = batchComparator;\n this.timer = new Timer({\n callback: this.flush.bind(this),\n timeout: flushInterval,\n });\n this.started = false;\n }\n DefaultEventQueue.prototype.start = function () {\n this.started = true;\n // dont start the timer until the first event is enqueued\n };\n DefaultEventQueue.prototype.stop = function () {\n this.started = false;\n var result = this.closingSink ? this.closingSink(this.buffer) : this.sink(this.buffer);\n this.buffer = [];\n this.timer.stop();\n return result;\n };\n DefaultEventQueue.prototype.enqueue = function (event) {\n if (!this.started) {\n logger.warn('Queue is stopped, not accepting event');\n return;\n }\n // If new event cannot be included into the current batch, flush so it can\n // be in its own new batch.\n var bufferedEvent = this.buffer[0];\n if (bufferedEvent && !this.batchComparator(bufferedEvent, event)) {\n this.flush();\n }\n // start the timer when the first event is put in\n if (this.buffer.length === 0) {\n this.timer.refresh();\n }\n this.buffer.push(event);\n if (this.buffer.length >= this.maxQueueSize) {\n this.flush();\n }\n };\n DefaultEventQueue.prototype.flush = function () {\n this.sink(this.buffer);\n this.buffer = [];\n this.timer.stop();\n };\n return DefaultEventQueue;\n}());\nexports.DefaultEventQueue = DefaultEventQueue;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.areEventContextsEqual = void 0;\nfunction areEventContextsEqual(eventA, eventB) {\n var contextA = eventA.context;\n var contextB = eventB.context;\n return (contextA.accountId === contextB.accountId &&\n contextA.projectId === contextB.projectId &&\n contextA.clientName === contextB.clientName &&\n contextA.clientVersion === contextB.clientVersion &&\n contextA.revision === contextB.revision &&\n contextA.anonymizeIP === contextB.anonymizeIP &&\n contextA.botFiltering === contextB.botFiltering);\n}\nexports.areEventContextsEqual = areEventContextsEqual;\n","\"use strict\";\n/**\n * Copyright 2019-2020, Optimizely\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./events\"), exports);\n__exportStar(require(\"./eventProcessor\"), exports);\n__exportStar(require(\"./eventDispatcher\"), exports);\n__exportStar(require(\"./managed\"), exports);\n__exportStar(require(\"./pendingEventsDispatcher\"), exports);\n__exportStar(require(\"./v1/buildEventV1\"), exports);\n__exportStar(require(\"./v1/v1EventProcessor\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LocalStoragePendingEventsDispatcher = exports.PendingEventsDispatcher = void 0;\n/**\n * Copyright 2019, Optimizely\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar js_sdk_logging_1 = require(\"@optimizely/js-sdk-logging\");\nvar pendingEventsStore_1 = require(\"./pendingEventsStore\");\nvar js_sdk_utils_1 = require(\"@optimizely/js-sdk-utils\");\nvar logger = js_sdk_logging_1.getLogger('EventProcessor');\nvar PendingEventsDispatcher = /** @class */ (function () {\n function PendingEventsDispatcher(_a) {\n var eventDispatcher = _a.eventDispatcher, store = _a.store;\n this.dispatcher = eventDispatcher;\n this.store = store;\n }\n PendingEventsDispatcher.prototype.dispatchEvent = function (request, callback) {\n this.send({\n uuid: js_sdk_utils_1.generateUUID(),\n timestamp: js_sdk_utils_1.getTimestamp(),\n request: request,\n }, callback);\n };\n PendingEventsDispatcher.prototype.sendPendingEvents = function () {\n var _this = this;\n var pendingEvents = this.store.values();\n logger.debug('Sending %s pending events from previous page', pendingEvents.length);\n pendingEvents.forEach(function (item) {\n try {\n _this.send(item, function () { });\n }\n catch (e) { }\n });\n };\n PendingEventsDispatcher.prototype.send = function (entry, callback) {\n var _this = this;\n this.store.set(entry.uuid, entry);\n this.dispatcher.dispatchEvent(entry.request, function (response) {\n _this.store.remove(entry.uuid);\n callback(response);\n });\n };\n return PendingEventsDispatcher;\n}());\nexports.PendingEventsDispatcher = PendingEventsDispatcher;\nvar LocalStoragePendingEventsDispatcher = /** @class */ (function (_super) {\n __extends(LocalStoragePendingEventsDispatcher, _super);\n function LocalStoragePendingEventsDispatcher(_a) {\n var eventDispatcher = _a.eventDispatcher;\n return _super.call(this, {\n eventDispatcher: eventDispatcher,\n store: new pendingEventsStore_1.LocalStorageStore({\n // TODO make this configurable\n maxValues: 100,\n key: 'fs_optly_pending_events',\n }),\n }) || this;\n }\n return LocalStoragePendingEventsDispatcher;\n}(PendingEventsDispatcher));\nexports.LocalStoragePendingEventsDispatcher = LocalStoragePendingEventsDispatcher;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LocalStorageStore = void 0;\n/**\n * Copyright 2019, Optimizely\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar js_sdk_utils_1 = require(\"@optimizely/js-sdk-utils\");\nvar js_sdk_logging_1 = require(\"@optimizely/js-sdk-logging\");\nvar logger = js_sdk_logging_1.getLogger('EventProcessor');\nvar LocalStorageStore = /** @class */ (function () {\n function LocalStorageStore(_a) {\n var key = _a.key, _b = _a.maxValues, maxValues = _b === void 0 ? 1000 : _b;\n this.LS_KEY = key;\n this.maxValues = maxValues;\n }\n LocalStorageStore.prototype.get = function (key) {\n return this.getMap()[key] || null;\n };\n LocalStorageStore.prototype.set = function (key, value) {\n var map = this.getMap();\n map[key] = value;\n this.replace(map);\n };\n LocalStorageStore.prototype.remove = function (key) {\n var map = this.getMap();\n delete map[key];\n this.replace(map);\n };\n LocalStorageStore.prototype.values = function () {\n return js_sdk_utils_1.objectValues(this.getMap());\n };\n LocalStorageStore.prototype.clear = function () {\n this.replace({});\n };\n LocalStorageStore.prototype.replace = function (map) {\n try {\n // This is a temporary fix to support React Native which does not have localStorage.\n window.localStorage && localStorage.setItem(this.LS_KEY, JSON.stringify(map));\n this.clean();\n }\n catch (e) {\n logger.error(e);\n }\n };\n LocalStorageStore.prototype.clean = function () {\n var map = this.getMap();\n var keys = Object.keys(map);\n var toRemove = keys.length - this.maxValues;\n if (toRemove < 1) {\n return;\n }\n var entries = keys.map(function (key) { return ({\n key: key,\n value: map[key]\n }); });\n entries.sort(function (a, b) { return a.value.timestamp - b.value.timestamp; });\n for (var i = 0; i < toRemove; i++) {\n delete map[entries[i].key];\n }\n this.replace(map);\n };\n LocalStorageStore.prototype.getMap = function () {\n try {\n // This is a temporary fix to support React Native which does not have localStorage.\n var data = window.localStorage && localStorage.getItem(this.LS_KEY);\n if (data) {\n return JSON.parse(data) || {};\n }\n }\n catch (e) {\n logger.error(e);\n }\n return {};\n };\n return LocalStorageStore;\n}());\nexports.LocalStorageStore = LocalStorageStore;\n","\"use strict\";\n/**\n * Copyright 2020, Optimizely\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * RequestTracker keeps track of in-flight requests for EventProcessor using\n * an internal counter. It exposes methods for adding a new request to be\n * tracked, and getting a Promise representing the completion of currently\n * tracked requests.\n */\nvar RequestTracker = /** @class */ (function () {\n function RequestTracker() {\n this.reqsInFlightCount = 0;\n this.reqsCompleteResolvers = [];\n }\n /**\n * Track the argument request (represented by a Promise). reqPromise will feed\n * into the state of Promises returned by onRequestsComplete.\n * @param {Promise} reqPromise\n */\n RequestTracker.prototype.trackRequest = function (reqPromise) {\n var _this = this;\n this.reqsInFlightCount++;\n var onReqComplete = function () {\n _this.reqsInFlightCount--;\n if (_this.reqsInFlightCount === 0) {\n _this.reqsCompleteResolvers.forEach(function (resolver) { return resolver(); });\n _this.reqsCompleteResolvers = [];\n }\n };\n reqPromise.then(onReqComplete, onReqComplete);\n };\n /**\n * Return a Promise that fulfills after all currently-tracked request promises\n * are resolved.\n * @return {Promise}\n */\n RequestTracker.prototype.onRequestsComplete = function () {\n var _this = this;\n return new Promise(function (resolve) {\n if (_this.reqsInFlightCount === 0) {\n resolve();\n }\n else {\n _this.reqsCompleteResolvers.push(resolve);\n }\n });\n };\n return RequestTracker;\n}());\nexports.default = RequestTracker;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.formatEvents = exports.buildConversionEventV1 = exports.buildImpressionEventV1 = exports.makeBatchedEventV1 = void 0;\nvar ACTIVATE_EVENT_KEY = 'campaign_activated';\nvar CUSTOM_ATTRIBUTE_FEATURE_TYPE = 'custom';\nvar BOT_FILTERING_KEY = '$opt_bot_filtering';\n/**\n * Given an array of batchable Decision or ConversionEvent events it returns\n * a single EventV1 with proper batching\n *\n * @param {ProcessableEvent[]} events\n * @returns {EventV1}\n */\nfunction makeBatchedEventV1(events) {\n var visitors = [];\n var data = events[0];\n events.forEach(function (event) {\n if (event.type === 'conversion' || event.type === 'impression') {\n var visitor = makeVisitor(event);\n if (event.type === 'impression') {\n visitor.snapshots.push(makeDecisionSnapshot(event));\n }\n else if (event.type === 'conversion') {\n visitor.snapshots.push(makeConversionSnapshot(event));\n }\n visitors.push(visitor);\n }\n });\n return {\n client_name: data.context.clientName,\n client_version: data.context.clientVersion,\n account_id: data.context.accountId,\n project_id: data.context.projectId,\n revision: data.context.revision,\n anonymize_ip: data.context.anonymizeIP,\n enrich_decisions: true,\n visitors: visitors,\n };\n}\nexports.makeBatchedEventV1 = makeBatchedEventV1;\nfunction makeConversionSnapshot(conversion) {\n var tags = __assign({}, conversion.tags);\n delete tags['revenue'];\n delete tags['value'];\n var event = {\n entity_id: conversion.event.id,\n key: conversion.event.key,\n timestamp: conversion.timestamp,\n uuid: conversion.uuid,\n };\n if (conversion.tags) {\n event.tags = conversion.tags;\n }\n if (conversion.value != null) {\n event.value = conversion.value;\n }\n if (conversion.revenue != null) {\n event.revenue = conversion.revenue;\n }\n return {\n events: [event],\n };\n}\nfunction makeDecisionSnapshot(event) {\n var _a, _b;\n var layer = event.layer, experiment = event.experiment, variation = event.variation, ruleKey = event.ruleKey, flagKey = event.flagKey, ruleType = event.ruleType, enabled = event.enabled;\n var layerId = layer ? layer.id : null;\n var experimentId = (_a = experiment === null || experiment === void 0 ? void 0 : experiment.id) !== null && _a !== void 0 ? _a : '';\n var variationId = (_b = variation === null || variation === void 0 ? void 0 : variation.id) !== null && _b !== void 0 ? _b : '';\n var variationKey = variation ? variation.key : '';\n return {\n decisions: [\n {\n campaign_id: layerId,\n experiment_id: experimentId,\n variation_id: variationId,\n metadata: {\n flag_key: flagKey,\n rule_key: ruleKey,\n rule_type: ruleType,\n variation_key: variationKey,\n enabled: enabled,\n },\n },\n ],\n events: [\n {\n entity_id: layerId,\n timestamp: event.timestamp,\n key: ACTIVATE_EVENT_KEY,\n uuid: event.uuid,\n },\n ],\n };\n}\nfunction makeVisitor(data) {\n var visitor = {\n snapshots: [],\n visitor_id: data.user.id,\n attributes: [],\n };\n data.user.attributes.forEach(function (attr) {\n visitor.attributes.push({\n entity_id: attr.entityId,\n key: attr.key,\n type: 'custom',\n value: attr.value,\n });\n });\n if (typeof data.context.botFiltering === 'boolean') {\n visitor.attributes.push({\n entity_id: BOT_FILTERING_KEY,\n key: BOT_FILTERING_KEY,\n type: CUSTOM_ATTRIBUTE_FEATURE_TYPE,\n value: data.context.botFiltering,\n });\n }\n return visitor;\n}\n/**\n * Event for usage with v1 logtier\n *\n * @export\n * @interface EventBuilderV1\n */\nfunction buildImpressionEventV1(data) {\n var visitor = makeVisitor(data);\n visitor.snapshots.push(makeDecisionSnapshot(data));\n return {\n client_name: data.context.clientName,\n client_version: data.context.clientVersion,\n account_id: data.context.accountId,\n project_id: data.context.projectId,\n revision: data.context.revision,\n anonymize_ip: data.context.anonymizeIP,\n enrich_decisions: true,\n visitors: [visitor],\n };\n}\nexports.buildImpressionEventV1 = buildImpressionEventV1;\nfunction buildConversionEventV1(data) {\n var visitor = makeVisitor(data);\n visitor.snapshots.push(makeConversionSnapshot(data));\n return {\n client_name: data.context.clientName,\n client_version: data.context.clientVersion,\n account_id: data.context.accountId,\n project_id: data.context.projectId,\n revision: data.context.revision,\n anonymize_ip: data.context.anonymizeIP,\n enrich_decisions: true,\n visitors: [visitor],\n };\n}\nexports.buildConversionEventV1 = buildConversionEventV1;\nfunction formatEvents(events) {\n return {\n url: 'https://logx.optimizely.com/v1/events',\n httpVerb: 'POST',\n params: makeBatchedEventV1(events),\n };\n}\nexports.formatEvents = formatEvents;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogTierV1EventProcessor = void 0;\n/**\n * Copyright 2019-2020, 2023 Optimizely\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar js_sdk_logging_1 = require(\"@optimizely/js-sdk-logging\");\nvar eventProcessor_1 = require(\"../eventProcessor\");\nvar requestTracker_1 = __importDefault(require(\"../requestTracker\"));\nvar events_1 = require(\"../events\");\nvar buildEventV1_1 = require(\"./buildEventV1\");\nvar logger = js_sdk_logging_1.getLogger('LogTierV1EventProcessor');\nvar LogTierV1EventProcessor = /** @class */ (function () {\n function LogTierV1EventProcessor(_a) {\n var dispatcher = _a.dispatcher, closingDispatcher = _a.closingDispatcher, _b = _a.flushInterval, flushInterval = _b === void 0 ? eventProcessor_1.DEFAULT_FLUSH_INTERVAL : _b, _c = _a.batchSize, batchSize = _c === void 0 ? eventProcessor_1.DEFAULT_BATCH_SIZE : _c, notificationCenter = _a.notificationCenter;\n this.dispatcher = dispatcher;\n this.closingDispatcher = closingDispatcher;\n this.notificationCenter = notificationCenter;\n this.requestTracker = new requestTracker_1.default();\n flushInterval = eventProcessor_1.validateAndGetFlushInterval(flushInterval);\n batchSize = eventProcessor_1.validateAndGetBatchSize(batchSize);\n this.queue = eventProcessor_1.getQueue(batchSize, flushInterval, events_1.areEventContextsEqual, this.drainQueue.bind(this, false), this.drainQueue.bind(this, true));\n }\n LogTierV1EventProcessor.prototype.drainQueue = function (useClosingDispatcher, buffer) {\n var _this = this;\n var reqPromise = new Promise(function (resolve) {\n logger.debug('draining queue with %s events', buffer.length);\n if (buffer.length === 0) {\n resolve();\n return;\n }\n var formattedEvent = buildEventV1_1.formatEvents(buffer);\n var dispatcher = useClosingDispatcher && _this.closingDispatcher\n ? _this.closingDispatcher : _this.dispatcher;\n dispatcher.dispatchEvent(formattedEvent, function () {\n resolve();\n });\n eventProcessor_1.sendEventNotification(_this.notificationCenter, formattedEvent);\n });\n this.requestTracker.trackRequest(reqPromise);\n return reqPromise;\n };\n LogTierV1EventProcessor.prototype.process = function (event) {\n this.queue.enqueue(event);\n };\n LogTierV1EventProcessor.prototype.stop = function () {\n // swallow - an error stopping this queue shouldn't prevent this from stopping\n try {\n this.queue.stop();\n return this.requestTracker.onRequestsComplete();\n }\n catch (e) {\n logger.error('Error stopping EventProcessor: \"%s\"', e.message, e);\n }\n return Promise.resolve();\n };\n LogTierV1EventProcessor.prototype.start = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this.queue.start();\n return [2 /*return*/];\n });\n });\n };\n return LogTierV1EventProcessor;\n}());\nexports.LogTierV1EventProcessor = LogTierV1EventProcessor;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * @export\n * @class NoopErrorHandler\n * @implements {ErrorHandler}\n */\nvar NoopErrorHandler = /** @class */ (function () {\n function NoopErrorHandler() {\n }\n /**\n * @param {Error} exception\n * @memberof NoopErrorHandler\n */\n NoopErrorHandler.prototype.handleError = function (exception) {\n // no-op\n return;\n };\n return NoopErrorHandler;\n}());\nexports.NoopErrorHandler = NoopErrorHandler;\nvar globalErrorHandler = new NoopErrorHandler();\n/**\n * @export\n * @param {ErrorHandler} handler\n */\nfunction setErrorHandler(handler) {\n globalErrorHandler = handler;\n}\nexports.setErrorHandler = setErrorHandler;\n/**\n * @export\n * @returns {ErrorHandler}\n */\nfunction getErrorHandler() {\n return globalErrorHandler;\n}\nexports.getErrorHandler = getErrorHandler;\n/**\n * @export\n */\nfunction resetErrorHandler() {\n globalErrorHandler = new NoopErrorHandler();\n}\nexports.resetErrorHandler = resetErrorHandler;\n","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Copyright 2019, Optimizely\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n__export(require(\"./errorHandler\"));\n__export(require(\"./models\"));\n__export(require(\"./logger\"));\n","\"use strict\";\nvar __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};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Copyright 2019, Optimizely\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar errorHandler_1 = require(\"./errorHandler\");\nvar js_sdk_utils_1 = require(\"@optimizely/js-sdk-utils\");\nvar models_1 = require(\"./models\");\nvar stringToLogLevel = {\n NOTSET: 0,\n DEBUG: 1,\n INFO: 2,\n WARNING: 3,\n ERROR: 4,\n};\nfunction coerceLogLevel(level) {\n if (typeof level !== 'string') {\n return level;\n }\n level = level.toUpperCase();\n if (level === 'WARN') {\n level = 'WARNING';\n }\n if (!stringToLogLevel[level]) {\n return level;\n }\n return stringToLogLevel[level];\n}\nvar DefaultLogManager = /** @class */ (function () {\n function DefaultLogManager() {\n this.defaultLoggerFacade = new OptimizelyLogger();\n this.loggers = {};\n }\n DefaultLogManager.prototype.getLogger = function (name) {\n if (!name) {\n return this.defaultLoggerFacade;\n }\n if (!this.loggers[name]) {\n this.loggers[name] = new OptimizelyLogger({ messagePrefix: name });\n }\n return this.loggers[name];\n };\n return DefaultLogManager;\n}());\nvar ConsoleLogHandler = /** @class */ (function () {\n /**\n * Creates an instance of ConsoleLogger.\n * @param {ConsoleLogHandlerConfig} config\n * @memberof ConsoleLogger\n */\n function ConsoleLogHandler(config) {\n if (config === void 0) { config = {}; }\n this.logLevel = models_1.LogLevel.NOTSET;\n if (config.logLevel !== undefined && js_sdk_utils_1.isValidEnum(models_1.LogLevel, config.logLevel)) {\n this.setLogLevel(config.logLevel);\n }\n this.logToConsole = config.logToConsole !== undefined ? !!config.logToConsole : true;\n this.prefix = config.prefix !== undefined ? config.prefix : '[OPTIMIZELY]';\n }\n /**\n * @param {LogLevel} level\n * @param {string} message\n * @memberof ConsoleLogger\n */\n ConsoleLogHandler.prototype.log = function (level, message) {\n if (!this.shouldLog(level) || !this.logToConsole) {\n return;\n }\n var logMessage = this.prefix + \" - \" + this.getLogLevelName(level) + \" \" + this.getTime() + \" \" + message;\n this.consoleLog(level, [logMessage]);\n };\n /**\n * @param {LogLevel} level\n * @memberof ConsoleLogger\n */\n ConsoleLogHandler.prototype.setLogLevel = function (level) {\n level = coerceLogLevel(level);\n if (!js_sdk_utils_1.isValidEnum(models_1.LogLevel, level) || level === undefined) {\n this.logLevel = models_1.LogLevel.ERROR;\n }\n else {\n this.logLevel = level;\n }\n };\n /**\n * @returns {string}\n * @memberof ConsoleLogger\n */\n ConsoleLogHandler.prototype.getTime = function () {\n return new Date().toISOString();\n };\n /**\n * @private\n * @param {LogLevel} targetLogLevel\n * @returns {boolean}\n * @memberof ConsoleLogger\n */\n ConsoleLogHandler.prototype.shouldLog = function (targetLogLevel) {\n return targetLogLevel >= this.logLevel;\n };\n /**\n * @private\n * @param {LogLevel} logLevel\n * @returns {string}\n * @memberof ConsoleLogger\n */\n ConsoleLogHandler.prototype.getLogLevelName = function (logLevel) {\n switch (logLevel) {\n case models_1.LogLevel.DEBUG:\n return 'DEBUG';\n case models_1.LogLevel.INFO:\n return 'INFO ';\n case models_1.LogLevel.WARNING:\n return 'WARN ';\n case models_1.LogLevel.ERROR:\n return 'ERROR';\n default:\n return 'NOTSET';\n }\n };\n /**\n * @private\n * @param {LogLevel} logLevel\n * @param {string[]} logArguments\n * @memberof ConsoleLogger\n */\n ConsoleLogHandler.prototype.consoleLog = function (logLevel, logArguments) {\n switch (logLevel) {\n case models_1.LogLevel.DEBUG:\n console.log.apply(console, logArguments);\n break;\n case models_1.LogLevel.INFO:\n console.info.apply(console, logArguments);\n break;\n case models_1.LogLevel.WARNING:\n console.warn.apply(console, logArguments);\n break;\n case models_1.LogLevel.ERROR:\n console.error.apply(console, logArguments);\n break;\n default:\n console.log.apply(console, logArguments);\n }\n };\n return ConsoleLogHandler;\n}());\nexports.ConsoleLogHandler = ConsoleLogHandler;\nvar globalLogLevel = models_1.LogLevel.NOTSET;\nvar globalLogHandler = null;\nvar OptimizelyLogger = /** @class */ (function () {\n function OptimizelyLogger(opts) {\n if (opts === void 0) { opts = {}; }\n this.messagePrefix = '';\n if (opts.messagePrefix) {\n this.messagePrefix = opts.messagePrefix;\n }\n }\n /**\n * @param {(LogLevel | LogInputObject)} levelOrObj\n * @param {string} [message]\n * @memberof OptimizelyLogger\n */\n OptimizelyLogger.prototype.log = function (level, message) {\n var splat = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n splat[_i - 2] = arguments[_i];\n }\n this.internalLog(coerceLogLevel(level), {\n message: message,\n splat: splat,\n });\n };\n OptimizelyLogger.prototype.info = function (message) {\n var splat = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n splat[_i - 1] = arguments[_i];\n }\n this.namedLog(models_1.LogLevel.INFO, message, splat);\n };\n OptimizelyLogger.prototype.debug = function (message) {\n var splat = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n splat[_i - 1] = arguments[_i];\n }\n this.namedLog(models_1.LogLevel.DEBUG, message, splat);\n };\n OptimizelyLogger.prototype.warn = function (message) {\n var splat = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n splat[_i - 1] = arguments[_i];\n }\n this.namedLog(models_1.LogLevel.WARNING, message, splat);\n };\n OptimizelyLogger.prototype.error = function (message) {\n var splat = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n splat[_i - 1] = arguments[_i];\n }\n this.namedLog(models_1.LogLevel.ERROR, message, splat);\n };\n OptimizelyLogger.prototype.format = function (data) {\n return \"\" + (this.messagePrefix ? this.messagePrefix + ': ' : '') + js_sdk_utils_1.sprintf.apply(void 0, __spreadArrays([data.message], data.splat));\n };\n OptimizelyLogger.prototype.internalLog = function (level, data) {\n if (!globalLogHandler) {\n return;\n }\n if (level < globalLogLevel) {\n return;\n }\n globalLogHandler.log(level, this.format(data));\n if (data.error && data.error instanceof Error) {\n errorHandler_1.getErrorHandler().handleError(data.error);\n }\n };\n OptimizelyLogger.prototype.namedLog = function (level, message, splat) {\n var error;\n if (message instanceof Error) {\n error = message;\n message = error.message;\n this.internalLog(level, {\n error: error,\n message: message,\n splat: splat,\n });\n return;\n }\n if (splat.length === 0) {\n this.internalLog(level, {\n message: message,\n splat: splat,\n });\n return;\n }\n var last = splat[splat.length - 1];\n if (last instanceof Error) {\n error = last;\n splat.splice(-1);\n }\n this.internalLog(level, { message: message, error: error, splat: splat });\n };\n return OptimizelyLogger;\n}());\nvar globalLogManager = new DefaultLogManager();\nfunction getLogger(name) {\n return globalLogManager.getLogger(name);\n}\nexports.getLogger = getLogger;\nfunction setLogHandler(logger) {\n globalLogHandler = logger;\n}\nexports.setLogHandler = setLogHandler;\nfunction setLogLevel(level) {\n level = coerceLogLevel(level);\n if (!js_sdk_utils_1.isValidEnum(models_1.LogLevel, level) || level === undefined) {\n globalLogLevel = models_1.LogLevel.ERROR;\n }\n else {\n globalLogLevel = level;\n }\n}\nexports.setLogLevel = setLogLevel;\nfunction getLogLevel() {\n return globalLogLevel;\n}\nexports.getLogLevel = getLogLevel;\n/**\n * Resets all global logger state to it's original\n */\nfunction resetLogger() {\n globalLogManager = new DefaultLogManager();\n globalLogLevel = models_1.LogLevel.NOTSET;\n}\nexports.resetLogger = resetLogger;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Copyright 2019, Optimizely\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar LogLevel;\n(function (LogLevel) {\n LogLevel[LogLevel[\"NOTSET\"] = 0] = \"NOTSET\";\n LogLevel[LogLevel[\"DEBUG\"] = 1] = \"DEBUG\";\n LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\n LogLevel[LogLevel[\"WARNING\"] = 3] = \"WARNING\";\n LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\n})(LogLevel = exports.LogLevel || (exports.LogLevel = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Copyright 2019, Optimizely\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar uuid_1 = require(\"uuid\");\nfunction generateUUID() {\n return uuid_1.v4();\n}\nexports.generateUUID = generateUUID;\nfunction getTimestamp() {\n return new Date().getTime();\n}\nexports.getTimestamp = getTimestamp;\n/**\n * Validates a value is a valid TypeScript enum\n *\n * @export\n * @param {object} enumToCheck\n * @param {*} value\n * @returns {boolean}\n */\nfunction isValidEnum(enumToCheck, value) {\n var found = false;\n var keys = Object.keys(enumToCheck);\n for (var index = 0; index < keys.length; index++) {\n if (value === enumToCheck[keys[index]]) {\n found = true;\n break;\n }\n }\n return found;\n}\nexports.isValidEnum = isValidEnum;\nfunction groupBy(arr, grouperFn) {\n var grouper = {};\n arr.forEach(function (item) {\n var key = grouperFn(item);\n grouper[key] = grouper[key] || [];\n grouper[key].push(item);\n });\n return objectValues(grouper);\n}\nexports.groupBy = groupBy;\nfunction objectValues(obj) {\n return Object.keys(obj).map(function (key) { return obj[key]; });\n}\nexports.objectValues = objectValues;\nfunction objectEntries(obj) {\n return Object.keys(obj).map(function (key) { return [key, obj[key]]; });\n}\nexports.objectEntries = objectEntries;\nfunction find(arr, cond) {\n var found;\n for (var _i = 0, arr_1 = arr; _i < arr_1.length; _i++) {\n var item = arr_1[_i];\n if (cond(item)) {\n found = item;\n break;\n }\n }\n return found;\n}\nexports.find = find;\nfunction keyBy(arr, keyByFn) {\n var map = {};\n arr.forEach(function (item) {\n var key = keyByFn(item);\n map[key] = item;\n });\n return map;\n}\nexports.keyBy = keyBy;\nfunction sprintf(format) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var i = 0;\n return format.replace(/%s/g, function () {\n var arg = args[i++];\n var type = typeof arg;\n if (type === 'function') {\n return arg();\n }\n else if (type === 'string') {\n return arg;\n }\n else {\n return String(arg);\n }\n });\n}\nexports.sprintf = sprintf;\n/*\n * Notification types for use with NotificationCenter\n * Format is EVENT: \n *\n * SDK consumers can use these to register callbacks with the notification center.\n *\n * @deprecated since 3.1.0\n * ACTIVATE: An impression event will be sent to Optimizely\n * Callbacks will receive an object argument with the following properties:\n * - experiment {Object}\n * - userId {string}\n * - attributes {Object|undefined}\n * - variation {Object}\n * - logEvent {Object}\n *\n * DECISION: A decision is made in the system. i.e. user activation,\n * feature access or feature-variable value retrieval\n * Callbacks will receive an object argument with the following properties:\n * - type {string}\n * - userId {string}\n * - attributes {Object|undefined}\n * - decisionInfo {Object|undefined}\n *\n * LOG_EVENT: A batch of events, which could contain impressions and/or conversions,\n * will be sent to Optimizely\n * Callbacks will receive an object argument with the following properties:\n * - url {string}\n * - httpVerb {string}\n * - params {Object}\n *\n * OPTIMIZELY_CONFIG_UPDATE: This Optimizely instance has been updated with a new\n * config\n *\n * TRACK: A conversion event will be sent to Optimizely\n * Callbacks will receive the an object argument with the following properties:\n * - eventKey {string}\n * - userId {string}\n * - attributes {Object|undefined}\n * - eventTags {Object|undefined}\n * - logEvent {Object}\n *\n */\nvar NOTIFICATION_TYPES;\n(function (NOTIFICATION_TYPES) {\n NOTIFICATION_TYPES[\"ACTIVATE\"] = \"ACTIVATE:experiment, user_id,attributes, variation, event\";\n NOTIFICATION_TYPES[\"DECISION\"] = \"DECISION:type, userId, attributes, decisionInfo\";\n NOTIFICATION_TYPES[\"LOG_EVENT\"] = \"LOG_EVENT:logEvent\";\n NOTIFICATION_TYPES[\"OPTIMIZELY_CONFIG_UPDATE\"] = \"OPTIMIZELY_CONFIG_UPDATE\";\n NOTIFICATION_TYPES[\"TRACK\"] = \"TRACK:event_key, user_id, attributes, event_tags, event\";\n})(NOTIFICATION_TYPES = exports.NOTIFICATION_TYPES || (exports.NOTIFICATION_TYPES = {}));\n","\"use strict\";function e(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}Object.defineProperty(exports,\"__esModule\",{value:!0});var t=require(\"@optimizely/js-sdk-logging\"),r=require(\"@optimizely/js-sdk-event-processor\"),i=e(require(\"uuid\")),n=e(require(\"murmurhash\")),o=require(\"@optimizely/js-sdk-datafile-manager\"),a=function(){return(a=Object.assign||function(e){for(var t,r=1,i=arguments.length;r0&&(t.forcedDecisionsMap=a({},this.forcedDecisionsMap)),t},e}(),Y=[\"and\",\"or\",\"not\"];function H(e,t){if(Array.isArray(e)){var r=e[0],i=e.slice(1);switch(\"string\"==typeof r&&-1===Y.indexOf(r)&&(r=\"or\",i=e),r){case\"and\":return function(e,t){var r=!1;if(Array.isArray(e)){for(var i=0;i0){var r=H(e[0],t);return null===r?null:!r}return null}(i,t);default:return function(e,t){var r=!1;if(Array.isArray(e)){for(var i=0;i-1)n=t.toUpperCase();else{var a=r[t]?r[t].name:t;i||\"NOT\"===n?(n=\"\"===n?\"OR\":n,i=\"\"===i?n+' \"'+r[t].name+'\"':i.concat(\" \"+n+' \"'+a+'\"')):i='\"'+a+'\"'}\"\"!==o&&(\"\"!==i||\"NOT\"===n?(n=\"\"===n?\"OR\":n,i=\"\"===i?n+\" \"+o:i.concat(\" \"+n+\" \"+o)):i=i.concat(o))}))}return i},e.getExperimentAudiences=function(t,r){return t.audienceConditions?e.getSerializedAudiences(t.audienceConditions,r.audiencesById):\"\"},e.mergeFeatureVariables=function(e,t,r,i,n){var o=(e[r]||[]).reduce((function(e,t){return e[t.key]={id:t.id,key:t.key,type:t.type,value:t.defaultValue},e}),{});return(i||[]).forEach((function(e){var r=t[e.id],i={id:e.id,key:r.key,type:r.type,value:n?e.value:r.defaultValue};o[r.key]=i})),o},e.getVariationsMap=function(t,r,i,n){return t.reduce((function(t,o){var a=e.mergeFeatureVariables(r,i,n,o.variables,o.featureEnabled);return t[o.key]={id:o.id,key:o.key,featureEnabled:o.featureEnabled,variablesMap:a},t}),{})},e.getVariableIdMap=function(e){return(e.featureFlags||[]).reduce((function(e,t){return t.variables.forEach((function(t){e[t.id]=t})),e}),{})},e.getDeliveryRules=function(t,r,i,n,o){return n.map((function(n){return{id:n.id,key:n.key,audiences:e.getExperimentAudiences(n,t),variationsMap:e.getVariationsMap(n.variations,r,o,i)}}))},e.getRolloutExperimentIds=function(e){var t=[];return(e||[]).forEach((function(e){e.experiments.forEach((function(e){t.push(e.id)}))})),t},e.getExperimentsMapById=function(t,r,i){var n=this.getRolloutExperimentIds(t.rollouts);return(t.experiments||[]).reduce((function(o,a){if(-1===n.indexOf(a.id)){var s=t.experimentFeatureMap[a.id],u=\"\";s&&s.length>0&&(u=s[0]);var l=e.getVariationsMap(a.variations,r,i,u.toString());o[a.id]={id:a.id,key:a.key,audiences:e.getExperimentAudiences(a,t),variationsMap:l}}return o}),{})},e.getExperimentsKeyMap=function(e){var t={};for(var r in e){var i=e[r];t[i.key]=i}return t},e.getFeaturesMap=function(t,r,i,n){var o={};return t.featureFlags.forEach((function(a){var s={},u=[];a.experimentIds.forEach((function(e){var t=i[e];t&&(s[t.key]=t),u.push(i[e])}));var l=(a.variables||[]).reduce((function(e,t){return e[t.key]={id:t.id,key:t.key,type:t.type,value:t.defaultValue},e}),{}),E=[],I=t.rolloutIdMap[a.rolloutId];I&&(E=e.getDeliveryRules(t,r,a.id,I.experiments,n)),o[a.key]={id:a.id,key:a.key,experimentRules:u,deliveryRules:E,experimentsMap:s,variablesMap:l}})),o},e}();var z=\"PROJECT_CONFIG\";var J=function(e,t){void 0===t&&(t=null);var r,i,n,o,a=((o=l({},r=e)).audiences=(r.audiences||[]).map((function(e){return l({},e)})),o.experiments=(r.experiments||[]).map((function(e){return l({},e)})),o.featureFlags=(r.featureFlags||[]).map((function(e){return l({},e)})),o.groups=(r.groups||[]).map((function(e){var t=l({},e);return t.experiments=(e.experiments||[]).map((function(e){return l({},e)})),t})),o.rollouts=(r.rollouts||[]).map((function(e){var t=l({},e);return t.experiments=(e.experiments||[]).map((function(e){return l({},e)})),t})),o.environmentKey=null!==(i=r.environmentKey)&&void 0!==i?i:\"\",o.sdkKey=null!==(n=r.sdkKey)&&void 0!==n?n:\"\",o);return a.__datafileStr=null===t?JSON.stringify(e):t,(a.audiences||[]).forEach((function(e){e.conditions=JSON.parse(e.conditions)})),a.audiencesById=E(a.audiences,\"id\"),l(a.audiencesById,E(a.typedAudiences,\"id\")),a.attributeKeyMap=E(a.attributes,\"key\"),a.eventKeyMap=E(a.events,\"key\"),a.groupIdMap=E(a.groups,\"id\"),Object.keys(a.groupIdMap||{}).forEach((function(e){(a.groupIdMap[e].experiments||[]).forEach((function(t){a.experiments.push(l(t,{groupId:e}))}))})),a.rolloutIdMap=E(a.rollouts||[],\"id\"),I(a.rolloutIdMap||{}).forEach((function(e){(e.experiments||[]).forEach((function(e){a.experiments.push(e),e.variationKeyMap=E(e.variations,\"key\")}))})),a.experimentKeyMap=E(a.experiments,\"key\"),a.experimentIdMap=E(a.experiments,\"id\"),a.variationIdMap={},a.variationVariableUsageMap={},(a.experiments||[]).forEach((function(e){e.variationKeyMap=E(e.variations,\"key\"),l(a.variationIdMap,E(e.variations,\"id\")),I(e.variationKeyMap||{}).forEach((function(e){e.variables&&(a.variationVariableUsageMap[e.id]=E(e.variables,\"id\"))}))})),a.experimentFeatureMap={},a.featureKeyMap=E(a.featureFlags||[],\"key\"),I(a.featureKeyMap||{}).forEach((function(e){e.variables.forEach((function(e){e.type===y.STRING&&e.subType===y.JSON&&(e.type=y.JSON,delete e.subType)})),e.variableKeyMap=E(e.variables,\"key\"),(e.experimentIds||[]).forEach((function(t){a.experimentFeatureMap[t]?a.experimentFeatureMap[t].push(e.id):a.experimentFeatureMap[t]=[e.id]}))})),a.flagRulesMap={},(a.featureFlags||[]).forEach((function(e){var t=[];e.experimentIds.forEach((function(e){var r=a.experimentIdMap[e];r&&t.push(r)}));var r=a.rolloutIdMap[e.rolloutId];r&&t.push.apply(t,r.experiments),a.flagRulesMap[e.key]=t})),a.flagVariationsMap={},c(a.flagRulesMap||{}).forEach((function(e){var t=e[0],r=e[1],i=[];r.forEach((function(e){e.variations.forEach((function(e){_(i,(function(t){return t.id===e.id}))||i.push(e)}))})),a.flagVariationsMap[t]=i})),a},Z=function(e,t){var r=e.experimentIdMap[t];if(!r)throw new Error(f(N.INVALID_EXPERIMENT_ID,z,t));return r.layerId},W=function(e,t,r){var i=e.attributeKeyMap[t],n=0===t.indexOf(\"$opt_\");return i?(n&&r.log(O.WARNING,\"Attribute %s unexpectedly has reserved prefix %s; using attribute ID instead of reserved attribute name.\",t,\"$opt_\"),i.id):n?t:(r.log(O.DEBUG,N.UNRECOGNIZED_ATTRIBUTE,z,t),null)},q=function(e,t){var r=e.eventKeyMap[t];return r?r.id:null},$=function(e,t){var r=e.experimentKeyMap[t];if(!r)throw new Error(f(N.INVALID_EXPERIMENT_KEY,z,t));return r.status},Q=function(e,t){return e.variationIdMap.hasOwnProperty(t)?e.variationIdMap[t].key:null},ee=function(e,t){if(e.experimentKeyMap.hasOwnProperty(t)){var r=e.experimentKeyMap[t];if(r)return r}throw new Error(f(N.EXPERIMENT_KEY_NOT_IN_DATAFILE,z,t))},te=function(e,t){var r=e.experimentIdMap[t];if(!r)throw new Error(f(N.INVALID_EXPERIMENT_ID,z,t));return r.trafficAllocation},re=function(e,t,r){if(e.experimentIdMap.hasOwnProperty(t)){var i=e.experimentIdMap[t];if(i)return i}return r.log(O.ERROR,N.INVALID_EXPERIMENT_ID,z,t),null},ie=function(e,t,r){if(!e)return null;var i=_(e.flagVariationsMap[t],(function(e){return e.key===r}));return i||null},ne=function(e,t,r){if(e.featureKeyMap.hasOwnProperty(t)){var i=e.featureKeyMap[t];if(i)return i}return r.log(O.ERROR,N.FEATURE_NOT_IN_DATAFILE,z,t),null},oe=function(e){return e.__datafileStr},ae=function(e){var t;try{t=C(e.datafile)}catch(e){return{configObj:null,error:e}}if(e.jsonSchemaValidator)try{e.jsonSchemaValidator.validate(t),e.logger.log(O.INFO,R.VALID_DATAFILE,z)}catch(e){return{configObj:null,error:e}}else e.logger.log(O.INFO,R.SKIPPING_JSON_VALIDATION,z);var r=[t];return\"string\"==typeof e.datafile&&r.push(e.datafile),{configObj:J.apply(void 0,r),error:null}},se=function(e){return!!e.sendFlagDecisions},ue=t.getLogger();function le(e,t){return e instanceof Error?e.message:t||\"Unknown error\"}var Ee=function(){function e(e){this.updateListeners=[],this.configObj=null,this.optimizelyConfigObj=null,this.datafileManager=null;try{if(this.jsonSchemaValidator=e.jsonSchemaValidator,!e.datafile&&!e.sdkKey){var t=new Error(f(N.DATAFILE_AND_SDK_KEY_MISSING,\"PROJECT_CONFIG_MANAGER\"));return this.readyPromise=Promise.resolve({success:!1,reason:le(t)}),void ue.error(t)}var r=null;e.datafile&&(r=this.handleNewDatafile(e.datafile)),e.sdkKey&&e.datafileManager?(this.datafileManager=e.datafileManager,this.datafileManager.start(),this.readyPromise=this.datafileManager.onReady().then(this.onDatafileManagerReadyFulfill.bind(this),this.onDatafileManagerReadyReject.bind(this)),this.datafileManager.on(\"update\",this.onDatafileManagerUpdate.bind(this))):this.configObj?this.readyPromise=Promise.resolve({success:!0}):this.readyPromise=Promise.resolve({success:!1,reason:le(r,\"Invalid datafile\")})}catch(e){ue.error(e),this.readyPromise=Promise.resolve({success:!1,reason:le(e,\"Error in initialize\")})}}return e.prototype.onDatafileManagerReadyFulfill=function(){if(this.datafileManager){var e=this.handleNewDatafile(this.datafileManager.get());return e?{success:!1,reason:le(e)}:{success:!0}}return{success:!1,reason:le(null,\"Datafile manager is not provided\")}},e.prototype.onDatafileManagerReadyReject=function(e){return{success:!1,reason:le(e,\"Failed to become ready\")}},e.prototype.onDatafileManagerUpdate=function(){this.datafileManager&&this.handleNewDatafile(this.datafileManager.get())},e.prototype.handleNewDatafile=function(e){var t=ae({datafile:e,jsonSchemaValidator:this.jsonSchemaValidator,logger:ue}),r=t.configObj,i=t.error;if(i)ue.error(i);else{var n=this.configObj?this.configObj.revision:\"null\";r&&n!==r.revision&&(this.configObj=r,this.optimizelyConfigObj=null,this.updateListeners.forEach((function(e){return e(r)})))}return i},e.prototype.getConfig=function(){return this.configObj},e.prototype.getOptimizelyConfig=function(){var e,t;return!this.optimizelyConfigObj&&this.configObj&&(this.optimizelyConfigObj=(e=this.configObj,t=oe(this.configObj),new X(e,t))),this.optimizelyConfigObj},e.prototype.onReady=function(){return this.readyPromise},e.prototype.onUpdate=function(e){var t=this;return this.updateListeners.push(e),function(){var r=t.updateListeners.indexOf(e);r>-1&&t.updateListeners.splice(r,1)}},e.prototype.stop=function(){this.datafileManager&&this.datafileManager.stop(),this.updateListeners=[]},e}();var Ie=Math.pow(2,32),ce=function(e){var t=[],r=e.experimentIdMap[e.experimentId].groupId;if(r){var i=e.groupIdMap[r];if(!i)throw new Error(f(N.INVALID_GROUP_ID,\"BUCKETER\",r));if(\"random\"===i.policy){var n=_e(i,e.bucketingId,e.userId,e.logger);if(null===n)return e.logger.log(O.INFO,R.USER_NOT_IN_ANY_EXPERIMENT,\"BUCKETER\",e.userId,r),t.push([R.USER_NOT_IN_ANY_EXPERIMENT,\"BUCKETER\",e.userId,r]),{result:null,reasons:t};if(n!==e.experimentId)return e.logger.log(O.INFO,R.USER_NOT_BUCKETED_INTO_EXPERIMENT_IN_GROUP,\"BUCKETER\",e.userId,e.experimentKey,r),t.push([R.USER_NOT_BUCKETED_INTO_EXPERIMENT_IN_GROUP,\"BUCKETER\",e.userId,e.experimentKey,r]),{result:null,reasons:t};e.logger.log(O.INFO,R.USER_BUCKETED_INTO_EXPERIMENT_IN_GROUP,\"BUCKETER\",e.userId,e.experimentKey,r),t.push([R.USER_BUCKETED_INTO_EXPERIMENT_IN_GROUP,\"BUCKETER\",e.userId,e.experimentKey,r])}}var o=\"\"+e.bucketingId+e.experimentId,a=fe(o);e.logger.log(O.DEBUG,R.USER_ASSIGNED_TO_EXPERIMENT_BUCKET,\"BUCKETER\",a,e.userId),t.push([R.USER_ASSIGNED_TO_EXPERIMENT_BUCKET,\"BUCKETER\",a,e.userId]);var s=de(a,e.trafficAllocationConfig);return null===s||e.variationIdMap[s]?{result:s,reasons:t}:(s&&(e.logger.log(O.WARNING,R.INVALID_VARIATION_ID,\"BUCKETER\"),t.push([R.INVALID_VARIATION_ID,\"BUCKETER\"])),{result:null,reasons:t})},_e=function(e,t,r,i){var n=\"\"+t+e.id,o=fe(n);i.log(O.DEBUG,R.USER_ASSIGNED_TO_EXPERIMENT_BUCKET,\"BUCKETER\",o,r);var a=e.trafficAllocation;return de(o,a)},de=function(e,t){for(var r=0;r2)return ge.warn(R.UNKNOWN_MATCH_TYPE,\"SEMANTIC VERSION\",e),null;var n=t.split(\".\");if(n.length!=i+1)return ge.warn(R.UNKNOWN_MATCH_TYPE,\"SEMANTIC VERSION\",e),null;for(var o=0,a=n;os)return 1;if(ai[o])return!Oe(e)&&Oe(t)?-1:1}}return Oe(t)&&!Oe(e)?-1:0}(o,i)}Ae.exact=Ue,Ae.exists=function(e,t){var r=t[e.name];return null!=r},Ae.gt=function(e,t){var r=t[e.name],i=e.value;if(!De(e,t)||null===i)return null;return r>i},Ae.ge=function(e,t){var r=t[e.name],i=e.value;if(!De(e,t)||null===i)return null;return r>=i},Ae.lt=function(e,t){var r=t[e.name],i=e.value;if(!De(e,t)||null===i)return null;return r0},Ae.semver_ge=function(e,t){var r=Se(e,t);if(null===r)return null;return r>=0},Ae.semver_lt=function(e,t){var r=Se(e,t);if(null===r)return null;return r<0},Ae.semver_le=function(e,t){var r=Se(e,t);if(null===r)return null;return r<=0};var Le=Object.freeze({__proto__:null,evaluate:function(e,t){var r=e.match;if(void 0!==r&&-1===he.indexOf(r))return Te.warn(R.UNKNOWN_MATCH_TYPE,ve,JSON.stringify(e)),null;var i=e.name;return t.hasOwnProperty(i)||\"exists\"==r?(r&&Ae[r]||Ue)(e,t):(Te.debug(R.MISSING_ATTRIBUTE_VALUE,ve,JSON.stringify(e),i),null)}}),me=t.getLogger(),Ve=function(){function e(e){this.typeToEvaluatorMap=p.assign({},e,{custom_attribute:Le})}return e.prototype.evaluate=function(e,t,r){var i=this;if(void 0===r&&(r={}),!e||0===e.length)return!0;return!!H(e,(function(e){var n=t[e];if(n){me.log(O.DEBUG,R.EVALUATING_AUDIENCE,\"AUDIENCE_EVALUATOR\",e,JSON.stringify(n.conditions));var o=H(n.conditions,i.evaluateConditionWithUserAttributes.bind(i,r)),a=null===o?\"UNKNOWN\":o.toString().toUpperCase();return me.log(O.DEBUG,R.AUDIENCE_EVALUATION_RESULT,\"AUDIENCE_EVALUATOR\",e,a),o}return null}))},e.prototype.evaluateConditionWithUserAttributes=function(e,t){var r=this.typeToEvaluatorMap[t.type];if(!r)return me.log(O.WARNING,R.UNKNOWN_CONDITION_TYPE,\"AUDIENCE_EVALUATOR\",JSON.stringify(t)),null;try{return r.evaluate(t,e)}catch(e){me.log(O.ERROR,N.CONDITION_EVALUATOR_ERROR,\"AUDIENCE_EVALUATOR\",t.type,e.message)}return null},e}();function Ce(e){return\"string\"==typeof e&&\"\"!==e}var Fe=\"DECISION_SERVICE\",Me=function(){function e(e){var t;this.audienceEvaluator=(t=e.UNSTABLE_conditionEvaluators,new Ve(t)),this.forcedVariationMap={},this.logger=e.logger,this.userProfileService=e.userProfileService||null}return e.prototype.getVariation=function(e,t,r,i){void 0===i&&(i={});var n=r.getUserId(),o=r.getAttributes(),a=this.getBucketingId(n,o),s=[],u=t.key;if(!this.checkIfExperimentIsActive(e,u))return this.logger.log(O.INFO,R.EXPERIMENT_NOT_RUNNING,Fe,u),s.push([R.EXPERIMENT_NOT_RUNNING,Fe,u]),{result:null,reasons:s};var l=this.getForcedVariation(e,u,n);s.push.apply(s,l.reasons);var E=l.result;if(E)return{result:E,reasons:s};var I=this.getWhitelistedVariation(t,n);s.push.apply(s,I.reasons);var c=I.result;if(c)return{result:c.key,reasons:s};var _=i[exports.OptimizelyDecideOption.IGNORE_USER_PROFILE_SERVICE],d=this.resolveExperimentBucketMap(n,o);if(!_&&(c=this.getStoredVariation(e,t,n,d)))return this.logger.log(O.INFO,R.RETURNING_STORED_VARIATION,Fe,c.key,u,n),s.push([R.RETURNING_STORED_VARIATION,Fe,c.key,u,n]),{result:c.key,reasons:s};var f=this.checkIfUserIsInAudience(e,t,A.EXPERIMENT,o,\"\");if(s.push.apply(s,f.reasons),!f.result)return this.logger.log(O.INFO,R.USER_NOT_IN_EXPERIMENT,Fe,n,u),s.push([R.USER_NOT_IN_EXPERIMENT,Fe,n,u]),{result:null,reasons:s};var g=this.buildBucketerParams(e,t,a,n),p=ce(g);s.push.apply(s,p.reasons);var N=p.result;return N&&(c=e.variationIdMap[N]),c?(this.logger.log(O.INFO,R.USER_HAS_VARIATION,Fe,n,c.key,u),s.push([R.USER_HAS_VARIATION,Fe,n,c.key,u]),_||this.saveUserProfile(t,c,n,d),{result:c.key,reasons:s}):(this.logger.log(O.DEBUG,R.USER_HAS_NO_VARIATION,Fe,n,u),s.push([R.USER_HAS_NO_VARIATION,Fe,n,u]),{result:null,reasons:s})},e.prototype.resolveExperimentBucketMap=function(e,t){t=t||{};var r=this.getUserProfile(e)||{},i=t[v.STICKY_BUCKETING_KEY];return p.assign({},r.experiment_bucket_map,i)},e.prototype.checkIfExperimentIsActive=function(e,t){return function(e,t){return\"Running\"===$(e,t)}(e,t)},e.prototype.getWhitelistedVariation=function(e,t){var r=[];if(e.forcedVariations&&e.forcedVariations.hasOwnProperty(t)){var i=e.forcedVariations[t];return e.variationKeyMap.hasOwnProperty(i)?(this.logger.log(O.INFO,R.USER_FORCED_IN_VARIATION,Fe,t,i),r.push([R.USER_FORCED_IN_VARIATION,Fe,t,i]),{result:e.variationKeyMap[i],reasons:r}):(this.logger.log(O.ERROR,R.FORCED_BUCKETING_FAILED,Fe,i,t),r.push([R.FORCED_BUCKETING_FAILED,Fe,i,t]),{result:null,reasons:r})}return{result:null,reasons:r}},e.prototype.checkIfUserIsInAudience=function(e,t,r,i,n){var o=[],a=function(e,t){var r=e.experimentIdMap[t];if(!r)throw new Error(f(N.INVALID_EXPERIMENT_ID,z,t));return r.audienceConditions||r.audienceIds}(e,t.id),s=e.audiencesById;this.logger.log(O.DEBUG,R.EVALUATING_AUDIENCES_COMBINED,Fe,r,n||t.key,JSON.stringify(a)),o.push([R.EVALUATING_AUDIENCES_COMBINED,Fe,r,n||t.key,JSON.stringify(a)]);var u=this.audienceEvaluator.evaluate(a,s,i);return this.logger.log(O.INFO,R.AUDIENCE_EVALUATION_RESULT_COMBINED,Fe,r,n||t.key,u.toString().toUpperCase()),o.push([R.AUDIENCE_EVALUATION_RESULT_COMBINED,Fe,r,n||t.key,u.toString().toUpperCase()]),{result:u,reasons:o}},e.prototype.buildBucketerParams=function(e,t,r,i){return{bucketingId:r,experimentId:t.id,experimentKey:t.key,experimentIdMap:e.experimentIdMap,experimentKeyMap:e.experimentKeyMap,groupIdMap:e.groupIdMap,logger:this.logger,trafficAllocationConfig:te(e,t.id),userId:i,variationIdMap:e.variationIdMap}},e.prototype.getStoredVariation=function(e,t,r,i){if(i.hasOwnProperty(t.id)){var n=i[t.id],o=n.variation_id;if(e.variationIdMap.hasOwnProperty(o))return e.variationIdMap[n.variation_id];this.logger.log(O.INFO,R.SAVED_VARIATION_NOT_FOUND,Fe,r,o,t.key)}return null},e.prototype.getUserProfile=function(e){var t={user_id:e,experiment_bucket_map:{}};if(!this.userProfileService)return t;try{return this.userProfileService.lookup(e)}catch(t){this.logger.log(O.ERROR,N.USER_PROFILE_LOOKUP_ERROR,Fe,e,t.message)}return null},e.prototype.saveUserProfile=function(e,t,r,i){if(this.userProfileService)try{i[e.id]={variation_id:t.id},this.userProfileService.save({user_id:r,experiment_bucket_map:i}),this.logger.log(O.INFO,R.SAVED_VARIATION,Fe,t.key,e.key,r)}catch(e){this.logger.log(O.ERROR,N.USER_PROFILE_SAVE_ERROR,Fe,r,e.message)}},e.prototype.getVariationForFeature=function(e,t,r,i){void 0===i&&(i={});var n=[],o=this.getVariationForFeatureExperiment(e,t,r,i);n.push.apply(n,o.reasons);var a=o.result;if(null!==a.variation)return{result:a,reasons:n};var s=this.getVariationForRollout(e,t,r);n.push.apply(n,s.reasons);var u=s.result,l=r.getUserId();return u.variation?(this.logger.log(O.DEBUG,R.USER_IN_ROLLOUT,Fe,l,t.key),n.push([R.USER_IN_ROLLOUT,Fe,l,t.key]),{result:u,reasons:n}):(this.logger.log(O.DEBUG,R.USER_NOT_IN_ROLLOUT,Fe,l,t.key),n.push([R.USER_NOT_IN_ROLLOUT,Fe,l,t.key]),{result:u,reasons:n})},e.prototype.getVariationForFeatureExperiment=function(e,t,r,i){void 0===i&&(i={});var n,o,a=[],s=null;if(t.experimentIds.length>0)for(o=0;o=1},$e=function(e){return!(\"number\"!=typeof e||!p.isSafeInteger(e))&&e>0},Qe=function(){function e(e){var t=this;this.logger=e.logger,this.errorHandler=e.errorHandler,this.notificationListeners={},I(g).forEach((function(e){t.notificationListeners[e]=[]})),this.listenerId=1}return e.prototype.addNotificationListener=function(e,t){try{if(!(I(g).indexOf(e)>-1))return-1;this.notificationListeners[e]||(this.notificationListeners[e]=[]);var r=!1;if((this.notificationListeners[e]||[]).forEach((function(e){e.callback!==t||(r=!0)})),r)return-1;this.notificationListeners[e].push({id:this.listenerId,callback:t});var i=this.listenerId;return this.listenerId+=1,i}catch(e){return this.logger.log(O.ERROR,e.message),this.errorHandler.handleError(e),-1}},e.prototype.removeNotificationListener=function(e){var t=this;try{var r,i;if(Object.keys(this.notificationListeners).some((function(n){return(t.notificationListeners[n]||[]).every((function(t,o){return t.id!==e||(r=o,i=n,!1)})),void 0!==r&&void 0!==i})),void 0!==r&&void 0!==i)return this.notificationListeners[i].splice(r,1),!0}catch(e){this.logger.log(O.ERROR,e.message),this.errorHandler.handleError(e)}return!1},e.prototype.clearAllNotificationListeners=function(){var e=this;try{I(g).forEach((function(t){e.notificationListeners[t]=[]}))}catch(e){this.logger.log(O.ERROR,e.message),this.errorHandler.handleError(e)}},e.prototype.clearNotificationListeners=function(e){try{this.notificationListeners[e]=[]}catch(e){this.logger.log(O.ERROR,e.message),this.errorHandler.handleError(e)}},e.prototype.sendNotifications=function(e,t){var r=this;try{(this.notificationListeners[e]||[]).forEach((function(i){var n=i.callback;try{n(t)}catch(t){r.logger.log(O.ERROR,R.NOTIFICATION_LISTENER_EXCEPTION,\"NOTIFICATION_CENTER\",e,t.message)}}))}catch(e){this.logger.log(O.ERROR,e.message),this.errorHandler.handleError(e)}},e}();var et={createEventProcessor:function(){for(var e=[],t=0;t 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nvar K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n var arr = new Uint8Array(1)\n var proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n var buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n var valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n var b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(\n value[Symbol.toPrimitive]('string'), encodingOrOffset, length\n )\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n var length = byteLength(string, encoding) | 0\n var buf = createBuffer(length)\n\n var actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n var buf = createBuffer(length)\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n var copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n var buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n var buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n Buffer.from(buf).copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n var len = string.length\n var mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n var strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (var i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n var len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nvar hexSliceLookupTable = (function () {\n var alphabet = '0123456789abcdef'\n var table = new Array(256)\n for (var i = 0; i < 16; ++i) {\n var i16 = i * 16\n for (var j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","(function(){\n var _global = this;\n\n /**\n * JS Implementation of MurmurHash2\n *\n * @author Gary Court\n * @see http://github.com/garycourt/murmurhash-js\n * @author Austin Appleby\n * @see http://sites.google.com/site/murmurhash/\n *\n * @param {string} str ASCII only\n * @param {number} seed Positive integer only\n * @return {number} 32-bit positive integer hash\n */\n function MurmurHashV2(str, seed) {\n var\n l = str.length,\n h = seed ^ l,\n i = 0,\n k;\n\n while (l >= 4) {\n k =\n ((str.charCodeAt(i) & 0xff)) |\n ((str.charCodeAt(++i) & 0xff) << 8) |\n ((str.charCodeAt(++i) & 0xff) << 16) |\n ((str.charCodeAt(++i) & 0xff) << 24);\n\n k = (((k & 0xffff) * 0x5bd1e995) + ((((k >>> 16) * 0x5bd1e995) & 0xffff) << 16));\n k ^= k >>> 24;\n k = (((k & 0xffff) * 0x5bd1e995) + ((((k >>> 16) * 0x5bd1e995) & 0xffff) << 16));\n\n h = (((h & 0xffff) * 0x5bd1e995) + ((((h >>> 16) * 0x5bd1e995) & 0xffff) << 16)) ^ k;\n\n l -= 4;\n ++i;\n }\n\n switch (l) {\n case 3: h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n case 2: h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n case 1: h ^= (str.charCodeAt(i) & 0xff);\n h = (((h & 0xffff) * 0x5bd1e995) + ((((h >>> 16) * 0x5bd1e995) & 0xffff) << 16));\n }\n\n h ^= h >>> 13;\n h = (((h & 0xffff) * 0x5bd1e995) + ((((h >>> 16) * 0x5bd1e995) & 0xffff) << 16));\n h ^= h >>> 15;\n\n return h >>> 0;\n };\n\n /**\n * JS Implementation of MurmurHash3 (r136) (as of May 20, 2011)\n *\n * @author Gary Court\n * @see http://github.com/garycourt/murmurhash-js\n * @author Austin Appleby\n * @see http://sites.google.com/site/murmurhash/\n *\n * @param {string} key ASCII only\n * @param {number} seed Positive integer only\n * @return {number} 32-bit positive integer hash\n */\n function MurmurHashV3(key, seed) {\n var remainder, bytes, h1, h1b, c1, c1b, c2, c2b, k1, i;\n\n remainder = key.length & 3; // key.length % 4\n bytes = key.length - remainder;\n h1 = seed;\n c1 = 0xcc9e2d51;\n c2 = 0x1b873593;\n i = 0;\n\n while (i < bytes) {\n k1 =\n ((key.charCodeAt(i) & 0xff)) |\n ((key.charCodeAt(++i) & 0xff) << 8) |\n ((key.charCodeAt(++i) & 0xff) << 16) |\n ((key.charCodeAt(++i) & 0xff) << 24);\n ++i;\n\n k1 = ((((k1 & 0xffff) * c1) + ((((k1 >>> 16) * c1) & 0xffff) << 16))) & 0xffffffff;\n k1 = (k1 << 15) | (k1 >>> 17);\n k1 = ((((k1 & 0xffff) * c2) + ((((k1 >>> 16) * c2) & 0xffff) << 16))) & 0xffffffff;\n\n h1 ^= k1;\n h1 = (h1 << 13) | (h1 >>> 19);\n h1b = ((((h1 & 0xffff) * 5) + ((((h1 >>> 16) * 5) & 0xffff) << 16))) & 0xffffffff;\n h1 = (((h1b & 0xffff) + 0x6b64) + ((((h1b >>> 16) + 0xe654) & 0xffff) << 16));\n }\n\n k1 = 0;\n\n switch (remainder) {\n case 3: k1 ^= (key.charCodeAt(i + 2) & 0xff) << 16;\n case 2: k1 ^= (key.charCodeAt(i + 1) & 0xff) << 8;\n case 1: k1 ^= (key.charCodeAt(i) & 0xff);\n\n k1 = (((k1 & 0xffff) * c1) + ((((k1 >>> 16) * c1) & 0xffff) << 16)) & 0xffffffff;\n k1 = (k1 << 15) | (k1 >>> 17);\n k1 = (((k1 & 0xffff) * c2) + ((((k1 >>> 16) * c2) & 0xffff) << 16)) & 0xffffffff;\n h1 ^= k1;\n }\n\n h1 ^= key.length;\n\n h1 ^= h1 >>> 16;\n h1 = (((h1 & 0xffff) * 0x85ebca6b) + ((((h1 >>> 16) * 0x85ebca6b) & 0xffff) << 16)) & 0xffffffff;\n h1 ^= h1 >>> 13;\n h1 = ((((h1 & 0xffff) * 0xc2b2ae35) + ((((h1 >>> 16) * 0xc2b2ae35) & 0xffff) << 16))) & 0xffffffff;\n h1 ^= h1 >>> 16;\n\n return h1 >>> 0;\n }\n\n var murmur = MurmurHashV3;\n murmur.v2 = MurmurHashV2;\n murmur.v3 = MurmurHashV3;\n\n if (typeof(module) != 'undefined') {\n module.exports = murmur;\n } else {\n var _previousRoot = _global.murmur;\n murmur.noConflict = function() {\n _global.murmur = _previousRoot;\n return murmur;\n }\n _global.murmur = murmur;\n }\n}());\n","module.exports = require('../dist/client/compat/router')\n","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_app\",\n function () {\n return require(\"private-next-pages/_app.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_app\"])\n });\n }\n ","import styled, { keyframes } from \"styled-components\";\nimport {\n Button,\n type ThemeType,\n Box,\n type SpaceType,\n Text,\n Heading,\n type ColorKeyType,\n} from \"@cruk/cruk-react-components\";\n\n// keeps content centered for very wide screen widths\nexport const ContentMaxWidth = styled(Box)<{\n theme: ThemeType;\n}>`\n && {\n max-width: ${({ theme }) => theme.utilities.contentMaxWidth};\n margin: 0 auto;\n }\n`;\n\nexport const ContentWrapperResponsive = styled(Box)<{\n theme: ThemeType;\n}>`\n && {\n max-width: ${({ theme }) => theme.utilities.contentMaxWidth};\n margin: 0 auto;\n padding-left: ${({ theme }) => theme.spacing.xs};\n padding-right: ${({ theme }) => theme.spacing.xs};\n\n @media (min-width: ${({ theme }) => theme.breakpoint.mobile}) {\n padding-left: ${({ theme }) => theme.spacing.s};\n padding-right: ${({ theme }) => theme.spacing.s};\n }\n }\n`;\n\n// Flex stuff\nexport const Row = styled.div<{ $gap?: SpaceType; theme: ThemeType }>`\n && {\n display: flex;\n flex-direction: row;\n gap: ${({ theme, $gap }) =>\n !!$gap && !!theme.spacing[$gap]\n ? theme.spacing[$gap]\n : theme.spacing.none};\n }\n`;\n\nexport const RowBottom = styled.div`\n && {\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n }\n`;\n\nexport const RowWrap = styled.div`\n && {\n display: flex;\n flex-wrap: wrap;\n }\n`;\n\nexport const RowStretch = styled.div`\n && {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n }\n`;\n\nexport const RowStretchFullWidthBreakPoint = styled.div<{\n theme: ThemeType;\n}>`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n width: 100%;\n\n @media (min-width: ${({ theme }) => theme.breakpoint.desktop}) {\n justify-content: center;\n width: auto;\n }\n`;\n\nexport const RowSpaceAround = styled.div`\n && {\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n }\n`;\n\nexport const RowSpaceBetweenWrapped = styled.div`\n && {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n flex-wrap: wrap;\n }\n`;\n\nexport const RowCenter = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: center;\n`;\n\nexport const RowAligned = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nexport const RowAlignCenter = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n`;\n\nexport const RowEnd = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n`;\n\nexport const RowCenterMobile = styled.div<{\n theme: ThemeType;\n}>`\n display: flex;\n flex-direction: row;\n justify-content: center;\n\n @media (min-width: ${({ theme }) => theme.breakpoint.mobile}) {\n display: block;\n }\n`;\n\nexport const BlockCenter = styled.div`\n > * {\n margin: auto;\n }\n`;\n\nexport const ResponsiveRow = styled(Row)<{\n theme: ThemeType;\n}>`\n display: block;\n @media (min-width: ${({ theme }) => theme.breakpoint.mobile}) {\n display: flex;\n }\n`;\n\nexport const Column = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const ColumnReverse = styled.div`\n display: flex;\n flex-direction: column-reverse;\n`;\n\nexport const ColumnSpaceAround = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n`;\n\nexport const ColumnCenter = styled.div`\n display: flex;\n height: 100%;\n flex-direction: column;\n justify-content: center;\n`;\n\nexport const ColumnAlignCenter = styled.div`\n display: flex;\n height: 100%;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n`;\n\ntype ListProps = {\n theme: ThemeType;\n $marginBottom?: SpaceType;\n};\n\nexport const List = styled.ul`\n padding: 0;\n margin: 0;\n li {\n display: block;\n flex: 0 1 auto;\n margin-bottom: ${({ theme, $marginBottom }: ListProps) =>\n !!$marginBottom && !!theme.spacing[$marginBottom]\n ? theme.spacing[$marginBottom]\n : theme.spacing.xxs};\n\n &:last-of-type {\n margin-bottom: 0;\n }\n }\n`;\n\nconst pulse = keyframes`\n 0% {background-color: #eee;}\n 50% {background-color: #ccc;}\n 100% {background-color: #eee;}\n`;\n\nexport const HeaderImage = styled.img`\n height: auto;\n width: 100%;\n margin: auto;\n vertical-align: bottom;\n animation: ${pulse} 3s ease-in-out infinite;\n`;\n\n// Boxes\nexport const DashedBorder = styled.div<{\n $color?: ColorKeyType;\n theme: ThemeType;\n}>`\n position: relative;\n width: 100%;\n border: dashed 2px\n ${({ theme, $color }) =>\n $color ? theme.colors[$color] : theme.tokenColors.grey_300};\n padding: ${({ theme }) => theme.spacing.xs};\n`;\n\nexport const Border = styled.div<{\n theme: ThemeType;\n}>`\n position: relative;\n width: 100%;\n border: solid 1px ${({ theme }) => theme.tokenColors.grey_300};\n padding: ${({ theme }) => theme.spacing.s};\n`;\n\nexport const ArrowWrapper = styled.div<{ theme: ThemeType }>`\n position: absolute;\n top: ${({ theme }) => theme.spacing.s};\n right: ${({ theme }) => theme.spacing.s};\n pointer-events: none;\n`;\n\nexport const TopBorder = styled(Box)<{\n $forceBorder?: boolean;\n theme: ThemeType;\n}>`\n position: relative;\n width: 100%;\n border-style: solid;\n border-width: 1px 0 0 0;\n border-color: ${({ theme }) => theme.tokenColors.grey_300};\n\n &:first-of-type {\n padding-top: 0 !important;\n border-width: ${({ $forceBorder }) => ($forceBorder ? \"1px 0 0 0\" : \"0\")};\n }\n`;\n\nexport const TopBorderChunky = styled(Box)<{ theme: ThemeType }>`\n width: 100%;\n border-style: solid;\n border-width: 4px 0 0 0;\n border-color: ${({ theme }) => theme.colors.primary};\n`;\n\n// lists\n\nexport const MemberList = styled.ul<{\n theme: ThemeType;\n}>`\n padding: 0;\n margin: 0;\n width: 100%;\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n column-gap: ${({ theme }) => theme.spacing.s};\n row-gap: ${({ theme }) => theme.spacing.s};\n\n li {\n vertical-align: top;\n display: inline-block;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoint.tablet}) {\n grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n }\n`;\n\nexport const StyledFormActions = styled.div<{\n theme: ThemeType;\n}>`\n &&& {\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n justify-content: flex-end;\n\n > a,\n button {\n width: 100%;\n padding: 0;\n margin: 0 0 ${({ theme }) => theme.spacing.xxs} 0;\n }\n\n > a:last-child,\n button:last-child {\n margin: 0;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoint.mobile}) {\n > a,\n button {\n width: auto;\n padding: 0 ${({ theme }) => theme.spacing.s};\n margin: 0 ${({ theme }) => theme.spacing.xxs} 0 0;\n }\n\n > a:last-child,\n button:last-child {\n margin: 0;\n }\n }\n }\n`;\n\n// Form styles\nexport const Divider = styled.div<{\n theme: ThemeType;\n}>`\n align-items: center;\n display: flex;\n flex-basis: 100%;\n text-align: center;\n width: 100%;\n &:before,\n &:after {\n background-color: ${({ theme }) => theme.colors.textDark};\n content: \"\";\n display: inline-block;\n flex-grow: 1;\n height: 1px;\n }\n &:before {\n margin-right: ${({ theme }) => theme.spacing.xs};\n }\n &:after {\n margin-left: ${({ theme }) => theme.spacing.xs};\n }\n`;\n\nexport const DividerLight = styled.div<{\n theme: ThemeType;\n}>`\n align-items: center;\n display: flex;\n flex-basis: 100%;\n text-align: center;\n width: 100%;\n &:after {\n background-color: ${({ theme }) => theme.tokenColors.grey_300};\n content: \"\";\n display: inline-block;\n flex-grow: 1;\n height: 1px;\n }\n`;\n\n// Setting max width for fields rather than % so fields don't get smaller unless they have to.\n// Using rems so the form and fields increase with the font size.\n// We can probably just set strings bellow. Could be added to inputs in the design system.\nconst formWidth = 36;\nconst fieldWidths = {\n full: formWidth,\n medium: formWidth / 1.5,\n small: formWidth / 3,\n};\n\nexport const FormWrapper = styled(Box)`\n margin-right: auto;\n margin-left: auto;\n max-width: ${formWidth}rem;\n`;\n\nexport const FieldWrapper = styled.div<{\n $inputWidth?: \"full\" | \"medium\" | \"small\";\n $marginBottom?: SpaceType;\n theme: ThemeType;\n}>`\n input,\n select {\n max-width: ${({ $inputWidth }) =>\n $inputWidth ? fieldWidths[$inputWidth] : fieldWidths.full}rem;\n }\n margin-bottom: ${({ theme, $marginBottom }): string =>\n $marginBottom ? theme.spacing[$marginBottom] : theme.spacing.xl};\n\n &:last-of-type {\n margin-bottom: ${({ theme, $marginBottom }) =>\n $marginBottom ? theme.spacing[$marginBottom] : 0};\n }\n`;\n\nexport const FormFieldWrapper = styled.div<{\n theme: ThemeType;\n}>`\n label {\n width: 100%;\n margin-bottom: ${({ theme }) => theme.spacing.s};\n }\n`;\n\nexport const FilterWrapper = styled.div`\n max-width: 26em;\n`;\n\nexport const StyledFieldset = styled.fieldset<{\n $marginBottom?: SpaceType;\n theme: ThemeType;\n}>`\n padding: 0;\n margin-bottom: ${({ theme, $marginBottom = \"xl\" }) =>\n theme.spacing[$marginBottom]};\n border: none;\n\n label {\n &:not(:last-of-type) {\n margin-bottom: ${({ theme }) => theme.spacing.s};\n }\n }\n`;\n\n// Custom buttons\nexport const TabButton = styled.button<{\n $active: boolean;\n theme: ThemeType;\n}>`\n flex: 1 1;\n flex-direction: column;\n justify-content: space-around;\n align-items: center;\n background-color: rgba(0, 0, 0, 0);\n border-width: 0 0 4px 0;\n border-color: rgba(0, 0, 0, 0);\n border-style: solid;\n border-bottom-color: ${({ theme, $active }) =>\n $active ? theme.colors.primary : \"rgba(0, 0, 0, 0)\"};\n\n &:hover {\n cursor: pointer;\n }\n`;\n\nexport const TabRow = styled(RowStretch)<{ theme: ThemeType }>`\n border-bottom: solid 1px ${({ theme }) => theme.tokenColors.grey_300};\n`;\n\nexport const FacebookButton = styled(Button)<{ theme: ThemeType }>`\n background-color: #1b74e4;\n border-color: #1b74e4;\n color: white !important;\n &:not(:disabled):hover,\n &:not(:disabled):focus {\n background-color: #165db6;\n border-color: #165db6;\n color: white !important;\n }\n width: auto;\n`;\n\nexport const FitbitButton = styled(Button)<{ theme: ThemeType }>`\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n align-items: center;\n text-align: center;\n background-color: #00b0b9;\n border-color: #00b0b9;\n color: black !important;\n &:hover,\n &:focus {\n background-color: #008d94;\n border-color: #008d94;\n color: white !important;\n }\n padding: 0.125em 2em;\n\n width: auto;\n\n img {\n height: 2.5em;\n width: auto;\n vertical-align: sub;\n }\n`;\n\nexport const StravaButton = styled(Button)<{ theme: ThemeType }>`\n background-color: #fc5400;\n border-color: #fc5400;\n color: white !important;\n &:hover,\n &:focus {\n background-color: #ca4300;\n border-color: #ca4300;\n color: white !important;\n }\n height: auto;\n width: auto;\n`;\n\n// Text truncation\nexport const TextMultiLineEllipsis = styled(Text)<{ $lineCount?: number }>`\n width: 100%;\n word-break: break-word;\n white-space: normal;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: ${({ $lineCount }) => $lineCount || 3};\n -webkit-box-orient: vertical;\n`;\n\nexport const HeadingMultiLineEllipsis = styled(Heading)<{\n $lineCount?: number;\n theme: ThemeType;\n}>`\n width: 100%;\n white-space: wrap;\n text-overflow: ellipsis;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: ${({ $lineCount }) => $lineCount};\n -webkit-box-orient: vertical;\n\n transition: color 0.2s ease;\n color: ${({ theme }) => theme.colors.primary};\n\n @media (min-width: ${({ theme }) => theme.breakpoint.mobile}) {\n margin-bottom: ${({ theme }) => theme.spacing.s};\n }\n`;\n\nexport const SingleLineElipsis = styled(Text)<{ theme: ThemeType }>`\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n height: ${({ theme }) => theme.typography.lineHeight};\n`;\n\nexport const ActivityIconWrapper = styled.div<{\n $isEmpty?: boolean;\n $isEditing?: boolean;\n theme: ThemeType;\n}>`\n position: relative;\n color: ${({ theme, $isEmpty = false, $isEditing = false }) =>\n $isEditing || !$isEmpty ? theme.colors.secondary : theme.colors.disabled};\n margin: ${({ theme }) => `0 ${theme.spacing.xs} 0 0`};\n\n height: ${({ $isEditing = false }) => ($isEditing ? \"2em\" : \"1.5em\")};\n margin-bottom: ${({ theme, $isEditing = false }) =>\n $isEditing ? theme.spacing.xs : 0};\n width: 2em;\n\n @media (min-width: ${({ theme }) => theme.breakpoint.desktop}) {\n flex-direction: column;\n height: 2em;\n margin: ${({ theme }) => `0 0 ${theme.spacing.xs} 0`};\n width: auto;\n }\n`;\n\nexport const ActivityItem = styled.div<{\n $canEdit?: boolean;\n $isEditing?: boolean;\n theme: ThemeType;\n}>`\n display: flex;\n flex-direction: ${({ $isEditing }) => ($isEditing ? \"column\" : \"row\")};\n justify-content: flex-start;\n text-align: left;\n\n svg {\n transition: transform ease 0.3s;\n }\n\n &:hover {\n div > svg {\n transform: ${({ $canEdit = false, $isEditing = false }) =>\n $isEditing || !$canEdit ? `scale(1)` : `scale(1.5)`};\n }\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoint.desktop}) {\n flex-direction: column;\n flex: 0 1;\n text-align: center;\n }\n`;\n\nexport const ActivityItemWrapper = styled.div<{\n theme: ThemeType;\n}>`\n margin-bottom: ${({ theme }) => theme.spacing.xs};\n &:last-child {\n margin-bottom: 0;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoint.desktop}) {\n margin-bottom: 0;\n width: 33.33%;\n margin: 0 auto;\n }\n`;\n\nexport const ScreenReaderOnly = styled.span`\n border: 0px;\n clip: rect(0px, 0px, 0px, 0px);\n height: 1px;\n margin-bottom: -1px;\n margin-right: -1px;\n overflow: hidden;\n padding: 0px;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n`;\n\n// page styles\n\nexport const HeaderGroup = styled.div<{\n theme: ThemeType;\n}>`\n display: flex;\n flex-direction: column;\n\n @media (min-width: ${({ theme }) => theme.breakpoint.desktop}) {\n flex-direction: column-reverse;\n }\n`;\n\nexport const AvatarResponsiveWrapper = styled(Box)<{\n theme: ThemeType;\n}>`\n && {\n padding: ${({ theme }) => `0 ${theme.spacing.s}`};\n\n @media (min-width: ${({ theme }) => theme.breakpoint.desktop}) {\n padding: ${({ theme }) => `${theme.spacing.xs} ${theme.spacing.s}`};\n }\n }\n`;\n","import React, {\n useState,\n useContext,\n type Dispatch,\n type SetStateAction,\n type ReactNode,\n useMemo,\n} from \"react\";\n\nimport { type PageActiveSectionType } from \"@fwa/src/types\";\n\nexport type ActiveSectionContextStateType = {\n activeSection: PageActiveSectionType;\n};\n\nconst defaultState: ActiveSectionContextStateType = {\n activeSection: null,\n};\n\nexport type ActiveSectionContextProviderType = [\n ActiveSectionContextStateType,\n Dispatch>,\n];\n\nexport const ActiveSectionContext =\n React.createContext([\n { ...defaultState },\n () => {\n // placeholder\n },\n ]);\n\nexport const useActiveSectionContext = () => useContext(ActiveSectionContext);\n\ntype Props = {\n children: ReactNode;\n};\n\nexport const ActiveSectionContextProvider = ({ children }: Props) => {\n const [state, setState] = useState({\n ...defaultState,\n });\n\n const value = useMemo(\n () => [state, setState],\n [state],\n ) as ActiveSectionContextProviderType;\n\n return (\n \n {children}\n \n );\n};\n","import React, {\n useState,\n createContext,\n useContext,\n type ReactNode,\n useMemo,\n type Dispatch,\n type SetStateAction,\n} from \"react\";\nimport {\n bowelbabeTheme,\n crukTheme,\n su2cTheme,\n type ThemeType,\n rflTheme,\n} from \"@cruk/cruk-react-components\";\n\nimport { type BrandNameType } from \"@fwa/src/types\";\nimport { ThemeProvider } from \"styled-components\";\n\ntype BrandContextType = [\n BrandNameType,\n Dispatch>,\n];\n\nconst defaultState: BrandContextType = [\"cruk\", () => null];\n\nexport const BrandContext = createContext(defaultState);\n\ntype Props = {\n // Adding brandName as a prop to allow providers parent to\n // set theme as well as its children.\n initialBrandName: BrandNameType;\n children: ReactNode;\n};\n\nexport const getTheme = (themeBrand: string): ThemeType => {\n if (themeBrand === \"bowelbabe\") {\n const theme: ThemeType = {\n ...bowelbabeTheme,\n };\n\n return theme;\n }\n\n if (themeBrand === \"su2c\") {\n const theme: ThemeType = {\n ...su2cTheme,\n };\n\n return theme;\n }\n\n if (themeBrand === \"rfl\") {\n const theme: ThemeType = {\n ...rflTheme,\n };\n\n return theme;\n }\n\n const theme: ThemeType = {\n ...crukTheme,\n };\n\n return theme;\n};\n\nconst BrandContextProviderInner = ({ initialBrandName, children }: Props) => {\n const [brandName, setBrandName] = useState(initialBrandName);\n\n const value = useMemo(\n () => [brandName, setBrandName],\n [brandName],\n ) as BrandContextType;\n\n return (\n \n {children}\n \n );\n};\n\nexport const BrandContextProvider = ({ initialBrandName, children }: Props) => (\n \n {children}\n \n);\n\nexport const useBrandContext = () => useContext(BrandContext);\n","import React, {\n useState,\n useContext,\n type Dispatch,\n type SetStateAction,\n type ReactNode,\n useMemo,\n} from \"react\";\n\nimport { type FundraiserType } from \"@fwa/src/types\";\n\nexport type FundraiserContextStateType = {\n fundraiser: FundraiserType | null | undefined;\n // we don't have to record loggedInStatus\n // but it might be useful to know what is going on for potential loading states\n loggedInStatus: \"unknown\" | \"loggedOut\" | \"loggedIn\";\n tempPassword: string | null;\n};\n\nconst defaultState: FundraiserContextStateType = {\n fundraiser: undefined,\n loggedInStatus: \"unknown\",\n tempPassword: null,\n};\n\nexport type FundraiserContextProviderType = [\n FundraiserContextStateType,\n Dispatch>,\n];\n\nexport const FundraiserContext =\n React.createContext([\n { ...defaultState },\n () => {\n // placeholder\n },\n ]);\n\nexport const useFundraiserContext = () => useContext(FundraiserContext);\n\ntype Props = {\n children: ReactNode;\n};\n\nexport const FundraiserContextProvider = ({ children }: Props) => {\n const [state, setState] = useState({\n ...defaultState,\n });\n\n const value = useMemo(\n () => [state, setState],\n [state],\n ) as FundraiserContextProviderType;\n\n return (\n \n {children}\n \n );\n};\n","import React, {\n useState,\n useContext,\n type Dispatch,\n type SetStateAction,\n type ReactNode,\n} from \"react\";\n\ntype ModalContextStateType = ReactNode | undefined;\n\nexport type ModalContextProviderType = [\n ModalContextStateType,\n Dispatch>,\n];\n\nexport const ModalContext = React.createContext([\n null,\n () => {\n // placeholder\n },\n]);\n\nexport const useModalContext = () => useContext(ModalContext);\n\ntype Props = {\n children: ReactNode;\n};\n\nexport const ModalContextProvider = ({ children }: Props) => {\n const value = useState(null);\n return (\n {children}\n );\n};\n","import React, {\n useState,\n createContext,\n useContext,\n type Dispatch,\n type SetStateAction,\n type ReactNode,\n useMemo,\n} from \"react\";\n\nimport {\n type Client,\n type EventTags,\n type OptimizelyUserContext,\n type UserAttributes,\n} from \"@optimizely/optimizely-sdk\";\n\nexport type OptimizelyContextStateType = {\n optimizelyClient: Client | null;\n isServerSide: boolean;\n timeout: number | undefined;\n optimizelyUserContext: OptimizelyUserContext | null;\n};\n\nexport type OptimizelyContextProviderType = [\n OptimizelyContextStateType,\n Dispatch>,\n];\n\nconst defaultState: OptimizelyContextStateType = {\n optimizelyClient: null,\n optimizelyUserContext: null,\n isServerSide: false,\n timeout: 0,\n};\n\nexport const OptimizelyContext = createContext([\n { ...defaultState },\n () => {\n // placeholder\n },\n]);\n\nexport const useOptimizelyContext = () => {\n const [optimizelyContext, setOptimizelyContext] =\n useContext(OptimizelyContext);\n const { optimizelyClient, optimizelyUserContext } = optimizelyContext;\n\n // helper function to track events using optimizely user context information\n const trackEventOptimizely = (trackEventProps: {\n eventKey: string;\n overrideUserId?: string;\n overrideAttributes?: UserAttributes;\n eventTags?: EventTags;\n }) => {\n if (!optimizelyClient) return; // todo track error\n const currentUser: OptimizelyUserContext | null | undefined =\n trackEventProps.overrideUserId\n ? optimizelyClient?.createUserContext(\n trackEventProps.overrideUserId,\n trackEventProps.overrideAttributes,\n )\n : optimizelyUserContext;\n if (!currentUser) return; // todo track error\n optimizelyClient.track(\n trackEventProps.eventKey,\n currentUser.getUserId(),\n currentUser.getAttributes(),\n trackEventProps.eventTags,\n );\n };\n\n // helper function to set optimizely user context attributes and update GTM with new decision data\n const setOptimizelyUserAttributes = (\n UserAttributesObject: UserAttributes,\n ) => {\n if (!optimizelyClient || !optimizelyUserContext) return; // todo track error\n Object.keys(UserAttributesObject).forEach(\n (key: keyof typeof UserAttributesObject) => {\n optimizelyUserContext.setAttribute(\n `${key}`,\n UserAttributesObject[`${key}`],\n );\n },\n );\n };\n\n return {\n optimizelyContext,\n setOptimizelyContext,\n setOptimizelyUserAttributes,\n trackEventOptimizely,\n };\n};\n\ntype Props = {\n children: ReactNode;\n};\n\nexport const OptimizelyContextProvider = ({ children }: Props) => {\n const [state, setState] = useState({\n ...defaultState,\n });\n\n const value = useMemo(\n () => [state, setState],\n [state],\n ) as OptimizelyContextProviderType;\n\n return (\n \n {children}\n \n );\n};\n","import React, {\n useState,\n useContext,\n type Dispatch,\n type SetStateAction,\n type ReactNode,\n} from \"react\";\n\ntype ToastEntryType = { content: ReactNode; id: string; dismissed: boolean };\ntype ToastsContextStateType = ToastEntryType[];\n\nexport type ToastsContextProviderType = [\n ToastsContextStateType,\n Dispatch>,\n];\n\nexport const ToastsContext = React.createContext([\n [],\n () => {\n // placeholder\n },\n]);\n\nexport const useToastsContext = () => {\n const toastsContext = useContext(ToastsContext);\n const [toasts, setToasts] = toastsContext;\n\n const dismissToastById = (id: string) => {\n if (toasts.length === 0) return;\n setToasts((toasts) =>\n toasts.map((toast: ToastEntryType) =>\n toast.id === id ? { ...toast, dismissed: true } : toast,\n ),\n );\n };\n\n const dismissAllToasts = () => {\n if (toasts.length === 0) return;\n setToasts((toasts) =>\n toasts.map((toast: ToastEntryType) => ({ ...toast, dismissed: true })),\n );\n };\n\n const addToast = (updatedToast: ToastEntryType) => {\n const foundToast = toasts.find(\n (toast: ToastEntryType) => toast.id === updatedToast.id,\n );\n // don't like this solution, but it works for now\n if (\n JSON.stringify(foundToast?.content) ===\n JSON.stringify(updatedToast.content)\n ) {\n return;\n }\n\n setToasts((toasts) => {\n const foundToast = toasts.find(\n (toast: ToastEntryType) => toast.id === updatedToast.id,\n );\n // if the toast already exists, update it\n if (foundToast) {\n return toasts.map((toast: ToastEntryType) =>\n toast.id === updatedToast.id ? updatedToast : toast,\n );\n }\n // otherwise add it\n return [...toasts, updatedToast];\n });\n };\n return { toastsContext, dismissToastById, addToast, dismissAllToasts };\n};\n\ntype Props = {\n children: ReactNode;\n};\n\nexport const ToastsContextProvider = ({ children }: Props) => {\n const getterAndSetter = useState([]);\n return (\n \n {children}\n \n );\n};\n","import { useEffect, type DependencyList } from \"react\";\nimport { isBrowser } from \"@fwa/src/utils/browserUtils\";\n\nexport const useKey = (\n callback: (event: KeyboardEvent) => void,\n options: {\n detectKeys?: string[];\n keyevent?: \"keydown\" | \"keyup\" | \"keypress\";\n },\n dependencies?: DependencyList,\n): void => {\n const { detectKeys = [], keyevent } = options;\n const depsToString = JSON.stringify(dependencies);\n\n useEffect(() => {\n if (!isBrowser || !callback || !detectKeys.length) {\n return undefined;\n }\n\n const handleEvent = (event: KeyboardEvent) => {\n if (detectKeys.includes(event.key) || detectKeys.length === 0) {\n callback(event);\n }\n };\n window.document.addEventListener(keyevent || \"keydown\", handleEvent);\n return () => {\n window.document.removeEventListener(keyevent || \"keydown\", handleEvent);\n };\n }, [callback, depsToString, detectKeys, keyevent]);\n};\n\nexport default useKey;\n","import { useLayoutEffect, useEffect } from \"react\";\nimport { isBrowser } from \"@fwa/src/utils/browserUtils\";\n\n// The sole purpose of this hook is to silence pointless warnings in next.js when using\n// useLayoutEffect about it not being isomorphic which is the whole point of the hook\n// which waits for components to be mounted to the DOM for scroll handlers etc.\nexport const useLayoutEffectBrowser = isBrowser ? useLayoutEffect : useEffect;\n\nexport default useLayoutEffectBrowser;\n","import { useState, useEffect } from \"react\";\nimport { isBrowser } from \"@fwa/src/utils/browserUtils\";\n\n/**\n *\n * @param key name of local storage key\n * @param defaultValue the value to be set in local storage when ready, and value returned if local storgage not ready\n * @param windowNotReadyValue the value to be returned before local storage ready if different from default value\n * @returns\n */\nconst getStorageValue = (\n key: string,\n defaultValue: string,\n windowNotReadyValue?: string,\n): string | null => {\n // getting stored value\n if (!isBrowser) return windowNotReadyValue || defaultValue;\n const saved: string | null = localStorage.getItem(key);\n const initial = saved ? (JSON.parse(saved) as string) : null;\n return initial || defaultValue;\n};\n\nexport const useLocalStorage = (\n key: string,\n defaultValue: string,\n windowNotReadyValue?: string,\n) => {\n const [value, setValue] = useState(() =>\n getStorageValue(key, defaultValue, windowNotReadyValue),\n );\n\n useEffect(() => {\n // storing input name\n localStorage.setItem(key, JSON.stringify(value));\n }, [key, value]);\n\n return { value, setValue };\n};\n\nexport default useLocalStorage;\n","import { useRouter } from \"next/router\";\n\nimport { trackDataDogError } from \"@fwa/src/services/dataDog\";\nimport { sendGTMTrackingEvent } from \"@fwa/src/services/gtm\";\nimport { useFundraiserContext } from \"@fwa/src/contexts/FundraiserContext\";\nimport { useBrandContext } from \"../contexts/BrandContext\";\n\nconst routeToGTMPageType: Record = {\n \"/donate/[slug]/confirmation\": \"donation_confirmation\",\n \"/donate/[slug]/details\": \"donation_donation_details\",\n \"/fundraiser/dashboard\": \"dashboard\",\n \"/fundraiser/settings\": \"account_settings\",\n \"/page/[...slug]\": \"fundraiser_page\",\n \"/partner/[slug]\": \"partner_page\",\n \"/payment/failed\": \"payment_failed\",\n \"/team/[slug]\": \"team_page\",\n \"/team/[slug]/join\": \"team_page_join\",\n \"/team/[slug]/leave\": \"team_page_leave\",\n \"/team/[slug]/members\": \"team_page_members\",\n \"/team/[slug]/members/edit\": \"team_page_members_edit\",\n \"/unite/[slug]\": \"superteam_page\",\n \"/unite/[slug]/join\": \"superteam_page_join\",\n \"/unite/[slug]/pages\": \"superteam_page_fundraising_pages\",\n \"/unite/[slug]/teams\": \"superteam_page_team_pages\",\n \"/createpage\": \"create_page\",\n \"/signup\": \"signup\",\n \"/team-create\": \"team_create\",\n \"/team-search\": \"team_search\",\n \"/teamsignup\": \"team_signup\",\n \"/\": \"homepage\",\n};\n\nconst UNTRACKED_ERRORS = [\"URL not unique\"];\n\nexport const useTracking = () => {\n const router = useRouter();\n const { route: routerRoute } = router;\n const route = routerRoute\n ? routeToGTMPageType[routerRoute] || routerRoute\n : \"unknown\";\n\n const [fundraiserState] = useFundraiserContext();\n const { fundraiser } = fundraiserState;\n const [brandName] = useBrandContext();\n\n const trackEventGtm = (eventData?: {\n event: string;\n [key: string]: string | number | boolean | object | null | undefined;\n }) => {\n const newEventData = {\n pageType: route,\n fundraiserId: fundraiser?.uniqueId,\n brand: brandName,\n ...eventData,\n };\n sendGTMTrackingEvent(newEventData);\n };\n\n const trackError = (err: Error, extraData?: object) => {\n if (err.message && UNTRACKED_ERRORS.includes(err.message)) return;\n\n const newEventData = {\n ...extraData,\n route,\n brandName,\n fundraiserId: fundraiser?.uniqueId,\n };\n trackDataDogError(err, newEventData);\n };\n\n return { trackEventGtm, trackError };\n};\n\n// export default useTracking;\n","import{__makeTemplateObject as n,__assign as o}from\"../../node_modules/tslib/tslib.es6.js\";import{withTheme as t,createGlobalStyle as e}from\"styled-components\";import{crukTheme as i}from\"../themes/cruk.js\";var r,a=t(e(r||(r=n([\"\\n \",\"\\n *, *:after, *:before {\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n }\\n \\n @media (prefers-reduced-motion: reduce) {\\n *, *:after, *:before {\\n animation-play-state: paused !important;\\n animation-direction: reverse !important;\\n transition: none !important;\\n scroll-behavior: auto !important;\\n }\\n }\\n\\n table, td, th {\\n border-spacing: 0;\\n border: 1px solid #ccc;\\n padding: 10px;\\n }\\n .no-focus-outline a:focus,\\n .no-focus-outline button:focus {\\n outline: none;\\n }\\n img {\\n width: 100%;\\n height: auto;\\n }\\n section {\\n width: 100%;\\n }\\n button {\\n font-size: 1em;\\n }\\n\"],[\"\\n \",\"\\n *, *:after, *:before {\\n -webkit-box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n box-sizing: border-box;\\n }\\n \\n @media (prefers-reduced-motion: reduce) {\\n *, *:after, *:before {\\n animation-play-state: paused !important;\\n animation-direction: reverse !important;\\n transition: none !important;\\n scroll-behavior: auto !important;\\n }\\n }\\n\\n table, td, th {\\n border-spacing: 0;\\n border: 1px solid #ccc;\\n padding: 10px;\\n }\\n .no-focus-outline a:focus,\\n .no-focus-outline button:focus {\\n outline: none;\\n }\\n img {\\n width: 100%;\\n height: auto;\\n }\\n section {\\n width: 100%;\\n }\\n button {\\n font-size: 1em;\\n }\\n\"])),(function(n){var t=o(o({},i),n.theme);return\"\\n html {\\n font-size: \".concat(t.typography.fontSizeBase,\";\\n font-family: \").concat(t.typography.fontFamilyBase,\";\\n line-height: \").concat(t.typography.lineHeight,\";\\n }\\n body {\\n background-color: \").concat(t.colors.backgroundMidLight,\";\\n color: \").concat(t.colors.textDark,\";\\n margin: 0;\\n padding: 0;\\n overflow-x: hidden;\\n -webkit-text-size-adjust: 100%;\\n -moz-text-size-adjust: none;\\n -ms-text-size-adjust: 100%;\\n }\\n \")})));export{a as GlobalStyleNoFontFace,a as default};\n//# sourceMappingURL=GlobalStyleNoFontFace.js.map\n","import{crukTheme as o}from\"../themes/cruk.js\";import{rflTheme as t}from\"../themes/rfl.js\";import{su2cTheme as n}from\"../themes/su2c.js\";import{bowelbabeTheme as f}from\"../themes/bowelbabe.js\";var c=function(o){return o.map((function(o){return\"\\n @font-face {\\n font-family: \".concat(o.family,\";\\n src: \").concat((null==o?void 0:o.urlWoff2)?'url(\"'.concat(o.urlWoff2,\"\\\") format('woff2')\"):\"\").concat(o.urlWoff&&(null==o?void 0:o.urlWoff2)?\", \":\"\",\"\\n \").concat((null==o?void 0:o.urlWoff)?'url(\"'.concat(o.urlWoff,\"\\\") format('woff')\"):\"\",\";\\n font-weight: \").concat(o.fontWeight||\"normal\",\";\\n font-style: normal;\\n font-display: fallback;\\n }\\n \")})).join(\"\")},r=\"\\n\".concat(c(o.typography.customFonts),\"\\n\").concat(c(t.typography.customFonts),\"\\n\").concat(c(n.typography.customFonts),\"\\n\").concat(c(f.typography.customFonts),\"\\n\");export{r as Fontface,c as buildCustomFonts,r as default};\n//# sourceMappingURL=Fontface.js.map\n","import { isBrowser } from \"@fwa/src/utils/browserUtils\";\n\n/* eslint-disable @typescript-eslint/ban-ts-comment */\nexport const canTrackPerformance = () => {\n if (!isBrowser) return false;\n // @ts-ignore assuming OnetrustActiveGroups on window object\n if (!window.OnetrustActiveGroups) return false;\n // @ts-ignore assuming OnetrustActiveGroups on window object\n const activeGroups = window.OnetrustActiveGroups as string;\n return activeGroups.split(\",\").includes(\"per\");\n};\n/* eslint-enable */\n\nexport const onPerformanceCookieEnabled = (callbacks: (() => void)[]) => {\n if (!isBrowser) return;\n if (canTrackPerformance()) {\n callbacks.forEach((callback) => callback());\n } else {\n window.addEventListener(\"consent.onetrust\", () => {\n if (canTrackPerformance()) {\n callbacks.forEach((callback) => callback());\n }\n });\n }\n};\n","import { isBrowser } from \"@fwa/src/utils/browserUtils\";\nimport { checkIfDev, checkIfTest } from \"@fwa/src/utils/envUtils\";\n\nexport const initUserzoom = () => {\n if (!isBrowser || checkIfDev() || checkIfTest()) return;\n const uz = document.createElement(\"script\");\n uz.type = \"text/javascript\";\n uz.async = true;\n uz.charset = \"utf-8\";\n uz.src =\n \"https://cdn4.userzoom.com/files/js/QzEyNDJUMSAg.js?t=uz_til&cuid=2674F36E0FCEE411B0190022196C2B88\";\n const s = document.getElementsByTagName(\"script\")[0];\n if (s.parentNode) {\n s.parentNode.insertBefore(uz, s);\n }\n};\nexport default initUserzoom;\n","import { useEffect, useRef } from \"react\";\n\nfunction usePrevious(value: T): T {\n const ref = useRef(undefined);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current as T;\n}\n\nexport default usePrevious;\n","import { useEffect, useState, memo, type ReactNode } from \"react\";\nimport { Modal, Heading, Text, Button, Box } from \"@cruk/cruk-react-components\";\nimport { useRouter } from \"next/router\";\n\nimport { useTracking } from \"@fwa/src/hooks/useTracking\";\nimport { useFundraiserContext } from \"@fwa/src/contexts/FundraiserContext\";\nimport {\n refreshToken,\n getToken,\n logOut,\n shouldRefresh,\n} from \"@fwa/src/services/auth\";\nimport { getLoggedInFundraiser } from \"@fwa/src/services/fundraiserService\";\nimport usePrevious from \"@fwa/src/hooks/usePrevious\";\nimport { RowCenter } from \"@fwa/src/components/styles\";\nimport { type FundraiserType } from \"@fwa/src/types\";\nimport { logger } from \"@fwa/src/services/logger\";\n\n// Login refresh works by periodically looking for the auth code in local storage and running\n// two requests:\n// 1) to get the auth code from the server from the auth code\n// 2) Is to register the returned auth code to confirm a log in\n\ntype Props = {\n children: ReactNode;\n};\n\nexport const LoginWrapper = ({ children }: Props) => {\n const { trackError, trackEventGtm } = useTracking();\n const [fundraiserState, setFundraiserState] = useFundraiserContext();\n const [refreshCheckCount, setRefreshCheckCount] = useState(0);\n const router = useRouter();\n const { pathname } = router || {};\n const prevLoggedInStatus = usePrevious(fundraiserState.loggedInStatus);\n const oauthUserNoFundraiser =\n fundraiserState.loggedInStatus === \"loggedIn\" &&\n !fundraiserState.fundraiser;\n const isSigningUp =\n pathname.startsWith(\"/signup\") ||\n pathname.startsWith(\"/auth\") ||\n pathname.startsWith(\"/createpage\");\n const interuptedSignUp = oauthUserNoFundraiser && !isSigningUp;\n\n const setLoggedOutState = () => {\n setFundraiserState({\n ...fundraiserState,\n fundraiser: null,\n loggedInStatus: \"loggedOut\",\n });\n };\n\n const refresh = (): Promise =>\n refreshToken()\n .then(() => {\n logger.info(\"token refreshed\");\n return getLoggedInFundraiser();\n })\n .then((res) => res as FundraiserType)\n .then((userData) => {\n // Only request fundraiser info if we don't have it in state\n if (!fundraiserState.fundraiser) {\n setFundraiserState({\n ...fundraiserState,\n fundraiser: userData,\n loggedInStatus: \"loggedIn\",\n });\n }\n return undefined;\n })\n .catch((err) => {\n trackError(err as Error, { component: \"LoginWrapper\" });\n console.error(\"failed to refresh token and get fundraiser data\");\n setLoggedOutState();\n });\n\n // If logging out on fundraiser/** redirect to home page.\n // This should happen when the user clicks on log out but this is just incase refresh fails\n useEffect(() => {\n if (\n prevLoggedInStatus === \"loggedIn\" &&\n fundraiserState.loggedInStatus === \"loggedOut\" &&\n (router.pathname.startsWith(\"/fundraiser/\") ||\n router.pathname.startsWith(\"/signup/\") ||\n router.pathname.startsWith(\"/createpage/\"))\n ) {\n router.push({ pathname: \"/\" }).catch((err) => {\n trackError(err as Error, { component: \"LoginWrapper\" });\n });\n }\n }, [fundraiserState.loggedInStatus]);\n\n // /////////////////////////////\n // ////// TOKEN REFRESH ///////\n // /////////////////////////////\n useEffect(() => {\n // Don't need to poll for token refresh if we are not logged in\n if (!getToken()) return;\n\n const timer = setTimeout(() => {\n if (shouldRefresh()) {\n refresh().catch((err) => {\n trackError(err as Error, { component: \"LoginWrapper\" });\n });\n }\n setRefreshCheckCount(refreshCheckCount + 1);\n }, 60000);\n return () => clearTimeout(timer);\n // we need fundraiser state as a dep so we can run again after log in\n }, [refreshCheckCount, setRefreshCheckCount, fundraiserState]);\n\n // /////////////////////////////////////////////////////\n // ////// CHECK IF ALREADY LOGGED IN WHEN APP OPENS ////\n // ////////////////////////////////////////////////////\n\n const doLogOut = () => {\n logOut().catch((error) => {\n trackError(error as Error, { component: \"LoginWrapper\" });\n });\n };\n\n useEffect(() => {\n if (!router.isReady) return;\n const { code } = router.query;\n if (getToken()) {\n // If we open the app and the auth code\n logger.log(\"already have authenticated token\");\n getLoggedInFundraiser()\n .then((res) => res as FundraiserType)\n .then((userData: FundraiserType) => {\n setFundraiserState({\n ...fundraiserState,\n fundraiser: userData,\n loggedInStatus: \"loggedIn\",\n });\n trackEventGtm({\n event: \"login\",\n loggedInUserId: userData?.uniqueId,\n });\n return undefined;\n })\n .catch((err) => {\n trackError(err as Error, { component: \"LoginWrapper\" });\n logger.error(\"auth code failed get fundraiser data\");\n setLoggedOutState();\n doLogOut();\n });\n } else {\n // if we have code we might be in the process of logging in so don't log out\n if (code) return;\n // /////////////////////////////\n // ////// LOGGED OUT ///////////\n // /////////////////////////////\n logger.info(\"no login codes\");\n setLoggedOutState();\n }\n }, [router.isReady]);\n\n return (\n <>\n {children}\n {interuptedSignUp && (\n {\n // placeholder no op\n }}\n top=\"4rem\"\n >\n
\n It looks like we lost you\n \n {`Let's take you back to where you were so you can finish signing up\n and start your fundraising journey`}\n \n \n \n {\n router.push({ pathname: `/signup` }).catch((err) => {\n trackError(err as Error, { component: \"LoginWrapper\" });\n });\n }}\n data-cta-type=\"sign-up\"\n >\n I want to sign up\n \n \n \n \n \n {\n logOut()\n .then(() => {\n setFundraiserState({\n ...fundraiserState,\n loggedInStatus: \"loggedOut\",\n fundraiser: null,\n });\n return undefined;\n })\n .catch((err) => {\n trackError(err as Error, { component: \"LoginWrapper\" });\n });\n }}\n data-cta-type=\"cancel-sign-up\"\n >\n I want to cancel\n \n \n \n
\n \n )}\n \n );\n};\n\nexport default memo(LoginWrapper);\n","import { type ThemeType } from \"@cruk/cruk-react-components\";\nimport styled from \"styled-components\";\n\nexport const LoadingBar = styled.div<{ theme: ThemeType; $isVisible: boolean }>`\n position: fixed;\n top: 0;\n left: 0;\n z-index: 100000;\n height: 4px;\n width: ${({ $isVisible }) => ($isVisible ? \"100%\" : \"0px\")};\n background-color: ${({ theme }) => theme.colors.secondary};\n transition: ${({ $isVisible }) => ($isVisible ? \"width 8s\" : \"\")};\n transition-delay: 0.2s;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n`;\n\nexport default LoadingBar;\n","import React, { useEffect, useState } from \"react\";\nimport { useRouter } from \"next/compat/router\";\n\nimport { LoadingBar } from \"./styles\";\n\nexport const PageLoadingIndicator = () => {\n const router = useRouter();\n const { events } = router || {};\n\n const [isVisible, setIsVisible] = useState(false);\n\n const finished = () => {\n setIsVisible(false);\n };\n\n const routeChangeStart = () => {\n setIsVisible(true);\n };\n\n useEffect(() => {\n events?.on(\"routeChangeStart\", routeChangeStart);\n events?.on(\"routeChangeComplete\", finished);\n events?.on(\"routeChangeError\", finished);\n return () => {\n events?.off(\"routeChangeStart\", routeChangeStart);\n events?.off(\"routeChangeComplete\", finished);\n events?.off(\"routeChangeError\", finished);\n };\n }, [events]);\n\n return ;\n};\n\nexport default PageLoadingIndicator;\n","import{__makeTemplateObject as n}from\"../../../node_modules/tslib/tslib.es6.js\";import i from\"styled-components\";var t,e,o,l,d,a,r,s,p,f,c,h=i.footer(t||(t=n([\"\\n \",\";\\n box-sizing: border-box;\\n display: block;\\n position: relative;\\n width: 100%;\\n background-color: \",\";\\n\"],[\"\\n \",\";\\n box-sizing: border-box;\\n display: block;\\n position: relative;\\n width: 100%;\\n background-color: \",\";\\n\"])),(function(n){return n.theme.colors.inputBorder}),(function(n){return n.theme.colors.footerBackground})),m=i.div(e||(e=n([\"\\n max-width: \",\";\\n display: block;\\n margin: 0 auto;\\n\\n @media (min-width: \",\") {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n }\\n\"],[\"\\n max-width: \",\";\\n display: block;\\n margin: 0 auto;\\n\\n @media (min-width: \",\") {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n }\\n\"])),(function(n){return n.theme.utilities.contentMaxWidth}),(function(n){return n.theme.breakpoint.desktop})),u=i.div(o||(o=n([\"\\n box-sizing: border-box;\\n display: inline-block;\\n padding: \",\";\\n position: relative;\\n width: 100%;\\n flex: 0 1 auto;\\n\"],[\"\\n box-sizing: border-box;\\n display: inline-block;\\n padding: \",\";\\n position: relative;\\n width: 100%;\\n flex: 0 1 auto;\\n\"])),(function(n){return n.theme.spacing.xs})),x=i(u)(l||(l=n([\"\\n width: 50%;\\n display: block;\\n float: left;\\n\\n @media (min-width: \",\") {\\n flex: 0 0 140px;\\n width: auto;\\n }\\n\"],[\"\\n width: 50%;\\n display: block;\\n float: left;\\n\\n @media (min-width: \",\") {\\n flex: 0 0 140px;\\n width: auto;\\n }\\n\"])),(function(n){return n.theme.breakpoint.desktop})),b=i(u)(d||(d=n([\"\\n width: 50%;\\n display: block;\\n float: left;\\n\\n @media (min-width: \",\") {\\n flex: 0 0 170px;\\n width: auto;\\n }\\n\"],[\"\\n width: 50%;\\n display: block;\\n float: left;\\n\\n @media (min-width: \",\") {\\n flex: 0 0 170px;\\n width: auto;\\n }\\n\"])),(function(n){return n.theme.breakpoint.desktop})),g=i.nav(a||(a=n([\"\\n display: flex;\\n flex-direction: column;\\n a {\\n font-size: \",\";\\n font-weight: \",\";\\n }\\n\"],[\"\\n display: flex;\\n flex-direction: column;\\n a {\\n font-size: \",\";\\n font-weight: \",\";\\n }\\n\"])),(function(n){return n.theme.fontSizes.s}),(function(n){return n.theme.typography.fontWeightLinks})),y=i.ul(r||(r=n([\"\\n padding: 0;\\n margin: 0;\\n\"],[\"\\n padding: 0;\\n margin: 0;\\n\"]))),w=i.li(s||(s=n([\"\\n list-style-type: none;\\n display: block;\\n padding: 0;\\n margin: 0;\\n line-height: 1;\\n padding-bottom: \",\";\\n\"],[\"\\n list-style-type: none;\\n display: block;\\n padding: 0;\\n margin: 0;\\n line-height: 1;\\n padding-bottom: \",\";\\n\"])),(function(n){return n.theme.spacing.xxs})),k=i(u)(p||(p=n([\"\\n flex: 0 0 150px;\\n\"],[\"\\n flex: 0 0 150px;\\n\"]))),v=i.img(f||(f=n([\"\\n height: 40px;\\n width: auto;\\n\"],[\"\\n height: 40px;\\n width: auto;\\n\"]))),z=i.address(c||(c=n([\"\\n display: flex;\\n flex-direction: column;\\n font-style: normal;\\n\"],[\"\\n display: flex;\\n flex-direction: column;\\n font-style: normal;\\n\"])));export{m as FooterContentWrapper,u as FooterSection,k as FooterSectionAddress,b as FooterSectionLinks,x as FooterSectionLogo,z as StyledAddress,h as StyledFooter,w as StyledLI,g as StyledNav,v as StyledRegulatorLogo,y as StyledUL};\n//# sourceMappingURL=styles.js.map\n","import{__assign as e}from\"../../../node_modules/tslib/tslib.es6.js\";import t from\"react\";import{useTheme as n,ThemeProvider as l}from\"styled-components\";import{crukTheme as r}from\"../../themes/cruk.js\";import{Text as o}from\"../Text/index.js\";import{StyledFooter as a,FooterContentWrapper as m,FooterSectionLogo as i,StyledRegulatorLogo as s,FooterSectionLinks as c,StyledNav as E,StyledUL as f,StyledLI as u,FooterSection as p,FooterSectionAddress as d,StyledAddress as g}from\"./styles.js\";function x(x){var h=x.children,S=x.middleSection,y=t.Children.toArray(h),z=n(),C=e(e({},r),z);return t.createElement(l,{theme:C},t.createElement(a,null,t.createElement(m,null,t.createElement(i,null,t.createElement(s,{width:130,height:40,alt:C.siteConfig.footerLogoAlt||\"\",src:C.siteConfig.footerLogoSrc||\"\"})),t.createElement(c,null,t.createElement(E,{\"aria-label\":\"footer links\"},t.createElement(f,null,y.length?y.map((function(e,n){var l=\"footerLink\".concat(n);return t.createElement(u,{key:l},e)})):null))),t.createElement(p,null,S?\"string\"==typeof S?t.createElement(o,{textSize:\"s\"},S):t.createElement(t.Fragment,null,S):t.createElement(o,{textSize:\"s\"},C.siteConfig.footerCopyText)),t.createElement(d,null,t.createElement(g,null,t.createElement(o,{as:\"span\",textSize:\"s\"},\"2 Redman Place\"),t.createElement(o,{as:\"span\",textSize:\"s\"},\"London\"),t.createElement(o,{as:\"span\",textSize:\"s\"},\"E20 1JQ\"))))))}export{x as Footer,x as default};\n//# sourceMappingURL=index.js.map\n","import{useLayoutEffect as n}from\"react\";var o=function(o,t){n((function(){\"undefined\"!=typeof window&&o()}),[t])};export{o as default,o as useLayoutEffectBrowser};\n//# sourceMappingURL=useLayoutEffectBrowser.js.map\n","import{useRef as e}from\"react\";import n from\"./useLayoutEffectBrowser.js\";var r=\"undefined\"!=typeof window;function t(e){var n=e.element,t=e.useWindow;if(!r)return{x:0,y:0};var o=n?n.current:document.body,u=o?o.getBoundingClientRect():{top:0,left:0};return t?{x:window.scrollX,y:window.scrollY}:{x:u.left,y:u.top}}var o=function(o,u,i,l,c){var d=e(t({useWindow:l,element:i})),f=null,s=function(){var e=t({element:i,useWindow:l});o({prevPos:d.current,currPos:e}),d.current=e,f=null};n((function(){var e=function(){null===f&&(f=setTimeout(s,c))};return r&&window.addEventListener(\"scroll\",e),function(){r&&window.removeEventListener(\"scroll\",e)}}),u)};export{o as default,o as useScrollPosition};\n//# sourceMappingURL=useScrollPosition.js.map\n","import{__makeTemplateObject as n}from\"../../../node_modules/tslib/tslib.es6.js\";import i from\"styled-components\";import{crukTheme as t}from\"../../themes/cruk.js\";var e,o,r,a,d,h,s,u,l,c,p,g=\"120px\",x=\"72px\",f=t.spacing.xs,m=\"40px\",b=\"0.2s\",w=i.header(e||(e=n([\"\\n box-sizing: border-box;\\n position: relative;\\n width: 100%;\\n background-color: \",\";\\n z-index: 9998;\\n\"],[\"\\n box-sizing: border-box;\\n position: relative;\\n width: 100%;\\n background-color: \",\";\\n z-index: 9998;\\n\"])),(function(n){return n.theme.colors.headerBackground})),y=i.div(o||(o=n([\"\\n position: relative;\\n box-sizing: border-box;\\n width: 100%;\\n height: \",\";\\n\\n @media (min-width: \",\") {\\n height: \",\";\\n }\\n\"],[\"\\n position: relative;\\n box-sizing: border-box;\\n width: 100%;\\n height: \",\";\\n\\n @media (min-width: \",\") {\\n height: \",\";\\n }\\n\"])),x,(function(n){return n.theme.breakpoint.desktop}),g),v=i.div(r||(r=n([\"\\n box-sizing: border-box;\\n width: 100%;\\n height: 100%;\\n padding: 0 \",\";\\n background-color: \",\";\\n position: relative;\\n border-bottom: \",\";\\n height: \",\";\\n box-shadow: \",\";\\n top: \",\";\\n position: \",\";\\n transition: height \",\" ease;\\n\\n @media (min-width: \",\") {\\n position: \",\";\\n height: \",\";\\n }\\n\"],[\"\\n box-sizing: border-box;\\n width: 100%;\\n height: 100%;\\n padding: 0 \",\";\\n background-color: \",\";\\n position: relative;\\n border-bottom: \",\";\\n height: \",\";\\n box-shadow: \",\";\\n top: \",\";\\n position: \",\";\\n transition: height \",\" ease;\\n\\n @media (min-width: \",\") {\\n position: \",\";\\n height: \",\";\\n }\\n\"])),f,(function(n){return n.theme.colors.headerBackground}),(function(n){var i=n.theme.colors.headerBorder;return\"solid 1px \".concat(i)}),x,(function(n){var i=n.theme;return n.$isSticky?i.shadows.l:\"none\"}),(function(n){return n.$isSticky?0:\"auto\"}),(function(n){return n.$isSticky?\"fixed\":\"relative\"}),b,(function(n){return n.theme.breakpoint.desktop}),(function(n){return n.$isSticky?\"fixed\":\"relative\"}),(function(n){var i=n.$isSmall,t=n.$isSticky;return i&&t?x:g})),k=i.div(a||(a=n([\"\\n box-sizing: border-box;\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n width: 100%;\\n height: 100%;\\n margin: 0 auto;\\n max-width: \",\";\\n\"],[\"\\n box-sizing: border-box;\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n width: 100%;\\n height: 100%;\\n margin: 0 auto;\\n max-width: \",\";\\n\"])),(function(n){var i=n.$fullWidth,t=n.theme.utilities.contentMaxWidth;return i?\"100%\":t})),z=i.img(d||(d=n([\"\\n height: 100%;\\n width: auto;\\n max-width: 100%;\\n max-height: 100%;\\n\"],[\"\\n height: 100%;\\n width: auto;\\n max-width: 100%;\\n max-height: 100%;\\n\"]))),S=i.div(h||(h=n([\"\\n display: flex;\\n flex-direction: column;\\n justify-content: space-around;\\n width: auto;\\n transition: height \",\" ease;\\n\\n height: \",\";\\n\\n @media (min-width: \",\") {\\n height: \",\";\\n }\\n\"],[\"\\n display: flex;\\n flex-direction: column;\\n justify-content: space-around;\\n width: auto;\\n transition: height \",\" ease;\\n\\n height: \",\";\\n\\n @media (min-width: \",\") {\\n height: \",\";\\n }\\n\"])),b,m,(function(n){return n.theme.breakpoint.desktop}),(function(n){var i=n.$isSmall,t=n.$isSticky;return i&&t?m:\"80px\"})),$=i.a(s||(s=n([\"\\n display: inline-block;\\n\"],[\"\\n display: inline-block;\\n\"]))),j=i.a(u||(u=n([\"\\n left: -999px;\\n position: absolute;\\n top: auto;\\n width: 1px;\\n height: 1px;\\n overflow: hidden;\\n z-index: -999;\\n &:focus,\\n &:active,\\n &:focus-within {\\n left: auto;\\n top: auto;\\n width: 30%;\\n height: auto;\\n overflow: auto;\\n margin: 10px 35%;\\n padding: \",\";\\n border-radius: 15px;\\n border: 4px solid yellow;\\n text-align: center;\\n font-size: 1.2em;\\n z-index: 999;\\n }\\n\"],[\"\\n left: -999px;\\n position: absolute;\\n top: auto;\\n width: 1px;\\n height: 1px;\\n overflow: hidden;\\n z-index: -999;\\n &:focus,\\n &:active,\\n &:focus-within {\\n left: auto;\\n top: auto;\\n width: 30%;\\n height: auto;\\n overflow: auto;\\n margin: 10px 35%;\\n padding: \",\";\\n border-radius: 15px;\\n border: 4px solid yellow;\\n text-align: center;\\n font-size: 1.2em;\\n z-index: 999;\\n }\\n\"])),(function(n){return n.theme.spacing.xs})),B=i.p(l||(l=n([\"\\n flex: 1 1 auto;\\n font-family: \",\";\\n font-weight: \",\";\\n font-size: \",\";\\n color: \",\";\\n text-align: center;\\n opacity: 0;\\n transition: opacity \",\" ease;\\n display: none;\\n\\n @media (min-width: \",\") {\\n display: block;\\n opacity: \",\";\\n }\\n\"],[\"\\n flex: 1 1 auto;\\n font-family: \",\";\\n font-weight: \",\";\\n font-size: \",\";\\n color: \",\";\\n text-align: center;\\n opacity: 0;\\n transition: opacity \",\" ease;\\n display: none;\\n\\n @media (min-width: \",\") {\\n display: block;\\n opacity: \",\";\\n }\\n\"])),(function(n){return n.theme.typography.fontFamilyHeadings}),(function(n){return n.theme.typography.fontWeightHeadings}),(function(n){return n.theme.fontSizes.xl}),(function(n){return n.theme.colors.headerTaglineText}),b,(function(n){return n.theme.breakpoint.desktop}),(function(n){var i=n.$isSmall,t=n.$isSticky;return i&&t?0:1})),W=i.div(c||(c=n([\"\\n height: 100%;\\n display: flex;\\n flex-direction: column;\\n justify-content: space-around;\\n\"],[\"\\n height: 100%;\\n display: flex;\\n flex-direction: column;\\n justify-content: space-around;\\n\"]))),H=i.div(p||(p=n([\"\\n height: auto;\\n margin: auto 0;\\n\"],[\"\\n height: auto;\\n margin: auto 0;\\n\"])));export{H as ChildInner,W as ChildWrapper,k as HeaderMainContent,v as HeaderStickyContainer,y as HeaderStickyPlaceHolder,z as Logo,S as LogoWrapper,j as SkipToMain,w as StyledHeader,$ as StyledLink,B as Tagline};\n//# sourceMappingURL=styles.js.map\n","import{__assign as e}from\"../../../node_modules/tslib/tslib.es6.js\";import t,{useState as l}from\"react\";import{useTheme as o,ThemeProvider as n}from\"styled-components\";import i from\"../../hooks/useScrollPosition.js\";import{crukTheme as r}from\"../../themes/cruk.js\";import{StyledHeader as m,HeaderStickyPlaceHolder as c,HeaderStickyContainer as s,SkipToMain as a,HeaderMainContent as u,StyledLink as f,LogoWrapper as g,Logo as d,Tagline as E,ChildWrapper as S,ChildInner as h}from\"./styles.js\";function k(k){var p=k.isSticky,y=k.siteSlogan,$=k.logoAltText,j=k.logoImageSrc,C=k.logoLinkTitle,b=k.logoLinkUrl,v=k.fullWidth,w=k.children,x=l(!1),A=x[0],L=x[1],P=\"undefined\"!=typeof window,T=o(),U=e(e({},r),T);return i((function(e){var t=e.currPos,l=!!P&&t.y>240;l!==A&&L(l)}),[A],null,!0,50),t.createElement(n,{theme:U},t.createElement(m,null,t.createElement(c,null,t.createElement(s,{\"data-cy\":\"header-sticky-container\",$isSmall:A,$isSticky:p},t.createElement(a,{href:\"#main\"},\"Skip to main content\"),t.createElement(u,{$fullWidth:v},t.createElement(f,{href:null!=b?b:U.siteConfig.logoUrl,title:null!=C?C:\"Home\"},t.createElement(g,{$isSmall:A,$isSticky:p},t.createElement(d,{height:80,src:null!=j?j:U.siteConfig.logoSrc,alt:null!=$?$:U.siteConfig.logoAlt}))),y?t.createElement(E,{$isSmall:A,$isSticky:p},y):null,t.createElement(S,null,t.createElement(h,null,w)))))))}export{k as Header,k as default};\n//# sourceMappingURL=index.js.map\n","import { useCallback, useState } from \"react\";\nimport { useLayoutEffectBrowser } from \"@fwa/src/hooks/useLayoutEffectBrowser\";\nimport { isBrowser } from \"../utils/browserUtils\";\n\nexport const useOrientation = () => {\n const [orientation, setOrientation] = useState({\n angle: 0,\n type: \"landscape-primary\",\n });\n\n const handleOrientationchange = useCallback(() => {\n if (!isBrowser) return;\n setOrientation({\n type: \"UNKNOWN\",\n angle: window?.orientation || 0,\n });\n }, []);\n\n const handleChange = useCallback(() => {\n if (!isBrowser) return;\n const { angle, type } = window.screen.orientation;\n setOrientation({\n angle,\n type,\n });\n }, []);\n\n useLayoutEffectBrowser(() => {\n if (isBrowser) {\n if (window.screen?.orientation) {\n handleChange();\n window.screen.orientation.addEventListener(\"change\", handleChange);\n } else {\n handleOrientationchange();\n window.addEventListener(\"orientationchange\", handleOrientationchange);\n }\n }\n return () => {\n if (isBrowser) {\n if (window.screen?.orientation) {\n window.screen.orientation.removeEventListener(\"change\", handleChange);\n } else {\n window.removeEventListener(\n \"orientationchange\",\n handleOrientationchange,\n );\n }\n }\n };\n }, []);\n\n return orientation;\n};\n\nexport default useOrientation;\n","import { useRef, type DependencyList, type RefObject } from \"react\";\n\nimport { useLayoutEffectBrowser } from \"./useLayoutEffectBrowser\";\n\nconst isBrowser = typeof window !== `undefined`;\n\ntype PositionType = {\n x: number;\n y: number;\n};\ntype EffectProps = {\n prevPos: PositionType;\n currPos: PositionType;\n};\n\nfunction getScrollPosition({\n element,\n useWindow,\n}: {\n element?: RefObject | null;\n useWindow: boolean;\n}) {\n if (!isBrowser) return { x: 0, y: 0 };\n\n const target = element ? element.current : document.body;\n const position = target\n ? target.getBoundingClientRect()\n : { top: 0, left: 0 };\n\n return useWindow\n ? { x: window.scrollX, y: window.scrollY }\n : { x: position.left, y: position.top };\n}\n\nexport const useScrollPosition = (\n effect: (props: EffectProps) => void,\n deps: DependencyList,\n element: RefObject | null,\n useWindow: boolean,\n wait: number,\n) => {\n const scrollPosition = useRef(getScrollPosition({ useWindow, element }));\n\n let throttleTimeout: number | null = null;\n\n const callBack = () => {\n const currPos = getScrollPosition({ element, useWindow });\n effect({ prevPos: scrollPosition.current, currPos });\n scrollPosition.current = currPos;\n throttleTimeout = null;\n };\n\n useLayoutEffectBrowser(() => {\n const handleScroll = () => {\n if (wait) {\n if (throttleTimeout === null) {\n throttleTimeout = window.setTimeout(callBack, wait);\n }\n } else {\n callBack();\n }\n };\n if (isBrowser) {\n window.addEventListener(\"scroll\", handleScroll);\n }\n\n return () => {\n if (isBrowser) {\n window.removeEventListener(\"scroll\", handleScroll);\n }\n };\n }, deps);\n};\n\nexport default useScrollPosition;\n","import styled from \"styled-components\";\nimport { Button, Text, type ThemeType } from \"@cruk/cruk-react-components\";\n\nexport const TopSectionWrapper = styled.div`\n @media print {\n display: none;\n }\n`;\n\nexport const LogInButton = styled(Button)`\n padding-left: 1.5em;\n padding-right: 1.5rem;\n\n span div {\n margin-top: 0 !important;\n }\n`;\n\nexport const UserNav = styled.nav<{\n $open: boolean;\n $isSmall: boolean;\n theme: ThemeType;\n}>`\n position: fixed;\n width: 100%;\n z-index: 10000;\n background-color: ${({ theme }) => theme.colors.headerBackground};\n height: auto;\n overflow: hidden;\n transition:\n transform 0.2s ease,\n max-height 0.2s ease,\n opacity 0.2s ease;\n max-height: ${({ $open }) => ($open ? \"1000px\" : 0)};\n transform: ${({ $open }) => ($open ? \"scaleY(1)\" : \"scaleY(0)\")};\n opacity: ${({ $open }) => ($open ? 1 : 0)};\n transform-origin: top right;\n border-bottom: solid 1px ${({ theme }) => theme.colors.headerBorder};\n visibility: ${({ $open }) => ($open ? \"visible\" : \"hidden\")};\n\n @media (min-width: ${({ theme }) => theme.breakpoint.desktop}) {\n width: auto;\n right: 1.5rem;\n top: ${({ $isSmall }) => ($isSmall ? \"3.75rem\" : \"5.25rem\")};\n padding: 0 ${({ theme }) => theme.spacing.m};\n border: solid 1px ${({ theme }) => theme.colors.headerBorder};\n transform: ${({ $open }) => ($open ? \"scale(1)\" : \"scale(0)\")};\n }\n\n /* we need to match header margin behaviour when absolutely positioned */\n @media (min-width: 1068px) {\n right: calc(50% - 510px);\n }\n`;\n\nexport const LinkText = styled(Text)``;\n\nexport const UserNavList = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n`;\n\nexport const UserNavSpan = styled.span<{\n theme: ThemeType;\n}>`\n position: relative;\n display: block;\n width: 100%;\n padding: ${({ theme }) => theme.spacing.xxs} 0;\n text-decoration: none;\n border: none;\n background-color: ${({ theme }) => theme.colors.backgroundLight};\n ${LinkText} {\n color: ${({ theme }) => theme.colors.textDark};\n font-weight: ${({ theme }) => theme.typography.fontWeightLinks};\n transition: color 0.2s ease;\n }\n\n &:hover {\n cursor: pointer;\n ${LinkText} {\n color: ${({ theme }) => theme.colors.linkColorHover};\n }\n }\n`;\n\nexport const UserNavLink = styled.a<{\n theme: ThemeType;\n}>`\n position: relative;\n display: block;\n width: 100%;\n padding: ${({ theme }) => theme.spacing.xxs} 0;\n text-decoration: none;\n border: none;\n background-color: ${({ theme }) => theme.colors.backgroundLight};\n ${LinkText} {\n color: ${({ theme }) => theme.colors.textDark};\n font-weight: ${({ theme }) => theme.typography.fontWeightLinks};\n transition: color 0.2s ease;\n }\n\n &:hover {\n cursor: pointer;\n ${LinkText} {\n color: ${({ theme }) => theme.colors.linkColorHover};\n }\n }\n`;\n\nexport const FlippingIcon = styled.span<{\n theme: ThemeType;\n $active: boolean;\n}>`\n transform: ${({ $active }: { $active: boolean }) =>\n $active ? \"rotate(180deg) scaleX(-1)\" : \"scaleX(1)\"};\n transition: transform linear 0.5s;\n margin: auto;\n`;\n\nexport const AvatarButton = styled(Button)`\n position: relative;\n height: 48px;\n padding: 0 16px !important;\n\n span {\n display: inline-block;\n line-height: 1;\n }\n`;\n\nexport const AvatarWrapper = styled.span<{\n theme: ThemeType;\n}>`\n margin-right: ${({ theme }) => theme.spacing.xxs};\n\n img {\n vertical-align: bottom;\n }\n`;\n\nexport const AccountPromptBadge = styled.div<{\n theme: ThemeType;\n}>`\n position: absolute;\n top: ${({ theme }) => `-${theme.spacing.xxs}`};\n right: 0;\n`;\n\nexport const SettingsPromptBadge = styled.div<{\n theme: ThemeType;\n}>`\n display: inline-block;\n margin-left: ${({ theme }) => theme.spacing.xxs};\n`;\n\nexport const LinkTextWithBadge = styled.div`\n display: flex;\n justify-content: center;\n\n p {\n margin-bottom: 0;\n }\n`;\n","import { useState, useRef, useEffect } from \"react\";\nimport NextLink from \"next/link\";\nimport { useRouter } from \"next/compat/router\";\nimport {\n Header,\n Avatar,\n Text,\n Badge,\n IconFa,\n} from \"@cruk/cruk-react-components\";\nimport { faChevronDown } from \"@fortawesome/free-solid-svg-icons\";\n\nimport { useTracking } from \"@fwa/src/hooks/useTracking\";\nimport { useBrandContext } from \"@fwa/src/contexts/BrandContext\";\nimport { useOrientation } from \"@fwa/src/hooks/useOrientation\";\nimport { useScrollPosition } from \"@fwa/src/hooks/useScrollPosition\";\nimport { isBrowser } from \"@fwa/src/utils/browserUtils\";\nimport { imagePathFromImageType } from \"@fwa/src/services/imageService\";\nimport { useKey } from \"@fwa/src/hooks/useKey\";\nimport { useFundraiserContext } from \"@fwa/src/contexts/FundraiserContext\";\nimport { logIn, logOut } from \"@fwa/src/services/auth\";\n\nimport { RowAlignCenter } from \"@fwa/src/components/styles\";\n\nimport {\n UserNav,\n LinkText,\n UserNavList,\n UserNavLink,\n UserNavSpan,\n FlippingIcon,\n AvatarButton,\n AvatarWrapper,\n LogInButton,\n AccountPromptBadge,\n SettingsPromptBadge,\n LinkTextWithBadge,\n TopSectionWrapper,\n} from \"./styles\";\n\nconst ENV_NAME = process.env.NEXT_PUBLIC_ENV_NAME || \"\";\nconst HEADER_SCROLL_THRESHOLD = 66;\n\nexport const TopSection = () => {\n const { trackEventGtm, trackError } = useTracking();\n const [brandContext] = useBrandContext();\n const { type: orientationType } = useOrientation();\n\n const navRef = useRef(null);\n const buttonRef = useRef(null);\n const router = useRouter();\n const [userNavOpen, setUserNavOpen] = useState(false);\n const [fundraiserState, setFundraiserState] = useFundraiserContext();\n const { fundraiser, tempPassword } = fundraiserState;\n const [isSmall, setIsSmall] = useState(false);\n const hasWindow = isBrowser;\n\n const shouldHeaderBeSticky = isBrowser\n ? [\"portrait-primary\", \"portrait-secondary\"].includes(orientationType) ||\n window?.innerHeight > 600\n : true;\n\n const loginButtonDisabled = fundraiserState?.loggedInStatus !== \"loggedOut\";\n\n const isAdmin = /@cancer.org.uk$/.test(fundraiser?.emailAddress || \"\");\n const adminUrl =\n ENV_NAME === \"production\"\n ? \"https://admin.fundraise.cancerresearchuk.org/admin\"\n : `https://integration.admin.ofr.int.cruk.org/`;\n\n const avatartUrl = fundraiser?.profileImage\n ? fundraiser.profileImage.entityType === \"ImageFacebook\"\n ? fundraiser.profileImage.url\n : imagePathFromImageType(fundraiser.profileImage)\n : \"\";\n\n useScrollPosition(\n ({\n currPos,\n }: {\n prevPos: { x: number; y: number };\n currPos: { x: number; y: number };\n }) => {\n const shouldShrink = isBrowser\n ? currPos.y > HEADER_SCROLL_THRESHOLD\n : false;\n if (shouldShrink !== isSmall) {\n setIsSmall(shouldShrink);\n }\n },\n [isSmall],\n null,\n true,\n 100,\n );\n\n const handleAvatarClicked = () => {\n setUserNavOpen(!userNavOpen);\n };\n\n const handleLogOutClicked = () => {\n setUserNavOpen(false);\n trackEventGtm({\n event: \"logout\",\n loggedInUserId: null,\n });\n if (\n router?.pathname.startsWith(\"/fundraiser/\") ||\n router?.pathname.startsWith(\"/signup/\") ||\n router?.pathname.startsWith(\"/createpage/\")\n ) {\n router?.push(\"/\").catch((err) => {\n trackError(err as Error, { component: \"TopSection\" });\n });\n }\n logOut()\n .then(() => {\n setFundraiserState({\n ...fundraiserState,\n loggedInStatus: \"loggedOut\",\n fundraiser: null,\n });\n return undefined;\n })\n .catch((err) => {\n trackError(err as Error, { component: \"TopSection\" });\n });\n };\n\n const handleLinkClicked = () => {\n setUserNavOpen(false);\n };\n\n // outside click closes popover\n const clickShouldCloseMenu = (e: MouseEvent) => {\n const eventTarget = e.target as HTMLElement;\n // ignore button click let button clickhander work\n const isDescendantButton = buttonRef?.current?.contains(eventTarget);\n if (isDescendantButton) {\n return;\n }\n const isDescendantOfNav = navRef?.current?.contains(eventTarget);\n if (!isDescendantOfNav) {\n setUserNavOpen(false);\n }\n };\n\n // escape key closes popover\n const escShouldCloseMenu = () => {\n const focusedElement = document.activeElement;\n const isDescendantButton = buttonRef?.current?.contains(focusedElement);\n const isDescendantOfNav = navRef?.current?.contains(focusedElement);\n if (isDescendantButton || isDescendantOfNav) {\n setUserNavOpen(false);\n if (buttonRef?.current) buttonRef.current.focus();\n }\n };\n\n useKey(\n () => {\n escShouldCloseMenu();\n },\n {\n detectKeys: [\"Escape\"],\n },\n [],\n );\n\n useEffect(() => {\n if (hasWindow) {\n document.addEventListener(\"click\", clickShouldCloseMenu, true);\n }\n return () => {\n if (hasWindow) {\n document.removeEventListener(\"click\", clickShouldCloseMenu, true);\n }\n };\n }, [hasWindow]);\n\n return (\n \n \n {fundraiser ? (\n \n \n \n \n \n \n \n \n \n {tempPassword && (\n \n \n \n 1\n \n \n \n )}\n \n ) : null}\n {!fundraiser ? (\n \n Log in\n \n ) : null}\n \n {fundraiser ? (\n \n \n
  • \n \n \n Your dashboard\n \n \n
  • \n
  • \n \n \n \n Account settings\n {tempPassword && (\n \n \n \n 1\n \n \n \n )}\n \n \n \n
  • \n {isAdmin && (\n
  • \n \n Admin\n \n
  • \n )}\n
  • \n \n Help\n \n
  • \n
  • \n \n Log out\n \n
  • \n
    \n \n ) : null}\n
    \n );\n};\n\nexport default TopSection;\n","import styled from \"styled-components\";\nimport { Button, type ThemeType } from \"@cruk/cruk-react-components\";\n\n// makes sure footer stays near the bottom of the screen\nexport const PageContentWrapper = styled.div<{\n $isFullBleed: boolean;\n theme: ThemeType;\n}>`\n min-height: calc(100vh - 200px);\n margin: 0;\n overflow: hidden;\n background-color: ${({ theme, $isFullBleed }) =>\n $isFullBleed ? theme.colors.backgroundLight : \"transparent\"};\n @media (min-width: ${({ theme }) => theme.breakpoint.mobile}) {\n margin: 0\n ${({ theme, $isFullBleed }) => ($isFullBleed ? 0 : theme.spacing.xs)};\n }\n\n @media print {\n min-height: 100vh;\n }\n`;\n\nexport const FooterWrapper = styled.div<{\n theme: ThemeType;\n}>`\n padding-bottom: ${({ theme }) => theme.spacing.xxl};\n clear: both;\n background-color: ${({ theme }) => theme.colors.backgroundLight};\n\n @media print {\n display: none;\n }\n`;\n\nexport const StyledUL = styled.ul<{\n theme: ThemeType;\n}>`\n padding-left: ${({ theme }) => theme.spacing.xxs};\n list-style: none;\n`;\n\nexport const StyledButton = styled(Button)<{\n theme: ThemeType;\n}>`\n && {\n border: none;\n text-transform: none;\n text-decoration: none;\n min-height: 0;\n font-family: ${({ theme }) => theme.typography.fontFamilyLinks};\n font-weight: ${({ theme }) => theme.typography.fontWeightLinks};\n font-size: ${({ theme }) => theme.fontSizes.s};\n color: ${({ theme }) => theme.colors.linkColor};\n position: relative;\n text-align: left;\n }\n`;\n\nexport const StyledLi = styled.li<{\n theme: ThemeType;\n}>`\n margin-bottom: ${({ theme }) => theme.spacing.xxs};\n a {\n font-size: ${({ theme }) => theme.fontSizes.s};\n }\n`;\n\nexport const ChevronWrapper = styled.span<{\n $active: boolean;\n theme: ThemeType;\n}>`\n margin: 0 ${({ theme }) => theme.spacing.xxs};\n transform: rotateX(${({ $active }) => ($active ? 180 : 0)}deg);\n transition: transform 0.5s ease;\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n`;\nexport const TermsContent = styled.span`\n display: flex;\n white-space: pre;\n`;\n","import { type ReactNode, useState } from \"react\";\nimport { useTheme } from \"styled-components\";\nimport {\n Footer,\n Link,\n type ThemeType,\n IconFa,\n} from \"@cruk/cruk-react-components\";\nimport { faChevronDown } from \"@fortawesome/free-solid-svg-icons\";\n\nimport { reportFormUrl } from \"@fwa/src/services/reportFormService\";\nimport { useFundraiserContext } from \"@fwa/src/contexts/FundraiserContext\";\n\nimport { TopSection } from \"@fwa/src/components/TopSection\";\n\nimport {\n PageContentWrapper,\n StyledUL,\n StyledLi,\n StyledButton,\n ChevronWrapper,\n TermsContent,\n FooterWrapper,\n} from \"./styles\";\nimport { isBrowser } from \"@fwa/src/utils/browserUtils\";\n\ntype LayoutProps = {\n children: ReactNode;\n path: string;\n};\n\nexport const Layout = ({ children, path }: LayoutProps) => {\n const fullBleedRoutes = [\n \"/\",\n \"/fundraiser/dashboard\",\n \"/page/print/[...slug]\",\n ];\n const [showLinks, setShowLinks] = useState(false);\n const isFullBleed = fullBleedRoutes.includes(path);\n const theme = useTheme();\n const typedTheme = theme as ThemeType;\n const [fundraiserState] = useFundraiserContext();\n const { fundraiser } = fundraiserState;\n\n const handleClick = () => {\n setShowLinks(!showLinks);\n };\n\n return (\n <>\n \n
    \n \n {children}\n \n
    \n \n
    \n \n Contact us\n \n \n Fees and charges\n \n \n \n Terms & Conditions\n \n \n \n \n \n {showLinks ? (\n \n \n \n Cancer Research UK\n \n \n \n \n Stand Up o Cancer\n \n \n \n ) : null}\n \n Privacy\n \n \n Cookies\n \n \n Accessibility\n \n \n Report this page\n \n \n Help\n \n
    \n
    \n \n );\n};\n\nexport default Layout;\n","import { useEffect, useRef } from \"react\";\nimport { useRouter } from \"next/compat/router\";\n\nimport { useFundraiserContext } from \"@fwa/src/contexts/FundraiserContext\";\nimport { useTracking } from \"@fwa/src/hooks/useTracking\";\nimport { useBrandContext } from \"@fwa/src/contexts/BrandContext\";\n\n// listens for page changes and updates GTM with a page_loaded event\nexport const TrackingRouteListener = () => {\n const [fundraiserState] = useFundraiserContext();\n const [brandName] = useBrandContext();\n const isLoggedInStatusKnown =\n fundraiserState.loggedInStatus &&\n fundraiserState.loggedInStatus !== \"unknown\";\n const { trackEventGtm } = useTracking();\n const router = useRouter();\n const route = router?.route ?? \"\";\n const oldRoute = useRef(\"init\");\n\n useEffect(() => {\n if (\n route !== oldRoute.current &&\n fundraiserState &&\n isLoggedInStatusKnown &&\n brandName\n ) {\n oldRoute.current = route;\n trackEventGtm({\n event: \"page_loaded\",\n brand: brandName,\n loggedInUserId: fundraiserState.fundraiser?.uniqueId,\n });\n }\n }, [isLoggedInStatusKnown, fundraiserState, route, trackEventGtm, brandName]);\n\n return null;\n};\n\nexport default TrackingRouteListener;\n","import { useEffect } from \"react\";\nimport { createInstance } from \"@optimizely/optimizely-sdk\";\nimport { useOptimizelyContext } from \"@fwa/src/contexts/OptimizelyContext\";\nimport { useLocalStorage } from \"@fwa/src/hooks/useLocalStorage\";\nimport { useLayoutEffectBrowser } from \"@fwa/src/hooks/useLayoutEffectBrowser\";\n\nfunction generateUUID() {\n // Public Domain/MIT\n let d = new Date().getTime(); // Timestamp\n let d2 =\n (typeof performance !== \"undefined\" &&\n performance.now &&\n performance.now() * 1000) ||\n 0; // Time in microseconds since page-load or 0 if unsupported\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\n let r = Math.random() * 16; // random number between 0 and 16\n if (d > 0) {\n // Use timestamp until depleted\n r = (d + r) % 16 | 0;\n d = Math.floor(d / 16);\n } else {\n // Use microseconds since page-load if supported\n r = (d2 + r) % 16 | 0;\n d2 = Math.floor(d2 / 16);\n }\n return (c === \"x\" ? r : (r & 0x3) | 0x8).toString(16);\n });\n}\n\nexport type OptimizelyLoaderProps = {\n sdkKey: string;\n onError?: (err: Error) => void;\n};\n\n/**\n * OptimizelyLoader initialises optimizely and sets user details\n */\nexport const OptimizelyLoader = ({\n sdkKey = \"\",\n onError,\n}: OptimizelyLoaderProps) => {\n const { optimizelyContext, setOptimizelyContext } = useOptimizelyContext();\n // \"logged_out\" is default effectively user_id unset\n const { value: optimizelyId, setValue: setOptimizelyId } = useLocalStorage(\n \"optimizely\",\n \"logged_out\",\n );\n\n // init optimizely if we have a sdk key\n useEffect(() => {\n if (\n !sdkKey.length ||\n !optimizelyContext ||\n !setOptimizelyContext ||\n optimizelyContext.optimizelyClient\n )\n return;\n\n const client = createInstance({\n sdkKey,\n datafileOptions: { autoUpdate: true, updateInterval: 300000 },\n eventBatchSize: 20,\n eventFlushInterval: 1000,\n });\n if (client) {\n client\n .onReady()\n .then(() => {\n setOptimizelyContext({\n ...optimizelyContext,\n optimizelyClient: client,\n });\n return undefined;\n })\n .catch((err: Error) => {\n if (onError) onError(err);\n });\n }\n }, [\n sdkKey,\n optimizelyContext,\n setOptimizelyContext,\n onError,\n optimizelyContext.optimizelyClient,\n ]);\n\n // wait till we have access to browser to see if there is a stored optimizely id\n // if so use it, if not create one and use that\n useLayoutEffectBrowser(() => {\n if (optimizelyId === \"logged_out\") {\n const randomId = generateUUID();\n setOptimizelyId(randomId);\n }\n }, [optimizelyId]);\n\n // once we get/set an optimizely id and we have an optimizely client\n // create a user context if one doesn't exist\n useEffect(() => {\n if (\n !sdkKey.length ||\n !optimizelyContext ||\n !optimizelyContext.optimizelyClient ||\n !optimizelyId ||\n !setOptimizelyContext ||\n optimizelyId === \"logged_out\" ||\n optimizelyContext.optimizelyUserContext\n )\n return;\n\n const userContext = optimizelyContext.optimizelyClient.createUserContext(\n optimizelyId,\n { user_id: optimizelyId },\n );\n setOptimizelyContext({\n ...optimizelyContext,\n optimizelyUserContext: userContext,\n });\n }, [\n sdkKey.length,\n optimizelyContext,\n optimizelyContext.optimizelyClient,\n optimizelyId,\n setOptimizelyContext,\n optimizelyContext.optimizelyUserContext,\n ]);\n\n return null;\n};\n\nexport default OptimizelyLoader;\n","import { useEffect } from \"react\";\nimport { setLogger } from \"@optimizely/optimizely-sdk\";\n\nimport { useFundraiserContext } from \"@fwa/src/contexts/FundraiserContext\";\nimport { useOptimizelyContext } from \"@fwa/src/contexts/OptimizelyContext\";\nimport { useTracking } from \"@fwa/src/hooks/useTracking\";\n\nimport { OptimizelyLoader } from \"@fwa/src/components/OptimizelyLoader\";\n\nconst OPTIMIZELY_SDK_KEY = process.env.NEXT_PUBLIC_OPTIMIZELY_SDK_KEY || \"\";\nconst ENV_NAME = process.env.NEXT_PUBLIC_ENV_NAME || \"\";\n\n/**\n * OptimizelyFundraiserLoader set attributes on optimizely user context based on fundraiser state\n */\nexport const OptimizelyFundRaiserLoader = () => {\n const { trackError } = useTracking();\n const [fundraiserState] = useFundraiserContext();\n const { fundraiser } = fundraiserState;\n const { optimizelyContext, setOptimizelyUserAttributes } =\n useOptimizelyContext();\n\n if (ENV_NAME === \"production\") {\n setLogger(null);\n }\n // if fundraiser updates then we update the user context\n useEffect(() => {\n if (\n !optimizelyContext.optimizelyClient ||\n !optimizelyContext.optimizelyUserContext ||\n !fundraiserState ||\n !setOptimizelyUserAttributes ||\n fundraiserState.loggedInStatus === \"unknown\"\n )\n return;\n\n if (fundraiserState.loggedInStatus === \"loggedIn\" && fundraiser) {\n setOptimizelyUserAttributes({\n is_logged_in: true,\n fundraiser_id: fundraiser.uniqueId,\n });\n } else if (fundraiserState.loggedInStatus === \"loggedOut\") {\n setOptimizelyUserAttributes({ is_logged_in: false, fundraiser_id: null });\n }\n }, [\n optimizelyContext.optimizelyClient,\n optimizelyContext.optimizelyUserContext,\n fundraiserState,\n setOptimizelyUserAttributes,\n\n fundraiserState.loggedInStatus,\n fundraiser,\n ]);\n\n return (\n {\n trackError(err, {\n component: \"OptimizelyLoader\",\n function: \"setOptimizelyContext\",\n });\n }}\n />\n );\n};\n\nexport default OptimizelyFundRaiserLoader;\n","// import Hotjar from \"@hotjar/browser\";\n\nimport { isBrowser } from \"@fwa/src/utils/browserUtils\";\n// import { checkIfDev } from \"@fwa/src/utils/envUtils\";\n\n// TODO currently hotjar loading is backed into our GTM container code,\n// we want to unpick this after FWA deploy and use this init function instead\n// this is so we can control hotjar without having to go though the GTM team\nexport const initHotjar = () => {\n // if (!isBrowser || checkIfDev() ) return;\n // const siteId = 587808;\n // const hotjarVersion = 6;\n // Hotjar.init(siteId, hotjarVersion);\n};\n\nexport const hotjarSetUserAttribute = (userAttributes: {\n is_logged_in: boolean;\n fundraiser_id: string | null;\n}) => {\n // urgh without the lib coming from GTM this is a stab in the dark\n if (!isBrowser || !window.hj || typeof window.hj !== \"function\") return;\n try {\n window?.hj(\"identify\", null, userAttributes);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n // console.error(\"hotjarSetUserAttribute error\", e);\n }\n};\n\nexport default initHotjar;\n","import { useEffect } from \"react\";\nimport { hotjarSetUserAttribute } from \"@fwa/src/services/hotjar\";\nimport { useFundraiserContext } from \"@fwa/src/contexts/FundraiserContext\";\n\n/**\n * HotjarListener set attributes on Hotjar user context based on fundraiser state\n */\nexport const HotjarListener = () => {\n const [fundraiserState] = useFundraiserContext();\n const { fundraiser, loggedInStatus } = fundraiserState;\n\n // if fundraiser updates then we update the user context\n useEffect(() => {\n if (loggedInStatus === \"loggedIn\" && fundraiser) {\n hotjarSetUserAttribute({\n is_logged_in: true,\n fundraiser_id: fundraiser.uniqueId,\n });\n } else if (loggedInStatus === \"loggedOut\") {\n hotjarSetUserAttribute({ is_logged_in: false, fundraiser_id: null });\n }\n }, [loggedInStatus, fundraiser]);\n\n return null;\n};\n\nexport default HotjarListener;\n","import { useEffect } from \"react\";\nimport Head from \"next/head\";\nimport { useRouter } from \"next/router\";\nimport { type AppProps } from \"next/app\";\nimport { SWRConfig } from \"swr\";\nimport { StyleSheetManager } from \"styled-components\";\nimport { GlobalStyleNoFontFace, Fontface } from \"@cruk/cruk-react-components\";\n\n// import { initHotjar } from \"@fwa/src/services/hotjar\";\nimport { setUpDataDog } from \"@fwa/src/services/dataDog\";\nimport { FundraiserContextProvider } from \"@fwa/src/contexts/FundraiserContext\";\nimport { BrandContextProvider } from \"@fwa/src/contexts/BrandContext\";\nimport { ActiveSectionContextProvider } from \"@fwa/src/contexts/ActiveSectionContext\";\nimport { ModalContextProvider } from \"@fwa/src/contexts/ModalContext\";\nimport { getCache } from \"@fwa/src/store/SwrCache\";\nimport { onPerformanceCookieEnabled } from \"@fwa/src/services/oneTrust\";\nimport { initUserzoom } from \"@fwa/src/services/userZoom\";\nimport { OptimizelyContextProvider } from \"@fwa/src/contexts/OptimizelyContext\";\nimport { ToastsContextProvider } from \"@fwa/src/contexts/ToastContext\";\n\nimport { LoginWrapper } from \"@fwa/src/components/LoginWrapper\";\nimport { PageLoadingIndicator } from \"@fwa/src/components/PageLoadingIndicator\";\nimport { Layout } from \"@fwa/src/components/Layout\";\nimport { TrackingRouteListener } from \"@fwa/src/components/TrackingRouteListener\";\nimport { OptimizelyFundRaiserLoader } from \"@fwa/src/components/OptimizelyFundraiserLoader\";\nimport { HotjarListener } from \"@fwa/src/components/HotjarListener\";\n\nimport { type BrandNameType } from \"@fwa/src/types\";\n\ninterface PagePropsWithThemeType {\n themeName?: string;\n}\n\nlet didInit = false;\n\nconst App = ({ Component, pageProps }: AppProps) => {\n const pagePropsWithTheme = pageProps as PagePropsWithThemeType;\n const brandName: BrandNameType = (\n pagePropsWithTheme.themeName ? pagePropsWithTheme.themeName : \"cruk\"\n ) as BrandNameType;\n\n const router = useRouter();\n const { pathname } = router || {};\n\n useEffect(() => {\n if (!didInit) {\n didInit = true;\n setUpDataDog();\n // onPerformanceCookieEnabled([initHotjar]); //TODO enable once this is removed from GTM wrapper\n onPerformanceCookieEnabled([initUserzoom]);\n }\n }, []);\n\n return (\n getCache(),\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n {/* This is way smaller than creating a styled component global style in _app */}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default App;\n","import { hasActiveToken, getToken, refreshToken } from \"@fwa/src/services/auth\";\nimport { isBrowser } from \"@fwa/src/utils/browserUtils\";\nimport { trackDataDogError } from \"@fwa/src/services/dataDog\";\n\nimport { type ResponseError } from \"@fwa/src/types\";\n\n// this isn't a security risk because its the root package json not this packages so doesn't real dependency versions\nimport pkg from \"../../../../package.json\";\nimport { checkIfTest } from \"../utils/envUtils\";\n\nexport const FWS_BASE_URL = process.env.NEXT_PUBLIC_FWS_BASE_URL || \"\";\nexport const FWA_BASE_URL = process.env.NEXT_PUBLIC_FWA_BASE_URL || \"\";\n\nconst APPLICATION_VERSION: string = pkg.version;\n\ntype SpecialError = {\n errorDescription: string;\n data: { errorMessages: string[] }[];\n};\n\n// used in swr returns either data or an error in a promise\nexport const fetcher = async (\n requestUrl: string,\n args: RequestInit | undefined = {},\n isServer?: boolean,\n): Promise => {\n const isFws = requestUrl.startsWith(FWS_BASE_URL);\n\n const originalRequest = async () =>\n fetch(requestUrl, {\n ...args,\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n // Override User-Agent only on back end.\n ...(!isBrowser\n ? {\n \"User-Agent\": `Mozilla/5.0 (compatible; FWA/${APPLICATION_VERSION}; +https://github.com/CRUKorg/fundraising-web-app)`,\n }\n : {}),\n // Add auth header when logged in and calling FWS.\n ...(isFws && hasActiveToken()\n ? { \"X-Authorization\": `Bearer ${getToken() || \"\"}` }\n : {}),\n ...args.headers,\n },\n });\n\n const refreshAndRetry = async () => {\n const tokenRes = await refreshToken();\n // if we can't refresh then we don't retry\n if (!tokenRes) return undefined;\n return originalRequest().then((res) => {\n // try again without refresh on fail\n if (res.ok) {\n return handleStatusGood(res);\n }\n // throw custom errors\n return handleStatusBad(res, args);\n });\n };\n\n // first attempt at request\n return originalRequest()\n .then((res) => {\n if (res.ok) {\n return handleStatusGood(res);\n }\n // we only want to refresh and retry for browser based FWS requests\n if (!isServer && isFws && res.status === 401) {\n throw new Error(\"401\");\n } else {\n // throw custom errors\n return handleStatusBad(res, args);\n }\n })\n .catch((err: Error) => {\n // catch incase 401 and refresh and retry\n if (err.message === \"401\" && isFws) {\n return refreshAndRetry();\n }\n // throw other errors\n throw err;\n });\n};\n\nconst handleStatusGood = async (res: Response) => {\n // handle empty data\n if (res.status === 204) {\n return Promise.resolve();\n }\n // handle data\n if (res.ok) {\n return (\n res\n .json()\n // we are never going to know the shape of the data\n .then((data) => data as DataType) // the status was ok and there is a json body\n .catch(() => res as DataType) // the status was ok but there is no json body\n );\n }\n return;\n};\n\n// Handles some specific error messages from FWS\n// Figures out what ResponseError to throw, ResponseError is an error with a status code\nconst handleStatusBad = async (\n res: Response,\n args: RequestInit | undefined = {},\n): Promise => {\n const defaultError = new Error(\n res.statusText || \"We'll be back soon!\",\n ) as ResponseError;\n defaultError.status = 500;\n const errorName = `handleStatusBad${res.status}`;\n switch (res.status) {\n // if we have an FWS serialised validation error object returned, we can throw a more specific validation error\n case 409:\n return res.json().then((err: SpecialError) => {\n const errorText = err.data?.[0]?.errorMessages?.[0]\n ? err.data[0].errorMessages[0]\n : err.errorDescription;\n const error409 = new Error(errorText) as ResponseError;\n error409.status = 409;\n trackDataDogError(new Error(\"handleStatusBad409\"), {\n status: res.status,\n method: args?.method,\n customMessage: JSON.stringify(err).replace(/\\\\\"/g, '\"'),\n payload: args?.body\n ? JSON.stringify(args.body).replace(/\\\\\"/g, '\"')\n : undefined,\n });\n throw error409;\n });\n default:\n trackDataDogError(new Error(errorName), {\n status: res.status,\n method: args?.method,\n url: res.url,\n payload:\n args?.body && res.status === 500 // for 500 errors include the payload\n ? JSON.stringify(args.body).replace(/\\\\\"/g, '\"')\n : undefined,\n });\n defaultError.status = res.status || 500;\n throw defaultError;\n }\n};\n\n// syntactical sugar to get data and error without a try catch on every page\nexport const pageFetcher = async (\n url: string | null,\n): Promise<{ pageData?: DataType; error?: ResponseError }> => {\n let pageData;\n let error;\n if (!url) return { pageData, error: new Error(\"no url\") };\n\n // set up mock SSR fetch data for tests\n if (checkIfTest()) {\n const { ssrMocks } = await import(\"@fwa/playwright/apiHandlers\");\n const foundReturn = ssrMocks.find((item) => item.url === url);\n if (foundReturn) {\n pageData = foundReturn.data as DataType;\n error = foundReturn.error as ResponseError;\n return { pageData, error };\n }\n }\n\n try {\n pageData = (await fetcher(url, {}, true)) as DataType | undefined;\n } catch (err) {\n // TODO figure out how to capture these caught errors SSR\n error = err as ResponseError;\n }\n\n return { pageData, error };\n};\n","/**\n * A JavaScript implementation of the SHA family of hashes - defined in FIPS PUB 180-4, FIPS PUB 202,\n * and SP 800-185 - as well as the corresponding HMAC implementation as defined in FIPS PUB 198-1.\n *\n * Copyright 2008-2023 Brian Turek, 1998-2009 Paul Johnston & Contributors\n * Distributed under the BSD License\n * See http://caligatio.github.com/jsSHA/ for more information\n */\nconst t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",n=\"ARRAYBUFFER not supported by this environment\",e=\"UINT8ARRAY not supported by this environment\";function r(t,n,e,r){let i,s,o;const h=n||[0],u=(e=e||0)>>>3,w=-1===r?3:0;for(i=0;i>>2,h.length<=s&&h.push(0),h[s]|=t[i]<<8*(w+r*(o%4));return{value:h,binLen:8*t.length+e}}function i(i,s,o){switch(s){case\"UTF8\":case\"UTF16BE\":case\"UTF16LE\":break;default:throw new Error(\"encoding must be UTF8, UTF16BE, or UTF16LE\")}switch(i){case\"HEX\":return function(t,n,e){return function(t,n,e,r){let i,s,o,h;if(0!=t.length%2)throw new Error(\"String of HEX type must be in byte increments\");const u=n||[0],w=(e=e||0)>>>3,c=-1===r?3:0;for(i=0;i>>1)+w,o=h>>>2;u.length<=o;)u.push(0);u[o]|=s<<8*(c+r*(h%4))}return{value:u,binLen:4*t.length+e}}(t,n,e,o)};case\"TEXT\":return function(t,n,e){return function(t,n,e,r,i){let s,o,h,u,w,c,f,a,l=0;const A=e||[0],E=(r=r||0)>>>3;if(\"UTF8\"===n)for(f=-1===i?3:0,h=0;hs?o.push(s):2048>s?(o.push(192|s>>>6),o.push(128|63&s)):55296>s||57344<=s?o.push(224|s>>>12,128|s>>>6&63,128|63&s):(h+=1,s=65536+((1023&s)<<10|1023&t.charCodeAt(h)),o.push(240|s>>>18,128|s>>>12&63,128|s>>>6&63,128|63&s)),u=0;u>>2;A.length<=w;)A.push(0);A[w]|=o[u]<<8*(f+i*(c%4)),l+=1}else for(f=-1===i?2:0,a=\"UTF16LE\"===n&&1!==i||\"UTF16LE\"!==n&&1===i,h=0;h>>8),c=l+E,w=c>>>2;A.length<=w;)A.push(0);A[w]|=s<<8*(f+i*(c%4)),l+=2}return{value:A,binLen:8*l+r}}(t,s,n,e,o)};case\"B64\":return function(n,e,r){return function(n,e,r,i){let s,o,h,u,w,c,f,a=0;const l=e||[0],A=(r=r||0)>>>3,E=-1===i?3:0,H=n.indexOf(\"=\");if(-1===n.search(/^[a-zA-Z0-9=+/]+$/))throw new Error(\"Invalid character in base-64 string\");if(n=n.replace(/=/g,\"\"),-1!==H&&H= 0; i -= 1) {\n var item = array[i];\n if (predicate(item, i, array)) {\n return item;\n }\n }\n return undefined;\n}\nexport function forEach(list, callback) {\n Array.prototype.forEach.call(list, callback);\n}\nexport function objectValues(object) {\n return Object.keys(object).map(function (key) { return object[key]; });\n}\nexport function objectEntries(object) {\n return Object.keys(object).map(function (key) { return [key, object[key]]; });\n}\nexport function startsWith(candidate, search) {\n return candidate.slice(0, search.length) === search;\n}\nexport function endsWith(candidate, search) {\n return candidate.slice(-search.length) === search;\n}\nexport function assign(target) {\n var toAssign = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n toAssign[_i - 1] = arguments[_i];\n }\n toAssign.forEach(function (source) {\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n });\n return target;\n}\n//# sourceMappingURL=polyfills.js.map","import { catchUserErrors } from '../tools/catchUserErrors';\nimport { setDebugMode } from '../tools/monitor';\nimport { assign } from '../tools/utils/polyfills';\nimport { display } from '../tools/display';\nexport function makePublicApi(stub) {\n var publicApi = assign({\n version: \"5.35.1\",\n // This API method is intentionally not monitored, since the only thing executed is the\n // user-provided 'callback'. All SDK usages executed in the callback should be monitored, and\n // we don't want to interfere with the user uncaught exceptions.\n onReady: function (callback) {\n callback();\n },\n }, stub);\n // Add a \"hidden\" property to set debug mode. We define it that way to hide it\n // as much as possible but of course it's not a real protection.\n Object.defineProperty(publicApi, '_setDebug', {\n get: function () {\n return setDebugMode;\n },\n enumerable: false,\n });\n return publicApi;\n}\nexport function defineGlobal(global, name, api) {\n var existingGlobalVariable = global[name];\n if (existingGlobalVariable && !existingGlobalVariable.q && existingGlobalVariable.version) {\n display.warn('SDK is loaded more than once. This is unsupported and might have unexpected behavior.');\n }\n global[name] = api;\n if (existingGlobalVariable && existingGlobalVariable.q) {\n existingGlobalVariable.q.forEach(function (fn) { return catchUserErrors(fn, 'onReady callback threw an error:')(); });\n }\n}\n//# sourceMappingURL=init.js.map","/**\n * inspired by https://mathiasbynens.be/notes/globalthis\n */\nexport function getGlobalObject() {\n if (typeof globalThis === 'object') {\n return globalThis;\n }\n Object.defineProperty(Object.prototype, '_dd_temp_', {\n get: function () {\n return this;\n },\n configurable: true,\n });\n // @ts-ignore _dd_temp is defined using defineProperty\n var globalObject = _dd_temp_;\n // @ts-ignore _dd_temp is defined using defineProperty\n delete Object.prototype._dd_temp_;\n if (typeof globalObject !== 'object') {\n // on safari _dd_temp_ is available on window but not globally\n // fallback on other browser globals check\n if (typeof self === 'object') {\n globalObject = self;\n }\n else if (typeof window === 'object') {\n globalObject = window;\n }\n else {\n globalObject = {};\n }\n }\n return globalObject;\n}\n//# sourceMappingURL=getGlobalObject.js.map","export var ONE_KIBI_BYTE = 1024;\nexport var ONE_MEBI_BYTE = 1024 * ONE_KIBI_BYTE;\n// eslint-disable-next-line no-control-regex\nvar HAS_MULTI_BYTES_CHARACTERS = /[^\\u0000-\\u007F]/;\nexport function computeBytesCount(candidate) {\n // Accurate bytes count computations can degrade performances when there is a lot of events to process\n if (!HAS_MULTI_BYTES_CHARACTERS.test(candidate)) {\n return candidate.length;\n }\n if (window.TextEncoder !== undefined) {\n return new TextEncoder().encode(candidate).length;\n }\n return new Blob([candidate]).size;\n}\nexport function concatBuffers(buffers) {\n var length = buffers.reduce(function (total, buffer) { return total + buffer.length; }, 0);\n var result = new Uint8Array(length);\n var offset = 0;\n for (var _i = 0, buffers_1 = buffers; _i < buffers_1.length; _i++) {\n var buffer = buffers_1[_i];\n result.set(buffer, offset);\n offset += buffer.length;\n }\n return result;\n}\n//# sourceMappingURL=byteUtils.js.map","import { getGlobalObject } from './getGlobalObject';\n/**\n * Gets the original value for a DOM API that was potentially patched by Zone.js.\n *\n * Zone.js[1] is a library that patches a bunch of JS and DOM APIs. It usually stores the original\n * value of the patched functions/constructors/methods in a hidden property prefixed by\n * __zone_symbol__.\n *\n * In multiple occasions, we observed that Zone.js is the culprit of important issues leading to\n * browser resource exhaustion (memory leak, high CPU usage). This method is used as a workaround to\n * use the original DOM API instead of the one patched by Zone.js.\n *\n * [1]: https://github.com/angular/angular/tree/main/packages/zone.js\n */\nexport function getZoneJsOriginalValue(target, name) {\n var browserWindow = getGlobalObject();\n var original;\n if (browserWindow.Zone && typeof browserWindow.Zone.__symbol__ === 'function') {\n original = target[browserWindow.Zone.__symbol__(name)];\n }\n if (!original) {\n original = target[name];\n }\n return original;\n}\n//# sourceMappingURL=getZoneJsOriginalValue.js.map","import { getZoneJsOriginalValue } from './getZoneJsOriginalValue';\nimport { monitor } from './monitor';\nimport { getGlobalObject } from './getGlobalObject';\nexport function setTimeout(callback, delay) {\n return getZoneJsOriginalValue(getGlobalObject(), 'setTimeout')(monitor(callback), delay);\n}\nexport function clearTimeout(timeoutId) {\n getZoneJsOriginalValue(getGlobalObject(), 'clearTimeout')(timeoutId);\n}\nexport function setInterval(callback, delay) {\n return getZoneJsOriginalValue(getGlobalObject(), 'setInterval')(monitor(callback), delay);\n}\nexport function clearInterval(timeoutId) {\n getZoneJsOriginalValue(getGlobalObject(), 'clearInterval')(timeoutId);\n}\n//# sourceMappingURL=timer.js.map","import { setTimeout, clearTimeout } from '../timer';\n// use lodash API\nexport function throttle(fn, wait, options) {\n var needLeadingExecution = options && options.leading !== undefined ? options.leading : true;\n var needTrailingExecution = options && options.trailing !== undefined ? options.trailing : true;\n var inWaitPeriod = false;\n var pendingExecutionWithParameters;\n var pendingTimeoutId;\n return {\n throttled: function () {\n var parameters = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n parameters[_i] = arguments[_i];\n }\n if (inWaitPeriod) {\n pendingExecutionWithParameters = parameters;\n return;\n }\n if (needLeadingExecution) {\n fn.apply(void 0, parameters);\n }\n else {\n pendingExecutionWithParameters = parameters;\n }\n inWaitPeriod = true;\n pendingTimeoutId = setTimeout(function () {\n if (needTrailingExecution && pendingExecutionWithParameters) {\n fn.apply(void 0, pendingExecutionWithParameters);\n }\n inWaitPeriod = false;\n pendingExecutionWithParameters = undefined;\n }, wait);\n },\n cancel: function () {\n clearTimeout(pendingTimeoutId);\n inWaitPeriod = false;\n pendingExecutionWithParameters = undefined;\n },\n };\n}\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() { }\n//# sourceMappingURL=functionUtils.js.map","import { noop } from '../utils/functionUtils';\n/**\n * Custom implementation of JSON.stringify that ignores some toJSON methods. We need to do that\n * because some sites badly override toJSON on certain objects. Removing all toJSON methods from\n * nested values would be too costly, so we just detach them from the root value, and native classes\n * used to build JSON values (Array and Object).\n *\n * Note: this still assumes that JSON.stringify is correct.\n */\nexport function jsonStringify(value, replacer, space) {\n if (typeof value !== 'object' || value === null) {\n return JSON.stringify(value);\n }\n // Note: The order matter here. We need to detach toJSON methods on parent classes before their\n // subclasses.\n var restoreObjectPrototypeToJson = detachToJsonMethod(Object.prototype);\n var restoreArrayPrototypeToJson = detachToJsonMethod(Array.prototype);\n var restoreValuePrototypeToJson = detachToJsonMethod(Object.getPrototypeOf(value));\n var restoreValueToJson = detachToJsonMethod(value);\n try {\n return JSON.stringify(value, replacer, space);\n }\n catch (_a) {\n return '';\n }\n finally {\n restoreObjectPrototypeToJson();\n restoreArrayPrototypeToJson();\n restoreValuePrototypeToJson();\n restoreValueToJson();\n }\n}\nexport function detachToJsonMethod(value) {\n var object = value;\n var objectToJson = object.toJSON;\n if (objectToJson) {\n delete object.toJSON;\n return function () {\n object.toJSON = objectToJson;\n };\n }\n return noop;\n}\n//# sourceMappingURL=jsonStringify.js.map","import { assign } from './polyfills';\nexport function shallowClone(object) {\n return assign({}, object);\n}\nexport function objectHasValue(object, value) {\n return Object.keys(object).some(function (key) { return object[key] === value; });\n}\nexport function isEmptyObject(object) {\n return Object.keys(object).length === 0;\n}\nexport function mapValues(object, fn) {\n var newObject = {};\n for (var _i = 0, _a = Object.keys(object); _i < _a.length; _i++) {\n var key = _a[_i];\n newObject[key] = fn(object[key]);\n }\n return newObject;\n}\n//# sourceMappingURL=objectUtils.js.map","import { ONE_KIBI_BYTE, computeBytesCount } from '../../tools/utils/byteUtils';\nimport { throttle } from '../../tools/utils/functionUtils';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { DOCS_TROUBLESHOOTING, MORE_DETAILS, display } from '../../tools/display';\nimport { isEmptyObject } from '../../tools/utils/objectUtils';\n// RUM and logs batch bytes limit is 16KB\n// ensure that we leave room for other event attributes and maintain a decent amount of event per batch\n// (3KB (customer data) + 1KB (other attributes)) * 4 (events per batch) = 16KB\nexport var CUSTOMER_DATA_BYTES_LIMIT = 3 * ONE_KIBI_BYTE;\n// We observed that the compression ratio is around 8 in general, but we also want to keep a margin\n// because some data might not be compressed (ex: last view update on page exit). We chose 16KiB\n// because it is also the limit of the 'batchBytesCount' that we use for RUM and Logs data, but this\n// is a bit arbitrary.\nexport var CUSTOMER_COMPRESSED_DATA_BYTES_LIMIT = 16 * ONE_KIBI_BYTE;\nexport var BYTES_COMPUTATION_THROTTLING_DELAY = 200;\nexport function createCustomerDataTrackerManager(compressionStatus) {\n if (compressionStatus === void 0) { compressionStatus = 2 /* CustomerDataCompressionStatus.Disabled */; }\n var customerDataTrackers = new Map();\n var alreadyWarned = false;\n function checkCustomerDataLimit(initialBytesCount) {\n if (initialBytesCount === void 0) { initialBytesCount = 0; }\n if (alreadyWarned || compressionStatus === 0 /* CustomerDataCompressionStatus.Unknown */) {\n return;\n }\n var bytesCountLimit = compressionStatus === 2 /* CustomerDataCompressionStatus.Disabled */\n ? CUSTOMER_DATA_BYTES_LIMIT\n : CUSTOMER_COMPRESSED_DATA_BYTES_LIMIT;\n var bytesCount = initialBytesCount;\n customerDataTrackers.forEach(function (tracker) {\n bytesCount += tracker.getBytesCount();\n });\n if (bytesCount > bytesCountLimit) {\n displayCustomerDataLimitReachedWarning(bytesCountLimit);\n alreadyWarned = true;\n }\n }\n return {\n /**\n * Creates a detached tracker. The manager will not store a reference to that tracker, and the\n * bytes count will be counted independently from other detached trackers.\n *\n * This is particularly useful when we don't know when the tracker will be unused, so we don't\n * leak memory (ex: when used in Logger instances).\n */\n createDetachedTracker: function () {\n var tracker = createCustomerDataTracker(function () { return checkCustomerDataLimit(tracker.getBytesCount()); });\n return tracker;\n },\n /**\n * Creates a tracker if it doesn't exist, and returns it.\n */\n getOrCreateTracker: function (type) {\n if (!customerDataTrackers.has(type)) {\n customerDataTrackers.set(type, createCustomerDataTracker(checkCustomerDataLimit));\n }\n return customerDataTrackers.get(type);\n },\n setCompressionStatus: function (newCompressionStatus) {\n if (compressionStatus === 0 /* CustomerDataCompressionStatus.Unknown */) {\n compressionStatus = newCompressionStatus;\n checkCustomerDataLimit();\n }\n },\n getCompressionStatus: function () { return compressionStatus; },\n stop: function () {\n customerDataTrackers.forEach(function (tracker) { return tracker.stop(); });\n customerDataTrackers.clear();\n },\n };\n}\nexport function createCustomerDataTracker(checkCustomerDataLimit) {\n var bytesCountCache = 0;\n // Throttle the bytes computation to minimize the impact on performance.\n // Especially useful if the user call context APIs synchronously multiple times in a row\n var _a = throttle(function (context) {\n bytesCountCache = computeBytesCount(jsonStringify(context));\n checkCustomerDataLimit();\n }, BYTES_COMPUTATION_THROTTLING_DELAY), computeBytesCountThrottled = _a.throttled, cancelComputeBytesCount = _a.cancel;\n var resetBytesCount = function () {\n cancelComputeBytesCount();\n bytesCountCache = 0;\n };\n return {\n updateCustomerData: function (context) {\n if (isEmptyObject(context)) {\n resetBytesCount();\n }\n else {\n computeBytesCountThrottled(context);\n }\n },\n resetCustomerData: resetBytesCount,\n getBytesCount: function () { return bytesCountCache; },\n stop: function () {\n cancelComputeBytesCount();\n },\n };\n}\nfunction displayCustomerDataLimitReachedWarning(bytesCountLimit) {\n display.warn(\"Customer data exceeds the recommended \".concat(bytesCountLimit / ONE_KIBI_BYTE, \"KiB threshold. \").concat(MORE_DETAILS, \" \").concat(DOCS_TROUBLESHOOTING, \"/#customer-data-exceeds-the-recommended-threshold-warning\"));\n}\n//# sourceMappingURL=customerDataTracker.js.map","/**\n * Similar to `typeof`, but distinguish plain objects from `null` and arrays\n */\nexport function getType(value) {\n if (value === null) {\n return 'null';\n }\n if (Array.isArray(value)) {\n return 'array';\n }\n return typeof value;\n}\n//# sourceMappingURL=typeUtils.js.map","import { getType } from './utils/typeUtils';\n/**\n * Iterate over source and affect its sub values into destination, recursively.\n * If the source and destination can't be merged, return source.\n */\nexport function mergeInto(destination, source, circularReferenceChecker) {\n if (circularReferenceChecker === void 0) { circularReferenceChecker = createCircularReferenceChecker(); }\n // ignore the source if it is undefined\n if (source === undefined) {\n return destination;\n }\n if (typeof source !== 'object' || source === null) {\n // primitive values - just return source\n return source;\n }\n else if (source instanceof Date) {\n return new Date(source.getTime());\n }\n else if (source instanceof RegExp) {\n var flags = source.flags ||\n // old browsers compatibility\n [\n source.global ? 'g' : '',\n source.ignoreCase ? 'i' : '',\n source.multiline ? 'm' : '',\n source.sticky ? 'y' : '',\n source.unicode ? 'u' : '',\n ].join('');\n return new RegExp(source.source, flags);\n }\n if (circularReferenceChecker.hasAlreadyBeenSeen(source)) {\n // remove circular references\n return undefined;\n }\n else if (Array.isArray(source)) {\n var merged_1 = Array.isArray(destination) ? destination : [];\n for (var i = 0; i < source.length; ++i) {\n merged_1[i] = mergeInto(merged_1[i], source[i], circularReferenceChecker);\n }\n return merged_1;\n }\n var merged = getType(destination) === 'object' ? destination : {};\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n merged[key] = mergeInto(merged[key], source[key], circularReferenceChecker);\n }\n }\n return merged;\n}\n/**\n * A simplistic implementation of a deep clone algorithm.\n * Caveats:\n * - It doesn't maintain prototype chains - don't use with instances of custom classes.\n * - It doesn't handle Map and Set\n */\nexport function deepClone(value) {\n return mergeInto(undefined, value);\n}\nexport function combine() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n var destination;\n for (var _a = 0, sources_1 = sources; _a < sources_1.length; _a++) {\n var source = sources_1[_a];\n // Ignore any undefined or null sources.\n if (source === undefined || source === null) {\n continue;\n }\n destination = mergeInto(destination, source);\n }\n return destination;\n}\nfunction createCircularReferenceChecker() {\n if (typeof WeakSet !== 'undefined') {\n var set_1 = new WeakSet();\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = set_1.has(value);\n if (!has) {\n set_1.add(value);\n }\n return has;\n },\n };\n }\n var array = [];\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = array.indexOf(value) >= 0;\n if (!has) {\n array.push(value);\n }\n return has;\n },\n };\n}\n//# sourceMappingURL=mergeInto.js.map","import { display } from '../display';\nimport { ONE_KIBI_BYTE } from '../utils/byteUtils';\nimport { detachToJsonMethod } from './jsonStringify';\n// The maximum size of a single event is 256KiB. By default, we ensure that user-provided data\n// going through sanitize fits inside our events, while leaving room for other contexts, metadata, ...\nvar SANITIZE_DEFAULT_MAX_CHARACTER_COUNT = 220 * ONE_KIBI_BYTE;\n// Symbol for the root element of the JSONPath used for visited objects\nvar JSON_PATH_ROOT_ELEMENT = '$';\n// When serializing (using JSON.stringify) a key of an object, { key: 42 } gets wrapped in quotes as \"key\".\n// With the separator (:), we need to add 3 characters to the count.\nvar KEY_DECORATION_LENGTH = 3;\nexport function sanitize(source, maxCharacterCount) {\n if (maxCharacterCount === void 0) { maxCharacterCount = SANITIZE_DEFAULT_MAX_CHARACTER_COUNT; }\n // Unbind any toJSON function we may have on [] or {} prototypes\n var restoreObjectPrototypeToJson = detachToJsonMethod(Object.prototype);\n var restoreArrayPrototypeToJson = detachToJsonMethod(Array.prototype);\n // Initial call to sanitizeProcessor - will populate containerQueue if source is an Array or a plain Object\n var containerQueue = [];\n var visitedObjectsWithPath = new WeakMap();\n var sanitizedData = sanitizeProcessor(source, JSON_PATH_ROOT_ELEMENT, undefined, containerQueue, visitedObjectsWithPath);\n var serializedSanitizedData = JSON.stringify(sanitizedData);\n var accumulatedCharacterCount = serializedSanitizedData ? serializedSanitizedData.length : 0;\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'discarded', source);\n return undefined;\n }\n while (containerQueue.length > 0 && accumulatedCharacterCount < maxCharacterCount) {\n var containerToProcess = containerQueue.shift();\n var separatorLength = 0; // 0 for the first element, 1 for subsequent elements\n // Arrays and Objects have to be handled distinctly to ensure\n // we do not pick up non-numerical properties from Arrays\n if (Array.isArray(containerToProcess.source)) {\n for (var key = 0; key < containerToProcess.source.length; key++) {\n var targetData = sanitizeProcessor(containerToProcess.source[key], containerToProcess.path, key, containerQueue, visitedObjectsWithPath);\n if (targetData !== undefined) {\n accumulatedCharacterCount += JSON.stringify(targetData).length;\n }\n else {\n // When an element of an Array (targetData) is undefined, it is serialized as null:\n // JSON.stringify([undefined]) => '[null]' - This accounts for 4 characters\n accumulatedCharacterCount += 4;\n }\n accumulatedCharacterCount += separatorLength;\n separatorLength = 1;\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'truncated', source);\n break;\n }\n ;\n containerToProcess.target[key] = targetData;\n }\n }\n else {\n for (var key in containerToProcess.source) {\n if (Object.prototype.hasOwnProperty.call(containerToProcess.source, key)) {\n var targetData = sanitizeProcessor(containerToProcess.source[key], containerToProcess.path, key, containerQueue, visitedObjectsWithPath);\n // When a property of an object has an undefined value, it will be dropped during serialization:\n // JSON.stringify({a:undefined}) => '{}'\n if (targetData !== undefined) {\n accumulatedCharacterCount +=\n JSON.stringify(targetData).length + separatorLength + key.length + KEY_DECORATION_LENGTH;\n separatorLength = 1;\n }\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'truncated', source);\n break;\n }\n ;\n containerToProcess.target[key] = targetData;\n }\n }\n }\n }\n // Rebind detached toJSON functions\n restoreObjectPrototypeToJson();\n restoreArrayPrototypeToJson();\n return sanitizedData;\n}\n/**\n * Internal function to factorize the process common to the\n * initial call to sanitize, and iterations for Arrays and Objects\n *\n */\nfunction sanitizeProcessor(source, parentPath, key, queue, visitedObjectsWithPath) {\n // Start by handling toJSON, as we want to sanitize its output\n var sourceToSanitize = tryToApplyToJSON(source);\n if (!sourceToSanitize || typeof sourceToSanitize !== 'object') {\n return sanitizePrimitivesAndFunctions(sourceToSanitize);\n }\n var sanitizedSource = sanitizeObjects(sourceToSanitize);\n if (sanitizedSource !== '[Object]' && sanitizedSource !== '[Array]' && sanitizedSource !== '[Error]') {\n return sanitizedSource;\n }\n // Handle potential cyclic references\n // We need to use source as sourceToSanitize could be a reference to a new object\n // At this stage, we know the source is an object type\n var sourceAsObject = source;\n if (visitedObjectsWithPath.has(sourceAsObject)) {\n return \"[Reference seen at \".concat(visitedObjectsWithPath.get(sourceAsObject), \"]\");\n }\n // Add processed source to queue\n var currentPath = key !== undefined ? \"\".concat(parentPath, \".\").concat(key) : parentPath;\n var target = Array.isArray(sourceToSanitize) ? [] : {};\n visitedObjectsWithPath.set(sourceAsObject, currentPath);\n queue.push({ source: sourceToSanitize, target: target, path: currentPath });\n return target;\n}\n/**\n * Handles sanitization of simple, non-object types\n *\n */\nfunction sanitizePrimitivesAndFunctions(value) {\n // BigInt cannot be serialized by JSON.stringify(), convert it to a string representation\n if (typeof value === 'bigint') {\n return \"[BigInt] \".concat(value.toString());\n }\n // Functions cannot be serialized by JSON.stringify(). Moreover, if a faulty toJSON is present, it needs to be converted\n // so it won't prevent stringify from serializing later\n if (typeof value === 'function') {\n return \"[Function] \".concat(value.name || 'unknown');\n }\n // JSON.stringify() does not serialize symbols.\n if (typeof value === 'symbol') {\n return \"[Symbol] \".concat(value.description || value.toString());\n }\n return value;\n}\n/**\n * Handles sanitization of object types\n *\n * LIMITATIONS\n * - If a class defines a toStringTag Symbol, it will fall in the catch-all method and prevent enumeration of properties.\n * To avoid this, a toJSON method can be defined.\n * - IE11 does not return a distinct type for objects such as Map, WeakMap, ... These objects will pass through and their\n * properties enumerated if any.\n *\n */\nfunction sanitizeObjects(value) {\n try {\n // Handle events - Keep a simple implementation to avoid breaking changes\n if (value instanceof Event) {\n return {\n isTrusted: value.isTrusted,\n };\n }\n // Handle all remaining object types in a generic way\n var result = Object.prototype.toString.call(value);\n var match = result.match(/\\[object (.*)\\]/);\n if (match && match[1]) {\n return \"[\".concat(match[1], \"]\");\n }\n }\n catch (_a) {\n // If the previous serialization attempts failed, and we cannot convert using\n // Object.prototype.toString, declare the value unserializable\n }\n return '[Unserializable]';\n}\n/**\n * Checks if a toJSON function exists and tries to execute it\n *\n */\nfunction tryToApplyToJSON(value) {\n var object = value;\n if (object && typeof object.toJSON === 'function') {\n try {\n return object.toJSON();\n }\n catch (_a) {\n // If toJSON fails, we continue by trying to serialize the value manually\n }\n }\n return value;\n}\n/**\n * Helper function to display the warning when the accumulated character count is over the limit\n */\nfunction warnOverCharacterLimit(maxCharacterCount, changeType, source) {\n display.warn(\"The data provided has been \".concat(changeType, \" as it is over the limit of \").concat(maxCharacterCount, \" characters:\"), source);\n}\n//# sourceMappingURL=sanitize.js.map","// eslint-disable-next-line no-restricted-syntax\nvar Observable = /** @class */ (function () {\n function Observable(onFirstSubscribe) {\n this.onFirstSubscribe = onFirstSubscribe;\n this.observers = [];\n }\n Observable.prototype.subscribe = function (f) {\n var _this = this;\n this.observers.push(f);\n if (this.observers.length === 1 && this.onFirstSubscribe) {\n this.onLastUnsubscribe = this.onFirstSubscribe(this) || undefined;\n }\n return {\n unsubscribe: function () {\n _this.observers = _this.observers.filter(function (other) { return f !== other; });\n if (!_this.observers.length && _this.onLastUnsubscribe) {\n _this.onLastUnsubscribe();\n }\n },\n };\n };\n Observable.prototype.notify = function (data) {\n this.observers.forEach(function (observer) { return observer(data); });\n };\n return Observable;\n}());\nexport { Observable };\nexport function mergeObservables() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return new Observable(function (globalObservable) {\n var subscriptions = observables.map(function (observable) {\n return observable.subscribe(function (data) { return globalObservable.notify(data); });\n });\n return function () { return subscriptions.forEach(function (subscription) { return subscription.unsubscribe(); }); };\n });\n}\n//# sourceMappingURL=observable.js.map","import { deepClone } from '../../tools/mergeInto';\nimport { getType } from '../../tools/utils/typeUtils';\nimport { sanitize } from '../../tools/serialisation/sanitize';\nimport { Observable } from '../../tools/observable';\nexport function createContextManager(customerDataTracker) {\n var context = {};\n var changeObservable = new Observable();\n var contextManager = {\n getContext: function () { return deepClone(context); },\n setContext: function (newContext) {\n if (getType(newContext) === 'object') {\n context = sanitize(newContext);\n customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.updateCustomerData(context);\n }\n else {\n contextManager.clearContext();\n }\n changeObservable.notify();\n },\n setContextProperty: function (key, property) {\n context[key] = sanitize(property);\n customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.updateCustomerData(context);\n changeObservable.notify();\n },\n removeContextProperty: function (key) {\n delete context[key];\n customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.updateCustomerData(context);\n changeObservable.notify();\n },\n clearContext: function () {\n context = {};\n customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.resetCustomerData();\n changeObservable.notify();\n },\n changeObservable: changeObservable,\n };\n return contextManager;\n}\n//# sourceMappingURL=contextManager.js.map","import { Observable } from '../tools/observable';\nexport var TrackingConsent = {\n GRANTED: 'granted',\n NOT_GRANTED: 'not-granted',\n};\nexport function createTrackingConsentState(currentConsent) {\n var observable = new Observable();\n return {\n tryToInit: function (trackingConsent) {\n if (!currentConsent) {\n currentConsent = trackingConsent;\n }\n },\n update: function (trackingConsent) {\n currentConsent = trackingConsent;\n observable.notify();\n },\n isGranted: function () {\n return currentConsent === TrackingConsent.GRANTED;\n },\n observable: observable,\n };\n}\n//# sourceMappingURL=trackingConsent.js.map","import { monitor } from '../tools/monitor';\nimport { getZoneJsOriginalValue } from '../tools/getZoneJsOriginalValue';\n/**\n * Add an event listener to an event target object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n */\nexport function addEventListener(configuration, eventTarget, eventName, listener, options) {\n return addEventListeners(configuration, eventTarget, [eventName], listener, options);\n}\n/**\n * Add event listeners to an event target object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n *\n * * with `once: true`, the listener will be called at most once, even if different events are listened\n */\nexport function addEventListeners(configuration, eventTarget, eventNames, listener, _a) {\n var _b = _a === void 0 ? {} : _a, once = _b.once, capture = _b.capture, passive = _b.passive;\n var listenerWithMonitor = monitor(function (event) {\n if (!event.isTrusted && !event.__ddIsTrusted && !configuration.allowUntrustedEvents) {\n return;\n }\n if (once) {\n stop();\n }\n listener(event);\n });\n var options = passive ? { capture: capture, passive: passive } : capture;\n // Use the window.EventTarget.prototype when possible to avoid wrong overrides (e.g: https://github.com/salesforce/lwc/issues/1824)\n var listenerTarget = window.EventTarget && eventTarget instanceof EventTarget ? window.EventTarget.prototype : eventTarget;\n var add = getZoneJsOriginalValue(listenerTarget, 'addEventListener');\n eventNames.forEach(function (eventName) { return add.call(eventTarget, eventName, listenerWithMonitor, options); });\n function stop() {\n var remove = getZoneJsOriginalValue(listenerTarget, 'removeEventListener');\n eventNames.forEach(function (eventName) { return remove.call(eventTarget, eventName, listenerWithMonitor, options); });\n }\n return {\n stop: stop,\n };\n}\n//# sourceMappingURL=addEventListener.js.map","import { addEventListener } from '../../browser/addEventListener';\nimport { combine } from '../../tools/mergeInto';\nvar CONTEXT_STORE_KEY_PREFIX = '_dd_c';\nvar storageListeners = [];\nexport function storeContextManager(configuration, contextManager, productKey, customerDataType) {\n var storageKey = buildStorageKey(productKey, customerDataType);\n storageListeners.push(addEventListener(configuration, window, \"storage\" /* DOM_EVENT.STORAGE */, function (_a) {\n var key = _a.key;\n if (storageKey === key) {\n synchronizeWithStorage();\n }\n }));\n contextManager.changeObservable.subscribe(dumpToStorage);\n contextManager.setContext(combine(getFromStorage(), contextManager.getContext()));\n function synchronizeWithStorage() {\n contextManager.setContext(getFromStorage());\n }\n function dumpToStorage() {\n localStorage.setItem(storageKey, JSON.stringify(contextManager.getContext()));\n }\n function getFromStorage() {\n var rawContext = localStorage.getItem(storageKey);\n return rawContext !== null ? JSON.parse(rawContext) : {};\n }\n}\nexport function buildStorageKey(productKey, customerDataType) {\n return \"\".concat(CONTEXT_STORE_KEY_PREFIX, \"_\").concat(productKey, \"_\").concat(customerDataType);\n}\nexport function removeStorageListeners() {\n storageListeners.map(function (listener) { return listener.stop(); });\n}\n//# sourceMappingURL=storeContextManager.js.map","import { computeBytesCount } from './utils/byteUtils';\nexport function createIdentityEncoder() {\n var output = '';\n var outputBytesCount = 0;\n return {\n isAsync: false,\n get isEmpty() {\n return !output;\n },\n write: function (data, callback) {\n var additionalEncodedBytesCount = computeBytesCount(data);\n outputBytesCount += additionalEncodedBytesCount;\n output += data;\n if (callback) {\n callback(additionalEncodedBytesCount);\n }\n },\n finish: function (callback) {\n callback(this.finishSync());\n },\n finishSync: function () {\n var result = {\n output: output,\n outputBytesCount: outputBytesCount,\n rawBytesCount: outputBytesCount,\n pendingData: '',\n };\n output = '';\n outputBytesCount = 0;\n return result;\n },\n estimateEncodedBytesCount: function (data) {\n return data.length;\n },\n };\n}\n//# sourceMappingURL=encoder.js.map","/**\n * Cross-browser stack trace computation.\n *\n * Reference implementation: https://github.com/csnover/TraceKit/blob/04530298073c3823de72deb0b97e7b38ca7bcb59/tracekit.js\n */\nimport { startsWith } from '../utils/polyfills';\nvar UNKNOWN_FUNCTION = '?';\nexport function computeStackTrace(ex) {\n var stack = [];\n var stackProperty = tryToGetString(ex, 'stack');\n var exString = String(ex);\n if (stackProperty && startsWith(stackProperty, exString)) {\n stackProperty = stackProperty.slice(exString.length);\n }\n if (stackProperty) {\n stackProperty.split('\\n').forEach(function (line) {\n var stackFrame = parseChromeLine(line) || parseChromeAnonymousLine(line) || parseWinLine(line) || parseGeckoLine(line);\n if (stackFrame) {\n if (!stackFrame.func && stackFrame.line) {\n stackFrame.func = UNKNOWN_FUNCTION;\n }\n stack.push(stackFrame);\n }\n });\n }\n return {\n message: tryToGetString(ex, 'message'),\n name: tryToGetString(ex, 'name'),\n stack: stack,\n };\n}\nvar fileUrl = '((?:file|https?|blob|chrome-extension|electron|native|eval|webpack|snippet||\\\\w+\\\\.|\\\\/).*?)';\nvar filePosition = '(?::(\\\\d+))';\nvar CHROME_LINE_RE = new RegExp(\"^\\\\s*at (.*?) ?\\\\(\".concat(fileUrl).concat(filePosition, \"?\").concat(filePosition, \"?\\\\)?\\\\s*$\"), 'i');\nvar CHROME_EVAL_RE = new RegExp(\"\\\\((\\\\S*)\".concat(filePosition).concat(filePosition, \"\\\\)\"));\nfunction parseChromeLine(line) {\n var parts = CHROME_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n var submatch = CHROME_EVAL_RE.exec(parts[2]);\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n parts[3] = submatch[2]; // line\n parts[4] = submatch[3]; // column\n }\n return {\n args: isNative ? [parts[2]] : [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[3] ? +parts[3] : undefined,\n url: !isNative ? parts[2] : undefined,\n };\n}\nvar CHROME_ANONYMOUS_FUNCTION_RE = new RegExp(\"^\\\\s*at ?\".concat(fileUrl).concat(filePosition, \"?\").concat(filePosition, \"??\\\\s*$\"), 'i');\nfunction parseChromeAnonymousLine(line) {\n var parts = CHROME_ANONYMOUS_FUNCTION_RE.exec(line);\n if (!parts) {\n return;\n }\n return {\n args: [],\n column: parts[3] ? +parts[3] : undefined,\n func: UNKNOWN_FUNCTION,\n line: parts[2] ? +parts[2] : undefined,\n url: parts[1],\n };\n}\nvar WINJS_LINE_RE = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nfunction parseWinLine(line) {\n var parts = WINJS_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n return {\n args: [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: +parts[3],\n url: parts[2],\n };\n}\nvar GECKO_LINE_RE = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar GECKO_EVAL_RE = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nfunction parseGeckoLine(line) {\n var parts = GECKO_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n var submatch = GECKO_EVAL_RE.exec(parts[3]);\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = undefined; // no column when eval\n }\n return {\n args: parts[2] ? parts[2].split(',') : [],\n column: parts[5] ? +parts[5] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[4] ? +parts[4] : undefined,\n url: parts[3],\n };\n}\nfunction tryToGetString(candidate, property) {\n if (typeof candidate !== 'object' || !candidate || !(property in candidate)) {\n return undefined;\n }\n var value = candidate[property];\n return typeof value === 'string' ? value : undefined;\n}\nexport function computeStackTraceFromOnErrorMessage(messageObj, url, line, column) {\n var stack = [{ url: url, column: column, line: line }];\n var _a = tryToParseMessage(messageObj), name = _a.name, message = _a.message;\n return {\n name: name,\n message: message,\n stack: stack,\n };\n}\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types\nvar ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\\s\\S]*)$/;\nfunction tryToParseMessage(messageObj) {\n var _a;\n var name;\n var message;\n if ({}.toString.call(messageObj) === '[object String]') {\n ;\n _a = ERROR_TYPES_RE.exec(messageObj), name = _a[1], message = _a[2];\n }\n return { name: name, message: message };\n}\n//# sourceMappingURL=computeStackTrace.js.map","import { callMonitored } from '../monitor';\nimport { noop } from '../utils/functionUtils';\nimport { computeStackTrace } from './computeStackTrace';\n/**\n * Creates a stacktrace without SDK internal frames.\n * Constraints:\n * - Has to be called at the utmost position of the call stack.\n * - No monitored function should encapsulate it, that is why we need to use callMonitored inside it.\n */\nexport function createHandlingStack() {\n /**\n * Skip the two internal frames:\n * - SDK API (console.error, ...)\n * - this function\n * in order to keep only the user calls\n */\n var internalFramesToSkip = 2;\n var error = new Error();\n var formattedStack;\n // IE needs to throw the error to fill in the stack trace\n if (!error.stack) {\n try {\n throw error;\n }\n catch (_a) {\n noop();\n }\n }\n callMonitored(function () {\n var stackTrace = computeStackTrace(error);\n stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip);\n formattedStack = toStackTraceString(stackTrace);\n });\n return formattedStack;\n}\nexport function toStackTraceString(stack) {\n var result = formatErrorMessage(stack);\n stack.stack.forEach(function (frame) {\n var func = frame.func === '?' ? '' : frame.func;\n var args = frame.args && frame.args.length > 0 ? \"(\".concat(frame.args.join(', '), \")\") : '';\n var line = frame.line ? \":\".concat(frame.line) : '';\n var column = frame.line && frame.column ? \":\".concat(frame.column) : '';\n result += \"\\n at \".concat(func).concat(args, \" @ \").concat(frame.url).concat(line).concat(column);\n });\n return result;\n}\nexport function formatErrorMessage(stack) {\n return \"\".concat(stack.name || 'Error', \": \").concat(stack.message);\n}\n//# sourceMappingURL=handlingStack.js.map","import { sanitize } from '../../tools/serialisation/sanitize';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { computeStackTrace } from '../../tools/stackTrace/computeStackTrace';\nimport { toStackTraceString } from '../../tools/stackTrace/handlingStack';\nexport var NO_ERROR_STACK_PRESENT_MESSAGE = 'No stack, consider using an instance of Error';\nexport function computeRawError(_a) {\n var stackTrace = _a.stackTrace, originalError = _a.originalError, handlingStack = _a.handlingStack, startClocks = _a.startClocks, nonErrorPrefix = _a.nonErrorPrefix, source = _a.source, handling = _a.handling;\n var isErrorInstance = isError(originalError);\n var message = computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError);\n var stack = hasUsableStack(isErrorInstance, stackTrace)\n ? toStackTraceString(stackTrace)\n : NO_ERROR_STACK_PRESENT_MESSAGE;\n var causes = isErrorInstance ? flattenErrorCauses(originalError, source) : undefined;\n var type = stackTrace ? stackTrace.name : undefined;\n var fingerprint = tryToGetFingerprint(originalError);\n return {\n startClocks: startClocks,\n source: source,\n handling: handling,\n handlingStack: handlingStack,\n originalError: originalError,\n type: type,\n message: message,\n stack: stack,\n causes: causes,\n fingerprint: fingerprint,\n };\n}\nfunction computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError) {\n // Favor stackTrace message only if tracekit has really been able to extract something meaningful (message + name)\n // TODO rework tracekit integration to avoid scattering error building logic\n return (stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.message) && (stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.name)\n ? stackTrace.message\n : !isErrorInstance\n ? \"\".concat(nonErrorPrefix, \" \").concat(jsonStringify(sanitize(originalError)))\n : 'Empty message';\n}\nfunction hasUsableStack(isErrorInstance, stackTrace) {\n if (stackTrace === undefined) {\n return false;\n }\n if (isErrorInstance) {\n return true;\n }\n // handle cases where tracekit return stack = [] or stack = [{url: undefined, line: undefined, column: undefined}]\n // TODO rework tracekit integration to avoid generating those unusable stack\n return stackTrace.stack.length > 0 && (stackTrace.stack.length > 1 || stackTrace.stack[0].url !== undefined);\n}\nexport function tryToGetFingerprint(originalError) {\n return isError(originalError) && 'dd_fingerprint' in originalError ? String(originalError.dd_fingerprint) : undefined;\n}\nexport function getFileFromStackTraceString(stack) {\n var _a;\n return (_a = /@ (.+)/.exec(stack)) === null || _a === void 0 ? void 0 : _a[1];\n}\nexport function isError(error) {\n return error instanceof Error || Object.prototype.toString.call(error) === '[object Error]';\n}\nexport function flattenErrorCauses(error, parentSource) {\n var currentError = error;\n var causes = [];\n while (isError(currentError === null || currentError === void 0 ? void 0 : currentError.cause) && causes.length < 10) {\n var stackTrace = computeStackTrace(currentError.cause);\n causes.push({\n message: currentError.cause.message,\n source: parentSource,\n type: stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.name,\n stack: stackTrace && toStackTraceString(stackTrace),\n });\n currentError = currentError.cause;\n }\n return causes.length ? causes : undefined;\n}\n//# sourceMappingURL=error.js.map","/**\n * LIMITATION:\n * For NPM setup, this feature flag singleton is shared between RUM and Logs product.\n * This means that an experimental flag set on the RUM product will be set on the Logs product.\n * So keep in mind that in certain configurations, your experimental feature flag may affect other products.\n *\n * FORMAT:\n * All feature flags should be snake_cased\n */\n// We want to use a real enum (i.e. not a const enum) here, to be able to check whether an arbitrary\n// string is an expected feature flag\nimport { objectHasValue } from './utils/objectUtils';\n// eslint-disable-next-line no-restricted-syntax\nexport var ExperimentalFeature;\n(function (ExperimentalFeature) {\n ExperimentalFeature[\"WRITABLE_RESOURCE_GRAPHQL\"] = \"writable_resource_graphql\";\n ExperimentalFeature[\"REMOTE_CONFIGURATION\"] = \"remote_configuration\";\n ExperimentalFeature[\"LONG_ANIMATION_FRAME\"] = \"long_animation_frame\";\n ExperimentalFeature[\"ANONYMOUS_USER_TRACKING\"] = \"anonymous_user_tracking\";\n ExperimentalFeature[\"ACTION_NAME_MASKING\"] = \"action_name_masking\";\n ExperimentalFeature[\"CONSISTENT_TRACE_SAMPLING\"] = \"consistent_trace_sampling\";\n ExperimentalFeature[\"DELAY_VIEWPORT_COLLECTION\"] = \"delay_viewport_collection\";\n})(ExperimentalFeature || (ExperimentalFeature = {}));\nvar enabledExperimentalFeatures = new Set();\nexport function initFeatureFlags(enableExperimentalFeatures) {\n if (Array.isArray(enableExperimentalFeatures)) {\n addExperimentalFeatures(enableExperimentalFeatures.filter(function (flag) {\n return objectHasValue(ExperimentalFeature, flag);\n }));\n }\n}\nexport function addExperimentalFeatures(enabledFeatures) {\n enabledFeatures.forEach(function (flag) {\n enabledExperimentalFeatures.add(flag);\n });\n}\nexport function isExperimentalFeatureEnabled(featureName) {\n return enabledExperimentalFeatures.has(featureName);\n}\nexport function resetExperimentalFeatures() {\n enabledExperimentalFeatures.clear();\n}\nexport function getExperimentalFeatures() {\n return enabledExperimentalFeatures;\n}\n//# sourceMappingURL=experimentalFeatures.js.map","export var INTAKE_SITE_STAGING = 'datad0g.com';\nexport var INTAKE_SITE_FED_STAGING = 'dd0g-gov.com';\nexport var INTAKE_SITE_US1 = 'datadoghq.com';\nexport var INTAKE_SITE_EU1 = 'datadoghq.eu';\nexport var INTAKE_SITE_US1_FED = 'ddog-gov.com';\nexport var PCI_INTAKE_HOST_US1 = 'pci.browser-intake-datadoghq.com';\nexport var INTAKE_URL_PARAMETERS = ['ddsource', 'ddtags'];\n//# sourceMappingURL=intakeSites.js.map","/**\n * Return true if the draw is successful\n * @param threshold between 0 and 100\n */\nexport function performDraw(threshold) {\n return threshold !== 0 && Math.random() * 100 <= threshold;\n}\nexport function round(num, decimals) {\n return +num.toFixed(decimals);\n}\nexport function isPercentage(value) {\n return isNumber(value) && value >= 0 && value <= 100;\n}\nexport function isNumber(value) {\n return typeof value === 'number';\n}\n//# sourceMappingURL=numberUtils.js.map","import { isNumber, round } from './numberUtils';\nexport var ONE_SECOND = 1000;\nexport var ONE_MINUTE = 60 * ONE_SECOND;\nexport var ONE_HOUR = 60 * ONE_MINUTE;\nexport var ONE_DAY = 24 * ONE_HOUR;\nexport var ONE_YEAR = 365 * ONE_DAY;\nexport function relativeToClocks(relative) {\n return { relative: relative, timeStamp: getCorrectedTimeStamp(relative) };\n}\nexport function timeStampToClocks(timeStamp) {\n return { relative: getRelativeTime(timeStamp), timeStamp: timeStamp };\n}\nfunction getCorrectedTimeStamp(relativeTime) {\n var correctedOrigin = (dateNow() - performance.now());\n // apply correction only for positive drift\n if (correctedOrigin > getNavigationStart()) {\n return Math.round(addDuration(correctedOrigin, relativeTime));\n }\n return getTimeStamp(relativeTime);\n}\nexport function currentDrift() {\n return Math.round(dateNow() - addDuration(getNavigationStart(), performance.now()));\n}\nexport function toServerDuration(duration) {\n if (!isNumber(duration)) {\n return duration;\n }\n return round(duration * 1e6, 0);\n}\nexport function dateNow() {\n // Do not use `Date.now` because sometimes websites are wrongly \"polyfilling\" it. For example, we\n // had some users using a very old version of `datejs`, which patched `Date.now` to return a Date\n // instance instead of a timestamp[1]. Those users are unlikely to fix this, so let's handle this\n // case ourselves.\n // [1]: https://github.com/datejs/Datejs/blob/97f5c7c58c5bc5accdab8aa7602b6ac56462d778/src/core-debug.js#L14-L16\n return new Date().getTime();\n}\nexport function timeStampNow() {\n return dateNow();\n}\nexport function relativeNow() {\n return performance.now();\n}\nexport function clocksNow() {\n return { relative: relativeNow(), timeStamp: timeStampNow() };\n}\nexport function clocksOrigin() {\n return { relative: 0, timeStamp: getNavigationStart() };\n}\nexport function elapsed(start, end) {\n return (end - start);\n}\nexport function addDuration(a, b) {\n return a + b;\n}\n/**\n * Get the time since the navigation was started.\n *\n * Note: this does not use `performance.timeOrigin` because it doesn't seem to reflect the actual\n * time on which the navigation has started: it may be much farther in the past, at least in Firefox 71.\n * Related issue in Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1429926\n */\nexport function getRelativeTime(timestamp) {\n return (timestamp - getNavigationStart());\n}\nexport function getTimeStamp(relativeTime) {\n return Math.round(addDuration(getNavigationStart(), relativeTime));\n}\nexport function looksLikeRelativeTime(time) {\n return time < ONE_YEAR;\n}\n/**\n * Navigation start slightly change on some rare cases\n */\nvar navigationStart;\nfunction getNavigationStart() {\n if (navigationStart === undefined) {\n navigationStart = performance.timing.navigationStart;\n }\n return navigationStart;\n}\n//# sourceMappingURL=timeUtils.js.map","export function sendToExtension(type, payload) {\n var callback = window.__ddBrowserSdkExtensionCallback;\n if (callback) {\n callback({ type: type, payload: payload });\n }\n}\n//# sourceMappingURL=sendToExtension.js.map","export function getConnectivity() {\n var _a;\n var navigator = window.navigator;\n return {\n status: navigator.onLine ? 'connected' : 'not_connected',\n interfaces: navigator.connection && navigator.connection.type ? [navigator.connection.type] : undefined,\n effective_type: (_a = navigator.connection) === null || _a === void 0 ? void 0 : _a.effectiveType,\n };\n}\n//# sourceMappingURL=connectivity.js.map","import { arrayFrom } from './polyfills';\nexport function removeDuplicates(array) {\n var set = new Set();\n array.forEach(function (item) { return set.add(item); });\n return arrayFrom(set);\n}\nexport function removeItem(array, item) {\n var index = array.indexOf(item);\n if (index >= 0) {\n array.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrayUtils.js.map","import { removeItem } from './utils/arrayUtils';\nvar BUFFER_LIMIT = 500;\nexport function createBoundedBuffer() {\n var buffer = [];\n var add = function (callback) {\n var length = buffer.push(callback);\n if (length > BUFFER_LIMIT) {\n buffer.splice(0, 1);\n }\n };\n var remove = function (callback) {\n removeItem(buffer, callback);\n };\n var drain = function (arg) {\n buffer.forEach(function (callback) { return callback(arg); });\n buffer.length = 0;\n };\n return {\n add: add,\n remove: remove,\n drain: drain,\n };\n}\n//# sourceMappingURL=boundedBuffer.js.map","export var TelemetryType = {\n log: 'log',\n configuration: 'configuration',\n usage: 'usage',\n};\n//# sourceMappingURL=rawTelemetryEvent.types.js.map","import { ConsoleApiName } from '../../tools/display';\nimport { NO_ERROR_STACK_PRESENT_MESSAGE, isError } from '../error/error';\nimport { toStackTraceString } from '../../tools/stackTrace/handlingStack';\nimport { getExperimentalFeatures } from '../../tools/experimentalFeatures';\nimport { INTAKE_SITE_STAGING, INTAKE_SITE_US1_FED } from '../configuration';\nimport { Observable } from '../../tools/observable';\nimport { timeStampNow } from '../../tools/utils/timeUtils';\nimport { displayIfDebugEnabled, startMonitorErrorCollection } from '../../tools/monitor';\nimport { sendToExtension } from '../../tools/sendToExtension';\nimport { startsWith, arrayFrom, includes, assign } from '../../tools/utils/polyfills';\nimport { performDraw } from '../../tools/utils/numberUtils';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { combine } from '../../tools/mergeInto';\nimport { computeStackTrace } from '../../tools/stackTrace/computeStackTrace';\nimport { getConnectivity } from '../connectivity';\nimport { createBoundedBuffer } from '../../tools/boundedBuffer';\nimport { TelemetryType } from './rawTelemetryEvent.types';\nvar ALLOWED_FRAME_URLS = [\n 'https://www.datadoghq-browser-agent.com',\n 'https://www.datad0g-browser-agent.com',\n 'https://d3uc069fcn7uxw.cloudfront.net',\n 'https://d20xtzwzcl0ceb.cloudfront.net',\n 'http://localhost',\n '',\n];\nvar TELEMETRY_EXCLUDED_SITES = [INTAKE_SITE_US1_FED];\n// eslint-disable-next-line local-rules/disallow-side-effects\nvar preStartTelemetryBuffer = createBoundedBuffer();\nvar onRawTelemetryEventCollected = function (event) {\n preStartTelemetryBuffer.add(function () { return onRawTelemetryEventCollected(event); });\n};\nexport function startTelemetry(telemetryService, configuration) {\n var _a;\n var contextProvider;\n var observable = new Observable();\n var alreadySentEvents = new Set();\n var telemetryEnabled = !includes(TELEMETRY_EXCLUDED_SITES, configuration.site) && performDraw(configuration.telemetrySampleRate);\n var telemetryEnabledPerType = (_a = {},\n _a[TelemetryType.log] = telemetryEnabled,\n _a[TelemetryType.configuration] = telemetryEnabled && performDraw(configuration.telemetryConfigurationSampleRate),\n _a[TelemetryType.usage] = telemetryEnabled && performDraw(configuration.telemetryUsageSampleRate),\n _a);\n var runtimeEnvInfo = getRuntimeEnvInfo();\n onRawTelemetryEventCollected = function (rawEvent) {\n var stringifiedEvent = jsonStringify(rawEvent);\n if (telemetryEnabledPerType[rawEvent.type] &&\n alreadySentEvents.size < configuration.maxTelemetryEventsPerPage &&\n !alreadySentEvents.has(stringifiedEvent)) {\n var event_1 = toTelemetryEvent(telemetryService, rawEvent, runtimeEnvInfo);\n observable.notify(event_1);\n sendToExtension('telemetry', event_1);\n alreadySentEvents.add(stringifiedEvent);\n }\n };\n startMonitorErrorCollection(addTelemetryError);\n function toTelemetryEvent(telemetryService, event, runtimeEnvInfo) {\n return combine({\n type: 'telemetry',\n date: timeStampNow(),\n service: telemetryService,\n version: \"5.35.1\",\n source: 'browser',\n _dd: {\n format_version: 2,\n },\n telemetry: combine(event, {\n runtime_env: runtimeEnvInfo,\n connectivity: getConnectivity(),\n sdk_setup: \"npm\",\n }),\n experimental_features: arrayFrom(getExperimentalFeatures()),\n }, contextProvider !== undefined ? contextProvider() : {});\n }\n return {\n setContextProvider: function (provider) {\n contextProvider = provider;\n },\n observable: observable,\n enabled: telemetryEnabled,\n };\n}\nfunction getRuntimeEnvInfo() {\n return {\n is_local_file: window.location.protocol === 'file:',\n is_worker: 'WorkerGlobalScope' in self,\n };\n}\nexport function startFakeTelemetry() {\n var events = [];\n onRawTelemetryEventCollected = function (event) {\n events.push(event);\n };\n return events;\n}\n// need to be called after telemetry context is provided and observers are registered\nexport function drainPreStartTelemetry() {\n preStartTelemetryBuffer.drain();\n}\nexport function resetTelemetry() {\n preStartTelemetryBuffer = createBoundedBuffer();\n onRawTelemetryEventCollected = function (event) {\n preStartTelemetryBuffer.add(function () { return onRawTelemetryEventCollected(event); });\n };\n}\n/**\n * Avoid mixing telemetry events from different data centers\n * but keep replicating staging events for reliability\n */\nexport function isTelemetryReplicationAllowed(configuration) {\n return configuration.site === INTAKE_SITE_STAGING;\n}\nexport function addTelemetryDebug(message, context) {\n displayIfDebugEnabled(ConsoleApiName.debug, message, context);\n onRawTelemetryEventCollected(assign({\n type: TelemetryType.log,\n message: message,\n status: \"debug\" /* StatusType.debug */,\n }, context));\n}\nexport function addTelemetryError(e, context) {\n onRawTelemetryEventCollected(assign({\n type: TelemetryType.log,\n status: \"error\" /* StatusType.error */,\n }, formatError(e), context));\n}\nexport function addTelemetryConfiguration(configuration) {\n onRawTelemetryEventCollected({\n type: TelemetryType.configuration,\n configuration: configuration,\n });\n}\nexport function addTelemetryUsage(usage) {\n onRawTelemetryEventCollected({\n type: TelemetryType.usage,\n usage: usage,\n });\n}\nexport function formatError(e) {\n if (isError(e)) {\n var stackTrace = computeStackTrace(e);\n return {\n error: {\n kind: stackTrace.name,\n stack: toStackTraceString(scrubCustomerFrames(stackTrace)),\n },\n message: stackTrace.message,\n };\n }\n return {\n error: {\n stack: NO_ERROR_STACK_PRESENT_MESSAGE,\n },\n message: \"\".concat(\"Uncaught\" /* NonErrorPrefix.UNCAUGHT */, \" \").concat(jsonStringify(e)),\n };\n}\nexport function scrubCustomerFrames(stackTrace) {\n stackTrace.stack = stackTrace.stack.filter(function (frame) { return !frame.url || ALLOWED_FRAME_URLS.some(function (allowedFrameUrl) { return startsWith(frame.url, allowedFrameUrl); }); });\n return stackTrace;\n}\n//# sourceMappingURL=telemetry.js.map","import { display } from '../../tools/display';\nimport { getType } from '../../tools/utils/typeUtils';\nimport { assign } from '../../tools/utils/polyfills';\n/**\n * Clone input data and ensure known user properties (id, name, email)\n * are strings, as defined here:\n * https://docs.datadoghq.com/logs/log_configuration/attributes_naming_convention/#user-related-attributes\n */\nexport function sanitizeUser(newUser) {\n // We shallow clone only to prevent mutation of user data.\n var user = assign({}, newUser);\n var keys = ['id', 'name', 'email'];\n keys.forEach(function (key) {\n if (key in user) {\n /* eslint-disable @typescript-eslint/no-base-to-string */\n user[key] = String(user[key]);\n }\n });\n return user;\n}\n/**\n * Simple check to ensure user is valid\n */\nexport function checkUser(newUser) {\n var isValid = getType(newUser) === 'object';\n if (!isValid) {\n display.error('Unsupported user:', newUser);\n }\n return isValid;\n}\nexport function generateAnonymousId() {\n return Math.floor(Math.random() * Math.pow(2, 53)).toString(36);\n}\n//# sourceMappingURL=user.js.map","import { display } from '../tools/display';\nexport function displayAlreadyInitializedError(sdkName, initConfiguration) {\n if (!initConfiguration.silentMultipleInit) {\n display.error(\"\".concat(sdkName, \" is already initialized.\"));\n }\n}\n//# sourceMappingURL=displayAlreadyInitializedError.js.map","export function buildCommonContext(globalContextManager, userContextManager, recorderApi) {\n return {\n context: globalContextManager.getContext(),\n user: userContextManager.getContext(),\n hasReplay: recorderApi.isRecording() ? true : undefined,\n };\n}\n//# sourceMappingURL=commonContext.js.map","/**\n * UUID v4\n * from https://gist.github.com/jed/982883\n */\nexport function generateUUID(placeholder) {\n return placeholder\n ? // eslint-disable-next-line no-bitwise\n (parseInt(placeholder, 10) ^ ((Math.random() * 16) >> (parseInt(placeholder, 10) / 4))).toString(16)\n : \"\".concat(1e7, \"-\").concat(1e3, \"-\").concat(4e3, \"-\").concat(8e3, \"-\").concat(1e11).replace(/[018]/g, generateUUID);\n}\nvar COMMA_SEPARATED_KEY_VALUE = /([\\w-]+)\\s*=\\s*([^;]+)/g;\nexport function findCommaSeparatedValue(rawString, name) {\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n var match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);\n if (match) {\n if (match[1] === name) {\n return match[2];\n }\n }\n else {\n break;\n }\n }\n}\nexport function findCommaSeparatedValues(rawString) {\n var result = new Map();\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n var match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);\n if (match) {\n result.set(match[1], match[2]);\n }\n else {\n break;\n }\n }\n return result;\n}\nexport function safeTruncate(candidate, length, suffix) {\n if (suffix === void 0) { suffix = ''; }\n var lastChar = candidate.charCodeAt(length - 1);\n var isLastCharSurrogatePair = lastChar >= 0xd800 && lastChar <= 0xdbff;\n var correctedLength = isLastCharSurrogatePair ? length + 1 : length;\n if (candidate.length <= correctedLength) {\n return candidate;\n }\n return \"\".concat(candidate.slice(0, correctedLength)).concat(suffix);\n}\n//# sourceMappingURL=stringUtils.js.map","import { clocksNow, combine, elapsed, generateUUID, toServerDuration } from '@datadog/browser-core';\nexport function createCustomVitalsState() {\n var vitalsByName = new Map();\n var vitalsByReference = new WeakMap();\n return { vitalsByName: vitalsByName, vitalsByReference: vitalsByReference };\n}\nexport function startVitalCollection(lifeCycle, pageStateHistory, customVitalsState) {\n function isValid(vital) {\n return !pageStateHistory.wasInPageStateDuringPeriod(\"frozen\" /* PageState.FROZEN */, vital.startClocks.relative, vital.duration);\n }\n function addDurationVital(vital) {\n if (isValid(vital)) {\n lifeCycle.notify(12 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, processVital(vital, true));\n }\n }\n return {\n addDurationVital: addDurationVital,\n startDurationVital: function (name, options) {\n if (options === void 0) { options = {}; }\n return startDurationVital(customVitalsState, name, options);\n },\n stopDurationVital: function (nameOrRef, options) {\n if (options === void 0) { options = {}; }\n stopDurationVital(addDurationVital, customVitalsState, nameOrRef, options);\n },\n };\n}\nexport function startDurationVital(_a, name, options) {\n var vitalsByName = _a.vitalsByName, vitalsByReference = _a.vitalsByReference;\n if (options === void 0) { options = {}; }\n var vital = {\n name: name,\n startClocks: clocksNow(),\n context: options.context,\n description: options.description,\n };\n // To avoid leaking implementation details of the vital, we return a reference to it.\n var reference = { __dd_vital_reference: true };\n vitalsByName.set(name, vital);\n // To avoid memory leaks caused by the creation of numerous references (e.g., from improper useEffect implementations), we use a WeakMap.\n vitalsByReference.set(reference, vital);\n return reference;\n}\nexport function stopDurationVital(stopCallback, _a, nameOrRef, options) {\n var vitalsByName = _a.vitalsByName, vitalsByReference = _a.vitalsByReference;\n if (options === void 0) { options = {}; }\n var vitalStart = typeof nameOrRef === 'string' ? vitalsByName.get(nameOrRef) : vitalsByReference.get(nameOrRef);\n if (!vitalStart) {\n return;\n }\n stopCallback(buildDurationVital(vitalStart, vitalStart.startClocks, options, clocksNow()));\n if (typeof nameOrRef === 'string') {\n vitalsByName.delete(nameOrRef);\n }\n else {\n vitalsByReference.delete(nameOrRef);\n }\n}\nfunction buildDurationVital(vitalStart, startClocks, stopOptions, stopClocks) {\n var _a;\n return {\n name: vitalStart.name,\n type: \"duration\" /* VitalType.DURATION */,\n startClocks: startClocks,\n duration: elapsed(startClocks.timeStamp, stopClocks.timeStamp),\n context: combine(vitalStart.context, stopOptions.context),\n description: (_a = stopOptions.description) !== null && _a !== void 0 ? _a : vitalStart.description,\n };\n}\nfunction processVital(vital, valueComputedBySdk) {\n var rawRumEvent = {\n date: vital.startClocks.timeStamp,\n vital: {\n id: generateUUID(),\n type: vital.type,\n name: vital.name,\n duration: toServerDuration(vital.duration),\n description: vital.description,\n },\n type: \"vital\" /* RumEventType.VITAL */,\n };\n if (valueComputedBySdk) {\n rawRumEvent._dd = {\n vital: {\n computed_value: true,\n },\n };\n }\n return {\n rawRumEvent: rawRumEvent,\n startTime: vital.startClocks.relative,\n customerContext: vital.context,\n domainContext: {},\n };\n}\n//# sourceMappingURL=vitalCollection.js.map","import { endsWith, includes } from '../tools/utils/polyfills';\nimport { getGlobalObject } from '../tools/getGlobalObject';\nexport function getEventBridge() {\n var eventBridgeGlobal = getEventBridgeGlobal();\n if (!eventBridgeGlobal) {\n return;\n }\n return {\n getCapabilities: function () {\n var _a;\n return JSON.parse(((_a = eventBridgeGlobal.getCapabilities) === null || _a === void 0 ? void 0 : _a.call(eventBridgeGlobal)) || '[]');\n },\n getPrivacyLevel: function () {\n var _a;\n return (_a = eventBridgeGlobal.getPrivacyLevel) === null || _a === void 0 ? void 0 : _a.call(eventBridgeGlobal);\n },\n getAllowedWebViewHosts: function () {\n return JSON.parse(eventBridgeGlobal.getAllowedWebViewHosts());\n },\n send: function (eventType, event, viewId) {\n var view = viewId ? { id: viewId } : undefined;\n eventBridgeGlobal.send(JSON.stringify({ eventType: eventType, event: event, view: view }));\n },\n };\n}\nexport function bridgeSupports(capability) {\n var bridge = getEventBridge();\n return !!bridge && includes(bridge.getCapabilities(), capability);\n}\nexport function canUseEventBridge(currentHost) {\n var _a;\n if (currentHost === void 0) { currentHost = (_a = getGlobalObject().location) === null || _a === void 0 ? void 0 : _a.hostname; }\n var bridge = getEventBridge();\n return (!!bridge &&\n bridge\n .getAllowedWebViewHosts()\n .some(function (allowedHost) { return currentHost === allowedHost || endsWith(currentHost, \".\".concat(allowedHost)); }));\n}\nfunction getEventBridgeGlobal() {\n return getGlobalObject().DatadogEventBridge;\n}\n//# sourceMappingURL=eventBridge.js.map","import { setTimeout } from './timer';\nimport { callMonitored } from './monitor';\nimport { noop } from './utils/functionUtils';\nimport { arrayFrom, startsWith } from './utils/polyfills';\nimport { createHandlingStack } from './stackTrace/handlingStack';\n/**\n * Instruments a method on a object, calling the given callback before the original method is\n * invoked. The callback receives an object with information about the method call.\n *\n * This function makes sure that we are \"good citizens\" regarding third party instrumentations: when\n * removing the instrumentation, the original method is usually restored, but if a third party\n * instrumentation was set after ours, we keep it in place and just replace our instrumentation with\n * a noop.\n *\n * Note: it is generally better to instrument methods that are \"owned\" by the object instead of ones\n * that are inherited from the prototype chain. Example:\n * * do: `instrumentMethod(Array.prototype, 'push', ...)`\n * * don't: `instrumentMethod([], 'push', ...)`\n *\n * This method is also used to set event handler properties (ex: window.onerror = ...), as it has\n * the same requirements as instrumenting a method:\n * * if the event handler is already set by a third party, we need to call it and not just blindly\n * override it.\n * * if the event handler is set by a third party after us, we need to keep it in place when\n * removing ours.\n *\n * @example\n *\n * instrumentMethod(window, 'fetch', ({ target, parameters, onPostCall }) => {\n * console.log('Before calling fetch on', target, 'with parameters', parameters)\n *\n * onPostCall((result) => {\n * console.log('After fetch calling on', target, 'with parameters', parameters, 'and result', result)\n * })\n * })\n */\nexport function instrumentMethod(targetPrototype, method, onPreCall, _a) {\n var _b = _a === void 0 ? {} : _a, computeHandlingStack = _b.computeHandlingStack;\n var original = targetPrototype[method];\n if (typeof original !== 'function') {\n if (method in targetPrototype && startsWith(method, 'on')) {\n original = noop;\n }\n else {\n return { stop: noop };\n }\n }\n var stopped = false;\n var instrumentation = function () {\n if (stopped) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call\n return original.apply(this, arguments);\n }\n var parameters = arrayFrom(arguments);\n var postCallCallback;\n callMonitored(onPreCall, null, [\n {\n target: this,\n parameters: parameters,\n onPostCall: function (callback) {\n postCallCallback = callback;\n },\n handlingStack: computeHandlingStack ? createHandlingStack() : undefined,\n },\n ]);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n var result = original.apply(this, parameters);\n if (postCallCallback) {\n callMonitored(postCallCallback, null, [result]);\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return result;\n };\n targetPrototype[method] = instrumentation;\n return {\n stop: function () {\n stopped = true;\n // If the instrumentation has been removed by a third party, keep the last one\n if (targetPrototype[method] === instrumentation) {\n targetPrototype[method] = original;\n }\n },\n };\n}\nexport function instrumentSetter(targetPrototype, property, after) {\n var originalDescriptor = Object.getOwnPropertyDescriptor(targetPrototype, property);\n if (!originalDescriptor || !originalDescriptor.set || !originalDescriptor.configurable) {\n return { stop: noop };\n }\n var stoppedInstrumentation = noop;\n var instrumentation = function (target, value) {\n // put hooked setter into event loop to avoid of set latency\n setTimeout(function () {\n if (instrumentation !== stoppedInstrumentation) {\n after(target, value);\n }\n }, 0);\n };\n var instrumentationWrapper = function (value) {\n originalDescriptor.set.call(this, value);\n instrumentation(this, value);\n };\n Object.defineProperty(targetPrototype, property, {\n set: instrumentationWrapper,\n });\n return {\n stop: function () {\n var _a;\n if (((_a = Object.getOwnPropertyDescriptor(targetPrototype, property)) === null || _a === void 0 ? void 0 : _a.set) === instrumentationWrapper) {\n Object.defineProperty(targetPrototype, property, originalDescriptor);\n }\n instrumentation = stoppedInstrumentation;\n },\n };\n}\n//# sourceMappingURL=instrumentMethod.js.map","import { jsonStringify } from '../serialisation/jsonStringify';\nexport function normalizeUrl(url) {\n return buildUrl(url, location.href).href;\n}\nexport function isValidUrl(url) {\n try {\n return !!buildUrl(url);\n }\n catch (_a) {\n return false;\n }\n}\nexport function getPathName(url) {\n var pathname = buildUrl(url).pathname;\n return pathname[0] === '/' ? pathname : \"/\".concat(pathname);\n}\nexport function buildUrl(url, base) {\n var supportedURL = getSupportedUrl();\n if (supportedURL) {\n try {\n return base !== undefined ? new supportedURL(url, base) : new supportedURL(url);\n }\n catch (error) {\n throw new Error(\"Failed to construct URL: \".concat(String(error), \" \").concat(jsonStringify({ url: url, base: base })));\n }\n }\n if (base === undefined && !/:/.test(url)) {\n throw new Error(\"Invalid URL: '\".concat(url, \"'\"));\n }\n var doc = document;\n var anchorElement = doc.createElement('a');\n if (base !== undefined) {\n doc = document.implementation.createHTMLDocument('');\n var baseElement = doc.createElement('base');\n baseElement.href = base;\n doc.head.appendChild(baseElement);\n doc.body.appendChild(anchorElement);\n }\n anchorElement.href = url;\n return anchorElement;\n}\nvar originalURL = URL;\nvar isURLSupported;\nfunction getSupportedUrl() {\n if (isURLSupported === undefined) {\n try {\n var url = new originalURL('http://test/path');\n isURLSupported = url.href === 'http://test/path';\n }\n catch (_a) {\n isURLSupported = false;\n }\n }\n return isURLSupported ? originalURL : undefined;\n}\n//# sourceMappingURL=urlPolyfill.js.map","import { instrumentMethod } from '../tools/instrumentMethod';\nimport { monitor } from '../tools/monitor';\nimport { Observable } from '../tools/observable';\nimport { assign } from '../tools/utils/polyfills';\nimport { clocksNow } from '../tools/utils/timeUtils';\nimport { normalizeUrl } from '../tools/utils/urlPolyfill';\nvar fetchObservable;\nexport function initFetchObservable() {\n if (!fetchObservable) {\n fetchObservable = createFetchObservable();\n }\n return fetchObservable;\n}\nexport function resetFetchObservable() {\n fetchObservable = undefined;\n}\nfunction createFetchObservable() {\n return new Observable(function (observable) {\n if (!window.fetch) {\n return;\n }\n var stop = instrumentMethod(window, 'fetch', function (call) { return beforeSend(call, observable); }, {\n computeHandlingStack: true,\n }).stop;\n return stop;\n });\n}\nfunction beforeSend(_a, observable) {\n var parameters = _a.parameters, onPostCall = _a.onPostCall, handlingStack = _a.handlingStack;\n var input = parameters[0], init = parameters[1];\n var methodFromParams = init && init.method;\n if (methodFromParams === undefined && input instanceof Request) {\n methodFromParams = input.method;\n }\n var method = methodFromParams !== undefined ? String(methodFromParams).toUpperCase() : 'GET';\n var url = input instanceof Request ? input.url : normalizeUrl(String(input));\n var startClocks = clocksNow();\n var context = {\n state: 'start',\n init: init,\n input: input,\n method: method,\n startClocks: startClocks,\n url: url,\n handlingStack: handlingStack,\n };\n observable.notify(context);\n // Those properties can be changed by observable subscribers\n parameters[0] = context.input;\n parameters[1] = context.init;\n onPostCall(function (responsePromise) { return afterSend(observable, responsePromise, context); });\n}\nfunction afterSend(observable, responsePromise, startContext) {\n var context = startContext;\n function reportFetch(partialContext) {\n context.state = 'resolve';\n assign(context, partialContext);\n observable.notify(context);\n }\n responsePromise.then(monitor(function (response) {\n reportFetch({\n response: response,\n responseType: response.type,\n status: response.status,\n isAborted: false,\n });\n }), monitor(function (error) {\n var _a, _b;\n reportFetch({\n status: 0,\n isAborted: ((_b = (_a = context.init) === null || _a === void 0 ? void 0 : _a.signal) === null || _b === void 0 ? void 0 : _b.aborted) || (error instanceof DOMException && error.code === DOMException.ABORT_ERR),\n error: error,\n });\n }));\n}\n//# sourceMappingURL=fetchObservable.js.map","import { display } from '../tools/display';\nimport { ONE_MINUTE, ONE_SECOND } from '../tools/utils/timeUtils';\nimport { findCommaSeparatedValue, findCommaSeparatedValues, generateUUID } from '../tools/utils/stringUtils';\nexport function setCookie(name, value, expireDelay, options) {\n if (expireDelay === void 0) { expireDelay = 0; }\n var date = new Date();\n date.setTime(date.getTime() + expireDelay);\n var expires = \"expires=\".concat(date.toUTCString());\n var sameSite = options && options.crossSite ? 'none' : 'strict';\n var domain = options && options.domain ? \";domain=\".concat(options.domain) : '';\n var secure = options && options.secure ? ';secure' : '';\n var partitioned = options && options.partitioned ? ';partitioned' : '';\n document.cookie = \"\".concat(name, \"=\").concat(value, \";\").concat(expires, \";path=/;samesite=\").concat(sameSite).concat(domain).concat(secure).concat(partitioned);\n}\nexport function getCookie(name) {\n return findCommaSeparatedValue(document.cookie, name);\n}\nvar initCookieParsed;\n/**\n * Returns a cached value of the cookie. Use this during SDK initialization (and whenever possible)\n * to avoid accessing document.cookie multiple times.\n */\nexport function getInitCookie(name) {\n if (!initCookieParsed) {\n initCookieParsed = findCommaSeparatedValues(document.cookie);\n }\n return initCookieParsed.get(name);\n}\nexport function resetInitCookies() {\n initCookieParsed = undefined;\n}\nexport function deleteCookie(name, options) {\n setCookie(name, '', 0, options);\n}\nexport function areCookiesAuthorized(options) {\n if (document.cookie === undefined || document.cookie === null) {\n return false;\n }\n try {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = \"dd_cookie_test_\".concat(generateUUID());\n var testCookieValue = 'test';\n setCookie(testCookieName, testCookieValue, ONE_MINUTE, options);\n var isCookieCorrectlySet = getCookie(testCookieName) === testCookieValue;\n deleteCookie(testCookieName, options);\n return isCookieCorrectlySet;\n }\n catch (error) {\n display.error(error);\n return false;\n }\n}\n/**\n * No API to retrieve it, number of levels for subdomain and suffix are unknown\n * strategy: find the minimal domain on which cookies are allowed to be set\n * https://web.dev/same-site-same-origin/#site\n */\nvar getCurrentSiteCache;\nexport function getCurrentSite() {\n if (getCurrentSiteCache === undefined) {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = \"dd_site_test_\".concat(generateUUID());\n var testCookieValue = 'test';\n var domainLevels = window.location.hostname.split('.');\n var candidateDomain = domainLevels.pop();\n while (domainLevels.length && !getCookie(testCookieName)) {\n candidateDomain = \"\".concat(domainLevels.pop(), \".\").concat(candidateDomain);\n setCookie(testCookieName, testCookieValue, ONE_SECOND, { domain: candidateDomain });\n }\n deleteCookie(testCookieName, { domain: candidateDomain });\n getCurrentSiteCache = candidateDomain;\n }\n return getCurrentSiteCache;\n}\n//# sourceMappingURL=cookie.js.map","import { getInitCookie } from '../../browser/cookie';\nexport var SYNTHETICS_TEST_ID_COOKIE_NAME = 'datadog-synthetics-public-id';\nexport var SYNTHETICS_RESULT_ID_COOKIE_NAME = 'datadog-synthetics-result-id';\nexport var SYNTHETICS_INJECTS_RUM_COOKIE_NAME = 'datadog-synthetics-injects-rum';\nexport function willSyntheticsInjectRum() {\n return Boolean(window._DATADOG_SYNTHETICS_INJECTS_RUM || getInitCookie(SYNTHETICS_INJECTS_RUM_COOKIE_NAME));\n}\nexport function getSyntheticsTestId() {\n var value = window._DATADOG_SYNTHETICS_PUBLIC_ID || getInitCookie(SYNTHETICS_TEST_ID_COOKIE_NAME);\n return typeof value === 'string' ? value : undefined;\n}\nexport function getSyntheticsResultId() {\n var value = window._DATADOG_SYNTHETICS_RESULT_ID || getInitCookie(SYNTHETICS_RESULT_ID_COOKIE_NAME);\n return typeof value === 'string' ? value : undefined;\n}\n//# sourceMappingURL=syntheticsWorkerValues.js.map","export function isIE() {\n return detectBrowserCached() === 0 /* Browser.IE */;\n}\nexport function isChromium() {\n return detectBrowserCached() === 1 /* Browser.CHROMIUM */;\n}\nexport function isSafari() {\n return detectBrowserCached() === 2 /* Browser.SAFARI */;\n}\nvar browserCache;\nfunction detectBrowserCached() {\n return browserCache !== null && browserCache !== void 0 ? browserCache : (browserCache = detectBrowser());\n}\n// Exported only for tests\nexport function detectBrowser(browserWindow) {\n var _a;\n if (browserWindow === void 0) { browserWindow = window; }\n var userAgent = browserWindow.navigator.userAgent;\n if (browserWindow.chrome || /HeadlessChrome/.test(userAgent)) {\n return 1 /* Browser.CHROMIUM */;\n }\n if (\n // navigator.vendor is deprecated, but it is the most resilient way we found to detect\n // \"Apple maintained browsers\" (AKA Safari). If one day it gets removed, we still have the\n // useragent test as a semi-working fallback.\n ((_a = browserWindow.navigator.vendor) === null || _a === void 0 ? void 0 : _a.indexOf('Apple')) === 0 ||\n (/safari/i.test(userAgent) && !/chrome|android/i.test(userAgent))) {\n return 2 /* Browser.SAFARI */;\n }\n if (browserWindow.document.documentMode) {\n return 0 /* Browser.IE */;\n }\n return 3 /* Browser.OTHER */;\n}\n//# sourceMappingURL=browserDetection.js.map","export var SESSION_STORE_KEY = '_dd_s';\n//# sourceMappingURL=sessionStoreStrategy.js.map","import { ONE_HOUR, ONE_MINUTE, ONE_YEAR } from '../../tools/utils/timeUtils';\nexport var SESSION_TIME_OUT_DELAY = 4 * ONE_HOUR;\nexport var SESSION_EXPIRATION_DELAY = 15 * ONE_MINUTE;\nexport var SESSION_COOKIE_EXPIRATION_DELAY = ONE_YEAR;\nexport var SessionPersistence = {\n COOKIE: 'cookie',\n LOCAL_STORAGE: 'local-storage',\n};\n//# sourceMappingURL=sessionConstants.js.map","export var SESSION_ENTRY_REGEXP = /^([a-zA-Z]+)=([a-z0-9-]+)$/;\nexport var SESSION_ENTRY_SEPARATOR = '&';\nexport function isValidSessionString(sessionString) {\n return (!!sessionString &&\n (sessionString.indexOf(SESSION_ENTRY_SEPARATOR) !== -1 || SESSION_ENTRY_REGEXP.test(sessionString)));\n}\n//# sourceMappingURL=sessionStateValidation.js.map","import { ExperimentalFeature, isExperimentalFeatureEnabled } from '../../tools/experimentalFeatures';\nimport { isEmptyObject } from '../../tools/utils/objectUtils';\nimport { objectEntries } from '../../tools/utils/polyfills';\nimport { dateNow } from '../../tools/utils/timeUtils';\nimport { generateAnonymousId } from '../user';\nimport { SESSION_EXPIRATION_DELAY, SESSION_TIME_OUT_DELAY } from './sessionConstants';\nimport { isValidSessionString, SESSION_ENTRY_REGEXP, SESSION_ENTRY_SEPARATOR } from './sessionStateValidation';\nexport var EXPIRED = '1';\nexport function getExpiredSessionState(previousSessionState) {\n var expiredSessionState = {\n isExpired: EXPIRED,\n };\n if (isExperimentalFeatureEnabled(ExperimentalFeature.ANONYMOUS_USER_TRACKING)) {\n if (previousSessionState === null || previousSessionState === void 0 ? void 0 : previousSessionState.anonymousId) {\n expiredSessionState.anonymousId = previousSessionState === null || previousSessionState === void 0 ? void 0 : previousSessionState.anonymousId;\n }\n else {\n expiredSessionState.anonymousId = generateAnonymousId();\n }\n }\n return expiredSessionState;\n}\nexport function isSessionInNotStartedState(session) {\n return isEmptyObject(session);\n}\nexport function isSessionStarted(session) {\n return !isSessionInNotStartedState(session);\n}\nexport function isSessionInExpiredState(session) {\n return session.isExpired !== undefined || !isActiveSession(session);\n}\n// An active session is a session in either `Tracked` or `NotTracked` state\nfunction isActiveSession(sessionState) {\n // created and expire can be undefined for versions which was not storing them\n // these checks could be removed when older versions will not be available/live anymore\n return ((sessionState.created === undefined || dateNow() - Number(sessionState.created) < SESSION_TIME_OUT_DELAY) &&\n (sessionState.expire === undefined || dateNow() < Number(sessionState.expire)));\n}\nexport function expandSessionState(session) {\n session.expire = String(dateNow() + SESSION_EXPIRATION_DELAY);\n}\nexport function toSessionString(session) {\n return (objectEntries(session)\n // we use `aid` as a key for anonymousId\n .map(function (_a) {\n var key = _a[0], value = _a[1];\n return (key === 'anonymousId' ? \"aid=\".concat(value) : \"\".concat(key, \"=\").concat(value));\n })\n .join(SESSION_ENTRY_SEPARATOR));\n}\nexport function toSessionState(sessionString) {\n var session = {};\n if (isValidSessionString(sessionString)) {\n sessionString.split(SESSION_ENTRY_SEPARATOR).forEach(function (entry) {\n var matches = SESSION_ENTRY_REGEXP.exec(entry);\n if (matches !== null) {\n var key = matches[1], value = matches[2];\n if (key === 'aid') {\n // we use `aid` as a key for anonymousId\n session.anonymousId = value;\n }\n else {\n session[key] = value;\n }\n }\n });\n }\n return session;\n}\n//# sourceMappingURL=sessionState.js.map","import { getInitCookie } from '../../browser/cookie';\nimport { SESSION_STORE_KEY } from './storeStrategies/sessionStoreStrategy';\nimport { expandSessionState, isSessionStarted } from './sessionState';\nexport var OLD_SESSION_COOKIE_NAME = '_dd';\nexport var OLD_RUM_COOKIE_NAME = '_dd_r';\nexport var OLD_LOGS_COOKIE_NAME = '_dd_l';\n// duplicate values to avoid dependency issues\nexport var RUM_SESSION_KEY = 'rum';\nexport var LOGS_SESSION_KEY = 'logs';\n/**\n * This migration should remain in the codebase as long as older versions are available/live\n * to allow older sdk versions to be upgraded to newer versions without compatibility issues.\n */\nexport function tryOldCookiesMigration(cookieStoreStrategy) {\n var sessionString = getInitCookie(SESSION_STORE_KEY);\n if (!sessionString) {\n var oldSessionId = getInitCookie(OLD_SESSION_COOKIE_NAME);\n var oldRumType = getInitCookie(OLD_RUM_COOKIE_NAME);\n var oldLogsType = getInitCookie(OLD_LOGS_COOKIE_NAME);\n var session = {};\n if (oldSessionId) {\n session.id = oldSessionId;\n }\n if (oldLogsType && /^[01]$/.test(oldLogsType)) {\n session[LOGS_SESSION_KEY] = oldLogsType;\n }\n if (oldRumType && /^[012]$/.test(oldRumType)) {\n session[RUM_SESSION_KEY] = oldRumType;\n }\n if (isSessionStarted(session)) {\n expandSessionState(session);\n cookieStoreStrategy.persistSession(session);\n }\n }\n}\n//# sourceMappingURL=oldCookiesMigration.js.map","import { isChromium } from '../../../tools/utils/browserDetection';\nimport { ExperimentalFeature, isExperimentalFeatureEnabled } from '../../../tools/experimentalFeatures';\nimport { getCurrentSite, areCookiesAuthorized, getCookie, setCookie } from '../../../browser/cookie';\nimport { tryOldCookiesMigration } from '../oldCookiesMigration';\nimport { SESSION_COOKIE_EXPIRATION_DELAY, SESSION_EXPIRATION_DELAY, SESSION_TIME_OUT_DELAY, SessionPersistence, } from '../sessionConstants';\nimport { toSessionString, toSessionState, getExpiredSessionState } from '../sessionState';\nimport { SESSION_STORE_KEY } from './sessionStoreStrategy';\nexport function selectCookieStrategy(initConfiguration) {\n var cookieOptions = buildCookieOptions(initConfiguration);\n return areCookiesAuthorized(cookieOptions) ? { type: SessionPersistence.COOKIE, cookieOptions: cookieOptions } : undefined;\n}\nexport function initCookieStrategy(cookieOptions) {\n var cookieStore = {\n /**\n * Lock strategy allows mitigating issues due to concurrent access to cookie.\n * This issue concerns only chromium browsers and enabling this on firefox increases cookie write failures.\n */\n isLockEnabled: isChromium(),\n persistSession: persistSessionCookie(cookieOptions),\n retrieveSession: retrieveSessionCookie,\n expireSession: function (sessionState) { return expireSessionCookie(cookieOptions, sessionState); },\n };\n tryOldCookiesMigration(cookieStore);\n return cookieStore;\n}\nfunction persistSessionCookie(options) {\n return function (session) {\n setCookie(SESSION_STORE_KEY, toSessionString(session), SESSION_EXPIRATION_DELAY, options);\n };\n}\nfunction expireSessionCookie(options, sessionState) {\n var expiredSessionState = getExpiredSessionState(sessionState);\n setCookie(SESSION_STORE_KEY, toSessionString(expiredSessionState), isExperimentalFeatureEnabled(ExperimentalFeature.ANONYMOUS_USER_TRACKING)\n ? SESSION_COOKIE_EXPIRATION_DELAY\n : SESSION_TIME_OUT_DELAY, options);\n}\nfunction retrieveSessionCookie() {\n var sessionString = getCookie(SESSION_STORE_KEY);\n var sessionState = toSessionState(sessionString);\n return sessionState;\n}\nexport function buildCookieOptions(initConfiguration) {\n var cookieOptions = {};\n cookieOptions.secure =\n !!initConfiguration.useSecureSessionCookie ||\n !!initConfiguration.usePartitionedCrossSiteSessionCookie ||\n !!initConfiguration.useCrossSiteSessionCookie;\n cookieOptions.crossSite =\n !!initConfiguration.usePartitionedCrossSiteSessionCookie || !!initConfiguration.useCrossSiteSessionCookie;\n cookieOptions.partitioned = !!initConfiguration.usePartitionedCrossSiteSessionCookie;\n if (initConfiguration.trackSessionAcrossSubdomains) {\n cookieOptions.domain = getCurrentSite();\n }\n return cookieOptions;\n}\n//# sourceMappingURL=sessionInCookie.js.map","import { generateUUID } from '../../../tools/utils/stringUtils';\nimport { SessionPersistence } from '../sessionConstants';\nimport { toSessionString, toSessionState, getExpiredSessionState } from '../sessionState';\nimport { SESSION_STORE_KEY } from './sessionStoreStrategy';\nvar LOCAL_STORAGE_TEST_KEY = '_dd_test_';\nexport function selectLocalStorageStrategy() {\n try {\n var id = generateUUID();\n var testKey = \"\".concat(LOCAL_STORAGE_TEST_KEY).concat(id);\n localStorage.setItem(testKey, id);\n var retrievedId = localStorage.getItem(testKey);\n localStorage.removeItem(testKey);\n return id === retrievedId ? { type: SessionPersistence.LOCAL_STORAGE } : undefined;\n }\n catch (_a) {\n return undefined;\n }\n}\nexport function initLocalStorageStrategy() {\n return {\n isLockEnabled: false,\n persistSession: persistInLocalStorage,\n retrieveSession: retrieveSessionFromLocalStorage,\n expireSession: expireSessionFromLocalStorage,\n };\n}\nfunction persistInLocalStorage(sessionState) {\n localStorage.setItem(SESSION_STORE_KEY, toSessionString(sessionState));\n}\nfunction retrieveSessionFromLocalStorage() {\n var sessionString = localStorage.getItem(SESSION_STORE_KEY);\n return toSessionState(sessionString);\n}\nfunction expireSessionFromLocalStorage(previousSessionState) {\n persistInLocalStorage(getExpiredSessionState(previousSessionState));\n}\n//# sourceMappingURL=sessionInLocalStorage.js.map","import { setTimeout } from '../../tools/timer';\nimport { generateUUID } from '../../tools/utils/stringUtils';\nimport { assign } from '../../tools/utils/polyfills';\nimport { expandSessionState, isSessionInExpiredState } from './sessionState';\nexport var LOCK_RETRY_DELAY = 10;\nexport var LOCK_MAX_TRIES = 100;\nvar bufferedOperations = [];\nvar ongoingOperations;\nexport function processSessionStoreOperations(operations, sessionStoreStrategy, numberOfRetries) {\n var _a;\n if (numberOfRetries === void 0) { numberOfRetries = 0; }\n var isLockEnabled = sessionStoreStrategy.isLockEnabled, persistSession = sessionStoreStrategy.persistSession, expireSession = sessionStoreStrategy.expireSession;\n var persistWithLock = function (session) { return persistSession(assign({}, session, { lock: currentLock })); };\n var retrieveStore = function () {\n var session = sessionStoreStrategy.retrieveSession();\n var lock = session.lock;\n if (session.lock) {\n delete session.lock;\n }\n return {\n session: session,\n lock: lock,\n };\n };\n if (!ongoingOperations) {\n ongoingOperations = operations;\n }\n if (operations !== ongoingOperations) {\n bufferedOperations.push(operations);\n return;\n }\n if (isLockEnabled && numberOfRetries >= LOCK_MAX_TRIES) {\n next(sessionStoreStrategy);\n return;\n }\n var currentLock;\n var currentStore = retrieveStore();\n if (isLockEnabled) {\n // if someone has lock, retry later\n if (currentStore.lock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n // acquire lock\n currentLock = generateUUID();\n persistWithLock(currentStore.session);\n // if lock is not acquired, retry later\n currentStore = retrieveStore();\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n }\n var processedSession = operations.process(currentStore.session);\n if (isLockEnabled) {\n // if lock corrupted after process, retry later\n currentStore = retrieveStore();\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n }\n if (processedSession) {\n if (isSessionInExpiredState(processedSession)) {\n expireSession(processedSession);\n }\n else {\n expandSessionState(processedSession);\n if (isLockEnabled) {\n persistWithLock(processedSession);\n }\n else {\n persistSession(processedSession);\n }\n }\n }\n if (isLockEnabled) {\n // correctly handle lock around expiration would require to handle this case properly at several levels\n // since we don't have evidence of lock issues around expiration, let's just not do the corruption check for it\n if (!(processedSession && isSessionInExpiredState(processedSession))) {\n // if lock corrupted after persist, retry later\n currentStore = retrieveStore();\n if (currentStore.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n persistSession(currentStore.session);\n processedSession = currentStore.session;\n }\n }\n // call after even if session is not persisted in order to perform operations on\n // up-to-date session state value => the value could have been modified by another tab\n (_a = operations.after) === null || _a === void 0 ? void 0 : _a.call(operations, processedSession || currentStore.session);\n next(sessionStoreStrategy);\n}\nfunction retryLater(operations, sessionStore, currentNumberOfRetries) {\n setTimeout(function () {\n processSessionStoreOperations(operations, sessionStore, currentNumberOfRetries + 1);\n }, LOCK_RETRY_DELAY);\n}\nfunction next(sessionStore) {\n ongoingOperations = undefined;\n var nextOperations = bufferedOperations.shift();\n if (nextOperations) {\n processSessionStoreOperations(nextOperations, sessionStore);\n }\n}\n//# sourceMappingURL=sessionStoreOperations.js.map","import { clearInterval, setInterval } from '../../tools/timer';\nimport { Observable } from '../../tools/observable';\nimport { ONE_SECOND, dateNow } from '../../tools/utils/timeUtils';\nimport { throttle } from '../../tools/utils/functionUtils';\nimport { generateUUID } from '../../tools/utils/stringUtils';\nimport { assign } from '../../tools/utils/polyfills';\nimport { display } from '../../tools/display';\nimport { selectCookieStrategy, initCookieStrategy } from './storeStrategies/sessionInCookie';\nimport { getExpiredSessionState, isSessionInExpiredState, isSessionInNotStartedState, isSessionStarted, } from './sessionState';\nimport { initLocalStorageStrategy, selectLocalStorageStrategy } from './storeStrategies/sessionInLocalStorage';\nimport { processSessionStoreOperations } from './sessionStoreOperations';\nimport { SessionPersistence } from './sessionConstants';\n/**\n * Every second, the storage will be polled to check for any change that can occur\n * to the session state in another browser tab, or another window.\n * This value has been determined from our previous cookie-only implementation.\n */\nexport var STORAGE_POLL_DELAY = ONE_SECOND;\n/**\n * Selects the correct session store strategy type based on the configuration and storage\n * availability.\n */\nexport function selectSessionStoreStrategyType(initConfiguration) {\n switch (initConfiguration.sessionPersistence) {\n case SessionPersistence.COOKIE:\n return selectCookieStrategy(initConfiguration);\n case SessionPersistence.LOCAL_STORAGE:\n return selectLocalStorageStrategy();\n case undefined: {\n var sessionStoreStrategyType = selectCookieStrategy(initConfiguration);\n if (!sessionStoreStrategyType && initConfiguration.allowFallbackToLocalStorage) {\n sessionStoreStrategyType = selectLocalStorageStrategy();\n }\n return sessionStoreStrategyType;\n }\n default:\n display.error(\"Invalid session persistence '\".concat(String(initConfiguration.sessionPersistence), \"'\"));\n }\n}\n/**\n * Different session concepts:\n * - tracked, the session has an id and is updated along the user navigation\n * - not tracked, the session does not have an id but it is updated along the user navigation\n * - inactive, no session in store or session expired, waiting for a renew session\n */\nexport function startSessionStore(sessionStoreStrategyType, productKey, computeSessionState) {\n var renewObservable = new Observable();\n var expireObservable = new Observable();\n var sessionStateUpdateObservable = new Observable();\n var sessionStoreStrategy = sessionStoreStrategyType.type === SessionPersistence.COOKIE\n ? initCookieStrategy(sessionStoreStrategyType.cookieOptions)\n : initLocalStorageStrategy();\n var expireSession = sessionStoreStrategy.expireSession;\n var watchSessionTimeoutId = setInterval(watchSession, STORAGE_POLL_DELAY);\n var sessionCache;\n startSession();\n var _a = throttle(function () {\n processSessionStoreOperations({\n process: function (sessionState) {\n if (isSessionInNotStartedState(sessionState)) {\n return;\n }\n var synchronizedSession = synchronizeSession(sessionState);\n expandOrRenewSessionState(synchronizedSession);\n return synchronizedSession;\n },\n after: function (sessionState) {\n if (isSessionStarted(sessionState) && !hasSessionInCache()) {\n renewSessionInCache(sessionState);\n }\n sessionCache = sessionState;\n },\n }, sessionStoreStrategy);\n }, STORAGE_POLL_DELAY), throttledExpandOrRenewSession = _a.throttled, cancelExpandOrRenewSession = _a.cancel;\n function expandSession() {\n processSessionStoreOperations({\n process: function (sessionState) { return (hasSessionInCache() ? synchronizeSession(sessionState) : undefined); },\n }, sessionStoreStrategy);\n }\n /**\n * allows two behaviors:\n * - if the session is active, synchronize the session cache without updating the session store\n * - if the session is not active, clear the session store and expire the session cache\n */\n function watchSession() {\n processSessionStoreOperations({\n process: function (sessionState) {\n return isSessionInExpiredState(sessionState) ? getExpiredSessionState(sessionState) : undefined;\n },\n after: synchronizeSession,\n }, sessionStoreStrategy);\n }\n function synchronizeSession(sessionState) {\n if (isSessionInExpiredState(sessionState)) {\n sessionState = getExpiredSessionState(sessionState);\n }\n if (hasSessionInCache()) {\n if (isSessionInCacheOutdated(sessionState)) {\n expireSessionInCache();\n }\n else {\n sessionStateUpdateObservable.notify({ previousState: sessionCache, newState: sessionState });\n sessionCache = sessionState;\n }\n }\n return sessionState;\n }\n function startSession() {\n processSessionStoreOperations({\n process: function (sessionState) {\n if (isSessionInNotStartedState(sessionState)) {\n return getExpiredSessionState(sessionState);\n }\n },\n after: function (sessionState) {\n sessionCache = sessionState;\n },\n }, sessionStoreStrategy);\n }\n function expandOrRenewSessionState(sessionState) {\n if (isSessionInNotStartedState(sessionState)) {\n return false;\n }\n var _a = computeSessionState(sessionState[productKey]), trackingType = _a.trackingType, isTracked = _a.isTracked;\n sessionState[productKey] = trackingType;\n delete sessionState.isExpired;\n if (isTracked && !sessionState.id) {\n sessionState.id = generateUUID();\n sessionState.created = String(dateNow());\n }\n }\n function hasSessionInCache() {\n return sessionCache[productKey] !== undefined;\n }\n function isSessionInCacheOutdated(sessionState) {\n return sessionCache.id !== sessionState.id || sessionCache[productKey] !== sessionState[productKey];\n }\n function expireSessionInCache() {\n sessionCache = getExpiredSessionState(sessionCache);\n expireObservable.notify();\n }\n function renewSessionInCache(sessionState) {\n sessionCache = sessionState;\n renewObservable.notify();\n }\n function updateSessionState(partialSessionState) {\n processSessionStoreOperations({\n process: function (sessionState) { return assign({}, sessionState, partialSessionState); },\n after: synchronizeSession,\n }, sessionStoreStrategy);\n }\n return {\n expandOrRenewSession: throttledExpandOrRenewSession,\n expandSession: expandSession,\n getSession: function () { return sessionCache; },\n renewObservable: renewObservable,\n expireObservable: expireObservable,\n sessionStateUpdateObservable: sessionStateUpdateObservable,\n restartSession: startSession,\n expire: function () {\n cancelExpandOrRenewSession();\n expireSession(sessionCache);\n synchronizeSession(getExpiredSessionState(sessionCache));\n },\n stop: function () {\n clearInterval(watchSessionTimeoutId);\n },\n updateSessionState: updateSessionState,\n };\n}\n//# sourceMappingURL=sessionStore.js.map","import { timeStampNow } from '../../tools/utils/timeUtils';\nimport { normalizeUrl } from '../../tools/utils/urlPolyfill';\nimport { generateUUID } from '../../tools/utils/stringUtils';\nimport { INTAKE_SITE_US1, INTAKE_SITE_FED_STAGING, PCI_INTAKE_HOST_US1 } from './intakeSites';\nexport function createEndpointBuilder(initConfiguration, trackType, configurationTags) {\n var buildUrlWithParameters = createEndpointUrlWithParametersBuilder(initConfiguration, trackType);\n return {\n build: function (api, payload) {\n var parameters = buildEndpointParameters(initConfiguration, trackType, configurationTags, api, payload);\n return buildUrlWithParameters(parameters);\n },\n urlPrefix: buildUrlWithParameters(''),\n trackType: trackType,\n };\n}\n/**\n * Create a function used to build a full endpoint url from provided parameters. The goal of this\n * function is to pre-compute some parts of the URL to avoid re-computing everything on every\n * request, as only parameters are changing.\n */\nfunction createEndpointUrlWithParametersBuilder(initConfiguration, trackType) {\n var path = \"/api/v2/\".concat(trackType);\n var proxy = initConfiguration.proxy;\n if (typeof proxy === 'string') {\n var normalizedProxyUrl_1 = normalizeUrl(proxy);\n return function (parameters) { return \"\".concat(normalizedProxyUrl_1, \"?ddforward=\").concat(encodeURIComponent(\"\".concat(path, \"?\").concat(parameters))); };\n }\n if (typeof proxy === 'function') {\n return function (parameters) { return proxy({ path: path, parameters: parameters }); };\n }\n var host = buildEndpointHost(trackType, initConfiguration);\n return function (parameters) { return \"https://\".concat(host).concat(path, \"?\").concat(parameters); };\n}\nfunction buildEndpointHost(trackType, initConfiguration) {\n var _a = initConfiguration.site, site = _a === void 0 ? INTAKE_SITE_US1 : _a, internalAnalyticsSubdomain = initConfiguration.internalAnalyticsSubdomain;\n if (trackType === 'logs' && initConfiguration.usePciIntake && site === INTAKE_SITE_US1) {\n return PCI_INTAKE_HOST_US1;\n }\n if (internalAnalyticsSubdomain && site === INTAKE_SITE_US1) {\n return \"\".concat(internalAnalyticsSubdomain, \".\").concat(INTAKE_SITE_US1);\n }\n if (site === INTAKE_SITE_FED_STAGING) {\n return \"http-intake.logs.\".concat(site);\n }\n var domainParts = site.split('.');\n var extension = domainParts.pop();\n return \"browser-intake-\".concat(domainParts.join('-'), \".\").concat(extension);\n}\n/**\n * Build parameters to be used for an intake request. Parameters should be re-built for each\n * request, as they change randomly.\n */\nfunction buildEndpointParameters(_a, trackType, configurationTags, api, _b) {\n var clientToken = _a.clientToken, internalAnalyticsSubdomain = _a.internalAnalyticsSubdomain;\n var retry = _b.retry, encoding = _b.encoding;\n var tags = [\"sdk_version:\".concat(\"5.35.1\"), \"api:\".concat(api)].concat(configurationTags);\n if (retry) {\n tags.push(\"retry_count:\".concat(retry.count), \"retry_after:\".concat(retry.lastFailureStatus));\n }\n var parameters = [\n 'ddsource=browser',\n \"ddtags=\".concat(encodeURIComponent(tags.join(','))),\n \"dd-api-key=\".concat(clientToken),\n \"dd-evp-origin-version=\".concat(encodeURIComponent(\"5.35.1\")),\n 'dd-evp-origin=browser',\n \"dd-request-id=\".concat(generateUUID()),\n ];\n if (encoding) {\n parameters.push(\"dd-evp-encoding=\".concat(encoding));\n }\n if (trackType === 'rum') {\n parameters.push(\"batch_time=\".concat(timeStampNow()));\n }\n if (internalAnalyticsSubdomain) {\n parameters.reverse();\n }\n return parameters.join('&');\n}\n//# sourceMappingURL=endpointBuilder.js.map","import { DOCS_ORIGIN, MORE_DETAILS, display } from '../../tools/display';\nexport var TAG_SIZE_LIMIT = 200;\nexport function buildTags(configuration) {\n var env = configuration.env, service = configuration.service, version = configuration.version, datacenter = configuration.datacenter;\n var tags = [];\n if (env) {\n tags.push(buildTag('env', env));\n }\n if (service) {\n tags.push(buildTag('service', service));\n }\n if (version) {\n tags.push(buildTag('version', version));\n }\n if (datacenter) {\n tags.push(buildTag('datacenter', datacenter));\n }\n return tags;\n}\nexport function buildTag(key, rawValue) {\n // See https://docs.datadoghq.com/getting_started/tagging/#defining-tags for tags syntax. Note\n // that the backend may not follow the exact same rules, so we only want to display an informal\n // warning.\n var valueSizeLimit = TAG_SIZE_LIMIT - key.length - 1;\n if (rawValue.length > valueSizeLimit || hasForbiddenCharacters(rawValue)) {\n display.warn(\"\".concat(key, \" value doesn't meet tag requirements and will be sanitized. \").concat(MORE_DETAILS, \" \").concat(DOCS_ORIGIN, \"/getting_started/tagging/#defining-tags\"));\n }\n // Let the backend do most of the sanitization, but still make sure multiple tags can't be crafted\n // by forging a value containing commas.\n var sanitizedValue = rawValue.replace(/,/g, '_');\n return \"\".concat(key, \":\").concat(sanitizedValue);\n}\nfunction hasForbiddenCharacters(rawValue) {\n // Unicode property escapes is not supported in all browsers, so we use a try/catch.\n // Todo: Remove the try/catch when dropping IE11.\n if (!supportUnicodePropertyEscapes()) {\n return false;\n }\n // We use the Unicode property escapes to match any character that is a letter including other languages like Chinese, Japanese, etc.\n // p{Ll} matches a lowercase letter.\n // p{Lo} matches a letter that is neither uppercase nor lowercase (ex: Japanese characters).\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Unicode_character_class_escape#unicode_property_escapes_vs._character_classes\n return new RegExp('[^\\\\p{Ll}\\\\p{Lo}0-9_:./-]', 'u').test(rawValue);\n}\nexport function supportUnicodePropertyEscapes() {\n try {\n new RegExp('[\\\\p{Ll}]', 'u');\n return true;\n }\n catch (_a) {\n return false;\n }\n}\n//# sourceMappingURL=tags.js.map","import { assign, includes } from '../../tools/utils/polyfills';\nimport { createEndpointBuilder } from './endpointBuilder';\nimport { buildTags } from './tags';\nimport { INTAKE_SITE_US1, INTAKE_URL_PARAMETERS } from './intakeSites';\nexport function computeTransportConfiguration(initConfiguration) {\n var site = initConfiguration.site || INTAKE_SITE_US1;\n var tags = buildTags(initConfiguration);\n var endpointBuilders = computeEndpointBuilders(initConfiguration, tags);\n var replicaConfiguration = computeReplicaConfiguration(initConfiguration, tags);\n return assign({\n replica: replicaConfiguration,\n site: site,\n }, endpointBuilders);\n}\nfunction computeEndpointBuilders(initConfiguration, tags) {\n return {\n logsEndpointBuilder: createEndpointBuilder(initConfiguration, 'logs', tags),\n rumEndpointBuilder: createEndpointBuilder(initConfiguration, 'rum', tags),\n sessionReplayEndpointBuilder: createEndpointBuilder(initConfiguration, 'replay', tags),\n };\n}\nfunction computeReplicaConfiguration(initConfiguration, tags) {\n if (!initConfiguration.replica) {\n return;\n }\n var replicaConfiguration = assign({}, initConfiguration, {\n site: INTAKE_SITE_US1,\n clientToken: initConfiguration.replica.clientToken,\n });\n var replicaEndpointBuilders = {\n logsEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'logs', tags),\n rumEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'rum', tags),\n };\n return assign({ applicationId: initConfiguration.replica.applicationId }, replicaEndpointBuilders);\n}\nexport function isIntakeUrl(url) {\n // check if tags is present in the query string\n return INTAKE_URL_PARAMETERS.every(function (param) { return includes(url, param); });\n}\n//# sourceMappingURL=transportConfiguration.js.map","import { catchUserErrors } from '../../tools/catchUserErrors';\nimport { DOCS_ORIGIN, MORE_DETAILS, display } from '../../tools/display';\nimport { ONE_SECOND } from '../../tools/utils/timeUtils';\nimport { isPercentage } from '../../tools/utils/numberUtils';\nimport { ONE_KIBI_BYTE } from '../../tools/utils/byteUtils';\nimport { objectHasValue } from '../../tools/utils/objectUtils';\nimport { assign } from '../../tools/utils/polyfills';\nimport { selectSessionStoreStrategyType } from '../session/sessionStore';\nimport { TrackingConsent } from '../trackingConsent';\nimport { computeTransportConfiguration } from './transportConfiguration';\nexport var DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input',\n};\nexport var TraceContextInjection = {\n ALL: 'all',\n SAMPLED: 'sampled',\n};\nfunction isString(tag, tagName) {\n if (tag !== undefined && tag !== null && typeof tag !== 'string') {\n display.error(\"\".concat(tagName, \" must be defined as a string\"));\n return false;\n }\n return true;\n}\nfunction isDatadogSite(site) {\n if (site && typeof site === 'string' && !/(datadog|ddog|datad0g|dd0g)/.test(site)) {\n display.error(\"Site should be a valid Datadog site. \".concat(MORE_DETAILS, \" \").concat(DOCS_ORIGIN, \"/getting_started/site/.\"));\n return false;\n }\n return true;\n}\nexport function isSampleRate(sampleRate, name) {\n if (sampleRate !== undefined && !isPercentage(sampleRate)) {\n display.error(\"\".concat(name, \" Sample Rate should be a number between 0 and 100\"));\n return false;\n }\n return true;\n}\nexport function validateAndBuildConfiguration(initConfiguration) {\n var _a, _b, _c, _d, _e;\n if (!initConfiguration || !initConfiguration.clientToken) {\n display.error('Client Token is not configured, we will not send any data.');\n return;\n }\n if (!isDatadogSite(initConfiguration.site) ||\n !isSampleRate(initConfiguration.sessionSampleRate, 'Session') ||\n !isSampleRate(initConfiguration.telemetrySampleRate, 'Telemetry') ||\n !isSampleRate(initConfiguration.telemetryConfigurationSampleRate, 'Telemetry Configuration') ||\n !isSampleRate(initConfiguration.telemetryUsageSampleRate, 'Telemetry Usage') ||\n !isString(initConfiguration.version, 'Version') ||\n !isString(initConfiguration.env, 'Env') ||\n !isString(initConfiguration.service, 'Service')) {\n return;\n }\n if (initConfiguration.trackingConsent !== undefined &&\n !objectHasValue(TrackingConsent, initConfiguration.trackingConsent)) {\n display.error('Tracking Consent should be either \"granted\" or \"not-granted\"');\n return;\n }\n return assign({\n beforeSend: initConfiguration.beforeSend && catchUserErrors(initConfiguration.beforeSend, 'beforeSend threw an error:'),\n sessionStoreStrategyType: selectSessionStoreStrategyType(initConfiguration),\n sessionSampleRate: (_a = initConfiguration.sessionSampleRate) !== null && _a !== void 0 ? _a : 100,\n telemetrySampleRate: (_b = initConfiguration.telemetrySampleRate) !== null && _b !== void 0 ? _b : 20,\n telemetryConfigurationSampleRate: (_c = initConfiguration.telemetryConfigurationSampleRate) !== null && _c !== void 0 ? _c : 5,\n telemetryUsageSampleRate: (_d = initConfiguration.telemetryUsageSampleRate) !== null && _d !== void 0 ? _d : 5,\n service: initConfiguration.service || undefined,\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\n allowUntrustedEvents: !!initConfiguration.allowUntrustedEvents,\n trackingConsent: (_e = initConfiguration.trackingConsent) !== null && _e !== void 0 ? _e : TrackingConsent.GRANTED,\n storeContextsAcrossPages: !!initConfiguration.storeContextsAcrossPages,\n /**\n * beacon payload max queue size implementation is 64kb\n * ensure that we leave room for logs, rum and potential other users\n */\n batchBytesLimit: 16 * ONE_KIBI_BYTE,\n eventRateLimiterThreshold: 3000,\n maxTelemetryEventsPerPage: 15,\n /**\n * flush automatically, aim to be lower than ALB connection timeout\n * to maximize connection reuse.\n */\n flushTimeout: (30 * ONE_SECOND),\n /**\n * Logs intake limit\n */\n batchMessagesLimit: 50,\n messageBytesLimit: 256 * ONE_KIBI_BYTE,\n }, computeTransportConfiguration(initConfiguration));\n}\nexport function serializeConfiguration(initConfiguration) {\n return {\n session_sample_rate: initConfiguration.sessionSampleRate,\n telemetry_sample_rate: initConfiguration.telemetrySampleRate,\n telemetry_configuration_sample_rate: initConfiguration.telemetryConfigurationSampleRate,\n telemetry_usage_sample_rate: initConfiguration.telemetryUsageSampleRate,\n use_before_send: !!initConfiguration.beforeSend,\n use_cross_site_session_cookie: initConfiguration.useCrossSiteSessionCookie,\n use_partitioned_cross_site_session_cookie: initConfiguration.usePartitionedCrossSiteSessionCookie,\n use_secure_session_cookie: initConfiguration.useSecureSessionCookie,\n use_proxy: !!initConfiguration.proxy,\n silent_multiple_init: initConfiguration.silentMultipleInit,\n track_session_across_subdomains: initConfiguration.trackSessionAcrossSubdomains,\n session_persistence: initConfiguration.sessionPersistence,\n allow_fallback_to_local_storage: !!initConfiguration.allowFallbackToLocalStorage,\n store_contexts_across_pages: !!initConfiguration.storeContextsAcrossPages,\n allow_untrusted_events: !!initConfiguration.allowUntrustedEvents,\n tracking_consent: initConfiguration.trackingConsent,\n };\n}\n//# sourceMappingURL=configuration.js.map","import { startsWith } from './utils/polyfills';\nimport { display } from './display';\nimport { getType } from './utils/typeUtils';\nexport function isMatchOption(item) {\n var itemType = getType(item);\n return itemType === 'string' || itemType === 'function' || item instanceof RegExp;\n}\n/**\n * Returns true if value can be matched by at least one of the provided MatchOptions.\n * When comparing strings, setting useStartsWith to true will compare the value with the start of\n * the option, instead of requiring an exact match.\n */\nexport function matchList(list, value, useStartsWith) {\n if (useStartsWith === void 0) { useStartsWith = false; }\n return list.some(function (item) {\n try {\n if (typeof item === 'function') {\n return item(value);\n }\n else if (item instanceof RegExp) {\n return item.test(value);\n }\n else if (typeof item === 'string') {\n return useStartsWith ? startsWith(value, item) : item === value;\n }\n }\n catch (e) {\n display.error(e);\n }\n return false;\n });\n}\n//# sourceMappingURL=matchOption.js.map","export function getCrypto() {\n // TODO: remove msCrypto when IE11 support is dropped\n return window.crypto || window.msCrypto;\n}\n//# sourceMappingURL=crypto.js.map","import { ExperimentalFeature, isExperimentalFeatureEnabled } from '@datadog/browser-core';\nimport { getCrypto } from '../../browser/crypto';\nexport function createTraceIdentifier() {\n return createIdentifier(64);\n}\nexport function createSpanIdentifier() {\n return createIdentifier(63);\n}\nvar createIdentifierImplementationCache;\nfunction createIdentifier(bits) {\n if (!createIdentifierImplementationCache) {\n createIdentifierImplementationCache =\n isExperimentalFeatureEnabled(ExperimentalFeature.CONSISTENT_TRACE_SAMPLING) && areBigIntIdentifiersSupported()\n ? createIdentifierUsingBigInt\n : createIdentifierUsingUint32Array;\n }\n return createIdentifierImplementationCache(bits);\n}\nexport function areBigIntIdentifiersSupported() {\n try {\n crypto.getRandomValues(new BigUint64Array(1));\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nfunction createIdentifierUsingBigInt(bits) {\n var id = crypto.getRandomValues(new BigUint64Array(1))[0];\n if (bits === 63) {\n // eslint-disable-next-line no-bitwise\n id >>= BigInt('1');\n }\n return id;\n}\n// TODO: remove this when all browser we support have BigInt support\nfunction createIdentifierUsingUint32Array(bits) {\n var buffer = getCrypto().getRandomValues(new Uint32Array(2));\n if (bits === 63) {\n // eslint-disable-next-line no-bitwise\n buffer[buffer.length - 1] >>>= 1; // force 63-bit\n }\n return {\n toString: function (radix) {\n if (radix === void 0) { radix = 10; }\n var high = buffer[1];\n var low = buffer[0];\n var str = '';\n do {\n var mod = (high % radix) * 4294967296 + low;\n high = Math.floor(high / radix);\n low = Math.floor(mod / radix);\n str = (mod % radix).toString(radix) + str;\n } while (high || low);\n return str;\n },\n };\n}\nexport function toPaddedHexadecimalString(id) {\n var traceId = id.toString(16);\n // TODO: replace with String.prototype.padStart when we drop IE11 support\n return Array(17 - traceId.length).join('0') + traceId;\n}\n//# sourceMappingURL=identifier.js.map","import { performDraw } from '@datadog/browser-core';\nexport function isTraceSampled(identifier, sampleRate) {\n // Shortcuts for common cases. This is not strictly necessary, but it makes the code faster for\n // customers willing to ingest all traces.\n if (sampleRate === 100) {\n return true;\n }\n if (sampleRate === 0) {\n return false;\n }\n // For simplicity, we don't use consistent sampling for browser that don't support BigInt\n // TODO: remove this when all browser we support have BigInt support\n if (typeof identifier !== 'bigint') {\n return performDraw(sampleRate);\n }\n // Offer consistent sampling for the same trace id across different environments. The rule is:\n //\n // (identifier * knuthFactor) % 2^64 < sampleRate * 2^64\n //\n // Because JavaScript numbers are 64-bit floats, we can't represent 64-bit integers, and the\n // modulo would be incorrect. Thus, we are using BigInts here.\n //\n // Implementation in other languages:\n // * Go https://github.com/DataDog/dd-trace-go/blob/ec6fbb1f2d517b7b8e69961052adf7136f3af773/ddtrace/tracer/sampler.go#L86-L91\n // * Python https://github.com/DataDog/dd-trace-py/blob/0cee2f066fb6e79aa15947c1514c0f406dea47c5/ddtrace/sampling_rule.py#L197\n // * Ruby https://github.com/DataDog/dd-trace-rb/blob/1a6e255cdcb7e7e22235ea5955f90f6dfa91045d/lib/datadog/tracing/sampling/rate_sampler.rb#L42\n // * C++ https://github.com/DataDog/dd-trace-cpp/blob/159629edc438ae45f2bb318eb7bd51abd05e94b5/src/datadog/trace_sampler.cpp#L58\n // * Java https://github.com/DataDog/dd-trace-java/blob/896dd6b380533216e0bdee59614606c8272d313e/dd-trace-core/src/main/java/datadog/trace/common/sampling/DeterministicSampler.java#L48\n //\n // Note: All implementations have slight variations. Some of them use '<=' instead of '<', and\n // use `sampleRate * 2^64 - 1` instead of `sampleRate * 2^64`. The following implementation\n // should adhere to the spec and is a bit simpler than using a 2^64-1 limit as there are less\n // BigInt arithmetic to write. In practice this does not matter, as we are using floating point\n // numbers in the end, and Number(2n**64n-1n) === Number(2n**64n).\n var knuthFactor = BigInt('1111111111111111111');\n var twoPow64 = BigInt('0x10000000000000000'); // 2n ** 64n\n var hash = (identifier * knuthFactor) % twoPow64;\n return Number(hash) <= (sampleRate / 100) * Number(twoPow64);\n}\n//# sourceMappingURL=sampler.js.map","import { objectEntries, shallowClone, assign, find, getType, isMatchOption, matchList, TraceContextInjection, } from '@datadog/browser-core';\nimport { getCrypto } from '../../browser/crypto';\nimport { createSpanIdentifier, createTraceIdentifier, toPaddedHexadecimalString } from './identifier';\nimport { isTraceSampled } from './sampler';\nexport function isTracingOption(item) {\n var expectedItem = item;\n return (getType(expectedItem) === 'object' &&\n isMatchOption(expectedItem.match) &&\n Array.isArray(expectedItem.propagatorTypes));\n}\n/**\n * Clear tracing information to avoid incomplete traces. Ideally, we should do it when the\n * request did not reach the server, but the browser does not expose this. So, we clear tracing\n * information if the request ended with status 0 without being aborted by the application.\n *\n * Reasoning:\n *\n * * Applications are usually aborting requests after a bit of time, for example when the user is\n * typing (autocompletion) or navigating away (in a SPA). With a performant device and good\n * network conditions, the request is likely to reach the server before being canceled.\n *\n * * Requests aborted otherwise (ex: lack of internet, CORS issue, blocked by a privacy extension)\n * are likely to finish quickly and without reaching the server.\n *\n * Of course, it might not be the case every time, but it should limit having incomplete traces a\n * bit.\n * */\nexport function clearTracingIfNeeded(context) {\n if (context.status === 0 && !context.isAborted) {\n context.traceId = undefined;\n context.spanId = undefined;\n context.traceSampled = undefined;\n }\n}\nexport function startTracer(configuration, sessionManager) {\n return {\n clearTracingIfNeeded: clearTracingIfNeeded,\n traceFetch: function (context) {\n return injectHeadersIfTracingAllowed(configuration, context, sessionManager, function (tracingHeaders) {\n var _a;\n if (context.input instanceof Request && !((_a = context.init) === null || _a === void 0 ? void 0 : _a.headers)) {\n context.input = new Request(context.input);\n Object.keys(tracingHeaders).forEach(function (key) {\n ;\n context.input.headers.append(key, tracingHeaders[key]);\n });\n }\n else {\n context.init = shallowClone(context.init);\n var headers_1 = [];\n if (context.init.headers instanceof Headers) {\n context.init.headers.forEach(function (value, key) {\n headers_1.push([key, value]);\n });\n }\n else if (Array.isArray(context.init.headers)) {\n context.init.headers.forEach(function (header) {\n headers_1.push(header);\n });\n }\n else if (context.init.headers) {\n Object.keys(context.init.headers).forEach(function (key) {\n headers_1.push([key, context.init.headers[key]]);\n });\n }\n context.init.headers = headers_1.concat(objectEntries(tracingHeaders));\n }\n });\n },\n traceXhr: function (context, xhr) {\n return injectHeadersIfTracingAllowed(configuration, context, sessionManager, function (tracingHeaders) {\n Object.keys(tracingHeaders).forEach(function (name) {\n xhr.setRequestHeader(name, tracingHeaders[name]);\n });\n });\n },\n };\n}\nfunction injectHeadersIfTracingAllowed(configuration, context, sessionManager, inject) {\n if (!isTracingSupported() || !sessionManager.findTrackedSession()) {\n return;\n }\n var tracingOption = find(configuration.allowedTracingUrls, function (tracingOption) {\n return matchList([tracingOption.match], context.url, true);\n });\n if (!tracingOption) {\n return;\n }\n var traceId = createTraceIdentifier();\n context.traceSampled = isTraceSampled(traceId, configuration.traceSampleRate);\n var shouldInjectHeaders = context.traceSampled || configuration.traceContextInjection === TraceContextInjection.ALL;\n if (!shouldInjectHeaders) {\n return;\n }\n context.traceId = traceId;\n context.spanId = createSpanIdentifier();\n inject(makeTracingHeaders(context.traceId, context.spanId, context.traceSampled, tracingOption.propagatorTypes));\n}\nexport function isTracingSupported() {\n return getCrypto() !== undefined;\n}\n/**\n * When trace is not sampled, set priority to '0' instead of not adding the tracing headers\n * to prepare the implementation for sampling delegation.\n */\nfunction makeTracingHeaders(traceId, spanId, traceSampled, propagatorTypes) {\n var tracingHeaders = {};\n propagatorTypes.forEach(function (propagatorType) {\n switch (propagatorType) {\n case 'datadog': {\n assign(tracingHeaders, {\n 'x-datadog-origin': 'rum',\n 'x-datadog-parent-id': spanId.toString(),\n 'x-datadog-sampling-priority': traceSampled ? '1' : '0',\n 'x-datadog-trace-id': traceId.toString(),\n });\n break;\n }\n // https://www.w3.org/TR/trace-context/\n case 'tracecontext': {\n assign(tracingHeaders, {\n traceparent: \"00-0000000000000000\".concat(toPaddedHexadecimalString(traceId), \"-\").concat(toPaddedHexadecimalString(spanId), \"-0\").concat(traceSampled ? '1' : '0'),\n });\n break;\n }\n // https://github.com/openzipkin/b3-propagation\n case 'b3': {\n assign(tracingHeaders, {\n b3: \"\".concat(toPaddedHexadecimalString(traceId), \"-\").concat(toPaddedHexadecimalString(spanId), \"-\").concat(traceSampled ? '1' : '0'),\n });\n break;\n }\n case 'b3multi': {\n assign(tracingHeaders, {\n 'X-B3-TraceId': toPaddedHexadecimalString(traceId),\n 'X-B3-SpanId': toPaddedHexadecimalString(spanId),\n 'X-B3-Sampled': traceSampled ? '1' : '0',\n });\n break;\n }\n }\n });\n return tracingHeaders;\n}\n//# sourceMappingURL=tracer.js.map","import { getType, arrayFrom, isMatchOption, serializeConfiguration, assign, DefaultPrivacyLevel, TraceContextInjection, display, objectHasValue, validateAndBuildConfiguration, isSampleRate, isNumber, } from '@datadog/browser-core';\nimport { isTracingOption } from '../tracing/tracer';\nexport var DEFAULT_PROPAGATOR_TYPES = ['tracecontext', 'datadog'];\nexport function validateAndBuildRumConfiguration(initConfiguration) {\n var _a, _b, _c;\n if (!initConfiguration.applicationId) {\n display.error('Application ID is not configured, no RUM data will be collected.');\n return;\n }\n if (!isSampleRate(initConfiguration.sessionReplaySampleRate, 'Session Replay') ||\n !isSampleRate(initConfiguration.traceSampleRate, 'Trace')) {\n return;\n }\n if (initConfiguration.excludedActivityUrls !== undefined && !Array.isArray(initConfiguration.excludedActivityUrls)) {\n display.error('Excluded Activity Urls should be an array');\n return;\n }\n var allowedTracingUrls = validateAndBuildTracingOptions(initConfiguration);\n if (!allowedTracingUrls) {\n return;\n }\n var baseConfiguration = validateAndBuildConfiguration(initConfiguration);\n if (!baseConfiguration) {\n return;\n }\n var sessionReplaySampleRate = (_a = initConfiguration.sessionReplaySampleRate) !== null && _a !== void 0 ? _a : 0;\n return assign({\n applicationId: initConfiguration.applicationId,\n version: initConfiguration.version || undefined,\n actionNameAttribute: initConfiguration.actionNameAttribute,\n sessionReplaySampleRate: sessionReplaySampleRate,\n startSessionReplayRecordingManually: initConfiguration.startSessionReplayRecordingManually !== undefined\n ? !!initConfiguration.startSessionReplayRecordingManually\n : sessionReplaySampleRate === 0,\n traceSampleRate: (_b = initConfiguration.traceSampleRate) !== null && _b !== void 0 ? _b : 100,\n rulePsr: isNumber(initConfiguration.traceSampleRate) ? initConfiguration.traceSampleRate / 100 : undefined,\n allowedTracingUrls: allowedTracingUrls,\n excludedActivityUrls: (_c = initConfiguration.excludedActivityUrls) !== null && _c !== void 0 ? _c : [],\n workerUrl: initConfiguration.workerUrl,\n compressIntakeRequests: !!initConfiguration.compressIntakeRequests,\n trackUserInteractions: !!initConfiguration.trackUserInteractions,\n trackViewsManually: !!initConfiguration.trackViewsManually,\n trackResources: !!initConfiguration.trackResources,\n trackLongTasks: !!initConfiguration.trackLongTasks,\n subdomain: initConfiguration.subdomain,\n defaultPrivacyLevel: objectHasValue(DefaultPrivacyLevel, initConfiguration.defaultPrivacyLevel)\n ? initConfiguration.defaultPrivacyLevel\n : DefaultPrivacyLevel.MASK,\n enablePrivacyForActionName: !!initConfiguration.enablePrivacyForActionName,\n customerDataTelemetrySampleRate: 1,\n traceContextInjection: objectHasValue(TraceContextInjection, initConfiguration.traceContextInjection)\n ? initConfiguration.traceContextInjection\n : TraceContextInjection.ALL,\n plugins: initConfiguration.plugins || [],\n }, baseConfiguration);\n}\n/**\n * Validates allowedTracingUrls and converts match options to tracing options\n */\nfunction validateAndBuildTracingOptions(initConfiguration) {\n if (initConfiguration.allowedTracingUrls === undefined) {\n return [];\n }\n if (!Array.isArray(initConfiguration.allowedTracingUrls)) {\n display.error('Allowed Tracing URLs should be an array');\n return;\n }\n if (initConfiguration.allowedTracingUrls.length !== 0 && initConfiguration.service === undefined) {\n display.error('Service needs to be configured when tracing is enabled');\n return;\n }\n // Convert from (MatchOption | TracingOption) to TracingOption, remove unknown properties\n var tracingOptions = [];\n initConfiguration.allowedTracingUrls.forEach(function (option) {\n if (isMatchOption(option)) {\n tracingOptions.push({ match: option, propagatorTypes: DEFAULT_PROPAGATOR_TYPES });\n }\n else if (isTracingOption(option)) {\n tracingOptions.push(option);\n }\n else {\n display.warn('Allowed Tracing Urls parameters should be a string, RegExp, function, or an object. Ignoring parameter', option);\n }\n });\n return tracingOptions;\n}\n/**\n * Combines the selected tracing propagators from the different options in allowedTracingUrls\n */\nfunction getSelectedTracingPropagators(configuration) {\n var usedTracingPropagators = new Set();\n if (Array.isArray(configuration.allowedTracingUrls) && configuration.allowedTracingUrls.length > 0) {\n configuration.allowedTracingUrls.forEach(function (option) {\n if (isMatchOption(option)) {\n DEFAULT_PROPAGATOR_TYPES.forEach(function (propagatorType) { return usedTracingPropagators.add(propagatorType); });\n }\n else if (getType(option) === 'object' && Array.isArray(option.propagatorTypes)) {\n // Ensure we have an array, as we cannot rely on types yet (configuration is provided by users)\n option.propagatorTypes.forEach(function (propagatorType) { return usedTracingPropagators.add(propagatorType); });\n }\n });\n }\n return arrayFrom(usedTracingPropagators);\n}\nexport function serializeRumConfiguration(configuration) {\n var _a;\n var baseSerializedConfiguration = serializeConfiguration(configuration);\n return assign({\n session_replay_sample_rate: configuration.sessionReplaySampleRate,\n start_session_replay_recording_manually: configuration.startSessionReplayRecordingManually,\n trace_sample_rate: configuration.traceSampleRate,\n trace_context_injection: configuration.traceContextInjection,\n action_name_attribute: configuration.actionNameAttribute,\n use_allowed_tracing_urls: Array.isArray(configuration.allowedTracingUrls) && configuration.allowedTracingUrls.length > 0,\n selected_tracing_propagators: getSelectedTracingPropagators(configuration),\n default_privacy_level: configuration.defaultPrivacyLevel,\n enable_privacy_for_action_name: configuration.enablePrivacyForActionName,\n use_excluded_activity_urls: Array.isArray(configuration.excludedActivityUrls) && configuration.excludedActivityUrls.length > 0,\n use_worker_url: !!configuration.workerUrl,\n compress_intake_requests: configuration.compressIntakeRequests,\n track_views_manually: configuration.trackViewsManually,\n track_user_interactions: configuration.trackUserInteractions,\n track_resources: configuration.trackResources,\n track_long_task: configuration.trackLongTasks,\n plugins: (_a = configuration.plugins) === null || _a === void 0 ? void 0 : _a.map(function (plugin) { var _a; return assign({ name: plugin.name }, (_a = plugin.getConfigurationTelemetry) === null || _a === void 0 ? void 0 : _a.call(plugin)); }),\n }, baseSerializedConfiguration);\n}\n//# sourceMappingURL=configuration.js.map","import { display, addEventListener, assign } from '@datadog/browser-core';\nexport var REMOTE_CONFIGURATION_URL = 'https://d3uc069fcn7uxw.cloudfront.net/configuration';\nexport function fetchAndApplyRemoteConfiguration(initConfiguration, callback) {\n fetchRemoteConfiguration(initConfiguration, function (remoteInitConfiguration) {\n callback(applyRemoteConfiguration(initConfiguration, remoteInitConfiguration));\n });\n}\nexport function applyRemoteConfiguration(initConfiguration, remoteInitConfiguration) {\n return assign({}, initConfiguration, remoteInitConfiguration);\n}\nexport function fetchRemoteConfiguration(configuration, callback) {\n var xhr = new XMLHttpRequest();\n addEventListener(configuration, xhr, 'load', function () {\n if (xhr.status === 200) {\n callback(JSON.parse(xhr.responseText));\n }\n else {\n displayRemoteConfigurationFetchingError();\n }\n });\n addEventListener(configuration, xhr, 'error', function () {\n displayRemoteConfigurationFetchingError();\n });\n xhr.open('GET', \"\".concat(REMOTE_CONFIGURATION_URL, \"/\").concat(encodeURIComponent(configuration.remoteConfigurationId), \".json\"));\n xhr.send();\n}\nfunction displayRemoteConfigurationFetchingError() {\n display.error('Error fetching the remote configuration.');\n}\n//# sourceMappingURL=remoteConfiguration.js.map","export function callPluginsMethod(plugins, methodName, parameter) {\n if (!plugins) {\n return;\n }\n for (var _i = 0, plugins_1 = plugins; _i < plugins_1.length; _i++) {\n var plugin = plugins_1[_i];\n var method = plugin[methodName];\n if (method) {\n method(parameter);\n }\n }\n}\n//# sourceMappingURL=plugins.js.map","import { createBoundedBuffer, display, canUseEventBridge, displayAlreadyInitializedError, willSyntheticsInjectRum, noop, timeStampNow, clocksNow, assign, getEventBridge, ExperimentalFeature, isExperimentalFeatureEnabled, initFeatureFlags, addTelemetryConfiguration, initFetchObservable, } from '@datadog/browser-core';\nimport { validateAndBuildRumConfiguration, } from '../domain/configuration';\nimport { startDurationVital, stopDurationVital } from '../domain/vital/vitalCollection';\nimport { fetchAndApplyRemoteConfiguration, serializeRumConfiguration } from '../domain/configuration';\nimport { callPluginsMethod } from '../domain/plugins';\nexport function createPreStartStrategy(_a, getCommonContext, trackingConsentState, customVitalsState, doStartRum) {\n var ignoreInitIfSyntheticsWillInjectRum = _a.ignoreInitIfSyntheticsWillInjectRum, startDeflateWorker = _a.startDeflateWorker;\n var bufferApiCalls = createBoundedBuffer();\n var firstStartViewCall;\n var deflateWorker;\n var cachedInitConfiguration;\n var cachedConfiguration;\n var trackingConsentStateSubscription = trackingConsentState.observable.subscribe(tryStartRum);\n function tryStartRum() {\n if (!cachedInitConfiguration || !cachedConfiguration || !trackingConsentState.isGranted()) {\n return;\n }\n trackingConsentStateSubscription.unsubscribe();\n var initialViewOptions;\n if (cachedConfiguration.trackViewsManually) {\n if (!firstStartViewCall) {\n return;\n }\n // An initial view is always created when starting RUM.\n // When tracking views automatically, any startView call before RUM start creates an extra\n // view.\n // When tracking views manually, we use the ViewOptions from the first startView call as the\n // initial view options, and we remove the actual startView call so we don't create an extra\n // view.\n bufferApiCalls.remove(firstStartViewCall.callback);\n initialViewOptions = firstStartViewCall.options;\n }\n var startRumResult = doStartRum(cachedConfiguration, deflateWorker, initialViewOptions);\n bufferApiCalls.drain(startRumResult);\n }\n function doInit(initConfiguration) {\n var eventBridgeAvailable = canUseEventBridge();\n if (eventBridgeAvailable) {\n initConfiguration = overrideInitConfigurationForBridge(initConfiguration);\n }\n // Update the exposed initConfiguration to reflect the bridge and remote configuration overrides\n cachedInitConfiguration = initConfiguration;\n addTelemetryConfiguration(serializeRumConfiguration(initConfiguration));\n if (cachedConfiguration) {\n displayAlreadyInitializedError('DD_RUM', initConfiguration);\n return;\n }\n var configuration = validateAndBuildRumConfiguration(initConfiguration);\n if (!configuration) {\n return;\n }\n if (!eventBridgeAvailable && !configuration.sessionStoreStrategyType) {\n display.warn('No storage available for session. We will not send any data.');\n return;\n }\n if (configuration.compressIntakeRequests && !eventBridgeAvailable && startDeflateWorker) {\n deflateWorker = startDeflateWorker(configuration, 'Datadog RUM', \n // Worker initialization can fail asynchronously, especially in Firefox where even CSP\n // issues are reported asynchronously. For now, the SDK will continue its execution even if\n // data won't be sent to Datadog. We could improve this behavior in the future.\n noop);\n if (!deflateWorker) {\n // `startDeflateWorker` should have logged an error message explaining the issue\n return;\n }\n }\n cachedConfiguration = configuration;\n // Instrumuent fetch to track network requests\n // This is needed in case the consent is not granted and some cutsomer\n // library (Apollo Client) is storing uninstrumented fetch to be used later\n // The subscrption is needed so that the instrumentation process is completed\n initFetchObservable().subscribe(noop);\n trackingConsentState.tryToInit(configuration.trackingConsent);\n tryStartRum();\n }\n var addDurationVital = function (vital) {\n bufferApiCalls.add(function (startRumResult) { return startRumResult.addDurationVital(vital); });\n };\n return {\n init: function (initConfiguration, publicApi) {\n if (!initConfiguration) {\n display.error('Missing configuration');\n return;\n }\n // Set the experimental feature flags as early as possible, so we can use them in most places\n initFeatureFlags(initConfiguration.enableExperimentalFeatures);\n // Expose the initial configuration regardless of initialization success.\n cachedInitConfiguration = initConfiguration;\n // If we are in a Synthetics test configured to automatically inject a RUM instance, we want\n // to completely discard the customer application RUM instance by ignoring their init() call.\n // But, we should not ignore the init() call from the Synthetics-injected RUM instance, so the\n // internal `ignoreInitIfSyntheticsWillInjectRum` option is here to bypass this condition.\n if (ignoreInitIfSyntheticsWillInjectRum && willSyntheticsInjectRum()) {\n return;\n }\n callPluginsMethod(initConfiguration.plugins, 'onInit', { initConfiguration: initConfiguration, publicApi: publicApi });\n if (initConfiguration.remoteConfigurationId &&\n isExperimentalFeatureEnabled(ExperimentalFeature.REMOTE_CONFIGURATION)) {\n fetchAndApplyRemoteConfiguration(initConfiguration, doInit);\n }\n else {\n doInit(initConfiguration);\n }\n },\n get initConfiguration() {\n return cachedInitConfiguration;\n },\n getInternalContext: noop,\n stopSession: noop,\n addTiming: function (name, time) {\n if (time === void 0) { time = timeStampNow(); }\n bufferApiCalls.add(function (startRumResult) { return startRumResult.addTiming(name, time); });\n },\n startView: function (options, startClocks) {\n if (startClocks === void 0) { startClocks = clocksNow(); }\n var callback = function (startRumResult) {\n startRumResult.startView(options, startClocks);\n };\n bufferApiCalls.add(callback);\n if (!firstStartViewCall) {\n firstStartViewCall = { options: options, callback: callback };\n tryStartRum();\n }\n },\n setViewName: function (name) {\n bufferApiCalls.add(function (startRumResult) { return startRumResult.setViewName(name); });\n },\n setViewContext: function (context) {\n bufferApiCalls.add(function (startRumResult) { return startRumResult.setViewContext(context); });\n },\n setViewContextProperty: function (key, value) {\n bufferApiCalls.add(function (startRumResult) { return startRumResult.setViewContextProperty(key, value); });\n },\n addAction: function (action, commonContext) {\n if (commonContext === void 0) { commonContext = getCommonContext(); }\n bufferApiCalls.add(function (startRumResult) { return startRumResult.addAction(action, commonContext); });\n },\n addError: function (providedError, commonContext) {\n if (commonContext === void 0) { commonContext = getCommonContext(); }\n bufferApiCalls.add(function (startRumResult) { return startRumResult.addError(providedError, commonContext); });\n },\n addFeatureFlagEvaluation: function (key, value) {\n bufferApiCalls.add(function (startRumResult) { return startRumResult.addFeatureFlagEvaluation(key, value); });\n },\n startDurationVital: function (name, options) {\n return startDurationVital(customVitalsState, name, options);\n },\n stopDurationVital: function (name, options) {\n stopDurationVital(addDurationVital, customVitalsState, name, options);\n },\n addDurationVital: addDurationVital,\n };\n}\nfunction overrideInitConfigurationForBridge(initConfiguration) {\n var _a, _b;\n return assign({}, initConfiguration, {\n applicationId: '00000000-aaaa-0000-aaaa-000000000000',\n clientToken: 'empty',\n sessionSampleRate: 100,\n defaultPrivacyLevel: (_a = initConfiguration.defaultPrivacyLevel) !== null && _a !== void 0 ? _a : (_b = getEventBridge()) === null || _b === void 0 ? void 0 : _b.getPrivacyLevel(),\n });\n}\n//# sourceMappingURL=preStartRum.js.map","import { addTelemetryUsage, assign, createContextManager, deepClone, makePublicApi, monitor, clocksNow, callMonitored, createHandlingStack, checkUser, sanitizeUser, sanitize, createIdentityEncoder, createCustomerDataTrackerManager, storeContextManager, displayAlreadyInitializedError, createTrackingConsentState, timeStampToClocks, } from '@datadog/browser-core';\nimport { buildCommonContext } from '../domain/contexts/commonContext';\nimport { createCustomVitalsState } from '../domain/vital/vitalCollection';\nimport { createPreStartStrategy } from './preStartRum';\nvar RUM_STORAGE_KEY = 'rum';\nexport function makeRumPublicApi(startRumImpl, recorderApi, options) {\n if (options === void 0) { options = {}; }\n var customerDataTrackerManager = createCustomerDataTrackerManager(0 /* CustomerDataCompressionStatus.Unknown */);\n var globalContextManager = createContextManager(customerDataTrackerManager.getOrCreateTracker(2 /* CustomerDataType.GlobalContext */));\n var userContextManager = createContextManager(customerDataTrackerManager.getOrCreateTracker(1 /* CustomerDataType.User */));\n var trackingConsentState = createTrackingConsentState();\n var customVitalsState = createCustomVitalsState();\n function getCommonContext() {\n return buildCommonContext(globalContextManager, userContextManager, recorderApi);\n }\n var strategy = createPreStartStrategy(options, getCommonContext, trackingConsentState, customVitalsState, function (configuration, deflateWorker, initialViewOptions) {\n if (configuration.storeContextsAcrossPages) {\n storeContextManager(configuration, globalContextManager, RUM_STORAGE_KEY, 2 /* CustomerDataType.GlobalContext */);\n storeContextManager(configuration, userContextManager, RUM_STORAGE_KEY, 1 /* CustomerDataType.User */);\n }\n customerDataTrackerManager.setCompressionStatus(deflateWorker ? 1 /* CustomerDataCompressionStatus.Enabled */ : 2 /* CustomerDataCompressionStatus.Disabled */);\n var startRumResult = startRumImpl(configuration, recorderApi, customerDataTrackerManager, getCommonContext, initialViewOptions, deflateWorker && options.createDeflateEncoder\n ? function (streamId) { return options.createDeflateEncoder(configuration, deflateWorker, streamId); }\n : createIdentityEncoder, trackingConsentState, customVitalsState);\n recorderApi.onRumStart(startRumResult.lifeCycle, configuration, startRumResult.session, startRumResult.viewHistory, deflateWorker);\n strategy = createPostStartStrategy(strategy, startRumResult);\n return startRumResult;\n });\n var startView = monitor(function (options) {\n var sanitizedOptions = typeof options === 'object' ? options : { name: options };\n if (sanitizedOptions.context) {\n customerDataTrackerManager.getOrCreateTracker(3 /* CustomerDataType.View */).updateCustomerData(sanitizedOptions.context);\n }\n strategy.startView(sanitizedOptions);\n addTelemetryUsage({ feature: 'start-view' });\n });\n var rumPublicApi = makePublicApi({\n init: monitor(function (initConfiguration) {\n strategy.init(initConfiguration, rumPublicApi);\n }),\n setTrackingConsent: monitor(function (trackingConsent) {\n trackingConsentState.update(trackingConsent);\n addTelemetryUsage({ feature: 'set-tracking-consent', tracking_consent: trackingConsent });\n }),\n setViewName: monitor(function (name) {\n strategy.setViewName(name);\n }),\n setViewContext: monitor(function (context) {\n strategy.setViewContext(context);\n }),\n setViewContextProperty: monitor(function (key, value) {\n strategy.setViewContextProperty(key, value);\n }),\n setGlobalContext: monitor(function (context) {\n globalContextManager.setContext(context);\n addTelemetryUsage({ feature: 'set-global-context' });\n }),\n getGlobalContext: monitor(function () { return globalContextManager.getContext(); }),\n setGlobalContextProperty: monitor(function (key, value) {\n globalContextManager.setContextProperty(key, value);\n addTelemetryUsage({ feature: 'set-global-context' });\n }),\n removeGlobalContextProperty: monitor(function (key) { return globalContextManager.removeContextProperty(key); }),\n clearGlobalContext: monitor(function () { return globalContextManager.clearContext(); }),\n getInternalContext: monitor(function (startTime) { return strategy.getInternalContext(startTime); }),\n getInitConfiguration: monitor(function () { return deepClone(strategy.initConfiguration); }),\n addAction: function (name, context) {\n var handlingStack = createHandlingStack();\n callMonitored(function () {\n strategy.addAction({\n name: sanitize(name),\n context: sanitize(context),\n startClocks: clocksNow(),\n type: \"custom\" /* ActionType.CUSTOM */,\n handlingStack: handlingStack,\n });\n addTelemetryUsage({ feature: 'add-action' });\n });\n },\n addError: function (error, context) {\n var handlingStack = createHandlingStack();\n callMonitored(function () {\n strategy.addError({\n error: error, // Do not sanitize error here, it is needed unserialized by computeRawError()\n handlingStack: handlingStack,\n context: sanitize(context),\n startClocks: clocksNow(),\n });\n addTelemetryUsage({ feature: 'add-error' });\n });\n },\n addTiming: monitor(function (name, time) {\n // TODO: next major decide to drop relative time support or update its behaviour\n strategy.addTiming(sanitize(name), time);\n }),\n setUser: monitor(function (newUser) {\n if (checkUser(newUser)) {\n userContextManager.setContext(sanitizeUser(newUser));\n }\n addTelemetryUsage({ feature: 'set-user' });\n }),\n getUser: monitor(function () { return userContextManager.getContext(); }),\n setUserProperty: monitor(function (key, property) {\n var _a;\n var sanitizedProperty = sanitizeUser((_a = {}, _a[key] = property, _a))[key];\n userContextManager.setContextProperty(key, sanitizedProperty);\n addTelemetryUsage({ feature: 'set-user' });\n }),\n removeUserProperty: monitor(function (key) { return userContextManager.removeContextProperty(key); }),\n clearUser: monitor(function () { return userContextManager.clearContext(); }),\n startView: startView,\n stopSession: monitor(function () {\n strategy.stopSession();\n addTelemetryUsage({ feature: 'stop-session' });\n }),\n addFeatureFlagEvaluation: monitor(function (key, value) {\n strategy.addFeatureFlagEvaluation(sanitize(key), sanitize(value));\n addTelemetryUsage({ feature: 'add-feature-flag-evaluation' });\n }),\n getSessionReplayLink: monitor(function () { return recorderApi.getSessionReplayLink(); }),\n startSessionReplayRecording: monitor(function (options) {\n recorderApi.start(options);\n addTelemetryUsage({ feature: 'start-session-replay-recording', force: options && options.force });\n }),\n stopSessionReplayRecording: monitor(function () { return recorderApi.stop(); }),\n addDurationVital: monitor(function (name, options) {\n addTelemetryUsage({ feature: 'add-duration-vital' });\n strategy.addDurationVital({\n name: sanitize(name),\n type: \"duration\" /* VitalType.DURATION */,\n startClocks: timeStampToClocks(options.startTime),\n duration: options.duration,\n context: sanitize(options && options.context),\n description: sanitize(options && options.description),\n });\n }),\n startDurationVital: monitor(function (name, options) {\n addTelemetryUsage({ feature: 'start-duration-vital' });\n return strategy.startDurationVital(sanitize(name), {\n context: sanitize(options && options.context),\n description: sanitize(options && options.description),\n });\n }),\n stopDurationVital: monitor(function (nameOrRef, options) {\n addTelemetryUsage({ feature: 'stop-duration-vital' });\n strategy.stopDurationVital(typeof nameOrRef === 'string' ? sanitize(nameOrRef) : nameOrRef, {\n context: sanitize(options && options.context),\n description: sanitize(options && options.description),\n });\n }),\n });\n return rumPublicApi;\n}\nfunction createPostStartStrategy(preStartStrategy, startRumResult) {\n return assign({\n init: function (initConfiguration) {\n displayAlreadyInitializedError('DD_RUM', initConfiguration);\n },\n initConfiguration: preStartStrategy.initConfiguration,\n }, startRumResult);\n}\n//# sourceMappingURL=rumPublicApi.js.map","import { Observable } from '../tools/observable';\nimport { objectValues, includes } from '../tools/utils/polyfills';\nimport { addEventListeners, addEventListener } from './addEventListener';\nexport var PageExitReason = {\n HIDDEN: 'visibility_hidden',\n UNLOADING: 'before_unload',\n PAGEHIDE: 'page_hide',\n FROZEN: 'page_frozen',\n};\nexport function createPageExitObservable(configuration) {\n return new Observable(function (observable) {\n var stopListeners = addEventListeners(configuration, window, [\"visibilitychange\" /* DOM_EVENT.VISIBILITY_CHANGE */, \"freeze\" /* DOM_EVENT.FREEZE */], function (event) {\n if (event.type === \"visibilitychange\" /* DOM_EVENT.VISIBILITY_CHANGE */ && document.visibilityState === 'hidden') {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n observable.notify({ reason: PageExitReason.HIDDEN });\n }\n else if (event.type === \"freeze\" /* DOM_EVENT.FREEZE */) {\n /**\n * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)\n * Allow to collect events happening between hidden and frozen state.\n */\n observable.notify({ reason: PageExitReason.FROZEN });\n }\n }, { capture: true }).stop;\n var stopBeforeUnloadListener = addEventListener(configuration, window, \"beforeunload\" /* DOM_EVENT.BEFORE_UNLOAD */, function () {\n observable.notify({ reason: PageExitReason.UNLOADING });\n }).stop;\n return function () {\n stopListeners();\n stopBeforeUnloadListener();\n };\n });\n}\nexport function isPageExitReason(reason) {\n return includes(objectValues(PageExitReason), reason);\n}\n//# sourceMappingURL=pageExitObservable.js.map","import { monitor, noop, Observable, getZoneJsOriginalValue } from '@datadog/browser-core';\nexport function createDOMMutationObservable() {\n var MutationObserver = getMutationObserverConstructor();\n return new Observable(function (observable) {\n if (!MutationObserver) {\n return;\n }\n var observer = new MutationObserver(monitor(function () { return observable.notify(); }));\n observer.observe(document, {\n attributes: true,\n characterData: true,\n childList: true,\n subtree: true,\n });\n return function () { return observer.disconnect(); };\n });\n}\nexport function getMutationObserverConstructor() {\n var constructor;\n var browserWindow = window;\n // Angular uses Zone.js to provide a context persisting across async tasks. Zone.js replaces the\n // global MutationObserver constructor with a patched version to support the context propagation.\n // There is an ongoing issue[1][2] with this setup when using a MutationObserver within a Angular\n // component: on some occasions, the callback is being called in an infinite loop, causing the\n // page to freeze (even if the callback is completely empty).\n //\n // To work around this issue, we try to get the original MutationObserver constructor stored by\n // Zone.js.\n //\n // [1] https://github.com/angular/angular/issues/26948\n // [2] https://github.com/angular/angular/issues/31712\n if (browserWindow.Zone) {\n // Zone.js 0.8.6+ is storing original class constructors into the browser 'window' object[3].\n //\n // [3] https://github.com/angular/angular/blob/6375fa79875c0fe7b815efc45940a6e6f5c9c9eb/packages/zone.js/lib/common/utils.ts#L288\n constructor = getZoneJsOriginalValue(browserWindow, 'MutationObserver');\n if (browserWindow.MutationObserver && constructor === browserWindow.MutationObserver) {\n // Anterior Zone.js versions (used in Angular 2) does not expose the original MutationObserver\n // in the 'window' object. Luckily, the patched MutationObserver class is storing an original\n // instance in its properties[4]. Let's get the original MutationObserver constructor from\n // there.\n //\n // [4] https://github.com/angular/zone.js/blob/v0.8.5/lib/common/utils.ts#L412\n var patchedInstance = new browserWindow.MutationObserver(noop);\n var originalInstance = getZoneJsOriginalValue(patchedInstance, 'originalInstance');\n constructor = originalInstance && originalInstance.constructor;\n }\n }\n if (!constructor) {\n constructor = browserWindow.MutationObserver;\n }\n return constructor;\n}\n//# sourceMappingURL=domMutationObservable.js.map","import { instrumentMethod, Observable } from '@datadog/browser-core';\nexport function createWindowOpenObservable() {\n var observable = new Observable();\n var stop = instrumentMethod(window, 'open', function () { return observable.notify(); }).stop;\n return { observable: observable, stop: stop };\n}\n//# sourceMappingURL=windowOpenObservable.js.map","export var ErrorSource = {\n AGENT: 'agent',\n CONSOLE: 'console',\n CUSTOM: 'custom',\n LOGGER: 'logger',\n NETWORK: 'network',\n SOURCE: 'source',\n REPORT: 'report',\n};\n//# sourceMappingURL=error.types.js.map","import { setTimeout } from '../../tools/timer';\nimport { clocksNow, ONE_MINUTE } from '../../tools/utils/timeUtils';\nimport { ErrorSource } from '../error/error.types';\nexport function createEventRateLimiter(eventType, limit, onLimitReached) {\n var eventCount = 0;\n var allowNextEvent = false;\n return {\n isLimitReached: function () {\n if (eventCount === 0) {\n setTimeout(function () {\n eventCount = 0;\n }, ONE_MINUTE);\n }\n eventCount += 1;\n if (eventCount <= limit || allowNextEvent) {\n allowNextEvent = false;\n return false;\n }\n if (eventCount === limit + 1) {\n allowNextEvent = true;\n try {\n onLimitReached({\n message: \"Reached max number of \".concat(eventType, \"s by minute: \").concat(limit),\n source: ErrorSource.AGENT,\n startClocks: clocksNow(),\n });\n }\n finally {\n allowNextEvent = false;\n }\n }\n return true;\n },\n };\n}\n//# sourceMappingURL=createEventRateLimiter.js.map","import { getSyntheticsResultId, getSyntheticsTestId, willSyntheticsInjectRum } from '@datadog/browser-core';\nexport function getSyntheticsContext() {\n var testId = getSyntheticsTestId();\n var resultId = getSyntheticsResultId();\n if (testId && resultId) {\n return {\n test_id: testId,\n result_id: resultId,\n injected: willSyntheticsInjectRum(),\n };\n }\n}\n//# sourceMappingURL=syntheticsContext.js.map","import { sanitize, deepClone, getType, objectEntries } from '@datadog/browser-core';\n/**\n * Current limitation:\n * - field path do not support array, 'a.b.c' only\n */\nexport function limitModification(object, modifiableFieldPaths, modifier) {\n var clone = deepClone(object);\n var result = modifier(clone);\n objectEntries(modifiableFieldPaths).forEach(function (_a) {\n var fieldPath = _a[0], fieldType = _a[1];\n var newValue = get(clone, fieldPath);\n var newType = getType(newValue);\n if (newType === fieldType) {\n set(object, fieldPath, sanitize(newValue));\n }\n else if (fieldType === 'object' && (newType === 'undefined' || newType === 'null')) {\n set(object, fieldPath, {});\n }\n });\n return result;\n}\nfunction get(object, path) {\n var current = object;\n for (var _i = 0, _a = path.split('.'); _i < _a.length; _i++) {\n var field = _a[_i];\n if (!isValidObjectContaining(current, field)) {\n return;\n }\n current = current[field];\n }\n return current;\n}\nfunction set(object, path, value) {\n var current = object;\n var fields = path.split('.');\n for (var i = 0; i < fields.length; i += 1) {\n var field = fields[i];\n if (!isValidObject(current)) {\n return;\n }\n if (i !== fields.length - 1) {\n current = current[field];\n }\n else {\n current[field] = value;\n }\n }\n}\nfunction isValidObject(object) {\n return getType(object) === 'object';\n}\nfunction isValidObjectContaining(object, field) {\n return isValidObject(object) && Object.prototype.hasOwnProperty.call(object, field);\n}\n//# sourceMappingURL=limitModification.js.map","import { combine, isEmptyObject, timeStampNow, currentDrift, display, createEventRateLimiter, canUseEventBridge, assign, round, isExperimentalFeatureEnabled, ExperimentalFeature, getConnectivity, } from '@datadog/browser-core';\nimport { getSyntheticsContext } from './contexts/syntheticsContext';\nimport { limitModification } from './limitModification';\nvar VIEW_MODIFIABLE_FIELD_PATHS = {\n 'view.name': 'string',\n 'view.url': 'string',\n 'view.referrer': 'string',\n};\nvar USER_CUSTOMIZABLE_FIELD_PATHS = {\n context: 'object',\n};\nvar ROOT_MODIFIABLE_FIELD_PATHS = {\n service: 'string',\n version: 'string',\n};\nvar modifiableFieldPathsByEvent;\nexport function startRumAssembly(configuration, lifeCycle, sessionManager, viewHistory, urlContexts, actionContexts, displayContext, ciVisibilityContext, getCommonContext, reportError) {\n var _a, _b;\n modifiableFieldPathsByEvent = (_a = {},\n _a[\"view\" /* RumEventType.VIEW */] = assign({}, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS),\n _a[\"error\" /* RumEventType.ERROR */] = assign({\n 'error.message': 'string',\n 'error.stack': 'string',\n 'error.resource.url': 'string',\n 'error.fingerprint': 'string',\n }, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS, ROOT_MODIFIABLE_FIELD_PATHS),\n _a[\"resource\" /* RumEventType.RESOURCE */] = assign({\n 'resource.url': 'string',\n }, isExperimentalFeatureEnabled(ExperimentalFeature.WRITABLE_RESOURCE_GRAPHQL)\n ? {\n 'resource.graphql': 'object',\n }\n : {}, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS, ROOT_MODIFIABLE_FIELD_PATHS),\n _a[\"action\" /* RumEventType.ACTION */] = assign({\n 'action.target.name': 'string',\n }, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS, ROOT_MODIFIABLE_FIELD_PATHS),\n _a[\"long_task\" /* RumEventType.LONG_TASK */] = assign({}, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS),\n _a[\"vital\" /* RumEventType.VITAL */] = assign({}, USER_CUSTOMIZABLE_FIELD_PATHS, VIEW_MODIFIABLE_FIELD_PATHS),\n _a);\n var eventRateLimiters = (_b = {},\n _b[\"error\" /* RumEventType.ERROR */] = createEventRateLimiter(\"error\" /* RumEventType.ERROR */, configuration.eventRateLimiterThreshold, reportError),\n _b[\"action\" /* RumEventType.ACTION */] = createEventRateLimiter(\"action\" /* RumEventType.ACTION */, configuration.eventRateLimiterThreshold, reportError),\n _b[\"vital\" /* RumEventType.VITAL */] = createEventRateLimiter(\"vital\" /* RumEventType.VITAL */, configuration.eventRateLimiterThreshold, reportError),\n _b);\n var syntheticsContext = getSyntheticsContext();\n lifeCycle.subscribe(12 /* LifeCycleEventType.RAW_RUM_EVENT_COLLECTED */, function (_a) {\n var startTime = _a.startTime, rawRumEvent = _a.rawRumEvent, domainContext = _a.domainContext, savedCommonContext = _a.savedCommonContext, customerContext = _a.customerContext;\n var viewHistoryEntry = viewHistory.findView(startTime);\n var urlContext = urlContexts.findUrl(startTime);\n var session = sessionManager.findTrackedSession(startTime);\n if (session && viewHistoryEntry && urlContext) {\n var commonContext = savedCommonContext || getCommonContext();\n var actionId = actionContexts.findActionId(startTime);\n var rumContext = {\n _dd: {\n format_version: 2,\n drift: currentDrift(),\n configuration: {\n session_sample_rate: round(configuration.sessionSampleRate, 3),\n session_replay_sample_rate: round(configuration.sessionReplaySampleRate, 3),\n },\n browser_sdk_version: canUseEventBridge() ? \"5.35.1\" : undefined,\n },\n application: {\n id: configuration.applicationId,\n },\n date: timeStampNow(),\n service: viewHistoryEntry.service || configuration.service,\n version: viewHistoryEntry.version || configuration.version,\n source: 'browser',\n session: {\n id: session.id,\n type: syntheticsContext\n ? \"synthetics\" /* SessionType.SYNTHETICS */\n : ciVisibilityContext.get()\n ? \"ci_test\" /* SessionType.CI_TEST */\n : \"user\" /* SessionType.USER */,\n },\n view: {\n id: viewHistoryEntry.id,\n name: viewHistoryEntry.name,\n url: urlContext.url,\n referrer: urlContext.referrer,\n },\n action: needToAssembleWithAction(rawRumEvent) && actionId ? { id: actionId } : undefined,\n synthetics: syntheticsContext,\n ci_test: ciVisibilityContext.get(),\n display: displayContext.get(),\n connectivity: getConnectivity(),\n };\n var serverRumEvent = combine(rumContext, rawRumEvent);\n serverRumEvent.context = combine(commonContext.context, viewHistoryEntry.context, customerContext);\n if (!('has_replay' in serverRumEvent.session)) {\n ;\n serverRumEvent.session.has_replay = commonContext.hasReplay;\n }\n if (serverRumEvent.type === 'view') {\n ;\n serverRumEvent.session.sampled_for_replay =\n session.sessionReplay === 1 /* SessionReplayState.SAMPLED */;\n }\n if (\n // TODO: remove ff and should always add anonymous user id\n isExperimentalFeatureEnabled(ExperimentalFeature.ANONYMOUS_USER_TRACKING) &&\n !commonContext.user.anonymous_id) {\n commonContext.user.anonymous_id = session.anonymousId;\n }\n if (!isEmptyObject(commonContext.user)) {\n ;\n serverRumEvent.usr = commonContext.user;\n }\n if (shouldSend(serverRumEvent, configuration.beforeSend, domainContext, eventRateLimiters)) {\n if (isEmptyObject(serverRumEvent.context)) {\n delete serverRumEvent.context;\n }\n lifeCycle.notify(13 /* LifeCycleEventType.RUM_EVENT_COLLECTED */, serverRumEvent);\n }\n }\n });\n}\nfunction shouldSend(event, beforeSend, domainContext, eventRateLimiters) {\n var _a;\n if (beforeSend) {\n var result = limitModification(event, modifiableFieldPathsByEvent[event.type], function (event) {\n return beforeSend(event, domainContext);\n });\n if (result === false && event.type !== \"view\" /* RumEventType.VIEW */) {\n return false;\n }\n if (result === false) {\n display.warn(\"Can't dismiss view events using beforeSend!\");\n }\n }\n var rateLimitReached = (_a = eventRateLimiters[event.type]) === null || _a === void 0 ? void 0 : _a.isLimitReached();\n return !rateLimitReached;\n}\nfunction needToAssembleWithAction(event) {\n return [\"error\" /* RumEventType.ERROR */, \"resource\" /* RumEventType.RESOURCE */, \"long_task\" /* RumEventType.LONG_TASK */].indexOf(event.type) !== -1;\n}\n//# sourceMappingURL=assembly.js.map","/**\n * Internal context keep returning v1 format\n * to not break compatibility with logs data format\n */\nexport function startInternalContext(applicationId, sessionManager, viewHistory, actionContexts, urlContexts) {\n return {\n get: function (startTime) {\n var viewContext = viewHistory.findView(startTime);\n var urlContext = urlContexts.findUrl(startTime);\n var session = sessionManager.findTrackedSession(startTime);\n if (session && viewContext && urlContext) {\n var actionId = actionContexts.findActionId(startTime);\n return {\n application_id: applicationId,\n session_id: session.id,\n user_action: actionId ? { id: actionId } : undefined,\n view: { id: viewContext.id, name: viewContext.name, referrer: urlContext.referrer, url: urlContext.url },\n };\n }\n },\n };\n}\n//# sourceMappingURL=internalContext.js.map","// eslint-disable-next-line no-restricted-syntax\nvar AbstractLifeCycle = /** @class */ (function () {\n function AbstractLifeCycle() {\n this.callbacks = {};\n }\n AbstractLifeCycle.prototype.notify = function (eventType, data) {\n var eventCallbacks = this.callbacks[eventType];\n if (eventCallbacks) {\n eventCallbacks.forEach(function (callback) { return callback(data); });\n }\n };\n AbstractLifeCycle.prototype.subscribe = function (eventType, callback) {\n var _this = this;\n if (!this.callbacks[eventType]) {\n this.callbacks[eventType] = [];\n }\n this.callbacks[eventType].push(callback);\n return {\n unsubscribe: function () {\n _this.callbacks[eventType] = _this.callbacks[eventType].filter(function (other) { return callback !== other; });\n },\n };\n };\n return AbstractLifeCycle;\n}());\nexport { AbstractLifeCycle };\n//# sourceMappingURL=abstractLifeCycle.js.map","import { AbstractLifeCycle } from '@datadog/browser-core';\nexport var LifeCycle = (AbstractLifeCycle);\n//# sourceMappingURL=lifeCycle.js.map","import { setInterval, clearInterval } from './timer';\nimport { removeItem } from './utils/arrayUtils';\nimport { addDuration, relativeNow, ONE_MINUTE } from './utils/timeUtils';\nvar END_OF_TIMES = Infinity;\nexport var CLEAR_OLD_VALUES_INTERVAL = ONE_MINUTE;\nexport function createValueHistory(_a) {\n var expireDelay = _a.expireDelay, maxEntries = _a.maxEntries;\n var entries = [];\n var clearOldValuesInterval = setInterval(function () { return clearOldValues(); }, CLEAR_OLD_VALUES_INTERVAL);\n function clearOldValues() {\n var oldTimeThreshold = relativeNow() - expireDelay;\n while (entries.length > 0 && entries[entries.length - 1].endTime < oldTimeThreshold) {\n entries.pop();\n }\n }\n /**\n * Add a value to the history associated with a start time. Returns a reference to this newly\n * added entry that can be removed or closed.\n */\n function add(value, startTime) {\n var entry = {\n value: value,\n startTime: startTime,\n endTime: END_OF_TIMES,\n remove: function () {\n removeItem(entries, entry);\n },\n close: function (endTime) {\n entry.endTime = endTime;\n },\n };\n if (maxEntries && entries.length >= maxEntries) {\n entries.pop();\n }\n entries.unshift(entry);\n return entry;\n }\n /**\n * Return the latest value that was active during `startTime`, or the currently active value\n * if no `startTime` is provided. This method assumes that entries are not overlapping.\n *\n * If `option.returnInactive` is true, returns the value at `startTime` (active or not).\n */\n function find(startTime, options) {\n if (startTime === void 0) { startTime = END_OF_TIMES; }\n if (options === void 0) { options = { returnInactive: false }; }\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i];\n if (entry.startTime <= startTime) {\n if (options.returnInactive || startTime <= entry.endTime) {\n return entry.value;\n }\n break;\n }\n }\n }\n /**\n * Helper function to close the currently active value, if any. This method assumes that entries\n * are not overlapping.\n */\n function closeActive(endTime) {\n var latestEntry = entries[0];\n if (latestEntry && latestEntry.endTime === END_OF_TIMES) {\n latestEntry.close(endTime);\n }\n }\n /**\n * Return all values with an active period overlapping with the duration,\n * or all values that were active during `startTime` if no duration is provided,\n * or all currently active values if no `startTime` is provided.\n */\n function findAll(startTime, duration) {\n if (startTime === void 0) { startTime = END_OF_TIMES; }\n if (duration === void 0) { duration = 0; }\n var endTime = addDuration(startTime, duration);\n return entries\n .filter(function (entry) { return entry.startTime <= endTime && startTime <= entry.endTime; })\n .map(function (entry) { return entry.value; });\n }\n /**\n * Remove all entries from this collection.\n */\n function reset() {\n entries = [];\n }\n /**\n * Stop internal garbage collection of past entries.\n */\n function stop() {\n clearInterval(clearOldValuesInterval);\n }\n return { add: add, find: find, closeActive: closeActive, findAll: findAll, reset: reset, stop: stop };\n}\n//# sourceMappingURL=valueHistory.js.map","import { SESSION_TIME_OUT_DELAY, createValueHistory } from '@datadog/browser-core';\nexport var VIEW_CONTEXT_TIME_OUT_DELAY = SESSION_TIME_OUT_DELAY;\nexport function startViewHistory(lifeCycle) {\n var viewValueHistory = createValueHistory({ expireDelay: VIEW_CONTEXT_TIME_OUT_DELAY });\n lifeCycle.subscribe(1 /* LifeCycleEventType.BEFORE_VIEW_CREATED */, function (view) {\n viewValueHistory.add(buildViewHistoryEntry(view), view.startClocks.relative);\n });\n lifeCycle.subscribe(6 /* LifeCycleEventType.AFTER_VIEW_ENDED */, function (_a) {\n var endClocks = _a.endClocks;\n viewValueHistory.closeActive(endClocks.relative);\n });\n lifeCycle.subscribe(3 /* LifeCycleEventType.BEFORE_VIEW_UPDATED */, function (viewUpdate) {\n var currentView = viewValueHistory.find(viewUpdate.startClocks.relative);\n if (currentView && viewUpdate.name) {\n currentView.name = viewUpdate.name;\n }\n if (currentView && viewUpdate.context) {\n currentView.context = viewUpdate.context;\n }\n });\n lifeCycle.subscribe(10 /* LifeCycleEventType.SESSION_RENEWED */, function () {\n viewValueHistory.reset();\n });\n function buildViewHistoryEntry(view) {\n return {\n service: view.service,\n version: view.version,\n context: view.context,\n id: view.id,\n name: view.name,\n startClocks: view.startClocks,\n };\n }\n return {\n findView: function (startTime) { return viewValueHistory.find(startTime); },\n stop: function () {\n viewValueHistory.stop();\n },\n };\n}\n//# sourceMappingURL=viewHistory.js.map","import { instrumentMethod } from '../tools/instrumentMethod';\nimport { Observable } from '../tools/observable';\nimport { elapsed, clocksNow, timeStampNow } from '../tools/utils/timeUtils';\nimport { normalizeUrl } from '../tools/utils/urlPolyfill';\nimport { shallowClone } from '../tools/utils/objectUtils';\nimport { addEventListener } from './addEventListener';\nvar xhrObservable;\nvar xhrContexts = new WeakMap();\nexport function initXhrObservable(configuration) {\n if (!xhrObservable) {\n xhrObservable = createXhrObservable(configuration);\n }\n return xhrObservable;\n}\nfunction createXhrObservable(configuration) {\n return new Observable(function (observable) {\n var stopInstrumentingStart = instrumentMethod(XMLHttpRequest.prototype, 'open', openXhr).stop;\n var stopInstrumentingSend = instrumentMethod(XMLHttpRequest.prototype, 'send', function (call) {\n sendXhr(call, configuration, observable);\n }, { computeHandlingStack: true }).stop;\n var stopInstrumentingAbort = instrumentMethod(XMLHttpRequest.prototype, 'abort', abortXhr).stop;\n return function () {\n stopInstrumentingStart();\n stopInstrumentingSend();\n stopInstrumentingAbort();\n };\n });\n}\nfunction openXhr(_a) {\n var xhr = _a.target, _b = _a.parameters, method = _b[0], url = _b[1];\n xhrContexts.set(xhr, {\n state: 'open',\n method: String(method).toUpperCase(),\n url: normalizeUrl(String(url)),\n });\n}\nfunction sendXhr(_a, configuration, observable) {\n var xhr = _a.target, handlingStack = _a.handlingStack;\n var context = xhrContexts.get(xhr);\n if (!context) {\n return;\n }\n var startContext = context;\n startContext.state = 'start';\n startContext.startClocks = clocksNow();\n startContext.isAborted = false;\n startContext.xhr = xhr;\n startContext.handlingStack = handlingStack;\n var hasBeenReported = false;\n var stopInstrumentingOnReadyStateChange = instrumentMethod(xhr, 'onreadystatechange', function () {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n // Try to report the XHR as soon as possible, because the XHR may be mutated by the\n // application during a future event. For example, Angular is calling .abort() on\n // completed requests during an onreadystatechange event, so the status becomes '0'\n // before the request is collected.\n onEnd();\n }\n }).stop;\n var onEnd = function () {\n unsubscribeLoadEndListener();\n stopInstrumentingOnReadyStateChange();\n if (hasBeenReported) {\n return;\n }\n hasBeenReported = true;\n var completeContext = context;\n completeContext.state = 'complete';\n completeContext.duration = elapsed(startContext.startClocks.timeStamp, timeStampNow());\n completeContext.status = xhr.status;\n observable.notify(shallowClone(completeContext));\n };\n var unsubscribeLoadEndListener = addEventListener(configuration, xhr, 'loadend', onEnd).stop;\n observable.notify(startContext);\n}\nfunction abortXhr(_a) {\n var xhr = _a.target;\n var context = xhrContexts.get(xhr);\n if (context) {\n context.isAborted = true;\n }\n}\n//# sourceMappingURL=xhrObservable.js.map","export function isServerError(status) {\n return status >= 500;\n}\nexport function tryToClone(response) {\n try {\n return response.clone();\n }\n catch (_a) {\n // clone can throw if the response has already been used by another instrumentation or is disturbed\n return;\n }\n}\n//# sourceMappingURL=responseUtils.js.map","import { monitor } from './monitor';\nimport { noop } from './utils/functionUtils';\n/**\n * Read bytes from a ReadableStream until at least `limit` bytes have been read (or until the end of\n * the stream). The callback is invoked with the at most `limit` bytes, and indicates that the limit\n * has been exceeded if more bytes were available.\n */\nexport function readBytesFromStream(stream, callback, options) {\n var reader = stream.getReader();\n var chunks = [];\n var readBytesCount = 0;\n readMore();\n function readMore() {\n reader.read().then(monitor(function (result) {\n if (result.done) {\n onDone();\n return;\n }\n if (options.collectStreamBody) {\n chunks.push(result.value);\n }\n readBytesCount += result.value.length;\n if (readBytesCount > options.bytesLimit) {\n onDone();\n }\n else {\n readMore();\n }\n }), monitor(function (error) { return callback(error); }));\n }\n function onDone() {\n reader.cancel().catch(\n // we don't care if cancel fails, but we still need to catch the error to avoid reporting it\n // as an unhandled rejection\n noop);\n var bytes;\n var limitExceeded;\n if (options.collectStreamBody) {\n var completeBuffer_1;\n if (chunks.length === 1) {\n // optimization: if the response is small enough to fit in a single buffer (provided by the browser), just\n // use it directly.\n completeBuffer_1 = chunks[0];\n }\n else {\n // else, we need to copy buffers into a larger buffer to concatenate them.\n completeBuffer_1 = new Uint8Array(readBytesCount);\n var offset_1 = 0;\n chunks.forEach(function (chunk) {\n completeBuffer_1.set(chunk, offset_1);\n offset_1 += chunk.length;\n });\n }\n bytes = completeBuffer_1.slice(0, options.bytesLimit);\n limitExceeded = completeBuffer_1.length > options.bytesLimit;\n }\n callback(undefined, bytes, limitExceeded);\n }\n}\n//# sourceMappingURL=readBytesFromStream.js.map","import { addTelemetryDebug, elapsed, getPathName, includes, isValidUrl, toServerDuration, isIntakeUrl, } from '@datadog/browser-core';\nexport var FAKE_INITIAL_DOCUMENT = 'initial_document';\nvar RESOURCE_TYPES = [\n [\"document\" /* ResourceType.DOCUMENT */, function (initiatorType) { return FAKE_INITIAL_DOCUMENT === initiatorType; }],\n [\"xhr\" /* ResourceType.XHR */, function (initiatorType) { return 'xmlhttprequest' === initiatorType; }],\n [\"fetch\" /* ResourceType.FETCH */, function (initiatorType) { return 'fetch' === initiatorType; }],\n [\"beacon\" /* ResourceType.BEACON */, function (initiatorType) { return 'beacon' === initiatorType; }],\n [\"css\" /* ResourceType.CSS */, function (_, path) { return /\\.css$/i.test(path); }],\n [\"js\" /* ResourceType.JS */, function (_, path) { return /\\.js$/i.test(path); }],\n [\n \"image\" /* ResourceType.IMAGE */,\n function (initiatorType, path) {\n return includes(['image', 'img', 'icon'], initiatorType) || /\\.(gif|jpg|jpeg|tiff|png|svg|ico)$/i.exec(path) !== null;\n },\n ],\n [\"font\" /* ResourceType.FONT */, function (_, path) { return /\\.(woff|eot|woff2|ttf)$/i.exec(path) !== null; }],\n [\n \"media\" /* ResourceType.MEDIA */,\n function (initiatorType, path) {\n return includes(['audio', 'video'], initiatorType) || /\\.(mp3|mp4)$/i.exec(path) !== null;\n },\n ],\n];\nexport function computeResourceEntryType(entry) {\n var url = entry.name;\n if (!isValidUrl(url)) {\n addTelemetryDebug(\"Failed to construct URL for \\\"\".concat(entry.name, \"\\\"\"));\n return \"other\" /* ResourceType.OTHER */;\n }\n var path = getPathName(url);\n for (var _i = 0, RESOURCE_TYPES_1 = RESOURCE_TYPES; _i < RESOURCE_TYPES_1.length; _i++) {\n var _a = RESOURCE_TYPES_1[_i], type = _a[0], isType = _a[1];\n if (isType(entry.initiatorType, path)) {\n return type;\n }\n }\n return \"other\" /* ResourceType.OTHER */;\n}\nfunction areInOrder() {\n var numbers = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n numbers[_i] = arguments[_i];\n }\n for (var i = 1; i < numbers.length; i += 1) {\n if (numbers[i - 1] > numbers[i]) {\n return false;\n }\n }\n return true;\n}\nexport function isResourceEntryRequestType(entry) {\n return entry.initiatorType === 'xmlhttprequest' || entry.initiatorType === 'fetch';\n}\nexport function computeResourceEntryDuration(entry) {\n var duration = entry.duration, startTime = entry.startTime, responseEnd = entry.responseEnd;\n // Safari duration is always 0 on timings blocked by cross origin policies.\n if (duration === 0 && startTime < responseEnd) {\n return toServerDuration(elapsed(startTime, responseEnd));\n }\n return toServerDuration(duration);\n}\nexport function computeResourceEntryDetails(entry) {\n if (!hasValidResourceEntryTimings(entry)) {\n return undefined;\n }\n var startTime = entry.startTime, fetchStart = entry.fetchStart, workerStart = entry.workerStart, redirectStart = entry.redirectStart, redirectEnd = entry.redirectEnd, domainLookupStart = entry.domainLookupStart, domainLookupEnd = entry.domainLookupEnd, connectStart = entry.connectStart, secureConnectionStart = entry.secureConnectionStart, connectEnd = entry.connectEnd, requestStart = entry.requestStart, responseStart = entry.responseStart, responseEnd = entry.responseEnd;\n var details = {\n download: formatTiming(startTime, responseStart, responseEnd),\n first_byte: formatTiming(startTime, requestStart, responseStart),\n };\n // Make sure a worker processing time is recorded\n if (0 < workerStart && workerStart < fetchStart) {\n details.worker = formatTiming(startTime, workerStart, fetchStart);\n }\n // Make sure a connection occurred\n if (fetchStart < connectEnd) {\n details.connect = formatTiming(startTime, connectStart, connectEnd);\n // Make sure a secure connection occurred\n if (connectStart <= secureConnectionStart && secureConnectionStart <= connectEnd) {\n details.ssl = formatTiming(startTime, secureConnectionStart, connectEnd);\n }\n }\n // Make sure a domain lookup occurred\n if (fetchStart < domainLookupEnd) {\n details.dns = formatTiming(startTime, domainLookupStart, domainLookupEnd);\n }\n // Make sure a redirection occurred\n if (startTime < redirectEnd) {\n details.redirect = formatTiming(startTime, redirectStart, redirectEnd);\n }\n return details;\n}\n/**\n * Entries with negative duration are unexpected and should be dismissed. The intake will ignore RUM\n * Resource events with negative durations anyway.\n * Since Chromium 128, more entries have unexpected negative durations, see\n * https://issues.chromium.org/issues/363031537\n */\nexport function hasValidResourceEntryDuration(entry) {\n return entry.duration >= 0;\n}\nexport function hasValidResourceEntryTimings(entry) {\n // Ensure timings are in the right order. On top of filtering out potential invalid\n // RumPerformanceResourceTiming, it will ignore entries from requests where timings cannot be\n // collected, for example cross origin requests without a \"Timing-Allow-Origin\" header allowing\n // it.\n var areCommonTimingsInOrder = areInOrder(entry.startTime, entry.fetchStart, entry.domainLookupStart, entry.domainLookupEnd, entry.connectStart, entry.connectEnd, entry.requestStart, entry.responseStart, entry.responseEnd);\n var areRedirectionTimingsInOrder = hasRedirection(entry)\n ? areInOrder(entry.startTime, entry.redirectStart, entry.redirectEnd, entry.fetchStart)\n : true;\n return areCommonTimingsInOrder && areRedirectionTimingsInOrder;\n}\nfunction hasRedirection(entry) {\n return entry.redirectEnd > entry.startTime;\n}\nfunction formatTiming(origin, start, end) {\n if (origin <= start && start <= end) {\n return {\n duration: toServerDuration(elapsed(start, end)),\n start: toServerDuration(elapsed(origin, start)),\n };\n }\n}\n/**\n * The 'nextHopProtocol' is an empty string for cross-origin resources without CORS headers,\n * meaning the protocol is unknown, and we shouldn't report it.\n * https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/nextHopProtocol#cross-origin_resources\n */\nexport function computeResourceEntryProtocol(entry) {\n return entry.nextHopProtocol === '' ? undefined : entry.nextHopProtocol;\n}\n/**\n * Handles the 'deliveryType' property to distinguish between supported values ('cache', 'navigational-prefetch'),\n * undefined (unsupported in some browsers), and other cases ('other' for unknown or unrecognized values).\n * see: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/deliveryType\n */\nexport function computeResourceEntryDeliveryType(entry) {\n return entry.deliveryType === '' ? 'other' : entry.deliveryType;\n}\nexport function computeResourceEntrySize(entry) {\n // Make sure a request actually occurred\n if (entry.startTime < entry.responseStart) {\n var encodedBodySize = entry.encodedBodySize, decodedBodySize = entry.decodedBodySize, transferSize = entry.transferSize;\n return {\n size: decodedBodySize,\n encoded_body_size: encodedBodySize,\n decoded_body_size: decodedBodySize,\n transfer_size: transferSize,\n };\n }\n return {\n size: undefined,\n encoded_body_size: undefined,\n decoded_body_size: undefined,\n transfer_size: undefined,\n };\n}\nexport function isAllowedRequestUrl(url) {\n return url && !isIntakeUrl(url);\n}\nvar DATA_URL_REGEX = /data:(.+)?(;base64)?,/g;\nexport var MAX_ATTRIBUTE_VALUE_CHAR_LENGTH = 24000;\nexport function isLongDataUrl(url) {\n if (url.length <= MAX_ATTRIBUTE_VALUE_CHAR_LENGTH) {\n return false;\n }\n else if (url.substring(0, 5) === 'data:') {\n // Avoid String.match RangeError: Maximum call stack size exceeded\n url = url.substring(0, MAX_ATTRIBUTE_VALUE_CHAR_LENGTH);\n return true;\n }\n return false;\n}\nexport function sanitizeDataUrl(url) {\n return \"\".concat(url.match(DATA_URL_REGEX)[0], \"[...]\");\n}\n//# sourceMappingURL=resourceUtils.js.map","import { initFetchObservable, initXhrObservable, readBytesFromStream, elapsed, timeStampNow, tryToClone, } from '@datadog/browser-core';\nimport { isAllowedRequestUrl } from './resource/resourceUtils';\nimport { startTracer } from './tracing/tracer';\nvar nextRequestIndex = 1;\nexport function startRequestCollection(lifeCycle, configuration, sessionManager) {\n var tracer = startTracer(configuration, sessionManager);\n trackXhr(lifeCycle, configuration, tracer);\n trackFetch(lifeCycle, tracer);\n}\nexport function trackXhr(lifeCycle, configuration, tracer) {\n var subscription = initXhrObservable(configuration).subscribe(function (rawContext) {\n var context = rawContext;\n if (!isAllowedRequestUrl(context.url)) {\n return;\n }\n switch (context.state) {\n case 'start':\n tracer.traceXhr(context, context.xhr);\n context.requestIndex = getNextRequestIndex();\n lifeCycle.notify(7 /* LifeCycleEventType.REQUEST_STARTED */, {\n requestIndex: context.requestIndex,\n url: context.url,\n });\n break;\n case 'complete':\n tracer.clearTracingIfNeeded(context);\n lifeCycle.notify(8 /* LifeCycleEventType.REQUEST_COMPLETED */, {\n duration: context.duration,\n method: context.method,\n requestIndex: context.requestIndex,\n spanId: context.spanId,\n startClocks: context.startClocks,\n status: context.status,\n traceId: context.traceId,\n traceSampled: context.traceSampled,\n type: \"xhr\" /* RequestType.XHR */,\n url: context.url,\n xhr: context.xhr,\n isAborted: context.isAborted,\n handlingStack: context.handlingStack,\n });\n break;\n }\n });\n return { stop: function () { return subscription.unsubscribe(); } };\n}\nexport function trackFetch(lifeCycle, tracer) {\n var subscription = initFetchObservable().subscribe(function (rawContext) {\n var context = rawContext;\n if (!isAllowedRequestUrl(context.url)) {\n return;\n }\n switch (context.state) {\n case 'start':\n tracer.traceFetch(context);\n context.requestIndex = getNextRequestIndex();\n lifeCycle.notify(7 /* LifeCycleEventType.REQUEST_STARTED */, {\n requestIndex: context.requestIndex,\n url: context.url,\n });\n break;\n case 'resolve':\n waitForResponseToComplete(context, function (duration) {\n tracer.clearTracingIfNeeded(context);\n lifeCycle.notify(8 /* LifeCycleEventType.REQUEST_COMPLETED */, {\n duration: duration,\n method: context.method,\n requestIndex: context.requestIndex,\n responseType: context.responseType,\n spanId: context.spanId,\n startClocks: context.startClocks,\n status: context.status,\n traceId: context.traceId,\n traceSampled: context.traceSampled,\n type: \"fetch\" /* RequestType.FETCH */,\n url: context.url,\n response: context.response,\n init: context.init,\n input: context.input,\n isAborted: context.isAborted,\n handlingStack: context.handlingStack,\n });\n });\n break;\n }\n });\n return { stop: function () { return subscription.unsubscribe(); } };\n}\nfunction getNextRequestIndex() {\n var result = nextRequestIndex;\n nextRequestIndex += 1;\n return result;\n}\nfunction waitForResponseToComplete(context, callback) {\n var clonedResponse = context.response && tryToClone(context.response);\n if (!clonedResponse || !clonedResponse.body) {\n // do not try to wait for the response if the clone failed, fetch error or null body\n callback(elapsed(context.startClocks.timeStamp, timeStampNow()));\n }\n else {\n readBytesFromStream(clonedResponse.body, function () {\n callback(elapsed(context.startClocks.timeStamp, timeStampNow()));\n }, {\n bytesLimit: Number.POSITIVE_INFINITY,\n collectStreamBody: false,\n });\n }\n}\n//# sourceMappingURL=requestCollection.js.map","import { isNumber } from '@datadog/browser-core';\nexport function discardNegativeDuration(duration) {\n return isNumber(duration) && duration < 0 ? undefined : duration;\n}\n//# sourceMappingURL=discardNegativeDuration.js.map","import { noop } from '@datadog/browser-core';\nexport function trackEventCounts(_a) {\n var lifeCycle = _a.lifeCycle, isChildEvent = _a.isChildEvent, _b = _a.onChange, callback = _b === void 0 ? noop : _b;\n var eventCounts = {\n errorCount: 0,\n longTaskCount: 0,\n resourceCount: 0,\n actionCount: 0,\n frustrationCount: 0,\n };\n var subscription = lifeCycle.subscribe(13 /* LifeCycleEventType.RUM_EVENT_COLLECTED */, function (event) {\n var _a;\n if (event.type === 'view' || event.type === 'vital' || !isChildEvent(event)) {\n return;\n }\n switch (event.type) {\n case \"error\" /* RumEventType.ERROR */:\n eventCounts.errorCount += 1;\n callback();\n break;\n case \"action\" /* RumEventType.ACTION */:\n eventCounts.actionCount += 1;\n if (event.action.frustration) {\n eventCounts.frustrationCount += event.action.frustration.type.length;\n }\n callback();\n break;\n case \"long_task\" /* RumEventType.LONG_TASK */:\n eventCounts.longTaskCount += 1;\n callback();\n break;\n case \"resource\" /* RumEventType.RESOURCE */:\n if (!((_a = event._dd) === null || _a === void 0 ? void 0 : _a.discarded)) {\n eventCounts.resourceCount += 1;\n callback();\n }\n break;\n }\n });\n return {\n stop: function () {\n subscription.unsubscribe();\n },\n eventCounts: eventCounts,\n };\n}\n//# sourceMappingURL=trackEventCounts.js.map","import { addEventListeners, dateNow, relativeNow } from '@datadog/browser-core';\n/**\n * first-input timing entry polyfill based on\n * https://github.com/GoogleChrome/web-vitals/blob/master/src/lib/polyfills/firstInputPolyfill.ts\n */\nexport function retrieveFirstInputTiming(configuration, callback) {\n var startTimeStamp = dateNow();\n var timingSent = false;\n var removeEventListeners = addEventListeners(configuration, window, [\"click\" /* DOM_EVENT.CLICK */, \"mousedown\" /* DOM_EVENT.MOUSE_DOWN */, \"keydown\" /* DOM_EVENT.KEY_DOWN */, \"touchstart\" /* DOM_EVENT.TOUCH_START */, \"pointerdown\" /* DOM_EVENT.POINTER_DOWN */], function (evt) {\n // Only count cancelable events, which should trigger behavior important to the user.\n if (!evt.cancelable) {\n return;\n }\n // This timing will be used to compute the \"first Input delay\", which is the delta between\n // when the system received the event (e.g. evt.timeStamp) and when it could run the callback\n // (e.g. performance.now()).\n var timing = {\n entryType: 'first-input',\n processingStart: relativeNow(),\n processingEnd: relativeNow(),\n startTime: evt.timeStamp,\n duration: 0, // arbitrary value to avoid nullable duration and simplify INP logic\n name: '',\n cancelable: false,\n target: null,\n toJSON: function () { return ({}); },\n };\n if (evt.type === \"pointerdown\" /* DOM_EVENT.POINTER_DOWN */) {\n sendTimingIfPointerIsNotCancelled(configuration, timing);\n }\n else {\n sendTiming(timing);\n }\n }, { passive: true, capture: true }).stop;\n return { stop: removeEventListeners };\n /**\n * Pointer events are a special case, because they can trigger main or compositor thread behavior.\n * We differentiate these cases based on whether or not we see a pointercancel event, which are\n * fired when we scroll. If we're scrolling we don't need to report input delay since FID excludes\n * scrolling and pinch/zooming.\n */\n function sendTimingIfPointerIsNotCancelled(configuration, timing) {\n addEventListeners(configuration, window, [\"pointerup\" /* DOM_EVENT.POINTER_UP */, \"pointercancel\" /* DOM_EVENT.POINTER_CANCEL */], function (event) {\n if (event.type === \"pointerup\" /* DOM_EVENT.POINTER_UP */) {\n sendTiming(timing);\n }\n }, { once: true });\n }\n function sendTiming(timing) {\n if (!timingSent) {\n timingSent = true;\n removeEventListeners();\n // In some cases the recorded delay is clearly wrong, e.g. it's negative or it's larger than\n // the time between now and when the page was loaded.\n // - https://github.com/GoogleChromeLabs/first-input-delay/issues/4\n // - https://github.com/GoogleChromeLabs/first-input-delay/issues/6\n // - https://github.com/GoogleChromeLabs/first-input-delay/issues/7\n var delay = timing.processingStart - timing.startTime;\n if (delay >= 0 && delay < dateNow() - startTimeStamp) {\n callback(timing);\n }\n }\n }\n}\n//# sourceMappingURL=firstInputPolyfill.js.map","import { addEventListener, Observable, setTimeout, clearTimeout, monitor, includes } from '@datadog/browser-core';\nimport { hasValidResourceEntryDuration, isAllowedRequestUrl } from '../domain/resource/resourceUtils';\nimport { retrieveFirstInputTiming } from './firstInputPolyfill';\n// We want to use a real enum (i.e. not a const enum) here, to be able to check whether an arbitrary\n// string is an expected performance entry\n// eslint-disable-next-line no-restricted-syntax\nexport var RumPerformanceEntryType;\n(function (RumPerformanceEntryType) {\n RumPerformanceEntryType[\"EVENT\"] = \"event\";\n RumPerformanceEntryType[\"FIRST_INPUT\"] = \"first-input\";\n RumPerformanceEntryType[\"LARGEST_CONTENTFUL_PAINT\"] = \"largest-contentful-paint\";\n RumPerformanceEntryType[\"LAYOUT_SHIFT\"] = \"layout-shift\";\n RumPerformanceEntryType[\"LONG_TASK\"] = \"longtask\";\n RumPerformanceEntryType[\"LONG_ANIMATION_FRAME\"] = \"long-animation-frame\";\n RumPerformanceEntryType[\"NAVIGATION\"] = \"navigation\";\n RumPerformanceEntryType[\"PAINT\"] = \"paint\";\n RumPerformanceEntryType[\"RESOURCE\"] = \"resource\";\n})(RumPerformanceEntryType || (RumPerformanceEntryType = {}));\nexport function createPerformanceObservable(configuration, options) {\n return new Observable(function (observable) {\n if (!window.PerformanceObserver) {\n return;\n }\n var handlePerformanceEntries = function (entries) {\n var rumPerformanceEntries = filterRumPerformanceEntries(entries);\n if (rumPerformanceEntries.length > 0) {\n observable.notify(rumPerformanceEntries);\n }\n };\n var timeoutId;\n var isObserverInitializing = true;\n var observer = new PerformanceObserver(monitor(function (entries) {\n // In Safari the performance observer callback is synchronous.\n // Because the buffered performance entry list can be quite large we delay the computation to prevent the SDK from blocking the main thread on init\n if (isObserverInitializing) {\n timeoutId = setTimeout(function () { return handlePerformanceEntries(entries.getEntries()); });\n }\n else {\n handlePerformanceEntries(entries.getEntries());\n }\n }));\n try {\n observer.observe(options);\n }\n catch (_a) {\n // Some old browser versions (<= chrome 74 ) don't support the PerformanceObserver type and buffered options\n // In these cases, fallback to getEntriesByType and PerformanceObserver with entryTypes\n // TODO: remove this fallback in the next major version\n var fallbackSupportedEntryTypes = [\n RumPerformanceEntryType.RESOURCE,\n RumPerformanceEntryType.NAVIGATION,\n RumPerformanceEntryType.LONG_TASK,\n RumPerformanceEntryType.PAINT,\n ];\n if (includes(fallbackSupportedEntryTypes, options.type)) {\n if (options.buffered) {\n timeoutId = setTimeout(function () { return handlePerformanceEntries(performance.getEntriesByType(options.type)); });\n }\n try {\n observer.observe({ entryTypes: [options.type] });\n }\n catch (_b) {\n // Old versions of Safari are throwing \"entryTypes contained only unsupported types\"\n // errors when observing only unsupported entry types.\n //\n // We could use `supportPerformanceTimingEvent` to make sure we don't invoke\n // `observer.observe` with an unsupported entry type, but Safari 11 and 12 don't support\n // `Performance.supportedEntryTypes`, so doing so would lose support for these versions\n // even if they do support the entry type.\n return;\n }\n }\n }\n isObserverInitializing = false;\n manageResourceTimingBufferFull(configuration);\n var stopFirstInputTiming;\n if (!supportPerformanceTimingEvent(RumPerformanceEntryType.FIRST_INPUT) &&\n options.type === RumPerformanceEntryType.FIRST_INPUT) {\n ;\n (stopFirstInputTiming = retrieveFirstInputTiming(configuration, function (timing) {\n handlePerformanceEntries([timing]);\n }).stop);\n }\n return function () {\n observer.disconnect();\n if (stopFirstInputTiming) {\n stopFirstInputTiming();\n }\n clearTimeout(timeoutId);\n };\n });\n}\nvar resourceTimingBufferFullListener;\nfunction manageResourceTimingBufferFull(configuration) {\n if (!resourceTimingBufferFullListener && supportPerformanceObject() && 'addEventListener' in performance) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1559377\n resourceTimingBufferFullListener = addEventListener(configuration, performance, 'resourcetimingbufferfull', function () {\n performance.clearResourceTimings();\n });\n }\n return function () {\n resourceTimingBufferFullListener === null || resourceTimingBufferFullListener === void 0 ? void 0 : resourceTimingBufferFullListener.stop();\n };\n}\nfunction supportPerformanceObject() {\n return window.performance !== undefined && 'getEntries' in performance;\n}\nexport function supportPerformanceTimingEvent(entryType) {\n return (window.PerformanceObserver &&\n PerformanceObserver.supportedEntryTypes !== undefined &&\n PerformanceObserver.supportedEntryTypes.includes(entryType));\n}\nfunction filterRumPerformanceEntries(entries) {\n return entries.filter(function (entry) { return !isForbiddenResource(entry); });\n}\nfunction isForbiddenResource(entry) {\n return (entry.entryType === RumPerformanceEntryType.RESOURCE &&\n (!isAllowedRequestUrl(entry.name) || !hasValidResourceEntryDuration(entry)));\n}\n//# sourceMappingURL=performanceObservable.js.map","import { matchList, monitor, Observable, timeStampNow, setTimeout, clearTimeout } from '@datadog/browser-core';\nimport { createPerformanceObservable, RumPerformanceEntryType } from '../browser/performanceObservable';\n// Delay to wait for a page activity to validate the tracking process\nexport var PAGE_ACTIVITY_VALIDATION_DELAY = 100;\n// Delay to wait after a page activity to end the tracking process\nexport var PAGE_ACTIVITY_END_DELAY = 100;\n/**\n * Wait for the page activity end\n *\n * Detection lifecycle:\n * ```\n * Wait page activity end\n * .-------------------'--------------------.\n * v v\n * [Wait for a page activity ] [Wait for a maximum duration]\n * [timeout: VALIDATION_DELAY] [ timeout: maxDuration ]\n * / \\ |\n * v v |\n * [No page activity] [Page activity] |\n * | |,----------------------. |\n * v v | |\n * (Discard) [Wait for a page activity] | |\n * [ timeout: END_DELAY ] | |\n * / \\ | |\n * v v | |\n * [No page activity] [Page activity] | |\n * | | | |\n * | '------------' |\n * '-----------. ,--------------------'\n * v\n * (End)\n * ```\n *\n * Note: by assuming that maxDuration is greater than VALIDATION_DELAY, we are sure that if the\n * process is still alive after maxDuration, it has been validated.\n */\nexport function waitPageActivityEnd(lifeCycle, domMutationObservable, windowOpenObservable, configuration, pageActivityEndCallback, maxDuration) {\n var pageActivityObservable = createPageActivityObservable(lifeCycle, domMutationObservable, windowOpenObservable, configuration);\n return doWaitPageActivityEnd(pageActivityObservable, pageActivityEndCallback, maxDuration);\n}\nexport function doWaitPageActivityEnd(pageActivityObservable, pageActivityEndCallback, maxDuration) {\n var pageActivityEndTimeoutId;\n var hasCompleted = false;\n var validationTimeoutId = setTimeout(monitor(function () { return complete({ hadActivity: false }); }), PAGE_ACTIVITY_VALIDATION_DELAY);\n var maxDurationTimeoutId = maxDuration !== undefined\n ? setTimeout(monitor(function () { return complete({ hadActivity: true, end: timeStampNow() }); }), maxDuration)\n : undefined;\n var pageActivitySubscription = pageActivityObservable.subscribe(function (_a) {\n var isBusy = _a.isBusy;\n clearTimeout(validationTimeoutId);\n clearTimeout(pageActivityEndTimeoutId);\n var lastChangeTime = timeStampNow();\n if (!isBusy) {\n pageActivityEndTimeoutId = setTimeout(monitor(function () { return complete({ hadActivity: true, end: lastChangeTime }); }), PAGE_ACTIVITY_END_DELAY);\n }\n });\n var stop = function () {\n hasCompleted = true;\n clearTimeout(validationTimeoutId);\n clearTimeout(pageActivityEndTimeoutId);\n clearTimeout(maxDurationTimeoutId);\n pageActivitySubscription.unsubscribe();\n };\n function complete(event) {\n if (hasCompleted) {\n return;\n }\n stop();\n pageActivityEndCallback(event);\n }\n return { stop: stop };\n}\nexport function createPageActivityObservable(lifeCycle, domMutationObservable, windowOpenObservable, configuration) {\n return new Observable(function (observable) {\n var subscriptions = [];\n var firstRequestIndex;\n var pendingRequestsCount = 0;\n subscriptions.push(domMutationObservable.subscribe(notifyPageActivity), windowOpenObservable.subscribe(notifyPageActivity), createPerformanceObservable(configuration, { type: RumPerformanceEntryType.RESOURCE }).subscribe(function (entries) {\n if (entries.some(function (entry) { return !isExcludedUrl(configuration, entry.name); })) {\n notifyPageActivity();\n }\n }), lifeCycle.subscribe(7 /* LifeCycleEventType.REQUEST_STARTED */, function (startEvent) {\n if (isExcludedUrl(configuration, startEvent.url)) {\n return;\n }\n if (firstRequestIndex === undefined) {\n firstRequestIndex = startEvent.requestIndex;\n }\n pendingRequestsCount += 1;\n notifyPageActivity();\n }), lifeCycle.subscribe(8 /* LifeCycleEventType.REQUEST_COMPLETED */, function (request) {\n if (isExcludedUrl(configuration, request.url) ||\n firstRequestIndex === undefined ||\n // If the request started before the tracking start, ignore it\n request.requestIndex < firstRequestIndex) {\n return;\n }\n pendingRequestsCount -= 1;\n notifyPageActivity();\n }));\n return function () {\n subscriptions.forEach(function (s) { return s.unsubscribe(); });\n };\n function notifyPageActivity() {\n observable.notify({ isBusy: pendingRequestsCount > 0 });\n }\n });\n}\nfunction isExcludedUrl(configuration, requestUrl) {\n return matchList(configuration.excludedActivityUrls, requestUrl);\n}\n//# sourceMappingURL=waitPageActivityEnd.js.map","// https://github.com/jquery/jquery/blob/a684e6ba836f7c553968d7d026ed7941e1a612d8/src/selector/escapeSelector.js\nexport function cssEscape(str) {\n if (window.CSS && window.CSS.escape) {\n return window.CSS.escape(str);\n }\n // eslint-disable-next-line no-control-regex\n return str.replace(/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g, function (ch, asCodePoint) {\n if (asCodePoint) {\n // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n if (ch === '\\0') {\n return '\\uFFFD';\n }\n // Control characters and (dependent upon position) numbers get escaped as code points\n return \"\".concat(ch.slice(0, -1), \"\\\\\").concat(ch.charCodeAt(ch.length - 1).toString(16), \" \");\n }\n // Other potentially-special ASCII characters get backslash-escaped\n return \"\\\\\".concat(ch);\n });\n}\nexport function elementMatches(element, selector) {\n if (element.matches) {\n return element.matches(selector);\n }\n // IE11 support\n if (element.msMatchesSelector) {\n return element.msMatchesSelector(selector);\n }\n return false;\n}\n/**\n * Return the parentElement of an node\n *\n * In cases where parentElement is not supported, such as in IE11 for SVG nodes, we fallback to parentNode\n */\nexport function getParentElement(node) {\n if (node.parentElement) {\n return node.parentElement;\n }\n while (node.parentNode) {\n if (node.parentNode.nodeType === Node.ELEMENT_NODE) {\n return node.parentNode;\n }\n node = node.parentNode;\n }\n return null;\n}\n/**\n * Return the classList of an element or an array of classes if classList is not supported\n *\n * In cases where classList is not supported, such as in IE11 for SVG and MathML elements,\n * we fallback to using element.getAttribute('class').\n * We opt for element.getAttribute('class') over element.className because className returns an SVGAnimatedString for SVG elements.\n */\nexport function getClassList(element) {\n if (element.classList) {\n return element.classList;\n }\n var classes = (element.getAttribute('class') || '').trim();\n return classes ? classes.split(/\\s+/) : [];\n}\n// ie11 supports WeakMap but not WeakSet\nvar PLACEHOLDER = 1;\n// eslint-disable-next-line no-restricted-syntax\nvar WeakSet = /** @class */ (function () {\n function WeakSet(initialValues) {\n var _this = this;\n this.map = new WeakMap();\n if (initialValues) {\n initialValues.forEach(function (value) { return _this.map.set(value, PLACEHOLDER); });\n }\n }\n WeakSet.prototype.add = function (value) {\n this.map.set(value, PLACEHOLDER);\n return this;\n };\n WeakSet.prototype.delete = function (value) {\n return this.map.delete(value);\n };\n WeakSet.prototype.has = function (value) {\n return this.map.has(value);\n };\n return WeakSet;\n}());\nexport { WeakSet };\n//# sourceMappingURL=polyfills.js.map","export function isTextNode(node) {\n return node.nodeType === Node.TEXT_NODE;\n}\nexport function isCommentNode(node) {\n return node.nodeType === Node.COMMENT_NODE;\n}\nexport function isElementNode(node) {\n return node.nodeType === Node.ELEMENT_NODE;\n}\nexport function isNodeShadowHost(node) {\n return isElementNode(node) && Boolean(node.shadowRoot);\n}\nexport function isNodeShadowRoot(node) {\n var shadowRoot = node;\n return !!shadowRoot.host && shadowRoot.nodeType === Node.DOCUMENT_FRAGMENT_NODE && isElementNode(shadowRoot.host);\n}\nexport function hasChildNodes(node) {\n return node.childNodes.length > 0 || isNodeShadowHost(node);\n}\nexport function forEachChildNodes(node, callback) {\n var child = node.firstChild;\n while (child) {\n callback(child);\n child = child.nextSibling;\n }\n if (isNodeShadowHost(node)) {\n callback(node.shadowRoot);\n }\n}\n/**\n * Return `host` in case if the current node is a shadow root otherwise will return the `parentNode`\n */\nexport function getParentNode(node) {\n return isNodeShadowRoot(node) ? node.host : node.parentNode;\n}\n//# sourceMappingURL=htmlDomUtils.js.map","import { DefaultPrivacyLevel } from '@datadog/browser-core';\nimport { isElementNode, getParentNode, isTextNode } from '../browser/htmlDomUtils';\nimport { elementMatches } from '../browser/polyfills';\nexport var NodePrivacyLevel = {\n IGNORE: 'ignore',\n HIDDEN: 'hidden',\n ALLOW: DefaultPrivacyLevel.ALLOW,\n MASK: DefaultPrivacyLevel.MASK,\n MASK_USER_INPUT: DefaultPrivacyLevel.MASK_USER_INPUT,\n};\nexport var PRIVACY_ATTR_NAME = 'data-dd-privacy';\n// Privacy Attrs\nexport var PRIVACY_ATTR_VALUE_ALLOW = 'allow';\nexport var PRIVACY_ATTR_VALUE_MASK = 'mask';\nexport var PRIVACY_ATTR_VALUE_MASK_USER_INPUT = 'mask-user-input';\nexport var PRIVACY_ATTR_VALUE_HIDDEN = 'hidden';\n// Privacy Classes - not all customers can set plain HTML attributes, so support classes too\nexport var PRIVACY_CLASS_PREFIX = 'dd-privacy-';\n// Private Replacement Templates\nexport var CENSORED_STRING_MARK = '***';\nexport var CENSORED_IMG_MARK = 'data:image/gif;base64,R0lGODlhAQABAIAAAMLCwgAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==';\nexport var FORM_PRIVATE_TAG_NAMES = {\n INPUT: true,\n OUTPUT: true,\n TEXTAREA: true,\n SELECT: true,\n OPTION: true,\n DATALIST: true,\n OPTGROUP: true,\n};\nvar TEXT_MASKING_CHAR = 'x';\n/**\n * Get node privacy level by iterating over its ancestors. When the direct parent privacy level is\n * know, it is best to use something like:\n *\n * derivePrivacyLevelGivenParent(getNodeSelfPrivacyLevel(node), parentNodePrivacyLevel)\n */\nexport function getNodePrivacyLevel(node, defaultPrivacyLevel, cache) {\n if (cache && cache.has(node)) {\n return cache.get(node);\n }\n var parentNode = getParentNode(node);\n var parentNodePrivacyLevel = parentNode\n ? getNodePrivacyLevel(parentNode, defaultPrivacyLevel, cache)\n : defaultPrivacyLevel;\n var selfNodePrivacyLevel = getNodeSelfPrivacyLevel(node);\n var nodePrivacyLevel = reducePrivacyLevel(selfNodePrivacyLevel, parentNodePrivacyLevel);\n if (cache) {\n cache.set(node, nodePrivacyLevel);\n }\n return nodePrivacyLevel;\n}\n/**\n * Reduces the next privacy level based on self + parent privacy levels\n */\nexport function reducePrivacyLevel(childPrivacyLevel, parentNodePrivacyLevel) {\n switch (parentNodePrivacyLevel) {\n // These values cannot be overridden\n case NodePrivacyLevel.HIDDEN:\n case NodePrivacyLevel.IGNORE:\n return parentNodePrivacyLevel;\n }\n switch (childPrivacyLevel) {\n case NodePrivacyLevel.ALLOW:\n case NodePrivacyLevel.MASK:\n case NodePrivacyLevel.MASK_USER_INPUT:\n case NodePrivacyLevel.HIDDEN:\n case NodePrivacyLevel.IGNORE:\n return childPrivacyLevel;\n default:\n return parentNodePrivacyLevel;\n }\n}\n/**\n * Determines the node's own privacy level without checking for ancestors.\n */\nexport function getNodeSelfPrivacyLevel(node) {\n // Only Element types can have a privacy level set\n if (!isElementNode(node)) {\n return;\n }\n // Overrules for replay purpose\n if (node.tagName === 'BASE') {\n return NodePrivacyLevel.ALLOW;\n }\n // Overrules to enforce end-user protection\n if (node.tagName === 'INPUT') {\n var inputElement = node;\n if (inputElement.type === 'password' || inputElement.type === 'email' || inputElement.type === 'tel') {\n return NodePrivacyLevel.MASK;\n }\n if (inputElement.type === 'hidden') {\n return NodePrivacyLevel.MASK;\n }\n var autocomplete = inputElement.getAttribute('autocomplete');\n // Handle input[autocomplete=cc-number/cc-csc/cc-exp/cc-exp-month/cc-exp-year/new-password/current-password]\n if (autocomplete && (autocomplete.startsWith('cc-') || autocomplete.endsWith('-password'))) {\n return NodePrivacyLevel.MASK;\n }\n }\n // Check HTML privacy attributes and classes\n if (elementMatches(node, getPrivacySelector(NodePrivacyLevel.HIDDEN))) {\n return NodePrivacyLevel.HIDDEN;\n }\n if (elementMatches(node, getPrivacySelector(NodePrivacyLevel.MASK))) {\n return NodePrivacyLevel.MASK;\n }\n if (elementMatches(node, getPrivacySelector(NodePrivacyLevel.MASK_USER_INPUT))) {\n return NodePrivacyLevel.MASK_USER_INPUT;\n }\n if (elementMatches(node, getPrivacySelector(NodePrivacyLevel.ALLOW))) {\n return NodePrivacyLevel.ALLOW;\n }\n if (shouldIgnoreElement(node)) {\n return NodePrivacyLevel.IGNORE;\n }\n}\n/**\n * Helper aiming to unify `mask` and `mask-user-input` privacy levels:\n *\n * In the `mask` case, it is trivial: we should mask the element.\n *\n * In the `mask-user-input` case, we should mask the element only if it is a \"form\" element or the\n * direct parent is a form element for text nodes).\n *\n * Other `shouldMaskNode` cases are edge cases that should not matter too much (ex: should we mask a\n * node if it is ignored or hidden? it doesn't matter since it won't be serialized).\n */\nexport function shouldMaskNode(node, privacyLevel) {\n switch (privacyLevel) {\n case NodePrivacyLevel.MASK:\n case NodePrivacyLevel.HIDDEN:\n case NodePrivacyLevel.IGNORE:\n return true;\n case NodePrivacyLevel.MASK_USER_INPUT:\n return isTextNode(node) ? isFormElement(node.parentNode) : isFormElement(node);\n default:\n return false;\n }\n}\nfunction isFormElement(node) {\n if (!node || node.nodeType !== node.ELEMENT_NODE) {\n return false;\n }\n var element = node;\n if (element.tagName === 'INPUT') {\n switch (element.type) {\n case 'button':\n case 'color':\n case 'reset':\n case 'submit':\n return false;\n }\n }\n return !!FORM_PRIVATE_TAG_NAMES[element.tagName];\n}\n/**\n * Text censoring non-destructively maintains whitespace characters in order to preserve text shape\n * during replay.\n */\nexport var censorText = function (text) { return text.replace(/\\S/g, TEXT_MASKING_CHAR); };\nexport function getTextContent(textNode, ignoreWhiteSpace, parentNodePrivacyLevel) {\n var _a;\n // The parent node may not be a html element which has a tagName attribute.\n // So just let it be undefined which is ok in this use case.\n var parentTagName = (_a = textNode.parentElement) === null || _a === void 0 ? void 0 : _a.tagName;\n var textContent = textNode.textContent || '';\n if (ignoreWhiteSpace && !textContent.trim()) {\n return;\n }\n var nodePrivacyLevel = parentNodePrivacyLevel;\n var isScript = parentTagName === 'SCRIPT';\n if (isScript) {\n // For perf reasons, we don't record script (heuristic)\n textContent = CENSORED_STRING_MARK;\n }\n else if (nodePrivacyLevel === NodePrivacyLevel.HIDDEN) {\n // Should never occur, but just in case, we set to CENSORED_MARK.\n textContent = CENSORED_STRING_MARK;\n }\n else if (shouldMaskNode(textNode, nodePrivacyLevel)) {\n if (\n // Scrambling the child list breaks text nodes for DATALIST/SELECT/OPTGROUP\n parentTagName === 'DATALIST' ||\n parentTagName === 'SELECT' ||\n parentTagName === 'OPTGROUP') {\n if (!textContent.trim()) {\n return;\n }\n }\n else if (parentTagName === 'OPTION') {\n //