@flagship.io/js-sdk
Version:
1,029 lines (939 loc) • 361 kB
JavaScript
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define([], factory);
else {
var a = factory();
for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
}
})(self, () => {
return /******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ 5:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ FSFetchReasons: () => (/* binding */ FSFetchReasons)
/* harmony export */ });
/**
* Enum representing the reasons for fetching Flags.
*/
var FSFetchReasons;
(function (FSFetchReasons) {
/**
* Indicates that a context has been updated or changed.
*/
FSFetchReasons["UPDATE_CONTEXT"] = "UPDATE_CONTEXT";
/**
* Indicates that the XPC method 'authenticate' has been called.
*/
FSFetchReasons["AUTHENTICATE"] = "AUTHENTICATE";
/**
* Indicates that the XPC method 'unauthenticate' has been called.
*/
FSFetchReasons["UNAUTHENTICATE"] = "UNAUTHENTICATE";
/**
* Indicates that fetching flags has failed.
*/
FSFetchReasons["FLAGS_FETCHING_ERROR"] = "FLAGS_FETCHING_ERROR";
/**
* Indicates that flags have been fetched from the cache.
*/
FSFetchReasons["FLAGS_FETCHED_FROM_CACHE"] = "FLAGS_FETCHED_FROM_CACHE";
/**
* Indicates that the visitor has been created.
*/
FSFetchReasons["FLAGS_NEVER_FETCHED"] = "FLAGS_NEVER_FETCHED";
/**
* Indicates that there is no specific reason for fetching flags.
*/
FSFetchReasons["NONE"] = "NONE";
})(FSFetchReasons || (FSFetchReasons = {}));
/***/ }),
/***/ 7:
/***/ ((module) => {
// Copyright Joyent, Inc. and other Node contributors.
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to permit
// persons to whom the Software is furnished to do so, subject to the
// following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.
var R = typeof Reflect === 'object' ? Reflect : null
var ReflectApply = R && typeof R.apply === 'function'
? R.apply
: function ReflectApply(target, receiver, args) {
return Function.prototype.apply.call(target, receiver, args);
}
var ReflectOwnKeys
if (R && typeof R.ownKeys === 'function') {
ReflectOwnKeys = R.ownKeys
} else if (Object.getOwnPropertySymbols) {
ReflectOwnKeys = function ReflectOwnKeys(target) {
return Object.getOwnPropertyNames(target)
.concat(Object.getOwnPropertySymbols(target));
};
} else {
ReflectOwnKeys = function ReflectOwnKeys(target) {
return Object.getOwnPropertyNames(target);
};
}
function ProcessEmitWarning(warning) {
if (console && console.warn) console.warn(warning);
}
var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {
return value !== value;
}
function EventEmitter() {
EventEmitter.init.call(this);
}
module.exports = EventEmitter;
module.exports.once = once;
// Backwards-compat with node 0.10.x
EventEmitter.EventEmitter = EventEmitter;
EventEmitter.prototype._events = undefined;
EventEmitter.prototype._eventsCount = 0;
EventEmitter.prototype._maxListeners = undefined;
// By default EventEmitters will print a warning if more than 10 listeners are
// added to it. This is a useful default which helps finding memory leaks.
var defaultMaxListeners = 10;
function checkListener(listener) {
if (typeof listener !== 'function') {
throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
}
}
Object.defineProperty(EventEmitter, 'defaultMaxListeners', {
enumerable: true,
get: function() {
return defaultMaxListeners;
},
set: function(arg) {
if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {
throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.');
}
defaultMaxListeners = arg;
}
});
EventEmitter.init = function() {
if (this._events === undefined ||
this._events === Object.getPrototypeOf(this)._events) {
this._events = Object.create(null);
this._eventsCount = 0;
}
this._maxListeners = this._maxListeners || undefined;
};
// Obviously not all Emitters should be limited to 10. This function allows
// that to be increased. Set to zero for unlimited.
EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {
if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {
throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.');
}
this._maxListeners = n;
return this;
};
function _getMaxListeners(that) {
if (that._maxListeners === undefined)
return EventEmitter.defaultMaxListeners;
return that._maxListeners;
}
EventEmitter.prototype.getMaxListeners = function getMaxListeners() {
return _getMaxListeners(this);
};
EventEmitter.prototype.emit = function emit(type) {
var args = [];
for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);
var doError = (type === 'error');
var events = this._events;
if (events !== undefined)
doError = (doError && events.error === undefined);
else if (!doError)
return false;
// If there is no 'error' event listener then throw.
if (doError) {
var er;
if (args.length > 0)
er = args[0];
if (er instanceof Error) {
// Note: The comments on the `throw` lines are intentional, they show
// up in Node's output if this results in an unhandled exception.
throw er; // Unhandled 'error' event
}
// At least give some kind of context to the user
var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));
err.context = er;
throw err; // Unhandled 'error' event
}
var handler = events[type];
if (handler === undefined)
return false;
if (typeof handler === 'function') {
ReflectApply(handler, this, args);
} else {
var len = handler.length;
var listeners = arrayClone(handler, len);
for (var i = 0; i < len; ++i)
ReflectApply(listeners[i], this, args);
}
return true;
};
function _addListener(target, type, listener, prepend) {
var m;
var events;
var existing;
checkListener(listener);
events = target._events;
if (events === undefined) {
events = target._events = Object.create(null);
target._eventsCount = 0;
} else {
// To avoid recursion in the case that type === "newListener"! Before
// adding it to the listeners, first emit "newListener".
if (events.newListener !== undefined) {
target.emit('newListener', type,
listener.listener ? listener.listener : listener);
// Re-assign `events` because a newListener handler could have caused the
// this._events to be assigned to a new object
events = target._events;
}
existing = events[type];
}
if (existing === undefined) {
// Optimize the case of one listener. Don't need the extra array object.
existing = events[type] = listener;
++target._eventsCount;
} else {
if (typeof existing === 'function') {
// Adding the second element, need to change to array.
existing = events[type] =
prepend ? [listener, existing] : [existing, listener];
// If we've already got an array, just append.
} else if (prepend) {
existing.unshift(listener);
} else {
existing.push(listener);
}
// Check for listener leak
m = _getMaxListeners(target);
if (m > 0 && existing.length > m && !existing.warned) {
existing.warned = true;
// No error code for this since it is a Warning
// eslint-disable-next-line no-restricted-syntax
var w = new Error('Possible EventEmitter memory leak detected. ' +
existing.length + ' ' + String(type) + ' listeners ' +
'added. Use emitter.setMaxListeners() to ' +
'increase limit');
w.name = 'MaxListenersExceededWarning';
w.emitter = target;
w.type = type;
w.count = existing.length;
ProcessEmitWarning(w);
}
}
return target;
}
EventEmitter.prototype.addListener = function addListener(type, listener) {
return _addListener(this, type, listener, false);
};
EventEmitter.prototype.on = EventEmitter.prototype.addListener;
EventEmitter.prototype.prependListener =
function prependListener(type, listener) {
return _addListener(this, type, listener, true);
};
function onceWrapper() {
if (!this.fired) {
this.target.removeListener(this.type, this.wrapFn);
this.fired = true;
if (arguments.length === 0)
return this.listener.call(this.target);
return this.listener.apply(this.target, arguments);
}
}
function _onceWrap(target, type, listener) {
var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };
var wrapped = onceWrapper.bind(state);
wrapped.listener = listener;
state.wrapFn = wrapped;
return wrapped;
}
EventEmitter.prototype.once = function once(type, listener) {
checkListener(listener);
this.on(type, _onceWrap(this, type, listener));
return this;
};
EventEmitter.prototype.prependOnceListener =
function prependOnceListener(type, listener) {
checkListener(listener);
this.prependListener(type, _onceWrap(this, type, listener));
return this;
};
// Emits a 'removeListener' event if and only if the listener was removed.
EventEmitter.prototype.removeListener =
function removeListener(type, listener) {
var list, events, position, i, originalListener;
checkListener(listener);
events = this._events;
if (events === undefined)
return this;
list = events[type];
if (list === undefined)
return this;
if (list === listener || list.listener === listener) {
if (--this._eventsCount === 0)
this._events = Object.create(null);
else {
delete events[type];
if (events.removeListener)
this.emit('removeListener', type, list.listener || listener);
}
} else if (typeof list !== 'function') {
position = -1;
for (i = list.length - 1; i >= 0; i--) {
if (list[i] === listener || list[i].listener === listener) {
originalListener = list[i].listener;
position = i;
break;
}
}
if (position < 0)
return this;
if (position === 0)
list.shift();
else {
spliceOne(list, position);
}
if (list.length === 1)
events[type] = list[0];
if (events.removeListener !== undefined)
this.emit('removeListener', type, originalListener || listener);
}
return this;
};
EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
EventEmitter.prototype.removeAllListeners =
function removeAllListeners(type) {
var listeners, events, i;
events = this._events;
if (events === undefined)
return this;
// not listening for removeListener, no need to emit
if (events.removeListener === undefined) {
if (arguments.length === 0) {
this._events = Object.create(null);
this._eventsCount = 0;
} else if (events[type] !== undefined) {
if (--this._eventsCount === 0)
this._events = Object.create(null);
else
delete events[type];
}
return this;
}
// emit removeListener for all listeners on all events
if (arguments.length === 0) {
var keys = Object.keys(events);
var key;
for (i = 0; i < keys.length; ++i) {
key = keys[i];
if (key === 'removeListener') continue;
this.removeAllListeners(key);
}
this.removeAllListeners('removeListener');
this._events = Object.create(null);
this._eventsCount = 0;
return this;
}
listeners = events[type];
if (typeof listeners === 'function') {
this.removeListener(type, listeners);
} else if (listeners !== undefined) {
// LIFO order
for (i = listeners.length - 1; i >= 0; i--) {
this.removeListener(type, listeners[i]);
}
}
return this;
};
function _listeners(target, type, unwrap) {
var events = target._events;
if (events === undefined)
return [];
var evlistener = events[type];
if (evlistener === undefined)
return [];
if (typeof evlistener === 'function')
return unwrap ? [evlistener.listener || evlistener] : [evlistener];
return unwrap ?
unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);
}
EventEmitter.prototype.listeners = function listeners(type) {
return _listeners(this, type, true);
};
EventEmitter.prototype.rawListeners = function rawListeners(type) {
return _listeners(this, type, false);
};
EventEmitter.listenerCount = function(emitter, type) {
if (typeof emitter.listenerCount === 'function') {
return emitter.listenerCount(type);
} else {
return listenerCount.call(emitter, type);
}
};
EventEmitter.prototype.listenerCount = listenerCount;
function listenerCount(type) {
var events = this._events;
if (events !== undefined) {
var evlistener = events[type];
if (typeof evlistener === 'function') {
return 1;
} else if (evlistener !== undefined) {
return evlistener.length;
}
}
return 0;
}
EventEmitter.prototype.eventNames = function eventNames() {
return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];
};
function arrayClone(arr, n) {
var copy = new Array(n);
for (var i = 0; i < n; ++i)
copy[i] = arr[i];
return copy;
}
function spliceOne(list, index) {
for (; index + 1 < list.length; index++)
list[index] = list[index + 1];
list.pop();
}
function unwrapListeners(arr) {
var ret = new Array(arr.length);
for (var i = 0; i < ret.length; ++i) {
ret[i] = arr[i].listener || arr[i];
}
return ret;
}
function once(emitter, name) {
return new Promise(function (resolve, reject) {
function errorListener(err) {
emitter.removeListener(name, resolver);
reject(err);
}
function resolver() {
if (typeof emitter.removeListener === 'function') {
emitter.removeListener('error', errorListener);
}
resolve([].slice.call(arguments));
};
eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });
if (name !== 'error') {
addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });
}
});
}
function addErrorHandlerIfEventEmitter(emitter, handler, flags) {
if (typeof emitter.on === 'function') {
eventTargetAgnosticAddListener(emitter, 'error', handler, flags);
}
}
function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
if (typeof emitter.on === 'function') {
if (flags.once) {
emitter.once(name, listener);
} else {
emitter.on(name, listener);
}
} else if (typeof emitter.addEventListener === 'function') {
// EventTarget does not have `error` event semantics like Node
// EventEmitters, we do not listen for `error` events here.
emitter.addEventListener(name, function wrapListener(arg) {
// IE does not have builtin `{ once: true }` support so we
// have to do it manually.
if (flags.once) {
emitter.removeEventListener(name, wrapListener);
}
listener(arg);
});
} else {
throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter);
}
}
/***/ }),
/***/ 87:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ ACTION_TRACKING: () => (/* binding */ ACTION_TRACKING),
/* harmony export */ ACTION_TRACKING_DISPATCHED: () => (/* binding */ ACTION_TRACKING_DISPATCHED),
/* harmony export */ ACTION_TRACKING_HIT_RECEIVED: () => (/* binding */ ACTION_TRACKING_HIT_RECEIVED),
/* harmony export */ ACTION_TRACKING_INVALID_HIT: () => (/* binding */ ACTION_TRACKING_INVALID_HIT),
/* harmony export */ ACTION_TRACKING_INVALID_NONCE: () => (/* binding */ ACTION_TRACKING_INVALID_NONCE),
/* harmony export */ ACTIVATE_ADDED_IN_QUEUE: () => (/* binding */ ACTIVATE_ADDED_IN_QUEUE),
/* harmony export */ ACTIVATE_HIT: () => (/* binding */ ACTIVATE_HIT),
/* harmony export */ ADD_ACTIVATE: () => (/* binding */ ADD_ACTIVATE),
/* harmony export */ ADD_TROUBLESHOOTING_HIT: () => (/* binding */ ADD_TROUBLESHOOTING_HIT),
/* harmony export */ ADD_USAGE_HIT: () => (/* binding */ ADD_USAGE_HIT),
/* harmony export */ ALLOCATION: () => (/* binding */ ALLOCATION),
/* harmony export */ ALL_HITS_FLUSHED: () => (/* binding */ ALL_HITS_FLUSHED),
/* harmony export */ ANALYTICS_HIT_ADDED_IN_QUEUE: () => (/* binding */ ANALYTICS_HIT_ADDED_IN_QUEUE),
/* harmony export */ ANALYTICS_HIT_SENT_SUCCESS: () => (/* binding */ ANALYTICS_HIT_SENT_SUCCESS),
/* harmony export */ ANALYTIC_HIT_ALLOCATION: () => (/* binding */ ANALYTIC_HIT_ALLOCATION),
/* harmony export */ ANONYMOUS_ID: () => (/* binding */ ANONYMOUS_ID),
/* harmony export */ AUTHENTICATE: () => (/* binding */ AUTHENTICATE),
/* harmony export */ BASE_API_URL: () => (/* binding */ BASE_API_URL),
/* harmony export */ BATCH: () => (/* binding */ BATCH),
/* harmony export */ BATCH_HIT: () => (/* binding */ BATCH_HIT),
/* harmony export */ BATCH_LOOP_STARTED: () => (/* binding */ BATCH_LOOP_STARTED),
/* harmony export */ BATCH_LOOP_STOPPED: () => (/* binding */ BATCH_LOOP_STOPPED),
/* harmony export */ BATCH_MAX_SIZE: () => (/* binding */ BATCH_MAX_SIZE),
/* harmony export */ BUCKETING_API_URL: () => (/* binding */ BUCKETING_API_URL),
/* harmony export */ BUCKETING_NEW_ALLOCATION: () => (/* binding */ BUCKETING_NEW_ALLOCATION),
/* harmony export */ BUCKETING_POOLING_STARTED: () => (/* binding */ BUCKETING_POOLING_STARTED),
/* harmony export */ BUCKETING_POOLING_STOPPED: () => (/* binding */ BUCKETING_POOLING_STOPPED),
/* harmony export */ BUCKETING_VARIATION_CACHE: () => (/* binding */ BUCKETING_VARIATION_CACHE),
/* harmony export */ CDN_ACCOUNT_SETTINGS_URL: () => (/* binding */ CDN_ACCOUNT_SETTINGS_URL),
/* harmony export */ CLEAR_CONTEXT: () => (/* binding */ CLEAR_CONTEXT),
/* harmony export */ CLICK_PATH_DELAY_MS: () => (/* binding */ CLICK_PATH_DELAY_MS),
/* harmony export */ CLIENT_CACHE_KEY: () => (/* binding */ CLIENT_CACHE_KEY),
/* harmony export */ CONSENT_CHANGED: () => (/* binding */ CONSENT_CHANGED),
/* harmony export */ CONSENT_NOT_SPECIFY_WARNING: () => (/* binding */ CONSENT_NOT_SPECIFY_WARNING),
/* harmony export */ CONTEXT_KEY_ERROR: () => (/* binding */ CONTEXT_KEY_ERROR),
/* harmony export */ CONTEXT_KEY_VALUE_UPDATE: () => (/* binding */ CONTEXT_KEY_VALUE_UPDATE),
/* harmony export */ CONTEXT_NULL_ERROR: () => (/* binding */ CONTEXT_NULL_ERROR),
/* harmony export */ CONTEXT_VALUE_ERROR: () => (/* binding */ CONTEXT_VALUE_ERROR),
/* harmony export */ CUSTOMER_ENV_ID_API_ACTIVATE: () => (/* binding */ CUSTOMER_ENV_ID_API_ACTIVATE),
/* harmony export */ CUSTOMER_ENV_ID_API_ITEM: () => (/* binding */ CUSTOMER_ENV_ID_API_ITEM),
/* harmony export */ CUSTOMER_UID: () => (/* binding */ CUSTOMER_UID),
/* harmony export */ DEFAULT_BROWSER_POOL_MAX_SIZE: () => (/* binding */ DEFAULT_BROWSER_POOL_MAX_SIZE),
/* harmony export */ DEFAULT_BROWSER_TIME_INTERVAL: () => (/* binding */ DEFAULT_BROWSER_TIME_INTERVAL),
/* harmony export */ DEFAULT_DEDUPLICATION_TIME: () => (/* binding */ DEFAULT_DEDUPLICATION_TIME),
/* harmony export */ DEFAULT_HIT_CACHE_TIME_MS: () => (/* binding */ DEFAULT_HIT_CACHE_TIME_MS),
/* harmony export */ DEFAULT_POLLING_INTERVAL: () => (/* binding */ DEFAULT_POLLING_INTERVAL),
/* harmony export */ DEFAULT_SERVER_POOL_MAX_SIZE: () => (/* binding */ DEFAULT_SERVER_POOL_MAX_SIZE),
/* harmony export */ DEFAULT_SERVER_TIME_INTERVAL: () => (/* binding */ DEFAULT_SERVER_TIME_INTERVAL),
/* harmony export */ DIRECT_HIT: () => (/* binding */ DIRECT_HIT),
/* harmony export */ DL_API_ITEM: () => (/* binding */ DL_API_ITEM),
/* harmony export */ DS_API_ITEM: () => (/* binding */ DS_API_ITEM),
/* harmony export */ EAI_SCORE_CONTEXT_KEY: () => (/* binding */ EAI_SCORE_CONTEXT_KEY),
/* harmony export */ EMIT_READY: () => (/* binding */ EMIT_READY),
/* harmony export */ EMOTION_AI_EVENT_URL: () => (/* binding */ EMOTION_AI_EVENT_URL),
/* harmony export */ EMOTION_AI_UC_URL: () => (/* binding */ EMOTION_AI_UC_URL),
/* harmony export */ EVENT_ACTION_API_ITEM: () => (/* binding */ EVENT_ACTION_API_ITEM),
/* harmony export */ EVENT_CATEGORY_API_ITEM: () => (/* binding */ EVENT_CATEGORY_API_ITEM),
/* harmony export */ EVENT_LABEL_API_ITEM: () => (/* binding */ EVENT_LABEL_API_ITEM),
/* harmony export */ EVENT_VALUE_API_ITEM: () => (/* binding */ EVENT_VALUE_API_ITEM),
/* harmony export */ EXPOSE_ALL_KEYS: () => (/* binding */ EXPOSE_ALL_KEYS),
/* harmony export */ FETCH_CAMPAIGNS_FROM_CACHE: () => (/* binding */ FETCH_CAMPAIGNS_FROM_CACHE),
/* harmony export */ FETCH_CAMPAIGNS_SUCCESS: () => (/* binding */ FETCH_CAMPAIGNS_SUCCESS),
/* harmony export */ FETCH_EAI_SCORE: () => (/* binding */ FETCH_EAI_SCORE),
/* harmony export */ FETCH_EAI_SCORE_ERROR: () => (/* binding */ FETCH_EAI_SCORE_ERROR),
/* harmony export */ FETCH_EAI_SCORE_SUCCESS: () => (/* binding */ FETCH_EAI_SCORE_SUCCESS),
/* harmony export */ FETCH_FLAGS_BUFFERING_MESSAGE: () => (/* binding */ FETCH_FLAGS_BUFFERING_MESSAGE),
/* harmony export */ FETCH_FLAGS_FROM_CAMPAIGNS: () => (/* binding */ FETCH_FLAGS_FROM_CAMPAIGNS),
/* harmony export */ FETCH_FLAGS_PANIC_MODE: () => (/* binding */ FETCH_FLAGS_PANIC_MODE),
/* harmony export */ FETCH_FLAGS_STARTED: () => (/* binding */ FETCH_FLAGS_STARTED),
/* harmony export */ FETCH_FLAG_BUFFERING_DEFAULT_TIME: () => (/* binding */ FETCH_FLAG_BUFFERING_DEFAULT_TIME),
/* harmony export */ FLAGSHIP_SDK: () => (/* binding */ FLAGSHIP_SDK),
/* harmony export */ FLAGSHIP_VISITOR_NOT_AUTHENTICATE: () => (/* binding */ FLAGSHIP_VISITOR_NOT_AUTHENTICATE),
/* harmony export */ FLAG_METADATA: () => (/* binding */ FLAG_METADATA),
/* harmony export */ FLAG_VALUE: () => (/* binding */ FLAG_VALUE),
/* harmony export */ FLAG_VISITOR_EXPOSED: () => (/* binding */ FLAG_VISITOR_EXPOSED),
/* harmony export */ FS_CONSENT: () => (/* binding */ FS_CONSENT),
/* harmony export */ FS_FORCED_VARIATIONS: () => (/* binding */ FS_FORCED_VARIATIONS),
/* harmony export */ FS_IS_QA_MODE_ENABLED: () => (/* binding */ FS_IS_QA_MODE_ENABLED),
/* harmony export */ FS_QA_ASSISTANT: () => (/* binding */ FS_QA_ASSISTANT),
/* harmony export */ FS_QA_ASSISTANT_LOCAL: () => (/* binding */ FS_QA_ASSISTANT_LOCAL),
/* harmony export */ FS_QA_ASSISTANT_SCRIPT_TAG_ID: () => (/* binding */ FS_QA_ASSISTANT_SCRIPT_TAG_ID),
/* harmony export */ FS_QA_ASSISTANT_STAGING: () => (/* binding */ FS_QA_ASSISTANT_STAGING),
/* harmony export */ FS_QA_URL: () => (/* binding */ FS_QA_URL),
/* harmony export */ GET_FLAG: () => (/* binding */ GET_FLAG),
/* harmony export */ GET_FLAG_CAST_ERROR: () => (/* binding */ GET_FLAG_CAST_ERROR),
/* harmony export */ GET_FLAG_MISSING_ERROR: () => (/* binding */ GET_FLAG_MISSING_ERROR),
/* harmony export */ GET_FLAG_NOT_FOUND: () => (/* binding */ GET_FLAG_NOT_FOUND),
/* harmony export */ GET_FLAG_VALUE: () => (/* binding */ GET_FLAG_VALUE),
/* harmony export */ GET_THIRD_PARTY_SEGMENT: () => (/* binding */ GET_THIRD_PARTY_SEGMENT),
/* harmony export */ HEADER_APPLICATION_JSON: () => (/* binding */ HEADER_APPLICATION_JSON),
/* harmony export */ HEADER_CONTENT_TYPE: () => (/* binding */ HEADER_CONTENT_TYPE),
/* harmony export */ HEADER_X_API_KEY: () => (/* binding */ HEADER_X_API_KEY),
/* harmony export */ HEADER_X_SDK_CLIENT: () => (/* binding */ HEADER_X_SDK_CLIENT),
/* harmony export */ HEADER_X_SDK_VERSION: () => (/* binding */ HEADER_X_SDK_VERSION),
/* harmony export */ HIT_ADDED_IN_QUEUE: () => (/* binding */ HIT_ADDED_IN_QUEUE),
/* harmony export */ HIT_CACHE_ERROR: () => (/* binding */ HIT_CACHE_ERROR),
/* harmony export */ HIT_CACHE_LOADED: () => (/* binding */ HIT_CACHE_LOADED),
/* harmony export */ HIT_CACHE_SAVED: () => (/* binding */ HIT_CACHE_SAVED),
/* harmony export */ HIT_CACHE_VERSION: () => (/* binding */ HIT_CACHE_VERSION),
/* harmony export */ HIT_DATA_FLUSHED: () => (/* binding */ HIT_DATA_FLUSHED),
/* harmony export */ HIT_EVENT_URL: () => (/* binding */ HIT_EVENT_URL),
/* harmony export */ HIT_SENT_SUCCESS: () => (/* binding */ HIT_SENT_SUCCESS),
/* harmony export */ ICN_API_ITEM: () => (/* binding */ ICN_API_ITEM),
/* harmony export */ IC_API_ITEM: () => (/* binding */ IC_API_ITEM),
/* harmony export */ INITIALIZATION_PARAM_ERROR: () => (/* binding */ INITIALIZATION_PARAM_ERROR),
/* harmony export */ INITIALIZATION_STARTING: () => (/* binding */ INITIALIZATION_STARTING),
/* harmony export */ IN_API_ITEM: () => (/* binding */ IN_API_ITEM),
/* harmony export */ IP_API_ITEM: () => (/* binding */ IP_API_ITEM),
/* harmony export */ IQ_API_ITEM: () => (/* binding */ IQ_API_ITEM),
/* harmony export */ IV_API_ITEM: () => (/* binding */ IV_API_ITEM),
/* harmony export */ LOOKUP_VISITOR_JSON_OBJECT_ERROR: () => (/* binding */ LOOKUP_VISITOR_JSON_OBJECT_ERROR),
/* harmony export */ MAX_ACTIVATE_HIT_PER_BATCH: () => (/* binding */ MAX_ACTIVATE_HIT_PER_BATCH),
/* harmony export */ MAX_CLICK_PATH_LENGTH: () => (/* binding */ MAX_CLICK_PATH_LENGTH),
/* harmony export */ MAX_COLLECTING_TIME_MS: () => (/* binding */ MAX_COLLECTING_TIME_MS),
/* harmony export */ MAX_LAST_COLLECTING_TIME_MS: () => (/* binding */ MAX_LAST_COLLECTING_TIME_MS),
/* harmony export */ MAX_SCORING_POLLING_TIME: () => (/* binding */ MAX_SCORING_POLLING_TIME),
/* harmony export */ METADATA_PANIC_MODE: () => (/* binding */ METADATA_PANIC_MODE),
/* harmony export */ METADATA_SDK_NOT_READY: () => (/* binding */ METADATA_SDK_NOT_READY),
/* harmony export */ METHOD_DEACTIVATED_CONSENT_ERROR: () => (/* binding */ METHOD_DEACTIVATED_CONSENT_ERROR),
/* harmony export */ METHOD_DEACTIVATED_ERROR: () => (/* binding */ METHOD_DEACTIVATED_ERROR),
/* harmony export */ NEW_VISITOR_NOT_READY: () => (/* binding */ NEW_VISITOR_NOT_READY),
/* harmony export */ NO_FLAG_METADATA: () => (/* binding */ NO_FLAG_METADATA),
/* harmony export */ PM_API_ITEM: () => (/* binding */ PM_API_ITEM),
/* harmony export */ POLLING_EVENT_200: () => (/* binding */ POLLING_EVENT_200),
/* harmony export */ POLLING_EVENT_300: () => (/* binding */ POLLING_EVENT_300),
/* harmony export */ POLLING_EVENT_FAILED: () => (/* binding */ POLLING_EVENT_FAILED),
/* harmony export */ PREDEFINED_CONTEXT_LOADED: () => (/* binding */ PREDEFINED_CONTEXT_LOADED),
/* harmony export */ PREDEFINED_CONTEXT_TYPE_ERROR: () => (/* binding */ PREDEFINED_CONTEXT_TYPE_ERROR),
/* harmony export */ PROCESS_BUCKETING: () => (/* binding */ PROCESS_BUCKETING),
/* harmony export */ PROCESS_CACHE: () => (/* binding */ PROCESS_CACHE),
/* harmony export */ PROCESS_CACHE_HIT: () => (/* binding */ PROCESS_CACHE_HIT),
/* harmony export */ PROCESS_CLEAR_CONTEXT: () => (/* binding */ PROCESS_CLEAR_CONTEXT),
/* harmony export */ PROCESS_FETCHING_FLAGS: () => (/* binding */ PROCESS_FETCHING_FLAGS),
/* harmony export */ PROCESS_FLUSH_HIT: () => (/* binding */ PROCESS_FLUSH_HIT),
/* harmony export */ PROCESS_INITIALIZATION: () => (/* binding */ PROCESS_INITIALIZATION),
/* harmony export */ PROCESS_LOOKUP_HIT: () => (/* binding */ PROCESS_LOOKUP_HIT),
/* harmony export */ PROCESS_NEW_VISITOR: () => (/* binding */ PROCESS_NEW_VISITOR),
/* harmony export */ PROCESS_SDK_STATUS: () => (/* binding */ PROCESS_SDK_STATUS),
/* harmony export */ PROCESS_SEND_HIT: () => (/* binding */ PROCESS_SEND_HIT),
/* harmony export */ PROCESS_SET_CONSENT: () => (/* binding */ PROCESS_SET_CONSENT),
/* harmony export */ PROCESS_UPDATE_CONTEXT: () => (/* binding */ PROCESS_UPDATE_CONTEXT),
/* harmony export */ QA_ASSISTANT_LOCAL_URL: () => (/* binding */ QA_ASSISTANT_LOCAL_URL),
/* harmony export */ QA_ASSISTANT_PROD_URL: () => (/* binding */ QA_ASSISTANT_PROD_URL),
/* harmony export */ QA_ASSISTANT_STAGING_URL: () => (/* binding */ QA_ASSISTANT_STAGING_URL),
/* harmony export */ QA_MODE_API_ITEM: () => (/* binding */ QA_MODE_API_ITEM),
/* harmony export */ QT_API_ITEM: () => (/* binding */ QT_API_ITEM),
/* harmony export */ REQUEST_TIME_OUT: () => (/* binding */ REQUEST_TIME_OUT),
/* harmony export */ SAVE_VISITOR_INSTANCE: () => (/* binding */ SAVE_VISITOR_INSTANCE),
/* harmony export */ SCORING_INTERVAL: () => (/* binding */ SCORING_INTERVAL),
/* harmony export */ SCREEN_RESOLUTION_API_ITEM: () => (/* binding */ SCREEN_RESOLUTION_API_ITEM),
/* harmony export */ SCROLL_END_DELAY_MS: () => (/* binding */ SCROLL_END_DELAY_MS),
/* harmony export */ SDK_APP: () => (/* binding */ SDK_APP),
/* harmony export */ SDK_INFO: () => (/* binding */ SDK_INFO),
/* harmony export */ SDK_STARTED_INFO: () => (/* binding */ SDK_STARTED_INFO),
/* harmony export */ SDK_STATUS_CHANGED: () => (/* binding */ SDK_STATUS_CHANGED),
/* harmony export */ SEND_BATCH: () => (/* binding */ SEND_BATCH),
/* harmony export */ SEND_EAI_EVENT: () => (/* binding */ SEND_EAI_EVENT),
/* harmony export */ SEND_EAI_EVENT_ERROR: () => (/* binding */ SEND_EAI_EVENT_ERROR),
/* harmony export */ SEND_EAI_EVENT_SUCCESS: () => (/* binding */ SEND_EAI_EVENT_SUCCESS),
/* harmony export */ SEND_TROUBLESHOOTING: () => (/* binding */ SEND_TROUBLESHOOTING),
/* harmony export */ SEND_USAGE_HIT: () => (/* binding */ SEND_USAGE_HIT),
/* harmony export */ SESSION_NUMBER: () => (/* binding */ SESSION_NUMBER),
/* harmony export */ SM_API_ITEM: () => (/* binding */ SM_API_ITEM),
/* harmony export */ S_API_ITEM: () => (/* binding */ S_API_ITEM),
/* harmony export */ TAG_QA_ASSISTANT: () => (/* binding */ TAG_QA_ASSISTANT),
/* harmony export */ TAG_QA_ASSISTANT_LOCAL: () => (/* binding */ TAG_QA_ASSISTANT_LOCAL),
/* harmony export */ TAG_QA_ASSISTANT_STAGING: () => (/* binding */ TAG_QA_ASSISTANT_STAGING),
/* harmony export */ TAG_QA_URL: () => (/* binding */ TAG_QA_URL),
/* harmony export */ TA_API_ITEM: () => (/* binding */ TA_API_ITEM),
/* harmony export */ TCC_API_ITEM: () => (/* binding */ TCC_API_ITEM),
/* harmony export */ TC_API_ITEM: () => (/* binding */ TC_API_ITEM),
/* harmony export */ THIRD_PARTY_SEGMENT_URL: () => (/* binding */ THIRD_PARTY_SEGMENT_URL),
/* harmony export */ TID_API_ITEM: () => (/* binding */ TID_API_ITEM),
/* harmony export */ TRACKER_MANAGER_MISSING_ERROR: () => (/* binding */ TRACKER_MANAGER_MISSING_ERROR),
/* harmony export */ TRACKING_MANAGER: () => (/* binding */ TRACKING_MANAGER),
/* harmony export */ TRACKING_MANAGER_ERROR: () => (/* binding */ TRACKING_MANAGER_ERROR),
/* harmony export */ TROUBLESHOOTING_HIT_ADDED_IN_QUEUE: () => (/* binding */ TROUBLESHOOTING_HIT_ADDED_IN_QUEUE),
/* harmony export */ TROUBLESHOOTING_HIT_URL: () => (/* binding */ TROUBLESHOOTING_HIT_URL),
/* harmony export */ TROUBLESHOOTING_SENT_SUCCESS: () => (/* binding */ TROUBLESHOOTING_SENT_SUCCESS),
/* harmony export */ TRUSTED_QA_ORIGINS: () => (/* binding */ TRUSTED_QA_ORIGINS),
/* harmony export */ TR_API_ITEM: () => (/* binding */ TR_API_ITEM),
/* harmony export */ TS_API_ITEM: () => (/* binding */ TS_API_ITEM),
/* harmony export */ TT_API_ITEM: () => (/* binding */ TT_API_ITEM),
/* harmony export */ TYPE_ERROR: () => (/* binding */ TYPE_ERROR),
/* harmony export */ T_API_ITEM: () => (/* binding */ T_API_ITEM),
/* harmony export */ UNAUTHENTICATE: () => (/* binding */ UNAUTHENTICATE),
/* harmony export */ URL_ACTIVATE_MODIFICATION: () => (/* binding */ URL_ACTIVATE_MODIFICATION),
/* harmony export */ URL_CAMPAIGNS: () => (/* binding */ URL_CAMPAIGNS),
/* harmony export */ USAGE_HIT_URL: () => (/* binding */ USAGE_HIT_URL),
/* harmony export */ USER_EXPOSED_CAST_ERROR: () => (/* binding */ USER_EXPOSED_CAST_ERROR),
/* harmony export */ USER_EXPOSED_FLAG_ERROR: () => (/* binding */ USER_EXPOSED_FLAG_ERROR),
/* harmony export */ USER_IP_API_ITEM: () => (/* binding */ USER_IP_API_ITEM),
/* harmony export */ USER_LANGUAGE: () => (/* binding */ USER_LANGUAGE),
/* harmony export */ VARIATION_GROUP_ID_API_ITEM_ACTIVATE: () => (/* binding */ VARIATION_GROUP_ID_API_ITEM_ACTIVATE),
/* harmony export */ VARIATION_ID_API_ITEM: () => (/* binding */ VARIATION_ID_API_ITEM),
/* harmony export */ VISITOR_ALREADY_AUTHENTICATE: () => (/* binding */ VISITOR_ALREADY_AUTHENTICATE),
/* harmony export */ VISITOR_AUTHENTICATE: () => (/* binding */ VISITOR_AUTHENTICATE),
/* harmony export */ VISITOR_AUTHENTICATE_VISITOR_ID_ERROR: () => (/* binding */ VISITOR_AUTHENTICATE_VISITOR_ID_ERROR),
/* harmony export */ VISITOR_CACHE_ERROR: () => (/* binding */ VISITOR_CACHE_ERROR),
/* harmony export */ VISITOR_CACHE_FLUSHED: () => (/* binding */ VISITOR_CACHE_FLUSHED),
/* harmony export */ VISITOR_CACHE_LOADED: () => (/* binding */ VISITOR_CACHE_LOADED),
/* harmony export */ VISITOR_CACHE_SAVED: () => (/* binding */ VISITOR_CACHE_SAVED),
/* harmony export */ VISITOR_CACHE_VERSION: () => (/* binding */ VISITOR_CACHE_VERSION),
/* harmony export */ VISITOR_CREATED: () => (/* binding */ VISITOR_CREATED),
/* harmony export */ VISITOR_EXPOSED_VALUE_NOT_CALLED: () => (/* binding */ VISITOR_EXPOSED_VALUE_NOT_CALLED),
/* harmony export */ VISITOR_ID_API_ITEM: () => (/* binding */ VISITOR_ID_API_ITEM),
/* harmony export */ VISITOR_ID_ERROR: () => (/* binding */ VISITOR_ID_ERROR),
/* harmony export */ VISITOR_ID_FROM_AB_TASTY_TAG: () => (/* binding */ VISITOR_ID_FROM_AB_TASTY_TAG),
/* harmony export */ VISITOR_ID_GENERATED: () => (/* binding */ VISITOR_ID_GENERATED),
/* harmony export */ VISITOR_PROFILE_LOADED: () => (/* binding */ VISITOR_PROFILE_LOADED),
/* harmony export */ VISITOR_SYNC_FLAGS_MESSAGE: () => (/* binding */ VISITOR_SYNC_FLAGS_MESSAGE),
/* harmony export */ VISITOR_UNAUTHENTICATE: () => (/* binding */ VISITOR_UNAUTHENTICATE)
/* harmony export */ });
/* unused harmony exports HIT_API_URL, BUCKETING_API_CONTEXT_URL, HIT_CONSENT_URL, SEND_CONTEXT_EVENT, VISITOR_EAI_SCORE_KEY, SDK_VERSION, EMIT_STATUS, NO_BATCHING_WITH_CONTINUOUS_CACHING_STRATEGY, JS_DOC_URL, PANIC_MODE_DOC_URL, ERROR, CONTEXT_PARAM_ERROR, GET_MODIFICATION_CAST_ERROR, GET_MODIFICATION_MISSING_ERROR, GET_MODIFICATION_KEY_ERROR, ACTIVATE_MODIFICATION_KEY_ERROR, GET_MODIFICATION_ERROR, GET_FLAG_ERROR, ACTIVATE_MODIFICATION_ERROR, DECISION_MANAGER_MISSING_ERROR, CURL_LIBRARY_IS_NOT_LOADED, TYPE_INTEGER_ERROR, PANIC_MODE_ERROR, METHOD_DEACTIVATED_SEND_CONSENT_ERROR, ADD_HIT, BATCH_SENT_SUCCESS, ACTIVATE_SENT_SUCCESS, SEND_ACTIVATE, SEND_SEGMENT_HIT, SEND_HIT, EVENT_SUFFIX, LOOKUP_HITS_JSON_OBJECT_ERROR, ACTIVATE_BATCH_LENGTH, PROCESS, PROCESS_GET_MODIFICATION, PROCESS_GET_MODIFICATION_INFO, PROCESS_ACTIVE_MODIFICATION, PROCESS_SYNCHRONIZED_MODIFICATION, PROCESS_SEND_ACTIVATE, PROCESS_GET_CAMPAIGNS, PROCESS_GET_ALL_MODIFICATION, PROCESS_MODIFICATIONS_FOR_CAMPAIGN, VARIATION_GROUP_ID_API_ITEM, VISITOR_CONSENT, CAMPAIGN_ID, SL_ITEM, HEADER_X_ENV_ID, CONTEXT_OBJET_PARAM_UPDATE, FETCH_FLAGS_MISSING, GET_METADATA_CAST_ERROR, METHOD_DEACTIVATED_BUCKETING_ERROR, ACTION_TRACKING_SENDING_HIT, ACTION_TRACKING_SENDING_HIT_ERROR */
/* harmony import */ var _sdkVersion__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(789);
/**
* SDK language
*/
const SDK_INFO = {
name: 'TypeScript',
version: _sdkVersion__WEBPACK_IMPORTED_MODULE_0__.version
};
/**
* Default request timeout in second
*/
const REQUEST_TIME_OUT = 2;
const FETCH_FLAG_BUFFERING_DEFAULT_TIME = 2;
const DEFAULT_DEDUPLICATION_TIME = 2.5;
const DEFAULT_POLLING_INTERVAL = 5;
const DEFAULT_SERVER_TIME_INTERVAL = 10;
const DEFAULT_SERVER_POOL_MAX_SIZE = 100;
const DEFAULT_BROWSER_TIME_INTERVAL = 5;
const DEFAULT_BROWSER_POOL_MAX_SIZE = 10;
const BATCH_MAX_SIZE = 2500000;
const ANALYTIC_HIT_ALLOCATION = 1;
const MAX_COLLECTING_TIME_MS = 30000;
const MAX_LAST_COLLECTING_TIME_MS = 120000;
const MAX_CLICK_PATH_LENGTH = 1900;
const MAX_SCORING_POLLING_TIME = 120000;
const SCROLL_END_DELAY_MS = 200;
const CLICK_PATH_DELAY_MS = 500;
const SCORING_INTERVAL = 5000;
/**
* Decision api base url
*/
const BASE_API_URL = 'https://decision.flagship.io/v2/';
const HIT_API_URL = 'https://ariane.abtasty.com';
const HIT_EVENT_URL = 'https://events.flagship.io';
const TROUBLESHOOTING_HIT_URL = 'https://events.flagship.io/troubleshooting';
const USAGE_HIT_URL = 'https://events.flagship.io/analytics';
const BUCKETING_API_URL = 'https://cdn.flagship.io/{0}/bucketing.json';
const BUCKETING_API_CONTEXT_URL = 'https://decision.flagship.io/v2/{0}/events';
const THIRD_PARTY_SEGMENT_URL = 'https://api-data-connector.flagship.io/accounts/{0}/segments/{1}';
const HIT_CONSENT_URL = 'https://ariane.abtasty.com';
const URL_CAMPAIGNS = '/campaigns';
const URL_ACTIVATE_MODIFICATION = 'activate';
const QA_ASSISTANT_PROD_URL = 'https://qa-assistant.flagship.io/bundle.js';
const QA_ASSISTANT_STAGING_URL = 'https://staging-qa-assistant.flagship.io/bundle.js';
const QA_ASSISTANT_LOCAL_URL = 'https://local-qa-assistant.flagship.io:5000/bundle.js';
const FS_QA_ASSISTANT = 'fs_qa_assistant';
const FS_QA_ASSISTANT_STAGING = 'fs_qa_assistant_staging';
const FS_QA_ASSISTANT_LOCAL = 'fs_qa_assistant_local';
const TAG_QA_ASSISTANT = 'abtasty_qa_assistant';
const TAG_QA_ASSISTANT_STAGING = 'abtasty_qa_assistant_staging';
const TAG_QA_ASSISTANT_LOCAL = 'abtasty_qa_assistant_local';
const TAG_QA_URL = 'qa-assistant.abtasty.com';
const FS_QA_URL = 'qa-assistant.flagship.io';
const EXPOSE_ALL_KEYS = 'exposeAllKeys';
const SEND_CONTEXT_EVENT = 'sendContextEvent';
const FS_CONSENT = 'fs_consent';
const FS_IS_QA_MODE_ENABLED = 'FS_IS_QA_MODE_ENABLED';
const FS_FORCED_VARIATIONS = 'FS_FORCED_VARIATIONS';
const FS_QA_ASSISTANT_SCRIPT_TAG_ID = 'FS_QA_ASSISTANT_SCRIPT_TAG_ID';
const EMOTION_AI_UC_URL = 'https://uc-info.flagship.io/v1/segments/clients/{0}/visitors/{1}';
const CDN_ACCOUNT_SETTINGS_URL = 'https://cdn.flagship.io/{0}/accountSettings.json';
const VISITOR_EAI_SCORE_KEY = '{0}_EAIScore';
const EMOTION_AI_EVENT_URL = 'https://events.flagship.io/emotionsai';
const SEND_EAI_EVENT = 'sendEAIEvent';
const SEND_EAI_EVENT_ERROR = 'Failed to send Emotion AI event: {0}';
const SEND_EAI_EVENT_SUCCESS = 'Emotion AI event sent: {0}';
const FETCH_EAI_SCORE = 'fetchEAIScore';
const FETCH_EAI_SCORE_ERROR = 'visitor {0}, Failed to fetch EAIScore: {1}';
const FETCH_EAI_SCORE_SUCCESS = 'visitor {0}, EAIScore fetched: {1}';
const EAI_SCORE_CONTEXT_KEY = 'eai::eas';
const CLIENT_CACHE_KEY = 'FS_CLIENT_VISITOR';
/**
* SDK version
*/
const SDK_VERSION = (/* unused pure expression or super */ null && (version));
const VISITOR_CACHE_VERSION = 1;
const HIT_CACHE_VERSION = 1;
const DEFAULT_HIT_CACHE_TIME_MS = 14400000;
const MAX_ACTIVATE_HIT_PER_BATCH = 100;
/**
* Message Info
*/
const SDK_STARTED_INFO = 'Flagship SDK (version: {0}) {1} in **{2}** mode';
const FLAGSHIP_SDK = 'Flagship SDK';
const EMIT_READY = 'ready';
const EMIT_STATUS = 'status';
const NO_BATCHING_WITH_CONTINUOUS_CACHING_STRATEGY = 3;
const JS_DOC_URL = 'https://docs.developers.flagship.io/docs/js-v3';
const PANIC_MODE_DOC_URL = 'https://docs.developers.flagship.io/docs/glossary#panic-mode';
/**
* Message Error
*/
const INITIALIZATION_PARAM_ERROR = `Params 'envId' and 'apiKey' must not be null or empty.
Learn more: ${JS_DOC_URL}#initialization`;
const ERROR = 'error';
const CONTEXT_NULL_ERROR = 'Context must not to be null';
const CONTEXT_PARAM_ERROR = "params {0} must be a non null String, and 'value' must be one of the following types , Number, Boolean";
const GET_MODIFICATION_CAST_ERROR = 'Modification for key {0} has a different type. Default value is returned.';
const GET_MODIFICATION_MISSING_ERROR = 'No modification for key {0}. Default value is returned.';
const GET_MODIFICATION_KEY_ERROR = 'Key {0} must not be null. Default value is returned.';
const ACTIVATE_MODIFICATION_KEY_ERROR = 'Key {0} must not be null, no activate will be sent.';
const GET_MODIFICATION_ERROR = 'No modification for key {0}.';
const GET_FLAG_ERROR = 'No flag for key {0}.';
const ACTIVATE_MODIFICATION_ERROR = 'No modification for key {0}, no activate will be sent.';
const DECISION_MANAGER_MISSING_ERROR = 'decisionManager must not be null.';
const TRACKER_MANAGER_MISSING_ERROR = 'trackerManager must not be null.';
const CURL_LIBRARY_IS_NOT_LOADED = 'curl library is not loaded';
const TYPE_ERROR = '{0} must be a {1}';
const TYPE_INTEGER_ERROR = 'value of {0} is not an {1}, it will be truncated to {1}';
const VISITOR_ID_ERROR = 'visitorId must not be null or empty';
const PANIC_MODE_ERROR = '{0} deactivated while panic mode is on.';
const METHOD_DEACTIVATED_CONSENT_ERROR = 'Method {0} is deactivated for visitor {1} : visitor did not consent.';
const METHOD_DEACTIVATED_ERROR = 'Visitor {0}, method {1} is deactivated while SDK status is: {2}.';
const METHOD_DEACTIVATED_SEND_CONSENT_ERROR = 'Send consent hit is deactivated while SDK status is: {1}.';
const TROUBLESHOOTING_HIT_ADDED_IN_QUEUE = 'The TROUBLESHOOTING HIT has been added to the pool queue : {0}';
const ANALYTICS_HIT_ADDED_IN_QUEUE = 'The USAGE HIT has been added to the pool queue : {0}';
const ACTIVATE_ADDED_IN_QUEUE = 'The ACTIVATE has been added to the pool queue : {0}';
const HIT_ADDED_IN_QUEUE = 'The HIT has been added into the pool queue : {0}';
const ADD_HIT = 'ADD HIT';
const ADD_TROUBLESHOOTING_HIT = 'ADD TROUBLESHOOTING HIT';
const ADD_USAGE_HIT = 'ADD USAGE HIT';
const ADD_ACTIVATE = 'ADD ACTIVATE';
const BATCH_SENT_SUCCESS = 'Batch hit has been sent : {0}';
const TROUBLESHOOTING_SENT_SUCCESS = 'Troubleshooting hit has been sent : {0}';
const ANALYTICS_HIT_SENT_SUCCESS = 'Usage hit has been sent : {0}';
const ACTIVATE_SENT_SUCCESS = 'Activate hit has been sent : {0}';
const SEND_BATCH = 'SEND BATCH';
const SEND_TROUBLESHOOTING = 'SEND TROUBLESHOOTING';
const SEND_USAGE_HIT = 'SEND USAGE HIT';
const SEND_ACTIVATE = 'SEND ACTIVATE';
const SEND_SEGMENT_HIT = 'SEND SEGMENT HIT';
const SEND_HIT = 'SEND HIT';
const EVENT_SUFFIX = 'events';
const FETCH_FLAGS_BUFFERING_MESSAGE = 'Visitor {0}, fetchFlags has been ignored and will continue to be ignored for the next {1}ms, this delay can be changed with `fetchFlagsBufferingTime` option in the SDK config';
const VISITOR_SYNC_FLAGS_MESSAGE = 'without calling `fetchFlags` method afterwards. So, the value of the flag `{1}` might be outdated';
const NEW_VISITOR_NOT_READY = `You can't create a new visitor without first calling the "Flagship.start" method.
Learn more: ${JS_DOC_URL}#initialization
`;
const LOOKUP_HITS_JSON_OBJECT_ERROR = 'JSON DATA must fit the type HitCacheDTO';
const ACTIVATE_BATCH_LENGTH = 5;
// Process
const PROCESS = 'process';
const PROCESS_INITIALIZATION = 'INITIALIZATION';
const PROCESS_UPDATE_CONTEXT = 'UPDATE CONTEXT';
const PROCESS_GET_MODIFICATION = 'GET MODIFICATION';
const PROCESS_GET_MODIFICATION_INFO = 'GET MODIFICATION INFO';
const PROCESS_NEW_VISITOR = 'NEW VISITOR';
const PROCESS_ACTIVE_MODIFICATION = 'ACTIVE MODIFICATION';
const PROCESS_SYNCHRONIZED_MODIFICATION = 'SYNCHRONIZED MODIFICATION';
const PROCESS_SEND_HIT = 'ADD HIT';
const PROCESS_SEND_ACTIVATE = 'SEND ACTIVATE';
const PROCESS_GET_CAMPAIGNS = 'GET CAMPAIGNS';
const PROCESS_GET_ALL_MODIFICATION = 'GET ALL MODIFICATIONS';
const PROCESS_MODIFICATIONS_FOR_CAMPAIGN = 'GET MODIFICATION FOR CAMPAIGN';
const PROCESS_CACHE_HIT = 'CACHE HIT';
const PROCESS_FLUSH_HIT = 'FLUSH HIT';
const PROCESS_LOOKUP_HIT = 'LOOKUP HIT';
// Api items
const BATCH = 'batch';
const CUSTOMER_ENV_ID_API_ITEM = 'cid';
const CUSTOMER_ENV_ID_API_ACTIVATE = 'cid';
const CUSTOMER_UID = 'cuid';
const ANONYMOUS_ID = 'aid';
const VISITOR_ID_API_ITEM = 'vid';
const VARIATION_GROUP_ID_API_ITEM = 'caid';
const VARIATION_GROUP_ID_API_ITEM_ACTIVATE = 'caid';
const VISITOR_CONSENT = 'vc';
const CAMPAIGN_ID = 'caid';
const VARIATION_ID_API_ITEM = 'vaid';
const DS_API_ITEM = 'ds';
const T_API_ITEM = 't';
const QT_API_ITEM = 'qt';
const QA_MODE_API_ITEM = 'qa';
const DL_API_ITEM = 'dl';
const SL_ITEM = 'sl';
const SDK_APP = 'APP';
const TID_API_ITEM = 'tid';
const TA_API_ITEM = 'ta';
const TT_API_ITEM = 'tt';
const TC_API_ITEM = 'tc';
const TCC_API_ITEM = 'tcc';
const ICN_API_ITEM = 'icn';
const SM_API_ITEM = 'sm';
const PM_API_ITEM = 'pm';
const TR_API_ITEM = 'tr';
const TS_API_ITEM = 'ts';
const IN_API_ITEM = 'in';
const IC_API_ITEM = 'ic';
const IP_API_ITEM = 'ip';
const IQ_API_ITEM = 'iq';
const IV_API_ITEM = 'iv';
const S_API_ITEM = 's';
const EVENT_CATEGORY_API_ITEM = 'ec';
const EVENT_ACTION_API_ITEM = 'ea';
const EVENT_LABEL_API_ITEM = 'el';
const EVENT_VALUE_API_ITEM = 'ev';
const USER_IP_API_ITEM = 'uip';
const SCREEN_RESOLUTION_API_ITEM = 'sr';
const USER_LANGUAGE = 'ul';
const SESSION_NUMBER = 'sn';
const HEADER_X_API_KEY = 'x-api-key';
const HEADER_X_ENV_ID = 'x-env-id';
const HEADER_CONTENT_TYPE = 'Content-Type';
const HEADER_X_SDK_CLIENT = 'x-sdk-client';
const HEADER_X_SDK_VERSION = 'x-sdk-version';
const HEADER_APPLICATION_JSON = 'application/json';
// Log
const INITIALIZATION_STARTING = 'Flagship SDK version {0} is starting in {1} mode with config {2}';
const BUCKETING_POOLING_STARTED = 'Bucketing polling process has been started';
const BUCKETING_POOLING_STOPPED = 'Bucketing polling process has been stopped';
const PROCESS_BUCKETING = 'BUCKETING';
const POLLING_EVENT_200 = 'Polling event with code status 200 : {0}';
const POLLING_EVENT_300 = 'Polling event with code status 304';
const POLLING_EVENT_FAILED = 'Polling event failed with error';
const PROCESS_SDK_STATUS = 'SDK STATUS';
const SDK_STATUS_CHANGED = 'SDK status has changed: {0}';
const SAVE_VISITOR_INSTANCE = 'Visitor {0} has been saved in SDK instance';
const VISITOR_CREATED = 'Visitor {0} has been created with context {1}, isAuthenticated:{2} and hasConsented {3}';
const VISITOR_PROFILE_LOADED = 'Visitor profile has been loaded {0}';
const VISITOR_ID_FROM_AB_TASTY_TAG = "The visitor ID '{0}' has been retrieved from ABTasty tag";
const VISITOR_ID_GENERATED = 'Visitor identifier is empty. A UUID {0} has been generated.';
const PREDEFINED_CONTEXT_LOADED = 'Predefined Context have been loaded {0}';
const CONTEXT_KEY_ERROR = `Visitor {0}, the key '{1}' must be a non null String.
Learn more: ${JS_DOC_URL}#updating-the-visitor-context`;
const CONTEXT_VALUE_ERROR = `Visitor {0}, 'value' for key '{1}[], must be one of the following types : String, Number, Boolean
Learn more: ${JS_DOC_URL}#updating-the-visitor-context`;
const PREDEFINED_CONTEXT_TYPE_ERROR = `visitor {0}, Predefined Context {0} must be of type {1}
Learn more: ${JS_DOC_URL}#predefined-user-context-keys-`;
const CONTEXT_KEY_VALUE_UPDATE = 'visitor `{0}`, context have been updated: key {1}, value {2}, Context {3}';
const CONTEXT_OBJET_PARAM_UPDATE = 'visitor `{0}`, context have been updated: key/value {1}, Context {2}';
const CLEAR_CONTEXT = 'visitor `{0}`, context has been cleared cleared `{1}`';
const PROCESS_CLEAR_CONTEXT = 'CLEAR_CONTEXT';
const CONSENT_CHANGED = 'Visitor `{0}` consent has been changed : {1}';
const PROCESS_SET_CONSENT = 'SET_CONSENT';
const FETCH_CAMPAIGNS_SUCCESS = 'Visitor {0}, anonymousId {1} with context {2} has just fetched campaigns {3} in {4} ms';
const FETCH_CAMPAIGNS_FROM_CACHE = 'Visitor {0}, anonymousId {1} with context {2} has just fetched campaigns from cache {3} in {4} ms';
const FETCH_FLAGS_FROM_CAMPAIGNS = 'Visitor {0}, anonymousId {1} with context {2} has just fetched flags {3} from Campaigns';
const FETCH_FLAGS_STARTED = 'visitor `{0}` fetchFlags process is started';
const FETCH_FLAGS_PANIC_MODE = 'Panic mode is enabled : all feature are disabled except fetchFlags.';
const PROCESS_FETCHING_FLAGS = 'FETCH_FLAGS';
const GET_FLAG_MISSING_ERROR = 'For the visitor "{0}", no flags were found with the key "{1}". Therefore, the default value "{2}" has been returned.';
const GET_FLAG_NOT_FOUND = 'For the visitor "{0}", no flags were found with the key "{1}". Therefore, an empty flag has been returned.';
const FETCH_FLAGS_MISSING = 'Visitor {0} has {1} without calling fetchFlags method, ';
const FLAG_VALUE = 'FLAG_VALUE';
const GET_FLAG = 'GET_FLAG';
const GET_FLAG_CAST_ERROR = 'For the visitor "{0}", the flag with key "{1}" has a different type compared to the default value. Therefore, the default value "{2}" has been returned.';
const GET_FLAG_VALUE = 'Visitor {0}, Flag for key {1} returns value {2}';
const USER_EXPOSED_FLAG_ERROR = 'For the visitor "{0}", no flags were found with the key "{1}". As a result,