{"version":3,"file":"contentweb/mntv-vend-sm.3962946a.js","mappings":"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EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KAnPvB,CAoPGA,IAAiBpY,EAAQoY,aAAeA,EAAe,KAE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","sources":["/app/apps/contentweb/node_modules/@sm/apollo-clients/dist/browser.js","/app/apps/contentweb/node_modules/@sm/intl/dist/formats.js","/app/apps/contentweb/node_modules/@sm/intl/dist/index.js","/app/apps/contentweb/node_modules/@sm/locale/dist/dataCenters.js","/app/apps/contentweb/node_modules/@sm/locale/dist/index.js","/app/apps/contentweb/node_modules/@sm/locale/dist/languages.js","/app/apps/contentweb/node_modules/@sm/locale/dist/localeSets.js","/app/apps/contentweb/node_modules/@sm/metrics/dist/BaseMetricsTracker.js","/app/apps/contentweb/node_modules/@sm/metrics/dist/MetricsTracker.js","/app/apps/contentweb/node_modules/@sm/metrics/dist/helpers.js","/app/apps/contentweb/node_modules/@sm/metrics/dist/index.js","/app/apps/contentweb/node_modules/@sm/metrics/dist/providers/ComponentMetricsProvider.js","/app/apps/contentweb/node_modules/@sm/metrics/dist/providers/PageMetricsProvider.js","/app/apps/contentweb/node_modules/@sm/metrics/dist/providers/SPARouteMetricsProvider.js","/app/apps/contentweb/node_modules/@sm/metrics/dist/subscribers/AmplitudeSubscriber.js","/app/apps/contentweb/node_modules/@sm/metrics/dist/subscribers/DataAnalyticsMetricsSubscriber.js","/app/apps/contentweb/node_modules/@sm/metrics/dist/subscribers/FacebookPixelSubscriber.js","/app/apps/contentweb/node_modules/@sm/metrics/dist/subscribers/GTMMeticsSubscriber.js","/app/apps/contentweb/node_modules/@sm/metrics/dist/subscribers/LoggingMetricsSubscriber.js","/app/apps/contentweb/node_modules/@sm/metrics/dist/types/enums.js","/app/apps/contentweb/node_modules/@sm/metrics/dist/types/types.js","/app/apps/contentweb/node_modules/@sm/metrics/dist/utils.js","/app/apps/contentweb/node_modules/@sm/utils/dist/S3Uploader/S3Uploader.js","/app/apps/contentweb/node_modules/@sm/utils/dist/billing/index.js","/app/apps/contentweb/node_modules/@sm/utils/dist/environment/index.js","/app/apps/contentweb/node_modules/@sm/utils/dist/index.js","/app/apps/contentweb/node_modules/@sm/utils/dist/object/deepFreeze.js","/app/apps/contentweb/node_modules/@sm/utils/dist/string/isValidEmail.js","/app/apps/contentweb/node_modules/@sm/utils/dist/string/sanitizeString.js","/app/apps/contentweb/node_modules/@sm/utils/dist/ts-auto-mock/index.js","/app/apps/contentweb/node_modules/@sm/utils/dist/url/createURL.js"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createBrowserApolloClient;\n\nvar _apolloClient = _interopRequireDefault(require(\"apollo-client\"));\n\nvar _apolloLinkBatchHttp = require(\"apollo-link-batch-http\");\n\nvar _apolloCacheInmemory = require(\"apollo-cache-inmemory\");\n\nvar _apolloLink = require(\"apollo-link\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar DEFAULT_TARGET_PATH = 'default';\nvar DEFAULT_LINK_OPTIONS = {\n credentials: 'include',\n batchInterval: 30\n};\n\nfunction createBrowserApolloClient(_ref) {\n var fragmentMatcherFn = _ref.fragmentMatcherFn,\n metadata = _ref.metadata,\n pageRequestId = _ref.pageRequestId,\n _ref$cacheHydration = _ref.cacheHydration,\n cacheHydration = _ref$cacheHydration === void 0 ? {} : _ref$cacheHydration,\n _ref$uri = _ref.uri,\n uri = _ref$uri === void 0 ? '/graphql' : _ref$uri,\n _ref$linkOptions = _ref.linkOptions,\n linkOptions = _ref$linkOptions === void 0 ? {} : _ref$linkOptions,\n _ref$devToolsEnabled = _ref.devToolsEnabled,\n devToolsEnabled = _ref$devToolsEnabled === void 0 ? true : _ref$devToolsEnabled,\n _ref$availableLoggedO = _ref.availableLoggedOutPaths,\n availableLoggedOutPaths = _ref$availableLoggedO === void 0 ? [] : _ref$availableLoggedO,\n authLink = _ref.authLink;\n var appName = metadata.appName,\n appVersion = metadata.appVersion;\n var cache = new _apolloCacheInmemory.InMemoryCache({\n fragmentMatcher: fragmentMatcherFn && fragmentMatcherFn()\n }).restore(cacheHydration);\n\n var _linkOptions$headers = linkOptions.headers,\n headers = _linkOptions$headers === void 0 ? {} : _linkOptions$headers,\n otherLinkOptions = _objectWithoutProperties(linkOptions, [\"headers\"]);\n\n if (pageRequestId) {\n headers['sm-page-request-id'] = pageRequestId;\n }\n\n var apolloLinkMemoizeCache = {};\n\n function apolloLinkFactory() {\n var targetPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_TARGET_PATH;\n\n if (apolloLinkMemoizeCache[targetPath]) {\n return apolloLinkMemoizeCache[targetPath];\n }\n\n var link = new _apolloLinkBatchHttp.BatchHttpLink(_objectSpread({}, DEFAULT_LINK_OPTIONS, {}, otherLinkOptions, {\n uri: targetPath,\n headers: headers\n }));\n\n if (authLink && targetPath === '/graphql') {\n link = authLink.concat(link);\n }\n\n apolloLinkMemoizeCache[targetPath] = link;\n return link;\n } // custom apollo-link that determines the actual link to use based on the passed\n // `targetPath` context.\n\n\n var link = new _apolloLink.ApolloLink(function (operation) {\n var _operation$getContext, _operation$getContext2; // if the targetPath is not the default, use an alternate graphql endpoint.\n\n\n var targetPath = operation === null || operation === void 0 ? void 0 : (_operation$getContext = operation.getContext) === null || _operation$getContext === void 0 ? void 0 : (_operation$getContext2 = _operation$getContext.call(operation)) === null || _operation$getContext2 === void 0 ? void 0 : _operation$getContext2.targetPath;\n var graphQLPath = uri;\n\n if (availableLoggedOutPaths.includes(targetPath)) {\n // whitelist for security\n graphQLPath = targetPath;\n }\n\n return apolloLinkFactory(graphQLPath).request(operation) || _apolloLink.Observable.of();\n });\n return new _apolloClient.default({\n connectToDevTools: devToolsEnabled,\n cache: cache,\n link: link,\n name: appName,\n version: appVersion\n });\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _utils = require(\"@sm/utils\");\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar _getClientEnvironment = (0, _utils.getClientEnvironmentDetails)(),\n isBrowser = _getClientEnvironment.isBrowser;\n\nvar currency = ['AFN', 'EUR', 'ALL', 'DZD', 'USD', 'AOA', 'XCD', 'ARS', 'AMD', 'AWG', 'AUD', 'AZN', 'BSD', 'BHD', 'BDT', 'BBD', 'BYN', 'BZD', 'XOF', 'BMD', 'INR', 'BTN', 'BOB', 'BOV', 'BAM', 'BWP', 'NOK', 'BRL', 'BND', 'BGN', 'BIF', 'CVE', 'KHR', 'XAF', 'CAD', 'KYD', 'CLP', 'CLF', 'CNY', 'COP', 'COU', 'KMF', 'CDF', 'NZD', 'CRC', 'HRK', 'CUP', 'CUC', 'ANG', 'CZK', 'DKK', 'DJF', 'DOP', 'EGP', 'SVC', 'ERN', 'ETB', 'FKP', 'FJD', 'XPF', 'GMD', 'GEL', 'GHS', 'GIP', 'GTQ', 'GBP', 'GNF', 'GYD', 'HTG', 'HNL', 'HKD', 'HUF', 'ISK', 'IDR', 'XDR', 'IRR', 'IQD', 'ILS', 'JMD', 'JPY', 'JOD', 'KZT', 'KES', 'KPW', 'KRW', 'KWD', 'KGS', 'LAK', 'LBP', 'LSL', 'ZAR', 'LRD', 'LYD', 'CHF', 'MOP', 'MKD', 'MGA', 'MWK', 'MYR', 'MVR', 'MRO', 'MUR', 'XUA', 'MXN', 'MXV', 'MDL', 'MNT', 'MAD', 'MZN', 'MMK', 'NAD', 'NPR', 'NIO', 'NGN', 'OMR', 'PKR', 'PAB', 'PGK', 'PYG', 'PEN', 'PHP', 'PLN', 'QAR', 'RON', 'RUB', 'RWF', 'SHP', 'WST', 'STD', 'SAR', 'RSD', 'SCR', 'SLL', 'SGD', 'XSU', 'SBD', 'SOS', 'SSP', 'LKR', 'SDG', 'SRD', 'SZL', 'SEK', 'CHE', 'CHW', 'SYP', 'TWD', 'TJS', 'TZS', 'THB', 'TOP', 'TTD', 'TND', 'TRY', 'TMT', 'UGX', 'UAH', 'AED', 'USN', 'UYU', 'UYI', 'UZS', 'VUV', 'VEF', 'VND', 'YER', 'ZMW', 'ZWL', 'XBA', 'XBB', 'XBC', 'XBD', 'XTS', 'XXX', 'XAU', 'XPD', 'XPT', 'XAG'];\n/** List of supported currencies */\n\nvar numberFormat = currency.reduce(function (acc, key) {\n return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, {\n style: 'currency',\n currency: key\n }));\n}, {});\nvar dateTimeFormat;\n\nif (isBrowser) {\n var browserTimezone = 'UTC';\n\n try {\n browserTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n dateTimeFormat = {\n timeZone: browserTimezone\n };\n } catch (err) {\n // We're throwing in a settimeout because we don't want to break the current tick.\n window.setTimeout(function () {\n throw err;\n }, 1);\n }\n}\n\nvar _default = {\n number: numberFormat,\n dateTime: dateTimeFormat,\n relativeTime: undefined\n};\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.clearOptionsObject = clearOptionsObject;\nexports.substitute = substitute;\nexports.defineMessages = defineMessages;\nexports.t = t;\nexports.T = T;\nexports.initIntl = initIntl;\nexports.resetMessageStore = resetMessageStore;\nexports.getMessageStore = getMessageStore;\nexports.FormattedDateTime = FormattedDateTime;\nexports.FormattedNumber = FormattedNumber;\nexports.FormattedRelativeTime = FormattedRelativeTime;\nexports.L10nProvider = exports.L10NContext = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _intlMessageformat = _interopRequireDefault(require(\"intl-messageformat\"));\n\nvar _escapeHtml = _interopRequireDefault(require(\"escape-html\"));\n\nvar _invariant = _interopRequireDefault(require(\"invariant\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash.merge\"));\n\nvar _utils = require(\"@sm/utils\");\n\nvar _locale = require(\"@sm/locale\");\n\nvar _intlRelativeformat = _interopRequireDefault(require(\"intl-relativeformat\"));\n\nvar _formats = _interopRequireDefault(require(\"./formats\"));\n\nvar _excluded = [\"value\"],\n _excluded2 = [\"value\"];\nvar _jsxFileName = \"/repo/packages/intl/src/index.tsx\";\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\n\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj.default = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]);\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nvar _getClientEnvironment = (0, _utils.getClientEnvironmentDetails)(),\n isBrowser = _getClientEnvironment.isBrowser;\n\nvar INTL_OPT_KEY = 'SM_intlUniqueOptionsObjectKey';\nvar INTL_MSG_STORE_KEY = 'SM_intlUniqueMessageStoreObjectKey';\n/** Intl Options */\n\nfunction getDefaultOptions() {\n return {\n currentLocale: null,\n // Current locale such as 'en-US' - `null` is not allowed for IntlMessageFormat and needs to be set\n warningHandler: console.warn.bind(console),\n // eslint-disable-line\n escapeHtml: true // disable escape html in variable mode\n\n };\n}\n\nfunction getStore() {\n var glob = isBrowser ? window : global;\n\n if (!glob[INTL_MSG_STORE_KEY]) {\n glob[INTL_MSG_STORE_KEY] = {};\n }\n\n return glob[INTL_MSG_STORE_KEY];\n}\n\nfunction getOptionsObject() {\n var glob = isBrowser ? window : global;\n\n if (!glob[INTL_OPT_KEY]) {\n glob[INTL_OPT_KEY] = getDefaultOptions();\n }\n\n return glob[INTL_OPT_KEY];\n}\n\nfunction clearOptionsObject() {\n if (isBrowser) {\n delete window[INTL_OPT_KEY];\n } else {\n delete global[INTL_OPT_KEY];\n }\n}\n\nvar intlRelativeFormat;\n/**\n * @param {string} input\n * @returns {string} hash\n * @private\n */\n\nfunction hashInput(input) {\n var hash = 0;\n var i;\n var chr;\n if (input.length === 0) return hash;\n\n for (i = 0; i < input.length; i += 1) {\n chr = input.charCodeAt(i);\n hash = (hash << 5) - hash + chr; // eslint-disable-line no-bitwise\n // Convert to 32bit integer\n\n hash |= 0; // eslint-disable-line no-bitwise\n }\n\n return hash;\n}\n\nvar randomStr = function randomStr(N) {\n return _toConsumableArray(Array(N)).map(function () {\n return (~~(Math.random() * 36)).toString(36);\n }).join('');\n}; // eslint-disable-line no-bitwise\n\n\nvar keysOf = Object.keys;\n\nvar maybePseudo = function maybePseudo(msg) {\n if (process.env.NODE_ENV !== \"production\" && isBrowser) {\n var pseudoFactor = window.location.href.toString().match(/[&?]intl-pseudo(=([0-9]*\\.[0-9]+|[0-9]+))?/);\n\n if (pseudoFactor) {\n return msg.replace(/\\S+/g, function (match) {\n return randomStr(parseInt(\"\".concat(match.length * parseFloat(\"\".concat(pseudoFactor[2] || 1))), 10) || 1);\n });\n }\n }\n\n return msg;\n};\n\nvar replacer = function replacer(elements) {\n return function (part) {\n var element = elements[part];\n return element || maybePseudo(part);\n };\n};\n/** `string` type-guard including check for `instanceof` */\n// work-around as TS does not infer type string for instanceof\n\n\nvar isString = function isString(s) {\n return typeof s === 'string' || s instanceof String;\n};\n/**\n *\n * @param {string} message\n * @param {Object} variables (Optional)\n * @returns {Object} The substitution\n */\n\n\nfunction substitute(message, variables) {\n var vars = _objectSpread({}, variables);\n\n var msg = message;\n var options = getOptionsObject();\n var uid = Math.abs(hashInput(JSON.stringify({\n msg: msg,\n keys: keysOf(vars)\n }))).toString(16);\n var tokenDelimiter = \"@__\".concat(uid, \"__@\");\n var tokenizedValues = {};\n var elements = {};\n\n var generateToken = function () {\n var counter = 0;\n return function () {\n counter += 1;\n return \"ELEMENT-\".concat(uid, \"-\").concat(counter);\n };\n }();\n\n keysOf(vars).forEach(function (name) {\n var value = vars[name];\n\n if ( /*#__PURE__*/_react.default.isValidElement(value)) {\n var token = generateToken();\n tokenizedValues[name] = tokenDelimiter + token + tokenDelimiter;\n elements[token] = value;\n } else if (options.escapeHtml === true && isString(value) && value.indexOf('<') >= 0 && value.indexOf('>') >= 0) {\n tokenizedValues[name] = (0, _escapeHtml.default)(value);\n } else {\n // `React.isValidElement` matches `React.ReactElement` so its type can be omitted\n tokenizedValues[name] = value;\n }\n });\n\n try {\n var msgFormatter = new _intlMessageformat.default(msg, options.currentLocale, options.formats);\n msg = msgFormatter.format(tokenizedValues);\n } catch (err) {\n options.warningHandler({\n context: 'sm/intl',\n error: 'message_formatting_error',\n err: err,\n msg: msg,\n tokenizedValues: tokenizedValues,\n vars: vars,\n currentLocale: options.currentLocale\n });\n return msg;\n }\n\n try {\n var stack = [];\n var exhausted = false;\n var runningIndex = 0;\n\n while (!exhausted) {\n // The runningIndex is the pointer in the string at which we want to look right (->).\n var match = msg.substr(runningIndex).match(/]+)\">|<\\/span>/);\n\n if (match) {\n // eslint-disable-next-line prefer-const\n var _ref = match,\n _ref2 = _slicedToArray(_ref, 2),\n matched = _ref2[0],\n tag = _ref2[1]; // we need to adjust for the running index because match.index is relative to the substring we used\n\n\n var matchIndex = (match.index || 0) + runningIndex;\n var isOpening = !!tag;\n\n if (isOpening) {\n // If it's an opening tag, just push it on the stack and move on.\n stack.push({\n tag: tag,\n index: matchIndex\n });\n runningIndex = matchIndex + matched.length;\n } else {\n // We reached an ending tag.\n var popped = stack.pop();\n\n if (!popped) {\n options.warningHandler({\n context: 'sm/intl',\n error: 'unbalanced_delimiters_extra_closing',\n message: message,\n tokenizedValues: tokenizedValues,\n vars: vars\n });\n return message;\n }\n\n runningIndex = popped.index; // Find the content between the opening tag and the current one\n\n var content = msg.substring(runningIndex, matchIndex).replace(/]+)\">/, '').replace(/<\\span>/, '');\n var children = void 0; // If there are other functional elements saved already, try to split\n // the content and replace them with the right elements.\n\n if (elements && keysOf(elements).length > 0) {\n children = content.split(tokenDelimiter).filter(function (part) {\n return !!part;\n }).map(replacer(elements));\n } else {\n children = content;\n } // Build an element by cloning the passed element or calling the\n // passed function.\n\n\n var element = vars[popped.tag]({\n children: children\n });\n\n if ( /*#__PURE__*/_react.default.isValidElement(element)) {\n element = /*#__PURE__*/_react.default.cloneElement(element, {\n key: \"\".concat(popped.tag, \"_\").concat(randomStr(8))\n });\n } // Build the new string and adjust the running index based on that token.\n\n\n var token = generateToken();\n var tokenReplacement = \"\".concat(tokenDelimiter).concat(token).concat(tokenDelimiter);\n msg = \"\".concat(msg.substring(0, popped.index)).concat(tokenReplacement).concat(msg.substring(matchIndex + matched.length, msg.length));\n elements[token] = element;\n }\n } else {\n exhausted = true;\n }\n }\n\n if (stack.length) {\n options.warningHandler({\n context: 'sm/intl',\n error: 'unbalanced_delimiters_extra_opening',\n message: message,\n tokenizedValues: tokenizedValues,\n vars: vars\n });\n return message;\n } // Do a final replace once we're done with matching\n\n\n if (elements && keysOf(elements).length > 0) {\n msg = msg.split(tokenDelimiter).filter(function (part) {\n return !!part;\n }).map(replacer(elements));\n } else {\n msg = maybePseudo(msg);\n }\n\n return msg;\n } catch (err) {\n options.warningHandler({\n context: 'sm/intl',\n error: 'unexpected_tokenization_error',\n message: message,\n err: err\n });\n return message;\n }\n}\n/**\n * Retrieves and format a particular message by key. Uses defaultMessage if key is not found in message list.\n * @param {string} key Unique identifier for this string\n * @param {Object} variables (Optional) - Key/values for string substitution\n * @param {string} defaultMessage (Optional) Default message if string isn't found for key\n * @private\n */\n\n\nfunction get(key, variables, defaultMessage) {\n var vars = variables;\n !key ? process.env.NODE_ENV !== \"production\" ? (0, _invariant.default)(false, 'key is required') : invariant(false) : void 0;\n\n var _getOptionsObject = getOptionsObject(),\n currentLocale = _getOptionsObject.currentLocale,\n warningHandler = _getOptionsObject.warningHandler;\n\n var messages = getStore()[currentLocale];\n var msg;\n\n if (!messages) {\n // If currentLocale is not set, return the default message without warning.\n if (currentLocale) {\n warningHandler({\n context: 'sm/intl',\n error: 'locale_not_found_in_message_store',\n currentLocale: currentLocale\n });\n }\n\n msg = defaultMessage || '';\n }\n\n msg = msg || messages[key];\n\n if (!msg && defaultMessage) {\n if (currentLocale !== 'en-US') {\n warningHandler({\n context: 'sm/intl',\n error: 'message_not_found_default_fallback',\n currentLocale: currentLocale,\n key: key\n });\n }\n\n msg = defaultMessage;\n }\n\n if (!msg) {\n warningHandler({\n context: 'sm/intl',\n error: 'message_not_found_no_default',\n currentLocale: currentLocale,\n key: key,\n defaultMessage: defaultMessage\n });\n return '';\n }\n\n return substitute(msg, vars);\n}\n/**\n * @param {string} key\n * @param {Object} variables\n * @param {string} defaultMessage\n * @returns {string} html\n * @private\n */\n\n\nfunction getHTML(key, variables, defaultMessage) {\n var msg = get(key, variables, defaultMessage);\n\n if (msg) {\n var el = /*#__PURE__*/_react.default.createElement('span', {\n dangerouslySetInnerHTML: {\n __html: msg\n }\n }); // when key exists, it should still return element if there's defaultMessage() after getHTML()\n\n\n var defaultMsg = function defaultMsg() {\n return el;\n };\n\n return _objectSpread({\n defaultMessage: defaultMsg,\n d: defaultMsg\n }, el);\n }\n\n return '';\n}\n/**\n *\n * @param {string} currentLocale\n * @param {string} currentLanguage\n * @private\n */\n\n\nfunction defineIntlRelativeFormat(currentLocale, currentLanguage) {\n if (window.ReactIntlLocaleData && window.ReactIntlLocaleData[currentLanguage] && Object.keys(window.ReactIntlLocaleData[currentLanguage]).length > 0) {\n window.ReactIntlLocaleData[currentLanguage].forEach(function (localeData) {\n _intlRelativeformat.default.__addLocaleData(localeData);\n });\n }\n\n intlRelativeFormat = new _intlRelativeformat.default(currentLocale, _objectSpread({}, _formats.default.relativeTime || {}));\n} // =================== Public API\n\n/**\n * Definition function used by our babel-plugin to extract messages during development.\n * For the description, Type must have one of the following values `Button | Link | Label | Header | Paragraph`. Vis, for visibility, must be one of `low | med | high`.\n *\n * More in the {@link https://code.corp.surveymonkey.com/pages/webplatform/smweb/#/pages/webs/localization?id=definemessages|WebPlatform docs}\n *\n * @param {Object} v Key/Descriptor objects where Descriptor.id, Descriptor.defaultMessage and Descriptor.description are present.\n * @returns {Object} message definition\n *\n */\n\n\nfunction defineMessages(v) {\n return v;\n}\n/**\n * Translates a message matching a specific Descriptor object.\n * Ref: https://code.corp.surveymonkey.com/pages/webplatform/smweb/#/pages/webs/localization\n *\n * @param {Desc} desc Descriptor object for the current message to translate. ({id: String!, defaultMessage: String!, description: String})\n * @param {Object} values (Optional) - key/values for substitution based on the ICU message format.\n * @param {Object} opts (Optional)\n * @param {Object} opts.html (Optional/Defaults to `false`) - Whether or not to allow for HTML nodes in the message before substitution.\n * @returns {string|React.ReactElement} HTML string or key value\n */\n\n\nfunction t(desc, values) {\n var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var id = desc.id,\n defaultMessage = desc.defaultMessage;\n var html = opts.html;\n return (html ? getHTML : get)(id, values, defaultMessage); // force return type\n}\n/** Props for `T` React component */\n\n/**\n * (React Component) Translates a message matching a specific Descriptor object.\n * Ref: https://code.corp.surveymonkey.com/pages/webplatform/smweb/#/pages/webs/localization\n */\n\n\nfunction T(props) {\n var desc = props.desc,\n values = props.values,\n id = props.id,\n defaultMessage = props.defaultMessage,\n html = props.html;\n return (html ? getHTML : get)(desc ? desc.id : id, values, desc ? desc.defaultMessage : defaultMessage);\n}\n\nT.propTypes = {\n desc: _propTypes.default.shape({\n id: _propTypes.default.string.isRequired,\n defaultMessage: _propTypes.default.string.isRequired,\n description: _propTypes.default.string\n }),\n id: _propTypes.default.string,\n values: _propTypes.default.objectOf(_propTypes.default.any),\n defaultMessage: _propTypes.default.string,\n html: _propTypes.default.bool\n};\nT.defaultProps = {\n desc: undefined,\n id: undefined,\n values: undefined,\n defaultMessage: undefined,\n html: false\n};\n/**\n * Initialize the localization framework with the passed messages and set of currentLocale/currentLanguage. Can be called more than once.\n * @param {Object} messages Key/Values where keys are string IDs and values are the translated message for such ID.\n * @param {Options} [opts={}] Options for Intl\n * @returns {void}\n */\n\nfunction initIntl(\n/** Key/Values where keys are string IDs and values are the translated message for such ID */\nmessages) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n !opts.currentLocale ? process.env.NODE_ENV !== \"production\" ? (0, _invariant.default)(false, 'opts.currentLocale is required') : invariant(false) : void 0;\n !opts.currentLanguage ? process.env.NODE_ENV !== \"production\" ? (0, _invariant.default)(false, 'opts.currentLanguage is required') : invariant(false) : void 0;\n !messages ? process.env.NODE_ENV !== \"production\" ? (0, _invariant.default)(false, 'messages is required') : invariant(false) : void 0;\n var options = getOptionsObject();\n options.currentLocale = opts.currentLocale;\n options.currentLanguage = opts.currentLanguage;\n options.warningHandler = opts.warningHandler || options.warningHandler;\n var messageStore = getStore();\n var langInited = !!messageStore[options.currentLocale];\n (0, _lodash.default)(messageStore, _defineProperty({}, options.currentLocale, messages));\n options.formats = _objectSpread(_objectSpread(_objectSpread({}, options.formats), opts.formats), _formats.default);\n\n if (langInited) {\n return;\n }\n\n if (isBrowser) {\n defineIntlRelativeFormat(options.currentLocale, options.currentLanguage);\n } else {\n // For Node.js, common locales are added in the application\n intlRelativeFormat = new _intlRelativeformat.default(options.currentLocale, _objectSpread({}, _formats.default.relativeTime || {}));\n }\n}\n/**\n * Clears the object where we store messages. Useful for testing\n * @returns {undefined}\n */\n\n\nfunction resetMessageStore() {\n var messageStore = getStore();\n Object.keys(messageStore).forEach(function (member) {\n return delete messageStore[member];\n });\n}\n/**\n * Retrieves a copy of the stored messages.\n * @returns {JSON} JSON Message Store\n */\n\n\nfunction getMessageStore() {\n return JSON.parse(JSON.stringify(getStore()));\n}\n/**\n * The FormattedDateTime component uses the Intl.DateTimeFormat API and as such, here are the supported props.\n * All optionals.\n *\n * type DateTimeFormatOptions = {\n * localeMatcher: 'best fit' | 'lookup' = 'best fit',\n * formatMatcher: 'basic' | 'best fit' = 'best fit',\n *\n * timeZone: string,\n * hour12 : boolean,\n *\n * weekday : 'narrow' | 'short' | 'long',\n * era : 'narrow' | 'short' | 'long',\n * year : 'numeric' | '2-digit',\n * month : 'numeric' | '2-digit' | 'narrow' | 'short' | 'long',\n * day : 'numeric' | '2-digit',\n * hour : 'numeric' | '2-digit',\n * minute : 'numeric' | '2-digit',\n * second : 'numeric' | '2-digit',\n * timeZoneName: 'short' | 'long',\n * };\n *\n * @param {Date} props Actual date to format.\n * @returns {string} formatted date\n */\n\n\nfunction FormattedDateTime(props) {\n var _options$currentLocal;\n\n var value = props.value,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var options = getOptionsObject();\n return new Intl.DateTimeFormat((_options$currentLocal = options.currentLocale) !== null && _options$currentLocal !== void 0 ? _options$currentLocal : undefined, _objectSpread(_objectSpread({}, _formats.default.dateTime || {}), restProps)).format(value);\n}\n/**\n * The FormattedNumber component uses the Intl.NumberFormat API and as such, here are the supported props.\n * All optionals.\n *\n * type NumberFormatOptions = {\n * localeMatcher: 'best fit' | 'lookup' = 'best fit',\n *\n * style: 'decimal' | 'currency' | 'percent' = 'decimal',\n *\n * currency : string,\n * currencyDisplay: 'symbol' | 'code' | 'name' = 'symbol',\n *\n * useGrouping: boolean = true,\n *\n * minimumIntegerDigits : number = 1,\n * minimumFractionDigits : number,\n * maximumFractionDigits : number,\n * minimumSignificantDigits: number = 1,\n * maximumSignificantDigits: number,\n * };\n *\n * @param {number} props Actual number to format.\n * @returns {string} Formatted number\n */\n\n\nfunction FormattedNumber(props) {\n var _options$currentLocal2;\n\n var value = props.value,\n restProps = _objectWithoutProperties(props, _excluded2);\n\n var options = getOptionsObject();\n restProps.style = restProps.formatStyle;\n return new Intl.NumberFormat((_options$currentLocal2 = options.currentLocale) !== null && _options$currentLocal2 !== void 0 ? _options$currentLocal2 : undefined, _objectSpread(_objectSpread({}, _formats.default.number || {}), restProps)).format(value);\n}\n/**\n * The FormattedRelativeTime component uses the IntlRelativeTime API and as such, here are the supported props.\n * All optionals.\n *\n * type RelativeTimeFormatOptions = {\n * units: 'second' | 'second-short' | 'minute' | 'minute-short' | 'hour' | 'hour-short' | 'day' | 'day-short' | 'month' | 'month-short' | 'year' | 'year-short'\n * style: 'best fit' | 'numeric'\n * };\n *\n * @param {Object} props\n * @param {Date} props.value Actual date to format.\n * @param {Date} props.now (Optional) Fix the value of \"now\" to a certain date.\n * @returns {string} Formatted date\n */\n\n\nfunction FormattedRelativeTime(props) {\n var value = props.value,\n now = props.now;\n return intlRelativeFormat.format(value, {\n now: now\n });\n}\n/** Context is currently only used to prevent isRTL prop drilling */\n\n\nvar L10NContext = /*#__PURE__*/(0, _react.createContext)({\n isRTL: false\n});\nexports.L10NContext = L10NContext;\n\nvar RTLLanguageCodes = _locale.LANGUAGES.filter(function (l) {\n return l.isRTL;\n}).map(function (l) {\n return l.code;\n});\n/**\n * Configures the global localization context for the whole page.\n * @class\n */\n\n\nvar L10nProvider = /*#__PURE__*/function (_React$Component) {\n _inherits(L10nProvider, _React$Component);\n\n var _super = _createSuper(L10nProvider);\n\n function L10nProvider(props) {\n var _this;\n\n _classCallCheck(this, L10nProvider);\n\n _this = _super.call(this, props);\n _this.state = {\n messages: null,\n isRTL: false\n };\n var currentLocale = props.localeCode;\n var currentLanguage = props.languageCode; // If the locale is english, we are not expecting any messages; hence, default to {}\n\n _this.state.messages = _this.getMessages();\n /**\n * `SSR/isNode` - Initialize Intl on the server with the provided messages (if any).\n * `messages ` - We already have the messages (SSR/CSR/en-US), initIntl right away.\n *\n * The above takes care of three scenarios -\n * 1. SSR - Everything is provided on the server; hence, no need to fetch messages.\n * 2. CSR + messages - Messages were fetched before this component; hence, no need to fetch messages.\n * 3. In the case of `en-US`, we really don't need messages.\n */\n\n var _getClientEnvironment2 = (0, _utils.getClientEnvironmentDetails)(),\n isNode = _getClientEnvironment2.isNode;\n\n if (isNode || _this.state.messages) {\n initIntl(_this.state.messages, {\n currentLocale: currentLocale,\n currentLanguage: currentLanguage\n });\n }\n\n if (RTLLanguageCodes.indexOf(currentLanguage) !== -1) {\n _this.state.isRTL = true;\n }\n\n return _this;\n }\n\n _createClass(L10nProvider, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n // Update text-direction\n if (prevProps.languageCode !== this.props.languageCode) {\n var isRTL = RTLLanguageCodes.indexOf(this.props.languageCode) !== -1;\n\n if (isRTL !== this.state.isRTL) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState(function () {\n return {\n isRTL: isRTL\n };\n });\n }\n } // Update messages at runtime is not yet implemented\n\n }\n /** Picks the correct localized messages */\n\n }, {\n key: \"getMessages\",\n value: function getMessages() {\n return this.props.localeCode === 'en-US' ? {} : this.props.localeMessages || {};\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!this.state.messages) {\n return null;\n }\n\n return /*#__PURE__*/_react.default.createElement(L10NContext.Provider, {\n value: {\n isRTL: this.state.isRTL\n },\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 872,\n columnNumber: 7\n }\n }, this.props.children);\n }\n }]);\n\n return L10nProvider;\n}(_react.default.Component);\n\nexports.L10nProvider = L10nProvider;\nL10nProvider.propTypes = {\n children: _propTypes.default.node.isRequired,\n localeMessages: _propTypes.default.object,\n // eslint-disable-line\n localeCode: _propTypes.default.string,\n languageCode: _propTypes.default.string\n};\nL10nProvider.defaultProps = {\n localeCode: 'en-US',\n languageCode: 'en'\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDataCenterById = getDataCenterById;\nexports.getDataCenterIdFromCurrentUrl = getDataCenterIdFromCurrentUrl;\nexports.getDefaultSubdomainForDataCenter = getDefaultSubdomainForDataCenter;\nexports.DC_SPECIFIC_SUBDOMAINS = exports.DataCenterIds = void 0;\n\nvar _parseDomain = require(\"parse-domain\");\n\nvar _dataCenters = _interopRequireDefault(require(\"./data/dataCenters.json\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar DataCenterIds;\nexports.DataCenterIds = DataCenterIds;\n\n(function (DataCenterIds) {\n DataCenterIds[\"US\"] = \"0\";\n DataCenterIds[\"CA\"] = \"1\";\n DataCenterIds[\"EU\"] = \"2\";\n})(DataCenterIds || (exports.DataCenterIds = DataCenterIds = {}));\n\nvar DC_SPECIFIC_SUBDOMAINS;\n/**\n * Returns the data center by id\n * @param {string} dataCenterId\n * @returns {Object} data center details\n * @memberof module:@sm/locale\n */\n\nexports.DC_SPECIFIC_SUBDOMAINS = DC_SPECIFIC_SUBDOMAINS;\n\n(function (DC_SPECIFIC_SUBDOMAINS) {\n DC_SPECIFIC_SUBDOMAINS[DC_SPECIFIC_SUBDOMAINS[\"eu\"] = DataCenterIds.EU] = \"eu\";\n})(DC_SPECIFIC_SUBDOMAINS || (exports.DC_SPECIFIC_SUBDOMAINS = DC_SPECIFIC_SUBDOMAINS = {}));\n\nfunction getDataCenterById(dataCenterId) {\n return _dataCenters.default.dataCenters[dataCenterId];\n}\n/**\n * Returns the data center id from the url\n * @param {string} url\n * @param {string} dataCenterAffinityCookie\n * @returns {string} data center id\n * @memberof module:@sm/locale\n */\n\n\nfunction getDataCenterIdFromCurrentUrl(url, dataCenterAffinityCookie) {\n var parseResult = (0, _parseDomain.parseDomain)((0, _parseDomain.fromUrl)(url)) || {};\n var subdomain;\n var dataCenterId = DataCenterIds.US;\n\n if (parseResult.type === _parseDomain.ParseResultType.Listed) {\n subdomain = parseResult.subDomains.join('.');\n\n if (subdomain) {\n var dcSub = Object.keys(_dataCenters.default.dataCenterSpecificSubdomains).find(function (subSpecific) {\n return subSpecific === subdomain || subdomain.endsWith(\".\".concat(subSpecific));\n });\n\n if (dcSub) {\n dataCenterId = _dataCenters.default.dataCenterSpecificSubdomains[dcSub];\n }\n }\n }\n\n if (dataCenterId === DataCenterIds.US && \"\".concat(dataCenterAffinityCookie) === DataCenterIds.CA) {\n dataCenterId = DataCenterIds.CA;\n }\n\n return dataCenterId;\n} // This is currently being used in UserWeb here https://code.corp.surveymonkey.com/devmonkeys/userweb/blob/e7646369dfae9fef0c8d1fa3c23f1bde61a9c906/userweb/lib/language.py#L31\n// So I'm leaving this function for when we port the corresponding code in UserWeb.\n\n/**\n * Returns the default subdomain for a data center\n * @param {string} dataCenterId\n * @returns {string} subdomain\n * @memberof module:@sm/locale\n */\n\n\nfunction getDefaultSubdomainForDataCenter(dataCenterId) {\n var dc = getDataCenterById(dataCenterId);\n return dc && dc.defaultSubdomain || 'www';\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sanitizeCountryCode = sanitizeCountryCode;\nexports.isGDPRCountry = isGDPRCountry;\nexports.isDACHCountry = isDACHCountry;\nexports.isGBCountry = isGBCountry;\nexports.isUSTerritory = isUSTerritory;\nexports.isEUCountry = isEUCountry;\nexports.isEUDC = isEUDC;\nexports.isEUSubdomain = isEUSubdomain;\nexports.getEUCountries = getEUCountries;\nexports.getCookieTransportTLDs = getCookieTransportTLDs;\nexports.getAudienceSupportedCountries = getAudienceSupportedCountries;\nexports.getBenchmarksSupportedCountries = getBenchmarksSupportedCountries;\nexports.getSMSupportedCountries = getSMSupportedCountries;\nexports.getSiteSupportedLanguages = getSiteSupportedLanguages;\nexports.getLanguageCodeFromCountryCode = getLanguageCodeFromCountryCode;\nexports.getLanguageCodeFromSubdomain = getLanguageCodeFromSubdomain;\nexports.getSubdomainFromLanguageCodeAndDataCenter = getSubdomainFromLanguageCodeAndDataCenter;\nexports.getSiteSupportedLanguageCodes = getSiteSupportedLanguageCodes;\nexports.getTldLanguageInfo = getTldLanguageInfo;\nObject.defineProperty(exports, \"LANGUAGES_BY_CODE\", {\n enumerable: true,\n get: function get() {\n return _languages.LANGUAGES_BY_CODE;\n }\n});\nObject.defineProperty(exports, \"LANGUAGES_BY_ID\", {\n enumerable: true,\n get: function get() {\n return _languages.LANGUAGES_BY_ID;\n }\n});\nObject.defineProperty(exports, \"LANGUAGES\", {\n enumerable: true,\n get: function get() {\n return _languages.LANGUAGES;\n }\n});\nObject.defineProperty(exports, \"getDataCenterById\", {\n enumerable: true,\n get: function get() {\n return _dataCenters.getDataCenterById;\n }\n});\nObject.defineProperty(exports, \"getDataCenterIdFromCurrentUrl\", {\n enumerable: true,\n get: function get() {\n return _dataCenters.getDataCenterIdFromCurrentUrl;\n }\n});\nObject.defineProperty(exports, \"getDefaultSubdomainForDataCenter\", {\n enumerable: true,\n get: function get() {\n return _dataCenters.getDefaultSubdomainForDataCenter;\n }\n});\nexports.localeSets = void 0;\n\nvar _invariant = _interopRequireDefault(require(\"invariant\"));\n\nvar _tlds = _interopRequireDefault(require(\"./data/tlds.json\"));\n\nvar _localeSets = require(\"./localeSets\");\n\nvar _languages = require(\"./languages\");\n\nvar _dataCenters = require(\"./dataCenters\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n} // This is for backward compatibility. Remove for 2.0\n\n\nvar localeSets = {\n GDPR_COUNTRIES: _localeSets.GDPRCountryCodes,\n SM_SUPPORTED_COUNTRIES: _localeSets.SMSupportedCountryCodes,\n EU_COUNTRIES: _localeSets.EUCountryCodes,\n US_TERRITORIES: _localeSets.USTerritoryCountryCodes,\n GB_COUNTRIES: _localeSets.GBCountryCodes,\n DASH_COUNTRIES: _localeSets.DASHCountryCodes\n};\nexports.localeSets = localeSets;\n/**\n * @param {string} country - code\n * @param {string} fallBackCountry - default country code\n * @returns {string} two letter country code, default to US if a fallback is not provided\n */\n\nfunction sanitizeCountryCode(country) {\n var fallBackCountry = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _localeSets.CountryCodes.US;\n var isString = typeof country === 'string';\n\n if (!isString) {\n // TODO log this\n !false ? process.env.NODE_ENV !== \"production\" ? (0, _invariant.default)(false, 'Country code is not a string.') : invariant(false) : void 0;\n return fallBackCountry;\n }\n\n var isTwoLetterCode = country.length === 2;\n\n if (!isTwoLetterCode) {\n // TODO log this\n !false ? process.env.NODE_ENV !== \"production\" ? (0, _invariant.default)(false, 'Country code is not a 2 letter code') : invariant(false) : void 0;\n return fallBackCountry;\n }\n\n return _localeSets.SMSupportedCountryCodes.find(function (c) {\n return c === country.toUpperCase();\n }) || fallBackCountry.toUpperCase();\n}\n/**\n * @param {string} country - Two-letter country code\n * @returns {bool} if that country has GDPR laws\n */\n\n\nfunction isGDPRCountry(country) {\n // if we cannot determine the country, assume GDPR country ie GB\n return _localeSets.GDPRCountryCodes.includes(sanitizeCountryCode(country, _localeSets.CountryCodes.GB));\n}\n/**\n * @param {string} country - Two-letter country code\n * @returns {bool} if country is in DASH country set\n */\n\n\nfunction isDACHCountry(country) {\n // if we cannot determine the country, assume non Dash ie. US\n return _localeSets.DASHCountryCodes.includes(sanitizeCountryCode(country, _localeSets.CountryCodes.US));\n}\n/**\n * @param {string} country - Two-letter country code\n * @returns {bool} if country is in the United Kingdoms\n * @public\n */\n\n\nfunction isGBCountry(country) {\n // if we cannot determine the country, assume GB country\n return _localeSets.GBCountryCodes.includes(sanitizeCountryCode(country, _localeSets.CountryCodes.GB));\n}\n/**\n * @param {string} country - Two-letter country code\n * @returns {bool} if country is a US Territory\n * @public\n */\n\n\nfunction isUSTerritory(country) {\n // if we cannot determine the country, assume Non US\n return _localeSets.USTerritoryCountryCodes.includes(sanitizeCountryCode(country, _localeSets.CountryCodes.GB));\n}\n/**\n * @param {string} country - Two-letter country code\n * @returns {bool} if country is in European Union\n * @public\n */\n\n\nfunction isEUCountry(country) {\n // if we cannot determine the country, assume EU. (joelm: WHY?!?!?!)\n return _localeSets.EUCountryCodes.includes(sanitizeCountryCode(country, _localeSets.CountryCodes.GB));\n}\n/**\n * @param {string} hostname\n * @returns {bool} if host is a EUDC\n * @public\n */\n\n\nfunction isEUDC(hostname) {\n return (0, _dataCenters.getDataCenterIdFromCurrentUrl)(hostname) === _dataCenters.DataCenterIds.EU;\n}\n/**\n * @param {string} subdomain\n * @returns {bool} if EU Subdomain\n * @public\n */\n\n\nfunction isEUSubdomain(subdomain) {\n return !!(subdomain && subdomain.indexOf('eu') !== -1);\n}\n/**\n * @returns {Array} list of European Union Countries\n * @public\n */\n\n\nfunction getEUCountries() {\n return _toConsumableArray(_localeSets.EUCountryCodes);\n}\n/**\n * @returns {Array} List of SM supported TLDs\n * @public\n */\n\n\nfunction getCookieTransportTLDs() {\n return _tlds.default.filter(function (tld) {\n return tld.enabled;\n }).map(function (tld) {\n return tld.tld;\n });\n}\n/**\n * @returns {Array} Countries that SM Audience supports\n * @public\n */\n\n\nfunction getAudienceSupportedCountries() {\n // TODO change this to just return list of country codes\n return {\n US: 'United States',\n AU: 'Australia',\n CA: 'Canada',\n NZ: 'New Zealand',\n SG: 'Singapore',\n GB: 'United Kingdom',\n IE: 'Ireland'\n };\n}\n/**\n * @returns {Array} Countries that SM Benchmarks supports\n * @public\n */\n\n\nfunction getBenchmarksSupportedCountries() {\n // TODO change this to jst return a list of country codes\n return {\n US: 'United States'\n };\n}\n/**\n * @returns {Array} Countries that SM supports\n * @public\n */\n\n\nfunction getSMSupportedCountries() {\n return _toConsumableArray(_localeSets.SMSupportedCountryCodes);\n}\n/**\n * @returns {Object} Language Object that SM Supports\n * @public\n */\n\n\nfunction getSiteSupportedLanguages() {\n return _languages.LANGUAGES.filter(function (language) {\n return language.supportLevel === _languages.SupportLevels.SITE_WIDE;\n });\n}\n/**\n * @param {string} country - Two-letter country code\n * @returns {string} language code\n */\n\n\nfunction getLanguageCodeFromCountryCode(country) {\n var language = _languages.LANGUAGES.find(function (lang) {\n return lang.countries.includes(sanitizeCountryCode(country));\n });\n\n return language ? language.code : 'en';\n}\n/**\n * Returns the language code from the subdomain\n * @param {string} subdomain\n * @returns {string} language code\n */\n\n\nfunction getLanguageCodeFromSubdomain(subdomain) {\n if (subdomain === 'eu' || subdomain === 'www') {\n return 'en';\n }\n\n var language = _languages.LANGUAGES_WITH_SUBDOMAINS.find(function (lang) {\n return lang.subdomain === subdomain || \"\".concat(lang.subdomain, \".eu\") === subdomain;\n });\n\n if (language) {\n return language.code;\n }\n\n return 'en';\n}\n/**\n * Returns the subdomain from the language code and data center combination\n * @param {string} languageCode\n * @param {string} dataCenterId\n * @returns {string} subdomain\n */\n\n\nfunction getSubdomainFromLanguageCodeAndDataCenter(languageCode, dataCenterId) {\n var language = _languages.LANGUAGES_BY_CODE[languageCode];\n var result = language.subdomain;\n\n if (dataCenterId === _dataCenters.DataCenterIds.EU) {\n result = \"\".concat(language.subdomain, \".eu\");\n } else if (language.tld === language.subdomain) {\n // override for langs like de and ru which have a cctld\n // only affects www.sm.de || www.sm.ru\n result = 'www';\n }\n\n return result === 'www.eu' ? 'eu' : result;\n}\n/**\n * @returns {Array} Language codes that SM Supports\n * @public\n */\n\n\nfunction getSiteSupportedLanguageCodes() {\n return getSiteSupportedLanguages().map(function (language) {\n return language.code;\n });\n}\n/**\n * Returns the tld language info\n * @param {string} tld\n * @returns {string} language info\n */\n\n\nfunction getTldLanguageInfo(tld) {\n var data = _tlds.default.find(function (i) {\n return i.tld === tld;\n });\n\n if (!data) {\n return _tlds.default.find(function (i) {\n return i.tld === 'com';\n });\n }\n\n return data;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LANGUAGES_WITH_SUBDOMAINS = exports.LANGUAGES_BY_CODE = exports.LANGUAGES_BY_ID = exports.LANGUAGES = exports.SupportLevels = void 0;\n/*\nSM has the language data recorded in a number of places. There is DB table sm_Localization_D_Languages present in multiple schemas.\nHere are some examples of the sources that support createweb languages. There are many more references to the top 17 languages supported SM-wide.\nhttps://code.corp.surveymonkey.com/devmonkeys/smlib.locale/blob/master/smlib/locale/locale.yml#L330\nhttps://code.corp.surveymonkey.com/devmonkeys/createweb/blob/develop/createweb/lib/translations.py\nhttps://code.corp.surveymonkey.com/devmonkeys/smsdk.surveysvc/blob/master/smsdk/surveysvc/lib/languages.yml\nhttps://code.corp.surveymonkey.com/devmonkeys/AnWeb/blob/develop/anweb/lib/languages.py\n*/\n\n/**\n * @constant\n * @default\n * @memberof module:@sm/locale\n */\n\nvar SupportLevels;\nexports.SupportLevels = SupportLevels;\n\n(function (SupportLevels) {\n SupportLevels[SupportLevels[\"SITE_WIDE\"] = 1] = \"SITE_WIDE\";\n SupportLevels[SupportLevels[\"SURVEY_CREATION\"] = 2] = \"SURVEY_CREATION\";\n SupportLevels[SupportLevels[\"MULTILINGUAL_SURVEYS\"] = 3] = \"MULTILINGUAL_SURVEYS\";\n})(SupportLevels || (exports.SupportLevels = SupportLevels = {}));\n/**\n * An array of available languages.\n *\n * The language codes in the database do not follow IETF language tag standard https://en.wikipedia.org/wiki/IETF_language_tag\n * or confuse regional locale with language dialect. That causes issues when working with internationalization libraries like ICU.\n * The field code is the \"code\" as in the SM database and python packages. The \"codeIETF\" is the correct code. This API accepts both.\n * For the output choose \"code\" unless you are sure that the consumer supports IETF codes (e.g, uses this library).\n * @type {Array}\n * @memberof module:@sm/locale\n */\n\n\nvar LANGUAGES = [{\n code: 'sq',\n name: 'Albanian',\n id: 24,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'ar',\n name: 'Arabic',\n id: 25,\n countries: [],\n isRTL: true,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'hy',\n name: 'Armenian',\n id: 26,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'eu',\n name: 'Basque',\n id: 27,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'bn',\n name: 'Bengali',\n id: 28,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'bs',\n name: 'Bosnian',\n id: 29,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'bg',\n name: 'Bulgarian',\n id: 30,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'ca',\n name: 'Catalan',\n id: 31,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'zh-cn',\n codeIETF: 'zh-Hans',\n name: 'Chinese (Simplified)',\n id: 2,\n countries: [],\n isRTL: false,\n subdomain: 'www',\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'zh-tw',\n codeIETF: 'zh-Hant',\n name: 'Chinese (Traditional)',\n displayName: '中文(繁體)',\n id: 3,\n helplink: 'zh_TW',\n tld: 'com',\n subdomain: 'zh',\n countries: ['TW'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 14\n}, {\n code: 'pt-br',\n name: 'Portuguese (Brazilian)',\n id: 17,\n displayName: 'Português',\n helplink: 'pt_BR',\n tld: 'com',\n subdomain: 'pt',\n countries: ['BR', 'PT', 'AO', 'CV'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 2\n}, {\n code: 'pt',\n name: 'Portuguese (Iberian)',\n id: 16,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'hr',\n name: 'Croatian',\n id: 32,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'cs',\n name: 'Czech',\n id: 33,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'da',\n name: 'Danish',\n displayName: 'Dansk',\n tld: 'com',\n helplink: 'en_US',\n subdomain: 'da',\n id: 4,\n countries: ['DK', 'GL'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 10\n}, {\n code: 'nl',\n name: 'Dutch',\n id: 5,\n displayName: 'Nederlands',\n helplink: 'nl_NL',\n subdomain: 'nl',\n tld: 'com',\n countries: ['NL', 'BE'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 4\n}, {\n code: 'en',\n name: 'English',\n id: 1,\n tld: 'com',\n subdomain: 'www',\n displayName: 'English',\n helplink: 'en_US',\n countries: ['US', 'AU', 'GB', 'IE', 'CA', 'GG', 'NZ'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 5\n}, {\n code: 'et',\n name: 'Estonian',\n id: 34,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'tl',\n codeIETF: 'fil',\n name: 'Filipino',\n id: 35,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'fi',\n name: 'Finnish',\n id: 6,\n displayName: 'Suomi',\n helplink: 'en_US',\n tld: 'com',\n subdomain: 'fi',\n countries: ['FI'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 17\n}, {\n code: 'fr',\n name: 'French',\n id: 7,\n displayName: 'Français',\n helplink: 'fr',\n tld: 'com',\n subdomain: 'fr',\n countries: ['FR', 'MA', 'DZ', 'TN', 'RE', 'CI', 'SN', 'TG', 'MQ', 'GP', 'PF', 'CG', 'CM', 'BJ', 'CD'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 7\n}, {\n code: 'ka',\n name: 'Georgian',\n id: 36,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'de',\n name: 'German',\n id: 8,\n displayName: 'Deutsch',\n helplink: 'de',\n tld: 'de',\n subdomain: 'de',\n countries: ['DE', 'AT', 'CH', 'LI'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 3\n}, {\n code: 'el',\n name: 'Greek',\n id: 9,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'he',\n name: 'Hebrew',\n id: 37,\n countries: [],\n isRTL: true,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'hi',\n name: 'Hindi',\n id: 38,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'hu',\n name: 'Hungarian',\n id: 39,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'is',\n name: 'Icelandic',\n id: 40,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'id',\n name: 'Indonesian',\n id: 41,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'ga',\n name: 'Irish',\n id: 42,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'it',\n name: 'Italian',\n id: 10,\n displayName: 'Italiano',\n helplink: 'it',\n tld: 'com',\n subdomain: 'it',\n countries: ['IT'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 9\n}, {\n code: 'ja',\n name: 'Japanese',\n id: 11,\n displayName: '日本語',\n helplink: 'ja',\n tld: 'com',\n subdomain: 'jp',\n countries: ['JP'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 12\n}, {\n code: 'ko',\n name: 'Korean',\n id: 12,\n displayName: '한국어',\n helplink: 'ko',\n tld: 'com',\n subdomain: 'ko',\n countries: ['KP', 'KR'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 13\n}, {\n code: 'ku',\n name: 'Kurdish',\n id: 43,\n countries: [],\n\n /** Kurdish can be written in two scripts - it may or may not be RTL */\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'lv',\n name: 'Latvian',\n id: 44,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'lt',\n name: 'Lithuanian',\n id: 45,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'mk',\n name: 'Macedonian',\n id: 46,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'ms',\n name: 'Malay',\n id: 13,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'ml',\n name: 'Malayalam',\n id: 47,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'no',\n codeIETF: 'nb',\n name: 'Norwegian',\n id: 14,\n displayName: 'Norsk',\n helplink: 'en_US',\n tld: 'com',\n subdomain: 'no',\n countries: ['NO', 'SJ'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 16\n}, {\n code: 'fa',\n name: 'Persian',\n id: 48,\n countries: [],\n isRTL: true,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'pl',\n name: 'Polish',\n id: 15,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'pa',\n name: 'Punjabi',\n id: 49,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'ro',\n name: 'Romanian',\n id: 50,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'ru',\n name: 'Russian',\n id: 18,\n displayName: 'Русский',\n helplink: 'ru',\n tld: 'ru',\n subdomain: 'ru',\n countries: ['RU', 'BY', 'UA', 'KZ', 'UZ', 'TJ', 'AZ', 'TM', 'AM', 'MD', 'KG'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 8\n}, {\n code: 'sr',\n name: 'Serbian',\n id: 51,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'sk',\n name: 'Slovak',\n id: 52,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'sl',\n name: 'Slovenian',\n id: 53,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'es',\n name: 'Spanish',\n id: 19,\n displayName: 'Español',\n helplink: 'es',\n tld: 'com',\n subdomain: 'es',\n countries: ['MX', 'ES', 'AR', 'GT', 'HN', 'SV', 'NI', 'CR', 'PA', 'GQ', 'CU', 'DO', 'PR', 'VE', 'CO', 'EC', 'PE', 'BO', 'PY', 'CL', 'UY'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 1\n}, {\n code: 'sw',\n name: 'Swahili',\n id: 54,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'sv',\n name: 'Swedish',\n id: 20,\n displayName: 'Svenska',\n helplink: 'en_US',\n tld: 'com',\n subdomain: 'sv',\n countries: ['SE'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 11\n}, {\n code: 'ta',\n name: 'Tamil',\n id: 55,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'te',\n name: 'Telugu',\n id: 56,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'th',\n name: 'Thai',\n id: 57,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'tr',\n name: 'Turkish',\n id: 21,\n displayName: 'Türkçe',\n helplink: 'tr',\n tld: 'com',\n subdomain: 'tr',\n countries: ['TR'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 15\n}, {\n code: 'uk',\n name: 'Ukrainian',\n id: 22,\n countries: ['UA'],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'vi',\n name: 'Vietnamese',\n id: 58,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'cy',\n name: 'Welsh',\n id: 59,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}];\n/**\n * Languages by ID\n * @memberof module:@sm/locale\n */\n\nexports.LANGUAGES = LANGUAGES;\nvar LANGUAGES_BY_ID_REC = {};\n/**\n * Languages by code\n * @memberof module:@sm/locale\n */\n\nvar LANGUAGES_BY_CODE_REC = {};\n/**\n * Languages with sub-domains\n * @memberof module:@sm/locale\n */\n\nvar LANGUAGES_WITH_SUBDOMAINS_REC = [];\nLANGUAGES.forEach(function (language) {\n LANGUAGES_BY_ID_REC[language.id] = language;\n LANGUAGES_BY_CODE_REC[language.code] = language;\n\n if (language.codeIETF) {\n LANGUAGES_BY_CODE_REC[language.codeIETF] = language;\n }\n\n if (language.subdomain) {\n LANGUAGES_WITH_SUBDOMAINS_REC.push(language);\n }\n});\nvar LANGUAGES_BY_ID = Object.freeze(LANGUAGES_BY_ID_REC);\nexports.LANGUAGES_BY_ID = LANGUAGES_BY_ID;\nvar LANGUAGES_BY_CODE = Object.freeze(LANGUAGES_BY_CODE_REC);\nexports.LANGUAGES_BY_CODE = LANGUAGES_BY_CODE;\nvar LANGUAGES_WITH_SUBDOMAINS = Object.freeze(LANGUAGES_WITH_SUBDOMAINS_REC);\nexports.LANGUAGES_WITH_SUBDOMAINS = LANGUAGES_WITH_SUBDOMAINS;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SMSupportedCountryCodes = exports.EUCountryCodes = exports.USTerritoryCountryCodes = exports.GBCountryCodes = exports.DASHCountryCodes = exports.GDPRCountryCodes = exports.CountryCodes = void 0;\nvar CountryCodes;\nexports.CountryCodes = CountryCodes;\n\n(function (CountryCodes) {\n CountryCodes[\"AE\"] = \"AE\";\n CountryCodes[\"AR\"] = \"AR\";\n CountryCodes[\"AU\"] = \"AU\";\n CountryCodes[\"BR\"] = \"BR\";\n CountryCodes[\"CA\"] = \"CA\";\n CountryCodes[\"CH\"] = \"CH\";\n CountryCodes[\"LI\"] = \"LI\";\n CountryCodes[\"DK\"] = \"DK\";\n CountryCodes[\"FO\"] = \"FO\";\n CountryCodes[\"GL\"] = \"GL\";\n CountryCodes[\"AD\"] = \"AD\";\n CountryCodes[\"AL\"] = \"AL\";\n CountryCodes[\"AT\"] = \"AT\";\n CountryCodes[\"AX\"] = \"AX\";\n CountryCodes[\"BA\"] = \"BA\";\n CountryCodes[\"BE\"] = \"BE\";\n CountryCodes[\"BG\"] = \"BG\";\n CountryCodes[\"BY\"] = \"BY\";\n CountryCodes[\"CY\"] = \"CY\";\n CountryCodes[\"CZ\"] = \"CZ\";\n CountryCodes[\"DE\"] = \"DE\";\n CountryCodes[\"EE\"] = \"EE\";\n CountryCodes[\"ES\"] = \"ES\";\n CountryCodes[\"FI\"] = \"FI\";\n CountryCodes[\"FR\"] = \"FR\";\n CountryCodes[\"GF\"] = \"GF\";\n CountryCodes[\"GP\"] = \"GP\";\n CountryCodes[\"GR\"] = \"GR\";\n CountryCodes[\"HR\"] = \"HR\";\n CountryCodes[\"HU\"] = \"HU\";\n CountryCodes[\"IE\"] = \"IE\";\n CountryCodes[\"IS\"] = \"IS\";\n CountryCodes[\"IT\"] = \"IT\";\n CountryCodes[\"LT\"] = \"LT\";\n CountryCodes[\"LU\"] = \"LU\";\n CountryCodes[\"LV\"] = \"LV\";\n CountryCodes[\"MC\"] = \"MC\";\n CountryCodes[\"MD\"] = \"MD\";\n CountryCodes[\"ME\"] = \"ME\";\n CountryCodes[\"MF\"] = \"MF\";\n CountryCodes[\"MK\"] = \"MK\";\n CountryCodes[\"MQ\"] = \"MQ\";\n CountryCodes[\"MT\"] = \"MT\";\n CountryCodes[\"NL\"] = \"NL\";\n CountryCodes[\"PL\"] = \"PL\";\n CountryCodes[\"PM\"] = \"PM\";\n CountryCodes[\"PT\"] = \"PT\";\n CountryCodes[\"RE\"] = \"RE\";\n CountryCodes[\"RO\"] = \"RO\";\n CountryCodes[\"RS\"] = \"RS\";\n CountryCodes[\"RU\"] = \"RU\";\n CountryCodes[\"SI\"] = \"SI\";\n CountryCodes[\"SK\"] = \"SK\";\n CountryCodes[\"SM\"] = \"SM\";\n CountryCodes[\"TF\"] = \"TF\";\n CountryCodes[\"TR\"] = \"TR\";\n CountryCodes[\"UA\"] = \"UA\";\n CountryCodes[\"VA\"] = \"VA\";\n CountryCodes[\"YT\"] = \"YT\";\n CountryCodes[\"GB\"] = \"GB\";\n CountryCodes[\"GG\"] = \"GG\";\n CountryCodes[\"GI\"] = \"GI\";\n CountryCodes[\"GS\"] = \"GS\";\n CountryCodes[\"IM\"] = \"IM\";\n CountryCodes[\"JE\"] = \"JE\";\n CountryCodes[\"HK\"] = \"HK\";\n CountryCodes[\"IN\"] = \"IN\";\n CountryCodes[\"JP\"] = \"JP\";\n CountryCodes[\"KR\"] = \"KR\";\n CountryCodes[\"MX\"] = \"MX\";\n CountryCodes[\"NO\"] = \"NO\";\n CountryCodes[\"NZ\"] = \"NZ\";\n CountryCodes[\"SE\"] = \"SE\";\n CountryCodes[\"SG\"] = \"SG\";\n CountryCodes[\"TW\"] = \"TW\";\n CountryCodes[\"AF\"] = \"AF\";\n CountryCodes[\"AG\"] = \"AG\";\n CountryCodes[\"AI\"] = \"AI\";\n CountryCodes[\"AM\"] = \"AM\";\n CountryCodes[\"AN\"] = \"AN\";\n CountryCodes[\"AO\"] = \"AO\";\n CountryCodes[\"AQ\"] = \"AQ\";\n CountryCodes[\"AS\"] = \"AS\";\n CountryCodes[\"AW\"] = \"AW\";\n CountryCodes[\"AZ\"] = \"AZ\";\n CountryCodes[\"BB\"] = \"BB\";\n CountryCodes[\"BD\"] = \"BD\";\n CountryCodes[\"BF\"] = \"BF\";\n CountryCodes[\"BH\"] = \"BH\";\n CountryCodes[\"BI\"] = \"BI\";\n CountryCodes[\"BJ\"] = \"BJ\";\n CountryCodes[\"BL\"] = \"BL\";\n CountryCodes[\"BM\"] = \"BM\";\n CountryCodes[\"BN\"] = \"BN\";\n CountryCodes[\"BO\"] = \"BO\";\n CountryCodes[\"BS\"] = \"BS\";\n CountryCodes[\"BT\"] = \"BT\";\n CountryCodes[\"BV\"] = \"BV\";\n CountryCodes[\"BW\"] = \"BW\";\n CountryCodes[\"BZ\"] = \"BZ\";\n CountryCodes[\"CC\"] = \"CC\";\n CountryCodes[\"CD\"] = \"CD\";\n CountryCodes[\"CF\"] = \"CF\";\n CountryCodes[\"CG\"] = \"CG\";\n CountryCodes[\"CI\"] = \"CI\";\n CountryCodes[\"CK\"] = \"CK\";\n CountryCodes[\"CL\"] = \"CL\";\n CountryCodes[\"CM\"] = \"CM\";\n CountryCodes[\"CN\"] = \"CN\";\n CountryCodes[\"CO\"] = \"CO\";\n CountryCodes[\"CR\"] = \"CR\";\n CountryCodes[\"CV\"] = \"CV\";\n CountryCodes[\"CX\"] = \"CX\";\n CountryCodes[\"DJ\"] = \"DJ\";\n CountryCodes[\"DM\"] = \"DM\";\n CountryCodes[\"DO\"] = \"DO\";\n CountryCodes[\"DZ\"] = \"DZ\";\n CountryCodes[\"EC\"] = \"EC\";\n CountryCodes[\"EG\"] = \"EG\";\n CountryCodes[\"EH\"] = \"EH\";\n CountryCodes[\"ER\"] = \"ER\";\n CountryCodes[\"ET\"] = \"ET\";\n CountryCodes[\"FJ\"] = \"FJ\";\n CountryCodes[\"FK\"] = \"FK\";\n CountryCodes[\"FM\"] = \"FM\";\n CountryCodes[\"GA\"] = \"GA\";\n CountryCodes[\"GD\"] = \"GD\";\n CountryCodes[\"GE\"] = \"GE\";\n CountryCodes[\"GH\"] = \"GH\";\n CountryCodes[\"GM\"] = \"GM\";\n CountryCodes[\"GN\"] = \"GN\";\n CountryCodes[\"GQ\"] = \"GQ\";\n CountryCodes[\"GT\"] = \"GT\";\n CountryCodes[\"GU\"] = \"GU\";\n CountryCodes[\"GW\"] = \"GW\";\n CountryCodes[\"GY\"] = \"GY\";\n CountryCodes[\"HM\"] = \"HM\";\n CountryCodes[\"HN\"] = \"HN\";\n CountryCodes[\"HT\"] = \"HT\";\n CountryCodes[\"ID\"] = \"ID\";\n CountryCodes[\"IL\"] = \"IL\";\n CountryCodes[\"IO\"] = \"IO\";\n CountryCodes[\"IQ\"] = \"IQ\";\n CountryCodes[\"JM\"] = \"JM\";\n CountryCodes[\"JO\"] = \"JO\";\n CountryCodes[\"KE\"] = \"KE\";\n CountryCodes[\"KG\"] = \"KG\";\n CountryCodes[\"KH\"] = \"KH\";\n CountryCodes[\"KI\"] = \"KI\";\n CountryCodes[\"KM\"] = \"KM\";\n CountryCodes[\"KN\"] = \"KN\";\n CountryCodes[\"KP\"] = \"KP\";\n CountryCodes[\"KW\"] = \"KW\";\n CountryCodes[\"KY\"] = \"KY\";\n CountryCodes[\"KZ\"] = \"KZ\";\n CountryCodes[\"LA\"] = \"LA\";\n CountryCodes[\"LB\"] = \"LB\";\n CountryCodes[\"LC\"] = \"LC\";\n CountryCodes[\"LK\"] = \"LK\";\n CountryCodes[\"LR\"] = \"LR\";\n CountryCodes[\"LS\"] = \"LS\";\n CountryCodes[\"LY\"] = \"LY\";\n CountryCodes[\"MA\"] = \"MA\";\n CountryCodes[\"MG\"] = \"MG\";\n CountryCodes[\"MH\"] = \"MH\";\n CountryCodes[\"ML\"] = \"ML\";\n CountryCodes[\"MM\"] = \"MM\";\n CountryCodes[\"MN\"] = \"MN\";\n CountryCodes[\"MO\"] = \"MO\";\n CountryCodes[\"MP\"] = \"MP\";\n CountryCodes[\"MR\"] = \"MR\";\n CountryCodes[\"MS\"] = \"MS\";\n CountryCodes[\"MU\"] = \"MU\";\n CountryCodes[\"MV\"] = \"MV\";\n CountryCodes[\"MW\"] = \"MW\";\n CountryCodes[\"MY\"] = \"MY\";\n CountryCodes[\"MZ\"] = \"MZ\";\n CountryCodes[\"NA\"] = \"NA\";\n CountryCodes[\"NC\"] = \"NC\";\n CountryCodes[\"NE\"] = \"NE\";\n CountryCodes[\"NF\"] = \"NF\";\n CountryCodes[\"NG\"] = \"NG\";\n CountryCodes[\"NI\"] = \"NI\";\n CountryCodes[\"NP\"] = \"NP\";\n CountryCodes[\"NR\"] = \"NR\";\n CountryCodes[\"NU\"] = \"NU\";\n CountryCodes[\"OM\"] = \"OM\";\n CountryCodes[\"PA\"] = \"PA\";\n CountryCodes[\"PE\"] = \"PE\";\n CountryCodes[\"PF\"] = \"PF\";\n CountryCodes[\"PG\"] = \"PG\";\n CountryCodes[\"PH\"] = \"PH\";\n CountryCodes[\"PK\"] = \"PK\";\n CountryCodes[\"PN\"] = \"PN\";\n CountryCodes[\"PR\"] = \"PR\";\n CountryCodes[\"PS\"] = \"PS\";\n CountryCodes[\"PW\"] = \"PW\";\n CountryCodes[\"PY\"] = \"PY\";\n CountryCodes[\"QA\"] = \"QA\";\n CountryCodes[\"RW\"] = \"RW\";\n CountryCodes[\"SA\"] = \"SA\";\n CountryCodes[\"SB\"] = \"SB\";\n CountryCodes[\"SC\"] = \"SC\";\n CountryCodes[\"SH\"] = \"SH\";\n CountryCodes[\"SJ\"] = \"SJ\";\n CountryCodes[\"SL\"] = \"SL\";\n CountryCodes[\"SN\"] = \"SN\";\n CountryCodes[\"SO\"] = \"SO\";\n CountryCodes[\"SR\"] = \"SR\";\n CountryCodes[\"ST\"] = \"ST\";\n CountryCodes[\"SV\"] = \"SV\";\n CountryCodes[\"SY\"] = \"SY\";\n CountryCodes[\"SZ\"] = \"SZ\";\n CountryCodes[\"TC\"] = \"TC\";\n CountryCodes[\"TD\"] = \"TD\";\n CountryCodes[\"TG\"] = \"TG\";\n CountryCodes[\"TH\"] = \"TH\";\n CountryCodes[\"TJ\"] = \"TJ\";\n CountryCodes[\"TK\"] = \"TK\";\n CountryCodes[\"TL\"] = \"TL\";\n CountryCodes[\"TM\"] = \"TM\";\n CountryCodes[\"TN\"] = \"TN\";\n CountryCodes[\"TO\"] = \"TO\";\n CountryCodes[\"TT\"] = \"TT\";\n CountryCodes[\"TV\"] = \"TV\";\n CountryCodes[\"TZ\"] = \"TZ\";\n CountryCodes[\"UG\"] = \"UG\";\n CountryCodes[\"UM\"] = \"UM\";\n CountryCodes[\"US\"] = \"US\";\n CountryCodes[\"UY\"] = \"UY\";\n CountryCodes[\"UZ\"] = \"UZ\";\n CountryCodes[\"VC\"] = \"VC\";\n CountryCodes[\"VE\"] = \"VE\";\n CountryCodes[\"VG\"] = \"VG\";\n CountryCodes[\"VI\"] = \"VI\";\n CountryCodes[\"VN\"] = \"VN\";\n CountryCodes[\"VU\"] = \"VU\";\n CountryCodes[\"WF\"] = \"WF\";\n CountryCodes[\"WS\"] = \"WS\";\n CountryCodes[\"YE\"] = \"YE\";\n CountryCodes[\"ZM\"] = \"ZM\";\n CountryCodes[\"ZW\"] = \"ZW\";\n CountryCodes[\"ZA\"] = \"ZA\";\n})(CountryCodes || (exports.CountryCodes = CountryCodes = {}));\n\nvar GDPRCountryCodes = [CountryCodes.AT, CountryCodes.BE, CountryCodes.BG, CountryCodes.CH, CountryCodes.CY, CountryCodes.CZ, CountryCodes.DE, CountryCodes.DK, CountryCodes.EE, CountryCodes.ES, CountryCodes.FI, CountryCodes.FR, CountryCodes.GB, CountryCodes.GR, CountryCodes.HR, CountryCodes.HU, CountryCodes.IE, CountryCodes.IM, CountryCodes.IT, CountryCodes.LT, CountryCodes.LU, CountryCodes.LV, CountryCodes.MC, CountryCodes.MT, CountryCodes.NL, CountryCodes.PL, CountryCodes.PT, CountryCodes.RO, CountryCodes.SE, CountryCodes.SI, CountryCodes.SK, CountryCodes.IS, CountryCodes.LI, CountryCodes.NO];\nexports.GDPRCountryCodes = GDPRCountryCodes;\nvar DASHCountryCodes = [CountryCodes.DE, CountryCodes.AT, CountryCodes.CH];\nexports.DASHCountryCodes = DASHCountryCodes;\nvar GBCountryCodes = [CountryCodes.GB, CountryCodes.GG, CountryCodes.GI, CountryCodes.GS, CountryCodes.IM, CountryCodes.JE];\nexports.GBCountryCodes = GBCountryCodes;\nvar USTerritoryCountryCodes = [CountryCodes.GU, CountryCodes.PR, CountryCodes.UM, CountryCodes.US, CountryCodes.VI];\nexports.USTerritoryCountryCodes = USTerritoryCountryCodes;\nvar EUCountryCodes = [CountryCodes.AT, CountryCodes.BE, CountryCodes.BG, CountryCodes.CY, CountryCodes.CZ, CountryCodes.DE, CountryCodes.DK, CountryCodes.EE, CountryCodes.ES, CountryCodes.FI, CountryCodes.FR, CountryCodes.GB, CountryCodes.GR, CountryCodes.HR, CountryCodes.HU, CountryCodes.IE, CountryCodes.IM, CountryCodes.IT, CountryCodes.LT, CountryCodes.LU, CountryCodes.LV, CountryCodes.MC, CountryCodes.MT, CountryCodes.NL, CountryCodes.PL, CountryCodes.PT, CountryCodes.RO, CountryCodes.SE, CountryCodes.SI, CountryCodes.SK];\nexports.EUCountryCodes = EUCountryCodes;\nvar SMSupportedCountryCodes = [CountryCodes.AE, CountryCodes.AR, CountryCodes.AU, CountryCodes.BR, CountryCodes.CA, CountryCodes.CH, CountryCodes.LI, CountryCodes.DK, CountryCodes.FO, CountryCodes.GL, CountryCodes.AD, CountryCodes.AL, CountryCodes.AT, CountryCodes.AX, CountryCodes.BA, CountryCodes.BE, CountryCodes.BG, CountryCodes.BY, CountryCodes.CY, CountryCodes.CZ, CountryCodes.DE, CountryCodes.EE, CountryCodes.ES, CountryCodes.FI, CountryCodes.FR, CountryCodes.GF, CountryCodes.GP, CountryCodes.GR, CountryCodes.HR, CountryCodes.HU, CountryCodes.IE, CountryCodes.IS, CountryCodes.IT, CountryCodes.LT, CountryCodes.LU, CountryCodes.LV, CountryCodes.MC, CountryCodes.MD, CountryCodes.ME, CountryCodes.MF, CountryCodes.MK, CountryCodes.MQ, CountryCodes.MT, CountryCodes.NL, CountryCodes.PL, CountryCodes.PM, CountryCodes.PT, CountryCodes.RE, CountryCodes.RO, CountryCodes.RS, CountryCodes.RU, CountryCodes.SI, CountryCodes.SK, CountryCodes.SM, CountryCodes.TF, CountryCodes.TR, CountryCodes.UA, CountryCodes.VA, CountryCodes.YT, CountryCodes.GB, CountryCodes.GG, CountryCodes.GI, CountryCodes.GS, CountryCodes.IM, CountryCodes.JE, CountryCodes.HK, CountryCodes.IN, CountryCodes.JP, CountryCodes.KR, CountryCodes.MX, CountryCodes.NO, CountryCodes.NZ, CountryCodes.SE, CountryCodes.SG, CountryCodes.TW, CountryCodes.AF, CountryCodes.AG, CountryCodes.AI, CountryCodes.AM, CountryCodes.AN, CountryCodes.AO, CountryCodes.AQ, CountryCodes.AS, CountryCodes.AW, CountryCodes.AZ, CountryCodes.BB, CountryCodes.BD, CountryCodes.BF, CountryCodes.BH, CountryCodes.BI, CountryCodes.BJ, CountryCodes.BL, CountryCodes.BM, CountryCodes.BN, CountryCodes.BO, CountryCodes.BS, CountryCodes.BT, CountryCodes.BV, CountryCodes.BW, CountryCodes.BZ, CountryCodes.CC, CountryCodes.CD, CountryCodes.CF, CountryCodes.CG, CountryCodes.CI, CountryCodes.CK, CountryCodes.CL, CountryCodes.CM, CountryCodes.CN, CountryCodes.CO, CountryCodes.CR, CountryCodes.CV, CountryCodes.CX, CountryCodes.DJ, CountryCodes.DM, CountryCodes.DO, CountryCodes.DZ, CountryCodes.EC, CountryCodes.EG, CountryCodes.EH, CountryCodes.ER, CountryCodes.ET, CountryCodes.FJ, CountryCodes.FK, CountryCodes.FM, CountryCodes.GA, CountryCodes.GD, CountryCodes.GE, CountryCodes.GH, CountryCodes.GM, CountryCodes.GN, CountryCodes.GQ, CountryCodes.GT, CountryCodes.GU, CountryCodes.GW, CountryCodes.GY, CountryCodes.HM, CountryCodes.HN, CountryCodes.HT, CountryCodes.ID, CountryCodes.IL, CountryCodes.IO, CountryCodes.IQ, CountryCodes.JM, CountryCodes.JO, CountryCodes.KE, CountryCodes.KG, CountryCodes.KH, CountryCodes.KI, CountryCodes.KM, CountryCodes.KN, CountryCodes.KP, CountryCodes.KW, CountryCodes.KY, CountryCodes.KZ, CountryCodes.LA, CountryCodes.LB, CountryCodes.LC, CountryCodes.LK, CountryCodes.LR, CountryCodes.LS, CountryCodes.LY, CountryCodes.MA, CountryCodes.MG, CountryCodes.MH, CountryCodes.ML, CountryCodes.MM, CountryCodes.MN, CountryCodes.MO, CountryCodes.MP, CountryCodes.MR, CountryCodes.MS, CountryCodes.MU, CountryCodes.MV, CountryCodes.MW, CountryCodes.MY, CountryCodes.MZ, CountryCodes.NA, CountryCodes.NC, CountryCodes.NE, CountryCodes.NF, CountryCodes.NG, CountryCodes.NI, CountryCodes.NP, CountryCodes.NR, CountryCodes.NU, CountryCodes.OM, CountryCodes.PA, CountryCodes.PE, CountryCodes.PF, CountryCodes.PG, CountryCodes.PH, CountryCodes.PK, CountryCodes.PN, CountryCodes.PR, CountryCodes.PS, CountryCodes.PW, CountryCodes.PY, CountryCodes.QA, CountryCodes.RW, CountryCodes.SA, CountryCodes.SB, CountryCodes.SC, CountryCodes.SH, CountryCodes.SJ, CountryCodes.SL, CountryCodes.SN, CountryCodes.SO, CountryCodes.SR, CountryCodes.ST, CountryCodes.SV, CountryCodes.SY, CountryCodes.SZ, CountryCodes.TC, CountryCodes.TD, CountryCodes.TG, CountryCodes.TH, CountryCodes.TJ, CountryCodes.TK, CountryCodes.TL, CountryCodes.TM, CountryCodes.TN, CountryCodes.TO, CountryCodes.TT, CountryCodes.TV, CountryCodes.TZ, CountryCodes.UG, CountryCodes.UM, CountryCodes.US, CountryCodes.UY, CountryCodes.UZ, CountryCodes.VC, CountryCodes.VE, CountryCodes.VG, CountryCodes.VI, CountryCodes.VN, CountryCodes.VU, CountryCodes.WF, CountryCodes.WS, CountryCodes.YE, CountryCodes.ZM, CountryCodes.ZW, CountryCodes.ZA];\nexports.SMSupportedCountryCodes = SMSupportedCountryCodes;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCleanDigitalData = getCleanDigitalData;\nexports.setupRoot = setupRoot;\nexports.getRoot = getRoot;\nexports.createMetricsTracker = void 0;\n\nvar _enums = _interopRequireDefault(require(\"./types/enums\"));\n\nvar _helpers = require(\"./helpers\");\n\nvar _utils = require(\"./utils\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar DEFAULT_USER_ID = '1';\nvar GLOBAL_KEY = 'sm_metrics_tracker_do_not_touch_this';\n/**\n * Creates a new DigitalData object and populates default values for the user\n *\n * @param userId The ID of the current user\n * @returns A DigitalData object populated only with default values\n */\n\nfunction getCleanDigitalData() {\n var userId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_USER_ID;\n return {\n page: {\n pageInfo: {\n pageId: '',\n attributes: {},\n pathname: ''\n }\n },\n events: [],\n components: [],\n user: {\n ep201: (0, _utils.getCookieValue)('ep201'),\n ep202: (0, _utils.getCookieValue)('ep202'),\n id: userId\n }\n };\n}\n/**\n * Returns the MetricsTracker root object. If it doesn't exist, creates it.\n *\n * @param glob A reference to the global object that MetricsTrackerRoot will by saved to\n * @returns The MetricsTrackerRoot\n */\n\n\nfunction setupRoot(glob) {\n if (!glob[GLOBAL_KEY]) {\n var root = {\n subscribers: [],\n automaticSubscribers: [],\n config: {\n user: {\n id: '',\n isAuthenticated: false\n },\n dataAnalyticsAPIPath: null,\n loggingAPIPath: null,\n country: 'GB',\n legacyWeb: '',\n gtmId: ''\n },\n digitalData: getCleanDigitalData(DEFAULT_USER_ID)\n };\n glob[GLOBAL_KEY] = root;\n }\n\n return glob[GLOBAL_KEY];\n}\n/**\n * Returns the global MetricsTrackerRoot object\n *\n * @param glob A reference to the global object on which the MetricsTrackerRoot object exists\n * @returns\n */\n\n\nfunction getRoot(glob) {\n if (!glob[GLOBAL_KEY]) {\n throw new Error('Please initialize MetricsTracker with a userId before tracking events.');\n }\n\n return glob[GLOBAL_KEY];\n}\n/**\n * Creates a MetricsTrackerType object with common level functionality that is wrapped\n * in scope by the provided global object reference.\n *\n * @param glob A reference to the global namespace that the metrics tracker will be added to\n * @returns A MetricsTrackerType object with it's context bound to the passed in `glob` ref\n */\n\n\nvar createMetricsTracker = function createMetricsTracker(glob) {\n return {\n initialize: function initialize(config) {\n throw new Error('initialize not implemented');\n },\n reset: function reset() {\n throw new Error('reset not implemented');\n },\n update: function update(config) {\n // for some data points within an SPA, the configuration must be\n // updated post initialization\n var root = getRoot(glob);\n root.config = _objectSpread(_objectSpread({}, root.config), config);\n return root;\n },\n\n /**\n * Convenience method to update parts of the user config that can be decorated post-initialization\n *\n * @param userConfig The updated user configuration\n */\n updateUserConfig: function updateUserConfig(userConfigUpdate) {\n var root = getRoot(glob);\n root.config.user = _objectSpread(_objectSpread({}, root.config.user), userConfigUpdate);\n return root;\n },\n getSubscribers: function getSubscribers() {\n var _getRoot = getRoot(glob),\n subscribers = _getRoot.subscribers;\n\n return subscribers;\n },\n getAutomaticSubscribers: function getAutomaticSubscribers() {\n var _getRoot2 = getRoot(glob),\n automaticSubscribers = _getRoot2.automaticSubscribers;\n\n return automaticSubscribers;\n },\n track: function track(event) {\n var _event$data, _event$data2, _event$data2$data;\n\n var root = getRoot(glob);\n\n if (root.config.user.id === '') {\n throw new Error('Please initialize MetricsTracker with a userId before tracking events.');\n }\n\n var maskedEvent = event; // mask email addresses\n\n if (event !== null && event !== void 0 && (_event$data = event.data) !== null && _event$data !== void 0 && _event$data.email) {\n maskedEvent.data.email = (0, _helpers.maskEmail)(event.data.email);\n }\n\n if (event !== null && event !== void 0 && (_event$data2 = event.data) !== null && _event$data2 !== void 0 && (_event$data2$data = _event$data2.data) !== null && _event$data2$data !== void 0 && _event$data2$data.email) {\n maskedEvent.data.data.email = (0, _helpers.maskEmail)(event.data.data.email);\n }\n\n if (_enums.default[event.name]) {\n root.digitalData.events.push(event);\n\n if (_enums.default.COMPONENT_ADD === event.name) {\n root.digitalData.components.push(event.data);\n }\n\n if (event.name === _enums.default.PAGE_VIEW || event.name === _enums.default.VIRTUAL_PAGE_VIEW) {\n root.digitalData = (0, _helpers.pageViewMutation)(event, root.digitalData);\n }\n\n root.subscribers.forEach(function (subscriber) {\n subscriber(event, root.config);\n });\n }\n },\n automaticTrack: function automaticTrack(event) {\n var root = getRoot(glob);\n root.automaticSubscribers.forEach(function (subscriber) {\n subscriber(event, root.config);\n });\n },\n addSubscriber: function addSubscriber(subscriber) {\n /**\n * We always want to allow the subscribers to subscribe. If the user\n * did not accept GDPR, we don't fire events; hence, we never violate GDPR.\n * If, however, the user does allow tracking, we don't want to subscribers\n * to re-subscribe.\n */\n var root = getRoot(glob);\n root.subscribers.push(subscriber);\n },\n addAutomaticSubscriber: function addAutomaticSubscriber(subscriber) {\n var root = getRoot(glob);\n root.automaticSubscribers.push(subscriber);\n },\n getConfig: function getConfig() {\n return getRoot(glob).config;\n },\n getDigitalData: function getDigitalData() {\n return getRoot(glob).digitalData;\n }\n };\n};\n\nexports.createMetricsTracker = createMetricsTracker;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.generateMetricsAttribute = generateMetricsAttribute;\nexports.MetricsTracker = void 0;\n\nvar _utils = require(\"@sm/utils\");\n\nvar _enums = _interopRequireDefault(require(\"./types/enums\"));\n\nvar _BaseMetricsTracker = require(\"./BaseMetricsTracker\");\n\nvar _DataAnalyticsMetricsSubscriber = _interopRequireDefault(require(\"./subscribers/DataAnalyticsMetricsSubscriber\"));\n\nvar _LoggingMetricsSubscriber = _interopRequireDefault(require(\"./subscribers/LoggingMetricsSubscriber\"));\n\nvar _GTMMeticsSubscriber = _interopRequireDefault(require(\"./subscribers/GTMMeticsSubscriber\"));\n\nvar _FacebookPixelSubscriber = _interopRequireDefault(require(\"./subscribers/FacebookPixelSubscriber\"));\n\nvar _AmplitudeSubscriber = _interopRequireDefault(require(\"./subscribers/AmplitudeSubscriber\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar _getClientEnvironment = (0, _utils.getClientEnvironmentDetails)(),\n isBrowser = _getClientEnvironment.isBrowser;\n\nvar glob = isBrowser ? window : global; // Import/require only in the browser\n\nvar delegatedEvents = isBrowser ? require('delegated-events') : null;\n/**\n * Generates a string of event data that can be used in an HTML attribute\n *\n * @param eventData The name and data of the event\n * @returns A formatted strong of the eventData passed in\n */\n\nfunction generateMetricsAttribute(eventData) {\n return JSON.stringify({\n name: eventData.name || _enums.default.ELEMENT_INTERACTION,\n data: eventData.data\n });\n}\n\nvar MetricsTracker = _objectSpread(_objectSpread({}, (0, _BaseMetricsTracker.createMetricsTracker)(glob)), {}, {\n /**\n * Initializes the events and configuration of the MetricsTracker\n *\n * @override\n * @param config\n * @returns\n */\n initialize: function initialize(config) {\n var root = (0, _BaseMetricsTracker.setupRoot)(glob);\n root.config = config;\n root.digitalData = (0, _BaseMetricsTracker.getCleanDigitalData)(config.user.id);\n setupEvents();\n return root;\n },\n reset: function reset() {\n var root = (0, _BaseMetricsTracker.getRoot)(glob);\n root.digitalData = (0, _BaseMetricsTracker.getCleanDigitalData)(root.config.user.id);\n root.subscribers = [];\n root.automaticSubscribers = []; // Add the mandatory dataAnalytics subscriber\n\n this.addSubscriber(_DataAnalyticsMetricsSubscriber.default); // Add the mandatory logging subscriber\n\n this.addSubscriber(_LoggingMetricsSubscriber.default); // Add Google Tag Manager dataLayer subscriber\n\n MetricsTracker.addSubscriber(_GTMMeticsSubscriber.default); // Add Facebook Pixel subscriber\n\n MetricsTracker.addSubscriber(_FacebookPixelSubscriber.default); // Add Amplitude Subscriber\n\n MetricsTracker.addSubscriber(_AmplitudeSubscriber.default);\n return root;\n }\n});\n\nexports.MetricsTracker = MetricsTracker;\n\nfunction setupEvents() {\n if (!isBrowser) {\n return;\n }\n\n if (window && window.SM && window.SM.MetricsTracker) {\n // only create one event listener on the document\n // this makes it safe for consumer apps to call initialize multiple times\n return;\n }\n /**\n * Add on click event listener\n * Note - this is done in the getInstance method; hence, until this\n * method is called, the event handler would never be bound.\n */\n\n\n delegatedEvents.on('click', '[data-sm-metrics]', function gce(event) {\n if (event && event.currentTarget) {\n var metricsData = event.currentTarget.getAttribute('data-sm-metrics');\n\n if (metricsData) {\n var metricsDataJSON = JSON.parse(metricsData);\n var eventData = metricsDataJSON.data;\n MetricsTracker.track({\n name: metricsDataJSON.name || _enums.default.ELEMENT_INTERACTION,\n data: eventData\n });\n }\n }\n }); // Add the mandatory dataAnalytics subscriber\n\n MetricsTracker.addSubscriber(_DataAnalyticsMetricsSubscriber.default); // Add the mandatory logging subscriber\n\n MetricsTracker.addSubscriber(_LoggingMetricsSubscriber.default); // Add Google Tag Manager dataLayer subscriber\n\n MetricsTracker.addSubscriber(_GTMMeticsSubscriber.default); // Add Facebook Pixel subscriber\n\n MetricsTracker.addSubscriber(_FacebookPixelSubscriber.default); // Add Amplitude Subscriber\n\n MetricsTracker.addSubscriber(_AmplitudeSubscriber.default);\n setupAutomaticEvents();\n window.SM = window.SM || {};\n window.SM.MetricsTracker = MetricsTracker;\n}\n\nfunction setupAutomaticEvents() {\n var clickableLinks = ['.wds-button', '.wds-link', 'a', 'wds-switch__native', 'wds-checkbox__native', 'wds-radio__native', 'wds-list__item', 'wds-close', 'wds-popout__trigger', 'wds-has-menu', 'wds-slider__handle', 'wds-tab__tab-btn'];\n delegatedEvents.on('click', clickableLinks.join(','), function gce(event) {\n if (!event.target) {\n return;\n }\n\n var name = event.type;\n var target = event.target;\n var inputTarget = target;\n MetricsTracker.automaticTrack({\n name: _enums.default.ELEMENT_INTERACTION,\n data: {\n actionType: name,\n actionFlow: 'automatic',\n class: target.className,\n text: target.innerText,\n checked: inputTarget.checked || undefined,\n value: inputTarget.value || undefined\n }\n });\n });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.cloneDigitalData = cloneDigitalData;\nexports.pageViewMutation = pageViewMutation;\nexports.maskString = maskString;\nexports.maskEmail = maskEmail;\n\nvar _enums = _interopRequireDefault(require(\"./types/enums\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction cloneDigitalData(digitalData) {\n return JSON.parse(JSON.stringify(digitalData));\n}\n\nfunction pageViewMutation(event, digitalData) {\n if (event.name !== _enums.default.PAGE_VIEW && event.name !== _enums.default.VIRTUAL_PAGE_VIEW) {\n return digitalData;\n }\n\n var newDigitalData = cloneDigitalData(digitalData);\n var _event$data = event.data,\n pageId = _event$data.pageId,\n pathname = _event$data.pathname,\n attributes = _event$data.attributes;\n newDigitalData.page.pageInfo = {\n pageId: pageId,\n pathname: pathname,\n attributes: attributes\n };\n return newDigitalData;\n}\n\nfunction maskString(str) {\n if (!str) return '';\n if (str.length === 1) return '*';\n if (str.length === 2) return '**';\n return str.replace(/^(.)(.*)(.)$/, function (_, a, b, c) {\n return a + b.replace(/./g, '*') + c;\n });\n}\n\nfunction maskEmail(email) {\n if (!email) return '';\n return email.replace(/^(.*)(@.*)$/, function (_, a, b) {\n return a.replace(/./g, '*') + b;\n });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"MetricsTracker\", {\n enumerable: true,\n get: function get() {\n return _MetricsTracker.MetricsTracker;\n }\n});\nObject.defineProperty(exports, \"generateMetricsAttribute\", {\n enumerable: true,\n get: function get() {\n return _MetricsTracker.generateMetricsAttribute;\n }\n});\nObject.defineProperty(exports, \"PageMetricsProvider\", {\n enumerable: true,\n get: function get() {\n return _PageMetricsProvider.default;\n }\n});\nObject.defineProperty(exports, \"ComponentMetricsProvider\", {\n enumerable: true,\n get: function get() {\n return _ComponentMetricsProvider.default;\n }\n});\nObject.defineProperty(exports, \"SPARouteMetricsProvider\", {\n enumerable: true,\n get: function get() {\n return _SPARouteMetricsProvider.default;\n }\n});\nObject.defineProperty(exports, \"USER_EVENTS\", {\n enumerable: true,\n get: function get() {\n return _enums.default;\n }\n});\nObject.defineProperty(exports, \"MetricsTrackerType\", {\n enumerable: true,\n get: function get() {\n return _types.MetricsTrackerType;\n }\n});\nObject.defineProperty(exports, \"GTMEventData\", {\n enumerable: true,\n get: function get() {\n return _types.GTMEventData;\n }\n});\n\nvar _MetricsTracker = require(\"./MetricsTracker\");\n\nvar _PageMetricsProvider = _interopRequireDefault(require(\"./providers/PageMetricsProvider\"));\n\nvar _ComponentMetricsProvider = _interopRequireDefault(require(\"./providers/ComponentMetricsProvider\"));\n\nvar _SPARouteMetricsProvider = _interopRequireDefault(require(\"./providers/SPARouteMetricsProvider\"));\n\nvar _enums = _interopRequireDefault(require(\"./types/enums\"));\n\nvar _types = require(\"./types/types\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _utils = require(\"@sm/utils\");\n\nvar _ = require(\"..\");\n\nvar ComponentMetricsProvider = function ComponentMetricsProvider(_ref) {\n var name = _ref.name,\n _ref$attributes = _ref.attributes,\n attributes = _ref$attributes === void 0 ? null : _ref$attributes,\n _ref$disableDA = _ref.disableDA,\n disableDA = _ref$disableDA === void 0 ? false : _ref$disableDA,\n actionFlow = _ref.actionFlow,\n actionType = _ref.actionType,\n children = _ref.children;\n var envDetails = (0, _utils.getClientEnvironmentDetails)();\n\n if (envDetails.isBrowser) {\n _.MetricsTracker.track({\n name: _.USER_EVENTS.COMPONENT_ADD,\n data: {\n componentName: name,\n attributes: attributes,\n disableDA: disableDA,\n actionType: actionType,\n actionFlow: actionFlow\n }\n });\n }\n\n return children;\n};\n\nvar _default = ComponentMetricsProvider;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = require(\"react\");\n\nvar _ = require(\"..\");\n\nvar PageMetricsProvider = function PageMetricsProvider(_ref) {\n var pageId = _ref.pageId,\n pathname = _ref.pathname,\n attributes = _ref.attributes,\n GDPR = _ref.GDPR,\n user = _ref.user,\n country = _ref.country,\n children = _ref.children;\n var _GDPR$hasGDPRConsent = GDPR.hasGDPRConsent,\n hasGDPRConsent = _GDPR$hasGDPRConsent === void 0 ? false : _GDPR$hasGDPRConsent;\n var _user$id = user.id,\n userId = _user$id === void 0 ? '1' : _user$id,\n _user$package = user.package,\n packageId = _user$package === void 0 ? '1' : _user$package,\n _user$email = user.email,\n email = _user$email === void 0 ? '' : _user$email;\n (0, _react.useEffect)(function () {\n _.MetricsTracker.track({\n name: _.USER_EVENTS.PAGE_VIEW,\n data: {\n actionType: _.USER_EVENTS.PAGE_VIEW,\n actionFlow: pageId,\n pathname: pathname,\n pageId: pageId,\n attributes: attributes,\n data: {\n hasGDPRConsent: hasGDPRConsent,\n userId: userId,\n packageId: packageId,\n email: email,\n country: country\n }\n }\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n /**\n * Adding an empty array ensures that this is always and only called\n * on first page renders/reloads. SPA will never call this.\n */\n ]);\n return children;\n};\n\nvar _default = PageMetricsProvider;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = require(\"react\");\n\nvar _ = require(\"..\");\n\nvar SPARouteMetricsProvider = function SPARouteMetricsProvider(_ref) {\n var pageId = _ref.pageId,\n pathname = _ref.pathname,\n legacyWeb = _ref.legacyWeb,\n attributes = _ref.attributes,\n GDPR = _ref.GDPR,\n user = _ref.user,\n country = _ref.country,\n children = _ref.children;\n var _GDPR$hasGDPRConsent = GDPR.hasGDPRConsent,\n hasGDPRConsent = _GDPR$hasGDPRConsent === void 0 ? false : _GDPR$hasGDPRConsent;\n var _user$id = user.id,\n userId = _user$id === void 0 ? '1' : _user$id,\n _user$package = user.package,\n packageId = _user$package === void 0 ? '1' : _user$package,\n _user$email = user.email,\n email = _user$email === void 0 ? '' : _user$email;\n (0, _react.useEffect)(function () {\n // update the global config\n _.MetricsTracker.update({\n pageId: pageId,\n legacyWeb: legacyWeb\n });\n /*\n // TODO: This shouldn't fire on intital render, but it needs to right now\n // to ensure all page metrics for SPA are accurately recorded. For example\n // in the SPA, PAGE_VIEW only knows about the SPA container, not the page within\n // the container. So the VIRTUAL_PAGE_VIEW is needed to track the actual page content\n */\n\n\n _.MetricsTracker.track({\n name: _.USER_EVENTS.VIRTUAL_PAGE_VIEW,\n data: {\n actionType: _.USER_EVENTS.VIRTUAL_PAGE_VIEW,\n actionFlow: pageId,\n pageId: pageId,\n attributes: attributes,\n pathname: pathname,\n data: {\n hasGDPRConsent: hasGDPRConsent,\n userId: userId,\n packageId: packageId,\n email: email,\n countryCode: country\n }\n }\n }); // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, [pageId, legacyWeb, pathname]);\n return children;\n};\n\nvar _default = SPARouteMetricsProvider;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = amplitudeSubscriber;\n\nvar _utils = require(\"../utils\");\n\nvar _excluded = [\"amplitudeEvent\", \"actionType\", \"actionFlow\"];\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar CORE_USER_PROPS = {\n package: 'userPackageId',\n packageName: 'userPackageName',\n subscriptionStatus: 'userSubscriptionStatus'\n};\nvar CORE_USER_PROPS_KEYS = Object.keys(CORE_USER_PROPS);\nvar ONETRUST_FUNCTIONAL_COOKIE_GROUP = 'C0003';\n\nvar blockedByOneTrust = function blockedByOneTrust() {\n var overrideOneTrust = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var _parseOneTrustCookie = (0, _utils.parseOneTrustCookie)(),\n hasOneTrustCookie = _parseOneTrustCookie.hasOneTrustCookie,\n oneTrustGroups = _parseOneTrustCookie.groups; // we are blocked by OneTrust if...\n\n\n return (// we're not overridden to _ignore_ OneTrust...\n !overrideOneTrust && // the OneTrust cookie is not present or does not have\n // functional cookies accepted\n !(hasOneTrustCookie && oneTrustGroups[ONETRUST_FUNCTIONAL_COOKIE_GROUP] === true)\n );\n};\n\nfunction amplitudeSubscriber(digitalDataEvent, config) {\n var _amplitudeRequire$def;\n\n var amplitudeToken = config.amplitudeToken,\n user = config.user,\n overrideOneTrust = config.overrideOneTrust;\n var digitalData = digitalDataEvent.data;\n\n var amplitudeEvent = digitalData.amplitudeEvent,\n actionType = digitalData.actionType,\n actionFlow = digitalData.actionFlow,\n data = _objectWithoutProperties(digitalData, _excluded);\n\n if ( // bail if we have no ampltude token\n !amplitudeToken || // or if this is not an amplitude event\n !amplitudeEvent || // or if OneTrust functional cookies haven't been accepted\n blockedByOneTrust(overrideOneTrust)) {\n return;\n }\n\n var userId = user.id,\n isAuthenticated = user.isAuthenticated,\n teamId = user.teamId,\n languageId = user.languageId; // we'll include the amplitude SDK here via \"require\" to avoid getting\n // yelled at by the test runner since amplitude makes explicit references\n // to \"window\", which doesn't exist in the test environment before we mock it\n // eslint-disable-next-line global-require\n\n var amplitudeRequire = require('amplitude-js'); // this is to catch a bundling issue that was introduced with amplitude-js@8.11.0\n // that used the ESM module instead of the default `main` import:\n // https://github.com/amplitude/Amplitude-JavaScript/commit/3e98d506f003ba428ab08796d1246ccb387d1f32\n\n\n var amplitude = (_amplitudeRequire$def = amplitudeRequire.default) !== null && _amplitudeRequire$def !== void 0 ? _amplitudeRequire$def : amplitudeRequire;\n\n try {\n var amplitudeInstance = amplitude.getInstance();\n amplitudeInstance.init(amplitudeToken, null, {\n includeReferrer: true\n });\n\n if (isAuthenticated) {\n // if the user belongs to a team, send that down as a group property\n // set this before the user props below so that group info is sent as part\n // of the user props call\n if (teamId) {\n amplitudeInstance.setGroup('teamId', teamId);\n }\n\n amplitudeInstance.setUserId(userId); // add in any core props if they're present on the user object\n\n var userProps = {\n languageId: languageId\n };\n CORE_USER_PROPS_KEYS.forEach(function (key) {\n var val = user[key];\n\n if (val && CORE_USER_PROPS[key]) {\n userProps[CORE_USER_PROPS[key]] = user[key];\n }\n });\n amplitudeInstance.setUserProperties(userProps);\n } else {\n // make sure we've cleared out the data for any previous logged in user\n amplitudeInstance.clearStorage();\n }\n\n amplitudeInstance.logEvent(amplitudeEvent, _objectSpread({}, data));\n } catch (err) {// silently fail; we don't want a bad metrics call taking the whole experience down\n }\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = dataAnalyticsMetricsSubscriber;\n\nfunction dataAnalyticsMetricsSubscriber(digitalDataEvent, metricsTrackerConfig) {\n // Verify that the required values are present and we're not being\n // bypassed before continuing. If not, exit quietly.\n if (digitalDataEvent.data.disableDA === true || !digitalDataEvent.data.actionFlow || !digitalDataEvent.data.actionType) {\n return;\n }\n\n var eventData = JSON.parse(JSON.stringify(digitalDataEvent.data));\n var dataAnalyticsAPIPath = metricsTrackerConfig.dataAnalyticsAPIPath,\n legacyWeb = metricsTrackerConfig.legacyWeb;\n var eventMeta = {\n ui_event: '',\n ui_goal: '',\n url: '',\n origin: '',\n legacy_web: legacyWeb\n };\n eventMeta.ui_event = eventData.actionType;\n eventMeta.ui_goal = eventData.actionFlow;\n eventMeta.url = window.location.href;\n eventMeta.origin = eventData.origin || 'user';\n delete eventData.actionType;\n delete eventData.actionFlow;\n delete eventData.origin; // FUTURE: The listener should implement experiments metrics.\n // Send the event to the data analytics api\n\n if (dataAnalyticsAPIPath) {\n fetch(dataAnalyticsAPIPath, {\n method: 'POST',\n cache: 'no-cache',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json; charset=utf-8'\n },\n body: JSON.stringify({\n data: eventData,\n meta: eventMeta\n })\n });\n }\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = facebookPixelSubscriber;\n\nvar _enums = _interopRequireDefault(require(\"../types/enums\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar whiteListedURLs = [/\\/collect\\/audience\\/.*\\/status/];\n\nvar isValidURL = function isValidURL(url) {\n return whiteListedURLs.some(function (pattern) {\n return url.match(pattern) !== null;\n });\n};\n\nfunction facebookPixelSubscriber(digitalDataEvent) {\n // eslint-disable-next-line global-require\n var ReactPixel = require('react-facebook-pixel');\n\n var _JSON$parse = JSON.parse(JSON.stringify(digitalDataEvent.data)),\n name = _JSON$parse.name,\n data = _JSON$parse.data,\n key = _JSON$parse.key;\n\n var actionType = digitalDataEvent.name;\n\n if (isValidURL(window.location.href) && key) {\n ReactPixel.init(key);\n\n if (actionType === _enums.default.USER_METADATA && name && data) {\n ReactPixel.track(name, data);\n }\n\n if (actionType === _enums.default.PAGE_VIEW) ReactPixel.pageView();\n }\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = gtmMetricsSubscriber;\n\nvar _utils = require(\"@sm/utils\");\n\nvar _helpers = require(\"../helpers\");\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction gtmMetricsSubscriber(digitalDataEvent) {\n var data = digitalDataEvent.data,\n name = digitalDataEvent.name;\n var actionType = data.actionType,\n actionFlow = data.actionFlow;\n\n if (!actionType || !actionFlow) {\n return;\n } // flatten the data object\n\n\n var gtmDataLayer = _objectSpread(_objectSpread({}, data), data.data);\n\n delete gtmDataLayer.data;\n var envDetails = (0, _utils.getClientEnvironmentDetails)();\n\n if (envDetails.isBrowser) {\n var pagePath = window.location.pathname;\n window.dataLayer = window.dataLayer || [];\n\n var eventObj = function eventObj(_ref) {\n var hasGDPRConsent = _ref.hasGDPRConsent,\n userId = _ref.userId,\n packageId = _ref.packageId,\n email = _ref.email,\n countryCode = _ref.countryCode;\n return {\n PAGE_VIEW: {\n event: 'pageView',\n loadMarketingContainer: hasGDPRConsent,\n user_id: userId,\n package_id: packageId,\n email: (0, _helpers.maskEmail)(email),\n country_code: countryCode\n },\n VIRTUAL_PAGE_VIEW: {\n event: 'virtualPageView',\n virtualPageUrl: pagePath,\n virtualPageTitle: actionFlow\n },\n GDPR_ACTION: {\n event: actionFlow,\n loadMarketingContainer: actionFlow !== 'denyConsent'\n }\n };\n };\n\n var gtm = eventObj(gtmDataLayer)[actionType] || _objectSpread({\n event: name\n }, gtmDataLayer);\n\n if (Object.keys(gtm).length) {\n window.dataLayer.push(gtm);\n }\n }\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = loggingMetricsSubscriber;\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction loggingMetricsSubscriber(digitalDataEvent, metricsTrackerConfig) {\n var eventData = JSON.parse(JSON.stringify(digitalDataEvent.data));\n var logEventData = eventData ? eventData.log : null;\n var loggingAPIPath = metricsTrackerConfig.loggingAPIPath;\n\n if (typeof loggingAPIPath !== 'undefined' && typeof logEventData !== 'undefined' && logEventData !== null && loggingAPIPath) {\n delete eventData.log;\n\n var bodyRequestObject = _objectSpread({\n data: eventData\n }, logEventData);\n\n fetch(loggingAPIPath, {\n method: 'POST',\n cache: 'no-cache',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json; charset=utf-8'\n },\n body: JSON.stringify(bodyRequestObject)\n });\n }\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.USER_SUBSCRIPTION_STATUS = void 0;\nvar USER_EVENTS;\n\n(function (USER_EVENTS) {\n USER_EVENTS[\"PAGE_VIEW\"] = \"PAGE_VIEW\";\n USER_EVENTS[\"VIRTUAL_PAGE_VIEW\"] = \"VIRTUAL_PAGE_VIEW\";\n USER_EVENTS[\"COMPONENT_ADD\"] = \"COMPONENT_ADD\";\n USER_EVENTS[\"COMPONENT_ERROR\"] = \"COMPONENT_ERROR\";\n USER_EVENTS[\"DATA_FETCH_ERROR\"] = \"DATA_FETCH_ERROR\";\n USER_EVENTS[\"ELEMENT_INTERACTION\"] = \"ELEMENT_INTERACTION\";\n USER_EVENTS[\"GDPR_ACTION\"] = \"GDPR_ACTION\";\n USER_EVENTS[\"NAVIGATION\"] = \"NAVIGATION\";\n USER_EVENTS[\"USER_METADATA\"] = \"USER_METADATA\";\n})(USER_EVENTS || (USER_EVENTS = {}));\n\nvar USER_SUBSCRIPTION_STATUS;\nexports.USER_SUBSCRIPTION_STATUS = USER_SUBSCRIPTION_STATUS;\n\n(function (USER_SUBSCRIPTION_STATUS) {\n USER_SUBSCRIPTION_STATUS[\"NEW\"] = \"new\";\n USER_SUBSCRIPTION_STATUS[\"CHURNED\"] = \"churned\";\n USER_SUBSCRIPTION_STATUS[\"ACTIVE\"] = \"active\";\n})(USER_SUBSCRIPTION_STATUS || (exports.USER_SUBSCRIPTION_STATUS = USER_SUBSCRIPTION_STATUS = {}));\n\nvar _default = USER_EVENTS;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCookieValue = getCookieValue;\nexports.parseOneTrustCookie = parseOneTrustCookie;\nvar ONETRUST_COOKIE = 'OptanonConsent';\n\nfunction getCookieValue(cname, defaultValue) {\n // `getClientEnvironmentDetails` could provide this information, but imports\n // the \"bowser\" package to decorate a bunch of details we don't need (that's ~5k minified)\n // As such, we'll just lift the line we actually want:\n // https://code.corp.surveymonkey.com/webplatform/smpackages/blob/master/packages/utils/src/environment/index.ts#L83\n var isBrowser = typeof window === 'object';\n if (!isBrowser) return '';\n var name = \"\".concat(cname, \"=\");\n var decodedCookie = decodeURIComponent(document.cookie);\n var ca = decodedCookie.split(';');\n\n for (var i = 0; i < ca.length; i += 1) {\n var c = ca[i];\n\n while (c.charAt(0) === ' ') {\n c = c.substring(1);\n }\n\n if (c.indexOf(name) === 0) {\n return c.substring(name.length, c.length);\n }\n }\n\n return defaultValue || '';\n}\n/**\n * Checks for and parses the information stored in the OneTrust cookie\n *\n * @returns Whether the OneTrust cookie exists and the information stored within it\n */\n\n\nfunction parseOneTrustCookie() {\n var cookieValue = getCookieValue(ONETRUST_COOKIE, '');\n var retVal = {\n hasOneTrustCookie: !!cookieValue,\n keyValues: {},\n groups: {}\n };\n\n if (retVal.hasOneTrustCookie) {\n cookieValue.split('&').forEach(function (token) {\n var keyVal = token.split('=').map(function (piece) {\n return decodeURIComponent(piece);\n });\n var key = keyVal.shift();\n var value = keyVal.length ? keyVal.shift() : true;\n\n if (key) {\n retVal.keyValues[key] = value;\n }\n }); // fix up groups to be cleaner\n\n if (typeof retVal.keyValues.groups === 'string') {\n retVal.keyValues.groups.split(',').forEach(function (group) {\n var tokens = group.split(':');\n retVal.groups[tokens[0]] = tokens[1] === '1';\n });\n }\n }\n\n return retVal;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _s3upload = _interopRequireDefault(require(\"react-s3-uploader/s3upload\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nvar DEFAULT_OPTIONS = {\n preprocess: function preprocess(file, next) {\n next(file);\n },\n onSignedUrl: function onSignedUrl() {},\n onProgress: function onProgress() {},\n onFinish: function onFinish() {},\n onError: function onError() {},\n signingUrl: '/core/api/s3/sign',\n scrubFilename: function scrubFilename(filename) {\n return \".\".concat(filename.split('.').pop());\n },\n s3path: '',\n autoUpload: true\n};\n/**\n * Creates a new S3Uploader.\n * @class\n */\n\nvar S3Uploader = /*#__PURE__*/function () {\n /**\n * @constructs S3Uploader\n * @param {Object} options S3Uploader options\n * @param {string} options.server S3Uploader server\n * @param {string} options.signingUrl S3Uploader singingUrl\n * @param {string} options.server S3Uploader server\n * @param {Array} options.successResponses {code, code} Success responses\n * @param {string} [options.signingUrlMethod=\"GET\"] S3Uploader singingUrlMethod\n * @param {string} [options.s3path=\"\"] S3Uploader s3path\n * @param {boolean} [options.autoUpload=true] S3Uploader autoupload\n * @param {Object} options.files S3Uploader files\n * @param {Object} options.fileElement S3Uploader fileElement\n * @param {Function} options.onFinishS3Put S3Uploader onFinishS3Put function\n * @param {Function} options.onFinish OnFinish uploading function\n * @param {Function} options.preprocess preprocess function\n * @param {Function} options.onProgress onProgress uploading function\n * @param {Function} options.onError on upload error function\n * @param {Function} options.onSignedUrl signed url function\n * @param {Function} options.fileElement fileElement\n * @param {Function} options.inputRef inputRef\n * @param {Function} options.contentDisposition\n * @param {Object} options.uploadRequestHeaders\n * @param {boolean} options.getSignedUrl\n */\n function S3Uploader(options) {\n _classCallCheck(this, S3Uploader);\n\n this.options = void 0;\n this.myUploader = void 0;\n this.options = _objectSpread(_objectSpread({}, DEFAULT_OPTIONS), options);\n }\n /**\n * Upload the file\n */\n\n\n _createClass(S3Uploader, [{\n key: \"uploadFile\",\n value: function uploadFile() {\n this.myUploader = new _s3upload.default(_objectSpread(_objectSpread({}, DEFAULT_OPTIONS), this.options));\n }\n /**\n * Abort the upload\n */\n\n }, {\n key: \"abort\",\n value: function abort() {\n if (this.myUploader) {\n this.myUploader.abortUpload();\n }\n }\n }]);\n\n return S3Uploader;\n}();\n\nexports.default = S3Uploader;\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isTeamPackage = exports.isEnterprisePackage = exports.isBasicPackage = exports.isAnnualPackage = exports.PackageType = void 0; // constants and logic for dealing with billing packages\n\nvar PackageType;\nexports.PackageType = PackageType;\n\n(function (PackageType) {\n PackageType[PackageType[\"BASIC\"] = 1] = \"BASIC\";\n PackageType[PackageType[\"PRO\"] = 2] = \"PRO\";\n PackageType[PackageType[\"UNLIMITED\"] = 3] = \"UNLIMITED\";\n PackageType[PackageType[\"SELECT_MONTHLY\"] = 4] = \"SELECT_MONTHLY\";\n PackageType[PackageType[\"GOLD\"] = 5] = \"GOLD\";\n PackageType[PackageType[\"PLATINUM\"] = 6] = \"PLATINUM\";\n PackageType[PackageType[\"SELECT_YEARLY\"] = 7] = \"SELECT_YEARLY\";\n PackageType[PackageType[\"TEMP_PRO\"] = 8] = \"TEMP_PRO\";\n PackageType[PackageType[\"PRO_COMP\"] = 9] = \"PRO_COMP\";\n PackageType[PackageType[\"ZOOM_PRO\"] = 13] = \"ZOOM_PRO\";\n PackageType[PackageType[\"ZOOM_PREMIUM\"] = 16] = \"ZOOM_PREMIUM\";\n PackageType[PackageType[\"ENT_GOLD\"] = 25] = \"ENT_GOLD\";\n PackageType[PackageType[\"ENTERPRISE_PLATINUM\"] = 26] = \"ENTERPRISE_PLATINUM\";\n PackageType[PackageType[\"ENTERPRISE\"] = 27] = \"ENTERPRISE\";\n PackageType[PackageType[\"STANDARD_MONTHLY\"] = 31] = \"STANDARD_MONTHLY\";\n PackageType[PackageType[\"STANDARD_ANNUAL\"] = 32] = \"STANDARD_ANNUAL\";\n PackageType[PackageType[\"ADVANTAGE_MONTHLY\"] = 33] = \"ADVANTAGE_MONTHLY\";\n PackageType[PackageType[\"ADVANTAGE_ANNUAL\"] = 34] = \"ADVANTAGE_ANNUAL\";\n PackageType[PackageType[\"PREMIER_MONTHLY\"] = 35] = \"PREMIER_MONTHLY\";\n PackageType[PackageType[\"PREMIER_ANNUAL\"] = 36] = \"PREMIER_ANNUAL\";\n PackageType[PackageType[\"ANALYZE_PACKAGE\"] = 37] = \"ANALYZE_PACKAGE\";\n PackageType[PackageType[\"TEAM_ADVANTAGE_ANNUAL\"] = 134] = \"TEAM_ADVANTAGE_ANNUAL\";\n PackageType[PackageType[\"TEAM_PREMIER_ANNUAL\"] = 136] = \"TEAM_PREMIER_ANNUAL\";\n PackageType[PackageType[\"ENTERPRISE_CONTRIBUTOR_SEAT\"] = 226] = \"ENTERPRISE_CONTRIBUTOR_SEAT\";\n PackageType[PackageType[\"TEAM_ADVANTAGE_CONTRIBUTOR_SEAT\"] = 234] = \"TEAM_ADVANTAGE_CONTRIBUTOR_SEAT\";\n PackageType[PackageType[\"TEAM_PREMIER_CONTRIBUTOR_SEAT\"] = 236] = \"TEAM_PREMIER_CONTRIBUTOR_SEAT\";\n})(PackageType || (exports.PackageType = PackageType = {}));\n\nvar isAnnualPackage = function isAnnualPackage(packageID) {\n return [PackageType.ENTERPRISE_PLATINUM, PackageType.ENTERPRISE, PackageType.STANDARD_ANNUAL, PackageType.ADVANTAGE_ANNUAL, PackageType.PREMIER_ANNUAL, PackageType.TEAM_ADVANTAGE_ANNUAL, PackageType.TEAM_PREMIER_ANNUAL].includes(packageID);\n};\n\nexports.isAnnualPackage = isAnnualPackage;\n\nvar isBasicPackage = function isBasicPackage(packageID) {\n return packageID === PackageType.BASIC;\n};\n\nexports.isBasicPackage = isBasicPackage;\n\nvar isEnterprisePackage = function isEnterprisePackage(packageID) {\n return [PackageType.ENT_GOLD, PackageType.ENTERPRISE, PackageType.ENTERPRISE_CONTRIBUTOR_SEAT, PackageType.ENTERPRISE_PLATINUM].includes(packageID);\n};\n\nexports.isEnterprisePackage = isEnterprisePackage;\n\nvar isTeamPackage = function isTeamPackage(packageID) {\n return [PackageType.ENTERPRISE_PLATINUM, PackageType.ENTERPRISE, PackageType.TEAM_ADVANTAGE_ANNUAL, PackageType.TEAM_PREMIER_ANNUAL].indexOf(packageID) > -1;\n};\n\nexports.isTeamPackage = isTeamPackage;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getClientEnvironmentDetails = getClientEnvironmentDetails;\nexports.isBrowserSupported = isBrowserSupported;\nexports.SupportedBrowserVendors = exports.environmentDetails = void 0;\n\nvar _bowser = _interopRequireDefault(require(\"bowser\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/**\n * Environment Details\n * @typedef {Object}\n * @property {boolean} isNode\n * @property {boolean} isBrowser\n * @property {boolean} isDesktop\n * @property {boolean} isHeadlessChrome\n * @property {boolean} isMobile\n * @property {boolean} isTablet\n * @property {boolean} isIOS\n * @property {boolean} isAndroid\n * @property {Object} clientWindowSize\n * @property {string} clientWindowSize.width\n * @property {string} clientWindowSize.height\n * @memberof module:@sm/utils\n */\n\n\nvar environmentDetails = {\n isNode: false,\n isBrowser: false,\n isDesktop: false,\n isHeadlessChrome: false,\n isMobile: false,\n isTablet: false,\n isIOS: false,\n isAndroid: false,\n clientWindowSize: {\n width: undefined,\n height: undefined\n }\n};\nexports.environmentDetails = environmentDetails;\nvar userAgentTracker = '';\n/**\n * inspectAgent\n * @param {string} userAgent The string for the user agent\n */\n\nfunction inspectAgent(userAgent) {\n if (!userAgent) {\n return;\n }\n\n if (userAgent.match(/iPhone|iPod|iPad/i) !== null) {\n environmentDetails.isIOS = true;\n\n if (userAgent.match(/iPad/i) !== null) {\n environmentDetails.isTablet = true;\n } else {\n environmentDetails.isMobile = true;\n }\n } else if (userAgent.match(/Android/i) !== null) {\n environmentDetails.isMobile = true;\n environmentDetails.isAndroid = true;\n } else if (userAgent.match(/HeadlessChrome/i) !== null) {\n environmentDetails.isHeadlessChrome = true;\n } else {\n environmentDetails.isDesktop = true;\n }\n}\n/**\n * Initialize\n * @param {string} userAgent The string for the user agent\n * @private\n */\n\n\nfunction _initialize(userAgent) {\n var ua = userAgent;\n\n if (typeof window === 'object') {\n environmentDetails.isBrowser = true;\n window.SM = window.SM || {};\n var _window = window,\n SM = _window.SM;\n SM.__LOAD_PAYLOAD_CACHE__ = SM.__LOAD_PAYLOAD_CACHE__ || {}; // Detect banner type (iOS or Android)\n\n environmentDetails.clientWindowSize = {\n width: document.body.clientWidth,\n height: document.body.clientHeight\n };\n ua = navigator.userAgent;\n } else {\n environmentDetails.isNode = true;\n }\n\n inspectAgent(ua);\n}\n/**\n * Returns the environment details\n * @param {string} userAgent The string for the user agent\n * @returns {environmentDetails} env details\n * @memberof module:@sm/utils\n */\n\n\nfunction getClientEnvironmentDetails() {\n var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n if (environmentDetails.isBrowser === false && environmentDetails.isNode === false || userAgentTracker !== userAgent) {\n userAgentTracker = userAgent;\n\n _initialize(userAgentTracker);\n }\n\n return environmentDetails;\n}\n\nvar SupportedBrowserVendors;\nexports.SupportedBrowserVendors = SupportedBrowserVendors;\n\n(function (SupportedBrowserVendors) {\n SupportedBrowserVendors[\"Chrome\"] = \"chrome\";\n SupportedBrowserVendors[\"Firefox\"] = \"firefox\";\n SupportedBrowserVendors[\"Safari\"] = \"safari\";\n SupportedBrowserVendors[\"IE\"] = \"ie\";\n SupportedBrowserVendors[\"Edge\"] = \"edge\";\n})(SupportedBrowserVendors || (exports.SupportedBrowserVendors = SupportedBrowserVendors = {}));\n\nvar defaultSupportedBrowsers = [{\n vendor: SupportedBrowserVendors.Chrome,\n operator: '>=',\n version: '18'\n}, {\n vendor: SupportedBrowserVendors.Firefox,\n operator: '>=',\n version: '24'\n}, {\n vendor: SupportedBrowserVendors.Safari,\n operator: '>=',\n version: '7'\n}, {\n vendor: SupportedBrowserVendors.Edge,\n operator: '>=',\n version: '12'\n}, {\n vendor: SupportedBrowserVendors.IE,\n operator: '>=',\n version: '11'\n}];\n\nfunction isBrowserSupported(userAgent, supportedBrowsers) {\n var browser = _bowser.default.getParser(userAgent);\n\n var browsers = supportedBrowsers || defaultSupportedBrowsers;\n browsers.forEach(function (_ref) {\n var version = _ref.version;\n\n if (!version.match(/^\\d+(\\.\\d+)?(\\.\\d+)?$/)) {\n throw new Error(\"Unsupported version number: \".concat(version));\n }\n });\n var config = browsers.reduce(function (cfg, _ref2) {\n var vendor = _ref2.vendor,\n operator = _ref2.operator,\n version = _ref2.version;\n cfg[vendor] = \"\".concat(operator).concat(version);\n return cfg;\n }, {});\n return browser.satisfies(config) || false;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"sanitizeString\", {\n enumerable: true,\n get: function get() {\n return _sanitizeString.default;\n }\n});\nObject.defineProperty(exports, \"isValidEmail\", {\n enumerable: true,\n get: function get() {\n return _isValidEmail.default;\n }\n});\nObject.defineProperty(exports, \"createURL\", {\n enumerable: true,\n get: function get() {\n return _createURL.default;\n }\n});\nObject.defineProperty(exports, \"deepFreeze\", {\n enumerable: true,\n get: function get() {\n return _deepFreeze.default;\n }\n});\nObject.defineProperty(exports, \"S3Uploader\", {\n enumerable: true,\n get: function get() {\n return _S3Uploader.default;\n }\n});\nObject.defineProperty(exports, \"getClientEnvironmentDetails\", {\n enumerable: true,\n get: function get() {\n return _environment.getClientEnvironmentDetails;\n }\n});\nObject.defineProperty(exports, \"isBrowserSupported\", {\n enumerable: true,\n get: function get() {\n return _environment.isBrowserSupported;\n }\n});\nObject.defineProperty(exports, \"SupportedBrowserVendors\", {\n enumerable: true,\n get: function get() {\n return _environment.SupportedBrowserVendors;\n }\n});\nObject.defineProperty(exports, \"SupportedBrowsers\", {\n enumerable: true,\n get: function get() {\n return _environment.SupportedBrowsers;\n }\n});\nObject.defineProperty(exports, \"VersionOperators\", {\n enumerable: true,\n get: function get() {\n return _environment.VersionOperators;\n }\n});\nObject.defineProperty(exports, \"PackageType\", {\n enumerable: true,\n get: function get() {\n return _billing.PackageType;\n }\n});\nObject.defineProperty(exports, \"isAnnualPackage\", {\n enumerable: true,\n get: function get() {\n return _billing.isAnnualPackage;\n }\n});\nObject.defineProperty(exports, \"isBasicPackage\", {\n enumerable: true,\n get: function get() {\n return _billing.isBasicPackage;\n }\n});\nObject.defineProperty(exports, \"isEnterprisePackage\", {\n enumerable: true,\n get: function get() {\n return _billing.isEnterprisePackage;\n }\n});\nObject.defineProperty(exports, \"isTeamPackage\", {\n enumerable: true,\n get: function get() {\n return _billing.isTeamPackage;\n }\n});\nObject.defineProperty(exports, \"createMock\", {\n enumerable: true,\n get: function get() {\n return _tsAutoMock.createMock;\n }\n});\nObject.defineProperty(exports, \"PartialDeep\", {\n enumerable: true,\n get: function get() {\n return _tsAutoMock.PartialDeep;\n }\n});\n\nvar _sanitizeString = _interopRequireDefault(require(\"./string/sanitizeString\"));\n\nvar _isValidEmail = _interopRequireDefault(require(\"./string/isValidEmail\"));\n\nvar _createURL = _interopRequireDefault(require(\"./url/createURL\"));\n\nvar _deepFreeze = _interopRequireDefault(require(\"./object/deepFreeze\"));\n\nvar _S3Uploader = _interopRequireDefault(require(\"./S3Uploader/S3Uploader\"));\n\nvar _environment = require(\"./environment\");\n\nvar _billing = require(\"./billing\");\n\nvar _tsAutoMock = require(\"./ts-auto-mock\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = deepFreeze;\n/**\n * Freezes the object\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\nfunction deepFreeze(o) {\n Object.freeze(o);\n Object.getOwnPropertyNames(o).forEach(function (prop) {\n if (Object.hasOwnProperty.call(o, prop) && o[prop] !== null && (typeof o[prop] === 'object' || typeof o[prop] === 'function') && !Object.isFrozen(o[prop])) {\n deepFreeze(o[prop]);\n }\n });\n return o;\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isValidEmail;\n/**\n * Validates if the input is an email or not\n * @param {string} email\n * @returns {boolean} Is email valid\n * @memberof module:@sm/utils\n */\n\nfunction isValidEmail(email) {\n var re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(String(email).toLowerCase());\n}\n\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _dompurify = _interopRequireWildcard(require(\"dompurify\"));\n\nvar _environment = require(\"../environment\");\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\n\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj.default = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nvar stringSanitize = _dompurify.sanitize;\n\nif ((0, _environment.getClientEnvironmentDetails)().isNode) {\n var _require = require('jsdom'),\n JSDOM = _require.JSDOM; // eslint-disable-line\n\n\n var _JSDOM = new JSDOM(''),\n window = _JSDOM.window;\n\n var DOMPurify = (0, _dompurify.default)(window);\n stringSanitize = DOMPurify.sanitize;\n}\n\nvar _default = stringSanitize;\nexports.default = _default;\nmodule.exports = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createMock = createMock;\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n/* eslint-disable @typescript-eslint/ban-types */\n// PartialDeep implementation comes from https://github.com/Typescript-TDD/ts-auto-mock/blob/master/src/partial/partial.ts\n\n/**\nSame as `PartialDeep`, but accepts only `Map`s and as inputs. Internal helper for `PartialDeep`.\n */\n\n/**\nSame as `PartialDeep`, but accepts only `Set`s as inputs. Internal helper for `PartialDeep`.\n */\n\n/**\nSame as `PartialDeep`, but accepts only `ReadonlyMap`s as inputs. Internal helper for `PartialDeep`.\n */\n\n/**\nSame as `PartialDeep`, but accepts only `ReadonlySet`s as inputs. Internal helper for `PartialDeep`.\n */\n\n/**\nSame as `PartialDeep`, but accepts only `object`s as inputs. Internal helper for `PartialDeep`.\n */\n\n\nfunction createMock(overrides) {\n return _objectSpread({}, overrides);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createURL;\n/**\n * Creates a url from base and params\n * @param {string} url\n * @param {Object} [params] Query string params\n * @returns {string} url\n * @memberof module:@sm/utils\n */\n\nfunction createURL(url, params) {\n if (!params || typeof params !== 'object' || Object.keys(params).length === 0) return url;\n var queryString = Object.keys(params).map(function (key) {\n return \"\".concat(encodeURIComponent(key), \"=\").concat(encodeURIComponent(params[key]));\n }).join('&');\n var queryURL = \"\".concat(url, \"?\").concat(queryString);\n return queryURL;\n}\n\nmodule.exports = exports.default;"],"names":["Object","defineProperty","exports","value","default","createBrowserApolloClient","_ref","fragmentMatcherFn","metadata","pageRequestId","_ref$cacheHydration","cacheHydration","_ref$uri","uri","_ref$linkOptions","linkOptions","_ref$devToolsEnabled","devToolsEnabled","_ref$availableLoggedO","availableLoggedOutPaths","authLink","appName","appVersion","cache","_apolloCacheInmemory","InMemoryCache","fragmentMatcher","restore","_linkOptions$headers","headers","otherLinkOptions","_objectWithoutProperties","source","excluded","key","i","target","_objectWithoutPropertiesLoose","sourceKeys","keys","length","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call","apolloLinkMemoizeCache","link","_apolloLink","ApolloLink","operation","_operation$getContext","_operation$getContext2","targetPath","getContext","graphQLPath","includes","apolloLinkFactory","arguments","undefined","DEFAULT_TARGET_PATH","_apolloLinkBatchHttp","BatchHttpLink","_objectSpread","DEFAULT_LINK_OPTIONS","concat","request","Observable","of","_apolloClient","connectToDevTools","name","version","_interopRequireDefault","obj","__esModule","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","configurable","writable","credentials","batchInterval","module","dateTimeFormat","isBrowser","getClientEnvironmentDetails","numberFormat","reduce","acc","style","currency","timeZone","Intl","DateTimeFormat","resolvedOptions","err","window","setTimeout","_default","number","dateTime","relativeTime","substitute","defineMessages","v","t","desc","values","opts","id","defaultMessage","html","getHTML","get","T","FormattedDateTime","props","_options$currentLocal","restProps","_excluded","options","getOptionsObject","currentLocale","_formats","format","FormattedNumber","_options$currentLocal2","_excluded2","formatStyle","NumberFormat","_react","_interopRequireWildcard","nodeInterop","_getRequireWildcardCache","has","newObj","hasPropertyDescriptor","hasOwnProperty","set","_propTypes","_intlMessageformat","_escapeHtml","_lodash","_utils","_locale","_intlRelativeformat","WeakMap","cacheBabelInterop","cacheNodeInterop","_defineProperties","descriptor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_createSuperInternal","result","Super","_getPrototypeOf","NewTarget","this","constructor","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","getPrototypeOf","_slicedToArray","arr","_arrayWithHoles","Array","isArray","_iterableToArrayLimit","_i","Symbol","iterator","_s","_e","_arr","_n","_d","next","done","_unsupportedIterableToArray","_nonIterableRest","TypeError","_toConsumableArray","_arrayWithoutHoles","_arrayLikeToArray","_iterableToArray","iter","from","_nonIterableSpread","minLen","n","toString","slice","test","len","arr2","intlRelativeFormat","INTL_OPT_KEY","INTL_MSG_STORE_KEY","getStore","glob","g","getDefaultOptions","warningHandler","console","warn","bind","escapeHtml","randomStr","N","map","Math","random","join","keysOf","replacer","elements","part","message","variables","counter","vars","msg","uid","abs","hashInput","input","hash","charCodeAt","JSON","stringify","tokenDelimiter","tokenizedValues","generateToken","isValidElement","token","isString","s","String","formats","context","error","stack","exhausted","runningIndex","match","substr","_ref2","matched","tag","matchIndex","index","popped","pop","content","substring","replace","children","split","element","cloneElement","tokenReplacement","invariant","_getOptionsObject","messages","el","createElement","dangerouslySetInnerHTML","__html","defaultMsg","d","defineIntlRelativeFormat","currentLanguage","ReactIntlLocaleData","localeData","__addLocaleData","initIntl","messageStore","langInited","propTypes","shape","string","isRequired","description","objectOf","any","bool","defaultProps","L10NContext","createContext","isRTL","RTLLanguageCodes","LANGUAGES","l","code","L10nProvider","_React$Component","_inherits","subClass","superClass","create","_super","_this","_classCallCheck","instance","Constructor","state","localeCode","languageCode","getMessages","isNode","_createClass","protoProps","staticProps","componentDidUpdate","prevProps","setState","localeMessages","render","Provider","__self","__source","fileName","lineNumber","columnNumber","Component","node","getDataCenterById","getDataCenterIdFromCurrentUrl","url","dataCenterAffinityCookie","subdomain","parseResult","_parseDomain","parseDomain","fromUrl","dataCenterId","DataCenterIds","US","type","ParseResultType","Listed","subDomains","dcSub","_dataCenters","dataCenterSpecificSubdomains","find","subSpecific","endsWith","CA","getDefaultSubdomainForDataCenter","dc","defaultSubdomain","DC_SPECIFIC_SUBDOMAINS","dataCenters","EU","sanitizeCountryCode","isGDPRCountry","country","_localeSets","GDPRCountryCodes","CountryCodes","GB","isDACHCountry","DASHCountryCodes","isGBCountry","GBCountryCodes","isUSTerritory","USTerritoryCountryCodes","isEUCountry","EUCountryCodes","isEUDC","hostname","isEUSubdomain","getEUCountries","getCookieTransportTLDs","_tlds","tld","enabled","getAudienceSupportedCountries","AU","NZ","SG","IE","getBenchmarksSupportedCountries","getSMSupportedCountries","SMSupportedCountryCodes","getSiteSupportedLanguages","getLanguageCodeFromCountryCode","language","_languages","lang","countries","getLanguageCodeFromSubdomain","LANGUAGES_WITH_SUBDOMAINS","getSubdomainFromLanguageCodeAndDataCenter","LANGUAGES_BY_CODE","getSiteSupportedLanguageCodes","getTldLanguageInfo","data","LANGUAGES_BY_ID","localeSets","GDPR_COUNTRIES","SM_SUPPORTED_COUNTRIES","EU_COUNTRIES","US_TERRITORIES","GB_COUNTRIES","DASH_COUNTRIES","fallBackCountry","isTwoLetterCode","c","toUpperCase","supportLevel","SupportLevels","SITE_WIDE","SURVEY_CREATION","codeIETF","displayName","helplink","displayOrder","LANGUAGES_BY_ID_REC","LANGUAGES_BY_CODE_REC","LANGUAGES_WITH_SUBDOMAINS_REC","freeze","AT","BE","BG","CH","CY","CZ","DE","DK","EE","ES","FI","FR","GR","HR","HU","IM","IT","LT","LU","LV","MC","MT","NL","PL","PT","RO","SE","SI","SK","IS","LI","NO","GG","GI","GS","JE","GU","PR","UM","VI","AE","AR","BR","FO","GL","AD","AL","AX","BA","BY","GF","GP","MD","ME","MF","MK","MQ","PM","RE","RS","RU","SM","TF","TR","UA","VA","YT","HK","IN","JP","KR","MX","TW","AF","AG","AI","AM","AN","AO","AQ","AS","AW","AZ","BB","BD","BF","BH","BI","BJ","BL","BM","BN","BO","BS","BT","BV","BW","BZ","CC","CD","CF","CG","CI","CK","CL","CM","CN","CO","CR","CV","CX","DJ","DM","DO","DZ","EC","EG","EH","ER","ET","FJ","FK","FM","GA","GD","GE","GH","GM","GN","GQ","GT","GW","GY","HM","HN","HT","ID","IL","IO","IQ","JM","JO","KE","KG","KH","KI","KM","KN","KP","KW","KY","KZ","LA","LB","LC","LK","LR","LS","LY","MA","MG","MH","ML","MM","MN","MO","MP","MR","MS","MU","MV","MW","MY","MZ","NA","NC","NE","NF","NG","NI","NP","NR","NU","OM","PA","PE","PF","PG","PH","PK","PN","PS","PW","PY","QA","RW","SA","SB","SC","SH","SJ","SL","SN","SO","SR","ST","SV","SY","SZ","TC","TD","TG","TH","TJ","TK","TL","TM","TN","TO","TT","TV","TZ","UG","UY","UZ","VC","VE","VG","VN","VU","WF","WS","YE","ZM","ZW","ZA","getCleanDigitalData","setupRoot","GLOBAL_KEY","root","subscribers","automaticSubscribers","config","user","isAuthenticated","dataAnalyticsAPIPath","loggingAPIPath","legacyWeb","gtmId","digitalData","getRoot","createMetricsTracker","_enums","_helpers","userId","page","pageInfo","pageId","attributes","pathname","events","components","ep201","getCookieValue","ep202","Error","initialize","reset","update","updateUserConfig","userConfigUpdate","getSubscribers","getAutomaticSubscribers","track","event","_event$data","_event$data2","_event$data2$data","maskedEvent","email","maskEmail","COMPONENT_ADD","PAGE_VIEW","VIRTUAL_PAGE_VIEW","pageViewMutation","subscriber","automaticTrack","addSubscriber","addAutomaticSubscriber","getConfig","getDigitalData","generateMetricsAttribute","eventData","ELEMENT_INTERACTION","MetricsTracker","_BaseMetricsTracker","_DataAnalyticsMetricsSubscriber","_LoggingMetricsSubscriber","_GTMMeticsSubscriber","_FacebookPixelSubscriber","_AmplitudeSubscriber","delegatedEvents","setupEvents","on","gce","currentTarget","metricsData","getAttribute","metricsDataJSON","parse","setupAutomaticEvents","clickableLinks","inputTarget","actionType","actionFlow","class","className","text","innerText","checked","cloneDigitalData","newDigitalData","maskString","str","_","a","b","_MetricsTracker","_PageMetricsProvider","_ComponentMetricsProvider","_SPARouteMetricsProvider","_types","MetricsTrackerType","GTMEventData","ComponentMetricsProvider","_ref$attributes","_ref$disableDA","disableDA","USER_EVENTS","componentName","PageMetricsProvider","GDPR","_GDPR$hasGDPRConsent","hasGDPRConsent","_user$id","_user$package","package","packageId","_user$email","useEffect","SPARouteMetricsProvider","countryCode","amplitudeSubscriber","digitalDataEvent","_amplitudeRequire$def","amplitudeToken","overrideOneTrust","amplitudeEvent","blockedByOneTrust","_parseOneTrustCookie","parseOneTrustCookie","hasOneTrustCookie","oneTrustGroups","groups","teamId","languageId","amplitudeRequire","amplitude","amplitudeInstance","getInstance","init","includeReferrer","setGroup","setUserId","userProps","CORE_USER_PROPS_KEYS","CORE_USER_PROPS","setUserProperties","clearStorage","logEvent","packageName","subscriptionStatus","dataAnalyticsMetricsSubscriber","metricsTrackerConfig","eventMeta","ui_event","ui_goal","origin","legacy_web","location","href","fetch","method","body","meta","facebookPixelSubscriber","ReactPixel","_JSON$parse","isValidURL","whiteListedURLs","some","pattern","USER_METADATA","pageView","gtmMetricsSubscriber","gtmDataLayer","pagePath","dataLayer","gtm","eventObj","loadMarketingContainer","user_id","package_id","country_code","virtualPageUrl","virtualPageTitle","GDPR_ACTION","loggingMetricsSubscriber","logEventData","log","bodyRequestObject","USER_SUBSCRIPTION_STATUS","cookieValue","retVal","keyValues","keyVal","piece","decodeURIComponent","shift","group","tokens","cname","defaultValue","ca","document","cookie","charAt","_s3upload","DEFAULT_OPTIONS","preprocess","file","onSignedUrl","onProgress","onFinish","onError","signingUrl","scrubFilename","filename","s3path","autoUpload","S3Uploader","myUploader","uploadFile","abort","abortUpload","PackageType","isTeamPackage","isEnterprisePackage","isBasicPackage","isAnnualPackage","packageID","ENTERPRISE_PLATINUM","ENTERPRISE","STANDARD_ANNUAL","ADVANTAGE_ANNUAL","PREMIER_ANNUAL","TEAM_ADVANTAGE_ANNUAL","TEAM_PREMIER_ANNUAL","BASIC","ENT_GOLD","ENTERPRISE_CONTRIBUTOR_SEAT","userAgent","environmentDetails","userAgentTracker","_initialize","isBrowserSupported","supportedBrowsers","browser","_bowser","getParser","browsers","defaultSupportedBrowsers","cfg","vendor","operator","satisfies","SupportedBrowserVendors","isDesktop","isHeadlessChrome","isMobile","isTablet","isIOS","isAndroid","clientWindowSize","width","height","ua","__LOAD_PAYLOAD_CACHE__","clientWidth","clientHeight","navigator","inspectAgent","Chrome","Firefox","Safari","Edge","_sanitizeString","_isValidEmail","_createURL","_deepFreeze","_S3Uploader","_environment","SupportedBrowsers","VersionOperators","_billing","_tsAutoMock","createMock","PartialDeep","deepFreeze","getOwnPropertyNames","prop","isFrozen","isValidEmail","toLowerCase","_dompurify","stringSanitize","sanitize","JSDOM","overrides","createURL","params","queryString","encodeURIComponent"],"sourceRoot":""}