@paynext/sdk 0.0.135 → 0.0.137
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_headers +21 -0
- package/dist/index.d.ts +73 -268
- package/dist/index.es.js +100 -27364
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +1 -823
- package/dist/index.umd.js.map +1 -1
- package/package.json +52 -37
- package/dist/_commonjs-dynamic-modules-C4BgavC4.js +0 -11
- package/dist/_commonjs-dynamic-modules-C4BgavC4.js.map +0 -1
- package/dist/assets/index.css +0 -1
- package/dist/client-Cz7Nq-cT.js +0 -1701
- package/dist/client-Cz7Nq-cT.js.map +0 -1
- package/dist/data-collector-DPBfun3X.js +0 -713
- package/dist/data-collector-DPBfun3X.js.map +0 -1
- package/dist/evervault-js-37KtqVz5.js +0 -55
- package/dist/evervault-js-37KtqVz5.js.map +0 -1
- package/dist/index-C6qOiJ-j.js +0 -5
- package/dist/index-C6qOiJ-j.js.map +0 -1
- package/dist/paypal-js-DZ6k5L_e.js +0 -131
- package/dist/paypal-js-DZ6k5L_e.js.map +0 -1
- package/dist/venmo-Dybrh4_x.js +0 -2920
- package/dist/venmo-Dybrh4_x.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client-Cz7Nq-cT.js","sources":["../node_modules/braintree-web/dist/browser/client.js"],"sourcesContent":["(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}(g.braintree || (g.braintree = {})).client = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(_dereq_,module,exports){\n\"use strict\";\nvar scriptPromiseCache = {};\nfunction loadScript(options) {\n var scriptLoadPromise;\n var stringifiedOptions = JSON.stringify(options);\n if (!options.forceScriptReload) {\n scriptLoadPromise = scriptPromiseCache[stringifiedOptions];\n if (scriptLoadPromise) {\n return scriptLoadPromise;\n }\n }\n var script = document.createElement(\"script\");\n var attrs = options.dataAttributes || {};\n var container = options.container || document.head;\n script.src = options.src;\n script.id = options.id || \"\";\n script.async = true;\n if (options.type) {\n script.setAttribute(\"type\", \"\".concat(options.type));\n }\n if (options.crossorigin) {\n script.setAttribute(\"crossorigin\", \"\".concat(options.crossorigin));\n }\n if (options.integrity) {\n script.setAttribute(\"integrity\", \"\".concat(options.integrity));\n }\n Object.keys(attrs).forEach(function (key) {\n script.setAttribute(\"data-\".concat(key), \"\".concat(attrs[key]));\n });\n scriptLoadPromise = new Promise(function (resolve, reject) {\n script.addEventListener(\"load\", function () {\n resolve(script);\n });\n script.addEventListener(\"error\", function () {\n reject(new Error(\"\".concat(options.src, \" failed to load.\")));\n });\n script.addEventListener(\"abort\", function () {\n reject(new Error(\"\".concat(options.src, \" has aborted.\")));\n });\n container.appendChild(script);\n });\n scriptPromiseCache[stringifiedOptions] = scriptLoadPromise;\n return scriptLoadPromise;\n}\nloadScript.clearCache = function () {\n scriptPromiseCache = {};\n};\nmodule.exports = loadScript;\n\n},{}],2:[function(_dereq_,module,exports){\nmodule.exports = _dereq_(\"./dist/load-script\");\n\n},{\"./dist/load-script\":1}],3:[function(_dereq_,module,exports){\n\"use strict\";\n\nfunction uuid() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n var r = (Math.random() * 16) | 0;\n var v = c === \"x\" ? r : (r & 0x3) | 0x8;\n\n return v.toString(16);\n });\n}\n\nmodule.exports = uuid;\n\n},{}],4:[function(_dereq_,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction deferred(fn) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n setTimeout(function () {\n try {\n fn.apply(void 0, args);\n }\n catch (err) {\n /* eslint-disable no-console */\n console.log(\"Error in callback function\");\n console.log(err);\n /* eslint-enable no-console */\n }\n }, 1);\n };\n}\nexports.deferred = deferred;\n\n},{}],5:[function(_dereq_,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction once(fn) {\n var called = false;\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!called) {\n called = true;\n fn.apply(void 0, args);\n }\n };\n}\nexports.once = once;\n\n},{}],6:[function(_dereq_,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/* eslint-disable consistent-return */\nfunction promiseOrCallback(promise, callback) {\n if (!callback) {\n return promise;\n }\n promise.then(function (data) { return callback(null, data); }).catch(function (err) { return callback(err); });\n}\nexports.promiseOrCallback = promiseOrCallback;\n\n},{}],7:[function(_dereq_,module,exports){\n\"use strict\";\nvar deferred_1 = _dereq_(\"./lib/deferred\");\nvar once_1 = _dereq_(\"./lib/once\");\nvar promise_or_callback_1 = _dereq_(\"./lib/promise-or-callback\");\nfunction wrapPromise(fn) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var callback;\n var lastArg = args[args.length - 1];\n if (typeof lastArg === \"function\") {\n callback = args.pop();\n callback = once_1.once(deferred_1.deferred(callback));\n }\n // I know, I know, this looks bad. But it's a quirk of the library that\n // we need to allow passing the this context to the original function\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore: this has an implicit any\n return promise_or_callback_1.promiseOrCallback(fn.apply(this, args), callback); // eslint-disable-line no-invalid-this\n };\n}\nwrapPromise.wrapPrototype = function (target, options) {\n if (options === void 0) { options = {}; }\n var ignoreMethods = options.ignoreMethods || [];\n var includePrivateMethods = options.transformPrivateMethods === true;\n var methods = Object.getOwnPropertyNames(target.prototype).filter(function (method) {\n var isNotPrivateMethod;\n var isNonConstructorFunction = method !== \"constructor\" &&\n typeof target.prototype[method] === \"function\";\n var isNotAnIgnoredMethod = ignoreMethods.indexOf(method) === -1;\n if (includePrivateMethods) {\n isNotPrivateMethod = true;\n }\n else {\n isNotPrivateMethod = method.charAt(0) !== \"_\";\n }\n return (isNonConstructorFunction && isNotPrivateMethod && isNotAnIgnoredMethod);\n });\n methods.forEach(function (method) {\n var original = target.prototype[method];\n target.prototype[method] = wrapPromise(original);\n });\n return target;\n};\nmodule.exports = wrapPromise;\n\n},{\"./lib/deferred\":4,\"./lib/once\":5,\"./lib/promise-or-callback\":6}],8:[function(_dereq_,module,exports){\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.loadAxo = {}));\n})(this, (function (exports) { 'use strict';\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation.\r\n\r\n Permission to use, copy, modify, and/or distribute this software for any\r\n purpose with or without fee is hereby granted.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n PERFORMANCE OF THIS SOFTWARE.\r\n ***************************************************************************** */\r\n /* global Reflect, Promise */\r\n\r\n\r\n function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n }\r\n\r\n function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n }\n\n var dist = {};\n\n var scriptPromiseCache = {};\n function loadScript$1(options) {\n var scriptLoadPromise;\n var stringifiedOptions = JSON.stringify(options);\n if (!options.forceScriptReload) {\n scriptLoadPromise = scriptPromiseCache[stringifiedOptions];\n if (scriptLoadPromise) {\n return scriptLoadPromise;\n }\n }\n var script = document.createElement(\"script\");\n var attrs = options.dataAttributes || {};\n var container = options.container || document.head;\n script.src = options.src;\n script.id = options.id || \"\";\n script.async = true;\n if (options.type) {\n script.setAttribute(\"type\", \"\".concat(options.type));\n }\n if (options.crossorigin) {\n script.setAttribute(\"crossorigin\", \"\".concat(options.crossorigin));\n }\n Object.keys(attrs).forEach(function (key) {\n script.setAttribute(\"data-\".concat(key), \"\".concat(attrs[key]));\n });\n scriptLoadPromise = new Promise(function (resolve, reject) {\n script.addEventListener(\"load\", function () {\n resolve(script);\n });\n script.addEventListener(\"error\", function () {\n reject(new Error(\"\".concat(options.src, \" failed to load.\")));\n });\n script.addEventListener(\"abort\", function () {\n reject(new Error(\"\".concat(options.src, \" has aborted.\")));\n });\n container.appendChild(script);\n });\n scriptPromiseCache[stringifiedOptions] = scriptLoadPromise;\n return scriptLoadPromise;\n }\n loadScript$1.clearCache = function () {\n scriptPromiseCache = {};\n };\n var loadScript_1$1 = loadScript$1;\n\n var loadStylesheet$1 = function loadStylesheet(options) {\n var stylesheet = document.querySelector(\"link[href=\\\"\".concat(options.href, \"\\\"]\"));\n if (stylesheet) {\n return Promise.resolve(stylesheet);\n }\n stylesheet = document.createElement(\"link\");\n var container = options.container || document.head;\n stylesheet.setAttribute(\"rel\", \"stylesheet\");\n stylesheet.setAttribute(\"type\", \"text/css\");\n stylesheet.setAttribute(\"href\", options.href);\n stylesheet.setAttribute(\"id\", options.id);\n if (container.firstChild) {\n container.insertBefore(stylesheet, container.firstChild);\n }\n else {\n container.appendChild(stylesheet);\n }\n return Promise.resolve(stylesheet);\n };\n\n Object.defineProperty(dist, \"__esModule\", { value: true });\n dist.loadStylesheet = loadScript_1 = dist.loadScript = void 0;\n var loadScript = loadScript_1$1;\n var loadScript_1 = dist.loadScript = loadScript;\n var loadStylesheet = loadStylesheet$1;\n dist.loadStylesheet = loadStylesheet;\n\n var CDNX_PROD = \"https://www.paypalobjects.com\";\n var ASSET_NAME = {\n minified: \"axo.min\",\n unminified: \"axo\",\n };\n var FL_NAMESPACE = \"fastlane\";\n var ASSET_PATH = \"connect-boba\";\n var LOCALE_PATH = \"\".concat(ASSET_PATH, \"/locales/\");\n var constants = {\n AXO_ASSET_NAME: ASSET_NAME,\n AXO_ASSET_PATH: ASSET_PATH,\n LOCALE_PATH: LOCALE_PATH,\n CDNX_PROD: CDNX_PROD,\n };\n\n var AxoSupportedPlatforms = {\n BT: \"BT\",\n PPCP: \"PPCP\",\n };\n\n /**\n * Checks if the current environment is an AMD environment.\n *\n * @returns {boolean} True if the environment is AMD, false otherwise.\n */\n function isAmdEnv() {\n return typeof window.define === \"function\" && !!window.define.amd;\n }\n /**\n * Checks if the current environment is a RequireJS environment.\n *\n * @returns {boolean} True if the environment is RequireJS, false otherwise.\n */\n function isRequireJsEnv() {\n return (isAmdEnv() &&\n typeof window.requirejs === \"function\" &&\n typeof window.requirejs.config === \"function\");\n }\n\n /**\n * Safely loads BT modules by checking if the module already exists and verifying if versions mismatch\n *\n * @param loadConfig <BtModuleLoadConfig> Configuration of BT Module to load\n * @param version <string> version that should be passed from the client getVersion\n * @returns Promise<HTMLScriptElement>\n * @returns Promise<true> when BT module with same version already exists\n * @returns Promise.reject(err) when BT module already exists but versions mismatch or empty version passed in\n */\n function safeLoadBtModule(loadConfig, version, minified) {\n var _a, _b;\n if (minified === void 0) { minified = true; }\n return __awaiter(this, void 0, void 0, function () {\n var bt, existingVersion;\n return __generator(this, function (_c) {\n bt = getBraintree();\n if (bt && bt[loadConfig.module]) {\n if (version && ((_a = bt[loadConfig.module]) === null || _a === void 0 ? void 0 : _a.VERSION) !== version) {\n existingVersion = (_b = bt[loadConfig.module]) === null || _b === void 0 ? void 0 : _b.VERSION;\n throw new Error(\"\".concat(loadConfig.module, \" already loaded with version \").concat(existingVersion, \" cannot load version \").concat(version));\n }\n else {\n return [2 /*return*/, true];\n }\n }\n if (!version) {\n throw new Error(\"Attempted to load \".concat(loadConfig.module, \" without specifying version\"));\n }\n return [2 /*return*/, loadBtModule(loadConfig, version, minified)];\n });\n });\n }\n /**\n * Reads the version and to load the correct version of Bt module\n *\n * @param loadConfig <BtModuleLoadConfig> Configuration of BT Module to load\n * @param version <string> Bt module version\n * @returns Promise<HTMLScriptElement> or\n */\n function loadBtModule(loadConfig, version, minified) {\n if (minified === void 0) { minified = true; }\n if (isAmdEnv()) {\n var module_1 = minified\n ? loadConfig.amdModule.minified\n : loadConfig.amdModule.unminified;\n return new Promise(function (resolve, reject) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n window.require([module_1], resolve, reject);\n });\n }\n var script = minified\n ? loadConfig.script.minified\n : loadConfig.script.unminified;\n return loadScript_1({\n id: \"\".concat(loadConfig.id, \"-\").concat(version),\n src: \"https://js.braintreegateway.com/web/\".concat(version, \"/js/\").concat(script),\n });\n }\n /**\n * Looks for the Braintree web sdk on the window object\n *\n * @returns Braintree web sdk\n */\n function getBraintree() {\n return window === null || window === void 0 ? void 0 : window.braintree;\n }\n\n var _a, _b;\n /**\n * Maps to the BT module namespace created on the window.braintree object\n */\n var BtModule = {\n Client: \"client\",\n HostedCardFields: \"hostedFields\",\n };\n var BT_NAMESPACE = \"braintree\";\n var BT_ASSET_NAME = (_a = {},\n _a[BtModule.Client] = \"client\",\n _a[BtModule.HostedCardFields] = \"hosted-fields\",\n _a);\n var btModulesLoadConfig = (_b = {},\n _b[BtModule.Client] = {\n id: \"client\",\n module: BtModule.Client,\n amdModule: {\n unminified: \"\".concat(BT_NAMESPACE, \"/\").concat(BT_ASSET_NAME[BtModule.Client]),\n minified: \"\".concat(BT_NAMESPACE, \"/\").concat(BT_ASSET_NAME[BtModule.Client], \".min\"),\n },\n script: {\n unminified: \"\".concat(BT_ASSET_NAME[BtModule.Client], \".js\"),\n minified: \"\".concat(BT_ASSET_NAME[BtModule.Client], \".min.js\"),\n },\n },\n _b[BtModule.HostedCardFields] = {\n id: \"hcf\",\n module: BtModule.HostedCardFields,\n amdModule: {\n unminified: \"\".concat(BT_NAMESPACE, \"/\").concat(BT_ASSET_NAME[BtModule.HostedCardFields]),\n minified: \"\".concat(BT_NAMESPACE, \"/\").concat(BT_ASSET_NAME[BtModule.HostedCardFields], \".min\"),\n },\n script: {\n unminified: \"\".concat(BT_ASSET_NAME[BtModule.HostedCardFields], \".js\"),\n minified: \"\".concat(BT_ASSET_NAME[BtModule.HostedCardFields], \".min.js\"),\n },\n },\n _b);\n\n /**\n * Loads accelerated checkout components.\n * @param options object with a minified parameter to determine if the script that is loaded should be minified or not (defaults to true if)\n * @returns an object with metadata with a localeUrl parameter to be read by AXO SDK\n */\n function loadAxo(options) {\n return __awaiter(this, void 0, void 0, function () {\n var btSdkVersion, minified, assetUrl, localeUrl;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n performance.mark(\"pp_axo_sdk_init_invoked\");\n btSdkVersion = options.btSdkVersion, minified = options.minified;\n assetUrl = getAssetsUrl(options);\n localeUrl = getLocaleUrl(options);\n if (!(options.platform === AxoSupportedPlatforms.BT)) return [3 /*break*/, 2];\n return [4 /*yield*/, Promise.all([\n safeLoadBtModule(btModulesLoadConfig.hostedFields, btSdkVersion, minified),\n loadAXOScript(assetUrl, minified),\n ])];\n case 1:\n _a.sent();\n return [3 /*break*/, 5];\n case 2:\n if (!(options.platform === AxoSupportedPlatforms.PPCP)) return [3 /*break*/, 4];\n return [4 /*yield*/, Promise.all([\n safeLoadBtModule(btModulesLoadConfig.client, btSdkVersion, minified),\n safeLoadBtModule(btModulesLoadConfig.hostedFields, btSdkVersion, minified),\n loadAXOScript(assetUrl, minified),\n ])];\n case 3:\n _a.sent();\n return [3 /*break*/, 5];\n case 4: throw new Error(\"unsupported axo platform\");\n case 5: return [2 /*return*/, { metadata: { localeUrl: localeUrl } }];\n }\n });\n });\n }\n /**\n * Reads the url and to load the axo bundle script\n * @param url (Required) string url for the correct axo asset\n * @returns Promise<HTMLScriptElement>\n */\n function loadAXOScript(url, minified) {\n var _a;\n if (minified === void 0) { minified = true; }\n if (isAmdEnv()) {\n // AMD environment\n if (isRequireJsEnv()) {\n // Let's configure RequireJS\n requirejs.config({\n paths: (_a = {},\n _a[FL_NAMESPACE] = url,\n _a),\n });\n }\n var moduleName_1 = \"\".concat(FL_NAMESPACE, \"/\").concat(minified\n ? constants.AXO_ASSET_NAME.minified\n : constants.AXO_ASSET_NAME.unminified);\n return new Promise(function (resolve, reject) {\n window.require([moduleName_1], resolve, reject);\n });\n }\n // Not an AMD environment\n return loadScript_1({\n id: \"axo-id\",\n src: url,\n forceScriptReload: true,\n });\n }\n /**\n * Prepends the domain to the asset url\n * @param options object with assetUrl and bundleid parameters to determine which URL to return\n * @returns full domain and assets URL as string\n */\n function generateAssetUrl(_a) {\n var assetUrl = _a.assetUrl, bundleId = _a.bundleId;\n return bundleId\n ? \"https://cdn-\".concat(bundleId, \".static.engineering.dev.paypalinc.com/\").concat(assetUrl)\n : \"\".concat(constants.CDNX_PROD, \"/\").concat(assetUrl);\n }\n /**\n * Retrieves either the minified or unminified assets URL as specified\n * @param options (Optional) object with a minified and metadata with bundleIdOverride parameters to determine which URL to return\n * @returns assets URL as string\n */\n function getAssetsUrl(options) {\n var _a;\n var assetName = (options === null || options === void 0 ? void 0 : options.minified) !== false\n ? constants.AXO_ASSET_NAME.minified\n : constants.AXO_ASSET_NAME.unminified;\n var assetUrl = isAmdEnv()\n ? constants.AXO_ASSET_PATH\n : \"\".concat(constants.AXO_ASSET_PATH, \"/\").concat(assetName, \".js\");\n return generateAssetUrl({\n assetUrl: assetUrl,\n bundleId: (_a = options === null || options === void 0 ? void 0 : options.metadata) === null || _a === void 0 ? void 0 : _a.bundleIdOverride,\n });\n }\n /**\n * Retrieves the Locales URL, the path to our language files\n * @param options (Optional) object with a minified and metadata with bundleIdOverride parameters to determine which URL to return\n * @returns locale URL as string\n */\n function getLocaleUrl(options) {\n var _a;\n return generateAssetUrl({\n assetUrl: constants.LOCALE_PATH,\n bundleId: (_a = options === null || options === void 0 ? void 0 : options.metadata) === null || _a === void 0 ? void 0 : _a.bundleIdOverride,\n });\n }\n\n exports.constants = constants;\n exports.loadAxo = loadAxo;\n\n}));\n\n},{}],9:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar BRAINTREE_VERSION = _dereq_(\"./constants\").BRAINTREE_VERSION;\n\nvar GraphQL = _dereq_(\"./request/graphql\");\nvar request = _dereq_(\"./request\");\nvar isVerifiedDomain = _dereq_(\"../lib/is-verified-domain\");\nvar BraintreeError = _dereq_(\"../lib/braintree-error\");\nvar convertToBraintreeError = _dereq_(\"../lib/convert-to-braintree-error\");\nvar getGatewayConfiguration = _dereq_(\"./get-configuration\").getConfiguration;\nvar createAuthorizationData = _dereq_(\"../lib/create-authorization-data\");\nvar metadata = _dereq_(\"../lib/add-metadata\");\nvar wrapPromise = _dereq_(\"@braintree/wrap-promise\");\nvar once = _dereq_(\"../lib/once\");\nvar deferred = _dereq_(\"../lib/deferred\");\nvar assign = _dereq_(\"../lib/assign\").assign;\nvar analytics = _dereq_(\"../lib/analytics\");\nvar errors = _dereq_(\"./errors\");\nvar VERSION = _dereq_(\"../lib/constants\").VERSION;\nvar GRAPHQL_URLS = _dereq_(\"../lib/constants\").GRAPHQL_URLS;\nvar methods = _dereq_(\"../lib/methods\");\nvar convertMethodsToError = _dereq_(\"../lib/convert-methods-to-error\");\nvar assets = _dereq_(\"../lib/assets\");\nvar FRAUDNET_FNCLS = _dereq_(\"../lib/constants\").FRAUDNET_FNCLS;\nvar FRAUDNET_SOURCE = _dereq_(\"../lib/constants\").FRAUDNET_SOURCE;\nvar FRAUDNET_URL = _dereq_(\"../lib/constants\").FRAUDNET_URL;\n\nvar cachedClients = {};\n\n/**\n * This object is returned by {@link Client#getConfiguration|getConfiguration}. This information is used extensively by other Braintree modules to properly configure themselves.\n * @typedef {object} Client~configuration\n * @property {object} client The braintree-web/client parameters.\n * @property {string} client.authorization A tokenizationKey or clientToken.\n * @property {object} gatewayConfiguration Gateway-supplied configuration.\n * @property {object} analyticsMetadata Analytics-specific data.\n * @property {string} analyticsMetadata.sessionId Uniquely identifies a browsing session.\n * @property {string} analyticsMetadata.sdkVersion The braintree.js version.\n * @property {string} analyticsMetadata.merchantAppId Identifies the merchant's web app.\n */\n\n/**\n * @class\n * @param {Client~configuration} configuration Options\n * @description <strong>Do not use this constructor directly. Use {@link module:braintree-web/client.create|braintree.client.create} instead.</strong>\n * @classdesc This class is required by many other Braintree components. It serves as the base API layer that communicates with our servers. It is also capable of being used to formulate direct calls to our servers, such as direct credit card tokenization. See {@link Client#request}.\n */\nfunction Client(configuration) {\n var configurationJSON, gatewayConfiguration;\n\n configuration = configuration || {};\n\n configurationJSON = JSON.stringify(configuration);\n gatewayConfiguration = configuration.gatewayConfiguration;\n\n if (!gatewayConfiguration) {\n throw new BraintreeError(errors.CLIENT_MISSING_GATEWAY_CONFIGURATION);\n }\n\n [\"assetsUrl\", \"clientApiUrl\", \"configUrl\"].forEach(function (property) {\n if (\n property in gatewayConfiguration &&\n !isVerifiedDomain(gatewayConfiguration[property])\n ) {\n throw new BraintreeError({\n type: errors.CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN.type,\n code: errors.CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN.code,\n message: property + \" property is on an invalid domain.\",\n });\n }\n });\n\n /**\n * Returns a copy of the configuration values.\n * @public\n * @returns {Client~configuration} configuration\n */\n this.getConfiguration = function () {\n return JSON.parse(configurationJSON);\n };\n\n this._request = request;\n this._configuration = this.getConfiguration();\n\n this._clientApiBaseUrl = gatewayConfiguration.clientApiUrl + \"/v1/\";\n\n if (gatewayConfiguration.graphQL) {\n if (!isVerifiedDomain(gatewayConfiguration.graphQL.url)) {\n throw new BraintreeError({\n type: errors.CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN.type,\n code: errors.CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN.code,\n message: \"graphQL.url property is on an invalid domain.\",\n });\n }\n\n this._graphQL = new GraphQL({\n graphQL: gatewayConfiguration.graphQL,\n });\n }\n}\n\nClient.initialize = function (options) {\n var clientInstance, authData;\n var promise = cachedClients[options.authorization];\n\n if (promise) {\n analytics.sendEvent(promise, \"custom.client.load.cached\");\n\n return promise;\n }\n\n try {\n authData = createAuthorizationData(options.authorization);\n // eslint-disable-next-line no-unused-vars\n } catch (err) {\n return Promise.reject(\n new BraintreeError(errors.CLIENT_INVALID_AUTHORIZATION)\n );\n }\n\n promise = getGatewayConfiguration(authData, options.sessionId).then(\n function (configuration) {\n if (options.debug) {\n configuration.isDebug = true;\n }\n\n configuration.authorization = options.authorization;\n\n clientInstance = new Client(configuration);\n\n return clientInstance;\n }\n );\n\n cachedClients[options.authorization] = promise;\n\n analytics.sendEvent(promise, \"custom.client.load.initialized\");\n\n return promise\n .then(function (client) {\n analytics.sendEvent(clientInstance, \"custom.client.load.succeeded\");\n\n return client;\n })\n .catch(function (err) {\n delete cachedClients[options.authorization];\n\n return Promise.reject(err);\n });\n};\n\n// Primarily used for testing the client initalization call\nClient.clearCache = function () {\n cachedClients = {};\n};\n\nClient.prototype._findOrCreateFraudnetJSON = function (clientMetadataId) {\n var el = document.querySelector('script[fncls=\"' + FRAUDNET_FNCLS + '\"]');\n var config, additionalData, authorizationFingerprint, parameters;\n\n if (!el) {\n el = document.body.appendChild(document.createElement(\"script\"));\n el.type = \"application/json\";\n el.setAttribute(\"fncls\", FRAUDNET_FNCLS);\n }\n\n config = this.getConfiguration();\n additionalData = {\n rda_tenant: \"bt_card\", // eslint-disable-line camelcase\n mid: config.gatewayConfiguration.merchantId,\n };\n authorizationFingerprint = config.authorizationFingerprint;\n\n if (authorizationFingerprint) {\n authorizationFingerprint.split(\"&\").forEach(function (pieces) {\n var component = pieces.split(\"=\");\n\n if (component[0] === \"customer_id\" && component.length > 1) {\n additionalData.cid = component[1];\n }\n });\n }\n\n parameters = {\n f: clientMetadataId.substr(0, 32),\n fp: additionalData,\n bu: false,\n s: FRAUDNET_SOURCE,\n };\n el.text = JSON.stringify(parameters);\n};\n\n/**\n * Used by other modules to formulate all network requests to the Braintree gateway. It is also capable of being used directly from your own form to tokenize credit card information. However, be sure to satisfy PCI compliance if you use direct card tokenization.\n * @public\n * @param {object} options Request options:\n * @param {string} options.method HTTP method, e.g. \"get\" or \"post\".\n * @param {string} options.endpoint Endpoint path, e.g. \"payment_methods\".\n * @param {object} options.data Data to send with the request.\n * @param {number} [options.timeout=60000] Set a timeout (in milliseconds) for the request.\n * @param {callback} [callback] The second argument, <code>data</code>, is the returned server data.\n * @example\n * <caption>Direct Credit Card Tokenization</caption>\n * var createClient = require('braintree-web/client').create;\n *\n * createClient({\n * authorization: CLIENT_AUTHORIZATION\n * }, function (createErr, clientInstance) {\n * var form = document.getElementById('my-form-id');\n * var data = {\n * creditCard: {\n * number: form['cc-number'].value,\n * cvv: form['cc-cvv'].value,\n * expirationDate: form['cc-expiration-date'].value,\n * billingAddress: {\n * postalCode: form['cc-postal-code'].value\n * },\n * options: {\n * validate: false\n * }\n * }\n * };\n *\n * // Warning: For a merchant to be eligible for the easiest level of PCI compliance (SAQ A),\n * // payment fields cannot be hosted on your checkout page.\n * // For an alternative to the following, use Hosted Fields.\n * clientInstance.request({\n * endpoint: 'payment_methods/credit_cards',\n * method: 'post',\n * data: data\n * }, function (requestErr, response) {\n * // More detailed example of handling API errors: https://codepen.io/braintree/pen/MbwjdM\n * if (requestErr) { throw new Error(requestErr); }\n *\n * console.log('Got nonce:', response.creditCards[0].nonce);\n * });\n * });\n * @example\n * <caption>Tokenizing Fields for AVS Checks</caption>\n * var createClient = require('braintree-web/client').create;\n *\n * createClient({\n * authorization: CLIENT_AUTHORIZATION\n * }, function (createErr, clientInstance) {\n * var form = document.getElementById('my-form-id');\n * var data = {\n * creditCard: {\n * number: form['cc-number'].value,\n * cvv: form['cc-cvv'].value,\n * expirationDate: form['cc-date'].value,\n * // The billing address can be checked with AVS rules.\n * // See: https://articles.braintreepayments.com/support/guides/fraud-tools/basic/avs-cvv-rules\n * billingAddress: {\n * postalCode: form['cc-postal-code'].value,\n * streetAddress: form['cc-street-address'].value,\n * countryName: form['cc-country-name'].value,\n * countryCodeAlpha2: form['cc-country-alpha2'].value,\n * countryCodeAlpha3: form['cc-country-alpha3'].value,\n * countryCodeNumeric: form['cc-country-numeric'].value\n * },\n * options: {\n * validate: false\n * }\n * }\n * };\n *\n * // Warning: For a merchant to be eligible for the easiest level of PCI compliance (SAQ A),\n * // payment fields cannot be hosted on your checkout page.\n * // For an alternative to the following, use Hosted Fields.\n * clientInstance.request({\n * endpoint: 'payment_methods/credit_cards',\n * method: 'post',\n * data: data\n * }, function (requestErr, response) {\n * // More detailed example of handling API errors: https://codepen.io/braintree/pen/MbwjdM\n * if (requestErr) { throw new Error(requestErr); }\n *\n * console.log('Got nonce:', response.creditCards[0].nonce);\n * });\n * });\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nClient.prototype.request = function (options, callback) {\n var self = this;\n var requestPromise = new Promise(function (resolve, reject) {\n var optionName, api, baseUrl, requestOptions;\n var shouldCollectData = Boolean(\n options.endpoint === \"payment_methods/credit_cards\" &&\n self.getConfiguration().gatewayConfiguration.creditCards\n .collectDeviceData\n );\n\n if (options.api !== \"graphQLApi\") {\n if (!options.method) {\n optionName = \"options.method\";\n } else if (!options.endpoint) {\n optionName = \"options.endpoint\";\n }\n }\n\n if (optionName) {\n throw new BraintreeError({\n type: errors.CLIENT_OPTION_REQUIRED.type,\n code: errors.CLIENT_OPTION_REQUIRED.code,\n message: optionName + \" is required when making a request.\",\n });\n }\n\n if (\"api\" in options) {\n api = options.api;\n } else {\n api = \"clientApi\";\n }\n\n requestOptions = {\n method: options.method,\n graphQL: self._graphQL,\n timeout: options.timeout,\n metadata: self._configuration.analyticsMetadata,\n };\n\n if (api === \"clientApi\") {\n baseUrl = self._clientApiBaseUrl;\n\n requestOptions.data = metadata.addMetadata(\n self._configuration,\n options.data\n );\n } else if (api === \"graphQLApi\") {\n baseUrl =\n GRAPHQL_URLS[self._configuration.gatewayConfiguration.environment];\n options.endpoint = \"\";\n requestOptions.method = \"post\";\n requestOptions.data = assign(\n {\n clientSdkMetadata: {\n platform: self._configuration.analyticsMetadata.platform,\n source: self._configuration.analyticsMetadata.source,\n integration: self._configuration.analyticsMetadata.integration,\n sessionId: self._configuration.analyticsMetadata.sessionId,\n version: VERSION,\n },\n },\n options.data\n );\n\n requestOptions.headers = getAuthorizationHeadersForGraphQL(\n self._configuration\n );\n } else {\n throw new BraintreeError({\n type: errors.CLIENT_OPTION_INVALID.type,\n code: errors.CLIENT_OPTION_INVALID.code,\n message: \"options.api is invalid.\",\n });\n }\n\n requestOptions.url = baseUrl + options.endpoint;\n requestOptions.sendAnalyticsEvent = function (kind) {\n analytics.sendEvent(self, kind);\n };\n\n self._request(requestOptions, function (err, data, status) {\n var resolvedData, requestError;\n\n requestError = formatRequestError(status, err);\n\n if (requestError) {\n reject(requestError);\n\n return;\n }\n\n if (api === \"graphQLApi\" && data.errors) {\n reject(\n convertToBraintreeError(data.errors, {\n type: errors.CLIENT_GRAPHQL_REQUEST_ERROR.type,\n code: errors.CLIENT_GRAPHQL_REQUEST_ERROR.code,\n message: errors.CLIENT_GRAPHQL_REQUEST_ERROR.message,\n })\n );\n\n return;\n }\n\n resolvedData = assign({ _httpStatus: status }, data);\n\n if (\n shouldCollectData &&\n resolvedData.creditCards &&\n resolvedData.creditCards.length > 0\n ) {\n self._findOrCreateFraudnetJSON(resolvedData.creditCards[0].nonce);\n\n assets.loadScript({\n src: FRAUDNET_URL,\n forceScriptReload: true,\n });\n }\n resolve(resolvedData);\n });\n });\n\n if (typeof callback === \"function\") {\n callback = once(deferred(callback));\n\n requestPromise\n .then(function (response) {\n callback(null, response, response._httpStatus);\n })\n .catch(function (err) {\n var status = err && err.details && err.details.httpStatus;\n\n callback(err, null, status);\n });\n\n return;\n }\n\n return requestPromise; // eslint-disable-line consistent-return\n};\n\n// eslint-disable-next-line consistent-return\nfunction formatRequestError(status, err) {\n var requestError;\n\n if (status === -1) {\n requestError = new BraintreeError(errors.CLIENT_REQUEST_TIMEOUT);\n } else if (status === 401) {\n requestError = new BraintreeError(errors.CLIENT_AUTHORIZATION_INVALID);\n } else if (status === 403) {\n requestError = new BraintreeError(errors.CLIENT_AUTHORIZATION_INSUFFICIENT);\n } else if (status === 429) {\n requestError = new BraintreeError(errors.CLIENT_RATE_LIMITED);\n } else if (status >= 500) {\n requestError = new BraintreeError(errors.CLIENT_GATEWAY_NETWORK);\n } else if (status < 200 || status >= 400) {\n requestError = convertToBraintreeError(err, {\n type: errors.CLIENT_REQUEST_ERROR.type,\n code: errors.CLIENT_REQUEST_ERROR.code,\n message: errors.CLIENT_REQUEST_ERROR.message,\n });\n }\n\n if (requestError) {\n requestError.details = requestError.details || {};\n requestError.details.httpStatus = status;\n\n return requestError;\n }\n}\n\nClient.prototype.toJSON = function () {\n return this.getConfiguration();\n};\n\n/**\n * Returns the Client version.\n * @public\n * @returns {String} The created client's version.\n * @example\n * var createClient = require('braintree-web/client').create;\n *\n * createClient({\n * authorization: CLIENT_AUTHORIZATION\n * }, function (createErr, clientInstance) {\n * console.log(clientInstance.getVersion()); // Ex: 1.0.0\n * });\n */\nClient.prototype.getVersion = function () {\n return VERSION;\n};\n\n/**\n * Cleanly tear down anything set up by {@link module:braintree-web/client.create|create}.\n * @public\n * @param {callback} [callback] Called once teardown is complete. No data is returned if teardown completes successfully.\n * @example\n * clientInstance.teardown();\n * @example <caption>With callback</caption>\n * clientInstance.teardown(function () {\n * // teardown is complete\n * });\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nClient.prototype.teardown = wrapPromise(function () {\n var self = this;\n\n delete cachedClients[self.getConfiguration().authorization];\n convertMethodsToError(self, methods(Client.prototype));\n\n return Promise.resolve();\n});\n\nfunction getAuthorizationHeadersForGraphQL(configuration) {\n var token =\n configuration.authorizationFingerprint || configuration.authorization;\n\n return {\n Authorization: \"Bearer \" + token,\n \"Braintree-Version\": BRAINTREE_VERSION,\n };\n}\n\nmodule.exports = Client;\n\n},{\"../lib/add-metadata\":29,\"../lib/analytics\":30,\"../lib/assets\":31,\"../lib/assign\":32,\"../lib/braintree-error\":33,\"../lib/constants\":34,\"../lib/convert-methods-to-error\":35,\"../lib/convert-to-braintree-error\":36,\"../lib/create-authorization-data\":37,\"../lib/deferred\":38,\"../lib/is-verified-domain\":43,\"../lib/methods\":45,\"../lib/once\":46,\"./constants\":10,\"./errors\":11,\"./get-configuration\":12,\"./request\":25,\"./request/graphql\":23,\"@braintree/wrap-promise\":7}],10:[function(_dereq_,module,exports){\n\"use strict\";\n\nmodule.exports = {\n BRAINTREE_VERSION: \"2018-05-10\",\n};\n\n},{}],11:[function(_dereq_,module,exports){\n\"use strict\";\n\n/**\n * @name BraintreeError.Client - Internal Error Codes\n * @ignore\n * @description These codes should never be experienced by the merchant directly.\n * @property {MERCHANT} CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN An error to prevent client creation for domains that are not allowed in the JS.\n * @property {INTERNAL} CLIENT_MISSING_GATEWAY_CONFIGURATION Occurs when the client is created without a gateway configuration. Should never happen.\n */\n\n/**\n * @name BraintreeError.Client - Create Error Codes\n * @description Errors that may occur when [creating the client](./module-braintree-web_client.html#.create)\n * @property {MERCHANT} CLIENT_INVALID_AUTHORIZATION Occurs when client token cannot be parsed.\n */\n\n/**\n * @name BraintreeError.Client - Request Error Codes\n * @description Errors that may occur when [using the request method](./Client.html#request)\n * @property {MERCHANT} CLIENT_OPTION_REQUIRED An option required in the request method was not provided. Usually `options.method` or `options.endpoint`\n * @property {MERCHANT} CLIENT_OPTION_INVALID The request option provided is invalid.\n * @property {MERCHANT} CLIENT_GATEWAY_NETWORK The Braintree gateway could not be contacted.\n * @property {NETWORK} CLIENT_REQUEST_TIMEOUT The request took too long to complete and timed out.\n * @property {NETWORK} CLIENT_REQUEST_ERROR The response from a request had status 400 or greater.\n * @property {NETWORK} CLIENT_GRAPHQL_REQUEST_ERROR The response from a request to GraphQL contained an error.\n * @property {MERCHANT} CLIENT_RATE_LIMITED The response from a request had a status of 429, indicating rate limiting.\n * @property {MERCHANT} CLIENT_AUTHORIZATION_INSUFFICIENT The user associated with the client token or tokenization key does not have permissions to make the request.\n * @property {MERCHANT} CLIENT_AUTHORIZATION_INVALID The provided authorization could not be found. Either the client token has expired and a new client token must be generated or the tokenization key used is set to be inactive or has been deleted.\n */\n\nvar BraintreeError = _dereq_(\"../lib/braintree-error\");\n\nmodule.exports = {\n CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN: {\n type: BraintreeError.types.MERCHANT,\n code: \"CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN\",\n },\n CLIENT_OPTION_REQUIRED: {\n type: BraintreeError.types.MERCHANT,\n code: \"CLIENT_OPTION_REQUIRED\",\n },\n CLIENT_OPTION_INVALID: {\n type: BraintreeError.types.MERCHANT,\n code: \"CLIENT_OPTION_INVALID\",\n },\n CLIENT_MISSING_GATEWAY_CONFIGURATION: {\n type: BraintreeError.types.INTERNAL,\n code: \"CLIENT_MISSING_GATEWAY_CONFIGURATION\",\n message: \"Missing gatewayConfiguration.\",\n },\n CLIENT_INVALID_AUTHORIZATION: {\n type: BraintreeError.types.MERCHANT,\n code: \"CLIENT_INVALID_AUTHORIZATION\",\n message:\n \"Authorization is invalid. Make sure your client token or tokenization key is valid.\",\n },\n CLIENT_GATEWAY_NETWORK: {\n type: BraintreeError.types.NETWORK,\n code: \"CLIENT_GATEWAY_NETWORK\",\n message: \"Cannot contact the gateway at this time.\",\n },\n CLIENT_REQUEST_TIMEOUT: {\n type: BraintreeError.types.NETWORK,\n code: \"CLIENT_REQUEST_TIMEOUT\",\n message: \"Request timed out waiting for a reply.\",\n },\n CLIENT_REQUEST_ERROR: {\n type: BraintreeError.types.NETWORK,\n code: \"CLIENT_REQUEST_ERROR\",\n message: \"There was a problem with your request.\",\n },\n CLIENT_GRAPHQL_REQUEST_ERROR: {\n type: BraintreeError.types.NETWORK,\n code: \"CLIENT_GRAPHQL_REQUEST_ERROR\",\n message: \"There was a problem with your request.\",\n },\n CLIENT_RATE_LIMITED: {\n type: BraintreeError.types.MERCHANT,\n code: \"CLIENT_RATE_LIMITED\",\n message: \"You are being rate-limited; please try again in a few minutes.\",\n },\n CLIENT_AUTHORIZATION_INSUFFICIENT: {\n type: BraintreeError.types.MERCHANT,\n code: \"CLIENT_AUTHORIZATION_INSUFFICIENT\",\n message: \"The authorization used has insufficient privileges.\",\n },\n CLIENT_AUTHORIZATION_INVALID: {\n type: BraintreeError.types.MERCHANT,\n code: \"CLIENT_AUTHORIZATION_INVALID\",\n message:\n \"Either the client token has expired and a new one should be generated or the tokenization key has been deactivated or deleted.\",\n },\n};\n\n},{\"../lib/braintree-error\":33}],12:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar BraintreeError = _dereq_(\"../lib/braintree-error\");\nvar wrapPromise = _dereq_(\"@braintree/wrap-promise\");\nvar request = _dereq_(\"./request\");\nvar uuid = _dereq_(\"@braintree/uuid\");\nvar constants = _dereq_(\"../lib/constants\");\nvar errors = _dereq_(\"./errors\");\nvar GraphQL = _dereq_(\"./request/graphql\");\nvar GRAPHQL_URLS = _dereq_(\"../lib/constants\").GRAPHQL_URLS;\nvar isDateStringBeforeOrOn = _dereq_(\"../lib/is-date-string-before-or-on\");\n\nvar BRAINTREE_VERSION = _dereq_(\"./constants\").BRAINTREE_VERSION;\n\nfunction getConfiguration(authData, inputSessionId) {\n return new Promise(function (resolve, reject) {\n var configuration, attrs, configUrl, reqOptions;\n var sessionId = inputSessionId || uuid();\n var analyticsMetadata = {\n merchantAppId: window.location.host,\n platform: constants.PLATFORM,\n sdkVersion: constants.VERSION,\n source: constants.SOURCE,\n // NEXT_MAJOR_VERSION remove one of these to not duplicate data. Target parity with mobile platforms approach.\n integration: constants.INTEGRATION,\n integrationType: constants.INTEGRATION,\n sessionId: sessionId,\n };\n\n attrs = authData.attrs;\n configUrl = authData.configUrl;\n\n attrs._meta = analyticsMetadata;\n attrs.braintreeLibraryVersion = constants.BRAINTREE_LIBRARY_VERSION;\n attrs.configVersion = \"3\";\n\n reqOptions = {\n url: configUrl,\n method: \"GET\",\n data: attrs,\n };\n\n if (attrs.authorizationFingerprint && authData.graphQL) {\n if (isDateStringBeforeOrOn(authData.graphQL.date, BRAINTREE_VERSION)) {\n reqOptions.graphQL = new GraphQL({\n graphQL: {\n url: authData.graphQL.url,\n features: [\"configuration\"],\n },\n });\n }\n\n reqOptions.metadata = analyticsMetadata;\n } else if (attrs.tokenizationKey) {\n reqOptions.graphQL = new GraphQL({\n graphQL: {\n url: GRAPHQL_URLS[authData.environment],\n features: [\"configuration\"],\n },\n });\n\n reqOptions.metadata = analyticsMetadata;\n }\n\n request(reqOptions, function (err, response, status) {\n var errorTemplate;\n\n if (err) {\n if (status === 403) {\n errorTemplate = errors.CLIENT_AUTHORIZATION_INSUFFICIENT;\n } else if (status === 401) {\n errorTemplate = errors.CLIENT_AUTHORIZATION_INVALID;\n } else {\n errorTemplate = errors.CLIENT_GATEWAY_NETWORK;\n }\n\n reject(\n new BraintreeError({\n type: errorTemplate.type,\n code: errorTemplate.code,\n message: errorTemplate.message,\n details: {\n originalError: err,\n },\n })\n );\n\n return;\n }\n\n configuration = {\n authorizationType: attrs.tokenizationKey\n ? \"TOKENIZATION_KEY\"\n : \"CLIENT_TOKEN\",\n authorizationFingerprint: attrs.authorizationFingerprint,\n analyticsMetadata: analyticsMetadata,\n gatewayConfiguration: response,\n };\n\n resolve(configuration);\n });\n });\n}\n\nmodule.exports = {\n getConfiguration: wrapPromise(getConfiguration),\n};\n\n},{\"../lib/braintree-error\":33,\"../lib/constants\":34,\"../lib/is-date-string-before-or-on\":41,\"./constants\":10,\"./errors\":11,\"./request\":25,\"./request/graphql\":23,\"@braintree/uuid\":3,\"@braintree/wrap-promise\":7}],13:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar BraintreeError = _dereq_(\"../lib/braintree-error\");\nvar Client = _dereq_(\"./client\");\nvar VERSION = \"3.126.0\";\nvar wrapPromise = _dereq_(\"@braintree/wrap-promise\");\nvar sharedErrors = _dereq_(\"../lib/errors\");\n\n/** @module braintree-web/client */\n\n/**\n * @function create\n * @description This function is the entry point for the <code>braintree.client</code> module. It is used for creating {@link Client} instances that service communication to Braintree servers.\n * @param {object} options Object containing all {@link Client} options:\n * @param {string} options.authorization A tokenizationKey or clientToken.\n * @param {callback} [callback] The second argument, <code>data</code>, is the {@link Client} instance.\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n * @example\n * var createClient = require('braintree-web/client').create;\n *\n * createClient({\n * authorization: CLIENT_AUTHORIZATION\n * }, function (createErr, clientInstance) {\n * if (createErr) {\n * if (createErr.code === 'CLIENT_AUTHORIZATION_INVALID') {\n * // either the client token has expired, and a new one should be generated\n * // or the tokenization key was deactivated or deleted\n * } else {\n * console.log('something went wrong creating the client instance', createErr);\n * }\n * return;\n * }\n *\n * // set up other components\n * });\n * @static\n */\nfunction create(options) {\n if (!options.authorization) {\n return Promise.reject(\n new BraintreeError({\n type: sharedErrors.INSTANTIATION_OPTION_REQUIRED.type,\n code: sharedErrors.INSTANTIATION_OPTION_REQUIRED.code,\n message:\n \"options.authorization is required when instantiating a client.\",\n })\n );\n }\n\n return Client.initialize(options);\n}\n\nmodule.exports = {\n create: wrapPromise(create),\n /**\n * @description The current version of the SDK, i.e. `{@pkg version}`.\n * @type {string}\n */\n VERSION: VERSION,\n};\n\n},{\"../lib/braintree-error\":33,\"../lib/errors\":40,\"./client\":9,\"@braintree/wrap-promise\":7}],14:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar querystring = _dereq_(\"../../lib/querystring\");\nvar assign = _dereq_(\"../../lib/assign\").assign;\nvar prepBody = _dereq_(\"./prep-body\");\nvar parseBody = _dereq_(\"./parse-body\");\nvar xhr = _dereq_(\"./xhr\");\nvar isXHRAvailable = xhr.isAvailable;\nvar GraphQLRequest = _dereq_(\"./graphql/request\");\nvar DefaultRequest = _dereq_(\"./default-request\");\n\nvar MAX_TCP_RETRYCOUNT = 1;\nvar TCP_PRECONNECT_BUG_STATUS_CODE = 408;\n\nfunction requestShouldRetry(status) {\n return !status || status === TCP_PRECONNECT_BUG_STATUS_CODE;\n}\n\nfunction graphQLRequestShouldRetryWithClientApi(body) {\n var errorClass =\n !body.data &&\n body.errors &&\n body.errors[0] &&\n body.errors[0].extensions &&\n body.errors[0].extensions.errorClass;\n\n return errorClass === \"UNKNOWN\" || errorClass === \"INTERNAL\";\n}\n\nfunction _requestWithRetry(options, tcpRetryCount, cb) {\n var status, resBody, ajaxRequest, body, method, headers, parsedBody;\n var url = options.url;\n var graphQL = options.graphQL;\n var timeout = options.timeout;\n var req = xhr.getRequestObject();\n var callback = cb;\n var isGraphQLRequest = Boolean(\n graphQL && graphQL.isGraphQLRequest(url, options.data)\n );\n\n options.headers = assign(\n { \"Content-Type\": \"application/json\" },\n options.headers\n );\n\n if (isGraphQLRequest) {\n ajaxRequest = new GraphQLRequest(options);\n } else {\n ajaxRequest = new DefaultRequest(options);\n }\n\n url = ajaxRequest.getUrl();\n body = ajaxRequest.getBody();\n method = ajaxRequest.getMethod();\n headers = ajaxRequest.getHeaders();\n\n if (method === \"GET\") {\n url = querystring.queryify(url, body);\n body = null;\n }\n\n if (isXHRAvailable) {\n req.onreadystatechange = function () {\n if (req.readyState !== 4) {\n return;\n }\n\n if (req.status === 0 && isGraphQLRequest) {\n // If a merchant experiences a connection\n // issue to the GraphQL endpoint (possibly\n // due to a Content Security Policy), retry\n // the request against the old client API.\n delete options.graphQL;\n _requestWithRetry(options, tcpRetryCount, cb);\n\n return;\n }\n\n parsedBody = parseBody(req.responseText);\n resBody = ajaxRequest.adaptResponseBody(parsedBody);\n status = ajaxRequest.determineStatus(req.status, parsedBody);\n\n if (status >= 400 || status < 200) {\n if (\n isGraphQLRequest &&\n graphQLRequestShouldRetryWithClientApi(parsedBody)\n ) {\n delete options.graphQL;\n _requestWithRetry(options, tcpRetryCount, cb);\n\n return;\n }\n\n if (tcpRetryCount < MAX_TCP_RETRYCOUNT && requestShouldRetry(status)) {\n tcpRetryCount++;\n _requestWithRetry(options, tcpRetryCount, cb);\n\n return;\n }\n callback(resBody || \"error\", null, status || 500);\n } else {\n callback(null, resBody, status);\n }\n };\n } else {\n if (options.headers) {\n url = querystring.queryify(url, headers);\n }\n\n req.onload = function () {\n callback(null, parseBody(req.responseText), req.status);\n };\n\n req.onerror = function () {\n // XDomainRequest does not report a body or status for errors, so\n // hardcode to 'error' and 500, respectively\n callback(\"error\", null, 500);\n };\n\n // This must remain for IE9 to work\n req.onprogress = function () {};\n\n req.ontimeout = function () {\n callback(\"timeout\", null, -1);\n };\n }\n\n try {\n req.open(method, url, true);\n } catch (requestOpenError) {\n // If a merchant has a Content Security Policy and they have\n // not allowed our endpoints, some browsers may\n // synchronously throw an error. If it is not a GraphQL\n // request, we throw the error. If it is a GraphQL request\n // we remove the GraphQL option and try the request against\n // the old client API.\n if (!isGraphQLRequest) {\n throw requestOpenError;\n }\n\n delete options.graphQL;\n\n _requestWithRetry(options, tcpRetryCount, cb);\n\n return;\n }\n\n req.timeout = timeout;\n\n if (isXHRAvailable) {\n Object.keys(headers).forEach(function (headerKey) {\n req.setRequestHeader(headerKey, headers[headerKey]);\n });\n }\n\n try {\n req.send(prepBody(method, body));\n // eslint-disable-next-line no-unused-vars\n } catch (err) {\n /* ignored */\n }\n}\n\nfunction request(options, cb) {\n _requestWithRetry(options, 0, cb);\n}\n\nmodule.exports = {\n request: request,\n};\n\n},{\"../../lib/assign\":32,\"../../lib/querystring\":47,\"./default-request\":15,\"./graphql/request\":24,\"./parse-body\":26,\"./prep-body\":27,\"./xhr\":28}],15:[function(_dereq_,module,exports){\n\"use strict\";\n\nfunction DefaultRequest(options) {\n this._url = options.url;\n this._data = options.data;\n this._method = options.method;\n this._headers = options.headers;\n}\n\nDefaultRequest.prototype.getUrl = function () {\n return this._url;\n};\n\nDefaultRequest.prototype.getBody = function () {\n return this._data;\n};\n\nDefaultRequest.prototype.getMethod = function () {\n return this._method;\n};\n\nDefaultRequest.prototype.getHeaders = function () {\n return this._headers;\n};\n\nDefaultRequest.prototype.adaptResponseBody = function (parsedBody) {\n return parsedBody;\n};\n\nDefaultRequest.prototype.determineStatus = function (status) {\n return status;\n};\n\nmodule.exports = DefaultRequest;\n\n},{}],16:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar errorResponseAdapter = _dereq_(\"./error\");\nvar assign = _dereq_(\"../../../../lib/assign\").assign;\n\nvar cardTypeTransforms = {\n creditCard: {\n AMERICAN_EXPRESS: \"American Express\",\n DISCOVER: \"Discover\",\n INTERNATIONAL_MAESTRO: \"Maestro\",\n JCB: \"JCB\",\n MASTERCARD: \"MasterCard\",\n SOLO: \"Solo\",\n UK_MAESTRO: \"UK Maestro\",\n UNION_PAY: \"UnionPay\",\n VISA: \"Visa\",\n ELO: \"Elo\",\n HIPER: \"Hiper\",\n HIPERCARD: \"Hipercard\",\n },\n applePayWeb: {\n VISA: \"visa\",\n MASTERCARD: \"mastercard\",\n DISCOVER: \"discover\",\n AMERICAN_EXPRESS: \"amex\",\n INTERNATIONAL_MAESTRO: \"maestro\",\n ELO: \"elo\",\n },\n visaCheckout: {\n VISA: \"Visa\",\n MASTERCARD: \"MasterCard\",\n DISCOVER: \"Discover\",\n AMERICAN_EXPRESS: \"American Express\",\n },\n googlePay: {\n VISA: \"visa\",\n MASTERCARD: \"mastercard\",\n DISCOVER: \"discover\",\n AMERICAN_EXPRESS: \"amex\",\n INTERNATIONAL_MAESTRO: \"maestro\",\n ELO: \"elo\",\n },\n masterpass: {\n VISA: \"visa\",\n MASTERCARD: \"master\",\n DISCOVER: \"discover\",\n AMERICAN_EXPRESS: \"amex\",\n DINERS: \"diners\",\n INTERNATIONAL_MAESTRO: \"maestro\",\n JCB: \"jcb\",\n },\n};\n\nfunction configurationResponseAdapter(responseBody, ctx) {\n var adaptedResponse;\n\n if (responseBody.data && !responseBody.errors) {\n adaptedResponse = adaptConfigurationResponseBody(responseBody, ctx);\n } else {\n adaptedResponse = errorResponseAdapter(responseBody);\n }\n\n return adaptedResponse;\n}\n\nfunction adaptConfigurationResponseBody(body, ctx) {\n var configuration = body.data.clientConfiguration;\n var response;\n\n response = {\n environment: configuration.environment.toLowerCase(),\n clientApiUrl: configuration.clientApiUrl,\n assetsUrl: configuration.assetsUrl,\n analytics: {\n url: configuration.analyticsUrl,\n },\n merchantId: configuration.merchantId,\n venmo: \"off\",\n };\n\n if (configuration.supportedFeatures) {\n response.graphQL = {\n url: ctx._graphQL._config.url,\n features: configuration.supportedFeatures.map(function (feature) {\n return feature.toLowerCase();\n }),\n };\n }\n\n if (configuration.braintreeApi) {\n response.braintreeApi = configuration.braintreeApi;\n }\n\n if (configuration.applePayWeb) {\n response.applePayWeb = configuration.applePayWeb;\n response.applePayWeb.supportedNetworks = mapCardTypes(\n configuration.applePayWeb.supportedCardBrands,\n cardTypeTransforms.applePayWeb\n );\n\n delete response.applePayWeb.supportedCardBrands;\n }\n\n if (configuration.fastlane) {\n response.fastlane = configuration.fastlane;\n }\n\n if (configuration.ideal) {\n response.ideal = configuration.ideal;\n }\n\n if (configuration.creditCard) {\n response.challenges = configuration.creditCard.challenges.map(\n function (challenge) {\n return challenge.toLowerCase();\n }\n );\n\n response.creditCards = {\n supportedCardTypes: mapCardTypes(\n configuration.creditCard.supportedCardBrands,\n cardTypeTransforms.creditCard\n ),\n };\n response.threeDSecureEnabled = configuration.creditCard.threeDSecureEnabled;\n response.threeDSecure = configuration.creditCard.threeDSecure;\n } else {\n response.challenges = [];\n response.creditCards = {\n supportedCardTypes: [],\n };\n response.threeDSecureEnabled = false;\n }\n\n if (configuration.googlePay) {\n response.androidPay = {\n displayName: configuration.googlePay.displayName,\n enabled: true,\n environment: configuration.googlePay.environment.toLowerCase(),\n googleAuthorizationFingerprint:\n configuration.googlePay.googleAuthorization,\n paypalClientId: configuration.googlePay.paypalClientId,\n supportedNetworks: mapCardTypes(\n configuration.googlePay.supportedCardBrands,\n cardTypeTransforms.googlePay\n ),\n };\n }\n\n if (configuration.venmo) {\n response.payWithVenmo = {\n merchantId: configuration.venmo.merchantId,\n accessToken: configuration.venmo.accessToken,\n environment: configuration.venmo.environment.toLowerCase(),\n enrichedCustomerDataEnabled:\n configuration.venmo.enrichedCustomerDataEnabled,\n };\n }\n\n if (configuration.paypal) {\n response.paypalEnabled = true;\n response.paypal = assign({}, configuration.paypal);\n response.paypal.currencyIsoCode = response.paypal.currencyCode;\n response.paypal.environment = response.paypal.environment.toLowerCase();\n\n delete response.paypal.currencyCode;\n } else {\n response.paypalEnabled = false;\n }\n\n if (configuration.unionPay) {\n response.unionPay = {\n enabled: true,\n merchantAccountId: configuration.unionPay.merchantAccountId,\n };\n }\n\n if (configuration.visaCheckout) {\n response.visaCheckout = {\n apikey: configuration.visaCheckout.apiKey,\n encryptionKey: configuration.visaCheckout.encryptionKey,\n externalClientId: configuration.visaCheckout.externalClientId,\n supportedCardTypes: mapCardTypes(\n configuration.visaCheckout.supportedCardBrands,\n cardTypeTransforms.visaCheckout\n ),\n };\n }\n\n if (configuration.masterpass) {\n response.masterpass = {\n merchantCheckoutId: configuration.masterpass.merchantCheckoutId,\n supportedNetworks: mapCardTypes(\n configuration.masterpass.supportedCardBrands,\n cardTypeTransforms.masterpass\n ),\n };\n }\n\n if (configuration.usBankAccount) {\n response.usBankAccount = {\n routeId: configuration.usBankAccount.routeId,\n plaid: {\n publicKey: configuration.usBankAccount.plaidPublicKey,\n },\n };\n }\n\n return response;\n}\n\nfunction mapCardTypes(cardTypes, cardTypeTransformMap) {\n return cardTypes.reduce(function (acc, type) {\n if (cardTypeTransformMap.hasOwnProperty(type)) {\n return acc.concat(cardTypeTransformMap[type]);\n }\n\n return acc;\n }, []);\n}\n\nmodule.exports = configurationResponseAdapter;\n\n},{\"../../../../lib/assign\":32,\"./error\":19}],17:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar errorResponseAdapter = _dereq_(\"./error\");\n\nvar CARD_BRAND_MAP = {\n AMERICAN_EXPRESS: \"American Express\",\n DINERS: \"Discover\",\n DISCOVER: \"Discover\",\n ELO: \"Elo\",\n HIPER: \"Hiper\",\n HIPERCARD: \"Hipercard\",\n INTERNATIONAL_MAESTRO: \"Maestro\",\n JCB: \"JCB\",\n MASTERCARD: \"MasterCard\",\n UK_MAESTRO: \"Maestro\",\n UNION_PAY: \"UnionPay\",\n VISA: \"Visa\",\n};\n\nvar BIN_DATA_MAP = {\n YES: \"Yes\",\n NO: \"No\",\n UNKNOWN: \"Unknown\",\n};\n\nvar AUTHENTICATION_INSIGHT_MAP = {\n PSDTWO: \"psd2\",\n};\n\nfunction creditCardTokenizationFastlaneResponseAdapter(responseBody) {\n var adaptedResponse;\n\n if (responseBody.data && !responseBody.errors) {\n adaptedResponse =\n adaptTokenizeCreditCardForFastlaneResponseBody(responseBody);\n } else {\n adaptedResponse = errorResponseAdapter(responseBody);\n }\n\n return adaptedResponse;\n}\n\nfunction adaptTokenizeCreditCardForFastlaneResponseBody(body) {\n var data = body.data.tokenizeCreditCardForPayPalConnect;\n var creditCard = data.paymentMethod.details;\n var lastTwo = creditCard.last4 ? creditCard.last4.substr(2, 4) : \"\";\n var binData = creditCard.binData;\n var response, regulationEnvironment;\n\n if (binData) {\n [\n \"commercial\",\n \"debit\",\n \"durbinRegulated\",\n \"healthcare\",\n \"payroll\",\n \"prepaid\",\n ].forEach(function (key) {\n if (binData[key]) {\n binData[key] = BIN_DATA_MAP[binData[key]];\n } else {\n binData[key] = \"Unknown\";\n }\n });\n\n [\n \"issuingBank\",\n \"countryOfIssuance\",\n \"productId\",\n \"business\",\n \"consumer\",\n \"purchase\",\n \"corporate\",\n ].forEach(function (key) {\n if (!binData[key]) {\n binData[key] = \"Unknown\";\n }\n });\n }\n\n response = {\n creditCards: [\n {\n binData: binData,\n consumed: false,\n description: lastTwo ? \"ending in \" + lastTwo : \"\",\n nonce: data.paymentMethod.id,\n details: {\n cardholderName: creditCard.cardholderName,\n expirationMonth: creditCard.expirationMonth,\n expirationYear: creditCard.expirationYear,\n bin: creditCard.bin || \"\",\n cardType: CARD_BRAND_MAP[creditCard.brandCode] || \"Unknown\",\n lastFour: creditCard.last4 || \"\",\n lastTwo: lastTwo,\n },\n type: \"CreditCard\",\n threeDSecureInfo: null,\n },\n ],\n };\n\n if (data.authenticationInsight) {\n regulationEnvironment =\n data.authenticationInsight.customerAuthenticationRegulationEnvironment;\n response.creditCards[0].authenticationInsight = {\n regulationEnvironment:\n AUTHENTICATION_INSIGHT_MAP[regulationEnvironment] ||\n regulationEnvironment.toLowerCase(),\n };\n }\n\n return response;\n}\n\nmodule.exports = creditCardTokenizationFastlaneResponseAdapter;\n\n},{\"./error\":19}],18:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar errorResponseAdapter = _dereq_(\"./error\");\n\nvar CARD_BRAND_MAP = {\n AMERICAN_EXPRESS: \"American Express\",\n DINERS: \"Discover\",\n DISCOVER: \"Discover\",\n ELO: \"Elo\",\n HIPER: \"Hiper\",\n HIPERCARD: \"Hipercard\",\n INTERNATIONAL_MAESTRO: \"Maestro\",\n JCB: \"JCB\",\n MASTERCARD: \"MasterCard\",\n UK_MAESTRO: \"Maestro\",\n UNION_PAY: \"UnionPay\",\n VISA: \"Visa\",\n};\n\nvar BIN_DATA_MAP = {\n YES: \"Yes\",\n NO: \"No\",\n UNKNOWN: \"Unknown\",\n};\n\nvar AUTHENTICATION_INSIGHT_MAP = {\n PSDTWO: \"psd2\",\n};\n\nfunction creditCardTokenizationResponseAdapter(responseBody) {\n var adaptedResponse;\n\n if (responseBody.data && !responseBody.errors) {\n adaptedResponse = adaptTokenizeCreditCardResponseBody(responseBody);\n } else {\n adaptedResponse = errorResponseAdapter(responseBody);\n }\n\n return adaptedResponse;\n}\n\nfunction adaptTokenizeCreditCardResponseBody(body) {\n var data = body.data.tokenizeCreditCard;\n var creditCard = data.creditCard;\n var lastTwo = creditCard.last4 ? creditCard.last4.substr(2, 4) : \"\";\n var binData = creditCard.binData;\n var response, regulationEnvironment;\n\n if (binData) {\n [\n \"commercial\",\n \"debit\",\n \"durbinRegulated\",\n \"healthcare\",\n \"payroll\",\n \"prepaid\",\n ].forEach(function (key) {\n if (binData[key]) {\n binData[key] = BIN_DATA_MAP[binData[key]];\n } else {\n binData[key] = \"Unknown\";\n }\n });\n\n [\n \"issuingBank\",\n \"countryOfIssuance\",\n \"productId\",\n \"business\",\n \"consumer\",\n \"purchase\",\n \"corporate\",\n ].forEach(function (key) {\n if (!binData[key]) {\n binData[key] = \"Unknown\";\n }\n });\n }\n\n response = {\n creditCards: [\n {\n binData: binData,\n consumed: false,\n description: lastTwo ? \"ending in \" + lastTwo : \"\",\n nonce: data.token,\n details: {\n cardholderName: creditCard.cardholderName,\n expirationMonth: creditCard.expirationMonth,\n expirationYear: creditCard.expirationYear,\n bin: creditCard.bin || \"\",\n cardType: CARD_BRAND_MAP[creditCard.brandCode] || \"Unknown\",\n lastFour: creditCard.last4 || \"\",\n lastTwo: lastTwo,\n },\n type: \"CreditCard\",\n threeDSecureInfo: null,\n },\n ],\n };\n\n if (data.authenticationInsight) {\n regulationEnvironment =\n data.authenticationInsight.customerAuthenticationRegulationEnvironment;\n response.creditCards[0].authenticationInsight = {\n regulationEnvironment:\n AUTHENTICATION_INSIGHT_MAP[regulationEnvironment] ||\n regulationEnvironment.toLowerCase(),\n };\n }\n\n return response;\n}\n\nmodule.exports = creditCardTokenizationResponseAdapter;\n\n},{\"./error\":19}],19:[function(_dereq_,module,exports){\n\"use strict\";\n\nfunction errorResponseAdapter(responseBody) {\n var response;\n var errorClass =\n responseBody.errors &&\n responseBody.errors[0] &&\n responseBody.errors[0].extensions &&\n responseBody.errors[0].extensions.errorClass;\n\n if (errorClass === \"VALIDATION\") {\n response = userErrorResponseAdapter(responseBody);\n } else if (errorClass) {\n response = errorWithClassResponseAdapter(responseBody);\n } else {\n response = {\n error: { message: \"There was a problem serving your request\" },\n fieldErrors: [],\n };\n }\n\n return response;\n}\n\nfunction errorWithClassResponseAdapter(responseBody) {\n return {\n error: { message: responseBody.errors[0].message },\n fieldErrors: [],\n };\n}\n\nfunction userErrorResponseAdapter(responseBody) {\n var fieldErrors = buildFieldErrors(responseBody.errors);\n\n if (fieldErrors.length === 0) {\n return { error: { message: responseBody.errors[0].message } };\n }\n\n return {\n error: { message: getLegacyMessage(fieldErrors) },\n fieldErrors: fieldErrors,\n };\n}\n\nfunction buildFieldErrors(errors) {\n var fieldErrors = [];\n\n errors.forEach(function (error) {\n if (!(error.extensions && error.extensions.inputPath)) {\n return;\n }\n addFieldError(error.extensions.inputPath.slice(1), error, fieldErrors);\n });\n\n return fieldErrors;\n}\n\nfunction addFieldError(inputPath, errorDetail, fieldErrors) {\n var fieldError;\n var legacyCode = errorDetail.extensions.legacyCode;\n var inputField = inputPath[0];\n\n if (inputPath.length === 1) {\n fieldErrors.push({\n code: legacyCode,\n field: inputField,\n message: errorDetail.message,\n });\n\n return;\n }\n\n fieldErrors.forEach(function (candidate) {\n if (candidate.field === inputField) {\n fieldError = candidate;\n }\n });\n\n if (!fieldError) {\n fieldError = { field: inputField, fieldErrors: [] };\n fieldErrors.push(fieldError);\n }\n\n addFieldError(inputPath.slice(1), errorDetail, fieldError.fieldErrors);\n}\n\nfunction getLegacyMessage(errors) {\n var legacyMessages = {\n creditCard: \"Credit card is invalid\",\n };\n\n var field = errors[0].field;\n\n return legacyMessages[field];\n}\n\nmodule.exports = errorResponseAdapter;\n\n},{}],20:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar CONFIGURATION_QUERY =\n \"query ClientConfiguration { \" +\n \" clientConfiguration { \" +\n \" analyticsUrl \" +\n \" environment \" +\n \" merchantId \" +\n \" assetsUrl \" +\n \" clientApiUrl \" +\n \" creditCard { \" +\n \" supportedCardBrands \" +\n \" challenges \" +\n \" threeDSecureEnabled \" +\n \" threeDSecure { \" +\n \" cardinalAuthenticationJWT \" +\n \" cardinalSongbirdUrl \" +\n \" cardinalSongbirdIdentityHash \" +\n \" } \" +\n \" } \" +\n \" applePayWeb { \" +\n \" countryCode \" +\n \" currencyCode \" +\n \" merchantIdentifier \" +\n \" supportedCardBrands \" +\n \" } \" +\n \" fastlane { \" +\n \" enabled \" +\n \" tokensOnDemand { \" +\n \" enabled \" +\n \" tokenExchange { \" +\n \" enabled \" +\n \" } \" +\n \" } \" +\n \" } \" +\n \" googlePay { \" +\n \" displayName \" +\n \" supportedCardBrands \" +\n \" environment \" +\n \" googleAuthorization \" +\n \" paypalClientId \" +\n \" } \" +\n \" ideal { \" +\n \" routeId \" +\n \" assetsUrl \" +\n \" } \" +\n \" masterpass { \" +\n \" merchantCheckoutId \" +\n \" supportedCardBrands \" +\n \" } \" +\n \" paypal { \" +\n \" displayName \" +\n \" clientId \" +\n \" assetsUrl \" +\n \" environment \" +\n \" environmentNoNetwork \" +\n \" unvettedMerchant \" +\n \" braintreeClientId \" +\n \" billingAgreementsEnabled \" +\n \" merchantAccountId \" +\n \" currencyCode \" +\n \" payeeEmail \" +\n \" } \" +\n \" unionPay { \" +\n \" merchantAccountId \" +\n \" } \" +\n \" usBankAccount { \" +\n \" routeId \" +\n \" plaidPublicKey \" +\n \" } \" +\n \" venmo { \" +\n \" merchantId \" +\n \" accessToken \" +\n \" environment \" +\n \" enrichedCustomerDataEnabled\" +\n \" } \" +\n \" visaCheckout { \" +\n \" apiKey \" +\n \" externalClientId \" +\n \" supportedCardBrands \" +\n \" } \" +\n \" braintreeApi { \" +\n \" accessToken \" +\n \" url \" +\n \" } \" +\n \" supportedFeatures \" +\n \" } \" +\n \"}\";\n\nfunction configuration() {\n return {\n query: CONFIGURATION_QUERY,\n operationName: \"ClientConfiguration\",\n };\n}\n\nmodule.exports = configuration;\n\n},{}],21:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar assign = _dereq_(\"../../../../lib/assign\").assign;\n\nfunction createMutation(config) {\n var hasAuthenticationInsight = config.hasAuthenticationInsight;\n var mutation =\n \"mutation TokenizeCreditCardForPayPalConnect($input: TokenizeCreditCardForPayPalConnectInput!\";\n\n if (hasAuthenticationInsight) {\n mutation += \", $authenticationInsightInput: AuthenticationInsightInput!\";\n }\n\n mutation +=\n \") { \" +\n \" tokenizeCreditCardForPayPalConnect(input: $input) { \" +\n \" clientMutationId \" +\n \" paymentMethod { \" +\n \" id \" +\n \" details { \" +\n \" ... on CreditCardDetails { \" +\n \" bin \" +\n \" brandCode \" +\n \" last4 \" +\n \" cardholderName \" +\n \" expirationMonth\" +\n \" expirationYear\" +\n \" binData { \" +\n \" prepaid \" +\n \" healthcare \" +\n \" debit \" +\n \" durbinRegulated \" +\n \" commercial \" +\n \" payroll \" +\n \" issuingBank \" +\n \" countryOfIssuance \" +\n \" productId \" +\n \" business \" +\n \" consumer \" +\n \" purchase \" +\n \" corporate \" +\n \" } \" +\n \" } \" +\n \" } \" +\n \" }\";\n\n if (hasAuthenticationInsight) {\n mutation +=\n \" authenticationInsight(input: $authenticationInsightInput) {\" +\n \" customerAuthenticationRegulationEnvironment\" +\n \" }\";\n }\n\n mutation += \" } }\";\n\n return mutation;\n}\n\nfunction createCreditCardForFastlaneTokenizationBody(body, options) {\n var creditCard = body.creditCard;\n var fastlane = creditCard.fastlane || {};\n var termsAndConditionsVersion =\n \"fastlane\" in creditCard &&\n \"termsAndConditionsVersion\" in creditCard.fastlane &&\n creditCard.fastlane.termsAndConditionsVersion;\n var termsAndConditionsCountry =\n \"fastlane\" in creditCard &&\n \"termsAndConditionsCountry\" in creditCard.fastlane &&\n creditCard.fastlane.termsAndConditionsCountry;\n var email = creditCard.email;\n var optIn = \"hasBuyerConsent\" in fastlane && fastlane.hasBuyerConsent;\n var shippingAddress = creditCard.shippingAddress;\n var variables = createCreditCardTokenizationBody(body, options);\n\n var ccpcVariables = assign({}, variables.input, {\n email: email,\n optIn: optIn,\n phone: creditCard.phone,\n });\n\n if (termsAndConditionsVersion) {\n ccpcVariables.termsAndConditionsVersion = termsAndConditionsVersion;\n }\n\n if (termsAndConditionsCountry) {\n ccpcVariables.termsAndConditionsCountry = termsAndConditionsCountry;\n }\n\n if (\"authAssertion\" in fastlane) {\n ccpcVariables.authAssertion = fastlane.authAssertion;\n }\n\n if (shippingAddress) {\n ccpcVariables.shippingAddress = shippingAddress;\n }\n\n return { input: ccpcVariables };\n}\n\nfunction createCreditCardTokenizationBody(body, options) {\n var cc = body.creditCard;\n var billingAddress = cc && cc.billingAddress;\n var expDate = cc && cc.expirationDate;\n var expirationMonth =\n cc && (cc.expirationMonth || (expDate && expDate.split(\"/\")[0].trim()));\n var expirationYear =\n cc && (cc.expirationYear || (expDate && expDate.split(\"/\")[1].trim()));\n var variables = {\n input: {\n creditCard: {\n number: cc && cc.number,\n expirationMonth: expirationMonth,\n expirationYear: expirationYear,\n cvv: cc && cc.cvv,\n cardholderName: cc && cc.cardholderName,\n },\n\n options: {},\n },\n };\n\n if (options.hasAuthenticationInsight) {\n variables.authenticationInsightInput = {\n merchantAccountId: body.merchantAccountId,\n };\n }\n\n if (billingAddress) {\n variables.input.creditCard.billingAddress = billingAddress;\n }\n\n variables.input = addValidationRule(body, variables.input);\n\n return variables;\n}\n\nfunction addValidationRule(body, input) {\n var validate;\n\n if (\n body.creditCard &&\n body.creditCard.options &&\n typeof body.creditCard.options.validate === \"boolean\"\n ) {\n validate = body.creditCard.options.validate;\n } else if (\n (body.authorizationFingerprint && body.tokenizationKey) ||\n body.authorizationFingerprint\n ) {\n validate = true;\n } else if (body.tokenizationKey) {\n validate = false;\n }\n\n if (typeof validate === \"boolean\") {\n input.options = assign(\n {\n validate: validate,\n },\n input.options\n );\n }\n\n return input;\n}\n\nfunction creditCardForFastlaneTokenization(body) {\n var options = {\n hasAuthenticationInsight: Boolean(\n body.authenticationInsight && body.merchantAccountId\n ),\n };\n\n return {\n query: createMutation(options),\n variables: createCreditCardForFastlaneTokenizationBody(body, options),\n operationName: \"TokenizeCreditCardForPayPalConnect\",\n };\n}\n\nmodule.exports = creditCardForFastlaneTokenization;\n\n},{\"../../../../lib/assign\":32}],22:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar assign = _dereq_(\"../../../../lib/assign\").assign;\n\nfunction createMutation(config) {\n var hasAuthenticationInsight = config.hasAuthenticationInsight;\n var mutation = \"mutation TokenizeCreditCard($input: TokenizeCreditCardInput!\";\n\n if (hasAuthenticationInsight) {\n mutation += \", $authenticationInsightInput: AuthenticationInsightInput!\";\n }\n\n mutation +=\n \") { \" +\n \" tokenizeCreditCard(input: $input) { \" +\n \" token \" +\n \" creditCard { \" +\n \" bin \" +\n \" brandCode \" +\n \" last4 \" +\n \" cardholderName \" +\n \" expirationMonth\" +\n \" expirationYear\" +\n \" binData { \" +\n \" prepaid \" +\n \" healthcare \" +\n \" debit \" +\n \" durbinRegulated \" +\n \" commercial \" +\n \" payroll \" +\n \" issuingBank \" +\n \" countryOfIssuance \" +\n \" productId \" +\n \" business \" +\n \" consumer \" +\n \" purchase \" +\n \" corporate \" +\n \" } \" +\n \" } \";\n\n if (hasAuthenticationInsight) {\n mutation +=\n \" authenticationInsight(input: $authenticationInsightInput) {\" +\n \" customerAuthenticationRegulationEnvironment\" +\n \" }\";\n }\n\n mutation += \" } }\";\n\n return mutation;\n}\n\nfunction createCreditCardTokenizationBody(body, options) {\n var cc = body.creditCard;\n var billingAddress = cc && cc.billingAddress;\n var expDate = cc && cc.expirationDate;\n var expirationMonth =\n cc && (cc.expirationMonth || (expDate && expDate.split(\"/\")[0].trim()));\n var expirationYear =\n cc && (cc.expirationYear || (expDate && expDate.split(\"/\")[1].trim()));\n var variables = {\n input: {\n creditCard: {\n number: cc && cc.number,\n expirationMonth: expirationMonth,\n expirationYear: expirationYear,\n cvv: cc && cc.cvv,\n cardholderName: cc && cc.cardholderName,\n },\n options: {},\n },\n };\n\n if (options.hasAuthenticationInsight) {\n variables.authenticationInsightInput = {\n merchantAccountId: body.merchantAccountId,\n };\n }\n\n if (billingAddress) {\n variables.input.creditCard.billingAddress = billingAddress;\n }\n\n variables.input = addValidationRule(body, variables.input);\n\n return variables;\n}\n\nfunction addValidationRule(body, input) {\n var validate;\n\n if (\n body.creditCard &&\n body.creditCard.options &&\n typeof body.creditCard.options.validate === \"boolean\"\n ) {\n validate = body.creditCard.options.validate;\n } else if (\n (body.authorizationFingerprint && body.tokenizationKey) ||\n body.authorizationFingerprint\n ) {\n validate = true;\n } else if (body.tokenizationKey) {\n validate = false;\n }\n\n if (typeof validate === \"boolean\") {\n input.options = assign(\n {\n validate: validate,\n },\n input.options\n );\n }\n\n return input;\n}\n\nfunction creditCardTokenization(body) {\n var options = {\n hasAuthenticationInsight: Boolean(\n body.authenticationInsight && body.merchantAccountId\n ),\n };\n\n return {\n query: createMutation(options),\n variables: createCreditCardTokenizationBody(body, options),\n operationName: \"TokenizeCreditCard\",\n };\n}\n\nmodule.exports = creditCardTokenization;\n\n},{\"../../../../lib/assign\":32}],23:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar features = {\n tokenize_credit_cards: \"payment_methods/credit_cards\", // eslint-disable-line camelcase\n configuration: \"configuration\",\n};\n\nvar disallowedInputPaths = [\"creditCard.options.unionPayEnrollment\"];\n\nfunction GraphQL(config) {\n this._config = config.graphQL;\n}\n\nGraphQL.prototype.getGraphQLEndpoint = function () {\n return this._config.url;\n};\n\nGraphQL.prototype.isGraphQLRequest = function (url, body) {\n var featureEnabled;\n var path = this.getClientApiPath(url);\n\n if (!this._isGraphQLEnabled() || !path) {\n return false;\n }\n\n featureEnabled = this._config.features.some(function (feature) {\n return features[feature] === path;\n });\n\n if (containsDisallowedlistedKeys(body)) {\n return false;\n }\n\n return featureEnabled;\n};\n\nGraphQL.prototype.getClientApiPath = function (url) {\n var path;\n var clientApiPrefix = \"/client_api/v1/\";\n var pathParts = url.split(clientApiPrefix);\n\n if (pathParts.length > 1) {\n path = pathParts[1].split(\"?\")[0];\n }\n\n return path;\n};\n\nGraphQL.prototype._isGraphQLEnabled = function () {\n return Boolean(this._config);\n};\n\nfunction containsDisallowedlistedKeys(body) {\n return disallowedInputPaths.some(function (keys) {\n var value = keys.split(\".\").reduce(function (accumulator, key) {\n return accumulator && accumulator[key];\n }, body);\n\n return value !== undefined;\n });\n}\n\nmodule.exports = GraphQL;\n\n},{}],24:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar BRAINTREE_VERSION = _dereq_(\"../../constants\").BRAINTREE_VERSION;\n\nvar assign = _dereq_(\"../../../lib/assign\").assign;\nvar snakeCaseToCamelCase = _dereq_(\"../../../lib/snake-case-to-camel-case\");\nvar isFastlaneCheckout = _dereq_(\"../../../lib/is-fastlane-checkout\");\n\nvar creditCardTokenizationBodyGenerator = _dereq_(\"./generators/credit-card-tokenization\");\nvar creditCardTokenizationResponseAdapter = _dereq_(\"./adapters/credit-card-tokenization\");\nvar creditCardTokenizationFastlaneResponseAdapter = _dereq_(\"./adapters/credit-card-tokenization-fastlane\");\nvar creditCardForFastlaneTokenizationBodyGenerator = _dereq_(\"./generators/credit-card-for-fastlane-tokenization\");\n\nvar configurationBodyGenerator = _dereq_(\"./generators/configuration\");\nvar configurationResponseAdapter = _dereq_(\"./adapters/configuration\");\n\nvar generators = {\n \"payment_methods/credit_cards\": function (data, isFastlane) {\n if (isFastlane) {\n // Only want to use this generator when using the Fastlane flow\n return creditCardForFastlaneTokenizationBodyGenerator(data);\n }\n\n return creditCardTokenizationBodyGenerator(data);\n },\n configuration: configurationBodyGenerator,\n};\n\nvar adapters = {\n \"payment_methods/credit_cards\": function (parsedBody, context, isFastlane) {\n if (isFastlane) {\n // Only want to use this adapter when using the Fastlane flow\n return creditCardTokenizationFastlaneResponseAdapter(parsedBody, context);\n }\n\n return creditCardTokenizationResponseAdapter(parsedBody, context);\n },\n configuration: configurationResponseAdapter,\n};\n\nfunction GraphQLRequest(options) {\n var clientApiPath = options.graphQL.getClientApiPath(options.url);\n\n this._graphQL = options.graphQL;\n this._data = options.data;\n this._method = options.method;\n this._headers = options.headers;\n this._clientSdkMetadata = {\n source: options.metadata.source,\n integration: options.metadata.integration,\n sessionId: options.metadata.sessionId,\n };\n this._sendAnalyticsEvent = options.sendAnalyticsEvent || Function.prototype;\n\n this._generator = generators[clientApiPath];\n this._adapter = adapters[clientApiPath];\n\n this._sendAnalyticsEvent(\"graphql.init\");\n}\n\nGraphQLRequest.prototype.getUrl = function () {\n return this._graphQL.getGraphQLEndpoint();\n};\n\nGraphQLRequest.prototype.getBody = function () {\n var formattedBody = formatBodyKeys(this._data);\n var generatedBody = this._generator(\n formattedBody,\n // Since this is used for all GQL requests, we only want this if it's a Fastlane Tokenization request\n isFastlaneCheckout(this._data.creditCard)\n );\n var body = assign(\n { clientSdkMetadata: this._clientSdkMetadata },\n generatedBody\n );\n\n return JSON.stringify(body);\n};\n\nGraphQLRequest.prototype.getMethod = function () {\n return \"POST\";\n};\n\nGraphQLRequest.prototype.getHeaders = function () {\n var authorization, headers;\n\n if (this._data.authorizationFingerprint) {\n this._sendAnalyticsEvent(\"graphql.authorization-fingerprint\");\n authorization = this._data.authorizationFingerprint;\n } else {\n this._sendAnalyticsEvent(\"graphql.tokenization-key\");\n authorization = this._data.tokenizationKey;\n }\n\n headers = {\n Authorization: \"Bearer \" + authorization,\n \"Braintree-Version\": BRAINTREE_VERSION,\n };\n\n return assign({}, this._headers, headers);\n};\n\nGraphQLRequest.prototype.adaptResponseBody = function (parsedBody) {\n return this._adapter(\n parsedBody,\n this,\n // Since this is used for all GQL requests, we only want this if it's a Fastlane Checkout Tokenization request\n \"creditCard\" in this._data && isFastlaneCheckout(this._data.creditCard)\n );\n};\n\nGraphQLRequest.prototype.determineStatus = function (\n httpStatus,\n parsedResponse\n) {\n var status, errorClass;\n\n if (httpStatus === 200) {\n errorClass =\n parsedResponse.errors &&\n parsedResponse.errors[0] &&\n parsedResponse.errors[0].extensions &&\n parsedResponse.errors[0].extensions.errorClass;\n\n if (parsedResponse.data && !parsedResponse.errors) {\n status = 200;\n } else if (errorClass === \"VALIDATION\") {\n status = 422;\n } else if (errorClass === \"AUTHORIZATION\") {\n status = 403;\n } else if (errorClass === \"AUTHENTICATION\") {\n status = 401;\n } else if (isGraphQLError(errorClass, parsedResponse)) {\n status = 403;\n } else {\n status = 500;\n }\n } else if (!httpStatus) {\n status = 500;\n } else {\n status = httpStatus;\n }\n\n this._sendAnalyticsEvent(\"graphql.status.\" + httpStatus);\n this._sendAnalyticsEvent(\"graphql.determinedStatus.\" + status);\n\n return status;\n};\n\nfunction isGraphQLError(errorClass, parsedResponse) {\n return !errorClass && parsedResponse.errors[0].message;\n}\n\n/**\n * @ignore\n * This function formats the body consistently so _everything_ is camelCase.\n * @param {object} originalBody the body to format\n * @returns {object} The formatted object\n */\nfunction formatBodyKeys(originalBody) {\n var body = {};\n\n Object.keys(originalBody).forEach(function (key) {\n var camelCaseKey = snakeCaseToCamelCase(key);\n\n if (typeof originalBody[key] === \"object\") {\n body[camelCaseKey] = formatBodyKeys(originalBody[key]);\n } else if (typeof originalBody[key] === \"number\") {\n body[camelCaseKey] = String(originalBody[key]);\n } else {\n body[camelCaseKey] = originalBody[key];\n }\n });\n\n return body;\n}\n\nmodule.exports = GraphQLRequest;\n\n},{\"../../../lib/assign\":32,\"../../../lib/is-fastlane-checkout\":42,\"../../../lib/snake-case-to-camel-case\":48,\"../../constants\":10,\"./adapters/configuration\":16,\"./adapters/credit-card-tokenization\":18,\"./adapters/credit-card-tokenization-fastlane\":17,\"./generators/configuration\":20,\"./generators/credit-card-for-fastlane-tokenization\":21,\"./generators/credit-card-tokenization\":22}],25:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar once = _dereq_(\"../../lib/once\");\nvar AJAXDriver = _dereq_(\"./ajax-driver\");\n\nmodule.exports = function (options, cb) {\n cb = once(cb || Function.prototype);\n options.method = (options.method || \"GET\").toUpperCase();\n options.timeout = options.timeout == null ? 60000 : options.timeout;\n options.data = options.data || {};\n\n AJAXDriver.request(options, cb);\n};\n\n},{\"../../lib/once\":46,\"./ajax-driver\":14}],26:[function(_dereq_,module,exports){\n\"use strict\";\n\nmodule.exports = function (body) {\n try {\n body = JSON.parse(body);\n // eslint-disable-next-line no-unused-vars\n } catch (err) {\n /* ignored */\n }\n\n return body;\n};\n\n},{}],27:[function(_dereq_,module,exports){\n\"use strict\";\n\nmodule.exports = function (method, body) {\n if (typeof method !== \"string\") {\n throw new Error(\"Method must be a string\");\n }\n\n if (method.toLowerCase() !== \"get\" && body != null) {\n body = typeof body === \"string\" ? body : JSON.stringify(body);\n }\n\n return body;\n};\n\n},{}],28:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar isXHRAvailable =\n typeof window !== \"undefined\" &&\n window.XMLHttpRequest &&\n \"withCredentials\" in new window.XMLHttpRequest();\n\nfunction getRequestObject() {\n return isXHRAvailable\n ? new window.XMLHttpRequest()\n : new window.XDomainRequest();\n}\n\nmodule.exports = {\n isAvailable: isXHRAvailable,\n getRequestObject: getRequestObject,\n};\n\n},{}],29:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar createAuthorizationData = _dereq_(\"./create-authorization-data\");\nvar jsonClone = _dereq_(\"./json-clone\");\nvar constants = _dereq_(\"./constants\");\n\nfunction addMetadata(configuration, data) {\n var key;\n var attrs = data ? jsonClone(data) : {};\n var authAttrs = createAuthorizationData(configuration.authorization).attrs;\n var _meta = jsonClone(configuration.analyticsMetadata);\n\n attrs.braintreeLibraryVersion = constants.BRAINTREE_LIBRARY_VERSION;\n\n for (key in attrs._meta) {\n if (attrs._meta.hasOwnProperty(key)) {\n _meta[key] = attrs._meta[key];\n }\n }\n\n attrs._meta = _meta;\n\n if (authAttrs.tokenizationKey) {\n attrs.tokenizationKey = authAttrs.tokenizationKey;\n } else {\n attrs.authorizationFingerprint = authAttrs.authorizationFingerprint;\n }\n\n return attrs;\n}\n\nfunction addEventMetadata(clientInstanceOrPromise) {\n var configuration = clientInstanceOrPromise.getConfiguration();\n var authAttrs = createAuthorizationData(configuration.authorization).attrs;\n var isProd = configuration.gatewayConfiguration.environment === \"production\";\n\n /* eslint-disable camelcase */\n var metadata = {\n api_integration_type: configuration.analyticsMetadata.integrationType,\n app_id: window.location.host,\n c_sdk_ver: constants.VERSION,\n component: \"braintreeclientsdk\",\n merchant_sdk_env: isProd ? \"production\" : \"sandbox\",\n merchant_id: configuration.gatewayConfiguration.merchantId,\n event_source: \"web\",\n platform: constants.PLATFORM,\n platform_version: window.navigator.userAgent,\n session_id: configuration.analyticsMetadata.sessionId,\n client_session_id: configuration.analyticsMetadata.sessionId,\n tenant_name: \"braintree\",\n product_name: \"BT_DCC\",\n space_key: \"SKDUYK\",\n };\n /* eslint-enable camelcase */\n\n if (authAttrs.tokenizationKey) {\n metadata.tokenization_key = authAttrs.tokenizationKey; // eslint-disable-line camelcase\n } else {\n metadata.auth_fingerprint = authAttrs.authorizationFingerprint; // eslint-disable-line camelcase\n }\n\n return metadata;\n}\n\nmodule.exports = {\n addMetadata: addMetadata,\n addEventMetadata: addEventMetadata,\n};\n\n},{\"./constants\":34,\"./create-authorization-data\":37,\"./json-clone\":44}],30:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar constants = _dereq_(\"./constants\");\nvar metadata = _dereq_(\"./add-metadata\");\nvar assign = _dereq_(\"./assign\").assign;\n\nfunction sendPaypalEvent(clientInstanceOrPromise, eventName, callback) {\n return sendPaypalEventPlusFields(\n clientInstanceOrPromise,\n eventName,\n {},\n callback\n );\n}\n\nfunction sendPaypalEventPlusFields(\n clientInstanceOrPromise,\n eventName,\n extraFields,\n callback\n) {\n var timestamp = Date.now();\n if (extraFields.flow === \"vault\") {\n extraFields.context_type = \"BA_Token\"; //eslint-disable-line camelcase\n } else if (extraFields.flow === \"checkout\") {\n extraFields.context_type = \"EC_Token\"; //eslint-disable-line camelcase\n }\n\n return Promise.resolve(clientInstanceOrPromise)\n .then(function (client) {\n var request = client._request;\n var url = constants.ANALYTICS_URL;\n var qualifiedEvent = constants.ANALYTICS_PREFIX + eventName;\n var configuration = client.getConfiguration();\n var isProd =\n configuration.gatewayConfiguration.environment === \"production\";\n var data = {\n events: [],\n tracking: [],\n };\n var trackingMeta = metadata.addEventMetadata(client, data);\n\n trackingMeta.event_name = qualifiedEvent; // eslint-disable-line camelcase\n trackingMeta.t = timestamp;\n\n data.events = [\n {\n level: \"info\",\n event: qualifiedEvent,\n payload: assign(\n {\n env: isProd ? \"production\" : \"sandbox\",\n timestamp: timestamp,\n },\n extraFields\n ),\n },\n ];\n data.tracking = [trackingMeta];\n\n if (extraFields && typeof extraFields === \"object\") {\n data.tracking = [appendExtraFieldsTo(trackingMeta, extraFields)];\n }\n\n return request(\n {\n url: url,\n method: \"post\",\n data: data,\n timeout: constants.ANALYTICS_REQUEST_TIMEOUT_MS,\n },\n callback\n );\n })\n .catch(function (err) {\n if (callback) {\n callback(err);\n }\n });\n}\n\nfunction appendExtraFieldsTo(trackingMeta, extraFields) {\n var result = {};\n var allowedExtraFields = assign({}, extraFields);\n\n Object.keys(allowedExtraFields).forEach(function (field) {\n if (constants.ALLOWED_EXTRA_EVENT_FIELDS.indexOf(field) === -1) {\n delete allowedExtraFields[field];\n }\n });\n\n result = assign(trackingMeta, allowedExtraFields);\n\n return result;\n}\n\nmodule.exports = {\n sendEvent: sendPaypalEvent,\n sendEventPlus: sendPaypalEventPlusFields,\n};\n\n},{\"./add-metadata\":29,\"./assign\":32,\"./constants\":34}],31:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar loadScript = _dereq_(\"@braintree/asset-loader/load-script\");\nvar loadConnectScript = _dereq_(\"@paypal/accelerated-checkout-loader\");\n\nmodule.exports = {\n loadScript: loadScript,\n loadFastlane: loadConnectScript.loadAxo,\n};\n\n},{\"@braintree/asset-loader/load-script\":2,\"@paypal/accelerated-checkout-loader\":8}],32:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar assignNormalized =\n typeof Object.assign === \"function\" ? Object.assign : assignPolyfill;\n\nfunction assignPolyfill(destination) {\n var i, source, key;\n\n for (i = 1; i < arguments.length; i++) {\n source = arguments[i];\n for (key in source) {\n if (source.hasOwnProperty(key)) {\n destination[key] = source[key];\n }\n }\n }\n\n return destination;\n}\n\nmodule.exports = {\n assign: assignNormalized,\n _assign: assignPolyfill,\n};\n\n},{}],33:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar enumerate = _dereq_(\"./enumerate\");\n\n/**\n * @class\n * @global\n * @param {object} options Construction options\n * @classdesc This class is used to report error conditions, frequently as the first parameter to callbacks throughout the Braintree SDK.\n * @description <strong>You cannot use this constructor directly. Interact with instances of this class through {@link callback callbacks}.</strong>\n */\nfunction BraintreeError(options) {\n if (!BraintreeError.types.hasOwnProperty(options.type)) {\n throw new Error(options.type + \" is not a valid type.\");\n }\n\n if (!options.code) {\n throw new Error(\"Error code required.\");\n }\n\n if (!options.message) {\n throw new Error(\"Error message required.\");\n }\n\n this.name = \"BraintreeError\";\n\n /**\n * @type {string}\n * @description A code that corresponds to specific errors.\n */\n this.code = options.code;\n\n /**\n * @type {string}\n * @description A short description of the error.\n */\n this.message = options.message;\n\n /**\n * @type {BraintreeError.types}\n * @description The type of error.\n */\n this.type = options.type;\n\n /**\n * @type {object=}\n * @description Additional information about the error, such as an underlying network error response.\n */\n this.details = options.details;\n}\n\nBraintreeError.prototype = Object.create(Error.prototype);\nBraintreeError.prototype.constructor = BraintreeError;\n\n/**\n * Enum for {@link BraintreeError} types.\n * @name BraintreeError.types\n * @enum\n * @readonly\n * @memberof BraintreeError\n * @property {string} CUSTOMER An error caused by the customer.\n * @property {string} MERCHANT An error that is actionable by the merchant.\n * @property {string} NETWORK An error due to a network problem.\n * @property {string} INTERNAL An error caused by Braintree code.\n * @property {string} UNKNOWN An error where the origin is unknown.\n */\nBraintreeError.types = enumerate([\n \"CUSTOMER\",\n \"MERCHANT\",\n \"NETWORK\",\n \"INTERNAL\",\n \"UNKNOWN\",\n]);\n\nBraintreeError.findRootError = function (err) {\n if (\n err instanceof BraintreeError &&\n err.details &&\n err.details.originalError\n ) {\n return BraintreeError.findRootError(err.details.originalError);\n }\n\n return err;\n};\n\nmodule.exports = BraintreeError;\n\n},{\"./enumerate\":39}],34:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar VERSION = \"3.126.0\";\nvar PLATFORM = \"web\";\n\nvar CLIENT_API_URLS = {\n production: \"https://api.braintreegateway.com:443\",\n sandbox: \"https://api.sandbox.braintreegateway.com:443\",\n};\n\nvar ASSETS_URLS = {\n production: \"https://assets.braintreegateway.com\",\n sandbox: \"https://assets.braintreegateway.com\",\n};\n\nvar GRAPHQL_URLS = {\n production: \"https://payments.braintree-api.com/graphql\",\n sandbox: \"https://payments.sandbox.braintree-api.com/graphql\",\n};\n\n// endRemoveIf(production)\n\nmodule.exports = {\n ANALYTICS_PREFIX: PLATFORM + \".\",\n ANALYTICS_REQUEST_TIMEOUT_MS: 2000,\n ANALYTICS_URL: \"https://www.paypal.com/xoplatform/logger/api/logger\",\n ASSETS_URLS: ASSETS_URLS,\n CLIENT_API_URLS: CLIENT_API_URLS,\n FRAUDNET_SOURCE: \"BRAINTREE_SIGNIN\",\n FRAUDNET_FNCLS: \"fnparams-dede7cc5-15fd-4c75-a9f4-36c430ee3a99\",\n FRAUDNET_URL: \"https://c.paypal.com/da/r/fb.js\",\n BUS_CONFIGURATION_REQUEST_EVENT: \"BUS_CONFIGURATION_REQUEST\",\n GRAPHQL_URLS: GRAPHQL_URLS,\n INTEGRATION_TIMEOUT_MS: 60000,\n VERSION: VERSION,\n INTEGRATION: \"custom\",\n SOURCE: \"client\",\n PLATFORM: PLATFORM,\n BRAINTREE_LIBRARY_VERSION: \"braintree/\" + PLATFORM + \"/\" + VERSION,\n ALLOWED_EXTRA_EVENT_FIELDS: [\"context_id\", \"context_type\"],\n};\n\n},{}],35:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar BraintreeError = _dereq_(\"./braintree-error\");\nvar sharedErrors = _dereq_(\"./errors\");\n\nmodule.exports = function (instance, methodNames) {\n methodNames.forEach(function (methodName) {\n instance[methodName] = function () {\n throw new BraintreeError({\n type: sharedErrors.METHOD_CALLED_AFTER_TEARDOWN.type,\n code: sharedErrors.METHOD_CALLED_AFTER_TEARDOWN.code,\n message: methodName + \" cannot be called after teardown.\",\n });\n };\n });\n};\n\n},{\"./braintree-error\":33,\"./errors\":40}],36:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar BraintreeError = _dereq_(\"./braintree-error\");\n\nfunction convertToBraintreeError(originalErr, btErrorObject) {\n if (originalErr instanceof BraintreeError) {\n return originalErr;\n }\n\n return new BraintreeError({\n type: btErrorObject.type,\n code: btErrorObject.code,\n message: btErrorObject.message,\n details: {\n originalError: originalErr,\n },\n });\n}\n\nmodule.exports = convertToBraintreeError;\n\n},{\"./braintree-error\":33}],37:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar atob = _dereq_(\"../lib/vendor/polyfill\").atob;\nvar CLIENT_API_URLS = _dereq_(\"../lib/constants\").CLIENT_API_URLS;\n\nfunction _isTokenizationKey(str) {\n return /^[a-zA-Z0-9]+_[a-zA-Z0-9]+_[a-zA-Z0-9_]+$/.test(str);\n}\n\nfunction _parseTokenizationKey(tokenizationKey) {\n var tokens = tokenizationKey.split(\"_\");\n var environment = tokens[0];\n var merchantId = tokens.slice(2).join(\"_\");\n\n return {\n merchantId: merchantId,\n environment: environment,\n };\n}\n\nfunction createAuthorizationData(authorization) {\n var parsedClientToken, parsedTokenizationKey;\n var data = {\n attrs: {},\n configUrl: \"\",\n };\n\n if (_isTokenizationKey(authorization)) {\n parsedTokenizationKey = _parseTokenizationKey(authorization);\n data.environment = parsedTokenizationKey.environment;\n data.attrs.tokenizationKey = authorization;\n data.configUrl =\n CLIENT_API_URLS[parsedTokenizationKey.environment] +\n \"/merchants/\" +\n parsedTokenizationKey.merchantId +\n \"/client_api/v1/configuration\";\n } else {\n parsedClientToken = JSON.parse(atob(authorization));\n data.environment = parsedClientToken.environment;\n data.attrs.authorizationFingerprint =\n parsedClientToken.authorizationFingerprint;\n data.configUrl = parsedClientToken.configUrl;\n data.graphQL = parsedClientToken.graphQL;\n }\n\n return data;\n}\n\nmodule.exports = createAuthorizationData;\n\n},{\"../lib/constants\":34,\"../lib/vendor/polyfill\":49}],38:[function(_dereq_,module,exports){\n\"use strict\";\n\nmodule.exports = function (fn) {\n return function () {\n // IE9 doesn't support passing arguments to setTimeout so we have to emulate it.\n var args = arguments;\n\n setTimeout(function () {\n fn.apply(null, args);\n }, 1);\n };\n};\n\n},{}],39:[function(_dereq_,module,exports){\n\"use strict\";\n\nfunction enumerate(values, prefix) {\n prefix = prefix == null ? \"\" : prefix;\n\n return values.reduce(function (enumeration, value) {\n enumeration[value] = prefix + value;\n\n return enumeration;\n }, {});\n}\n\nmodule.exports = enumerate;\n\n},{}],40:[function(_dereq_,module,exports){\n\"use strict\";\n\n/**\n * @name BraintreeError.Shared Internal Error Codes\n * @ignore\n * @description These codes should never be experienced by the merchant directly.\n * @property {INTERNAL} INVALID_USE_OF_INTERNAL_FUNCTION Occurs when the client is created without a gateway configuration. Should never happen.\n */\n\n/**\n * @name BraintreeError.Shared Errors - Component Creation Error Codes\n * @description Errors that occur when creating components.\n * @property {MERCHANT} INSTANTIATION_OPTION_REQUIRED Occurs when a component is created that is missing a required option.\n * @property {MERCHANT} INCOMPATIBLE_VERSIONS Occurs when a component is created with a client with a different version than the component.\n * @property {NETWORK} CLIENT_SCRIPT_FAILED_TO_LOAD Occurs when a component attempts to load the Braintree client script, but the request fails.\n */\n\n/**\n * @name BraintreeError.Shared Errors - Component Instance Error Codes\n * @description Errors that occur when using instances of components.\n * @property {MERCHANT} METHOD_CALLED_AFTER_TEARDOWN Occurs when a method is called on a component instance after it has been torn down.\n */\n\nvar BraintreeError = _dereq_(\"./braintree-error\");\n\nmodule.exports = {\n INVALID_USE_OF_INTERNAL_FUNCTION: {\n type: BraintreeError.types.INTERNAL,\n code: \"INVALID_USE_OF_INTERNAL_FUNCTION\",\n },\n INSTANTIATION_OPTION_REQUIRED: {\n type: BraintreeError.types.MERCHANT,\n code: \"INSTANTIATION_OPTION_REQUIRED\",\n },\n INCOMPATIBLE_VERSIONS: {\n type: BraintreeError.types.MERCHANT,\n code: \"INCOMPATIBLE_VERSIONS\",\n },\n CLIENT_SCRIPT_FAILED_TO_LOAD: {\n type: BraintreeError.types.NETWORK,\n code: \"CLIENT_SCRIPT_FAILED_TO_LOAD\",\n message: \"Braintree client script could not be loaded.\",\n },\n METHOD_CALLED_AFTER_TEARDOWN: {\n type: BraintreeError.types.MERCHANT,\n code: \"METHOD_CALLED_AFTER_TEARDOWN\",\n },\n};\n\n},{\"./braintree-error\":33}],41:[function(_dereq_,module,exports){\n\"use strict\";\n\nfunction convertDateStringToDate(dateString) {\n var splitDate = dateString.split(\"-\");\n\n return new Date(splitDate[0], splitDate[1], splitDate[2]);\n}\n\nfunction isDateStringBeforeOrOn(firstDate, secondDate) {\n return (\n convertDateStringToDate(firstDate) <= convertDateStringToDate(secondDate)\n );\n}\n\nmodule.exports = isDateStringBeforeOrOn;\n\n},{}],42:[function(_dereq_,module,exports){\n\"use strict\";\n\nmodule.exports = function (creditCardDetails) {\n return (\n creditCardDetails &&\n creditCardDetails.hasOwnProperty(\"fastlane\") &&\n creditCardDetails.fastlane\n );\n};\n\n},{}],43:[function(_dereq_,module,exports){\n\"use strict\";\n\nvar parser;\nvar legalHosts = {\n \"paypal.com\": 1,\n \"braintreepayments.com\": 1,\n \"braintreegateway.com\": 1,\n \"braintree-api.com\": 1,\n};\n\n// endRemoveIf(production)\n\nfunction stripSubdomains(domain) {\n return domain.split(\".\").slice(-2).join(\".\");\n}\n\nfunction isVerifiedDomain(url) {\n var mainDomain;\n\n url = url.toLowerCase();\n\n if (!/^https:/.test(url)) {\n return false;\n }\n\n parser = parser || document.createElement(\"a\");\n parser.href = url;\n mainDomain = stripSubdomains(parser.hostname);\n\n return legalHosts.hasOwnProperty(mainDomain);\n}\n\nmodule.exports = isVerifiedDomain;\n\n},{}],44:[function(_dereq_,module,exports){\n\"use strict\";\n\nmodule.exports = function (value) {\n return JSON.parse(JSON.stringify(value));\n};\n\n},{}],45:[function(_dereq_,module,exports){\n\"use strict\";\n\nmodule.exports = function (obj) {\n return Object.keys(obj).filter(function (key) {\n return typeof obj[key] === \"function\";\n });\n};\n\n},{}],46:[function(_dereq_,module,exports){\n\"use strict\";\n\nfunction once(fn) {\n var called = false;\n\n return function () {\n if (!called) {\n called = true;\n fn.apply(null, arguments);\n }\n };\n}\n\nmodule.exports = once;\n\n},{}],47:[function(_dereq_,module,exports){\n\"use strict\";\n\nfunction _notEmpty(obj) {\n var key;\n\n for (key in obj) {\n if (obj.hasOwnProperty(key)) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction _isArray(value) {\n return (\n (value &&\n typeof value === \"object\" &&\n typeof value.length === \"number\" &&\n Object.prototype.toString.call(value) === \"[object Array]\") ||\n false\n );\n}\n\nfunction hasQueryParams(url) {\n url = url || window.location.href;\n\n return /\\?/.test(url);\n}\n\nfunction parse(url) {\n var query, params;\n\n url = url || window.location.href;\n\n if (!hasQueryParams(url)) {\n return {};\n }\n\n query = url.split(\"?\")[1] || \"\";\n query = query.replace(/#.*$/, \"\").split(\"&\");\n\n params = query.reduce(function (toReturn, keyValue) {\n var parts = keyValue.split(\"=\");\n var key = decodeURIComponent(parts[0]);\n var value = decodeURIComponent(parts[1]);\n\n toReturn[key] = value;\n\n return toReturn;\n }, {});\n\n return params;\n}\n\nfunction stringify(params, namespace) {\n var k, v, p;\n var query = [];\n\n for (p in params) {\n if (!params.hasOwnProperty(p)) {\n continue;\n }\n\n v = params[p];\n\n if (namespace) {\n if (_isArray(params)) {\n k = namespace + \"[]\";\n } else {\n k = namespace + \"[\" + p + \"]\";\n }\n } else {\n k = p;\n }\n if (typeof v === \"object\") {\n query.push(stringify(v, k));\n } else {\n query.push(encodeURIComponent(k) + \"=\" + encodeURIComponent(v));\n }\n }\n\n return query.join(\"&\");\n}\n\nfunction queryify(url, params) {\n url = url || \"\";\n\n if (params != null && typeof params === \"object\" && _notEmpty(params)) {\n url += url.indexOf(\"?\") === -1 ? \"?\" : \"\";\n url += url.indexOf(\"=\") !== -1 ? \"&\" : \"\";\n url += stringify(params);\n }\n\n return url;\n}\n\nmodule.exports = {\n parse: parse,\n stringify: stringify,\n queryify: queryify,\n hasQueryParams: hasQueryParams,\n};\n\n},{}],48:[function(_dereq_,module,exports){\n\"use strict\";\n\nmodule.exports = function (snakeString) {\n if (snakeString.indexOf(\"_\") === -1) {\n return snakeString;\n }\n\n return snakeString.toLowerCase().replace(/(\\_\\w)/g, function (match) {\n return match[1].toUpperCase();\n });\n};\n\n},{}],49:[function(_dereq_,module,exports){\n\"use strict\";\n\n// NEXT_MAJOR_VERSION old versions of IE don't have atob, in the\n// next major version, we're dropping support for those versions\n// so we can eliminate the need to have this atob polyfill\nvar atobNormalized = typeof atob === \"function\" ? atob : atobPolyfill;\n\nfunction atobPolyfill(base64String) {\n var a, b, c, b1, b2, b3, b4, i;\n var base64Matcher =\n /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})([=]{1,2})?$/;\n var characters =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n var result = \"\";\n\n if (!base64Matcher.test(base64String)) {\n throw new Error(\"Non base64 encoded input passed to window.atob polyfill\");\n }\n\n i = 0;\n do {\n b1 = characters.indexOf(base64String.charAt(i++));\n b2 = characters.indexOf(base64String.charAt(i++));\n b3 = characters.indexOf(base64String.charAt(i++));\n b4 = characters.indexOf(base64String.charAt(i++));\n\n a = ((b1 & 0x3f) << 2) | ((b2 >> 4) & 0x3);\n b = ((b2 & 0xf) << 4) | ((b3 >> 2) & 0xf);\n c = ((b3 & 0x3) << 6) | (b4 & 0x3f);\n\n result +=\n String.fromCharCode(a) +\n (b ? String.fromCharCode(b) : \"\") +\n (c ? String.fromCharCode(c) : \"\");\n } while (i < base64String.length);\n\n return result;\n}\n\nmodule.exports = {\n atob: function (base64String) {\n return atobNormalized.call(window, base64String);\n },\n _atob: atobPolyfill,\n};\n\n},{}]},{},[13])(13)\n});\n"],"names":["f","module","r","e","n","t","i","c","require","u","a","p","_dereq_","exports","scriptPromiseCache","loadScript","options","scriptLoadPromise","stringifiedOptions","script","attrs","container","key","resolve","reject","uuid","v","deferred","fn","args","_i","err","once","called","promiseOrCallback","promise","callback","data","deferred_1","once_1","promise_or_callback_1","wrapPromise","lastArg","target","ignoreMethods","includePrivateMethods","methods","method","isNotPrivateMethod","isNonConstructorFunction","isNotAnIgnoredMethod","original","global","factory","__awaiter","thisArg","_arguments","P","generator","adopt","value","fulfilled","step","rejected","result","__generator","body","_","y","g","verb","op","dist","loadScript$1","loadScript_1$1","loadStylesheet$1","stylesheet","loadScript_1","loadStylesheet","CDNX_PROD","ASSET_NAME","FL_NAMESPACE","ASSET_PATH","LOCALE_PATH","constants","AxoSupportedPlatforms","isAmdEnv","isRequireJsEnv","safeLoadBtModule","loadConfig","version","minified","_a","_b","bt","existingVersion","_c","getBraintree","loadBtModule","module_1","BtModule","BT_NAMESPACE","BT_ASSET_NAME","btModulesLoadConfig","loadAxo","btSdkVersion","assetUrl","localeUrl","getAssetsUrl","getLocaleUrl","loadAXOScript","url","moduleName_1","generateAssetUrl","bundleId","assetName","BRAINTREE_VERSION","GraphQL","request","isVerifiedDomain","BraintreeError","convertToBraintreeError","getGatewayConfiguration","createAuthorizationData","metadata","assign","analytics","errors","VERSION","GRAPHQL_URLS","convertMethodsToError","assets","FRAUDNET_FNCLS","FRAUDNET_SOURCE","FRAUDNET_URL","cachedClients","Client","configuration","configurationJSON","gatewayConfiguration","property","clientInstance","authData","client","clientMetadataId","el","config","additionalData","authorizationFingerprint","parameters","pieces","component","self","requestPromise","optionName","api","baseUrl","requestOptions","shouldCollectData","getAuthorizationHeadersForGraphQL","kind","status","resolvedData","requestError","formatRequestError","response","token","isDateStringBeforeOrOn","getConfiguration","inputSessionId","configUrl","reqOptions","sessionId","analyticsMetadata","errorTemplate","sharedErrors","create","querystring","prepBody","parseBody","xhr","isXHRAvailable","GraphQLRequest","DefaultRequest","MAX_TCP_RETRYCOUNT","TCP_PRECONNECT_BUG_STATUS_CODE","requestShouldRetry","graphQLRequestShouldRetryWithClientApi","errorClass","_requestWithRetry","tcpRetryCount","cb","resBody","ajaxRequest","headers","parsedBody","graphQL","timeout","req","isGraphQLRequest","requestOpenError","headerKey","errorResponseAdapter","cardTypeTransforms","configurationResponseAdapter","responseBody","ctx","adaptedResponse","adaptConfigurationResponseBody","feature","mapCardTypes","challenge","cardTypes","cardTypeTransformMap","acc","type","CARD_BRAND_MAP","BIN_DATA_MAP","AUTHENTICATION_INSIGHT_MAP","creditCardTokenizationFastlaneResponseAdapter","adaptTokenizeCreditCardForFastlaneResponseBody","creditCard","lastTwo","binData","regulationEnvironment","creditCardTokenizationResponseAdapter","adaptTokenizeCreditCardResponseBody","userErrorResponseAdapter","errorWithClassResponseAdapter","fieldErrors","buildFieldErrors","getLegacyMessage","error","addFieldError","inputPath","errorDetail","fieldError","legacyCode","inputField","candidate","legacyMessages","field","CONFIGURATION_QUERY","createMutation","hasAuthenticationInsight","mutation","createCreditCardForFastlaneTokenizationBody","fastlane","termsAndConditionsVersion","termsAndConditionsCountry","email","optIn","shippingAddress","variables","createCreditCardTokenizationBody","ccpcVariables","cc","billingAddress","expDate","expirationMonth","expirationYear","addValidationRule","input","validate","creditCardForFastlaneTokenization","creditCardTokenization","features","disallowedInputPaths","featureEnabled","path","containsDisallowedlistedKeys","clientApiPrefix","pathParts","keys","accumulator","snakeCaseToCamelCase","isFastlaneCheckout","creditCardTokenizationBodyGenerator","creditCardForFastlaneTokenizationBodyGenerator","configurationBodyGenerator","generators","isFastlane","adapters","context","clientApiPath","formattedBody","formatBodyKeys","generatedBody","authorization","httpStatus","parsedResponse","isGraphQLError","originalBody","camelCaseKey","AJAXDriver","getRequestObject","jsonClone","addMetadata","authAttrs","_meta","addEventMetadata","clientInstanceOrPromise","isProd","sendPaypalEvent","eventName","sendPaypalEventPlusFields","extraFields","timestamp","qualifiedEvent","trackingMeta","appendExtraFieldsTo","allowedExtraFields","loadConnectScript","assignNormalized","assignPolyfill","destination","source","enumerate","PLATFORM","CLIENT_API_URLS","ASSETS_URLS","instance","methodNames","methodName","originalErr","btErrorObject","atob","_isTokenizationKey","str","_parseTokenizationKey","tokenizationKey","tokens","environment","merchantId","parsedClientToken","parsedTokenizationKey","values","prefix","enumeration","convertDateStringToDate","dateString","splitDate","firstDate","secondDate","creditCardDetails","parser","legalHosts","stripSubdomains","domain","mainDomain","obj","_notEmpty","_isArray","hasQueryParams","parse","query","params","toReturn","keyValue","parts","stringify","namespace","k","queryify","snakeString","match","atobNormalized","atobPolyfill","base64String","b","b1","b2","b3","b4","base64Matcher","characters"],"mappings":"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","x_google_ignoreList":[0]}
|