@kameleoon/javascript-sdk 4.12.1 → 4.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"javascript-sdk.es.min.js","sources":["../../javascript-sdk-core/dist/javascript-sdk-core.es.min.js","../src/constants.ts","../../../node_modules/tslib/tslib.es6.js","../src/requester.ts","../src/visitorCodeManager.ts","../src/storage.ts","../src/eventSource.ts","../src/prng.ts","../src/defaultLogger.ts","../src/visitorActivity/visitorActivityManager.ts","../src/utils/browserAnalyse.ts","../src/dataManager.ts","../src/kameleoonClient.ts"],"sourcesContent":["var t=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function e(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var i,a,r={},n={};var o,s=(a||(a=1,function(t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.Err=t.Ok=void 0;var e=function(){if(i)return n;function t(t){if(!this.ok){if(\"string\"==typeof this.error||void 0===this.error)throw new Error(t||this.error||\"There was an error! No specific error message was provided.\");throw t&&(this.error.message=t),this.error}return this.data}function e(t){return this.ok?this.data:t(this.error)}function a(t){return this.ok?this.data:t}function r(t){return this.ok&&t(this.data),this}return i=1,Object.defineProperty(n,\"__esModule\",{value:!0}),n.Err=n.Ok=void 0,n.Ok=function(i){return{ok:!0,data:i,throw:t,else:e,or:a,and:r}},n.Err=function(i){return{ok:!1,error:i,throw:t,else:e,or:a,and:r}},n}();Object.defineProperty(t,\"Ok\",{enumerable:!0,get:function(){return e.Ok}}),Object.defineProperty(t,\"Err\",{enumerable:!0,get:function(){return e.Err}})}(r)),r);function u(t,e,i,a){return new(i||(i=Promise))(function(r,n){function o(t){try{u(a.next(t))}catch(t){n(t)}}function s(t){try{u(a.throw(t))}catch(t){n(t)}}function u(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(o,s)}u((a=a.apply(t,e||[])).next())})}\"function\"==typeof SuppressedError&&SuppressedError,function(t){t.Credentials=\"Credentials\",t.EventSourceInitialization=\"EventSourceInitialization\",t.FeatureFlagConfigurationNotFound=\"FeatureFlagConfigurationNotFound\",t.FeatureFlagVariableNotFound=\"FeatureFlagVariableNotFound\",t.FeatureFlagVariationNotFound=\"FeatureFlagVariationNotFound\",t.FeatureFlagExperimentNotFound=\"FeatureFlagExperimentNotFound\",t.FeatureFlagEnvironmentDisabled=\"FeatureFlagEnvironmentDisabled\",t.VisitAmount=\"VisitAmount\",t.VisitorCodeMaxLength=\"VisitorCodeMaxLength\",t.VisitorCodeEmpty=\"VisitorCodeEmpty\",t.StorageInitialization=\"StorageInitialization\",t.StorageWrite=\"StorageWrite\",t.StorageRead=\"StorageRead\",t.StorageParse=\"StorageParse\",t.StorageEmpty=\"StorageEmpty\",t.ClientConfiguration=\"ClientConfiguration\",t.TargetingCondition=\"TargetingCondition\",t.AmongValuesCheck=\"AmongValuesCheck\",t.RangeCheck=\"RangeCheck\",t.Initialization=\"Initialization\",t.JSONParse=\"JSONParse\",t.NumberParse=\"NumberParse\",t.VersionParse=\"VersionParse\",t.CookieParse=\"CookieParse\",t.SemanticVersionParse=\"SemanticVersionParse\",t.RemoteData=\"RemoteData\",t.MaximumRetriesReached=\"MaximumRetriesReached\"}(o||(o={}));const d={[o.CookieParse]:t=>`Couldn't parse cookie string: ${t}`,[o.JSONParse]:t=>`Couldn't parse JSON variable: ${t}`,[o.NumberParse]:t=>`It's not possible to parse value ${t} to Number`,[o.VersionParse]:t=>`It's not possible to parse a version value ${t} to Number, version should be in format x.x`,[o.SemanticVersionParse]:t=>`It's not possible to parse a version value ${t} to Number, version should be in format x.x.x`,[o.Initialization]:()=>\"It seems that the client wasn't properly initialized, make sure to run `initialize` method before invoking other methods\",[o.Credentials]:()=>\"KameleoonClient can not be created without credentials\",[o.StorageInitialization]:()=>\"There was an error while initializing React Native SDK storage, it seems that the storage library dependency wasn't installed\",[o.EventSourceInitialization]:()=>\"There was an error while initializing Real Time Update service, it seems that the event source library dependency wasn't installed\",[o.FeatureFlagConfigurationNotFound]:t=>`No feature flag with key ${t} was found.`,[o.FeatureFlagEnvironmentDisabled]:(t,e)=>`Feature flag with key ${t} is disabled in ${e} environment.`,[o.FeatureFlagVariableNotFound]:(t,e)=>`No feature flag variable with key ${t} was found for ${e} visitorCode.`,[o.FeatureFlagVariationNotFound]:(t,e)=>`No feature flag variation with key ${t} was found for ${e} visitorCode.`,[o.FeatureFlagExperimentNotFound]:(t,e)=>`No feature flag experiment with id ${t} was found for ${e} visitorCode.`,[o.VisitAmount]:()=>\"Visit amount must be a number between 1 and 25\",[o.VisitorCodeMaxLength]:()=>\"Visitor code can not be more than 255 characters long\",[o.VisitorCodeEmpty]:()=>\"Visitor code can not be empty\",[o.StorageWrite]:t=>`Couldn't update storage for kameleoonClient: ${t}`,[o.StorageRead]:t=>`No data found in storage under ${t} key`,[o.StorageEmpty]:()=>\"No data found in storage\",[o.StorageParse]:(t,e)=>`Couldn't parse ${e} storage data, the data may be corrupted. Error: ${t}`,[o.ClientConfiguration]:t=>`Couldn't retrieve client configuration from Kameleoon Api. Error: ${t}`,[o.TargetingCondition]:t=>`${t} targeting condition is not yet supported.`,[o.AmongValuesCheck]:(t,e)=>`Couldn't parse value \"${e}\": ${t}`,[o.RangeCheck]:t=>`Couldn't parse value \"${t}\" as a range, value should be in format [x: number, y: number]`,[o.RemoteData]:t=>`Couldn't retrieve data from Kameleoon server. Error: ${t}`,[o.MaximumRetriesReached]:t=>`Maximum retries reached, request failed. Reason: ${t}`};function l(t){throw new Error(`Reaching an impossible state because of ${t}`)}class c extends Error{constructor(t,e,i){switch(super(`Error: ${t}`),this.name=\"KameleoonError\",this.errorType=t,t){case o.Initialization:case o.Credentials:case o.VisitorCodeMaxLength:case o.VisitorCodeEmpty:case o.StorageInitialization:case o.VisitAmount:case o.EventSourceInitialization:case o.StorageEmpty:this.message=d[t]();break;case o.CookieParse:case o.FeatureFlagConfigurationNotFound:case o.NumberParse:case o.ClientConfiguration:case o.MaximumRetriesReached:case o.RemoteData:case o.VersionParse:case o.SemanticVersionParse:this.message=d[t](e);break;case o.FeatureFlagExperimentNotFound:case o.FeatureFlagVariationNotFound:case o.FeatureFlagEnvironmentDisabled:case o.FeatureFlagVariableNotFound:this.message=d[t](e,i);break;case o.StorageWrite:case o.JSONParse:case o.StorageRead:this.message=d[t](e);break;case o.StorageParse:this.message=d[t](e,i);break;case o.TargetingCondition:this.message=d[t](e);break;case o.AmongValuesCheck:this.message=d[t](e,i);break;case o.RangeCheck:this.message=d[t](e);break;default:l(t)}}get type(){return this.errorType}}var h,g,f,p;!function(t){t.DataApi=\"dataApi\",t.Events=\"events\",t.ClientConfiguration=\"clientConfiguration\"}(h||(h={})),function(t){t.Get=\"GET\",t.Post=\"POST\"}(g||(g={})),function(t){t[t.VisitEvent=0]=\"VisitEvent\",t[t.VisitData=1]=\"VisitData\",t[t.DataMap=2]=\"DataMap\"}(f||(f={})),function(t){t.Configuration=\"configuration\",t.Tracking=\"tracking\",t.RemoteData=\"remoteData\"}(p||(p={}));const v=2;var m;!function(t){t.UserAgent=\"User-Agent\",t.ContentType=\"Content-Type\",t.SdkVersion=\"X-Kameleoon-SDK-Version\",t.SdkType=\"X-Kameleoon-SDK-Type\",t.Authorization=\"Authorization\",t.AcceptEncoding=\"Accept-Encoding\",t.IfModifiedSince=\"If-Modified-Since\",t.LastModified=\"Last-Modified\"}(m||(m={}));const C=\"eventType=customData\",E=\"eventType=staticData\",y=\"eventType=page\",I=\"eventType=conversion\",D=\"eventType=activity\",T=\"eventType=experiment\",k=\"eventType=geolocation\",R=\"eventType=targetingSegment\",V=\"&title=\",S=\"&referrersIndices=\",w=\"&negative=\",b=\"&revenue=\",A=\"&overwrite=\",O=\"&index=\",$=\"&browserIndex=\",F=\"&browserVersion=\",N=\"&href=\",x=\"&deviceType=\",M=\"&goalId=\",U=\"&visitorCode=\",_=\"&variationId=\",L=\"&ts=\",P=\"&key=\",K=\"&sdkName=\",G=\"&sdkVersion=\",B=\"&valuesCountMap=\",z=\"&nonce=\",q=\"&id=\",j=\"&customData=\",H=\"&currentVisit=\",W=\"&maxNumberPreviousVisits=\",Y=\"&os=\",J=\"&osIndex=\",X=\"&country=\",Q=\"&city=\",Z=\"&region=\",tt=\"&latitude=\",et=\"&longitude=\",it=\"&postalCode=\",at=\"&conversion=\",rt=\"&staticData=\",nt=\"&geolocation=\",ot=\"&page=\",st=\"&experiment=\",ut=\"&browser=\",dt=\"&mappingIdentifier=\",lt=\"&mappingValue=\",ct=\"&kcs=\",ht=\"&personalization=\",gt=\"&userAgent=\",ft=\"&bodyUa=\",pt=\"&cbs=\",vt=\"&metadata=\",mt=\"&visitNumber=\",Ct=\"&timeSincePreviousVisit=\",Et=\"?environment=\",yt=\"?ts=\",It=\"sse?siteCode=\",Dt=\"map?siteCode=\",Tt=\"events?siteCode=\",kt=\"visitor?siteCode=\",Rt=\"visit/\",Vt=\"map/\",St={[h.DataApi]:\"data.kameleoon.io\",[h.Events]:\"events.kameleoon.eu\",[h.ClientConfiguration]:\"sdk-config.kameleoon.eu\"};var wt;!function(t){t[t.NONE=0]=\"NONE\",t[t.ERROR=1]=\"ERROR\",t[t.WARNING=2]=\"WARNING\",t[t.INFO=3]=\"INFO\",t[t.DEBUG=4]=\"DEBUG\"}(wt||(wt={}));const bt={[wt.NONE]:\"NONE\",[wt.ERROR]:\"ERROR\",[wt.WARNING]:\"WARNING\",[wt.INFO]:\"INFO\",[wt.DEBUG]:\"DEBUG\"};const At=(t,e)=>\"credentials\"===t?{clientId:\"****\",clientSecret:\"****\"}:e instanceof Map?Array.from(e.entries()):e;class Ot{static setLogger(t){Ot.logger=t}static setLogLevel(t){Ot.logLevel=t}static log({level:t,strings:e,keys:i}){if(!Ot.checkLevel(t))return;let a;if(\"string\"==typeof e)a=e;else if(\"function\"==typeof e)try{a=e()}catch(t){a=\"Failed to log message\"}else a=function(t,e){let i=\"\";if(e)for(let a=0;a<e.length;a++){let r=e[a];if(\"object\"==typeof r)try{i+=t[a]+JSON.stringify(r,At)}catch(e){i+=t[a]+\"{object}\"}else i+=\"string\"==typeof r?t[a]+\"'\"+r+\"'\":t[a]+r}return i+=t[t.length-1],i}(e,i);Ot.writeMessage(t,a)}static info(t,...e){Ot.log({level:wt.INFO,strings:t,keys:e})}static error(t,...e){Ot.log({level:wt.ERROR,strings:t,keys:e})}static warning(t,...e){Ot.log({level:wt.WARNING,strings:t,keys:e})}static debug(t,...e){Ot.log({level:wt.DEBUG,strings:t,keys:e})}static checkLevel(t){return t<=Ot.logLevel&&t!==wt.NONE}static writeMessage(t,e){Ot.logger.log(t,`Kameleoon [${bt[t]}]: ${e}`)}}Ot.logger=new class{log(t,e){switch(t){case wt.DEBUG:console.debug(e);break;case wt.INFO:console.info(e);break;case wt.WARNING:console.warn(e);break;case wt.ERROR:console.error(e)}}},Ot.logLevel=wt.WARNING;class $t{constructor({urlProvider:t,packageInfo:e,externalRequester:i,requestTimeout:a,trackRetryDelay:r,useAbortController:n}){Ot.debug`CALL: new Requester(urlProvider, packageInfo: ${e}, externalRequester, requestTimeout: ${a}, trackRetryDelay: ${r}, useAbortController: ${n})`,this.urlProvider=t,this.useAbortController=n,this.externalRequester=i,this.trackRetryDelay=r,this.packageInfo=e,this.timeout=a,Ot.debug`RETURN: new Requester(urlProvider, packageInfo: ${e}, externalRequester, requestTimeout: ${a}, trackRetryDelay: ${r}, useAbortController: ${n})`}getClientConfiguration(t,e){return u(this,void 0,void 0,function*(){const i=this.urlProvider.getClientConfigurationUrl(t);let a=Object.assign({[m.SdkType]:this.packageInfo.type.toLowerCase(),[m.SdkVersion]:this.packageInfo.version},e&&{[m.IfModifiedSince]:e});try{let t={message:\"\"};Ot.debug`Running configuration request Method: ${g.Get}, Url: ${i}, Headers: ${a}, with retry limit ${3}`;for(let e=0;e<3;e++){const r=yield this.sendRequest({url:i,requestType:p.Configuration,retryCount:e,parameters:{method:g.Get,headers:a}});if(r.ok){const t=yield r.json();this.logReceivedConfigurationResponse(r.status,i,a);const e=this.getLastModifiedHeader(r),n=t;return s.Ok({configuration:n,lastModified:e})}if(304===r.status)return this.logReceivedConfigurationResponse(r.status,i,a),s.Ok({});if(2===e){if(r.text){const e=yield r.text();t=JSON.parse(e)}Ot.error`Failed to get configuration response ${{status:r.status,message:t.message}} for request Method: ${g.Get}, Url: ${i}, Headers: ${a}`}else yield this.logRequestError({logLevel:wt.WARNING,message:\"Failed to get configuration response\",response:r,method:g.Get,url:i})}return s.Err(new c(o.MaximumRetriesReached,t.message))}catch(t){return yield this.logRequestError({logLevel:wt.ERROR,message:\"Failed to get configuration response\",error:t,method:g.Get,url:i,headers:a}),s.Err(new c(o.ClientConfiguration,t))}})}getRemoteData(t){var e;return u(this,void 0,void 0,function*(){const i=this.urlProvider.getRemoteDataUrl(t);Ot.debug`Running remote data request Method: ${g.Get}, Url: ${i}`;try{const t=yield this.sendRequest({url:i,requestType:p.RemoteData,retryCount:0,parameters:{method:g.Get}});if(!t.ok){if(yield this.logRequestError({logLevel:wt.ERROR,message:\"Failed to get remote data response\",response:t,method:g.Get,url:i}),t.text){const i=yield t.text(),a=null===(e=JSON.parse(i))||void 0===e?void 0:e.message;return s.Err(new c(o.RemoteData,a))}return s.Err(new c(o.RemoteData,\"Unknown Reason - no `text()` was found for a response\"))}const a=yield t.json();return Ot.debug`Received remote data response: ${{status:t.status}} for request Method: ${g.Get}, Url: ${i}`,s.Ok(a)}catch(t){return yield this.logRequestError({logLevel:wt.ERROR,message:\"Failed to get remote data response\",error:t,method:g.Get,url:i}),s.Err(new c(o.RemoteData,t))}})}getVisitorData({visitorCode:t,filters:e,isMappingIdentifier:i}){var a;return u(this,void 0,void 0,function*(){const r=this.urlProvider.getVisitorDataUrl({visitorCode:t,filters:e,isMappingIdentifier:i});Ot.debug`Running visitor data request Method: ${g.Get}, Url: ${r}`;try{const t=yield this.sendRequest({url:r,requestType:p.RemoteData,retryCount:0,parameters:{method:g.Get}});if(!t.ok){if(yield this.logRequestError({logLevel:wt.ERROR,message:\"Failed to get visitor data response\",response:t,method:g.Get,url:r}),\"function\"==typeof t.text){const e=yield t.text();if(e){const t=null===(a=JSON.parse(e))||void 0===a?void 0:a.message;return s.Err(new c(o.RemoteData,t))}}return t.status?s.Err(new c(o.RemoteData,`No error message. Error status: ${t.status}`)):s.Err(new c(o.RemoteData,\"Unknown Reason - no text message or error status was found for a response\"))}const e=yield t.json();return Ot.debug`Received visitor data response: ${{status:t.status}} for request Method: ${g.Get}, Url: ${r}`,s.Ok(e)}catch(t){return yield this.logRequestError({logLevel:wt.ERROR,message:\"Failed to get visitor data response\",error:t,method:g.Get,url:r}),s.Err(new c(o.RemoteData,t))}})}track(t,e){return u(this,void 0,void 0,function*(){const i=this.urlProvider.getTrackingUrl(e);Ot.debug`Running tracking request Method: ${g.Post}, Url: ${i}, Body: ${t}, with retry limit ${3}, retry delay ${this.trackRetryDelay} ms`;for(let e=0;e<3;e++){let a;try{if(a=yield this.sendRequest({url:i,retryCount:e,requestType:p.Tracking,parameters:{body:t,method:g.Post,headers:{[m.ContentType]:\"*/*\"}}}),a.ok)return Ot.debug`Received tracking response: ${{status:a.status}} for request Method: ${g.Post}, Url: ${i}, Body: ${t}`,s.Ok();yield this.logRequestError({logLevel:2==e?wt.ERROR:wt.WARNING,message:\"Failed to get tracking response\",response:a,method:g.Post,url:i})}catch(t){yield this.logRequestError({logLevel:2==e?wt.ERROR:wt.WARNING,message:\"Failed to get tracking response\",error:t,method:g.Post,url:i})}e<3&&(yield new Promise(t=>setTimeout(t,this.trackRetryDelay)))}return s.Err()})}sendRequest({url:t,requestType:e,retryCount:i,parameters:a}){return u(this,void 0,void 0,function*(){let r;if(this.useAbortController){const n=new AbortController,o=setTimeout(()=>n.abort(),this.timeout);r=yield this.externalRequester.sendRequest({url:t,retryCount:i,requestType:e,parameters:Object.assign(Object.assign({},a),{signal:n.signal})}),clearTimeout(o)}else r=yield this.externalRequester.sendRequest({url:t,retryCount:i,requestType:e,parameters:a});return r})}logRequestError({logLevel:t,message:e,error:i,method:a,url:r,response:n,headers:o}){return u(this,void 0,void 0,function*(){if(i){let n=\"Unknown error\";i instanceof Error&&(n=i.message),Ot.log({level:t,strings:()=>`${e} with error: ${n} for request Method: ${a}, Url: ${r}`})}else if(n&&Ot.checkLevel(t)){const i=yield this.parseResponse(n);Ot.log({level:t,strings:()=>`${e} response: Status: '${i.status}' Message: '${i.message}' for request Method: ${a}, Url: '${r}'`+(o?`, Headers: ${o}`:\"\")})}})}parseResponse(t){return u(this,void 0,void 0,function*(){let e=\"\";try{if(\"function\"==typeof t.text){const i=yield t.text();i&&(e=i)}}catch(t){}return{status:t.status,message:e}})}getLastModifiedHeader(t){if(t.headers){const e=m.LastModified.toLowerCase();for(const[i,a]of t.headers)if(i.toLowerCase()===e)return a}}logReceivedConfigurationResponse(t,e,i){Ot.debug`Received configuration response: ${{status:t}} for request Method: ${g.Get}, Url: ${e}, Headers: ${i}`}}var Ft,Nt,xt,Mt,Ut,_t,Lt,Pt,Kt,Gt,Bt;!function(t){t.Production=\"production\",t.Staging=\"staging\",t.Development=\"development\"}(Ft||(Ft={}));class zt{constructor(){this.ready=!1,this.isCustomDomain=!1,this.domains=St}initialize({domain:t,siteCode:e,packageInfo:i,environment:a}){this.siteCode=e,this.environment=a,this.packageInfo=i,this.ready=!0,this.setDomains(t)}set dataApiDomain(t){if(!this.isCustomDomain)return void(this.domains[h.DataApi]=t);const e=t.split(\".\")[0],i=this.domains[h.DataApi];this.domains[h.DataApi]=i.replace(/^[^.]+/,e)}getClientConfigurationUrl(t){this.isInitialized();const e=`https://${this.domains[h.ClientConfiguration]}/v3/`,i=this.environment===Ft.Production?\"\":Et+encodeURIComponent(this.environment);let a=\"\";return t&&(a=i?L+t:yt+t),e+this.siteCode+i+a}getEventSourceUrl(){return this.isInitialized(),`https://${this.domains[h.Events]}:8110/${It}${this.siteCode}`}getRemoteDataUrl(t){return this.isInitialized(),this.getDataApiUrl(f.DataMap)+this.siteCode+P+encodeURI(t)}getVisitorDataUrl({visitorCode:t,filters:e,isMappingIdentifier:i}){this.isInitialized();const{customData:a,previousVisitAmount:r,currentVisit:n,conversions:o,geolocation:s,experiments:u,pageViews:d,device:l,browser:c,operatingSystem:h,kcs:g,personalization:p,visitorCode:v,cbs:m}=e,C=i?lt:U,E=a||v?j+!0:\"\",y=o?at+!0:\"\",I=s?nt+!0:\"\",D=u?st+!0:\"\",T=d?ot+!0:\"\",k=rt+!0,R=n?H+!0:\"\",V=g?ct+!0:\"\",S=p?ht+!0:\"\",w=\"number\"!=typeof r?W+1:W+r,b=m?pt+!0:\"\";return this.getDataApiUrl(f.VisitData)+this.siteCode+C+t+w+E+y+I+D+T+k+R+V+S+b}getTrackingUrl(t){this.isInitialized();const{type:e,version:i}=this.packageInfo;let a=this.getDataApiUrl(f.VisitEvent)+this.siteCode+K+e.toLowerCase()+G+i;return t&&(a+=ft+!0),a}isInitialized(){if(!this.ready)throw new Error(\"UrlProvider is not initialized\")}getDataApiUrl(t){if(!this.domains[h.DataApi])throw new Error(\"Data API domain is not set\");const e=`https://${this.domains[h.DataApi]}`;switch(t){case f.VisitEvent:return`${e}/${Rt+Tt}`;case f.VisitData:return`${e}/${Rt+kt}`;case f.DataMap:return`${e}/${Vt+Dt}`}}setDomains(t){t&&(this.isCustomDomain=!0,this.domains[h.DataApi]=\"data.\"+t,this.domains[h.Events]=\"events.\"+t,this.domains[h.ClientConfiguration]=\"sdk-config.\"+t)}}!function(t){t.BOOLEAN=\"BOOLEAN\",t.NUMBER=\"NUMBER\",t.STRING=\"STRING\",t.JSON=\"JSON\",t.JS=\"JS\",t.CSS=\"CSS\"}(Nt||(Nt={})),function(t){t.Sent=\"sent\",t.Unsent=\"unsent\",t.Pending=\"pending\"}(xt||(xt={})),function(t){t[t.Second=1e3]=\"Second\",t[t.Minute=6e4]=\"Minute\",t[t.Hour=36e5]=\"Hour\",t[t.Day=864e5]=\"Day\",t[t.Week=6048e5]=\"Week\",t[t.Month=2592e6]=\"Month\"}(Mt||(Mt={}));class qt{constructor(t){this.cacheMap=new Map,this.intervalId=null,this.cleanupTimeout=t*Mt.Second}add({key:t,data:e,lifetime:i}){Ot.debug`CALL: CacheManager.add(key: ${t}, data: ${e}, lifetime: ${i})`,null===this.intervalId&&this.activate();const a=i*Mt.Second,r={data:e,expirationTime:Date.now()+a};this.cacheMap.set(t,r),Ot.debug`RETURN: CacheManager.add(key: ${t}, data: ${e}, lifetime: ${i})`}getAliveItem(t){Ot.debug`CALL: CacheManager.getAliveItem(key: ${t})`;const e=this.cacheMap.get(t);if(e&&e.expirationTime>=Date.now()){const i=e.data;return Ot.debug`RETURN: CacheManager.getAliveItem(key: ${t}) -> (item: ${i})`,i}return e&&this.cacheMap.delete(t),Ot.debug`RETURN: CacheManager.getAliveItem(key: ${t}) -> (item: null)`,null}activate(){this.intervalId=setInterval(()=>{const t=Date.now();for(const[e,i]of this.cacheMap)i.expirationTime<t&&this.cacheMap.delete(e);this.cacheMap.size||this.cleanupInterval()},this.cleanupTimeout)}cleanupInterval(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null)}}!function(t){t[t.Polling=0]=\"Polling\",t[t.RealTime=1]=\"RealTime\"}(Ut||(Ut={})),function(t){t.TARGETED_DELIVERY=\"TARGETED_DELIVERY\",t.EXPERIMENTATION=\"EXPERIMENTATION\"}(_t||(_t={})),function(t){t.ANDROID=\"ANDROID\",t.SWIFT=\"SWIFT\",t.JAVA=\"JAVA\",t.CSHARP=\"CSHARP\",t.NODEJS=\"NODEJS\",t.PHP=\"PHP\",t.RUBY=\"RUBY\",t.GO=\"GO\",t.FLUTTER=\"FLUTTER\",t.REACTJS=\"REACTJS\"}(Lt||(Lt={})),function(t){t.ACTIVATED=\"ACTIVATED\",t.DEACTIVATED=\"DEACTIVATED\",t.SCHEDULED=\"SCHEDULED\"}(Pt||(Pt={})),function(t){t.Visit=\"VISIT\",t.Visitor=\"VISITOR\",t.Page=\"Page\"}(Kt||(Kt={})),function(t){t.Required=\"REQUIRED\",t.NotRequired=\"NOT_REQUIRED\"}(Gt||(Gt={}));class jt{addEventHandler(t,e){this.eventHandlers||(this.eventHandlers=new Map),this.eventHandlers.set(t,e)}fireEvent(t,e){var i;const a=null===(i=this.eventHandlers)||void 0===i?void 0:i.get(t);a&&e&&a(e)}}!function(t){t.Evaluation=\"evaluation\",t.ConfigurationUpdate=\"configurationUpdate\"}(Bt||(Bt={})),Gt.NotRequired;const Ht={customData:[],featureFlags:[],configuration:{realTimeUpdate:!1,consentType:Gt.NotRequired,dataApiDomain:\"data.kameleoon.io\"}};class Wt{constructor(t){this._featureFlags=t.slice().sort((t,e)=>t.id-e.id)}getFeatureFlagByHash(t){let e=Math.floor(t*this._featureFlags.length);return e=Math.min(e,this._featureFlags.length-1),this._featureFlags[e]}get featureFlags(){return this._featureFlags}}class Yt{constructor({updateInterval:t,urlProvider:e,storage:i,requester:a,dataManager:r,eventSource:n,externalVisitorCodeManager:o,eventManager:s,externalPackageInfo:u,defaultDataFile:d}){this.updateConfigurationIntervalId=null,this.updateType=Ut.Polling,this.configurationData=Ht,this.featureFlagsData=new Map,this.isTargetedDeliveryRule=null,this.segmentsData=null,this.holdoutData=null,this.meGroupsData=new Map,this.mappedRules=null,this.mappedExperiments=null,this.usedDefaultDataFile=!1,this.CACHE_REVALIDATE_PERIOD=90*Mt.Minute,this.urlProvider=e,this.requester=a,this.updateInterval=t,this.lastUpdate=new Date,this.storage=i,this.dataManager=r,this.eventManager=s,this.visitorCodeManager=o,this.eventSource=n,this.externalPackageInfo=u,this.defaultDataFile=d}initialize(){return u(this,void 0,void 0,function*(){Ot.debug(\"CALL: ClientConfiguration.initialize()\"),this.readStorageData();if(this.checkShouldUpdate()){const t=yield this.updateClientConfiguration();if(!t.ok)return Ot.error(\"Error occurred during client configuration update\"),t;if(t.data)return Ot.debug(\"RETURN: ClientConfiguration.initialize()\"),s.Ok()}return this.updateType!==Ut.RealTime||this.eventSource.isOpen?(this.updateType===Ut.Polling&&this.handlePollingUpdates(),Ot.debug(\"RETURN: ClientConfiguration.initialize()\"),s.Ok()):(this.handleRealTimeUpdates(),Ot.debug(\"RETURN: ClientConfiguration.initialize()\"),s.Ok())})}cleanupHandlers(){this.eventSource.isOpen&&this.eventSource.close(),this.updateConfigurationIntervalId&&clearInterval(this.updateConfigurationIntervalId)}handleRealTimeUpdates(){this.cleanupHandlers();this.eventSource.open(t=>{this.updateClientConfiguration(t).then(e=>{e.ok&&this.eventManager.fireEvent(Bt.ConfigurationUpdate,{timestamp:t})})}),this.eventSource.onError(t=>{Ot.error`Error occurred during real-time update: ${t}. Switching to polling updates while the connection is not restored.`,this.updateType=Ut.Polling,this.handlePollingUpdates()})}handlePollingUpdates(){this.cleanupHandlers();try{const t=this.lastUpdate.getTime(),e=Date.now(),i=Math.max(this.updateInterval-(e-t),0);setTimeout(()=>u(this,void 0,void 0,function*(){yield this.updateClientConfiguration(),this.updateConfigurationIntervalId=setInterval(this.updateClientConfiguration.bind(this),this.updateInterval)}),i)}catch(t){throw this.updateConfigurationIntervalId&&clearInterval(this.updateConfigurationIntervalId),t}}get featureFlags(){return this.featureFlagsData}get configuration(){return this.configurationData.configuration}get segments(){if(this.segmentsData)return this.segmentsData;const t=new Map;return this.featureFlagsData.forEach(e=>{e.rules.forEach(e=>{e.segment&&!t.has(e.segment.id.toString())&&t.set(e.segment.id.toString(),e.segment)})}),this.segmentsData=t,t}get ruleMap(){var t;if(null===(t=this.mappedRules)||void 0===t?void 0:t.size)return this.mappedRules;const e=new Map;for(const t of this.featureFlags.values())for(const i of t.rules){const{id:a,experimentId:r,variationByExposition:n}=i,o=new Map;n.forEach(({variationKey:t,variationId:e})=>{\"number\"==typeof e&&o.set(t,e)}),e.set(a,{featureId:t.id,experimentId:r,variations:o})}return this.mappedRules=e,e}get experimentMap(){var t;if(null===(t=this.mappedExperiments)||void 0===t?void 0:t.size)return this.mappedExperiments;const e=new Map;for(const t of this.featureFlags.values())for(const i of t.rules){const{experimentId:t,variationByExposition:a}=i,r=new Map;a.forEach(({variationKey:t,variationId:e})=>{\"number\"==typeof e&&r.set(t,e)}),e.set(t,{type:i.type,variations:r})}return this.mappedExperiments=e,e}get holdout(){return this.holdoutData}get meGroups(){return this.meGroupsData}get isConsentRequired(){return this.configuration.consentType===Gt.Required}get hasAnyTargetedDeliveryRule(){if(null!==this.isTargetedDeliveryRule)return this.isTargetedDeliveryRule;for(const t of this.featureFlags.values())if(t.environmentEnabled&&t.rules.some(t=>t.type===_t.TARGETED_DELIVERY))return!0;return!1}checkShouldUpdate(){const{configuration:t}=this.configurationData;if(this.updateType=t.realTimeUpdate?Ut.RealTime:Ut.Polling,!this.featureFlags.size)return!0;return this.lastUpdate.getTime()<Date.now()-this.updateInterval}readStorageData(){var t,e,i;Ot.debug(\"CALL: ClientConfiguration.readStorageData()\");const a=this.storage.read();if(a.ok){let{data:r,lastUpdate:n,lastModified:o,requestTime:s}=a.data,u=!1;if(this.defaultDataFile)try{const a=JSON.parse(this.defaultDataFile);this.defaultDataFile=void 0,this.usedDefaultDataFile=!0;const n=null!==(e=null!==(t=r.dateModified)&&void 0!==t?t:s)&&void 0!==e?e:-1,o=null!==(i=a.dateModified)&&void 0!==i?i:0;(!s||o>n)&&(r=a,u=!0)}catch(t){Ot.error`Error parsing default data file: ${t}`}this.updateConfigurationData(r,u),this.lastUpdate=this.usedDefaultDataFile?new Date(0):new Date(Date.parse(n)),this.lastModified=o,this.requestTime=s}Ot.debug`RETURN: ClientConfiguration.readStorageData() -> (result: ${a.ok})`}updateClientConfiguration(t){return u(this,void 0,void 0,function*(){const e=Date.now();if(this.usedDefaultDataFile)return this.updateClientConfigurationInBackground(),s.Ok(!1);if(this.requestTime&&!t&&!this.externalPackageInfo.isServer){if(e-this.requestTime<=this.CACHE_REVALIDATE_PERIOD)return this.updateClientConfigurationInBackground(),s.Ok(!1);Ot.debug`Cached configuration data has expired. Fetching fresh data.`}const i=yield this.requester.getClientConfiguration(t,this.lastModified);return this.applyNewConfigurationDataFromResponse(i)})}updateClientConfigurationInBackground(){setTimeout(()=>u(this,void 0,void 0,function*(){const t=yield this.requester.getClientConfiguration(void 0,this.lastModified);yield this.applyNewConfigurationDataFromResponse(t)}),0)}applyNewConfigurationDataFromResponse(t){var e,i;return u(this,void 0,void 0,function*(){if(this.requestTime=Date.now(),!t.ok)return this.featureFlags.size?(Ot.error(\"Error occurred while updating configuration. Existing configuration will be used as a fallback.\"),s.Ok(!0)):t;if(void 0===t.data.configuration)return this.updateStorageData(),s.Ok(!1);const a=t.data.configuration;this.updateConfigurationData(a,!0),this.dataManager.clearTrees(),null===(e=this.mappedRules)||void 0===e||e.clear(),null===(i=this.experimentMap)||void 0===i||i.clear(),this.isTargetedDeliveryRule=null,t.data.lastModified&&(this.lastModified=t.data.lastModified);const r=this.updateStorageData();if(!r.ok)return r;const n=a.configuration.realTimeUpdate?Ut.RealTime:Ut.Polling,o=n!==this.updateType;return o&&(this.updateType=n,Ot.info`Configuration update type was toggled to ${Ut[n]}`,yield this.initialize()),s.Ok(o)})}updateConfigurationData(t,e=!0){const{configuration:i,featureFlags:a,customData:r,holdout:n,segments:o,dateModified:s}=t;let u=o?new Map(o.map(t=>[t.id.toString(),t])):null,d=null;if(e&&(null==r?void 0:r.length)){d=new Map;for(let t of r){if(void 0===t.id){d=null;break}d.set(t.id,t.index)}}const l=new Map;for(const t of a)l.set(t.featureKey,t),e&&(this.updateFeatureFlagSegments(t,u),this.updateFeatureFlagBucketingCustomDataId(t,d));this.featureFlagsData=l,(null==r?void 0:r.length)&&(this.dataManager.customDataIndexes=r),this.meGroupsData=this.makeMEGroups(a),this.holdoutData=null!=n?n:null,this.configurationData={configuration:i,customData:r,holdout:n,dateModified:s},this.urlProvider.dataApiDomain=t.configuration.dataApiDomain,this.updateConsentRequired(),this.segmentsData=u}updateFeatureFlagSegments(t,e){null!==e&&t.rules.forEach(t=>{var i;const a=t.segmentId;t.segment=null!=a&&null!==(i=e.get(a.toString()))&&void 0!==i?i:null})}updateFeatureFlagBucketingCustomDataId(t,e){const i=t.bucketingCustomDataId;null!=i&&e&&(t.bucketingCustomDataIndex=e.get(i))}makeMEGroups(t){const e=new Map;t.forEach(t=>{const i=t.mutuallyExclusiveGroup;if(i){let a=e.get(i);a?a.push(t):e.set(i,[t])}});const i=new Map;return e.forEach((t,e)=>{i.set(e,new Wt(t))}),i}updateStorageData(){this.lastUpdate=new Date;const t={data:Object.assign(Object.assign({},this.configurationData),{featureFlags:Array.from(this.featureFlags.values()),segments:this.segmentsData?Array.from(this.segmentsData.values()):void 0}),lastUpdate:this.lastUpdate.toString(),lastModified:this.lastModified,requestTime:this.requestTime};return this.storage.write(t)}updateConsentRequired(){this.visitorCodeManager.consentRequired=this.isConsentRequired&&!this.hasAnyTargetedDeliveryRule}}function Jt(t){return Object.fromEntries(Object.entries(t).map(([t,e])=>[e,t]))}var Xt,Qt,Zt,te;!function(t){t.UniqueIdentifier=\"uniqueIdentifier\",t.CustomData=\"customData\",t.PageView=\"pageView\",t.GeolocationData=\"geolocation\",t.Browser=\"browser\",t.Conversion=\"conversion\",t.Cookie=\"cookie\",t.Device=\"device\",t.OperatingSystem=\"operatingSystem\",t.UserAgent=\"userAgent\",t.ApplicationVersion=\"applicationVersion\",t.VisitsData=\"visitsData\",t.KameleoonConversionScore=\"kameleoonConversionScore\",t.Personalization=\"personalization\",t.CBScores=\"cbScores\",t.TargetedSegment=\"targetedSegment\"}(Xt||(Xt={})),function(t){t.Phone=\"PHONE\",t.Tablet=\"TABLET\",t.Desktop=\"DESKTOP\"}(Qt||(Qt={})),function(t){t.WindowsPhone=\"WINDOWS_PHONE\",t.Windows=\"WINDOWS\",t.Android=\"ANDROID\",t.Linux=\"LINUX\",t.Mac=\"MAC\",t.IOS=\"IOS\"}(Zt||(Zt={})),function(t){t.Chrome=\"CHROME\",t.InternetExplorer=\"IE\",t.Firefox=\"FIREFOX\",t.Safari=\"SAFARI\",t.Opera=\"OPERA\",t.Other=\"OTHER\"}(te||(te={}));const ee={[Zt.Windows]:0,[Zt.Mac]:1,[Zt.IOS]:2,[Zt.Linux]:3,[Zt.Android]:4,[Zt.WindowsPhone]:5},ie=Jt(ee),ae={[te.Chrome]:0,[te.InternetExplorer]:1,[te.Firefox]:2,[te.Safari]:3,[te.Opera]:4,[te.Other]:5},re=Jt(ae),ne=\"off\",oe=\"warehouseAudiences\";var se;!function(t){t.ANDROID=\"ANDROID\",t.IOS=\"IOS\",t.JAVA=\"JAVA\",t.CSHARP=\"CSHARP\",t.NODEJS=\"NODEJS\",t.PHP=\"PHP\",t.RUBY=\"RUBY\",t.GO=\"GO\",t.FLUTTER=\"FLUTTER\",t.REACT=\"REACT\",t.PYTHON=\"PYTHON\",t.JAVASCRIPT=\"JAVASCRIPT\",t.RUST=\"RUST\"}(se||(se={}));const ue={previousVisitAmount:1,currentVisit:!0,customData:!0,pageViews:!1,geolocation:!1,device:!1,browser:!1,operatingSystem:!1,conversions:!1,experiments:!1,kcs:!1,visitorCode:!0,personalization:!1};var de,le,ce,he,ge,fe,pe,ve,me,Ce,Ee,ye;!function(t){t.And=\"AND\",t.Or=\"OR\"}(de||(de={})),function(t){t.TRUE=\"TRUE\",t.FALSE=\"FALSE\",t.EXACT=\"EXACT\",t.CONTAINS=\"CONTAINS\",t.REGULAR_EXPRESSION=\"REGULAR_EXPRESSION\",t.EQUAL=\"EQUAL\",t.LOWER=\"LOWER\",t.GREATER=\"GREATER\",t.UNDEFINED=\"UNDEFINED\",t.AMONG_VALUES=\"AMONG_VALUES\",t.RANGE=\"RANGE\"}(le||(le={})),function(t){t.NEW=\"NEW\",t.RETURNING=\"RETURNING\"}(ce||(ce={})),function(t){t.ANY=\"ANY\",t.EXACT=\"EXACT\"}(he||(he={})),function(t){t.ALL=\"ALL\",t.TEST=\"TEST\",t.PERSO=\"PERSO\"}(ge||(ge={})),function(t){t.Experiment=\"EXPERIMENT\",t.Personalization=\"PERSONALIZATION\",t.Any=\"ANY\"}(fe||(fe={})),function(t){t.EXACT=\"EXACT\",t.CONTAINS=\"CONTAINS\",t.REGULAR_EXPRESSION=\"REGULAR_EXPRESSION\",t.GREATER=\"GREATER\",t.EQUAL=\"EQUAL\",t.LOWER=\"LOWER\"}(pe||(pe={})),function(t){t.GREATER=\"GREATER\",t.EQUAL=\"EQUAL\",t.LOWER=\"LOWER\"}(ve||(ve={})),function(t){t.EXACT=\"EXACT\",t.CONTAINS=\"CONTAINS\",t.REGULAR_EXPRESSION=\"REGULAR_EXPRESSION\",t.OPTIONAL=\"OPTIONAL\"}(me||(me={})),function(t){t.PAGE_URL=\"PAGE_URL\",t.PAGE_TITLE=\"PAGE_TITLE\",t.LANDING_PAGE=\"LANDING_PAGE\",t.ORIGIN=\"ORIGIN\",t.ORIGIN_TYPE=\"ORIGIN_TYPE\",t.REFERRERS=\"REFERRERS\",t.NEW_VISITORS=\"NEW_VISITORS\",t.INTERESTS=\"INTERESTS\",t.BROWSER_LANGUAGE=\"BROWSER_LANGUAGE\",t.GEOLOCATION=\"GEOLOCATION\",t.DEVICE_TYPE=\"DEVICE_TYPE\",t.SCREEN_DIMENSION=\"SCREEN_DIMENSION\",t.VISITOR_IP=\"VISITOR_IP\",t.AD_BLOCKER=\"AD_BLOCKER\",t.PREVIOUS_PAGE=\"PREVIOUS_PAGE\",t.KEY_PAGES=\"KEY_PAGES\",t.PAGE_VIEWS=\"PAGE_VIEWS\",t.FIRST_VISIT=\"FIRST_VISIT\",t.LAST_VISIT=\"LAST_VISIT\",t.ACTIVE_SESSION=\"ACTIVE_SESSION\",t.TIME_SINCE_PAGE_LOAD=\"TIME_SINCE_PAGE_LOAD\",t.SAME_DAY_VISITS=\"SAME_DAY_VISITS\",t.VISITS=\"VISITS\",t.VISITS_BY_PAGE=\"VISITS_BY_PAGE\",t.VISITOR_CODE=\"VISITOR_CODE\",t.SDK_LANGUAGE=\"SDK_LANGUAGE\",t.INTERNAL_SEARCH_KEYWORDS=\"INTERNAL_SEARCH_KEYWORDS\",t.TABS_ON_SITE=\"TABS_ON_SITE\",t.CONVERSION_PROBABILITY=\"CONVERSION_PROBABILITY\",t.HEAT_SLICE=\"HEAT_SLICE\",t.SKY_STATUS=\"SKY_STATUS\",t.TEMPERATURE=\"TEMPERATURE\",t.DAY_NIGHT=\"DAY_NIGHT\",t.FORECAST_SKY_STATUS=\"FORECAST_SKY_STATUS\",t.FORECAST_TEMPERATURE=\"FORECAST_TEMPERATURE\",t.DAY_OF_WEEK=\"DAY_OF_WEEK\",t.TIME_RANGE=\"TIME_RANGE\",t.HOUR_MINUTE_RANGE=\"HOUR_MINUTE_RANGE\",t.JS_CODE=\"JS_CODE\",t.COOKIE=\"COOKIE\",t.EVENT=\"EVENT\",t.BROWSER=\"BROWSER\",t.OPERATING_SYSTEM=\"OPERATING_SYSTEM\",t.DOM_ELEMENT=\"DOM_ELEMENT\",t.MOUSE_OUT=\"MOUSE_OUT\",t.TARGET_EXPERIMENT=\"TARGET_EXPERIMENT\",t.TARGET_FEATURE_FLAG=\"TARGET_FEATURE_FLAG\",t.TARGET_PERSONALIZATION=\"TARGET_PERSONALIZATION\",t.EXCLUSIVE_EXPERIMENT=\"EXCLUSIVE_EXPERIMENT\",t.CONVERSIONS=\"CONVERSIONS\",t.CUSTOM_DATUM=\"CUSTOM_DATUM\",t.YSANCE_SEGMENT=\"YSANCE_SEGMENT\",t.SEGMENT=\"SEGMENT\",t.YSANCE_ATTRIBUT=\"YSANCE_ATTRIBUT\",t.TEALIUM_BADGE=\"TEALIUM_BADGE\",t.TEALIUM_AUDIENCE=\"TEALIUM_AUDIENCE\",t.PRICE_OF_DISPLAYED_PAGE=\"PRICE_OF_DISPLAYED_PAGE\",t.NUMBER_OF_VISITED_PAGES=\"NUMBER_OF_VISITED_PAGES\",t.VISITED_PAGES=\"VISITED_PAGES\",t.CUSTOM=\"CUSTOM\",t.EXPLICIT_TRIGGER=\"EXPLICIT_TRIGGER\",t.APPLICATION_VERSION=\"APPLICATION_VERSION\"}(Ce||(Ce={})),function(t){t.Minute=\"MINUTE\",t.Hour=\"HOUR\",t.Day=\"DAY\",t.Week=\"WEEK\",t.Month=\"MONTH\"}(Ee||(Ee={})),function(t){t.Ascending=\"asc\",t.Descending=\"desc\"}(ye||(ye={}));const Ie=\"localhost\",De=/^(\\.?(([a-zA-Z\\d][a-zA-Z\\d-]*[a-zA-Z\\d])|[a-zA-Z\\d]))(\\.(([a-zA-Z\\d][a-zA-Z\\d-]*[a-zA-Z\\d])|[a-zA-Z\\d])){1,126}$/;class Te{static validateVersion(t){const e=t.split(\".\").map(t=>parseInt(t,10));for(;e.length<3;)e.push(0);return e.some(t=>isNaN(t))?s.Err(new c(o.SemanticVersionParse,t)):s.Ok(e.slice(0,3))}static validateDomain(t){return t?(t=Te.checkAndTrimProtocol(t.toLowerCase()),De.test(t)||t===Ie||Ot.error`The top-level domain ${t} is invalid. The value has been set as provided, but it does not meet the required format for proper SDK functionality. Please check the domain for correctness.`,s.Ok(t)):s.Err()}static validateNetworkDomain(t){return t?(t=(t=Te.checkAndTrimProtocol(t.toLowerCase())).replace(/^\\.+|\\.+$/g,\"\"),De.test(t)||t===Ie?s.Ok(t):(Ot.error`The network domain ${t} is invalid.`,s.Err())):s.Err()}static checkAndTrimProtocol(t){const e=[\"http://\",\"https://\"];for(const i of e)if(t.startsWith(i)){t=t.substring(i.length),Ot.warning`The domain contains ${i}. Domain after protocol trimming: ${t}`;break}return t}}class ke{static getNonce(t){let e=\"\";for(let i=0;i<16;i++){const i=t.getRandomNumber(),a=Math.floor(16*i);e+=\"0123456789ABCDEF\".charAt(a)}return e}static checkTargeting({segment:t,visitorCode:e,targetingData:i,experimentId:a,variationConfiguration:r,clientConfiguration:n,packageInfo:u,dataManager:d}){if(Ot.debug`CALL: checkTargeting(segment, visitorCode: ${e}, targetingData: ${i}, experimentId: ${a}, variationConfiguration, clientConfiguration, packageInfo, dataManager)`,!t||!t.conditionsData.firstLevel.length){const t=s.Ok(!0);return Ot.debug`RETURN checkTargeting(segment, visitorCode: ${e}, targetingData: ${i}, experimentId: ${a}, variationConfiguration, clientConfiguration, packageInfo, dataManager) -> (result: ${t})`,t}if(!r){const t=s.Err(new c(o.Initialization));return Ot.debug`RETURN checkTargeting(segment, visitorCode: ${e}, targetingData: ${i}, experimentId: ${a}, variationConfiguration, clientConfiguration, packageInfo, dataManager) -> (result: ${t})`,t}let l={};const h=r.getStoredVariations(e);h.ok&&(l=h.data);const g=d.getTree(t);let f,p,v;g.hasTargetingType(Ce.SEGMENT)&&(f=d.trees,v=n.segments),g.hasTargetingType(Ce.TARGET_FEATURE_FLAG)&&(p=n.ruleMap);const m=g.evaluate({variationData:l,sdkInfo:u,segments:v,ruleMap:p,trees:f,targetingData:i,experimentId:a,visitorCode:e});return Ot.debug`RETURN checkTargeting(segment, visitorCode: ${e}, targetingData: ${i}, experimentId: ${a}, variationConfiguration, clientConfiguration, packageInfo, dataManager) -> (result: ${m})`,m}static convertTimeUnit(t,e){return t/{[Ee.Minute]:Mt.Minute,[Ee.Hour]:Mt.Hour,[Ee.Day]:Mt.Day,[Ee.Week]:Mt.Week,[Ee.Month]:Mt.Month}[e]}static isCustomData(t){return t.data.type===Xt.CustomData}static updateCache({hasJsCssVariables:t,cacheManager:e,visitorCode:i,experimentId:a,variationId:r}){const n=e.getAliveItem(i),o=n?Object.assign({},n):{};o[a]={variationId:r,hasJsCssVariables:t,expirationTime:Date.now()+5*Mt.Second},e.add({key:i,data:o,lifetime:5})}static getTrackingCode(t,e){let i=\"window.kameleoonQueue=window.kameleoonQueue||[];\";const a=t.getAliveItem(e);if(!a)return i;const r={};return Object.entries(a).forEach(([t,{variationId:e,expirationTime:a,hasJsCssVariables:n}])=>{const o=!n;a>Date.now()&&(i+=`window.kameleoonQueue.push(['Experiments.assignVariation',${t},${e},true]);`,i+=`window.kameleoonQueue.push(['Experiments.trigger',${t},${o}]);`,r[Number(t)]={variationId:e,expirationTime:a,hasJsCssVariables:n})}),t.add({key:e,data:r,lifetime:5}),i}static compareSemVer({version:t,compareVersion:e,operator:i}){const a=Te.validateVersion(t),r=Te.validateVersion(e);if(!a.ok)return s.Err(a.error);if(!r.ok)return s.Err(r.error);const[n,o,u]=a.data,[d,c,h]=r.data,[g,f,p]=[n===d,o===c,u===h];switch(i){case ve.EQUAL:return s.Ok(g&&f&&p);case ve.GREATER:return s.Ok(n>d||g&&o>c||g&&f&&u>h);case ve.LOWER:return s.Ok(n<d||g&&o<c||g&&f&&u<h);default:Ot.error`Unknown version match type: ${i}`,l(i)}}static getVariationByHash(t,e){let i=0;for(const a of t)if(i+=a.exposition,i>=e)return a;return null}}class Re{static insertInOrderedListMutably({list:t,element:e,order:i}){if(t.includes(e))return;const a=t.findIndex(t=>i===ye.Ascending?t>=e:t<=e);-1===a?t.push(e):t.splice(a,0,e)}static insertVisitInOrderedListMutably({list:t,visit:e}){if(t.find(t=>\"number\"==typeof t?t===e.timeStarted:t.timeStarted===e.timeStarted))return;const i=t.findIndex(t=>\"number\"==typeof t?t>=e.timeStarted:t.timeStarted>=e.timeStarted);-1===i?t.push(e):t.splice(i,0,e),t.length>26&&t.splice(0,t.length-26)}}class Ve{constructor({urlAddress:t,title:e,referrers:i}){this.urlAddress=t,this.title=e,this.referrers=i,this.timestamps=[{time:Date.now(),status:xt.Unsent}]}get url(){var t;if(!this.urlAddress)return\"\";const e=this.title?V+encodeURIComponent(this.title):\"\",i=(null===(t=this.referrers)||void 0===t?void 0:t.length)?S+JSON.stringify(this.referrers):\"\";return y+N+encodeURIComponent(this.urlAddress)+e+i}get status(){const{[xt.Sent]:t,[xt.Unsent]:e,[xt.Pending]:i}=this.timestamps.reduce((t,{status:e})=>(t[e]=!0,t),{[xt.Sent]:!1,[xt.Unsent]:!1,[xt.Pending]:!1});return!t||e||i?i&&!e?xt.Pending:xt.Unsent:xt.Sent}set status(t){this.timestamps=this.timestamps.map(e=>Object.assign(Object.assign({},e),{status:t}))}set _nonce(t){this.nonce=t}get data(){return{urlAddress:this.urlAddress,title:this.title,referrers:this.referrers,type:Xt.PageView,timestamps:this.timestamps,status:this.status,nonce:this.nonce}}static _fromRaw(t){const{urlAddress:e,title:i,referrers:a,timestamps:r,nonce:n}=t,o=new Ve({urlAddress:e,title:i,referrers:a});return o.timestamps=r,n&&(o._nonce=n),o}static _updateFromVisit(t,e){const i=t.pageEvents;if(i)for(const t of i){let i=[];const{time:a}=t,{href:r,title:n,referrersIndices:o}=t.data;let s;if(\"number\"==typeof o[0]&&(i=o),e.has(r)){const t=e.get(r).timestamps;s=new Ve({urlAddress:r,title:n,referrers:i}),s.timestamps=[...t,{time:a,status:xt.Sent}]}else s=new Ve({urlAddress:r,title:n,referrers:i}),s.timestamps=[{time:a,status:xt.Sent}];e.set(r,s)}}}let Se=class t{constructor(t,...e){this.index=t,this.value=e,this._status=xt.Unsent,this.isIdentifier=!1}get url(){if(\"number\"!=typeof this.index)return\"\";const t=[...new Set(this.value)];let e={};t.forEach(t=>{e[t]=1});let i=\"\";return this.isIdentifier&&(i=dt+String(!0)),C+O+this.index+B+encodeURIComponent(JSON.stringify(e))+A+String(!0)+i}get data(){return{index:this.index,value:this.value,type:Xt.CustomData,isIdentifier:this.isIdentifier,status:this.status}}get status(){return this._isMappingIdentifier?xt.Unsent:this._status}static _fromRaw(e){const{index:i,value:a,status:r,isIdentifier:n}=e,o=new t(i,...a);return o.status=r,o._isMappingIdentifier=n,o}set _isMappingIdentifier(t){this.isIdentifier=t}set status(t){this._status=t}static _updateFromVisit(e,i){var a;if(null===(a=e.customDataEvents)||void 0===a?void 0:a.length)for(let a=e.customDataEvents.length-1;a>=0;a--){const{index:r,valuesCountMap:n}=e.customDataEvents[a].data;i.has(r)||i.set(r,new t(r,...Object.keys(n)))}}},we=class t{constructor({goalId:t,revenue:e=0,negative:i=!1,metadata:a}){this.goalId=t,this.revenue=e,this.negative=i,this.status=xt.Unsent,this.id=Math.floor(1e6*Math.random()),this.metadata=a}set _id(t){this.id=t}set _nonce(t){this.nonce=t}get url(){var t;return I+M+String(this.goalId)+b+String(this.revenue)+w+String(this.negative)+((null===(t=this.metadata)||void 0===t?void 0:t.length)?vt+this._encodeMetadata():\"\")}get data(){var t;return{goalId:this.goalId,nonce:this.nonce,revenue:this.revenue,negative:this.negative,type:Xt.Conversion,status:this.status,id:this.id,metadata:(null===(t=this.metadata)||void 0===t?void 0:t.map(t=>t.data))||void 0}}_encodeMetadata(){var t;if(!(null===(t=this.metadata)||void 0===t?void 0:t.length))return\"\";const e=new Set;return encodeURIComponent(JSON.stringify(this.metadata.reduce((t,i)=>(e.has(i.data.index)||(e.add(i.data.index),t[i.data.index]=i.data.value),t),{})))}static _fromRaw(e){const{goalId:i,revenue:a,negative:r,status:n,id:o,nonce:s,metadata:u}=e,d=new t({goalId:i,revenue:a,negative:r,metadata:t.parseMetadata(u)});return d._id=o,d.status=n,s&&(d._nonce=s),d}static parseMetadata(t){return(null==t?void 0:t.map(t=>Se._fromRaw(t)))||void 0}static _listFromVisit(e){var i,a;const r=[];if(!(null===(i=e.conversionEvents)||void 0===i?void 0:i.length))return[];if(null===(a=e.conversionEvents)||void 0===a?void 0:a.length)for(const i of e.conversionEvents){const{goalId:e,revenue:a,negative:n}=i.data,o=new t({goalId:e,revenue:a,negative:n});o.status=xt.Sent,r.push(o)}return r}static _updateFromVisit(e,i){var a;if(null===(a=e.conversionEvents)||void 0===a?void 0:a.length)for(const a of e.conversionEvents){const{goalId:e}=a.data;if(!i.has(e)){const a=new t({goalId:e});a.status=xt.Sent,i.set(e,a)}}}},be=class t{constructor(t,e){this.browser=t,this.version=e,this.status=xt.Unsent}get url(){if(!this.browser)return\"\";const t=this.version?F+this.version:\"\";return E+ut+this.browser+$+ae[this.browser]+t}get data(){return{browser:this.browser,type:Xt.Browser,version:this.version,status:this.status}}static _fromRaw(e){const{browser:i,version:a,status:r}=e,n=new t(i,a);return n.status=r,n}static _fromVisit(e){if(!e.staticDataEvent)return;const{browser:i,browserIndex:a,browserVersion:r}=e.staticDataEvent.data;if(i||\"number\"==typeof a){const e=null!=i?i:re[a];return r?new t(e,r):new t(e)}}},Ae=class t{constructor(t){this.device=t,this.status=xt.Unsent}get url(){return this.device?E+x+this.device:\"\"}get data(){return{device:this.device,type:Xt.Device,status:this.status}}static _fromRaw(e){const{device:i,status:a}=e,r=new t(i);return r.status=a,r}static _fromVisit(e){var i;if(null===(i=e.staticDataEvent)||void 0===i?void 0:i.data.deviceType)return new t(e.staticDataEvent.data.deviceType)}},Oe=class t{constructor(t){this.operatingSystem=t,this.status=xt.Unsent}get url(){return this.operatingSystem?E+Y+this.operatingSystem+J+ee[this.operatingSystem]:\"\"}get data(){return{operatingSystem:this.operatingSystem,type:Xt.OperatingSystem,status:this.status}}static _fromRaw(e){const{operatingSystem:i,status:a}=e,r=new t(i);return r.status=a,r}static _fromVisit(e){if(!e.staticDataEvent)return;const{os:i,osIndex:a}=e.staticDataEvent.data;if(i||\"number\"==typeof a){const e=null!=i?i:ie[a];return new t(e)}}};class $e{constructor({country:t,region:e,city:i,postalCode:a,coordinates:r}){this.country=t,this.region=e,this.city=i,this.postalCode=a,this.coordinates=r,this.status=xt.Unsent}get url(){const t=this.region?Z+encodeURIComponent(this.region):\"\",e=this.city?Q+encodeURIComponent(this.city):\"\",i=this.postalCode?it+encodeURIComponent(this.postalCode):\"\",a=this.coordinates?tt+this.coordinates[0]+et+this.coordinates[1]:\"\";return k+X+encodeURIComponent(this.country)+t+e+i+a}get data(){return{type:Xt.GeolocationData,country:this.country,region:this.region,city:this.city,postalCode:this.postalCode,coordinates:this.coordinates,status:this.status}}static _fromRaw(t){const{country:e,region:i,city:a,postalCode:r,coordinates:n,status:o}=t,s=new $e({country:e,region:i,city:a,postalCode:r,coordinates:n});return s.status=o,s}static _fromVisit(t){var e;if(!(null===(e=t.geolocationEvents)||void 0===e?void 0:e.length))return;let i;for(const e of t.geolocationEvents){const{data:t}=e;t.country&&(i=t)}const{country:a,region:r,city:n}=i||{};return a?new $e(r&&n?{country:a,region:r,city:n}:r?{country:a,region:r}:{country:a}):void 0}}class Fe{constructor(t){this.status=xt.Sent,this.visits=t,this.visitNumber=t.length?t.length-1:0}get url(){return\"\"}get data(){return{visits:this.visits,visitNumber:this.visitNumber,type:Xt.VisitsData,status:this.status}}get isSent(){return!0}set timestamp(t){Re.insertVisitInOrderedListMutably({list:this.visits,visit:t}),this.visitNumber=this.visits.length?this.visits.length-1:0}updateVisitNumber(t){t>this.visitNumber&&(this.visitNumber=t)}}class Ne{constructor(t){this.kcs=t,this.status=xt.Sent}get url(){return\"\"}get data(){return{kcs:this.kcs,type:Xt.KameleoonConversionScore,status:this.status}}}class xe{constructor(t,e){this.id=t,this.variationId=e,this.status=xt.Sent}get url(){return\"\"}get data(){return{id:this.id,variationId:this.variationId,type:Xt.Personalization,status:xt.Sent}}static _fromRaw(t){return new xe(t.id,t.variationId)}static _updateFromVisit(t,e){var i;if(null===(i=t.personalizationEvents)||void 0===i?void 0:i.length)for(const i of t.personalizationEvents){const{id:t,variationId:a}=i.data;if(!e.has(t)){const i=new xe(t,a);e.set(t,i)}}}}class Me{constructor(t){this.values=new Map(Object.entries(t).map(([t,e])=>[Number(t),this.extractVarIds(e)])),this.cbs=t,this.status=xt.Sent}extractVarIds(t){const e=new Map;return Object.entries(t).forEach(([t,i])=>{e.has(i)||e.set(i,[]),e.get(i).push(Number(t))}),Array.from(e.entries()).sort(([t],[e])=>e-t).map(([,t])=>({ids:t.sort((t,e)=>t-e)}))}getValues(){return this.values}get url(){return\"\"}get data(){return{cbs:this.cbs,type:Xt.CBScores,status:this.status}}static _fromRaw(t){const e=new Me(t.cbs);return e.status=t.status,e}}class Ue{constructor({filters:t,dataManager:e,visitorCode:i}){this.visitsData=new Fe([]),this.visitorData=[],this.storageVisitorData=[],this.experimentData={},this.singleDataTypes={[Xt.Device]:null,[Xt.Browser]:null,[Xt.GeolocationData]:null,[Xt.OperatingSystem]:null,[Xt.KameleoonConversionScore]:null,[Xt.CBScores]:null},this.multipleDataTypes={[Xt.CustomData]:new Map,[Xt.PageView]:new Map,[Xt.Conversion]:new Map,[Xt.Personalization]:new Map},this.filters=t,this.dataManager=e,this.visitorDataTypes=e.getVisitorStoredDataTypes(i)}get data(){return{visitorData:this.visitorData,storageVisitorData:this.storageVisitorData,visitsData:this.visitsData,experimentData:this.experimentData}}processVisit(t){this.processBrowser(t),this.processDevice(t),this.processOperatingSystem(t),this.processGeolocationData(t),this.processCustomData(t),this.processConversion(t),this.processPageView(t),this.processExperiments(t),this.processPersonalization(t)}processMultipleDataTypes(){for(const[t,e]of Object.entries(this.multipleDataTypes))if(e.size)switch(t){case Xt.PageView:this.visitorData.push(...e.values()),this.storageVisitorData.push(...e.values());break;case Xt.Personalization:case Xt.Conversion:this.storageVisitorData.push(...e.values());break;case Xt.CustomData:e.forEach(t=>{this.visitorData.push(t),this.dataManager.storedCustomDataIndexes.has(t.data.index)||this.storageVisitorData.push(t)});break}}processKcs(t){if(this.filters.kcs&&t){const e=new Ne(t);this.storageVisitorData.push(e)}}processVisitsData(t){var e;this.visitsData.timestamp={timeStarted:t.timeStarted,timeLastActivity:null!==(e=t.timeLastEvent)&&void 0!==e?e:t.timeStarted}}processVisitNumber(t,e){if(t.staticDataEvent){const i=t.staticDataEvent.data.visitNumber+(e?0:1);this.visitsData.updateVisitNumber(i)}}processCbs(t){if(this.filters.cbs&&t){const e=new Me(t);this.storageVisitorData.push(e)}}processBrowser(t){if(this.filters.browser&&!this.singleDataTypes[Xt.Browser]){const e=be._fromVisit(t);e&&(this.visitorDataTypes.has(Xt.Browser)||this.storageVisitorData.push(e),this.visitorData.push(e),this.singleDataTypes[Xt.Browser]=e)}}processDevice(t){if(this.filters.device&&!this.singleDataTypes[Xt.Device]){const e=Ae._fromVisit(t);e&&(this.visitorDataTypes.has(Xt.Device)||this.storageVisitorData.push(e),this.visitorData.push(e),this.singleDataTypes[Xt.Device]=e)}}processOperatingSystem(t){if(this.filters.operatingSystem&&!this.singleDataTypes[Xt.OperatingSystem]){const e=Oe._fromVisit(t);e&&(this.visitorDataTypes.has(Xt.OperatingSystem)||this.storageVisitorData.push(e),this.visitorData.push(e),this.singleDataTypes[Xt.OperatingSystem]=e)}}processGeolocationData(t){if(this.filters.geolocation&&!this.singleDataTypes[Xt.GeolocationData]){const e=$e._fromVisit(t);e&&(this.visitorDataTypes.has(Xt.GeolocationData)||this.storageVisitorData.push(e),this.visitorData.push(e),this.singleDataTypes[Xt.GeolocationData]=e)}}processCustomData(t){this.filters.customData&&Se._updateFromVisit(t,this.multipleDataTypes[Xt.CustomData])}processConversion(t){if(this.filters.conversions){we._updateFromVisit(t,this.multipleDataTypes[Xt.Conversion]);const e=we._listFromVisit(t);e.length&&this.visitorData.push(...e)}}processPageView(t){this.filters.pageViews&&Ve._updateFromVisit(t,this.multipleDataTypes[Xt.PageView])}processExperiments(t){if(this.filters.experiments&&t.experimentEvents)for(const e of t.experimentEvents){const{id:t,variationId:i}=e.data;this.experimentData[t]={variationId:i,isTargetedRule:!1,status:xt.Unsent}}}processPersonalization(t){this.filters.personalization&&xe._updateFromVisit(t,this.multipleDataTypes[Xt.Personalization])}processMappingIdentifier(t){var e,i;if(!t)return;const a=null===(i=null===(e=t.customDataEvents)||void 0===e?void 0:e.find(t=>t.data.mappingIdentifier))||void 0===i?void 0:i.time;return a&&t.visitorCode?{mappingIdentifier:t.visitorCode,timestamp:a}:void 0}}class _e{static parseFeatureVariable(t){const{key:e,type:i,value:a}=t;switch(i){case Nt.BOOLEAN:return s.Ok({key:e,type:i,value:Boolean(a)});case Nt.JS:case Nt.CSS:case Nt.STRING:return s.Ok({key:e,type:i,value:String(a)});case Nt.NUMBER:const r=Number(a);return Number.isNaN(r)?s.Err(new c(o.NumberParse,String(a))):s.Ok({key:e,type:i,value:r});case Nt.JSON:try{const a=JSON.parse(String(t.value));return s.Ok({key:e,type:i,value:a})}catch(t){return s.Err(new c(o.JSONParse,t))}default:l(i)}}static parseVisitorData({data:t,filters:e,visitorCode:i,dataManager:a,variationConfiguration:r}){const n=new Ue({filters:e,dataManager:a,visitorCode:i}),{currentVisit:o,previousVisits:s,kcs:u,cbs:d}=t;if(!(null==s?void 0:s.length)&&!o)return{visitorData:[],storageVisitorData:[],visitsData:new Fe([])};o&&(n.processVisit(o),n.processVisitNumber(o,!0)),null==s||s.forEach(t=>{n.processVisit(t),n.processVisitsData(t),n.processVisitNumber(t,!1)}),n.processKcs(u),n.processCbs(d),n.processMultipleDataTypes();const l=n.processMappingIdentifier(null!=o?o:null==s?void 0:s[0]),{visitorData:c,storageVisitorData:h,visitsData:g,experimentData:f}=n.data;return r.updateStoredVariations(i,f),{visitorData:c,storageVisitorData:h,visitsData:g,mappingIdentifier:l}}static parseRegExp(t){if(\"/\"===t[0]){const[e,i,a]=t.split(\"/\");return new RegExp(i,a)}return new RegExp(t)}static parseSecret(t){if(null===t)return\"null\";const e=t.length;if(e<=4)return\"*\".repeat(e);const i=Math.max(e-4,4);return t.substring(0,e-i)+\"*\".repeat(i)}}class Le{constructor(t,e){Ot.debug`CALL: new ClientSettings(siteCode: ${t}, configuration: ${e})`,this.siteCode=t,this.environment=this.getEnvironment(e),this.networkDomain=this.getNetworkDomain(e),this.updateInterval=this.getUpdateInterval(e),this.cleanupInterval=this.getCleanupInterval(e),this.requestTimeout=this.getRequestTimeout(e),this.trackingInterval=this.getTrackingInterval(e),this.trackRetryDelay=5*Mt.Second,Ot.debug`RETURN: new ClientSettings(siteCode: ${t}, configuration: ${e})`}getTrackingInterval(t){return\"number\"==typeof(null==t?void 0:t.trackingInterval)?t.trackingInterval<100?(Ot.warning(\"Tracking interval must not be shorter than 100 ms. Minimum possible interval was applied.\"),100):t.trackingInterval>1e3?(Ot.warning(\"Tracking interval must not be longer than 1000 ms. Maximum possible interval was applied.\"),1e3):t.trackingInterval:1e3}getEnvironment(t){return(null==t?void 0:t.environment)?t.environment:Ft.Production}getCleanupInterval(t){return\"number\"==typeof(null==t?void 0:t.targetingDataCleanupInterval)?t.targetingDataCleanupInterval<1?(Ot.warning(\"Targeting data cleanup interval must not be shorter than 1 minute. Minimum possible interval was applied.\"),1*Mt.Minute):t.targetingDataCleanupInterval*Mt.Minute:null}getUpdateInterval(t){return\"number\"==typeof(null==t?void 0:t.updateInterval)?t.updateInterval<1?(Ot.warning(\"Update interval must not be shorter than 1 minute. Minimum possible interval was applied.\"),1*Mt.Minute):t.updateInterval*Mt.Minute:60*Mt.Minute}getNetworkDomain(t){const e=Te.validateNetworkDomain(null==t?void 0:t.networkDomain);return e.ok?e.data:null}getRequestTimeout(t){return\"number\"==typeof(null==t?void 0:t.requestTimeout)?t.requestTimeout:10*Mt.Second}get settings(){return{trackingInterval:this.trackingInterval,trackRetryDelay:this.trackRetryDelay,cleanupInterval:this.cleanupInterval,updateInterval:this.updateInterval,requestTimeout:this.requestTimeout,networkDomain:this.networkDomain,environment:this.environment,siteCode:this.siteCode}}}let Pe=class t{constructor(t){this.cookie=t,this.status=xt.Sent}static fromString(e){if(!e)throw new c(o.CookieParse,\"Cookie string can't be empty\");const i=e.split(\";\").map(t=>{const[e,i]=t.trim().split(\"=\");if(!e||!i)throw new c(o.CookieParse,\"Cookie string is not valid\");return{key:e,value:i}});return new t(i)}get url(){return\"\"}get data(){return{cookie:this.cookie,type:Xt.Cookie,status:this.status}}};class Ke{constructor(t){this.value=t,this.status=xt.Sent}get url(){return\"\"}get data(){return{value:this.value,type:Xt.UserAgent,status:this.status}}}class Ge{constructor(t){this._value=t,this.status=xt.Sent}get url(){return\"\"}get data(){return{value:this._value,type:Xt.UniqueIdentifier,status:xt.Sent}}static _fromRaw(t){return new Ge(t.value)}}let Be=class{constructor(t){this.version=t,this.status=xt.Sent}get url(){return\"\"}get data(){return{version:this.version,type:Xt.ApplicationVersion,status:this.status}}};class ze{constructor(t=null,e){this.cleanupInterval=t,this.packageInfo=e}mutUpdateData({infoData:t,visitorCode:e,mutData:i,dataItem:a}){let{visitorReference:r,data:n,isReference:o}=this.dereferenceData(i,e);this.packageInfo.isServer&&o&&!i[r]&&(t.mappingIdentifiers&&delete t.mappingIdentifiers[e],delete i[e],r=e);const s=this.cleanupInterval?Date.now()+this.cleanupInterval:0;switch(a.data.type){case Xt.CustomData:this.updateCustomData({expirationTime:s,customData:a,visitorCode:r,mutData:n});break;case Xt.PageView:this.updatePageView({expirationTime:s,pageView:a,visitorCode:r,mutData:n});break;case Xt.Conversion:this.updateConversion({expirationTime:s,conversion:a,visitorCode:r,mutData:n});break;case Xt.VisitsData:this.updateVisitsData({expirationTime:s,visitsData:a,visitorCode:r,mutData:n});break;case Xt.Personalization:this.updatePersonalization({expirationTime:s,personalization:a,visitorCode:r,mutData:n});break;case Xt.TargetedSegment:this.updateTargetedSegment({expirationTime:s,targetedSegment:a,visitorCode:r,mutData:n});break;default:this.updateCommonData({expirationTime:s,commonData:a,visitorCode:r,mutData:n})}return s}mutCleanupData(t,e){var i;if(!this.cleanupInterval)return null;let a=0;for(const[r,n]of Object.entries(t)){if(\"string\"==typeof n){this.removeReference({mutData:t,visitorCode:r,linkedVisitor:n,infoData:e});continue}let o=0;for(const t of Object.keys(n)){const e=t;let i;switch(e){case Xt.CustomData:case Xt.PageView:case Xt.Conversion:case Xt.Personalization:i=this.deleteNestedExpiredField(n,e);break;default:i=this.deleteExpiredField(n,e)}(!o||i&&i<o)&&(o=i)}Object.keys(t[r]).length?(!a||o&&o<a)&&(a=o):(delete t[r],this.packageInfo.isServer&&(null!==(i=e.mappingIdentifiers)&&void 0!==i||(e.mappingIdentifiers={}),delete e.mappingIdentifiers[r]))}return a}mutAddUnsentData({mutData:t,visitorCode:e,dataType:i}){const a=t.unsentData[e];if(a&&a.length){const r=new Set([...a]);r.add(i),t.unsentData[e]=Array.from(r)}else t.unsentData[e]=[i]}createReference({mutData:t,visitorCode:e,linkedVisitor:i}){t[i]=e}removeReference({mutData:t,visitorCode:e,linkedVisitor:i,infoData:a}){this.packageInfo.isServer&&(t[i]||(delete t[e],a.mappingIdentifiers&&delete a.mappingIdentifiers[e]))}updatePageView({visitorCode:t,mutData:e,pageView:i,expirationTime:a}){const{data:r}=i,n=e[t]&&Xt.PageView in e[t]&&r.urlAddress in e[t][Xt.PageView],o={expirationTime:a,visitorCode:t,data:e,key:Xt.PageView,nestedKey:r.urlAddress,value:r};if(n){const i=e[t][Xt.PageView][r.urlAddress].timestamps;for(const t of i){const{time:e}=t;if(r.timestamps.some(({time:t})=>t===e))continue;const i=r.timestamps.findIndex(({time:t})=>t>=e);-1===i?r.timestamps.push(t):r.timestamps.splice(i,0,t)}this.updateNestedField(o)}else this.createNestedField(o)}updateCustomData({visitorCode:t,customData:e,mutData:i,expirationTime:a}){const{data:r}=e,n=i[t]&&Xt.CustomData in i[t],o={expirationTime:a,visitorCode:t,data:i,key:Xt.CustomData,nestedKey:r.index.toString(),value:r};n?this.updateNestedField(o):this.createNestedField(o)}updateConversion({conversion:t,mutData:e,visitorCode:i,expirationTime:a}){const{data:r}=t,n=e[i]&&Xt.Conversion in e[i],o={expirationTime:a,visitorCode:i,data:e,key:Xt.Conversion,nestedKey:r.id.toString(),value:r};n?this.updateNestedField(o):this.createNestedField(o)}updateVisitsData({visitorCode:t,mutData:e,visitsData:i,expirationTime:a}){var r,n;const{data:o}=i,s=e[t]&&Xt.VisitsData in e[t],u={expirationTime:a,data:e,key:Xt.VisitsData,value:o,visitorCode:t};if(s){const i=e[t][Xt.VisitsData];i.visits.forEach(t=>{Re.insertVisitInOrderedListMutably({list:o.visits,visit:t})});const a=Math.max(null!==(r=o.visitNumber)&&void 0!==r?r:o.visits.length-1,o.visits.length-1,null!==(n=i.visitNumber)&&void 0!==n?n:0);this.updateField(Object.assign(Object.assign({},u),{value:Object.assign(Object.assign({},o),{visits:o.visits,visitNumber:a})}))}else this.createField(u)}updatePersonalization({visitorCode:t,mutData:e,personalization:i,expirationTime:a}){const{data:r}=i,n=e[t]&&Xt.Personalization in e[t],o={expirationTime:a,visitorCode:t,data:e,key:Xt.Personalization,nestedKey:r.id.toString(),value:r};n?this.updateNestedField(o):this.createNestedField(o)}updateTargetedSegment({visitorCode:t,mutData:e,targetedSegment:i,expirationTime:a}){const{data:r}=i,n=e[t]&&Xt.TargetedSegment in e[t],o={expirationTime:a,visitorCode:t,data:e,key:Xt.TargetedSegment,nestedKey:r.id.toString(),value:r};n?this.updateNestedField(o):this.createNestedField(o)}updateCommonData({visitorCode:t,mutData:e,commonData:i,expirationTime:a}){const{data:r}=i,n=e[t]&&r.type in e[t],o={expirationTime:a,data:e,key:r.type,visitorCode:t,value:r};n?this.updateField(o):this.createField(o)}dereferenceData(t,e){return\"string\"==typeof t[e]?{visitorReference:t[e],data:t,isReference:!0}:{visitorReference:e,data:t,isReference:!1}}deleteExpiredField(t,e){if(!t)return 0;const i=e;return t[i].expirationTime<Date.now()?(delete t[i],0):t[i].expirationTime}deleteNestedExpiredField(t,e){if(!t[e])return 0;const i=t[e];let a;for(const[t,e]of Object.entries(i)){if(!e)continue;e.expirationTime<Date.now()?delete i[t]:(!a||e.expirationTime<a)&&(a=e.expirationTime)}return Object.keys(i).length||delete t[e],a}updateField({key:t,value:e,data:i,visitorCode:a,expirationTime:r}){i[a][t]=Object.assign(Object.assign({},e),{expirationTime:r})}createField({key:t,value:e,data:i,visitorCode:a,expirationTime:r}){i[a]=Object.assign(Object.assign({},i[a]),{[t]:Object.assign(Object.assign({},e),{expirationTime:r})})}updateNestedField({key:t,nestedKey:e,value:i,data:a,visitorCode:r,expirationTime:n}){a[r][t][e]=Object.assign(Object.assign({},i),{expirationTime:n})}createNestedField({key:t,nestedKey:e,value:i,data:a,visitorCode:r,expirationTime:n}){var o;(null===(o=a[r])||void 0===o?void 0:o[t])?a[r]=Object.assign(Object.assign({},a[r]),{[t]:Object.assign(Object.assign({},a[r][t]),{[e]:Object.assign(Object.assign({},i),{expirationTime:n})})}):a[r]=Object.assign(Object.assign({},a[r]),{[t]:{[e]:Object.assign(Object.assign({},i),{expirationTime:n})}})}}class qe{constructor({browserType:t,visitNumber:e,timeSincePreviousVisit:i,os:a,deviceType:r,browserVersion:n}){this.browserType=t,this.visitNumber=e,this.timeSincePreviousVisit=i,this.os=a,this.deviceType=r,this.browserVersion=n}get url(){const t=this.browserVersion?F+this.browserVersion:\"\",e=this.browserType?ut+this.browserType:\"\",i=this.browserType?$+ae[this.browserType]:\"\",a=this.os?Y+this.os:\"\",r=this.os?J+ee[this.os]:\"\",n=this.deviceType?x+this.deviceType:\"\",o=void 0!==this.visitNumber?mt+this.visitNumber:\"\",s=void 0!==this.timeSincePreviousVisit?Ct+this.timeSincePreviousVisit:\"\";return E+e+i+t+o+s+a+r+n}}class je{static setConditionFactoryInstance(t){this.conditionFactoryInstance=t}static createCondition(t){return this.conditionFactoryInstance.createCondition(t)}}class He{constructor(t,e,i){var a;if(this.inverseResult=!1,this.isOperator(t))this.nodeValue=t;else{const e=je.createCondition(t);this.inverseResult=!(null===(a=t.isInclude)||void 0===a||a),e.ok?this.nodeValue=e.data:this.nodeError=e.error}this.leftChild=e,this.rightChild=i}get value(){return this.nodeValue}get error(){return this.nodeError}get left(){return this.leftChild}get right(){return this.rightChild}get inverse(){return this.inverseResult}isOperator(t){return t===de.And||t===de.Or}}class We{constructor(t){this.error=null,this.targetingTypes=new Set,Ot.debug`CALL: new Tree(segment: ${t})`;const{nestedConditions:e,topLevelOperators:i}=this.flattenSegment(t),a=e.map(({conditions:t,operators:e})=>{const i=t.map(t=>(this.targetingTypes.add(t.targetingType),new He(t)));return this.buildTree(i,e)});this.tree=this.buildTree(a,i),Ot.debug`RETURN: new Tree(segment: ${t})`}evaluate(t){const e=this.evaluateNode(this.tree,t);return this.error?s.Err(this.error):s.Ok(e)}hasTargetingType(t){return this.targetingTypes.has(t)}evaluateNode(t,e){if(this.isLeafNode(t)){if(t.error)return t.error.type===o.TargetingCondition;const i=t.value.evaluate(e);return i.ok?t.inverse?!i.data:i.data:(this.error=i.error,!1)}if(this.isNonLeafNode(t))switch(t.value){case de.And:return this.evaluateNode(t.left,e)&&this.evaluateNode(t.right,e);case de.Or:return this.evaluateNode(t.left,e)||this.evaluateNode(t.right,e)}return!1}isLeafNode(t){return!Boolean(t.left&&t.right)}isNonLeafNode(t){return Boolean(t.left&&t.right&&(t.value===de.Or||t.value===de.And))}buildTree(t,e){if(1===t.length)return t[0];for(const i of e){const e=t.shift(),a=t.shift(),r=new He(i,e,a);t.unshift(r)}return t[0]}flattenSegment(t){const{firstLevel:e,firstLevelOrOperators:i}=t.conditionsData,a=[];return e.forEach(t=>{const{conditions:e,orOperators:i}=t,r={operators:this.convertOperators(i),conditions:e};a.push(r)}),{topLevelOperators:this.convertOperators(i),nestedConditions:a}}convertOperators(t){return t.map(t=>t?de.Or:de.And)}}class Ye{constructor({device:t}){this.device=t}evaluate({targetingData:t}){const e=null==t?void 0:t[Xt.Device];if(e){const{device:t}=e;return s.Ok(t===this.device)}return s.Ok(!1)}}class Je{constructor({browser:t,version:e,versionMatchType:i}){this.browser=t,this.version=e,this.versionMatchType=i}evaluate({targetingData:t}){const e=null==t?void 0:t[Xt.Browser];if(e){const t=this.checkCondition(e);return this.error?s.Err(this.error):s.Ok(t)}return s.Ok(!1)}checkCondition(t){const{browser:e,version:i}=t;if(\"string\"!=typeof this.browser)return!1;if(!this.version)return e===this.browser;if(!this.versionMatchType||\"number\"!=typeof i)return!1;const a=parseFloat(this.version);switch(isNaN(a)&&(Ot.error`Failed to parse version: ${this.version} in Browser condition`,this.error=new c(o.VersionParse,this.version)),this.versionMatchType){case ve.EQUAL:return e===this.browser&&i===a;case ve.GREATER:return e===this.browser&&i>a;case ve.LOWER:return e===this.browser&&i<a;default:Ot.error`Unexpected comparing operation for Browser condition: ${this.versionMatchType}`,l(this.versionMatchType)}}}class Xe{constructor({goalId:t}){this.conditionValue=t}evaluate({targetingData:t}){const e=null==t?void 0:t[Xt.Conversion];if(!this.conditionValue)return s.Ok(!1);if(e){if(Object.keys(e).length&&-1===this.conditionValue)return s.Ok(!0);const t=Object.values(e);return s.Ok(t.some(t=>!!t&&t.goalId===this.conditionValue))}return s.Ok(!1)}}class Qe{constructor({customDataIndex:t,valueMatchType:e,value:i,range:a}){this.customDataIndex=t?Number(t):-1,this.matchType=e,this.conditionValue=i,this.range=a}evaluate({targetingData:t}){var e;const i=null===(e=null==t?void 0:t[Xt.CustomData])||void 0===e?void 0:e[this.customDataIndex];if(this.matchType===le.UNDEFINED)return s.Ok(!i);if(i){const{value:t}=i,e=this.checkCondition(t);return this.error?s.Err(this.error):s.Ok(e)}return s.Ok(!1)}checkCondition(t){if(\"string\"!=typeof this.conditionValue&&this.matchType!==le.TRUE&&this.matchType!==le.FALSE&&this.matchType!==le.RANGE)return Ot.error`Unexpected condition value for CustomData condition: ${this.conditionValue}`,!1;const e=this.conditionValue;if(this.matchType===le.AMONG_VALUES){const i=this.parseArray(e);if(!i.ok)return this.error=i.error,!1;const a=new Set(i.data);return Array.isArray(t)?t.some(t=>a.has(t)):i.data.includes(t)}if(this.matchType===le.RANGE){const e=this.parseRange(this.range);if(!e.ok)return this.error=e.error,!1;const[i,a]=e.data,r=t=>t>=i&&t<=a;return Array.isArray(t)?t.some(t=>r(Number(t))):r(Number(t))}if(Array.isArray(t))return t.some(t=>this.checkCondition(t));switch(this.matchType){case le.CONTAINS:return t.includes(e);case le.EXACT:return t===this.conditionValue;case le.REGULAR_EXPRESSION:return _e.parseRegExp(e).test(t);case le.LOWER:return Number(t)<Number(this.conditionValue);case le.EQUAL:return Number(t)===Number(this.conditionValue);case le.GREATER:return Number(t)>Number(this.conditionValue);case le.TRUE:return\"true\"===t.toLowerCase();case le.FALSE:return\"false\"===t.toLowerCase();default:return Ot.error`Unexpected comparing operation for CustomData condition: ${this.matchType}`,!1}}parseArray(t){try{const e=JSON.parse(t);if(Array.isArray(e))return s.Ok(e)}catch(e){return Ot.error`Failed to parse array: ${t} in CustomData condition`,s.Err(new c(o.AmongValuesCheck,e,t))}return s.Ok([])}parseRange(t){return t&&2===t.length?s.Ok(t):(Ot.error`Failed to parse range: ${t} in CustomData condition`,s.Err(new c(o.RangeCheck,t)))}}class Ze{static getLatest(t){return Object.values(t).reduce((t,e)=>t.timestamps[t.timestamps.length-1].time>e.timestamps[e.timestamps.length-1].time?t:e)}}class ti{constructor({matchType:t,title:e}){this.matchType=t,this.conditionValue=e}evaluate({targetingData:t}){const e=null==t?void 0:t[Xt.PageView];if(!e)return s.Ok(!1);const i=Ze.getLatest(e);return s.Ok(this.checkCondition(i.title))}checkCondition(t){if(!this.matchType||!this.conditionValue)return!1;switch(this.matchType){case pe.CONTAINS:return t.includes(this.conditionValue);case pe.EXACT:return t===this.conditionValue;case pe.REGULAR_EXPRESSION:return _e.parseRegExp(this.conditionValue).test(t);default:return Ot.error`Unexpected comparing operation for PageTitle condition: ${this.matchType}`,!1}}}class ei{constructor({matchType:t,url:e}){this.matchType=t,this.conditionValue=e}evaluate({targetingData:t}){const e=null==t?void 0:t[Xt.PageView];if(!e)return s.Ok(!1);const i=Ze.getLatest(e);return s.Ok(this.checkCondition(i.urlAddress))}checkCondition(t){if(!this.matchType||!this.conditionValue)return!1;switch(this.matchType){case pe.CONTAINS:return t.includes(this.conditionValue);case pe.EXACT:return t===this.conditionValue;case pe.REGULAR_EXPRESSION:return _e.parseRegExp(this.conditionValue).test(t);default:return Ot.error`Unexpected comparing operation for PageUrl condition: ${this.matchType}`,!1}}}class ii{constructor({sdkLanguage:t,version:e,versionMatchType:i}){this.sdkLanguage=t,this.conditionValue=e,this.versionMatchType=i}evaluate({sdkInfo:t}){return this.checkCondition(t)}checkCondition(t){const{type:e,version:i}=t;if(!this.sdkLanguage)return s.Ok(!1);if(\"string\"!=typeof this.conditionValue)return s.Ok(e===this.sdkLanguage);if(!this.versionMatchType)return s.Ok(!1);const a=ke.compareSemVer({version:i,compareVersion:this.conditionValue,operator:this.versionMatchType});return a.ok?s.Ok(e===this.sdkLanguage&&a.data):s.Err(a.error)}}class ai{constructor({visitorCode:t,matchType:e}){this.matchType=e,this.conditionValue=t}evaluate({visitorCode:t}){return s.Ok(this.checkCondition(t))}checkCondition(t){if(!this.matchType||!this.conditionValue)return!1;switch(this.matchType){case pe.CONTAINS:return t.includes(this.conditionValue);case pe.EXACT:return t===this.conditionValue;case pe.REGULAR_EXPRESSION:return _e.parseRegExp(this.conditionValue).test(t);default:return Ot.error`Unexpected comparing operation for VisitorCode condition: ${this.matchType}`,!1}}}class ri{constructor({name:t,value:e,nameMatchType:i,valueMatchType:a}){this.cookie={key:null!=t?t:void 0,value:null!=e?e:void 0},this.keyMatchType=i,this.valueMatchType=a}evaluate({targetingData:t}){var e;const i=!this.cookie.key&&!this.cookie.value,a=Boolean(this.valueMatchType)&&Boolean(this.keyMatchType);if(i||!a)return s.Ok(!1);const r=this.extractCookie(),n=(null===(e=null==t?void 0:t[Xt.Cookie])||void 0===e?void 0:e.cookie)||[];return s.Ok(r.some(t=>this.checkCondition(t))||n.some(t=>this.checkCondition(t)))}extractCookie(){return\"undefined\"!=typeof document&&document.cookie?Pe.fromString(document.cookie).data.cookie:[]}checkCondition(t){const e=this.keyMatchType,{key:i,value:a}=t;if(e===me.OPTIONAL){const t=this.cookie;return!!this.isOptionalCookie(t)&&this.compareCookieValue(a,t.value)}const{key:r,value:n}=this.cookie;let o;switch(e){case me.EXACT:o=i===r;break;case me.CONTAINS:o=i.includes(r);break;case me.REGULAR_EXPRESSION:o=_e.parseRegExp(r).test(i);break;default:Ot.error`Unexpected comparing operation for Cookie condition: ${e}`,l(e)}return o&&this.compareCookieValue(a,n)}compareCookieValue(t,e){const i=this.valueMatchType;switch(i){case le.EXACT:return t===e;case le.CONTAINS:return t.includes(e);case le.REGULAR_EXPRESSION:return _e.parseRegExp(e).test(t);default:return Ot.error`Unexpected comparing operation for Cookie condition: ${i}`,!1}}isOptionalCookie(t){const{value:e}=t;return void 0!==e}}class ni{constructor({os:t}){this.operatingSystem=t}evaluate({targetingData:t}){const e=null==t?void 0:t[Xt.OperatingSystem];if(e){const{operatingSystem:t}=e;return s.Ok(t===this.operatingSystem)}return s.Ok(!1)}}class oi{constructor({country:t,region:e,city:i}){this.country=t,this.region=e,this.city=i}evaluate({targetingData:t}){const e=null==t?void 0:t[Xt.GeolocationData];if(e){const{country:t,region:i,city:a}=e,[r,n,o]=[this.country,this.region,this.city];if(!r||!t)return s.Ok(!1);const u=!(t.toLowerCase()!==r.toLowerCase()||n&&(null==i?void 0:i.toLowerCase())!==n.toLowerCase()||o&&(null==a?void 0:a.toLowerCase())!==o.toLowerCase());return s.Ok(u)}return s.Ok(!1)}}class si{constructor({segmentId:t}){this.segmentId=t}evaluate(t){const{segments:e,trees:i}=t;if(!this.segmentId)return s.Ok(!1);const a=null==e?void 0:e.get(this.segmentId.toString());if(!a)return s.Ok(!1);const r=null==i?void 0:i.get(this.segmentId.toString());return r?r.evaluate(t):new We(a).evaluate(t)}}class ui{constructor({featureFlagId:t,variationKey:e,ruleId:i}){this.featureId=t,this.ruleId=i,this.variationKey=e}evaluate({variationData:t,ruleMap:e}){var i,a,r,n;if(!this.featureId||!e)return s.Ok(!1);if(this.featureId&&!this.ruleId&&!this.variationKey){for(const[a,r]of e){const{featureId:e,experimentId:a}=r;if(e===this.featureId&&\"number\"==typeof(null===(i=t[a])||void 0===i?void 0:i.variationId))return s.Ok(!0)}return s.Ok(!1)}if(this.featureId&&this.ruleId){const i=e.get(this.ruleId);if(!i)return s.Ok(!1);const{experimentId:n,variations:o}=i;if(this.variationKey){const e=o.get(this.variationKey);return s.Ok(Boolean(e)&&(null===(a=t[n])||void 0===a?void 0:a.variationId)===e)}return s.Ok(Boolean(null===(r=t[i.experimentId])||void 0===r?void 0:r.variationId))}if(this.featureId&&!this.ruleId&&this.variationKey)for(const[i,a]of e){const{featureId:e,experimentId:i,variations:r}=a;if(e===this.featureId&&r.has(this.variationKey)){const e=r.get(this.variationKey);return s.Ok(Boolean(e)&&(null===(n=t[i])||void 0===n?void 0:n.variationId)===e)}}return s.Ok(!1)}}class di{constructor({matchType:t,url:e}){this.conditionValue=e,this.matchType=t}evaluate({targetingData:t}){const e=null==t?void 0:t[Xt.PageView];if(!e)return s.Ok(!1);const i=this.getSecondLatestPageView(Object.values(e));if(!i)return s.Ok(!1);const a=i.urlAddress;return s.Ok(this.checkCondition(a))}checkCondition(t){if(!this.matchType||!this.conditionValue)return!1;switch(this.matchType){case pe.CONTAINS:return t.includes(this.conditionValue);case pe.EXACT:return t===this.conditionValue;case pe.REGULAR_EXPRESSION:return _e.parseRegExp(this.conditionValue).test(t);default:return Ot.error`Unexpected comparing operation for PreviousPage condition: ${this.matchType}`,!1}}getSecondLatestPageView(t){if(t.length<2)return;let e,i;return t.forEach(t=>{const a=t.timestamps[t.timestamps.length-1].time;if(!e)return void(e=t);if(a>e.timestamps[e.timestamps.length-1].time)return i=e,void(e=t);a>(i?i.timestamps[i.timestamps.length-1].time:0)&&(i=t)}),i}}class li{constructor({matchType:t,pageCount:e}){this.matchType=t,this.conditionValue=e}evaluate({targetingData:t}){const e=null==t?void 0:t[Xt.PageView];if(!e)return s.Ok(!1);let i=0;return Object.values(e).forEach(t=>{i+=t.timestamps.length}),s.Ok(this.checkCondition(i))}checkCondition(t){if(!this.matchType||\"number\"!=typeof this.conditionValue)return!1;switch(this.matchType){case pe.EQUAL:return t===this.conditionValue;case pe.GREATER:return t>this.conditionValue;case pe.LOWER:return t<this.conditionValue;default:return Ot.error`Unexpected comparing operation for VisitedPages condition: ${this.matchType}`,!1}}}class ci{constructor({matchType:t,count:e,unitOfTime:i}){this.matchType=t,this.conditionValue=e,this.timeUnit=i}evaluate({targetingData:t,sdkInfo:e}){const i=null==t?void 0:t[Xt.VisitsData];if(e.isServer?!(null==i?void 0:i.visits.length):!(null==i?void 0:i.visits)||i.visits.length<2)return s.Ok(!1);const a=i.visits[0];return s.Ok(this.checkCondition(\"number\"==typeof a?a:a.timeStarted))}checkCondition(t){if(!this.matchType||\"number\"!=typeof this.conditionValue||!this.timeUnit)return!1;const e=Date.now()-t,i=ke.convertTimeUnit(e,this.timeUnit);switch(this.matchType){case pe.GREATER:return i>this.conditionValue;case pe.LOWER:return i<this.conditionValue;default:return Ot.error`Unexpected comparing operation for FirstVisit condition: ${this.matchType}`,!1}}}class hi{constructor({matchType:t,count:e,unitOfTime:i}){this.matchType=t,this.conditionValue=e,this.timeUnit=i}evaluate({targetingData:t,sdkInfo:e}){const i=null==t?void 0:t[Xt.VisitsData];if(e.isServer?!(null==i?void 0:i.visits.length):!(null==i?void 0:i.visits)||i.visits.length<2)return s.Ok(!1);const a=i.visits,r=a[e.isServer?a.length-1:a.length-2];return s.Ok(this.checkCondition(\"number\"==typeof r?r:r.timeStarted))}checkCondition(t){if(!this.matchType||\"number\"!=typeof this.conditionValue||!this.timeUnit)return!1;const e=Date.now()-t,i=ke.convertTimeUnit(e,this.timeUnit);switch(this.matchType){case pe.GREATER:return i>this.conditionValue;case pe.LOWER:return i<this.conditionValue;default:return Ot.error`Unexpected comparing operation for LastVisit condition: ${this.matchType}`,!1}}}class gi{constructor({matchType:t,visitCount:e}){this.matchType=t,this.conditionValue=e}evaluate({targetingData:t,sdkInfo:e}){const i=null==t?void 0:t[Xt.VisitsData];if(!i)return s.Ok(!1);let a=0;const r=(new Date).setHours(0,0,0,0),{visits:n}=i;return n.forEach(t=>{let e;e=\"number\"==typeof t?t:t.timeStarted,e>=r&&a++}),e.isServer&&(a+=1),s.Ok(this.checkCondition(a))}checkCondition(t){if(!this.matchType||\"number\"!=typeof this.conditionValue)return!1;switch(this.matchType){case pe.EQUAL:return t===this.conditionValue;case pe.GREATER:return t>this.conditionValue;case pe.LOWER:return t<this.conditionValue;default:return Ot.error`Unexpected comparing operation for SameDayVisits condition: ${this.matchType}`,!1}}}class fi{constructor({matchType:t,visitCount:e}){this.matchType=t,this.conditionValue=e}evaluate({targetingData:t,sdkInfo:e}){const i=null==t?void 0:t[Xt.VisitsData];if(!i)return s.Ok(!1);const a=i.visits.length+(e.isServer?1:0);return s.Ok(this.checkCondition(a))}checkCondition(t){if(!this.matchType||\"number\"!=typeof this.conditionValue)return!1;switch(this.matchType){case pe.EQUAL:return t===this.conditionValue;case pe.GREATER:return t>this.conditionValue;case pe.LOWER:return t<this.conditionValue;default:return Ot.error`Unexpected comparing operation for Visits condition: ${this.matchType}`,!1}}}class pi{constructor({visitorType:t}){this.visitorType=t}evaluate({targetingData:t,sdkInfo:e}){const i=null==t?void 0:t[Xt.VisitsData];if(!i||!this.visitorType)return s.Ok(!1);const{visits:a}=i,r=e.isServer?!a.length:a.length<=1;switch(this.visitorType){case ce.NEW:return s.Ok(r);case ce.RETURNING:return s.Ok(!r);default:Ot.error`Unexpected visitor type for NewVisitor condition: ${this.visitorType}`,l(this.visitorType)}}}class vi{constructor({version:t,versionMatchType:e}){this.conditionValue=t,this.versionMatchType=e}evaluate({targetingData:t}){var e;const i=null===(e=null==t?void 0:t[Xt.ApplicationVersion])||void 0===e?void 0:e.version;if(!i||!this.conditionValue||!this.versionMatchType)return s.Ok(!1);const a=ke.compareSemVer({version:i,compareVersion:this.conditionValue,operator:this.versionMatchType});return a.ok?s.Ok(a.data):s.Err(a.error)}}class mi{constructor({lowerBound:t,upperBound:e,keyMomentId:i,goalId:a}){this.lowerBound=t,this.upperBound=e,this.keyMomentId=i,this.goalId=a}evaluate({targetingData:t}){var e;const i=null==t?void 0:t[Xt.KameleoonConversionScore];if(\"number\"!=typeof this.keyMomentId||\"number\"!=typeof this.goalId||\"number\"!=typeof this.lowerBound||\"number\"!=typeof this.upperBound||!i)return s.Ok(!1);const a=null===(e=i.kcs[this.keyMomentId.toString()])||void 0===e?void 0:e[this.goalId.toString()];return\"number\"!=typeof a?s.Ok(!1):s.Ok(a>=this.lowerBound&&a<=this.upperBound)}}class Ci{constructor({campaignType:t}){this.campaignType=t}evaluate(t){return s.Ok(this.checkCondition(t))}checkCondition(t){var e;const i=Object.values(t.variationData),a=Object.values((null===(e=t.targetingData)||void 0===e?void 0:e.personalization)||{}),r=1===i.length&&null!==t.experimentId&&void 0!==t.variationData[t.experimentId],n=0===i.length,o=0===a.length;switch(this.campaignType){case fe.Experiment:return n||r;case fe.Personalization:return o;case fe.Any:return o&&(n||r);default:return!1}}}class Ei{constructor({variationMatchType:t,variation:e,experiment:i}){this.variationMatchType=t,this.variationId=e||-1,this.experimentId=i||-1}evaluate(t){return s.Ok(this.checkCondition(t))}checkCondition(t){const e=t.variationData[this.experimentId];if(!e)return!1;switch(this.variationMatchType){case he.ANY:return!0;case he.EXACT:return e.variationId===this.variationId;default:return!1}}}class yi{constructor({personalizationId:t}){this.personalizationId=t}evaluate(t){return t.targetingData?s.Ok(this.checkCondition(t)):s.Ok(!1)}checkCondition(t){var e;if(!this.personalizationId)return!1;const i=null===(e=t.targetingData)||void 0===e?void 0:e[Xt.Personalization];return void 0!==(null==i?void 0:i[this.personalizationId])}}class Ii{createCondition(t){const{targetingType:e}=t;switch(e){case Ce.CUSTOM_DATUM:return s.Ok(new Qe(t));case Ce.EXCLUSIVE_EXPERIMENT:return s.Ok(new Ci(t));case Ce.TARGET_EXPERIMENT:return s.Ok(new Ei(t));case Ce.TARGET_FEATURE_FLAG:return s.Ok(new ui(t));case Ce.TARGET_PERSONALIZATION:return s.Ok(new yi(t));case Ce.DEVICE_TYPE:return s.Ok(new Ye(t));case Ce.BROWSER:return s.Ok(new Je(t));case Ce.PAGE_URL:return s.Ok(new ei(t));case Ce.PAGE_TITLE:return s.Ok(new ti(t));case Ce.CONVERSIONS:return s.Ok(new Xe(t));case Ce.VISITOR_CODE:return s.Ok(new ai(t));case Ce.SDK_LANGUAGE:return s.Ok(new ii(t));case Ce.COOKIE:return s.Ok(new ri(t));case Ce.OPERATING_SYSTEM:return s.Ok(new ni(t));case Ce.GEOLOCATION:return s.Ok(new oi(t));case Ce.SEGMENT:return s.Ok(new si(t));case Ce.APPLICATION_VERSION:return s.Ok(new vi(t));case Ce.PREVIOUS_PAGE:return s.Ok(new di(t));case Ce.PAGE_VIEWS:return s.Ok(new li(t));case Ce.LAST_VISIT:return s.Ok(new hi(t));case Ce.FIRST_VISIT:return s.Ok(new ci(t));case Ce.SAME_DAY_VISITS:return s.Ok(new gi(t));case Ce.VISITS:return s.Ok(new fi(t));case Ce.NEW_VISITORS:return s.Ok(new pi(t));case Ce.HEAT_SLICE:return s.Ok(new mi(t));default:return Ot.error`Unsupported targeted condition type found: ${e}`,s.Err(new c(o.TargetingCondition,e))}}}var Di;!function(t){t.ClientData=\"kameleoonClientData\",t.TargetingData=\"kameleoonTargetingData\",t.TrackingData=\"kameleoonTrackingData\",t.VariationData=\"kameleoonVariationData\",t.VisitorCode=\"kameleoonVisitorCode\",t.ConsentData=\"kameleoonConsentData\",t.DataInfo=\"kameleoonDataInfo\",t.KameleoonSimulationFFData=\"kameleoonSimulationFFData\",t.ForcedFeatureVariation=\"kameleoonForcedFeatureVariation\",t.ForcedExperimentVariation=\"kameleoonForcedExperimentVariation\"}(Di||(Di={}));const Ti={data:{customData:[],featureFlags:[],configuration:{realTimeUpdate:!1,consentType:Gt.NotRequired,dataApiDomain:\"data.kameleoon.io\"}},lastUpdate:\"\"},ki=29*Mt.Minute;class Ri{constructor(t){this.key=t}isDataValid(t){switch(this.key){case Di.ClientData:return this.checkClientDataIntegrity(t);case Di.TargetingData:return this.checkTargetingDataIntegrity(t);case Di.DataInfo:return this.checkDataInfoIntegrity(t);case Di.VariationData:return this.checkVariationDataIntegrity(t);case Di.TrackingData:return this.checkTrackingDataIntegrity(t);default:return!0}}getDefaultData(){switch(this.key){case Di.ClientData:return this.getDefaultClientData();case Di.DataInfo:return{unsentData:{},nextVisitTime:0,mappingIdentifiers:{}};case Di.TrackingData:return{scheduledVisitors:{}};case Di.TargetingData:case Di.VariationData:case Di.ConsentData:return{};case Di.VisitorCode:case Di.KameleoonSimulationFFData:return\"\";case Di.ForcedExperimentVariation:case Di.ForcedFeatureVariation:return{};default:l(this.key)}}checkTrackingDataIntegrity(t){return this.hasFields(t,[\"scheduledVisitors\"])}checkDataInfoIntegrity(t){return this.hasFields(t,[\"unsentData\",\"nextVisitTime\"])}checkVariationDataIntegrity(t){const e=Object.values(t);if(!e.length)return!0;const i=t=>!this.hasFields(t,[\"status\"])||this.hasFields(t,[\"isSent\"]);for(const t of e)for(const e of Object.values(t))if(i(e))return!1;return!0}checkClientDataIntegrity(t){return this.hasFields(t,Object.keys(Ti))}checkTargetingDataIntegrity(t){const e=Object.values(t);if(!e.length)return!0;for(const t of e){if(\"string\"==typeof t)continue;const e=t=>!this.hasFields(t,[\"status\"])||this.hasFields(t,[\"sent\"])||this.hasFields(t,[\"timestampList\"]);for(const[i,a]of Object.entries(t)){if(Array.isArray(a))return!1;switch(i){case Xt.PageView:case Xt.Conversion:case Xt.CustomData:if(Object.values(a).some(t=>e(t)))return!1;continue;default:if(e(a))return!1}}}return!0}getDefaultClientData(){return Object.assign(Object.assign({},Ti),{lastUpdate:(new Date).toString()})}hasFields(t,e){const i=Object.keys(t);return!(!i.length||!e.length)&&e.every(t=>i.includes(t))}}class Vi{constructor(t,e){this.externalStorage=t,this.storageKey=e;const i=new Ri(e),a=this.read();if(!a.ok){if(a.error.type===o.StorageEmpty){const t=i.getDefaultData();this.write(t)}return}const r=a.data;if(!i.isDataValid(r)){const t=i.getDefaultData();this.write(t)}}read(){try{const t=this.externalStorage.read(this.storageKey);return null===t?s.Err(new c(o.StorageEmpty)):s.Ok(t)}catch(t){return Ot.error`Failed to read data from storage: ${this.storageKey}`,s.Err(new c(o.StorageRead,this.storageKey))}}write(t){try{return this.externalStorage.write(this.storageKey,t),s.Ok()}catch(t){return Ot.error`Failed to write data to storage: ${this.storageKey}`,s.Err(new c(o.StorageWrite,this.storageKey))}}update(t){const e=this.read();if(!e.ok)return e.error.type===o.StorageEmpty?this.write(t):e;const i=e.data;let a;return a=\"string\"==typeof i?t:Object.assign(Object.assign({},i),t),this.write(a)}}class Si{constructor(t,e){this.externalStorage=t,this.cleanupInterval=e,e>0&&this.initCleanupInterval()}initCleanupInterval(){for(const t of Object.values(Di)){let e=null;try{switch(t){case Di.ForcedFeatureVariation:case Di.ForcedExperimentVariation:case Di.VariationData:case Di.ConsentData:Ot.info`Starting cleanup for ${t} with interval ${this.cleanupInterval}`,e=setInterval(()=>this.cleanupData(t),this.cleanupInterval);break;case Di.ClientData:case Di.TargetingData:case Di.TrackingData:case Di.VisitorCode:case Di.DataInfo:case Di.KameleoonSimulationFFData:break;default:Ot.error`Unknown storage key: ${t} for initCleanupInterval.`}}catch(i){e&&clearInterval(e),Ot.error`Error while starting cleanup for ${t} with interval ${this.cleanupInterval}`}}}cleanupData(t){const e=this.externalStorage.read(t);if(!e)return;const i=Date.now();switch(t){case Di.VariationData:this.cleanupVariationData(e,i);break;case Di.ForcedFeatureVariation:this.cleanupForcedFeatureVariationData(e,i);break;case Di.ForcedExperimentVariation:this.cleanupForcedExperimentVariationData(e,i);break;case Di.ConsentData:this.cleanupConsentData(e,i);break;case Di.ClientData:case Di.TargetingData:case Di.TrackingData:case Di.VisitorCode:case Di.DataInfo:case Di.KameleoonSimulationFFData:break;default:Ot.error`Unknown storage key: ${t} for cleanupData.`}this.externalStorage.write(t,e)}cleanupConsentData(t,e){for(const[i,a]of Object.entries(t)){if(\"boolean\"==typeof a){t[i]={consent:a,expirationTime:e+this.cleanupInterval};continue}const r=a;\"number\"==typeof r.expirationTime?r.expirationTime<e&&delete t[i]:r.expirationTime=e+this.cleanupInterval}}cleanupVariationData(t,e){for(const[i,a]of Object.entries(t))this.cleanupObjectValues(a,e),0===Object.keys(t[i]).length&&delete t[i]}cleanupForcedFeatureVariationData(t,e){for(const[i,a]of Object.entries(t))for(const[r,n]of Object.entries(a))this.cleanupObjectValues(n,e),0===Object.keys(t[Number(i)][r]).length&&delete t[Number(i)][r]}cleanupForcedExperimentVariationData(t,e){for(const[i,a]of Object.entries(t))this.cleanupObjectValues(a,e),0===Object.keys(t[i]).length&&delete t[i]}cleanupObjectValues(t,e){for(const[i,a]of Object.entries(t))\"number\"==typeof a.expirationTime?a.expirationTime<e&&delete t[i]:a.expirationTime=e+this.cleanupInterval}}class wi{constructor(t){this.id=t,this.status=xt.Unsent}get url(){return R+q+this.id}get data(){return{id:this.id,type:Xt.TargetedSegment,status:this.status}}static _fromRaw(t){const{id:e,status:i}=t,a=new wi(e);return a.status=i,a}}class bi{constructor({dataStorage:t,infoStorage:e,cleanupInterval:i,packageInfo:a}){if(this.targetingTrees=new Map,this.mappingIdentifierCustomDataIndex=null,this.persistentCustomDataIndexes=new Set,this.localCustomDataIndexes=new Set,this.cleanupIntervalId=null,Ot.debug`CALL: new DataManager(dataStorage, infoStorage, cleanupInterval: ${i})`,this.dataStorage=t,this.infoStorage=e,this.dataProcessor=new ze(i,a),this.packageInfo=a,i){const t=()=>{this.cleanupData()};try{this.cleanupIntervalId=setInterval(t,i)}catch(t){throw this.cleanupIntervalId&&clearInterval(this.cleanupIntervalId),Ot.error`Failed to set cleanup interval: ${i}`,t}}Ot.debug`RETURN: new DataManager(dataStorage, infoStorage, cleanupInterval: ${i})`}getUnsentData(t){const e=this.infoStorage.read();if(!e.ok)return[];const i=e.data,a=this.getVisitorData(t);if(!i.unsentData[t]||!a)return[];const r=i.unsentData[t],n=i.nextVisitTime<=Date.now();return n&&(i.nextVisitTime=Date.now()+ki,this.infoStorage.write(i)),this.getDataFromRaw(a,({status:t,key:e,cdIndex:i})=>!(\"number\"!=typeof i||!this.persistentCustomDataIndexes.has(i)||!n)||r.includes(e)&&t===xt.Unsent)}getPendingData(t){const e=this.getVisitorData(t);if(!e)return[];return this.getDataFromRaw(e,({status:t})=>t===xt.Pending)}getDataFromRaw(t,e){const i=[];for(const[a,r]of Object.entries(t))if(r)switch(a){case Xt.CustomData:for(const t of Object.values(r)){if(!t)continue;const{status:r,index:n}=t;if(e({status:r,key:a,cdIndex:n})){const e=Se._fromRaw(t);i.push(e)}}break;case Xt.Conversion:for(const t of Object.values(r))if(t&&e({status:t.status,key:a})){const e=we._fromRaw(t);i.push(e)}break;case Xt.PageView:{const t=r;for(const r of Object.values(t))if(e({status:r.status,key:a})){const t=Ve._fromRaw(r);i.push(t)}break}case Xt.TargetedSegment:{const t=r;for(const r of Object.values(t))if(e({status:r.status,key:a})){const t=wi._fromRaw(r);i.push(t)}break}case Xt.GeolocationData:{const t=r;if(!r)continue;if(e({status:t.status,key:a})){const e=$e._fromRaw(t);i.push(e)}break}case Xt.Browser:{const t=r;if(e({status:t.status,key:a})){const e=be._fromRaw(t);i.push(e)}break}case Xt.Device:{const t=r;if(e({status:t.status,key:a})){const e=Ae._fromRaw(t);i.push(e)}break}case Xt.OperatingSystem:{const t=r;if(e({status:t.status,key:a})){const e=Oe._fromRaw(t);i.push(e)}}}return i}storeTrackedData(t){this.storeData(t);const e=this.infoStorage.read();if(!e.ok)return;const i=e.data.unsentData;for(const[e,a]of Object.entries(t)){if(!i[e])return;const t=new Set(i[e]);a.forEach(({data:e})=>{t.has(e.type)&&t.delete(e.type)});const r=a.some(({data:t})=>{if(t.type!==Xt.CustomData)return!1;const{index:e}=t;return this.persistentCustomDataIndexes.has(e)||this.mappingIdentifierCustomDataIndex===e});r&&t.add(Xt.CustomData),i[e]=Array.from(t),i[e].length||delete i[e]}this.infoStorage.write(e.data)}storeData(t,...e){Ot.debug`CALL: DataManager.storeData(visitorCode: ${t}, data: ${e})`;const i=this.dataStorage.read(),a=this.infoStorage.read();if(!i.ok)return i;if(!a.ok)return a;const r=i.data,n=a.data;if(\"string\"==typeof t)this.mutUpdateTargetingData({infoData:n,targetingData:r,visitorCode:t,kameleoonData:e});else for(const[e,i]of Object.entries(t))this.mutUpdateTargetingData({infoData:n,targetingData:r,visitorCode:e,kameleoonData:i});this.cleanupData(),this.infoStorage.write(a.data);const o=this.dataStorage.write(r);return Ot.debug`RETURN: DataManager.storeData(visitorCode: ${t}, data: ${e}) -> (writeResult: ${o})`,o}getTree(t){if(this.targetingTrees.has(t.id))return this.targetingTrees.get(t.id);const e=new We(t);return this.targetingTrees.set(t.id,e),e}clearTrees(){this.targetingTrees.clear()}isPersistentCustomData(t){return!!this.persistentCustomDataIndexes.size&&(!!ke.isCustomData(t)&&this.persistentCustomDataIndexes.has(t.data.index))}isUniqueIdentifier(t){var e;const i=this.getVisitorData(t),a=null==i?void 0:i[Xt.UniqueIdentifier];return null!==(e=null==a?void 0:a.value)&&void 0!==e&&e}getVisitorIdentifier(t){var e,i,a;const r=this.infoStorage.read();if(!r.ok)return t;const n=r.data;return null!==(e=n.mappingIdentifiers)&&void 0!==e||(n.mappingIdentifiers={}),null!==(a=null===(i=n.mappingIdentifiers[t])||void 0===i?void 0:i.mappingIdentifier)&&void 0!==a?a:t}getMappingIdentifier(t){const e=this.infoStorage.read();if(!e.ok)return;const i=e.data;return i.mappingIdentifiers?i.mappingIdentifiers[t]:void 0}setMappingIdentifier(t,e){var i;const a=this.infoStorage.read();if(!a.ok)return;const r=a.data;null!==(i=r.mappingIdentifiers)&&void 0!==i||(r.mappingIdentifiers={});const n=r.mappingIdentifiers[t];(!n||n.timestamp<e.timestamp)&&(r.mappingIdentifiers[t]=e,this.infoStorage.write(r))}getVisitorData(t){this.cleanupData();const e=this.dataStorage.read();if(!e.ok)return;let{visitorReference:i,data:a,isReference:r}=this.dataProcessor.dereferenceData(e.data,t);if(this.packageInfo.isServer&&r&&!a[i]){const e=this.infoStorage.read();e.ok&&e.data.mappingIdentifiers&&delete e.data.mappingIdentifiers[t],delete a[t],i=t}return a[i]}getVisitorStoredDataTypes(t){const e=this.getVisitorData(t);return e?new Set(Object.keys(e)):new Set}getLinkedVisitor(t){const e=this.dataStorage.read();if(!e.ok)return null;if(\"string\"==typeof e.data[t])return e.data[t];if(null===this.mappingIdentifierCustomDataIndex)return null;const i=e.data[t];if(!i)return null;const a=i[Xt.CustomData];return a&&a[this.mappingIdentifierCustomDataIndex]?a[this.mappingIdentifierCustomDataIndex].value[0]:null}mutUpdateTargetingData({infoData:t,visitorCode:e,kameleoonData:i,targetingData:a}){for(const r of i){r.data.type===Xt.CustomData&&this.processCustomData({infoData:t,customData:r,mutData:a,visitorCode:e});const i=this.dataProcessor.mutUpdateData({infoData:t,visitorCode:e,mutData:a,dataItem:r}),n=t.nextDataCleanup;(!n||n&&i<n)&&(t.nextDataCleanup=i),r.data.status===xt.Unsent&&this.dataProcessor.mutAddUnsentData({mutData:t,visitorCode:e,dataType:r.data.type})}}cleanupData(){const t=this.dataStorage.read(),e=this.infoStorage.read();if(!t.ok||!e.ok)return;const i=t.data,a=e.data,r=a.nextDataCleanup;if(r&&r<Date.now()){const t=this.dataProcessor.mutCleanupData(i,a);a.nextDataCleanup=t||void 0,this.infoStorage.write(a),this.dataStorage.write(i)}}processCustomData({infoData:t,mutData:e,customData:i,visitorCode:a}){var r;const{data:n}=i,o=Boolean(n.value.length&&n.value[0].length);if(this.mappingIdentifierCustomDataIndex===n.index&&o){i._isMappingIdentifier=!0;const o=n.value[0];a!==o&&(Ot.info`Linked anonymous visitor ${a} with user ${o}`,this.dataProcessor.createReference({infoData:t,mutData:e,visitorCode:a,linkedVisitor:n.value[0]}),null!==(r=t.mappingIdentifiers)&&void 0!==r||(t.mappingIdentifiers={}),t.mappingIdentifiers[o]={mappingIdentifier:a,timestamp:Date.now()})}this.localCustomDataIndexes.has(n.index)&&(i.status=xt.Sent)}get unsentDataVisitors(){const t=this.infoStorage.read();return t.ok?Object.keys(t.data.unsentData):[]}get identifierCustomDataIndex(){return this.mappingIdentifierCustomDataIndex}get trees(){return this.targetingTrees}get storedCustomDataIndexes(){const t=this.dataStorage.read();if(!t.ok)return new Set;const e=t.data;if(!(Xt.CustomData in e))return new Set;const i=new Set;for(const t in Object.keys(e[Xt.CustomData]))i.add(Number(t));return i}set customDataIndexes(t){var e;const[i,a]=[[],[]];t.forEach(t=>{t.localOnly&&i.push(t.index),t.scope===Kt.Visitor&&a.push(t.index)}),this.mappingIdentifierCustomDataIndex=(null===(e=t.find(t=>t.isMappingIdentifier))||void 0===e?void 0:e.index)||null,this.localCustomDataIndexes=new Set(i),this.persistentCustomDataIndexes=new Set(a)}}var Ai={exports:{}};var Oi,$i={exports:{}};function Fi(){return Oi||(Oi=1,$i.exports=(e=e||function(e,i){var a;if(\"undefined\"!=typeof window&&window.crypto&&(a=window.crypto),\"undefined\"!=typeof self&&self.crypto&&(a=self.crypto),\"undefined\"!=typeof globalThis&&globalThis.crypto&&(a=globalThis.crypto),!a&&\"undefined\"!=typeof window&&window.msCrypto&&(a=window.msCrypto),!a&&void 0!==t&&t.crypto&&(a=t.crypto),!a)try{a=require(\"crypto\")}catch(t){}var r=function(){if(a){if(\"function\"==typeof a.getRandomValues)try{return a.getRandomValues(new Uint32Array(1))[0]}catch(t){}if(\"function\"==typeof a.randomBytes)try{return a.randomBytes(4).readInt32LE()}catch(t){}}throw new Error(\"Native crypto module could not be used to get secure random number.\")},n=Object.create||function(){function t(){}return function(e){var i;return t.prototype=e,i=new t,t.prototype=null,i}}(),o={},s=o.lib={},u=s.Base={extend:function(t){var e=n(this);return t&&e.mixIn(t),e.hasOwnProperty(\"init\")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),e.init.prototype=e,e.$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty(\"toString\")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},d=s.WordArray=u.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=e!=i?e:4*t.length},toString:function(t){return(t||c).stringify(this)},concat:function(t){var e=this.words,i=t.words,a=this.sigBytes,r=t.sigBytes;if(this.clamp(),a%4)for(var n=0;n<r;n++){var o=i[n>>>2]>>>24-n%4*8&255;e[a+n>>>2]|=o<<24-(a+n)%4*8}else for(var s=0;s<r;s+=4)e[a+s>>>2]=i[s>>>2];return this.sigBytes+=r,this},clamp:function(){var t=this.words,i=this.sigBytes;t[i>>>2]&=4294967295<<32-i%4*8,t.length=e.ceil(i/4)},clone:function(){var t=u.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],i=0;i<t;i+=4)e.push(r());return new d.init(e,t)}}),l=o.enc={},c=l.Hex={stringify:function(t){for(var e=t.words,i=t.sigBytes,a=[],r=0;r<i;r++){var n=e[r>>>2]>>>24-r%4*8&255;a.push((n>>>4).toString(16)),a.push((15&n).toString(16))}return a.join(\"\")},parse:function(t){for(var e=t.length,i=[],a=0;a<e;a+=2)i[a>>>3]|=parseInt(t.substr(a,2),16)<<24-a%8*4;return new d.init(i,e/2)}},h=l.Latin1={stringify:function(t){for(var e=t.words,i=t.sigBytes,a=[],r=0;r<i;r++){var n=e[r>>>2]>>>24-r%4*8&255;a.push(String.fromCharCode(n))}return a.join(\"\")},parse:function(t){for(var e=t.length,i=[],a=0;a<e;a++)i[a>>>2]|=(255&t.charCodeAt(a))<<24-a%4*8;return new d.init(i,e)}},g=l.Utf8={stringify:function(t){try{return decodeURIComponent(escape(h.stringify(t)))}catch(t){throw new Error(\"Malformed UTF-8 data\")}},parse:function(t){return h.parse(unescape(encodeURIComponent(t)))}},f=s.BufferedBlockAlgorithm=u.extend({reset:function(){this._data=new d.init,this._nDataBytes=0},_append:function(t){\"string\"==typeof t&&(t=g.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(t){var i,a=this._data,r=a.words,n=a.sigBytes,o=this.blockSize,s=n/(4*o),u=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*o,l=e.min(4*u,n);if(u){for(var c=0;c<u;c+=o)this._doProcessBlock(r,c);i=r.splice(0,u),a.sigBytes-=l}return new d.init(i,l)},clone:function(){var t=u.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});s.Hasher=f.extend({cfg:u.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset()},reset:function(){f.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){return t&&this._append(t),this._doFinalize()},blockSize:16,_createHelper:function(t){return function(e,i){return new t.init(i).finalize(e)}},_createHmacHelper:function(t){return function(e,i){return new p.HMAC.init(t,i).finalize(e)}}});var p=o.algo={};return o}(Math),e)),$i.exports;var e}var Ni;var xi,Mi=(Ni||(Ni=1,Ai.exports=(xi=Fi(),function(t){var e=xi,i=e.lib,a=i.WordArray,r=i.Hasher,n=e.algo,o=[],s=[];!function(){function e(e){for(var i=t.sqrt(e),a=2;a<=i;a++)if(!(e%a))return!1;return!0}function i(t){return 4294967296*(t-(0|t))|0}for(var a=2,r=0;r<64;)e(a)&&(r<8&&(o[r]=i(t.pow(a,.5))),s[r]=i(t.pow(a,1/3)),r++),a++}();var u=[],d=n.SHA256=r.extend({_doReset:function(){this._hash=new a.init(o.slice(0))},_doProcessBlock:function(t,e){for(var i=this._hash.words,a=i[0],r=i[1],n=i[2],o=i[3],d=i[4],l=i[5],c=i[6],h=i[7],g=0;g<64;g++){if(g<16)u[g]=0|t[e+g];else{var f=u[g-15],p=(f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3,v=u[g-2],m=(v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10;u[g]=p+u[g-7]+m+u[g-16]}var C=a&r^a&n^r&n,E=(a<<30|a>>>2)^(a<<19|a>>>13)^(a<<10|a>>>22),y=h+((d<<26|d>>>6)^(d<<21|d>>>11)^(d<<7|d>>>25))+(d&l^~d&c)+s[g]+u[g];h=c,c=l,l=d,d=o+y|0,o=n,n=r,r=a,a=y+(E+C)|0}i[0]=i[0]+a|0,i[1]=i[1]+r|0,i[2]=i[2]+n|0,i[3]=i[3]+o|0,i[4]=i[4]+d|0,i[5]=i[5]+l|0,i[6]=i[6]+c|0,i[7]=i[7]+h|0},_doFinalize:function(){var e=this._data,i=e.words,a=8*this._nDataBytes,r=8*e.sigBytes;return i[r>>>5]|=128<<24-r%32,i[14+(r+64>>>9<<4)]=t.floor(a/4294967296),i[15+(r+64>>>9<<4)]=a,e.sigBytes=4*i.length,this._process(),this._hash},clone:function(){var t=r.clone.call(this);return t._hash=this._hash.clone(),t}});e.SHA256=r._createHelper(d),e.HmacSHA256=r._createHmacHelper(d)}(Math),xi.SHA256)),Ai.exports),Ui=e(Mi);class _i{static getHashDoubleForMEGroup(t,e){return this.calculateHash(t+e)}static getHashDouble({visitorIdentifier:t,id:e,respoolTime:i}){let a=\"\";return i&&(a+=String(i)),this.calculateHash(t+e+a)}static calculateHash(t){const e=Ui(t).toString();return parseInt(e,16)/Math.pow(2,256)}}class Li{constructor(t,e,i,a,r){this.storage=t,this.storageForcedExperimentVariations=e,this.storageForcedFeatureVariations=i,this.visitorCodeManager=a,this.clientConfiguration=r,a.setVariationConfiguration(this)}updateDataStatus({visitorCode:t,experimentIdList:e,status:i}){const a=this.storage.read();if(!a.ok)return a;let r=a.data;r[t]||(r[t]={});for(const a of e)r[t][a]=Object.assign(Object.assign({},r[t][a]),{status:i});return this.storage.write(r)}getUnsentData(t){return this.getVariationData(t,t=>t===xt.Unsent)}getVisitorsWithUnsentData(){Ot.debug`CALL: VariationConfiguration.unsentDataVisitors()`;const t=this.storage.read();if(!t.ok)return Ot.debug`RETURN: VariationConfiguration.unsentDataVisitors() -> (result: ${t})`,[];const e=[];for(const[i,a]of Object.entries(t.data))Object.values(a).some(t=>t.status===xt.Unsent)&&e.push(i);return Ot.debug`RETURN: VariationConfiguration.unsentDataVisitors() -> (visitors: ${e})`,e}getPendingData(t){return this.getVariationData(t,t=>t===xt.Pending)}getStoredVariations(t){const e=this.storage.read();if(!e.ok)return e;const i=e.data[t];return i?s.Ok(i):s.Err(new c(o.StorageRead,t))}getVariation({visitorCode:t,visitorIdentifier:e,featureFlag:i,targetingData:a,packageInfo:r,clientConfiguration:n,dataManager:o,track:u=!0,withAssignment:d=!1}){Ot.debug`CALL: VariationConfiguration.getVariation(visitorCode: ${t}, visitorIdentifier: ${e}, featureFlag: ${i}, targetingData: ${a}, packageInfo: ${r}, clientConfiguration, dataManager, withAssignment: ${d})`;const{rules:l,featureKey:c,id:h,defaultVariationKey:g}=i;for(const f of l){const{segment:l,experimentId:p,id:v,exposition:m,respoolTime:C,variationByExposition:E}=f,y=this.getForcedExperimentVariation(t,f.experimentId);let I=null;if(y.ok&&(I=y.data,I&&I.forceTargeting)){Ot.info`Visitor ${t} has been forced targeted for ${f}`;const n=this.createAndSaveForcedTargetedVariation(t,i,f,I,u,d);return Ot.debug`RETURN: VariationConfiguration.getVariation(visitorCode: ${t}, visitorIdentifier: ${e}, featureFlag: ${i}, targetingData: ${a}, packageInfo: ${r}, clientConfiguration, dataManager, withAssignment: ${d}) -> (targetedVariation: ${n})`,s.Ok(n)}const D=ke.checkTargeting({segment:l,visitorCode:t,experimentId:p,targetingData:a,packageInfo:r,clientConfiguration:n,dataManager:o,variationConfiguration:this});if(!D.ok)return Ot.debug`RETURN: VariationConfiguration.getVariation(visitorCode: ${t}, visitorIdentifier: ${e}, featureFlag: ${i}, targetingData: ${a}, packageInfo: ${r}, clientConfiguration, dataManager, withAssignment: ${d}) -> (targetedVariation: ${D})`,D;if(!D.data)continue;if(Ot.info`Visitor ${t} has been targeted for ${f}`,I){const n=this.createAndSaveForcedTargetedVariation(t,i,f,I,u,d);return Ot.debug`RETURN: VariationConfiguration.getVariation(visitorCode: ${t}, visitorIdentifier: ${e}, featureFlag: ${i}, targetingData: ${a}, packageInfo: ${r}, clientConfiguration, dataManager, withAssignment: ${d}) -> (targetedVariation: ${n})`,s.Ok(n)}const T=_i.getHashDouble({visitorIdentifier:e,respoolTime:C,id:String(v)});if(Ot.debug`Calculated ruleHash: ${T} for code: ${e}`,T<=m){let n=this.evaluateCBScores(f,e,a);if(!n){const t=_i.getHashDouble({visitorIdentifier:e,respoolTime:C,id:String(p)});Ot.debug`Calculated variationHash: ${t} for code: ${e}`,n=ke.getVariationByHash(E,t)}if(n){d&&this.updateStoredVariations(t,{[p]:{variationId:n.variationId,isTargetedRule:f.type===_t.TARGETED_DELIVERY,status:u?xt.Unsent:xt.Sent}});const o={variationId:n.variationId,variationKey:n.variationKey,rule:f,featureFlagId:h,featureKey:c,experimentId:p,isTargetedRule:f.type===_t.TARGETED_DELIVERY};return Ot.debug`RETURN: VariationConfiguration.getVariation(visitorCode: ${t}, visitorIdentifier: ${e}, featureFlag: ${i}, targetingData: ${a}, packageInfo: ${r}, clientConfiguration, dataManager, withAssignment: ${d}) -> (targetedVariation: ${o})`,s.Ok(o)}}if(f.type===_t.TARGETED_DELIVERY){const n={featureKey:c,featureFlagId:h,experimentId:null,variationKey:g,variationId:null,rule:null,isTargetedRule:!0};return Ot.debug`RETURN: VariationConfiguration.getVariation(visitorCode: ${t}, visitorIdentifier: ${e}, featureFlag: ${i}, targetingData: ${a}, packageInfo: ${r}, clientConfiguration, dataManager, withAssignment: ${d}) -> (targetedVariation: ${n})`,s.Ok(n)}}const f={featureKey:c,featureFlagId:h,experimentId:null,variationKey:g,variationId:null,rule:null,isTargetedRule:!1};return Ot.debug`RETURN: VariationConfiguration.getVariation(visitorCode: ${t}, visitorIdentifier: ${e}, featureFlag: ${i}, targetingData: ${a}, packageInfo: ${r}, clientConfiguration, dataManager, withAssignment: ${d}) -> (targetedVariation: ${f})`,s.Ok(f)}createAndSaveForcedTargetedVariation(t,e,i,a,r,n){const o={variationKey:a.varByExp.variationKey,variationId:a.varByExp.variationId,rule:i,featureFlagId:e.id,featureKey:e.featureKey,experimentId:i.experimentId,isTargetedRule:i.type===_t.TARGETED_DELIVERY};return n&&this.updateStoredVariations(t,{[i.experimentId]:{variationId:o.variationId,isTargetedRule:i.type===_t.TARGETED_DELIVERY,status:r?xt.Unsent:xt.Sent}}),o}updateStoredVariations(t,e){Ot.debug`CALL: VariationConfiguration.updateStoredVariations(visitorCode: ${t}, variationData: ${e})`;const i=this.storage.read();if(!i.ok)return Ot.debug`RETURN: VariationConfiguration.updateStoredVariations(visitorCode: ${t}, variationData: ${e}) -> (result: ${i})`,i;let a=i.data;a[t]||(a[t]={});for(const i in e)a[t][i]=e[i];const r=this.storage.write(a);return Ot.debug`RETURN: VariationConfiguration.updateStoredVariations(visitorCode: ${t}, variationData: ${e}) -> (resultWrite: ${r})`,r}getVariationData(t,e){const i=this.getStoredVariations(t);if(!i.ok)return[];const a=[];for(const[t,r]of Object.entries(i.data))e(r.status)&&a.push({experimentId:Number(t),variationId:r.variationId,isTargetedRule:r.isTargetedRule});return a}updateForcedExperimentVariation(t,e,i){Ot.debug`CALL: VariationConfiguration.updateForcedExperimentVariation(visitorCode: ${t}, experimentId: ${e}, forcedExperimentVariation: ${i})`;const a=this.storageForcedExperimentVariations.read();if(!a.ok)return Ot.debug`RETURN: VariationConfiguration.updateForcedExperimentVariation(visitorCode: ${t}, experimentId: ${e}, forcedExperimentVariation: ${i}) -> (result: ${a})`,a;let r=a.data;r[t]||(r[t]={}),i?r[t][e]=i:delete r[t][e];const n=this.storageForcedExperimentVariations.write(r);return Ot.debug`RETURN: VariationConfiguration.updateForcedExperimentVariation(visitorCode: ${t}, experimentId: ${e}, forcedExperimentVariation: ${i}) -> (resultWrite: ${n})`,n}updateForcedFeatureVariations(t,e){Ot.debug`CALL: VariationConfiguration.updateForcedFeatureVariations(visitorCode: ${t}, forcedFeatureVariations: ${e})`;const i=this.storageForcedFeatureVariations.read();if(!i.ok)return Ot.debug`RETURN: VariationConfiguration.updateForcedFeatureVariations(visitorCode: ${t}, forcedFeatureVariations: ${e}) -> (result: ${i})`,i;let a=i.data;a[0]||(a[0]={}),a[1]||(a[1]={});const r=a[0],n=a[1];r[t]||(r[t]={}),n[t]||(n[t]={}),e.forEach(e=>{(e.simulated?n[t]:r[t])[e.featureKey]=e});const o=this.storageForcedFeatureVariations.write(a);return Ot.debug`RETURN: VariationConfiguration.updateForcedFeatureVariations(visitorCode: ${t}, forcedFeatureVariations: ${e}) -> (resultWrite: ${o})`,o}clearSimulatedVariations(t){var e;Ot.debug`CALL: VariationConfiguration.clearSimulatedVariations(visitorCode: ${t})`;const i=this.storageForcedFeatureVariations.read();if(!i.ok)return Ot.debug`RETURN: VariationConfiguration.clearSimulatedVariations(visitorCode: ${t}) -> (result: ${i})`,i;let a;const r=i.data;return(null===(e=null==r?void 0:r[1])||void 0===e?void 0:e[t])?(delete r[1][t],a=this.storageForcedFeatureVariations.write(r)):a=s.Ok(),Ot.debug`RETURN: VariationConfiguration.clearSimulatedVariations(visitorCode: ${t}) -> (resultWrite: ${a})`,a}getForcedFeatureVariation(t,e){var i,a,r,n;Ot.debug`CALL: VariationConfiguration.getForcedFeatureVariation(visitorCode: ${t}, featureKey: ${e})`;const o=this.storageForcedFeatureVariations.read();if(!o.ok)return Ot.debug`RETURN: VariationConfiguration.getForcedFeatureVariation(visitorCode: ${t}, featureKey: ${e}) -> (simulatedResult: ${o})`,o;const u=null===(a=null===(i=o.data[1])||void 0===i?void 0:i[t])||void 0===a?void 0:a[e];if(u)return Ot.debug`RETURN: VariationConfiguration.getForcedFeatureVariation(visitorCode: ${t}, featureKey: ${e}) -> (simulatedData: ${u})`,s.Ok(u);const d=null===(n=null===(r=o.data[0])||void 0===r?void 0:r[t])||void 0===n?void 0:n[e];return Ot.debug`RETURN: VariationConfiguration.getForcedFeatureVariation(visitorCode: ${t}, featureKey: ${e}) -> (forcedData: ${d})`,s.Ok(d)}getForcedExperimentVariation(t,e){var i;Ot.debug`CALL: VariationConfiguration.getForcedExperimentVariation(visitorCode: ${t}, experimentId: ${e})`;const a=this.storageForcedExperimentVariations.read();if(!a.ok)return Ot.debug`RETURN: VariationConfiguration.getForcedExperimentVariation(visitorCode: ${t}, experimentId: ${e}) -> (forcedResult: ${a})`,a;const r=null===(i=a.data[t])||void 0===i?void 0:i[e];return Ot.debug`RETURN: VariationConfiguration.getForcedExperimentVariation(visitorCode: ${t}, experimentId: ${e}) -> (forcedExperiment: ${r})`,s.Ok(r)}parseForcedVariationData(t,e=!1){const i=this.clientConfiguration.featureFlags.get(t.featureKey);if(!i)return Ot.error`Simulated feature flag '${t.featureKey}' not found`,null;let a=null;if(0===t.experimentId)return a={featureKey:t.featureKey,rule:null,varByExp:null,simulated:e},a;for(const r of i.rules){if(t.experimentId!==r.experimentId)continue;const i=r.variationByExposition.find(e=>e.variationId===t.variationId);if(i)return a={featureKey:t.featureKey,rule:{type:r.type,experimentId:r.experimentId},varByExp:{variationKey:i.variationKey,variationId:i.variationId},simulated:e},a}return Ot.error`Simulated variation ${t.variationId} not found`,null}simulatedVariationFromJson(t,e){if(Ot.debug`CALL: VariationConfiguration.simulatedVariationFromJson(featureKey: ${t}, data: ${e})`,!this.isSimulatedVariationJson(e))return null;const i=this.parseForcedVariationData({featureKey:t,variationId:e.varId,experimentId:e.expId},!0);return Ot.debug`RETURN: VariationConfiguration.simulatedVariationFromJson(featureKey: ${t}, data: ${e}) -> (forcedVariation: ${i})`,i}isSimulatedVariationJson(t){return t&&(\"number\"==typeof t.expId||null===t.expId)}evaluateCBScores(t,e,i){if(!i||!i.cbScores)return null;Ot.debug`CALL: KameleoonClientImpl.evaluateCBScores(rule: ${t}, targetingData: ${i}, visitorIdentifier: ${e})`;const a=t.experimentId,r=new Me(i.cbScores.cbs).getValues().get(a);let n=null;if(void 0!==r){const i=t.variationByExposition,o=r.map(t=>i.filter(e=>t.ids.includes(e.variationId))).find(t=>t.length>0);if(o){let i=0;if(o.length>1){const r=_i.getHashDouble({visitorIdentifier:e,respoolTime:t.respoolTime,id:String(a)});Ot.debug`Calculated cbs hash ${r} for code ${e}`,i=Math.min(Math.floor(r*o.length),o.length-1)}n=o[i]}}return Ot.debug`RETURN: KameleoonClientImpl.evaluateCBScores(rule: ${t}, targetingData: ${i}, visitorIdentifier: ${e}) -> (variation: ${n})`,n}}class Pi{constructor({siteCode:t,externalEventSource:e,urlProvider:i}){this.url=i.getEventSourceUrl(),this.siteCode=t,this.eventSource=e,this.isConnectionOpen=!1}get isOpen(){return this.isConnectionOpen}open(t){this.eventSource.open({onEvent:this.handleMessage(t),url:this.url,eventType:\"configuration-update-event\"}),this.isConnectionOpen=!0,Ot.info`Established a new SSE connection with: ${this.url}`}close(){this.eventSource.close(),this.isConnectionOpen=!1,Ot.info`SSE connection: '${this.url}' was successfully closed`}onError(t){this.eventSource.onError?this.eventSource.onError(t):Ot.warning(\"EventSource does not have `onError` method provided. Real-time errors won't be handled.\")}handleMessage(t){return e=>{Ot.debug`Received new message from: ${this.url}`;const i=JSON.parse(e.data),{siteCode:a,ts:r}=i;this.siteCode===a&&t(r)}}}const Ki=16,Gi=31536e3;class Bi{constructor(){this.isConsentRequired=!1}set consentRequired(t){this.isConsentRequired=t}get consentRequired(){return this.isConsentRequired}set getData(t){this.getDataCallback=t}set setData(t){this.setDataCallback=t}get setData(){if(this.setDataCallback)return this.setDataCallback;throw new Error(\"Missing setDataCallback!\")}validateVisitorCode(t){return 0===t.length?s.Err(new c(o.VisitorCodeEmpty)):t.length>255?s.Err(new c(o.VisitorCodeMaxLength)):s.Ok()}getVisitorCode(t){if(Ot.debug`CALL: VisitorCodeManager.getVisitorCode(defaultVisitorCode: ${t})`,!this.getDataCallback||!this.setDataCallback)throw new Error(\"Missing getDataCallback or setDataCallback methods in getVisitorCode!\");let e;const i=this.getDataCallback(Di.VisitorCode);return i&&(e=i),e||(t?(this.validateVisitorCode(t).throw(),e=t,Ot.debug`Used default visitor code: ${e}`):(e=this.generateVisitorCode(),Ot.debug`Generated new visitor code: ${e}`)),this.processSimulatedVariations(e),this.isConsentRequired||this.setDataCallback({visitorCode:e,key:Di.VisitorCode,maxAge:Gi,path:\"/\"}),Ot.debug`RETURN: VisitorCodeManager.getVisitorCode(defaultVisitorCode: ${t}) -> (visitorCode: ${e})`,e}processSimulatedVariations(t){if(this.variationConfiguration){const e=this.getSimulatedVariations(t);try{this.variationConfiguration.clearSimulatedVariations(t).throw(),null!==e&&e.length>0&&this.variationConfiguration.updateForcedFeatureVariations(t,e).throw()}catch(t){t instanceof Error&&Ot.error`Failed to process simulated variations: ${t.message}`}}}getSimulatedVariations(t){Ot.debug`CALL: VisitorCodeManager.getSimulatedVariations(visitorCode: ${t})`;const e=this.getDataCallback(Di.KameleoonSimulationFFData);let i=null;if(\"string\"==typeof e&&e.length>0)try{const t=JSON.parse(decodeURIComponent(e));t&&\"object\"==typeof t&&(i=Object.entries(t).map(([t,e])=>this.variationConfiguration.simulatedVariationFromJson(t,e)).filter(t=>null!==t))}catch(t){t instanceof Error&&Ot.error`Failed to parse simulated variations: ${t.message}`}return Ot.debug`RETURN: VisitorCodeManager.getSimulatedVariations(visitorCode: ${t}) -> (variations: ${i})`,i}generateVisitorCode(){const t=\"abcdefghijklmnopqrstuvwxyz0123456789\",e=[];for(let i=0;i<16;i++)e.push(t[Math.floor(36*Math.random())]);return e.join(\"\")}setVariationConfiguration(t){this.variationConfiguration||(this.variationConfiguration=t)}}var zi;!function(t){t[t.Kb=1e3]=\"Kb\",t[t.Mb=1e6]=\"Mb\",t[t.Gb=1e9]=\"Gb\"}(zi||(zi={}));const qi=10*zi.Mb;class ji{constructor(t){this.currentSize=0,this.resultBody=[],this.hasUserAgent=!1,this.trackingVisitors={},this.prng=t}getTrackingBody(){const t={body:this.resultBody.join(\"\\n\"),hasUserAgent:this.hasUserAgent};return this.cleanup(),t}addData({visitorCode:t,variationData:e,visitorData:i,userAgent:a,isConsentProvided:r,isMappingIdentifier:n}){const o=[],s=this.getVariationDataLines(e),u=this.getVisitorDataLines(i);return o.push(...s,...u),this.addVisitorTrackingLines({visitorCode:t,lines:o,userAgent:a,isConsentProvided:r,isMappingIdentifier:n})}getVisitorDataLines(t){const e=[];for(const i of t){let t;if(!(i instanceof qe||i.data.type!==Xt.Conversion&&i.data.type!==Xt.PageView)){const e=i.data.nonce;e?t=e:(t=ke.getNonce(this.prng),i.data.nonce=t)}t||(t=ke.getNonce(this.prng)),e.push(i.url+z+t)}return e}getVariationDataLines(t){const e=[];return t.forEach(t=>{e.push(T+q+t.experimentId+_+t.variationId+z+ke.getNonce(this.prng))}),e}prepareVisitorBody(t){const e=this.trackingVisitors[t];if(!e)return s.Err();const{lines:i,userAgent:a,isMappingIdentifier:r,isConsentProvided:n}=e,o=this.getIdentifier(t,r);if(i.length)i.forEach((t,e)=>{i[e]=t+o}),Ot.debug`Sending tracking request for unsent data ${i} of visitor ${t} with given (or not required) consent ${n}`;else if(n){const e=this.getActivityLine();i.push(e+o),Ot.debug`Sending tracking request for activity of visitor ${t} with given consent`}else Ot.debug`No data to send for visitor ${t} with no consent`;a&&i.length&&(i[0]+=gt+a,this.hasUserAgent=!0);const u=this.checkSize(i);return u.ok&&this.resultBody.push(...i),u}cleanup(){this.currentSize=0,this.resultBody=[],this.hasUserAgent=!1,this.trackingVisitors={}}checkSize(t){let e=0;return e+=t.reduce((t,e)=>t+4*e.length,0),e+this.currentSize>qi?s.Err():(this.currentSize+=e,s.Ok())}addVisitorTrackingLines({visitorCode:t,lines:e,userAgent:i,isConsentProvided:a,isMappingIdentifier:r}){return this.trackingVisitors[t]?(i&&(this.trackingVisitors[t].userAgent=i),this.trackingVisitors[t].lines.push(...e)):this.trackingVisitors[t]={isMappingIdentifier:r,isConsentProvided:a,userAgent:i,lines:e},this.prepareVisitorBody(t)}getActivityLine(){return D+z+ke.getNonce(this.prng)}getIdentifier(t,e){return(e?lt:U)+t}}class Hi{constructor({dataManager:t,trackingStorage:e,variationConfiguration:i,trackingInterval:a,requester:r,prng:n}){this.intervalId=null,Ot.debug`CALL: new Tracker(dataManager, trackingStorage, variationConfiguration, trackingInterval: ${a}, requester, prng)`,this.dataManager=t,this.trackingStorage=e,this.variationConfiguration=i,this.requester=r,this.bodyProvider=new ji(n);try{this.intervalId=setInterval(()=>{this.sendDataAll()},a)}catch(t){throw this.intervalId&&clearInterval(this.intervalId),t}Ot.debug`RETURN: new Tracker(dataManager, trackingStorage, variationConfiguration, trackingInterval: ${a}, requester, prng)`}scheduleVisitor(t,e){Ot.debug`CALL: Tracker.scheduleVisitor(visitorCode: ${t}, isConsentProvided: ${e})`,this.trackingStorage.read().and(i=>{i.scheduledVisitors[`_${t}`]={isConsentProvided:e},this.trackingStorage.write(i)}),Ot.debug`RETURN: Tracker.scheduleVisitor(visitorCode: ${t}, isConsentProvided: ${e})`}checkIsIdentifier(t){var e,i;const a=this.dataManager.isUniqueIdentifier(t),r=null!==(i=null===(e=this.dataManager.getMappingIdentifier(t))||void 0===e?void 0:e.mappingIdentifier)&&void 0!==i?i:t;let n=!1;if(a){const e=this.dataManager.getLinkedVisitor(t),i=this.dataManager.identifierCustomDataIndex;e||\"number\"!=typeof i?n=!0:this.dataManager.storeData(t,new Se(i,t))}return n&&t!=r}getUserAgent(t){const e=this.dataManager.getVisitorData(t);if(e){const t=e[Xt.UserAgent];if(t)return t.value}}sendDataAll(){return u(this,void 0,void 0,function*(){const t=this.trackingStorage.read();if(!t.ok)return;const{scheduledVisitors:e}=t.data;yield this.sendData(e)})}sendDataForVisitor(t,e){return u(this,void 0,void 0,function*(){this.trackingStorage.read().ok&&(yield this.sendData({[`_${t}`]:{isConsentProvided:e}}))})}sendData(t){return u(this,void 0,void 0,function*(){const e={},i=[],a=[];for(const[r,{isConsentProvided:n}]of Object.entries(t)){let t=r.startsWith(\"_\")?r.substring(1):r;const o=this.checkIsIdentifier(t),s=this.getUserAgent(t),u=this.getUnsentVisitorData(t,n),d=this.getUnsentVariationData(t,n);if(!this.bodyProvider.addData({visitorCode:t,variationData:d,visitorData:u,userAgent:s,isConsentProvided:n,isMappingIdentifier:o}).ok){Ot.warning(\"Visitor data to be tracked exceeded the request size limit. Some visitor data is kept to be sent later. If it is not caused by the peak load, decreasing the tracking interval is recommended.\");break}e[t]={visitorData:u,variationData:d},a.push({visitorCode:t,isConsentProvided:n}),i.push(r)}const{body:r,hasUserAgent:n}=this.bodyProvider.getTrackingBody();if(0!==i.length&&this.trackingStorage.read().and(t=>{i.forEach(e=>{delete t.scheduledVisitors[e]}),this.trackingStorage.write(t)}),!r)return;if((yield this.requester.track(r,n)).ok)Ot.info`Successful request for tracking visitors: ${a}, data: ${e}`,this.updateDataStatus(e,xt.Sent);else{Ot.error(\"Tracking request failed\"),Ot.info`Failed request for tracking visitors: ${a}, data: ${e}`,this.updateDataStatus(e,xt.Unsent);let t={};for(let{visitorCode:e,isConsentProvided:i}of a)e=`_${e}`,t[e]={isConsentProvided:i};this.addNotTrackedVisitors(t)}})}addNotTrackedVisitors(t){const e=this.trackingStorage.read();if(!e.ok)return;const{scheduledVisitors:i}=e.data;Object.entries(t).forEach(([t,{isConsentProvided:e}])=>{i[t]||(i[t]={isConsentProvided:e})}),this.trackingStorage.write({scheduledVisitors:i})}updateDataStatus(t,e){let i={};for(const[a,{visitorData:r,variationData:n}]of Object.entries(t)){const t=r.filter(t=>!(t instanceof qe)).map(t=>{const i=t;return i.status=e,i});t.length&&(i[a]=t);const o=n.map(t=>String(t.experimentId));this.variationConfiguration.updateDataStatus({visitorCode:a,experimentIdList:o,status:e})}0!==Object.keys(i).length&&(e===xt.Sent?this.dataManager.storeTrackedData(i):this.dataManager.storeData(i))}getUnsentVisitorData(t,e){const i=this.dataManager.getUnsentData(t),a=[];if(!i.length)return[];for(const t of i)t.url&&(!e&&(t instanceof qe||t.data.type!==Xt.Conversion)||a.push(t));if(a.length){const e=a.filter(t=>!(t instanceof qe)).map(t=>{const e=t;return e.status=xt.Pending,e});this.dataManager.storeTrackedData({[t]:e})}return a}getUnsentVariationData(t,e){const i=this.variationConfiguration.getUnsentData(t),a=new Set;if(!i.length)return[];const r=i.filter(t=>{const i=t.isTargetedRule||e;return i&&a.add(String(t.experimentId)),i});return this.variationConfiguration.updateDataStatus({visitorCode:t,experimentIdList:Array.from(a),status:xt.Pending}),r}}class Wi{constructor({siteCode:t,dependencies:e,configuration:i,internalConfiguration:a,stubMode:r}){var n;if(this.initialized=!1,this.stubMode=r,r)return this.variationConfiguration={},this.clientConfiguration={},this.dataManager={},this.consentDataStorage={},this.trackingCache={},this.requester={},this.externalPackageInfo={},this.visitorCodeManager={},this.eventManager={},this.tracker={},void(this.environment=\"\");const o=null==a?void 0:a.externals.externalLogger;o&&Ot.setLogger(o),je.setConditionFactoryInstance(new Ii),Ot.debug`CALL: new KameleoonClient(siteCode: ${t}, dependencies: ${e}, configuration: ${i})`;const{settings:s}=new Le(t,i);this.environment=s.environment;const{externalStorage:u,externalEventSource:d,externalPackageInfo:l,externalVisitorCodeManager:c,externalRequester:h,externalPRNG:g,customDataManager:f}=a.externals,{useAbortController:p}=a.settings,v=new qt(10),m=new Vi(u,Di.ClientData),C=new Vi(u,Di.VariationData),E=new Vi(u,Di.ForcedExperimentVariation),y=new Vi(u,Di.ForcedFeatureVariation),I=new Vi(u,Di.ConsentData),D=new Vi(u,Di.TrackingData);let T=f;if(!T){const t=new Vi(u,Di.TargetingData),e=new Vi(u,Di.DataInfo);T=new bi({dataStorage:t,infoStorage:e,cleanupInterval:s.cleanupInterval,packageInfo:l})}const k=null!==(n=null==e?void 0:e.urlProvider)&&void 0!==n?n:new zt;k.initialize({domain:s.networkDomain,siteCode:s.siteCode,packageInfo:l,environment:s.environment});const R=new $t({urlProvider:k,useAbortController:p,packageInfo:l,externalRequester:h,requestTimeout:s.requestTimeout,trackRetryDelay:s.trackRetryDelay}),V=new Pi({siteCode:s.siteCode,externalEventSource:d,urlProvider:k}),S=new jt,w=new Yt({urlProvider:k,storage:m,updateInterval:s.updateInterval,dataManager:T,eventManager:S,requester:R,eventSource:V,externalVisitorCodeManager:c,externalPackageInfo:l,defaultDataFile:null==i?void 0:i.defaultDataFile}),b=new Li(C,E,y,c,w),A=new Hi({dataManager:T,trackingStorage:D,variationConfiguration:b,requester:R,trackingInterval:s.trackingInterval,prng:g});this.tracker=A,this.variationConfiguration=b,this.requester=R,this.trackingCache=v,this.dataManager=T,this.clientConfiguration=w,this.externalPackageInfo=l,this.consentDataStorage=I,this.visitorCodeManager=c,this.eventManager=S,null!==s.cleanupInterval&&new Si(u,s.cleanupInterval),Ot.debug`RETURN: new KameleoonClient(siteCode: ${t}, dependencies: ${e}, configuration: ${i})`}initialize(){return u(this,void 0,void 0,function*(){if(this.stubMode)return!1;Ot.info(\"CALL: KameleoonClient.initialize()\");const t=yield this.clientConfiguration.initialize();return t.throw(),this.initialized=!0,Ot.info`RETURN: KameleoonClient.initialize() -> (result: ${t.ok})`,t.ok})}addData(t,...e){if(this.stubMode)throw new c(o.Initialization);if(Ot.info`CALL: KameleoonClient.addData(visitorCode: ${t}, data: ${e})`,this.visitorCodeManager.validateVisitorCode(t).throw(),!this.initialized)throw new c(o.Initialization);this.dataManager.storeData(t,...e).throw(),Ot.info`RETURN: KameleoonClient.addData(visitorCode: ${t}, data: ${e})`}getRemoteVisitorData({visitorCode:t,shouldAddData:e=!0,filters:i=ue}){return u(this,void 0,void 0,function*(){if(this.stubMode)throw new c(o.Initialization);if(Ot.info`CALL: KameleoonClient.getRemoteVisitorData(visitorCode: ${t}, shouldAddData: ${e}, filters: ${i})`,!this.initialized)throw new c(o.Initialization);this.visitorCodeManager.validateVisitorCode(t).throw();const{previousVisitAmount:a}=i;if(\"number\"==typeof a&&(a<1||a>25))throw new c(o.VisitAmount);const r=this.dataManager.isUniqueIdentifier(t),n=(yield this.requester.getVisitorData({visitorCode:t,filters:i,isMappingIdentifier:r})).throw(),{visitorData:s,storageVisitorData:u,visitsData:d,mappingIdentifier:l}=_e.parseVisitorData({data:n,filters:i,visitorCode:t,dataManager:this.dataManager,variationConfiguration:this.variationConfiguration});for(const i of u)(e||this.dataManager.isPersistentCustomData(i))&&this.addData(t,i);return d&&e&&this.addData(t,d),(null==i?void 0:i.visitorCode)&&l&&this.dataManager.setMappingIdentifier(t,l),Ot.info`RETURN: KameleoonClient.getRemoteVisitorData(visitorCode: ${t}, shouldAddData: ${e}, filters: ${i}) -> (visitorData: ${s})`,s})}trackConversion({visitorCode:t,goalId:e,negative:i,revenue:a,metadata:r}){this.stubMode||(Ot.info`CALL: KameleoonClient.trackConversion(visitorCode: ${t}, goalId: ${e}, negative: ${i}, revenue: ${a}, metadata: ${r})`,this.addData(t,new we({goalId:e,revenue:a,negative:i,metadata:r})),this.flush(t),Ot.info`RETURN: KameleoonClient.trackConversion(visitorCode: ${t}, goalId: ${e}, negative: ${i}, revenue: ${a}, metadata: ${r})`)}flush(t){var e;if(this.stubMode)throw new c(o.Initialization);let i,a=!1;if(\"string\"==typeof t?i=t:t&&(i=t.visitorCode,a=null!==(e=t.instant)&&void 0!==e&&e),Ot.info`CALL: KameleoonClient.flush(visitorCode: ${i}, instant: ${a})`,!this.initialized)throw new c(o.Initialization);if(\"string\"==typeof i)this.visitorCodeManager.validateVisitorCode(i).throw(),a?this.tracker.sendDataForVisitor(i,this._isConsentProvided(i)):this.tracker.scheduleVisitor(i,this._isConsentProvided(i));else{for(const t of this.dataManager.unsentDataVisitors)this.tracker.scheduleVisitor(t,this._isConsentProvided(t));for(const t of this.variationConfiguration.getVisitorsWithUnsentData())this.tracker.scheduleVisitor(t,this._isConsentProvided(t));a&&this.tracker.sendDataAll()}Ot.info`RETURN: KameleoonClient.flush(visitorCode: ${i}, instant: ${a})`}getFeatureFlags(){if(this.stubMode)throw new c(o.Initialization);if(Ot.info(\"CALL: KameleoonClient.getFeatureFlags()\"),!this.initialized)throw new c(o.Initialization);const t=this.clientConfiguration.featureFlags,e=[];return t.forEach(({id:t,featureKey:i})=>{e.push({id:t,key:i})}),Ot.info`RETURN: KameleoonClient.getFeatureFlags() -> (FeatureFlags: ${e})`,e}getVisitorFeatureFlags(t){if(this.stubMode)throw new c(o.Initialization);if(Ot.info`CALL: KameleoonClient.getVisitorFeatureFlags(visitorCode: ${t})`,!this.initialized)throw new c(o.Initialization);this.visitorCodeManager.validateVisitorCode(t).throw();const e=this._getActiveFeatureVariations(t),i=[];return e.forEach(({featureFlagId:t,featureKey:e})=>{i.push({id:t,key:e})}),Ot.info`RETURN: KameleoonClient.getVisitorFeatureFlags(visitorCode: ${t}) -> (FeatureFlags: ${i})`,i}getVariation({visitorCode:t,featureKey:e,track:i=!0}){if(this.stubMode)throw new c(o.Initialization);Ot.info`CALL: KameleoonClient.getVariation(visitorCode: ${t}, featureKey: ${e}, track: ${i})`,this.visitorCodeManager.validateVisitorCode(t).throw();const a=this._getFeatureVariation({visitorCode:t,featureKey:e,track:i}).throw();return Ot.info`RETURN: KameleoonClient.getVariation(visitorCode: ${t}, featureKey: ${e}, track: ${i}) -> (variation: ${a})`,a}getVariations({visitorCode:t,onlyActive:e=!1,track:i=!0}){if(this.stubMode)throw new c(o.Initialization);Ot.info`CALL: KameleoonClient.getVariations(visitorCode: ${t}, onlyActive: ${e}, track: ${i})`,this.visitorCodeManager.validateVisitorCode(t).throw();const a=new Map,r=this.clientConfiguration.featureFlags;for(const n of r.values()){const r=this._getFeatureVariation({visitorCode:t,featureKey:n.featureKey,track:i});r.ok&&(e&&r.data.key===ne||a.set(n.featureKey,r.data))}return Ot.info`RETURN: KameleoonClient.getVariations(visitorCode: ${t}, onlyActive: ${e}, track: ${i}) -> (variations: ${a})`,a}getActiveFeatureFlags(t){if(this.stubMode)throw new c(o.Initialization);if(Ot.info`CALL: KameleoonClient.getActiveFeatureFlags(visitorCode: ${t})`,!this.initialized)throw new c(o.Initialization);this.visitorCodeManager.validateVisitorCode(t).throw();const e=this._getActiveFeatureVariations(t),i=new Map;return e.forEach(e=>{const{variationKey:a,featureKey:r,variationId:n,experimentId:o}=e;let s=[];null!==n&&null!==o&&(s=this._getFeatureVariables({visitorCode:t,featureKey:r,variationKey:a}));const u=s.map(t=>_e.parseFeatureVariable(t).throw());i.set(e.featureKey,{key:a,id:n,experimentId:o,variables:u})}),Ot.info`RETURN: KameleoonClient.getActiveFeatureFlags(visitorCode: ${t}) -> (FeatureFlags: ${i})`,i}getFeatureFlagVariationKey(t,e){if(this.stubMode)throw new c(o.Initialization);Ot.info`CALL: KameleoonClient.getFeatureFlagVariationKey(visitorCode: ${t}, featureKey: ${e})`,this.visitorCodeManager.validateVisitorCode(t).throw();const{key:i}=this._getFeatureVariation({visitorCode:t,featureKey:e,track:!0}).throw();return Ot.info`RETURN: KameleoonClient.getFeatureFlagVariationKey(visitorCode: ${t}, featureKey: ${e}) -> (variationKey: ${i})`,i}getFeatureFlagVariable({visitorCode:t,featureKey:e,variableKey:i}){if(this.stubMode)throw new c(o.Initialization);Ot.info`CALL: KameleoonClient.getFeatureFlagVariable(visitorCode: ${t}, featureKey: ${e}, variableKey: ${i})`,this.visitorCodeManager.validateVisitorCode(t).throw();const{key:a}=this._getFeatureVariation({visitorCode:t,featureKey:e,track:!0}).throw(),r=this._getFeatureVariables({visitorCode:t,featureKey:e,variationKey:a}).find(t=>t.key===i);if(!r)throw new c(o.FeatureFlagVariableNotFound,i,t);const{type:n,value:s}=_e.parseFeatureVariable(r).throw(),u={type:n,value:s};return Ot.info`RETURN: KameleoonClient.getFeatureFlagVariable(visitorCode: ${t}, featureKey: ${e}, variableKey: ${i}) -> (FeatureFlagVariable: ${u})`,u}getFeatureFlagVariables(t,e){if(this.stubMode)throw new c(o.Initialization);Ot.info`CALL: KameleoonClient.getFeatureFlagVariables(visitorCode: ${t}, featureKey: ${e})`,this.visitorCodeManager.validateVisitorCode(t).throw();const{key:i}=this._getFeatureVariation({visitorCode:t,featureKey:e,track:!0}).throw(),a=this._getFeatureVariables({visitorCode:t,featureKey:e,variationKey:i}),r=[];for(const t of a){const e=_e.parseFeatureVariable(t).throw();r.push(e)}return Ot.info`RETURN: KameleoonClient.getFeatureFlagVariables(visitorCode: ${t}, featureKey: ${e}) -> (FeatureFlagVariables: ${r})`,r}isFeatureFlagActive(t,e){if(this.stubMode)throw new c(o.Initialization);let[i,a,r]=[\"\",\"\",!0];\"string\"==typeof t?(i=t,a=e):([i,a]=[t.visitorCode,t.featureKey],void 0!==t.track&&(r=t.track)),Ot.info`CALL: KameleoonClient.isFeatureFlagActive(visitorCode: ${i}, featureKey: ${a}, track ${r})`,this.visitorCodeManager.validateVisitorCode(i).throw();try{const{key:t}=this._getFeatureVariation({visitorCode:i,featureKey:a,track:r}).throw(),e=t!==ne;return Ot.info`RETURN: KameleoonClient.isFeatureFlagActive(visitorCode: ${i}, featureKey: ${a}, track: ${r}) -> (isActive: ${e})`,e}catch(t){if(t instanceof c&&t.type===o.FeatureFlagEnvironmentDisabled)return Ot.info`RETURN: KameleoonClient.isFeatureFlagActive(visitorCode: ${i}, featureKey: ${a}, track: ${r}) -> (isActive: false)`,!1;throw t}}getRemoteData(t){return u(this,void 0,void 0,function*(){if(this.stubMode)return null;Ot.info`CALL: KameleoonClient.getRemoteData(key: ${t})`;const e=yield this.requester.getRemoteData(t);return Ot.info`RETURN: KameleoonClient.getRemoteData(key: ${t}) -> (remoteData: ${e})`,e.throw()})}getVisitorWarehouseAudience({visitorCode:t,customDataIndex:e,warehouseKey:i}){return u(this,void 0,void 0,function*(){if(this.stubMode)return null;Ot.info`CALL: KameleoonClient.getVisitorWarehouseAudience(visitorCode: ${t}, customDataIndex: ${e}, warehouseKey: ${i})`,this.visitorCodeManager.validateVisitorCode(t).throw();const a=yield this.getRemoteData(i||t);if(!a)throw new c(o.RemoteData,`No data found for ${i||t} key`);if(!a[oe]||0===Object.keys(a[oe]).length)return Ot.info`RETURN: KameleoonClient.getVisitorWarehouseAudience(visitorCode: ${t}, customDataIndex: ${e}, warehouseKey: ${i}) -> (customData: null)`,null;const r=new Se(e,...Object.keys(a[oe]));return this.dataManager.storeData(t,r),Ot.info`RETURN: KameleoonClient.getVisitorWarehouseAudience(visitorCode: ${t}, customDataIndex: ${e}, warehouseKey: ${i}) -> (customData: ${r})`,r})}onEvent(t,e){if(this.stubMode)throw new c(o.Initialization);if(Ot.info`CALL: KameleoonClient.onEvent(event: ${t}, callback)`,!this.initialized)throw new c(o.Initialization);this.eventManager.addEventHandler(t,e),Ot.info`RETURN: KameleoonClient.onEvent(event: ${t}, callback)`}getEngineTrackingCode(t){if(this.stubMode)return\"\";Ot.info`CALL: KameleoonClient.getEngineTrackingCode(visitorCode: ${t})`,this.visitorCodeManager.validateVisitorCode(t).throw();const e=ke.getTrackingCode(this.trackingCache,t);return Ot.info`RETURN: KameleoonClient.getEngineTrackingCode(visitorCode: ${t}) -> (trackingCode: ${e})`,e}isInitialized(){return Ot.debug`CALL/RETURN: KameleoonClient.isInitialized() -> (initialized: ${this.initialized})`,this.initialized}setLogLevel(t){Ot.setLogLevel(t)}setForcedVariation({visitorCode:t,experimentId:e,variationKey:i,forceTargeting:a=!0}){this.stubMode||(Ot.info`CALL: KameleoonClient.setForcedVariation(visitorCode: '${t}', experimentId: ${e}, variationKey: '${i}', forceTargeting: ${a})`,this.visitorCodeManager.validateVisitorCode(t).throw(),this._setForcedVariation({visitorCode:t,experimentId:e,variationKey:i,forceTargeting:a}).throw(),Ot.info`RETURN: KameleoonClient.setForcedVariation(visitorCode: '${t}', experimentId: ${e}, variationKey: '${i}', forceTargeting: ${a})`)}evaluateAudiences(t){if(this.stubMode)return;Ot.info`CALL: KameleoonClient.evaluateAudiences(visitorCode: ${t})`,this.visitorCodeManager.validateVisitorCode(t).throw();const e=[],i=this.dataManager.getVisitorData(t);for(let a of this.clientConfiguration.segments.values()){if(!a.audienceTracking)continue;const r=ke.checkTargeting({segment:a,visitorCode:t,targetingData:i,experimentId:null,clientConfiguration:this.clientConfiguration,packageInfo:this.externalPackageInfo,dataManager:this.dataManager,variationConfiguration:this.variationConfiguration});r.ok&&r.data&&(Ot.info`Visitor ${t} has been targeted for ${a}`,e.push(new wi(Number(a.id))))}0!==e.length&&this.dataManager.storeData(t,...e),this.flush(t),Ot.info`RETURN: KameleoonClient.evaluateAudiences(visitorCode: ${t})`}setUserConsent({visitorCode:t,consent:e,setData:i}){this.stubMode||(Ot.info`CALL: KameleoonClient.setUserConsent(visitorCode: ${t}, consent: ${e}, setData: ${i})`,this.visitorCodeManager.validateVisitorCode(t).throw(),this.updateConsentData(t,e),e?i({visitorCode:t,key:Di.VisitorCode,maxAge:Gi,path:\"/\"}):this.visitorCodeManager.consentRequired&&i({visitorCode:\"\",key:Di.VisitorCode,maxAge:0,path:\"/\"}),this.flush(t),Ot.info`RETURN: KameleoonClient.setUserConsent(visitorCode: ${t}, consent: ${e}, setData: ${i})`)}updateConsentData(t,e){const i=this.consentDataStorage.read();if(!i.ok)return void(i.error.type===o.StorageEmpty&&this.consentDataStorage.write({[t]:{consent:e}}));const a=i.data;a[t]={consent:e},this.consentDataStorage.write(a)}_isConsentProvided(t){Ot.debug`CALL: KameleoonClient._isConsentProvided(visitorCode: ${t})`;const{isConsentRequired:e}=this.clientConfiguration,i=this.consentDataStorage.read();let a=!1;if(e){if(i.ok){const e=i.data[t];a=\"boolean\"==typeof e?e:e&&e.consent}}else a=!0;return Ot.debug`RETURN: KameleoonClient._isConsentProvided(visitorCode: ${t}) -> (isConsentProvided: ${a})`,a}_getFeatureVariables({visitorCode:t,featureKey:e,variationKey:i}){Ot.debug`CALL: KameleoonClient._getFeatureVariables(visitorCode: ${t}, featureKey: ${e}, variationKey: ${i})`;const a=this.clientConfiguration.featureFlags.get(e);if(!a)throw new c(o.FeatureFlagConfigurationNotFound,e);const r=a.variations.find(t=>t.key===i);if(!r)throw new c(o.FeatureFlagVariationNotFound,i,t);return Ot.debug`RETURN: KameleoonClient._getFeatureVariables(visitorCode: ${t}, featureKey: ${e}, variationKey: ${i}) -> (variables: ${r.variables})`,r.variables}_getActiveFeatureVariations(t){Ot.debug`CALL: KameleoonClient._getActiveFeatureVariations(visitorCode: ${t})`;const e=this.clientConfiguration.featureFlags,i=[];for(const a of e.values()){if(!a.environmentEnabled)continue;const e=this._evaluate({visitorCode:t,featureFlag:a,track:!1,save:!1});e.variationKey!==ne&&i.push({variationKey:e.variationKey,variationId:e.variationId,experimentId:e.experimentId,featureFlagId:a.id,featureKey:a.featureKey,rule:null,isTargetedRule:e.ruleType===_t.TARGETED_DELIVERY})}return Ot.debug`RETURN: KameleoonClient._getActiveFeatureVariations(visitorCode: ${t}) -> (activeVariations: ${i})`,i}_evaluate({visitorCode:t,featureFlag:e,track:i,save:a}){let r;Ot.debug`CALL: KameleoonClient._evaluate(visitorCode: ${t}, featureFlag: ${e}, track: ${i}, save: ${a})`;let n=null;const o=this.dataManager.getVisitorData(t),s=this.variationConfiguration.getForcedFeatureVariation(t,e.featureKey);if(s.ok&&(n=s.data),n)r=Wi.EvaluatedExperiment.fromForcedFeatureVariation(e.defaultVariationKey,n);else if(this._isVisitorNotInHoldout(t,i,a,e,o)&&this._isFFUnrestrictedByMEGroup(t,e,o)){const n=this._getCodeForHash(t,e.bucketingCustomDataIndex,o),s=this.variationConfiguration.getVariation({visitorCode:t,visitorIdentifier:n,featureFlag:e,track:i,withAssignment:a,targetingData:o,clientConfiguration:this.clientConfiguration,dataManager:this.dataManager,packageInfo:this.externalPackageInfo}).throw();r=Wi.EvaluatedExperiment.fromVariationData(s)}else r=Wi.EvaluatedExperiment.fromDefaultVariationKey(e.defaultVariationKey);return a&&!r.isSimulated&&null!==r.experimentId&&null!==r.variationId&&this.variationConfiguration.updateStoredVariations(t,{[r.experimentId]:{variationId:r.variationId,isTargetedRule:r.ruleType===_t.TARGETED_DELIVERY,status:i?xt.Unsent:xt.Sent}}),this.eventManager.fireEvent(Bt.Evaluation,{featureKey:e.featureKey,variation:{key:r.variationKey,experimentId:r.experimentId,id:r.variationId}}),Ot.debug`RETURN: KameleoonClient._evaluate(visitorCode: ${t}, featureFlag: ${e}, track: ${i}, save: ${a}) -> (evalExp: ${r})`,r}_isFFUnrestrictedByMEGroup(t,e,i){const a=e.mutuallyExclusiveGroup;if(!a)return!0;Ot.debug`CALL: KameleoonClient._isFFUnrestrictedByMEGroup(visitorCode: ${t}, featureFlag: ${e}, visitorData: ${i})`;let r=!0;const n=this.clientConfiguration.meGroups.get(a);if(n){const o=this._getCodeForHash(t,e.bucketingCustomDataIndex,i),s=_i.getHashDoubleForMEGroup(o,a);Ot.debug`Calculated meGroup hash ${s} for code: ${o}, meGroup: ${a}`,r=n.getFeatureFlagByHash(s)===e}return Ot.debug`RETURN: KameleoonClient._isFFUnrestrictedByMEGroup(visitorCode: ${t}, featureFlag: ${e}, visitorData: ${i}) -> (selected: ${r})`,r}_getFeatureVariation({visitorCode:t,featureKey:e,track:i}){if(Ot.debug`CALL: KameleoonClient._getFeatureVariation(visitorCode: ${t}, featureKey: ${e}, track: ${i})`,!this.initialized)return s.Err(new c(o.Initialization));const a=this.clientConfiguration.featureFlags.get(e);if(!a)return s.Err(new c(o.FeatureFlagConfigurationNotFound,e));if(!a.environmentEnabled)return s.Err(new c(o.FeatureFlagEnvironmentDisabled,a.featureKey,this.environment));const r=this._evaluate({visitorCode:t,featureFlag:a,track:i,save:!0}),{experimentId:n,variationId:u,variationKey:d,isSimulated:l}=r;let h=new Map,g=!1;try{this._getFeatureVariables({visitorCode:t,featureKey:e,variationKey:d}).forEach(t=>{g||t.type!==Nt.JS&&t.type!==Nt.CSS||(g=!0);const e=_e.parseFeatureVariable(t).throw();h.set(t.key,e)})}catch(t){}n&&\"number\"==typeof u&&!l&&ke.updateCache({cacheManager:this.trackingCache,hasJsCssVariables:g,visitorCode:t,experimentId:n,variationId:u}),i&&!l&&this.tracker.scheduleVisitor(t,this._isConsentProvided(t));const f={key:d,id:u,experimentId:n,variables:h};return Ot.debug`RETURN: KameleoonClient._getFeatureVariation(visitorCode: ${t}, featureKey: ${e}, track: ${i}) -> (variation: ${f})`,s.Ok(f)}_isVisitorNotInHoldout(t,e,i,a,r){const n=this.clientConfiguration.holdout;if(!n)return!0;Ot.debug`CALL: KameleoonClient._isVisitorNotInHoldout(visitorCode: ${t}, track: ${e}, save: ${i}, featureFlag: ${a}, visitorData: ${r})`;let o=!0;const s=this._getCodeForHash(t,null==a?void 0:a.bucketingCustomDataIndex,r),u=_i.getHashDouble({visitorIdentifier:s,respoolTime:null,id:String(n.experimentId)});Ot.debug`Calculated holdoutHash: ${u} for visitorCode: ${s}`;let d=ke.getVariationByHash(n.variationByExposition,u);return null!==d&&(o=\"in-holdout\"!==d.variationKey,i&&this.variationConfiguration.updateStoredVariations(t,{[n.experimentId]:{variationId:d.variationId,isTargetedRule:!1,status:e?xt.Unsent:xt.Sent}})),Ot.debug`RETURN: KameleoonClient._isVisitorNotInHoldout(visitorCode: ${t}, track: ${e}, save: ${i}, featureFlag: ${a}, visitorData: ${r}) -> (isNotInHoldout: ${o})`,o}_setForcedVariation({visitorCode:t,experimentId:e,variationKey:i,forceTargeting:a=!0}){if(Ot.debug`CALL: KameleoonClient._setForcedVariation(visitorCode: '${t}', experimentId: ${e}, variationKey: '${i}', forceTargeting: ${a})`,null===i){const r=this.variationConfiguration.updateForcedExperimentVariation(t,e,null);return Ot.debug`RETURN: KameleoonClient._setForcedVariation(visitorCode: '${t}', experimentId: ${e}, variationKey: '${i}', forceTargeting: ${a}) -> (writeResult: ${r})`,r}let r=null,n=null;if(r=this.clientConfiguration.experimentMap.get(e),!r)return Ot.error`Experiment with id ${e} not found for visitor ${t}`,s.Err(new c(o.FeatureFlagExperimentNotFound,e,t));if(n=r.variations.get(i),void 0===n)return Ot.error`Variation with key ${i} not found in experiment ${r} for visitor ${t}`,s.Err(new c(o.FeatureFlagVariationNotFound,i,t));r={type:r.type,experimentId:e},n={variationKey:i,variationId:n};const u=this.variationConfiguration.updateForcedExperimentVariation(t,e,{rule:r,varByExp:n,forceTargeting:a});return Ot.debug`RETURN: KameleoonClient._setForcedVariation(visitorCode: '${t}', experimentId: ${e}, variationKey: '${i}', forceTargeting: ${a}) -> (writeResult: ${u})`,u}_getCodeForHash(t,e,i){var a;let r;if(Ot.debug`CALL: KameleoonClient._getCodeForHash(visitorCode: ${t}, bucketingCustomDataIndex: ${e}, visitorData: ${i})`,null!=e){const t=null==i?void 0:i.customData;if(t){const i=null===(a=t[e])||void 0===a?void 0:a.value[0];i&&(r=i)}}return r||(r=this.dataManager.getVisitorIdentifier(t)),Ot.debug`RETURN: KameleoonClient._getCodeForHash(visitorCode: ${t}, bucketingCustomDataIndex: ${e}, visitorData: ${i}) -> (codeForHash: ${r})`,r}}Wi.EvaluatedExperiment=class{static fromForcedFeatureVariation(t,e){var i,a,r;let n=t;return e.varByExp?n=e.varByExp.variationKey:e.rule&&e.rule.type===_t.EXPERIMENTATION&&(n=ne),{variationKey:n,variationId:(null===(i=e.varByExp)||void 0===i?void 0:i.variationId)||null,experimentId:(null===(a=e.rule)||void 0===a?void 0:a.experimentId)||null,ruleType:(null===(r=e.rule)||void 0===r?void 0:r.type)||null,isSimulated:e.simulated}}static fromVariationData(t){var e,i;return{variationKey:t.variationKey,variationId:t.variationId,experimentId:t.experimentId,ruleType:null!==(i=null===(e=t.rule)||void 0===e?void 0:e.type)&&void 0!==i?i:null,isSimulated:!1}}static fromDefaultVariationKey(t){return{variationKey:t,variationId:null,experimentId:null,ruleType:null,isSimulated:!1}}};class Yi{static simulateSuccessRequest(t,e){switch(t){case p.Tracking:return new Promise(t=>{t({status:204,json:()=>new Promise(t=>t(null)),text:()=>new Promise(t=>t(\"\")),ok:!0})});case p.Configuration:case p.RemoteData:return new Promise(t=>{t({status:200,json:()=>new Promise(t=>t(e)),text:()=>new Promise(t=>t(\"\")),ok:!0})});default:l(t)}}static getCookieValue(t,e){const i=t.split(\"; \").find(t=>{const[i,a]=t.split(\"=\");return i===e&&\"\"!==a});return i?i.split(\"=\")[1]:null}}var Ji=s.Err,Xi=s.Ok;export{Be as ApplicationVersion,be as Browser,te as BrowserType,we as Conversion,Pe as Cookie,Se as CustomData,Kt as CustomDataScope,bi as DataManager,ze as DataProcessor,Vi as DataStorage,Ae as Device,Qt as DeviceType,Ft as Environment,Ji as Err,Bt as EventType,$e as GeolocationData,m as Header,g as HttpMethod,Wi as KameleoonCore,Xt as KameleoonData,c as KameleoonError,o as KameleoonException,Ot as KameleoonLogger,Di as KameleoonStorageKey,Yi as KameleoonUtils,Re as ListUtilities,wt as LogLevel,Mt as Milliseconds,v as NUMBER_OF_RETRIES,Xi as Ok,Oe as OperatingSystem,Zt as OperatingSystemType,Ve as PageView,_e as Parser,p as RequestType,se as SdkLanguageType,qe as StaticData,xt as TrackingStatus,We as Tree,Ge as UniqueIdentifier,Ke as UserAgent,ke as Utilities,Ki as VISITOR_CODE_LENGTH,ki as VISIT_DURATION,Te as Validator,Nt as VariableType,Bi as VisitorCodeManager};\n//# sourceMappingURL=javascript-sdk-core.es.min.js.map\n","import { Milliseconds } from '@kameleoon/javascript-sdk-core';\n\nexport enum CookieParameter {\n PairsDelimiter = '; ',\n KeyValueDelimiter = '=',\n MaxAge = 'Max-Age',\n Path = 'Path',\n Domain = 'Domain',\n}\nexport const ACTIVITY_INTERVAL = 15 * Milliseconds.Second;\nexport const VISIT_DURATION = 30 * Milliseconds.Minute;\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import {\n RequestType,\n IExternalRequester,\n KameleoonResponseType,\n SendRequestParametersType,\n} from '@kameleoon/javascript-sdk-core';\n\nexport class Requester implements IExternalRequester {\n public async sendRequest({\n url,\n parameters,\n }: SendRequestParametersType<RequestType>): Promise<KameleoonResponseType> {\n return await fetch(url, parameters);\n }\n}\n","import {\n GetResultCookieParametersType,\n IExternalVisitorCodeManager,\n SetDataParametersType,\n} from './types';\nimport { CookieParameter } from './constants';\nimport {\n KameleoonLogger,\n KameleoonUtils,\n} from '@kameleoon/javascript-sdk-core';\n\nclass VisitorCodeManager implements IExternalVisitorCodeManager {\n public getData(key: string): string | null {\n KameleoonLogger.debug`CALL: VisitorCodeManager.getData(key: ${key})`;\n const cookie = document.cookie;\n\n let visitorCode = null;\n if (cookie) {\n visitorCode = KameleoonUtils.getCookieValue(cookie, key);\n }\n\n KameleoonLogger.debug`RETURN: VisitorCodeManager.getData(key: ${key}) -> (visitorCode: ${visitorCode})`;\n return visitorCode;\n }\n\n public setData({\n visitorCode,\n domain,\n maxAge,\n key,\n path,\n }: SetDataParametersType): void {\n const resultCookie = this.getResultCookie({\n domain,\n visitorCode,\n key,\n maxAge,\n path,\n });\n\n document.cookie = resultCookie;\n KameleoonLogger.debug`Cookie ${resultCookie} was added for visitor ${visitorCode}`;\n }\n\n private getResultCookie({\n domain,\n visitorCode,\n maxAge,\n key,\n path,\n }: GetResultCookieParametersType): string {\n const cookieArray = [\n key + CookieParameter.KeyValueDelimiter + visitorCode,\n CookieParameter.MaxAge + CookieParameter.KeyValueDelimiter + maxAge,\n CookieParameter.Path + CookieParameter.KeyValueDelimiter + path,\n ];\n\n if (domain) {\n cookieArray.push(\n CookieParameter.Domain + CookieParameter.KeyValueDelimiter + domain,\n );\n }\n\n return cookieArray.join(CookieParameter.PairsDelimiter);\n }\n}\n\nexport { VisitorCodeManager as KameleoonVisitorCodeManager };\n","import {\n IExternalStorage,\n KameleoonStorageKey,\n} from '@kameleoon/javascript-sdk-core';\nimport { KameleoonVisitorCodeManager } from './visitorCodeManager';\nimport { EngineConsentDataType } from './types';\n\n// --- Note ---\n// Named `DataStorage` to avoid collision with `Storage` from `window` API\nexport class DataStorage<T> implements IExternalStorage<T> {\n private visitorCodeManager?: KameleoonVisitorCodeManager;\n\n public read(key: string): T | null {\n const data = localStorage.getItem(key);\n\n if (key === KameleoonStorageKey.ConsentData) {\n if (!data || data === '{}') {\n return this.getEngineConsentData();\n }\n }\n\n return data ? JSON.parse(data) : null;\n }\n\n public write(key: string, data: T): void {\n localStorage.setItem(key, JSON.stringify(data));\n }\n\n private getEngineConsentData(): T | null {\n if (!this.visitorCodeManager) {\n this.visitorCodeManager = new KameleoonVisitorCodeManager();\n }\n\n const visitorCode = this.visitorCodeManager.getData(\n KameleoonStorageKey.VisitorCode,\n );\n\n if (!visitorCode) {\n return null;\n }\n\n try {\n const engineConsentData = localStorage.getItem('kameleoonLegalConsent');\n\n if (!engineConsentData) {\n return null;\n }\n\n const engineConsent: EngineConsentDataType =\n JSON.parse(engineConsentData);\n\n if (typeof engineConsent?.value?.AB_TESTING === 'boolean') {\n return { [visitorCode]: engineConsent.value.AB_TESTING } as T;\n }\n\n return null;\n } catch (_) {\n return null;\n }\n }\n}\n","import {\n IExternalEventSource,\n EventSourceOpenParametersType,\n} from '@kameleoon/javascript-sdk-core';\n\n// --- Note ---\n// Named `KameleoonEventSource` to avoid collision with native `EventSource`\nexport class KameleoonEventSource implements IExternalEventSource {\n private eventSource?: EventSource;\n\n public open({\n eventType,\n onEvent,\n url,\n }: EventSourceOpenParametersType): void {\n const eventSource = new EventSource(url);\n\n this.eventSource = eventSource;\n this.eventSource.addEventListener(eventType, onEvent);\n }\n\n public close(): void {\n if (this.eventSource) {\n this.eventSource.close();\n }\n }\n\n public onError(callback: (error: Event) => void): void {\n if (this.eventSource) {\n this.eventSource.onerror = callback;\n }\n }\n}\n","import { IExternalPRNG } from '@kameleoon/javascript-sdk-core';\n\nexport class KameleoonPRNG implements IExternalPRNG {\n public getRandomNumber(): number {\n if (typeof window !== 'undefined' && window?.crypto) {\n const arr = new Uint32Array(1);\n const uint32Max = 0xffffffff + 1;\n\n window.crypto.getRandomValues(arr);\n\n return arr[0] / uint32Max;\n }\n\n return Math.random();\n }\n}\n","import {\n IExternalLogger,\n LogLevel\n} from '@kameleoon/javascript-sdk-core';\n\n/**\n * A simple implementation of a logger for js clients that prints log messages to the console with timestamp.\n * This logger implements the {@code IExternalLogger} interface.\n */\nexport class DefaultLogger implements IExternalLogger {\n public log(level: LogLevel, message: string): void {\n const date = new Date();\n const formattedDate = date.toLocaleString('en-US', { timeZoneName: 'short' });\n message = `${formattedDate} ${message}`;\n switch (level) {\n case LogLevel.DEBUG:\n console.debug(message);\n break;\n case LogLevel.INFO:\n console.info(message);\n break;\n case LogLevel.WARNING:\n console.warn(message);\n break;\n case LogLevel.ERROR:\n console.error(message);\n break;\n }\n }\n}\n","import {\n IDataManager,\n ITracker,\n KameleoonLogger,\n} from '@kameleoon/javascript-sdk-core';\nimport { ClientDataManager } from 'src/dataManager';\n\nexport interface VisitorActivityManagerType {}\n\nexport class VisitorActivityManager implements VisitorActivityManagerType {\n private dataManager: ClientDataManager;\n private tracker: ITracker;\n private isConsentProvided: (visitorCode: string) => boolean;\n\n /**\n * @param dataManager - Instance of ClientDataManager\n * @param tracker - Instance of ITracker\n * @param isConsentProvided - Function to check if consent is provided for a visitor\n * @param interval - Interval in milliseconds\n */\n constructor(\n dataManager: ClientDataManager,\n tracker: ITracker,\n isConsentProvided: (visitorCode: string) => boolean,\n interval: number,\n ) {\n KameleoonLogger.debug`CALL: new VisitorActivityManager(dataManager, tracker, isConsentProvided, interval: ${interval})`;\n this.dataManager = dataManager;\n this.tracker = tracker;\n this.isConsentProvided = isConsentProvided;\n\n this.setup(interval);\n KameleoonLogger.debug`RETURN: new VisitorActivityManager(dataManager, tracker, isConsentProvided, interval: ${interval})`;\n }\n\n private setup(interval: number): void {\n setInterval(() => {\n this.updateLastActivity();\n }, interval);\n this.updateLastActivity();\n }\n\n private updateLastActivity(): void {\n const visitorCode = this.dataManager.updateLastActivity();\n if (!visitorCode) {\n return;\n }\n\n this.tracker.scheduleVisitor(\n visitorCode,\n this.isConsentProvided(visitorCode),\n );\n }\n}\n","import {\n BrowserType,\n DeviceType,\n KameleoonLogger,\n OperatingSystemType,\n PageView,\n} from '@kameleoon/javascript-sdk-core';\n\nexport type BrowserResult = {\n name?: BrowserType;\n version?: string;\n};\n\nexport type OSResult = {\n name?: OperatingSystemType;\n version?: string;\n};\n\nexport type PlatformResult = {\n type?: DeviceType;\n};\n\nexport type ParsedResult = {\n browser?: BrowserResult;\n os?: OSResult;\n platform?: PlatformResult;\n pageView?: PageView;\n};\n\nexport class Utils {\n static getFirstMatch(regex: RegExp, userAgent: string): string {\n const match = userAgent.match(regex);\n return (match && match.length > 0 && match[1]) || '';\n }\n\n static getSecondMatch(regex: RegExp, userAgent: string): string {\n const match = userAgent.match(regex);\n return (match && match.length > 1 && match[2]) || '';\n }\n\n static assign<T extends object>(target: T, ...sources: Partial<T>[]): T {\n return Object.assign(target, ...sources) as T;\n }\n}\n\nexport class BrowserParser {\n private userAgent: string;\n private parsedResult: ParsedResult;\n\n constructor(userAgent: string) {\n this.userAgent = userAgent;\n this.parsedResult = {};\n const isReactNative = this.userAgent === '' && this.parseReactNative();\n if (!isReactNative) {\n this.parse();\n }\n }\n\n private parseBrowser(): BrowserResult {\n const browserRules = [\n {\n test: [/chrome|crios|crmo/i],\n describe: (userAgent: string): BrowserResult => ({\n name: BrowserType.Chrome,\n version: Utils.getFirstMatch(\n /(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,\n userAgent,\n ),\n }),\n },\n {\n test: [/firefox|iceweasel|fxios/i],\n describe: (userAgent: string): BrowserResult => ({\n name: BrowserType.Firefox,\n version: Utils.getFirstMatch(\n /(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,\n userAgent,\n ),\n }),\n },\n {\n test: [/safari|applewebkit/i],\n describe: (userAgent: string): BrowserResult => ({\n name: BrowserType.Safari,\n version: Utils.getFirstMatch(/version\\/(\\d+(\\.?_?\\d+)+)/i, userAgent),\n }),\n },\n {\n test: [/opr\\/|opios/i],\n describe: (userAgent: string): BrowserResult => ({\n name: BrowserType.Opera,\n version: Utils.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i, userAgent),\n }),\n },\n {\n test: [/edg([ea]|ios)/i],\n describe: (userAgent: string): BrowserResult => ({\n name: BrowserType.InternetExplorer,\n version: Utils.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i, userAgent),\n }),\n },\n {\n test: [/googlebot/i],\n describe: (userAgent: string): BrowserResult => ({\n name: BrowserType.Other,\n version:\n Utils.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i, userAgent) ||\n Utils.getFirstMatch(/version\\/(\\d+(\\.?_?\\d+)+)/i, userAgent),\n }),\n },\n {\n test: [/SamsungBrowser/i],\n describe: (userAgent: string): BrowserResult => ({\n name: BrowserType.Other,\n version: Utils.getFirstMatch(\n /(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,\n userAgent,\n ),\n }),\n },\n {\n test: [/yabrowser/i],\n describe: (userAgent: string): BrowserResult => ({\n name: BrowserType.Other,\n version: Utils.getFirstMatch(\n /(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,\n userAgent,\n ),\n }),\n },\n {\n test: [/ucbrowser/i],\n describe: (userAgent: string): BrowserResult => ({\n name: BrowserType.Other,\n version: Utils.getFirstMatch(\n /(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,\n userAgent,\n ),\n }),\n },\n {\n test: [/vivaldi/i],\n describe: (userAgent: string): BrowserResult => ({\n name: BrowserType.Other,\n version: Utils.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i, userAgent),\n }),\n },\n {\n test: [/phantom/i],\n describe: (userAgent: string): BrowserResult => ({\n name: BrowserType.Other,\n version: Utils.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i, userAgent),\n }),\n },\n {\n test: [/electron/i],\n describe: (userAgent: string): BrowserResult => ({\n name: BrowserType.Other,\n version: Utils.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i, userAgent),\n }),\n },\n {\n test: [/chromium/i],\n describe: (userAgent: string): BrowserResult => ({\n name: BrowserType.Other,\n version: Utils.getFirstMatch(\n /(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,\n userAgent,\n ),\n }),\n },\n {\n test: [/opera/i],\n describe: (userAgent: string): BrowserResult => ({\n name: BrowserType.Opera,\n version: Utils.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i, userAgent),\n }),\n },\n {\n test: [/msie|trident/i],\n describe: (userAgent: string): BrowserResult => ({\n name: BrowserType.InternetExplorer,\n version: Utils.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i, userAgent),\n }),\n },\n {\n test: [/.*/i],\n describe: (userAgent: string): BrowserResult => {\n const fallbackRegex = userAgent.includes('(')\n ? /^(.*)\\/(.*)[ \\t]\\((.*)/\n : /^(.*)\\/(.*) /;\n return {\n name: BrowserType.Other,\n version: Utils.getSecondMatch(fallbackRegex, userAgent),\n };\n },\n },\n ];\n\n const match = browserRules.find((rule) =>\n rule.test.some((regex) => regex.test(this.userAgent)),\n );\n\n if (match) {\n this.parsedResult.browser = match.describe(this.userAgent);\n }\n\n return this.parsedResult.browser || {};\n }\n\n private parseOS(): OSResult {\n const osRules = [\n {\n test: [/windows phone/i],\n describe: (): OSResult => ({ name: OperatingSystemType.WindowsPhone }),\n },\n {\n test: [/windows /i],\n describe: (): OSResult => ({ name: OperatingSystemType.Windows }),\n },\n {\n test: [/Macintosh(.*?) FxiOS(.*?) Version\\//],\n describe: (userAgent: string): OSResult => ({\n name: OperatingSystemType.IOS,\n version: Utils.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/, userAgent),\n }),\n },\n {\n test: [/macintosh/i],\n describe: (userAgent: string): OSResult => ({\n name: OperatingSystemType.Mac,\n version: Utils.getFirstMatch(\n /mac os x (\\d+(\\.?_?\\d+)+)/i,\n userAgent,\n ).replace(/[_\\s]/g, '.'),\n }),\n },\n {\n test: [/(ipod|iphone|ipad)/i],\n describe: (userAgent: string): OSResult => ({\n name: OperatingSystemType.IOS,\n version: Utils.getFirstMatch(\n /os (\\d+([_\\s]\\d+)*) like mac os x/i,\n userAgent,\n ).replace(/[_\\s]/g, '.'),\n }),\n },\n {\n test: [/android/i],\n describe: (): OSResult => ({ name: OperatingSystemType.Android }),\n },\n {\n test: [/linux/i],\n describe: (): OSResult => ({ name: OperatingSystemType.Linux }),\n },\n ];\n\n const match = osRules.find((rule) =>\n rule.test.some((regex) => regex.test(this.userAgent)),\n );\n\n if (match) {\n this.parsedResult.os = match.describe(this.userAgent);\n }\n\n return this.parsedResult.os || {};\n }\n\n private parsePlatform(): PlatformResult {\n const platformRules = [\n {\n test: [/huserAgentwei/i],\n describe: (userAgent: string): PlatformResult => ({ type: DeviceType.Phone }),\n },\n {\n test: [/nexus\\s*(?:7|8|9|10).*/i],\n describe: (): PlatformResult => ({ type: DeviceType.Tablet }),\n },\n {\n test: [/ipad/i],\n describe: (): PlatformResult => ({ type: DeviceType.Tablet }),\n },\n {\n test: [/Macintosh(.*?) FxiOS(.*?) Version\\//],\n describe: (): PlatformResult => ({ type: DeviceType.Tablet }),\n },\n {\n test: [/kftt build/i],\n describe: (): PlatformResult => ({ type: DeviceType.Tablet }),\n },\n {\n test: [/silk/i],\n describe: (): PlatformResult => ({ type: DeviceType.Tablet }),\n },\n {\n test: [/tablet(?! pc)/i],\n describe: (): PlatformResult => ({ type: DeviceType.Tablet }),\n },\n {\n test: [/ipod|iphone/i],\n describe: (): PlatformResult => ({ type: DeviceType.Phone }),\n },\n {\n test: [/nexus\\s*[0-6].*/i, /galaxy nexus/i],\n describe: (): PlatformResult => ({ type: DeviceType.Phone }),\n },\n {\n test: [/[^-]mobi/i],\n describe: (): PlatformResult => ({ type: DeviceType.Phone }),\n },\n {\n test: [/blackberry/i],\n describe: (): PlatformResult => ({ type: DeviceType.Phone }),\n },\n {\n test: [/bada/i],\n describe: (): PlatformResult => ({ type: DeviceType.Phone }),\n },\n {\n test: [/windows phone/i],\n describe: (): PlatformResult => ({ type: DeviceType.Phone }),\n },\n {\n test: [/android/i],\n describe: (): PlatformResult => ({ type: DeviceType.Phone }),\n },\n {\n test: [/ios/i],\n describe: (): PlatformResult => ({ type: DeviceType.Desktop }),\n },\n {\n test: [/windows/i],\n describe: (): PlatformResult => ({ type: DeviceType.Desktop }),\n },\n {\n test: [/linux/i],\n describe: (): PlatformResult => ({ type: DeviceType.Desktop }),\n },\n ];\n const platformRulesOSName = [\n {\n test: () =>\n this.parsedResult.os?.name === OperatingSystemType.Android &&\n Number(String(this.parsedResult.os?.version).split('.')[0]) >= 3,\n describe: (userAgent: string): PlatformResult => ({ type: DeviceType.Tablet }),\n },\n {\n test: () => this.parsedResult.os?.name === OperatingSystemType.Android,\n describe: (): PlatformResult => ({ type: DeviceType.Phone }),\n },\n {\n test: () => this.parsedResult.os?.name === OperatingSystemType.Mac,\n describe: (): PlatformResult => ({ type: DeviceType.Desktop }),\n },\n {\n test: () => this.parsedResult.os?.name === OperatingSystemType.Windows,\n describe: (): PlatformResult => ({ type: DeviceType.Desktop }),\n },\n {\n test: () => this.parsedResult.os?.name === OperatingSystemType.Linux,\n describe: (): PlatformResult => ({ type: DeviceType.Desktop }),\n },\n ];\n\n const match =\n platformRules.find((rule) =>\n rule.test.some((regex) => regex.test(this.userAgent)),\n ) || platformRulesOSName.find((rule) => rule.test());\n\n if (match) {\n this.parsedResult.platform = match.describe(this.userAgent);\n }\n\n return this.parsedResult.platform || {};\n }\n\n private parseOsName(name: string): OperatingSystemType | undefined {\n switch (name) {\n case 'ios':\n return OperatingSystemType.IOS;\n case 'android':\n return OperatingSystemType.Android;\n case 'windows':\n return OperatingSystemType.Windows;\n case 'macos':\n return OperatingSystemType.Mac;\n default:\n return undefined;\n }\n }\n\n private parseOsVersion(ver: string | number | undefined): string | undefined {\n if (ver == null) {\n return undefined;\n }\n return typeof ver === 'number' ? ver.toString() : ver;\n }\n\n private parse(): void {\n if (this.userAgent) {\n this.parseBrowser();\n this.parseOS();\n this.parsePlatform();\n }\n }\n\n public parseWebView(): void {\n let href = window.location?.href;\n if (href) {\n const title = document ? document.title : '';\n this.parsedResult.pageView = new PageView({\n urlAddress: href,\n title: title,\n });\n }\n }\n\n private parseReactNative(): boolean {\n let reactNative: any;\n try {\n reactNative = require('react-native');\n } catch {\n return false;\n }\n\n if (!reactNative) return false;\n\n try {\n const RNPlatform = reactNative.Platform;\n const RNDimensions = reactNative.Dimensions;\n const osName = this.parseOsName(RNPlatform.OS);\n const osVer = this.parseOsVersion(RNPlatform.Version);\n let devType: DeviceType | undefined;\n\n if (osName) {\n if (\n osName === OperatingSystemType.Windows ||\n osName === OperatingSystemType.Mac\n ) {\n devType = DeviceType.Desktop;\n } else if (\n osName === OperatingSystemType.Android ||\n osName === OperatingSystemType.IOS\n ) {\n const { width, height } = RNDimensions.get('window');\n devType =\n Math.min(width, height) >= 600\n ? DeviceType.Tablet\n : DeviceType.Phone;\n }\n }\n\n this.parsedResult = {\n os: osName\n ? {\n name: osName,\n version: osVer,\n }\n : undefined,\n platform: {\n type: devType,\n },\n };\n\n return true;\n } catch {\n return false;\n }\n }\n\n public getResult(): ParsedResult {\n return Utils.assign({}, this.parsedResult);\n }\n}\n\nexport default class BrowserAnalyse {\n static browserParser: BrowserParser | null = null;\n\n static parse(): ParsedResult {\n KameleoonLogger.debug`CALL: BrowserAnalyse.parse()`;\n if (!BrowserAnalyse.browserParser) {\n const userAgent = navigator.userAgent || '';\n KameleoonLogger.debug`BrowserAnalyse userAgent: ${userAgent}`;\n BrowserAnalyse.browserParser = new BrowserParser(userAgent);\n }\n BrowserAnalyse.browserParser.parseWebView();\n const result = BrowserAnalyse.browserParser.getResult();\n KameleoonLogger.debug`RETURN: BrowserAnalyse.parse() -> (result: ${result})`;\n return result;\n }\n\n static getBrowserVersion(version: string | undefined): number | undefined {\n if (!version) {\n return undefined;\n }\n\n const versionParts = version.split('.');\n if (versionParts.length > 0) {\n const result = parseInt(versionParts[0]);\n return isNaN(result) ? undefined : result;\n }\n return undefined;\n }\n}\n","import {\n Browser,\n DataManager,\n DataManagerParametersType,\n Device,\n KameleoonData,\n KameleoonDataType,\n KameleoonError,\n KameleoonLogger,\n KameleoonVisitorDataType,\n ListUtilities,\n OperatingSystem,\n Result,\n StaticData,\n TrackingStatus,\n VisitDataType,\n VisitorsDataType,\n} from '@kameleoon/javascript-sdk-core';\nimport { VISIT_DURATION } from 'src/constants';\nimport BrowserAnalyse from 'src/utils/browserAnalyse';\n\nexport class ClientDataManager extends DataManager {\n private visitor: Visitor | null = null;\n\n constructor({\n dataStorage,\n infoStorage,\n cleanupInterval,\n packageInfo,\n }: DataManagerParametersType) {\n KameleoonLogger.debug`CALL: new ClientDataManager(dataStorage, infoStorage, cleanupInterval: ${cleanupInterval}, packageInfo: ${packageInfo})`;\n super({ dataStorage, infoStorage, cleanupInterval, packageInfo });\n this.updateVisitor();\n KameleoonLogger.debug`RETURN: new ClientDataManager(dataStorage, infoStorage, cleanupInterval: ${cleanupInterval} packageInfo: ${packageInfo})`;\n }\n\n getUnsentData(visitorCode: string): (KameleoonDataType | StaticData)[] {\n const data = super.getUnsentData(visitorCode);\n const visitorData = super.getVisitorData(visitorCode);\n if (!visitorData) {\n return data;\n }\n const browser = visitorData[KameleoonData.Browser];\n const device = visitorData[KameleoonData.Device];\n const os = visitorData[KameleoonData.OperatingSystem];\n\n const staticData = new StaticData({\n browserType: browser?.browser,\n browserVersion: browser?.version,\n visitNumber: this.visitor?.visitNumber,\n timeSincePreviousVisit: this.visitor?.timeSincePreviousVisit,\n os: os?.operatingSystem,\n deviceType: device?.device,\n });\n data.push(staticData);\n return data;\n }\n\n public storeData(data: VisitorsDataType): Result<void, KameleoonError>;\n public storeData(\n visitorCode: string,\n ...data: KameleoonDataType[]\n ): Result<void, KameleoonError>;\n public storeData(\n firstParameter: VisitorsDataType | string,\n ...secondParameter: KameleoonDataType[]\n ): Result<void, KameleoonError> {\n if (typeof firstParameter === 'string') {\n if (secondParameter.length) {\n this.checkVisitor(firstParameter);\n }\n return super.storeData(firstParameter, ...secondParameter);\n } else {\n return super.storeData(firstParameter);\n }\n }\n\n getVisitorData(visitorCode: string): KameleoonVisitorDataType | undefined {\n this.checkVisitor(visitorCode);\n return super.getVisitorData(visitorCode);\n }\n\n updateLastActivity(): string | null {\n if (!this.visitor) {\n return null;\n }\n const storageData = this.dataStorage.read();\n\n if (!storageData.ok) {\n return null;\n }\n\n const data = storageData.data;\n let visitorData = data[this.visitor.visitorCode];\n if (typeof visitorData === 'string') {\n visitorData = data[visitorData] as KameleoonVisitorDataType;\n }\n\n let visitsData = visitorData[KameleoonData.VisitsData];\n if (!visitsData) {\n visitsData = {\n visits: [],\n visitNumber: 0,\n type: KameleoonData.VisitsData,\n status: TrackingStatus.Sent,\n expirationTime: 0,\n };\n visitorData[KameleoonData.VisitsData] = visitsData;\n }\n\n const lastVisit = this.fetchVisit(\n visitsData.visits,\n visitsData.visits.length - 1,\n );\n\n const timeLastActivity = lastVisit?.timeLastActivity ?? 0;\n const now = Date.now();\n\n let visitNumber =\n visitsData.visitNumber ??\n (visitsData.visits.length ? visitsData.visits.length - 1 : 0);\n\n if (now - timeLastActivity > VISIT_DURATION) {\n visitNumber += timeLastActivity > 0 ? 1 : 0;\n ListUtilities.insertVisitInOrderedListMutably({\n list: visitsData.visits as VisitDataType[],\n visit: {\n timeStarted: now,\n timeLastActivity: now,\n },\n });\n this.visitor.timeSincePreviousVisit = lastVisit\n ? now - timeLastActivity\n : 0;\n } else if (visitsData.visits.length) {\n visitsData.visits[visitsData.visits.length - 1] = {\n timeStarted: lastVisit?.timeStarted ?? now,\n timeLastActivity: now,\n };\n if (this.visitor.timeSincePreviousVisit === -1) {\n const previousVisit = this.fetchVisit(\n visitsData.visits,\n visitsData.visits.length - 2,\n );\n this.visitor.timeSincePreviousVisit = previousVisit\n ? now - previousVisit.timeLastActivity\n : 0;\n }\n }\n visitsData.visitNumber = visitNumber;\n this.visitor.visitNumber = visitNumber;\n\n this.dataStorage.write(data);\n return this.visitor!.visitorCode;\n }\n\n public checkVisitor(visitorCode: string): void {\n if (!this.visitor || this.visitor.visitorCode !== visitorCode) {\n this.createVisitor(visitorCode);\n }\n }\n\n private createVisitor(visitorCode: string): void {\n KameleoonLogger.debug`CALL: ClientDataManager.createVisitor(visitorCode: ${visitorCode})`;\n this.visitor = new Visitor(visitorCode);\n\n try {\n const result = BrowserAnalyse.parse();\n const data = [];\n\n if (result.os?.name) {\n data.push(new OperatingSystem(result.os.name));\n }\n if (result.platform?.type) {\n data.push(new Device(result.platform.type));\n }\n if (result.browser?.name) {\n const version = BrowserAnalyse.getBrowserVersion(\n result.browser.version,\n );\n data.push(new Browser(result.browser.name, version));\n }\n if (result.pageView) {\n data.push(\n result.pageView,\n );\n }\n\n if (data.length) {\n this.storeData(visitorCode, ...data);\n }\n } finally {\n this.updateLastActivity();\n }\n KameleoonLogger.debug`RETURN: ClientDataManager.createVisitor(visitorCode: ${visitorCode})`;\n }\n\n private updateVisitor(): void {\n KameleoonLogger.debug`CALL: ClientDataManager.updateVisitor()`;\n const storageData = this.dataStorage.read();\n\n if (!storageData.ok) {\n return;\n }\n\n const data = storageData.data;\n let lastVisitorCode;\n let lastTimestamp = -1;\n\n for (const [visitorCode, visitorData] of Object.entries(data)) {\n if (typeof visitorData === 'string') {\n continue;\n }\n\n const visitsData = visitorData[KameleoonData.VisitsData];\n if (!visitsData) {\n if (!lastVisitorCode) {\n lastVisitorCode = visitorCode;\n }\n continue;\n }\n\n const lastVisit = visitsData.visits.length\n ? visitsData.visits[visitsData.visits.length - 1]\n : null;\n\n if (lastVisit) {\n const timeLastActivity =\n (typeof lastVisit === 'number'\n ? lastVisit\n : lastVisit?.timeLastActivity) ?? 0;\n if (timeLastActivity > lastTimestamp) {\n lastTimestamp = timeLastActivity;\n lastVisitorCode = visitorCode;\n }\n } else if (!lastVisitorCode) {\n lastVisitorCode = visitorCode;\n }\n }\n\n if (lastVisitorCode) {\n this.createVisitor(lastVisitorCode);\n } else {\n this.visitor = null;\n KameleoonLogger.debug`ClientDataManager no visitor found`;\n }\n KameleoonLogger.debug`RETURN: ClientDataManager.updateVisitor()`;\n }\n\n private fetchVisit(\n visitorVisits: (VisitDataType | number)[],\n index: number,\n ): VisitDataType | null {\n if (index < 0 || index >= visitorVisits.length) {\n return null;\n }\n const visit = visitorVisits[index];\n if (typeof visit === 'number') {\n return {\n timeStarted: visit,\n timeLastActivity: visit,\n } as VisitDataType;\n } else {\n return visit;\n }\n }\n}\n\nclass Visitor {\n public visitorCode: string;\n public visitNumber: number = 0;\n public timeSincePreviousVisit: number = -1;\n\n constructor(visitorCode: string) {\n this.visitorCode = visitorCode;\n }\n}\n","import {\n SdkLanguageType,\n KameleoonCore,\n VisitorCodeManager,\n IVisitorCodeManager,\n SetDataCallbackParametersType,\n Validator,\n KameleoonLogger,\n TargetingDataType,\n DataInfoType,\n KameleoonStorageKey,\n} from '@kameleoon/javascript-sdk-core';\nimport { DataStorage as SDKCoreDataStorage } from '@kameleoon/javascript-sdk-core';\nimport { Requester } from './requester';\nimport { DataStorage } from './storage';\nimport { KameleoonEventSource } from './eventSource';\nimport { KameleoonVisitorCodeManager } from './visitorCodeManager';\nimport { IExternalVisitorCodeManager, SDKParameters } from './types';\nimport { KameleoonPRNG } from './prng';\nimport { DefaultLogger } from 'src/defaultLogger';\nimport { VisitorActivityManager } from 'src/visitorActivity';\nimport { ACTIVITY_INTERVAL } from 'src/constants';\nimport { ClientDataManager } from 'src/dataManager';\n\n/**\n * @class\n * KameleoonClient - a class for creating kameleoon client instance\n * */\nexport class KameleoonClient extends KameleoonCore {\n private domain?: string;\n private internalVisitorCodeManager: IVisitorCodeManager;\n private externalVisitorCodeManager: IExternalVisitorCodeManager;\n private customDataManager?: ClientDataManager;\n\n constructor({\n siteCode,\n configuration,\n externals,\n _internals,\n stubMode,\n }: SDKParameters) {\n if (stubMode) {\n super({\n siteCode,\n internalConfiguration: {} as any,\n stubMode,\n });\n this.internalVisitorCodeManager = {} as any;\n this.externalVisitorCodeManager = {} as any;\n return;\n }\n const prng = _internals?.prng || new KameleoonPRNG();\n const storage = externals?.storage || new DataStorage();\n const requester = externals?.requester || new Requester();\n const eventSource = externals?.eventSource || new KameleoonEventSource();\n const visitorCodeManager = new VisitorCodeManager();\n const externalVisitorCodeManager =\n externals?.visitorCodeManager || new KameleoonVisitorCodeManager();\n\n const packageInfo = _internals?.packageInfo || {\n type: SdkLanguageType.JAVASCRIPT,\n version: process.env.npm_package_version as string,\n isServer: false,\n };\n\n const targetingDataStorage = new SDKCoreDataStorage<TargetingDataType>(\n storage,\n KameleoonStorageKey.TargetingData,\n );\n const dataInfoStorage = new SDKCoreDataStorage<DataInfoType>(\n storage,\n KameleoonStorageKey.DataInfo,\n );\n\n const customDataManager = new ClientDataManager({\n dataStorage: targetingDataStorage,\n infoStorage: dataInfoStorage,\n cleanupInterval: 0,\n packageInfo: packageInfo,\n });\n\n const dependencies = {\n externalPRNG: prng,\n externalStorage: storage,\n externalRequester: requester,\n externalEventSource: eventSource,\n externalVisitorCodeManager: visitorCodeManager,\n externalPackageInfo: packageInfo,\n externalLogger: externals?.logger || new DefaultLogger(),\n customDataManager: customDataManager,\n };\n\n const settings = {\n useAbortController: true,\n };\n\n super({\n siteCode,\n configuration,\n internalConfiguration: {\n externals: dependencies,\n settings,\n },\n });\n\n const cookieDomain = Validator.validateDomain(configuration?.cookieDomain);\n this.domain = cookieDomain.ok ? cookieDomain.data : undefined;\n this.internalVisitorCodeManager = visitorCodeManager;\n this.externalVisitorCodeManager = externalVisitorCodeManager;\n\n const visitorActivityManager = new VisitorActivityManager(\n customDataManager,\n this.tracker,\n (visitorCode: string) => this._isConsentProvided(visitorCode),\n ACTIVITY_INTERVAL,\n );\n this.customDataManager = customDataManager;\n }\n\n /**\n * @method getVisitorCode - obtains visitor code from the browser cookie, if the visitor code doesn't yet exist generates a random visitor code (or uses a provided default) and sets a new visitor code to cookie\n * @param {string | undefined} defaultVisitorCode - visitor code to be used in case there is no visitor code in cookies *Note*: if not passed visitor code will be randomly generated\n * @returns {string} result visitor code\n * @throws `KameleoonError` with one of the following `type` s:\n *\n * - `KameleoonException.VisitorCodeMaxLength` - The visitor code length was exceeded\n * - `KameleoonException.VisitorCodeEmpty` - The visitor code is empty\n */\n public getVisitorCode(defaultVisitorCode?: string): string {\n if (this.stubMode) {\n return '';\n }\n KameleoonLogger.info`CALL KamaleoonClient.getVisitorCode(defaultVisitorCode: ${defaultVisitorCode})`;\n this.internalVisitorCodeManager.getData = (key: string) =>\n this.externalVisitorCodeManager.getData(key);\n\n this.internalVisitorCodeManager.setData = (\n parameters: SetDataCallbackParametersType,\n ) => {\n this.externalVisitorCodeManager.setData({\n ...parameters,\n domain: this.domain,\n });\n };\n\n const visitorCode =\n this.internalVisitorCodeManager.getVisitorCode(defaultVisitorCode);\n if (this.initialized) {\n this.customDataManager?.checkVisitor(visitorCode);\n }\n KameleoonLogger.info`RETURN KamaleoonClient.getVisitorCode(defaultVisitorCode: ${defaultVisitorCode}) -> (visitorCode: ${visitorCode})`;\n return visitorCode;\n }\n\n /**\n * @method setLegalConsent - sets or updates the legal consent status for a visitor identified by their unique visitor code, affecting values in the response cookies based on the consent status\n * @param {string} visitorCode - unique visitor identification string, can't exceed 255 characters length\n * @param {boolean} consent - a value representing the legal consent status. - 'true' indicates the\n * visitor has given legal consent. - 'false' indicates the visitor has withdrawn or not\n * provided legal consent.\n * @returns {void}\n * @throws `KameleoonError` with one of the following `type` s:\n *\n * - `KameleoonException.VisitorCodeMaxLength` - The visitor code length was exceeded\n * - `KameleoonException.VisitorCodeEmpty` - The visitor code is empty\n */\n public setLegalConsent(visitorCode: string, consent: boolean): void {\n if (this.stubMode) {\n return;\n }\n super.setUserConsent({\n visitorCode,\n consent,\n setData: (parameters: SetDataCallbackParametersType): void => {\n this.externalVisitorCodeManager.setData({\n ...parameters,\n domain: this.domain,\n });\n },\n });\n }\n}\n"],"names":["t","globalThis","window","global","self","i","a","o","r","n","s","Object","defineProperty","value","Err","Ok","e","this","ok","error","Error","message","data","throw","else","or","and","enumerable","get","u","Promise","next","done","then","apply","SuppressedError","Credentials","EventSourceInitialization","FeatureFlagConfigurationNotFound","FeatureFlagVariableNotFound","FeatureFlagVariationNotFound","FeatureFlagExperimentNotFound","FeatureFlagEnvironmentDisabled","VisitAmount","VisitorCodeMaxLength","VisitorCodeEmpty","StorageInitialization","StorageWrite","StorageRead","StorageParse","StorageEmpty","ClientConfiguration","TargetingCondition","AmongValuesCheck","RangeCheck","Initialization","JSONParse","NumberParse","VersionParse","CookieParse","SemanticVersionParse","RemoteData","MaximumRetriesReached","d","l","c","constructor","super","name","errorType","type","h","g","f","p","DataApi","Events","Get","Post","VisitEvent","VisitData","DataMap","Configuration","Tracking","v","m","UserAgent","ContentType","SdkVersion","SdkType","Authorization","AcceptEncoding","IfModifiedSince","LastModified","E","$","F","x","U","z","q","W","Y","J","ut","lt","Rt","St","wt","NONE","ERROR","WARNING","INFO","DEBUG","bt","At","clientId","clientSecret","Map","Array","from","entries","Ot","setLogger","logger","setLogLevel","logLevel","log","level","strings","keys","checkLevel","length","JSON","stringify","writeMessage","info","warning","debug","console","warn","$t","urlProvider","packageInfo","externalRequester","requestTimeout","trackRetryDelay","useAbortController","timeout","getClientConfiguration","getClientConfigurationUrl","assign","toLowerCase","version","sendRequest","url","requestType","retryCount","parameters","method","headers","json","logReceivedConfigurationResponse","status","getLastModifiedHeader","configuration","lastModified","text","parse","logRequestError","response","getRemoteData","getRemoteDataUrl","getVisitorData","visitorCode","filters","isMappingIdentifier","getVisitorDataUrl","track","getTrackingUrl","body","setTimeout","AbortController","abort","signal","clearTimeout","parseResponse","Ft","Nt","xt","Mt","Ut","_t","Lt","Pt","Kt","Gt","Bt","Production","Staging","Development","zt","ready","isCustomDomain","domains","initialize","domain","siteCode","environment","setDomains","dataApiDomain","split","replace","isInitialized","encodeURIComponent","getEventSourceUrl","getDataApiUrl","encodeURI","customData","previousVisitAmount","currentVisit","conversions","geolocation","experiments","pageViews","device","browser","operatingSystem","kcs","personalization","cbs","C","y","I","D","T","k","R","V","S","w","b","BOOLEAN","NUMBER","STRING","JS","CSS","Sent","Unsent","Pending","Second","Minute","Hour","Day","Week","Month","qt","cacheMap","intervalId","cleanupTimeout","add","key","lifetime","activate","expirationTime","Date","now","set","getAliveItem","delete","setInterval","size","cleanupInterval","clearInterval","Polling","RealTime","TARGETED_DELIVERY","EXPERIMENTATION","ANDROID","SWIFT","JAVA","CSHARP","NODEJS","PHP","RUBY","GO","FLUTTER","REACTJS","ACTIVATED","DEACTIVATED","SCHEDULED","Visit","Visitor","Page","Required","NotRequired","jt","addEventHandler","eventHandlers","fireEvent","Evaluation","ConfigurationUpdate","Ht","featureFlags","realTimeUpdate","consentType","Wt","_featureFlags","slice","sort","id","getFeatureFlagByHash","Math","floor","min","Yt","updateInterval","storage","requester","dataManager","eventSource","externalVisitorCodeManager","eventManager","externalPackageInfo","defaultDataFile","updateConfigurationIntervalId","updateType","configurationData","featureFlagsData","isTargetedDeliveryRule","segmentsData","holdoutData","meGroupsData","mappedRules","mappedExperiments","usedDefaultDataFile","CACHE_REVALIDATE_PERIOD","lastUpdate","visitorCodeManager","readStorageData","checkShouldUpdate","updateClientConfiguration","isOpen","handlePollingUpdates","handleRealTimeUpdates","cleanupHandlers","close","open","timestamp","onError","getTime","max","bind","segments","forEach","rules","segment","has","toString","ruleMap","values","experimentId","variationByExposition","variationKey","variationId","featureId","variations","experimentMap","holdout","meGroups","isConsentRequired","hasAnyTargetedDeliveryRule","environmentEnabled","some","read","requestTime","dateModified","updateConfigurationData","updateClientConfigurationInBackground","isServer","applyNewConfigurationDataFromResponse","updateStorageData","clearTrees","clear","map","index","featureKey","updateFeatureFlagSegments","updateFeatureFlagBucketingCustomDataId","customDataIndexes","makeMEGroups","updateConsentRequired","segmentId","bucketingCustomDataId","bucketingCustomDataIndex","mutuallyExclusiveGroup","push","write","consentRequired","Jt","fromEntries","Xt","Qt","Zt","te","UniqueIdentifier","CustomData","PageView","GeolocationData","Browser","Conversion","Cookie","Device","OperatingSystem","ApplicationVersion","VisitsData","KameleoonConversionScore","Personalization","CBScores","TargetedSegment","Phone","Tablet","Desktop","WindowsPhone","Windows","Android","Linux","Mac","IOS","Chrome","InternetExplorer","Firefox","Safari","Opera","Other","ee","ie","ae","re","ne","oe","se","REACT","PYTHON","JAVASCRIPT","RUST","ue","de","le","ce","he","ge","fe","pe","ve","me","Ce","Ee","ye","And","Or","TRUE","FALSE","EXACT","CONTAINS","REGULAR_EXPRESSION","EQUAL","LOWER","GREATER","UNDEFINED","AMONG_VALUES","RANGE","NEW","RETURNING","ANY","ALL","TEST","PERSO","Experiment","Any","OPTIONAL","PAGE_URL","PAGE_TITLE","LANDING_PAGE","ORIGIN","ORIGIN_TYPE","REFERRERS","NEW_VISITORS","INTERESTS","BROWSER_LANGUAGE","GEOLOCATION","DEVICE_TYPE","SCREEN_DIMENSION","VISITOR_IP","AD_BLOCKER","PREVIOUS_PAGE","KEY_PAGES","PAGE_VIEWS","FIRST_VISIT","LAST_VISIT","ACTIVE_SESSION","TIME_SINCE_PAGE_LOAD","SAME_DAY_VISITS","VISITS","VISITS_BY_PAGE","VISITOR_CODE","SDK_LANGUAGE","INTERNAL_SEARCH_KEYWORDS","TABS_ON_SITE","CONVERSION_PROBABILITY","HEAT_SLICE","SKY_STATUS","TEMPERATURE","DAY_NIGHT","FORECAST_SKY_STATUS","FORECAST_TEMPERATURE","DAY_OF_WEEK","TIME_RANGE","HOUR_MINUTE_RANGE","JS_CODE","COOKIE","EVENT","BROWSER","OPERATING_SYSTEM","DOM_ELEMENT","MOUSE_OUT","TARGET_EXPERIMENT","TARGET_FEATURE_FLAG","TARGET_PERSONALIZATION","EXCLUSIVE_EXPERIMENT","CONVERSIONS","CUSTOM_DATUM","YSANCE_SEGMENT","SEGMENT","YSANCE_ATTRIBUT","TEALIUM_BADGE","TEALIUM_AUDIENCE","PRICE_OF_DISPLAYED_PAGE","NUMBER_OF_VISITED_PAGES","VISITED_PAGES","CUSTOM","EXPLICIT_TRIGGER","APPLICATION_VERSION","Ascending","Descending","Ie","De","Te","validateVersion","parseInt","isNaN","validateDomain","checkAndTrimProtocol","test","validateNetworkDomain","startsWith","substring","ke","getNonce","getRandomNumber","charAt","checkTargeting","targetingData","variationConfiguration","clientConfiguration","conditionsData","firstLevel","getStoredVariations","getTree","hasTargetingType","trees","evaluate","variationData","sdkInfo","convertTimeUnit","isCustomData","updateCache","hasJsCssVariables","cacheManager","getTrackingCode","Number","compareSemVer","compareVersion","operator","getVariationByHash","exposition","Re","insertInOrderedListMutably","list","element","order","includes","findIndex","splice","insertVisitInOrderedListMutably","visit","find","timeStarted","Ve","urlAddress","title","referrers","timestamps","time","reduce","_nonce","nonce","_fromRaw","_updateFromVisit","pageEvents","href","referrersIndices","Se","_status","isIdentifier","Set","String","_isMappingIdentifier","customDataEvents","valuesCountMap","we","goalId","revenue","negative","metadata","random","_id","_encodeMetadata","parseMetadata","_listFromVisit","conversionEvents","be","_fromVisit","staticDataEvent","browserIndex","browserVersion","Ae","deviceType","Oe","os","osIndex","$e","country","region","city","postalCode","coordinates","geolocationEvents","Fe","visits","visitNumber","isSent","updateVisitNumber","Ne","xe","personalizationEvents","Me","extractVarIds","ids","getValues","Ue","visitsData","visitorData","storageVisitorData","experimentData","singleDataTypes","multipleDataTypes","visitorDataTypes","getVisitorStoredDataTypes","processVisit","processBrowser","processDevice","processOperatingSystem","processGeolocationData","processCustomData","processConversion","processPageView","processExperiments","processPersonalization","processMultipleDataTypes","storedCustomDataIndexes","processKcs","processVisitsData","timeLastActivity","timeLastEvent","processVisitNumber","processCbs","experimentEvents","isTargetedRule","processMappingIdentifier","mappingIdentifier","_e","parseFeatureVariable","Boolean","parseVisitorData","previousVisits","updateStoredVariations","parseRegExp","RegExp","parseSecret","repeat","Le","getEnvironment","networkDomain","getNetworkDomain","getUpdateInterval","getCleanupInterval","getRequestTimeout","trackingInterval","getTrackingInterval","targetingDataCleanupInterval","settings","Pe","cookie","fromString","trim","Ke","Ge","_value","Be","ze","mutUpdateData","infoData","mutData","dataItem","visitorReference","isReference","dereferenceData","mappingIdentifiers","updateCustomData","updatePageView","pageView","updateConversion","conversion","updateVisitsData","updatePersonalization","updateTargetedSegment","targetedSegment","updateCommonData","commonData","mutCleanupData","removeReference","linkedVisitor","deleteNestedExpiredField","deleteExpiredField","mutAddUnsentData","dataType","unsentData","createReference","nestedKey","updateNestedField","createNestedField","updateField","createField","qe","browserType","timeSincePreviousVisit","je","setConditionFactoryInstance","conditionFactoryInstance","createCondition","He","inverseResult","isOperator","nodeValue","isInclude","nodeError","leftChild","rightChild","left","right","inverse","We","targetingTypes","nestedConditions","topLevelOperators","flattenSegment","conditions","operators","targetingType","buildTree","tree","evaluateNode","isLeafNode","isNonLeafNode","shift","unshift","firstLevelOrOperators","orOperators","convertOperators","Ye","Je","versionMatchType","checkCondition","parseFloat","Xe","conditionValue","Qe","customDataIndex","valueMatchType","range","matchType","parseArray","isArray","parseRange","Ze","getLatest","ti","ei","ii","sdkLanguage","ai","ri","nameMatchType","keyMatchType","extractCookie","document","isOptionalCookie","compareCookieValue","ni","oi","si","ui","featureFlagId","ruleId","di","getSecondLatestPageView","li","pageCount","ci","count","unitOfTime","timeUnit","hi","gi","visitCount","setHours","fi","pi","visitorType","vi","mi","lowerBound","upperBound","keyMomentId","Ci","campaignType","Ei","variationMatchType","variation","experiment","yi","personalizationId","Ii","Di","ClientData","TargetingData","TrackingData","VariationData","VisitorCode","ConsentData","DataInfo","KameleoonSimulationFFData","ForcedFeatureVariation","ForcedExperimentVariation","Ti","ki","Ri","isDataValid","checkClientDataIntegrity","checkTargetingDataIntegrity","checkDataInfoIntegrity","checkVariationDataIntegrity","checkTrackingDataIntegrity","getDefaultData","getDefaultClientData","nextVisitTime","scheduledVisitors","hasFields","every","Vi","externalStorage","storageKey","update","Si","initCleanupInterval","cleanupData","cleanupVariationData","cleanupForcedFeatureVariationData","cleanupForcedExperimentVariationData","cleanupConsentData","consent","cleanupObjectValues","wi","bi","dataStorage","infoStorage","targetingTrees","mappingIdentifierCustomDataIndex","persistentCustomDataIndexes","localCustomDataIndexes","cleanupIntervalId","dataProcessor","getUnsentData","getDataFromRaw","cdIndex","getPendingData","storeTrackedData","storeData","mutUpdateTargetingData","kameleoonData","isPersistentCustomData","isUniqueIdentifier","getVisitorIdentifier","getMappingIdentifier","setMappingIdentifier","getLinkedVisitor","nextDataCleanup","unsentDataVisitors","identifierCustomDataIndex","localOnly","scope","Oi","Ni","Ai","exports","$i","xi","Mi","crypto","msCrypto","require","getRandomValues","Uint32Array","randomBytes","readInt32LE","create","prototype","lib","Base","extend","mixIn","hasOwnProperty","init","$super","arguments","clone","WordArray","words","sigBytes","concat","clamp","ceil","call","enc","Hex","join","substr","Latin1","fromCharCode","charCodeAt","Utf8","decodeURIComponent","escape","unescape","BufferedBlockAlgorithm","reset","_data","_nDataBytes","_append","_process","blockSize","_minBufferSize","_doProcessBlock","Hasher","cfg","_doReset","finalize","_doFinalize","_createHelper","_createHmacHelper","HMAC","algo","Fi","sqrt","pow","SHA256","_hash","HmacSHA256","Ui","__esModule","default","_i","getHashDoubleForMEGroup","calculateHash","getHashDouble","visitorIdentifier","respoolTime","Li","storageForcedExperimentVariations","storageForcedFeatureVariations","setVariationConfiguration","updateDataStatus","experimentIdList","getVariationData","getVisitorsWithUnsentData","getVariation","featureFlag","withAssignment","defaultVariationKey","getForcedExperimentVariation","forceTargeting","createAndSaveForcedTargetedVariation","evaluateCBScores","rule","varByExp","updateForcedExperimentVariation","updateForcedFeatureVariations","simulated","clearSimulatedVariations","getForcedFeatureVariation","parseForcedVariationData","simulatedVariationFromJson","isSimulatedVariationJson","varId","expId","cbScores","filter","Pi","externalEventSource","isConnectionOpen","onEvent","handleMessage","eventType","ts","Ki","Gi","Bi","getData","getDataCallback","setData","setDataCallback","validateVisitorCode","getVisitorCode","generateVisitorCode","processSimulatedVariations","maxAge","path","getSimulatedVariations","zi","Kb","Mb","Gb","qi","ji","currentSize","resultBody","hasUserAgent","trackingVisitors","prng","getTrackingBody","cleanup","addData","userAgent","isConsentProvided","getVariationDataLines","getVisitorDataLines","addVisitorTrackingLines","lines","prepareVisitorBody","getIdentifier","getActivityLine","checkSize","Hi","trackingStorage","bodyProvider","sendDataAll","scheduleVisitor","checkIsIdentifier","getUserAgent","sendData","sendDataForVisitor","getUnsentVisitorData","getUnsentVariationData","addNotTrackedVisitors","Wi","dependencies","internalConfiguration","stubMode","initialized","consentDataStorage","trackingCache","tracker","externals","externalLogger","externalPRNG","customDataManager","A","getRemoteVisitorData","shouldAddData","trackConversion","flush","instant","_isConsentProvided","getFeatureFlags","getVisitorFeatureFlags","_getActiveFeatureVariations","_getFeatureVariation","getVariations","onlyActive","getActiveFeatureFlags","_getFeatureVariables","variables","getFeatureFlagVariationKey","getFeatureFlagVariable","variableKey","getFeatureFlagVariables","isFeatureFlagActive","getVisitorWarehouseAudience","warehouseKey","getEngineTrackingCode","setForcedVariation","_setForcedVariation","evaluateAudiences","audienceTracking","setUserConsent","updateConsentData","_evaluate","save","ruleType","EvaluatedExperiment","fromForcedFeatureVariation","_isVisitorNotInHoldout","_isFFUnrestrictedByMEGroup","_getCodeForHash","fromVariationData","fromDefaultVariationKey","isSimulated","Yi","simulateSuccessRequest","getCookieValue","CookieParameter","Ji","Xi","__awaiter","thisArg","_arguments","P","generator","resolve","reject","fulfilled","step","rejected","result","Requester","fetch","ACTIVITY_INTERVAL","Milliseconds","VISIT_DURATION","VisitorCodeManager","KameleoonLogger","KameleoonUtils","resultCookie","getResultCookie","cookieArray","KeyValueDelimiter","MaxAge","Path","Domain","PairsDelimiter","DataStorage","localStorage","getItem","KameleoonStorageKey","getEngineConsentData","setItem","KameleoonVisitorCodeManager","engineConsentData","engineConsent","_a","AB_TESTING","_","KameleoonEventSource","EventSource","addEventListener","callback","onerror","KameleoonPRNG","arr","uint32Max","DefaultLogger","toLocaleString","timeZoneName","LogLevel","VisitorActivityManager","interval","setup","updateLastActivity","Utils","getFirstMatch","regex","match","getSecondMatch","target","sources","BrowserParser","parsedResult","parseReactNative","parseBrowser","describe","BrowserType","fallbackRegex","parseOS","OperatingSystemType","parsePlatform","platformRulesOSName","_b","DeviceType","platform","parseOsName","parseOsVersion","ver","parseWebView","location","reactNative","RNPlatform","Platform","RNDimensions","Dimensions","osName","OS","osVer","Version","devType","width","height","undefined","getResult","BrowserAnalyse","browserParser","navigator","getBrowserVersion","versionParts","ClientDataManager","DataManager","visitor","updateVisitor","KameleoonData","staticData","StaticData","firstParameter","secondParameter","checkVisitor","storageData","TrackingStatus","lastVisit","fetchVisit","ListUtilities","_c","previousVisit","createVisitor","lastVisitorCode","lastTimestamp","visitorVisits","KameleoonClient","KameleoonCore","_internals","internalVisitorCodeManager","SdkLanguageType","targetingDataStorage","SDKCoreDataStorage","dataInfoStorage","cookieDomain","Validator","defaultVisitorCode","setLegalConsent"],"mappings":"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","x_google_ignoreList":[2]}