{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/constants/button.js","webpack:///./src/constants/checkout.js","webpack:///./src/constants/funding.js","webpack:///./src/constants/misc.js","webpack:///./src/constants/fpti.js","webpack:///./src/constants/country.js","webpack:///./src/constants/locale.js","webpack:///./src/lib/jsx.js","webpack:///./node_modules/zalgo-promise/src/utils.js","webpack:///./node_modules/zalgo-promise/src/exceptions.js","webpack:///./node_modules/zalgo-promise/src/flush.js","webpack:///./node_modules/zalgo-promise/src/promise.js","webpack:///./src/lib/device.js","webpack:///./node_modules/@paypal/sdk-constants/src/params.js","webpack:///./src/lib/script.js","webpack:///./src/lib/logger.js","webpack:///./src/lib/proxy.js","webpack:///./src/lib/eligibility.js","webpack:///./src/lib/errors.js","webpack:///./src/lib/http.js","webpack:///./src/lib/throttle.js","webpack:///./src/lib/meta.js","webpack:///./src/lib/funding.js","webpack:///./node_modules/beaver-logger/client/util.js","webpack:///./node_modules/beaver-logger/client/builders.js","webpack:///./node_modules/beaver-logger/client/config.js","webpack:///./node_modules/beaver-logger/client/logger.js","webpack:///./node_modules/beaver-logger/client/performance.js","webpack:///./node_modules/beaver-logger/client/init.js","webpack:///./node_modules/beaver-logger/client/transitions.js","webpack:///./src/config/config.js","webpack:///./node_modules/zoid/src/lib/util.js","webpack:///./node_modules/zoid/src/lib/fn.js","webpack:///./node_modules/zoid/src/lib/dom.js","webpack:///./node_modules/zoid/src/lib/promise.js","webpack:///./node_modules/zoid/src/lib/css.js","webpack:///./node_modules/zoid/src/lib/decorators.js","webpack:///./node_modules/zoid/src/lib/logger.js","webpack:///./node_modules/zoid/src/lib/global.js","webpack:///./node_modules/cross-domain-utils/src/util.js","webpack:///./node_modules/cross-domain-utils/src/constants.js","webpack:///./node_modules/cross-domain-utils/src/utils.js","webpack:///./node_modules/zoid/src/constants.js","webpack:///./node_modules/post-robot/src/global.js","webpack:///./node_modules/post-robot/src/conf/constants.js","webpack:///./node_modules/post-robot/src/conf/config.js","webpack:///./node_modules/belter/src/screenHeights.js","webpack:///./node_modules/belter/src/device.js","webpack:///./node_modules/belter/src/util.js","webpack:///./node_modules/belter/src/dom.js","webpack:///./node_modules/belter/src/constants.js","webpack:///./src/button/config.js","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./src/lib/util.js","webpack:///./node_modules/post-robot/src/drivers/send/strategies.js","webpack:///./node_modules/post-robot/src/drivers/send/index.js","webpack:///./node_modules/post-robot/src/drivers/listeners.js","webpack:///./node_modules/post-robot/src/drivers/receive/types.js","webpack:///./node_modules/post-robot/src/drivers/receive/index.js","webpack:///./node_modules/post-robot/src/public/client.js","webpack:///./node_modules/post-robot/src/public/server.js","webpack:///./node_modules/post-robot/src/public/config.js","webpack:///./node_modules/post-robot/src/public/index.js","webpack:///./node_modules/post-robot/src/clean.js","webpack:///./node_modules/post-robot/src/interface.js","webpack:///./node_modules/post-robot/src/index.js","webpack:///./node_modules/post-robot/src/lib/util.js","webpack:///./node_modules/post-robot/src/lib/serialize.js","webpack:///./node_modules/post-robot/src/lib/ready.js","webpack:///./node_modules/cross-domain-safe-weakmap/src/util.js","webpack:///./node_modules/cross-domain-safe-weakmap/src/weakmap.js","webpack:///./node_modules/cross-domain-safe-weakmap/src/native.js","webpack:///./src/compat/fallback.js","webpack:///./src/checkout/component.js","webpack:///./src/resources/fundingLogos/p24.jsx","webpack:///./src/resources/fundingLogos/sofort.jsx","webpack:///./src/resources/fundingLogos/ideal.jsx","webpack:///./src/resources/fundingLogos/giropay.jsx","webpack:///./src/resources/fundingLogos/eps.jsx","webpack:///./src/resources/fundingLogos/mybank.jsx","webpack:///./src/resources/fundingLogos/bancontact.jsx","webpack:///./src/resources/fundingLogos/blik.jsx","webpack:///./src/resources/fundingLogos/maxima.jsx","webpack:///./src/resources/fundingLogos/boleto.jsx","webpack:///./src/resources/fundingLogos/oxxo.jsx","webpack:///./src/resources/fundingLogos/mercadopago.jsx","webpack:///./src/resources/fundingLogos/paypal.jsx","webpack:///./src/resources/fundingLogos/credit.jsx","webpack:///./src/resources/fundingLogos/index.js","webpack:///./src/resources/fundingLogos/pp_white.svg","webpack:///./src/resources/fundingLogos/pp_blue.svg","webpack:///./src/resources/fundingLogos/pp_black.svg","webpack:///./src/resources/fundingLogos/venmo_white.svg","webpack:///./src/resources/fundingLogos/venmo_blue.svg","webpack:///./src/resources/fundingLogos/itau.svg","webpack:///./src/resources/fundingLogos/elv.svg","webpack:///./src/resources/fundingLogos/elv_white.svg","webpack:///./src/resources/cardLogos/index.js","webpack:///./src/resources/cardLogos/visa.svg","webpack:///./src/resources/cardLogos/amex.svg","webpack:///./src/resources/cardLogos/mastercard.svg","webpack:///./src/resources/cardLogos/maestro.svg","webpack:///./src/resources/cardLogos/discover.svg","webpack:///./src/resources/cardLogos/hiper.svg","webpack:///./src/resources/cardLogos/elo.svg","webpack:///./src/resources/cardLogos/jcb.svg","webpack:///./src/resources/cardLogos/cup.svg","webpack:///./src/funding/config.js","webpack:///./src/lib/session.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/applyDecoratedDescriptor.js","webpack:///./node_modules/zoid/src/component/base.js","webpack:///./node_modules/zoid/node_modules/belter/src/dom.js","webpack:///./node_modules/zoid/src/component/window.js","webpack:///./node_modules/zoid/src/component/child/props.js","webpack:///./node_modules/zoid/src/component/child/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/zoid/src/component/parent/drivers.js","webpack:///./node_modules/zoid/src/component/parent/validate.js","webpack:///./node_modules/zoid/src/component/parent/props.js","webpack:///./node_modules/zoid/src/component/parent/index.js","webpack:///./node_modules/zoid/node_modules/belter/src/util.js","webpack:///./node_modules/zoid/src/component/delegate/index.js","webpack:///./node_modules/zoid/src/component/component/templates/container.jsx","webpack:///./node_modules/zoid/src/component/component/templates/component.jsx","webpack:///./node_modules/zoid/src/component/component/index.js","webpack:///./node_modules/zoid/src/component/component/validate.js","webpack:///./node_modules/zoid/src/component/component/props.js","webpack:///./node_modules/zoid/src/interface.js","webpack:///./node_modules/post-robot/src/bridge/bridge.js","webpack:///./node_modules/post-robot/src/bridge/common.js","webpack:///./node_modules/post-robot/src/bridge/child.js","webpack:///./node_modules/post-robot/src/bridge/parent.js","webpack:///./src/lib/dom.js","webpack:///./node_modules/zoid/src/error.js","webpack:///./src/button/props.js","webpack:///./src/funding/funding.js","webpack:///./src/lib/security.js","webpack:///./src/integrations/braintree.js","webpack:///./node_modules/zoid/src/drivers/index.js","webpack:///./src/lib/beacon.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./src/checkout/template/componentTemplate.jsx","webpack:///./src/checkout/template/containerStyle/base.js","webpack:///./src/checkout/template/sandboxStyle/base.js","webpack:///./src/checkout/template/containerTemplate.jsx","webpack:///./src/integrations/checkout.js","webpack:///./src/lib/namespace.js","webpack:///./src/checkout/template/containerContent.js","webpack:///./node_modules/hi-base32/src/base32.js","webpack:///./node_modules/zoid/src/drivers/script.js","webpack:///./node_modules/zoid/src/drivers/react.js","webpack:///./node_modules/zoid/src/drivers/vue.js","webpack:///./node_modules/zoid/src/drivers/angular.js","webpack:///./node_modules/zoid/src/drivers/glimmer.js","webpack:///./node_modules/zoid/src/drivers/angular2.js","webpack:///./node_modules/bowser/bowser.min.js","webpack:///./node_modules/post-robot/src/compat/ie.js","webpack:///./node_modules/form-serialize/index.js","webpack:///./src/load.js","webpack:///./node_modules/post-robot/src/bridge/interface.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///(webpack)/buildin/amd-define.js","webpack:///./src/billing/template/containerTemplate.jsx","webpack:///./src/billing/index.js","webpack:///./src/external/pptm-factory.js","webpack:///./src/threeDomainSecure/index.js","webpack:///./src/external/pptm.js","webpack:///./src/api/rest.js","webpack:///./src/experiments.js","webpack:///./src/integrations/popupBridge.js","webpack:///./src/button/validate.js","webpack:///./src/button/template/componentStyle/class.js","webpack:///./src/button/component.jsx","webpack:///./src/button/template/componentStyle/page.js","webpack:///./src/button/template/componentStyle/button.js","webpack:///./src/button/template/componentStyle/layout.js","webpack:///./src/button/template/componentStyle/branding.js","webpack:///./src/button/template/componentStyle/labels.js","webpack:///./src/button/template/componentStyle/color.js","webpack:///./src/button/template/content.js","webpack:///./src/button/template/componentTemplate.jsx","webpack:///./src/button/template/miscComponent.jsx","webpack:///./src/button/template/componentStyle/base.js","webpack:///./src/button/template/componentStyle/responsive.js","webpack:///./src/button/template/componentScript.js","webpack:///./src/button/template/containerTemplate.jsx","webpack:///./src/button/child.js","webpack:///./src/hacks.js","webpack:///./src/card/index.js","webpack:///./src/setup.js","webpack:///./src/interface.js","webpack:///./src/index.js","webpack:///./src/legacy/constants.js","webpack:///./src/legacy/eligibility.js","webpack:///./src/legacy/common.js","webpack:///./src/legacy/button.js","webpack:///./src/legacy/util.js","webpack:///./src/legacy/options.js","webpack:///./src/legacy/interface.js","webpack:///./src/legacy/postBridge.js","webpack:///./src/legacy/ready.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","hasOwnProperty","p","s","BUTTON_STYLE_OPTIONS","LABEL","SIZE","SHAPE","COLOR","LAYOUT","MAXBUTTONS","FUNDINGICONS","BRANDING","TAGLINE","HEIGHT","INSTALLMENTPERIOD","BUTTON_LABEL","PAYPAL","CHECKOUT","PAY","CREDIT","CARD","BUYNOW","INSTALLMENT","VENMO","ITAU","IDEAL","ELV","BANCONTACT","GIROPAY","SOFORT","EPS","MYBANK","P24","BLIK","MAXIMA","BOLETO","OXXO","MERCADOPAGO","BUTTON_COLOR","GOLD","BLUE","SILVER","BLACK","DARKBLUE","WHITE","TRANSPARENT","BUTTON_LOGO_COLOR","ANY","BUTTON_SIZE","TINY","SMALL","MEDIUM","LARGE","HUGE","RESPONSIVE","BUTTON_TAGLINE_COLOR","BUTTON_SHAPE","PILL","RECT","BUTTON_BRANDING","BRANDED","UNBRANDED","BUTTON_LAYOUT","HORIZONTAL","VERTICAL","BUTTON_NUMBER","SINGLE","MULTIPLE","BUTTON_LOGO","PP","CHECKOUT_OVERLAY_COLOR","FUNDING","ZIMPLER","FUNDING_BRAND_LABEL","VISA","MASTERCARD","AMEX","DISCOVER","SWITCH","MAESTRO","HIPER","ELO","JCB","CUP","COFINOGA","COFIDIS","CETELEM","CBNATIONALE","FUNDING_ELIGIBILITY_REASON","PRIMARY","NOT_ENABLED","SECONDARY_DISALLOWED","OPT_OUT","OPT_IN","DISALLOWED_COUNTRY","DEFAULT_COUNTRY","DEFAULT","REMEMBERED","NEED_OPT_IN","COMMIT_NOT_SET","INVALID_ENV","CARD_PRIORITY","ENV","LOCAL","STAGE","SANDBOX","PRODUCTION","TEST","DEMO","USERS","ALL","SOURCE","MANUAL","BUTTON_FACTORY","LOG_LEVEL","DEBUG","INFO","WARN","ERROR","PAYMENT_TYPE","EC_TOKEN","BA_TOKEN","PAY_ID","PPTM_ID","ATTRIBUTE","BUTTON","FUNDING_SOURCE","VERSION","SMART_BUTTON_VERSION","PLATFORM","DESKTOP","MOBILE","FPTI","KEY","FEED","STATE","TRANSITION","BUTTON_TYPE","SESSION_UID","BUTTON_SESSION_UID","TOKEN","CONTEXT_ID","CONTEXT_TYPE","REFERER","SELLER_ID","DATA_SOURCE","BUTTON_SOURCE","ERROR_CODE","ERROR_DESC","PAGE_LOAD_TIME","EXPERIMENT_NAME","TREATMENT_NAME","TRANSITION_TIME","FUNDING_LIST","FUNDING_COUNT","CHOSEN_FUNDING","BUTTON_WIDTH","MAX_BUTTONS","FUNDING_REMEMBERED","BUTTON_TAGLINE_ENABLED","RESPONSE_DURATION","PAYMENT_FLOW","BUTTON_VERSION","PAGE_TYPE","TIMESTAMP","IFRAME","HTML","CUSTOM","_CONTEXT_TYPE","BUTTON_SESSION_ID","CHECKOUTJS","LOAD","PPTM","SCRIPT_LOAD","BUTTON_RENDER","BUTTON_LOAD","BUTTON_CLICK","BUTTON_RENDER_INTRANET_MODE","BUTTON_CLICK_INTRANET_MODE","CREATE_PAYMENT","RECIEVE_PAYMENT","CHECKOUT_INIT","CHECKOUT_APPROVE","CHECKOUT_SHIPPING_CHANGE","CHECKOUT_CANCEL","CHECKOUT_ERROR","EXTERNAL_EXPERIMENT","EXTERNAL_EXPERIMENT_COMPLETE","PPTM_LOAD","PPTM_LOADED","COUNTRY","AD","AE","AG","AI","AL","AM","AN","AO","AR","AT","AU","AW","AZ","BA","BB","BE","BF","BG","BH","BI","BJ","BM","BN","BO","BR","BS","BT","BW","BY","BZ","C2","CA","CD","CG","CH","CI","CK","CL","CM","CN","CO","CR","CV","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GI","GL","GM","GN","GP","GR","GT","GW","GY","HK","HN","HR","HU","ID","IE","IL","IN","IS","IT","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KY","KZ","LA","LC","LI","LK","LS","LT","LU","LV","MA","MC","MD","ME","MG","MH","MK","ML","MN","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PL","PM","PN","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","ST","SV","SZ","TC","TD","TG","TH","TJ","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","VA","VC","VE","VG","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW","LANG","CS","DA","EL","EN","HE","JA","KO","ZH","LANG_TO_DEFAULT_COUNTRY","_LANG_TO_DEFAULT_COUN","ALLOWED_INSTALLMENT_COUNTRIES","ALLOWED_INSTALLMENT_PERIOD","LOCALE","_LOCALE","htmlEncode","html","toString","replace","JsxHTMLNode","props","children","this","_proto","prototype","propsToString","childrenToString","keys","filter","map","join","innerHTML","result","iterate","_i2","length","child","Array","isArray","JsxHTMLNodeContainer","_JsxHTMLNode2","_inheritsLoose","jsxToHTML","_len","arguments","_key","jsxRender","template","renderers","nodes","regexMap","match","type","text","Error","trim","test","break","isPromise","item","Promise","window","Window","constructor","then","err","flushPromise","dispatchedErrors","possiblyUnhandledPromiseHandlers","activeCount","flushActive","promise","resolve","startActive","endActive","ZalgoPromise","handler","_this","resolved","rejected","errorHandled","error","handlers","dispatching","stack","isAsync","res","reject","dispatch","_this2","setTimeout","indexOf","push","j","dispatchPossiblyUnhandledError","asyncReject","chain","firstPromise","secondPromise","_handlers$i","onSuccess","onError","promiseResult","catch","undefined","finally","onFinally","try","timeout","time","_this3","clearTimeout","toPromise","TypeError","lazy","all","promises","count","results","slice","prom","hash","awaitPromises","_loop","items","method","onPossiblyUnhandledException","cancel","splice","context","args","apply","delay","flush","isSupportedNativeBrowser","userAgent","getUserAgent","supportsPopups","isSFVC","isIos","isSafari","isAndroid","isChrome","PAGE_TYPES","HOME","PRODUCT","CART","PRODUCT_LISTING","SEARCH_RESULTS","PRODUCT_DETAILS","MINI_CART","getCurrentScript","memoize","localSDKUrl","config","scripts","document","getElementsByTagName","script","src","split","scriptUrl","hasAttribute","env","currentScript","debug","getScriptVersion","Boolean","__PAYPAL_CHECKOUT__","getCurrentScriptUrl","getDomainSetting","def","hostname","xchild","getParentDomain","getDomain","domain_settings","_i4","_Object$keys2","domain","domainMatches","getRefererDomain","location","host","setupProxyLogTransport","once","setTransport","win","originalMethod","paypalDomain","isSameDomain","send","noop","methods","on","paypalDomainRegex","_ref","data","_arguments","isWindowClosed","source","proxyMethod","getParent","getTransport","initLogger","addPayloadBuilder","referer","path","pathname","country","locale","lang","uid","getSessionID","ver","addHeaderBuilder","addMetaBuilder","state","addTrackingBuilder","payload","contextType","contextID","sessionID","paymentToken","root","token","isPayPalDomain","queryToken","getQueryParam","getToken","buttonSessionID","getButtonSessionID","merchantID","version","pageType","getAttribute","toLowerCase","values","getPageType","Date","now","protocol","PROTOCOL","FILE","init","uri","loggerUrl","heartbeat","logPerformance","prefix","logLevel","setLogLevel","logLevels","loggerConfig","POSTROBOT_CONFIG","bowserCache","getBowser","require","bowser","getBrowser","SUPPORTED_BROWSERS","browser","eligibilityResults","isEligible","isIEIntranet","navigator","_getBrowser","compareVersions","isBrowserEligible","checkRecognizedBrowser","_getBowser","mobile","android","ios","info","flushLogs","logWarn","console","warn","log","checkForDeprecatedIntegration","_script$attributes$ty","attributes","checkForCommonErrors","JSON","stringify","toJSON","isIE","isIECompHeader","message","bar","baz","zomg","a","opener","parent","returnContext","assign","b","headerBuilders","corrids","request","url","_ref$method","_ref$headers","headers","json","body","_ref$win","_ref$timeout","normalizedHeaders","_i6","builtHeaders","headerBuilder","_i8","_Object$keys4","xhr","XMLHttpRequest","addEventListener","responseHeaders","rawHeaders","_rawHeaders$trim$spli2","_line$split","parseHeaders","getAllResponseHeaders","corrID","status","contentType","isJSON","responseText","parse","evt","getResponseHeader","open","setRequestHeader","encodeURIComponent","ontimeout","getThrottle","sample","sticky","group","getStorageID","percentile","getStorageState","storage","throttlePercentiles","Math","floor","random","getThrottlePercentile","treatment","started","forced","localStorage","getItem","isEnabled","isDisabled","getTreatment","checkpointName","_extends2","checkpoint","_extends","expuid","track","logStart","logComplete","getReturnToken","href","payer","prev_corr_ids","options","post","openMetaFrame","iframeEligible","iframeEligibleReason","rememberedFunding","metaFrameUrl","metaFrameUrls","metaFrameDomain","paypalDomains","bridge","metaListener","openBridge","extendUrl","getRememberedFunding","identity","hasRememberedFunding","getSessionState","session","recentlyCheckedRemembered","getRememberedFundingPromises","getGlobalState","global","rememberFundingPromises","getRememberedFundingPromise","isRememberedFunding","rememberFunding","sources","flushRememberedFundingPromises","loadMeta","isFundingRemembered","precacheRememberedFunding","getRenderedButtons","normalizeProps","extend","dest","over","uniqueID","chars","charAt","payloadBuilders","metaBuilders","trackingBuilders","builder","initial_state_name","flushInterval","debounceInterval","sizeLimit","silent","heartbeatConsoleLog","heartbeatInterval","heartbeatTooBusy","heartbeatTooBusyThreshold","autoLog","logUnload","buffer","tracking","transport","_temp","_ref$fireAndForget","fireAndForget","XRequest","ActiveXObject","XDomainRequest","isSameProtocol","req","toUpperCase","headerName","onreadystatechange","readyState","ajax","newTransport","loaded","print","level","event","documentMode","warning","immediateFlush","meta","events","interval","debounce","resolver","rejector","enqueue","timestamp","enablePerformance","performance","timing","connectEnd","navigationStart","abs","timer","startTime","elapsed","parseInt","reset","reqStartElapsed","clientTimer","reqTimer","initiated","conf","heartBeatTimer","heartbeatCount","client_elapsed","req_elapsed","forEach","offset","memory","navigation","getEntries","resource","initiatorType","initPerformance","loop","heartbeatMaxThreshold","lag","heartbeatPayload","setInterval","beaverLogQueue","windowID","pageID","currentState","startTransition","endTransition","toState","elapsedTime","currentTime","transitionName","duration","transition","transition_time","locales","cors","__ENV__","stage","stageDomain","URL","origin","localSDKDomain","ports","default","val","localhostUrl","authCode","throttles","v4_mobile_device","ie_full_page","allow_full_page_fallback","memoize_payment","force_bridge","log_authorize","disable_venmo","creditTestDomains","customCountry","msie","firefox","chrome","safari","opera","msedge","samsungBrowser","silk","ucbrowser","vivaldi","session_uid_lifetime","_apiStage","button","checkout","guest","altpay","stageUrl","port","_ref2","_ref3","_ref4","apiStageUrl","_ref5","corsApiUrls","wwwApiUrls","local","sandbox","production","checkoutUri","_ref7","_ref6","altpayUris","_altpayUris","guestUris","_guestUris","billingUris","_billingUris","buttonUris","_buttonUris","inlinedCardFieldUris","_inlinedCardFieldUris","postBridgeUris","_postBridgeUris","legacyCheckoutUris","_legacyCheckoutUris","buttonJSUrls","_buttonJSUrls","loginUri","hermesLoggerUri","loggerUri","loggerThrottlePercentage","pptmUri","paymentStandardUri","authApiUri","paymentApiUri","orderApiUri","billingApiUri","experienceApiUri","trackingApiUri","_ref8","paypalUrls","checkoutUris","demo","_ref9","_ref10","_ref11","_ref12","_ref13","_ref14","_ref15","_ref16","postBridgeUri","_ref17","_ref18","apiUrls","_ref19","_ref20","_ref21","_ref22","_ref23","_paypalUrl","wwwApiUrl","corsApiUrl","paypalUrl","legacyCheckoutUrls","isTestExperiment","apiUrl","defaultLocale","urlEncode","str","dasherizeToCamel","string","g","obj","pathParts","replaceObject","replacers","fullKey","configurable","itemKey","replacer","replaced","set","_loop2","copyProp","target","descriptor","getOwnPropertyDescriptor","dotify","newobj","every","objectIDs","WeakMap","getObjectID","stringifyError","eventEmitter","triggered","eventName","handlerList","cancelled","listener","trigger","_i3","triggerOnce","called","_len2","_key2","cacheKey","serializeFunctions","__type__","deserializeFunctions","self","appendChild","container","getElementSafe","id","element","Element","nodeType","style","ownerDocument","isElement","getElementById","querySelector","getElement","isDocumentReady","elementReady","el","clearInterval","popup","params","PopupOpenError","writeToWindow","write","close","err2","writeElementToWindow","tag","tagName","documentElement","removeChild","setStyle","styleText","doc","styleSheet","cssText","createTextNode","awaitFrameLoadPromises","awaitFrameLoad","frame","has","linkFrameWindow","contentWindow","awaitFrameWindow","loadedFrame","iframe","createElement","class","className","setAttribute","frameBorder","allowTransparency","backgroundColor","removeEventListener","parseQuery","queryString","_queryString$split2","pair","decodeURIComponent","extendQuery","originalQuery","originalUrl","originalHash","query","_url$split","_originalUrl$split","hashString","bindEvents","eventNames","_i10","VENDOR_PREFIXES","setVendorCSS","capitalizedName","_i12","CSSRule","KEYFRAMES_RULE","WEBKIT_KEYFRAMES_RULE","MOZ_KEYFRAMES_RULE","O_KEYFRAMES_RULE","MS_KEYFRAMES_RULE","ANIMATION_START_EVENTS","ANIMATION_END_EVENTS","animate","clean","stylesheets","styleSheets","cssRules","cssRule","isValidAnimation","startTimeout","endTimeout","startEvent","endEvent","hasStarted","cleanUp","animationName","stopPropagation","showElement","setProperty","hideElement","destroyElement","parentNode","showAndAnimate","animation","animateAndHide","addClass","classList","add","removeClass","remove","getCurrentScriptDir","isElementClosed","watchElementForClose","runInterval","prefetchPage","onload","onerror","getHttpType","getHTML","JSX_EVENTS","onClick","fixScripts","_i14","_querySelectorAll2","selector","querySelectorAll","newScript","textContent","replaceChild","jsxDom","content","prop","textNode","denodeify","promisify","isPerc","isPx","toNum","toPx","toCSS","normalizeDimension","dim","max","memoized","__memoized__","displayName","CONFIG","logInfo","logError","globalFor","__ZOID__","localGlobal","isRegex","MOCK","ABOUT","IE_WIN_ACCESS_ERROR","getActualProtocol","getProtocol","mockDomain","isAboutProtocol","getOpener","canReadFromWindow","getActualDomain","isActuallySameDomain","desc","isMockProtocol","assertSameDomain","isAncestorParent","childParent","getParents","getFrames","frames","len","getAllChildFrames","_getFrames2","_i5","_getAllChildFrames2","getTop","top","_i7","_getAllChildFrames4","getAllFramesInWindow","concat","isTop","iframeWindows","iframeFrames","allowMock","closed","mockclosed","iframeIndex","collection","safeIndexOf","contains","isFrameWindowClosed","cleanIframes","mockUserAgent","getFrameByName","winFrames","_i9","childFrame","findFrameByName","findChildFrameByName","_i11","_getFrames4","namedFrame","isOpener","getAncestor","isAncestor","actualParent","_i15","_getFrames8","isPopup","isIframe","anyMatch","collection1","collection2","_i17","item1","_i19","getDistanceFromTop","distance","getNthParentFromTop","getNthParent","isSameTopWindow","win1","win2","top1","top2","allFrames1","allFrames2","opener1","opener2","matchDomain","pattern","some","subpattern","stringifyDomainPattern","getDomainFromUrl","onCloseWindow","callback","maxtime","Infinity","check","isWindow","__cross_domain_utils_window_check__","ZOID","POST_MESSAGE","INIT","PROPS","PROP_CALLBACK","CLOSE","CHECK_CLOSE","REDIRECT","RESIZE","DELEGATE","ALLOW_DELEGATE","HIDE","SHOW","PROP_TYPES","STRING","OBJECT","FUNCTION","BOOLEAN","NUMBER","INITIAL_PROPS","RAW","UID","WINDOW_REFERENCES","OPENER","TOP","PARENT","GLOBAL","PROP_TYPES_LIST","CONTEXT_TYPES","POPUP","CLASS_NAMES","OUTLET","COMPONENT_FRAME","PRERENDER_FRAME","VISIBLE","INVISIBLE","EVENTS","ATTRIBUTES","IFRAME_PLACEHOLDER","ANIMATION_NAMES","SHOW_CONTAINER","SHOW_COMPONENT","HIDE_CONTAINER","HIDE_COMPONENT","EVENT_NAMES","CLICK","CLOSE_REASONS","PARENT_CALL","CHILD_CALL","CLOSE_DETECTED","USER_CLOSED","PARENT_CLOSE_DETECTED","CONTEXT_TYPES_LIST","CALL_ORIGINAL","CALL_DELEGATE","WILDCARD","DEFAULT_DIMENSIONS","WIDTH","CONSTANTS","WINDOW_PROPS","POSTROBOT","registerSelf","POST_MESSAGE_TYPE","REQUEST","RESPONSE","ACK","POST_MESSAGE_ACK","SUCCESS","POST_MESSAGE_NAMES","METHOD","HELLO","OPEN_TUNNEL","WINDOW_TYPES","FULLPAGE","SERIALIZATION_TYPES","PROMISE","ZALGO_PROMISE","REGEX","SEND_STRATEGIES","BRIDGE","MOCK_PROTOCOL","FILE_PROTOCOL","BRIDGE_NAME_PREFIX","POSTROBOT_PROXY","ALLOW_POSTMESSAGE_POPUP","__ALLOW_POSTMESSAGE_POPUP__","BRIDGE_TIMEOUT","CHILD_WINDOW_TIMEOUT","ACK_TIMEOUT","RES_TIMEOUT","ALLOWED_POST_MESSAGE_METHODS","_ALLOWED_POST_MESSAGE","ALLOW_SAME_ORIGIN","iPhoneScreenHeightMatrix","device","textSizeHeights","zoomHeight","maybeSafari","isDevice","isOperaMini","ua","outerHeight","height","innerHeight","scale","round","screen","width","innerWidth","computedHeight","mHttp","mContent","isGoogleSearchApp","isIosWebview","isAndroidWebview","isFirefoxIOS","isEdgeIOS","isFacebookWebView","isQQBrowser","process","versions","electron","standalone","matchMedia","matches","getFunctionName","fn","__name__","setFunctionName","base64encode","btoa","p1","String","fromCharCode","Buffer","from","toISOString","serializeArgs","subkey","getEmptyObject","memoizeGlobalIndex","memoizeGlobalIndexValidFrom","simpleCache","thisCache","_options$thisNamespac","thisNamespace","cacheTime","memoizeIndex","memoizedFunction","cache","getOrSet","cacheResult","isDocumentInteractive","isLocalStorageEnabled","logic","__inline_memoize_cache__","setItem","removeItem","inlineMemoize","clear","getStackTrace","stackDetails","exec","scriptLocation","_i22","_Array$prototype$slic2","reverse","inferCurrentScript","currentUID","hashedString","total","charCodeAt","strHashStr","dataset","BUTTON_CONFIG","_BUTTON_CONFIG","colors","sizes","shapes","layouts","logoColors","_logoColors","tagLineColors","_tagLineColors","secondaryColors","_secondaryColors","dualTag","defaultLabel","defaultVerticalLabel","defaultColor","defaultSize","defaultVerticalSize","defaultShape","defaultLayout","defaultBranding","defaultVerticalBranding","defaultFundingIcons","defaultTagline","defaultDual","minimumSize","minimumVerticalSize","maximumSize","maximumVerticalSize","minHorizontalButtons","minVerticalButtons","maxHorizontalButtons","maxVerticalButtons","allowUnbranded","allowFundingIcons","allowPrimary","allowPrimaryVertical","allowPrimaryHorizontal","label","logoLabel","title","installmentperiod","allowSecondaryVertical","allowSecondaryHorizontal","_logoColors2","_secondaryColors2","_logoColors3","_secondaryColors3","_logoColors4","_secondaryColors4","_logoColors5","_secondaryColors5","_logoColors6","_secondaryColors6","_logoColors7","_secondaryColors7","_logoColors8","_secondaryColors8","_logoColors9","_secondaryColors9","_logoColors10","_secondaryColors10","_logoColors11","_secondaryColors11","_logoColors12","_secondaryColors12","_logoColors13","_secondaryColors13","_logoColors14","_secondaryColors14","_logoColors15","_secondaryColors15","_logoColors16","_secondaryColors16","_logoColors17","_secondaryColors17","_logoColors18","_secondaryColors18","FUNDING_TO_DEFAULT_LABEL","_FUNDING_TO_DEFAULT_L","LABEL_TO_FUNDING","_LABEL_TO_FUNDING","BUTTON_RELATIVE_STYLE","VERTICAL_MARGIN","BUTTON_STYLE","_BUTTON_STYLE","defaultWidth","defaultHeight","minWidth","maxWidth","minHeight","maxHeight","buttonTextMargin","allowFunding","allowTagline","byPayPalHeight","labelToFunding","fundingToDefaultLabel","funding","getButtonConfig","category","categoryConfig","getConfig","moduleGlobal","getGlobal","glob","__CACHE_START_TIME__","regmatch","safeJSON","listeners","listen","awaitKey","newErr","stringifyErrorMessage","defaultMessage","index","patchMethod","original","callOriginal","sortBy","arr","order","sort","perc","pixels","percentage","regex","SEND_MESSAGE_STRATEGIES","serializedMessage","emulateIERestrictions","dom","postMessage","_require","sendBridgeMessage","needsBridgeForBrowser","isBridge","sendMessage","_jsonStringify","getWindowType","sourceDomain","windowType","buildMessage","serializeMethods","messages","jsonStringify","strategyName","success","needsGlobalMessagingForBrowser","foreignGlobal","receiveMessage","getResponseListener","responseListeners","deleteResponseListener","isResponseListenerErrored","erroredResponseListeners","getRequestListener","nameListeners","requestListeners","WINDOW_WILDCARD","winQualifier","winListeners","_winListeners$__DOMAI2","_winListeners$__DOMAI3","RECEIVE_MESSAGE_TYPES","_RECEIVE_MESSAGE_TYPE","ack","respond","originalSource","code","handleError","response","parsedMessage","jsonParse","parseMessage","receivedMessages","deserializeMethods","messageListener","messageEvent","sourceElement","originalEvent","targetWindow","HTMLIFrameElement","hasResult","requestPromises","requestPromise","onChildWindowReady","sayHello","_temp2","actualDomain","responseListener","addResponseListener","ackTimeout","resTimeout","cycleTime","cycle","min","markResponseListenerErrored","sendToParent","client","listenerOptions","errorHandler","requestListener","addRequestListener","listenersCollection","_win2","_domain2","existingListener","regexListener","strDomain","regexListeners","delete","onceFunction","errorOnClose","safeInterval","onceListener","disable","cleanUpWindow","popupWindowsByWin","remoteWindows","readyPromises","initialized","openTunnelToOpener","initOnReady","listenForMethods","INTERFACE","attachEvent","detachEvent","depth","eachArray","eachObject","each","childItem","weakMapMemoize","weakmap","arg","indent","objectToJSON","arrayToJSON","meth","isSerialized","serializeMethod","destination","__id__","__message__","__code__","__then__","serializePromise","serializeZalgoPromise","__source__","deserializeMethod","wrapper","__xdomain__","deserializeZalgoPromise","deserializeError","deserializePromise","RegExp","deserializeRegex","CrossDomainSafeWeakMap","freeze","testWeakMap","testKey","hasNativeWeakMap","_cleanupClosedWindows","isSafeToReadWrite","entry","writable","onAuthorize","onLegacyPaymentAuthorize","postBridgeUrl","postBridgeDomain","postBridge","watchForLegacyFallback","ppxoWatching","XMLHttpRequestsend","_patched","DONE","returnUrl","billingToken","payerID","paymentID","Checkout","XhrResponse","RESPONSE_TYPES","mob","Xhr","_xhrOnReady","onLegacyFallback","scrolling","buildUrl","payment","determineUrl","fundingSource","contexts","validate","prerenderTemplate","componentTemplate","containerTemplate","required","queryParam","xprops","allowDelegate","_getBrowserLocale","getBrowserLocale","sendToChild","determineParameterFromToken","queryValue","childDecorate","alias","overlayColor","commit","experience","fundingOffered","decorate","actions","intent","closeComponent","redirect","redir","isButton","isGuest","access_token","$Api","addHeader","onShippingChange","onAuth","sameDomain","accessToken","onCancel","cancelUrl","_track","onClose","reason","shouldCancel","fallback","__test__","action","sdkMeta","isChild","onProps","injector","instance","payment_action","_ref2$args","_ref4$args","P24_LOGO_COLORS","_P24_LOGO_COLORS","primary","secondary","SOFORT_LOGO_COLORS","_SOFORT_LOGO_COLORS","IDEAL_LOGO_COLORS","_IDEAL_LOGO_COLORS","tertiary","GIROPAY_LOGO_COLORS","_GIROPAY_LOGO_COLORS","EPS_LOGO_COLORS","_EPS_LOGO_COLORS","MYBANK_LOGO_COLORS","_MYBANK_LOGO_COLORS","BANCONTACT_LOGO_COLORS","_BANCONTACT_LOGO_COLO","BLIK_LOGO_COLORS","_BLIK_LOGO_COLORS","quaternary","quinary","senary","MAXIMA_LOGO_COLORS","_MAXIMA_LOGO_COLORS","BOLETO_LOGO_COLORS","_BOLETO_LOGO_COLORS","OXXO_LOGO_COLORS","_OXXO_LOGO_COLORS","MERCADOPAGO_LOGO_COLORS","_MERCADOPAGO_LOGO_COL","PAYPAL_LOGO_COLORS","_PAYPAL_LOGO_COLORS","CREDIT_LOGO_COLORS","_CREDIT_LOGO_COLORS","fundingLogos","_fundingLogos","_BUTTON_LOGO$PP","logoColor","_PAYPAL_LOGO_COLORS$l","viewBox","xmlns","preserveAspectRatio","fill","transform","_BUTTON_LOGO$VENMO","_BUTTON_LOGO$ITAU","_IDEAL_LOGO_COLORS$lo","points","_BUTTON_LOGO$ELV","_BANCONTACT_LOGO_COLO2","x","y","_GIROPAY_LOGO_COLORS$","stroke","stroke-width","fill-rule","mask","_SOFORT_LOGO_COLORS$l","_EPS_LOGO_COLORS$logo","_MYBANK_LOGO_COLORS$l","_P24_LOGO_COLORS$logo","_BLIK_LOGO_COLORS$log","x1","y1","x2","y2","stop-color","cx","cy","fx","fy","gradientTransform","_MAXIMA_LOGO_COLORS$l","_BOLETO_LOGO_COLORS$l","_OXXO_LOGO_COLORS$log","_MERCADOPAGO_LOGO_COL2","cardLogos","_cardLogos","FUNDING_PRIORITY","FUNDING_ORDER","FUNDING_CONFIG","_FUNDING_CONFIG","enabled","allowOptIn","allowOptOut","allowRemember","allowHorizontal","allowVertical","requireCommitAsTrue","__paypal_checkout__","serverConfig","paypalMerchantConfiguration","creditCard","isPayPalBranded","allowedCountries","defaultVerticalCountries","platforms","allowedEnvs","CARD_CONFIG","_CARD_CONFIG","priority","getFundingConfig","getCardConfig","accessedStorage","localStorageEnabled","rawStorage","getSession","created","guid","querySessionID","subClass","superClass","setPrototypeOf","_applyDecoratedDescriptor","decorators","initializer","reduce","decorator","BaseComponent","tasks","cleaned","component","register","complete","run","hasTasks","pop","addProp","createError","listenerName","errorListener","onResize","_ref2$width","_ref2$height","_ref2$interval","_ref2$win","currentWidth","offsetWidth","currentHeight","offsetHeight","observer","newWidth","newHeight","ResizeObserver","observe","MutationObserver","childList","subtree","characterData","disconnect","isShadowElement","normalize","isZoidComponentWindow","getComponentMeta","componentMeta","_window$name$split2","zoidcomp","encodedOptions","base32","decode","getWindowByRef","ref","ancestor","_getAllFramesInWindow2","windows","getParentComponentWindow","componentParent","getParentRenderWindow","renderParent","normalizeChildProp","getProp","looseProps","ChildComponent","_BaseComponent","onPropHandlers","onInit","watchingForResize","autoResize","hasValidParentDomain","RenderError","ReferenceError","_assertThisInitialized","_ref4$_i","setProps","getInitialProps","setWindows","watchForResize","allowedParentDomains","parentComponentWindow","func","normalizedProps","_component$getPropNam2","getPropNames","normalizeChildProps","_this$onPropHandlers2","parentWindow","__activeZoidComponent__","watchForClose","checkClose","enableAutoResize","_ref7$width","_ref7$height","getAutoResize","_this4","_this$getAutoResize","resize","updateProps","_this5","destroy","_this6","hide","show","userClose","focus","stringifiedError","_defineProperties","_createClass","Constructor","protoProps","staticProps","RENDER_DRIVERS","validateProp","isNaN","normalizeProp","resultValue","isDefined","decorated","getQueryValue","focusable","renderedIntoContainerTemplate","allowResize","openOnClick","needsBridge","childWindowName","frameWindow","detectClose","iframeWatcher","elementWatcher","openPrerender","prerenderIframe","prerenderFrameWindow","prerenderWindow","switchPrerender","delegateOverrides","openContainer","destroyComponent","destroyContainer","cancelContainerEvents","createPrerenderTemplate","showContainer","showComponent","hideContainer","hideComponent","loadUrl","hijackSubmit","renderTemplate","openContainerFrame","getOutlet","override","dimensions","_ref$width","_ref$height","_getPosition","outerWidth","screenX","screenY","getPosition","left","toolbar","menubar","resizable","scrollbars","ParentComponent","_ParentComponent","handledErrors","outlet","childExports","validateParentDomain","buildChildWindowName","renderTo","registerActiveComponent","watchForUnload","render","tryInit","onRender","driver","linkDomain","linkUrl","loadHTML","runTimeout","onEnter","checkAllowRenderTo","delegate","prefetch","activeComponents","getComponentParentRef","getRenderParentRef","renderToWindow","_ref6$renderTo","childDomain","sProps","getPropsForChild","unsafeRenderTo","encodedName","encodedVersion","encode","_component$getPropNam4","validateProps","normalizedProp","propsDef","_this7","builtinProps","serialization","dotkey","escape","getValidDomain","getUrl","finalUrl","xcomponent","_this8","builtUrl","_this9","_this10","needsBridgeParams","bridgeUrl","getBridgeUrl","bridgeDomain","getBridgeDomain","hasBridge","_this11","windowName","_this12","_this13","_this14","onDisplay","_this$component$getPr2","propName","overrides","_this15","_this16","closeWindowListener","_this17","onunload","unloadWindowListener","_this18","_query","hijack","targetElement","_this19","onTimeout","_this20","_this21","_this22","_this23","closeContainer","_this24","_this25","_this26","_this27","_this28","_this29","_this30","_this31","_ref10$width","_ref10$height","_ref10$element","renderer","_this32","_ref12$width","_ref12$height","CLASS","ANIMATION","CONTEXT","EVENT","_this33","shadowHost","shadowRoot","getShadowRoot","getShadowHost","slotName","slot","slotProvider","insertShadowSlot","_this34","onDestroy","_this35","_this36","errErr","destroyAll","_class","DelegateComponent","getOverrides","defaultContainerTemplate","_ref$dimensions","defaultPrerenderTemplate","drivers","angular","angular2","glimmer","react","vue","Component","_Component","listenForResize","defaultLogLevel","defaultEnv","defaultContext","driverCache","validatePropDefinitions","anyEnabled","_Object$keys6","components","registerDrivers","registerChild","listenDelegate","driverName","dep","canRenderTo","domains","getForEnv","envUrl","isZoidComponent","_getComponentMeta","getRenderContext","validateRenderContext","getDefaultContext","renderIframe","renderPopup","renderIframeTo","renderPopupTo","prerender","innerProps","innerElement","logWarning","getByTag","postRobot","_postRobot","_CONSTANTS","deleteTunnelWindow","tunnelWindows","getTunnelWindow","tunnelWindowId","openTunnelToParent","canary","tunnelWindow","cleanTunnelWindows","addTunnelWindow","needsBridgeForWin","needsBridgeForDomain","getBridgeName","sanitizedDomain","documentBodyReady","registerRemoteWindow","sendMessagePromise","findRemoteWindow","registerRemoteSendMessage","remoteWindow","sendMessageWrapper","remoteWin","remoteDomain","rejectRemoteSendMessage","messagingChild","messagingParent","awaitRemoteBridgeForWindow","bridges","styles","setElementStyles","display","margin","padding","border","overflow","openBridgeFrame","bridgeFrames","popupWindowsByName","winDetails","listenForRegister","windowOpen","winOptions","destroyBridges","last","winName","documentReady","loadScript","attrs","scriptLoadError","attr","HTMLElement","getElements","NodeList","HTMLCollection","onDocumentReady","search","urlWillRedirectPage","hasHash","serverUrl","_serverUrl$split","originalQueryString","newQueryString","newUrl","normalizeLocale","_locale$split","normalizeLang","nav","languages","language","userLanguage","getBrowserLocales","loc","isElementVisible","getClientRects","getPageRenderTime","domInteractive","getResourceLoadTime","entries","IntegrationError","defs","_props$style","checkoutCustomization","parseLocale","allowed","disallowed","remembered","layout","_style$BUTTON_STYLE_O","size","_style$BUTTON_STYLE_O2","color","_style$BUTTON_STYLE_O3","shape","_style$BUTTON_STYLE_O4","branding","_style$BUTTON_STYLE_O5","fundingicons","_style$BUTTON_STYLE_O6","tagline","configMax","determineMaxButtons","selected","determineEligibleFunding","multiple","cards","determineEligibleCards","fundingEligibilityReasons","isFundingIneligible","isVertical","isFundingAutoEligible","reasons","eligibleFunding","_isFundingEligible","eligible","ineligibleReason","autoEligibleReason","isFundingEligible","factors","unshift","card","validateFunding","_funding$allowed2","_funding$disallowed2","logFundingEligibility","table","_reasons$source","allowIframe","awaitBraintreeClient","braintree","auth","authorization","paypalCheckout","SUPPORTED_REST_FIELDS","transactions","amount","currency","external_selected_funding_instrument_type","shipping_address","line1","line2","city","postal_code","country_code","phone","recipient_name","application_context","brand_name","shipping_preference","landing_page","mapPaymentToBraintree","supported","supportedKeys","btPayment","flow","offerCredit","shippingAddressOverride","postalCode","countryCode","recipientName","landingPageType","enableShippingAddress","shippingAddressEditable","BEACON_URL","beacon","appName","Image","_setPrototypeOf","__proto__","getContainerStyle","getSandboxStyle","LOGO_COLOR","_LOGO_COLOR","_props$locale$split","containerContent","preventDefault","alert","ppLogo","pp","paypalLogo","paypal","aria-label","role","alt","windowMessage","continue","getPaymentType","billingUrls","altpayUrls","checkoutUrls","extendNamespace","xports","namespaces","childnamespaces","_namespaces2","namespace","_childnamespaces2","childname","childnamespace","_namespaces4","HI_BASE32_NO_NODE_JS","node","COMMON_JS","HI_BASE32_NO_COMMON_JS","AMD","define","BASE32_ENCODE_CHAR","BASE32_DECODE_CHAR","blocks","throwInvalidUtf8","position","partial","substr","decodeAsBytes","base32Str","v1","v2","v3","v4","v5","v6","v7","v8","bytes","remain","asciiOnly","followingChars","toUtf8String","input","notString","ArrayBuffer","Uint8Array","encodeBytes","encodeAscii","end","start","encodeUtf8","asBytes","scan","scriptTags","React","ReactDOM","createClass","componentDidMount","findDOMNode","setState","componentDidUpdate","componentWillUnmount","_React$Component","inheritAttrs","mounted","$el","$attrs","beforeUpdate","ng","directive","scope","restrict","controller","$scope","$element","safeApply","$root","$$phase","$apply","getProps","scopeProps","$watch","GlimmerComponent","_GlimmerComponent","didInsertElement","zoid","AngularComponent","NgModule","ElementRef","NgZone","internalProps","zone","ComponentInstance","inputs","Class","elementRef","ngOnInit","nativeElement","ngOnChanges","declarations","e","N","u","f","h","v","w","E","S","T","whale","mzbrowser","coast","yandexbrowser","maxthon","epiphany","puffin","sleipnir","kMeleon","osname","windowsphone","chromeos","chromeBook","sailfish","seamonkey","firefoxos","phantom","slimer","blackberry","webos","touchpad","bada","tizen","qupzilla","chromium","googlebot","blink","webkit","gecko","mac","xbox","linux","k","C","osversion","L","tablet","isUnsupportedBrowser","_detect","detect","sourceWindow","k_r_submitter","k_r_success_contrls","brackets","hash_serializer","hash_assign","shift","between","_values","parse_keys","existing","str_serialize","form","serializer","elements","radio_store","disabled","nodeName","checked","empty","selectOptions","isSelectedOptions","option","Button","existingVersion","_interface","errtype","__webpack_amd_options__","containerStyle","aria-modal","noContentFoundInContainer","BillingPage","inlinedCardFieldUrls","cardType","prefilledZipCode","onEvent","ThreeDomainSecure","challengeUrl","threeDomainSecureToken","pptm","reloadPptmScript","clientId","tryCreatePptmScript","shouldReloadPptmScript","removePptm","createPptmScript","listenForLoadWithNoContent","listenForButtonRender","paypalDDL","mrid","client_id","fullUrl","pptmUrl","async","_track2","shouldCreateInitialPptmScript","existingScript","proxyRest","createAccessToken","clientID","basicAuth","authApiUrls","Authorization","grant_type","createExperienceProfile","experienceDetails","temporary","experienceApiUrls","logPaymentResponse","links","rel","createPayment","paymentDetails","redirect_urls","return_url","cancel_url","payment_method","experienceID","trackingData","trackingID","trackingApiUrls","createTracking","experience_profile_id","partner_attribution_id","paymentApiUrls","createOrder","purchase_units","unit","reference_id","orderApiUrls","createBillingAgreement","billingDetails","plan","merchant_preferences","billingApiUrls","token_id","rest","billingAgreement","parentWin","onAuthorizeListener","experiment","loggedEvents","loggedExperimentEvents","edge","logExperimentTreatment","externalExperiment","externalExperimentTreatment","externalExperimentToken","logReturn","_getSessionState","returnToken","normalizeCheckoutProps","awaitPopupBridge","popupBridge","onComplete","redirect_uri","getReturnUrlPrefix","wrapPopupBridge","validateButtonLocale","validateButtonStyle","maxbuttons","minButtons","buttonSize","isInstallmentAllowedCountry","validateRegionSpecificButton","creditThrottle","SHOULD_FOCUS","CONTAINER","TAGLINE_COLOR","TEXT","LOGO","SEPARATOR","HIDDEN","DOM_READY","PERSONALIZATION_TEXT","pageStyle","buttonStyle","layoutStyle","brandingStyle","labelStyle","buttonColorStyle","componentContent","allowedPersonalizationLabels","getCommonButtonClasses","getLocaleContent","determineLabel","renderCards","logo","tabindex","renderContent","dynamicContent","optional","contentString","_name$split2","contentVariable","separator","validateButtonProps","_normalizeProps","buttonNodes","buttonLabel","determineButtons","contentText","allowedAnimation","buttonTitle","localeContent","labelContent","determineButtonTitle","hasTabIndex","personalizedButtonText","impression","COMPRESSED","EXPANDED","PAYPAL_BUTTON","PAYPAL_LOGO","BUTTON_TEXT","getButtonTextAnimationStyle","Beacon","renderButtonTextDiv","renderButton","fundingiconNode","renderFundingIcons","styleNode","cardNumber","_ref$cardNumber","buttonHeight","buttonTextMarginTop","minDualWidth","ceil","toFixed","buttonResponsiveStyle","renderStyle","scriptNode","SELECTOR","toArray","getOptionalIndex","getElementsTotalWidth","sum","unique","parentElement","optionalParent","allChildren","optionalChildren","first","second","toggleOptionals","_children$_i","parentWidth","usedWidth","optionalChild","setDomReady","load","buttonsContainer","getElementsByClassName","handleMouseDownOnce","handleFirstTab","keyCode","setupTabOutlineEvent","labelPowerByPayPal","_props$sources","renderPowerByPaypalLogo","buttonUrls","possibleSizes","possibleSize","sizeA","sizeB","checkoutUrl","allowpaymentrequest","renderedButtons","storageID","enableNativeCheckout","prefetchLogin","updateClientConfiguration","memoizedToken","button_version","_ref2$allowed","_ref2$disallowed","_ref3$allowed","_ref3$disallowed","isCreditDualEligible","remember","_getBrowser$browser","_getBrowser$version","_creditThrottle$logSt","_track3","restart","tokenize","tokenizePayment","execute","_creditThrottle$logCo","nonce","_track4","patch","patchObject","_track5","_track6","_creditThrottle$log","_ref5$color","initialHeight","logInlineGuestOutOfViewPortOnlyOnce","isContainerExpanded","isExpansionInViewport","scrollOffsetY","pageYOffset","scrollTop","windowHeight","containerOffsetY","getBoundingClientRect","checkIfExpansionInViewport","_style$layout","validateCalled","getPageUrl","instances","clone","_temp3","_ref6$decorate","decoratedProps","_props","_props$onDestroy","newProps","ButtonComponent","doRender","validateCheckoutProps","_normalizeCheckoutPro","_extendUrl","useraction","native_xo","opType","queryItems","_normalizeCheckoutPro2","ba_token","paymentId","PayerID","cancel_uri","return_uri","extractDataFromQuery","redirectUrl","buildActions","renderThroughPopupBridge","_arguments2","_arguments3","setupPopupBridgeProxy","pageRenderTime","fundingSources","_ref$layout","_ref$color","_ref$size","_ref$shape","_ref$label","onApprove","pre","inlineGuest","treatments","setupButtonChild","canRenderTop","_ref$args","methodName","_ref6$args","originalPayment","resolveData","rejectActions","_ref10$args","ctx","currentDomainEnv","Card","initialFormValues","getState","cardIcons","submitButton","currencyConversion","domainToEnv","err3","currentProtocol","precacheRemembered","setup","apiStage","configure","scriptProtocol","loadTime","apps","PayPalCheckout","enableCheckoutIframe","logger","legacy","_Checkout","_BillingPage","_ThreeDomainSecure","_destroyAll","LOG_PREFIX","MERCHANT_ID","CLASSES","HIDDEN_BUTTON","isLegacyEligible","DEFAULT_LANG","_prefix","loadButtonJS","buttonJSUrl","renderButtons","buttons","_normalizeLocale","lc","childNodes","condition","click","getHijackTargetElement","parentTagName","grandparentElement","grandparentTagName","redirected","logRedirect","initXO","startFlow","closeFlow","matchUrlAndPaymentToken","parseToken","checkUrlAgainstEnv","awaitPaymentTokenAndUrl","paymentTokenAndUrl","enablev3ajax","formSerialize","urlAndPaymentToken","_matchUrlAndPaymentTo","paypalCheckoutInited","closeFlowCalled","initPayPalCheckout","closeUrl","renderPayPalCheckout","hijackTarget","urlProp","removeAttribute","instrumentButtonRender","setupCalled","environment","badenv","_buttons$push","normalizeOptions","setupConfig","clickHandler","tracker","isClick","handleClick","_awaitPaymentTokenAnd","handleClickHijack","listenClick","_awaitPaymentTokenAnd2","_matchUrlAndPaymentTo2","onKey","oneTimeReady","invokeReady","number"],"mappings":"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GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,G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","file":"checkout.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 49);\n","/* @flow */\n\nimport type { Enum } from '../types';\n\ntype BUTTON_STYLE_OPTIONS_ENUM =\n Enum<'label' | 'size' | 'shape' | 'color' | 'layout' |\n 'fundingicons' | 'maxbuttons' | 'branding' | 'tagline' | 'height' | 'installmentperiod'>;\n\nexport const BUTTON_STYLE_OPTIONS : BUTTON_STYLE_OPTIONS_ENUM = {\n LABEL: 'label',\n SIZE: 'size',\n SHAPE: 'shape',\n COLOR: 'color',\n LAYOUT: 'layout',\n MAXBUTTONS: 'maxbuttons',\n FUNDINGICONS: 'fundingicons',\n BRANDING: 'branding',\n TAGLINE: 'tagline',\n HEIGHT: 'height',\n INSTALLMENTPERIOD: 'installmentperiod'\n};\n\ntype BUTTON_LABEL_ENUM =\n Enum<'paypal' | 'checkout' | 'pay' | 'credit' |\n 'card' | 'buynow' | 'installment' | 'venmo' | 'itau' | 'ideal' | 'elv' | 'bancontact' | 'giropay' | 'sofort' | 'eps' | 'mybank' | 'p24' | 'blik' | 'maxima' | 'boleto' | 'oxxo' | 'mercadopago'>;\n\nexport const BUTTON_LABEL : BUTTON_LABEL_ENUM = {\n PAYPAL: 'paypal',\n CHECKOUT: 'checkout',\n PAY: 'pay',\n CREDIT: 'credit',\n CARD: 'card',\n BUYNOW: 'buynow',\n INSTALLMENT: 'installment',\n VENMO: 'venmo',\n ITAU: 'itau',\n IDEAL: 'ideal',\n ELV: 'elv',\n BANCONTACT: 'bancontact',\n GIROPAY: 'giropay',\n SOFORT: 'sofort',\n EPS: 'eps',\n MYBANK: 'mybank',\n P24: 'p24',\n BLIK: 'blik',\n MAXIMA: 'maxima',\n BOLETO: 'boleto',\n OXXO: 'oxxo',\n MERCADOPAGO: 'mercadopago'\n};\n\ntype BUTTON_COLOR_ENUM =\n Enum<'gold' | 'blue' | 'silver' | 'black' | 'darkblue' | 'transparent' | 'white'>;\n\nexport const BUTTON_COLOR : BUTTON_COLOR_ENUM = {\n GOLD: 'gold',\n BLUE: 'blue',\n SILVER: 'silver',\n BLACK: 'black',\n DARKBLUE: 'darkblue',\n WHITE: 'white',\n TRANSPARENT: 'transparent'\n};\n\ntype BUTTON_LOGO_COLOR_ENUM =\n Enum<'blue' | 'white' | 'black' | 'any'>;\n\nexport const BUTTON_LOGO_COLOR : BUTTON_LOGO_COLOR_ENUM = {\n BLUE: 'blue',\n WHITE: 'white',\n BLACK: 'black',\n ANY: 'any'\n};\n\ntype BUTTON_SIZE_ENUM =\n Enum<'tiny' | 'small' | 'medium' | 'large' | 'huge' | 'responsive'>;\n\nexport const BUTTON_SIZE : BUTTON_SIZE_ENUM = {\n TINY: 'tiny',\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large',\n HUGE: 'huge',\n RESPONSIVE: 'responsive'\n};\n\ntype BUTTON_TAGLINE_COLOR_ENUM =\n Enum<'black' | 'blue'>;\n\nexport const BUTTON_TAGLINE_COLOR : BUTTON_TAGLINE_COLOR_ENUM = {\n BLACK: 'black',\n BLUE: 'blue'\n};\n\ntype BUTTON_SHAPE_ENUM =\n Enum<'pill' | 'rect'>;\n\nexport const BUTTON_SHAPE : BUTTON_SHAPE_ENUM = {\n PILL: 'pill',\n RECT: 'rect'\n};\n\ntype BUTTON_BRANDING_ENUM =\n Enum<'branded' | 'unbranded'>;\n\nexport const BUTTON_BRANDING : BUTTON_BRANDING_ENUM = {\n BRANDED: 'branded',\n UNBRANDED: 'unbranded'\n};\n\ntype BUTTON_LAYOUT_ENUM =\n Enum<'horizontal' | 'vertical'>;\n\nexport const BUTTON_LAYOUT : BUTTON_LAYOUT_ENUM = {\n HORIZONTAL: 'horizontal',\n VERTICAL: 'vertical'\n};\n\ntype BUTTON_NUMBER_ENUM =\n Enum<'single' | 'multiple'>;\n\nexport const BUTTON_NUMBER : BUTTON_NUMBER_ENUM = {\n SINGLE: 'single',\n MULTIPLE: 'multiple'\n};\n\ntype BUTTON_LOGO_ENUM =\n Enum<'pp' | 'paypal' | 'venmo' | 'itau' | 'credit' | 'ideal' | 'elv' | 'bancontact' | 'giropay' | 'sofort' | 'eps' | 'mybank' | 'p24' | 'blik' | 'maxima' | 'boleto' | 'oxxo' | 'mercadopago'>;\n\nexport const BUTTON_LOGO : BUTTON_LOGO_ENUM = {\n PP: 'pp',\n PAYPAL: 'paypal',\n VENMO: 'venmo',\n ITAU: 'itau',\n CREDIT: 'credit',\n IDEAL: 'ideal',\n ELV: 'elv',\n BANCONTACT: 'bancontact',\n GIROPAY: 'giropay',\n SOFORT: 'sofort',\n EPS: 'eps',\n MYBANK: 'mybank',\n P24: 'p24',\n BLIK: 'blik',\n MAXIMA: 'maxima',\n BOLETO: 'boleto',\n OXXO: 'oxxo',\n MERCADOPAGO: 'mercadopago'\n};\n","/* @flow */\n\nexport const CHECKOUT_OVERLAY_COLOR = {\n BLACK: 'black',\n WHITE: 'white'\n};\n","/* @flow */\n\nexport const FUNDING = {\n PAYPAL: 'paypal',\n VENMO: 'venmo',\n ITAU: 'itau',\n CREDIT: 'credit',\n CARD: 'card',\n IDEAL: 'ideal',\n ELV: 'elv',\n BANCONTACT: 'bancontact',\n GIROPAY: 'giropay',\n SOFORT: 'sofort',\n EPS: 'eps',\n MYBANK: 'mybank',\n P24: 'p24',\n ZIMPLER: 'zimpler',\n BLIK: 'blik',\n MAXIMA: 'maxima',\n BOLETO: 'boleto',\n OXXO: 'oxxo',\n MERCADOPAGO: 'mercadopago'\n};\n\nexport const FUNDING_BRAND_LABEL = {\n PAYPAL: 'PayPal',\n CREDIT: 'PayPal Credit',\n CARD: 'Debit or Credit Card'\n};\n\nexport const CARD = {\n VISA: 'visa',\n MASTERCARD: 'mastercard',\n AMEX: 'amex',\n DISCOVER: 'discover',\n SWITCH: 'switch',\n MAESTRO: 'maestro',\n HIPER: 'hiper',\n ELO: 'elo',\n JCB: 'jcb',\n CUP: 'cup',\n COFINOGA: 'cofinoga',\n COFIDIS: 'cofidis',\n CETELEM: 'cetelem',\n CBNATIONALE: 'cbnationale'\n};\n\nexport const FUNDING_ELIGIBILITY_REASON = {\n PRIMARY: 'The funding source is the primary source',\n NOT_ENABLED: 'The funding source is not currently enabled for use',\n SECONDARY_DISALLOWED: 'The funding source is disallowed as a secondary button',\n OPT_OUT: 'The funding source was disallowed in funding.disallowed',\n OPT_IN: 'The funding source was allowed in funding.allowed',\n DISALLOWED_COUNTRY: 'The funding source is not enabled for the current locale',\n DEFAULT_COUNTRY: 'The funding source is enabled by default for the current locale',\n DEFAULT: 'The funding source is enabled by default for all users',\n REMEMBERED: 'The funding source was remembered for the current user',\n NEED_OPT_IN: 'The funding source needs to be allowed in funding.allowed',\n COMMIT_NOT_SET: 'The funding source is not enabled when commit is not set as true',\n INVALID_ENV: 'The funding source is not supported in this environment'\n};\n\nexport const CARD_PRIORITY = [\n CARD.VISA,\n CARD.MASTERCARD,\n CARD.AMEX,\n CARD.DISCOVER,\n CARD.SWITCH,\n CARD.MAESTRO,\n CARD.HIPER,\n CARD.ELO,\n CARD.JCB,\n CARD.CUP,\n CARD.COFINOGA,\n CARD.COFIDIS,\n CARD.CETELEM,\n CARD.CBNATIONALE\n];\n","/* @flow */\n\nexport const ENV = {\n LOCAL: 'local',\n STAGE: 'stage',\n SANDBOX: 'sandbox',\n PRODUCTION: 'production',\n TEST: 'test',\n DEMO: 'demo'\n};\n\nexport const USERS = {\n ALL: 'all',\n REMEMBERED: 'remembered'\n};\n\nexport const SOURCE = {\n MANUAL: 'manual',\n BUTTON_FACTORY: 'button_factory'\n};\n\nexport const LOG_LEVEL = {\n DEBUG: 'debug',\n INFO: 'info',\n WARN: 'warn',\n ERROR: 'error'\n};\n\nexport const PAYMENT_TYPE = {\n EC_TOKEN: 'ec_token',\n BA_TOKEN: 'ba_token',\n PAY_ID: 'pay_id'\n};\n\nexport const PPTM_ID = 'xo-pptm';\n\nexport const ATTRIBUTE = {\n BUTTON: 'data-button',\n FUNDING_SOURCE: 'data-funding-source',\n CARD: 'data-card',\n VERSION: 'data-version',\n LAYOUT: 'data-layout',\n SIZE: 'data-size',\n SMART_BUTTON_VERSION: 'data-paypal-smart-button-version'\n};\n\nexport const PLATFORM = {\n DESKTOP: 'desktop',\n MOBILE: 'mobile'\n};\n\nexport const DEFAULT = 'default';\n\n\n","/* @flow */\n\nimport { PAYMENT_TYPE } from './misc';\n\nexport const FPTI = {\n\n KEY: {\n FEED: 'feed_name',\n STATE: 'state_name',\n TRANSITION: 'transition_name',\n BUTTON_TYPE: 'button_type',\n SESSION_UID: 'page_session_id',\n BUTTON_SESSION_UID: 'button_session_id',\n TOKEN: 'token',\n CONTEXT_ID: 'context_id',\n CONTEXT_TYPE: 'context_type',\n REFERER: 'referer_url',\n PAY_ID: 'pay_id',\n SELLER_ID: 'seller_id',\n DATA_SOURCE: 'serverside_data_source',\n BUTTON_SOURCE: 'button_source',\n ERROR_CODE: 'ext_error_code',\n ERROR_DESC: 'ext_error_desc',\n PAGE_LOAD_TIME: 'page_load_time',\n EXPERIMENT_NAME: 'pxp_exp_id',\n TREATMENT_NAME: 'pxp_trtmnt_id',\n TRANSITION_TIME: 'transition_time',\n FUNDING_LIST: 'eligible_payment_methods',\n FUNDING_COUNT: 'eligible_payment_count',\n CHOSEN_FUNDING: 'selected_payment_method',\n BUTTON_LAYOUT: 'button_layout',\n BUTTON_COLOR: 'button_color',\n BUTTON_SIZE: 'button_size',\n BUTTON_SHAPE: 'button_shape',\n BUTTON_LABEL: 'button_label',\n BUTTON_WIDTH: 'button_width',\n VERSION: 'checkoutjs_version',\n MAX_BUTTONS: 'max_buttons',\n FUNDING_REMEMBERED: 'funding_remembered',\n BUTTON_TAGLINE_ENABLED: 'button_tagline_enabled',\n RESPONSE_DURATION: 'response_duration',\n PAYMENT_FLOW: 'payment_flow',\n BUTTON_VERSION: 'button_version',\n PAGE_TYPE: 'pp_placement',\n TIMESTAMP: 't'\n },\n\n BUTTON_TYPE: {\n IFRAME: 'iframe',\n HTML: 'html',\n CUSTOM: 'custom'\n },\n\n DATA_SOURCE: {\n CHECKOUT: 'checkout'\n },\n\n CONTEXT_TYPE: {\n BUTTON_SESSION_ID: 'button_session_id',\n [ PAYMENT_TYPE.PAY_ID ]: 'Pay-ID',\n [ PAYMENT_TYPE.EC_TOKEN ]: 'EC-Token',\n [ PAYMENT_TYPE.BA_TOKEN ]: 'EC-Token'\n },\n\n FEED: {\n CHECKOUTJS: 'checkoutjs'\n },\n\n STATE: {\n LOAD: 'checkoutjs_load',\n BUTTON: 'checkoutjs_button',\n CHECKOUT: 'checkoutjs_checkout',\n PPTM: 'checkoutjs_pptm'\n },\n\n TRANSITION: {\n SCRIPT_LOAD: 'process_script_load',\n\n BUTTON_RENDER: 'process_button_render',\n BUTTON_LOAD: 'process_button_load',\n BUTTON_CLICK: 'process_button_click',\n\n BUTTON_RENDER_INTRANET_MODE: 'process_button_render_intranet_mode',\n BUTTON_CLICK_INTRANET_MODE: 'process_button_click_intranet_mode',\n\n CREATE_PAYMENT: 'process_create_payment',\n RECIEVE_PAYMENT: 'process_recieve_payment',\n\n CHECKOUT_INIT: 'process_checkout_init',\n CHECKOUT_APPROVE: 'process_checkout_approve',\n CHECKOUT_SHIPPING_CHANGE: 'process_checkout_shipping_change',\n CHECKOUT_CANCEL: 'process_checkout_cancel',\n CHECKOUT_ERROR: 'process_checkout_error',\n\n EXTERNAL_EXPERIMENT: 'process_external_experiment',\n EXTERNAL_EXPERIMENT_COMPLETE: 'process_external_experiment_complete',\n\n PPTM_LOAD: 'process_pptm_load',\n PPTM_LOADED: 'process_pptm_loaded'\n }\n};\n","/* @flow */\n\nexport const COUNTRY = {\n AD: 'AD',\n AE: 'AE',\n AG: 'AG',\n AI: 'AI',\n AL: 'AL',\n AM: 'AM',\n AN: 'AN',\n AO: 'AO',\n AR: 'AR',\n AT: 'AT',\n AU: 'AU',\n AW: 'AW',\n AZ: 'AZ',\n BA: 'BA',\n BB: 'BB',\n BE: 'BE',\n BF: 'BF',\n BG: 'BG',\n BH: 'BH',\n BI: 'BI',\n BJ: 'BJ',\n BM: 'BM',\n BN: 'BN',\n BO: 'BO',\n BR: 'BR',\n BS: 'BS',\n BT: 'BT',\n BW: 'BW',\n BY: 'BY',\n BZ: 'BZ',\n C2: 'C2',\n CA: 'CA',\n CD: 'CD',\n CG: 'CG',\n CH: 'CH',\n CI: 'CI',\n CK: 'CK',\n CL: 'CL',\n CM: 'CM',\n CN: 'CN',\n CO: 'CO',\n CR: 'CR',\n CV: 'CV',\n CY: 'CY',\n CZ: 'CZ',\n DE: 'DE',\n DJ: 'DJ',\n DK: 'DK',\n DM: 'DM',\n DO: 'DO',\n DZ: 'DZ',\n EC: 'EC',\n EE: 'EE',\n EG: 'EG',\n ER: 'ER',\n ES: 'ES',\n ET: 'ET',\n FI: 'FI',\n FJ: 'FJ',\n FK: 'FK',\n FM: 'FM',\n FO: 'FO',\n FR: 'FR',\n GA: 'GA',\n GB: 'GB',\n GD: 'GD',\n GE: 'GE',\n GF: 'GF',\n GI: 'GI',\n GL: 'GL',\n GM: 'GM',\n GN: 'GN',\n GP: 'GP',\n GR: 'GR',\n GT: 'GT',\n GW: 'GW',\n GY: 'GY',\n HK: 'HK',\n HN: 'HN',\n HR: 'HR',\n HU: 'HU',\n ID: 'ID',\n IE: 'IE',\n IL: 'IL',\n IN: 'IN',\n IS: 'IS',\n IT: 'IT',\n JM: 'JM',\n JO: 'JO',\n JP: 'JP',\n KE: 'KE',\n KG: 'KG',\n KH: 'KH',\n KI: 'KI',\n KM: 'KM',\n KN: 'KN',\n KR: 'KR',\n KW: 'KW',\n KY: 'KY',\n KZ: 'KZ',\n LA: 'LA',\n LC: 'LC',\n LI: 'LI',\n LK: 'LK',\n LS: 'LS',\n LT: 'LT',\n LU: 'LU',\n LV: 'LV',\n MA: 'MA',\n MC: 'MC',\n MD: 'MD',\n ME: 'ME',\n MG: 'MG',\n MH: 'MH',\n MK: 'MK',\n ML: 'ML',\n MN: 'MN',\n MQ: 'MQ',\n MR: 'MR',\n MS: 'MS',\n MT: 'MT',\n MU: 'MU',\n MV: 'MV',\n MW: 'MW',\n MX: 'MX',\n MY: 'MY',\n MZ: 'MZ',\n NA: 'NA',\n NC: 'NC',\n NE: 'NE',\n NF: 'NF',\n NG: 'NG',\n NI: 'NI',\n NL: 'NL',\n NO: 'NO',\n NP: 'NP',\n NR: 'NR',\n NU: 'NU',\n NZ: 'NZ',\n OM: 'OM',\n PA: 'PA',\n PE: 'PE',\n PF: 'PF',\n PG: 'PG',\n PH: 'PH',\n PL: 'PL',\n PM: 'PM',\n PN: 'PN',\n PT: 'PT',\n PW: 'PW',\n PY: 'PY',\n QA: 'QA',\n RE: 'RE',\n RO: 'RO',\n RS: 'RS',\n RU: 'RU',\n RW: 'RW',\n SA: 'SA',\n SB: 'SB',\n SC: 'SC',\n SE: 'SE',\n SG: 'SG',\n SH: 'SH',\n SI: 'SI',\n SJ: 'SJ',\n SK: 'SK',\n SL: 'SL',\n SM: 'SM',\n SN: 'SN',\n SO: 'SO',\n SR: 'SR',\n ST: 'ST',\n SV: 'SV',\n SZ: 'SZ',\n TC: 'TC',\n TD: 'TD',\n TG: 'TG',\n TH: 'TH',\n TJ: 'TJ',\n TM: 'TM',\n TN: 'TN',\n TO: 'TO',\n TR: 'TR',\n TT: 'TT',\n TV: 'TV',\n TW: 'TW',\n TZ: 'TZ',\n UA: 'UA',\n UG: 'UG',\n US: 'US',\n UY: 'UY',\n VA: 'VA',\n VC: 'VC',\n VE: 'VE',\n VG: 'VG',\n VN: 'VN',\n VU: 'VU',\n WF: 'WF',\n WS: 'WS',\n YE: 'YE',\n YT: 'YT',\n ZA: 'ZA',\n ZM: 'ZM',\n ZW: 'ZW'\n};\n\nexport const LANG = {\n AR: 'ar',\n CS: 'cs',\n DA: 'da',\n DE: 'de',\n EL: 'el',\n EN: 'en',\n ES: 'es',\n FI: 'fi',\n FR: 'fr',\n HE: 'he',\n HU: 'hu',\n ID: 'id',\n IT: 'it',\n JA: 'ja',\n KO: 'ko',\n NL: 'nl',\n NO: 'no',\n PL: 'pl',\n PT: 'pt',\n RU: 'ru',\n SK: 'sk',\n SV: 'sv',\n TH: 'th',\n TR: 'tr',\n ZH: 'zh'\n};\n\nexport const LANG_TO_DEFAULT_COUNTRY = {\n [LANG.AR]: COUNTRY.SA,\n [LANG.CS]: COUNTRY.CZ,\n [LANG.DA]: COUNTRY.DK,\n [LANG.DE]: COUNTRY.DE,\n [LANG.EL]: COUNTRY.GR,\n [LANG.EN]: COUNTRY.US,\n [LANG.ES]: COUNTRY.ES,\n [LANG.FI]: COUNTRY.FI,\n [LANG.FR]: COUNTRY.FR,\n [LANG.HE]: COUNTRY.IL,\n [LANG.HU]: COUNTRY.HU,\n [LANG.ID]: COUNTRY.ID,\n [LANG.IT]: COUNTRY.IT,\n [LANG.JA]: COUNTRY.JP,\n [LANG.KO]: COUNTRY.KR,\n [LANG.NL]: COUNTRY.NL,\n [LANG.NO]: COUNTRY.NO,\n [LANG.PL]: COUNTRY.PL,\n [LANG.PT]: COUNTRY.PT,\n [LANG.RU]: COUNTRY.RU,\n [LANG.SK]: COUNTRY.SK,\n [LANG.SV]: COUNTRY.SE,\n [LANG.TH]: COUNTRY.TH,\n [LANG.TR]: COUNTRY.TR,\n [LANG.ZH]: COUNTRY.CN\n};\n\nexport const ALLOWED_INSTALLMENT_COUNTRIES = [ COUNTRY.BR, COUNTRY.MX ];\nexport const ALLOWED_INSTALLMENT_PERIOD = {\n BR: [ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ],\n MX: [ 3, 6, 9, 12 ]\n};\n","/* @flow */\n\nimport { COUNTRY, LANG } from './country';\n\nexport const LOCALE = {\n [COUNTRY.AD]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.AE]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH, LANG.AR ],\n [COUNTRY.AG]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.AI]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.AL]: [ LANG.EN ],\n [COUNTRY.AM]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.AN]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.AO]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.AR]: [ LANG.ES, LANG.EN ],\n [COUNTRY.AT]: [ LANG.DE, LANG.EN ],\n [COUNTRY.AU]: [ LANG.EN ],\n [COUNTRY.AW]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.AZ]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.BA]: [ LANG.EN ],\n [COUNTRY.BB]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.BE]: [ LANG.EN, LANG.NL, LANG.FR ],\n [COUNTRY.BF]: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n [COUNTRY.BG]: [ LANG.EN ],\n [COUNTRY.BH]: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.BI]: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n [COUNTRY.BJ]: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n [COUNTRY.BM]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.BN]: [ LANG.EN ],\n [COUNTRY.BO]: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n [COUNTRY.BR]: [ LANG.PT, LANG.EN ],\n [COUNTRY.BS]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.BT]: [ LANG.EN ],\n [COUNTRY.BW]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.BY]: [ LANG.EN ],\n [COUNTRY.BZ]: [ LANG.EN, LANG.ES, LANG.FR, LANG.ZH ],\n [COUNTRY.C2]: [ LANG.ZH, LANG.EN ],\n [COUNTRY.CA]: [ LANG.EN, LANG.FR ],\n [COUNTRY.CD]: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n [COUNTRY.CG]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.CH]: [ LANG.DE, LANG.FR, LANG.EN ],\n [COUNTRY.CI]: [ LANG.FR, LANG.EN ],\n [COUNTRY.CK]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.CL]: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n [COUNTRY.CM]: [ LANG.FR, LANG.EN ],\n [COUNTRY.CN]: [ LANG.ZH ],\n [COUNTRY.CO]: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n [COUNTRY.CR]: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n [COUNTRY.CV]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.CY]: [ LANG.EN ],\n [COUNTRY.CZ]: [ LANG.CS, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.DE]: [ LANG.DE, LANG.EN ],\n [COUNTRY.DJ]: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n [COUNTRY.DK]: [ LANG.DA, LANG.EN ],\n [COUNTRY.DM]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.DO]: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n [COUNTRY.DZ]: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.EC]: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n [COUNTRY.EE]: [ LANG.EN, LANG.RU, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.EG]: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.ER]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.ES]: [ LANG.ES, LANG.EN ],\n [COUNTRY.ET]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.FI]: [ LANG.FI, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.FJ]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.FK]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.FM]: [ LANG.EN ],\n [COUNTRY.FO]: [ LANG.DA, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.FR]: [ LANG.FR, LANG.EN ],\n [COUNTRY.GA]: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n [COUNTRY.GB]: [ LANG.EN ],\n [COUNTRY.GD]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.GE]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.GF]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.GI]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.GL]: [ LANG.DA, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.GM]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.GN]: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n [COUNTRY.GP]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.GR]: [ LANG.EL, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.GT]: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n [COUNTRY.GW]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.GY]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.HK]: [ LANG.EN, LANG.ZH ],\n [COUNTRY.HN]: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n [COUNTRY.HR]: [ LANG.EN ],\n [COUNTRY.HU]: [ LANG.HU, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.ID]: [ LANG.ID, LANG.EN ],\n [COUNTRY.IE]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.IL]: [ LANG.HE, LANG.EN ],\n [COUNTRY.IN]: [ LANG.EN ],\n [COUNTRY.IS]: [ LANG.EN ],\n [COUNTRY.IT]: [ LANG.IT, LANG.EN ],\n [COUNTRY.JM]: [ LANG.EN, LANG.ES, LANG.FR, LANG.ZH ],\n [COUNTRY.JO]: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.JP]: [ LANG.JA, LANG.EN ],\n [COUNTRY.KE]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.KG]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.KH]: [ LANG.EN ],\n [COUNTRY.KI]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.KM]: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n [COUNTRY.KN]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.KR]: [ LANG.KO, LANG.EN ],\n [COUNTRY.KW]: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.KY]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.KZ]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.LA]: [ LANG.EN ],\n [COUNTRY.LC]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.LI]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.LK]: [ LANG.EN ],\n [COUNTRY.LS]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.LT]: [ LANG.EN, LANG.RU, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.LU]: [ LANG.EN, LANG.DE, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.LV]: [ LANG.EN, LANG.RU, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.MA]: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.MC]: [ LANG.FR, LANG.EN ],\n [COUNTRY.MD]: [ LANG.EN ],\n [COUNTRY.ME]: [ LANG.EN ],\n [COUNTRY.MG]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.MH]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.MK]: [ LANG.EN ],\n [COUNTRY.ML]: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n [COUNTRY.MN]: [ LANG.EN ],\n [COUNTRY.MQ]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.MR]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.MS]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.MT]: [ LANG.EN ],\n [COUNTRY.MU]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.MV]: [ LANG.EN ],\n [COUNTRY.MW]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.MX]: [ LANG.ES, LANG.EN ],\n [COUNTRY.MY]: [ LANG.EN ],\n [COUNTRY.MZ]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.NA]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.NC]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.NE]: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n [COUNTRY.NF]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.NG]: [ LANG.EN ],\n [COUNTRY.NI]: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n [COUNTRY.NL]: [ LANG.NL, LANG.EN ],\n [COUNTRY.NO]: [ LANG.NO, LANG.EN ],\n [COUNTRY.NP]: [ LANG.EN ],\n [COUNTRY.NR]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.NU]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.NZ]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.OM]: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.PA]: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n [COUNTRY.PE]: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n [COUNTRY.PF]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.PG]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.PH]: [ LANG.EN ],\n [COUNTRY.PL]: [ LANG.PL, LANG.EN ],\n [COUNTRY.PM]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.PN]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.PT]: [ LANG.PT, LANG.EN ],\n [COUNTRY.PW]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.PY]: [ LANG.ES, LANG.EN ],\n [COUNTRY.QA]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH, LANG.AR ],\n [COUNTRY.RE]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.RO]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.RS]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.RU]: [ LANG.RU, LANG.EN ],\n [COUNTRY.RW]: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n [COUNTRY.SA]: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.SB]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.SC]: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n [COUNTRY.SE]: [ LANG.SV, LANG.EN ],\n [COUNTRY.SG]: [ LANG.EN ],\n [COUNTRY.SH]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.SI]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.SJ]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.SK]: [ LANG.SK, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.SL]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.SM]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.SN]: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n [COUNTRY.SO]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.SR]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.ST]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.SV]: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n [COUNTRY.SZ]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.TC]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.TD]: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n [COUNTRY.TG]: [ LANG.FR, LANG.EN, LANG.ES, LANG.ZH ],\n [COUNTRY.TH]: [ LANG.TH, LANG.EN ],\n [COUNTRY.TJ]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.TM]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.TN]: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.TO]: [ LANG.EN ],\n [COUNTRY.TR]: [ LANG.TR, LANG.EN ],\n [COUNTRY.TT]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.TV]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.TW]: [ LANG.ZH, LANG.EN ],\n [COUNTRY.TZ]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.UA]: [ LANG.EN, LANG.RU, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.UG]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.US]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.UY]: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n [COUNTRY.VA]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.VC]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.VE]: [ LANG.ES, LANG.EN, LANG.FR, LANG.ZH ],\n [COUNTRY.VG]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.VN]: [ LANG.EN ],\n [COUNTRY.VU]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.WF]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.WS]: [ LANG.EN ],\n [COUNTRY.YE]: [ LANG.AR, LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.YT]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.ZA]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.ZM]: [ LANG.EN, LANG.FR, LANG.ES, LANG.ZH ],\n [COUNTRY.ZW]: [ LANG.EN ]\n};\n","/* @flow */\n/** @jsx jsxToHTML */\n\nimport { regexMap } from './util';\n\n// eslint-disable-next-line no-use-before-define\nexport type ChildType = $ReadOnlyArray | JsxHTMLNode | string | void | null;\nexport type ChildrenType = $ReadOnlyArray;\ntype PropsType = ?{ class? : string, id? : string, innerHTML? : string };\n\nfunction htmlEncode(html : string = '') : string {\n return html.toString()\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(/\\//g, '/');\n}\n\nexport class JsxHTMLNode {\n name : string\n props : PropsType\n children : ChildrenType\n\n constructor(name : string, props : PropsType, children : ChildrenType) {\n this.name = name;\n this.props = props;\n this.children = children;\n }\n\n toString() : string {\n return `<${ this.name }${ this.props ? ' ' : '' }${ this.props ? this.propsToString() : '' }>${ this.childrenToString() }`;\n }\n\n propsToString() : string {\n const props = this.props;\n\n if (!props) {\n return '';\n }\n\n return Object.keys(props).filter(key => {\n return key !== 'innerHTML' && props && props[key] !== false;\n }).map(key => {\n if (props && props[key] === true) {\n return `${ htmlEncode(key) }`;\n }\n return props ? `${ htmlEncode(key) }=\"${ htmlEncode(props[key]) }\"` : '';\n }).join(' ');\n }\n\n childrenToString() : string {\n\n if (this.props && this.props.innerHTML) {\n return this.props.innerHTML;\n }\n\n if (!this.children) {\n return '';\n }\n\n let result = '';\n\n function iterate(children) {\n for (const child of children) {\n\n if (child === null || child === undefined) {\n continue;\n }\n\n if (Array.isArray(child)) {\n iterate(child);\n } else if (child instanceof JsxHTMLNode) {\n result += child.toString();\n } else {\n result += htmlEncode(child);\n }\n }\n }\n\n iterate(this.children);\n\n return result;\n }\n}\n\nexport class JsxHTMLNodeContainer extends JsxHTMLNode {\n\n\n constructor(children : ChildrenType) {\n super('', {}, children);\n }\n\n toString() : string {\n return this.childrenToString();\n }\n}\n\nexport function jsxToHTML(name : string, props : PropsType, ...children : ChildrenType) : JsxHTMLNode {\n return new JsxHTMLNode(name, props, children);\n}\n\nexport function jsxRender(template : string, renderers : { [string] : (string) =>?(JsxHTMLNode | $ReadOnlyArray) }) : JsxHTMLNode {\n\n // eslint-disable-next-line security/detect-unsafe-regex\n const nodes = regexMap(template, /\\{\\s*([a-z]+)(?::\\s*([^} ]+))?\\s*\\}|([^${}]+)/g, (match, type, value, text) => {\n if (type) {\n if (!renderers[type]) {\n throw new Error(`Can not render type: ${ type }`);\n }\n\n return renderers[type](value);\n } else if (text && text.trim()) {\n\n if (!renderers.text) {\n return text;\n }\n\n if ((/
/).test(text)) {\n return renderers.break(text);\n } else {\n return renderers.text(text);\n }\n } else {\n return text;\n }\n });\n\n return new JsxHTMLNodeContainer(nodes);\n}\n","/* @flow */\n\nexport function isPromise(item : mixed) : boolean {\n try {\n if (!item) {\n return false;\n }\n\n if (typeof Promise !== 'undefined' && item instanceof Promise) {\n return true;\n }\n\n if (typeof window !== 'undefined' && typeof window.Window === 'function' && item instanceof window.Window) {\n return false;\n }\n\n if (typeof window !== 'undefined' && typeof window.constructor === 'function' && item instanceof window.constructor) {\n return false;\n }\n\n const toString = ({}).toString;\n\n if (toString) {\n const name = toString.call(item);\n\n if (name === '[object Window]' || name === '[object global]' || name === '[object DOMWindow]') {\n return false;\n }\n }\n\n if (typeof item.then === 'function') {\n return true;\n }\n } catch (err) {\n return false;\n }\n\n return false;\n}\n","/* @flow */\n\nimport type { ZalgoPromise } from './promise';\n\nconst dispatchedErrors = [];\nconst possiblyUnhandledPromiseHandlers : Array<(mixed, promise? : ZalgoPromise) => void> = [];\n\nexport function dispatchPossiblyUnhandledError(err : mixed, promise : ZalgoPromise) {\n\n if (dispatchedErrors.indexOf(err) !== -1) {\n return;\n }\n\n dispatchedErrors.push(err);\n\n setTimeout(() => {\n if (__DEBUG__) {\n // $FlowFixMe\n throw new Error(`${ err.stack || err.toString() }\\n\\nFrom promise:\\n\\n${ promise.stack }`);\n }\n\n throw err;\n }, 1);\n\n for (let j = 0; j < possiblyUnhandledPromiseHandlers.length; j++) {\n // $FlowFixMe\n possiblyUnhandledPromiseHandlers[j](err, promise);\n }\n}\n\nexport function onPossiblyUnhandledException(handler : (mixed, promise? : ZalgoPromise) => void) : {| cancel : () => void |} {\n possiblyUnhandledPromiseHandlers.push(handler);\n\n return {\n cancel() {\n possiblyUnhandledPromiseHandlers.splice(possiblyUnhandledPromiseHandlers.indexOf(handler), 1);\n }\n };\n}\n","/* @flow */\n\nimport type { ZalgoPromise } from './promise';\n\nlet activeCount = 0;\nlet flushPromise;\n\nfunction flushActive() {\n if (!activeCount && flushPromise) {\n const promise = flushPromise;\n flushPromise = null;\n promise.resolve();\n }\n}\n\nexport function startActive() {\n activeCount += 1;\n}\n\nexport function endActive() {\n activeCount -= 1;\n flushActive();\n}\n\nexport function awaitActive(Zalgo : Class>) : ZalgoPromise { // eslint-disable-line no-undef\n const promise = flushPromise = flushPromise || new Zalgo();\n flushActive();\n return promise;\n}\n","/* @flow */\n\nimport { isPromise } from './utils';\nimport { onPossiblyUnhandledException, dispatchPossiblyUnhandledError } from './exceptions';\nimport { startActive, endActive, awaitActive } from './flush';\n\nexport class ZalgoPromise {\n\n resolved : boolean\n rejected : boolean\n errorHandled : boolean\n value : R\n error : mixed\n // eslint-disable-next-line flowtype/no-mutable-array\n handlers : Array<{|\n promise : ZalgoPromise<*>,\n onSuccess : void | (result : R) => mixed,\n onError : void | (error : mixed) => mixed\n |}>\n dispatching : boolean\n stack : string\n\n constructor(handler : ?(resolve : (result : R) => void, reject : (error : mixed) => void) => void) {\n\n this.resolved = false;\n this.rejected = false;\n this.errorHandled = false;\n\n this.handlers = [];\n\n if (handler) {\n\n let result;\n let error;\n let resolved = false;\n let rejected = false;\n let isAsync = false;\n\n startActive();\n\n try {\n handler(res => {\n if (isAsync) {\n this.resolve(res);\n } else {\n resolved = true;\n result = res;\n }\n\n }, err => {\n if (isAsync) {\n this.reject(err);\n } else {\n rejected = true;\n error = err;\n }\n });\n\n } catch (err) {\n endActive();\n this.reject(err);\n return;\n }\n\n endActive();\n\n isAsync = true;\n\n if (resolved) {\n // $FlowFixMe\n this.resolve(result);\n } else if (rejected) {\n this.reject(error);\n }\n }\n\n if (__DEBUG__) {\n try {\n throw new Error(`ZalgoPromise`);\n } catch (err) {\n this.stack = err.stack;\n }\n }\n }\n\n resolve(result : R) : ZalgoPromise {\n if (this.resolved || this.rejected) {\n return this;\n }\n\n if (isPromise(result)) {\n throw new Error('Can not resolve promise with another promise');\n }\n\n this.resolved = true;\n this.value = result;\n this.dispatch();\n\n return this;\n }\n\n reject(error : mixed) : ZalgoPromise {\n if (this.resolved || this.rejected) {\n return this;\n }\n\n if (isPromise(error)) {\n throw new Error('Can not reject promise with another promise');\n }\n\n if (!error) {\n // $FlowFixMe\n const err = (error && typeof error.toString === 'function' ? error.toString() : Object.prototype.toString.call(error));\n error = new Error(`Expected reject to be called with Error, got ${ err }`);\n }\n\n this.rejected = true;\n this.error = error;\n\n if (!this.errorHandled) {\n setTimeout(() => {\n if (!this.errorHandled) {\n dispatchPossiblyUnhandledError(error, this);\n }\n }, 1);\n }\n\n this.dispatch();\n\n return this;\n }\n\n asyncReject(error : mixed) : ZalgoPromise {\n this.errorHandled = true;\n this.reject(error);\n return this;\n }\n \n dispatch() {\n\n const { dispatching, resolved, rejected, handlers } = this;\n\n if (dispatching) {\n return;\n }\n\n if (!resolved && !rejected) {\n return;\n }\n\n this.dispatching = true;\n startActive();\n\n const chain = (firstPromise : ZalgoPromise, secondPromise : ZalgoPromise) => {\n return firstPromise.then(res => {\n secondPromise.resolve(res);\n }, err => {\n secondPromise.reject(err);\n });\n };\n\n for (let i = 0; i < handlers.length; i++) {\n\n const { onSuccess, onError, promise } = handlers[i];\n\n let result;\n\n if (resolved) {\n\n try {\n result = onSuccess ? onSuccess(this.value) : this.value;\n } catch (err) {\n promise.reject(err);\n continue;\n }\n\n } else if (rejected) {\n\n if (!onError) {\n promise.reject(this.error);\n continue;\n }\n\n try {\n result = onError(this.error);\n } catch (err) {\n promise.reject(err);\n continue;\n }\n }\n\n if (result instanceof ZalgoPromise && (result.resolved || result.rejected)) {\n const promiseResult : ZalgoPromise<*> = result;\n\n if (promiseResult.resolved) {\n promise.resolve(promiseResult.value);\n } else {\n promise.reject(promiseResult.error);\n }\n\n promiseResult.errorHandled = true;\n\n } else if (isPromise(result)) {\n\n if (result instanceof ZalgoPromise && (result.resolved || result.rejected)) {\n if (result.resolved) {\n promise.resolve(result.value);\n } else {\n promise.reject(result.error);\n }\n\n } else {\n // $FlowFixMe\n chain(result, promise);\n }\n\n } else {\n\n promise.resolve(result);\n }\n }\n\n handlers.length = 0;\n this.dispatching = false;\n endActive();\n }\n\n then(onSuccess : void | (result : R) => (ZalgoPromise | Y), onError : void | (error : mixed) => (ZalgoPromise | Y)) : ZalgoPromise {\n\n if (onSuccess && typeof onSuccess !== 'function' && !onSuccess.call) {\n throw new Error('Promise.then expected a function for success handler');\n }\n\n if (onError && typeof onError !== 'function' && !onError.call) {\n throw new Error('Promise.then expected a function for error handler');\n }\n\n const promise = new ZalgoPromise();\n\n this.handlers.push({\n promise,\n onSuccess,\n onError\n });\n\n this.errorHandled = true;\n\n this.dispatch();\n\n return promise;\n }\n\n catch(onError : (error : mixed) => ZalgoPromise | Y) : ZalgoPromise {\n // $FlowFixMe incompatible-call\n const resultPromise : ZalgoPromise = this.then(undefined, onError);\n return resultPromise;\n }\n\n finally(onFinally : () => mixed) : ZalgoPromise {\n\n if (onFinally && typeof onFinally !== 'function' && !onFinally.call) {\n throw new Error('Promise.finally expected a function');\n }\n\n return this.then((result) => {\n return ZalgoPromise.try(onFinally)\n .then(() => {\n return result;\n });\n }, (err) => {\n return ZalgoPromise.try(onFinally)\n .then(() => {\n throw err;\n });\n });\n }\n\n timeout(time : number, err : ?Error) : ZalgoPromise {\n\n if (this.resolved || this.rejected) {\n return this;\n }\n\n const timeout = setTimeout(() => {\n\n if (this.resolved || this.rejected) {\n return;\n }\n\n this.reject(err || new Error(`Promise timed out after ${ time }ms`));\n\n }, time);\n\n return this.then(result => {\n clearTimeout(timeout);\n return result;\n });\n }\n\n // $FlowFixMe\n toPromise() : Promise {\n // $FlowFixMe\n if (typeof Promise === 'undefined') {\n throw new TypeError(`Could not find Promise`);\n }\n // $FlowFixMe\n return Promise.resolve(this); // eslint-disable-line compat/compat\n }\n\n lazy() : ZalgoPromise {\n this.errorHandled = true;\n return this;\n }\n\n static resolve(value : ZalgoPromise | Y) : ZalgoPromise {\n\n if (value instanceof ZalgoPromise) {\n // $FlowFixMe incompatible-type-arg\n const result : ZalgoPromise = value;\n return result;\n }\n\n if (isPromise(value)) {\n // $FlowFixMe\n return new ZalgoPromise((resolve, reject) => value.then(resolve, reject));\n }\n\n return new ZalgoPromise().resolve(value);\n }\n\n static reject(error : mixed) : ZalgoPromise {\n return new ZalgoPromise().reject(error);\n }\n\n static asyncReject(error : mixed) : ZalgoPromise {\n return new ZalgoPromise().asyncReject(error);\n }\n\n static all>(promises : X) : ZalgoPromise<$TupleMap(ZalgoPromise | Y) => Y>> { // eslint-disable-line no-undef\n\n const promise = new ZalgoPromise();\n let count = promises.length;\n // eslint-disable-next-line no-undef\n const results = ([] : $TupleMap(ZalgoPromise | Y) => Y>).slice();\n\n if (!count) {\n promise.resolve(results);\n return promise;\n }\n\n const chain = (i : number, firstPromise : ZalgoPromise, secondPromise : ZalgoPromise) => {\n return firstPromise.then(res => {\n results[i] = res;\n count -= 1;\n if (count === 0) {\n promise.resolve(results);\n }\n }, err => {\n secondPromise.reject(err);\n });\n };\n\n for (let i = 0; i < promises.length; i++) {\n const prom = promises[i];\n\n if (prom instanceof ZalgoPromise) {\n if (prom.resolved) {\n results[i] = prom.value;\n count -= 1;\n continue;\n }\n } else if (!isPromise(prom)) {\n results[i] = prom;\n count -= 1;\n continue;\n }\n\n chain(i, ZalgoPromise.resolve(prom), promise);\n }\n\n if (count === 0) {\n promise.resolve(results);\n }\n\n return promise;\n }\n\n static hash(promises : O) : ZalgoPromise<$ObjMap(ZalgoPromise | Y) => Y>> { // eslint-disable-line no-undef\n const result = {};\n const awaitPromises = [];\n\n for (const key in promises) {\n if (promises.hasOwnProperty(key)) {\n const value = promises[key];\n\n if (isPromise(value)) {\n awaitPromises.push(value.then(res => {\n result[key] = res;\n }));\n } else {\n result[key] = value;\n }\n }\n }\n \n return ZalgoPromise.all(awaitPromises).then(() => result);\n }\n\n static map(items : $ReadOnlyArray, method : (T) => (ZalgoPromise | X)) : ZalgoPromise<$ReadOnlyArray> {\n // $FlowFixMe\n return ZalgoPromise.all(items.map(method));\n }\n\n static onPossiblyUnhandledException(handler : (err : mixed) => void) : {| cancel : () => void |} {\n return onPossiblyUnhandledException(handler);\n }\n\n static try>(method : (...args : $ReadOnlyArray) => (ZalgoPromise | Y), context? : C, args? : A) : ZalgoPromise {\n\n if (method && typeof method !== 'function' && !method.call) {\n throw new Error('Promise.try expected a function');\n }\n\n let result : ZalgoPromise | Y;\n\n startActive();\n \n try {\n result = method.apply(context, args || []);\n } catch (err) {\n endActive();\n return ZalgoPromise.reject(err);\n }\n\n endActive();\n\n // $FlowFixMe incompatible-call\n const resultPromise = ZalgoPromise.resolve(result);\n\n return resultPromise;\n }\n\n static delay(delay : number) : ZalgoPromise {\n return new ZalgoPromise(resolve => {\n setTimeout(resolve, delay);\n });\n }\n\n static isPromise(value : mixed) : boolean {\n\n if (value && value instanceof ZalgoPromise) {\n return true;\n }\n\n return isPromise(value);\n }\n\n static flush() : ZalgoPromise {\n return awaitActive(ZalgoPromise);\n }\n}\n","/* @flow */\n\nimport {\n getOpener,\n getTop\n} from 'cross-domain-utils/src';\nimport {\n getUserAgent,\n supportsPopups,\n isAndroid,\n isChrome,\n isIos,\n isSafari,\n isSFVC,\n isIE\n} from 'belter/src';\n\nexport function isInsidePopup() : boolean {\n // Checks to see if the top-most window is a pop-up\n return Boolean(getOpener(getTop(window) || window));\n}\n\nexport function isStandAlone() : boolean {\n // Chrome interprets pop-up windows as standalone windows\n return !isInsidePopup() && (window.navigator.standalone === true || window.matchMedia('(display-mode: standalone)').matches);\n}\n\nexport function isIE11() : boolean {\n if (!isIE()) {\n return false;\n }\n\n if (window.navigator && typeof window.navigator.userAgent === 'string') {\n if ((/MSIE 11\\.0/i).test(window.navigator.userAgent)) {\n return true;\n }\n\n if ((/Trident/i).test(window.navigator.userAgent) && (/rv:11\\.0/i).test(window.navigator.userAgent)) {\n return true;\n }\n }\n\n return false;\n}\n\nexport function isSupportedNativeBrowser() : boolean {\n const userAgent = getUserAgent();\n\n if (!supportsPopups(userAgent)) {\n return false;\n }\n\n if (isSFVC()) {\n return false;\n }\n\n if (isIos() && isSafari()) {\n return true;\n }\n\n if (isAndroid() && isChrome()) {\n return true;\n }\n\n return false;\n}\n","/* @flow */\n\nexport const SDK_PATH = (\"/sdk/js\": \"/sdk/js\");\nexport const WEB_SDK_BRIDGE_PATH = (\"/web-sdk/v6/bridge\": \"/web-sdk/v6/bridge\");\n\nexport const SDK_SETTINGS = {\n AMOUNT: (\"data-amount\": \"data-amount\"),\n API_STAGE_HOST: (\"data-api-stage-host\": \"data-api-stage-host\"),\n CLIENT_METADATA_ID: (\"data-client-metadata-id\": \"data-client-metadata-id\"),\n CLIENT_TOKEN: (\"data-client-token\": \"data-client-token\"),\n CSP_NONCE: (\"data-csp-nonce\": \"data-csp-nonce\"),\n ENABLE_3DS: (\"data-enable-3ds\": \"data-enable-3ds\"),\n JS_SDK_LIBRARY: (\"data-js-sdk-library\": \"data-js-sdk-library\"),\n MERCHANT_ID: (\"data-merchant-id\": \"data-merchant-id\"),\n NAMESPACE: (\"data-namespace\": \"data-namespace\"),\n PAGE_TYPE: (\"data-page-type\": \"data-page-type\"),\n PARTNER_ATTRIBUTION_ID:\n (\"data-partner-attribution-id\": \"data-partner-attribution-id\"),\n POPUPS_DISABLED: (\"data-popups-disabled\": \"data-popups-disabled\"),\n SDK_INTEGRATION_SOURCE:\n (\"data-sdk-integration-source\": \"data-sdk-integration-source\"),\n SDK_TOKEN: (\"data-sdk-client-token\": \"data-sdk-client-token\"),\n SHOPPER_SESSION_ID: (\"data-shopper-session-id\": \"data-shopper-session-id\"),\n STAGE_HOST: (\"data-stage-host\": \"data-stage-host\"),\n USER_EXPERIENCE_FLOW:\n (\"data-user-experience-flow\": \"data-user-experience-flow\"),\n USER_ID_TOKEN: (\"data-user-id-token\": \"data-user-id-token\"),\n};\n\n// Why do we call these settings instead of what they are, data attributes?\n// all other constants in this file are named after what they are\nexport const SDK_DATA_ATTRIBUTES = SDK_SETTINGS;\n\nexport const SDK_QUERY_KEYS = {\n COMPONENTS: (\"components\": \"components\"),\n\n ENV: (\"env\": \"env\"),\n DEBUG: (\"debug\": \"debug\"),\n CACHEBUST: (\"cachebust\": \"cachebust\"),\n\n CLIENT_ID: (\"client-id\": \"client-id\"),\n MERCHANT_ID: (\"merchant-id\": \"merchant-id\"),\n\n LOCALE: (\"locale\": \"locale\"),\n\n CURRENCY: (\"currency\": \"currency\"),\n INTENT: (\"intent\": \"intent\"),\n COMMIT: (\"commit\": \"commit\"),\n VAULT: (\"vault\": \"vault\"),\n\n BUYER_COUNTRY: (\"buyer-country\": \"buyer-country\"),\n\n ENABLE_FUNDING: (\"enable-funding\": \"enable-funding\"),\n DISABLE_FUNDING: (\"disable-funding\": \"disable-funding\"),\n DISABLE_CARD: (\"disable-card\": \"disable-card\"),\n\n INTEGRATION_DATE: (\"integration-date\": \"integration-date\"),\n STAGE_HOST: (\"stage-host\": \"stage-host\"),\n STAGE_ALIAS: (\"stage-alias\": \"stage-alias\"),\n CDN_REGISTRY: (\"cdn-registry\": \"cdn-registry\"),\n VERSION: (\"version\": \"version\"),\n};\n\nexport const COMPONENTS = {\n BUTTONS: (\"buttons\": \"buttons\"),\n CARD_FIELDS: (\"card-fields\": \"card-fields\"),\n HOSTED_BUTTONS: (\"hosted-buttons\": \"hosted-buttons\"),\n HOSTED_FIELDS: (\"hosted-fields\": \"hosted-fields\"),\n};\n\nexport const DEBUG = {\n TRUE: (true: true),\n FALSE: (false: false),\n};\n\nexport const QUERY_BOOL = {\n TRUE: (\"true\": \"true\"),\n FALSE: (\"false\": \"false\"),\n};\n\nexport const UNKNOWN = (\"unknown\": \"unknown\");\n\nexport const PROTOCOL = {\n HTTP: (\"http\": \"http\"),\n HTTPS: (\"https\": \"https\"),\n};\n\nexport const PAGE_TYPES = {\n HOME: (\"home\": \"home\"),\n PRODUCT: (\"product\": \"product\"),\n CART: (\"cart\": \"cart\"),\n CHECKOUT: (\"checkout\": \"checkout\"),\n PRODUCT_LISTING: (\"product-listing\": \"product-listing\"),\n SEARCH_RESULTS: (\"search-results\": \"search-results\"),\n PRODUCT_DETAILS: (\"product-details\": \"product-details\"),\n MINI_CART: (\"mini-cart\": \"mini-cart\"),\n};\n\nexport const MERCHANT_ID_MAX = 10;\n\nexport const DISPLAY_ONLY_VALUES = {\n VAULTABLE: (\"vaultable\": \"vaultable\"),\n};\n","/* @flow */\n\nimport { debug } from 'beaver-logger/client';\nimport { getDomain } from 'cross-domain-utils/src';\nimport { PAGE_TYPES, SDK_SETTINGS } from '@paypal/sdk-constants/src';\nimport { values } from 'belter/src';\n\nimport { config } from '../config';\nimport { ENV } from '../constants';\n\nimport { memoize, domainMatches } from './util';\n\nexport const getCurrentScript = memoize(() : ?HTMLScriptElement => {\n const localSDKUrl = config.localSDKUrl;\n\n const scripts = Array.prototype.slice.call(document.getElementsByTagName('script'));\n\n for (const script of scripts) {\n if (script.src && (script.src.replace(/^https?:/, '').split('?')[0] === config.scriptUrl || script.hasAttribute('data-paypal-checkout'))) {\n return script;\n }\n\n if (script.src && (script.src.indexOf('paypal.checkout.v4.js') !== -1)) {\n return script;\n }\n\n if (config.env === ENV.LOCAL && localSDKUrl && script.src === localSDKUrl) {\n return script;\n }\n }\n\n if (document.currentScript) {\n debug(`current_script_not_recognized`, { src: document.currentScript.src });\n }\n});\n\nexport function isPayPalObjects() : boolean {\n return Boolean(getCurrentScript());\n}\n\nexport function getScriptVersion() : string {\n if (__PAYPAL_CHECKOUT__.__MAJOR__ && isPayPalObjects()) {\n return __MIN__ ? 'min' : __PAYPAL_CHECKOUT__.__MAJOR_VERSION__;\n } else {\n return __MIN__ ? `${ __PAYPAL_CHECKOUT__.__MINOR_VERSION__ }.min` : __PAYPAL_CHECKOUT__.__MINOR_VERSION__;\n }\n}\n\nexport function getCurrentScriptUrl() : string {\n const script = getCurrentScript();\n\n if (script && typeof script.src === 'string') {\n let scriptUrl = script.src;\n\n if (scriptUrl.indexOf('http://www.paypalobjects.com') === 0) {\n scriptUrl = scriptUrl.replace('http://', 'https://');\n }\n\n if (scriptUrl.indexOf('//www.paypalobjects.com') === 0) {\n scriptUrl = `https:${ scriptUrl }`;\n }\n\n return scriptUrl;\n }\n\n return `https://www.paypalobjects.com/api/checkout.${ __PAYPAL_CHECKOUT__.__MINOR_VERSION__ }${ __MIN__ ? '.min' : '' }.js`;\n}\n\nexport function getDomainSetting(name : string, def : ?T) : ?T {\n\n const hostname = window.xchild\n ? window.xchild.getParentDomain()\n : getDomain();\n\n if (config.domain_settings) {\n for (const domain of Object.keys(config.domain_settings)) {\n if (domainMatches(hostname, domain)) {\n return config.domain_settings[domain][name];\n }\n }\n }\n\n return def;\n}\n\nexport function getPageType() : string {\n const script = getCurrentScript();\n if (script && script.hasAttribute(SDK_SETTINGS.PAGE_TYPE)) {\n // $FlowFixMe we know that pageType will be set from hasAttribute\n const pageType = script.getAttribute(SDK_SETTINGS.PAGE_TYPE).toLowerCase();\n const validPageType = values(PAGE_TYPES).indexOf(pageType) !== -1;\n\n if (!validPageType && pageType.length) {\n throw new Error(`Invalid page type, '${ pageType }'`);\n }\n return pageType;\n }\n\n return '';\n}\n","/* @flow */\n\nimport { CONFIG as POSTROBOT_CONFIG } from 'post-robot/src';\nimport { setTransport, getTransport, addPayloadBuilder, addHeaderBuilder, addMetaBuilder,\n addTrackingBuilder, init, logLevels, config as loggerConfig } from 'beaver-logger/client';\nimport { getParent, PROTOCOL } from 'cross-domain-utils/src';\n\nimport { config } from '../config';\nimport { FPTI, PAYMENT_TYPE } from '../constants';\n\nimport { getSessionID, getButtonSessionID } from './session';\nimport { proxyMethod } from './proxy';\nimport { once } from './util';\nimport { getQueryParam } from './dom';\nimport { isPayPalDomain } from './security';\nimport { getPageType } from './script';\n\nfunction getRefererDomain() : string {\n return (window.xchild && window.xchild.getParentDomain)\n ? window.xchild.getParentDomain()\n : window.location.host;\n}\n\nconst setupProxyLogTransport = once(() => {\n setTransport(proxyMethod('log', getParent(window), getTransport()));\n});\n\nfunction getToken() : ?string {\n if (window.root && window.root.token) {\n return window.root.token;\n }\n\n if (isPayPalDomain()) {\n const queryToken = getQueryParam('token');\n\n if (queryToken) {\n return queryToken;\n }\n }\n}\n\nexport function initLogger() {\n\n setupProxyLogTransport();\n\n addPayloadBuilder(() => {\n return {\n referer: getRefererDomain(),\n host: window.location.host,\n path: window.location.pathname,\n env: config.env,\n country: config.locale.country,\n lang: config.locale.lang,\n uid: getSessionID(),\n ver: __PAYPAL_CHECKOUT__.__MINOR_VERSION__\n };\n });\n\n addHeaderBuilder(() => {\n return {\n 'x-app-name': 'checkoutjs'\n };\n });\n\n addMetaBuilder(() => {\n return {\n state: config.state\n };\n });\n\n addTrackingBuilder((payload = {}) => {\n\n const sessionID = getSessionID();\n const paymentToken = getToken();\n const buttonSessionID = payload[FPTI.KEY.BUTTON_SESSION_UID] || getButtonSessionID();\n\n let contextType;\n let contextID;\n\n if (paymentToken) {\n contextType = FPTI.CONTEXT_TYPE[PAYMENT_TYPE.EC_TOKEN];\n contextID = paymentToken;\n } else if (buttonSessionID) {\n contextType = FPTI.CONTEXT_TYPE.BUTTON_SESSION_ID;\n contextID = buttonSessionID;\n } else {\n contextType = payload[FPTI.KEY.CONTEXT_TYPE];\n contextID = payload[FPTI.KEY.CONTEXT_ID];\n }\n\n return {\n [ FPTI.KEY.FEED ]: FPTI.FEED.CHECKOUTJS,\n [ FPTI.KEY.DATA_SOURCE ]: FPTI.DATA_SOURCE.CHECKOUT,\n [ FPTI.KEY.CONTEXT_TYPE ]: contextType,\n [ FPTI.KEY.CONTEXT_ID ]: contextID,\n [ FPTI.KEY.SELLER_ID ]: config.merchantID,\n [ FPTI.KEY.SESSION_UID ]: sessionID,\n [ FPTI.KEY.BUTTON_SESSION_UID ]: buttonSessionID,\n [ FPTI.KEY.VERSION ]: config.version,\n [ FPTI.KEY.TOKEN ]: paymentToken,\n [ FPTI.KEY.PAGE_TYPE]: getPageType(),\n [ FPTI.KEY.REFERER ]: getRefererDomain(),\n [ FPTI.KEY.TIMESTAMP]: Date.now().toString()\n };\n });\n\n const prefix = 'ppxo';\n\n if (window.location.protocol !== PROTOCOL.FILE) {\n init({\n uri: config.loggerUrl,\n heartbeat: false,\n logPerformance: false,\n prefix,\n logLevel: __PAYPAL_CHECKOUT__.__DEFAULT_LOG_LEVEL__\n });\n }\n}\n\nexport function setLogLevel(logLevel : string) {\n\n if (logLevels.indexOf(logLevel) === -1) {\n throw new Error(`Invalid logLevel: ${ logLevel }`);\n }\n\n config.logLevel = logLevel;\n loggerConfig.logLevel = logLevel;\n POSTROBOT_CONFIG.LOG_LEVEL = logLevel;\n window.LOG_LEVEL = logLevel;\n}\n","/* @flow */\n\nimport { on, send } from 'post-robot/src';\nimport { isWindowClosed, getDomain, isSameDomain, type CrossDomainWindowType } from 'cross-domain-utils/src';\n\nimport { config, paypalDomainRegex } from '../config';\n\nimport { noop } from './util';\n\nexport function proxyMethod(name : string, win : ?CrossDomainWindowType, originalMethod : Function) : Function {\n\n if (win && getDomain() === config.paypalDomain && !isSameDomain(win)) {\n\n if (win) {\n send(win, `proxy_${ name }`, { originalMethod }).catch(noop);\n }\n\n return originalMethod;\n }\n\n let methods = [];\n\n on(`proxy_${ name }`, { domain: paypalDomainRegex }, ({ data }) => {\n methods.push(data.originalMethod);\n });\n\n return function postMessageProxy() : mixed {\n\n methods = methods.filter(method => !isWindowClosed(method.source));\n\n if (methods.length) {\n return methods[methods.length - 1].apply(this, arguments).catch(() => {\n return originalMethod.apply(this, arguments);\n });\n }\n\n return originalMethod.apply(this, arguments);\n };\n}\n","/* @flow */\n\nimport { info, flush as flushLogs } from 'beaver-logger/client';\nimport { isIEIntranet, getUserAgent } from 'belter/src';\n\nimport { config } from '../config';\n\nimport { once } from './util';\n\nconst bowserCache = {};\n\nfunction getBowser() : Object {\n\n const userAgent = getUserAgent();\n\n if (bowserCache[userAgent]) {\n return bowserCache[userAgent];\n }\n\n delete require.cache[require.resolve('bowser/bowser.min')];\n const bowser = require('bowser/bowser.min');\n\n bowserCache[userAgent] = bowser;\n\n return bowser;\n}\n\nexport function getBrowser() : { browser? : string, version? : string } {\n\n const bowser = getBowser();\n\n for (const browser of Object.keys(config.SUPPORTED_BROWSERS)) {\n if (bowser[browser]) {\n return { browser, version: bowser.version };\n }\n }\n\n return {};\n}\n\nfunction isBrowserEligible() : boolean {\n\n if (isIEIntranet()) {\n return false;\n }\n\n const bowser = getBowser();\n const { browser, version } = getBrowser();\n\n if (browser && version && bowser.compareVersions([ version, config.SUPPORTED_BROWSERS[browser] ]) === -1) {\n return false;\n }\n\n return true;\n}\n\nconst eligibilityResults = {};\n\nexport function isEligible() : boolean {\n\n if (isIEIntranet()) {\n return false;\n }\n \n const userAgent = window.navigator.userAgent;\n\n if (userAgent && eligibilityResults.hasOwnProperty(userAgent)) {\n return eligibilityResults[userAgent];\n }\n\n const result = isBrowserEligible();\n\n eligibilityResults[userAgent] = result;\n\n return result;\n}\n\nexport const checkRecognizedBrowser = once((state : string) => {\n\n const { browser } = getBrowser();\n\n if (!browser) {\n const { name, version, mobile, android, ios } = getBowser();\n info(`unrecognized_browser_${ state }`, { name, version, mobile, android, ios });\n flushLogs();\n }\n});\n","/* @flow */\n\nimport { warn } from 'beaver-logger/client';\nimport { isIE, isIEIntranet, isIECompHeader } from 'belter/src';\n\nfunction logWarn(err) : void {\n if (window.console) {\n if (window.console.warn) {\n return window.console.warn(err);\n }\n\n if (window.console.log) {\n return window.console.log(err);\n }\n }\n}\n\nexport function checkForDeprecatedIntegration() {\n const scripts = Array.prototype.slice.call(document.getElementsByTagName('script'));\n\n for (const script of scripts) {\n if (script.attributes.type?.value === 'application/x-component') {\n warn('deprecated_integration_application_xcomponent');\n\n // eslint-disable-next-line no-console\n console.error(`\n This integration pattern using '\n `;\n });\n });\n });\n }\n\n @memoized\n loadHTML() : ZalgoPromise {\n return ZalgoPromise.try(() => {\n if (!this.html) {\n throw new Error(`Html not prefetched`);\n }\n\n return this.html.then(html => {\n // $FlowFixMe\n return writeToWindow(this.window, html);\n });\n });\n }\n\n checkAllowRenderTo(win : CrossDomainWindowType) {\n\n if (!win) {\n throw this.component.createError(`Must pass window to renderTo`);\n }\n\n if (isSameDomain(win)) {\n return;\n }\n\n let origin = getDomain();\n let domain = this.component.getDomain(null, this.props.env);\n\n if (!domain) {\n throw new Error(`Could not determine domain to allow remote render`);\n }\n\n if (matchDomain(domain, origin)) {\n return;\n }\n\n throw new Error(`Can not render remotely to ${ domain.toString() } - can only render to ${ origin }`);\n }\n\n registerActiveComponent() {\n ParentComponent.activeComponents.push(this);\n\n this.clean.register(() => {\n ParentComponent.activeComponents.splice(ParentComponent.activeComponents.indexOf(this), 1);\n });\n }\n\n\n getComponentParentRef() : { ref : string, uid? : string, distance? : number } {\n let domain = this.component.getDomain(null, this.props.env);\n\n if (domain === getDomain(window)) {\n let uid = uniqueID();\n global.windows = global.windows || {};\n global.windows[uid] = window;\n this.clean.register(() => {\n delete global.windows[uid];\n });\n\n return { ref: WINDOW_REFERENCES.GLOBAL, uid };\n }\n\n if (this.context === CONTEXT_TYPES.POPUP) {\n return { ref: WINDOW_REFERENCES.OPENER };\n }\n\n if (isTop(window)) {\n return { ref: WINDOW_REFERENCES.TOP };\n }\n\n return { ref: WINDOW_REFERENCES.PARENT, distance: getDistanceFromTop(window) };\n }\n\n getRenderParentRef(renderToWindow : CrossDomainWindowType = window) : { ref : string, uid? : string, distance? : number } {\n\n if (renderToWindow === window) {\n return this.getComponentParentRef();\n }\n\n let uid = uniqueID();\n global.windows[uid] = renderToWindow;\n\n this.clean.register(() => {\n delete global.windows[uid];\n });\n\n return { ref: WINDOW_REFERENCES.GLOBAL, uid };\n }\n\n buildChildWindowName({ renderTo = window } : { renderTo : CrossDomainWindowType } = {}) : string {\n\n let childDomain = this.component.getDomain(null, this.props.env);\n let sameDomain = isSameDomain(renderTo);\n\n let uid = uniqueID();\n let tag = this.component.tag;\n let sProps = serializeFunctions(this.getPropsForChild());\n\n let componentParent = this.getComponentParentRef();\n let renderParent = this.getRenderParentRef(renderTo);\n\n let secureProps = !sameDomain && !this.component.unsafeRenderTo;\n\n let props = secureProps\n ? { type: INITIAL_PROPS.UID, uid }\n : { type: INITIAL_PROPS.RAW, value: sProps };\n\n if (props.type === INITIAL_PROPS.UID) {\n global.props[uid] = JSON.stringify(sProps);\n\n this.clean.register(() => {\n delete global.props[uid];\n });\n }\n\n return buildChildWindowName(this.component.name, this.component.version, { uid, tag, componentParent, renderParent, props, childDomain });\n }\n\n\n /* Send to Parent\n --------------\n\n Send a post message to our parent window.\n */\n\n sendToParent(name : string, data : Object) : ZalgoPromise<{ origin : string, source : CrossDomainWindowType, data : Object }> {\n let parentWindow = getParentComponentWindow();\n\n if (!parentWindow) {\n throw new Error(`Can not find parent component window to message`);\n }\n\n this.component.log(`send_to_parent_${ name }`);\n\n return send(getParentComponentWindow(), name, data, { domain: getParentDomain() });\n }\n\n\n /* Set Props\n ---------\n\n Normalize props and generate the url we'll use to render the component\n */\n\n setProps(props : (PropsType & P), required : boolean = true) {\n\n validateProps(this.component, props, required);\n if (this.component.validate) {\n this.component.validate(this.component, props);\n }\n\n // $FlowFixMe\n this.props = this.props || {};\n\n extend(this.props, normalizeProps(this.component, this, props));\n }\n\n\n /* Build Url\n ---------\n\n We build the props we're passed into the initial url. This means the component server-side can start rendering\n itself based on whatever props the merchant provides.\n */\n\n @memoized\n buildUrl() : ZalgoPromise {\n\n let propUrl : (string | void) = this.props.url;\n\n return ZalgoPromise.all([\n\n propUrl,\n // $FlowFixMe\n propsToQuery({ ...this.component.props, ...this.component.builtinProps }, this.props)\n\n ]).then(([ url, query ]) => {\n\n // Do not extend the url if it is for a different domain\n\n if (url && !this.component.getValidDomain(url)) {\n return url;\n }\n\n return ZalgoPromise.try(() => {\n\n return url || this.component.getUrl(this.props.env, this.props);\n\n }).then(finalUrl => {\n\n query.xcomponent = '1';\n return extendUrl(finalUrl, { query });\n });\n });\n }\n\n\n getDomain() : ZalgoPromise {\n return ZalgoPromise.try(() => {\n return this.props.url;\n\n }).then(url => {\n\n let domain = this.component.getDomain(url, this.props.env);\n\n if (domain) {\n return domain;\n }\n\n if (this.component.buildUrl) {\n return ZalgoPromise.try(() => this.component.buildUrl(this.props)).then(builtUrl => {\n return this.component.getDomain(builtUrl, this.props.env);\n });\n }\n\n }).then(domain => {\n\n if (!domain) {\n throw new Error(`Could not determine domain`);\n }\n\n return domain;\n });\n }\n\n getPropsForChild() : (BuiltInPropsType & P) {\n\n let result = {};\n\n for (let key of Object.keys(this.props)) {\n let prop = this.component.getProp(key);\n\n if (!prop || prop.sendToChild !== false) {\n result[key] = this.props[key];\n }\n }\n\n // $FlowFixMe\n return result;\n }\n\n\n /* Update Props\n ------------\n\n Send new props down to the child\n */\n\n updateProps(props : (PropsType & P)) : ZalgoPromise {\n this.setProps(props, false);\n\n return this.onInit.then(() => {\n if (this.childExports) {\n return this.childExports.updateProps(this.getPropsForChild());\n } else {\n throw new Error(`Child exports were not available`);\n }\n });\n }\n\n\n openBridge(domain : ?string) : ZalgoPromise {\n return ZalgoPromise.try(() => {\n if (!bridge || !this.driver.needsBridge) {\n return;\n }\n\n let needsBridgeParams : Object = { win: this.window };\n if (domain) {\n needsBridgeParams.domain = domain;\n }\n\n let needsBridge = bridge.needsBridge(needsBridgeParams);\n\n let bridgeUrl = this.component.getBridgeUrl(this.props.env);\n\n if (!bridgeUrl) {\n\n if (needsBridge && domain && !bridge.hasBridge(domain, domain)) {\n throw new Error(`Bridge url needed to render ${ this.context }`);\n }\n\n return;\n }\n\n bridgeUrl = extendUrl(bridgeUrl, { query: { version: this.component.version } });\n\n let bridgeDomain = this.component.getBridgeDomain(this.props.env);\n\n if (!bridgeDomain) {\n throw new Error(`Can not determine domain for bridge`);\n }\n\n if (needsBridge) {\n return bridge.openBridge(bridgeUrl, bridgeDomain).then(result => {\n if (result) {\n return result;\n }\n });\n }\n });\n }\n\n\n /* Open\n ----\n\n Open a new window in the desired context\n */\n\n @memoized\n open() : ZalgoPromise {\n return ZalgoPromise.try(() => {\n this.component.log(`open_${ this.context }`, { windowName: this.childWindowName });\n const win = this.props.win;\n\n if (win) {\n this.clean.set('window', win);\n window.addEventListener('beforeunload', () => win.close());\n window.addEventListener('unload', () => win.close());\n assertSameDomain(this.window).name = this.childWindowName;\n return;\n }\n return this.driver.open.call(this);\n });\n }\n\n @memoized\n openPrerender() : ZalgoPromise {\n return ZalgoPromise.try(() => {\n if (this.component.prerenderTemplate) {\n return this.driver.openPrerender.call(this);\n }\n });\n }\n\n @memoized\n switchPrerender() : ZalgoPromise {\n return ZalgoPromise.try(() => {\n if (this.prerenderWindow && this.driver.switchPrerender) {\n return this.driver.switchPrerender.call(this);\n }\n });\n }\n\n get driver() : ContextDriverType {\n\n if (!this.context) {\n throw new Error('Context not set');\n }\n\n return RENDER_DRIVERS[this.context];\n }\n\n elementReady(element : ElementRefType) : ZalgoPromise {\n return elementReady(element).then(noop);\n }\n\n\n delegate(win : CrossDomainWindowType) {\n\n this.component.log(`delegate_${ this.context }`);\n\n let props = {\n uid: this.props.uid,\n dimensions: this.props.dimensions,\n onClose: this.props.onClose,\n onDisplay: this.props.onDisplay\n };\n\n for (let propName of this.component.getPropNames()) {\n let prop = this.component.getProp(propName);\n\n if (prop.allowDelegate) {\n props[propName] = this.props[propName];\n }\n }\n\n let delegate = send(win, `${ POST_MESSAGE.DELEGATE }_${ this.component.name }`, {\n\n context: this.context,\n env: this.props.env,\n\n options: {\n\n context: this.context,\n\n childWindowName: this.childWindowName,\n isWindowClosed: () => isWindowClosed(this.window),\n\n props,\n\n overrides: {\n focus: () => this.focus(),\n userClose: () => this.userClose(),\n getDomain: () => this.getDomain(),\n\n error: (err) => this.error(err),\n on: (eventName, handler) => this.on(eventName, handler)\n }\n }\n\n }).then(({ data }) => {\n\n this.clean.register(data.destroy);\n return data;\n\n }).catch(err => {\n\n throw new Error(`Unable to delegate rendering. Possibly the component is not loaded in the target window.\\n\\n${ stringifyError(err) }`);\n });\n\n let overrides = this.driver.delegateOverrides;\n\n for (let key of Object.keys(overrides)) {\n let val = overrides[key];\n\n if (val === DELEGATE.CALL_ORIGINAL) {\n continue;\n }\n\n // $FlowFixMe\n let original = this[key];\n\n // $FlowFixMe\n this[key] = function overridenFunction() : ZalgoPromise {\n return delegate.then(data => {\n\n let override = data.overrides[key];\n\n if (val === DELEGATE.CALL_DELEGATE) {\n return override.apply(this, arguments);\n }\n\n if (typeof val === 'function') {\n return val(original, override).apply(this, arguments);\n }\n\n throw new Error(`Expected delgate to be CALL_ORIGINAL, CALL_DELEGATE, or factory method`);\n });\n };\n }\n }\n\n /* Watch For Close\n ---------------\n\n Watch for the child window closing, so we can cleanup.\n Also watch for this window changing location, so we can close the component.\n */\n\n watchForClose() {\n let closeWindowListener = onCloseWindow(this.window, () => {\n this.component.log(`detect_close_child`);\n\n return ZalgoPromise.try(() => {\n return this.props.onClose(CLOSE_REASONS.CLOSE_DETECTED);\n }).finally(() => {\n return this.destroy();\n });\n }, 3000);\n\n this.clean.register('destroyCloseWindowListener', closeWindowListener.cancel);\n }\n\n watchForUnload() {\n\n // Our child has no way of knowing if we navigated off the page. So we have to listen for unload\n // and close the child manually if that happens.\n\n let onunload = once(() => {\n this.component.log(`navigate_away`);\n flush();\n this.destroyComponent();\n });\n\n let unloadWindowListener = addEventListener(window, 'unload', onunload);\n\n this.clean.register('destroyUnloadWindowListener', unloadWindowListener.cancel);\n }\n\n\n /* Load Url\n --------\n\n Load url into the child window. This is separated out because it's quite common for us to have situations\n where opening the child window and loading the url happen at different points.\n */\n\n loadUrl(url : string) : ZalgoPromise {\n return ZalgoPromise.try(() => {\n this.component.log(`load_url`);\n\n if (window.location.href.split('#')[0] === url.split('#')[0]) {\n url = extendUrl(url, {\n query: {\n [ uniqueID() ]: '1'\n }\n });\n }\n\n return this.driver.loadUrl.call(this, url);\n });\n }\n\n\n hijack(targetElement : HTMLFormElement | HTMLAnchorElement) {\n targetElement.target = this.childWindowName;\n }\n\n /* Run Timeout\n -----------\n\n Set a timeout on the initial render, and call this.props.onTimeout if we don't get an init call in time.\n */\n\n runTimeout() {\n let timeout = this.props.timeout;\n\n if (timeout) {\n let id = this.timeout = setTimeout(() => {\n\n this.component.log(`timed_out`, { timeout: timeout.toString() });\n\n let error = this.component.createError(`Loading component timed out after ${ timeout } milliseconds`);\n\n this.onInit.reject(error);\n this.props.onTimeout(error);\n\n }, timeout);\n\n this.clean.register(() => {\n clearTimeout(id);\n delete this.timeout;\n });\n }\n }\n\n\n /* Listeners\n ---------\n\n Post-robot listeners to the child component window\n */\n\n listeners() : { [string] : (CrossDomainWindowType, Object) => mixed } {\n return {\n\n // The child rendered, and the component called .attach()\n // We have no way to know when the child has set up its listeners for the first time, so we have to listen\n // for this message to be sure so we can continue doing anything from the parent\n\n [ POST_MESSAGE.INIT ](source : CrossDomainWindowType, data : Object) : { props : BuiltInPropsType & P, context : string } {\n\n this.childExports = data.exports;\n\n this.onInit.resolve(this);\n\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n\n return {\n props: this.getPropsForChild(),\n context: this.context\n };\n },\n\n\n // The child has requested that we close it. Since iframes can't close themselves, we need\n // this logic to exist in the parent window\n\n [ POST_MESSAGE.CLOSE ](source : CrossDomainWindowType, data : Object) {\n this.close(data.reason);\n },\n\n [ POST_MESSAGE.CHECK_CLOSE ]() {\n this.checkClose();\n },\n\n // Iframes can't resize themselves, so they need the parent to take care of it for them.\n\n [ POST_MESSAGE.RESIZE ](source : CrossDomainWindowType, data : Object) : ZalgoPromise {\n return ZalgoPromise.try(() => {\n if (this.driver.allowResize) {\n return this.resize(data.width, data.height);\n }\n });\n },\n\n [ POST_MESSAGE.HIDE ]() {\n this.hide();\n },\n\n [ POST_MESSAGE.SHOW ]() {\n this.show();\n },\n\n\n // The child encountered an error\n\n [ POST_MESSAGE.ERROR ](source : CrossDomainWindowType, data : Object) {\n this.error(new Error(data.error));\n }\n };\n }\n\n\n /* Resize\n ------\n\n Resize the child component window\n */\n\n resize(width : ?(number | string), height : ?(number | string)) : ZalgoPromise {\n return ZalgoPromise.try(() => {\n this.component.log(`resize`, { height: stringify(height), width: stringify(width) });\n this.driver.resize.call(this, width, height);\n if (this.props.onResize) {\n this.props.onResize();\n }\n });\n }\n\n\n /* Hide\n ----\n\n Hide the component and any parent template\n */\n\n hide() : void {\n\n if (this.container) {\n hideElement(this.container);\n }\n\n return this.driver.hide.call(this);\n }\n\n show() : void {\n\n if (this.container) {\n showElement(this.container);\n }\n\n return this.driver.show.call(this);\n }\n\n\n checkClose() {\n let closeWindowListener = onCloseWindow(this.window, () => {\n this.userClose();\n }, 50, 500);\n\n this.clean.register(closeWindowListener.cancel);\n }\n\n\n userClose() : ZalgoPromise {\n return this.close(CLOSE_REASONS.USER_CLOSED);\n }\n\n\n /* Close\n -----\n\n Close the child component\n */\n\n @memoized\n close(reason : string = CLOSE_REASONS.PARENT_CALL) : ZalgoPromise {\n return ZalgoPromise.try(() => {\n\n this.component.log(`close`, { reason });\n\n this.event.triggerOnce(EVENTS.CLOSE);\n return this.props.onClose(reason);\n\n }).then(() => {\n\n return ZalgoPromise.all([\n this.closeComponent(),\n this.closeContainer()\n ]);\n\n }).then(() => {\n\n return this.destroy();\n });\n }\n\n\n @memoized\n closeContainer(reason : string = CLOSE_REASONS.PARENT_CALL) : ZalgoPromise {\n return ZalgoPromise.try(() => {\n\n this.event.triggerOnce(EVENTS.CLOSE);\n return this.props.onClose(reason);\n\n }).then(() => {\n\n return ZalgoPromise.all([\n this.closeComponent(reason),\n this.hideContainer()\n ]);\n\n }).then(() => {\n\n return this.destroyContainer();\n });\n }\n\n\n @memoized\n destroyContainer() : ZalgoPromise {\n return ZalgoPromise.try(() => {\n this.clean.run('destroyContainerEvents');\n this.clean.run('destroyContainerTemplate');\n });\n }\n\n\n @memoized\n closeComponent(reason : string = CLOSE_REASONS.PARENT_CALL) : ZalgoPromise {\n\n let win = this.window;\n\n return ZalgoPromise.try(() => {\n\n return this.cancelContainerEvents();\n\n }).then(() => {\n\n this.event.triggerOnce(EVENTS.CLOSE);\n return this.props.onClose(reason);\n\n }).then(() => {\n\n return this.hideComponent();\n\n }).then(() => {\n\n return this.destroyComponent();\n\n }).then(() => {\n\n // IE in metro mode -- child window needs to close itself, or close will hang\n\n if (this.childExports && this.context === CONTEXT_TYPES.POPUP && !isWindowClosed(win)) {\n this.childExports.close().catch(noop);\n }\n });\n }\n\n destroyComponent() {\n this.clean.run('destroyUnloadWindowListener');\n this.clean.run('destroyCloseWindowListener');\n this.clean.run('destroyContainerEvents');\n this.clean.run('destroyWindow');\n }\n\n @memoized\n showContainer() : ZalgoPromise {\n return ZalgoPromise.try(() => {\n if (this.props.onDisplay) {\n return this.props.onDisplay();\n }\n }).then(() => {\n if (this.container) {\n return showAndAnimate(this.container, ANIMATION_NAMES.SHOW_CONTAINER, this.clean.register);\n }\n });\n }\n\n @memoized\n showComponent() : ZalgoPromise {\n return ZalgoPromise.try(() => {\n if (this.props.onDisplay) {\n return this.props.onDisplay();\n }\n }).then(() => {\n if (this.element) {\n return showAndAnimate(this.element, ANIMATION_NAMES.SHOW_COMPONENT, this.clean.register);\n }\n });\n }\n\n @memoized\n hideContainer() : ZalgoPromise {\n return ZalgoPromise.try(() => {\n if (this.container) {\n return animateAndHide(this.container, ANIMATION_NAMES.HIDE_CONTAINER, this.clean.register);\n } else {\n return ZalgoPromise.resolve();\n }\n });\n }\n\n @memoized\n hideComponent() : ZalgoPromise {\n return ZalgoPromise.try(() => {\n if (this.element) {\n return animateAndHide(this.element, ANIMATION_NAMES.HIDE_COMPONENT, this.clean.register);\n } else {\n return ZalgoPromise.resolve();\n }\n });\n }\n\n\n /* Focus\n -----\n\n Focus the child component window\n */\n\n focus() {\n\n if (this.window && !isWindowClosed(this.window)) {\n this.component.log(`focus`);\n this.window.focus();\n\n } else {\n\n throw new Error(`No window to focus`);\n }\n }\n\n\n /* Create Component Template\n -------------------------\n\n Creates an initial template and stylesheet which are loaded into the child window, to be displayed before the url is loaded\n */\n\n @memoized\n createPrerenderTemplate() : ZalgoPromise {\n return ZalgoPromise.try(() => {\n if (!this.component.prerenderTemplate) {\n return ZalgoPromise.resolve();\n }\n\n return ZalgoPromise.try(() => {\n\n if (this.prerenderIframe) {\n return awaitFrameLoad(this.prerenderIframe).then(() => this.prerenderWindow);\n } else {\n return this.prerenderWindow;\n }\n\n }).then(win => {\n\n let doc;\n\n try {\n doc = win.document;\n } catch (err) {\n return;\n }\n\n let el;\n\n try {\n el = this.renderTemplate(this.component.prerenderTemplate, {\n jsxDom: jsxDom.bind(doc),\n document: doc\n });\n } catch (err) {\n this.component.logError('preprender_error', { err: err.stack ? err.stack : err.toString() });\n console.error(err.stack ? err.stack : err); // eslint-disable-line no-console\n return;\n }\n\n try {\n writeElementToWindow(win, el);\n } catch (err) {\n this.component.logError('preprender_error', { err: err.stack ? err.stack : err.toString() });\n console.error(err.stack ? err.stack : err); // eslint-disable-line no-console\n }\n\n let { width = false, height = false, element = 'body' } = (typeof this.component.autoResize === 'object' && this.component.autoResize !== null)\n ? this.component.autoResize\n : {};\n\n element = getElementSafe(element, doc);\n\n if (element && (width || height)) {\n onResize(element, ({ width: newWidth, height: newHeight }) => {\n this.resize(width ? newWidth : undefined, height ? newHeight : undefined);\n }, { width, height, win });\n }\n });\n });\n }\n\n\n /* Create Parent Template\n ----------------------\n\n Create a template and stylesheet for the parent template behind the element\n */\n\n renderTemplate(renderer : (RenderOptionsType) => HTMLElement, options : Object = {}) : HTMLElement {\n\n let {\n width = `${ DEFAULT_DIMENSIONS.WIDTH }px`,\n height = `${ DEFAULT_DIMENSIONS.HEIGHT }px`\n } = (this.component.dimensions || {});\n\n return renderer.call(this, {\n id: `${ CLASS_NAMES.ZOID }-${ this.component.tag }-${ this.props.uid }`,\n props: renderer.__xdomain__ ? null : this.props,\n tag: this.component.tag,\n context: this.context,\n outlet: this.getOutlet(),\n CLASS: CLASS_NAMES,\n ANIMATION: ANIMATION_NAMES,\n CONTEXT: CONTEXT_TYPES,\n EVENT: EVENTS,\n actions: {\n close: () => this.userClose(),\n focus: () => this.focus()\n },\n on: (eventName, handler) => this.on(eventName, handler),\n jsxDom,\n document,\n dimensions: { width, height },\n ...options\n });\n }\n\n @memoized\n openContainer(element : ?HTMLElement) : ZalgoPromise {\n return ZalgoPromise.try(() => {\n let el;\n\n if (element) {\n el = getElement(element);\n } else {\n el = document.body;\n }\n\n if (!el) {\n throw new Error(`Could not find element to open container into`);\n }\n\n if (isShadowElement(el)) {\n el = insertShadowSlot(el);\n }\n\n if (!this.component.containerTemplate) {\n if (this.driver.renderedIntoContainerTemplate) {\n throw new Error(`containerTemplate needed to render ${ this.context }`);\n }\n\n return;\n }\n\n let container = this.renderTemplate(this.component.containerTemplate, {\n container: el\n });\n\n this.container = container;\n hideElement(this.container);\n appendChild(el, this.container);\n\n if (this.driver.renderedIntoContainerTemplate) {\n this.element = this.getOutlet();\n hideElement(this.element);\n\n if (!this.element) {\n throw new Error('Could not find element to render component into');\n }\n\n hideElement(this.element);\n }\n\n this.clean.register('destroyContainerTemplate', () => {\n\n if (this.container && this.container.parentNode) {\n this.container.parentNode.removeChild(this.container);\n }\n\n delete this.container;\n });\n });\n }\n\n cancelContainerEvents() {\n this.clean.run('destroyContainerEvents');\n }\n\n\n /* Destroy\n -------\n\n Close the component and clean up any listeners and state\n */\n\n destroy() : ZalgoPromise {\n return ZalgoPromise.try(() => {\n if (this.clean.hasTasks()) {\n this.component.log(`destroy`);\n flush();\n return this.clean.all();\n }\n }).then(() => {\n if (this.props && this.props.onDestroy) {\n return this.props.onDestroy();\n }\n });\n }\n\n\n tryInit(method : () => mixed) : ZalgoPromise> {\n return ZalgoPromise.try(method).catch(err => {\n this.onInit.reject(err);\n }).then(() => {\n return this.onInit;\n });\n }\n\n\n /* Error\n -----\n\n Handle an error\n */\n\n error(err : mixed) : ZalgoPromise {\n // eslint-disable-next-line promise/no-promise-in-callback\n return ZalgoPromise.try(() => {\n\n this.handledErrors = this.handledErrors || [];\n\n if (this.handledErrors.indexOf(err) !== -1) {\n // $FlowFixMe\n return;\n }\n\n this.handledErrors.push(err);\n\n this.onInit.reject(err);\n\n return this.destroy();\n\n }).then(() => {\n\n if (this.props.onError) {\n return this.props.onError(err);\n }\n\n }).catch(errErr => { // eslint-disable-line unicorn/catch-error-name\n\n throw new Error(`An error was encountered while handling error:\\n\\n ${ stringifyError(err) }\\n\\n${ stringifyError(errErr) }`);\n\n }).then(() => {\n\n if (!this.props.onError) {\n throw err;\n }\n });\n }\n\n static activeComponents : Array> = []\n\n static destroyAll() : ZalgoPromise {\n let results = [];\n\n while (ParentComponent.activeComponents.length) {\n results.push(ParentComponent.activeComponents[0].destroy());\n }\n\n return ZalgoPromise.all(results).then(noop);\n }\n}\n","/* @flow */\n/* eslint max-lines: 0 */\n\nimport { ZalgoPromise } from 'zalgo-promise/src';\nimport { WeakMap } from 'cross-domain-safe-weakmap/src';\n\nimport type { CancelableType } from './types';\n\nexport function getFunctionName (fn : T) : string {\n return fn.name || fn.__name__ || fn.displayName || 'anonymous';\n}\n\nexport function setFunctionName (fn : T, name : string) : T {\n try {\n delete fn.name;\n fn.name = name;\n } catch (err) {\n // pass\n }\n\n fn.__name__ = fn.displayName = name;\n return fn;\n}\n\nexport function base64encode(str : string) : string {\n if (typeof btoa === 'function') {\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (m, p1) => {\n return String.fromCharCode(parseInt(p1, 16));\n }));\n }\n\n if (typeof Buffer !== 'undefined') {\n return Buffer.from(str, 'utf8').toString('base64');\n }\n\n throw new Error(`Can not find window.btoa or Buffer`);\n}\n\nexport function base64decode(str : string) : string {\n if (typeof atob === 'function') {\n return decodeURIComponent(Array.prototype.map.call(atob(str), c => {\n // eslint-disable-next-line prefer-template\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n }\n\n if (typeof Buffer !== 'undefined') {\n return Buffer.from(str, 'base64').toString('utf8');\n }\n\n throw new Error(`Can not find window.atob or Buffer`);\n}\n\nexport function uniqueID() : string {\n\n const chars = '0123456789abcdef';\n\n const randomID = 'xxxxxxxxxx'.replace(/./g, () => {\n return chars.charAt(Math.floor(Math.random() * chars.length));\n });\n\n const timeID = base64encode(\n new Date().toISOString().slice(11, 19).replace('T', '.')\n ).replace(/[^a-zA-Z0-9]/g, '').toLowerCase();\n\n return `${ randomID }_${ timeID }`;\n}\n\nexport function getGlobal() : Object {\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n if (typeof __GLOBAL__ !== 'undefined') {\n return __GLOBAL__;\n }\n throw new Error(`No global found`);\n}\n\nlet objectIDs;\n\nexport function getObjectID(obj : Object) : string {\n\n objectIDs = objectIDs || new WeakMap();\n\n if (obj === null || obj === undefined || (typeof obj !== 'object' && typeof obj !== 'function')) {\n throw new Error(`Invalid object`);\n }\n\n let uid = objectIDs.get(obj);\n\n if (!uid) {\n uid = `${ typeof obj }:${ uniqueID() }`;\n objectIDs.set(obj, uid);\n }\n\n return uid;\n}\n\nfunction serializeArgs(args : $ReadOnlyArray) : string {\n try {\n return JSON.stringify(Array.prototype.slice.call(args), (subkey, val) => {\n if (typeof val === 'function') {\n return `memoize[${ getObjectID(val) }]`;\n }\n return val;\n });\n } catch (err) {\n throw new Error(`Arguments not serializable -- can not be used to memoize`);\n }\n}\ntype MemoizeOptions = {|\n name? : string,\n time? : number,\n thisNamespace? : boolean\n|};\n\nconst getDefaultMemoizeOptions = () : MemoizeOptions => {\n // $FlowFixMe\n return {};\n};\n\nconst memoizedFunctions = [];\n\nexport function memoize(method : F, options? : MemoizeOptions = getDefaultMemoizeOptions()) : F & {| reset : () => void |} {\n const cacheMap = new WeakMap();\n\n const memoizedFunction = function memoizedFunction(...args) : mixed {\n const cache = cacheMap.getOrSet(options.thisNamespace ? this : method, () => ({}));\n\n const key : string = serializeArgs(args);\n\n const cacheTime = options.time;\n if (cache[key] && cacheTime && (Date.now() - cache[key].time) < cacheTime) {\n delete cache[key];\n }\n\n if (cache[key]) {\n return cache[key].value;\n }\n\n const time = Date.now();\n const value = method.apply(this, arguments);\n\n cache[key] = { time, value };\n\n return cache[key].value;\n };\n\n memoizedFunction.reset = () => {\n cacheMap.delete(options.thisNamespace ? this : method);\n };\n\n memoizedFunctions.push(memoizedFunction);\n\n // $FlowFixMe\n const result : F = memoizedFunction;\n\n return setFunctionName(result, `${ options.name || getFunctionName(method) }::memoized`);\n}\n\nmemoize.clear = () => {\n for (const memoizedFunction of memoizedFunctions) {\n memoizedFunction.reset();\n }\n};\n\nexport function promiseIdentity(item : ZalgoPromise | T) : ZalgoPromise {\n // $FlowFixMe\n return ZalgoPromise.resolve(item);\n}\n\n// eslint-disable-next-line flowtype/no-weak-types\nexport function memoizePromise(method : (...args : $ReadOnlyArray) => ZalgoPromise) : ((...args : $ReadOnlyArray) => ZalgoPromise) {\n let cache = {};\n\n // eslint-disable-next-line flowtype/no-weak-types\n function memoizedPromiseFunction(...args : $ReadOnlyArray) : ZalgoPromise {\n const key : string = serializeArgs(args);\n\n if (cache.hasOwnProperty(key)) {\n return cache[key];\n }\n\n cache[key] = ZalgoPromise.try(() => method.apply(this, arguments))\n .finally(() => {\n delete cache[key];\n });\n\n return cache[key];\n }\n\n memoizedPromiseFunction.reset = () => {\n cache = {};\n };\n\n return setFunctionName(memoizedPromiseFunction, `${ getFunctionName(method) }::promiseMemoized`);\n}\n\ntype PromisifyOptions = {|\n name ? : string\n|};\n\nconst getDefaultPromisifyOptions = () : PromisifyOptions => {\n // $FlowFixMe\n return {};\n};\n\n// eslint-disable-next-line flowtype/no-weak-types\nexport function promisify(method : (...args : $ReadOnlyArray) => R, options : PromisifyOptions = getDefaultPromisifyOptions()) : ((...args : $ReadOnlyArray) => ZalgoPromise) {\n function promisifiedFunction() : ZalgoPromise {\n return ZalgoPromise.try(method, this, arguments);\n }\n\n if (options.name) {\n promisifiedFunction.displayName = `${ options.name }:promisified`;\n }\n\n return setFunctionName(promisifiedFunction, `${ getFunctionName(method) }::promisified`);\n}\n\n// eslint-disable-next-line flowtype/no-weak-types\nexport function inlineMemoize(method : (...args : $ReadOnlyArray) => R, logic : (...args : $ReadOnlyArray) => R, args : $ReadOnlyArray = []) : R {\n // $FlowFixMe\n const cache : {| [string] : R |} = method.__inline_memoize_cache__ = method.__inline_memoize_cache__ || {};\n const key = serializeArgs(args);\n\n if (cache.hasOwnProperty(key)) {\n return cache[key];\n }\n \n const result = cache[key] = logic(...args);\n\n return result;\n}\n\n// eslint-disable-next-line no-unused-vars\nexport function noop(...args : $ReadOnlyArray) {\n // pass\n}\n\nexport function once(method : Function) : Function {\n let called = false;\n\n const onceFunction = function() : mixed {\n if (!called) {\n called = true;\n return method.apply(this, arguments);\n }\n };\n\n return setFunctionName(onceFunction, `${ getFunctionName(method) }::once`);\n}\n\nexport function hashStr(str : string) : number {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash += str[i].charCodeAt(0) * Math.pow((i % 10) + 1, 5);\n }\n return Math.floor(Math.pow(Math.sqrt(hash), 5));\n}\n\nexport function strHashStr(str : string) : string {\n let hash = '';\n\n for (let i = 0; i < str.length; i++) {\n let total = (str[i].charCodeAt(0) * i);\n\n if (str[i + 1]) {\n total += (str[i + 1].charCodeAt(0) * (i - 1));\n }\n\n hash += String.fromCharCode(97 + (Math.abs(total) % 26));\n }\n\n return hash;\n}\n\nexport function match(str : string, pattern : RegExp) : ?string {\n const regmatch = str.match(pattern);\n if (regmatch) {\n return regmatch[1];\n }\n}\n\nexport function awaitKey(obj : Object, key : string) : ZalgoPromise {\n return new ZalgoPromise(resolve => {\n\n let value = obj[key];\n\n if (value) {\n return resolve(value);\n }\n\n delete obj[key];\n\n Object.defineProperty(obj, key, {\n\n configurable: true,\n\n set(item) {\n value = item;\n\n if (value) {\n resolve(value);\n }\n },\n\n get() : mixed {\n return value;\n }\n });\n });\n}\n\nexport function stringifyError(err : mixed, level : number = 1) : string {\n\n if (level >= 3) {\n return 'stringifyError stack overflow';\n }\n\n try {\n if (!err) {\n return ``;\n }\n\n if (typeof err === 'string') {\n return err;\n }\n\n if (err instanceof Error) {\n const stack = err && err.stack;\n const message = err && err.message;\n\n if (stack && message) {\n if (stack.indexOf(message) !== -1) {\n return stack;\n } else {\n return `${ message }\\n${ stack }`;\n }\n } else if (stack) {\n return stack;\n } else if (message) {\n return message;\n }\n }\n\n if (err && err.toString && typeof err.toString === 'function') {\n // $FlowFixMe\n return err.toString();\n }\n\n return Object.prototype.toString.call(err);\n\n } catch (newErr) {\n return `Error while stringifying error: ${ stringifyError(newErr, level + 1) }`;\n }\n}\n\nexport function stringifyErrorMessage(err : mixed) : string {\n\n const defaultMessage = ``;\n\n if (!err) {\n return defaultMessage;\n }\n\n if (err instanceof Error) {\n return err.message || defaultMessage;\n }\n\n if (typeof err.message === 'string') {\n return err.message || defaultMessage;\n }\n\n return defaultMessage;\n}\n\nexport function stringify(item : mixed) : string {\n if (typeof item === 'string') {\n return item;\n }\n\n if (item && item.toString && typeof item.toString === 'function') {\n // $FlowFixMe\n return item.toString();\n }\n\n return Object.prototype.toString.call(item);\n}\n\nexport function domainMatches(hostname : string, domain : string) : boolean {\n hostname = hostname.split('://')[1];\n const index = hostname.indexOf(domain);\n return (index !== -1 && hostname.slice(index) === domain);\n}\n\nexport function patchMethod(obj : Object, name : string, handler : Function) {\n const original = obj[name];\n\n obj[name] = function patchedMethod() : mixed {\n return handler({\n context: this,\n args: Array.prototype.slice.call(arguments),\n original,\n callOriginal: () => original.apply(this, arguments)\n });\n };\n}\n\nexport function extend(obj : T, source : Object) : T {\n if (!source) {\n return obj;\n }\n\n if (Object.assign) {\n return Object.assign(obj, source);\n }\n\n for (const key in source) {\n if (source.hasOwnProperty(key)) {\n obj[key] = source[key];\n }\n }\n\n return obj;\n}\n\nexport function values(obj : { [string] : T }) : $ReadOnlyArray {\n const result = [];\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n result.push(obj[key]);\n }\n }\n return result;\n}\n\nexport function perc(pixels : number, percentage : number) : number {\n return Math.round((pixels * percentage) / 100);\n}\n\nexport function min(...args : $ReadOnlyArray) : number {\n return Math.min(...args);\n}\n\nexport function max(...args : $ReadOnlyArray) : number {\n return Math.max(...args);\n}\n\nexport function regexMap(str : string, regexp : RegExp, handler : () => T) : $ReadOnlyArray {\n const results = [];\n\n // $FlowFixMe\n str.replace(regexp, function regexMapMatcher(item) {\n results.push(handler ? handler.apply(null, arguments) : item);\n });\n\n // $FlowFixMe\n return results;\n}\n\nexport function svgToBase64(svg : string) : string {\n return `data:image/svg+xml;base64,${ base64encode(svg) }`;\n}\n\nexport function objFilter(obj : { [string] : T }, filter? : (T, ?string) => mixed = Boolean) : { [string] : R } {\n const result = {};\n\n for (const key in obj) {\n if (!obj.hasOwnProperty(key) || !filter(obj[key], key)) {\n continue;\n }\n\n result[key] = obj[key];\n }\n\n return result;\n}\n\nexport function identity (item : T) : T {\n return item;\n}\n\nexport function regexTokenize(text : string, regexp : RegExp) : $ReadOnlyArray {\n const result = [];\n text.replace(regexp, token => {\n result.push(token);\n return '';\n });\n return result;\n}\n\nexport function promiseDebounce(method : () => ZalgoPromise | T, delay : number = 50) : () => ZalgoPromise {\n\n let promise;\n let timeout;\n\n const promiseDebounced = function() : ZalgoPromise {\n if (timeout) {\n clearTimeout(timeout);\n }\n\n const localPromise = promise = promise || new ZalgoPromise();\n\n timeout = setTimeout(() => {\n promise = null;\n timeout = null;\n\n ZalgoPromise.try(method).then(\n result => { localPromise.resolve(result); },\n err => { localPromise.reject(err); }\n );\n }, delay);\n\n return localPromise;\n };\n\n return setFunctionName(promiseDebounced, `${ getFunctionName(method) }::promiseDebounced`);\n}\n\nexport function safeInterval(method : Function, time : number) : {| cancel : () => void |} {\n\n let timeout;\n\n function loop() {\n timeout = setTimeout(() => {\n method();\n loop();\n }, time);\n }\n\n loop();\n\n return {\n cancel() {\n clearTimeout(timeout);\n }\n };\n}\n\nexport function isInteger(str : string) : boolean {\n return Boolean(str.match(/^[0-9]+$/));\n}\n\nexport function isFloat(str : string) : boolean {\n return Boolean(str.match(/^[0-9]+\\.[0-9]+$/));\n}\n\nexport function serializePrimitive(value : string | number | boolean) : string {\n return value.toString();\n}\n\nexport function deserializePrimitive(value : string) : string | number | boolean {\n if (value === 'true') {\n return true;\n } else if (value === 'false') {\n return false;\n } else if (isInteger(value)) {\n return parseInt(value, 10);\n } else if (isFloat(value)) {\n return parseFloat(value);\n } else {\n return value;\n }\n}\n\nexport function dotify(obj : Object, prefix : string = '', newobj : Object = {}) : { [string] : string } {\n prefix = prefix ? `${ prefix }.` : prefix;\n for (const key in obj) {\n if (!obj.hasOwnProperty(key) || obj[key] === undefined || obj[key] === null || typeof obj[key] === 'function') {\n continue;\n } else if (obj[key] && Array.isArray(obj[key]) && obj[key].length && obj[key].every(val => typeof val !== 'object')) {\n newobj[`${ prefix }${ key }[]`] = obj[key].join(',');\n } else if (obj[key] && typeof obj[key] === 'object') {\n newobj = dotify(obj[key], `${ prefix }${ key }`, newobj);\n } else {\n newobj[`${ prefix }${ key }`] = serializePrimitive(obj[key]);\n }\n }\n return newobj;\n}\n\nexport function undotify(obj : { [string] : string }) : Object {\n \n const result = {};\n\n for (let key in obj) {\n if (!obj.hasOwnProperty(key) || typeof obj[key] !== 'string') {\n continue;\n }\n\n let value = obj[key];\n\n if (key.match(/^.+\\[\\]$/)) {\n key = key.slice(0, -2);\n value = value.split(',').map(deserializePrimitive);\n } else {\n value = deserializePrimitive(value);\n }\n\n let keyResult = result;\n const parts = key.split('.');\n for (let i = 0; i < parts.length; i++) {\n const part = parts[i];\n const isLast = (i + 1 === parts.length);\n const isIndex = !isLast && isInteger(parts[i + 1]);\n\n if (part === 'constructor' || part === 'prototype' || part === '__proto__') {\n throw new Error(`Disallowed key: ${ part }`);\n }\n\n if (isLast) {\n // $FlowFixMe\n keyResult[part] = value;\n } else {\n // $FlowFixMe\n keyResult = keyResult[part] = keyResult[part] || (isIndex ? [] : {});\n }\n }\n }\n\n return result;\n}\n\nexport type EventEmitterType = {|\n on : (eventName : string, handler : Function) => CancelableType,\n once : (eventName : string, handler : Function) => CancelableType,\n trigger : (eventName : string, ...args : $ReadOnlyArray) => ZalgoPromise,\n triggerOnce : (eventName : string, ...args : $ReadOnlyArray) => ZalgoPromise,\n reset : () => void\n|};\n\nexport function eventEmitter() : EventEmitterType {\n const triggered = {};\n let handlers = {};\n\n return {\n\n on(eventName : string, handler : Function) : CancelableType {\n const handlerList = handlers[eventName] = handlers[eventName] || [];\n\n handlerList.push(handler);\n\n let cancelled = false;\n\n return {\n cancel() {\n if (!cancelled) {\n cancelled = true;\n handlerList.splice(handlerList.indexOf(handler), 1);\n }\n\n }\n };\n },\n\n once(eventName : string, handler : Function) : CancelableType {\n\n const listener = this.on(eventName, () => {\n listener.cancel();\n handler();\n });\n\n return listener;\n },\n\n trigger(eventName : string, ...args : $ReadOnlyArray) : ZalgoPromise {\n\n const handlerList = handlers[eventName];\n const promises = [];\n\n if (handlerList) {\n for (const handler of handlerList) {\n promises.push(ZalgoPromise.try(() => handler(...args)));\n }\n }\n\n return ZalgoPromise.all(promises).then(noop);\n },\n\n triggerOnce(eventName : string, ...args : $ReadOnlyArray) : ZalgoPromise {\n\n if (triggered[eventName]) {\n return ZalgoPromise.resolve();\n }\n\n triggered[eventName] = true;\n return this.trigger(eventName, ...args);\n },\n\n reset() {\n handlers = {};\n }\n };\n}\n\nexport function camelToDasherize(string : string) : string {\n return string.replace(/([A-Z])/g, (g) => {\n return `-${ g.toLowerCase() }`;\n });\n}\n\nexport function dasherizeToCamel(string : string) : string {\n return string.replace(/-([a-z])/g, (g) => {\n return g[1].toUpperCase();\n });\n}\n\nexport function capitalizeFirstLetter(string : string) : string {\n return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();\n}\n\nexport function get(item : Object, path : string, def : mixed) : mixed {\n\n if (!path) {\n return def;\n }\n\n const pathParts = path.split('.');\n\n // Loop through each section of our key path\n\n for (let i = 0; i < pathParts.length; i++) {\n\n // If we have an object, we can get the key\n if (typeof item === 'object' && item !== null) {\n item = item[pathParts[i]];\n\n // Otherwise, we should return the default (undefined if not provided)\n } else {\n return def;\n }\n }\n\n // If our final result is undefined, we should return the default\n\n return item === undefined ? def : item;\n}\n\nexport function safeTimeout(method : Function, time : number) {\n\n const interval = safeInterval(() => {\n time -= 100;\n if (time <= 0) {\n interval.cancel();\n method();\n }\n }, 100);\n}\n\nexport function defineLazyProp(obj : Object | $ReadOnlyArray, key : string | number, getter : () => T) {\n if (Array.isArray(obj)) {\n if (typeof key !== 'number') {\n throw new TypeError(`Array key must be number`);\n }\n } else if (typeof obj === 'object' && obj !== null) {\n if (typeof key !== 'string') {\n throw new TypeError(`Object key must be string`);\n }\n }\n \n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: true,\n get: () => {\n // $FlowFixMe\n delete obj[key];\n const value = getter();\n // $FlowFixMe\n obj[key] = value;\n return value;\n },\n set: (value : T) => {\n // $FlowFixMe\n delete obj[key];\n // $FlowFixMe\n obj[key] = value;\n }\n });\n}\n\nexport function arrayFrom(item : Iterable) : $ReadOnlyArray { // eslint-disable-line no-undef\n return Array.prototype.slice.call(item);\n}\n\nexport function isObject(item : mixed) : boolean {\n return (typeof item === 'object' && item !== null);\n}\n\nexport function isObjectObject(obj : mixed) : boolean {\n return isObject(obj) && Object.prototype.toString.call(obj) === '[object Object]';\n}\n\nexport function isPlainObject(obj : mixed) : boolean {\n if (!isObjectObject(obj)) {\n return false;\n }\n\n // $FlowFixMe\n const constructor = obj.constructor;\n\n if (typeof constructor !== 'function') {\n return false;\n }\n\n const prototype = constructor.prototype;\n\n if (!isObjectObject(prototype)) {\n return false;\n }\n\n if (!prototype.hasOwnProperty('isPrototypeOf')) {\n return false;\n }\n\n return true;\n}\n\nexport function replaceObject | Object> (item : T, replacer : (mixed, string | number, string) => mixed, fullKey : string = '') : T {\n\n if (Array.isArray(item)) {\n const length = item.length;\n const result : Array = [];\n\n for (let i = 0; i < length; i++) {\n\n \n defineLazyProp(result, i, () => {\n const itemKey = fullKey ? `${ fullKey }.${ i }` : `${ i }`;\n const el = item[i];\n\n let child = replacer(el, i, itemKey);\n\n if (isPlainObject(child) || Array.isArray(child)) {\n // $FlowFixMe\n child = replaceObject(child, replacer, itemKey);\n }\n\n return child;\n });\n }\n\n // $FlowFixMe\n return result;\n } else if (isPlainObject(item)) {\n const result = {};\n\n for (const key in item) {\n if (!item.hasOwnProperty(key)) {\n continue;\n }\n\n defineLazyProp(result, key, () => {\n const itemKey = fullKey ? `${ fullKey }.${ key }` : `${ key }`;\n // $FlowFixMe\n const el = item[key];\n\n let child = replacer(el, key, itemKey);\n\n if (isPlainObject(child) || Array.isArray(child)) {\n // $FlowFixMe\n child = replaceObject(child, replacer, itemKey);\n }\n\n return child;\n });\n }\n\n // $FlowFixMe\n return result;\n } else {\n throw new Error(`Pass an object or array`);\n }\n}\n\n\nexport function copyProp(source : Object, target : Object, name : string, def : mixed) {\n if (source.hasOwnProperty(name)) {\n const descriptor = Object.getOwnPropertyDescriptor(source, name);\n // $FlowFixMe\n Object.defineProperty(target, name, descriptor);\n\n } else {\n target[name] = def;\n }\n}\n\ntype RegexResultType = {|\n text : string,\n groups : $ReadOnlyArray,\n start : number,\n end : number,\n length : number,\n replace : (text : string) => string\n|};\n\nexport function regex(pattern : string | RegExp, string : string, start : number = 0) : ?RegexResultType {\n\n if (typeof pattern === 'string') {\n // eslint-disable-next-line security/detect-non-literal-regexp\n pattern = new RegExp(pattern);\n }\n\n const result = string.slice(start).match(pattern);\n\n if (!result) {\n return;\n }\n\n // $FlowFixMe\n const index : number = result.index;\n const regmatch = result[0];\n\n return {\n text: regmatch,\n groups: result.slice(1),\n start: start + index,\n end: start + index + regmatch.length,\n length: regmatch.length,\n\n replace(text : string) : string {\n\n if (!regmatch) {\n return '';\n }\n\n return `${ regmatch.slice(0, start + index) }${ text }${ regmatch.slice(index + regmatch.length) }`;\n }\n };\n}\n\nexport function regexAll(pattern : string | RegExp, string : string) : $ReadOnlyArray {\n\n const matches = [];\n let start = 0;\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const regmatch = regex(pattern, string, start);\n\n if (!regmatch) {\n break;\n }\n\n matches.push(regmatch);\n start = match.end;\n }\n\n return matches;\n}\n\nexport function isDefined(value : ?mixed) : boolean {\n return value !== null && value !== undefined;\n}\n\nexport function cycle(method : Function) : ZalgoPromise {\n return ZalgoPromise.try(method).then(() => cycle(method));\n}\n\nexport function debounce(method : (...args : $ReadOnlyArray) => T, time : number = 100) : (...args : $ReadOnlyArray) => void {\n\n let timeout;\n\n const debounceWrapper = function() {\n clearTimeout(timeout);\n\n timeout = setTimeout(() => {\n return method.apply(this, arguments);\n }, time);\n };\n\n return setFunctionName(debounceWrapper, `${ getFunctionName(method) }::debounced`);\n}\n\nexport function isRegex(item : mixed) : boolean {\n return Object.prototype.toString.call(item) === '[object RegExp]';\n}\n\ntype FunctionProxy = (method : T) => T;\n\n// eslint-disable-next-line flowtype/no-weak-types\nexport const weakMapMemoize : FunctionProxy<*> = (method : (arg : any) => R) : ((...args : $ReadOnlyArray) => R) => {\n\n const weakmap = new WeakMap();\n\n // eslint-disable-next-line flowtype/no-weak-types\n return function weakmapMemoized(arg : any) : R {\n return weakmap.getOrSet(arg, () => method.call(this, arg));\n };\n};\n\ntype FunctionPromiseProxy) => ZalgoPromise> = (T) => T;\n\n// eslint-disable-next-line flowtype/no-weak-types\nexport const weakMapMemoizePromise : FunctionPromiseProxy<*, *> = (method : (arg : any) => ZalgoPromise) : ((...args : $ReadOnlyArray) => ZalgoPromise) => {\n\n const weakmap = new WeakMap();\n\n // eslint-disable-next-line flowtype/no-weak-types\n return function weakmapMemoizedPromise(arg : any) : ZalgoPromise {\n return weakmap.getOrSet(arg, () =>\n method.call(this, arg).finally(() => {\n weakmap.delete(arg);\n }));\n };\n};\n\nexport function getOrSet(obj : O, key : string, getter : () => T) : T {\n if (obj.hasOwnProperty(key)) {\n return obj[key];\n }\n\n const val = getter();\n obj[key] = val;\n return val;\n}\n\nexport type CleanupType = {|\n set : (string, T) => T, // eslint-disable-line no-undef\n register : (Function) => void,\n all : () => ZalgoPromise\n|};\n\nexport function cleanup(obj : Object) : CleanupType {\n\n const tasks = [];\n let cleaned = false;\n\n return {\n set(name : string, item : T) : T {\n if (!cleaned) {\n obj[name] = item;\n this.register(() => {\n delete obj[name];\n });\n }\n return item;\n },\n\n register(method : Function) {\n if (cleaned) {\n method();\n } else {\n tasks.push(once(method));\n }\n },\n\n all() : ZalgoPromise {\n const results = [];\n cleaned = true;\n\n while (tasks.length) {\n const task = tasks.shift();\n results.push(task());\n }\n\n return ZalgoPromise.all(results).then(noop);\n }\n };\n}\n\nexport function tryCatch(fn : () => T) : {| result : T, error : void |} | {| result : void, error : mixed |} {\n let result;\n let error;\n\n try {\n result = fn();\n } catch (err) {\n error = err;\n }\n \n // $FlowFixMe\n return { result, error };\n}\n\n// eslint-disable-next-line flowtype/no-mutable-array\nexport function removeFromArray>(arr : T, item : X) {\n const index = arr.indexOf(item);\n if (index !== -1) {\n arr.splice(index, 1);\n }\n}\n\nexport function assertExists(name : string, thing : void | null | T) : T {\n if (thing === null || typeof thing === 'undefined') {\n throw new Error(`Expected ${ name } to be present`);\n }\n \n return thing;\n}\n\nexport function unique(arr : $ReadOnlyArray) : $ReadOnlyArray {\n const result = {};\n for (const item of arr) {\n result[item] = true;\n }\n return Object.keys(result);\n}\n","/* @flow */\n\nimport { onCloseWindow, type CrossDomainWindowType } from 'cross-domain-utils/src';\nimport { ZalgoPromise } from 'zalgo-promise/src';\n\nimport { BaseComponent } from '../base';\nimport { ParentComponent } from '../parent';\nimport { RENDER_DRIVERS, type ContextDriverType } from '../parent/drivers';\nimport type { Component } from '../component';\nimport { noop } from '../../lib';\nimport type { CancelableType, DimensionsType } from '../../types';\n\nexport type DelegatePropsType = {\n uid : string,\n dimensions : DimensionsType,\n onClose : () => ?ZalgoPromise,\n onDisplay : () => ?ZalgoPromise\n};\n\nexport type DelegateOptionsType = {\n context : string,\n props : DelegatePropsType,\n childWindowName : string,\n isWindowClosed : () => ZalgoPromise,\n \n overrides : {\n focus : () => ZalgoPromise,\n userClose : (string) => ZalgoPromise,\n getDomain : () => ZalgoPromise,\n error : (mixed) => ZalgoPromise,\n on : (string, () => void) => CancelableType\n }\n};\n\nexport class DelegateComponent

extends BaseComponent

{\n\n source : CrossDomainWindowType\n context : string\n props : DelegatePropsType\n\n focus : () => ZalgoPromise\n userClose : (string) => ZalgoPromise\n getDomain : () => ZalgoPromise\n error : (mixed) => ZalgoPromise\n on : (string, () => void) => CancelableType\n\n childWindowName : string\n isWindowClosed : () => ZalgoPromise\n\n constructor(component : Component

, source : CrossDomainWindowType, options : DelegateOptionsType) {\n super();\n\n this.component = component;\n this.clean.set('source', source);\n\n this.context = options.context;\n\n this.props = {\n uid: options.props.uid,\n dimensions: options.props.dimensions,\n onClose: options.props.onClose,\n onDisplay: options.props.onDisplay\n };\n\n for (let propName of component.getPropNames()) {\n // $FlowFixMe\n let prop = this.component.getProp(propName);\n\n if (prop.allowDelegate) {\n this.props[propName] = options.props[propName];\n }\n }\n\n this.focus = () => {\n return ZalgoPromise.all([\n this.isWindowClosed().then(closed => {\n if (!closed) {\n window.open('', this.childWindowName);\n }\n }),\n options.overrides.focus.call(this)\n ]).then(noop);\n };\n\n this.clean.register('destroyFocusOverride', () => {\n // $FlowFixMe\n this.focus = noop;\n });\n\n this.userClose = options.overrides.userClose;\n this.getDomain = options.overrides.getDomain;\n this.error = options.overrides.error;\n this.on = options.overrides.on;\n\n let delegateOverrides = RENDER_DRIVERS[options.context].delegateOverrides;\n\n for (let key of Object.keys(delegateOverrides)) {\n // $FlowFixMe\n this[key] = ParentComponent.prototype[key];\n }\n\n this.childWindowName = options.childWindowName;\n this.isWindowClosed = options.isWindowClosed;\n\n ParentComponent.prototype.registerActiveComponent.call(this);\n\n this.watchForClose();\n }\n\n get driver() : ContextDriverType {\n\n if (!this.context) {\n throw new Error('Context not set');\n }\n\n return RENDER_DRIVERS[this.context];\n }\n\n watchForClose() {\n let closeWindowListener = onCloseWindow(this.source, () => this.destroy(), 3000);\n this.clean.register('destroyCloseWindowListener', closeWindowListener.cancel);\n }\n\n getOverrides(context : string) : { [string] : mixed } {\n\n let delegateOverrides = RENDER_DRIVERS[context].delegateOverrides;\n\n let overrides = {};\n\n let self = this;\n\n for (let key of Object.keys(delegateOverrides)) {\n overrides[key] = function delegateOverride() : mixed {\n // $FlowFixMe\n return ParentComponent.prototype[key].apply(self, arguments);\n };\n }\n\n return overrides;\n }\n\n destroy() : ZalgoPromise {\n return this.clean.all();\n }\n}\n","/* @flow */\n/* @jsx jsxDom */\n\nimport { type RenderOptionsType } from '../../parent';\n\nexport function defaultContainerTemplate({ id, tag, context, CLASS, outlet, jsxDom, dimensions : { width, height } } : RenderOptionsType) : HTMLElement {\n\n return (\n

\n \n\n { outlet }\n
\n );\n}\n","/* @flow */\n/* @jsx jsxDom */\n\nimport { type RenderOptionsType } from '../../parent';\n\nexport function defaultPrerenderTemplate({ jsxDom } : RenderOptionsType) : HTMLElement {\n return (\n \n \n \n \n \n
\n
\n
\n \n \n );\n}\n","/* @flow */\n/* eslint max-lines: 0 */\n\nimport { on, send } from 'post-robot/src';\nimport { ZalgoPromise } from 'zalgo-promise/src';\nimport { getDomain, getDomainFromUrl, matchDomain, type CrossDomainWindowType } from 'cross-domain-utils/src';\n\nimport { BaseComponent } from '../base';\nimport { ChildComponent } from '../child';\nimport { ParentComponent, type RenderOptionsType } from '../parent';\nimport { DelegateComponent, type DelegateOptionsType } from '../delegate';\nimport { isZoidComponentWindow, getComponentMeta } from '../window';\nimport { CONTEXT_TYPES, POST_MESSAGE, WILDCARD } from '../../constants';\nimport { angular, angular2, glimmer, react, vue, script } from '../../drivers/index';\nimport { info, error, warn, setLogLevel, memoize } from '../../lib';\nimport type { EnvStringRegExp, CssDimensionsType, StringMatcherType, ElementRefType, EnvString } from '../../types';\n\nimport { validate } from './validate';\nimport { defaultContainerTemplate, defaultPrerenderTemplate } from './templates';\nimport { getInternalProps, type UserPropsDefinitionType, type BuiltInPropsDefinitionType, type PropsType, type BuiltInPropsType, type MixedPropDefinitionType } from './props';\n\nconst drivers = { angular, angular2, glimmer, react, vue, script };\n\n/* Component\n ---------\n\n This is the spec for the component. The idea is, when I call zoid.create(), it will create a new instance\n of Component with the blueprint needed to set up ParentComponents and ChildComponents.\n\n This is the one portion of code which is required by -- and shared to -- both the parent and child windows, and\n contains all of the configuration needed for them to set themselves up.\n*/\n\nexport type ComponentOptionsType

= {\n\n tag : string,\n\n url? : EnvString,\n buildUrl? : (BuiltInPropsType & P) => string | ZalgoPromise,\n\n domain? : EnvStringRegExp,\n bridgeUrl? : EnvString,\n bridgeDomain? : EnvString,\n\n props? : UserPropsDefinitionType

,\n\n dimensions? : CssDimensionsType,\n scrolling? : boolean,\n autoResize? : boolean | { width? : boolean, height? : boolean, element? : string },\n listenForResize? : boolean,\n\n defaultLogLevel? : string,\n allowedParentDomains? : StringMatcherType,\n\n version? : string,\n defaultEnv? : string,\n\n contexts? : { iframe? : boolean, popup? : boolean },\n defaultContext? : string,\n\n containerTemplate? : (RenderOptionsType) => HTMLElement,\n prerenderTemplate? : (RenderOptionsType) => HTMLElement,\n\n validate? : (Component

, UserPropsDefinitionType

) => void,\n\n unsafeRenderTo? : boolean\n};\n\nexport type ComponentDriverType = {\n global : () => ?T,\n register : (Component

, T) => mixed\n};\n\nexport class Component

extends BaseComponent

{\n\n name : string\n looseProps : boolean\n\n tag : string\n url : EnvString\n\n domain : EnvStringRegExp\n bridgeUrl : EnvString\n bridgeDomain : EnvString\n\n props : UserPropsDefinitionType

\n builtinProps : BuiltInPropsDefinitionType

\n\n dimensions : CssDimensionsType\n scrolling : boolean\n autoResize : ?(boolean | { width? : boolean, height? : boolean, element? : string })\n listenForResize : ?boolean\n\n defaultLogLevel : string\n allowedParentDomains : StringMatcherType\n\n version : string\n defaultEnv : string\n buildUrl : (BuiltInPropsType & P) => string | ZalgoPromise\n\n contexts : { iframe? : boolean, popup? : boolean }\n defaultContext : string\n\n containerTemplate : (RenderOptionsType) => HTMLElement\n prerenderTemplate : (RenderOptionsType) => HTMLElement\n\n validate : (Component

, (PropsType & P)) => void\n\n unsafeRenderTo : ?boolean\n\n driverCache : { [string] : mixed }\n\n xchild : ?ChildComponent

\n xprops : ?P\n\n constructor(options : ComponentOptionsType

) {\n super();\n validate(options);\n\n // The tag name of the component. Used by some drivers (e.g. angular) to turn the component into an html element,\n // e.g. \n\n this.addProp(options, 'tag');\n\n this.addProp(options, 'defaultLogLevel', 'info');\n\n this.addProp(options, 'allowedParentDomains', WILDCARD);\n\n // initially set log level to default log level configured when creating component\n setLogLevel(this.defaultLogLevel);\n\n if (Component.components[this.tag]) {\n throw new Error(`Can not register multiple components with the same tag`);\n }\n\n // Name of the component, used for logging. Auto-generated from the tag name by default.\n\n this.addProp(options, 'name', this.tag.replace(/-/g, '_'));\n\n // A json based spec describing what kind of props the component accepts. This is used to validate any props before\n // they are passed down to the child.\n\n this.builtinProps = getInternalProps();\n this.props = options.props || {};\n\n if (!options.props) {\n this.looseProps = true;\n }\n\n // The dimensions of the component, e.g. { width: '300px', height: '150px' }\n\n this.addProp(options, 'dimensions');\n this.addProp(options, 'scrolling');\n this.addProp(options, 'listenForResize');\n\n this.addProp(options, 'version', 'latest');\n\n // The default environment we should render to if none is specified in the parent\n\n this.addProp(options, 'defaultEnv');\n\n // A mapping of env->url, used to determine which url to load for which env\n\n this.addProp(options, 'buildUrl');\n\n this.addProp(options, 'url');\n this.addProp(options, 'domain');\n\n this.addProp(options, 'bridgeUrl');\n this.addProp(options, 'bridgeDomain');\n\n this.addProp(options, 'attributes', {});\n\n // A url to use by default to render the component, if not using envs\n\n\n // The allowed contexts. For example { iframe: true, popup: false }\n\n this.addProp(options, 'contexts', { iframe: true, popup: false });\n\n // The default context to render to\n\n this.addProp(options, 'defaultContext');\n\n // Auto Resize option\n\n this.addProp(options, 'autoResize', false);\n\n // Templates and styles for the parent page and the initial rendering of the component\n\n this.addProp(options, 'containerTemplate', defaultContainerTemplate);\n this.addProp(options, 'prerenderTemplate', defaultPrerenderTemplate);\n\n // Validation\n\n this.addProp(options, 'validate');\n\n // Security\n\n this.addProp(options, 'unsafeRenderTo', false);\n\n // A mapping of tag->component so we can reference components by string tag name\n\n Component.components[this.tag] = this;\n\n // Register all of the drivers for instantiating components. The model used is -- there's a standard javascript\n // way of rendering a component, then each other technology (e.g. react) needs to hook into that interface.\n // This makes us a little more pluggable and loosely coupled.\n this.registerDrivers();\n this.registerChild();\n this.listenDelegate();\n }\n\n @memoize\n getPropNames() : Array {\n let props = Object.keys(this.props);\n\n for (let key of Object.keys(this.builtinProps)) {\n if (props.indexOf(key) === -1) {\n props.push(key);\n }\n }\n\n return props;\n }\n\n // $FlowFixMe\n getProp(name : string) : MixedPropDefinitionType

{\n // $FlowFixMe\n return this.props[name] || this.builtinProps[name];\n }\n\n registerDrivers() {\n this.driverCache = {};\n\n for (let driverName of Object.keys(drivers)) {\n if (driverName.indexOf('_') === 0) {\n continue;\n }\n\n let driver = drivers[driverName];\n let glob = driver.global();\n if (glob) {\n this.driver(driverName, glob);\n }\n }\n }\n\n driver(name : string, dep : mixed) : mixed {\n if (!drivers[name]) {\n throw new Error(`Could not find driver for framework: ${ name }`);\n }\n\n if (!this.driverCache[name]) {\n this.driverCache[name] = drivers[name].register(this, dep);\n }\n\n return this.driverCache[name];\n }\n\n registerChild() : ZalgoPromise> {\n return ZalgoPromise.try(() => {\n if (this.isChild()) {\n return new ChildComponent(this);\n }\n });\n }\n\n listenDelegate() {\n on(`${ POST_MESSAGE.ALLOW_DELEGATE }_${ this.name }`, () => {\n return true;\n });\n\n on(`${ POST_MESSAGE.DELEGATE }_${ this.name }`, ({ source, origin, data }) => {\n\n let domain = this.getDomain(null, data.env || this.defaultEnv);\n\n if (!domain) {\n throw new Error(`Could not determine domain to allow remote render`);\n }\n\n if (!matchDomain(domain, origin)) {\n throw new Error(`Can not render from ${ origin } - expected ${ domain.toString() }`);\n }\n\n let delegate = this.delegate(source, data.options);\n\n return {\n overrides: delegate.getOverrides(data.context),\n destroy: () => delegate.destroy()\n };\n });\n }\n\n canRenderTo(win : CrossDomainWindowType) : ZalgoPromise {\n return send(win, `${ POST_MESSAGE.ALLOW_DELEGATE }_${ this.name }`).then(({ data }) => {\n return data;\n }).catch(() => {\n return false;\n });\n }\n\n\n getValidDomain(url : ?string) : ?(string | RegExp) {\n\n if (!url) {\n return;\n }\n\n let domain = getDomainFromUrl(url);\n\n if (typeof this.domain === 'string' && domain === this.domain) {\n return domain;\n }\n\n let domains = this.domain;\n\n if (domains && typeof domains === 'object' && !(domains instanceof RegExp)) {\n for (let env of Object.keys(domains)) {\n\n if (env === 'test') {\n continue;\n }\n\n if (domain === domains[env]) {\n return domain;\n }\n }\n }\n }\n\n\n getDomain(url : ?string, env : string) : ?(string | RegExp) {\n\n let domain = this.getForEnv(this.domain, env);\n\n if (domain) {\n return domain;\n }\n\n domain = this.getValidDomain(url);\n\n if (domain) {\n return domain;\n }\n\n // $FlowFixMe\n let envUrl = this.getForEnv(this.url, env);\n\n if (envUrl) {\n // $FlowFixMe\n return getDomainFromUrl(envUrl);\n }\n\n if (url) {\n return getDomainFromUrl(url);\n }\n }\n\n getBridgeUrl(env : string) : ?string {\n // $FlowFixMe\n return this.getForEnv(this.bridgeUrl, env);\n }\n\n getForEnv(item : (string | RegExp) | { [string] : (string | RegExp) }, env : ?string) : ?(string | RegExp) {\n\n if (!item) {\n return;\n }\n\n if (typeof item === 'string' || item instanceof RegExp) {\n return item;\n }\n\n if (!env) {\n env = this.defaultEnv;\n }\n\n if (!env) {\n return;\n }\n\n if (env && typeof item === 'object' && item[env]) {\n return item[env];\n }\n }\n\n getBridgeDomain(env : string) : ?string {\n\n // $FlowFixMe\n let bridgeDomain = this.getForEnv(this.bridgeDomain, env);\n\n if (bridgeDomain) {\n // $FlowFixMe\n return bridgeDomain;\n }\n\n let bridgeUrl = this.getBridgeUrl(env);\n\n if (bridgeUrl) {\n return getDomainFromUrl(bridgeUrl);\n }\n }\n\n getUrl(env : string, props : BuiltInPropsType & P) : (string | ZalgoPromise) {\n\n // $FlowFixMe\n let url = this.getForEnv(this.url, env);\n\n if (url) {\n // $FlowFixMe\n return url;\n }\n\n if (this.buildUrl) {\n return this.buildUrl(props);\n }\n\n throw new Error(`Unable to get url`);\n }\n\n isZoidComponent() : boolean {\n return isZoidComponentWindow();\n }\n\n isChild() : boolean {\n if (!isZoidComponentWindow()) {\n return false;\n }\n\n const { tag, childDomain } = getComponentMeta();\n\n if (childDomain && childDomain !== getDomain()) {\n return false;\n }\n\n if (tag !== this.tag) {\n return false;\n }\n\n return true;\n }\n\n\n createError(message : string, tag : ?string) : Error {\n return new Error(`[${ tag || this.tag }] ${ message }`);\n }\n\n\n /* Init\n ----\n\n Shortcut to instantiate a component on a parent page, with props\n */\n\n init(props : (PropsType & P), context : ?string, element : ElementRefType) : ParentComponent

{\n return new ParentComponent(this, this.getRenderContext(context, element), { props });\n }\n\n\n delegate(source : CrossDomainWindowType, options : DelegateOptionsType) : DelegateComponent

{\n return new DelegateComponent(this, source, options);\n }\n\n validateRenderContext(context : ?string, element : ?ElementRefType) {\n if (context && !this.contexts[context]) {\n throw new Error(`[${ this.tag }] Can not render to ${ context }`);\n }\n\n if (!element && context === CONTEXT_TYPES.IFRAME) {\n throw new Error(`[${ this.tag }] Context type ${ CONTEXT_TYPES.IFRAME } requires an element selector`);\n }\n }\n\n getDefaultContext() : string {\n if (this.defaultContext) {\n return this.defaultContext;\n } else if (this.contexts[CONTEXT_TYPES.IFRAME]) {\n return CONTEXT_TYPES.IFRAME;\n } else if (this.contexts[CONTEXT_TYPES.POPUP]) {\n return CONTEXT_TYPES.POPUP;\n }\n\n throw new Error(`Can not determine default context`);\n }\n\n getRenderContext(context : ?string, element : ?ElementRefType) : string {\n context = context || this.getDefaultContext();\n this.validateRenderContext(context, element);\n return context;\n }\n\n\n /* Render\n ------\n\n Shortcut to render a parent component\n */\n\n render(props : (PropsType & P), element : ?ElementRefType) : ZalgoPromise> {\n return ZalgoPromise.try(() => {\n return new ParentComponent(this, this.getRenderContext(null, element), { props }).render(element);\n });\n }\n\n renderIframe(props : (PropsType & P), element : ElementRefType) : ZalgoPromise> {\n return ZalgoPromise.try(() => {\n return new ParentComponent(this, this.getRenderContext(CONTEXT_TYPES.IFRAME, element), { props }).render(element);\n });\n }\n\n renderPopup(props : (PropsType & P)) : ZalgoPromise> {\n return ZalgoPromise.try(() => {\n return new ParentComponent(this, this.getRenderContext(CONTEXT_TYPES.POPUP), { props }).render();\n });\n }\n\n renderTo(win : CrossDomainWindowType, props : (PropsType & P), element : ?ElementRefType) : ZalgoPromise> {\n return ZalgoPromise.try(() => {\n return new ParentComponent(this, this.getRenderContext(null, element), { props }).renderTo(win, element);\n });\n }\n\n renderIframeTo(win : CrossDomainWindowType, props : (PropsType & P), element : ElementRefType) : ZalgoPromise> {\n return ZalgoPromise.try(() => {\n return new ParentComponent(this, this.getRenderContext(CONTEXT_TYPES.IFRAME, element), { props }).renderTo(win, element);\n });\n }\n\n renderPopupTo(win : CrossDomainWindowType, props : (PropsType & P)) : ZalgoPromise> {\n return ZalgoPromise.try(() => {\n return new ParentComponent(this, this.getRenderContext(CONTEXT_TYPES.POPUP), { props }).renderTo(win);\n });\n }\n\n prerender(props : (PropsType & P), element : ElementRefType) : { render : ((PropsType & P), ElementRefType) => ZalgoPromise>, renderTo : (CrossDomainWindowType, (PropsType & P), ElementRefType) => ZalgoPromise> } {\n let instance = new ParentComponent(this, this.getRenderContext(null, element), { props });\n instance.prefetch();\n\n return {\n render(innerProps : (PropsType & P), innerElement : ElementRefType) : ZalgoPromise> {\n if (innerProps) {\n instance.updateProps(innerProps);\n }\n\n return instance.render(innerElement);\n },\n\n renderTo(win : CrossDomainWindowType, innerProps : (PropsType & P), innerElement : ElementRefType) : ZalgoPromise> {\n if (innerProps) {\n instance.updateProps(innerProps);\n }\n\n return instance.renderTo(win, innerElement);\n },\n\n get html() : ?ZalgoPromise {\n return instance.html;\n },\n\n set html(value) {\n instance.html = value;\n }\n };\n }\n\n /* Log\n ---\n\n Log an event using the component name\n */\n\n log(event : string, payload : { [ string ] : string } = {}) {\n info(this.name, event, payload);\n }\n\n\n /* Log Warning\n -----------\n\n Log a warning\n */\n\n logWarning(event : string, payload : { [ string ] : string }) {\n warn(this.name, event, payload);\n }\n\n\n /* Log Error\n ---------\n\n Log an error\n */\n\n logError(event : string, payload : { [ string ] : string }) {\n error(this.name, event, payload);\n }\n\n static components : { [string] : Component<*> } = {}\n\n static getByTag(tag : string) : Component {\n return Component.components[tag];\n }\n}\n","/* @flow */\n\nimport { PROP_TYPES_LIST, CONTEXT_TYPES_LIST } from '../../constants';\nimport { isPerc, isPx } from '../../lib';\n\nimport type { ComponentOptionsType } from './index';\n\nfunction validatePropDefinitions

(options : ComponentOptionsType

) {\n\n if (options.props && !(typeof options.props === 'object')) {\n throw new Error(`Expected options.props to be an object`);\n }\n\n if (options.props) {\n for (let key of Object.keys(options.props)) {\n\n // $FlowFixMe\n let prop = options.props[key];\n\n if (!prop || !(typeof prop === 'object')) {\n throw new Error(`Expected options.props.${ key } to be an object`);\n }\n\n if (!prop.type) {\n throw new Error(`Expected prop.type`);\n }\n\n if (PROP_TYPES_LIST.indexOf(prop.type) === -1) {\n throw new Error(`Expected prop.type to be one of ${ PROP_TYPES_LIST.join(', ') }`);\n }\n\n if (prop.required && prop.def) {\n throw new Error(`Required prop can not have a default value`);\n }\n }\n }\n}\n\n// eslint-disable-next-line complexity\nexport function validate

(options : ?ComponentOptionsType

) { // eslint-ignore-line\n\n if (!options) {\n throw new Error(`Expected options to be passed`);\n }\n\n if (!options.tag || !options.tag.match(/^[a-z0-9-]+$/)) {\n throw new Error(`Invalid options.tag: ${ options.tag }`);\n }\n\n validatePropDefinitions(options);\n\n if (options.dimensions) {\n if (options.dimensions && !isPx(options.dimensions.width) && !isPerc(options.dimensions.width)) {\n throw new Error(`Expected options.dimensions.width to be a px or % string value`);\n }\n\n if (options.dimensions && !isPx(options.dimensions.height) && !isPerc(options.dimensions.height)) {\n throw new Error(`Expected options.dimensions.height to be a px or % string value`);\n }\n }\n\n if (options.contexts) {\n\n if (options.contexts.popup && !__ZOID__.__POPUP_SUPPORT__) {\n throw new Error(`Popups not supported in this build -- please use the full zoid.js build`);\n }\n\n let anyEnabled = false;\n\n for (let context of Object.keys(options.contexts)) {\n\n if (CONTEXT_TYPES_LIST.indexOf(context) === -1) {\n throw new Error(`Unsupported context type: ${ context }`);\n }\n\n if ((options.contexts && options.contexts[context]) || (options.contexts && options.contexts[context] === undefined)) {\n anyEnabled = true;\n }\n }\n\n if (!anyEnabled) {\n throw new Error(`No context type is enabled`);\n }\n }\n\n if (options.defaultContext) {\n if (CONTEXT_TYPES_LIST.indexOf(options.defaultContext) === -1) {\n throw new Error(`Unsupported context type: ${ options.defaultContext || 'unknown' }`);\n }\n\n if (options.contexts && options.defaultContext && !options.contexts[options.defaultContext]) {\n throw new Error(`Disallowed default context type: ${ options.defaultContext || 'unknown' }`);\n }\n }\n\n if (options.url && options.buildUrl) {\n throw new Error(`Can not pass both options.url and options.buildUrl`);\n }\n\n if (options.defaultEnv) {\n if (typeof options.defaultEnv !== 'string') {\n throw new TypeError(`Expected options.defaultEnv to be a string`);\n }\n\n if (!options.buildUrl && typeof options.url !== 'object') {\n throw new Error(`Expected options.url to be an object mapping env->url`);\n }\n\n if (options.url && typeof options.url === 'object' && !options.url[options.defaultEnv]) {\n throw new Error(`No url found for default env: ${ options.defaultEnv }`);\n }\n }\n\n if (options.url && typeof options.url === 'object') {\n\n if (!options.defaultEnv) {\n throw new Error(`Must pass options.defaultEnv with env->url mapping`);\n }\n\n for (let env of Object.keys(options.url)) {\n if (!options.url[env]) {\n throw new Error(`No url specified for env: ${ env }`);\n }\n }\n }\n\n if (options.prerenderTemplate && typeof options.prerenderTemplate !== 'function') {\n throw new Error(`Expected options.prerenderTemplate to be a function`);\n }\n\n if (options.containerTemplate && typeof options.containerTemplate !== 'function') {\n throw new Error(`Expected options.containerTemplate to be a function`);\n }\n}\n","/* @flow */\n\nimport { type ZalgoPromise } from 'zalgo-promise/src';\nimport type { SameDomainWindowType } from 'cross-domain-utils/src';\n\nimport { uniqueID } from '../../lib';\nimport { type DimensionsType } from '../../types';\n\ntype PropDefinitionType = {\n type : S,\n alias? : string,\n value? : T,\n required? : boolean,\n noop? : boolean,\n once? : boolean,\n memoize? : boolean,\n promisify? : boolean,\n queryParam? : boolean | string | (T) => (string | ZalgoPromise),\n queryValue? : (T) => (ZalgoPromise | mixed),\n sendToChild? : boolean,\n allowDelegate? : boolean,\n validate? : (T, PropsType & P) => void,\n decorate? : (T, PropsType & P) => (void | ZalgoPromise | T),\n def? : (P) => ?T,\n sameDomain? : boolean,\n serialization? : 'json' | 'dotify',\n childDecorate? : (T) => ?T,\n denodeify? : boolean\n};\n\nexport type BooleanPropDefinitionType = PropDefinitionType;\nexport type StringPropDefinitionType = PropDefinitionType;\nexport type NumberPropDefinitionType = PropDefinitionType;\nexport type FunctionPropDefinitionType = PropDefinitionType;\nexport type ObjectPropDefinitionType = PropDefinitionType;\n\nexport type MixedPropDefinitionType

= BooleanPropDefinitionType<*, P> | StringPropDefinitionType<*, P> | NumberPropDefinitionType<*, P> | FunctionPropDefinitionType<*, P> | ObjectPropDefinitionType<*, P>;\n\nexport type UserPropsDefinitionType

= {\n [string] : MixedPropDefinitionType

\n};\n\nexport type EventHandlerType = (T) => void | ZalgoPromise;\n\ntype envPropType = string;\ntype uidPropType = string;\ntype urlPropType = string;\ntype versionPropType = string;\ntype timeoutPropType = number;\ntype logLevelPropType = string;\ntype dimensionsPropType = DimensionsType;\ntype winPropType = SameDomainWindowType;\n\ntype onDisplayPropType = EventHandlerType;\ntype onEnterPropType = EventHandlerType;\ntype onRenderPropType = EventHandlerType;\ntype onClosePropType = EventHandlerType;\ntype onDestroyPropType = EventHandlerType;\ntype onResizePropType = EventHandlerType;\ntype onTimeoutPropType = EventHandlerType;\ntype onErrorPropType = EventHandlerType;\n\nexport type BuiltInPropsType = {\n env : envPropType,\n uid : uidPropType,\n url? : urlPropType,\n version? : versionPropType,\n timeout? : timeoutPropType,\n logLevel : logLevelPropType,\n dimensions? : dimensionsPropType,\n win? : winPropType,\n\n onDisplay : onDisplayPropType,\n onEnter : onEnterPropType,\n onRender : onRenderPropType,\n onClose : onClosePropType,\n onDestroy : onDestroyPropType,\n onResize : onResizePropType,\n onTimeout : onTimeoutPropType,\n onError? : onErrorPropType\n};\n\nexport type PropsType = {\n env? : envPropType,\n uid? : uidPropType,\n url? : urlPropType,\n version? : versionPropType,\n timeout? : timeoutPropType,\n logLevel? : logLevelPropType,\n dimensions? : dimensionsPropType,\n win? : winPropType,\n\n onDisplay? : onDisplayPropType,\n onEnter? : onEnterPropType,\n onRender? : onRenderPropType,\n onClose? : onClosePropType,\n onDestroy? : onDestroyPropType,\n onResize? : onResizePropType,\n onTimeout? : onTimeoutPropType,\n onError? : onErrorPropType\n};\n\nexport type BuiltInPropsDefinitionType

= {\n env : StringPropDefinitionType,\n uid : StringPropDefinitionType,\n url : StringPropDefinitionType,\n version : StringPropDefinitionType,\n timeout : NumberPropDefinitionType,\n logLevel : StringPropDefinitionType,\n dimensions : ObjectPropDefinitionType,\n win : ObjectPropDefinitionType,\n\n onDisplay : FunctionPropDefinitionType,\n onEnter : FunctionPropDefinitionType,\n onRender : FunctionPropDefinitionType,\n onClose : FunctionPropDefinitionType,\n onDestroy : FunctionPropDefinitionType,\n onResize : FunctionPropDefinitionType,\n onTimeout : FunctionPropDefinitionType,\n onError : FunctionPropDefinitionType\n};\n\n/* Internal Props\n --------------\n\n We define and use certain props by default, for configuration and events that are used at the framework level.\n These follow the same format as regular props, and are classed as reserved words that may not be overriden by users.\n*/\n\nexport function getInternalProps

() : BuiltInPropsDefinitionType

{\n return {\n\n // The desired env in which the component is being rendered. Used to determine the correct url\n\n env: {\n type: 'string',\n required: false,\n queryParam: true,\n def() : string {\n return this.defaultEnv;\n }\n },\n\n uid: {\n type: 'string',\n def() : string {\n return uniqueID();\n },\n queryParam: true\n },\n\n logLevel: {\n type: 'string',\n required: false,\n queryParam: true,\n def() : string {\n return this.defaultLogLevel;\n }\n },\n\n // A custom url to use to render the component\n\n url: {\n type: 'string',\n required: false,\n promise: true,\n sendToChild: false\n },\n\n win: {\n type: 'object',\n required: false,\n sendToChild: false\n },\n\n dimensions: {\n type: 'object',\n required: false\n },\n\n version: {\n type: 'string',\n required: false,\n queryParam: true,\n def() : string {\n return this.version;\n }\n },\n\n // A millisecond timeout before onTimeout is called\n\n timeout: {\n type: 'number',\n required: false,\n sendToChild: false\n },\n\n onDisplay: {\n type: 'function',\n required: false,\n noop: true,\n promisify: true,\n memoize: true,\n sendToChild: false\n },\n\n onEnter: {\n type: 'function',\n required: false,\n noop: true,\n promisify: true,\n sendToChild: false\n },\n\n // When we get an INIT message from the child\n\n onRender: {\n type: 'function',\n required: false,\n noop: true,\n promisify: true,\n sendToChild: false\n },\n\n // When the user closes the component.\n\n onClose: {\n type: 'function',\n required: false,\n noop: true,\n once: true,\n promisify: true,\n sendToChild: false\n },\n\n onDestroy: {\n type: 'function',\n required: false,\n noop: true,\n once: true,\n promisify: true,\n sendToChild: false\n },\n\n onResize: {\n type: 'function',\n required: false,\n noop: true,\n sendToChild: false\n },\n\n // When we time-out before getting an INIT message from the child. Defaults to onError if no handler passed.\n\n onTimeout: {\n type: 'function',\n required: false,\n memoize: true,\n promisify: true,\n sendToChild: false,\n def() : (() => void) {\n return function onTimeout(err : mixed) : void {\n if (this.props.onError) {\n return this.props.onError(err);\n }\n throw err;\n };\n }\n },\n\n // When the component experiences an error\n\n onError: {\n type: 'function',\n required: false,\n promisify: true,\n sendToChild: true,\n once: true,\n def() : (() => void) {\n return function onError(err : mixed) {\n setTimeout(() => {\n throw err;\n });\n };\n }\n }\n };\n}\n","/* @flow */\n\nimport { type ZalgoPromise } from 'zalgo-promise/src';\n// eslint-disable-next-line import/no-namespace\nimport * as _postRobot from 'post-robot/src';\n\nimport { Component, type ComponentOptionsType } from './component';\nimport { ParentComponent } from './component/parent';\n// eslint-disable-next-line import/no-namespace\nimport * as _CONSTANTS from './constants';\n\nexport function create

(options : ComponentOptionsType

) : Component

{\n return new Component(options);\n}\n\nexport function getByTag

(tag : string) : Component

{\n return Component.getByTag(tag);\n}\n\nexport { getCurrentScriptDir } from './lib';\n\nexport function destroyAll() : ZalgoPromise {\n return ParentComponent.destroyAll();\n}\nexport let postRobot = _postRobot;\n\nexport * from './error';\n\nexport const CONSTANTS = _CONSTANTS;\n\nexport type ZoidComponent

= Component

;\n","/* @flow */\n\nimport { type ZalgoPromise } from 'zalgo-promise/src';\nimport { getParent, isWindowClosed, type CrossDomainWindowType } from 'cross-domain-utils/src';\n\nimport { CONSTANTS } from '../conf';\nimport { noop } from '../lib';\nimport { global } from '../global';\n\n/*\n HERE BE DRAGONS\n\n Warning: this file may look weird. Why save the tunnel window in an Object\n by ID, then look it up later, rather than just using the reference from the closure scope?\n\n The reason is, that ends up meaning the garbage collector can never get its hands\n on a closed window, since our closure has continued access to it -- and post-robot\n has no good way to know whether to clean up the function with the closure scope.\n\n If you're editing this file, be sure to run significant memory / GC tests afterwards.\n*/\n\nglobal.tunnelWindows = global.tunnelWindows || {};\nglobal.tunnelWindowId = 0;\n\nfunction deleteTunnelWindow(id) {\n\n try {\n if (global.tunnelWindows[id]) {\n delete global.tunnelWindows[id].source;\n }\n } catch (err) {\n // pass\n }\n\n delete global.tunnelWindows[id];\n}\n\nfunction cleanTunnelWindows() {\n let tunnelWindows = global.tunnelWindows;\n\n for (let key of Object.keys(tunnelWindows)) {\n let tunnelWindow = tunnelWindows[key];\n\n try {\n noop(tunnelWindow.source);\n } catch (err) {\n deleteTunnelWindow(key);\n continue;\n }\n\n if (isWindowClosed(tunnelWindow.source)) {\n deleteTunnelWindow(key);\n }\n }\n}\n\ntype TunnelWindowDataType = {\n name : string,\n source : CrossDomainWindowType,\n canary : () => void,\n sendMessage : (message : string) => void\n};\n\nfunction addTunnelWindow({ name, source, canary, sendMessage } : TunnelWindowDataType) : number {\n cleanTunnelWindows();\n global.tunnelWindowId += 1;\n global.tunnelWindows[global.tunnelWindowId] = { name, source, canary, sendMessage };\n return global.tunnelWindowId;\n}\n\nfunction getTunnelWindow(id : number) : TunnelWindowDataType {\n return global.tunnelWindows[id];\n}\n\nglobal.openTunnelToParent = function openTunnelToParent({ name, source, canary, sendMessage } : TunnelWindowDataType) : ZalgoPromise<{ source : CrossDomainWindowType, origin : string, data : Object }> {\n\n let parentWindow = getParent(window);\n\n if (!parentWindow) {\n throw new Error(`No parent window found to open tunnel to`);\n }\n\n let id = addTunnelWindow({ name, source, canary, sendMessage });\n\n return global.send(parentWindow, CONSTANTS.POST_MESSAGE_NAMES.OPEN_TUNNEL, {\n\n name,\n\n sendMessage() {\n\n let tunnelWindow = getTunnelWindow(id);\n\n try {\n // IE gets antsy if you try to even reference a closed window\n noop(tunnelWindow && tunnelWindow.source);\n } catch (err) {\n deleteTunnelWindow(id);\n return;\n }\n\n if (!tunnelWindow || !tunnelWindow.source || isWindowClosed(tunnelWindow.source)) {\n return;\n }\n\n try {\n tunnelWindow.canary();\n } catch (err) {\n return;\n }\n\n tunnelWindow.sendMessage.apply(this, arguments);\n }\n\n }, { domain: CONSTANTS.WILDCARD });\n};\n","/* @flow */\n\nimport { WeakMap } from 'cross-domain-safe-weakmap/src';\nimport { ZalgoPromise } from 'zalgo-promise/src';\nimport { getDomain, isSameDomain, isOpener, isSameTopWindow, matchDomain, getUserAgent, getDomainFromUrl, type CrossDomainWindowType } from 'cross-domain-utils/src';\n\nimport { CONFIG, CONSTANTS } from '../conf';\nimport { global } from '../global';\n\nexport function needsBridgeForBrowser() : boolean {\n\n if (getUserAgent(window).match(/MSIE|trident|edge\\/12|edge\\/13/i)) {\n return true;\n }\n\n if (!CONFIG.ALLOW_POSTMESSAGE_POPUP) {\n return true;\n }\n\n return false;\n}\n\nexport function needsBridgeForWin(win : CrossDomainWindowType) : boolean {\n\n if (!isSameTopWindow(window, win)) {\n return true;\n }\n\n return false;\n}\n\nexport function needsBridgeForDomain(domain : ?string, win : ?CrossDomainWindowType) : boolean {\n\n if (domain) {\n if (getDomain() !== getDomainFromUrl(domain)) {\n return true;\n }\n } else if (win) {\n if (!isSameDomain(win)) {\n return true;\n }\n }\n\n return false;\n}\n\nexport function needsBridge({ win, domain } : { win? : CrossDomainWindowType, domain? : string }) : boolean {\n\n if (!needsBridgeForBrowser()) {\n return false;\n }\n\n if (domain && !needsBridgeForDomain(domain, win)) {\n return false;\n }\n\n if (win && !needsBridgeForWin(win)) {\n return false;\n }\n\n return true;\n}\n\nexport function getBridgeName(domain : string) : string {\n\n domain = domain || getDomainFromUrl(domain);\n\n let sanitizedDomain = domain.replace(/[^a-zA-Z0-9]+/g, '_');\n\n let id = `${ CONSTANTS.BRIDGE_NAME_PREFIX }_${ sanitizedDomain }`;\n\n return id;\n}\n\nexport function isBridge() : boolean {\n return Boolean(window.name && window.name === getBridgeName(getDomain()));\n}\n\nexport let documentBodyReady = new ZalgoPromise(resolve => {\n\n if (window.document && window.document.body) {\n return resolve(window.document.body);\n }\n\n let interval = setInterval(() => {\n if (window.document && window.document.body) {\n clearInterval(interval);\n return resolve(window.document.body);\n }\n }, 10);\n});\n\nglobal.remoteWindows = global.remoteWindows || new WeakMap();\n\nexport function registerRemoteWindow(win : CrossDomainWindowType) {\n global.remoteWindows.set(win, { sendMessagePromise: new ZalgoPromise() });\n}\n\nexport function findRemoteWindow(win : CrossDomainWindowType) : { sendMessagePromise : ZalgoPromise<(remoteWin : CrossDomainWindowType, message : string, remoteDomain : string) => void> } {\n return global.remoteWindows.get(win);\n}\n\nexport function registerRemoteSendMessage(win : CrossDomainWindowType, domain : string, sendMessage : (message : string) => void) {\n\n let remoteWindow = findRemoteWindow(win);\n\n if (!remoteWindow) {\n throw new Error(`Window not found to register sendMessage to`);\n }\n\n let sendMessageWrapper = (remoteWin : CrossDomainWindowType, message : string, remoteDomain : string) => {\n\n if (remoteWin !== win) {\n throw new Error(`Remote window does not match window`);\n }\n\n if (!matchDomain(remoteDomain, domain)) {\n throw new Error(`Remote domain ${ remoteDomain } does not match domain ${ domain }`);\n }\n\n sendMessage(message);\n };\n\n remoteWindow.sendMessagePromise.resolve(sendMessageWrapper);\n remoteWindow.sendMessagePromise = ZalgoPromise.resolve(sendMessageWrapper);\n}\n\nexport function rejectRemoteSendMessage(win : CrossDomainWindowType, err : Error) {\n\n let remoteWindow = findRemoteWindow(win);\n\n if (!remoteWindow) {\n throw new Error(`Window not found on which to reject sendMessage`);\n }\n\n remoteWindow.sendMessagePromise.asyncReject(err);\n}\n\nexport function sendBridgeMessage(win : CrossDomainWindowType, message : string, domain : string) : ZalgoPromise {\n\n let messagingChild = isOpener(window, win);\n let messagingParent = isOpener(win, window);\n\n if (!messagingChild && !messagingParent) {\n throw new Error(`Can only send messages to and from parent and popup windows`);\n }\n\n let remoteWindow = findRemoteWindow(win);\n\n if (!remoteWindow) {\n throw new Error(`Window not found to send message to`);\n }\n\n return remoteWindow.sendMessagePromise.then(sendMessage => {\n return sendMessage(win, message, domain);\n });\n}\n","/* @flow */\n\nimport { ZalgoPromise } from 'zalgo-promise/src';\nimport { isSameDomain, getOpener, getFrames, getDomain, getFrameByName, type CrossDomainWindowType } from 'cross-domain-utils/src';\n\nimport { CONSTANTS } from '../conf';\nimport { weakMapMemoize, noop } from '../lib';\nimport { global } from '../global';\n\nimport { needsBridge, registerRemoteWindow, rejectRemoteSendMessage, registerRemoteSendMessage, getBridgeName } from './common';\n\nlet awaitRemoteBridgeForWindow = weakMapMemoize((win : CrossDomainWindowType) : ZalgoPromise => {\n return ZalgoPromise.try(() => {\n for (let frame of getFrames(win)) {\n try {\n // $FlowFixMe\n if (frame && frame !== window && isSameDomain(frame) && frame[CONSTANTS.WINDOW_PROPS.POSTROBOT]) {\n return frame;\n }\n\n } catch (err) {\n continue;\n }\n }\n\n try {\n let frame = getFrameByName(win, getBridgeName(getDomain()));\n\n if (!frame) {\n return;\n }\n\n // $FlowFixMe\n if (isSameDomain(frame) && frame[CONSTANTS.WINDOW_PROPS.POSTROBOT]) {\n return frame;\n }\n\n return new ZalgoPromise(resolve => {\n\n let interval;\n let timeout;\n\n interval = setInterval(() => {\n // $FlowFixMe\n if (frame && isSameDomain(frame) && frame[CONSTANTS.WINDOW_PROPS.POSTROBOT]) {\n clearInterval(interval);\n clearTimeout(timeout);\n return resolve(frame);\n }\n }, 100);\n\n timeout = setTimeout(() => {\n clearInterval(interval);\n return resolve();\n }, 2000);\n });\n\n } catch (err) {\n // pass\n }\n });\n});\n\nexport function openTunnelToOpener() : ZalgoPromise {\n return ZalgoPromise.try(() => {\n\n const opener = getOpener(window);\n\n if (!opener) {\n return;\n }\n\n if (!needsBridge({ win: opener })) {\n return;\n }\n\n registerRemoteWindow(opener);\n\n return awaitRemoteBridgeForWindow(opener).then(bridge => {\n\n if (!bridge) {\n return rejectRemoteSendMessage(opener, new Error(`Can not register with opener: no bridge found in opener`));\n }\n\n if (!window.name) {\n return rejectRemoteSendMessage(opener, new Error(`Can not register with opener: window does not have a name`));\n }\n\n return bridge[CONSTANTS.WINDOW_PROPS.POSTROBOT].openTunnelToParent({\n\n name: window.name,\n\n source: window,\n\n canary() {\n // pass\n },\n\n sendMessage(message) {\n\n try {\n noop(window);\n } catch (err) {\n return;\n }\n\n if (!window || window.closed) {\n return;\n }\n\n try {\n global.receiveMessage({\n data: message,\n origin: this.origin,\n source: this.source\n });\n } catch (err) {\n ZalgoPromise.reject(err);\n }\n }\n\n }).then(({ source, origin, data }) => {\n\n if (source !== opener) {\n throw new Error(`Source does not match opener`);\n }\n\n registerRemoteSendMessage(source, origin, data.sendMessage);\n\n }).catch(err => {\n\n rejectRemoteSendMessage(opener, err);\n throw err;\n });\n });\n });\n}\n","/* @flow */\n\nimport { WeakMap } from 'cross-domain-safe-weakmap/src';\nimport { ZalgoPromise } from 'zalgo-promise/src';\nimport {\n getDomain,\n getFrameByName,\n isWindowClosed,\n getDomainFromUrl,\n type CrossDomainWindowType\n} from 'cross-domain-utils/src';\n\nimport { CONFIG, CONSTANTS } from '../conf';\nimport { onChildWindowReady } from '../lib';\nimport { global } from '../global';\n\nimport { getBridgeName, documentBodyReady, registerRemoteSendMessage, registerRemoteWindow } from './common';\n\nglobal.bridges = global.bridges || {};\nglobal.bridgeFrames = global.bridgeFrames || {};\n\nglobal.popupWindowsByWin = global.popupWindowsByWin || new WeakMap();\nglobal.popupWindowsByName = global.popupWindowsByName || {};\n\nfunction listenForRegister(source, domain) {\n global.on(CONSTANTS.POST_MESSAGE_NAMES.OPEN_TUNNEL, { window: source, domain }, ({ origin, data }) => {\n if (origin !== domain) {\n throw new Error(`Domain ${ domain } does not match origin ${ origin }`);\n }\n\n if (!data.name) {\n throw new Error(`Register window expected to be passed window name`);\n }\n\n if (!data.sendMessage) {\n throw new Error(`Register window expected to be passed sendMessage method`);\n }\n\n if (!global.popupWindowsByName[data.name]) {\n throw new Error(`Window with name ${ data.name } does not exist, or was not opened by this window`);\n }\n\n if (!global.popupWindowsByName[data.name].domain) {\n throw new Error(`We do not have a registered domain for window ${ data.name }`);\n }\n\n if (global.popupWindowsByName[data.name].domain !== origin) {\n throw new Error(\n `Message origin ${ origin } does not matched registered window origin ${\n global.popupWindowsByName[data.name].domain\n }`\n );\n }\n\n registerRemoteSendMessage(global.popupWindowsByName[data.name].win, domain, data.sendMessage);\n\n return {\n sendMessage(message) {\n if (!window || window.closed) {\n return;\n }\n\n let winDetails = global.popupWindowsByName[data.name];\n\n if (!winDetails) {\n return;\n }\n\n try {\n global.receiveMessage({\n data: message,\n origin: winDetails.domain,\n source: winDetails.win\n });\n } catch (err) {\n ZalgoPromise.reject(err);\n }\n }\n };\n });\n}\nfunction setElementStyles(\n element : HTMLElement,\n styles : {\n // eslint-disable-next-line no-undef\n [key : $Keys] : $Values\n } = {}\n) {\n if (!element) {\n return;\n }\n\n for (const key in styles) {\n // $FlowFixMe\n if (Object.prototype.hasOwnProperty.call(styles, key)) {\n // $FlowFixMe\n element.style[key] = styles[key];\n }\n }\n}\n\nfunction openBridgeFrame(name : string, url : string) : HTMLIFrameElement {\n let iframe = document.createElement(`iframe`);\n\n iframe.setAttribute(`name`, name);\n iframe.setAttribute(`id`, name);\n setElementStyles(iframe, {\n display: 'none',\n margin: 0,\n padding: 0,\n border: '0px none',\n overflow: 'hidden'\n });\n\n iframe.setAttribute(`frameborder`, `0`);\n iframe.setAttribute(`border`, `0`);\n iframe.setAttribute(`scrolling`, `no`);\n iframe.setAttribute(`allowTransparency`, `true`);\n\n iframe.setAttribute(`tabindex`, `-1`);\n iframe.setAttribute(`hidden`, `true`);\n iframe.setAttribute(`title`, ``);\n iframe.setAttribute(`role`, `presentation`);\n\n iframe.src = url;\n\n return iframe;\n}\n\nexport function hasBridge(url : string, domain : string) : boolean {\n domain = domain || getDomainFromUrl(url);\n return Boolean(global.bridges[domain]);\n}\n\nexport function openBridge(url : string, domain : string) : ZalgoPromise {\n domain = domain || getDomainFromUrl(url);\n\n if (global.bridges[domain]) {\n return global.bridges[domain];\n }\n\n global.bridges[domain] = ZalgoPromise.try(() => {\n if (getDomain() === domain) {\n throw new Error(`Can not open bridge on the same domain as current domain: ${ domain }`);\n }\n\n let name = getBridgeName(domain);\n let frame = getFrameByName(window, name);\n\n if (frame) {\n throw new Error(`Frame with name ${ name } already exists on page`);\n }\n\n let iframe = openBridgeFrame(name, url);\n global.bridgeFrames[domain] = iframe;\n\n return documentBodyReady.then((body) => {\n body.appendChild(iframe);\n\n let bridge = iframe.contentWindow;\n\n listenForRegister(bridge, domain);\n\n return new ZalgoPromise((resolve, reject) => {\n iframe.onload = resolve;\n iframe.onerror = reject;\n })\n .then(() => {\n return onChildWindowReady(bridge, CONFIG.BRIDGE_TIMEOUT, `Bridge ${ url }`);\n })\n .then(() => {\n return bridge;\n });\n });\n });\n\n return global.bridges[domain];\n}\n\nlet windowOpen = window.open;\n\nwindow.open = function windowOpenWrapper(url : string, name : string, options : string, last : mixed) : mixed {\n let domain = url;\n\n if (url && url.indexOf(CONSTANTS.MOCK_PROTOCOL) === 0) {\n [ domain, url ] = url.split('|');\n }\n\n if (domain) {\n domain = getDomainFromUrl(domain);\n }\n\n let win = windowOpen.call(this, url, name, options, last);\n\n if (!win) {\n return win;\n }\n\n if (url) {\n registerRemoteWindow(win);\n }\n\n for (let winName of Object.keys(global.popupWindowsByName)) {\n if (isWindowClosed(global.popupWindowsByName[winName].win)) {\n delete global.popupWindowsByName[winName];\n }\n }\n\n if (name && win) {\n let winOptions = global.popupWindowsByWin.get(win) || global.popupWindowsByName[name] || {};\n\n winOptions.name = winOptions.name || name;\n winOptions.win = winOptions.win || win;\n winOptions.domain = winOptions.domain || domain;\n\n global.popupWindowsByWin.set(win, winOptions);\n global.popupWindowsByName[name] = winOptions;\n }\n\n return win;\n};\n\nexport function linkUrl(win : CrossDomainWindowType, url : string) {\n let winOptions = global.popupWindowsByWin.get(win);\n\n if (winOptions) {\n winOptions.domain = getDomainFromUrl(url);\n registerRemoteWindow(win);\n }\n}\n\nexport function destroyBridges() {\n for (let domain of Object.keys(global.bridgeFrames)) {\n let frame = global.bridgeFrames[domain];\n if (frame.parentNode) {\n frame.parentNode.removeChild(frame);\n }\n }\n global.bridgeFrames = {};\n global.bridges = {};\n}\n","/* @flow */\n\nimport { info } from 'beaver-logger/client';\nimport { ZalgoPromise } from 'zalgo-promise/src';\nimport type { CrossDomainWindowType } from 'cross-domain-utils/src';\nimport { isDevice } from 'belter/src';\n\nimport { LANG_TO_DEFAULT_COUNTRY, LOCALE } from '../constants';\nimport type { LocaleType } from '../types';\nimport { config } from '../config';\n\nimport { memoize } from './util';\n\nfunction isDocumentReady() : boolean {\n // eslint-disable-next-line compat/compat\n return Boolean(document.body) && document.readyState === 'complete';\n}\n\nexport const documentReady : ZalgoPromise = new ZalgoPromise(resolve => {\n\n if (isDocumentReady()) {\n return resolve();\n }\n\n const interval = setInterval(() => {\n if (isDocumentReady()) {\n clearInterval(interval);\n return resolve();\n }\n }, 10);\n});\n\nexport const documentBody : ZalgoPromise = documentReady.then(() => {\n if (document.body) {\n return document.body;\n }\n\n throw new Error('Document ready but document.body not present');\n});\n\n\nexport function loadScript(src : string, timeout : number = 0, attrs : Object = {}) : ZalgoPromise {\n return new ZalgoPromise((resolve, reject) => {\n const script = document.createElement('script');\n\n script.addEventListener('load', () => {\n resolve();\n });\n\n // For Internet explorer 8 support\n script.onreadystatechange = function scriptOnReadyStateChange() {\n if (this.readyState === 'complete' || this.readyState === 'loaded') {\n resolve();\n }\n };\n\n const scriptLoadError = new Error('script_loading_error');\n\n script.addEventListener('error', () => {\n return reject(scriptLoadError);\n });\n\n if (timeout) {\n setTimeout(() => {\n return reject(new Error('script_loading_timed_out'));\n }, timeout);\n }\n\n for (const attr of Object.keys(attrs)) {\n script.setAttribute(attr, attrs[attr]);\n }\n\n script.setAttribute('src', src);\n\n const head = document.getElementsByTagName('head')[0];\n\n head.appendChild(script);\n });\n}\n\n\nexport function isNodeList(nodes : mixed) : boolean {\n\n const result = Object.prototype.toString.call(nodes);\n\n if (result === '[object HTMLCollection]' || result === '[object NodeList]') {\n return true;\n }\n\n return false;\n}\n\nexport function isElement(item : mixed) : boolean {\n return item instanceof HTMLElement;\n}\n\nexport function getElement(item : mixed) : ?HTMLElement {\n\n if (!item) {\n return;\n }\n\n if (item instanceof HTMLElement) {\n return item;\n }\n\n if (typeof item === 'string') {\n\n if (document.querySelector) {\n const result = document.querySelector(item);\n\n if (result) {\n return result;\n }\n }\n\n return document.getElementById(item);\n }\n}\n\nexport function getElements(collection : $ReadOnlyArray | NodeList | HTMLCollection | HTMLElement | string) : $ReadOnlyArray {\n\n if (!collection) {\n return [];\n }\n\n if (collection instanceof HTMLElement || typeof collection === 'string') {\n const element = getElement(collection);\n if (element) {\n return [ element ];\n }\n return [];\n }\n\n if (Array.isArray(collection) || collection instanceof NodeList || collection instanceof HTMLCollection) {\n const result = [];\n\n for (let i = 0; i < collection.length; i++) {\n const el = getElement(collection[i]);\n if (el) {\n result.push(el);\n }\n }\n\n return result;\n }\n\n return [];\n}\n\nexport function onDocumentReady(method : () => void) : ZalgoPromise {\n return documentReady.then(method);\n}\n\nexport const parseQuery = memoize((queryString : string) : Object => {\n\n const params = {};\n\n if (!queryString) {\n return params;\n }\n\n if (queryString.indexOf('=') === -1) {\n return params;\n }\n\n for (let pair of queryString.split('&')) {\n pair = pair.split('=');\n\n if (pair[0] && pair[1]) {\n params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n }\n\n return params;\n});\n\n\nexport function getQueryParam(name : string) : string {\n return parseQuery(window.location.search.slice(1))[name];\n}\n\nexport function urlWillRedirectPage(url : string) : boolean {\n\n if (url.indexOf('#') === -1) {\n return true;\n }\n\n if (url.indexOf('#') === 0) {\n return false;\n }\n\n if (url.split('#')[0] === window.location.href.split('#')[0]) {\n return false;\n }\n\n return true;\n}\n\nexport function extendUrl(url : string, params : { [key : string] : string } = {}) : string {\n\n const hasHash = url.indexOf('#') > 0;\n\n let [ serverUrl, hash ] = url.split('#');\n\n if (hash && !serverUrl) {\n [ serverUrl, hash ] = [ `#${ hash }`, '' ];\n }\n\n const [ originalUrl, originalQueryString ] = serverUrl.split('?');\n\n if (originalQueryString) {\n const originalQuery = parseQuery(originalQueryString);\n\n for (const key in originalQuery) {\n if (!params.hasOwnProperty(key)) {\n params[key] = originalQuery[key];\n }\n }\n }\n\n const newQueryString = Object.keys(params).filter(key => key && params[key]).sort().map(key => {\n return `${ encodeURIComponent(key) }=${ encodeURIComponent(params[key]) }`;\n }).join('&');\n\n let newUrl = originalUrl;\n\n if (newQueryString) {\n newUrl = `${ newUrl }?${ newQueryString }`;\n }\n\n if (hasHash) {\n newUrl = `${ newUrl }#${ hash || '' }`;\n }\n\n return newUrl;\n}\n\nexport function redirect(win : CrossDomainWindowType = window, url : string) : ZalgoPromise {\n return new ZalgoPromise((resolve, reject) => {\n\n info(`redirect`, { url });\n\n if (url.toLowerCase().replace(/[^a-z:]+/g, '').match(/^javascript:/)) {\n return reject(new Error('Invalid redirect URL'));\n }\n\n setTimeout(() => {\n win.location = url;\n if (!urlWillRedirectPage(url)) {\n resolve();\n }\n }, 1);\n });\n}\n\nexport function hasMetaViewPort() : boolean {\n const meta = document.querySelector('meta[name=viewport]');\n\n if (isDevice() && window.screen.width < 660 && !meta) {\n return false;\n }\n\n return true;\n}\n\nexport function getBrowserLocales() : $ReadOnlyArray {\n const nav = window.navigator;\n\n const locales = nav.languages\n ? Array.prototype.slice.apply(nav.languages)\n : [];\n\n if (nav.language) {\n locales.push(nav.language);\n }\n\n if (nav.userLanguage) {\n locales.push(nav.userLanguage);\n }\n\n return locales;\n}\n\nexport function normalizeLocale(locale : string) : ?LocaleType {\n\n if (locale && locale.match(/^[a-z]{2}[-_][A-Z]{2}$/)) {\n const [ lang, country ] = locale.split(/[-_]/);\n if (LOCALE[country] && LOCALE[country].indexOf(lang) !== -1) {\n return { country, lang };\n }\n }\n}\n\nexport function normalizeLang(lang : string) : ?LocaleType {\n\n if (lang && lang.match(/^[a-z]{2}$/)) {\n if (LANG_TO_DEFAULT_COUNTRY[lang]) {\n return { country: LANG_TO_DEFAULT_COUNTRY[lang], lang };\n }\n }\n}\n\nexport const getBrowserLocale = memoize(() : LocaleType => {\n\n const locales = getBrowserLocales();\n\n for (const locale of locales) {\n let loc = normalizeLocale(locale);\n if (loc) {\n info('better_browser_locale_full');\n return loc;\n }\n\n loc = normalizeLang(locale);\n if (loc) {\n info('better_browser_locale_lang');\n return loc;\n }\n }\n\n return config.defaultLocale;\n});\n\nexport function isElementVisible(el : HTMLElement) : boolean {\n return Boolean(el.offsetWidth || el.offsetHeight || el.getClientRects().length);\n}\n\nexport const enablePerformance = memoize(() : boolean => {\n return Boolean(\n window.performance &&\n performance.now &&\n performance.timing &&\n performance.timing.connectEnd &&\n performance.timing.navigationStart &&\n (Math.abs(performance.now() - Date.now()) > 1000) &&\n (performance.now() - (performance.timing.connectEnd - performance.timing.navigationStart)) > 0\n );\n});\n\nexport function getPageRenderTime() : ZalgoPromise {\n return documentReady.then(() => {\n\n if (!enablePerformance()) {\n return;\n }\n\n const timing = window.performance.timing;\n\n if (timing.connectEnd && timing.domInteractive) {\n return timing.domInteractive - timing.connectEnd;\n }\n });\n}\n\nexport function getResourceLoadTime(url : string) : ?number {\n\n if (!enablePerformance()) {\n return;\n }\n\n if (!window.performance || typeof window.performance.getEntries !== 'function') {\n return;\n }\n\n const entries = window.performance.getEntries(); // eslint-disable-line compat/compat\n\n for (let i = 0; i < entries.length; i++) {\n const entry = entries[i];\n\n if (entry && entry.name === url && entry.duration && entry.duration >= 0 && entry.duration <= 60000) {\n return Math.floor(entry.duration);\n }\n }\n}\n\nexport function htmlEncode(html : string = '') : string {\n return html.toString()\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(/\\//g, '/');\n}\n","/* @flow */\n\nexport function PopupOpenError(message : string) {\n this.message = message;\n}\n\nPopupOpenError.prototype = Object.create(Error.prototype);\n\nexport function IntegrationError(message : string) {\n this.message = message;\n}\n\nIntegrationError.prototype = Object.create(Error.prototype);\n\nexport function RenderError(message : string) {\n this.message = message;\n}\n\nRenderError.prototype = Object.create(Error.prototype);\n","/* @flow */\n\nimport { BUTTON_LAYOUT, BUTTON_STYLE_OPTIONS, BUTTON_LABEL, BUTTON_COLOR, BUTTON_SIZE, BUTTON_SHAPE } from '../constants';\nimport { determineEligibleFunding, determineEligibleCards } from '../funding';\nimport { memoize, sortBy } from '../lib/util';\nimport type { LocaleType, FundingSelection, FundingList, CheckoutCustomizationType } from '../types';\nimport { FUNDING_ORDER } from '../funding/config';\n\nimport { getButtonConfig, labelToFunding } from './config';\n\nexport function parseLocale(locale : string) : LocaleType {\n const [ lang, country ] = locale.split('_');\n return { country, lang };\n}\n\nexport function determineMaxButtons({ label, layout, max } : { layout : string, label : string, max : number }) : number {\n\n const allowed = (layout === BUTTON_LAYOUT.HORIZONTAL)\n ? getButtonConfig(label, 'allowPrimaryHorizontal')\n : getButtonConfig(label, 'allowPrimaryVertical');\n\n if (!allowed) {\n return 1;\n }\n\n const configMax = (layout === BUTTON_LAYOUT.HORIZONTAL)\n ? getButtonConfig(label, 'maxHorizontalButtons')\n : getButtonConfig(label, 'maxVerticalButtons');\n\n return max\n ? Math.min(configMax, max)\n : configMax;\n}\n\nfunction enableTagline({ tagline, branding, fundingicons, layout }) : boolean {\n return Boolean(tagline && branding && !fundingicons && layout === BUTTON_LAYOUT.HORIZONTAL);\n}\n\ntype NormalizedProps = {|\n size : $Values,\n label : $Values,\n color : $Values,\n shape : $Values,\n locale : LocaleType,\n branding : boolean,\n fundingicons : boolean,\n tagline : boolean,\n funding : FundingSelection,\n layout : $Values,\n sources : FundingList,\n max : number,\n multiple : boolean,\n env : string,\n height : ?number,\n cards : $ReadOnlyArray,\n installmentperiod : number,\n checkoutCustomization : ?CheckoutCustomizationType\n|};\n\nexport const normalizeProps = memoize((props : Object, defs? : { locale? : LocaleType } = {}) : NormalizedProps => {\n\n let {\n env,\n locale,\n style = {},\n funding,\n commit,\n checkoutCustomization\n } = props;\n\n locale = locale ? parseLocale(locale) : (defs.locale || getButtonConfig('DEFAULT', 'defaultLocale'));\n \n // funding indicated the allowed/disallowed payment methods (including cards) passed in the integration script\n // $FlowFixMe\n funding = funding || {};\n funding.allowed = funding.allowed || [];\n funding.disallowed = funding.disallowed || [];\n funding.remembered = funding.remembered || [];\n \n const label = style[BUTTON_STYLE_OPTIONS.LABEL] || getButtonConfig('DEFAULT', (style.layout === BUTTON_LAYOUT.VERTICAL) ? 'defaultVerticalLabel' : 'defaultLabel');\n const layout = style[BUTTON_STYLE_OPTIONS.LAYOUT] || getButtonConfig(label, 'defaultLayout');\n\n let {\n [ BUTTON_STYLE_OPTIONS.SIZE ]: size = getButtonConfig(label, (layout === BUTTON_LAYOUT.VERTICAL) ? 'defaultVerticalSize' : 'defaultSize'),\n [ BUTTON_STYLE_OPTIONS.COLOR ]: color = getButtonConfig(label, 'defaultColor'),\n [ BUTTON_STYLE_OPTIONS.SHAPE ]: shape = getButtonConfig(label, 'defaultShape'),\n [ BUTTON_STYLE_OPTIONS.BRANDING ]: branding = getButtonConfig(label, (layout === BUTTON_LAYOUT.VERTICAL) ? 'defaultVerticalBranding' : 'defaultBranding'),\n [ BUTTON_STYLE_OPTIONS.FUNDINGICONS ]: fundingicons = getButtonConfig(label, 'defaultFundingIcons'),\n [ BUTTON_STYLE_OPTIONS.TAGLINE ]: tagline = getButtonConfig(label, 'defaultTagline'),\n [ BUTTON_STYLE_OPTIONS.MAXBUTTONS ]: max,\n [ BUTTON_STYLE_OPTIONS.HEIGHT ]: height,\n [ BUTTON_STYLE_OPTIONS.INSTALLMENTPERIOD ]: installmentperiod\n } = style;\n\n // max is the maximum number of buttons to be displayed in the iframe\n max = determineMaxButtons({ label, layout, max });\n\n const selected = labelToFunding(label);\n let sources = determineEligibleFunding({ funding, selected, locale, env, layout, commit });\n // sources is an array of funding sources eligible to be displayed\n sources = sortBy(sources.slice(0, max), FUNDING_ORDER);\n // multiple is a boolean value indicating whether the sources is greater than 1\n const multiple = sources.length > 1;\n\n if (multiple) {\n branding = true;\n }\n\n tagline = enableTagline({ tagline, branding, fundingicons, layout });\n\n const cards = determineEligibleCards({ funding, locale });\n \n return { size, label, locale, color, shape, branding, fundingicons,\n tagline, funding, layout, sources, max, multiple, env, height, cards, installmentperiod, checkoutCustomization };\n});\n","/* @flow */\n\nimport { ENV, CARD_PRIORITY, FUNDING, BUTTON_LAYOUT, FUNDING_ELIGIBILITY_REASON } from '../constants';\nimport type { LocaleType, FundingSource, FundingSelection, FundingList } from '../types';\n\nimport { getFundingConfig, getCardConfig, FUNDING_PRIORITY, FUNDING_CONFIG } from './config';\n\nconst fundingEligibilityReasons = [];\n\nexport function isFundingIneligible(source : FundingSource, { locale, funding, layout, commit, env } :\n { locale : LocaleType, funding : FundingSelection, layout : string, commit? : boolean, env : string }) : ?string {\n\n const isVertical = layout === BUTTON_LAYOUT.VERTICAL;\n const allowSecondary = getFundingConfig(source, isVertical ? 'allowVertical' : 'allowHorizontal');\n\n if (!allowSecondary) {\n return FUNDING_ELIGIBILITY_REASON.SECONDARY_DISALLOWED;\n }\n\n if (funding.disallowed.indexOf(source) !== -1 && getFundingConfig(source, 'allowOptOut')) {\n return FUNDING_ELIGIBILITY_REASON.OPT_OUT;\n }\n\n if (funding.disallowed.indexOf(source) !== -1 && source === FUNDING.VENMO) {\n return FUNDING_ELIGIBILITY_REASON.OPT_OUT;\n }\n if (funding.disallowed.indexOf(source) !== -1 && source === FUNDING.ITAU) {\n return FUNDING_ELIGIBILITY_REASON.OPT_OUT;\n }\n\n if (getFundingConfig(source, 'allowedCountries', [ locale.country ]).indexOf(locale.country) === -1) {\n return FUNDING_ELIGIBILITY_REASON.DISALLOWED_COUNTRY;\n }\n\n if (getFundingConfig(source, 'requireCommitAsTrue') && !commit) {\n return FUNDING_ELIGIBILITY_REASON.COMMIT_NOT_SET;\n }\n\n const allowedEnvs = getFundingConfig(source, 'allowedEnvs');\n if (allowedEnvs && allowedEnvs.indexOf(env) === -1) {\n return FUNDING_ELIGIBILITY_REASON.INVALID_ENV;\n }\n}\n\nexport function isFundingAutoEligible(source : FundingSource, { locale, funding, layout } :\n { locale : LocaleType, funding : FundingSelection, layout : string }) : ?string {\n\n const isVertical = layout === BUTTON_LAYOUT.VERTICAL;\n\n if (isVertical && getFundingConfig(source, 'defaultVerticalCountries', []).indexOf(locale.country) !== -1) {\n return FUNDING_ELIGIBILITY_REASON.DEFAULT_COUNTRY;\n }\n\n if (getFundingConfig(source, 'default')) {\n return FUNDING_ELIGIBILITY_REASON.DEFAULT;\n }\n\n if (funding.allowed.indexOf(source) !== -1 && getFundingConfig(source, 'allowOptIn')) {\n return FUNDING_ELIGIBILITY_REASON.OPT_IN;\n }\n\n if (funding.remembered.indexOf(source) !== -1 && getFundingConfig(source, 'allowRemember')) {\n return FUNDING_ELIGIBILITY_REASON.REMEMBERED;\n }\n}\n\nexport function isFundingEligible(source : FundingSource, { locale, funding, env, layout, selected, commit } :\n { locale : LocaleType, funding : FundingSelection, env : string, layout : string, selected? : string, commit : boolean }) : { eligible : boolean, reason : string } {\n\n if (selected && source === selected) {\n return { eligible: true, reason: FUNDING_ELIGIBILITY_REASON.PRIMARY };\n }\n\n if (!getFundingConfig(source, 'enabled')) {\n if (!(env === ENV.TEST && getFundingConfig(source, 'test'))) {\n return { eligible: false, reason: FUNDING_ELIGIBILITY_REASON.NOT_ENABLED };\n }\n }\n\n const ineligibleReason = isFundingIneligible(source, { locale, funding, layout, commit, env });\n\n if (ineligibleReason) {\n return { eligible: false, reason: ineligibleReason };\n }\n\n const autoEligibleReason = isFundingAutoEligible(source, { locale, funding, layout });\n\n if (autoEligibleReason) {\n return { eligible: true, reason: autoEligibleReason };\n }\n\n return { eligible: false, reason: FUNDING_ELIGIBILITY_REASON.NEED_OPT_IN };\n}\n\nexport function determineEligibleFunding({ funding, selected, locale, env, layout, commit } :\n { funding : FundingSelection, selected : FundingSource, locale : LocaleType, env : string, layout : string, commit : boolean }) : FundingList {\n\n const reasons = {};\n\n const eligibleFunding = FUNDING_PRIORITY.filter(source => {\n const { eligible, reason } = isFundingEligible(source, { selected, locale, funding, env, layout, commit });\n reasons[source] = { eligible, reason, factors: { env, locale, layout } };\n return eligible;\n });\n\n fundingEligibilityReasons.push(reasons);\n\n eligibleFunding.splice(eligibleFunding.indexOf(selected), 1);\n eligibleFunding.unshift(selected);\n\n return eligibleFunding;\n}\n\nexport function determineEligibleCards({ funding, locale } :\n { funding : FundingSelection, locale : LocaleType }) : FundingList {\n\n return getCardConfig(locale.country, 'priority')\n .filter(card => funding.disallowed.indexOf(card) === -1);\n}\n\nexport function validateFunding(funding : FundingSelection = { allowed: [], disallowed: [], remembered: [] }) {\n\n if (funding.allowed) {\n for (const source of funding.allowed) {\n if (CARD_PRIORITY.indexOf(source) !== -1) {\n continue;\n }\n\n if (!FUNDING_CONFIG.hasOwnProperty(source)) {\n throw new Error(`Invalid funding source: ${ source }`);\n }\n\n if (!getFundingConfig(source, 'allowOptIn')) {\n throw new Error(`Can not allow funding source: ${ source }`);\n }\n\n if (funding.disallowed && funding.disallowed.indexOf(source) !== -1) {\n throw new Error(`Can not allow and disallow funding source: ${ source }`);\n }\n }\n }\n\n if (funding.disallowed) {\n for (const source of funding.disallowed) {\n if (CARD_PRIORITY.indexOf(source) !== -1) {\n continue;\n }\n\n if (!FUNDING_CONFIG.hasOwnProperty(source)) {\n throw new Error(`Invalid funding source: ${ source }`);\n }\n\n if (!getFundingConfig(source, 'allowOptOut')) {\n throw new Error(`Can not disallow funding source: ${ source }`);\n }\n }\n }\n}\n\nexport function logFundingEligibility() {\n fundingEligibilityReasons.forEach((reasons, i) => {\n console.log(`\\nButton ${ i + 1 }:\\n`); // eslint-disable-line no-console\n\n console.table(Object.keys(reasons).map(source => { // eslint-disable-line no-console, compat/compat\n const { reason, eligible, factors } = reasons[source];\n\n return {\n 'Funding': source,\n 'Reason': reason,\n 'Eligibility': eligible ? 'eligible' : 'ineligible',\n 'Factors': JSON.stringify(factors)\n };\n }));\n });\n}\n","/* @flow */\n\nimport { getParent, isSameDomain } from 'cross-domain-utils/src';\nimport { supportsPopups } from 'belter/src';\n\nimport { paypalDomainRegex } from '../config';\n\nexport function allowIframe() : boolean {\n\n if (!supportsPopups()) {\n return true;\n }\n\n const parentWindow = getParent(window);\n if (parentWindow && isSameDomain(parentWindow)) {\n return true;\n }\n\n const parentComponentWindow = window.xchild && window.xchild.getParentComponentWindow();\n if (parentComponentWindow && isSameDomain(parentComponentWindow)) {\n return true;\n }\n\n if (__TEST__) {\n return true;\n }\n\n return false;\n}\n\nexport function isPayPalDomain() : boolean {\n return Boolean(`${ window.location.protocol }//${ window.location.host }`.match(paypalDomainRegex)) || window.mockDomain === 'mock://www.paypal.com';\n}\n","/* @flow */\n\nimport { ZalgoPromise } from 'zalgo-promise/src';\n\nexport type Braintree = {|\n client : {\n create : Function\n },\n paypalCheckout : {\n create : Function\n }\n|};\n\nexport type BraintreePayPalClient = {|\n createPayment : Function,\n tokenizePayment : Function\n|};\n\nexport function awaitBraintreeClient(braintree : Braintree, auth : string | ZalgoPromise) : ZalgoPromise {\n return ZalgoPromise.resolve(auth).then(authorization => {\n return braintree.client.create({ authorization });\n }).then(client => {\n return braintree.paypalCheckout.create({ client });\n });\n}\n\nconst SUPPORTED_REST_FIELDS = {\n intent: 1,\n transactions: [\n {\n amount: {\n total: 1,\n currency: 1\n }\n }\n ],\n payer: {\n external_selected_funding_instrument_type: 1,\n shipping_address: {\n line1: 1,\n line2: 1,\n city: 1,\n state: 1,\n postal_code: 1,\n country_code: 1,\n phone: 1,\n recipient_name: 1\n }\n },\n application_context: {\n brand_name: 1,\n shipping_preference: 1,\n landing_page: 1\n }\n};\n\nfunction validate(obj, supported, name) {\n\n const supportedKeys = Object.keys(supported);\n\n for (const key of Object.keys(obj)) {\n\n if (supportedKeys.indexOf(key) === -1) {\n throw new Error(`Unsupported REST key for Braintree: ${ name }.${ key }`);\n }\n\n if (typeof obj[key] === 'object') {\n validate(obj[key], supported[key], `${ name }.${ key }`);\n }\n }\n}\n\nexport function mapPaymentToBraintree(payment : Object) : Object {\n validate(payment, SUPPORTED_REST_FIELDS, 'payment');\n\n const btPayment = {};\n\n btPayment.intent = payment.intent || 'sale';\n btPayment.flow = 'checkout';\n btPayment.amount = payment.transactions[0].amount.total;\n btPayment.currency = payment.transactions[0].amount.currency;\n\n if (payment.payer) {\n if (payment.payer.external_selected_funding_instrument_type === 'CREDIT') {\n btPayment.offerCredit = true;\n }\n\n if (payment.payer.shipping_address) {\n btPayment.shippingAddressOverride = {\n line1: payment.payer.shipping_address.line1,\n line2: payment.payer.shipping_address.line2,\n city: payment.payer.shipping_address.city,\n state: payment.payer.shipping_address.state,\n postalCode: payment.payer.shipping_address.postal_code,\n countryCode: payment.payer.shipping_address.country_code,\n phone: payment.payer.shipping_address.phone,\n recipientName: payment.payer.shipping_address.recipient_name\n };\n }\n }\n\n if (payment.application_context) {\n btPayment.displayName = payment.application_context.brand_name;\n btPayment.landingPageType = payment.application_context.landing_page;\n\n if (payment.application_context) {\n if (payment.application_context.shipping_preference === 'NO_SHIPPING') {\n btPayment.enableShippingAddress = false;\n } else if (payment.application_context.shipping_preference === 'GET_FROM_FILE') {\n btPayment.enableShippingAddress = true;\n btPayment.shippingAddressEditable = true;\n } else if (payment.application_context.shipping_preference === 'SET_PROVIDED_ADDRESS') {\n btPayment.enableShippingAddress = true;\n btPayment.shippingAddressEditable = false;\n }\n }\n }\n\n return btPayment;\n}\n","/* @flow */\n\nexport * from './script';\nexport * from './react';\nexport * from './vue';\nexport * from './angular';\nexport * from './ember';\nexport * from './glimmer';\nexport * from './angular2';\n","/* @flow */\n\nimport { config } from '../config';\nimport { LOG_LEVEL } from '../constants';\n\nimport { getSessionID, getSessionState } from './session';\n\nconst BEACON_URL = config.loggerUrl;\nconst APP_NAME = 'checkoutjs';\n\nexport function beacon(event : string, payload : Object = {}) {\n try {\n\n payload.event = `ppxo_${ event }`;\n payload.version = __PAYPAL_CHECKOUT__.__MINOR_VERSION__;\n payload.host = window.location.host;\n payload.uid = getSessionID();\n payload.appName = APP_NAME;\n\n let query = [];\n\n for (const key in payload) {\n if (payload.hasOwnProperty(key)) {\n query.push(`${ encodeURIComponent(key) }=${ encodeURIComponent(payload[key]) }`);\n }\n }\n\n query = query.join('&');\n\n if (!__TEST__) {\n const beaconImage = new window.Image();\n beaconImage.src = `${ BEACON_URL }?${ query }`;\n }\n\n setTimeout(() => {\n if (config.logLevel === LOG_LEVEL.DEBUG) {\n if (window.console && window.console.log) {\n window.console.log('*', event, payload);\n }\n }\n }, 1);\n\n } catch (err) {\n // pass\n }\n}\n\nfunction isCheckpointUnique(name : string) : boolean {\n return getSessionState(state => {\n state.loggedBeacons = state.loggedBeacons || [];\n\n if (state.loggedBeacons.indexOf(name) === -1) {\n state.loggedBeacons.push(name);\n return true;\n }\n\n return false;\n });\n}\n\nexport function checkpoint(name : string, payload : Object = {}, options : Object = {}) : void {\n try {\n let checkpointName = name;\n\n if (options.version) {\n const version = __PAYPAL_CHECKOUT__.__MINOR_VERSION__.replace(/[^0-9]+/g, '_');\n checkpointName = `${ version }_${ checkpointName }`;\n }\n\n if (!isCheckpointUnique(checkpointName)) {\n return;\n }\n\n return beacon(checkpointName, payload);\n\n } catch (err) {\n\n // pass\n }\n}\n\n\nconst FPTI_URL = 'https://t.paypal.com/ts';\n\nfunction buildPayload() : Object {\n return {\n v: `checkout.js.${ __PAYPAL_CHECKOUT__.__MINOR_VERSION__ }`,\n t: Date.now(),\n g: new Date().getTimezoneOffset(),\n flnm: 'ec:hermes:',\n shir: 'main_ec_hermes_',\n pgrp: 'main:ec:hermes::incontext-merchant',\n page: 'main:ec:hermes::incontext-merchant',\n vers: 'member:hermes:',\n qual: 'incontext',\n tmpl: 'merchant:incontext'\n };\n}\n\nexport function fpti(payload : Object = {}) {\n\n let query = [];\n\n payload = { ...buildPayload(), ...payload };\n\n for (const key in payload) {\n if (payload.hasOwnProperty(key)) {\n query.push(`${ encodeURIComponent(key) }=${ encodeURIComponent(payload[key]) }`);\n }\n }\n\n query = query.join('&');\n\n try {\n const beaconImage = new window.Image();\n beaconImage.src = `${ FPTI_URL }?${ query }`;\n } catch (err) {\n // pass\n }\n}\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","/* @flow */\n/** @jsx jsxDom */\n\nconst checkoutComponentStyle = `\n\n body {\n width: 100%;\n height: 100%;\n overflow: hidden;\n position: fixed;\n top: 0;\n left: 0;\n margin: 0;\n }\n\n .spinner {\n height: 100%;\n width: 100%;\n position: absolute;\n z-index: 10\n }\n\n .spinner .spinWrap {\n width: 200px;\n height: 100px;\n position: absolute;\n top: 50%;\n left: 50%;\n margin-left: -100px;\n margin-top: -50px\n }\n\n .spinner .loader,\n .spinner .spinnerImage {\n height: 100px;\n width: 100px;\n position: absolute;\n top: 0;\n left: 50%;\n opacity: 1;\n filter: alpha(opacity=100)\n }\n\n .spinner .spinnerImage {\n margin: 28px 0 0 -25px;\n background: url(https://www.paypalobjects.com/images/checkout/hermes/icon_ot_spin_lock_skinny.png) no-repeat\n }\n\n .spinner .loader {\n margin: 0 0 0 -55px;\n background-color: transparent;\n -webkit-animation: rotation .7s infinite linear;\n -moz-animation: rotation .7s infinite linear;\n -o-animation: rotation .7s infinite linear;\n animation: rotation .7s infinite linear;\n border-left: 5px solid #cbcbca;\n border-right: 5px solid #cbcbca;\n border-bottom: 5px solid #cbcbca;\n border-top: 5px solid #2380be;\n border-radius: 100%\n }\n\n @-webkit-keyframes rotation {\n from {\n -webkit-transform: rotate(0deg)\n }\n to {\n -webkit-transform: rotate(359deg)\n }\n }\n @-moz-keyframes rotation {\n from {\n -moz-transform: rotate(0deg)\n }\n to {\n -moz-transform: rotate(359deg)\n }\n }\n @-o-keyframes rotation {\n from {\n -o-transform: rotate(0deg)\n }\n to {\n -o-transform: rotate(359deg)\n }\n }\n @keyframes rotation {\n from {\n transform: rotate(0deg)\n }\n to {\n transform: rotate(359deg)\n }\n }\n`;\n\nexport function componentTemplate({ jsxDom } : { jsxDom : Function }) : HTMLElement {\n\n return (\n \n \n PayPal\n \n \n \n

\n \n\n
\n

\n

\n

\n
\n \n \n );\n}\n","/* @flow */\n\nimport { CHECKOUT_OVERLAY_COLOR } from '../../../constants';\n\nexport function getContainerStyle({ id, tag, CONTEXT, CLASS, ANIMATION } : { id : string, tag : string, CONTEXT : Object, CLASS : Object, ANIMATION : Object }) : string {\n return `\n #${ id } {\n position: absolute;\n z-index: 2147483647;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n #${ id }.${ tag }-background-color-${ CHECKOUT_OVERLAY_COLOR.BLACK } {\n background-color: black;\n background-color: rgba(0, 0, 0, 0.75);\n\n background: -webkit-radial-gradient(50% 50%, ellipse closest-corner, rgba(0,0,0,1) 1%, rgba(0,0,0,0.75) 100%);\n background: -moz-radial-gradient(50% 50%, ellipse closest-corner, rgba(0,0,0,1) 1%, rgba(0,0,0,0.75) 100%);\n background: -ms-radial-gradient(50% 50%, ellipse closest-corner, rgba(0,0,0,1) 1%, rgba(0,0,0,0.75) 100%);\n background: radial-gradient(50% 50%, ellipse closest-corner, rgba(0,0,0,1) 1%, rgba(0,0,0,0.75) 100%);\n\n color: #fff;\n }\n\n #${ id }.${ tag }-background-color-${ CHECKOUT_OVERLAY_COLOR.WHITE } {\n background-color: white;\n background-color: rgba(255, 255, 255, 0.4);\n\n background: -webkit-radial-gradient(50% 50%, ellipse closest-corner, rgba(255, 255, 255,1) 1%, rgba(255, 255, 255,0.4) 100%);\n background: -moz-radial-gradient(50% 50%, ellipse closest-corner, rgba(255, 255, 255,1) 1%, rgba(255, 255, 255,0.4) 100%);\n background: -ms-radial-gradient(50% 50%, ellipse closest-corner, rgba(255, 255, 255,1) 1%, rgba(255, 255, 255,0.4) 100%);\n background: radial-gradient(50% 50%, ellipse closest-corner, rgba(255, 255, 255,1) 1%, rgba(255, 255, 255,0.4) 100%);\n\n color: #333;\n }\n\n #${ id }.${ tag }-background-color-${ CHECKOUT_OVERLAY_COLOR.BLACK } a {\n color: #fff;\n }\n\n #${ id }.${ tag }-background-color-${ CHECKOUT_OVERLAY_COLOR.WHITE } a {\n color: #333;\n }\n\n #${ id }.${ tag }-background-color-${ CHECKOUT_OVERLAY_COLOR.BLACK } .paypal-checkout-close:before,\n #${ id }.${ tag }-background-color-${ CHECKOUT_OVERLAY_COLOR.BLACK } .paypal-checkout-close:after {\n background-color: #fff;\n }\n\n #${ id }.${ tag }-background-color-${ CHECKOUT_OVERLAY_COLOR.WHITE } .paypal-checkout-close:before,\n #${ id }.${ tag }-background-color-${ CHECKOUT_OVERLAY_COLOR.WHITE } .paypal-checkout-close:after {\n background-color: #111;\n }\n\n #${ id }.${ tag }-context-${ CONTEXT.POPUP } {\n cursor: pointer;\n }\n\n #${ id }.${ tag }-context-${ CONTEXT.POPUP } {\n cursor: pointer;\n }\n\n #${ id } a {\n text-decoration: none;\n }\n\n #${ id } .paypal-checkout-modal {\n font-family: \"HelveticaNeue\", \"HelveticaNeue-Light\", \"Helvetica Neue Light\", helvetica, arial, sans-serif;\n font-size: 14px;\n text-align: center;\n\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n -ms-box-sizing: border-box;\n box-sizing: border-box;\n max-width: 350px;\n top: 50%;\n left: 50%;\n position: absolute;\n transform: translateX(-50%) translateY(-50%);\n -webkit-transform: translateX(-50%) translateY(-50%);\n -moz-transform: translateX(-50%) translateY(-50%);\n -o-transform: translateX(-50%) translateY(-50%);\n -ms-transform: translateX(-50%) translateY(-50%);\n cursor: pointer;\n text-align: center;\n }\n\n #${ id }.${ tag }-loading .paypal-checkout-message, #${ id }.${ tag }-loading .paypal-checkout-continue {\n display: none;\n }\n\n .paypal-checkout-loader {\n display: none;\n }\n\n #${ id }.${ tag }-loading .paypal-checkout-loader {\n display: block;\n }\n\n #${ id } .paypal-checkout-modal .paypal-checkout-logo {\n cursor: pointer;\n margin-bottom: 30px;\n display: inline-block;\n }\n\n #${ id } .paypal-checkout-modal .paypal-checkout-logo img {\n height: 36px;\n }\n\n #${ id } .paypal-checkout-modal .paypal-checkout-logo img.paypal-checkout-logo-pp {\n margin-right: 10px;\n }\n\n #${ id } .paypal-checkout-modal .paypal-checkout-message {\n font-size: 15px;\n line-height: 1.5;\n padding: 10px 0;\n }\n\n #${ id }.${ tag }-context-${ CONTEXT.IFRAME } .paypal-checkout-message, #${ id }.${ tag }-context-${ CONTEXT.IFRAME } .paypal-checkout-continue {\n display: none;\n }\n\n #${ id } .paypal-checkout-modal .paypal-checkout-continue {\n font-size: 15px;\n line-height: 1.35;\n padding: 10px 0;\n font-weight: bold;\n }\n\n #${ id } .paypal-checkout-modal .paypal-checkout-continue a {\n border-bottom: 1px solid currentColor;\n }\n\n #${ id } .paypal-checkout-close {\n position: absolute;\n right: 16px;\n top: 16px;\n width: 16px;\n height: 16px;\n opacity: 0.6;\n }\n\n #${ id }.${ tag }-loading .paypal-checkout-close {\n display: none;\n }\n\n #${ id } .paypal-checkout-close:hover {\n opacity: 1;\n }\n\n #${ id } .paypal-checkout-close:before, .paypal-checkout-close:after {\n position: absolute;\n left: 8px;\n content: ' ';\n height: 16px;\n width: 2px;\n }\n\n #${ id } .paypal-checkout-close:before {\n transform: rotate(45deg);\n -webkit-transform: rotate(45deg);\n -moz-transform: rotate(45deg);\n -o-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n }\n\n #${ id } .paypal-checkout-close:after {\n transform: rotate(-45deg);\n -webkit-transform: rotate(-45deg);\n -moz-transform: rotate(-45deg);\n -o-transform: rotate(-45deg);\n -ms-transform: rotate(-45deg);\n }\n\n #${ id } .paypal-checkout-iframe-container {\n display: none;\n }\n\n #${ id }.${ tag }-context-${ CONTEXT.IFRAME } .paypal-checkout-iframe-container,\n #${ id }.${ tag }-context-${ CONTEXT.IFRAME } .paypal-checkout-iframe-container > .${ CLASS.OUTLET },\n #${ id }.${ tag }-context-${ CONTEXT.IFRAME } .paypal-checkout-iframe-container > .${ CLASS.OUTLET } > iframe {\n max-height: calc(95vh - 60px);\n max-width: 95vw;\n }\n\n #${ id }.${ tag }-context-${ CONTEXT.IFRAME } .paypal-checkout-iframe-container {\n\n display: block;\n\n position: absolute;\n\n top: 50%;\n left: 50%;\n\n min-width: 450px;\n\n transform: translate(-50%, -50%);\n -webkit-transform: translate(-50%, -50%);\n -moz-transform: translate(-50%, -50%);\n -o-transform: translate(-50%, -50%);\n -ms-transform: translate(-50%, -50%);\n\n transform: translate3d(-50%, -50%, 0);\n -webkit-transform: translate3d(-50%, -50%, 0);\n -moz-transform: translate3d(-50%, -50%, 0);\n -o-transform: translate3d(-50%, -50%, 0);\n -ms-transform: translate3d(-50%, -50%, 0);\n\n border-radius: 10px;\n overflow: hidden;\n }\n\n #${ id }.${ tag }-context-${ CONTEXT.IFRAME } .${ CLASS.OUTLET } {\n\n position: relative;\n\n -webkit-transition: all 0.3s ease;\n -moz-transition: all 0.3s ease;\n -ms-transition: all 0.3s ease;\n -o-transition: all 0.3 ease;\n transition: all 0.3s ease;\n\n -webkit-animation-duration: 0.3s;\n animation-duration: 0.3s;\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n\n min-width: 450px;\n max-width: 450px;\n width: 450px;\n height: 535px;\n\n background-color: white;\n\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n }\n\n #${ id }.${ tag }-context-${ CONTEXT.IFRAME } .${ CLASS.OUTLET } > iframe {\n position: absolute;\n top: 0;\n left: 0;\n transition: opacity .4s ease-in-out;\n }\n\n #${ id }.${ tag }-context-${ CONTEXT.IFRAME } .${ CLASS.OUTLET } > iframe.${ CLASS.COMPONENT_FRAME } {\n z-index: 100;\n }\n\n #${ id }.${ tag }-context-${ CONTEXT.IFRAME } .${ CLASS.OUTLET } > iframe.${ CLASS.PRERENDER_FRAME } {\n z-index: 200;\n }\n\n #${ id }.${ tag }-context-${ CONTEXT.IFRAME } .${ CLASS.OUTLET } > iframe.${ CLASS.VISIBLE } {\n opacity: 1;\n z-index: 200;\n }\n\n #${ id }.${ tag }-context-${ CONTEXT.IFRAME } .${ CLASS.OUTLET } > iframe.${ CLASS.INVISIBLE } {\n opacity: 0;\n z-index: 100;\n }\n\n @media screen and (-ms-high-contrast: active) {\n #${ id } .paypal-checkout-close {\n opacity: 1;\n }\n\n #${ id } .paypal-checkout-close:before , .paypal-checkout-close:after {\n background-color: currentColor;\n }\n }\n\n @media screen and (max-width: 470px) {\n\n #${ id }.${ tag }-context-${ CONTEXT.IFRAME } .paypal-checkout-iframe-container,\n #${ id }.${ tag }-context-${ CONTEXT.IFRAME } .${ CLASS.OUTLET } {\n min-width: 100%;\n min-width: calc(100% - 20px);\n min-width: -webkit-calc(100% - 20px);\n min-width: -moz-calc(100% - 20px);\n min-width: -o-calc(100% - 20px);\n min-width: -ms-calc(100% - 20px);\n\n max-width: 100%;\n max-width: calc(100% - 20px);\n max-width: -webkit-calc(100% - 20px);\n max-width: -moz-calc(100% - 20px);\n max-width: -o-calc(100% - 20px);\n max-width: -ms-calc(100% - 20px);\n }\n }\n\n #${ id }.${ tag }-context-${ CONTEXT.IFRAME } .${ CLASS.OUTLET } iframe {\n width: 1px;\n min-width: 100%;\n height: 100%;\n }\n\n @-webkit-keyframes ${ ANIMATION.SHOW_COMPONENT } {\n from {\n opacity: 0;\n transform: scale3d(.3, .3, .3);\n -webkit-transform: scale3d(.3, .3, .3);\n }\n\n to {\n opacity: 1;\n transform: scale3d(1, 1, 1);\n -webkit-transform: scale3d(1, 1, 1);\n }\n }\n\n @keyframes ${ ANIMATION.SHOW_COMPONENT } {\n from {\n opacity: 0;\n transform: scale3d(.3, .3, .3);\n -webkit-transform: scale3d(.3, .3, .3);\n }\n\n to {\n opacity: 1;\n transform: scale3d(1, 1, 1);\n -webkit-transform: scale3d(1, 1, 1);\n }\n }\n\n @-webkit-keyframes ${ ANIMATION.HIDE_COMPONENT } {\n from {\n transform: scale3d(1, 1, 1);\n -webkit-transform: scale3d(1, 1, 1);\n }\n\n to {\n opacity: 0;\n transform: scale3d(.3, .3, .3);\n -webkit-transform: scale3d(.3, .3, .3);\n }\n }\n\n @keyframes ${ ANIMATION.HIDE_COMPONENT } {\n from {\n transform: scale3d(1, 1, 1);\n -webkit-transform: scale3d(1, 1, 1);\n }\n\n to {\n opacity: 0;\n transform: scale3d(.3, .3, .3);\n -webkit-transform: scale3d(.3, .3, .3);\n }\n }\n\n .paypal-spinner {\n height: 30px;\n width: 30px;\n display: inline-block;\n box-sizing: content-box;\n opacity: 1;\n filter: alpha(opacity=100);\n -webkit-animation: rotation .7s infinite linear;\n -moz-animation: rotation .7s infinite linear;\n -o-animation: rotation .7s infinite linear;\n animation: rotation .7s infinite linear;\n border-left: 8px solid rgba(0, 0, 0, .2);\n border-right: 8px solid rgba(0, 0, 0, .2);\n border-bottom: 8px solid rgba(0, 0, 0, .2);\n border-top: 8px solid #fff;\n border-radius: 100%\n }\n\n @-webkit-keyframes rotation {\n from {\n -webkit-transform: rotate(0deg)\n }\n to {\n -webkit-transform: rotate(359deg)\n }\n }\n @-moz-keyframes rotation {\n from {\n -moz-transform: rotate(0deg)\n }\n to {\n -moz-transform: rotate(359deg)\n }\n }\n @-o-keyframes rotation {\n from {\n -o-transform: rotate(0deg)\n }\n to {\n -o-transform: rotate(359deg)\n }\n }\n @keyframes rotation {\n from {\n transform: rotate(0deg)\n }\n to {\n transform: rotate(359deg)\n }\n }\n `;\n}\n","/* @flow */\n\nexport function getSandboxStyle({ id, ANIMATION } : { id : string, ANIMATION : Object }) : string {\n return `\n #${ id }.paypal-checkout-sandbox {\n display: block;\n position: fixed;\n top: 0;\n left: 0;\n\n width: 100%;\n height: 100%;\n width: 100vw;\n height: 100vh;\n max-width: 100%;\n max-height: 100%;\n min-width: 100%;\n min-height: 100%;\n\n z-index: 2147483647;\n\n -webkit-animation-duration: 1s;\n animation-duration: 1s;\n\n animation-fill-mode:forwards;\n animation-iteration-count: 1;\n\n -webkit-animation-fill-mode:forwards;\n -webkit-animation-iteration-count: 1;\n }\n\n #${ id }.paypal-checkout-sandbox .paypal-checkout-sandbox-iframe {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n @-webkit-keyframes ${ ANIMATION.SHOW_CONTAINER } {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n }\n\n @keyframes ${ ANIMATION.SHOW_CONTAINER } {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n }\n\n @-webkit-keyframes ${ ANIMATION.HIDE_CONTAINER } {\n from {\n opacity: 1;\n }\n\n 50% {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n }\n\n @keyframes ${ ANIMATION.HIDE_CONTAINER } {\n from {\n opacity: 1;\n }\n\n 50% {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n }\n `;\n}\n","/* @flow */\n/** @jsx jsxDom */\n/* eslint max-lines: 0 */\n\nimport { base64encode, supportsPopups, isIos, noop } from 'belter/src';\nimport { ZalgoPromise } from 'zalgo-promise/src';\n\nimport { fundingLogos } from '../../resources';\nimport { BUTTON_LOGO_COLOR, CHECKOUT_OVERLAY_COLOR } from '../../constants';\n\nimport { containerContent } from './containerContent';\nimport { getContainerStyle } from './containerStyle';\nimport { getSandboxStyle } from './sandboxStyle';\n\nconst LOGO_COLOR = {\n [ CHECKOUT_OVERLAY_COLOR.BLACK ]: BUTTON_LOGO_COLOR.WHITE,\n [ CHECKOUT_OVERLAY_COLOR.WHITE ]: BUTTON_LOGO_COLOR.BLACK\n};\n\nexport {\n getContainerStyle,\n getSandboxStyle\n};\n\nexport type ContainerTemplateOptions = {\n id : string,\n props : Object,\n CLASS : Object,\n ANIMATION : Object,\n CONTEXT : Object,\n EVENT : Object,\n dimensions : {\n width : number,\n height : number\n },\n actions : Object,\n tag : string,\n context : string,\n outlet : HTMLElement,\n on : Function,\n jsxDom : Function\n};\n\nexport function containerTemplate({ id, props, CLASS, ANIMATION, CONTEXT, EVENT, on, tag, context, actions, outlet, jsxDom } : ContainerTemplateOptions) : HTMLElement {\n\n const [ lang, country ] = props.locale.split('_');\n\n const content = containerContent[country][lang];\n\n function close(event) {\n event.preventDefault();\n event.stopPropagation();\n actions.close();\n }\n\n function focus(event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (isIos() && supportsPopups()) {\n // eslint-disable-next-line no-alert\n window.alert('Please switch tabs to reactivate the PayPal window');\n } else {\n ZalgoPromise.try(actions.focus).catch(noop);\n }\n }\n\n const style = props.style || {};\n const overlayColor = style.overlayColor || CHECKOUT_OVERLAY_COLOR.BLACK;\n const logoColor = LOGO_COLOR[overlayColor];\n\n const ppLogo = (typeof fundingLogos.pp === 'function')\n ? fundingLogos.pp({ logoColor })\n : fundingLogos.pp[logoColor];\n\n const paypalLogo = (typeof fundingLogos.paypal === 'function')\n ? fundingLogos.paypal({ logoColor })\n : fundingLogos.paypal[logoColor];\n\n const el = (\n
\n \n
\n
\n \n \n
\n
\n {content.windowMessage}\n
\n
\n
\n
\n
\n
\n\n
\n {outlet}\n
\n\n \n
\n );\n\n const container = (\n \n \n { el }\n \n \n );\n\n on(EVENT.CLOSE, () => {\n el.className += ` ${ tag }-loading`;\n });\n\n return (\n
\n \n\n \n
\n );\n}\n","/* @flow */\n\nimport { config } from '../config';\nimport { FUNDING, PAYMENT_TYPE } from '../constants';\n\nexport function determineParameterFromToken(token : string) : string {\n return (token && token.indexOf('BA-') === 0) ? 'ba_token' : 'token';\n}\n\nexport function getPaymentType(payment : string) : string {\n if (payment.indexOf('BA-') === 0) {\n return PAYMENT_TYPE.BA_TOKEN;\n } else if (payment.indexOf('PAY-') === 0 || payment.indexOf('PAYID-') === 0) {\n return PAYMENT_TYPE.PAY_ID;\n } else if (payment.indexOf('EC-') === 0) {\n return PAYMENT_TYPE.EC_TOKEN;\n }\n\n return PAYMENT_TYPE.EC_TOKEN;\n}\n\nexport function determineUrl(env : string, fundingSource : ?string, payment : string) : string {\n\n const paymentType = getPaymentType(payment);\n\n if (paymentType === PAYMENT_TYPE.BA_TOKEN) {\n return config.billingUrls[env];\n }\n\n if (fundingSource === FUNDING.IDEAL || fundingSource === FUNDING.BANCONTACT || fundingSource === FUNDING.GIROPAY ||\n fundingSource === FUNDING.SOFORT || fundingSource === FUNDING.EPS || fundingSource === FUNDING.MYBANK ||\n fundingSource === FUNDING.P24 || fundingSource === FUNDING.BLIK || fundingSource === FUNDING.MAXIMA ||\n fundingSource === FUNDING.BOLETO || fundingSource === FUNDING.OXXO || fundingSource === FUNDING.MERCADOPAGO) {\n return config.altpayUrls[env];\n }\n\n return config.checkoutUrls[env];\n}\n","/* @flow */\n\nexport function extendNamespace(xports : Object, namespaces : $ReadOnlyArray = [], childnamespaces : $ReadOnlyArray = []) : Object {\n\n for (const name of namespaces) {\n const namespace = window[name];\n\n if (!namespace) {\n continue;\n }\n\n for (const childname of childnamespaces) {\n let childnamespace = xports[childname];\n\n if (namespace[childname]) {\n childnamespace = { ...namespace[childname], ...childnamespace };\n }\n\n xports = { ...namespace, ...xports, [ childname ]: childnamespace };\n }\n }\n\n for (const name of namespaces) {\n window[name] = xports;\n }\n\n return xports;\n}\n","/* @flow */\n/* eslint max-lines: off */\n\nexport const containerContent = {\n 'AT': {\n 'de': {\n 'windowMessage': 'Sie sehen das sichere Browserfenster von PayPal nicht? Hier k\\u00F6nnen Sie es wieder \\u00F6ffnen und Ihren Einkauf abschlie\\u00DFen.',\n 'continue': 'Weiter'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'ZW': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'ZM': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'ZA': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'YT': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'YE': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'ar': {\n 'windowMessage': '\\u0644\\u0627 \\u062A\\u0631\\u0649 \\u0645\\u062A\\u0635\\u0641\\u062D PayPal \\u0627\\u0644\\u0622\\u0645\\u0646\\u061F \\u0633\\u0646\\u0633\\u0627\\u0639\\u062F\\u0643 \\u0641\\u064A \\u0625\\u0639\\u0627\\u062F\\u0629 \\u0641\\u062A\\u062D \\u0627\\u0644\\u0646\\u0627\\u0641\\u0630\\u0629 \\u0644\\u0627\\u0633\\u062A\\u0643\\u0645\\u0627\\u0644 \\u0645\\u0634\\u062A\\u0631\\u064A\\u0627\\u062A\\u0643. \\u00A0 ',\n 'continue': '\\u0645\\u062A\\u0627\\u0628\\u0639\\u0629'\n }\n },\n 'WS': {\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'WF': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'VU': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda completar su compra. ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat. ',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'VG': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'VE': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n }\n },\n 'VC': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'VA': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'UY': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n }\n },\n 'UG': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'TZ': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'TV': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda completar su compra. ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat. ',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'TT': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'TO': {\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'TN': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'ar': {\n 'windowMessage': '\\u0644\\u0627 \\u062A\\u0631\\u0649 \\u0645\\u062A\\u0635\\u0641\\u062D PayPal \\u0627\\u0644\\u0622\\u0645\\u0646\\u061F \\u0633\\u0646\\u0633\\u0627\\u0639\\u062F\\u0643 \\u0641\\u064A \\u0625\\u0639\\u0627\\u062F\\u0629 \\u0641\\u062A\\u062D \\u0627\\u0644\\u0646\\u0627\\u0641\\u0630\\u0629 \\u0644\\u0627\\u0633\\u062A\\u0643\\u0645\\u0627\\u0644 \\u0645\\u0634\\u062A\\u0631\\u064A\\u0627\\u062A\\u0643. \\u00A0 ',\n 'continue': '\\u0645\\u062A\\u0627\\u0628\\u0639\\u0629'\n }\n },\n 'TM': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'TJ': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'TG': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n }\n },\n 'TD': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n }\n },\n 'TC': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'SZ': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'SV': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n }\n },\n 'ST': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'SR': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'SO': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'SN': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n }\n },\n 'SM': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'SL': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'SJ': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'SH': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'SC': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n }\n },\n 'SB': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda completar su compra. ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat. ',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'SA': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'ar': {\n 'windowMessage': '\\u0644\\u0627 \\u062A\\u0631\\u0649 \\u0645\\u062A\\u0635\\u0641\\u062D PayPal \\u0627\\u0644\\u0622\\u0645\\u0646\\u061F \\u0633\\u0646\\u0633\\u0627\\u0639\\u062F\\u0643 \\u0641\\u064A \\u0625\\u0639\\u0627\\u062F\\u0629 \\u0641\\u062A\\u062D \\u0627\\u0644\\u0646\\u0627\\u0641\\u0630\\u0629 \\u0644\\u0627\\u0633\\u062A\\u0643\\u0645\\u0627\\u0644 \\u0645\\u0634\\u062A\\u0631\\u064A\\u0627\\u062A\\u0643. \\u00A0 ',\n 'continue': '\\u0645\\u062A\\u0627\\u0628\\u0639\\u0629'\n }\n },\n 'RW': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n }\n },\n 'RS': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'RE': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'QA': {\n 'ar': {\n 'windowMessage': '\\u0644\\u0627 \\u062A\\u0631\\u0649 \\u0645\\u062A\\u0635\\u0641\\u062D PayPal \\u0627\\u0644\\u0622\\u0645\\u0646\\u061F \\u0633\\u0646\\u0633\\u0627\\u0639\\u062F\\u0643 \\u0641\\u064A \\u0625\\u0639\\u0627\\u062F\\u0629 \\u0641\\u062A\\u062D \\u0627\\u0644\\u0646\\u0627\\u0641\\u0630\\u0629 \\u0644\\u0627\\u0633\\u062A\\u0643\\u0645\\u0627\\u0644 \\u0645\\u0634\\u062A\\u0631\\u064A\\u0627\\u062A\\u0643. \\u00A0 ',\n 'continue': '\\u0645\\u062A\\u0627\\u0628\\u0639\\u0629'\n },\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'PY': {\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n }\n },\n 'PW': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda completar su compra. ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat. ',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'PN': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda completar su compra. ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat. ',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'PM': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'PG': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda completar su compra. ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat. ',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'PF': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'PE': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n }\n },\n 'PA': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n }\n },\n 'OM': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'ar': {\n 'windowMessage': '\\u0644\\u0627 \\u062A\\u0631\\u0649 \\u0645\\u062A\\u0635\\u0641\\u062D PayPal \\u0627\\u0644\\u0622\\u0645\\u0646\\u061F \\u0633\\u0646\\u0633\\u0627\\u0639\\u062F\\u0643 \\u0641\\u064A \\u0625\\u0639\\u0627\\u062F\\u0629 \\u0641\\u062A\\u062D \\u0627\\u0644\\u0646\\u0627\\u0641\\u0630\\u0629 \\u0644\\u0627\\u0633\\u062A\\u0643\\u0645\\u0627\\u0644 \\u0645\\u0634\\u062A\\u0631\\u064A\\u0627\\u062A\\u0643. \\u00A0 ',\n 'continue': '\\u0645\\u062A\\u0627\\u0628\\u0639\\u0629'\n }\n },\n 'NU': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda completar su compra. ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat. ',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'NR': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda completar su compra. ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat. ',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'NP': {\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'NI': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n }\n },\n 'NG': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'NF': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda completar su compra. ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat. ',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'NE': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n }\n },\n 'NC': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'NA': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'MZ': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'MW': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'MV': {\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'MU': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'MT': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'MS': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'MR': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'MQ': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'MN': {\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'ML': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n }\n },\n 'MK': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'MH': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda completar su compra. ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat. ',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'MG': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'ME': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'MD': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'MC': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n }\n },\n 'MA': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'ar': {\n 'windowMessage': '\\u0644\\u0627 \\u062A\\u0631\\u0649 \\u0645\\u062A\\u0635\\u0641\\u062D PayPal \\u0627\\u0644\\u0622\\u0645\\u0646\\u061F \\u0633\\u0646\\u0633\\u0627\\u0639\\u062F\\u0643 \\u0641\\u064A \\u0625\\u0639\\u0627\\u062F\\u0629 \\u0641\\u062A\\u062D \\u0627\\u0644\\u0646\\u0627\\u0641\\u0630\\u0629 \\u0644\\u0627\\u0633\\u062A\\u0643\\u0645\\u0627\\u0644 \\u0645\\u0634\\u062A\\u0631\\u064A\\u0627\\u062A\\u0643. \\u00A0 ',\n 'continue': '\\u0645\\u062A\\u0627\\u0628\\u0639\\u0629'\n }\n },\n 'LS': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'LK': {\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'LI': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'LC': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'LA': {\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'KZ': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'KY': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'KW': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'ar': {\n 'windowMessage': '\\u0644\\u0627 \\u062A\\u0631\\u0649 \\u0645\\u062A\\u0635\\u0641\\u062D PayPal \\u0627\\u0644\\u0622\\u0645\\u0646\\u061F \\u0633\\u0646\\u0633\\u0627\\u0639\\u062F\\u0643 \\u0641\\u064A \\u0625\\u0639\\u0627\\u062F\\u0629 \\u0641\\u062A\\u062D \\u0627\\u0644\\u0646\\u0627\\u0641\\u0630\\u0629 \\u0644\\u0627\\u0633\\u062A\\u0643\\u0645\\u0627\\u0644 \\u0645\\u0634\\u062A\\u0631\\u064A\\u0627\\u062A\\u0643. \\u00A0 ',\n 'continue': '\\u0645\\u062A\\u0627\\u0628\\u0639\\u0629'\n }\n },\n 'KN': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'KM': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n }\n },\n 'KI': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda completar su compra. ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat. ',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'KH': {\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'KG': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'KE': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'JO': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'ar': {\n 'windowMessage': '\\u0644\\u0627 \\u062A\\u0631\\u0649 \\u0645\\u062A\\u0635\\u0641\\u062D PayPal \\u0627\\u0644\\u0622\\u0645\\u0646\\u061F \\u0633\\u0646\\u0633\\u0627\\u0639\\u062F\\u0643 \\u0641\\u064A \\u0625\\u0639\\u0627\\u062F\\u0629 \\u0641\\u062A\\u062D \\u0627\\u0644\\u0646\\u0627\\u0641\\u0630\\u0629 \\u0644\\u0627\\u0633\\u062A\\u0643\\u0645\\u0627\\u0644 \\u0645\\u0634\\u062A\\u0631\\u064A\\u0627\\u062A\\u0643. \\u00A0 ',\n 'continue': '\\u0645\\u062A\\u0627\\u0628\\u0639\\u0629'\n }\n },\n 'JM': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n }\n },\n 'IS': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'HR': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'HN': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n }\n },\n 'GY': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'GW': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'GT': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n }\n },\n 'GP': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'GN': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n }\n },\n 'GM': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'GL': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'da': {\n 'windowMessage': 'Kan du ikke se PayPals sikre browser? Vi hj\\u00E6lper dig med at genstarte vinduet, s\\u00E5 du kan betale.',\n 'continue': 'Forts\\u00E6t'\n }\n },\n 'GI': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'GF': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'GE': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'GD': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'GA': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n }\n },\n 'FO': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'da': {\n 'windowMessage': 'Kan du ikke se PayPals sikre browser? Vi hj\\u00E6lper dig med at genstarte vinduet, s\\u00E5 du kan betale.',\n 'continue': 'Forts\\u00E6t'\n }\n },\n 'FM': {\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'FK': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'FJ': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda completar su compra. ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat. ',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'ET': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'ER': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'EG': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'ar': {\n 'windowMessage': '\\u0644\\u0627 \\u062A\\u0631\\u0649 \\u0645\\u062A\\u0635\\u0641\\u062D PayPal \\u0627\\u0644\\u0622\\u0645\\u0646\\u061F \\u0633\\u0646\\u0633\\u0627\\u0639\\u062F\\u0643 \\u0641\\u064A \\u0625\\u0639\\u0627\\u062F\\u0629 \\u0641\\u062A\\u062D \\u0627\\u0644\\u0646\\u0627\\u0641\\u0630\\u0629 \\u0644\\u0627\\u0633\\u062A\\u0643\\u0645\\u0627\\u0644 \\u0645\\u0634\\u062A\\u0631\\u064A\\u0627\\u062A\\u0643. \\u00A0 ',\n 'continue': '\\u0645\\u062A\\u0627\\u0628\\u0639\\u0629'\n }\n },\n 'EC': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n }\n },\n 'DZ': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'ar': {\n 'windowMessage': '\\u0644\\u0627 \\u062A\\u0631\\u0649 \\u0645\\u062A\\u0635\\u0641\\u062D PayPal \\u0627\\u0644\\u0622\\u0645\\u0646\\u061F \\u0633\\u0646\\u0633\\u0627\\u0639\\u062F\\u0643 \\u0641\\u064A \\u0625\\u0639\\u0627\\u062F\\u0629 \\u0641\\u062A\\u062D \\u0627\\u0644\\u0646\\u0627\\u0641\\u0630\\u0629 \\u0644\\u0627\\u0633\\u062A\\u0643\\u0645\\u0627\\u0644 \\u0645\\u0634\\u062A\\u0631\\u064A\\u0627\\u062A\\u0643. \\u00A0 ',\n 'continue': '\\u0645\\u062A\\u0627\\u0628\\u0639\\u0629'\n }\n },\n 'DO': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n }\n },\n 'DM': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'DJ': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n }\n },\n 'CY': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'CV': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'CR': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n }\n },\n 'CO': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n }\n },\n 'CM': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n }\n },\n 'CL': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n }\n },\n 'CK': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'CI': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n }\n },\n 'CG': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'CD': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n }\n },\n 'BZ': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n }\n },\n 'BY': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'BW': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'BT': {\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'BS': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'BO': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n }\n },\n 'BN': {\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'BM': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'BJ': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n }\n },\n 'BI': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n }\n },\n 'BH': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'ar': {\n 'windowMessage': '\\u0644\\u0627 \\u062A\\u0631\\u0649 \\u0645\\u062A\\u0635\\u0641\\u062D PayPal \\u0627\\u0644\\u0622\\u0645\\u0646\\u061F \\u0633\\u0646\\u0633\\u0627\\u0639\\u062F\\u0643 \\u0641\\u064A \\u0625\\u0639\\u0627\\u062F\\u0629 \\u0641\\u062A\\u062D \\u0627\\u0644\\u0646\\u0627\\u0641\\u0630\\u0629 \\u0644\\u0627\\u0633\\u062A\\u0643\\u0645\\u0627\\u0644 \\u0645\\u0634\\u062A\\u0631\\u064A\\u0627\\u062A\\u0643. \\u00A0 ',\n 'continue': '\\u0645\\u062A\\u0627\\u0628\\u0639\\u0629'\n }\n },\n 'BG': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'BF': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n }\n },\n 'BB': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'BA': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'AZ': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'AW': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'AO': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'AN': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'AM': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'AL': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'AI': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'AG': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'AE': {\n 'ar': {\n 'windowMessage': '\\u0644\\u0627 \\u062A\\u0631\\u0649 \\u0645\\u062A\\u0635\\u0641\\u062D PayPal \\u0627\\u0644\\u0622\\u0645\\u0646\\u061F \\u0633\\u0646\\u0633\\u0627\\u0639\\u062F\\u0643 \\u0641\\u064A \\u0625\\u0639\\u0627\\u062F\\u0629 \\u0641\\u062A\\u062D \\u0627\\u0644\\u0646\\u0627\\u0641\\u0630\\u0629 \\u0644\\u0627\\u0633\\u062A\\u0643\\u0645\\u0627\\u0644 \\u0645\\u0634\\u062A\\u0631\\u064A\\u0627\\u062A\\u0643. \\u00A0 ',\n 'continue': '\\u0645\\u062A\\u0627\\u0628\\u0639\\u0629'\n },\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'AD': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'CN': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u4ED8\\u6B3E\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n }\n },\n 'GB': {\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas le navigateur s\\u00E9curis\\u00E9 PayPal\\u00A0? Nous allons vous aider \\u00E0 relancer la fen\\u00EAtre pour effectuer votre achat.\\u00A0 ',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\'ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'AR': {\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n }\n },\n 'US': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat. ',\n 'continue': 'Continuer'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda completar su compra. ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Click to Continue'\n }\n },\n 'VN': {\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your payment. ',\n 'continue': 'Continue'\n }\n },\n 'UA': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'ru': {\n 'windowMessage': '\\u041D\\u0435 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u0431\\u0435\\u0437\\u043E\\u043F\\u0430\\u0441\\u043D\\u0430\\u044F \\u0441\\u0442\\u0440\\u0430\\u043D\\u0438\\u0446\\u0430 PayPal \\u0432 \\u0431\\u0440\\u0430\\u0443\\u0437\\u0435\\u0440\\u0435? \\u041C\\u044B \\u043F\\u043E\\u043C\\u043E\\u0436\\u0435\\u043C \\u0432\\u0430\\u043C \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u043D\\u043E \\u0437\\u0430\\u0433\\u0440\\u0443\\u0437\\u0438\\u0442\\u044C \\u043E\\u043A\\u043D\\u043E, \\u0447\\u0442\\u043E\\u0431\\u044B \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0438\\u0442\\u044C \\u043F\\u043E\\u043A\\u0443\\u043F\\u043A\\u0443.\\u00A0 ',\n 'continue': '\\u041F\\u0440\\u043E\\u0434\\u043E\\u043B\\u0436\\u0438\\u0442\\u044C'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'TW': {\n 'zh': {\n 'windowMessage': '\\u770B\\u4E0D\\u5230\\u5B89\\u5168\\u9023\\u7DDA\\u7684 PayPal \\u700F\\u89BD\\u5668\\uFF1F\\u6211\\u5011\\u5C07\\u6703\\u91CD\\u65B0\\u555F\\u52D5\\u8996\\u7A97\\u4EE5\\u5B8C\\u6210\\u4ED8\\u6B3E\\u3002\\u00A0 ',\n 'continue': '\\u7E7C\\u7E8C'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your payment.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'TR': {\n 'tr': {\n 'windowMessage': 'G\\u00FCvenli PayPal taray\\u0131c\\u0131s\\u0131n\\u0131 g\\u00F6rm\\u00FCyor musunuz? Al\\u0131\\u015Fveri\\u015Finizi tamamlamak i\\u00E7in pencereyi yeniden ba\\u015Flatman\\u0131za yard\\u0131mc\\u0131 olaca\\u011F\\u0131z.\\u00A0 ',\n 'continue': 'Devam'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'TH': {\n 'th': {\n 'windowMessage': '\\u0E16\\u0E49\\u0E32\\u0E04\\u0E38\\u0E13\\u0E44\\u0E21\\u0E48\\u0E40\\u0E2B\\u0E47\\u0E19\\u0E40\\u0E1A\\u0E23\\u0E32\\u0E27\\u0E4C\\u0E40\\u0E0B\\u0E2D\\u0E23\\u0E4C\\u0E17\\u0E35\\u0E48\\u0E21\\u0E35\\u0E23\\u0E30\\u0E1A\\u0E1A\\u0E04\\u0E27\\u0E32\\u0E21\\u0E1B\\u0E25\\u0E2D\\u0E14\\u0E20\\u0E31\\u0E22\\u0E02\\u0E2D\\u0E07 PayPal \\u0E40\\u0E23\\u0E32\\u0E08\\u0E30\\u0E0A\\u0E48\\u0E27\\u0E22\\u0E04\\u0E38\\u0E13\\u0E40\\u0E1B\\u0E34\\u0E14\\u0E2B\\u0E19\\u0E49\\u0E32\\u0E15\\u0E48\\u0E32\\u0E07\\u0E2D\\u0E35\\u0E01\\u0E04\\u0E23\\u0E31\\u0E49\\u0E07\\u0E40\\u0E1E\\u0E37\\u0E48\\u0E2D\\u0E0A\\u0E33\\u0E23\\u0E30\\u0E40\\u0E07\\u0E34\\u0E19\\u0E43\\u0E2B\\u0E49\\u0E40\\u0E23\\u0E35\\u0E22\\u0E1A\\u0E23\\u0E49\\u0E2D\\u0E22 ',\n 'continue': '\\u0E14\\u0E33\\u0E40\\u0E19\\u0E34\\u0E19\\u0E01\\u0E32\\u0E23\\u0E15\\u0E48\\u0E2D'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your payment.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'SK': {\n 'sk': {\n 'windowMessage': 'Nezobrazuje sa v\\u00e1m zabezpe\\u010den\\u00fd prehliada\\u010d PayPal? Pom\\u00f4\\u017eeme v\\u00e1m znova otvori\\u0165 okno, aby ste mohli n\\u00e1kup dokon\\u010di\\u0165.\\u00A0 ',\n 'continue': 'Pokra\\u010dova\\u0165'\n },\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'SI': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'SG': {\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your payment.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'SE': {\n 'sv': {\n 'windowMessage': 'Ser du inte den s\\u00E4kra PayPal-webbl\\u00E4saren? Vi hj\\u00E4lper dig att starta om f\\u00F6nstret f\\u00F6r att slutf\\u00F6ra ditt k\\u00F6p. ',\n 'continue': 'Forts\\u00E4tt'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'RU': {\n 'ru': {\n 'windowMessage': '\\u041D\\u0435 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u0431\\u0435\\u0437\\u043E\\u043F\\u0430\\u0441\\u043D\\u0430\\u044F \\u0441\\u0442\\u0440\\u0430\\u043D\\u0438\\u0446\\u0430 PayPal \\u0432 \\u0431\\u0440\\u0430\\u0443\\u0437\\u0435\\u0440\\u0435? \\u041C\\u044B \\u043F\\u043E\\u043C\\u043E\\u0436\\u0435\\u043C \\u0432\\u0430\\u043C \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u043D\\u043E \\u0437\\u0430\\u0433\\u0440\\u0443\\u0437\\u0438\\u0442\\u044C \\u043E\\u043A\\u043D\\u043E, \\u0447\\u0442\\u043E\\u0431\\u044B \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0438\\u0442\\u044C \\u043F\\u043E\\u043A\\u0443\\u043F\\u043A\\u0443.',\n 'continue': '\\u041F\\u0440\\u043E\\u0434\\u043E\\u043B\\u0436\\u0438\\u0442\\u044C'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'RO': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'PT': {\n 'pt': {\n 'windowMessage': 'N\\u00E3o v\\u00EA a indica\\u00E7\\u00E3o de sess\\u00E3o segura PayPal no browser? Vamos ajudar a reabrir a janela para que possa concluir a sua compra.',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'PL': {\n 'pl': {\n 'windowMessage': 'Nie widzisz bezpiecznej przegl\\u0105darki PayPal? Pomo\\u017Cemy Ci ponownie uruchomi\\u0107 to okno w celu dokonania zakupu.\\u00A0 ',\n 'continue': 'Kontynuuj'\n },\n 'en': {\n 'windowMessage': 'You don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'PH': {\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your payment.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'NZ': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u4ED8\\u6B3E\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 relancer la fen\\u00EAtre pour effectuer votre paiement.',\n 'continue': 'Continuer'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Le ayudaremos a abrir de nuevo la ventana para completar su pago.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your payment.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'NO': {\n 'no': {\n 'windowMessage': 'Ser du ikke den sikre PayPal-nettleseren? Vi hjelper deg med \\u00E5 starte vinduet p\\u00E5 nytt s\\u00E5 du kan fullf\\u00F8re kj\\u00F8pet.\\u00A0 ',\n 'continue': 'Fortsett'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'NL': {\n 'nl': {\n 'windowMessage': 'Ziet u geen beveiligde PayPal-browser? We helpen u het venster opnieuw te openen om uw aankoop te voltooien.\\u00A0 ',\n 'continue': 'Doorgaan'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'MY': {\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your payment.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'MX': {\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda completar su compra. ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'LV': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'ru': {\n 'windowMessage': '\\u041D\\u0435 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u0431\\u0435\\u0437\\u043E\\u043F\\u0430\\u0441\\u043D\\u0430\\u044F \\u0441\\u0442\\u0440\\u0430\\u043D\\u0438\\u0446\\u0430 PayPal \\u0432 \\u0431\\u0440\\u0430\\u0443\\u0437\\u0435\\u0440\\u0435? \\u041C\\u044B \\u043F\\u043E\\u043C\\u043E\\u0436\\u0435\\u043C \\u0432\\u0430\\u043C \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u043D\\u043E \\u0437\\u0430\\u0433\\u0440\\u0443\\u0437\\u0438\\u0442\\u044C \\u043E\\u043A\\u043D\\u043E, \\u0447\\u0442\\u043E\\u0431\\u044B \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0438\\u0442\\u044C \\u043F\\u043E\\u043A\\u0443\\u043F\\u043A\\u0443.\\u00A0 ',\n 'continue': '\\u041F\\u0440\\u043E\\u0434\\u043E\\u043B\\u0436\\u0438\\u0442\\u044C'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'LU': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'de': {\n 'windowMessage': 'Das PayPal-Fenster wird nicht angezeigt? Hier k\\u00F6nnen Sie es wieder \\u00F6ffnen und Ihren Einkauf abschlie\\u00DFen.',\n 'continue': 'Weiter'\n }\n },\n 'LT': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'ru': {\n 'windowMessage': '\\u041D\\u0435 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u0431\\u0435\\u0437\\u043E\\u043F\\u0430\\u0441\\u043D\\u0430\\u044F \\u0441\\u0442\\u0440\\u0430\\u043D\\u0438\\u0446\\u0430 PayPal \\u0432 \\u0431\\u0440\\u0430\\u0443\\u0437\\u0435\\u0440\\u0435? \\u041C\\u044B \\u043F\\u043E\\u043C\\u043E\\u0436\\u0435\\u043C \\u0432\\u0430\\u043C \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u043D\\u043E \\u0437\\u0430\\u0433\\u0440\\u0443\\u0437\\u0438\\u0442\\u044C \\u043E\\u043A\\u043D\\u043E, \\u0447\\u0442\\u043E\\u0431\\u044B \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0438\\u0442\\u044C \\u043F\\u043E\\u043A\\u0443\\u043F\\u043A\\u0443.\\u00A0 ',\n 'continue': '\\u041F\\u0440\\u043E\\u0434\\u043E\\u043B\\u0436\\u0438\\u0442\\u044C'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'KR': {\n 'ko': {\n 'windowMessage': '\\uBCF4\\uC548 PayPal \\uBE0C\\uB77C\\uC6B0\\uC800\\uAC00 \\uBCF4\\uC774\\uC9C0 \\uC54A\\uC73C\\uC2E0\\uAC00\\uC694? \\uCC3D\\uC744 \\uB2E4\\uC2DC \\uC2E4\\uD589\\uD558\\uC5EC \\uACB0\\uC81C\\uB97C \\uC644\\uB8CC\\uD560 \\uC218 \\uC788\\uB3C4\\uB85D \\uB3C4\\uC640\\uB4DC\\uB9AC\\uACA0\\uC2B5\\uB2C8\\uB2E4.\\u00A0 ',\n 'continue': '\\uACC4\\uC18D'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your payment.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'JP': {\n 'ja': {\n 'windowMessage': '\\u30BB\\u30AD\\u30E5\\u30A2\\u306A\\u30D6\\u30E9\\u30A6\\u30B6\\u304C\\u8868\\u793A\\u3055\\u308C\\u306A\\u3044\\u5834\\u5408\\u306F\\u3001\\u30A6\\u30A3\\u30F3\\u30C9\\u30A6\\u3092\\u518D\\u8D77\\u52D5\\u3057\\u3066\\u3001\\u652F\\u6255\\u3044\\u3092\\u5B8C\\u4E86\\u3067\\u304D\\u308B\\u3088\\u3046\\u304A\\u624B\\u4F1D\\u3044\\u3044\\u305F\\u3057\\u307E\\u3059\\u3002',\n 'continue': '\\u7D9A\\u884C'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your payment. ',\n 'continue': 'Continue'\n }\n },\n 'IT': {\n 'it': {\n 'windowMessage': 'Non vedi la pagina sicura di PayPal? Ti aiuteremo a riaprire la finestra per completare l\\'acquisto.\\u00A0 ',\n 'continue': 'Continua'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'IN': {\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'IL': {\n 'he': {\n 'windowMessage': '\\u05DC\\u05D0 \\u05E8\\u05D5\\u05D0\\u05D4 \\u05D0\\u05EA \\u05D3\\u05E4\\u05D3\\u05E4\\u05DF PayPal \\u05D4\\u05DE\\u05D0\\u05D5\\u05D1\\u05D8\\u05D7? \\u05E0\\u05E2\\u05D6\\u05D5\\u05E8 \\u05DC\\u05DA \\u05DC\\u05E4\\u05EA\\u05D5\\u05D7 \\u05DE\\u05D7\\u05D3\\u05E9 \\u05D0\\u05EA \\u05D4\\u05D7\\u05DC\\u05D5\\u05DF \\u05DB\\u05D3\\u05D9 \\u05DC\\u05D4\\u05E9\\u05DC\\u05D9\\u05DD \\u05D0\\u05EA \\u05D4\\u05E7\\u05E0\\u05D9\\u05D9\\u05D4 \\u05E9\\u05DC\\u05DA.\\u00A0 ',\n 'continue': '\\u05D4\\u05DE\\u05E9\\u05DA'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'IE': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'HU': {\n 'hu': {\n 'windowMessage': 'Nem l\\u00e1tja a biztons\\u00e1gos PayPal-b\\u00f6ng\\u00e9sz\\u0151t? Seg\\u00edt\\u00fcnk \\u00fajra bet\\u00f6lteni az ablakot, hogy befejezhesse a v\\u00e1s\\u00e1rl\\u00e1st.\\u00A0 ',\n 'continue': 'Folytat\\u00e1s'\n },\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'ID': {\n 'id': {\n 'windowMessage': 'Browser PayPal yang aman tidak terlihat? Kami akan membantu menampilkan ulang jendela untuk menyelesaikan pembayaran Anda.\\u00A0 ',\n 'continue': 'Lanjutkan'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your payment.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'HK': {\n 'zh': {\n 'windowMessage': '\\u770B\\u4E0D\\u5230\\u5B89\\u5168\\u7684 PayPal \\u700F\\u89BD\\u5668\\u8996\\u7A97\\uFF1F\\u6211\\u5011\\u6703\\u52A9\\u4F60\\u91CD\\u65B0\\u958B\\u555F\\u8996\\u7A97\\uFF0C\\u4EE5\\u5B8C\\u6210\\u4ED8\\u6B3E\\u3002',\n 'continue': '\\u7E7C\\u7E8C'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your payment.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'GROUP-LATAM': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u770B\\u5230PayPal\\u4ED8\\u6B3E\\u9875\\u9762\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas la page de Paiement PayPal ? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo puede ver la p\\u00E1gina de pago de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the PayPal payment page? We\\u2019ll help you re-launch the window to complete your purchase.',\n 'continue': 'Continue'\n }\n },\n 'GROUP-EMEA': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'ru': {\n 'windowMessage': '\\u041D\\u0435 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u0431\\u0435\\u0437\\u043E\\u043F\\u0430\\u0441\\u043D\\u0430\\u044F \\u0441\\u0442\\u0440\\u0430\\u043D\\u0438\\u0446\\u0430 PayPal \\u0432 \\u0431\\u0440\\u0430\\u0443\\u0437\\u0435\\u0440\\u0435? \\u041C\\u044B \\u043F\\u043E\\u043C\\u043E\\u0436\\u0435\\u043C \\u0432\\u0430\\u043C \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u043D\\u043E \\u0437\\u0430\\u0433\\u0440\\u0443\\u0437\\u0438\\u0442\\u044C \\u043E\\u043A\\u043D\\u043E, \\u0447\\u0442\\u043E\\u0431\\u044B \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0438\\u0442\\u044C \\u043F\\u043E\\u043A\\u0443\\u043F\\u043A\\u0443.\\u00A0 ',\n 'continue': '\\u041F\\u0440\\u043E\\u0434\\u043E\\u043B\\u0436\\u0438\\u0442\\u044C'\n },\n 'pt': {\n 'windowMessage': 'N\\u00E3o v\\u00EA a indica\\u00E7\\u00E3o de sess\\u00E3o segura PayPal no browser? Vamos ajudar a reabrir a janela para que possa concluir a sua compra.',\n 'continue': 'Continuar'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'de': {\n 'windowMessage': 'Sie sehen das sichere Browserfenster von PayPal nicht? Hier k\\u00F6nnen Sie es wieder \\u00F6ffnen und Ihren Einkauf abschlie\\u00DFen.',\n 'continue': 'Weiter'\n },\n 'da': {\n 'windowMessage': 'Kan du ikke se PayPals sikre browser? Vi hj\\u00E6lper dig med at genstarte vinduet, s\\u00E5 du kan betale.',\n 'continue': 'Forts\\u00E6t'\n },\n 'ar': {\n 'windowMessage': '\\u0644\\u0627 \\u062A\\u0631\\u0649 \\u0645\\u062A\\u0635\\u0641\\u062D PayPal \\u0627\\u0644\\u0622\\u0645\\u0646\\u061F \\u0633\\u0646\\u0633\\u0627\\u0639\\u062F\\u0643 \\u0641\\u064A \\u0625\\u0639\\u0627\\u062F\\u0629 \\u0641\\u062A\\u062D \\u0627\\u0644\\u0646\\u0627\\u0641\\u0630\\u0629 \\u0644\\u0627\\u0633\\u062A\\u0643\\u0645\\u0627\\u0644 \\u0645\\u0634\\u062A\\u0631\\u064A\\u0627\\u062A\\u0643. \\u00A0 ',\n 'continue': '\\u0645\\u062A\\u0627\\u0628\\u0639\\u0629'\n }\n },\n 'GROUP-APAC': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'ko': {\n 'windowMessage': '\\uBCF4\\uC548 PayPal \\uBE0C\\uB77C\\uC6B0\\uC800\\uAC00 \\uBCF4\\uC774\\uC9C0 \\uC54A\\uC73C\\uC2E0\\uAC00\\uC694? \\uCC3D\\uC744 \\uB2E4\\uC2DC \\uC2E4\\uD589\\uD558\\uC5EC \\uAD6C\\uB9E4\\uB97C \\uC644\\uB8CC\\uD560 \\uC218 \\uC788\\uB3C4\\uB85D \\uB3C4\\uC640\\uB4DC\\uB9AC\\uACA0\\uC2B5\\uB2C8\\uB2E4. ',\n 'continue': '\\uACC4\\uC18D'\n },\n 'id': {\n 'windowMessage': 'Browser PayPal yang aman tidak terlihat? Kami akan membantu menampilkan ulang jendela untuk menyelesaikan pembelian Anda. ',\n 'continue': 'Lanjutkan'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat. ',\n 'continue': 'Continuer'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda completar su compra. ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\u2019t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase. ',\n 'continue': 'Continue'\n }\n },\n 'GR': {\n 'el': {\n 'windowMessage': '\\u0394\\u03b5\\u03bd \\u03b2\\u03bb\\u03ad\\u03c0\\u03b5\\u03c4\\u03b5 \\u03c4\\u03bf \\u03b1\\u03c3\\u03c6\\u03b1\\u03bb\\u03ad\\u03c2 \\u03c0\\u03c1\\u03cc\\u03b3\\u03c1\\u03b1\\u03bc\\u03bc\\u03b1 \\u03c0\\u03b5\\u03c1\\u03b9\\u03ae\\u03b3\\u03b7\\u03c3\\u03b7\\u03c2 PayPal; \\u0398\\u03b1 \\u03c3\\u03b1\\u03c2 \\u03b2\\u03bf\\u03b7\\u03b8\\u03ae\\u03c3\\u03bf\\u03c5\\u03bc\\u03b5 \\u03bd\\u03b1 \\u03b5\\u03c0\\u03b1\\u03bd\\u03b5\\u03ba\\u03ba\\u03b9\\u03bd\\u03ae\\u03c3\\u03b5\\u03c4\\u03b5 \\u03c4\\u03bf \\u03c0\\u03b1\\u03c1\\u03ac\\u03b8\\u03c5\\u03c1\\u03bf \\u03b3\\u03b9\\u03b1 \\u03bd\\u03b1 \\u03bf\\u03bb\\u03bf\\u03ba\\u03bb\\u03b7\\u03c1\\u03ce\\u03c3\\u03b5\\u03c4\\u03b5 \\u03c4\\u03b7\\u03bd \\u03b1\\u03b3\\u03bf\\u03c1\\u03ac \\u03c3\\u03b1\\u03c2.\\u00A0 ',\n 'continue': '\\u03a3\\u03c5\\u03bd\\u03ad\\u03c7\\u03b5\\u03b9\\u03b1'\n },\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'FR': {\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas le navigateur s\\u00E9curis\\u00E9 PayPal\\u00A0? Nous allons vous aider \\u00E0 relancer la fen\\u00EAtre pour effectuer votre achat.\\u00A0 ',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'ES': {\n 'es': {\n 'windowMessage': '\\u00BFNo ve el s\\u00EDmbolo de navegaci\\u00F3n segura de PayPal? Le ayudaremos a abrir de nuevo la ventana para completar la compra. ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'FI': {\n 'fi': {\n 'windowMessage': 'Eik\\u00f6 suojattua PayPal-selainta n\\u00e4y? Autamme avaamaan ikkunan uudelleen oston viimeistely\\u00e4 varten.\\u00A0 ',\n 'continue': 'Jatka'\n },\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'EE': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'ru': {\n 'windowMessage': '\\u041D\\u0435 \\u043E\\u0442\\u043E\\u0431\\u0440\\u0430\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F \\u0431\\u0435\\u0437\\u043E\\u043F\\u0430\\u0441\\u043D\\u0430\\u044F \\u0441\\u0442\\u0440\\u0430\\u043D\\u0438\\u0446\\u0430 PayPal \\u0432 \\u0431\\u0440\\u0430\\u0443\\u0437\\u0435\\u0440\\u0435? \\u041C\\u044B \\u043F\\u043E\\u043C\\u043E\\u0436\\u0435\\u043C \\u0432\\u0430\\u043C \\u043F\\u043E\\u0432\\u0442\\u043E\\u0440\\u043D\\u043E \\u0437\\u0430\\u0433\\u0440\\u0443\\u0437\\u0438\\u0442\\u044C \\u043E\\u043A\\u043D\\u043E, \\u0447\\u0442\\u043E\\u0431\\u044B \\u0437\\u0430\\u0432\\u0435\\u0440\\u0448\\u0438\\u0442\\u044C \\u043F\\u043E\\u043A\\u0443\\u043F\\u043A\\u0443.\\u00A0 ',\n 'continue': '\\u041F\\u0440\\u043E\\u0434\\u043E\\u043B\\u0436\\u0438\\u0442\\u044C'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'DK': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'da': {\n 'windowMessage': 'Kan du ikke se PayPals sikre browser? Vi hj\\u00E6lper dig med at genstarte vinduet, s\\u00E5 du kan betale.',\n 'continue': 'Forts\\u00E6t'\n }\n },\n 'CZ': {\n 'cs': {\n 'windowMessage': 'Nezobrazuje se v\\u00e1m bezpe\\u010dn\\u00fd prohl\\u00ed\\u017ee\\u010d PayPal? Pom\\u016f\\u017eeme v\\u00e1m okno znovu otev\\u0159\\u00edt, abyste mohli n\\u00e1kup dokon\\u010dit.',\n 'continue': 'Pokra\\u010dovat'\n },\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u8D2D\\u7269\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'fr': {\n 'windowMessage': 'Le navigateur s\\u00E9curis\\u00E9 de PayPal n\\'appara\\u00EEt pas\\u00A0? Nous allons vous aider \\u00E0 rouvrir la fen\\u00EAtre pour finaliser votre achat.',\n 'continue': 'Continuer'\n },\n 'es': {\n 'windowMessage': '\\u00BFNo ve el navegador seguro de PayPal? Abriremos la ventana nuevamente para que pueda concluir su compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'DE': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'de': {\n 'windowMessage': 'Sie sehen das sichere Browserfenster von PayPal nicht? Hier k\\u00F6nnen Sie es wieder \\u00F6ffnen und Ihren Einkauf abschlie\\u00DFen.',\n 'continue': 'Weiter'\n }\n },\n 'CH': {\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas le navigateur s\\u00E9curis\\u00E9 PayPal\\u00A0? Nous allons vous aider \\u00E0 relancer la fen\\u00EAtre pour effectuer votre achat.\\u00A0 ',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n },\n 'de': {\n 'windowMessage': 'Sie sehen das sichere Browserfenster von PayPal nicht? Hier k\\u00F6nnen Sie es wieder \\u00F6ffnen und Ihren Einkauf abschlie\\u00DFen.',\n 'continue': 'Weiter'\n }\n },\n 'CA': {\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas le navigateur s\\u00E9curis\\u00E9 de PayPal\\u00A0? Nous vous aiderons \\u00E0 relancer la fen\\u00EAtre afin d\\'effectuer votre achat.\\u00A0 ',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you relaunch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'C2': {\n 'zh': {\n 'windowMessage': '\\u6CA1\\u6709\\u627E\\u5230\\u5B89\\u5168\\u7684PayPal\\u6D4F\\u89C8\\u5668\\uFF1F\\u6211\\u4EEC\\u5C06\\u5E2E\\u52A9\\u60A8\\u91CD\\u542F\\u7A97\\u53E3\\u4EE5\\u5B8C\\u6210\\u4ED8\\u6B3E\\u3002\\u00A0 ',\n 'continue': '\\u7EE7\\u7EED'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your payment.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'BE': {\n 'nl': {\n 'windowMessage': 'Ziet u de beveiligde PayPal-browser niet? We helpen u het venster opnieuw te openen om uw aankoop te voltooien.\\u00A0 ',\n 'continue': 'Doorgaan'\n },\n 'fr': {\n 'windowMessage': 'Vous ne voyez pas le navigateur s\\u00E9curis\\u00E9 PayPal\\u00A0? Nous allons vous aider \\u00E0 relancer la fen\\u00EAtre pour effectuer votre achat.\\u00A0 ',\n 'continue': 'Continuer'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'BR': {\n 'pt': {\n 'windowMessage': 'N\\u00E3o est\\u00E1 vendo o navegador seguro do PayPal? Ajudaremos voc\\u00EA a reabrir a janela para concluir a compra.\\u00A0 ',\n 'continue': 'Continuar'\n },\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\u2019ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n },\n 'AU': {\n 'en': {\n 'windowMessage': 'Don\\'t see the secure PayPal browser? We\\'ll help you re-launch the window to complete your purchase.\\u00A0 ',\n 'continue': 'Continue'\n }\n }\n};\n","/*\n * [hi-base32]{@link https://github.com/emn178/hi-base32}\n *\n * @version 0.5.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2015-2018\n * @license MIT\n */\n/*jslint bitwise: true */\n(function () {\n 'use strict';\n\n var root = typeof window === 'object' ? window : {};\n var NODE_JS = !root.HI_BASE32_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n }\n var COMMON_JS = !root.HI_BASE32_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var BASE32_ENCODE_CHAR = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'.split('');\n var BASE32_DECODE_CHAR = {\n 'A': 0, 'B': 1, 'C': 2, 'D': 3, 'E': 4, 'F': 5, 'G': 6, 'H': 7, 'I': 8,\n 'J': 9, 'K': 10, 'L': 11, 'M': 12, 'N': 13, 'O': 14, 'P': 15, 'Q': 16,\n 'R': 17, 'S': 18, 'T': 19, 'U': 20, 'V': 21, 'W': 22, 'X': 23, 'Y': 24,\n 'Z': 25, '2': 26, '3': 27, '4': 28, '5': 29, '6': 30, '7': 31\n };\n\n var blocks = [0, 0, 0, 0, 0, 0, 0, 0];\n\n var throwInvalidUtf8 = function (position, partial) {\n if (partial.length > 10) {\n partial = '...' + partial.substr(-10);\n }\n var err = new Error('Decoded data is not valid UTF-8.'\n + ' Maybe try base32.decode.asBytes()?'\n + ' Partial data after reading ' + position + ' bytes: ' + partial + ' <-');\n err.position = position;\n throw err;\n };\n\n var toUtf8String = function (bytes) {\n var str = '', length = bytes.length, i = 0, followingChars = 0, b, c;\n while (i < length) {\n b = bytes[i++];\n if (b <= 0x7F) {\n str += String.fromCharCode(b);\n continue;\n } else if (b > 0xBF && b <= 0xDF) {\n c = b & 0x1F;\n followingChars = 1;\n } else if (b <= 0xEF) {\n c = b & 0x0F;\n followingChars = 2;\n } else if (b <= 0xF7) {\n c = b & 0x07;\n followingChars = 3;\n } else {\n throwInvalidUtf8(i, str);\n }\n\n for (var j = 0; j < followingChars; ++j) {\n b = bytes[i++];\n if (b < 0x80 || b > 0xBF) {\n throwInvalidUtf8(i, str);\n }\n c <<= 6;\n c += b & 0x3F;\n }\n if (c >= 0xD800 && c <= 0xDFFF) {\n throwInvalidUtf8(i, str);\n }\n if (c > 0x10FFFF) {\n throwInvalidUtf8(i, str);\n }\n\n if (c <= 0xFFFF) {\n str += String.fromCharCode(c);\n } else {\n c -= 0x10000;\n str += String.fromCharCode((c >> 10) + 0xD800);\n str += String.fromCharCode((c & 0x3FF) + 0xDC00);\n }\n }\n return str;\n };\n\n var decodeAsBytes = function (base32Str) {\n if (base32Str === '') {\n return [];\n } else if (!/^[A-Z2-7=]+$/.test(base32Str)) {\n throw new Error('Invalid base32 characters');\n }\n base32Str = base32Str.replace(/=/g, '');\n var v1, v2, v3, v4, v5, v6, v7, v8, bytes = [], index = 0, length = base32Str.length;\n\n // 4 char to 3 bytes\n for (var i = 0, count = length >> 3 << 3; i < count;) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v5 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v6 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v7 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v8 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n bytes[index++] = (v1 << 3 | v2 >>> 2) & 255;\n bytes[index++] = (v2 << 6 | v3 << 1 | v4 >>> 4) & 255;\n bytes[index++] = (v4 << 4 | v5 >>> 1) & 255;\n bytes[index++] = (v5 << 7 | v6 << 2 | v7 >>> 3) & 255;\n bytes[index++] = (v7 << 5 | v8) & 255;\n }\n\n // remain bytes\n var remain = length - count;\n if (remain === 2) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n bytes[index++] = (v1 << 3 | v2 >>> 2) & 255;\n } else if (remain === 4) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n bytes[index++] = (v1 << 3 | v2 >>> 2) & 255;\n bytes[index++] = (v2 << 6 | v3 << 1 | v4 >>> 4) & 255;\n } else if (remain === 5) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v5 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n bytes[index++] = (v1 << 3 | v2 >>> 2) & 255;\n bytes[index++] = (v2 << 6 | v3 << 1 | v4 >>> 4) & 255;\n bytes[index++] = (v4 << 4 | v5 >>> 1) & 255;\n } else if (remain === 7) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v5 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v6 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v7 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n bytes[index++] = (v1 << 3 | v2 >>> 2) & 255;\n bytes[index++] = (v2 << 6 | v3 << 1 | v4 >>> 4) & 255;\n bytes[index++] = (v4 << 4 | v5 >>> 1) & 255;\n bytes[index++] = (v5 << 7 | v6 << 2 | v7 >>> 3) & 255;\n }\n return bytes;\n };\n\n var encodeAscii = function (str) {\n var v1, v2, v3, v4, v5, base32Str = '', length = str.length;\n for (var i = 0, count = parseInt(length / 5) * 5; i < count;) {\n v1 = str.charCodeAt(i++);\n v2 = str.charCodeAt(i++);\n v3 = str.charCodeAt(i++);\n v4 = str.charCodeAt(i++);\n v5 = str.charCodeAt(i++);\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] +\n BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] +\n BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +\n BASE32_ENCODE_CHAR[(v4 << 3 | v5 >>> 5) & 31] +\n BASE32_ENCODE_CHAR[v5 & 31];\n }\n\n // remain char\n var remain = length - count;\n if (remain === 1) {\n v1 = str.charCodeAt(i);\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2) & 31] +\n '======';\n } else if (remain === 2) {\n v1 = str.charCodeAt(i++);\n v2 = str.charCodeAt(i);\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4) & 31] +\n '====';\n } else if (remain === 3) {\n v1 = str.charCodeAt(i++);\n v2 = str.charCodeAt(i++);\n v3 = str.charCodeAt(i);\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] +\n BASE32_ENCODE_CHAR[(v3 << 1) & 31] +\n '===';\n } else if (remain === 4) {\n v1 = str.charCodeAt(i++);\n v2 = str.charCodeAt(i++);\n v3 = str.charCodeAt(i++);\n v4 = str.charCodeAt(i);\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] +\n BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] +\n BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +\n BASE32_ENCODE_CHAR[(v4 << 3) & 31] +\n '=';\n }\n return base32Str;\n };\n\n var encodeUtf8 = function (str) {\n var v1, v2, v3, v4, v5, code, end = false, base32Str = '',\n index = 0, i, start = 0, bytes = 0, length = str.length;\n if (str === '') {\n return base32Str;\n }\n do {\n blocks[0] = blocks[5];\n blocks[1] = blocks[6];\n blocks[2] = blocks[7];\n for (i = start; index < length && i < 5; ++index) {\n code = str.charCodeAt(index);\n if (code < 0x80) {\n blocks[i++] = code;\n } else if (code < 0x800) {\n blocks[i++] = 0xc0 | (code >> 6);\n blocks[i++] = 0x80 | (code & 0x3f);\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i++] = 0xe0 | (code >> 12);\n blocks[i++] = 0x80 | ((code >> 6) & 0x3f);\n blocks[i++] = 0x80 | (code & 0x3f);\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (str.charCodeAt(++index) & 0x3ff));\n blocks[i++] = 0xf0 | (code >> 18);\n blocks[i++] = 0x80 | ((code >> 12) & 0x3f);\n blocks[i++] = 0x80 | ((code >> 6) & 0x3f);\n blocks[i++] = 0x80 | (code & 0x3f);\n }\n }\n bytes += i - start;\n start = i - 5;\n if (index === length) {\n ++index;\n }\n if (index > length && i < 6) {\n end = true;\n }\n v1 = blocks[0];\n if (i > 4) {\n v2 = blocks[1];\n v3 = blocks[2];\n v4 = blocks[3];\n v5 = blocks[4];\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] +\n BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] +\n BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +\n BASE32_ENCODE_CHAR[(v4 << 3 | v5 >>> 5) & 31] +\n BASE32_ENCODE_CHAR[v5 & 31];\n } else if (i === 1) {\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2) & 31] +\n '======';\n } else if (i === 2) {\n v2 = blocks[1];\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4) & 31] +\n '====';\n } else if (i === 3) {\n v2 = blocks[1];\n v3 = blocks[2];\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] +\n BASE32_ENCODE_CHAR[(v3 << 1) & 31] +\n '===';\n } else {\n v2 = blocks[1];\n v3 = blocks[2];\n v4 = blocks[3];\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] +\n BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] +\n BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +\n BASE32_ENCODE_CHAR[(v4 << 3) & 31] +\n '=';\n }\n } while (!end);\n return base32Str;\n };\n\n var encodeBytes = function (bytes) {\n var v1, v2, v3, v4, v5, base32Str = '', length = bytes.length;\n for (var i = 0, count = parseInt(length / 5) * 5; i < count;) {\n v1 = bytes[i++];\n v2 = bytes[i++];\n v3 = bytes[i++];\n v4 = bytes[i++];\n v5 = bytes[i++];\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] +\n BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] +\n BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +\n BASE32_ENCODE_CHAR[(v4 << 3 | v5 >>> 5) & 31] +\n BASE32_ENCODE_CHAR[v5 & 31];\n }\n\n // remain char\n var remain = length - count;\n if (remain === 1) {\n v1 = bytes[i];\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2) & 31] +\n '======';\n } else if (remain === 2) {\n v1 = bytes[i++];\n v2 = bytes[i];\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4) & 31] +\n '====';\n } else if (remain === 3) {\n v1 = bytes[i++];\n v2 = bytes[i++];\n v3 = bytes[i];\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] +\n BASE32_ENCODE_CHAR[(v3 << 1) & 31] +\n '===';\n } else if (remain === 4) {\n v1 = bytes[i++];\n v2 = bytes[i++];\n v3 = bytes[i++];\n v4 = bytes[i];\n base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] +\n BASE32_ENCODE_CHAR[(v1 << 2 | v2 >>> 6) & 31] +\n BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +\n BASE32_ENCODE_CHAR[(v2 << 4 | v3 >>> 4) & 31] +\n BASE32_ENCODE_CHAR[(v3 << 1 | v4 >>> 7) & 31] +\n BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +\n BASE32_ENCODE_CHAR[(v4 << 3) & 31] +\n '=';\n }\n return base32Str;\n };\n\n var encode = function (input, asciiOnly) {\n var notString = typeof(input) !== 'string';\n if (notString && input.constructor === ArrayBuffer) {\n input = new Uint8Array(input);\n }\n if (notString) {\n return encodeBytes(input);\n } else if (asciiOnly) {\n return encodeAscii(input);\n } else {\n return encodeUtf8(input);\n }\n };\n\n var decode = function (base32Str, asciiOnly) {\n if (!asciiOnly) {\n return toUtf8String(decodeAsBytes(base32Str));\n }\n if (base32Str === '') {\n return '';\n } else if (!/^[A-Z2-7=]+$/.test(base32Str)) {\n throw new Error('Invalid base32 characters');\n }\n var v1, v2, v3, v4, v5, v6, v7, v8, str = '', length = base32Str.indexOf('=');\n if (length === -1) {\n length = base32Str.length;\n }\n\n // 8 char to 5 bytes\n for (var i = 0, count = length >> 3 << 3; i < count;) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v5 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v6 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v7 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v8 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255) +\n String.fromCharCode((v2 << 6 | v3 << 1 | v4 >>> 4) & 255) +\n String.fromCharCode((v4 << 4 | v5 >>> 1) & 255) +\n String.fromCharCode((v5 << 7 | v6 << 2 | v7 >>> 3) & 255) +\n String.fromCharCode((v7 << 5 | v8) & 255);\n }\n\n // remain bytes\n var remain = length - count;\n if (remain === 2) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255);\n } else if (remain === 4) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255) +\n String.fromCharCode((v2 << 6 | v3 << 1 | v4 >>> 4) & 255);\n } else if (remain === 5) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v5 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255) +\n String.fromCharCode((v2 << 6 | v3 << 1 | v4 >>> 4) & 255) +\n String.fromCharCode((v4 << 4 | v5 >>> 1) & 255);\n } else if (remain === 7) {\n v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v5 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v6 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n v7 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];\n str += String.fromCharCode((v1 << 3 | v2 >>> 2) & 255) +\n String.fromCharCode((v2 << 6 | v3 << 1 | v4 >>> 4) & 255) +\n String.fromCharCode((v4 << 4 | v5 >>> 1) & 255) +\n String.fromCharCode((v5 << 7 | v6 << 2 | v7 >>> 3) & 255);\n }\n return str;\n };\n\n var exports = {\n encode: encode,\n decode: decode\n };\n decode.asBytes = decodeAsBytes;\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n root.base32 = exports;\n if (AMD) {\n define(function() {\n return exports;\n });\n }\n }\n})();\n","/* @flow */\n\nimport type { Component, ComponentDriverType } from '../component/component';\n\nexport let script : ComponentDriverType<*, Document> = {\n\n global() : ?Document {\n return window.document;\n },\n\n register(component : Component<*>, document : Document) {\n\n function render(element : HTMLElement) {\n\n if (!element || !element.tagName || element.tagName.toLowerCase() !== 'script') {\n return;\n }\n\n // $FlowFixMe\n if (!element.attributes.type || element.attributes.type.value !== 'application/x-component' || !element.parentNode) {\n return;\n }\n\n let tag = element.getAttribute('data-component');\n\n if (!tag || tag !== component.tag) {\n return;\n }\n\n component.log(`instantiate_script_component_error`);\n\n throw new Error(`\n 'x-component' script type is no longer supported. \n Please migrate to another integration pattern.\n `);\n \n }\n\n function scan() {\n let scriptTags = Array.prototype.slice.call(document.getElementsByTagName('script'));\n\n for (let element of scriptTags) {\n render(element);\n }\n }\n\n scan();\n window.addEventListener('load', scan);\n }\n};\n","/* @flow */\n\nimport { extend } from '../lib';\nimport type { Component, ComponentDriverType } from '../component/component';\n\ndeclare class ReactClassType {\n\n}\n\ntype ReactElementType = {\n\n};\n\ntype ReactType = {\n createClass : ({ render : ReactElementType, componentDidMount : () => void, componentDidUpdate : () => void }) => (typeof ReactClassType),\n createElement : (string, ?{ [string] : mixed }, ...children : Array) => ReactElementType\n};\n\ntype ReactDomType = {\n findDOMNode : (ReactElementType) => HTMLElement\n};\n\ntype ReactLibraryType = { React : ReactType, ReactDOM : ReactDomType };\n\nexport let react : ComponentDriverType<*, ReactLibraryType> = {\n\n global() : ?ReactLibraryType {\n if (window.React && window.ReactDOM) {\n return {\n React: window.React,\n ReactDOM: window.ReactDOM\n };\n }\n },\n\n register(component : Component<*>, { React, ReactDOM } : ReactLibraryType) : (typeof ReactClassType) {\n\n if (React.createClass) {\n\n // $FlowFixMe\n component.react = React.createClass({\n\n render() : ReactElementType {\n return React.createElement('div', null);\n },\n\n componentDidMount() {\n component.log(`instantiate_react_component`);\n\n let el = ReactDOM.findDOMNode(this);\n\n let parent = component.init(extend({}, this.props), null, el);\n\n this.setState({ parent });\n\n parent.render(el);\n },\n\n componentDidUpdate() {\n\n if (this.state && this.state.parent) {\n this.state.parent.updateProps(extend({}, this.props));\n }\n },\n\n componentWillUnmount() {\n if (this.state && this.state.parent) {\n this.state.parent.destroy();\n }\n }\n });\n } else {\n // $FlowFixMe\n component.react = class extends React.Component {\n render() : ReactElementType {\n return React.createElement('div', null);\n }\n\n componentDidMount() {\n component.log(`instantiate_react_component`);\n\n let el = ReactDOM.findDOMNode(this);\n\n let parent = component.init(extend({}, this.props), null, el);\n\n this.setState({ parent });\n\n parent.render(el);\n }\n\n componentDidUpdate() {\n\n if (this.state && this.state.parent) {\n this.state.parent.updateProps(extend({}, this.props));\n }\n }\n\n componentWillUnmount() {\n if (this.state && this.state.parent) {\n this.state.parent.destroy();\n }\n }\n };\n }\n\n return component.react;\n }\n};\n","/* @flow */\n\nimport type { Component, ComponentDriverType } from '../component/component';\nimport { extend } from '../lib';\n\ntype VueComponent = {\n render : (Function) => Element,\n inheritAttrs : boolean,\n mounted : () => void,\n beforeUpdate : () => void\n};\n\nexport let vue : ComponentDriverType<*, void> = {\n\n global() {\n // pass\n },\n\n register

(component : Component

) : VueComponent {\n\n return {\n render(createElement) : Element {\n return createElement('div');\n },\n\n inheritAttrs: false,\n\n mounted() {\n let el = this.$el;\n\n // $FlowFixMe\n this.parent = component.init(extend({}, this.$attrs), null, el);\n\n this.parent.render(el);\n },\n\n beforeUpdate() {\n \n if (this.parent && this.$attrs) {\n this.parent.updateProps(extend({}, this.$attrs));\n }\n }\n };\n }\n};\n","/* @flow */\n\nimport { dasherizeToCamel, replaceObject } from '../lib';\nimport type { Component, ComponentDriverType } from '../component/component';\n\ntype AngularModule = {\n directive : (string, () => {\n scope : { [string] : '=' | '@' },\n restrict : string,\n controller : Array\n }) => AngularModule\n};\n\ntype Angular = {\n module : (string, Array) => AngularModule\n};\n\nexport let angular : ComponentDriverType<*, Angular> = {\n\n global() : ?Angular {\n return window.angular;\n },\n\n register(component : Component<*>, ng : Angular) : AngularModule {\n\n let module = ng.module(component.tag, []).directive(dasherizeToCamel(component.tag), () => {\n\n let scope = {};\n\n for (let key of component.getPropNames()) {\n scope[key] = '=';\n }\n\n if (component.looseProps) {\n scope.props = '=';\n }\n\n return {\n scope,\n\n restrict: 'E',\n\n controller: [ '$scope', '$element', ($scope, $element) => {\n\n if (component.looseProps && !$scope.props) {\n throw new Error(`For angular bindings to work, prop definitions must be passed to zoid.create`);\n }\n\n component.log(`instantiate_angular_component`);\n\n function safeApply() {\n if ($scope.$root.$$phase !== '$apply' && $scope.$root.$$phase !== '$digest') {\n try {\n $scope.$apply();\n } catch (err) {\n // pass\n }\n }\n }\n\n let getProps = () => {\n\n let scopeProps;\n\n if ($scope.props) {\n scopeProps = $scope.props;\n } else {\n scopeProps = {};\n for (let key of Object.keys(scope)) {\n if ($scope[key] !== undefined) {\n scopeProps[key] = $scope[key];\n }\n }\n }\n\n scopeProps = replaceObject(scopeProps, {\n 'function': (value) => {\n return function angularWrapped() : mixed {\n let result = value.apply(this, arguments);\n safeApply();\n return result;\n };\n }\n });\n\n return scopeProps;\n };\n\n let parent = component.init(getProps(), null, $element[0]);\n parent.render($element[0]);\n\n $scope.$watch(() => {\n parent.updateProps(getProps());\n });\n } ]\n };\n });\n\n return module;\n }\n};\n","/* @flow */\n\nimport type { Component, ComponentDriverType } from '../component/component';\n\ndeclare class GlimmerComponentType {\n element : HTMLElement,\n args : Object\n}\n\nexport let glimmer : ComponentDriverType<*, (typeof GlimmerComponentType)> = {\n\n global() {\n // pass\n },\n\n register(component : Component<*>, GlimmerComponent : (typeof GlimmerComponentType)) : (typeof GlimmerComponentType) {\n return class extends GlimmerComponent {\n didInsertElement() {\n component.render({ ...this.args }, this.element);\n }\n };\n }\n};\n","/* @flow */\n/* eslint new-cap: 0 */\n\nimport { replaceObject } from '../lib';\nimport type { Component, ComponentDriverType } from '../component/component';\n\ntype Angular2Injection = {};\n\ntype Angular2Component = {};\n\ntype Angular2Module = {};\n\ntype Angular2 = {\n Component : ({ selector : string, template : string, inputs : Array }) => {\n Class : ({ constructor : Array, ngOnInit : () => void, ngOnChanges : () => void }) => Angular2Component\n },\n NgModule : ({ declarations : Array, exports : Array }) => {\n Class : ({ constructor : () => void }) => Angular2Module\n },\n ElementRef : Angular2Injection,\n NgZone : Angular2Injection\n};\n\n\nexport let angular2 : ComponentDriverType<*, Angular2> = {\n\n global() {\n // pass\n },\n\n register(zoid : Component<*>, { Component : AngularComponent, NgModule, ElementRef, NgZone }) : Angular2Module {\n\n zoid.log('initializing angular2 component');\n\n let getProps = (component) => {\n return replaceObject({ ...component.internalProps, ...component.props }, {\n 'function': (value) => {\n if (typeof value === 'function') {\n return function angular2Wrapped() : void {\n return component.zone.run(() => value.apply(this, arguments));\n };\n }\n }\n });\n };\n\n const ComponentInstance =\n AngularComponent({\n selector: zoid.tag,\n template: '

',\n inputs: [ 'props' ]\n }).Class({\n constructor: [ ElementRef, NgZone, function angularConstructor(elementRef, zone) {\n this.elementRef = elementRef;\n this.zone = zone;\n } ],\n ngOnInit () {\n const targetElement = this.elementRef.nativeElement;\n const parent = zoid.init(getProps(this), null, targetElement);\n parent.render(targetElement);\n this.parent = parent;\n },\n ngOnChanges() {\n if (this.parent) {\n this.parent.updateProps(getProps(this));\n }\n }\n });\n\n\n const ModuleInstance = NgModule({\n declarations: [ ComponentInstance ],\n exports: [ ComponentInstance ]\n }).Class({\n constructor () {\n // pass\n }\n });\n\n return ModuleInstance;\n }\n};\n","/*!\n * Bowser - a browser detector\n * https://github.com/ded/bowser\n * MIT License | (c) Dustin Diaz 2015\n */\n!function(e,t,n){typeof module!=\"undefined\"&&module.exports?module.exports=n():typeof define==\"function\"&&define.amd?define(t,n):e[t]=n()}(this,\"bowser\",function(){function t(t){function n(e){var n=t.match(e);return n&&n.length>1&&n[1]||\"\"}function r(e){var n=t.match(e);return n&&n.length>1&&n[2]||\"\"}function C(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return undefined}}var i=n(/(ipod|iphone|ipad)/i).toLowerCase(),o=/like android/i.test(t),u=!o&&/android/i.test(t),a=/nexus\\s*[0-6]\\s*/i.test(t),f=!a&&/nexus\\s*[0-9]+/i.test(t),l=/CrOS/.test(t),c=/silk/i.test(t),h=/sailfish/i.test(t),p=/tizen/i.test(t),d=/(web|hpw)(o|0)s/i.test(t),v=/windows phone/i.test(t),m=/SamsungBrowser/i.test(t),g=!v&&/windows/i.test(t),y=!i&&!c&&/macintosh/i.test(t),b=!u&&!h&&!p&&!d&&/linux/i.test(t),w=r(/edg([ea]|ios)\\/(\\d+(\\.\\d+)?)/i),E=n(/version\\/(\\d+(\\.\\d+)?)/i),S=/tablet/i.test(t)&&!/tablet pc/i.test(t),x=!S&&/[^-]mobi/i.test(t),T=/xbox/i.test(t),N;/opera/i.test(t)?N={name:\"Opera\",opera:e,version:E||n(/(?:opera|opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i)}:/opr\\/|opios/i.test(t)?N={name:\"Opera\",opera:e,version:n(/(?:opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i)||E}:/SamsungBrowser/i.test(t)?N={name:\"Samsung Internet for Android\",samsungBrowser:e,version:E||n(/(?:SamsungBrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)}:/Whale/i.test(t)?N={name:\"NAVER Whale browser\",whale:e,version:n(/(?:whale)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/MZBrowser/i.test(t)?N={name:\"MZ Browser\",mzbrowser:e,version:n(/(?:MZBrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/coast/i.test(t)?N={name:\"Opera Coast\",coast:e,version:E||n(/(?:coast)[\\s\\/](\\d+(\\.\\d+)?)/i)}:/focus/i.test(t)?N={name:\"Focus\",focus:e,version:n(/(?:focus)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/yabrowser/i.test(t)?N={name:\"Yandex Browser\",yandexbrowser:e,version:E||n(/(?:yabrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)}:/ucbrowser/i.test(t)?N={name:\"UC Browser\",ucbrowser:e,version:n(/(?:ucbrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/mxios/i.test(t)?N={name:\"Maxthon\",maxthon:e,version:n(/(?:mxios)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/epiphany/i.test(t)?N={name:\"Epiphany\",epiphany:e,version:n(/(?:epiphany)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/puffin/i.test(t)?N={name:\"Puffin\",puffin:e,version:n(/(?:puffin)[\\s\\/](\\d+(?:\\.\\d+)?)/i)}:/sleipnir/i.test(t)?N={name:\"Sleipnir\",sleipnir:e,version:n(/(?:sleipnir)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/k-meleon/i.test(t)?N={name:\"K-Meleon\",kMeleon:e,version:n(/(?:k-meleon)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:v?(N={name:\"Windows Phone\",osname:\"Windows Phone\",windowsphone:e},w?(N.msedge=e,N.version=w):(N.msie=e,N.version=n(/iemobile\\/(\\d+(\\.\\d+)?)/i))):/msie|trident/i.test(t)?N={name:\"Internet Explorer\",msie:e,version:n(/(?:msie |rv:)(\\d+(\\.\\d+)?)/i)}:l?N={name:\"Chrome\",osname:\"Chrome OS\",chromeos:e,chromeBook:e,chrome:e,version:n(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)}:/edg([ea]|ios)/i.test(t)?N={name:\"Microsoft Edge\",msedge:e,version:w}:/vivaldi/i.test(t)?N={name:\"Vivaldi\",vivaldi:e,version:n(/vivaldi\\/(\\d+(\\.\\d+)?)/i)||E}:h?N={name:\"Sailfish\",osname:\"Sailfish OS\",sailfish:e,version:n(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i)}:/seamonkey\\//i.test(t)?N={name:\"SeaMonkey\",seamonkey:e,version:n(/seamonkey\\/(\\d+(\\.\\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(t)?(N={name:\"Firefox\",firefox:e,version:n(/(?:firefox|iceweasel|fxios)[ \\/](\\d+(\\.\\d+)?)/i)},/\\((mobile|tablet);[^\\)]*rv:[\\d\\.]+\\)/i.test(t)&&(N.firefoxos=e,N.osname=\"Firefox OS\")):c?N={name:\"Amazon Silk\",silk:e,version:n(/silk\\/(\\d+(\\.\\d+)?)/i)}:/phantom/i.test(t)?N={name:\"PhantomJS\",phantom:e,version:n(/phantomjs\\/(\\d+(\\.\\d+)?)/i)}:/slimerjs/i.test(t)?N={name:\"SlimerJS\",slimer:e,version:n(/slimerjs\\/(\\d+(\\.\\d+)?)/i)}:/blackberry|\\bbb\\d+/i.test(t)||/rim\\stablet/i.test(t)?N={name:\"BlackBerry\",osname:\"BlackBerry OS\",blackberry:e,version:E||n(/blackberry[\\d]+\\/(\\d+(\\.\\d+)?)/i)}:d?(N={name:\"WebOS\",osname:\"WebOS\",webos:e,version:E||n(/w(?:eb)?osbrowser\\/(\\d+(\\.\\d+)?)/i)},/touchpad\\//i.test(t)&&(N.touchpad=e)):/bada/i.test(t)?N={name:\"Bada\",osname:\"Bada\",bada:e,version:n(/dolfin\\/(\\d+(\\.\\d+)?)/i)}:p?N={name:\"Tizen\",osname:\"Tizen\",tizen:e,version:n(/(?:tizen\\s?)?browser\\/(\\d+(\\.\\d+)?)/i)||E}:/qupzilla/i.test(t)?N={name:\"QupZilla\",qupzilla:e,version:n(/(?:qupzilla)[\\s\\/](\\d+(?:\\.\\d+)+)/i)||E}:/chromium/i.test(t)?N={name:\"Chromium\",chromium:e,version:n(/(?:chromium)[\\s\\/](\\d+(?:\\.\\d+)?)/i)||E}:/chrome|crios|crmo/i.test(t)?N={name:\"Chrome\",chrome:e,version:n(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)}:u?N={name:\"Android\",version:E}:/safari|applewebkit/i.test(t)?(N={name:\"Safari\",safari:e},E&&(N.version=E)):i?(N={name:i==\"iphone\"?\"iPhone\":i==\"ipad\"?\"iPad\":\"iPod\"},E&&(N.version=E)):/googlebot/i.test(t)?N={name:\"Googlebot\",googlebot:e,version:n(/googlebot\\/(\\d+(\\.\\d+))/i)||E}:N={name:n(/^(.*)\\/(.*) /),version:r(/^(.*)\\/(.*) /)},!N.msedge&&/(apple)?webkit/i.test(t)?(/(apple)?webkit\\/537\\.36/i.test(t)?(N.name=N.name||\"Blink\",N.blink=e):(N.name=N.name||\"Webkit\",N.webkit=e),!N.version&&E&&(N.version=E)):!N.opera&&/gecko\\//i.test(t)&&(N.name=N.name||\"Gecko\",N.gecko=e,N.version=N.version||n(/gecko\\/(\\d+(\\.\\d+)?)/i)),!N.windowsphone&&(u||N.silk)?(N.android=e,N.osname=\"Android\"):!N.windowsphone&&i?(N[i]=e,N.ios=e,N.osname=\"iOS\"):y?(N.mac=e,N.osname=\"macOS\"):T?(N.xbox=e,N.osname=\"Xbox\"):g?(N.windows=e,N.osname=\"Windows\"):b&&(N.linux=e,N.osname=\"Linux\");var k=\"\";N.windows?k=C(n(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i)):N.windowsphone?k=n(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i):N.mac?(k=n(/Mac OS X (\\d+([_\\.\\s]\\d+)*)/i),k=k.replace(/[_\\s]/g,\".\")):i?(k=n(/os (\\d+([_\\s]\\d+)*) like mac os x/i),k=k.replace(/[_\\s]/g,\".\")):u?k=n(/android[ \\/-](\\d+(\\.\\d+)*)/i):N.webos?k=n(/(?:web|hpw)os\\/(\\d+(\\.\\d+)*)/i):N.blackberry?k=n(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i):N.bada?k=n(/bada\\/(\\d+(\\.\\d+)*)/i):N.tizen&&(k=n(/tizen[\\/\\s](\\d+(\\.\\d+)*)/i)),k&&(N.osversion=k);var L=!N.windows&&k.split(\".\")[0];if(S||f||i==\"ipad\"||u&&(L==3||L>=4&&!x)||N.silk)N.tablet=e;else if(x||i==\"iphone\"||i==\"ipod\"||u||a||N.blackberry||N.webos||N.bada)N.mobile=e;return N.msedge||N.msie&&N.version>=10||N.yandexbrowser&&N.version>=15||N.vivaldi&&N.version>=1||N.chrome&&N.version>=20||N.samsungBrowser&&N.version>=4||N.whale&&s([N.version,\"1.0\"])===1||N.mzbrowser&&s([N.version,\"6.0\"])===1||N.focus&&s([N.version,\"1.0\"])===1||N.firefox&&N.version>=20||N.safari&&N.version>=6||N.opera&&N.version>=10||N.ios&&N.osversion&&N.osversion.split(\".\")[0]>=6||N.blackberry&&N.version>=10.1||N.chromium&&N.version>=20?N.a=e:N.msie&&N.version<10||N.chrome&&N.version<20||N.firefox&&N.version<20||N.safari&&N.version<6||N.opera&&N.version<10||N.ios&&N.osversion&&N.osversion.split(\".\")[0]<6||N.chromium&&N.version<20?N.c=e:N.x=e,N}function r(e){return e.split(\".\").length}function i(e,t){var n=[],r;if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r=0){if(n[0][t]>n[1][t])return 1;if(n[0][t]!==n[1][t])return-1;if(t===0)return 0}}function o(e,r,i){var o=n;typeof r==\"string\"&&(i=r,r=void 0),r===void 0&&(r=!1),i&&(o=t(i));var u=\"\"+o.version;for(var a in e)if(e.hasOwnProperty(a)&&o[a]){if(typeof e[a]!=\"string\")throw new Error(\"Browser version in the minVersion map should be a string: \"+a+\": \"+String(e));return s([u,e[a]])<0}return r}function u(e,t,n){return!o(e,t,n)}var e=!0,n=t(typeof navigator!=\"undefined\"?navigator.userAgent||\"\":\"\");return n.test=function(e){for(var t=0;t\n \n
\n
\n \n \n
\n
\n {content.windowMessage}\n
\n
\n
\n
\n
\n
\n\n
\n {outlet}\n
\n\n \n
\n );\n\n const container = (\n \n \n { el }\n \n \n );\n\n on(EVENT.CLOSE, () => {\n el.className += ` ${ tag }-loading`;\n });\n\n return (\n
\n \n\n \n
\n );\n}\n","/* @flow */\n/** @jsx jsxDom */\n/* eslint max-lines: 0 */\n\nimport { ZalgoPromise } from 'zalgo-promise/src';\nimport { create } from 'zoid/src';\nimport { type Component } from 'zoid/src/component/component';\nimport { base64encode } from 'belter/src';\n\nimport { ENV } from '../constants';\nimport { getButtonSessionID, getBrowserLocale, getSessionID, getCurrentScriptUrl } from '../lib';\nimport { config } from '../config';\n\nimport { containerTemplate } from './template';\n\ntype BillingOptions = {|\n client : {\n [string] : (string | ZalgoPromise)\n },\n env? : string,\n locale? : string,\n logLevel : string,\n awaitPopupBridge : Function,\n meta : Object,\n commit : boolean,\n token : string\n|};\n\nexport const BillingPage : Component = create({\n tag: 'billing-page',\n name: 'billing-page',\n\n buildUrl(props) : string {\n const env = props.env || config.env;\n return `${ config.inlinedCardFieldUrls[env] }/billing`;\n },\n\n get domain() : Object {\n return {\n ...config.paypalDomains,\n [ ENV.LOCAL ]: /^http:\\/\\/localhost.paypal.com:\\d+$/\n };\n },\n\n scrolling: true,\n\n props: {\n sessionID: {\n type: 'string',\n required: false,\n def() : string {\n return getSessionID();\n },\n queryParam: true\n },\n\n\n token: {\n type: 'string',\n required: true,\n queryParam: true\n },\n\n buttonSessionID: {\n type: 'string',\n required: false,\n def() : ?string {\n return getButtonSessionID();\n },\n queryParam: true\n },\n\n commit: {\n type: 'boolean',\n required: false,\n queryParam: true\n },\n\n env: {\n type: 'string',\n required: false,\n queryParam: true,\n\n def() : string {\n return config.env;\n },\n\n validate(env) {\n if (!config.paypalUrls[env]) {\n throw new Error(`Invalid env: ${ env }`);\n }\n }\n },\n\n locale: {\n type: 'string',\n required: false,\n queryParam: 'locale.x',\n allowDelegate: true,\n\n def() : string {\n const { lang, country } = getBrowserLocale();\n return `${ lang }_${ country }`;\n }\n },\n\n cardType: {\n type: 'string',\n required: false\n },\n prefilledZipCode: {\n type: 'string',\n required: false\n },\n\n onEvent: {\n type: 'function',\n required: false,\n sameDomain: true\n },\n\n dispatch: {\n type: 'object',\n required: false,\n sameDomain: true\n },\n\n onCancel: {\n type: 'function',\n required: false,\n once: true,\n noop: true\n },\n\n sdkMeta: {\n type: 'string',\n queryParam: true,\n sendToChild: false,\n def: () => {\n return base64encode(JSON.stringify({\n url: getCurrentScriptUrl()\n }));\n }\n }\n },\n\n\n containerTemplate\n});\n","/* @flow */\n\nimport { track, info } from 'beaver-logger/client';\n\nimport { config } from '../config';\nimport { FPTI, PPTM_ID } from '../constants';\nimport { stringifyError, extendUrl, loadScript, getElement, isPayPalDomain } from '../lib';\n\n\nfunction shouldCreateInitialPptmScript() : boolean {\n const id = window.location.hostname;\n\n if (!id) {\n return false;\n }\n\n if (isPayPalDomain()) {\n return false;\n }\n\n const existingScript = getElement(PPTM_ID);\n const alreadyDownloaded = Boolean(existingScript);\n\n if (alreadyDownloaded) {\n info('pptm_tried_loading_twice');\n return false;\n }\n\n return true;\n}\n\nfunction removePptm() {\n const script = getElement(PPTM_ID);\n\n if (script) {\n // $FlowFixMe\n script.parentNode.removeChild(script);\n }\n}\n\nexport function pptmFactory() : Object {\n let noContentFoundInContainer = false;\n const callback = `__pptmLoadedWithNoContent`;\n let listener;\n\n const obj = {\n /*\n In the button component, we set up a global window[callback] that will be called in pptm `onload` attribute.\n Button.render calls `reloadPptmScript`, which checks if window[callback] has been called yet (meaning, it checks\n if pptm.js was loaded before Button.render was called). If so, we'll check to see if we should reload PPTM\n now that we might have a client ID from the Button.render method.\n If pptm.js hasn't loaded yet, then we'll set up a listener to the same logic above to defer it until\n pptm.js actually loads.\n */\n reloadPptmScript(clientId : ?string) {\n const tryCreatePptmScript = () => {\n if (obj.shouldReloadPptmScript(clientId)) {\n obj.removePptm();\n obj.createPptmScript(clientId);\n } else {\n // Defer until later, since reloadPptmScript might have been called\n // before pptm loaded, so we'll still want to hook into the script load.\n listener = tryCreatePptmScript;\n }\n };\n\n tryCreatePptmScript();\n },\n listenForLoadWithNoContent() {\n window[callback] = () => {\n noContentFoundInContainer = true;\n\n if (listener) {\n listener();\n listener = undefined;\n }\n };\n },\n listenForButtonRender() {\n window.paypalDDL = window.paypalDDL || [];\n const buttonRenderEvent = window.paypalDDL.filter(e => e.event === 'paypalButtonRender');\n if (buttonRenderEvent.length === 0) {\n window.paypalDDL.push({ event: 'paypalButtonRender' });\n }\n },\n get callback() : string {\n return callback;\n },\n get noContentFoundInContainer() : boolean {\n return noContentFoundInContainer;\n },\n createPptmScript: (clientId : ?string) => {\n track({\n [ FPTI.KEY.STATE ]: FPTI.STATE.PPTM,\n [ FPTI.KEY.TRANSITION ]: FPTI.TRANSITION.PPTM_LOAD\n });\n const params = {\n t: 'xo',\n id: window.location.hostname,\n mrid: config.merchantID,\n client_id: '',\n v: config.version,\n source: 'checkoutjs'\n };\n \n if (clientId) {\n params.client_id = clientId;\n } else {\n delete params.client_id;\n }\n \n const fullUrl = extendUrl(config.pptmUrl, params);\n \n loadScript(fullUrl, 0, {\n async: true,\n id: PPTM_ID\n }).then(() => {\n // If the snippet is empty, then fire the callback.\n // We assume non-empty pptm.js bundles with init the paypalDDL and push an event called\n // `snippetRun` to it.\n if (!(window.paypalDDL && window.paypalDDL[0] && window.paypalDDL[0].event === 'snippetRun')) {\n window[callback]();\n }\n\n track({\n [ FPTI.KEY.STATE ]: FPTI.STATE.PPTM,\n [ FPTI.KEY.TRANSITION ]: FPTI.TRANSITION.PPTM_LOADED\n });\n }).catch(err => {\n info('pptm_script_error', { error: stringifyError(err) });\n });\n },\n shouldCreateInitialPptmScript,\n /*\n During Button render if a client ID was provided, we'll want to refresh the\n pptm script to try to pull down a container by that value.\n We'll only do this if we're not on the PayPal domain, or if\n a merchant ID wasn't already provided (since container look-up can\n also happen by merchant ID). Note that this will only happen\n if there was no content found in the container that was pulled down\n in the `setup` script. This is important because we don't want\n to pull down multiple containers that actually contain content,\n otherwise we'll be firing duplicate tags.\n */\n shouldReloadPptmScript(clientId : ?string) : boolean {\n if (noContentFoundInContainer === false) {\n return false;\n }\n\n if (isPayPalDomain()) {\n return false;\n }\n \n // If a merchant ID was already provided, then that meant we initially\n // loaded the pptm script with that value as the main container\n // look-up value, so in this case we don't want to reload pptm.\n if (config.merchantID) {\n return false;\n }\n \n if (clientId) {\n return true;\n }\n \n return false;\n },\n removePptm\n };\n\n return obj;\n}\n","/* @flow */\n/** @jsx jsxDom */\n/* eslint max-lines: 0 */\n\nimport { create } from 'zoid/src';\nimport { base64encode } from 'belter/src';\n\nimport { getBrowserLocale, getCurrentScriptUrl } from '../lib';\nimport { config } from '../config';\nimport { containerTemplate } from '../billing/template';\n\nexport const ThreeDomainSecure = create({\n tag: 'paypal-3ds',\n name: '3ds',\n\n buildUrl(props) : string {\n const env = props.env || config.env;\n return `${ config.inlinedCardFieldUrls[env] }/init3ds`;\n },\n\n get domain() : Object {\n return {\n ...config.paypalDomains\n };\n },\n\n scrolling: true,\n\n props: {\n sdkMeta: {\n type: 'string',\n queryParam: true,\n sendToChild: false,\n def: () => {\n return base64encode(JSON.stringify({\n url: getCurrentScriptUrl()\n }));\n }\n },\n locale: {\n type: 'string',\n required: false,\n queryParam: 'locale.x',\n allowDelegate: true,\n\n def() : string {\n const { lang, country } = getBrowserLocale();\n return `${ lang }_${ country }`;\n }\n },\n env: {\n type: 'string',\n required: false,\n queryParam: true,\n\n def() : string {\n return config.env;\n },\n\n validate(env) {\n if (!config.paypalUrls[env]) {\n throw new Error(`Invalid env: ${ env }`);\n }\n }\n },\n challengeUrl: {\n type: 'string'\n },\n threeDomainSecureToken: {\n type: 'string'\n },\n method: {\n type: 'string'\n },\n onSuccess: {\n type: 'function',\n required: false\n },\n onError: {\n type: 'function',\n required: false\n },\n onCancel: {\n type: 'function',\n required: true,\n allowDelegate: true\n }\n },\n\n\n containerTemplate\n});\n","/* @flow */\n\nimport { pptmFactory } from './pptm-factory';\n\nexport const pptm = pptmFactory();\n","/* @flow */\n\nimport { ZalgoPromise } from 'zalgo-promise/src';\nimport { on, send } from 'post-robot/src';\nimport { base64encode } from 'belter/src';\nimport { info, track } from 'beaver-logger/client';\nimport { getAncestor, isSameDomain } from 'cross-domain-utils/src';\n\nimport { config, paypalDomainRegex } from '../config';\nimport { FPTI, PAYMENT_TYPE } from '../constants';\nimport { request, memoize, isPayPalDomain, uniqueID } from '../lib';\n\ntype ProxyRest = {\n [string] : (...args : $ReadOnlyArray) => ZalgoPromise<*>\n};\n\nlet proxyRest : ProxyRest = {};\n\nconst createAccessToken = memoize((env : string, client : { [key : string] : string }) : ZalgoPromise => {\n\n info(`rest_api_create_access_token`);\n\n env = env || config.env;\n\n const clientID : string = client[env];\n\n if (!clientID) {\n throw new Error(`Client ID not found for env: ${ env }`);\n }\n\n if (proxyRest.createAccessToken && !proxyRest.createAccessToken.source.closed) {\n return proxyRest.createAccessToken(env, client);\n }\n\n const basicAuth : string = base64encode(`${ clientID }:`);\n\n return request({\n\n method: `post`,\n url: config.authApiUrls[env],\n headers: {\n Authorization: `Basic ${ basicAuth }`\n },\n data: {\n grant_type: `client_credentials`\n }\n\n }).then(res => {\n\n if (res && res.error === 'invalid_client') {\n throw new Error(`Auth Api invalid ${ env } client id: ${ clientID }:\\n\\n${ JSON.stringify(res, null, 4) }`);\n }\n\n if (!res || !res.access_token) {\n throw new Error(`Auth Api response error:\\n\\n${ JSON.stringify(res, null, 4) }`);\n }\n\n return res.access_token;\n });\n\n}, { time: 10 * 60 * 1000 });\n\nconst createExperienceProfile = memoize((env : string, client : { [key : string] : string }, experienceDetails : Object = {}) : ZalgoPromise => {\n\n info(`rest_api_create_experience_profile`);\n\n env = env || config.env;\n\n const clientID = client[env];\n\n if (!clientID) {\n throw new Error(`Client ID not found for env: ${ env }`);\n }\n\n if (proxyRest.createExperienceProfile && !proxyRest.createExperienceProfile.source.closed) {\n return proxyRest.createExperienceProfile(env, client, experienceDetails);\n }\n\n experienceDetails.temporary = true;\n experienceDetails.name = experienceDetails.name ? `${ experienceDetails.name }_${ Math.random().toString() }` : Math.random().toString();\n\n return createAccessToken(env, client).then((accessToken) : ZalgoPromise => {\n\n return request({\n method: `post`,\n url: config.experienceApiUrls[env],\n headers: {\n Authorization: `Bearer ${ accessToken }`\n },\n json: experienceDetails\n });\n\n }).then((res) : string => {\n\n if (res && res.error) {\n throw new Error(res.error);\n }\n\n if (!res.id) {\n throw new Error(`No id in experience profile response:\\n\\n${ JSON.stringify(res, null, 4) }`);\n }\n\n return res.id;\n });\n\n}, { time: 10 * 60 * 1000 });\n\nfunction logPaymentResponse(res) {\n\n if (!res) {\n return;\n }\n\n let paymentToken;\n let paymentID;\n\n if (res.id) {\n paymentID = res.id;\n }\n\n if (res.links && res.links.length) {\n for (let i = 0; i < res.links.length; i++) {\n if (res.links[i].method === 'REDIRECT' && res.links[i].rel === 'approval_url') {\n const match = res.links[i].href.match(/token=((EC-)?[A-Z0-9]{17})/);\n if (match) {\n paymentToken = match[1];\n }\n }\n }\n }\n\n track({\n [ FPTI.KEY.STATE ]: FPTI.STATE.BUTTON,\n [ FPTI.KEY.TRANSITION ]: FPTI.TRANSITION.CREATE_PAYMENT,\n [ FPTI.KEY.CONTEXT_TYPE ]: FPTI.CONTEXT_TYPE[PAYMENT_TYPE.PAY_ID],\n [ FPTI.KEY.PAY_ID ]: paymentID,\n [ FPTI.KEY.TOKEN ]: paymentToken,\n [ FPTI.KEY.CONTEXT_ID ]: paymentID\n });\n}\n\nfunction getDefaultReturnUrl() : string {\n return `https://www.paypal.com/checkoutnow/error`;\n}\n\nfunction createTracking(env : string, client : { [key : string] : string }, merchantID, trackingData) : Object {\n \n env = env || config.env;\n\n const clientID = client[env];\n\n if (!clientID) {\n throw new Error(`Client ID not found for env: ${ env }`);\n }\n\n const trackingID = uniqueID();\n\n return createAccessToken(env, client).then((accessToken) : ZalgoPromise => {\n\n const headers : Object = {\n Authorization: `Bearer ${ accessToken }`\n };\n\n return request({\n method: `put`,\n url: `${ config.trackingApiUrls[env] }/${ merchantID }/${ trackingID }`,\n headers,\n json: {\n 'tracking_id': trackingID,\n 'additional_data': trackingData\n }\n });\n\n }).then(() => {\n return trackingID;\n });\n}\n\nfunction createPayment(env : string, client : { [key : string] : string }, paymentDetails : Object) : ZalgoPromise {\n\n info(`rest_api_create_checkout_token`);\n\n env = env || config.env;\n\n const clientID = client[env];\n\n if (!clientID) {\n throw new Error(`Client ID not found for env: ${ env }`);\n }\n\n let { payment, experience, meta, tracking } = paymentDetails;\n\n if (!payment) {\n throw new Error(`Expected payment details to be passed`);\n }\n\n if (proxyRest.createPayment && !proxyRest.createPayment.source.closed) {\n return proxyRest.createPayment(env, client, { payment, experience, meta, tracking });\n }\n\n payment = { ...payment };\n payment.intent = payment.intent || 'sale';\n payment.redirect_urls = payment.redirect_urls || {};\n payment.redirect_urls.return_url = payment.redirect_urls.return_url || getDefaultReturnUrl();\n payment.redirect_urls.cancel_url = payment.redirect_urls.cancel_url || getDefaultReturnUrl();\n payment.payer = payment.payer || {};\n payment.payer.payment_method = payment.payer.payment_method || 'paypal';\n\n return createAccessToken(env, client).then((accessToken) : ZalgoPromise => {\n\n return ZalgoPromise.try(() => {\n\n if (experience) {\n return ZalgoPromise.resolve(createExperienceProfile(env, client, experience));\n }\n\n }).then((experienceID) : ZalgoPromise => {\n\n return ZalgoPromise.try(() => {\n\n if (tracking) {\n return ZalgoPromise.resolve(createTracking(env, client, tracking.id, tracking.data));\n }\n\n }).then((trackingID) : ZalgoPromise => {\n\n if (experienceID) {\n payment.experience_profile_id = experienceID;\n }\n\n const headers : Object = {\n Authorization: `Bearer ${ accessToken }`\n };\n\n if (trackingID) {\n headers['Paypal-Client-Metadata-Id'] = trackingID;\n }\n\n if (meta && meta.partner_attribution_id) {\n headers['PayPal-Partner-Attribution-Id'] = meta.partner_attribution_id;\n }\n\n return request({\n method: `post`,\n url: config.paymentApiUrls[env],\n headers,\n json: payment\n });\n });\n });\n\n }).then((res) : string => {\n\n logPaymentResponse(res);\n\n if (res && res.id) {\n return res.id;\n }\n\n throw new Error(`Payment Api response error:\\n\\n${ JSON.stringify(res, null, 4) }`);\n\n });\n}\n\nfunction createOrder(env : string, client : { [key : string] : string }, paymentDetails : Object) : ZalgoPromise {\n\n info(`rest_api_create_order_token`);\n\n env = env || config.env;\n\n const clientID = client[env];\n\n if (!clientID) {\n throw new Error(`Client ID not found for env: ${ env }`);\n }\n\n let { order, meta } = paymentDetails;\n\n if (!order) {\n throw new Error(`Expected order details to be passed`);\n }\n\n if (proxyRest.createOrder && !proxyRest.createOrder.source.closed) {\n return proxyRest.createOrder(env, client, { order, meta });\n }\n\n order = { ...order };\n order.intent = order.intent || 'CAPTURE';\n order.application_context = order.application_context || {};\n order.application_context.return_url = order.application_context.return_url || getDefaultReturnUrl();\n order.application_context.cancel_url = order.application_context.cancel_url || getDefaultReturnUrl();\n order.purchase_units = order.purchase_units || [];\n order.purchase_units[0] = order.purchase_units[0] || {};\n order.purchase_units.forEach(unit => {\n unit.reference_id = unit.reference_id || Math.random().toString();\n });\n\n return createAccessToken(env, client).then((accessToken) : ZalgoPromise => {\n\n const headers : Object = {\n Authorization: `Bearer ${ accessToken }`\n };\n\n if (meta && meta.partner_attribution_id) {\n headers['PayPal-Partner-Attribution-Id'] = meta.partner_attribution_id;\n }\n\n return request({\n method: `post`,\n url: config.orderApiUrls[env],\n headers,\n json: order\n });\n\n }).then((res) : string => {\n\n logPaymentResponse(res);\n\n if (res && res.id) {\n return res.id;\n }\n\n throw new Error(`Payment Api response error:\\n\\n${ JSON.stringify(res, null, 4) }`);\n });\n}\n\nexport function createBillingAgreement(env : string, client : { [key : string] : string }, billingDetails : Object, experienceDetails? : ?Object) : ZalgoPromise {\n\n info(`rest_api_create_billing_token`);\n\n env = env || config.env;\n\n const clientID = client[env];\n\n if (!clientID) {\n throw new Error(`Client ID not found for env: ${ env }`);\n }\n\n if (proxyRest.createBillingAgreement && !proxyRest.createBillingAgreement.source.closed) {\n return proxyRest.createBillingAgreement(env, client, billingDetails, experienceDetails);\n }\n\n billingDetails = { ...billingDetails };\n billingDetails.plan = billingDetails.plan || {};\n billingDetails.plan.merchant_preferences = billingDetails.plan.merchant_preferences || {};\n billingDetails.plan.merchant_preferences.return_url = billingDetails.plan.merchant_preferences.return_url || getDefaultReturnUrl();\n billingDetails.plan.merchant_preferences.cancel_url = billingDetails.plan.merchant_preferences.cancel_url || getDefaultReturnUrl();\n billingDetails.payer = billingDetails.payer || {};\n billingDetails.payer.payment_method = billingDetails.payer.payment_method || 'paypal';\n\n\n return createAccessToken(env, client).then((accessToken) : ZalgoPromise => {\n\n return ZalgoPromise.try(() => {\n\n if (experienceDetails) {\n return ZalgoPromise.resolve(createExperienceProfile(env, client, experienceDetails));\n }\n\n }).then((experienceID) : ZalgoPromise => {\n\n if (experienceID) {\n billingDetails.experience_profile_id = experienceID;\n }\n\n return request({\n method: `post`,\n url: config.billingApiUrls[env],\n headers: {\n Authorization: `Bearer ${ accessToken }`\n },\n json: billingDetails\n });\n });\n\n }).then(res => {\n\n if (res && res.token_id) {\n return res.token_id;\n }\n\n throw new Error(`Billing Api response error:\\n\\n${ JSON.stringify(res, null, 4) }`);\n });\n}\n\nexport const rest = {\n payment: {\n create: createPayment\n },\n order: {\n create: createOrder\n },\n billingAgreement: {\n create: createBillingAgreement\n },\n experience: {\n create: createExperienceProfile\n }\n};\n\nconst PROXY_REST = `proxy_rest`;\nconst parentWin = getAncestor();\n\non(PROXY_REST, { domain: paypalDomainRegex }, ({ data }) => {\n proxyRest = data;\n});\n\nif (parentWin && isPayPalDomain() && !isSameDomain(parentWin)) {\n send(parentWin, PROXY_REST, { createAccessToken, createExperienceProfile, createPayment, createBillingAgreement, createOrder })\n .catch(() => {\n // pass\n });\n}\n","/* @flow */\n\nimport { info, track, immediateFlush } from 'beaver-logger/client';\n\nimport { FPTI, PAYMENT_TYPE } from './constants';\nimport { getReturnToken, getSessionState, getDomainSetting, eventEmitter } from './lib';\n\nexport const onAuthorizeListener = eventEmitter();\n\nfunction log(experiment : string, treatment : string, token : ?string, state : string) {\n\n getSessionState(session => {\n\n let event = `${ experiment }_${ treatment }_${ state }`;\n const loggedEvents = session.loggedExperimentEvents = session.loggedExperimentEvents || [];\n const duplicate = loggedEvents.indexOf(event) !== -1;\n\n if (duplicate) {\n info(`duplicate_${ event }`);\n\n } else {\n info(event);\n loggedEvents.push(event);\n\n const edge = window.navigator && window.navigator.userAgent && window.navigator.userAgent.match(/Edge\\/[0-9]{2}/);\n\n if (edge) {\n event = info(`${ edge[0].toLowerCase().replace('/', '_') }_${ event }`);\n }\n\n track({\n [ FPTI.KEY.STATE ]: FPTI.STATE.CHECKOUT,\n [ FPTI.KEY.TRANSITION ]: state,\n [ FPTI.KEY.EXPERIMENT_NAME ]: experiment,\n [ FPTI.KEY.TREATMENT_NAME ]: treatment,\n [ FPTI.KEY.TOKEN ]: token,\n [ FPTI.KEY.CONTEXT_ID ]: token,\n [ FPTI.KEY.CONTEXT_TYPE ]: token ? FPTI.CONTEXT_TYPE[PAYMENT_TYPE.EC_TOKEN] : FPTI.CONTEXT_TYPE.BUTTON_SESSION_ID\n });\n\n immediateFlush();\n }\n });\n}\n\nexport function logExperimentTreatment({ experiment, treatment, state, token } : { experiment : string, treatment : string, state : string, token : ?string }) {\n\n if (!experiment || !treatment) {\n return;\n }\n\n getSessionState(session => {\n session.externalExperiment = experiment;\n session.externalExperimentTreatment = treatment;\n\n if (token) {\n session.externalExperimentToken = token;\n }\n });\n\n log(experiment, treatment, token, state);\n}\n\nfunction logReturn(token : string) {\n\n const {\n externalExperiment,\n externalExperimentTreatment,\n externalExperimentToken\n } = getSessionState(session => session);\n\n if (externalExperiment && externalExperimentTreatment && externalExperimentToken === token) {\n log(externalExperiment, externalExperimentTreatment, token, `complete`);\n } else {\n info(`experiment_mismatch`, {\n token,\n externalExperiment,\n externalExperimentTreatment,\n externalExperimentToken\n });\n }\n}\n\nif (getDomainSetting('log_authorize')) {\n\n onAuthorizeListener.once(({ paymentToken }) => {\n setTimeout(() => {\n logReturn(paymentToken);\n }, 1);\n });\n\n const returnToken = getReturnToken();\n\n if (returnToken) {\n setTimeout(() => {\n if (returnToken) {\n logReturn(returnToken);\n }\n }, 1);\n }\n}\n","/* @flow */\n\nimport { once, noop } from 'zoid/src/lib';\nimport { ZalgoPromise } from 'zalgo-promise/src';\nimport { error } from 'beaver-logger/client';\nimport type { CrossDomainWindowType } from 'cross-domain-utils/src';\n\nimport { extendUrl, redirect, awaitKey, stringifyError } from '../lib';\nimport { config } from '../config';\nimport { FUNDING } from '../constants';\n\nimport { determineParameterFromToken, determineUrl } from './checkout';\n\nconst OPTYPE = {\n PAYMENT: 'payment',\n CANCEL: 'cancel'\n};\n\nconst CONTINGENCY = {\n PAYMENT_CANCELLED: 'PAYMENT_CANCELLED'\n};\n\ntype PopupBridge = {|\n open : (string) => ZalgoPromise\n|};\n\nfunction wrapPopupBridge(popupBridge : Object) : PopupBridge {\n return {\n open(url : string) : ZalgoPromise {\n return new ZalgoPromise((resolve, reject) => {\n\n popupBridge.onComplete = (err, result) => {\n if (!result) {\n return reject(new Error('No payload passed in popupBridge.onComplete'));\n }\n\n return err ? reject(err) : resolve(result);\n };\n\n popupBridge.onCancel = () => {\n const err = new Error(CONTINGENCY.PAYMENT_CANCELLED);\n // $FlowFixMe\n err.code = CONTINGENCY.PAYMENT_CANCELLED;\n return reject(err);\n };\n\n popupBridge.open(extendUrl(url, { redirect_uri: popupBridge.getReturnUrlPrefix() }));\n });\n }\n };\n}\n\nfunction validateCheckoutProps(props) {\n if (!props.payment) {\n throw new Error(`Expected props.payment to be passed`);\n }\n\n if (!props.onAuthorize) {\n throw new Error(`Expected props.onAuthorize to be passed`);\n }\n\n if (props.env && !config.checkoutUrls[props.env]) {\n throw new Error(`Invalid props.env: ${ props.env }`);\n }\n}\n\nfunction normalizeCheckoutProps(props : Object) : { env : string, payment : Function, onAuthorize : Function, onCancel : Function } {\n const env = props.env = props.env || config.env;\n\n const payment = props.payment;\n const onAuthorize = once(props.onAuthorize);\n const onCancel = once(props.onCancel || noop);\n\n return { env, payment, onAuthorize, onCancel };\n}\n\nfunction getUrl(props : { env : string, payment : Function, onAuthorize : Function, onCancel? : Function, commit? : boolean }) : ZalgoPromise {\n\n const { env, payment } = normalizeCheckoutProps(props);\n\n return ZalgoPromise.try(payment, { props }).then(token => {\n if (!token) {\n throw new Error(`Expected props.payment to return a payment id or token`);\n }\n\n return extendUrl(determineUrl(env, FUNDING.PAYPAL, token), {\n [determineParameterFromToken(token)]: token,\n\n useraction: props.commit ? 'commit' : '',\n native_xo: '1'\n });\n });\n}\n\nfunction extractDataFromQuery(query : Object) : Object {\n\n const data : Object = {\n paymentToken: query.token,\n billingToken: query.ba_token,\n paymentID: query.paymentId,\n payerID: query.PayerID,\n intent: query.intent\n };\n \n const { opType, return_uri, cancel_uri } = query;\n\n if (opType === OPTYPE.PAYMENT) {\n data.returnUrl = return_uri;\n\n } else if (opType === OPTYPE.CANCEL) {\n data.cancelUrl = cancel_uri;\n }\n\n return data;\n}\n\nfunction buildActions(query : Object) : Object {\n \n const actions : Object = {\n close: noop,\n closeComponent: noop\n };\n\n const { opType, return_uri, cancel_uri } = query;\n\n if (opType === OPTYPE.PAYMENT) {\n actions.redirect = (win : CrossDomainWindowType = window, redirectUrl : string = return_uri) : ZalgoPromise => {\n return redirect(win, redirectUrl);\n };\n\n } else if (opType === OPTYPE.CANCEL) {\n actions.redirect = (win : CrossDomainWindowType = window, redirectUrl : string = cancel_uri) : ZalgoPromise => {\n return redirect(win, redirectUrl);\n };\n }\n\n return actions;\n}\n\nfunction renderThroughPopupBridge(props : Object, popupBridge : PopupBridge) : ZalgoPromise {\n return ZalgoPromise.try(() => {\n\n validateCheckoutProps(props);\n\n }).then(() => {\n\n return getUrl(props);\n \n }).then(url => {\n\n return popupBridge.open(url);\n\n }).then(payload => {\n\n const { opType } = payload.queryItems;\n const { onAuthorize, onCancel } = normalizeCheckoutProps(props);\n\n const data = extractDataFromQuery(payload.queryItems);\n const actions = buildActions(payload.queryItems);\n \n if (opType === OPTYPE.PAYMENT) {\n return onAuthorize(data, actions);\n\n } else if (opType === OPTYPE.CANCEL) {\n return onCancel(data, actions);\n \n } else {\n throw new Error(`Invalid opType: ${ opType }`);\n }\n\n }).catch(err => {\n\n if (err && err.code === CONTINGENCY.PAYMENT_CANCELLED) {\n const { onCancel } = normalizeCheckoutProps(props);\n return onCancel({}, {});\n }\n\n throw err;\n });\n}\n\nexport function awaitPopupBridge(Button : Object) : ZalgoPromise {\n if (Button.xprops && Button.xprops.awaitPopupBridge) {\n return Button.xprops.awaitPopupBridge();\n }\n\n return awaitKey(window, 'popupBridge').then(popupBridge => {\n return wrapPopupBridge(popupBridge);\n });\n}\n\nexport function setupPopupBridgeProxy(Checkout : Object, Button : Object) {\n\n let popupBridge;\n\n awaitPopupBridge(Button).then(bridge => {\n popupBridge = bridge;\n });\n\n function doRender(props, original) : ZalgoPromise {\n if (!popupBridge) {\n return original();\n }\n \n return renderThroughPopupBridge(props, popupBridge)\n .catch(err => {\n error(`popup_bridge_error`, { err: stringifyError(err) });\n return original();\n });\n }\n\n const render = Checkout.render;\n Checkout.render = function popupBridgeRender(props : Object) : ZalgoPromise {\n return doRender(props, () => render.apply(this, arguments));\n };\n\n const renderTo = Checkout.renderTo;\n Checkout.renderTo = function popupBridgeRenderTo(win : CrossDomainWindowType, props : Object) : ZalgoPromise {\n return doRender(props, () => renderTo.apply(this, arguments));\n };\n\n const renderPopupTo = Checkout.renderPopupTo;\n Checkout.renderPopupTo = function popupBridgeRenderPopupTo(win : CrossDomainWindowType, props : Object) : ZalgoPromise {\n return doRender(props, () => renderPopupTo.apply(this, arguments));\n };\n}\n","/* @flow */\n\nimport { BUTTON_LABEL, BUTTON_LAYOUT, BUTTON_SIZE, BUTTON_STYLE_OPTIONS, ALLOWED_INSTALLMENT_COUNTRIES, ALLOWED_INSTALLMENT_PERIOD, LOCALE } from '../constants';\n\nimport { BUTTON_CONFIG, BUTTON_STYLE, getButtonConfig } from './config';\n\nexport function validateButtonLocale(locale : string) {\n\n if (!locale) {\n throw new Error(`Expected props.locale to be set`);\n }\n\n if (!locale.match(/^[a-z]{2}[_][A-Z][A-Z0-9]$/)) {\n throw new Error(`Expected props.locale to be valid, got ${ locale }`);\n }\n\n const [ lang, country ] = locale.split('_');\n\n if (!LOCALE[country] || LOCALE[country].indexOf(lang) === -1) {\n throw new Error(`Expected props.locale to be valid`);\n }\n}\n\nexport function validateRegionSpecificButton(style : Object = {}, locale : string = 'en_US') {\n\n const country = locale.split('_')[1];\n\n const isInstallmentAllowedCountry = ALLOWED_INSTALLMENT_COUNTRIES.indexOf(country) !== -1;\n\n if (!isInstallmentAllowedCountry && style.label === BUTTON_LABEL.INSTALLMENT) {\n throw new Error(`Unexpected label: style.${ style.label } for country: ${ country }`);\n }\n\n if (!isInstallmentAllowedCountry && style[BUTTON_STYLE_OPTIONS.INSTALLMENTPERIOD]) {\n throw new Error(`style.${ BUTTON_STYLE_OPTIONS.INSTALLMENTPERIOD } is invalid for country: ${ country }`);\n }\n\n if (isInstallmentAllowedCountry && style[BUTTON_STYLE_OPTIONS.INSTALLMENTPERIOD] && style.label !== BUTTON_LABEL.INSTALLMENT) {\n throw new Error(`style.${ BUTTON_STYLE_OPTIONS.INSTALLMENTPERIOD } is invalid for label: style.${ style.label }`);\n }\n\n if (isInstallmentAllowedCountry && style.label === BUTTON_LABEL.INSTALLMENT && style[BUTTON_STYLE_OPTIONS.INSTALLMENTPERIOD]\n && typeof style[BUTTON_STYLE_OPTIONS.INSTALLMENTPERIOD] !== 'number') {\n throw new Error(`style.${ BUTTON_STYLE_OPTIONS.INSTALLMENTPERIOD } is expected to be a number`);\n }\n\n if (isInstallmentAllowedCountry && style.label === BUTTON_LABEL.INSTALLMENT && style[BUTTON_STYLE_OPTIONS.INSTALLMENTPERIOD]\n && ALLOWED_INSTALLMENT_PERIOD[country].indexOf(style[BUTTON_STYLE_OPTIONS.INSTALLMENTPERIOD]) === -1) {\n throw new Error(`style.${ BUTTON_STYLE_OPTIONS.INSTALLMENTPERIOD }: ${ style[BUTTON_STYLE_OPTIONS.INSTALLMENTPERIOD] } is not a valid installment number for ${ style.label }`);\n }\n\n}\n\nexport function validateButtonStyle(style : Object = {}, props : Object) {\n\n if (!style) {\n throw new Error(`Expected props.style to be set`);\n }\n\n const label = style[BUTTON_STYLE_OPTIONS.LABEL] || getButtonConfig('DEFAULT', (style[BUTTON_STYLE_OPTIONS.LAYOUT] === BUTTON_LAYOUT.VERTICAL) ? 'defaultVerticalLabel' : 'defaultLabel');\n\n if (!BUTTON_CONFIG[label]) {\n throw new Error(`Invalid button label: ${ label }, expected: ${ Object.keys(BUTTON_CONFIG[label]).join(', ') }`);\n }\n\n const {\n [ BUTTON_STYLE_OPTIONS.COLOR ]: color,\n [ BUTTON_STYLE_OPTIONS.SHAPE ]: shape,\n [ BUTTON_STYLE_OPTIONS.SIZE ]: size,\n [ BUTTON_STYLE_OPTIONS.BRANDING ]: branding,\n [ BUTTON_STYLE_OPTIONS.FUNDINGICONS ]: fundingicons,\n [ BUTTON_STYLE_OPTIONS.TAGLINE ]: tagline,\n [ BUTTON_STYLE_OPTIONS.LAYOUT ]: layout,\n [ BUTTON_STYLE_OPTIONS.MAXBUTTONS ]: maxbuttons,\n [ BUTTON_STYLE_OPTIONS.HEIGHT ]: height\n } = style;\n\n if (color && getButtonConfig(label, 'colors').indexOf(color) === -1) {\n throw new Error(`Unexpected style.${ BUTTON_STYLE_OPTIONS.COLOR } for ${ label } button: ${ color }, expected ${ getButtonConfig(label, 'colors').join(', ') }`);\n }\n\n if (shape && getButtonConfig(label, 'shapes').indexOf(shape) === -1) {\n throw new Error(`Unexpected style.${ BUTTON_STYLE_OPTIONS.SHAPE } for ${ label } button: ${ shape }, expected ${ getButtonConfig(label, 'shapes').join(', ') }`);\n }\n\n if (size && getButtonConfig(label, 'sizes').indexOf(size) === -1) {\n throw new Error(`Unexpected style.${ BUTTON_STYLE_OPTIONS.SIZE } for ${ label } button: ${ size }, expected ${ getButtonConfig(label, 'sizes').join(', ') }`);\n }\n\n if (branding === false) {\n throw new Error(`style.${ BUTTON_STYLE_OPTIONS.BRANDING }:false is not allowed`);\n }\n\n if (fundingicons && !getButtonConfig(label, 'allowFundingIcons')) {\n throw new Error(`style.${ BUTTON_STYLE_OPTIONS.FUNDINGICONS }:true is not allowed for ${ label } button`);\n }\n\n if (layout && getButtonConfig(label, 'layouts').indexOf(layout) === -1) {\n throw new Error(`Unexpected style.${ BUTTON_STYLE_OPTIONS.LAYOUT } for ${ label } button: ${ layout }, expected ${ getButtonConfig(label, 'layouts').join(', ') }`);\n }\n\n if (maxbuttons !== undefined) {\n if (typeof maxbuttons !== 'number') {\n throw new TypeError(`Expected style.${ BUTTON_STYLE_OPTIONS.MAXBUTTONS } to be a number, got: ${ maxbuttons }`);\n }\n\n if (maxbuttons < 1) {\n throw new Error(`Expected style.${ BUTTON_STYLE_OPTIONS.MAXBUTTONS } to be a at least 1, got: ${ maxbuttons }`);\n }\n\n const minButtons = (layout === BUTTON_LAYOUT.VERTICAL)\n ? getButtonConfig(label, 'minVerticalButtons')\n : getButtonConfig(label, 'minHorizontalButtons');\n\n if (maxbuttons < minButtons) {\n throw new Error(`Expected style.${ BUTTON_STYLE_OPTIONS.MAXBUTTONS } to be no fewer than ${ minButtons }, got ${ maxbuttons }`);\n }\n }\n\n if (height !== undefined) {\n if (typeof height !== 'number') {\n throw new TypeError(`Expected style.${ BUTTON_STYLE_OPTIONS.HEIGHT } to be a number, got: ${ maxbuttons }`);\n }\n\n const buttonSize = size || getButtonConfig(label, (style.layout === BUTTON_LAYOUT.VERTICAL) ? 'defaultVerticalSize' : 'defaultSize');\n\n const { minHeight, maxHeight } = (size === BUTTON_SIZE.RESPONSIVE) ? {\n minHeight: BUTTON_STYLE[BUTTON_SIZE.SMALL].minHeight,\n maxHeight: BUTTON_STYLE[BUTTON_SIZE.HUGE].maxHeight\n } : BUTTON_STYLE[buttonSize];\n\n if (height < minHeight || height > maxHeight) {\n throw new Error(`Expected style.${ BUTTON_STYLE_OPTIONS.HEIGHT } to be between ${ minHeight }px and ${ maxHeight }px - got ${ height }px`);\n }\n }\n\n if (!getButtonConfig(label, 'allowPrimary')) {\n throw new Error(`${ label } can not be used as primary button label`);\n }\n\n if (layout === BUTTON_LAYOUT.VERTICAL) {\n\n if (size && [ BUTTON_SIZE.MEDIUM, BUTTON_SIZE.LARGE, BUTTON_SIZE.RESPONSIVE ].indexOf(size) === -1) {\n throw new Error(`Button must be at least ${ BUTTON_SIZE.MEDIUM } size for ${ BUTTON_LAYOUT.VERTICAL } layout`);\n }\n\n if (!getButtonConfig(label, 'allowPrimaryVertical')) {\n throw new Error(`style.${ BUTTON_STYLE_OPTIONS.LABEL } option is not allowed for ${ BUTTON_LAYOUT.VERTICAL } layout - got ${ label }`);\n }\n\n if (fundingicons) {\n throw new Error(`style.${ BUTTON_STYLE_OPTIONS.FUNDINGICONS } not allowed for ${ BUTTON_LAYOUT.VERTICAL } layout - got ${ fundingicons }`);\n }\n\n if (tagline) {\n throw new Error(`style.${ BUTTON_STYLE_OPTIONS.TAGLINE } is not allowed for ${ BUTTON_LAYOUT.VERTICAL } layout - got ${ tagline }`);\n }\n }\n\n validateRegionSpecificButton(style, props.locale);\n}\n\nexport function validateButtonProps(props : Object) {\n\n if (!props) {\n throw new Error(`Expected props`);\n }\n\n const { locale, style } = props;\n\n validateButtonLocale(locale);\n validateButtonStyle(style, props);\n}\n","/* @flow */\n\nexport const CLASS = {\n SHOULD_FOCUS: 'paypal-should-focus',\n\n CONTAINER: 'paypal-button-container',\n BUTTON: 'paypal-button',\n \n BUTTON_LABEL: 'paypal-button-label-container',\n\n LABEL: 'paypal-button-label',\n COLOR: 'paypal-button-color',\n LOGO_COLOR: 'paypal-button-logo-color',\n SHAPE: 'paypal-button-shape',\n BRANDING: 'paypal-button-branding',\n LAYOUT: 'paypal-button-layout',\n NUMBER: 'paypal-button-number',\n ENV: 'paypal-button-env',\n\n TAGLINE: 'paypal-button-tagline',\n TAGLINE_COLOR: 'paypal-button-tagline-color',\n FUNDINGICONS: 'paypal-button-fundingicons',\n\n TEXT: 'paypal-button-text',\n LOGO: 'paypal-button-logo',\n CARD: 'paypal-button-card',\n\n SEPARATOR: 'paypal-separator',\n HIDDEN: 'hidden',\n DOM_READY: 'dom-ready',\n \n PERSONALIZATION_TEXT: 'personalization-text'\n};\n","/* @flow */\n/** @jsx jsxDom */\n/* eslint max-lines: 0 */\n\nimport { ZalgoPromise } from 'zalgo-promise/src';\nimport { create } from 'zoid/src';\nimport { type Component } from 'zoid/src/component/component';\nimport { info, warn, track, error, flush as flushLogs, immediateFlush } from 'beaver-logger/client';\nimport { getDomain } from 'cross-domain-utils/src';\nimport { base64encode, identity, noop, isDevice, isIEIntranet } from 'belter/src';\nimport { debounce, once } from 'zoid/src/lib';\n\nimport { pptm } from '../external';\nimport { config } from '../config';\nimport { SOURCE, ENV, FPTI, FUNDING, BUTTON_LABEL, BUTTON_COLOR,\n BUTTON_SIZE, BUTTON_SHAPE, BUTTON_LAYOUT, COUNTRY, FUNDING_BRAND_LABEL } from '../constants';\nimport { redirect as redir, checkRecognizedBrowser,\n getBrowserLocale, getSessionID, getStorageID, request, getScriptVersion,\n isEligible, getCurrentScriptUrl,\n getDomainSetting, extendUrl, rememberFunding,\n getRememberedFunding, memoize, uniqueID, getThrottle,\n getBrowser, isSupportedNativeBrowser, getRenderedButtons } from '../lib';\nimport { rest } from '../api';\nimport { onAuthorizeListener } from '../experiments';\nimport { getPaymentType, awaitBraintreeClient,\n mapPaymentToBraintree, type BraintreePayPalClient } from '../integrations';\nimport { awaitPopupBridge } from '../integrations/popupBridge';\nimport { validateFunding, isFundingIneligible, isFundingAutoEligible } from '../funding';\n\nimport { containerTemplate, componentTemplate } from './template';\nimport { validateButtonLocale, validateButtonStyle } from './validate';\nimport { setupButtonChild } from './child';\nimport { normalizeProps } from './props';\n\npptm.listenForLoadWithNoContent();\n\nfunction isCreditDualEligible(props) : boolean {\n\n const { label, funding, layout, locale, max, sources, env } = normalizeProps(props, { locale: getBrowserLocale() });\n const { allowed } = funding;\n const { country } = locale;\n\n if (allowed && allowed.indexOf(FUNDING.CREDIT) !== -1) {\n return false;\n }\n\n if (layout !== BUTTON_LAYOUT.HORIZONTAL) {\n return false;\n }\n\n if (max === 1) {\n return false;\n }\n\n if (label === BUTTON_LABEL.CREDIT) {\n return false;\n }\n\n if (country !== COUNTRY.US) {\n return false;\n }\n\n if (isFundingIneligible(FUNDING.CREDIT, { funding, locale, layout, env })) {\n return false;\n }\n\n if (isFundingAutoEligible(FUNDING.CREDIT, { funding, locale, layout })) {\n return false;\n }\n\n if (sources.indexOf(FUNDING.CREDIT) !== -1) {\n return false;\n }\n\n const domain = getDomain().replace(/^https?:\\/\\//, '').replace(/^www\\./, '');\n\n if (config.creditTestDomains.indexOf(domain) === -1) {\n return false;\n }\n\n return true;\n}\n\nlet creditThrottle;\n\ntype ButtonOptions = {|\n style : {|\n maxbuttons? : number,\n layout? : string,\n label? : string,\n size? : string,\n shape? : string,\n color? : string,\n tagline? : boolean\n |},\n client : {\n [string] : (string | ZalgoPromise)\n },\n funding? : { allowed? : $ReadOnlyArray, disallowed? : $ReadOnlyArray },\n env? : string,\n locale? : string,\n logLevel : string,\n awaitPopupBridge : Function,\n meta : Object,\n validate? : ({ enable : () => ZalgoPromise, disable : () => ZalgoPromise }) => void,\n stage? : string,\n authCode? : string,\n enableNativeCheckout? : boolean\n|};\n\nexport const Button : Component = create({\n\n tag: 'paypal-button',\n name: 'ppbutton',\n\n buildUrl(props) : string {\n const env = props.env || config.env;\n const url = config.buttonUrls[env];\n return url;\n },\n\n contexts: {\n iframe: true,\n popup: false\n },\n\n scrolling: false,\n listenForResize: true,\n\n containerTemplate,\n\n autoResize: {\n height: true,\n width: false\n },\n\n prerenderTemplate({ props, jsxDom } : { props : Object, jsxDom : Function }) : HTMLElement {\n\n const template = (\n
\n );\n\n template.addEventListener('click', () => {\n warn('button_pre_template_click');\n\n if (isIEIntranet()) {\n warn(`button_pre_template_click_intranet_mode`);\n\n flushLogs();\n\n // eslint-disable-next-line no-alert\n alert(`IE Intranet mode is not supported by PayPal. Please disable intranet mode, or continue in an alternate browser.`);\n }\n\n if (getDomainSetting('allow_full_page_fallback')) {\n info('pre_template_force_full_page');\n\n this.props.payment().then(token => {\n window.top.location = extendUrl(config.checkoutUrl, { token });\n });\n }\n });\n\n return (\n \n \n { template }\n \n \n );\n },\n\n get version() : string {\n return getScriptVersion();\n },\n\n get domain() : Object {\n return config.paypalDomains;\n },\n\n attributes: {\n iframe: {\n allowpaymentrequest: 'allowpaymentrequest',\n title: FUNDING_BRAND_LABEL.PAYPAL\n }\n },\n\n validate() {\n if (!isEligible()) {\n warn('button_render_ineligible');\n }\n },\n\n props: {\n domain: {\n type: 'string',\n required: false,\n def() : string {\n return window.location.host;\n },\n queryParam: true\n },\n\n sessionID: {\n type: 'string',\n required: false,\n def() : string {\n return getSessionID();\n },\n queryParam: true\n },\n\n buttonSessionID: {\n type: 'string',\n required: false,\n def() : ?string {\n return uniqueID();\n },\n queryParam: true\n },\n\n renderedButtons: {\n type: 'string',\n required: false,\n def(props) : string {\n return getRenderedButtons(props);\n },\n queryParam: true\n },\n\n storageID: {\n type: 'string',\n required: false,\n def() : string {\n return getStorageID();\n },\n queryParam: true\n },\n\n env: {\n type: 'string',\n required: false,\n queryParam: true,\n\n def() : string {\n return config.env;\n },\n\n validate(env) {\n if (env) {\n if (!config.paypalUrls[env]) {\n throw new Error(`Invalid env: ${ env }`);\n }\n }\n }\n },\n\n meta: {\n type: 'object',\n required: false,\n def() : Object {\n return {};\n }\n },\n\n enableNativeCheckout: {\n type: 'boolean',\n required: false,\n def() : boolean {\n return false;\n }\n },\n\n client: {\n type: 'object',\n required: false,\n def() : Object {\n return {};\n },\n\n validate(client, props) {\n const env = props.env || config.env;\n\n if (!client[env]) {\n throw new Error(`Client ID not found for env: ${ env }`);\n }\n\n if (typeof client[env] === 'string') {\n if (client[env].match(/^(.)\\1+$/)) {\n throw new Error(`Invalid client ID: ${ client[env] }`);\n }\n } else if (!ZalgoPromise.isPromise(client[env])) {\n throw new Error(`Expected client token to be either a string or a promise`);\n }\n },\n\n decorate(client : Object) : Object {\n if (client && client.sandbox === 'demo_sandbox_client_id') {\n client.sandbox = 'AZDxjDScFpQtjWTOUtWKbyN_bDt4OgqaF4eYXlewfBP4-8aqX3PiV8e1GWU6liB2CUXlkA59kJXE7M6R';\n }\n\n return client;\n }\n },\n\n source: {\n type: 'string',\n required: false,\n def() : string {\n return SOURCE.MANUAL;\n }\n },\n\n prefetchLogin: {\n type: 'boolean',\n required: false\n },\n\n stage: {\n type: 'string',\n required: false,\n queryParam: true,\n\n def(props) : ?string {\n const env = props.env || config.env;\n\n if (env === ENV.STAGE || env === ENV.LOCAL) {\n return config.stage;\n }\n }\n },\n\n updateClientConfiguration: {\n type: 'boolean',\n required: false,\n def: () => {\n return true;\n }\n },\n\n braintree: {\n type: 'object',\n required: false,\n validate(braintree, props) {\n\n if (!braintree.paypalCheckout) {\n throw new Error(`Expected Braintree paypal-checkout component to be loaded`);\n }\n\n if (!props.client) {\n throw new Error(`Expected client prop to be passed with Braintree authorization keys`);\n }\n },\n // $FlowFixMe\n decorate(braintree, props) : ZalgoPromise {\n const env = props.env || config.env;\n // $FlowFixMe\n return ZalgoPromise.hash(props.client).then(client => {\n return awaitBraintreeClient(braintree, client[env]);\n });\n }\n },\n\n payment: {\n type: 'function',\n required: true,\n memoize: false,\n timeout: __TEST__ ? 500 : 10 * 1000,\n alias: 'billingAgreement',\n\n decorate(original) : Function {\n return function payment(data = {}) : ZalgoPromise {\n\n const actions = {\n request,\n payment: {\n create: (options) => {\n return this.props.braintree\n ? this.props.braintree.then(client => {\n return client.createPayment(mapPaymentToBraintree(options.payment || options));\n })\n : ZalgoPromise.hash(this.props.client).then(client => {\n return rest.payment.create(this.props.env, client, options);\n });\n }\n },\n order: {\n create: (options) => {\n return ZalgoPromise.hash(this.props.client).then(client => {\n return rest.order.create(this.props.env, client, options);\n });\n }\n },\n braintree: {\n create: (options) => {\n if (!this.props.braintree) {\n throw new Error(`Can not create using Braintree - no braintree client provided`);\n }\n\n return this.props.braintree.then(client => {\n return client.createPayment(options);\n });\n }\n }\n };\n\n if (getDomainSetting('memoize_payment') && this.memoizedToken) {\n return this.memoizedToken;\n }\n\n this.memoizedToken = ZalgoPromise.try(original, this, [ data, actions ]);\n\n const startTime = Date.now();\n\n this.memoizedToken = this.memoizedToken.then(token => {\n\n if (!token) {\n error(`no_token_passed_to_payment`);\n throw new Error(`No value passed to payment`);\n }\n\n const elapsed = Date.now() - startTime;\n\n track({\n [ FPTI.KEY.STATE ]: FPTI.STATE.CHECKOUT,\n [ FPTI.KEY.TRANSITION ]: FPTI.TRANSITION.RECIEVE_PAYMENT,\n [ FPTI.KEY.CONTEXT_TYPE ]: FPTI.CONTEXT_TYPE[getPaymentType(token)],\n [ FPTI.KEY.CONTEXT_ID ]: token,\n [ FPTI.KEY.BUTTON_SESSION_UID ]: this.props.buttonSessionID,\n [ FPTI.KEY.RESPONSE_DURATION ]: elapsed,\n [ FPTI.KEY.BUTTON_VERSION ]: data && data.button_version\n });\n\n flushLogs();\n\n return token;\n });\n\n return this.memoizedToken;\n };\n }\n },\n\n authCode: {\n type: 'string',\n required: false,\n def() : string {\n return config.authCode;\n }\n },\n\n funding: {\n type: 'object',\n required: false,\n queryParam: true,\n validate({ allowed = [], disallowed = [] } : Object = {}) {\n validateFunding({ allowed, disallowed, remembered: [] });\n },\n def() : Object {\n return {};\n },\n decorate({ allowed = [], disallowed = [] } : Object = {}, props : ButtonOptions) : {} {\n\n allowed = Array.isArray(allowed) ? allowed : [];\n disallowed = Array.isArray(disallowed) ? disallowed : [];\n\n if (allowed && allowed.indexOf(FUNDING.ITAU) !== -1) {\n allowed = allowed.filter(source => (source !== FUNDING.ITAU));\n }\n\n if (isCreditDualEligible(props)) {\n creditThrottle = getThrottle('dual_credit_automatic', 50);\n\n if (creditThrottle.isEnabled()) {\n allowed = [ ...allowed, FUNDING.CREDIT ];\n }\n }\n\n let remembered = getRememberedFunding(sources => sources);\n\n if (remembered && remembered.indexOf(FUNDING.VENMO) !== -1) {\n remembered = remembered.filter(source => (source !== FUNDING.VENMO));\n }\n\n if (!isSupportedNativeBrowser() || getDomainSetting('disable_venmo')) {\n if (disallowed && disallowed.indexOf(FUNDING.VENMO) === -1) {\n disallowed = [ ...disallowed, FUNDING.VENMO ];\n }\n }\n\n return {\n allowed,\n disallowed,\n remembered,\n remember(sources) {\n rememberFunding(sources);\n }\n };\n }\n },\n\n commit: {\n type: 'boolean',\n required: false,\n queryParam: true,\n queryValue: (val) => {\n return val ? 'true' : 'false';\n }\n },\n\n onRender: {\n type: 'function',\n promisify: true,\n required: false,\n noop: true,\n decorate(original) : Function {\n return function decorateOnRender() : mixed {\n const { browser = 'unrecognized', version = 'unrecognized' } = getBrowser();\n info(`button_render_browser_${ browser }_${ isDevice() ? 'mobile' : 'desktop' }_${ version }`);\n\n const style = this.props.style || {};\n\n info(`button_render`);\n info(`button_render_color_${ style.color || 'default' }`);\n info(`button_render_shape_${ style.shape || 'default' }`);\n info(`button_render_size_${ style.size || 'default' }`);\n info(`button_render_label_${ style.label || 'default' }`);\n info(`button_render_branding_${ style.branding || 'default' }`);\n info(`button_render_fundingicons_${ style.fundingicons || 'default' }`);\n info(`button_render_tagline_${ style.tagline || 'default' }`);\n\n pptm.listenForButtonRender();\n pptm.reloadPptmScript(this.props.client[this.props.env]);\n\n track({\n [ FPTI.KEY.STATE ]: FPTI.STATE.LOAD,\n [ FPTI.KEY.TRANSITION ]: FPTI.TRANSITION.BUTTON_RENDER,\n [ FPTI.KEY.BUTTON_TYPE ]: FPTI.BUTTON_TYPE.IFRAME,\n [ FPTI.KEY.BUTTON_SESSION_UID ]: this.props.buttonSessionID,\n [ FPTI.KEY.BUTTON_SOURCE ]: this.props.source\n });\n\n if (isIEIntranet()) {\n warn(`button_render_intranet_mode`);\n }\n\n if (creditThrottle) {\n creditThrottle.logStart({\n [ FPTI.KEY.BUTTON_SESSION_UID ]: this.props.buttonSessionID\n });\n }\n\n flushLogs();\n\n return original.apply(this, arguments);\n };\n }\n },\n\n onAuthorize: {\n type: 'function',\n alias: 'onApprove',\n required: true,\n\n decorate(original) : Function {\n return function decorateOnAuthorize(data, actions) : void | ZalgoPromise {\n\n if (data && !data.intent) {\n warn(`button_authorize_no_intent`, { paymentID: data.paymentID, token: data.paymentToken });\n }\n\n info('button_authorize');\n\n track({\n [ FPTI.KEY.STATE ]: FPTI.STATE.CHECKOUT,\n [ FPTI.KEY.TRANSITION ]: FPTI.TRANSITION.CHECKOUT_APPROVE,\n [ FPTI.KEY.BUTTON_SESSION_UID ]: this.props.buttonSessionID,\n [ FPTI.KEY.BUTTON_VERSION ]: data && data.button_version\n });\n\n if (isIEIntranet()) {\n warn(`button_authorize_intranet_mode`);\n }\n\n if (!isEligible()) {\n info('button_authorize_ineligible');\n }\n\n checkRecognizedBrowser('authorize');\n\n flushLogs();\n\n const restart = actions.restart;\n actions.restart = () => {\n return restart().then(() => {\n return new ZalgoPromise();\n });\n };\n\n actions.redirect = (win, url) => {\n return ZalgoPromise.try(() => {\n if (actions.close) {\n return actions.close();\n }\n }).then(() => {\n return redir(win || window.top, url || data.returnUrl);\n });\n };\n\n actions.payment.tokenize = memoize(() => {\n if (!this.props.braintree) {\n throw new Error(`Must pass in Braintree client to tokenize payment`);\n }\n\n return this.props.braintree\n .then(client => client.tokenizePayment(data));\n });\n\n const execute = actions.payment.execute;\n actions.payment.execute = () => {\n return execute().then(result => {\n\n if (!result || !result.id || !result.intent || !result.state) {\n warn(`execute_result_missing_data`);\n return new ZalgoPromise();\n }\n\n return result;\n });\n };\n\n const get = actions.payment.get;\n\n actions.payment.get = () => {\n return get().then(result => {\n if (!result || !result.id || !result.intent || !result.state) {\n warn(`get_result_missing_data`);\n return new ZalgoPromise();\n }\n\n return result;\n });\n };\n\n actions.request = request;\n\n onAuthorizeListener.trigger({\n paymentToken: data.paymentToken\n });\n\n if (creditThrottle) {\n creditThrottle.logComplete({\n [FPTI.KEY.BUTTON_SESSION_UID]: this.props.buttonSessionID\n });\n }\n\n return ZalgoPromise.try(() => {\n\n if (this.props.braintree) {\n return actions.payment.tokenize().then(({ nonce }) => {\n // $FlowFixMe\n Object.defineProperty(data, 'nonce', {\n get: () => {\n info('nonce_getter');\n flushLogs();\n return nonce;\n }\n });\n });\n }\n\n }).then(() => {\n return original.call(this, data, actions);\n }).catch(err => {\n if (this.props.onError) {\n return this.props.onError(err);\n }\n throw err;\n });\n };\n }\n },\n\n onShippingChange: {\n type: 'function',\n required: false,\n\n decorate(original) : void | Function {\n if (!original) {\n return;\n }\n\n return function decorateOnShippingChange(data, actions) : ZalgoPromise {\n\n info('button_shipping_change');\n\n track({\n [ FPTI.KEY.STATE ]: FPTI.STATE.CHECKOUT,\n [ FPTI.KEY.TRANSITION ]: FPTI.TRANSITION.CHECKOUT_SHIPPING_CHANGE,\n [ FPTI.KEY.BUTTON_SESSION_UID ]: this.props.buttonSessionID,\n [ FPTI.KEY.BUTTON_VERSION ]: data && data.button_version\n });\n\n flushLogs();\n const timeout = __TEST__ ? 500 : 10 * 1000;\n\n const patch = actions.payment.patch;\n actions.payment.patch = (patchObject) => {\n return ZalgoPromise.try(() => {\n return patch(patchObject);\n });\n };\n\n const resolve = () => ZalgoPromise.resolve();\n const reject = actions.reject || function reject() {\n throw new Error(`Missing reject action callback`);\n };\n\n return ZalgoPromise.try(() => {\n return original.call(this, data, { ...actions, resolve, reject });\n }).timeout(timeout,\n new Error(`Timed out waiting ${ timeout }ms for payment`)).catch(err => {\n if (this.props.onError) {\n this.props.onError(err);\n }\n throw err;\n });\n };\n }\n },\n\n onError: {\n type: 'function',\n required: false,\n promisify: true,\n sendToChild: true,\n once: true,\n def() : (() => void) {\n return function onError(err : mixed) {\n if (isIEIntranet()) {\n warn(`button_error_intranet_mode`);\n flushLogs();\n\n // eslint-disable-next-line no-alert\n alert(`IE Intranet mode is not supported by PayPal. Please disable intranet mode, or continue in an alternate browser.`);\n }\n\n setTimeout(() => {\n throw err;\n });\n };\n }\n },\n\n onCancel: {\n type: 'function',\n required: false,\n noop: true,\n\n decorate(original) : Function {\n return function decorateOnCancel(data, actions) : void | ZalgoPromise {\n\n info('button_cancel');\n\n track({\n [ FPTI.KEY.STATE ]: FPTI.STATE.CHECKOUT,\n [ FPTI.KEY.TRANSITION ]: FPTI.TRANSITION.CHECKOUT_CANCEL,\n [ FPTI.KEY.BUTTON_SESSION_UID ]: this.props.buttonSessionID,\n [ FPTI.KEY.BUTTON_VERSION ]: data && data.button_version\n });\n\n flushLogs();\n\n const redirect = (win, url) => {\n return ZalgoPromise.all([\n redir(win || window.top, url || data.cancelUrl),\n actions.close()\n ]);\n };\n\n return original.call(this, data, { ...actions, redirect });\n };\n }\n },\n\n onClick: {\n type: 'function',\n required: false,\n noop: true,\n decorate(original) : Function {\n return function decorateOnClick(data : ?{ fundingSource : string, card? : string, flow? : string, button_version? : string }) : void {\n\n info('button_click');\n if (data && data.flow) {\n info(`pay_flow_${ data.flow }`);\n }\n\n track({\n [ FPTI.KEY.STATE ]: FPTI.STATE.BUTTON,\n [ FPTI.KEY.TRANSITION ]: FPTI.TRANSITION.BUTTON_CLICK,\n [ FPTI.KEY.BUTTON_TYPE ]: FPTI.BUTTON_TYPE.IFRAME,\n [ FPTI.KEY.BUTTON_SESSION_UID ]: this.props.buttonSessionID,\n [ FPTI.KEY.CHOSEN_FUNDING ]: data && (data.card || data.fundingSource),\n [ FPTI.KEY.PAYMENT_FLOW ]: data && data.flow,\n [ FPTI.KEY.BUTTON_VERSION ]: data && data.button_version\n });\n\n if (isIEIntranet()) {\n warn('button_click_intranet_mode');\n }\n\n if (creditThrottle) {\n creditThrottle.log('click', {\n [ FPTI.KEY.STATE ]: FPTI.STATE.BUTTON,\n [ FPTI.KEY.TRANSITION ]: FPTI.TRANSITION.BUTTON_CLICK,\n [ FPTI.KEY.BUTTON_SESSION_UID ]: this.props.buttonSessionID\n });\n }\n\n const { color = 'default' } = this.props.style || {};\n info(`button_click_color_${ color }`);\n\n flushLogs();\n\n return original.apply(this, arguments);\n };\n }\n },\n\n onResize: {\n type: 'function',\n required: false,\n get value() : Function {\n let initialHeight;\n const logInlineGuestOutOfViewPortOnlyOnce = once((data) => {\n info('buttons_expansion_outside_viewport', data);\n immediateFlush();\n });\n\n return function onResizeHandler() {\n const container = this.container;\n\n if (!container) {\n return;\n }\n\n if (!initialHeight) {\n initialHeight = container.offsetHeight;\n }\n\n const getScrollOffsetY = () => {\n if (window.pageYOffset) {\n return window.pageYOffset;\n }\n\n if (document.documentElement) {\n return document.documentElement.scrollTop;\n }\n\n return 0;\n };\n\n // explanation https://github.com/paypal/paypal-checkout-components/pull/1136#discussion_r298025574\n const checkIfExpansionInViewport = () => {\n try {\n const scrollOffsetY = getScrollOffsetY();\n const windowHeight = window.innerHeight;\n\n const containerOffsetY = container.getBoundingClientRect().top;\n const VISIBLE_THRESHOLD = 200; // 200px, for the first input field to be visible\n\n return scrollOffsetY + windowHeight > initialHeight + containerOffsetY + VISIBLE_THRESHOLD;\n } catch (err) {\n info('cannot_get_the_viewport_information');\n return false;\n }\n };\n\n const isContainerExpanded = container && container.offsetHeight > initialHeight;\n const isExpansionInViewport = checkIfExpansionInViewport();\n\n if (!isContainerExpanded || isExpansionInViewport) {\n return;\n }\n\n logInlineGuestOutOfViewPortOnlyOnce({\n height: container.offsetHeight,\n window: {\n width: window.innerWidth,\n height: window.innerHeight\n }\n });\n };\n },\n decorate: (original) => debounce(original)\n },\n\n locale: {\n type: 'string',\n required: false,\n queryParam: 'locale.x',\n\n def() : string {\n const { lang, country } = getBrowserLocale();\n return `${ lang }_${ country }`;\n },\n\n validate: validateButtonLocale\n },\n\n style: {\n type: 'object',\n required: false,\n queryParam: true,\n alias: 'buttonStyle',\n\n def() : Object {\n return {\n color: BUTTON_COLOR.GOLD,\n shape: BUTTON_SHAPE.PILL,\n size: BUTTON_SIZE.SMALL,\n label: BUTTON_LABEL.CHECKOUT,\n fundingicons: false,\n layout: BUTTON_LAYOUT.HORIZONTAL\n };\n },\n\n decorate(style : Object) : Object {\n const { label, layout = BUTTON_LAYOUT.HORIZONTAL } = style;\n if (!label && layout === BUTTON_LAYOUT.HORIZONTAL) {\n style.label = BUTTON_LABEL.CHECKOUT;\n return style;\n } else if (!label && layout === BUTTON_LAYOUT.VERTICAL) {\n style.label = BUTTON_LABEL.PAYPAL;\n return style;\n }\n return style;\n },\n\n validate(style = {}, props) {\n validateButtonStyle(style, props);\n flushLogs();\n }\n },\n\n validate: {\n type: 'function',\n required: false,\n decorate(validate) : Function {\n // $FlowFixMe\n return function decorateValidate(actions) : mixed {\n if (!this.validateCalled) {\n this.validateCalled = true;\n return validate(actions);\n }\n };\n }\n },\n\n logLevel: {\n type: 'string',\n required: false,\n get value() : string {\n return config.logLevel;\n }\n },\n\n sdkMeta: {\n type: 'string',\n queryParam: true,\n sendToChild: false,\n def: () => {\n return base64encode(JSON.stringify({\n url: getCurrentScriptUrl()\n }));\n }\n },\n\n awaitPopupBridge: {\n type: 'object',\n required: false,\n value: () => awaitPopupBridge(Button)\n },\n\n getPageUrl: {\n type: 'function',\n queryParam: false,\n required: false,\n def: () => {\n return () => window.location.href;\n }\n },\n\n test: {\n type: 'object',\n required: false,\n def() : Object {\n return { action: 'checkout' };\n }\n }\n }\n});\n\n// $FlowFixMe\nconst instances = Button.instances = [];\n\nconst render = Button.render;\n\n// $FlowFixMe\nButton.render = function ButtonRender(props : ButtonOptions = {}, ...args) : ZalgoPromise {\n const instance = {\n clone: ({ decorate = identity } : { decorate? : (ButtonOptions) => ButtonOptions } = {}) => {\n return {\n render: (container) => {\n const decoratedProps : ButtonOptions = decorate(props);\n // $FlowFixMe\n return render.call(Button, decoratedProps, container);\n }\n };\n }\n };\n\n instances.push(instance);\n\n const { onDestroy = noop } = props;\n const newProps = {\n ...props,\n onDestroy: function onDestroyWrapper() : void {\n const index = instances.indexOf(instance);\n if (index !== -1) {\n instances.splice(index, 1);\n }\n return onDestroy.apply(this, arguments);\n }\n };\n\n return render.call(Button, newProps, ...args);\n};\n\nif (Button.isChild()) {\n setupButtonChild(Button);\n}\n","/* @flow */\n\nimport { CLASS } from './class';\n\nexport const pageStyle = `\n html, body {\n padding: 0;\n margin: 0;\n width: 100%;\n overflow: hidden;\n text-align: center;\n }\n\n body {\n display: inline-block;\n vertical-align: top;\n }\n\n * {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n box-sizing: border-box;\n }\n \n .${ CLASS.HIDDEN } {\n position: absolute;\n visibility: hidden;\n }\n`;\n","/* @flow */\n\nimport { BUTTON_COLOR, ENV } from '../../../constants';\n\nimport { CLASS } from './class';\n\nexport const buttonStyle = `\n\n .${ CLASS.CONTAINER } {\n display: block;\n white-space: nowrap;\n margin: 0;\n background: 0;\n border: 0;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n text-transform: none;\n font-weight: 500;R\n -webkit-font-smoothing: antialiased;\n font-smoothing: antialiased;\n z-index: 0;\n font-size: 0;\n width: 100%;\n box-sizing: border-box;\n }\n\n .${ CLASS.BUTTON }:not(.${ CLASS.CARD }) {\n border: 1px solid transparent;\n border-radius: 0 3px 3px 0;\n position: relative;\n width: 100%;\n box-sizing: border-box;\n border: none;\n vertical-align: top;\n cursor: pointer;\n outline: none;\n overflow: hidden;\n }\n\n .${ CLASS.BUTTON }.${ CLASS.COLOR }-${ BUTTON_COLOR.TRANSPARENT } {\n cursor: auto;\n }\n\n .${ CLASS.BUTTON } * {\n cursor: pointer;\n }\n\n .${ CLASS.CONTAINER }.${ CLASS.ENV }-${ ENV.TEST } .${ CLASS.TEXT } {\n font-family: Arial !important;\n background: rgba(0, 0, 0, 0.5) !important;\n color: transparent !important;\n text-shadow: none !important;\n }\n\n .${ CLASS.BUTTON }:hover {\n box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.2);\n }\n\n .${ CLASS.BUTTON }.${ CLASS.COLOR }-${ BUTTON_COLOR.GOLD }:hover,\n .${ CLASS.BUTTON }.${ CLASS.COLOR }-${ BUTTON_COLOR.SILVER }:hover {\n box-shadow: inset 0 0 100px 100px rgba(0, 0, 0, 0.05);\n }\n\n .${ CLASS.CARD }, .${ CLASS.CARD } * {\n cursor: pointer;\n }\n\n .${ CLASS.CARD }:hover {\n filter: brightness(1.2);\n }\n\n .${ CLASS.BUTTON }:focus, .${ CLASS.CARD }:focus {\n outline: none;\n }\n\n .${ CLASS.SHOULD_FOCUS } .${ CLASS.BUTTON }:focus,\n .${ CLASS.SHOULD_FOCUS } .${ CLASS.CARD }:focus {\n outline: solid 2px Highlight;\n outline: auto 5px -webkit-focus-ring-color;\n outline-offset: -3px;\n }\n\n .${ CLASS.BUTTON }:focus {\n box-shadow: -1px -1px 18px 1px rgba(0, 0, 0, 0.25) inset;\n }\n\n .${ CLASS.BUTTON }.${ CLASS.COLOR }-${ BUTTON_COLOR.TRANSPARENT }:focus {\n box-shadow: none;\n outline: none;\n }\n\n .${ CLASS.LOGO } {\n padding: 0;\n display: inline-block;\n background: none;\n border: none;\n width: auto;\n }\n\n .${ CLASS.TEXT } {\n display: inline-block;\n white-space: pre;\n }\n\n .${ CLASS.BUTTON } .${ CLASS.BUTTON_LABEL } {\n position: relative;\n top: 50%;\n transform: translateY(-50%);\n -webkit-transform: translateY(-50%);\n -moz-transform: translateY(-50%);\n -ms-transform: translateY(-50%);\n -o-transform: translateY(-50%);\n }\n \n .${ CLASS.BUTTON } > .${ CLASS.BUTTON_LABEL } > * {\n vertical-align: top;\n height: 100%;\n text-align: left;\n }\n\n .${ CLASS.BUTTON } .${ CLASS.CARD } {\n border-radius: 4px;\n }\n\n .powered-by-paypal > .${ CLASS.TEXT } {\n vertical-align: top;\n line-height: 18px;\n }\n\n .powered-by-paypal > .${ CLASS.LOGO } {\n height: 16px;\n min-height: 16px;\n }\n\n .${ CLASS.TAGLINE } {\n max-width: 100%;\n font-weight: normal;\n display: block;\n text-align: center;\n width: auto;\n }\n\n .${ CLASS.SEPARATOR } {\n height: 80%;\n border-left: 1px solid rgba(0, 0, 0, 0.15);\n margin: 0 8px;\n display: inline-block;\n position: relative;\n top: 10%;\n }\n\n .${ CLASS.BUTTON }.${ CLASS.COLOR }-${ BUTTON_COLOR.BLACK } .${ CLASS.SEPARATOR } {\n border-color: rgba(255, 255, 255, 0.45);\n }\n`;\n","/* @flow */\n\nimport { BUTTON_LAYOUT } from '../../../constants';\n\nimport { CLASS } from './class';\n\nexport const layoutStyle = `\n\n .${ CLASS.CONTAINER }.${ CLASS.LAYOUT }-${ BUTTON_LAYOUT.VERTICAL } .${ CLASS.TAGLINE } {\n display: none;\n }\n`;\n","/* @flow */\n\nimport { BUTTON_BRANDING } from '../../../constants';\n\nimport { CLASS } from './class';\n\nexport const brandingStyle = `\n\n .${ CLASS.BUTTON }.${ CLASS.BRANDING }-${ BUTTON_BRANDING.UNBRANDED } {\n min-width: 60%;\n width: auto;\n font-weight: 900;\n }\n\n .${ CLASS.BUTTON }.${ CLASS.BRANDING }-${ BUTTON_BRANDING.UNBRANDED } .${ CLASS.LOGO } {\n display: none;\n }\n`;\n","/* @flow */\n\nimport { BUTTON_STYLE } from '../../config';\nimport { BUTTON_LABEL, BUTTON_LOGO, BUTTON_SIZE, BUTTON_LAYOUT, BUTTON_NUMBER } from '../../../constants';\n\nimport { CLASS } from './class';\n\nexport const labelStyle = `\n\n .${ CLASS.BUTTON }.${ CLASS.LABEL }-${ BUTTON_LABEL.CARD } {\n border-radius: 0 !important;\n }\n\n .${ CLASS.BUTTON }.${ CLASS.LABEL }-${ BUTTON_LABEL.CREDIT } .${ CLASS.TEXT } {\n display: none !important;\n }\n\n .${ CLASS.BUTTON }.${ CLASS.LAYOUT }-${ BUTTON_LAYOUT.HORIZONTAL }.${ CLASS.NUMBER }-${ BUTTON_NUMBER.MULTIPLE }.${ CLASS.LABEL }-${ BUTTON_LABEL.CREDIT } .${ CLASS.LOGO }.${ CLASS.LOGO }-${ BUTTON_LOGO.PAYPAL } {\n display: none;\n }\n\n @media only screen and (max-width : ${ BUTTON_STYLE[BUTTON_SIZE.SMALL].minWidth }px) {\n\n .${ CLASS.BUTTON }.${ CLASS.LABEL }-${ BUTTON_LABEL.CREDIT } .${ CLASS.LOGO }.${ CLASS.LOGO }-${ BUTTON_LOGO.PAYPAL } {\n display: none;\n }\n }\n\n @media only screen and (min-width : ${ BUTTON_STYLE[BUTTON_SIZE.SMALL].minWidth }px) {\n\n .${ CLASS.BUTTON }.${ CLASS.LABEL }-${ BUTTON_LABEL.CREDIT } .${ CLASS.LOGO }.${ CLASS.LOGO }-${ BUTTON_LOGO.PAYPAL } {\n display: inline-block;\n }\n }\n`;\n","/* @flow */\n\nimport { BUTTON_COLOR } from '../../../constants';\n\nimport { CLASS } from './class';\n\nexport const buttonColorStyle = `\n\n .${ CLASS.BUTTON }.${ CLASS.COLOR }-${ BUTTON_COLOR.GOLD } {\n background: #ffc439;\n color: #111;\n }\n\n .${ CLASS.BUTTON }.${ CLASS.COLOR }-${ BUTTON_COLOR.BLUE } {\n background: #009cde;\n color: #fff;\n }\n\n .${ CLASS.BUTTON }.${ CLASS.COLOR }-${ BUTTON_COLOR.SILVER } {\n background: #eee;\n color: #111;\n }\n\n .${ CLASS.BUTTON }.${ CLASS.COLOR }-${ BUTTON_COLOR.BLACK } {\n background: #2C2E2F;\n color: #fff;\n }\n\n .${ CLASS.BUTTON }.${ CLASS.COLOR }-${ BUTTON_COLOR.DARKBLUE } {\n background: #003087;\n color: #fff;\n }\n\n .${ CLASS.BUTTON }.${ CLASS.COLOR }-${ BUTTON_COLOR.TRANSPARENT } {\n background: transparent;\n color: #111;\n }\n\n .${ CLASS.BUTTON }.${ CLASS.COLOR }-${ BUTTON_COLOR.WHITE } {\n background: #fff;\n color: #2C2E2F;\n border: 1px solid #2C2E2F;\n }\n`;\n","/* @flow */\n/* eslint max-lines: off */\n\nexport const componentContent = {\n 'AD': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'AE': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n },\n 'ar': {\n 'checkout': 'السداد بواسطة {logo:pp} {logo:paypal}',\n 'safer_tag': 'الطريقة الأسهل والأكثر أماناً في الدفع',\n 'later_tag': 'اشترِ الآن، وسدّد على دفعات',\n 'pay': 'دفع بواسطة {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} شراء الآن',\n 'poweredBy': 'مدعوم من {logo:paypal}'\n }\n },\n 'AG': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'AI': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'AL': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'AM': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'AN': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'AO': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'AR': {\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'AT': {\n 'de': {\n 'checkout': 'Direkt zu {logo:pp} {logo:paypal}',\n 'safer_tag': 'Einfach schneller und sicherer bezahlen',\n 'later_tag': 'Kaufen Sie jetzt und bezahlen Sie nach und nach.',\n 'pay': 'Mit {logo:paypal} zahlen',\n 'buynow': '{logo:pp} {logo:paypal} Jetzt kaufen',\n 'poweredBy': 'Abgewickelt durch {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'AU': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'AW': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'AZ': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'BA': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'BB': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'BE': {\n 'en': {\n 'checkout': 'Pay with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, faster way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'nl': {\n 'checkout': 'Betalen met {logo:pp} {logo:paypal}',\n 'safer_tag': 'De veiligere en snellere manier om te betalen.',\n 'later_tag': 'Koop nu. Betaal later.',\n 'pay': 'Betalen met {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Nu kopen',\n 'poweredBy': 'Mogelijk gemaakt door {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Le réflexe sécurité pour payer',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n }\n },\n 'BF': {\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'BG': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'BH': {\n 'ar': {\n 'checkout': 'السداد بواسطة {logo:pp} {logo:paypal}',\n 'safer_tag': 'الطريقة الأسهل والأكثر أماناً في الدفع',\n 'later_tag': 'اشترِ الآن، وسدّد على دفعات',\n 'pay': 'دفع بواسطة {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} شراء الآن',\n 'poweredBy': 'مدعوم من {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'BI': {\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'BJ': {\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'BM': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'BN': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A safer, faster way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'BO': {\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'BR': {\n 'pt': {\n 'checkout': '{logo:pp} {logo:paypal} Finalizar',\n 'safer_tag': 'A maneira fácil e segura de pagar.',\n 'later_tag': 'Compre agora e pague depois.',\n 'pay': 'Pague com {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar agora',\n 'installment': '{logo:pp} {logo:paypal} Pagamentos parcelados',\n 'installment_period': '{logo:pp} {logo:paypal} Pague em at\\u00e9 [installmentperiod]x sem juros',\n 'poweredBy': 'Com tecnologia {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'installment': '{logo:pp} {logo:paypal} Interest free payments',\n 'installment_period': '{logo:pp} {logo:paypal} Pay up to [installmentperiod]x without interest',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'BS': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'BT': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A safer, faster way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'BW': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'BY': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'BZ': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'C2': {\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式。',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A safer, faster way to pay.',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'CA': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': '{logo:pp} {logo:paypal} Payer',\n 'safer_tag': 'Votre réflexe sécurité pour payer',\n 'later_tag': 'Acheter. Payer plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n }\n },\n 'CD': {\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'CG': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'CH': {\n 'de': {\n 'checkout': 'Direkt zu {logo:pp} {logo:paypal}',\n 'safer_tag': 'Einfach schneller und sicherer bezahlen',\n 'later_tag': 'Kaufen Sie jetzt und bezahlen Sie nach und nach.',\n 'pay': 'Mit {logo:paypal} zahlen',\n 'buynow': '{logo:pp} {logo:paypal} Jetzt kaufen',\n 'poweredBy': 'Abgewickelt durch {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Le réflexe sécurité pour payer',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'CI': {\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'CK': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'CL': {\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'CM': {\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'CN': {\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'CO': {\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'CR': {\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'CV': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'CY': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'CZ': {\n 'cs': {\n 'checkout': 'Zaplatit přes {logo:pp} {logo:paypal}',\n 'safer_tag': 'Jednodušší a bezpečnější způsob placení',\n 'later_tag': 'Nakupujte nyní, plaťte později.',\n 'pay': 'Zaplatit přes {logo: paypal}',\n 'buynow': 'Koupit ihned přes {logo:pp} {logo:paypal}',\n 'poweredBy': 'Využívá službu {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'DE': {\n 'de': {\n 'checkout': 'Direkt zu {logo:pp} {logo:paypal}',\n 'safer_tag': 'Überall schnell und sicher bezahlen.',\n 'later_tag': 'Jetzt bei uns bequem in Raten zahlen.',\n 'pay': 'Mit {logo:paypal} zahlen',\n 'buynow': '{logo:pp} {logo:paypal} Jetzt kaufen',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'DJ': {\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'DK': {\n 'da': {\n 'checkout': '{logo:pp} {logo:paypal} Betal',\n 'safer_tag': 'Betal nemt og sikkert',\n 'later_tag': 'Køb nu, betal senere.',\n 'pay': 'Betal med {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Køb nu',\n 'poweredBy': 'Leveret af {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'DM': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'DO': {\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'DZ': {\n 'ar': {\n 'checkout': 'السداد بواسطة {logo:pp} {logo:paypal}',\n 'safer_tag': 'الطريقة الأسهل والأكثر أماناً في الدفع',\n 'later_tag': 'اشترِ الآن، وسدّد على دفعات',\n 'pay': 'دفع بواسطة {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} شراء الآن',\n 'poweredBy': 'مدعوم من {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'EC': {\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'EE': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'ru': {\n 'checkout': 'Оформить заказ через {logo:pp} {logo:paypal}',\n 'safer_tag': 'Более безопасный и простой способ оплаты.',\n 'later_tag': 'Покупайте сейчас, платите потом.',\n 'pay': 'Оплатить через {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Купить сейчас',\n 'poweredBy': 'Обработано {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'EG': {\n 'ar': {\n 'checkout': 'السداد بواسطة {logo:pp} {logo:paypal}',\n 'safer_tag': 'الطريقة الأسهل والأكثر أماناً في الدفع',\n 'later_tag': 'اشترِ الآن، وسدّد على دفعات',\n 'pay': 'دفع بواسطة {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} شراء الآن',\n 'poweredBy': 'مدعوم من {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'ER': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'ES': {\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Tecnología de {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'ET': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'FI': {\n 'fi': {\n 'checkout': '{logo:pp} {logo:paypal}-maksu',\n 'safer_tag': 'Turvallisempi ja helpompi maksutapa',\n 'later_tag': 'Osta nyt. Maksa vähitellen.',\n 'pay': '{logo:paypal}-maksu',\n 'buynow': '{logo:pp} {logo:paypal} Osta nyt',\n 'poweredBy': 'Palvelun tarjoaa {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'FJ': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'FK': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'FM': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A safer, faster way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'FO': {\n 'da': {\n 'checkout': 'Betal med {logo:pp} {logo:paypal}',\n 'safer_tag': 'Betal nemt og sikkert',\n 'later_tag': 'Køb nu, betal senere.',\n 'pay': 'Betal med {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Køb nu',\n 'poweredBy': 'Leveret af {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'FR': {\n 'fr': {\n 'checkout': '{logo:pp} {logo:paypal} Payer',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Pay',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'GA': {\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'GB': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'GD': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'GE': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'GF': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'GI': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'GL': {\n 'da': {\n 'checkout': 'Betal med {logo:pp} {logo:paypal}',\n 'safer_tag': 'Betal nemt og sikkert',\n 'later_tag': 'Køb nu, betal senere.',\n 'pay': 'Betal med {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Køb nu',\n 'poweredBy': 'Leveret af {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'GM': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'GN': {\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'GP': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'GR': {\n 'el': {\n 'checkout': 'Ολοκλήρωση αγοράς μέσω {logo:pp} {logo:paypal}',\n 'safer_tag': 'Ο ασφαλέστερος και ευκολότερος τρόπος πληρωμής',\n 'later_tag': 'Αγοράστε τώρα. Πληρώστε σε δόσεις.',\n 'pay': 'Πληρωμή μέσω {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Αγορά τώρα',\n 'poweredBy': 'Με την υποστήριξη του {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'GT': {\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'GW': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'GY': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'HK': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal} 結帳',\n 'safer_tag': '更安全、更方便的付款方式',\n 'later_tag': '先購買,後付款。',\n 'pay': '使用 {logo:paypal} 付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即買',\n 'poweredBy': '支援方: {logo:paypal}'\n }\n },\n 'HN': {\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'HR': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'HU': {\n 'hu': {\n 'checkout': '{logo:pp} {logo:paypal}-fizetés',\n 'safer_tag': 'Biztonságosabb, könnyebb fizetési mód.',\n 'later_tag': 'Vásároljon most. Fizessen később.',\n 'pay': '{logo:paypal}-fizetés',\n 'buynow': '{logo:pp} {logo:paypal} Vásárlás',\n 'poweredBy': 'Üzemeltető: {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'ID': {\n 'id': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'Cara yang lebih mudah dan aman untuk membayar.',\n 'later_tag': 'Beli Sekarang. Bayar dalam Jangka Waktu Tertentu.',\n 'pay': 'Bayar dengan {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Beli Sekarang',\n 'poweredBy': 'Ditunjang teknologi {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'IE': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'IL': {\n 'he': {\n 'checkout': '{logo:pp} {logo:paypal} שלם',\n 'safer_tag': '.הדרך הקלה והבטוחה יותר לשלם',\n 'later_tag': 'קנה עכשיו. שלם לאורך זמן.',\n 'pay': 'שלם באמצעות {logo:paypal}‏',\n 'buynow': '{logo:pp} {logo:paypal} קנה עכשיו',\n 'poweredBy': '{logo:paypal} מופעל על-ידי'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'IN': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A safer, faster way to pay.',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'IS': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'IT': {\n 'it': {\n 'checkout': '{logo:pp} {logo:paypal} Paga adesso',\n 'safer_tag': 'Il modo rapido e sicuro per pagare',\n 'later_tag': 'Acquista ora. Paga più tardi.',\n 'pay': 'Paga con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Paga adesso',\n 'poweredBy': 'Con tecnologia {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'JM': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'JO': {\n 'ar': {\n 'checkout': 'السداد بواسطة {logo:pp} {logo:paypal}',\n 'safer_tag': 'الطريقة الأسهل والأكثر أماناً في الدفع',\n 'later_tag': 'اشترِ الآن، وسدّد على دفعات',\n 'pay': 'دفع بواسطة {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} شراء الآن',\n 'poweredBy': 'مدعوم من {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'JP': {\n 'ja': {\n 'checkout': '{logo:pp} {logo:paypal}で支払う',\n 'safer_tag': 'より安全・簡単にお支払い',\n 'later_tag': '今すぐ購入して、分割してお支払い。',\n 'pay': '{logo:paypal}で支払う',\n 'buynow': '{logo:pp} {logo:paypal} 購入',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'KE': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'KG': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'KH': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A safer, faster way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'KI': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'KM': {\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'KN': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'KR': {\n 'ko': {\n 'checkout': '{logo:pp} {logo:paypal} 체크 아웃',\n 'safer_tag': '더 안전하고 빠른 결제 방법',\n 'later_tag': '지금 구매하고 천천히 결제하세요.',\n 'pay': '{logo:paypal}로 지불하기',\n 'buynow': '{logo:pp} {logo:paypal} 바로 구매',\n 'poweredBy': '제공: {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A safer, faster way to pay.',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'KW': {\n 'ar': {\n 'checkout': 'السداد بواسطة {logo:pp} {logo:paypal}',\n 'safer_tag': 'الطريقة الأسهل والأكثر أماناً في الدفع',\n 'later_tag': 'اشترِ الآن، وسدّد على دفعات',\n 'pay': 'دفع بواسطة {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} شراء الآن',\n 'poweredBy': 'مدعوم من {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'KY': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'KZ': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'LA': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A safer, faster way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'LC': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'LI': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'LK': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A safer, faster way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'LS': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'LT': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'ru': {\n 'checkout': 'Оформить заказ через {logo:pp} {logo:paypal}',\n 'safer_tag': 'Более безопасный и простой способ оплаты.',\n 'later_tag': 'Покупайте сейчас, платите потом.',\n 'pay': 'Оплатить через {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Купить сейчас',\n 'poweredBy': 'Обработано {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'LU': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'de': {\n 'checkout': 'Direkt zu {logo:pp} {logo:paypal}',\n 'safer_tag': 'Einfach schneller und sicherer bezahlen',\n 'later_tag': 'Kaufen Sie jetzt und bezahlen Sie nach und nach.',\n 'pay': 'Mit {logo:paypal} zahlen',\n 'buynow': '{logo:pp} {logo:paypal} Jetzt kaufen',\n 'poweredBy': 'Abgewickelt durch {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'LV': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'ru': {\n 'checkout': 'Оформить заказ через {logo:pp} {logo:paypal}',\n 'safer_tag': 'Более безопасный и простой способ оплаты.',\n 'later_tag': 'Покупайте сейчас, платите потом.',\n 'pay': 'Оплатить через {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Купить сейчас',\n 'poweredBy': 'Обработано {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'MA': {\n 'ar': {\n 'checkout': 'السداد بواسطة {logo:pp} {logo:paypal}',\n 'safer_tag': 'الطريقة الأسهل والأكثر أماناً في الدفع',\n 'later_tag': 'اشترِ الآن، وسدّد على دفعات',\n 'pay': 'دفع بواسطة {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} شراء الآن',\n 'poweredBy': 'مدعوم من {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'MC': {\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'MD': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'ME': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'MG': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'MH': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'MK': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'ML': {\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'MN': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A safer, faster way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'MQ': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'MR': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'MS': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'MT': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'MU': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'MV': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A safer, faster way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'MW': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'MX': {\n 'es': {\n 'checkout': 'Pagar con {logo:pp} {logo:paypal}',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'installment': '{logo:pp} {logo:paypal} Pagos en mensualidades',\n 'installment_period': '{logo:pp} {logo:paypal} Pague hasta en [installmentperiod]x mensualidades',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, faster way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'installment': '{logo:pp} {logo:paypal} Interest free payments',\n 'installment_period': '{logo:pp} {logo:paypal} Pay up to [installmentperiod]x without interest',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'MY': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A safer, faster way to pay.',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'MZ': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'NA': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'NC': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'NE': {\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'NF': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'NG': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'NI': {\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'NL': {\n 'nl': {\n 'checkout': '{logo:pp} {logo:paypal} Betalen',\n 'safer_tag': 'Een veilige en makkelijke manier om te betalen.',\n 'later_tag': 'Koop nu. Betaal later.',\n 'pay': 'Betalen met {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Nu kopen',\n 'poweredBy': 'Mogelijk gemaakt door {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'NO': {\n 'no': {\n 'checkout': '{logo:pp} {logo:paypal} Betal',\n 'safer_tag': 'En trygg og enkel betalingsmetode',\n 'later_tag': 'Kjøp nå, betal senere.',\n 'pay': 'Betal med {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Kjøp nå',\n 'poweredBy': 'Leveres av {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'NP': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A safer, faster way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'NR': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'NU': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'NZ': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A safer, faster way to pay.',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': '{logo:pp} {logo:paypal} Payer',\n 'safer_tag': 'Un réflexe sécurité.',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar.',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式。',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'OM': {\n 'ar': {\n 'checkout': 'السداد بواسطة {logo:pp} {logo:paypal}',\n 'safer_tag': 'الطريقة الأسهل والأكثر أماناً في الدفع',\n 'later_tag': 'اشترِ الآن، وسدّد على دفعات',\n 'pay': 'دفع بواسطة {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} شراء الآن',\n 'poweredBy': 'مدعوم من {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'PA': {\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'PE': {\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'PF': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'PG': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'PH': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A safer, faster way to pay.',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'PL': {\n 'pl': {\n 'checkout': '{logo:pp} {logo:paypal} Do kasy',\n 'safer_tag': 'Płać wygodnie i bezpiecznie',\n 'later_tag': 'Kup teraz. Płać w ratach',\n 'pay': 'Zapłać z {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Kup teraz',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'PM': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'PN': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'PT': {\n 'pt': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A forma rápida e segura de pagar',\n 'later_tag': 'Compre agora. Vá pagando.',\n 'pay': 'Pagar com {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar agora',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'PW': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'PY': {\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'QA': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n },\n 'ar': {\n 'checkout': 'السداد بواسطة {logo:pp} {logo:paypal}',\n 'safer_tag': 'الطريقة الأسهل والأكثر أماناً في الدفع',\n 'later_tag': 'اشترِ الآن، وسدّد على دفعات',\n 'pay': 'دفع بواسطة {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} شراء الآن',\n 'poweredBy': 'مدعوم من {logo:paypal}'\n }\n },\n 'RE': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'RO': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'RS': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'RU': {\n 'ru': {\n 'checkout': '{logo:pp} {logo:paypal} Оформить покупку',\n 'safer_tag': 'Более безопасный и простой способ оплаты.',\n 'later_tag': 'Покупайте сейчас, платите потом.',\n 'pay': 'Оплатить через {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Купить сейчас',\n 'poweredBy': 'Обработано {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'RW': {\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'SA': {\n 'ar': {\n 'checkout': 'السداد بواسطة {logo:pp} {logo:paypal}',\n 'safer_tag': 'الطريقة الأسهل والأكثر أماناً في الدفع',\n 'later_tag': 'اشترِ الآن، وسدّد على دفعات',\n 'pay': 'دفع بواسطة {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} شراء الآن',\n 'poweredBy': 'مدعوم من {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'SB': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'SC': {\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'SE': {\n 'sv': {\n 'checkout': '{logo:pp} {logo:paypal} Betala',\n 'safer_tag': 'Ett tryggt och smidigt sätt att betala',\n 'later_tag': 'Köp nu, betala senare',\n 'pay': 'Betala med {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Köp nu',\n 'poweredBy': 'Tillhandahålls av {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'SG': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A safer, faster way to pay.',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'SH': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'SI': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'SJ': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'SK': {\n 'sk': {\n 'checkout': 'Zaplatiť cez {logo:pp} {logo:paypal}',\n 'safer_tag': 'Jednoduchší a bezpečnejší spôsob platby',\n 'later_tag': 'Nakúpte teraz, zaplaťte postupne',\n 'pay': 'Zaplatiť cez {logo: paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Kúpiť',\n 'poweredBy': 'Používa technológiu {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'SL': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'SM': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'SN': {\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'SO': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'SR': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'ST': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'SV': {\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'SZ': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'TC': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'TD': {\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'TG': {\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'TH': {\n 'th': {\n 'checkout': '{logo:pp} {logo:paypal} ชำระเงิน',\n 'safer_tag': 'วิธีชำระเงินที่ปลอดภัยและง่ายกว่า',\n 'later_tag': 'ซื้อวันนี้ แล้วค่อยๆ จ่ายทีหลัง',\n 'pay': 'ชำระเงินด้วย {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} ซื้อทันที',\n 'poweredBy': 'ให้บริการโดย {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'TJ': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'TM': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'TN': {\n 'ar': {\n 'checkout': 'السداد بواسطة {logo:pp} {logo:paypal}',\n 'safer_tag': 'الطريقة الأسهل والأكثر أماناً في الدفع',\n 'later_tag': 'اشترِ الآن، وسدّد على دفعات',\n 'pay': 'دفع بواسطة {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} شراء الآن',\n 'poweredBy': 'مدعوم من {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'TO': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A safer, faster way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'TR': {\n 'tr': {\n 'checkout': '{logo:pp} {logo:paypal} ile Satın Alın',\n 'safer_tag': 'Ödeme yapmanın daha güvenli ve kolay yolu',\n 'later_tag': 'Şimdi Alın. Daha Sonra Ödeyin.',\n 'pay': '{logo:paypal} ile Öde',\n 'buynow': '{logo:pp} {logo:paypal} Hemen Satın Alın',\n 'poweredBy': 'Çalıştıran {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'TT': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'TV': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'TW': {\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal} 結帳',\n 'safer_tag': '更安全、更方便的付款方式',\n 'later_tag': '先購買,後付款。',\n 'pay': '使用 {logo:paypal} 付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即購',\n 'poweredBy': '服務提供者: {logo:paypal}'\n },\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'TZ': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'UA': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'ru': {\n 'checkout': 'Оформить заказ через {logo:pp} {logo:paypal}',\n 'safer_tag': 'Более безопасный и простой способ оплаты.',\n 'later_tag': 'Покупайте сейчас, платите потом.',\n 'pay': 'Оплатить через {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Купить сейчас',\n 'poweredBy': 'Обработано {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'UG': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'US': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'dual_tag': 'Two easy ways to pay',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': '{logo:pp} {logo:paypal} Payer',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': 'Pagar con {logo:pp} {logo:paypal}',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '使用{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'UY': {\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'VA': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'VC': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'VE': {\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'VG': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'VN': {\n 'en': {\n 'checkout': '{logo:pp} {logo:paypal} Checkout',\n 'safer_tag': 'A safer, faster way to pay.',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'VU': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'WF': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'WS': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n },\n 'YE': {\n 'ar': {\n 'checkout': 'السداد بواسطة {logo:pp} {logo:paypal}',\n 'safer_tag': 'الطريقة الأسهل والأكثر أماناً في الدفع',\n 'later_tag': 'اشترِ الآن، وسدّد على دفعات',\n 'pay': 'دفع بواسطة {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} شراء الآن',\n 'poweredBy': 'مدعوم من {logo:paypal}'\n },\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'YT': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'ZA': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'ZM': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n },\n 'fr': {\n 'checkout': 'Payer avec {logo:pp} {logo:paypal}',\n 'safer_tag': 'Votre réflexe sécurité pour payer en ligne',\n 'later_tag': 'Achetez maintenant et payez plus tard.',\n 'pay': 'Payer avec {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Acheter',\n 'poweredBy': 'Optimisé par {logo:paypal}'\n },\n 'es': {\n 'checkout': '{logo:pp} {logo:paypal} Pagar',\n 'safer_tag': 'La forma rápida y segura de pagar',\n 'later_tag': 'Compre ahora y pague más adelante.',\n 'pay': 'Pagar con {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Comprar ahora',\n 'poweredBy': 'Desarrollado por {logo:paypal}'\n },\n 'zh': {\n 'checkout': '{logo:pp} {logo:paypal}结账',\n 'safer_tag': '更安全、更便捷的付款方式',\n 'later_tag': '立即购买,分期付款。',\n 'pay': '用{logo:paypal}付款',\n 'buynow': '{logo:pp} {logo:paypal} 立即购买',\n 'poweredBy': '技术支持提供方: {logo:paypal}'\n }\n },\n 'ZW': {\n 'en': {\n 'checkout': 'Check out with {logo:pp} {logo:paypal}',\n 'safer_tag': 'The safer, easier way to pay',\n 'later_tag': 'Buy Now. Pay Over Time.',\n 'pay': 'Pay with {logo:paypal}',\n 'buynow': '{logo:pp} {logo:paypal} Buy Now',\n 'poweredBy': 'Powered by {logo:paypal}'\n }\n }\n};\n","// eslint-disable-line max-lines\n/* @flow */\n/** @jsx jsxToHTML */\n\nimport { base64encode } from 'belter/src';\n\nimport { BUTTON_SIZE, BUTTON_BRANDING, BUTTON_NUMBER, BUTTON_LOGO_COLOR, BUTTON_LABEL, BUTTON_LAYOUT, ENV, ATTRIBUTE, FUNDING, FUNDING_BRAND_LABEL } from '../../constants';\nimport { getButtonConfig, labelToFunding, fundingToDefaultLabel, BUTTON_CONFIG } from '../config';\nimport { normalizeProps } from '../props';\nimport { jsxToHTML, type JsxHTMLNode, type ChildType, jsxRender } from '../../lib/jsx';\nimport { fundingLogos, cardLogos } from '../../resources';\nimport { validateButtonProps } from '../validate';\nimport type { LocaleType, FundingSource, FundingSelection, FundingList, CheckoutCustomizationType } from '../../types';\n\nimport { Tagline, Beacon } from './miscComponent';\nimport { componentStyle, CLASS } from './componentStyle';\nimport { getComponentScript } from './componentScript';\nimport { componentContent } from './content';\n\nconst allowedPersonalizationLabels = [ BUTTON_LABEL.CHECKOUT, BUTTON_LABEL.BUYNOW, BUTTON_LABEL.PAY ];\n\nfunction getCommonButtonClasses({ layout, shape, branding, multiple, env }) : string {\n return [\n `${ CLASS.LAYOUT }-${ layout }`,\n `${ CLASS.SHAPE }-${ shape }`,\n `${ CLASS.BRANDING }-${ branding ? BUTTON_BRANDING.BRANDED : BUTTON_BRANDING.UNBRANDED }`,\n `${ CLASS.NUMBER }-${ multiple ? BUTTON_NUMBER.MULTIPLE : BUTTON_NUMBER.SINGLE }`,\n `${ CLASS.ENV }-${ env }`,\n `${ CLASS.SHOULD_FOCUS }`\n ].join(' ');\n}\n\nfunction getButtonClasses({ label, color, logoColor }) : string {\n return [\n `${ CLASS.LABEL }-${ label }`,\n `${ CLASS.COLOR }-${ color }`,\n `${ CLASS.LOGO_COLOR }-${ logoColor }`\n ].join(' ');\n}\n\nfunction getLocaleContent(locale : LocaleType) : Object {\n const { country, lang } = locale;\n return componentContent[country][lang];\n}\n\nfunction determineLabel({ label, source, multiple, layout } : { label : $Values, source : FundingSource, multiple : boolean, layout : $Values }) : $Values {\n\n const defaultLabel = fundingToDefaultLabel(source);\n const labelMatchesFunding = (labelToFunding(label) === source);\n\n // If chosen label is not for this funding source, display the default label\n if (!labelMatchesFunding) {\n return defaultLabel;\n }\n\n // If there are multiple horizontal buttons, display the default label\n if (multiple && layout === BUTTON_LAYOUT.HORIZONTAL) {\n return defaultLabel;\n }\n\n return label;\n}\n\nfunction determineButtons({ label, color, sources, multiple, layout } : { label : $Values, color : string, sources : FundingList, multiple : boolean, layout : $Values }) :\n $ReadOnlyArray<{ label : $Values, color : string, source : FundingSource }> {\n\n return sources.map((source, i) => {\n\n const buttonLabel = determineLabel({ label, source, multiple, layout });\n\n const buttonColor = (multiple && i > 0)\n ? getButtonConfig(buttonLabel, 'secondaryColors')[color]\n : color;\n\n return {\n source,\n label: buttonLabel,\n color: buttonColor\n };\n });\n}\n\nfunction renderCards({ cards, layout, size } :\n { cards : $ReadOnlyArray, layout? : string, size? : string }) : $ReadOnlyArray {\n return cards.map(name => {\n const logo = cardLogos[name];\n\n return (\n \n \n
\n );\n });\n}\n\nfunction renderFundingIcons({ cards, fundingicons, size, layout } :\n { cards : $ReadOnlyArray, fundingicons : boolean, layout : string, size : string }) : ?JsxHTMLNode {\n\n if (!fundingicons) {\n return;\n }\n\n return
{ renderCards({ cards, size, layout }) }
;\n}\n\nfunction renderPersonalizationButtonText(text) : JsxHTMLNode {\n const className = `${ CLASS.TEXT } ${ CLASS.PERSONALIZATION_TEXT }`;\n return { text };\n}\n\nfunction getButtonTextAnimationStyle({ personalizedButtonText, branding, allowedAnimation }) : ?JsxHTMLNode {\n if (__TEST__) {\n return null;\n }\n \n if (!branding) {\n return;\n }\n \n if (!allowedAnimation) {\n return;\n }\n \n const MIN_WIDTH = 300;\n const LABEL_DURATION = 1;\n const PERSONALIZATION_DURATION = 5;\n const DELAY = 0;\n \n const COMPRESSED = `\n max-width: 0%;\n opacity: 0;\n `;\n \n const EXPANDED = `\n max-width: 100%;\n opacity: 1;\n `;\n \n const HIDDEN = `\n position: absolute;\n visibility: hidden;\n `;\n \n const VISIBLE = `\n position: static;\n visibility: visible;\n `;\n \n const DOM_READY = '.dom-ready';\n const PAYPAL_BUTTON = `.${ CLASS.BUTTON }[${ ATTRIBUTE.FUNDING_SOURCE }=${ FUNDING.PAYPAL }]`;\n \n const PAYPAL_LOGO = `${ PAYPAL_BUTTON } .${ CLASS.LOGO }.${ CLASS.LOGO }-${ FUNDING.PAYPAL }`;\n const BUTTON_TEXT = `${ PAYPAL_BUTTON } .${ CLASS.TEXT }:not(.personalization-text)`;\n const PERSONALIZATION_TEXT = `${ PAYPAL_BUTTON } .personalization-text`;\n \n return (\n \n {outlet}\n \n );\n}\n","\n/* @flow */\n\nimport { track, flush as flushLogs } from 'beaver-logger/client';\n\nimport { Checkout } from '../checkout';\nimport { setupPopupBridgeProxy } from '../integrations/popupBridge';\nimport { getPageRenderTime, setLogLevel } from '../lib';\nimport { ATTRIBUTE, FUNDING, FPTI, BUTTON_LAYOUT, BUTTON_COLOR, BUTTON_SIZE, BUTTON_SHAPE, BUTTON_LABEL } from '../constants';\n\nimport typeof { Button } from './component';\n\nexport function setupButtonChild(ButtonComponent : Button) {\n setupPopupBridgeProxy(Checkout, ButtonComponent);\n\n getPageRenderTime().then(pageRenderTime => {\n\n const fundingSources = Array.prototype.slice.call(document.querySelectorAll(`[${ ATTRIBUTE.FUNDING_SOURCE }]`)).map(el => {\n return el.getAttribute(ATTRIBUTE.CARD) || el.getAttribute(ATTRIBUTE.FUNDING_SOURCE);\n }).filter(source => {\n return source && source !== FUNDING.CARD;\n });\n\n const xprops = ButtonComponent.xprops;\n \n if (!xprops) {\n return;\n }\n\n const {\n layout = BUTTON_LAYOUT.HORIZONTAL,\n color = BUTTON_COLOR.GOLD,\n size = BUTTON_SIZE.SMALL,\n shape = BUTTON_SHAPE.PILL,\n label = BUTTON_LABEL.CHECKOUT,\n maxbuttons,\n tagline\n } = (xprops.style || {});\n\n track({\n [FPTI.KEY.STATE]: FPTI.STATE.BUTTON,\n [FPTI.KEY.TRANSITION]: FPTI.TRANSITION.BUTTON_LOAD,\n [FPTI.KEY.BUTTON_TYPE]: FPTI.BUTTON_TYPE.IFRAME,\n [FPTI.KEY.FUNDING_LIST]: fundingSources.join(':'),\n [FPTI.KEY.FUNDING_COUNT]: fundingSources.length,\n [FPTI.KEY.PAGE_LOAD_TIME]: pageRenderTime,\n [FPTI.KEY.BUTTON_LAYOUT]: layout,\n [FPTI.KEY.BUTTON_COLOR]: color,\n [FPTI.KEY.BUTTON_SIZE]: size,\n [FPTI.KEY.BUTTON_SHAPE]: shape,\n [FPTI.KEY.BUTTON_LABEL]: label,\n [FPTI.KEY.BUTTON_WIDTH]: window.innerWidth,\n [FPTI.KEY.MAX_BUTTONS]: maxbuttons,\n [FPTI.KEY.BUTTON_TAGLINE_ENABLED]: tagline ? '1' : '0'\n });\n\n flushLogs();\n });\n\n const xprops = ButtonComponent.xprops || Checkout.xprops;\n\n if (xprops && xprops.logLevel) {\n setLogLevel(xprops.logLevel);\n }\n\n // $FlowFixMe\n if (xprops.payment && !xprops.createOrder) {\n // $FlowFixMe\n xprops.createOrder = xprops.payment;\n }\n\n // $FlowFixMe\n if (xprops.onAuthorize && !xprops.onApprove) {\n // $FlowFixMe\n xprops.onApprove = xprops.onAuthorize;\n }\n\n try {\n if (xprops && xprops.onShippingChange && window.pre &&\n window.pre.inlineGuest && window.pre.inlineGuest.res &&\n window.pre.inlineGuest.res.data && window.pre.inlineGuest.res.data.treatments) {\n window.pre.inlineGuest.res.data.treatments = [];\n }\n } catch (err) {\n // pass\n }\n}\n","/* @flow */\n\nimport { info, warn, flush as flushLogs } from 'beaver-logger/client';\nimport { CONSTANTS } from 'zoid/src';\nimport { getParent, getTop } from 'cross-domain-utils/src';\nimport { ZalgoPromise } from 'zalgo-promise/src';\nimport { isIE, noop } from 'belter/src';\n\nimport { config } from './config';\nimport { getDomainSetting, extendUrl, patchMethod, once, extend } from './lib';\nimport { Button } from './button';\nimport { Checkout } from './checkout';\nimport { BUTTON_LABEL, BUTTON_SIZE, BUTTON_COLOR } from './constants';\nimport { rest } from './api';\n\nif (isIE() && getDomainSetting('ie_full_page')) {\n // $FlowFixMe\n Checkout.renderTo = (win) => {\n info('force_ie_full_page');\n flushLogs();\n\n // $FlowFixMe\n const checkout = Checkout.init({\n onAuthorize: noop\n });\n\n checkout.delegate(win);\n\n checkout.openContainer().then(() => {\n checkout.event.triggerOnce(CONSTANTS.EVENTS.CLOSE);\n checkout.showContainer();\n });\n\n // $FlowFixMe\n Button.xprops.payment().then(token => {\n window.top.location = extendUrl(config.checkoutUrl, { token });\n }).catch(err => {\n checkout.error(err);\n });\n };\n}\n\nconst parent = getParent(window);\nconst top = getTop(window);\n\nif (top && parent) {\n let canRenderTop = (top === parent);\n\n if (!canRenderTop) {\n Checkout.canRenderTo(top).then(result => {\n canRenderTop = result;\n });\n\n patchMethod(Checkout, 'renderTo', ({ args: [ win, props, el ], original, context }) => {\n\n if (!canRenderTop) {\n win = getParent(window);\n }\n\n return original.call(context, win, props, el);\n });\n }\n}\n\npatchMethod(Checkout, 'renderTo', ({ callOriginal, args: [ , props ] }) => {\n if (getDomainSetting('allow_full_page_fallback')) {\n const handleError = once((err) => {\n try {\n // eslint-disable-next-line no-console\n console.error(err && err.stack);\n } catch (err2) {\n // pass\n }\n\n // $FlowFixMe\n return Button.xprops.payment().then(token => {\n window.top.location = extendUrl(config.checkoutUrl, { token });\n });\n });\n\n props.onError = handleError;\n return callOriginal().catch(handleError);\n }\n return callOriginal();\n});\n\nlet debounce = false;\n\npatchMethod(Checkout, 'renderTo', ({ callOriginal, args: [ , props ] }) => {\n\n if (debounce) {\n warn('button_mutliple_click_debounce');\n return new ZalgoPromise(noop);\n }\n\n debounce = true;\n\n for (const methodName of [ 'onAuthorize', 'onCancel', 'onError', 'onClose' ]) {\n const original = props[methodName];\n props[methodName] = function unDebounce() : mixed {\n debounce = false;\n if (original) {\n return original.apply(this, arguments);\n }\n };\n }\n\n return callOriginal();\n});\n\npatchMethod(rest.payment, 'create', ({ original: createOriginal, context: createContext, args: [ env, client, options, experience ] }) => {\n if (!options.payment) {\n options = { payment: options, experience };\n }\n return createOriginal.call(createContext, env, client, options);\n});\n\npatchMethod(Button.props.style, 'validate', ({ callOriginal, args: [ style ] }) => {\n\n if (!style) {\n return callOriginal();\n }\n\n if (style && style.color === 'creditblue') {\n style.color = BUTTON_COLOR.DARKBLUE;\n }\n\n if (style && style.label === 'generic') {\n style.label = BUTTON_LABEL.PAYPAL;\n }\n\n if (style && (!style.label || style.label === BUTTON_LABEL.CHECKOUT) && style.size === 'tiny') {\n warn(`unsupported_button_size_tiny`);\n style.size = BUTTON_SIZE.SMALL;\n }\n\n return callOriginal();\n});\n\npatchMethod(Button, 'render', ({ callOriginal, args: [ props ] }) => {\n\n if (props.billingAgreement) {\n props.payment = props.billingAgreement;\n delete props.billingAgreement;\n }\n\n return callOriginal();\n});\n\npatchMethod(Button.props.payment, 'decorate', ({ original, context, args: [ originalPayment ] }) => {\n return original.call(context, function payment(data : Object, actions : Object) : ZalgoPromise {\n return new ZalgoPromise((resolve, reject) => {\n\n patchMethod(actions.payment, 'create', ({ original: createOriginal, context: createContext, args: [ options, experience ] }) => {\n if (!options.payment) {\n options = { payment: options, experience };\n }\n return createOriginal.call(createContext, options);\n });\n\n function resolveData(token) {\n resolve(token);\n }\n\n function rejectActions(err) {\n reject(err);\n }\n\n extend(resolveData, data);\n extend(resolveData, actions);\n extend(rejectActions, actions);\n\n const ctx = {\n props: {\n env: this.props.env,\n client: this.props.client\n }\n };\n\n let result;\n\n try {\n result = originalPayment.call(ctx, resolveData, rejectActions);\n } catch (err) {\n return reject(err);\n }\n\n if (result && typeof result.then === 'function') {\n return result.then(resolve, reject);\n }\n\n if (result !== undefined) {\n return resolve(result);\n }\n });\n });\n});\n\nif (Button.isChild()) {\n if (!window.Promise) {\n window.Promise = ZalgoPromise;\n }\n}\n","/* @flow */\n/** @jsx jsxDom */\n/* eslint max-lines: 0 */\n\nimport { ZalgoPromise } from 'zalgo-promise/src';\nimport { create } from 'zoid/src';\nimport { type Component } from 'zoid/src/component/component';\nimport type { CrossDomainWindowType } from 'cross-domain-utils/src';\nimport { base64encode } from 'belter/src';\n\nimport { config } from '../config';\nimport { getButtonSessionID, getBrowserLocale, getSessionID, getCurrentScriptUrl } from '../lib';\n\ntype CardOptions = {|\n client : {\n [string] : (string | ZalgoPromise)\n },\n env? : string,\n locale? : string,\n logLevel : string,\n awaitPopupBridge : Function,\n onAuthorize : ({ returnUrl : string }, { redirect : (?CrossDomainWindowType, ?string) => ZalgoPromise }) => ?ZalgoPromise,\n onCancel? : ({ cancelUrl : string }, { redirect : (?CrossDomainWindowType, ?string) => ZalgoPromise }) => ?ZalgoPromise,\n onEvent? : ({ type : string, payload : Object }) => void,\n meta : Object,\n commit : boolean,\n token : string\n|};\n\nexport const Card : Component = create({\n tag: 'card-fields',\n name: 'ppcard',\n\n buildUrl(props) : string {\n const env = props.env || config.env;\n return config.inlinedCardFieldUrls[env];\n },\n\n contexts: {\n iframe: true,\n popup: false\n },\n\n dimensions: {\n height: '300px',\n width: '100%'\n },\n\n autoResize: {\n height: true,\n width: false\n },\n\n props: {\n sessionID: {\n type: 'string',\n required: false,\n def() : string {\n return getSessionID();\n },\n queryParam: true\n },\n\n\n token: {\n type: 'string',\n required: true,\n queryParam: true\n },\n\n buttonSessionID: {\n type: 'string',\n required: false,\n def() : ?string {\n return getButtonSessionID();\n },\n queryParam: true\n },\n\n commit: {\n type: 'boolean',\n required: false,\n queryParam: true\n },\n\n env: {\n type: 'string',\n required: false,\n queryParam: true,\n\n def() : string {\n return config.env;\n },\n\n validate(env) {\n if (!config.paypalUrls[env]) {\n throw new Error(`Invalid env: ${ env }`);\n }\n }\n },\n\n locale: {\n type: 'string',\n required: false,\n queryParam: 'locale.x',\n allowDelegate: true,\n\n def() : string {\n const { lang, country } = getBrowserLocale();\n return `${ lang }_${ country }`;\n }\n },\n\n initialFormValues: {\n type: 'object',\n required: false\n },\n\n\n onAuthorize: {\n type: 'function',\n required: true,\n once: true\n },\n\n onAuth: {\n type: 'function',\n required: false,\n sameDomain: true\n },\n\n onEvent: {\n type: 'function',\n required: false,\n sameDomain: true\n },\n\n getState: {\n type: 'function',\n required: false,\n sameDomain: true\n },\n\n dispatch: {\n type: 'object',\n required: false,\n sameDomain: true\n },\n\n onCancel: {\n type: 'function',\n required: false,\n once: true,\n noop: true\n },\n\n sdkMeta: {\n type: 'string',\n queryParam: true,\n sendToChild: false,\n def: () => {\n return base64encode(JSON.stringify({\n url: getCurrentScriptUrl()\n }));\n }\n },\n \n style: {\n type: 'object',\n required: false,\n queryParam: true,\n def() : Object {\n return {\n cardIcons: {\n display: false\n },\n submitButton: {\n display: true\n },\n currencyConversion: {\n display: true\n }\n };\n }\n }\n }\n});\n","/* @flow */\n\nimport { info, track, debug, warn, error, flush as flushLogs } from 'beaver-logger/client';\nimport { ZalgoPromise } from 'zalgo-promise/src';\n\nimport { config } from './config';\nimport { FPTI } from './constants';\nimport { initLogger, checkForCommonErrors, setLogLevel, stringifyError,\n stringifyErrorMessage, getResourceLoadTime, isPayPalDomain, isEligible,\n getDomainSetting, once, openMetaFrame, precacheRememberedFunding,\n getCurrentScript, getRememberedFunding, checkForDeprecatedIntegration } from './lib';\nimport { Button } from './button';\nimport { Checkout } from './checkout';\nimport { pptm } from './external';\n\nfunction domainToEnv(domain : string) : ?string {\n for (const env of Object.keys(config.paypalUrls)) {\n if (config.paypalUrls[env] === domain) {\n return env;\n }\n }\n}\n\nfunction setDomainEnv(domain : string) {\n const currentDomainEnv = domainToEnv(domain);\n\n if (currentDomainEnv && currentDomainEnv !== 'test') {\n config.env = currentDomainEnv;\n }\n}\n\nsetDomainEnv(`${ window.location.protocol }//${ window.location.host }`);\n\nZalgoPromise.onPossiblyUnhandledException(err => {\n\n error('unhandled_error', {\n stack: stringifyError(err),\n errtype: ({}).toString.call(err)\n });\n\n track({\n [ FPTI.KEY.ERROR_CODE ]: 'checkoutjs_error',\n [ FPTI.KEY.ERROR_DESC ]: stringifyErrorMessage(err)\n });\n\n return flushLogs().catch(err2 => {\n if (window.console) {\n try {\n if (window.console.error) {\n window.console.error('Error flushing:', stringifyError(err2));\n } else if (window.console.log) {\n window.console.log('Error flushing:', stringifyError(err2));\n }\n } catch (err3) {\n setTimeout(() => {\n throw err3;\n }, 1);\n }\n }\n });\n});\n\nconst currentScript = getCurrentScript();\nconst currentProtocol = window.location.protocol.split(':')[0];\n\n\ntype ConfigOptions = {|\n env? : ?string,\n stage? : ?string,\n apiStage? : ?string,\n stageUrl? : ?string,\n localhostUrl? : ?string,\n checkoutUri? : ?string,\n state? : ?string,\n logLevel? : ?string,\n merchantID? : ?string,\n precacheRemembered? : boolean,\n authCode? : ?string\n|};\n\nfunction configure({ env, stage, stageUrl, apiStage, localhostUrl, checkoutUri, state, logLevel, merchantID, authCode } : ConfigOptions = {}) {\n\n if (env) {\n if (!config.paypalUrls[env]) {\n throw new Error(`Invalid env: ${ env }`);\n }\n\n delete config.env;\n config.env = env;\n } else if (Button.xprops && Button.xprops.env) {\n delete config.env;\n // $FlowFixMe\n config.env = Button.xprops.env;\n } else if (Checkout.xprops && Checkout.xprops.env) {\n delete config.env;\n // $FlowFixMe\n config.env = Checkout.xprops.env;\n }\n\n if (stage) {\n delete config.stage;\n config.stage = stage;\n } else if (Button.xprops && Button.xprops.stage) {\n delete config.stage;\n // $FlowFixMe\n config.stage = Button.xprops.stage;\n } else if (Checkout.xprops && Checkout.xprops.stage) {\n delete config.stage;\n // $FlowFixMe\n config.stage = Checkout.xprops.stage;\n }\n\n if (stageUrl) {\n delete config.stageUrl;\n // $FlowFixMe\n config.stageUrl = stageUrl;\n }\n\n authCode = authCode || (Button.xprops && Button.xprops.authCode) || (Checkout.xprops && Checkout.xprops.authCode);\n\n if (authCode) {\n delete config.authCode;\n config.authCode = authCode;\n }\n\n if (apiStage) {\n delete config.apiStage;\n config.apiStage = apiStage;\n }\n\n if (localhostUrl) {\n config.localhostUrl = localhostUrl;\n }\n\n if (checkoutUri) {\n config.checkoutUri = checkoutUri;\n }\n\n if (state) {\n delete config.state;\n config.state = state;\n }\n\n if (merchantID) {\n config.merchantID = merchantID;\n }\n\n if (logLevel) {\n setLogLevel(logLevel);\n } else {\n setLogLevel(config.logLevel);\n }\n}\n\nexport const init = once(({ precacheRemembered }) => {\n\n if (!isEligible()) {\n warn('ineligible');\n }\n\n checkForCommonErrors();\n\n initLogger();\n\n window.addEventListener('load', checkForDeprecatedIntegration);\n\n if (pptm.shouldCreateInitialPptmScript()) {\n pptm.createPptmScript();\n }\n\n if (precacheRemembered) {\n precacheRememberedFunding();\n }\n\n if (getDomainSetting('force_bridge') && !isPayPalDomain()) {\n openMetaFrame(config.env);\n }\n\n info(`setup_${ config.env }`);\n\n debug(`current_protocol_${ currentProtocol }`);\n});\n\n// $FlowFixMe\nexport function setup(options : ConfigOptions = {}) {\n configure(options);\n init(options);\n}\n\nif (currentScript) {\n setup({\n env: currentScript.getAttribute('data-env'),\n stage: currentScript.getAttribute('data-stage'),\n apiStage: currentScript.getAttribute('data-api-stage'),\n stageUrl: isPayPalDomain() ? currentScript.getAttribute('data-stage-url') : undefined,\n localhostUrl: isPayPalDomain() ? currentScript.getAttribute('data-localhost-url') : undefined,\n checkoutUri: isPayPalDomain() ? currentScript.getAttribute('data-checkout-uri') : undefined,\n state: currentScript.getAttribute('data-state'),\n logLevel: currentScript.getAttribute('data-log-level'),\n merchantID: currentScript.getAttribute('data-merchant-id'),\n authCode: currentScript.getAttribute('data-auth-code'),\n precacheRemembered: currentScript.hasAttribute('data-precache-remembered-funding')\n });\n\n} else {\n setup();\n}\n\nif (!isPayPalDomain()) {\n\n if (currentScript) {\n\n const scriptProtocol = currentScript.src.split(':')[0];\n const loadTime = getResourceLoadTime(currentScript.src);\n\n debug(`current_script_protocol_${ scriptProtocol }`);\n debug(`current_script_protocol_${ currentProtocol === scriptProtocol ? 'match' : 'mismatch' }`);\n debug(`current_script_version_${ config.version.replace(/[^0-9a-zA-Z]+/g, '_') }`);\n\n if (loadTime) {\n debug(`current_script_time`, { loadTime });\n debug(`current_script_time_${ Math.floor(loadTime / 1000) }`);\n }\n\n track({\n [ FPTI.KEY.STATE ]: FPTI.STATE.LOAD,\n [ FPTI.KEY.TRANSITION ]: FPTI.TRANSITION.SCRIPT_LOAD,\n [ FPTI.KEY.TRANSITION_TIME ]: loadTime,\n [ FPTI.KEY.FUNDING_REMEMBERED ]: getRememberedFunding().join(',')\n });\n\n } else {\n\n debug(`no_current_script`);\n debug(`no_current_script_version_${ config.version.replace(/[^0-9a-zA-Z]+/g, '_') }`);\n\n if (document.currentScript) {\n debug(`current_script_not_recognized`, { src: document.currentScript.src });\n }\n\n track({\n [ FPTI.KEY.STATE ]: FPTI.STATE.LOAD,\n [ FPTI.KEY.TRANSITION ]: FPTI.TRANSITION.SCRIPT_LOAD\n });\n }\n}\n","/* @flow */\n\nimport { debug, info, warn, error, track, flush } from 'beaver-logger/client';\nimport { destroyAll as _destroyAll } from 'zoid/src';\nimport { ZalgoPromise } from 'zalgo-promise/src';\nimport * as _postRobot from 'post-robot/src'; // eslint-disable-line import/no-namespace\n\nimport { isPayPalDomain } from './lib';\nimport { Checkout as _Checkout } from './checkout';\nimport { BillingPage as _BillingPage } from './billing';\nimport { ThreeDomainSecure as _ThreeDomainSecure } from './threeDomainSecure';\n\nimport './hacks'; // eslint-disable-line import/no-unassigned-import\n\nexport const postRobot = _postRobot;\nexport { ZalgoPromise as Promise } from 'zalgo-promise/src';\nexport { PopupOpenError } from 'zoid/src';\n\nexport { rest } from './api';\nexport { Button } from './button';\nexport { Card } from './card';\nexport { setup } from './setup';\nexport { config } from './config';\nexport { ENV, USERS, SOURCE, FUNDING, CARD } from './constants';\nexport { request, isEligible, isFundingRemembered, allowIframe as forceIframe, allowIframe as isWebView, allowIframe } from './lib';\nexport { logExperimentTreatment } from './experiments';\nexport { logFundingEligibility } from './funding';\n\nexport const onPossiblyUnhandledException = ZalgoPromise.onPossiblyUnhandledException;\n\nexport const version = __PAYPAL_CHECKOUT__.__MINOR_VERSION__;\n\nexport let checkout;\nexport let apps;\n\nif (__PAYPAL_CHECKOUT__.__LEGACY_SUPPORT__) {\n const legacy = require('./legacy');\n checkout = legacy.checkout;\n apps = legacy.apps;\n}\n\n// -------------------------------------------------------------\n\nexport let Checkout;\nexport let BillingPage;\nexport let PayPalCheckout;\nexport let destroyAll;\nexport let enableCheckoutIframe;\nexport let logger;\nexport let ThreeDomainSecure;\n\nfunction _enableCheckoutIframe() {\n _Checkout.contexts.iframe = true;\n}\n\nif (isPayPalDomain() || __TEST__) {\n Checkout = _Checkout;\n BillingPage = _BillingPage;\n ThreeDomainSecure = _ThreeDomainSecure;\n PayPalCheckout = _Checkout;\n enableCheckoutIframe = _enableCheckoutIframe;\n destroyAll = _destroyAll;\n logger = { debug, info, warn, error, track, flush };\n}\n","/* @flow */\n/* eslint import/no-default-export: off */\n\nimport * as INTERFACE from './interface'; // eslint-disable-line import/no-namespace\n\nexport * from './interface';\nexport default INTERFACE;\n","/* @flow */\n\nexport const LOG_PREFIX = `paypal_legacy`;\n\nexport const ATTRIBUTES = {\n BUTTON: 'data-paypal-button',\n MERCHANT_ID: 'data-paypal-id',\n ENV: 'data-env',\n SANDBOX: 'data-sandbox'\n};\n\nexport const CLASSES = {\n HIDDEN_BUTTON: 'paypal-button-hidden'\n};\n","/* @flow */\n\nimport { isDevice, supportsPopups } from 'belter/src';\n\nimport { isEligible } from '../lib';\n\nexport function isLegacyEligible() : boolean {\n\n if (!isEligible()) {\n return false;\n }\n\n if (!supportsPopups()) {\n return false;\n }\n\n if (isDevice()) {\n return false;\n }\n\n return true;\n}\n","/* @flow */\n\nimport { prefix } from 'beaver-logger/client';\n\nimport { COUNTRY, LANG, LOCALE } from '../constants';\nimport type { LocaleType } from '../types';\n\nimport { LOG_PREFIX } from './constants';\n\nconst { warn } = prefix(LOG_PREFIX);\n\nconst DEFAULT_COUNTRY = COUNTRY.US;\nconst DEFAULT_LANG = LANG.EN;\n\nexport function normalizeLocale(locale : string) : LocaleType {\n\n let [ lang, country ] = locale.split('_');\n\n if (!country) {\n if (LOCALE[lang]) {\n country = lang;\n lang = null;\n } else {\n country = DEFAULT_COUNTRY;\n }\n }\n\n if (!LOCALE[country]) {\n warn(`invalid_user_country`, { country });\n country = DEFAULT_COUNTRY;\n }\n\n if (!lang) {\n lang = DEFAULT_LANG;\n }\n\n if (LOCALE[country].indexOf(lang) === -1) {\n warn(`invalid_user_lang`, { lang });\n\n if (LOCALE[country].indexOf(DEFAULT_LANG) !== -1) {\n lang = DEFAULT_LANG;\n } else {\n lang = LOCALE[country][0];\n }\n }\n\n return { country, lang };\n}\n","/* @flow */\n\nimport { prefix } from 'beaver-logger/client';\nimport { ZalgoPromise } from 'zalgo-promise/src';\n\nimport { config } from '../config';\nimport { FPTI, BUTTON_COLOR, BUTTON_SHAPE, BUTTON_SIZE, BUTTON_LABEL } from '../constants';\nimport { loadScript, memoize, isElementVisible, stringifyError } from '../lib';\n\nimport { LOG_PREFIX } from './constants';\nimport { normalizeLocale } from './common';\n\nconst { info, debug, error } = prefix(LOG_PREFIX);\n\nconst loadButtonJS = memoize(() : ZalgoPromise => {\n\n debug(`buttonjs_load`);\n\n return loadScript(config.buttonJSUrl).catch(err => {\n info(`buttonjs_load_error_retry`, { error: stringifyError(err) });\n return loadScript(config.buttonJSUrl);\n }).then(result => {\n debug(`buttonjs_load_success`);\n return result;\n }).catch(err => {\n error(`buttonjs_load_error`, { error: stringifyError(err) });\n throw err;\n });\n});\n\nfunction renderButton(id, { container, locale, type, color, shape, size }) : ZalgoPromise {\n\n return loadButtonJS().then(() => {\n\n if (locale) {\n const { country, lang } = normalizeLocale(locale);\n locale = `${ lang }_${ country }`;\n }\n\n locale = locale || `${ config.locale.lang }_${ config.locale.country }`;\n color = color || BUTTON_COLOR.GOLD;\n shape = shape || BUTTON_SHAPE.PILL;\n size = size || BUTTON_SIZE.SMALL;\n type = type || BUTTON_LABEL.CHECKOUT;\n\n debug(`render_button_lc_${ locale }`);\n debug(`render_button_color_${ color }`);\n debug(`render_button_shape_${ shape }`);\n debug(`render_button_size_${ size }`);\n debug(`render_button_label_${ type }`);\n\n const el = window.paypal.button.create(id, { lc: locale, color, shape, size }, { type: 'button', label: type }).el;\n container.appendChild(el);\n\n try {\n info(`in_page_button_${ isElementVisible(el) ? 'visible' : 'not_visible' }`);\n\n } catch (err) {\n // pass\n }\n\n return el.childNodes[0];\n });\n}\n\n// eslint-disable-next-line flowtype/no-mutable-array\nexport function renderButtons(id : string, buttons : Array) : ZalgoPromise<$ReadOnlyArray> {\n\n return ZalgoPromise.map(buttons, button => {\n return ZalgoPromise.try(() => {\n\n if (button.container) {\n return renderButton(id, button);\n } else {\n return button.button;\n }\n\n }).then(element => {\n\n let container;\n let type;\n const condition = button.condition;\n const click = button.click;\n\n if (button.container) {\n container = button.container;\n type = FPTI.BUTTON_TYPE.HTML;\n } else {\n container = button.button;\n type = FPTI.BUTTON_TYPE.CUSTOM;\n }\n\n return { container, element, type, condition, click };\n });\n });\n}\n\nexport function getHijackTargetElement(button : HTMLElement | HTMLButtonElement) : ?HTMLElement {\n\n // $FlowFixMe\n const form = button.form;\n\n if (form) {\n debug(`target_element_button_form`);\n return form;\n }\n\n const tagName = button.tagName && button.tagName.toLowerCase();\n\n if (tagName === 'a') {\n debug(`target_element_link`);\n return button;\n }\n\n const parentElement = button.parentElement;\n const parentTagName = parentElement && parentElement.tagName && parentElement.tagName.toLowerCase();\n\n if ((tagName === 'img' || tagName === 'button') && parentTagName === 'a') {\n debug(`target_element_parent_link`);\n // $FlowFixMe\n return parentElement;\n }\n\n const grandparentElement = parentElement && parentElement.parentElement;\n const grandparentTagName = grandparentElement && grandparentElement.tagName && grandparentElement.tagName.toLowerCase();\n\n if (tagName === 'button' && grandparentTagName === 'a') {\n debug(`target_element_grandparent_link`);\n // $FlowFixMe\n return button.parentElement && button.parentElement.parentElement;\n }\n}\n","/* @flow */\n\nimport { ZalgoPromise } from 'zalgo-promise/src';\nimport { flush as flushLogs, prefix } from 'beaver-logger/client';\n\nimport { config } from '../config';\nimport { ENV } from '../constants';\nimport { urlWillRedirectPage, redirect as redir } from '../lib';\n\nimport { LOG_PREFIX } from './constants';\n\nconst { warn } = prefix(LOG_PREFIX);\n\nlet redirected = false;\n\nexport function logRedirect(location : string) {\n\n if (redirected) {\n warn(`multiple_redirects`);\n }\n\n if (urlWillRedirectPage(location)) {\n redirected = true;\n }\n\n flushLogs();\n}\n\nexport function redirect(url : string) : ZalgoPromise {\n return ZalgoPromise.try(() => {\n\n if (!url) {\n throw new Error(`Redirect url undefined`);\n }\n\n if (config.env === ENV.TEST && urlWillRedirectPage(url)) {\n return redir(window, `#fullpageRedirect?url=${ url }`);\n }\n\n logRedirect(url);\n\n return redir(window, url);\n });\n}\n\nexport function isToken(item : string) : boolean {\n return Boolean(item && item.match(/^(EC-)?[A-Z0-9]{17}$/));\n}\n\n\n/* Parse Token\n -----------\n\n We are passed either a token, or a url containing the token. In order to run the new checkout component we need to\n strip out the token from the url in order to pass it down as a prop\n*/\n\nexport function parseToken(token : string) : ?string {\n\n if (!token) {\n return;\n }\n\n token = decodeURIComponent(decodeURIComponent(token));\n\n // We may get lucky and be passed a token straight off the bar\n\n if (token.match(/^(EC-)?[A-Z0-9]{17}$/)) {\n return token;\n }\n\n // Otherwise strip the token from the url we're sent\n\n let match = token.match(/token=((EC-)?[A-Z0-9]{17})/);\n\n if (match) {\n return match[1];\n }\n\n match = token.match(/(EC-[A-Z0-9]{17})/);\n\n if (match) {\n return match[1];\n }\n}\n\nexport function hasToken(item : string) : boolean {\n return Boolean(parseToken(item));\n}\n","/* @flow */\n\nimport { prefix } from 'beaver-logger/client';\n\nimport { config } from '../config';\nimport { ENV } from '../constants';\nimport { getElements } from '../lib';\n\nimport { normalizeLocale } from './common';\nimport { LOG_PREFIX } from './constants';\n\nconst { info, warn } = prefix(LOG_PREFIX);\n\nexport function normalizeOptions(options : Object) {\n\n // Normalize environment\n\n if (options.environment) {\n\n if (options.environment === 'live') {\n options.environment = ENV.PRODUCTION;\n }\n\n if (!config.paypalUrls[options.environment]) {\n warn('invalid_env', { badenv: options.environment });\n options.environment = config.env;\n }\n }\n\n // If we're passed a single button in options.button, turn it into an array\n\n if (options.button && !Array.isArray(options.button)) {\n info(`options_button_single_button_passed`);\n\n options.button = [ options.button ];\n }\n\n // If we're passed an array of elements in options.buttons, switch it over to options.button\n\n if (options.buttons && getElements(options.buttons).length) {\n info(`options_buttons_with_elements_passed`);\n\n options.button = options.buttons;\n delete options.buttons;\n }\n\n // If we're passed an empty options.button array, clear the value\n\n if (options.button && options.button.length === 0) {\n info(`options_button_empty`);\n\n delete options.button;\n }\n\n // If we're passed options.button and options.container, concat both under button\n\n if (options.button && options.container) {\n info(`options_button_and_container_passed`, { button: options.button, container: options.container });\n\n options.button = options.button.concat(options.container);\n delete options.container;\n }\n\n // Normalize button selectors to elements\n\n if (options.button) {\n const button = getElements(options.button);\n\n if (button.length) {\n options.button = button;\n\n } else {\n warn(`options_button_element_not_found`, { element: JSON.stringify(options.button) });\n delete options.button;\n }\n }\n\n // Normalize options.button to options.buttons\n\n if (options.button) {\n\n options.buttons = options.button.map(button => {\n return {\n button,\n click: options.click,\n condition: options.condition\n };\n });\n\n delete options.click;\n delete options.condition;\n delete options.button;\n }\n\n // Normalize array of buttons\n\n else if (options.buttons && Array.isArray(options.buttons)) {\n\n const buttons = [];\n\n options.buttons.forEach(button => {\n\n if (!button) {\n return;\n }\n\n if (button.container && button.container !== options.container) {\n warn(`mismatched_container_and_button_passed`, { options: options.container, button: button.container });\n }\n\n getElements(button.container || button.button).forEach(element => {\n buttons.push({\n\n [ button.container ? 'container' : 'button' ]: element,\n\n click: button.click || options.click,\n condition: button.condition || options.condition,\n type: button.type || options.type,\n locale: button.locale || options.locale,\n color: button.color || options.color,\n shape: button.shape || options.shape,\n size: button.size || options.size\n });\n });\n });\n\n delete options.buttons;\n delete options.click;\n delete options.condition;\n delete options.button;\n delete options.type;\n delete options.locale;\n delete options.color;\n delete options.shape;\n delete options.size;\n\n if (buttons.length) {\n options.buttons = buttons;\n }\n }\n\n // Otherwise normalize container into array of buttons\n\n else if (options.container && !Array.isArray(options.buttons)) {\n\n const buttons = [];\n\n getElements(options.container).forEach((container, i) => {\n buttons.push({\n container,\n click: options.click,\n condition: options.condition,\n type: Array.isArray(options.type) ? options.type[i] : options.type,\n locale: Array.isArray(options.locale) ? options.locale[i] : options.locale,\n color: Array.isArray(options.color) ? options.color[i] : options.color,\n shape: Array.isArray(options.shape) ? options.shape[i] : options.shape,\n size: Array.isArray(options.size) ? options.size[i] : options.size\n });\n });\n\n delete options.container;\n delete options.buttons;\n delete options.click;\n delete options.condition;\n delete options.button;\n delete options.type;\n delete options.locale;\n delete options.color;\n delete options.shape;\n delete options.size;\n\n if (buttons.length) {\n options.buttons = buttons;\n }\n }\n\n if (!options.buttons) {\n options.buttons = [];\n }\n}\n\nexport function setupConfig(options : Object) {\n\n if (options.environment && config.paypalUrls[options.environment]) {\n config.env = options.environment;\n }\n\n if (options.locale) {\n config.locale = normalizeLocale(options.locale);\n config.customCountry = true;\n }\n}\n","/* @flow */\n/* eslint max-lines: 0 */\n\nimport { ZalgoPromise } from 'zalgo-promise/src';\nimport { prefix, flush as flushLogs } from 'beaver-logger/client';\nimport formSerialize from 'form-serialize';\nimport { supportsPopups } from 'belter/src';\n\nimport { Checkout } from '../checkout';\nimport { config } from '../config';\nimport { ENV, FPTI } from '../constants';\nimport { once, safeJSON, extendUrl, stringifyError, request } from '../lib';\n\nimport { setupPostBridge } from './postBridge';\nimport { isLegacyEligible } from './eligibility';\nimport { LOG_PREFIX } from './constants';\nimport { renderButtons, getHijackTargetElement } from './button';\nimport { redirect, logRedirect, parseToken } from './util';\nimport { normalizeOptions, setupConfig } from './options';\n\nconst { info, debug, warn, error, track } = prefix(LOG_PREFIX);\n\nexport const checkout = {};\nexport const apps = { checkout, Checkout: checkout };\n\nexport function reset() {\n\n debug('reset');\n\n // Once our callback has been called, we can set the global methods to their original values\n\n checkout.initXO = initXO; // eslint-disable-line no-use-before-define\n checkout.startFlow = startFlow; // eslint-disable-line no-use-before-define\n checkout.closeFlow = closeFlow; // eslint-disable-line no-use-before-define\n}\n\ncheckout.reset = reset;\n\n// $FlowFixMe\nObject.defineProperty(checkout, 'urlPrefix', {\n get() : string {\n return `${ config.checkoutUrl }${ config.checkoutUrl.indexOf('?') === -1 ? '?' : '&' }token=`;\n }\n});\n\nfunction matchUrlAndPaymentToken(item) : { url : string, paymentToken : ?string } {\n\n if (!item || !item.trim()) {\n error(`startflow_no_url_or_token`, { item });\n throw new Error(`startflow_no_url_or_token`);\n }\n\n\n const paymentToken = parseToken(item);\n let url = (paymentToken && paymentToken === item) ? '' : item;\n\n if (url) {\n\n if (!url.match(/^https?:\\/\\/|^\\//)) {\n if (paymentToken) {\n info(`startflow_relative_url_with_token`, { url });\n } else {\n info(`startflow_relative_url_no_token`, { url });\n }\n\n if (url.toLowerCase().indexOf('ec-') === 0 && paymentToken) {\n url = `${ config.checkoutUrl }${ url }`;\n }\n\n } else if (paymentToken) {\n if (url.indexOf('.paypal.com') !== -1) {\n debug(`startflow_paypalurl_with_token`, { url });\n } else {\n debug(`startflow_url_with_token`, { url });\n }\n\n } else {\n debug(`startflow_url_no_token`, { url });\n }\n\n } else {\n\n if (paymentToken) {\n url = extendUrl(config.checkoutUrl, { token: paymentToken });\n debug(`startflow_with_token`, { url });\n } else {\n error(`startflow_no_url_or_token`, { url });\n throw new Error(`Could not determine url or token from \"${ item }\"`);\n }\n }\n\n return { paymentToken, url };\n}\n\nfunction checkUrlAgainstEnv(url : string) {\n\n const paypalUrls = config.paypalUrls;\n\n for (const env of Object.keys(paypalUrls)) {\n const paypalUrl = paypalUrls[env];\n\n if (env === ENV.TEST || env === ENV.DEMO) {\n continue;\n }\n\n if (env !== config.env) {\n if (url.indexOf(paypalUrl) === 0 || url.indexOf(paypalUrl.replace('//www.', '//')) === 0) {\n warn(`mismatched_env_startflow_url`, { env: config.env, url });\n redirect(url);\n throw new Error(`${ url } is not a ${ config.env } url`);\n }\n }\n }\n}\n\n/* Get Token\n ---------\n\n Normally in the component world, getToken would be a user-provided function which passes a callback, and expects\n that callback to be called with either an error, or an EC token.\n\n In our case, we can emulate these callback calls by setting over the startFlow and closeFlow globals, and using\n them as our success and failure cases.\n\n Note: this method is set to `precall: true` mode. This means that it will be called the moment the component is\n inited on the page. This means that the moment we initialize, we're ready to start accepting a token via one of the\n global methods.\n*/\n\nfunction awaitPaymentTokenAndUrl(event? : ?Event, targetElement? : ?HTMLElement) : { url : ZalgoPromise, paymentToken : ZalgoPromise } {\n\n const paymentTokenAndUrl = new ZalgoPromise((resolve) => {\n\n if (event && targetElement && (Math.random() < 0.001 || window.enablev3ajax)) {\n let method;\n let url;\n let body;\n let contentType;\n\n info('gettoken_targetelement_start');\n flushLogs();\n\n if (targetElement.tagName.toLowerCase() === 'a') {\n method = 'get';\n url = targetElement.getAttribute('href');\n } else if (targetElement.tagName.toLowerCase() === 'form') {\n method = (targetElement.getAttribute('method') || 'get').toLowerCase();\n url = targetElement.getAttribute('action');\n body = formSerialize(targetElement);\n contentType = targetElement.getAttribute('enctype') || 'application/x-www-form-urlencoded';\n }\n\n if (method && url) {\n event.preventDefault();\n\n request({\n method,\n url,\n body,\n headers: {\n 'Accept': 'application/paypal-json-token',\n 'Content-type': contentType || ''\n }\n }).then(json => {\n const urlAndPaymentToken = matchUrlAndPaymentToken(json.token);\n resolve(urlAndPaymentToken);\n info('gettoken_targetelement_success', urlAndPaymentToken);\n flushLogs();\n\n }).catch(err => {\n warn('gettoken_targetelement_error', {\n // $FlowFixMe\n err: err.stack || err.toString()\n });\n flushLogs();\n });\n\n } else {\n warn('gettoken_targetelement_no_method_or_url');\n flushLogs();\n }\n }\n\n\n checkout.initXO = () => {\n warn(`gettoken_initxo`);\n };\n\n // startFlow is our 'success' case - we get a token, and we can pass it back to the caller\n\n checkout.startFlow = once((item) => {\n debug(`gettoken_startflow`, { item });\n\n const { url, paymentToken } = matchUrlAndPaymentToken(item);\n\n checkUrlAgainstEnv(url);\n\n return resolve({ url, paymentToken });\n });\n });\n\n const url = paymentTokenAndUrl.then(result => result.url);\n const paymentToken = paymentTokenAndUrl.then(result => result.paymentToken);\n\n return { url, paymentToken };\n}\n\n\n/* Init PayPal Checkout\n --------------------\n\n Initialize the Checkout component with some standard props:\n\n - Pass in env from global state (saved during setup() call)\n - Return to success url on payment authorize\n - Return to cancel url on cancel\n*/\n\nlet paypalCheckoutInited = false;\nlet closeFlowCalled = false;\n\nfunction initPayPalCheckout(props = {}) : Object {\n\n info(`init_checkout`);\n\n if (paypalCheckoutInited && config.env !== ENV.TEST) {\n warn(`multiple_init_paypal_checkout`);\n }\n\n if (closeFlowCalled) {\n debug(`init_after_closeflow`);\n }\n\n paypalCheckoutInited = true;\n\n const paypalCheckout = Checkout.init({\n\n onAuthorize(data, actions) : ZalgoPromise {\n info(`payment_authorized`);\n logRedirect(data.returnUrl);\n return actions.redirect(window);\n },\n\n onCancel(data, actions) : ?ZalgoPromise {\n if (data.cancelUrl) {\n info(`payment_canceled`);\n logRedirect(data.cancelUrl);\n return actions.redirect(window);\n }\n },\n\n fallback(url) : ZalgoPromise {\n error(`fallback_handler`, { url });\n this.destroy();\n return redirect(url);\n },\n\n ...props\n });\n\n checkout.closeFlow = (closeUrl? : string) => {\n warn(`closeflow`);\n\n closeFlowCalled = true;\n\n reset();\n\n paypalCheckout.destroy();\n\n if (closeUrl) {\n warn(`closeflow_with_url`, { closeUrl });\n return redirect(closeUrl);\n }\n };\n\n return paypalCheckout;\n}\n\nfunction renderPayPalCheckout(props : Object = {}, hijackTarget? : ?Element) : ZalgoPromise {\n\n const urlProp = ZalgoPromise.resolve(props.url);\n\n const paymentToken = new ZalgoPromise(resolve => {\n props.init = (data) => {\n resolve(data.paymentToken);\n };\n });\n\n const errorHandler = once(err => {\n\n error(`component_error`, { error: stringifyError(err) });\n\n if (hijackTarget) {\n warn(`render_error_hijack_revert_target`);\n hijackTarget.removeAttribute('target');\n }\n\n // eslint-disable-next-line promise/no-promise-in-callback\n urlProp.then(url => {\n warn(`render_error_redirect_using_url`);\n return redirect(url);\n });\n\n // eslint-disable-next-line promise/no-promise-in-callback\n paymentToken.then(token => {\n warn(`render_error_redirect_using_token`);\n return redirect(extendUrl(config.checkoutUrl, { token }));\n });\n });\n\n props.onError = errorHandler;\n\n let paypalCheckout;\n\n if (hijackTarget) {\n\n delete props.url;\n\n paypalCheckout = initPayPalCheckout(props);\n\n paypalCheckout.hijack(hijackTarget);\n paypalCheckout.runTimeout();\n\n urlProp.then(url => {\n warn(`hijack_then_url_passed`);\n paypalCheckout.loadUrl(url);\n });\n\n } else {\n\n paypalCheckout = initPayPalCheckout(props);\n }\n\n const render = paypalCheckout.render(null, !hijackTarget);\n\n checkout.win = paypalCheckout.window;\n\n return render.catch(errorHandler);\n}\n\n\nfunction handleClick(clickHandler, event) {\n debug(`button_click_handler`);\n\n try {\n clickHandler(event);\n } catch (err) {\n error(`click_handler_error`, { error: stringifyError(err) });\n }\n}\n\nfunction handleClickHijack(event, element) : void {\n\n const targetElement = getHijackTargetElement(element);\n\n if (!targetElement) {\n return error(`target_element_not_found`);\n }\n\n info(`init_paypal_checkout_hijack`);\n\n const { url, paymentToken } = awaitPaymentTokenAndUrl(event, targetElement);\n\n let token;\n\n paymentToken.then(result => {\n token = result;\n });\n\n renderPayPalCheckout({ url, payment: () => ZalgoPromise.resolve(token) }, targetElement);\n}\n\nfunction listenClick(container, button, clickHandler, condition, tracker) : void {\n\n const element : HTMLElement = (container.tagName.toLowerCase() === 'a') ? container : button;\n\n const isClick = (typeof clickHandler === 'function');\n\n if (element.hasAttribute('data-paypal-click-listener')) {\n return warn(`button_already_has_paypal_click_listener`);\n }\n\n element.setAttribute('data-paypal-click-listener', '');\n\n const targetElement = getHijackTargetElement(element);\n\n if (targetElement && isClick) {\n info(`button_link_or_form`);\n }\n\n element.addEventListener('click', (event : Event) => {\n\n tracker();\n\n const eligible = isLegacyEligible();\n\n if (supportsPopups()) {\n debug(`click_popups_supported`);\n\n if (!eligible) {\n debug(`click_popups_supported_but_ineligible`);\n }\n } else {\n debug(`click_popups_not_supported`);\n\n if (eligible) {\n debug(`click_popups_not_supported_but_eligible`);\n }\n }\n\n if (!isClick) {\n\n if (!eligible) {\n return debug(`ineligible_listenclick`);\n }\n }\n\n info(`button_click`);\n\n if (typeof condition === 'function') {\n if (condition.call()) {\n info(`button_click_condition_enabled`);\n } else {\n return info(`button_click_condition_disabled`);\n }\n }\n\n if (isClick) {\n return handleClick(clickHandler, event);\n\n } else {\n return handleClickHijack(event, element);\n }\n });\n}\n\nfunction instrumentButtonRender(type : string) {\n info(`render_${ type }_button`);\n\n track({\n [ FPTI.KEY.STATE ]: FPTI.STATE.LOAD,\n [ FPTI.KEY.TRANSITION ]: FPTI.TRANSITION.BUTTON_RENDER,\n [ FPTI.KEY.BUTTON_TYPE ]: type\n });\n\n flushLogs();\n}\n\nfunction instrumentButtonClick(type : string) {\n track({\n [ FPTI.KEY.STATE ]: FPTI.STATE.LOAD,\n [ FPTI.KEY.TRANSITION ]: FPTI.TRANSITION.BUTTON_CLICK,\n [ FPTI.KEY.BUTTON_TYPE ]: type\n });\n flushLogs();\n}\n\n\n/* Setup\n -----\n\n Emulate window.paypal.checkout.setup.\n\n The purpose of this method is to:\n\n - Set up configuration for the incontext flow\n - Render a button to initiate the checkout window\n*/\n\nlet setupCalled = false;\n\nexport function setup(id : string, options : Object = {}) : ZalgoPromise {\n\n id = id || 'merchant';\n\n info(`setup`, {\n id,\n env: options.environment,\n options: safeJSON(options)\n });\n\n if (setupCalled) {\n debug(`setup_called_multiple_times`);\n }\n\n setupCalled = true;\n\n normalizeOptions(options);\n setupConfig(options);\n\n setupPostBridge(config.env);\n\n return ZalgoPromise.try(() => {\n\n // If there are no buttons passed, can only assume there's a custom paypal button with a custom listener\n\n if (!options.buttons.length) {\n return instrumentButtonRender(FPTI.BUTTON_TYPE.CUSTOM);\n }\n\n // Otherwise render whatever buttons we were asked to, and listen for them to be clicked\n\n return renderButtons(id, options.buttons).then(buttons => {\n\n buttons.forEach(button => {\n instrumentButtonRender(button.type);\n\n listenClick(button.container, button.element, button.click, button.condition, () => {\n instrumentButtonClick(button.type);\n });\n });\n });\n });\n}\n\ncheckout.setup = setup;\n\n/* Init XO\n -------\n\n Emulate paypal.checkout.initXO\n\n Normally this would be used only to open the checkout page. But here we can just kick off the whole flow, since\n getToken will handle loading the token into the window for us.\n*/\n\nfunction initXO() : void {\n\n debug(`initxo`);\n\n if (!isLegacyEligible()) {\n return debug(`ineligible_initxo`);\n }\n\n const { url, paymentToken } = awaitPaymentTokenAndUrl();\n\n info(`init_paypal_checkout_initxo`);\n\n renderPayPalCheckout({ url, payment: () => paymentToken });\n}\n\ncheckout.initXO = initXO;\n\n\n/* Start Flow\n ----------\n\n Emulate paypal.checkout.startFlow\n\n Normally this would be used to load the url into the browser after the window has already been opened. Again, we\n can just kick off the whole flow here, on the off chance that a merchant calls us on button click. Normally this\n method will have been patched over in getToken.\n*/\n\nfunction startFlow(item : string) {\n debug(`startflow`, { item });\n\n const { paymentToken, url } = matchUrlAndPaymentToken(item);\n\n checkUrlAgainstEnv(url);\n\n if (!isLegacyEligible()) {\n debug(`ineligible_startflow_global`, { url });\n redirect(url);\n return;\n }\n\n info(`init_paypal_checkout_startflow`);\n\n renderPayPalCheckout({ url, payment: () => ZalgoPromise.resolve(paymentToken) });\n}\n\ncheckout.startFlow = startFlow;\n\n\n/* Close Flow\n ----------\n\n Emulate paypal.checkout.closeFlow\n\n Close the component in case of any error on the merchant side.\n*/\n\nfunction closeFlow(closeUrl? : string) {\n warn(`closeflow_not_opened`);\n\n if (closeUrl) {\n warn(`closeflow_with_url`, { closeUrl });\n redirect(closeUrl);\n\n }\n}\n\ncheckout.closeFlow = closeFlow;\n","/* @flow */\n\nimport { ZalgoPromise } from 'zalgo-promise/src';\nimport { debug } from 'beaver-logger/client';\nimport { bridge } from 'post-robot/src';\n\nimport { config } from '../config';\nimport { openMetaFrame, noop } from '../lib';\n\nexport function setupPostBridge(env : string) : ZalgoPromise {\n return ZalgoPromise.try(() => {\n\n const metaFrameDomain : string = config.paypalDomains[env];\n\n if (!bridge || !bridge.needsBridge({ domain: metaFrameDomain })) {\n return debug(`post_bridge_not_required`, { env });\n }\n\n debug(`setup_post_bridge`, { env });\n\n return openMetaFrame(env).then(noop);\n });\n}\n","/* @flow */\n\nimport { prefix } from 'beaver-logger/client';\n\nimport { onDocumentReady } from '../lib';\nimport { ENV } from '../constants';\n\nimport { LOG_PREFIX, ATTRIBUTES, CLASSES } from './constants';\nimport { setup } from './interface';\n\nconst { error, debug } = prefix(LOG_PREFIX);\n\n/* PayPal Checkout Ready\n ---------------------\n\n Call window.paypalCheckoutReady on document ready, if it has been defined by the merchant\n*/\n\nfunction invokeReady(method) {\n\n onDocumentReady(() => {\n debug(`paypal_checkout_ready`);\n setTimeout(() => {\n\n if (!window.paypal) {\n error(`paypal_checkout_ready_no_window_paypal`);\n }\n\n method();\n }, 1);\n });\n}\n\nfunction onKey(obj : Object, key : string, callback : Function) {\n\n if (!obj) {\n return;\n }\n\n let value = obj[key];\n\n if (value) {\n value = callback(value) || value;\n }\n\n try {\n\n delete obj[key];\n\n Object.defineProperty(obj, key, {\n\n configurable: true,\n\n set(item) {\n value = item;\n\n if (value) {\n value = callback(value) || value;\n }\n },\n\n get() : mixed {\n return value;\n }\n });\n\n } catch (err) {\n // pass\n }\n}\n\nonKey(window, 'paypalCheckoutReady', method => {\n\n if (typeof method === 'function') {\n\n const oneTimeReady = function () : void {\n if (!method.called) {\n method.called = true;\n return method.apply(this, arguments);\n }\n };\n\n invokeReady(oneTimeReady);\n\n return oneTimeReady;\n }\n});\n\n\n/* Scan for buttons\n ----------------\n\n Scan for any buttons on the page with a data-paypal-button attribute and auto-attach the PaypalCheckout component to them\n*/\n\nonDocumentReady(() => {\n\n const buttons = Array.prototype.slice.call(document.querySelectorAll(`[${ ATTRIBUTES.BUTTON }]`));\n\n if (buttons && buttons.length) {\n debug(`data_paypal_button`, { number: buttons.length });\n\n for (const button of buttons) {\n\n const id = button.getAttribute(ATTRIBUTES.MERCHANT_ID);\n\n let environment;\n\n if (button.hasAttribute(ATTRIBUTES.ENV)) {\n environment = button.getAttribute(ATTRIBUTES.ENV);\n } else if (button.hasAttribute(ATTRIBUTES.SANDBOX)) {\n environment = ENV.SANDBOX;\n }\n\n setup(id, { environment, button });\n }\n }\n\n // Show hidden buttons\n\n Array.prototype.slice.call(document.getElementsByClassName(CLASSES.HIDDEN_BUTTON)).forEach(el => {\n el.className = el.className.replace(CLASSES.HIDDEN_BUTTON, '');\n });\n});\n"],"sourceRoot":""}