@rebilly/instruments 9.30.1 → 9.31.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -17,13 +17,13 @@ var RebillyInstruments=function(){"use strict";function e(e,t){const n=Object.cr
17
17
  *
18
18
  * Copyright (c) 2014-2017, Jon Schlinkert.
19
19
  * Released under the MIT License.
20
- */function to(e){return!0===eo(e)&&"[object Object]"===Object.prototype.toString.call(e)}const no=function(e,t){switch(Za(e)){case"array":return e.slice();case"object":return Object.assign({},e);case"date":return new e.constructor(Number(e));case"map":return new Map(e);case"set":return new Set(e);case"buffer":return function(e){const t=e.length,n=Buffer.allocUnsafe?Buffer.allocUnsafe(t):Buffer.from(t);return e.copy(n),n}(e);case"symbol":return function(e){return Ya?Object(Ya.call(e)):{}}(e);case"arraybuffer":return function(e){const t=new e.constructor(e.byteLength);return new Uint8Array(t).set(new Uint8Array(e)),t}(e);case"float32array":case"float64array":case"int16array":case"int32array":case"int8array":case"uint16array":case"uint32array":case"uint8clampedarray":case"uint8array":return function(e,t){return new e.constructor(e.buffer,e.byteOffset,e.length)}(e);case"regexp":return function(e){const t=void 0!==e.flags?e.flags:/\w+$/.exec(e)||void 0,n=new e.constructor(e.source,t);return n.lastIndex=e.lastIndex,n}(e);case"error":return Object.create(e);default:return e}},ro=Xa,ao=function(e){var t,n;return!(!1===to(e)||(t=e.constructor,"function"!=typeof t)||(n=t.prototype,!1===to(n))||!1===n.hasOwnProperty("isPrototypeOf"))};function oo(e,t){switch(ro(e)){case"object":return function(e,t){if("function"==typeof t)return t(e);if(t||ao(e)){const n=new e.constructor;for(let r in e)n[r]=oo(e[r],t);return n}return e}(e,t);case"array":return function(e,t){const n=new e.constructor(e.length);for(let r=0;r<e.length;r++)n[r]=oo(e[r],t);return n}(e,t);default:return no(e)}}const io=Ga(oo),so="56.13.0";class lo{constructor({id:e=null,created:t=null}={}){this.id=e||((e=21)=>{let t="",n=e;for(;n--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t})(),this.created=t||(new Date).getTime(),this.cancelSource=Ma.CancelToken.source(),this.cancel=this.cancelSource.cancel,this.cancelToken=this.cancelSource.token,Da(this,{exclude:["cancelSource","cancelToken","cancel"]})}}class co{constructor(){if(co.instance)return co.instance;this.requests={},co.instance=this}getAll(){return Object.values(this.requests)}getById(e){return this.requests[e]}deleteById(e){this.requests[e]&&delete this.requests[e]}save(){const e=new lo;return this.requests[e.id]=e,{id:e.id,cancelToken:e.cancelToken}}}const uo=new co;let po=class{};Ba(po,"cancelById",((e,t)=>{try{uo.getById(e).cancel(t),uo.deleteById(e)}catch{}})),Ba(po,"cancelAll",(e=>uo.getAll().forEach((t=>{t.cancel(e),uo.deleteById(t.id)}))));const mo={cancelAll:(...e)=>po.cancelAll(...e)},fo={request:"request",response:"response"},ho=e=>{if(!Object.values(fo).includes(e))throw new Error(`There is no such interceptor type as "${e}"`);return!0};function yo({options:e}){const t=Ma.create({baseURL:n(),timeout:e.requestTimeout,headers:r()});function n(){let t=e.isSandbox?e.apiEndpoints.sandbox:e.apiEndpoints.live;return e.apiVersion&&(t=`${t}/${e.apiVersion}`),e.organizationId&&(t=`${t}/organizations/${e.organizationId}`),`${t}`}function r(){const t={"REB-API-CONSUMER":`RebillySDK/JS-SDK ${so}`};return e.apiKey&&(t["REB-APIKEY"]=e.apiKey),t}function a(){return io(t.defaults.headers)}function o(e,{thenDelegate:n,catchDelegate:r=(()=>{})}){return ho(e)&&t.interceptors[fo[e]].use(n,r)}function i(e,n){return ho(e)&&t.interceptors[fo[e]].eject(n)}function s({request:e,isCollection:t,config:n}){const r=u(n),{id:a,cancelToken:o}=uo.save();r.cancelToken=o;const i=async function(){try{return function({response:e,isCollection:t,config:n}){return t?new za(e,n):new qa(e,n)}({response:await e(r),isCollection:t,config:r})}catch(n){return l({error:n,config:r})}finally{uo.deleteById(a)}}();return i.cancel=e=>po.cancelById(a,e),i}function l({error:e}){if(Ma.isCancel(e))throw new Ka.RebillyCanceledError(e);if(e.response)switch(Number(e.response.status)){case 401:throw new Ka.RebillyForbiddenError(e);case 404:throw new Ka.RebillyNotFoundError(e);case 405:throw new Ka.RebillyMethodNotAllowedError(e);case 409:throw new Ka.RebillyConflictError(e);case 422:throw new Ka.RebillyValidationError(e);default:throw new Ka.RebillyRequestError(e)}throw"ECONNABORTED"===e.code?new Ka.RebillyTimeoutError(e):new Ka.RebillyRequestError(e)}function c(e){return void 0!==e.params&&(e.params=Object.keys(e.params).filter((t=>null!==e.params[t]&&""!==e.params[t])).reduce(((t,n)=>(t[n]=e.params[n],t)),{})),e}function u(e={}){return{...c(e)}}function d(e,n={}){return s({request:n=>t.get(e,n),config:{params:n}})}function p(e,n,r={}){let o={};return!1===r.authenticate&&(o={headers:a()},delete o.headers.common["REB-APIKEY"],delete o.headers.common.Authorization),r.params&&(o.params={...r.params}),s({request:r=>t.post(e,n,r),config:o})}function m(e,n,r={}){return s({request:r=>t.put(e,n,r),config:{params:r}})}return{getInstance:function(){return t},addRequestInterceptor:function({thenDelegate:e,catchDelegate:t=(()=>{})}){return o(fo.request,{thenDelegate:e,catchDelegate:t})},removeRequestInterceptor:function(e){i(fo.request,e)},addResponseInterceptor:function({thenDelegate:e,catchDelegate:t=(()=>{})}){return o(fo.response,{thenDelegate:e,catchDelegate:t})},removeResponseInterceptor:function(e){i(fo.response,e)},setTimeout:function(n){e.requestTimeout=Number(n),t.defaults.timeout=e.requestTimeout},setProxyAgent:function({host:e,port:n,auth:r}){t.defaults.proxy={host:e,port:n,auth:r}},setSessionToken:function(n=e.jwt){const r=a();e.apiKey=null,e.jwt=n,delete r.common["REB-APIKEY"],r.common.Authorization=`Bearer ${n}`,t.defaults.headers=r},setPublishableKey:function(n=e.publishableKey){const r=a();e.publishableKey=n,r.common.Authorization=`${n}`,t.defaults.headers=r},setEndpoints:function({live:r=null,sandbox:a=null}){r&&(e.apiEndpoints.live=r),a&&(e.apiEndpoints.sandbox=a),t.defaults.baseURL=n()},get:d,getAll:function(e,n){return s({request:n=>t.get(e,n),config:{params:n},isCollection:!0})},post:p,put:m,patch:function(e,n){return s({request:r=>t.patch(e,n,r),config:{}})},delete:function(e){return s({request:n=>t.delete(e,n),config:{}})},deleteAll:function(e,n){return s({request:n=>t.delete(e,n),config:{data:{...n}}})},create:async function(e,t,n,r={}){if(""===t)return p(e,n,{params:r});try{if(200===(await d(e)).response.status)throw new Ka.RebillyConflictError({message:"A resource already exists with this ID. Please use a different ID."})}catch(a){if("RebillyNotFoundError"===a.name)return m(e,n,r);throw a}},download:async function(e,n){const r=u(n);try{const n=await t.get(e,r);return new Va(n,r)}catch(a){return l({error:a,config:r})}}}}const go={Accept:"application/pdf"};class bo{constructor({apiHandler:e}){this.account=function({apiHandler:e}){return{forgotPassword:({data:t})=>e.post("forgot-password",t,{authenticate:!1})}}({apiHandler:e}),this.allowlists=function({apiHandler:e}){return{getAllowlistCollection({filter:t=null,sort:n=null,limit:r=null,offset:a=null}={}){const o={filter:t,sort:n,limit:r,offset:a};return e.getAll("allowlists",o)},storeAllowlist:({data:t})=>e.post("allowlists",t),getAllowlist:({id:t})=>e.get(`allowlists/${t}`),delete:({id:t})=>e.delete(`allowlists/${t}`)}}({apiHandler:e}),this.amlChecks=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("aml-checks",i)},get:({id:t})=>e.get(`aml-checks/${t}`),startReview:({id:t})=>e.post(`aml-checks/${t}/start-review`),stopReview:({id:t})=>e.post(`aml-checks/${t}/stop-review`),review:({id:t,data:n})=>e.post(`aml-checks/${t}/review`,n)}}({apiHandler:e}),this.amlSettings=function({apiHandler:e}){return{getAmlSettings:()=>e.get("aml-settings"),putAmlSettings:({data:t})=>e.put("aml-settings",t)}}({apiHandler:e}),this.apiKeys=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null}={}){const a={limit:t,offset:n,sort:r};return e.getAll("api-keys",a)},create:({id:t="",data:n})=>e.create(`api-keys/${t}`,t,n),get:({id:t})=>e.get(`api-keys/${t}`),update:({id:t,data:n})=>e.put(`api-keys/${t}`,n),delete:({id:t})=>e.delete(`api-keys/${t}`)}}({apiHandler:e}),this.applicationInstances=function({apiHandler:e}){return{get:({applicationId:t})=>e.get(`application-instances/${t}`),upsert:({applicationId:t,data:n})=>e.put(`application-instances/${t}`,n),delete:({applicationId:t})=>e.delete(`application-instances/${t}`),getConfiguration:({applicationId:t})=>e.get(`application-instances/${t}/configuration`),upsertConfiguration:({applicationId:t,data:n})=>e.put(`application-instances/${t}/configuration`,n)}}({apiHandler:e}),this.applications=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,q:a=null,expand:o=null,fields:i=null,sort:s=null}={}){const l={limit:t,offset:n,filter:r,q:a,expand:o,fields:i,sort:s};return e.getAll("applications",l)},create:({data:t})=>e.post("applications",t),get:({id:t})=>e.get(`applications/${t}`),getInstances({id:t,limit:n=null,offset:r=null}){const a={limit:n,offset:r};return e.getAll(`applications/${t}/instances`,a)},getInstance:({id:t,organizationId:n})=>e.get(`applications/${t}/instances/${n}`)}}({apiHandler:e}),this.balanceTransactions=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("balance-transactions",o)},get:({id:t})=>e.get(`balance-transactions/${t}`)}}({apiHandler:e}),this.billingPortals=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("billing-portals",i)},create:({id:t="",data:n})=>e.create(`billing-portals/${t}`,t,n),get:({id:t})=>e.get(`billing-portals/${t}`),update:({id:t,data:n})=>e.put(`billing-portals/${t}`,n),delete:({id:t})=>e.delete(`billing-portals/${t}`)}}({apiHandler:e}),this.blocklists=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("blocklists",i)},create:({id:t="",data:n})=>e.create(`blocklists/${t}`,t,n),get:({id:t})=>e.get(`blocklists/${t}`),delete:({id:t})=>e.delete(`blocklists/${t}`)}}({apiHandler:e}),this.broadcastMessages=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,filter:a=null}={}){const o={limit:t,offset:n,sort:r,filter:a};return e.getAll("broadcast-messages",o)},create:({data:t})=>e.post("broadcast-messages",t),get:({id:t})=>e.get(`broadcast-messages/${t}`),delete:({id:t})=>e.delete(`broadcast-messages/${t}`),update:({id:t,data:n})=>e.patch(`broadcast-messages/${t}`,n)}}({apiHandler:e}),this.checkoutForms=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("checkout-forms",i)},create:({id:t="",data:n})=>e.create(`checkout-forms/${t}`,t,n),get:({id:t})=>e.get(`checkout-forms/${t}`),update:({id:t,data:n})=>e.put(`checkout-forms/${t}`,n),delete:({id:t})=>e.delete(`checkout-forms/${t}`)}}({apiHandler:e}),this.coupons=function({apiHandler:e}){return{getAllRedemptions({limit:t=null,offset:n=null,filter:r=null,q:a=null,sort:o=null}={}){const i={limit:t,offset:n,filter:r,q:a,sort:o};return e.getAll("coupons-redemptions",i)},redeem:({data:t})=>e.post("coupons-redemptions",t),getRedemption:({id:t})=>e.get(`coupons-redemptions/${t}`),cancelRedemption:({id:t})=>e.post(`coupons-redemptions/${t}/cancel`),getAll({limit:t=null,offset:n=null,filter:r=null,q:a=null,sort:o=null}={}){const i={limit:t,offset:n,filter:r,q:a,sort:o};return e.getAll("coupons",i)},create:({id:t="",data:n})=>e.create(`coupons/${t}`,t,n),get:({id:t})=>e.get(`coupons/${t}`),update:({id:t,data:n})=>e.put(`coupons/${t}`,n),setExpiration:({id:t,data:n})=>e.post(`coupons/${t}/expiration`,n)}}({apiHandler:e}),this.creditMemos=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null}={}){const i={filter:t,sort:n,limit:r,offset:a,q:o};return e.getAll("credit-memos",i)},create:({id:t="",data:n})=>e.create(`credit-memos/${t}`,t,n),get:({id:t})=>e.get(`credit-memos/${t}`),update:({id:t,data:n})=>e.put(`credit-memos/${t}`,n),patch:({id:t,data:n})=>e.patch(`credit-memos/${t}`,n),void:({id:t})=>e.post(`credit-memos/${t}/void`),getAllTimelineMessages({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,q:i=null}){const s={limit:n,offset:r,filter:a,sort:o,q:i};return e.getAll(`credit-memos/${t}/timeline`,s)},createTimelineComment:({id:t,data:n})=>e.post(`credit-memos/${t}/timeline`,n),getTimelineMessage:({id:t,messageId:n})=>e.get(`credit-memos/${t}/timeline/${n}`),deleteTimelineMessage:({id:t,messageId:n})=>e.delete(`credit-memos/${t}/timeline/${n}`)}}({apiHandler:e}),this.customDomains=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("custom-domains",i)},create:({data:t})=>e.post("custom-domains",t),get:({domain:t})=>e.get(`custom-domains/${t}`),delete:({domain:t})=>e.delete(`custom-domains/${t}`)}}({apiHandler:e}),this.customFields=function({apiHandler:e}){return{getAll({resource:t,limit:n=null,offset:r=null}){const a={limit:n,offset:r};return e.getAll(`custom-fields/${t}`,a)},get:({resource:t,name:n})=>e.get(`custom-fields/${t}/${n}`),create:({resource:t,name:n,data:r})=>e.put(`custom-fields/${t}/${n}`,r),update:({resource:t,name:n,data:r})=>e.put(`custom-fields/${t}/${n}`,r)}}({apiHandler:e}),this.customerAuthentication=function({apiHandler:e}){return{getAuthOptions:()=>e.get("authentication-options"),updateAuthOptions:({data:t})=>e.put("authentication-options",t),getAllAuthTokens({limit:t=null,offset:n=null}={}){const r={limit:t,offset:n};return e.getAll("authentication-tokens",r)},login:({data:t})=>e.post("authentication-tokens",t),verify:({token:t})=>e.get(`authentication-tokens/${t}`),logout:({token:t})=>e.delete(`authentication-tokens/${t}`),exchangeToken:({token:t,data:n})=>e.post(`authentication-tokens/${t}/exchange`,n),getAllCredentials({limit:t=null,offset:n=null}={}){const r={limit:t,offset:n};return e.getAll("credentials",r)},createCredential:({id:t="",data:n})=>e.create(`credentials/${t}`,t,n),getCredential:({id:t})=>e.get(`credentials/${t}`),updateCredential:({id:t,data:n})=>e.put(`credentials/${t}`,n),deleteCredential:({id:t})=>e.delete(`credentials/${t}`),getAllResetPasswordTokens({limit:t=null,offset:n=null}={}){const r={limit:t,offset:n};return e.getAll("password-tokens",r)},createResetPasswordToken:({data:t})=>e.post("password-tokens",t),getResetPasswordToken:({id:t})=>e.get(`password-tokens/${t}`),deleteResetPasswordToken:({id:t})=>e.delete(`password-tokens/${t}`)}}({apiHandler:e}),this.customers=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,q:a=null,expand:o=null,fields:i=null,sort:s=null}={}){const l={limit:t,offset:n,filter:r,q:a,expand:o,fields:i,sort:s};return e.getAll("customers",l)},create({id:t="",data:n,expand:r=null}){const a={expand:r};return e.create(`customers/${t}`,t,n,a)},get({id:t,expand:n=null,fields:r=null}){const a={expand:n,fields:r};return e.get(`customers/${t}`,a)},update({id:t,data:n,expand:r=null}){const a={expand:r};return e.put(`customers/${t}`,n,a)},merge:({id:t,targetCustomerId:n})=>e.delete(`customers/${t}?targetCustomerId=${n}`),getLeadSource:({id:t})=>e.get(`customers/${t}/lead-source`),createLeadSource:({id:t,data:n})=>e.put(`customers/${t}/lead-source`,n),updateLeadSource:({id:t,data:n})=>e.put(`customers/${t}/lead-source`,n),deleteLeadSource:({id:t})=>e.delete(`customers/${t}/lead-source`),getAllTimelineMessages({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,q:i=null}){const s={limit:n,offset:r,filter:a,sort:o,q:i};return e.getAll(`customers/${t}/timeline`,s)},createTimelineComment:({id:t,data:n})=>e.post(`customers/${t}/timeline`,n),getTimelineMessage:({id:t,messageId:n})=>e.get(`customers/${t}/timeline/${n}`),deleteTimelineMessage:({id:t,messageId:n})=>e.delete(`customers/${t}/timeline/${n}`),getCustomerEddScore:({id:t})=>e.get(`customers/${t}/edd-score`),patchCustomerEddScore:({id:t,data:n})=>e.patch(`customers/${t}/edd-score`,n),getEddTimelineCollection({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,q:i=null}){const s={limit:n,offset:r,filter:a,sort:o,q:i};return e.getAll(`customers/${t}/edd-timeline`,s)},createEddTimelineComment:({id:t,data:n})=>e.post(`customers/${t}/edd-timeline`,n),getEddTimelineMessage:({id:t,messageId:n})=>e.get(`customers/${t}/edd-timeline/${n}`),deleteEddTimelineMessage:({id:t,messageId:n})=>e.delete(`customers/${t}/edd-timeline/${n}`),getAllEddSearchResults({id:t,limit:n=null,offset:r=null}){const a={limit:n,offset:r};return e.getAll(`customers/${t}/edd-search-results`,a)},getEddSearchResult:({id:t,searchResultId:n})=>e.get(`customers/${t}/edd-search-results/${n}`)}}({apiHandler:e}),this.depositCustomPropertySets=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("deposit-custom-property-sets",o)},create:({id:t="",data:n})=>e.create(`deposit-custom-property-sets/${t}`,t,n),get:({id:t})=>e.get(`deposit-custom-property-sets/${t}`),update:({id:t,data:n})=>e.put(`deposit-custom-property-sets/${t}`,n),delete:({id:t})=>e.delete(`deposit-custom-property-sets/${t}`)}}({apiHandler:e}),this.depositRequests=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("deposit-requests",o)},create:({data:t})=>e.post("deposit-requests",t),get({id:t,expand:n=null}){const r={expand:n};return e.get(`deposit-requests/${t}`,r)}}}({apiHandler:e}),this.depositStrategies=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("deposit-strategies",o)},create:({id:t="",data:n})=>e.create(`deposit-strategies/${t}`,t,n),get:({id:t})=>e.get(`deposit-strategies/${t}`),update:({id:t,data:n})=>e.put(`deposit-strategies/${t}`,n),delete:({id:t})=>e.delete(`deposit-strategies/${t}`)}}({apiHandler:e}),this.digitalWallets=function({apiHandler:e}){return{validate:({data:t})=>e.post("digital-wallets/validation",t),create:({data:t})=>e.post("digital-wallets/onboarding/apple-pay",t)}}({apiHandler:e}),this.disputes=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null,expand:i=null}={}){const s={filter:t,sort:n,limit:r,offset:a,q:o,expand:i};return e.getAll("disputes",s)},create({id:t="",data:n,expand:r=null}){const a={expand:r};return e.create(`disputes/${t}`,t,n,a)},get:({id:t})=>e.get(`disputes/${t}`),update({id:t,data:n,expand:r=null}){const a={expand:r};return e.put(`disputes/${t}`,n,a)}}}({apiHandler:e}),this.emailDeliverySettings=function({apiHandler:e}){return{verify:({token:t})=>e.put(`email-delivery-setting-verifications/${t}`),getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null,q:o=null}={}){const i={limit:t,offset:n,filter:r,sort:a,q:o};return e.getAll("email-delivery-settings",i)},create:({data:t})=>e.post("email-delivery-settings",t),get:({id:t})=>e.get(`email-delivery-settings/${t}`),delete:({id:t})=>e.delete(`email-delivery-settings/${t}`),update:({id:t,data:n})=>e.patch(`email-delivery-settings/${t}`,n),resendVerification:({id:t})=>e.post(`email-delivery-settings/${t}/resend-email-verification`)}}({apiHandler:e}),this.emailMessages=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,q:r=null,sort:a=null,filter:o=null}={}){const i={limit:t,offset:n,q:r,sort:a,filter:o};return e.getAll("email-messages",i)},create:({data:t})=>e.post("email-messages",t),get:({id:t})=>e.get(`email-messages/${t}`),delete:({id:t})=>e.delete(`email-messages/${t}`),send:({id:t,data:n={status:"outbox"}})=>e.patch(`email-messages/${t}`,n)}}({apiHandler:e}),this.emailNotifications=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null}={}){const r={limit:t,offset:n};return e.getAll("email-notifications",r)}}}({apiHandler:e}),this.events=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,q:a=null}={}){const o={limit:t,offset:n,filter:r,q:a};return e.getAll("events",o)},get:({eventType:t})=>e.get(`events/${t}`),getRules:({eventType:t})=>e.get(`events/${t}/rules`),createRules:({eventType:t,data:n})=>e.put(`events/${t}/rules`,n),updateRules:({eventType:t,data:n})=>e.put(`events/${t}/rules`,n),getAllTimelineMessages({eventType:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,q:i=null}){const s={limit:n,offset:r,filter:a,sort:o,q:i};return e.getAll(`events/${t}/timeline`,s)},createTimelineComment:({eventType:t,data:n})=>e.post(`events/${t}/timeline`,n),getTimelineMessage:({eventType:t,messageId:n})=>e.get(`events/${t}/timeline/${n}`),deleteTimelineMessage:({eventType:t,messageId:n})=>e.delete(`events/${t}/timeline/${n}`),getRulesHistory({eventType:t,limit:n=null,offset:r=null,filter:a=null,q:o=null,sort:i=null,fields:s=null}){const l={limit:n,offset:r,filter:a,q:o,sort:i,fields:s};return e.getAll(`events/${t}/rules/history`,l)},getRulesVersionNumber({eventType:t,version:n,fields:r=null}){const a={fields:r};return e.get(`events/${t}/rules/history/${n}`,a)},getRulesVersionDetail({eventType:t,version:n,fields:r=null}){const a={fields:r};return e.get(`events/${t}/rules/versions/${n}`,a)},getAllDraftRulesets({eventType:t,limit:n=null,offset:r=null,filter:a=null,q:o=null,sort:i=null,fields:s=null}){const l={limit:n,offset:r,filter:a,q:o,sort:i,fields:s};return e.getAll(`events/${t}/rules/drafts`,l)},createDraftRuleset:({eventType:t,data:n})=>e.post(`events/${t}/rules/drafts`,n),getDraftRuleset({eventType:t,id:n,fields:r=null}){const a={fields:r};return e.get(`events/${t}/rules/drafts/${n}`,a)},updateDraftRuleset:({eventType:t,id:n,data:r})=>e.put(`events/${t}/rules/drafts/${n}`,r),deleteDraftRuleset:({eventType:t,id:n})=>e.delete(`events/${t}/rules/drafts/${n}`)}}({apiHandler:e}),this.externalIdentifiers=function({apiHandler:e}){return{get:({resource:t,resourceId:n,service:r})=>e.get(`${t}/${n}/external-identifiers/${r}`),sync:({resource:t,resourceId:n,service:r})=>e.post(`${t}/${n}/external-identifiers/${r}`),update:({resource:t,resourceId:n,service:r,data:a})=>e.put(`${t}/${n}/external-identifiers/${r}`,a),delete:({resource:t,resourceId:n,service:r})=>e.delete(`${t}/${n}/external-identifiers/${r}`)}}({apiHandler:e}),this.externalServicesSettings=function({apiHandler:e}){return{getExternalServiceSettings:()=>e.get("external-services-settings"),updateExternalServiceSettings:({data:t})=>e.put("external-services-settings",t)}}({apiHandler:e}),this.fees=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("fees",o)},create:({id:t="",data:n})=>e.create(`fees/${t}`,t,n),get:({id:t})=>e.get(`fees/${t}`),upsert:({id:t,data:n})=>e.put(`fees/${t}`,n),delete:({id:t})=>e.delete(`fees/${t}`),patch:({id:t,data:n})=>e.patch(`fees/${t}`,n)}}({apiHandler:e}),this.files=function({apiHandler:e}){return{getAllAttachments({limit:t=null,offset:n=null,filter:r=null,q:a=null,expand:o=null,fields:i=null,sort:s=null}={}){const l={limit:t,offset:n,filter:r,q:a,expand:o,fields:i,sort:s};return e.getAll("attachments",l)},attach({id:t="",data:n,expand:r=null}){const a={expand:r};return e.create(`attachments/${t}`,t,n,a)},getAttachment:({id:t})=>e.get(`attachments/${t}`),updateAttachment({id:t,data:n,expand:r=null}){const a={expand:r};return e.put(`attachments/${t}`,n,a)},detach:({id:t})=>e.delete(`attachments/${t}`),getAll({limit:t=null,offset:n=null,filter:r=null,q:a=null,fields:o=null,sort:i=null}={}){const s={limit:t,offset:n,filter:r,q:a,fields:o,sort:i};return e.getAll("files",s)},upload:({fileObject:t})=>e.post("files",t),get:({id:t})=>e.get(`files/${t}`),update:({id:t,data:n})=>e.put(`files/${t}`,n),delete:({id:t})=>e.delete(`files/${t}`),download:({id:t})=>e.download(`files/${t}/download`,{responseType:"arraybuffer"}),detachAndDelete({id:t}){const n={filter:`fileId:${t}`};let r=[];const a=(async()=>{const a=this.getAllAttachments(n);r.push(a);const o=(await a).items.map((e=>this.detach({id:e.fields.id})));r=[...r,o],await Promise.all(o);const i=e.delete(`files/${t}`);return r.push(i),i})();return a.cancel=()=>{r.forEach((e=>e.cancel()))},a},uploadAndUpdate({fileObject:e,data:t={description:"",tags:[""]}}){const n=[],r=(async()=>{const r=this.upload({fileObject:e});n.push(r),await r;const a={name:r.name,extension:r.extension,description:t.description,tags:t.tags,url:""},o=this.update({id:r.fields.id,data:a});return n.push(o),o})();return r.cancel=()=>{n.forEach((e=>e.cancel()))},r}}}({apiHandler:e}),this.gatewayAccounts=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null,fields:i=null}={}){const s={limit:t,offset:n,sort:r,filter:a,q:o,fields:i};return e.getAll("gateway-accounts",s)},create:({id:t="",data:n})=>e.create(`gateway-accounts/${t}`,t,n),get:({id:t})=>e.get(`gateway-accounts/${t}`),upsert:({id:t,data:n})=>e.put(`gateway-accounts/${t}`,n),delete:({id:t})=>e.delete(`gateway-accounts/${t}`),update:({id:t,data:n})=>e.patch(`gateway-accounts/${t}`,n),close:({id:t})=>e.post(`gateway-accounts/${t}/close`),disable:({id:t})=>e.post(`gateway-accounts/${t}/disable`),getAllDowntimeSchedules({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null}){const i={limit:n,offset:r,filter:a,sort:o};return e.getAll(`gateway-accounts/${t}/downtime-schedules`,i)},createDowntimeSchedule:({id:t,data:n})=>e.post(`gateway-accounts/${t}/downtime-schedules`,n),getDowntimeSchedule:({id:t,downtimeId:n})=>e.get(`gateway-accounts/${t}/downtime-schedules/${n}`),updateDowntimeSchedule:({id:t,downtimeId:n,data:r})=>e.put(`gateway-accounts/${t}/downtime-schedules/${n}`,r),deleteDowntimeSchedule:({id:t,downtimeId:n})=>e.delete(`gateway-accounts/${t}/downtime-schedules/${n}`),enable:({id:t})=>e.post(`gateway-accounts/${t}/enable`),getAllVolumeLimits:({id:t})=>e.getAll(`gateway-accounts/${t}/limits`),getVolumeLimit:({id:t,limitId:n})=>e.get(`gateway-accounts/${t}/limits/${n}`),updateVolumeLimit:({id:t,limitId:n,data:r})=>e.put(`gateway-accounts/${t}/limits/${n}`,r),deleteVolumeLimit:({id:t,limitId:n})=>e.delete(`gateway-accounts/${t}/limits/${n}`),getAllTimelineMessages({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,q:i=null}){const s={limit:n,offset:r,filter:a,sort:o,q:i};return e.getAll(`gateway-accounts/${t}/timeline`,s)},createTimelineComment:({id:t,data:n})=>e.post(`gateway-accounts/${t}/timeline`,n),getTimelineMessage:({id:t,messageId:n})=>e.get(`gateway-accounts/${t}/timeline/${n}`),deleteTimelineMessage:({id:t,messageId:n})=>e.delete(`gateway-accounts/${t}/timeline/${n}`),checkCredentials:({id:t})=>e.post(`gateway-accounts/${t}/check-credentials`),getFinancialSettings:({id:t})=>e.get(`gateway-accounts/${t}/financial-settings`),setFinancialSettings:({id:t,data:n})=>e.put(`gateway-accounts/${t}/financial-settings`,n)}}({apiHandler:e}),this.integrations=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null}={}){const r={limit:t,offset:n};return e.getAll("integrations",r)},get:({label:t})=>e.get(`integrations/${t}`)}}({apiHandler:e}),this.invoices=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null,expand:i=null}={}){const s={filter:t,sort:n,limit:r,offset:a,q:o,expand:i};return e.getAll("invoices",s)},create:({id:t="",data:n})=>e.create(`invoices/${t}`,t,n),get({id:t,expand:n=null}){const r={expand:n};return e.get(`invoices/${t}`,r)},update:({id:t,data:n})=>e.put(`invoices/${t}`,n),getAllInvoiceItems({id:t,limit:n=null,offset:r=null,expand:a=null}){const o={limit:n,offset:r,expand:a};return e.getAll(`invoices/${t}/items`,o)},createInvoiceItem:({id:t,data:n})=>e.post(`invoices/${t}/items`,n),getInvoiceItem:({id:t,itemId:n})=>e.get(`invoices/${t}/items/${n}`),updateInvoiceItem:({id:t,itemId:n,data:r})=>e.put(`invoices/${t}/items/${n}`,r),deleteInvoiceItem:({id:t,itemId:n})=>e.delete(`invoices/${t}/items/${n}`),issue:({id:t,data:n})=>e.post(`invoices/${t}/issue`,n),abandon:({id:t})=>e.post(`invoices/${t}/abandon`),void:({id:t})=>e.post(`invoices/${t}/void`),recalculate:({id:t})=>e.post(`invoices/${t}/recalculate`),reissue:({id:t,data:n})=>e.post(`invoices/${t}/reissue`,n),getAllTransactionAllocations({id:t,limit:n=null,offset:r=null}){const a={limit:n,offset:r};return e.getAll(`invoices/${t}/transaction-allocations`,a)},applyTransaction:({id:t,data:n})=>e.post(`invoices/${t}/transaction`,n),getAllTimelineMessages({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,q:i=null}){const s={limit:n,offset:r,filter:a,sort:o,q:i};return e.getAll(`invoices/${t}/timeline`,s)},createTimelineComment:({id:t,data:n})=>e.post(`invoices/${t}/timeline`,n),getTimelineMessage:({id:t,messageId:n})=>e.get(`invoices/${t}/timeline/${n}`),deleteTimelineMessage:({id:t,messageId:n})=>e.delete(`invoices/${t}/timeline/${n}`),downloadPDF({id:t}){const n={headers:go,responseType:"arraybuffer"};return e.download(`invoices/${t}`,n)}}}({apiHandler:e}),this.journalAccounts=function({apiHandler:e}){return{getAllAccounts({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("journal-accounts",o)},createAccount:({id:t="",data:n})=>e.create(`journal-accounts/${t}`,t,n),getAccount:({id:t})=>e.get(`journal-accounts/${t}`),updateAccount:({id:t,data:n})=>e.put(`journal-accounts/${t}`,n)}}({apiHandler:e}),this.journalEntries=function({apiHandler:e}){return{getAllEntries({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("journal-entries",o)},createEntry:({id:t="",data:n})=>e.create(`journal-entries/${t}`,t,n),getEntry:({id:t})=>e.get(`journal-entries/${t}`),updateEntry:({id:t,data:n})=>e.put(`journal-entries/${t}`,n),getAllRecords({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,expand:i=null}){const s={limit:n,offset:r,filter:a,sort:o,expand:i};return e.getAll(`journal-entries/${t}/records`,s)},createRecord:({id:t,data:n})=>e.post(`journal-entries/${t}/records`,n),getRecord:({id:t,journalRecordId:n})=>e.get(`journal-entries/${t}/records/${n}`),updateRecord:({id:t,journalRecordId:n,data:r})=>e.put(`journal-entries/${t}/records/${n}`,r),deleteRecord:({id:t,journalRecordId:n})=>e.delete(`journal-entries/${t}/records/${n}`)}}({apiHandler:e}),this.kycDocuments=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null,expand:o=null}={}){const i={limit:t,offset:n,filter:r,sort:a,expand:o};return e.getAll("kyc-documents",i)},create:({id:t="",data:n})=>e.create(`kyc-documents/${t}`,t,n),get:({id:t})=>e.get(`kyc-documents/${t}`),update:({id:t,data:n})=>e.put(`kyc-documents/${t}`,n),accept:({id:t})=>e.post(`kyc-documents/${t}/acceptance`),matches:({id:t,data:n})=>e.post(`kyc-documents/${t}/matches`,n),reject:({id:t,data:n})=>e.post(`kyc-documents/${t}/rejection`,n),review:({id:t})=>e.post(`kyc-documents/${t}/review`),startReview:({id:t})=>e.post(`kyc-documents/${t}/start-review`),stopReview:({id:t})=>e.post(`kyc-documents/${t}/stop-review`)}}({apiHandler:e}),this.kycRequests=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("kyc-requests",o)},create:({data:t})=>e.post("kyc-requests",t),get:({id:t})=>e.get(`kyc-requests/${t}`),delete:({id:t})=>e.delete(`kyc-requests/${t}`),update:({id:t,data:n})=>e.patch(`kyc-requests/${t}`,n)}}({apiHandler:e}),this.kycSettings=function({apiHandler:e}){return{getKycSettings:()=>e.get("kyc-settings"),updateKycSettings:({data:t})=>e.put("kyc-settings",t)}}({apiHandler:e}),this.lists=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null,fields:o=null,q:i=null}={}){const s={limit:t,offset:n,filter:r,sort:a,fields:o,q:i};return e.getAll("lists",s)},create:({id:t="",data:n})=>e.create(`lists/${t}`,t,n),getLatestVersion:({id:t})=>e.get(`lists/${t}`),update:({id:t,data:n})=>e.put(`lists/${t}`,n),delete:({id:t})=>e.delete(`lists/${t}`),getByVersion:({id:t,version:n})=>e.get(`lists/${t}/${n}`)}}({apiHandler:e}),this.memberships=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("memberships",o)},get:({organizationId:t,userId:n})=>e.get(`memberships/${t}/${n}`),update:({organizationId:t,userId:n,data:r})=>e.put(`memberships/${t}/${n}`,r),delete:({organizationId:t,userId:n})=>e.delete(`memberships/${t}/${n}`)}}({apiHandler:e}),this.organizationExports=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,q:a=null,sort:o=null}={}){const i={limit:t,offset:n,filter:r,q:a,sort:o};return e.getAll("organization-exports",i)},create:({data:t})=>e.post("organization-exports",t),get:({id:t})=>e.get(`organization-exports/${t}`)}}({apiHandler:e}),this.organizations=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null,q:o=null}={}){const i={limit:t,offset:n,filter:r,sort:a,q:o};return e.getAll("organizations",i)},create:({data:t})=>e.post("organizations",t),get:({id:t})=>e.get(`organizations/${t}`),update:({id:t,data:n})=>e.patch(`organizations/${t}`,n)}}({apiHandler:e}),this.paymentCardsBankNames=function({apiHandler:e}){return{getAll({limit:t=null,q:n=null}={}){const r={limit:t,q:n};return e.getAll("payment-cards-bank-names",r)}}}({apiHandler:e}),this.paymentInstruments=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null,expand:i=null}={}){const s={filter:t,sort:n,limit:r,offset:a,q:o,expand:i};return e.getAll("payment-instruments",s)},create:({data:t})=>e.post("payment-instruments",t),get:({id:t})=>e.get(`payment-instruments/${t}`),update:({id:t,data:n})=>e.patch(`payment-instruments/${t}`,n),deactivate:({id:t})=>e.post(`payment-instruments/${t}/deactivation`)}}({apiHandler:e}),this.paymentMethods=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null}={}){const r={limit:t,offset:n};return e.getAll("payment-methods",r)},get:({apiName:t})=>e.get(`payment-methods/${t}`)}}({apiHandler:e}),this.paymentTokens=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null}={}){const r={limit:t,offset:n};return e.getAll("tokens",r)},create:({data:t})=>e.post("tokens",t),get:({token:t})=>e.get(`tokens/${t}`)}}({apiHandler:e}),this.payoutRequests=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("payout-requests",o)},create:({id:t="",data:n})=>e.create(`payout-requests/${t}`,t,n),get:({id:t})=>e.get(`payout-requests/${t}`),update:({id:t,data:n})=>e.put(`payout-requests/${t}`,n),cancel:({id:t,data:n})=>e.post(`payout-requests/${t}/cancel`,n),getPaymentInstruments:({id:t})=>e.get(`payout-requests/${t}/payment-instruments`)}}({apiHandler:e}),this.payouts=function({apiHandler:e}){return{create:({data:t})=>e.post("payouts",t)}}({apiHandler:e}),this.plans=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null}={}){const i={filter:t,sort:n,limit:r,offset:a,q:o};return e.getAll("plans",i)},create:({id:t="",data:n})=>e.create(`plans/${t}`,t,n),get:({id:t})=>e.get(`plans/${t}`),update:({id:t,data:n})=>e.put(`plans/${t}`,n),delete:({id:t})=>e.delete(`plans/${t}`)}}({apiHandler:e}),this.previews=function({apiHandler:e}){return{order:({data:t})=>e.post("previews/orders",t),sendEmailRuleAction:({data:t})=>e.post("previews/rule-actions/send-email",t),webhook:({data:t})=>e.post("previews/webhooks",t)}}({apiHandler:e}),this.products=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null}={}){const i={filter:t,sort:n,limit:r,offset:a,q:o};return e.getAll("products",i)},create:({id:t="",data:n})=>e.create(`products/${t}`,t,n),get:({id:t})=>e.get(`products/${t}`),update:({id:t,data:n})=>e.put(`products/${t}`,n),delete:({id:t})=>e.delete(`products/${t}`)}}({apiHandler:e}),this.profile=function({apiHandler:e}){return{startPermissionsEmulation:({data:t})=>e.post("permissions-emulation",t),stopPermissionsEmulation:()=>e.delete("permissions-emulation"),get:()=>e.get("profile"),update:({data:t})=>e.put("profile",t),getMfa:()=>e.get("profile/mfa"),updateMfa:()=>e.post("profile/mfa"),deleteMfa:()=>e.delete("profile/mfa")}}({apiHandler:e}),this.purchase=function({apiHandler:e}){return{readyToPay:({data:t})=>e.post("ready-to-pay",t)}}({apiHandler:e}),this.quotes=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,expand:o=null}={}){const i={filter:t,sort:n,limit:r,offset:a,expand:o};return e.getAll("quotes",i)},create:({id:t="",data:n})=>e.create(`quotes/${t}`,t,n),get({id:t,expand:n=null}){const r={expand:n};return e.get(`quotes/${t}`,r)},update:({id:t,data:n})=>e.put(`quotes/${t}`,n),patch:({id:t,data:n})=>e.patch(`quotes/${t}`,n),accept:({id:t})=>e.post(`quotes/${t}/accept`),cancel:({id:t})=>e.post(`quotes/${t}/cancel`),issue:({id:t})=>e.post(`quotes/${t}/issue`),recall:({id:t})=>e.post(`quotes/${t}/recall`),reject:({id:t})=>e.post(`quotes/${t}/reject`),getAllTimelineMessages({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,q:i=null}){const s={limit:n,offset:r,filter:a,sort:o,q:i};return e.getAll(`quotes/${t}/timeline`,s)},createTimelineComment:({id:t,data:n})=>e.post(`quotes/${t}/timeline`,n),getTimelineMessage:({id:t,messageId:n})=>e.get(`quotes/${t}/timeline/${n}`),deleteTimelineMessage:({id:t,messageId:n})=>e.delete(`quotes/${t}/timeline/${n}`),downloadPDF({id:t}){const n={headers:go,responseType:"arraybuffer"};return e.download(`quotes/${t}`,n)}}}({apiHandler:e}),this.resource=function({apiHandler:e}){return{get:({resource:t,resourceId:n,service:r})=>e.get(`${t}/${n}/external-identifiers/${r}`),sync:({resource:t,resourceId:n,service:r})=>e.post(`${t}/${n}/external-identifiers/${r}`),update:({resource:t,resourceId:n,service:r,data:a})=>e.put(`${t}/${n}/external-identifiers/${r}`,a),delete:({resource:t,resourceId:n,service:r})=>e.delete(`${t}/${n}/external-identifiers/${r}`)}}({apiHandler:e}),this.riskScoreRules=function({apiHandler:e}){return{getAll:()=>e.get("risk-score-rules"),updateRiskScoreRules:({data:t})=>e.put("risk-score-rules",t),getAllBlocklistRules:()=>e.get("risk-score-rules/blocklists"),updateRiskScoreBlocklistRules:({data:t})=>e.put("risk-score-rules/blocklists",t)}}({apiHandler:e}),this.roles=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null,q:o=null,expand:i=null}={}){const s={limit:t,offset:n,filter:r,sort:a,q:o,expand:i};return e.getAll("roles",s)},create:({id:t="",data:n})=>e.create(`roles/${t}`,t,n),get({id:t,expand:n=null}){const r={expand:n};return e.get(`roles/${t}`,r)},update:({id:t,data:n})=>e.put(`roles/${t}`,n),delete:({id:t})=>e.delete(`roles/${t}`)}}({apiHandler:e}),this.search=function({apiHandler:e}){return{get({sort:t=null,limit:n=null,offset:r=null,q:a=null}){const o={sort:t,limit:n,offset:r,q:a};return e.get("search",o)}}}({apiHandler:e}),this.segments=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("grid-segments",i)},create:({id:t="",data:n})=>e.create(`grid-segments/${t}`,t,n),get:({id:t})=>e.get(`grid-segments/${t}`),update:({id:t,data:n})=>e.put(`grid-segments/${t}`,n),delete:({id:t})=>e.delete(`grid-segments/${t}`)}}({apiHandler:e}),this.sendThroughAttribution=function({apiHandler:e}){return{getAll:({eventType:t})=>e.getAll(`send-through-attribution/${t}`)}}({apiHandler:e}),this.serviceCredentials=function({apiHandler:e}){return{getAll({type:t,filter:n=null,limit:r=null,offset:a=null,sort:o=null,q:i=null}){const s={filter:n,limit:r,offset:a,sort:o,q:i};return e.getAll(`service-credentials/${t}`,s)},create:({type:t,data:n})=>e.post(`service-credentials/${t}`,n),get:({type:t,id:n})=>e.get(`service-credentials/${t}/${n}`),update:({type:t,id:n,data:r})=>e.patch(`service-credentials/${t}/${n}`,r),getItems({type:t,id:n,limit:r=null,offset:a=null,filter:o=null,q:i=null,fields:s=null,sort:l=null}){const c={limit:r,offset:a,filter:o,q:i,fields:s,sort:l};return e.getAll(`service-credentials/${t}/${n}/items`,c)}}}({apiHandler:e}),this.shippingRates=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null,q:o=null}={}){const i={limit:t,offset:n,filter:r,sort:a,q:o};return e.getAll("shipping-rates",i)},create:({id:t="",data:n})=>e.create(`shipping-rates/${t}`,t,n),get:({id:t})=>e.get(`shipping-rates/${t}`),update:({id:t,data:n})=>e.put(`shipping-rates/${t}`,n),delete:({id:t})=>e.delete(`shipping-rates/${t}`)}}({apiHandler:e}),this.status=function({apiHandler:e}){return{get:()=>e.get("status")}}({apiHandler:e}),this.subscriptionCancellations=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("subscription-cancellations",o)},create:({id:t="",data:n})=>e.create(`subscription-cancellations/${t}`,t,n),get:({id:t})=>e.get(`subscription-cancellations/${t}`),delete:({id:t})=>e.delete(`subscription-cancellations/${t}`),patch:({id:t,data:n})=>e.patch(`subscription-cancellations/${t}`,n)}}({apiHandler:e}),this.subscriptionPauses=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("subscription-pauses",o)},pause:({id:t="",data:n})=>e.create(`subscription-pauses/${t}`,t,n),get:({id:t})=>e.get(`subscription-pauses/${t}`),update:({id:t,data:n})=>e.put(`subscription-pauses/${t}`,n),delete:({id:t})=>e.delete(`subscription-pauses/${t}`)}}({apiHandler:e}),this.subscriptionReactivations=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("subscription-reactivations",o)},reactivate:({data:t})=>e.post("subscription-reactivations",t),get:({id:t})=>e.get(`subscription-reactivations/${t}`)}}({apiHandler:e}),this.subscriptions=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null,expand:i=null}={}){const s={filter:t,sort:n,limit:r,offset:a,q:o,expand:i};return e.getAll("subscriptions",s)},create({id:t="",data:n,expand:r=null}){const a={expand:r};return e.create(`subscriptions/${t}`,t,n,a)},get({id:t,expand:n=null}){const r={expand:n};return e.get(`subscriptions/${t}`,r)},update({id:t,data:n,expand:r=null}){const a={expand:r};return e.put(`subscriptions/${t}`,n,a)},delete:({id:t})=>e.delete(`subscriptions/${t}`),void:({id:t})=>e.post(`subscriptions/${t}/void`),changeItems({id:t,data:n,expand:r=null}){const a={expand:r};return e.post(`subscriptions/${t}/change-items`,n,a)},updateItem:({id:t,itemId:n,data:r})=>e.patch(`subscriptions/${t}/items/${n}`,r),createInterimInvoice:({id:t,data:n})=>e.post(`subscriptions/${t}/interim-invoice`,n),getAllUpcomingInvoices({id:t,expand:n=null}){const r={expand:n};return e.getAll(`subscriptions/${t}/upcoming-invoices`,r)},getUpcomingInvoice({id:t,expand:n=null}){const r={expand:n};return e.get(`subscriptions/${t}/upcoming-invoice`,r)},issueEarlyUpcomingInvoice:({id:t,data:n})=>e.post(`subscriptions/${t}/upcoming-invoice/issue`,n),issueUpcomingInvoice:({id:t,invoiceId:n,data:r})=>e.post(`subscriptions/${t}/upcoming-invoices/${n}/issue`,r),getAllTimelineMessages({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,q:i=null}){const s={limit:n,offset:r,filter:a,sort:o,q:i};return e.getAll(`subscriptions/${t}/timeline`,s)},createTimelineComment:({id:t,data:n})=>e.post(`subscriptions/${t}/timeline`,n),getTimelineMessage:({id:t,messageId:n})=>e.get(`subscriptions/${t}/timeline/${n}`),deleteTimelineMessage:({id:t,messageId:n})=>e.delete(`subscriptions/${t}/timeline/${n}`)}}({apiHandler:e}),this.tags=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,q:a=null,sort:o=null}={}){const i={limit:t,offset:n,filter:r,q:a,sort:o};return e.getAll("tags",i)},create:({data:t})=>e.post("tags",t),get:({tag:t})=>e.get(`tags/${t}`),delete:({tag:t})=>e.delete(`tags/${t}`),update:({tag:t,data:n})=>e.patch(`tags/${t}`,n),tagCustomers:({tag:t,data:n})=>e.post(`tags/${t}/customers`,n),untagCustomers:({tag:t,data:n})=>e.delete(`tags/${t}/customers`,n),tagCustomer:({tag:t,customerId:n})=>e.post(`tags/${t}/customers/${n}`),untagCustomer:({tag:t,customerId:n})=>e.delete(`tags/${t}/customers/${n}`),tagKycDocuments:({tag:t,data:n})=>e.post(`tags/${t}/kyc-documents`,n),untagKycDocuments:({tag:t,data:n})=>e.delete(`tags/${t}/kyc-documents`,n),tagKycDocument:({tag:t,kycDocumentId:n})=>e.post(`tags/${t}/kyc-documents/${n}`),untagKycDocument:({tag:t,kycDocumentId:n})=>e.delete(`tags/${t}/kyc-documents/${n}`),tagAmlChecks:({tag:t,data:n})=>e.post(`tags/${t}/aml-checks`,n),untagAmlChecks:({tag:t,data:n})=>e.delete(`tags/${t}/aml-checks`,n),tagAmlCheck:({tag:t,amlCheckId:n})=>e.post(`tags/${t}/aml-checks/${n}`),untagAmlCheck:({tag:t,amlCheckId:n})=>e.delete(`tags/${t}/aml-checks/${n}`)}}({apiHandler:e}),this.tagsRules=function({apiHandler:e}){return{getAllTagsRules({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("tags-rules",i)},createTagsRule:({id:t="",data:n})=>e.create(`tags-rules/${t}`,t,n),getTagsRule:({id:t})=>e.get(`tags-rules/${t}`),updateTagsRule:({id:t,data:n})=>e.put(`tags-rules/${t}`,n),deleteTagsRule:({id:t})=>e.delete(`tags-rules/${t}`)}}({apiHandler:e}),this.tracking=function({apiHandler:e}){return{getAllApiLogs({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null,expand:i=null}={}){const s={limit:t,offset:n,sort:r,filter:a,q:o,expand:i};return e.getAll("tracking/api",s)},getApiLog:({id:t})=>e.get(`tracking/api/${t}`),getAllTaxTrackingLogs({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("tracking/taxes",i)},getTaxTrackingLog:({id:t})=>e.get(`tracking/taxes/${t}`),getAllListsChangesHistory({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("tracking/lists",i)},getAllWebhookTrackingLogs({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("tracking/webhooks",i)},getWebhookTrackingLog:({id:t})=>e.get(`tracking/webhooks/${t}`),resendWebhook:({id:t})=>e.post(`tracking/webhooks/${t}/resend`)}}({apiHandler:e}),this.transactions=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,q:a=null,sort:o=null,expand:i=null}={}){const s={limit:t,offset:n,filter:r,q:a,sort:o,expand:i};return e.getAll("transactions",s)},create({data:t,expand:n=null}){const r={expand:n};return e.post("transactions",t,r)},get({id:t,expand:n=null}){const r={expand:n};return e.get(`transactions/${t}`,r)},patch:({id:t,data:n})=>e.patch(`transactions/${t}`,n),query:({id:t})=>e.post(`transactions/${t}/query`),update:({id:t,data:n})=>e.post(`transactions/${t}/update`,n),refund:({id:t,data:n})=>e.post(`transactions/${t}/refund`,n),getAllTimelineMessages({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,q:i=null}){const s={limit:n,offset:r,filter:a,sort:o,q:i};return e.getAll(`transactions/${t}/timeline`,s)},createTimelineComment:({id:t,data:n})=>e.post(`transactions/${t}/timeline`,n),getTimelineMessage:({id:t,messageId:n})=>e.get(`transactions/${t}/timeline/${n}`),deleteTimelineMessage:({id:t,messageId:n})=>e.delete(`transactions/${t}/timeline/${n}`)}}({apiHandler:e}),this.usages=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null}={}){const i={filter:t,sort:n,limit:r,offset:a,q:o};return e.getAll("usages",i)},create:({id:t="",data:n})=>e.create(`usages/${t}`,t,n),get:({id:t})=>e.get(`usages/${t}`),update:({id:t,data:n})=>e.put(`usages/${t}`,n),delete:({id:t})=>e.delete(`usages/${t}`)}}({apiHandler:e}),this.users=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("users",i)},create:({id:t="",data:n})=>e.create(`users/${t}`,t,n),get:({id:t})=>e.get(`users/${t}`),update:({id:t,data:n})=>e.put(`users/${t}`,n),getMfa:({id:t})=>e.get(`users/${t}/mfa`)}}({apiHandler:e}),this.webhooks=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null}={}){const a={limit:t,offset:n,filter:r};return e.getAll("webhooks",a)},create:({id:t="",data:n})=>e.create(`webhooks/${t}`,t,n),get:({id:t})=>e.get(`webhooks/${t}`),update:({id:t,data:n})=>e.put(`webhooks/${t}`,n)}}({apiHandler:e}),this.websites=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,q:r=null,filter:a=null,sort:o=null}={}){const i={limit:t,offset:n,q:r,filter:a,sort:o};return e.getAll("websites",i)},create:({id:t="",data:n})=>e.create(`websites/${t}`,t,n),get:({id:t})=>e.get(`websites/${t}`),update:({id:t,data:n})=>e.put(`websites/${t}`,n),delete:({id:t})=>e.delete(`websites/${t}`)}}({apiHandler:e}),this.addRequestInterceptor=e.addRequestInterceptor,this.removeRequestInterceptor=e.removeRequestInterceptor,this.addResponseInterceptor=e.addResponseInterceptor,this.removeResponseInterceptor=e.removeResponseInterceptor,this.setTimeout=e.setTimeout,this.setProxyAgent=e.setProxyAgent,this.setSessionToken=e.setSessionToken,this.setPublishableKey=e.setPublishableKey,this.setEndpoints=e.setEndpoints,this.getCancellationToken=e.getCancellationToken,this.generateSignature=e.generateSignature}}const vo={CustomersResource:function({apiHandler:e}){return{getCustomerLifetimeSummaryMetrics:({customerId:t})=>e.get(`customers/${t}/summary-metrics`)}},DataExportsResource:function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,expand:a=null,filter:o=null,q:i=null,criteria:s=null}={}){const l={limit:t,offset:n,sort:r,expand:a,filter:o,q:i,criteria:s};return e.getAll("data-exports",l)},queue({id:t="",data:n,expand:r=null}){const a={expand:r};return e.create(`data-exports/${t}`,t,n,a)},get({id:t,expand:n=null}){const r={expand:n};return e.get(`data-exports/${t}`,r)},update({id:t,data:n,expand:r=null}){const a={expand:r};return e.put(`data-exports/${t}`,n,a)},delete:({id:t})=>e.delete(`data-exports/${t}`)}},HistogramsResource:function({apiHandler:e}){return{getTransactionHistogramReport({periodStart:t,periodEnd:n,aggregationPeriod:r,metric:a,filter:o=null}){const i={periodStart:t,periodEnd:n,aggregationPeriod:r,metric:a,filter:o};return e.get("histograms/transactions",i)}}},ReportsResource:function({apiHandler:e}){return{getApiLogSummary({periodStart:t,periodEnd:n,limit:r=null,offset:a=null}){const o={periodStart:t,periodEnd:n,limit:r,offset:a};return e.get("reports/api-log-summary",o)},getCumulativeSubscriptions({aggregationField:t,periodStart:n,periodEnd:r,limit:a=null,offset:o=null,filter:i=null}){const s={aggregationField:t,periodStart:n,periodEnd:r,limit:a,offset:o,filter:i};return e.get("reports/cumulative-subscriptions",s)},getDashboardMetrics({periodStart:t,periodEnd:n,metrics:r=null,segments:a=null}){const o={periodStart:t,periodEnd:n,metrics:r,segments:a};return e.get("reports/dashboard",o)},getDccMarkup({aggregationField:t,periodStart:n,periodEnd:r,limit:a=null,offset:o=null,filter:i=null}){const s={aggregationField:t,periodStart:n,periodEnd:r,limit:a,offset:o,filter:i};return e.get("reports/dcc-markup",s)},getDeclinedTransactions({aggregationField:t,periodStart:n,periodEnd:r,limit:a=null,offset:o=null,filter:i=null}){const s={aggregationField:t,periodStart:n,periodEnd:r,limit:a,offset:o,filter:i};return e.get("reports/declined-transactions",s)},getDisputes({aggregationField:t,periodMonth:n,limit:r=null,offset:a=null,filter:o=null}){const i={aggregationField:t,periodMonth:n,limit:r,offset:a,filter:o};return e.get("reports/disputes",i)},getEventsTriggeredSummary({periodStart:t,periodEnd:n,limit:r=null,offset:a=null}){const o={periodStart:t,periodEnd:n,limit:r,offset:a};return e.get("reports/events-triggered",o)},getTriggeredEventRuleReport({eventType:t,periodStart:n,periodEnd:r,limit:a=null,offset:o=null}){const i={periodStart:n,periodEnd:r,limit:a,offset:o};return e.get(`reports/events-triggered/${t}/rules`,i)},getFutureRenewals({periodStart:t,periodEnd:n,limit:r=null,offset:a=null}){const o={periodStart:t,periodEnd:n,limit:r,offset:a};return e.get("reports/future-renewals",o)},getJournal({currency:t,bookedFrom:n=null,bookedTo:r=null,recognizedAt:a,aggregationField:o,limit:i=null,offset:s=null,filter:l=null}){const c={currency:t,bookedFrom:n,bookedTo:r,recognizedAt:a,aggregationField:o,limit:i,offset:s,filter:l};return e.get("reports/journal",c)},getKycAcceptanceSummary({periodStart:t,periodEnd:n}){const r={periodStart:t,periodEnd:n};return e.get("reports/kyc-acceptance-summary",r)},getKycRejectionSummary({periodStart:t,periodEnd:n}){const r={periodStart:t,periodEnd:n};return e.get("reports/kyc-rejection-summary",r)},getKycRequestSummary({periodStart:t,periodEnd:n}){const r={periodStart:t,periodEnd:n};return e.get("reports/kyc-request-summary",r)},getMonthlyRecurringRevenue({currency:t,periodStart:n,periodEnd:r,limit:a=null,offset:o=null}){const i={currency:t,periodStart:n,periodEnd:r,limit:a,offset:o};return e.get("reports/monthly-recurring-revenue",i)},getRenewalSales({periodStart:t,periodEnd:n,limit:r=null,offset:a=null}){const o={periodStart:t,periodEnd:n,limit:r,offset:a};return e.get("reports/renewal-sales",o)},getRetentionPercentage({aggregationField:t,aggregationPeriod:n,includeSwitchedSubscriptions:r=null,periodStart:a,periodEnd:o,limit:i=null,offset:s=null,filter:l=null,criteria:c=null}){const u={aggregationField:t,aggregationPeriod:n,includeSwitchedSubscriptions:r,periodStart:a,periodEnd:o,limit:i,offset:s,filter:l,criteria:c};return e.get("reports/retention-percentage",u)},getRetentionValue({aggregationField:t,aggregationPeriod:n,includeRefunds:r=null,includeDisputes:a=null,periodStart:o,periodEnd:i,limit:s=null,offset:l=null,filter:c=null,sort:u=null,criteria:d=null}){const p={aggregationField:t,aggregationPeriod:n,includeRefunds:r,includeDisputes:a,periodStart:o,periodEnd:i,limit:s,offset:l,filter:c,sort:u,criteria:d};return e.get("reports/retention-value",p)},getRevenueWaterfall({currency:t,issuedFrom:n,issuedTo:r,recognizedTo:a}){const o={currency:t,issuedFrom:n,issuedTo:r,recognizedTo:a};return e.get("reports/revenue-waterfall",o)},getRevenueAudit({filter:t=null,sort:n=null,limit:r=null,offset:a=null}){const o={filter:t,sort:n,limit:r,offset:a};return e.get("reports/revenue-audit",o)},getSubscriptionCancellation({periodStart:t,periodEnd:n,aggregationField:r,limit:a=null,offset:o=null,filter:i=null}){const s={periodStart:t,periodEnd:n,aggregationField:r,limit:a,offset:o,filter:i};return e.get("reports/subscription-cancellation",s)},getSubscriptionRenewal({periodStart:t,periodEnd:n,limit:r=null,offset:a=null}){const o={periodStart:t,periodEnd:n,limit:r,offset:a};return e.get("reports/subscription-renewal",o)},getTax({periodStart:t,periodEnd:n,accountingMethod:r,limit:a=null,offset:o=null}){const i={periodStart:t,periodEnd:n,accountingMethod:r,limit:a,offset:o};return e.get("reports/tax",i)},getTimeSeriesTransaction({type:t,subaggregate:n,periodStart:r,periodEnd:a,limit:o=null,offset:i=null}){const s={type:t,subaggregate:n,periodStart:r,periodEnd:a,limit:o,offset:i};return e.get("reports/time-series-transaction",s)},getTransactionsTimeDispute({aggregationField:t,periodStart:n,periodEnd:r,limit:a=null,offset:o=null,filter:i=null}){const s={aggregationField:t,periodStart:n,periodEnd:r,limit:a,offset:o,filter:i};return e.get("reports/transactions-time-dispute",s)},getTransactions({periodStart:t,periodEnd:n,aggregationField:r,limit:a=null,offset:o=null,filter:i=null}){const s={periodStart:t,periodEnd:n,aggregationField:r,limit:a,offset:o,filter:i};return e.get("reports/transactions",s)}}},SubscriptionsResource:function({apiHandler:e}){return{getSubscriptionSummaryMetrics:({subscriptionId:t})=>e.get(`subscriptions/${t}/summary-metrics`)}},TimelinesResource:function({apiHandler:e}){return{getActivityFeed({eventTypes:t=null,limit:n=1e3,offset:r=0}){const a={eventTypes:t,limit:n,offset:r};return e.getAll("activity-feed",a)},getTransaction({id:t="",eventTypes:n=null,limit:r=1e3,offset:a=0}){const o={eventTypes:n,limit:r,offset:a};return e.getAll(`transactions/${t}/timeline`,o)},getCustomer({id:t="",eventTypes:n=null,limit:r=1e3,offset:a=0}){const o={eventTypes:n,limit:r,offset:a};return e.getAll(`customers/${t}/timeline`,o)}}},LocationResource:function({apiHandler:e}){return{query:()=>e.get("location")}}};class wo{constructor({apiHandler:e}){this.customers=vo.CustomersResource({apiHandler:e}),this.dataExports=vo.DataExportsResource({apiHandler:e}),this.histograms=vo.HistogramsResource({apiHandler:e}),this.reports=vo.ReportsResource({apiHandler:e}),this.subscriptions=vo.SubscriptionsResource({apiHandler:e}),this.timelines=vo.TimelinesResource({apiHandler:e}),this.location=vo.LocationResource({apiHandler:e}),this.addRequestInterceptor=e.addRequestInterceptor,this.removeRequestInterceptor=e.removeRequestInterceptor,this.addResponseInterceptor=e.addResponseInterceptor,this.removeResponseInterceptor=e.removeResponseInterceptor,this.setTimeout=e.setTimeout,this.setProxyAgent=e.setProxyAgent,this.setSessionToken=e.setSessionToken,this.setEndpoints=e.setEndpoints,this.getCancellationToken=e.getCancellationToken}}class ko{constructor({apiHandler:e}){this.account=function({apiHandler:e}){return{get({expand:t=null}={}){const n={expand:t};return e.get("account",n)},update:({data:t})=>e.patch("account",t),requestPasswordReset:({data:t})=>e.post("account/forgot-password",t),changePassword:({data:t})=>e.patch("account/password",t),resendEmailVerification:({data:t})=>e.post("account/resend-verification",t),confirmPasswordReset:({token:t,data:n})=>e.post(`account/reset-password/${t}`,n),verifyEmail:({token:t})=>e.post(`account/verification/${t}`),register:({data:t})=>e.post("register",t)}}({apiHandler:e}),this.authorization=function({apiHandler:e}){return{login:({data:t})=>e.post("login",t),logout:()=>e.post("logout")}}({apiHandler:e}),this.billingPortals=function({apiHandler:e}){return{get:({slug:t})=>e.get(`billing-portals/${t}`)}}({apiHandler:e}),this.checkoutForms=function({apiHandler:e}){return{get:({id:t})=>e.get(`checkout-forms/${t}`)}}({apiHandler:e}),this.customFields=function({apiHandler:e}){return{getAll({resource:t,limit:n=null,offset:r=null}){const a={limit:n,offset:r};return e.getAll(`custom-fields/${t}`,a)}}}({apiHandler:e}),this.depositRequests=function({apiHandler:e}){return{get({id:t,expand:n=null}){const r={expand:n};return e.get(`deposit-requests/${t}`,r)}}}({apiHandler:e}),this.deposit=function({apiHandler:e}){return{create:({data:t})=>e.post("deposit",t)}}({apiHandler:e}),this.depositStrategies=function({apiHandler:e}){return{get:({id:t})=>e.get(`deposit-strategies/${t}`)}}({apiHandler:e}),this.experimental=function({apiHandler:e}){return{get:({slug:t})=>e.get(`experimental/billing-portals/${t}`)}}({apiHandler:e}),this.invoices=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null,expand:i=null}={}){const s={filter:t,sort:n,limit:r,offset:a,q:o,expand:i};return e.getAll("invoices",s)},get:({id:t})=>e.get(`invoices/${t}`),downloadPDF({id:t}){const n={headers:go,responseType:"arraybuffer"};return e.download(`invoices/${t}`,n)}}}({apiHandler:e}),this.kycDocuments=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null}={}){const r={limit:t,offset:n};return e.getAll("kyc-documents",r)},create:({data:t})=>e.post("kyc-documents",t),get:({id:t})=>e.get(`kyc-documents/${t}`),update:({id:t,data:n})=>e.patch(`kyc-documents/${t}`,n)}}({apiHandler:e}),this.kycLivenessSessions=function({apiHandler:e}){return{create:({data:t})=>e.post("kyc-liveness-sessions",t),get:({id:t})=>e.get(`kyc-liveness-sessions/${t}`),finish:({id:t})=>e.post(`kyc-liveness-sessions/${t}/finish`)}}({apiHandler:e}),this.kycRequests=function({apiHandler:e}){return{get({id:t,expand:n=null}){const r={expand:n};return e.get(`kyc-requests/${t}`,r)}}}({apiHandler:e}),this.orders=function({apiHandler:e}){return{getUpcomingInvoice:({id:t})=>e.get(`orders/${t}/upcoming-invoice`),getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null,expand:i=null}={}){const s={filter:t,sort:n,limit:r,offset:a,q:o,expand:i};return e.getAll("orders",s)},get({id:t,expand:n=null}){const r={expand:n};return e.get(`orders/${t}`,r)},update:({id:t,data:n})=>e.patch(`orders/${t}`,n),cancel:({id:t,data:n})=>e.post(`orders/${t}/cancellation`,n),pause:({id:t,data:n})=>e.post(`orders/${t}/pause`,n)}}({apiHandler:e}),this.paymentInstruments=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null}={}){const i={filter:t,sort:n,limit:r,offset:a,q:o};return e.getAll("payment-instruments",i)},create:({data:t})=>e.post("payment-instruments",t),get({id:t,limit:n=null,offset:r=null}){const a={limit:n,offset:r};return e.get(`payment-instruments/${t}`,a)},update:({id:t,data:n})=>e.patch(`payment-instruments/${t}`,n),deactivate:({id:t})=>e.post(`payment-instruments/${t}/deactivation`),getSetupTransaction:({id:t})=>e.get(`payment-instruments/${t}/setup`),setup:({id:t,data:n})=>e.post(`payment-instruments/${t}/setup`,n)}}({apiHandler:e}),this.payoutRequests=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null}={}){const i={filter:t,sort:n,limit:r,offset:a,q:o};return e.getAll("payout-requests",i)},get:({id:t})=>e.get(`payout-requests/${t}`),update:({id:t,data:n})=>e.patch(`payout-requests/${t}`,n)}}({apiHandler:e}),this.plans=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null,expand:i=null}={}){const s={filter:t,sort:n,limit:r,offset:a,q:o,expand:i};return e.getAll("plans",s)},get({id:t,expand:n=null}){const r={expand:n};return e.get(`plans/${t}`,r)}}}({apiHandler:e}),this.products=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null}={}){const i={filter:t,sort:n,limit:r,offset:a,q:o};return e.getAll("products",i)},get:({id:t})=>e.get(`products/${t}`)}}({apiHandler:e}),this.purchase=function({apiHandler:e}){return{payment:({data:t})=>e.post("payment",t),purchase:({data:t})=>e.post("purchase",t),preview:({data:t})=>e.post("preview-purchase",t),readyToPay:({data:t})=>e.post("ready-to-pay",t)}}({apiHandler:e}),this.quotes=function({apiHandler:e}){return{get({id:t,expand:n=null}){const r={expand:n};return e.get(`quotes/${t}`,r)},accept:({id:t})=>e.post(`quotes/${t}/accept`),reject:({id:t})=>e.post(`quotes/${t}/reject`),downloadPDF({id:t}){const n={headers:go,responseType:"arraybuffer"};return e.download(`quotes/${t}`,n)}}}({apiHandler:e}),this.readyToPayout=function({apiHandler:e}){return{readyToPayout:({data:t})=>e.post("ready-to-payout",t)}}({apiHandler:e}),this.subscriptionReactivations=function({apiHandler:e}){return{reactivation:({data:t})=>e.post("subscription-reactivations",t)}}({apiHandler:e}),this.subscriptions=function({apiHandler:e}){return{changeItems:({id:t,data:n})=>e.post(`subscriptions/${t}/change-items`,n),create:({data:t})=>e.post("subscriptions",t)}}({apiHandler:e}),this.transactions=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,q:a=null,sort:o=null}={}){const i={limit:t,offset:n,filter:r,q:a,sort:o};return e.getAll("transactions",i)},get:({id:t})=>e.get(`transactions/${t}`),finishKyc:({id:t,token:n})=>e.post(`transactions/${t}/${n}/continue`),skipKyc:({id:t,token:n})=>e.post(`transactions/${t}/${n}/bypass`),update:({id:t,data:n})=>e.patch(`transactions/${t}`,n)}}({apiHandler:e}),this.websites=function({apiHandler:e}){return{get:({id:t})=>e.get(`websites/${t}`)}}({apiHandler:e}),this.checkoutForm=this.checkoutForms,this.billingPortal=this.billingPortals,this.addRequestInterceptor=e.addRequestInterceptor,this.removeRequestInterceptor=e.removeRequestInterceptor,this.addResponseInterceptor=e.addResponseInterceptor,this.removeResponseInterceptor=e.removeResponseInterceptor,this.setTimeout=e.setTimeout,this.setProxyAgent=e.setProxyAgent,this.setSessionToken=e.setSessionToken,this.setPublishableKey=e.setPublishableKey,this.setEndpoints=e.setEndpoints,this.getCancellationToken=e.getCancellationToken,this.generateSignature=e.generateSignature}}const $o={live:"https://api.rebilly.com",sandbox:"https://api-sandbox.rebilly.com"},Eo=6e3;function _o({apiKey:e=null,sandbox:t=!1,timeout:n=Eo,organizationId:r=null,urls:a=$o}={}){if(!a.live||!a.sandbox)throw new Error("RebillyAPI urls config must include a key for both `live` and `sandbox`");if("string"!=typeof a.live||"string"!=typeof a.sandbox)throw new Error("RebillyAPI urls config `live` and `sandbox` must be strings");return function({apiHandler:e}){return new bo({apiHandler:e})}({apiHandler:yo({options:{apiEndpoints:a,apiKey:e,apiVersion:"",isSandbox:t,requestTimeout:n,jwt:null,organizationId:r}})})}function So({apiKey:e=null,sandbox:t=!1,timeout:n=Eo,organizationId:r=null,urls:a=$o}={}){if(!a.live||!a.sandbox)throw new Error("RebillyAPI urls config must include a key for both `live` and `sandbox`");if("string"!=typeof a.live||"string"!=typeof a.sandbox)throw new Error("RebillyAPI urls config `live` and `sandbox` must be strings");return function({apiHandler:e}){return new wo({apiHandler:e})}({apiHandler:yo({options:{apiEndpoints:a,apiKey:e,apiVersion:"experimental",isSandbox:t,requestTimeout:n,jwt:null,organizationId:r}})})}function Po({publishableKey:e=null,jwt:t=null,sandbox:n=!1,timeout:r=Eo,organizationId:a=null,urls:o=$o}={}){if(!o.live||!o.sandbox)throw new Error("RebillyAPI urls config must include a key for both `live` and `sandbox`");if("string"!=typeof o.live||"string"!=typeof o.sandbox)throw new Error("RebillyAPI urls config `live` and `sandbox` must be strings");const i={apiEndpoints:o,publishableKey:e,jwt:t,apiVersion:"storefront",isSandbox:n,requestTimeout:r,organizationId:a},s=yo({options:i});return s.setSessionToken(i.jwt),function({apiHandler:e}){return new ko({apiHandler:e})}({apiHandler:s})}async function xo(e){try{return Pe(Ae.storefront),xe(Ae.options),await e()}catch(t){throw Un(t),t}}class Ao{constructor({publishableKey:e=null,jwt:t=null,organizationId:n=null,mode:r="live",timeout:a=6e4,liveUrl:o=null,sandboxUrl:i=null}={}){const s={live:o||"https://api.rebilly.com",sandbox:i||"https://api-sandbox.rebilly.com"},l="string"==typeof a?parseInt(a,10):a,c={organizationId:n||void 0,sandbox:"sandbox"===r,timeout:Number.isNaN(l)?6e4:l,urls:s},u=Po(c),d="function"==typeof _o.default?_o.default(c):_o(c),p=So(c);return u.setSessionToken(e||t),d.setSessionToken(e||t),p.setSessionToken(e||t),this.api=u,this.api.rebilly=d,this.api.rebilly&&(this.api.rebilly.experimental=p),this.api}}const Io=e=>null!=e&&"object"==typeof e,Ro={default:1,minimum:1,maximum:Number.MAX_SAFE_INTEGER,multipleOf:1};function To({quantity:e}){return Io(e)?{...Ro,...e}:e}function Co(e){return Io(e)?e.default:e}function Oo(e){return e.map((({planId:e,quantity:t})=>({planId:e,quantity:t&&Co(t)})))}function No(e){return e.reduce(((e,t)=>t.planId&&t.quantity?(e.set(t.planId,de(t.quantity)),e):e),new Map)}async function Lo({data:e=null}={}){return xo((async()=>{var t,n,r,a,o,i,s,l,c,u,d,p,m,f,h,y,g,b,v,w,k,$,E,_,S,P;const x=null==(t=Ae.options)?void 0:t.items,A=(null==(n=Ae.options)?void 0:n.websiteId)||null,I=(null==(a=null==(r=Ae.options)?void 0:r.bumpOffer)?void 0:a.map((({planId:e})=>e)))||[],R={data:{websiteId:A??void 0}};var T,C;(null==(C=null==(T=Ae.data)?void 0:T.summaryLineItems)?void 0:C.every((e=>null!=e.planId&&I.includes(e.planId))))||(null==(o=Ae.data)?void 0:o.acceptBumpOffer)||!(null==(i=Ae.data)?void 0:i.summaryLineItems)?x?(null==(l=Ae.data)?void 0:l.acceptBumpOffer)?R.data.items=null==(c=Ae.options)?void 0:c.bumpOffer:R.data.items=Oo(x??[]):((null==(u=Ae.data)?void 0:u.summaryLineItems)&&(R.data.items=Oo(Ae.data.summaryLineItems)),!(null==(d=Ae.data)?void 0:d.acceptBumpOffer)&&(null==(f=null==(m=null==(p=Ae.data)?void 0:p.previewPurchase)?void 0:m.addonLineItems)?void 0:f.length)>0&&(R.data.items=null==(y=null==(h=R.data)?void 0:h.items)?void 0:y.concat(Ae.data.previewPurchase.addonLineItems))):R.data.items=Oo(null==(s=Ae.data)?void 0:s.summaryLineItems),!(null==(g=Ae.data)?void 0:g.acceptBumpOffer)&&(null==(w=null==(v=null==(b=Ae.data)?void 0:b.previewPurchase)?void 0:v.addonLineItems)?void 0:w.length)>0&&(R.data.items=null==(k=R.data.items)?void 0:k.concat(Ae.data.previewPurchase.addonLineItems)),(null==($=Ae.data)?void 0:$.amountAndCurrency)&&(R.data={...R.data,...Ae.data.amountAndCurrency}),(null==e?void 0:e.billingAddress)&&(R.data.billingAddress=e.billingAddress),(null==e?void 0:e.deliveryAddress)&&(R.data.deliveryAddress=e.deliveryAddress),(null==(E=Ae.data)?void 0:E.couponIds)&&(R.data.couponIds=Ae.data.couponIds),Pe(Ae.storefront);const{fields:O}=await Ae.storefront.purchase.preview(R);let N=O;if(!(null==(_=Ae.data)?void 0:_.acceptBumpOffer)){const e=No(x??[]);if(N=Jn(O),N.lineItems){if(null==(P=null==(S=Ae.data)?void 0:S.previewPurchase)?void 0:P.addonLineItems){const e=Ae.data.previewPurchase.addonLineItems.reduce(((e,t)=>(e.set(t.planId,t),e)),new Map);N.lineItems=N.lineItems.filter((t=>!e.has(t.planId))),N.addonLineItems=Ae.data.previewPurchase.addonLineItems}N.lineItems.forEach(function(e){return function(t){if(!t.planId)return;const n=e.get(t.planId)||t.quantity;t.quantity&&Io(n)&&(n.default=Co(t.quantity),t.quantity=n)}}(e))}}return Ae.data&&(Ae.data.previewPurchase=N),new er(N)}))}let jo=!1;async function Fo(){var e,t;const n=Ae.toModel(),r={options:n.options,data:n.data,mainStyleVars:n.mainStyleVars},a=null==(t=null==(e=Ae.options)?void 0:e._computed)?void 0:t.paymentMethodsUrl,o="rebilly-instruments-summary",i=await new Wn({name:o,url:`${a}?name=${o}`,container:Ae.summary,model:r,route:{name:"summary"}});return i.bindEventListeners({loader:Ae.loader}),Se.summary=i,async function(e){e.component.on(`${e.name}-update-items`,(async e=>{try{if(jo)return;jo=!0;const t=No(e);Ae.data.summaryLineItems.forEach((e=>{const n=Co(t.get(e.planId));Io(e.quantity)?e.quantity.default=n:e.quantity=n})),await Lo(),Ae.updateModel(),jo=!1}catch(t){console.error(t),jo=!1}}))}(i),{then:e=>e()}}async function Mo({instrument:e}={}){await Lo({data:e}),Ae.updateModel()}var Ho={NODE_ENV:"production"},Bo=function(){return Bo=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},Bo.apply(this,arguments)};function Do(e,t,n,r){return new(n||(n=Promise))((function(a,o){function i(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){e.done?a(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(i,s)}l((r=r.apply(e,t||[])).next())}))}var qo={default:"endpoint"},Uo={default:"tlsEndpoint"};function zo(e){for(var t="",n=0;n<e.length;++n)if(n>0){var r=e[n].toLowerCase();r!==e[n]?t+=" ".concat(r):t+=e[n]}else t+=e[n].toUpperCase();return t}var Vo="Client timeout",Wo="Network connection error",Ko="Network request aborted",Go="Response cannot be parsed",Jo="Blocked by CSP",Xo="The endpoint parameter is not a valid URL",Qo=zo("WrongRegion"),Yo=zo("SubscriptionNotActive"),Zo=zo("UnsupportedVersion"),ei=zo("InstallationMethodRestricted"),ti=zo("HostnameRestricted"),ni=zo("IntegrationFailed"),ri="API key required",ai="API key not found",oi="API key expired",ii="Request cannot be parsed",si="Request failed",li="Request failed to process",ci="Too many requests, rate limit exceeded",ui="Not available for this origin",di="Not available with restricted header",pi=ri,mi=ai,fi=oi,hi="Failed to load the JS script of the agent",yi="9319";function gi(e,t){var n,r,a,o,i,s=[],l=(i=function(e,t,n){if(n||2===arguments.length)for(var r,a=0,o=t.length;a<o;a++)(r||!(a in t))&&(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))}([],e,!0),n={current:function(){return i[0]},postpone:function(){var e=i.shift();void 0!==e&&i.push(e)},exclude:function(){i.shift()}},100,3e3,o=0,r=function(){return Math.random()*Math.min(3e3,100*Math.pow(2,o++))},a=new Set,[n.current(),function(e,t){var o,i=t instanceof Error?t.message:"";if(i===Jo||i===Xo)n.exclude(),o=0;else if(i===yi)n.exclude();else if(i===hi){var s=Date.now()-e.getTime()<50,l=n.current();l&&s&&!a.has(l)&&(a.add(l),o=0),n.postpone()}else n.postpone();var c=n.current();return void 0===c?void 0:[c,o??e.getTime()+r()-Date.now()]}]),c=l[0],u=l[1];if(void 0===c)return Promise.reject(new TypeError("The list of script URL patterns is empty"));var d=function(e){var n=new Date,r=function(t){return s.push({url:e,startedAt:n,finishedAt:new Date,error:t})},a=t(e);return a.then((function(){return r()}),r),a.catch((function(e){if(s.length>=5)throw e;var t=u(n,e);if(!t)throw e;var r,a=t[0],o=t[1];return(r=o,new Promise((function(e){return setTimeout(e,r)}))).then((function(){return d(a)}))}))};return d(c).then((function(e){return[e,s]}))}var bi="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",vi=bi;function wi(e){var t;e.scriptUrlPattern;var n,r,a,o,i,s,l,c=e.token,u=e.apiKey,d=void 0===u?c:u,p=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n}(e,["scriptUrlPattern","token","apiKey"]),m=null!==(t=function(e,t){return n=e,r=t,Object.prototype.hasOwnProperty.call(n,r)?e[t]:void 0;var n,r}(e,"scriptUrlPattern"))&&void 0!==t?t:bi,f=(i=[],s=function(){i.push({time:new Date,state:document.visibilityState})},n=document,r="visibilitychange",a=s,n.addEventListener(r,a,o),l=function(){return n.removeEventListener(r,a,o)},s(),[i,l]),h=f[0],y=f[1];return Promise.resolve().then((function(){if(!d||"string"!=typeof d)throw new Error(ri);var e=function(e,t){return(Array.isArray(e)?e:[e]).map((function(e){return function(e,t){var n=encodeURIComponent;return e.replace(/<[^<>]+>/g,(function(e){return"<version>"===e?"3":"<apiKey>"===e?n(t):"<loaderVersion>"===e?n("3.9.2"):e}))}(String(e),t)}))}(m,d);return gi(e,ki)})).catch((function(e){throw y(),function(e){return e instanceof Error&&e.message===yi?new Error(hi):e}(e)})).then((function(e){var t=e[0],n=e[1];return y(),t.load(Bo(Bo({},p),{ldi:{attempts:n,visibilityStates:h}}))}))}function ki(e){return function(t,n,r,a){var o,i=document,s="securitypolicyviolation",l=function(e){var n=new URL(t,location.href),r=e.blockedURI;r!==n.href&&r!==n.protocol.slice(0,-1)&&r!==n.origin||(o=e,c())};i.addEventListener(s,l);var c=function(){return i.removeEventListener(s,l)};return Promise.resolve().then((function(){return function(e){return new Promise((function(t,n){if(function(e){if(URL.prototype)try{return new URL(e,location.href),!1}catch(l){if(l instanceof Error&&"TypeError"===l.name)return!0;throw l}}(e))throw new Error(Xo);var r=document.createElement("script"),a=function(){var e;return null===(e=r.parentNode)||void 0===e?void 0:e.removeChild(r)},o=document.head||document.getElementsByTagName("head")[0];r.onload=function(){a(),t()},r.onerror=function(){a(),n(new Error(hi))},r.async=!0,r.src=e,o.appendChild(r)}))}(e)})).then((function(e){return c(),e}),(function(e){return new Promise((function(e){return setTimeout(e)})).then((function(){if(c(),o)return function(){throw new Error(Jo)}();throw e}))}))}(e).then($i)}function $i(){var e,t,n,r,a=window,o="__fpjs_p_l_b",i=a[o];if(e=a,t=o,null!=(r=null===(n=Object.getOwnPropertyDescriptor)||void 0===n?void 0:n.call(Object,e,t))&&r.configurable?delete e[t]:r&&!r.writable||(e[t]=void 0),"function"!=typeof(null==i?void 0:i.load))throw new Error(yi);return i}var Ei={load:wi,defaultScriptUrlPattern:vi,ERROR_SCRIPT_LOAD_FAIL:hi,ERROR_API_KEY_EXPIRED:oi,ERROR_API_KEY_INVALID:ai,ERROR_API_KEY_MISSING:ri,ERROR_BAD_REQUEST_FORMAT:ii,ERROR_BAD_RESPONSE_FORMAT:Go,ERROR_CLIENT_TIMEOUT:Vo,ERROR_CSP_BLOCK:Jo,ERROR_FORBIDDEN_ENDPOINT:ti,ERROR_FORBIDDEN_HEADER:di,ERROR_FORBIDDEN_ORIGIN:ui,ERROR_GENERAL_SERVER_FAILURE:si,ERROR_INSTALLATION_METHOD_RESTRICTED:ei,ERROR_INTEGRATION_FAILURE:ni,ERROR_INVALID_ENDPOINT:Xo,ERROR_NETWORK_ABORT:Ko,ERROR_NETWORK_CONNECTION:Wo,ERROR_RATE_LIMIT:ci,ERROR_SERVER_TIMEOUT:li,ERROR_SUBSCRIPTION_NOT_ACTIVE:Yo,ERROR_TOKEN_EXPIRED:fi,ERROR_TOKEN_INVALID:mi,ERROR_TOKEN_MISSING:pi,ERROR_UNSUPPORTED_VERSION:Zo,ERROR_WRONG_REGION:Qo,defaultEndpoint:qo,defaultTlsEndpoint:Uo};const _i=Object.freeze(Object.defineProperty({__proto__:null,ERROR_API_KEY_EXPIRED:oi,ERROR_API_KEY_INVALID:ai,ERROR_API_KEY_MISSING:ri,ERROR_BAD_REQUEST_FORMAT:ii,ERROR_BAD_RESPONSE_FORMAT:Go,ERROR_CLIENT_TIMEOUT:Vo,ERROR_CSP_BLOCK:Jo,ERROR_FORBIDDEN_ENDPOINT:ti,ERROR_FORBIDDEN_HEADER:di,ERROR_FORBIDDEN_ORIGIN:ui,ERROR_GENERAL_SERVER_FAILURE:si,ERROR_INSTALLATION_METHOD_RESTRICTED:ei,ERROR_INTEGRATION_FAILURE:ni,ERROR_INVALID_ENDPOINT:Xo,ERROR_NETWORK_ABORT:Ko,ERROR_NETWORK_CONNECTION:Wo,ERROR_RATE_LIMIT:ci,ERROR_SCRIPT_LOAD_FAIL:hi,ERROR_SERVER_TIMEOUT:li,ERROR_SUBSCRIPTION_NOT_ACTIVE:Yo,ERROR_TOKEN_EXPIRED:fi,ERROR_TOKEN_INVALID:mi,ERROR_TOKEN_MISSING:pi,ERROR_UNSUPPORTED_VERSION:Zo,ERROR_WRONG_REGION:Qo,default:Ei,defaultEndpoint:qo,defaultScriptUrlPattern:vi,defaultTlsEndpoint:Uo,load:wi},Symbol.toStringTag,{value:"Module"})),Si="@fpjs@client@",Pi=()=>Date.now();class xi{constructor(e){var t;this.tag=e.tag||null,this.linkedId=e.linkedId||null,this.extendedResult=null!==(t=e.extendedResult)&&void 0!==t&&t}toKey(){return`${JSON.stringify(this.tag)}__${JSON.stringify(this.linkedId)}__${this.extendedResult}`}}function Ai(e,t){return`${t}__${e}`}function Ii(e,t){return e.replace(`${t}__`,"")}class Ri{constructor(e=Si){this.prefix=e}set(e,t){window.localStorage.setItem(Ai(e,this.prefix),JSON.stringify(t))}get(e){const t=window.localStorage.getItem(Ai(e,this.prefix));if(t)try{return JSON.parse(t)}catch{return}}remove(e){window.localStorage.removeItem(Ai(e,this.prefix))}allKeys(){return Object.keys(window.localStorage).filter((e=>e.startsWith(this.prefix))).map((e=>Ii(e,this.prefix)))}}class Ti{constructor(e=Si){this.prefix=e}set(e,t){window.sessionStorage.setItem(Ai(e,this.prefix),JSON.stringify(t))}get(e){const t=window.sessionStorage.getItem(Ai(e,this.prefix));if(t)try{return JSON.parse(t)}catch{return}}remove(e){window.sessionStorage.removeItem(Ai(e,this.prefix))}allKeys(){return Object.keys(window.sessionStorage).filter((e=>e.startsWith(this.prefix))).map((e=>Ii(e,this.prefix)))}}class Ci{constructor(e,t=3600,n){this.cache=e,this.cacheTime=t,this.nowProvider=n||Pi}get(e){return Do(this,void 0,void 0,(function*(){const t=yield this.cache.get(e.toKey());if(!t)return;const n=yield this.nowProvider(),r=Math.floor(n/1e3);if(!(t.expiresAt<r))return t.body;yield this.cache.remove(e.toKey())}))}set(e,t){return Do(this,void 0,void 0,(function*(){const n=yield this.wrapCacheEntry(t);yield this.cache.set(e.toKey(),n)}))}clearCache(){return Do(this,void 0,void 0,(function*(){const e=yield this.cache.allKeys();yield Promise.all(e.map((e=>this.cache.remove(e))))}))}wrapCacheEntry(e){return Do(this,void 0,void 0,(function*(){const t=yield this.nowProvider(),n=Math.floor(t/1e3)+this.cacheTime;return{body:e,expiresAt:n}}))}}class Oi{constructor(){this.enclosedCache=function(){const e={};return{set(t,n){e[t]=n},get(t){const n=e[t];if(n)return n},remove(t){delete e[t]},allKeys:()=>Object.keys(e)}}()}}class Ni{set(){}get(){}remove(){}allKeys(){return[]}}var Li,ji;(ji=Li||(Li={})).Memory="memory",ji.LocalStorage="localstorage",ji.SessionStorage="sessionstorage",ji.NoCache="nocache";const Fi={[Li.Memory]:()=>(new Oi).enclosedCache,[Li.LocalStorage]:e=>new Ri(e),[Li.SessionStorage]:e=>new Ti(e),[Li.NoCache]:()=>new Ni},Mi=e=>Fi[e];class Hi{constructor(e){var t;let n;if(this.inFlightRequests=new Map,this.agentPromise=null,this.customAgent=null==e?void 0:e.customAgent,this.agent={get:()=>{throw new Error("FPJSAgent hasn't loaded yet. Make sure to call the init() method first.")}},this.loadOptions=null==e?void 0:e.loadOptions,null!=e&&e.cache&&null!=e&&e.cacheLocation&&console.warn("Both `cache` and `cacheLocation` options have been specified in the FpjsClient configuration; ignoring `cacheLocation` and using `cache`."),null!=e&&e.cache)n=e.cache;else{if(this.cacheLocation=(null==e?void 0:e.cacheLocation)||Li.SessionStorage,!Mi(this.cacheLocation))throw new Error(`Invalid cache location "${this.cacheLocation}"`);(e=>{switch(e){case Li.SessionStorage:try{window.sessionStorage.getItem("item")}catch{return!1}return!0;case Li.LocalStorage:try{window.localStorage.getItem("item")}catch{return!1}return!0;default:return!0}})(this.cacheLocation)||(this.cacheLocation=Li.Memory),n=Mi(this.cacheLocation)(null==e?void 0:e.cachePrefix)}if(null!=e&&e.cacheTimeInSeconds&&e.cacheTimeInSeconds>86400)throw new Error("Cache time cannot exceed 86400 seconds (24 hours)");const r=null!==(t=null==e?void 0:e.cacheTimeInSeconds)&&void 0!==t?t:3600;this.cacheManager=new Ci(n,r)}init(e){return Do(this,void 0,void 0,(function*(){var t,n;if(!this.loadOptions&&!e)throw new TypeError("No load options provided");const r=Object.assign(Object.assign(Object.assign({},this.loadOptions),e),{integrationInfo:[...(null===(t=this.loadOptions)||void 0===t?void 0:t.integrationInfo)||[],...(null==e?void 0:e.integrationInfo)||[],"fingerprintjs-pro-spa/1.3.1"]});if(!this.agentPromise){const e=null!==(n=this.customAgent)&&void 0!==n?n:_i;this.agentPromise=e.load(r).then((e=>(this.agent=e,e))).catch((e=>{throw this.agentPromise=null,e}))}return this.agentPromise}))}getVisitorData(){return Do(this,arguments,void 0,(function*(e={},t=!1){const n=Hi.makeCacheKey(e).toKey();if(!this.inFlightRequests.has(n)){const r=this._identify(e,t).finally((()=>{this.inFlightRequests.delete(n)}));this.inFlightRequests.set(n,r)}return yield this.inFlightRequests.get(n)}))}getVisitorDataFromCache(){return Do(this,arguments,void 0,(function*(e={}){const t=Hi.makeCacheKey(e),n=yield this.cacheManager.get(t);return n?Object.assign(Object.assign({},n),{cacheHit:!0}):void 0}))}isInCache(){return Do(this,arguments,void 0,(function*(e={}){return!!(yield this.getVisitorDataFromCache(e))}))}clearCache(){return Do(this,void 0,void 0,(function*(){yield this.cacheManager.clearCache()}))}static makeCacheKey(e){return new xi(e)}_identify(e){return Do(this,arguments,void 0,(function*(e,t=!1){const n=Hi.makeCacheKey(e);if(!t){const e=yield this.cacheManager.get(n);if(e)return Object.assign(Object.assign({},e),{cacheHit:!0})}const r=yield this.agent.get(e);return yield this.cacheManager.set(n,r),Object.assign(Object.assign({},r),{cacheHit:!1})}))}}async function Bi(){try{const e="object"==typeof Cypress,t="object"==typeof process&&"test"===Ho.NODE_ENV;if(e||t)return{visitorId:"a-mock-visitor-id",requestId:null};const n="https://d2hwnq6cq5q3pi.cloudfront.net",r="wyr92st0i7",a=new Hi({loadOptions:{apiKey:"hpFVJecm7Ni7AjSfvBIW",endpoint:[`${n}/${r}/${"ia1t65gn6i"}`,qo],scriptUrlPattern:[`${n}/${r}/${"db4fuswrza"}?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>`,vi]}});await a.init();const o=await a.getVisitorData();return{visitorId:o.visitorId,requestId:o.requestId}}catch(ji){return console.log(ji),{}}}async function Di(){return new Promise((e=>{window.requestIdleCallback?requestIdleCallback((async()=>{const t=await Bi();e(t)})):setTimeout((async()=>{const t=await Bi();e(t)}),500)}))}const qi=({env:e,kountAccountId:t,kountSessionId:n})=>{const r=(e=>"production"===e)(e)?"https://ssl.kaptcha.com":"https://tst.kaptcha.com",a=new URL(`${r}/collect/sdk`);a.searchParams.append("m",t),n&&a.searchParams.append("m",n);const o=document.createElement("script");return o.setAttribute("class","kaxsdc"),o.setAttribute("data-event","load"),o.setAttribute("type","text/javascript"),o.setAttribute("src",a.href),document.body.append(o),o};async function Ui({env:e,kountAccountId:t,kountSessionId:n}){return new Promise(((r,a)=>{const o=qi({env:e,kountAccountId:t,kountSessionId:n});o.onload=()=>{const e=new ka.ClientSDK;e.setupCallback({"collect-begin":e=>{const{MercSessId:t}=e;r(t)}}),e.autoLoadEvents()},o.onerror=()=>{a(new Error("Error attempting to mount Kount script"))}}))}const zi=()=>{const e=document.createElement("script");return e.src="https://cdn.rebilly.com/risk-data-collector/@latest/google-adsense.js",new Promise((t=>{e.onload=()=>{t(null===document.getElementById("fj2xFkdsoQIQna"))},e.onerror=()=>t(!0),document.head.appendChild(e)})).catch((()=>!0))};async function Vi({env:e=null,kountAccountId:t=null,kountSessionId:n=null}={}){return async function({env:e=null,screen:t,navigator:n,kountAccountId:r=null,kountSessionId:a=null,getFingerprint:o,getFraudSessionId:i}){const{colorDepth:s,height:l,width:c}=t||{},{javaEnabled:u,language:d}=n||{};let p,m,f;try{[f,p,m]=await Promise.all([zi(),null==o?void 0:o(),r?i({env:e,kountAccountId:r,kountSessionId:a}):void 0])}catch(h){console.error(h)}return{riskMetadata:{fingerprint:(null==p?void 0:p.visitorId)||null,extraData:{kountFraudSessionId:m||null,fingerprintJsRequestId:(null==p?void 0:p.requestId)||null},browserData:{colorDepth:s||null,isJavaEnabled:u?u.call(n):null,language:d||null,screenHeight:l||null,screenWidth:c||null,timeZoneOffset:(new Date).getTimezoneOffset(),isAdBlockEnabled:f}}}}({env:e,screen:screen,navigator:navigator,kountAccountId:t,kountSessionId:n,getFingerprint:Di,getFraudSessionId:Ui})}function Wi(){var e;const t={expressMethods:[],methods:[]};let n=Ae.data.readyToPay;return(null==(e=Ae.options)?void 0:e.payout)&&(n=Ae.data.readyToPayout),null==n||n.forEach((e=>{e.metadata.isExpressMethod?t.expressMethods.push(e):t.methods.push(e)})),window.ApplePaySession||(t.expressMethods=t.expressMethods.filter((e=>{var t;return"Apple Pay"!==(null==(t=null==e?void 0:e.feature)?void 0:t.name)})),Ae.loader.stopLoading({id:"applePay-express"})),t}class Ki extends Xn{}function Gi(e){return null==e?null:"string"==typeof e?Number.isNaN(parseFloat(e))?null:parseFloat(e):e}class Ji{constructor({maxQuantity:e=null,price:t=null}={}){this.maxQuantity=e||Number.MAX_SAFE_INTEGER,this.price=Gi(t)}}const Xi=class e{constructor(t={}){switch(this.formula=t.formula??e.Formulas.fixedFee,t.formula){case e.Formulas.stairstep:case e.Formulas.tiered:case e.Formulas.volume:if(null==t.brackets)throw new Error("Invalid brackets.");this.brackets=t.brackets.map((e=>new Ji(e)));break;case e.Formulas.flatRate:this.price=Gi(t.price)??0,this.maxQuantity=t.maxQuantity??null;break;case e.Formulas.fixedFee:default:this.price=Gi(t.price)??0}}get isSimple(){return Object.values(e.SimpleFormulas).includes(this.formula)}get isBracket(){return Object.values(e.BracketFormulas).includes(this.formula)}toPayload(){return{...this,isSimple:this.isSimple,isBracket:this.isBracket}}};Xi.SimpleFormulas={fixedFee:"fixed-fee",flatRate:"flat-rate"},Xi.BracketFormulas={stairstep:"stairstep",tiered:"tiered",volume:"volume"},Xi.Formulas={...Xi.SimpleFormulas,...Xi.BracketFormulas};let Qi=Xi;class Yi extends Xn{constructor(e={}){super(e),this.pricing=new Qi(e.pricing||{})}toPayload(){return{...this,pricing:this.pricing.toPayload()}}}const Zi=[{apiName:"ach",name:"ACH",landscapeLogo:null,portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/BankAccount.svg",summary:"ACH is a network used for processing transactions across the United States.",description:"ACH is a network used for processing transactions across the United States.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/ach"}]},{apiName:"AdvCash",name:"AdvCash",landscapeLogo:null,portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/AdvCash.svg",summary:"AdvCash is an online payment system offering prepaid cards for individuals and\nonline businesses.\n",description:"AdvCash is an online payment system offering prepaid cards for individuals and\nonline businesses.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/AdvCash"}]},{apiName:"Aircash",name:"Aircash",landscapeLogo:null,portraitLogo:null,summary:"Aircash is a mobile payment wallet that allows customers to pay for goods and services using their mobile phone.\n",description:"Aircash is a mobile payment wallet that allows customers to pay for goods and services using their mobile phone.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Aircash"}]},{apiName:"Airpay",name:"Airpay",landscapeLogo:null,portraitLogo:null,summary:"Airpay is an e-wallet that elevates you to an easier and more convenient\nlifestyle with all in one services.\n",description:"Airpay is an e-wallet that elevates you to an easier and more convenient\nlifestyle with all in one services.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Airpay"}]},{apiName:"Alfa-click",name:"Alfa-click",landscapeLogo:null,portraitLogo:null,summary:"Alfa-click combines digital and physical payment experiences and is among the\nhighest ranking Russian private banks.\n",description:"Alfa-click combines digital and physical payment experiences and is among the\nhighest ranking Russian private banks.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Alfa-click"}]},{apiName:"Alipay",name:"Alipay",landscapeLogo:null,portraitLogo:null,summary:"Alipay is the most popular e-wallet and payment platform in Asia. Millions of\ntransactions are processed each day in China.\n",description:"Alipay is the most popular e-wallet and payment platform in Asia. Millions of\ntransactions are processed each day in China.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Alipay"}]},{apiName:"AmazonPay",name:"AmazonPay",landscapeLogo:null,portraitLogo:null,summary:"The AmazonPay method.",description:"The AmazonPay method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/AmazonPay"}]},{apiName:"Apple Pay",name:"Apple Pay",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Applepay.svg",portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/Applepay.svg",summary:"Apple Pay is a digital wallet that also allows users to make payments in\nperson using a one-step payment process.\n",description:"Apple Pay is a digital wallet that also allows users to make payments in\nperson using a one-step payment process.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!1,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Apple%20Pay"}]},{apiName:"AstroPay Card",name:"AstroPay Card",landscapeLogo:null,portraitLogo:null,summary:"AstroPay Card allows consumers to purchase online at international websites,\nusing the most effective local payment methods in local currency.\n",description:"AstroPay Card allows consumers to purchase online at international websites,\nusing the most effective local payment methods in local currency.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/AstroPay%20Card"}]},{apiName:"AstroPay-GO",name:"AstroPay Go",landscapeLogo:null,portraitLogo:null,summary:"AstroPay allows consumers to purchase online at international websites, using\nthe most effective local payment methods in local currency.\n",description:"AstroPay allows consumers to purchase online at international websites, using\nthe most effective local payment methods in local currency.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/AstroPay-GO"}]},{apiName:"Baloto",name:"Baloto",landscapeLogo:null,portraitLogo:null,summary:"Baloto is Colombia's largest lottery and payment service and is used by 80% of\nthe Colombian population.\n",description:"Baloto is Colombia's largest lottery and payment service and is used by 80% of\nthe Colombian population.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Baloto"}]},{apiName:"Bancontact-mobile",name:"Bancontact-mobile",landscapeLogo:null,portraitLogo:null,summary:"Bancontact mobile allows the shopper to complete a payment with the mobile\napp. installed on their device.\n",description:"Bancontact mobile allows the shopper to complete a payment with the mobile\napp. installed on their device.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Bancontact-mobile"}]},{apiName:"Bancontact",name:"Bancontact",landscapeLogo:null,portraitLogo:null,summary:"Bancontact is a payment system offered by more than 80% of online Belgian\nbusinesses and functions like a regular card payment.\n",description:"Bancontact is a payment system offered by more than 80% of online Belgian\nbusinesses and functions like a regular card payment.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Bancontact"}]},{apiName:"BankReferenced",name:"BankReferenced",landscapeLogo:null,portraitLogo:null,summary:"The BankReferenced method.",description:"The BankReferenced method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/BankReferenced"}]},{apiName:"BankSEND",name:"BankSEND",landscapeLogo:null,portraitLogo:null,summary:"With the BankSEND platform, customers pay with their online banking data using direct bank transfer.\n",description:"With the BankSEND platform, customers pay with their online banking data using direct bank transfer.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/BankSEND"}]},{apiName:"bank-transfer",name:"Bank Transfer",landscapeLogo:null,portraitLogo:null,summary:"A bank transfer is the direct, electronic transfer of funds from one bank\naccount to another.\n",description:"A bank transfer is the direct, electronic transfer of funds from one bank\naccount to another.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/bank-transfer"}]},{apiName:"Beeline",name:"Beeline",landscapeLogo:null,portraitLogo:null,summary:"Beeline offers a universal payment card and a mobile prepaid network system\nthat allows money transfers between Beeline subscribers.\n",description:"Beeline offers a universal payment card and a mobile prepaid network system\nthat allows money transfers between Beeline subscribers.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Beeline"}]},{apiName:"Belfius-direct-net",name:"Belfius Direct Net",landscapeLogo:null,portraitLogo:null,summary:"Belfius is one of the leading online private banks in Belgium. They are used\nby 1 in 3 Belgians and have over 3.6 million customers.\n",description:"Belfius is one of the leading online private banks in Belgium. They are used\nby 1 in 3 Belgians and have over 3.6 million customers.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Belfius-direct-net"}]},{apiName:"bitcoin",name:"Bitcoin",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Bitcoin.svg",portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/Bitcoin.svg",summary:"Bitcoin payment method provides a borderless payment network and a seamless\ntransfer of bitcoins from anywhere in the world through any online devices.\n",description:"Bitcoin payment method provides a borderless payment network and a seamless\ntransfer of bitcoins from anywhere in the world through any online devices.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/bitcoin"}]},{apiName:"Bizum",name:"Bizum",landscapeLogo:null,portraitLogo:null,summary:"Bizum is the immediate, fast, convenient and universal mobile payment solution promoted by Spanish banks.",description:"Bizum is the immediate, fast, convenient and universal mobile payment solution promoted by Spanish banks.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Bizum"}]},{apiName:"Blik",name:"Blik",landscapeLogo:null,portraitLogo:null,summary:"Blik is a Polish payment system that allows users to make instant payments and\nwithdraw cash using a mobile banking app.\n",description:"Blik is a Polish payment system that allows users to make instant payments and\nwithdraw cash using a mobile banking app.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Blik"}]},{apiName:"Boleto",name:"Boleto",landscapeLogo:null,portraitLogo:null,summary:"Boleto is Brazil's most popular cash-based payment method. It's the only\npayment option available for 35% of Brazillian consumers without a bank\naccount.\n",description:"Boleto is Brazil's most popular cash-based payment method. It's the only\npayment option available for 35% of Brazillian consumers without a bank\naccount.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Boleto"}]},{apiName:"CASHlib",name:"CASHlib",landscapeLogo:null,portraitLogo:null,summary:"CASHlib is a voucher based payment method that allows you to make online\npayments without the need of a credit or debit card.\n",description:"CASHlib is a voucher based payment method that allows you to make online\npayments without the need of a credit or debit card.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/CASHlib"}]},{apiName:"CCAvenue",name:"CCAvenue",landscapeLogo:"https://app.rebilly.com/static/payment-methods/portrait/PaymentCard.svg",portraitLogo:null,summary:"CCAvenue Checkout offers a smooth, fast and frictionless buying experience.\n",description:"CCAvenue Checkout offers a smooth, fast and frictionless buying experience.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/CCAvenue"}]},{apiName:"CODVoucher",name:"CODVoucher",landscapeLogo:null,portraitLogo:null,summary:"CODVoucher offers a digital voucher that the customer can scan at an\nauthorized location and pay with cash.\n",description:"CODVoucher offers a digital voucher that the customer can scan at an\nauthorized location and pay with cash.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/CODVoucher"}]},{apiName:"cash",name:"Cash",landscapeLogo:null,portraitLogo:null,summary:"Cash is money in a physical form like coins or notes.",description:"Cash is money in a physical form like coins or notes.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/cash"}]},{apiName:"cash-deposit",name:"Cash Deposit",landscapeLogo:null,portraitLogo:null,summary:"A cash deposit is money put into a bank account in the form of cash, checks,\nor bank transfers.\n",description:"A cash deposit is money put into a bank account in the form of cash, checks,\nor bank transfers.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/cash-deposit"}]},{apiName:"CashToCode",name:"CashToCode",landscapeLogo:null,portraitLogo:null,summary:"CashToCode is an instant cash payment service that does not require a bank\naccount or credit card.\n",description:"CashToCode is an instant cash payment service that does not require a bank\naccount or credit card.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/CashToCode"}]},{apiName:"Cashterminal",name:"Cash Terminal",landscapeLogo:null,portraitLogo:null,summary:"A Bulgarian based service, which provides the ability to pay in cash and in real time.\n",description:"A Bulgarian based service, which provides the ability to pay in cash and in real time.\n",countries:{mode:"subset",values:["BG"]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Cashterminal"}]},{apiName:"check",name:"Check",landscapeLogo:null,portraitLogo:null,summary:"Checks are physical documents that direct a bank to pay a specific amount of\nmoney to the recipient of the check.\n",description:"Checks are physical documents that direct a bank to pay a specific amount of\nmoney to the recipient of the check.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/check"}]},{apiName:"China UnionPay",name:"China UnionPay",landscapeLogo:null,portraitLogo:null,summary:"China UnionPay is the largest card scheme in China while also offering mobile\nand online payments. China UnionPay has over 7 billion cards in use and is\nconnected to all the ATMs across the country.\n",description:"China UnionPay is the largest card scheme in China while also offering mobile\nand online payments. China UnionPay has over 7 billion cards in use and is\nconnected to all the ATMs across the country.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!1,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/China%20UnionPay"}]},{apiName:"Conekta-oxxo",name:"Conekta OXXO",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/ConektaOxxo.svg",portraitLogo:null,summary:"Conekta OXXO Pay allows customers to purchase online or instore with a\ncash-based voucher. 30% of transactions in Mexico are with OXXO and they offer\nreal-time payment confirmation.\n",description:"Conekta OXXO Pay allows customers to purchase online or instore with a\ncash-based voucher. 30% of transactions in Mexico are with OXXO and they offer\nreal-time payment confirmation.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Conekta-oxxo"}]},{apiName:"Conekta-spei",name:"Conekta SPEI",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/ConektaOxxo.svg",portraitLogo:null,summary:"Conekta SPEI allows its customers to send and receive interbank electronic\ntransfers and obtain real-time payment confirmation in seconds.\n",description:"Conekta SPEI allows its customers to send and receive interbank electronic\ntransfers and obtain real-time payment confirmation in seconds.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Conekta-spei"}]},{apiName:"cryptocurrency",name:"Cryptocurrency",landscapeLogo:null,portraitLogo:null,summary:"Cryptocurrency is a decentralized, digital currency based on blockchain\ntechnology which makes it nearly impossible to counterfeit or double-spend.\n",description:"Cryptocurrency is a decentralized, digital currency based on blockchain\ntechnology which makes it nearly impossible to counterfeit or double-spend.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/cryptocurrency"}]},{apiName:"Cupon-de-pagos",name:"Cupon de Pagos",landscapeLogo:null,portraitLogo:null,summary:"The Cupon de Pagos method.",description:"The Cupon de Pagos method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Cupon-de-pagos"}]},{apiName:"CyberSource",name:"CyberSource",landscapeLogo:null,portraitLogo:null,summary:"CyberSource ia an e-commerce credit card payment system that allows customers\nto process online payments.\n",description:"CyberSource ia an e-commerce credit card payment system that allows customers\nto process online payments.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/CyberSource"}]},{apiName:"Dimoco-pay-smart",name:"Dimoco pay smart",landscapeLogo:null,portraitLogo:null,summary:"The Dimoco pay smart method.\n",description:"The Dimoco pay smart method.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Dimoco-pay-smart"}]},{apiName:"Directa24Card",name:"Directa24Card",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Directa24Card.svg",portraitLogo:null,summary:"Directa24 was formerly known as Astropay and specialized in Latin American local payment methods. They have expanded to include other emerging markets.\n",description:"Directa24 was formerly known as Astropay and specialized in Latin American local payment methods. They have expanded to include other emerging markets.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Directa24Card"}]},{apiName:"domestic-cards",name:"Domestic Cards",landscapeLogo:null,portraitLogo:null,summary:"The Domestic Cards method.",description:"The Domestic Cards method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/domestic-cards"}]},{apiName:"EPS",name:"EPS",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/EPS.svg",portraitLogo:null,summary:"EPS is an online transfer payment method accepted by 80% of all online\nbusinesses in Austria.\n",description:"EPS is an online transfer payment method accepted by 80% of all online\nbusinesses in Austria.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/EPS"}]},{apiName:"e-wallet",name:"eWallet",landscapeLogo:null,portraitLogo:null,summary:"An e-Wallet is an electronic system that securely stores payment information\nthat allows for quick and easy digital transactions.\n",description:"An e-Wallet is an electronic system that securely stores payment information\nthat allows for quick and easy digital transactions.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/e-wallet"}]},{apiName:"eZeeWallet",name:"eZeeWallet",landscapeLogo:null,portraitLogo:null,summary:"eZeeWallet is a digital wallet that offers secure, customer-focused payment services that make paying\nand getting paid simple and hassle-free.\n",description:"eZeeWallet is a digital wallet that offers secure, customer-focused payment services that make paying\nand getting paid simple and hassle-free.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/eZeeWallet"}]},{apiName:"echeck",name:"eCheck",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Echeck.svg",portraitLogo:null,summary:"An eCheck is a digital version of a traditional paper check.",description:"An eCheck is a digital version of a traditional paper check.",countries:{mode:"unknown",values:[]},storefrontEnabled:!1,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/echeck"}]},{apiName:"ecoPayz",name:"ecoPayz",landscapeLogo:null,portraitLogo:null,summary:"ecoPAYZ is one of the oldest e-wallets and allows its customers to receive,\nsend, and spend money worldwide all from one online account.\n",description:"ecoPAYZ is one of the oldest e-wallets and allows its customers to receive,\nsend, and spend money worldwide all from one online account.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/ecoPayz"}]},{apiName:"ecoVoucher",name:"ecoVoucher",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Ecovoucher.svg",portraitLogo:null,summary:"ecoVoucher is offered by ecoPayz and is a prepaid payment method that allows\ncustomers to pay online securely.\n",description:"ecoVoucher is offered by ecoPayz and is a prepaid payment method that allows\ncustomers to pay online securely.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/ecoVoucher"}]},{apiName:"Efecty",name:"Efecty",landscapeLogo:null,portraitLogo:null,summary:"Efecty is a Colombian-based offline cash payment voucher option. It is one of\nthe most popular payment methods in Colombia to pay utility bills and online\npurchases.\n",description:"Efecty is a Colombian-based offline cash payment voucher option. It is one of\nthe most popular payment methods in Colombia to pay utility bills and online\npurchases.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Efecty"}]},{apiName:"Ethereum",name:"Ethereum",landscapeLogo:null,portraitLogo:null,summary:"Ethereum is a decentralizaed blockchain platform that offers open access to\ndigital money and data-friendly services. It is the second largest\ncryptocurrency in the market after Bitcoin.\n",description:"Ethereum is a decentralizaed blockchain platform that offers open access to\ndigital money and data-friendly services. It is the second largest\ncryptocurrency in the market after Bitcoin.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Ethereum"}]},{apiName:"FasterPay",name:"FasterPay",landscapeLogo:null,portraitLogo:null,summary:"The FasterPay method\n",description:"The FasterPay method\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/FasterPay"}]},{apiName:"Flexepin",name:"Flexepin",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Flexepin.svg",portraitLogo:null,summary:"Flexepin is owned and operated by FlexeWallet and their vouchers are issued\nunder an Australian Financial Services License.\n",description:"Flexepin is owned and operated by FlexeWallet and their vouchers are issued\nunder an Australian Financial Services License.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Flexepin"}]},{apiName:"Giropay",name:"Giropay",landscapeLogo:null,portraitLogo:null,summary:"Giropay is an online payment method offered by more than 1,500 banks in\nGermany. Giropay uses real-time bank transfers and thier payments are 100%\nguaranteed.\n",description:"Giropay is an online payment method offered by more than 1,500 banks in\nGermany. Giropay uses real-time bank transfers and thier payments are 100%\nguaranteed.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Giropay"}]},{apiName:"Google Pay",name:"Google Pay",landscapeLogo:null,portraitLogo:null,summary:"Google Pay enables customers to pay with any payment method that is saved to\ntheir Google account.\n",description:"Google Pay enables customers to pay with any payment method that is saved to\ntheir Google account.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!1,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Google%20Pay"}]},{apiName:"Gpaysafe",name:"Gpaysafe",landscapeLogo:null,portraitLogo:null,summary:"Gpaysafe allows merchants to do business globally with a single API solution.",description:"Gpaysafe allows merchants to do business globally with a single API solution.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Gpaysafe"}]},{apiName:"iDEAL",name:"iDEAL",landscapeLogo:null,portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/iDEAL.svg",summary:"iDEAL allows customers to complete transactions online using their bank\ncredentials. It is the most popular payment method in the Netherlands with a\nuse of nearly 55%.\n",description:"iDEAL allows customers to complete transactions online using their bank\ncredentials. It is the most popular payment method in the Netherlands with a\nuse of nearly 55%.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/iDEAL"}]},{apiName:"iDebit",name:"iDebit",landscapeLogo:null,portraitLogo:null,summary:"iDebit is an online banking based payment method made available to consumers\nin Canada, connecting them to secure, real-time payments without a credit\ncard.\n",description:"iDebit is an online banking based payment method made available to consumers\nin Canada, connecting them to secure, real-time payments without a credit\ncard.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/iDebit"}]},{apiName:"ING-homepay",name:"ING Homepay",landscapeLogo:null,portraitLogo:null,summary:"ING Homepay is an online payment method that allows payments over online\nbanking with the Belgian ING branch.\n",description:"ING Homepay is an online payment method that allows payments over online\nbanking with the Belgian ING branch.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/ING-homepay"}]},{apiName:"INOVAPAY-pin",name:"INOVAPAY Pin",landscapeLogo:null,portraitLogo:null,summary:"The INOVAPAY Pin method.",description:"The INOVAPAY Pin method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/INOVAPAY-pin"}]},{apiName:"INOVAPAY-wallet",name:"INOVAPAY Wallet",landscapeLogo:null,portraitLogo:null,summary:"INOVAPAY Wallet is an international e-money transfer service used to transfer\nmoney to and from merchants.\n",description:"INOVAPAY Wallet is an international e-money transfer service used to transfer\nmoney to and from merchants.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/INOVAPAY-wallet"}]},{apiName:"InstaDebit",name:"InsataDebit",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Instadebit.svg",portraitLogo:null,summary:"The InstaDebit method.\n",description:"The InstaDebit method.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/InstaDebit"}]},{apiName:"instant-bank-transfer",name:"Instant Bank Transfer",landscapeLogo:null,portraitLogo:null,summary:"Instant bank transfers allow consumers to make payments instantly. Both\nconsumers and merchants can receive and send funds immediately.\n",description:"Instant bank transfers allow consumers to make payments instantly. Both\nconsumers and merchants can receive and send funds immediately.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/instant-bank-transfer"}]},{apiName:"Instant Banking",name:"Instant Banking",landscapeLogo:null,portraitLogo:null,summary:"Instant Banking enables consumers to make payments to merchants using funds from their bank account.\n",description:"Instant Banking enables consumers to make payments to merchants using funds from their bank account.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Instant%20Banking"}]},{apiName:"InstantPayments",name:"Instant Payments",landscapeLogo:null,portraitLogo:null,summary:"Instant Payments enables consumers to make payments to merchants using funds from their bank account.\n",description:"Instant Payments enables consumers to make payments to merchants using funds from their bank account.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/InstantPayments"}]},{apiName:"Interac",name:"Interac",landscapeLogo:null,portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/Interac.svg",summary:"Interac is a Canadian debit card system that allows funds to be sent via its\ne-Transfer service.\n",description:"Interac is a Canadian debit card system that allows funds to be sent via its\ne-Transfer service.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Interac"}]},{apiName:"Interac-eTransfer",name:"Interac eTransfer",landscapeLogo:null,portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/Interac.svg",summary:"Interac eTransfer is a Canadian interbank network that allows merchants,\nfinancial institutions, and consumers to exchange electronic funds.\n",description:"Interac eTransfer is a Canadian interbank network that allows merchants,\nfinancial institutions, and consumers to exchange electronic funds.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Interac-eTransfer"}]},{apiName:"Interac-express-connect",name:"Interac Express Connect",landscapeLogo:null,portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/Interac.svg",summary:"Interac Express Connect is an e-wallet that allows payments via multiple\nchannels including paypal, Interac e-transfer, and credit cards.\n",description:"Interac Express Connect is an e-wallet that allows payments via multiple\nchannels including paypal, Interac e-transfer, and credit cards.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Interac-express-connect"}]},{apiName:"Interac-online",name:"Interac Online",landscapeLogo:null,portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/Interac.svg",summary:"Interac Online is a payment option that enables consumers to shop online and\npay for goods through the RBC online banking account.\n",description:"Interac Online is a payment option that enables consumers to shop online and\npay for goods through the RBC online banking account.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Interac-online"}]},{apiName:"invoice",name:"Invoice",landscapeLogo:null,portraitLogo:null,summary:"An invoice is a document issued by a merchant to a consumer relating to a sale\ntransaction and can inform products, prices, quantities, or services.\n",description:"An invoice is a document issued by a merchant to a consumer relating to a sale\ntransaction and can inform products, prices, quantities, or services.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/invoice"}]},{apiName:"Jeton",name:"Jeton",landscapeLogo:null,portraitLogo:null,summary:"Jeton is a digital wallet that allows users to exchange money, make secure\nmoney transfers and purchases online.\n",description:"Jeton is a digital wallet that allows users to exchange money, make secure\nmoney transfers and purchases online.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Jeton"}]},{apiName:"jpay",name:"Jpay",landscapeLogo:null,portraitLogo:null,summary:"The Jpay method.",description:"The Jpay method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/jpay"}]},{apiName:"KNET",name:"KNET",landscapeLogo:null,portraitLogo:null,summary:"The KNET method.\n",description:"The KNET method.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/KNET"}]},{apiName:"KakaoPay",name:"KakaoPay",landscapeLogo:null,portraitLogo:null,summary:"KakaoPay is a mobile payment and digital wallet service by Kakao and based in South Korea. It enables users make mobile payments and online transactions.\n",description:"KakaoPay is a mobile payment and digital wallet service by Kakao and based in South Korea. It enables users make mobile payments and online transactions.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!1,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/KakaoPay"}]},{apiName:"Khelocard",name:"Khelocard",landscapeLogo:null,portraitLogo:null,summary:"Khelo Card is a virtual prepaid card that allows for deposits and withdrawals\nand is accepted at partnered online sites around the world.\n",description:"Khelo Card is a virtual prepaid card that allows for deposits and withdrawals\nand is accepted at partnered online sites around the world.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Khelocard"}]},{apiName:"Klarna",name:"Klarna",landscapeLogo:null,portraitLogo:null,summary:"Klarna offers flexible payment plans that provides payment solutions for 85\nmillion customers and over 200,000 merchants across 19 markets.\n",description:"Klarna offers flexible payment plans that provides payment solutions for 85\nmillion customers and over 200,000 merchants across 19 markets.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Klarna"}]},{apiName:"LPG-online",name:"LPG Online",landscapeLogo:null,portraitLogo:null,summary:"Latam Payment Group (LPG Online) specializes in the development of\ntechnological solutions for the operation of eCommerce in the Latin American\nmarket.\n",description:"Latam Payment Group (LPG Online) specializes in the development of\ntechnological solutions for the operation of eCommerce in the Latin American\nmarket.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/LPG-online"}]},{apiName:"LPG-payment-card",name:"LPG Payment Card",landscapeLogo:null,portraitLogo:null,summary:"The LPG Payment Card method.",description:"The LPG Payment Card method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/LPG-payment-card"}]},{apiName:"Litecoin",name:"Litecoin",landscapeLogo:null,portraitLogo:null,summary:"Litecoin is a peer-to-peer cryptocurrency and open-source software project.",description:"Litecoin is a peer-to-peer cryptocurrency and open-source software project.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Litecoin"}]},{apiName:"MTS",name:"MTS",landscapeLogo:null,portraitLogo:null,summary:"MTS allows users to make payments and money transfers from their e-wallet\nthrough a smartphone or MTS website.\n",description:"MTS allows users to make payments and money transfers from their e-wallet\nthrough a smartphone or MTS website.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/MTS"}]},{apiName:"Matrix",name:"Matrix",landscapeLogo:null,portraitLogo:null,summary:"The Matrix method.",description:"The Matrix method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Matrix"}]},{apiName:"MaxiCash",name:"MaxiCash",landscapeLogo:null,portraitLogo:null,summary:"The MaxiCash method.",description:"The MaxiCash method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/MaxiCash"}]},{apiName:"Megafon",name:"Megafon",landscapeLogo:null,portraitLogo:null,summary:"Megafon can be used to pay like a normal bank card online and in person at\nphysical locations.\n",description:"Megafon can be used to pay like a normal bank card online and in person at\nphysical locations.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Megafon"}]},{apiName:"MercadoPago",name:"MercadoPago",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/MercadoPago.svg",portraitLogo:null,summary:"Mercado hosts the largest online commerce and payments ecosystem in Latin America. They are present in 18 countries including: Argentina, Brazil, Mexico, Colombia, Chile, Venezuela and Peru. [www.mercadopago.com](https://www.mercadopago.com/)\n",description:"Mercado hosts the largest online commerce and payments ecosystem in Latin America. They are present in 18 countries including: Argentina, Brazil, Mexico, Colombia, Chile, Venezuela and Peru. [www.mercadopago.com](https://www.mercadopago.com/)\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/MercadoPago"}]},{apiName:"MiFinity-eWallet",name:"MiFinity-eWallet",landscapeLogo:null,portraitLogo:null,summary:"MiFinity eWallet allows users to send money from their account directly to a\nrecipient's bank account.\n",description:"MiFinity eWallet allows users to send money from their account directly to a\nrecipient's bank account.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/MiFinity-eWallet"}]},{apiName:"miscellaneous",name:"Miscellaneous",landscapeLogo:null,portraitLogo:null,summary:"The miscellaneous method.\n",description:"The miscellaneous method.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/miscellaneous"}]},{apiName:"MobilePay",name:"MobilePay",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/MobilePay.svg",portraitLogo:null,summary:"Fast, easy payments are handled with a simple swipe, and all that’s needed to make them is a phone number.\n",description:"Fast, easy payments are handled with a simple swipe, and all that’s needed to make them is a phone number.\n",countries:{mode:"subset",values:["DK"]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/MobilePay"}]},{apiName:"MuchBetter",name:"MuchBetter",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Muchbetter.svg",portraitLogo:null,summary:"MuchBetter is a payment application with free transfers and multiple contact\npayment devices.\n",description:"MuchBetter is a payment application with free transfers and multiple contact\npayment devices.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/MuchBetter"}]},{apiName:"Multibanco",name:"Multibanco",landscapeLogo:null,portraitLogo:null,summary:"The Multibanco method.\n",description:"The Multibanco method.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Multibanco"}]},{apiName:"MyFatoorah",name:"MyFatoorah",landscapeLogo:null,portraitLogo:null,summary:"The MyFatoorah method.",description:"The MyFatoorah method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/MyFatoorah"}]},{apiName:"Neosurf",name:"Neosurf",landscapeLogo:null,portraitLogo:null,summary:"Neosurf vouchers make online payments possible for thoe without bank accounts\nor credit cards.\n",description:"Neosurf vouchers make online payments possible for thoe without bank accounts\nor credit cards.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Neosurf"}]},{apiName:"Netbanking",name:"Netbanking",landscapeLogo:null,portraitLogo:null,summary:"Netbanking allows merchants to accept UPI transactions in India.",description:"Netbanking allows merchants to accept UPI transactions in India.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Netbanking"}]},{apiName:"Neteller",name:"Neteller",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Neteller.svg",portraitLogo:null,summary:"Neteller offers payments or withdrawals via bank transfer, member wires, money\ntransfers, and merchant sites.\n",description:"Neteller offers payments or withdrawals via bank transfer, member wires, money\ntransfers, and merchant sites.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Neteller"}]},{apiName:"Nordea-Solo",name:"Nordea Solo",landscapeLogo:null,portraitLogo:null,summary:"The Nordea Solo method.",description:"The Nordea Solo method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Nordea-Solo"}]},{apiName:"NordikCoin",name:"NordikCoin",landscapeLogo:null,portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/NordikCoin.svg",summary:"NordikCoin customers can buy Bitcoin in under 5 minutes.",description:"NordikCoin is a crypto currency exchange that specializes in Bitcoin.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/NordikCoin"}]},{apiName:"OXXO",name:"OXXO",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/OXXO.svg",portraitLogo:null,summary:"OXXO is a Mexican convenience store chain with thousands of locations across\nLatin America. OXXO enables customers to pay bills and online purchases with\ncash.\n",description:"OXXO is a Mexican convenience store chain with thousands of locations across\nLatin America. OXXO enables customers to pay bills and online purchases with\ncash.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/OXXO"}]},{apiName:"OchaPay",name:"OchaPay",landscapeLogo:null,portraitLogo:null,summary:"The OchaPay method.",description:"The OchaPay method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/OchaPay"}]},{apiName:"online-bank-transfer",name:"Online Bank Transfer",landscapeLogo:null,portraitLogo:null,summary:"An online bank transfer is an electronic funds transfer of money from one bank\naccount to another.\n",description:"An online bank transfer is an electronic funds transfer of money from one bank\naccount to another.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/online-bank-transfer"}]},{apiName:"Onlineueberweisen",name:"OnlineUeberweisen",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Onlineueberweisen.svg",portraitLogo:null,summary:"OnlineUeberweisen is an online banking ePayment company located in Munich,\nGermany.\n",description:"OnlineUeberweisen is an online banking ePayment company located in Munich,\nGermany.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Onlineueberweisen"}]},{apiName:"oriental-wallet",name:"Oriental Wallet",landscapeLogo:null,portraitLogo:null,summary:"The Oriental Wallet method.",description:"The Oriental Wallet method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/oriental-wallet"}]},{apiName:"P24",name:"P24",landscapeLogo:null,portraitLogo:null,summary:"Przelewy24 (P24) is a payment method in Poland that allows the transfer of funds\nbetween more than 90,000 businesses and Polish banks.\n",description:"Przelewy24 (P24) is a payment method in Poland that allows the transfer of funds\nbetween more than 90,000 businesses and Polish banks.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/P24"}]},{apiName:"PIX",name:"PIX",landscapeLogo:null,portraitLogo:null,summary:"PIX is a new payment method in Brazil for instant bank transfers and is\noperated by Brazilian banks, digital accounts, and wallets.\n",description:"PIX is a new payment method in Brazil for instant bank transfers and is\noperated by Brazilian banks, digital accounts, and wallets.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PIX"}]},{apiName:"POLi",name:"POLi",landscapeLogo:null,portraitLogo:null,summary:"The POLi method.",description:"The POLi method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/POLi"}]},{apiName:"Pagadito",name:"Pagadito",landscapeLogo:null,portraitLogo:null,summary:"The Pagadito method.",description:"The Pagadito method.",countries:{mode:"subset",values:["BZ","CR","DO","GT","HN","NI","PA","PR","SV","US"]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Pagadito"}]},{apiName:"PagoEffectivo",name:"PagoEffectivo",landscapeLogo:null,portraitLogo:null,summary:"The PagoEffectivo method.",description:"The PagoEffectivo method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PagoEffectivo"}]},{apiName:"Pagsmile-deposit-express",name:"Pagsmile Deposit Express",landscapeLogo:null,portraitLogo:null,summary:"Pagsmile Deposit Express is a money transfer system. After an online purchase,\nthe client can pay at a bank, ATM, or via internet banking.\n",description:"Pagsmile Deposit Express is a money transfer system. After an online purchase,\nthe client can pay at a bank, ATM, or via internet banking.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Pagsmile-deposit-express"}]},{apiName:"Pagsmile-lottery",name:"Pagsmile Lottery",landscapeLogo:null,portraitLogo:null,summary:"Pagsmile Lottery offers betting services as well as banking services such as\nwithdrawals, deposits, and bank checking.\n",description:"Pagsmile Lottery offers betting services as well as banking services such as\nwithdrawals, deposits, and bank checking.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Pagsmile-lottery"}]},{apiName:"Pay4Fun",name:"Pay4Fun",landscapeLogo:null,portraitLogo:null,summary:"Pay4Fun is a prepaid e-wallet that is connected to a bank account and can be\nused for deposits and withdrawls.\n",description:"Pay4Fun is a prepaid e-wallet that is connected to a bank account and can be\nused for deposits and withdrawls.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Pay4Fun"}]},{apiName:"PayCash",name:"PayCash",landscapeLogo:null,portraitLogo:null,summary:"PayCash is an electronic payment platformfor making anonymous internet\npurchases with cash via kiosks.\n",description:"PayCash is an electronic payment platformfor making anonymous internet\npurchases with cash via kiosks.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PayCash"}]},{apiName:"PayRedeem",name:"PayRedeem",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/PayRedeem.svg",portraitLogo:null,summary:"PayRedeem eCards can be purchased online with credit/debit card, wire transfer, cryptocurrency, and over 200 alternative payment methods.\n",description:"PayRedeem eCards can be purchased online with credit/debit card, wire transfer, cryptocurrency, and over 200 alternative payment methods.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PayRedeem"}]},{apiName:"PayTabs",name:"PayTabs",landscapeLogo:null,portraitLogo:null,summary:"The PayTabs method.",description:"The PayTabs method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PayTabs"}]},{apiName:"PayU",name:"PayU",landscapeLogo:null,portraitLogo:null,summary:"The PayU method.",description:"The PayU method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PayU"}]},{apiName:"PayULatam",name:"PayULatam",landscapeLogo:null,portraitLogo:null,summary:"The PayULatam method.",description:"The PayULatam method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PayULatam"}]},{apiName:"Payco",name:"Payco",landscapeLogo:null,portraitLogo:null,summary:"Payco is one of the most popular forms of payment in South Korea and offers your shoppers convenience and familiarity when shopping online.\n",description:"Payco is one of the most popular forms of payment in South Korea and offers your shoppers convenience and familiarity when shopping online.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!1,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Payco"}]},{apiName:"Payeer",name:"Payeer",landscapeLogo:null,portraitLogo:null,summary:"Payeer is an e-wallet designed to manage cryptocurrencies and fiat currencies\nwith a built-in payment exchange for systems such as MasterCard, VISA, or\nPaypal.\n",description:"Payeer is an e-wallet designed to manage cryptocurrencies and fiat currencies\nwith a built-in payment exchange for systems such as MasterCard, VISA, or\nPaypal.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Payeer"}]},{apiName:"PaymentAsia-crypto",name:"PaymentAsia-crypto",landscapeLogo:null,portraitLogo:null,summary:"The PaymentAsia-crypto method.",description:"The PaymentAsia-crypto method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PaymentAsia-crypto"}]},{apiName:"payment-card",name:"Payment Card",landscapeLogo:null,portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/PaymentCard.svg",summary:"Payment cards are physical cards used for cashless payments and are issued by\nfinancial institiutions, such as banks, to a customer.\n",description:"Payment cards are physical cards used for cashless payments and are issued by\nfinancial institiutions, such as banks, to a customer.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/payment-card"}]},{apiName:"Paymero-QR",name:"Paymero-QR",landscapeLogo:null,portraitLogo:null,summary:"Paymero-QR helps online merchants to accept alternative methods such as\ncontactless payments through a QR code.\n",description:"Paymero-QR helps online merchants to accept alternative methods such as\ncontactless payments through a QR code.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Paymero-QR"}]},{apiName:"Paymero",name:"Paymero",landscapeLogo:null,portraitLogo:null,summary:"Paymero is an instant bank transfer that allows customers to make UnionPay\nbank transfers to merchants.\n",description:"Paymero is an instant bank transfer that allows customers to make UnionPay\nbank transfers to merchants.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Paymero"}]},{apiName:"paypal",name:"Paypal",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Paypal.svg",portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/Paypal.svg",summary:"Paypal is currently one of the most popular online payment processors, with\nover 300 million account holders.\n",description:"Paypal is currently one of the most popular online payment processors, with\nover 300 million account holders.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/paypal"}]},{apiName:"Paysafecard",name:"Paysafecard",landscapeLogo:null,portraitLogo:null,summary:"Paysafecard is a closed loop gift card that allows users to pay safely online.",description:"Paysafecard is a closed loop gift card that allows users to pay safely online.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Paysafecard"}]},{apiName:"Paysafecash",name:"Paysafecash",landscapeLogo:null,portraitLogo:null,summary:"Paysafecash is an online payment method that allows users to make secure digital payments using cash.",description:"Paysafecash is an online payment method that allows users to make secure digital payments using cash.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Paysafecash"}]},{apiName:"Perfect-money",name:"Perfect Money",landscapeLogo:null,portraitLogo:null,summary:"Perfect oney allows users to make instant payments and money transfers\nsecurely online through an online portal.\n",description:"Perfect oney allows users to make instant payments and money transfers\nsecurely online through an online portal.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Perfect-money"}]},{apiName:"phone",name:"Phone",landscapeLogo:null,portraitLogo:null,summary:"A phone is a telecommunications device that allows users to conduct a\nconversation.\n",description:"A phone is a telecommunications device that allows users to conduct a\nconversation.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/phone"}]},{apiName:"PhonePe",name:"PhonePe",landscapeLogo:null,portraitLogo:null,summary:"PhonePe is a digital wallet and online payments application that allows users\nto make instant money transfers with UPI.\n",description:"PhonePe is a digital wallet and online payments application that allows users\nto make instant money transfers with UPI.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PhonePe"}]},{apiName:"Piastrix",name:"Piastrix",landscapeLogo:null,portraitLogo:null,summary:"Piastrix is a Russian payment method that allows merchants to accept credit\ncard purchases via e-wallet.\n",description:"Piastrix is a Russian payment method that allows merchants to accept credit\ncard purchases via e-wallet.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Piastrix"}]},{apiName:"PinPay",name:"PinPay",landscapeLogo:null,portraitLogo:null,summary:"The PinPay method.",description:"The PinPay method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PinPay"}]},{apiName:"QIWI",name:"QIWI",landscapeLogo:null,portraitLogo:null,summary:"QIWI is an e-wallet that allows users to transfer money, receive payments, and\nhas over 149,000 kiosks and terminals.\n",description:"QIWI is an e-wallet that allows users to transfer money, receive payments, and\nhas over 149,000 kiosks and terminals.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/QIWI"}]},{apiName:"QPay",name:"QPay",landscapeLogo:null,portraitLogo:null,summary:"The QPay method.\n",description:"The QPay method.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/QPay"}]},{apiName:"QQPay",name:"QQPay",landscapeLogo:null,portraitLogo:null,summary:"QQPay is an e-wallet that allows users to pay for online services quickly an\nsecurely.\n",description:"QQPay is an e-wallet that allows users to pay for online services quickly an\nsecurely.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/QQPay"}]},{apiName:"rapyd-checkout",name:"Rapyd Checkout",landscapeLogo:null,portraitLogo:null,summary:"Rapyd Checkout is a platform that allows businesses to accept payment in the\nform of instant UPI payments from bank accounts, e-wallets, and credit cards.\n",description:"Rapyd Checkout is a platform that allows businesses to accept payment in the\nform of instant UPI payments from bank accounts, e-wallets, and credit cards.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/rapyd-checkout"}]},{apiName:"Resurs",name:"Resurs",landscapeLogo:null,portraitLogo:null,summary:"The Resurs method.",description:"The Resurs method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Resurs"}]},{apiName:"SEPA",name:"SEPA",landscapeLogo:null,portraitLogo:null,summary:"SEPA simplifies payments within the European Union and facilitates the direct\ndebiting of every Euro-denominated bank account.\n",description:"SEPA simplifies payments within the European Union and facilitates the direct\ndebiting of every Euro-denominated bank account.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/SEPA"}]},{apiName:"SMSVoucher",name:"SMSVoucher",landscapeLogo:null,portraitLogo:null,summary:"SMS Voucher is a mobile voucher that can be used to transfer funds via a\nmobile phone.\n",description:"SMS Voucher is a mobile voucher that can be used to transfer funds via a\nmobile phone.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/SMSVoucher"}]},{apiName:"SPEI",name:"SPEI",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/spei.svg",portraitLogo:null,summary:"SPEI allows its customers to send and receive interbank electronic\ntransfers and obtain real-time payment confirmation in seconds.\n",description:"SPEI allows its customers to send and receive interbank electronic\ntransfers and obtain real-time payment confirmation in seconds.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/SPEI"}]},{apiName:"SafetyPay",name:"SafetyPay",landscapeLogo:null,portraitLogo:null,summary:"SafetyPay operates the largest network of banks and cash collection points in Latin America, the result of 10+ years effort, with presence in 16 countries consolidated with 380 bank partners and 180,000 collection points.\n",description:"SafetyPay operates the largest network of banks and cash collection points in Latin America, the result of 10+ years effort, with presence in 16 countries consolidated with 380 bank partners and 180,000 collection points.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/SafetyPay"}]},{apiName:"Samsung Pay",name:"Samsung Pay",landscapeLogo:null,portraitLogo:null,summary:"Samsung Pay is a mobile payment and digital wallet service by Samsung Electronics that enables users to make payments using\ncompatible phones and other Samsung-produced devices.\n",description:"Samsung Pay is a mobile payment and digital wallet service by Samsung Electronics that enables users to make payments using\ncompatible phones and other Samsung-produced devices.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!1,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Samsung%20Pay"}]},{apiName:"Siirto",name:"Siirto",landscapeLogo:null,portraitLogo:null,summary:"Siirto allows users to transfer money easily to other Siirto users by using\ntheir phone numbers.\n",description:"Siirto allows users to transfer money easily to other Siirto users by using\ntheir phone numbers.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Siirto"}]},{apiName:"Skrill",name:"Skrill",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Skrill.svg",portraitLogo:null,summary:"Skrill is a digital wallet for money transfers and online payments that offers\na safe way to pay across different platforms.\n",description:"Skrill is a digital wallet for money transfers and online payments that offers\na safe way to pay across different platforms.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Skrill"}]},{apiName:"Skrill Rapid Transfer",name:"Skrill Rapid Transfer",landscapeLogo:null,portraitLogo:null,summary:"Skrill Rapid Transfer allows users to deposit money into their Skrill wallet\nor to pay online directly.\n",description:"Skrill Rapid Transfer allows users to deposit money into their Skrill wallet\nor to pay online directly.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Skrill%20Rapid%20Transfer"}]},{apiName:"Sofort",name:"Sofort",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Sofort.svg",portraitLogo:null,summary:"Sofort is a payment method acquired by Klarna that redirects customers to\ninitiate a transfer with their bank.\n",description:"Sofort is a payment method acquired by Klarna that redirects customers to\ninitiate a transfer with their bank.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Sofort"}]},{apiName:"SparkPay",name:"SparkPay",landscapeLogo:null,portraitLogo:null,summary:"The SparkPay method.",description:"The SparkPay method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/SparkPay"}]},{apiName:"swift-dbt",name:"SWIFT Debit",landscapeLogo:null,portraitLogo:null,summary:"The SWIFT Debit method.",description:"The SWIFT Debit method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/swift-dbt"}]},{apiName:"TWINT",name:"TWINT",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/TWINT.svg",portraitLogo:null,summary:"TWINT allows customers to make convenient and secure payments via a smartpone.",description:"TWINT allows customers to make convenient and secure payments via a smartpone.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/TWINT"}]},{apiName:"Tele2",name:"Tele2",landscapeLogo:null,portraitLogo:null,summary:"Tele2 is an intergrated e-wallet that allows users to instantly receive\ndigital payments frmi TalkBank.\n",description:"Tele2 is an intergrated e-wallet that allows users to instantly receive\ndigital payments frmi TalkBank.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Tele2"}]},{apiName:"Telr",name:"Telr",landscapeLogo:null,portraitLogo:null,summary:"The Telr method.",description:"The Telr method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Telr"}]},{apiName:"Terminaly-RF",name:"Terminaly RF",landscapeLogo:null,portraitLogo:null,summary:"The Terminaly RF method.",description:"The Terminaly RF method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Terminaly-RF"}]},{apiName:"Tether",name:"Tether",landscapeLogo:null,portraitLogo:null,summary:"Tether is a cryptocurrency with tokens issued by Tether Limited.",description:"Tether is a cryptocurrency with tokens issued by Tether Limited.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Tether"}]},{apiName:"ToditoCash-card",name:"ToditoCash Card",landscapeLogo:null,portraitLogo:null,summary:"ToditoCash Card is a prepaid card service used in Mexico that allows customers\nto use the card for purchasing goods and services online.\n",description:"ToditoCash Card is a prepaid card service used in Mexico that allows customers\nto use the card for purchasing goods and services online.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/ToditoCash-card"}]},{apiName:"Trustly",name:"Trustly",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Trustly.svg",portraitLogo:null,summary:"Trustly an open banking payment method that allows customers to shop and pay\nfrom their online bank account, without the use of a card or app.\n",description:"Trustly an open banking payment method that allows customers to shop and pay\nfrom their online bank account, without the use of a card or app.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Trustly"}]},{apiName:"Tupay",name:"Tupay",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Tupay.svg",portraitLogo:null,summary:"Tupay is a one-stop-shop payment platform. It enables you to make everyday purchases in an easy, convenient, and secure manner through your favorite wallets.\nPay seamlessly, in-app, from anywhere your money is. Whether it is mobile money, a card, or bank without the need to transfer to various wallets.\n",description:"Tupay is a one-stop-shop payment platform. It enables you to make everyday purchases in an easy, convenient, and secure manner through your favorite wallets.\nPay seamlessly, in-app, from anywhere your money is. Whether it is mobile money, a card, or bank without the need to transfer to various wallets.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Tupay"}]},{apiName:"UPI",name:"UPI",landscapeLogo:null,portraitLogo:null,summary:"Unified Payments Interface (UPI) is a payment system that powers multiple bank\naccounts into a single mobile application.\n",description:"Unified Payments Interface (UPI) is a payment system that powers multiple bank\naccounts into a single mobile application.\n",countries:{mode:"subset",values:["IN"]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/UPI"}]},{apiName:"UPayCard",name:"UPayCard",landscapeLogo:null,portraitLogo:null,summary:"The UPayCard method.",description:"The UPayCard method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/UPayCard"}]},{apiName:"USD-coin",name:"USD coin",landscapeLogo:null,portraitLogo:null,summary:"The USD coin (USDC ERC20) method.\n",description:"The USD coin (USDC ERC20) method.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/USD-coin"}]},{apiName:"UniCrypt",name:"UniCrypt",landscapeLogo:null,portraitLogo:null,summary:"The UniCrypt method.",description:"The UniCrypt method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/UniCrypt"}]},{apiName:"VCreditos",name:"VCreditos",landscapeLogo:null,portraitLogo:null,summary:"VCreditos is an e-wallet for online transfers and withdrawals. The customer\ncan acquire exclusive advantages, points, and benefits.\n",description:"VCreditos is an e-wallet for online transfers and withdrawals. The customer\ncan acquire exclusive advantages, points, and benefits.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/VCreditos"}]},{apiName:"VegaWallet",name:"VegaWallet",landscapeLogo:null,portraitLogo:null,summary:"VegaWallet is an e-wallet that allows users to purchase, receive, send, and convert funds (points) between users and merchants.\n",description:"VegaWallet is an e-wallet that allows users to purchase, receive, send, and convert funds (points) between users and merchants.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/VegaWallet"}]},{apiName:"VenusPoint",name:"VenusPoint",landscapeLogo:null,portraitLogo:null,summary:"The VenusPoint method.",description:"The VenusPoint method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/VenusPoint"}]},{apiName:"voucher",name:"Voucher",landscapeLogo:null,portraitLogo:null,summary:"The voucher method.\n",description:"The voucher method.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/voucher"}]},{apiName:"Wallet88",name:"Wallet88",landscapeLogo:null,portraitLogo:null,summary:"Wallet88 payment method.",description:"Wallet88 payment method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Wallet88"}]},{apiName:"WeChat Pay",name:"WeChat Pay",landscapeLogo:null,portraitLogo:null,summary:"WeChat Pay is an e-Wallet within the Chinese social media app WeChat.",description:"WeChat Pay is an e-Wallet within the Chinese social media app WeChat.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/WeChat%20Pay"}]},{apiName:"Webmoney",name:"Webmoney",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Webmoney.svg",portraitLogo:null,summary:"The Webmoney method.",description:"The Webmoney method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Webmoney"}]},{apiName:"Webpay",name:"Webpay",landscapeLogo:null,portraitLogo:null,summary:"The Webpay method.",description:"The Webpay method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Webpay"}]},{apiName:"Webpay Card",name:"Webpay Card",landscapeLogo:null,portraitLogo:null,summary:"Webpay Card allows consumers in Chile to securely use their debit and credit\ncards online.\n",description:"Webpay Card allows consumers in Chile to securely use their debit and credit\ncards online.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Webpay%20Card"}]},{apiName:"XPay-P2P",name:"XPay-P2P",landscapeLogo:null,portraitLogo:null,summary:"XPAY-P2P is a payment service provider with online merchant services & payment\ngateway integration for retailers.\n",description:"XPAY-P2P is a payment service provider with online merchant services & payment\ngateway integration for retailers.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/XPay-P2P"}]},{apiName:"XPay-QR",name:"XPay-QR",landscapeLogo:null,portraitLogo:null,summary:"XPay-QR is a contactless payment method where payments are completed by\nscannign a QR code from a mobile app.\n",description:"XPay-QR is a contactless payment method where payments are completed by\nscannign a QR code from a mobile app.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/XPay-QR"}]},{apiName:"Yandex-money",name:"Yandex Money",landscapeLogo:null,portraitLogo:null,summary:"Yandex Money serves both merchants and individual users as the largest\nelectronic payment service in Russia.\n",description:"Yandex Money serves both merchants and individual users as the largest\nelectronic payment service in Russia.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Yandex-money"}]},{apiName:"Zimpler",name:"Zimpler",landscapeLogo:null,portraitLogo:null,summary:"The Zimpler method.",description:"The Zimpler method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Zimpler"}]},{apiName:"Zotapay",name:"Zotapay",landscapeLogo:null,portraitLogo:null,summary:"Zotapay is a global payment service provider that facilitates online payment\nprocessing solutions for emerging markets worldwide.\n",description:"Zotapay is a global payment service provider that facilitates online payment\nprocessing solutions for emerging markets worldwide.\n",countries:{mode:"all",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Zotapay"}]},{apiName:"ePay.bg",name:"ePay.bg",landscapeLogo:null,portraitLogo:null,summary:"ePay.bg is a free mobile application allowing customers to pay and receive\nmoney quickly and safely.\n",description:"ePay.bg is a free mobile application allowing customers to pay and receive\nmoney quickly and safely.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/ePay.bg"}]},{apiName:"ePayCard",name:"ePayCard",landscapeLogo:null,portraitLogo:null,summary:"ePay is a free mobile application that provides a quick and safe way to pay and receive money.\n",description:"ePay is a free mobile application that provides a quick and safe way to pay and receive money.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/ePayCard"}]},{apiName:"ezyEFT",name:"ezyEFT",landscapeLogo:null,portraitLogo:null,summary:"ezyEFT is an easy to use software application that offers customers the option\nof paying by direct debit.\n",description:"ezyEFT is an easy to use software application that offers customers the option\nof paying by direct debit.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/ezyEFT"}]},{apiName:"loonie",name:"loonie",landscapeLogo:null,portraitLogo:null,summary:"The loonie method.",description:"The loonie method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/loonie"}]}];class es extends Xn{get logo(){return this.landscapeLogo||this.portraitLogo}}const ts=class{constructor({name:e="",expirationTime:t="",displayName:n="",country:r="",merchantName:a="",merchantOrigin:o="",paypalMerchantId:i="",billingAgreementToken:s="",paypalClientId:l="",linkToken:c=""}={}){this.name=e,this.expirationTime=t,this.displayName=n,this.country=r,this.merchantName=a,this.merchantOrigin=o,this.paypalMerchantId=i,this.billingAgreementToken=s,this.paypalClientId=l,this.linkToken=c}};ts.FeatureName={paypalBillingAgreement:"PayPal billing agreement",googlePay:"Google Pay",applePay:"Apple Pay"};let ns=ts;class rs{constructor({index:e=null,method:t="",feature:n=null,brands:r=[],filters:a=[],metadata:o=null}={}){this.index=e,this.method=t,this.feature=n?new ns(n):null,this.brands=r,this.filters=a,this.metadata=o?new es(o):null}get optionsPaymentInstrumentsKey(){var e;switch(null==(e=this.feature)?void 0:e.name){case ns.FeatureName.paypalBillingAgreement:return"paypal";case ns.FeatureName.googlePay:return"googlePay";case ns.FeatureName.applePay:return"applePay";default:return}}}function as(e){const t=[...Zi],n=["Google Pay","Apple Pay","paypal"],r=["echeck","Khelocard","Klarna","Apple Pay","China UnionPay","Google Pay","KakaoPay","Payco","Samsung Pay"];return e.filter((e=>{const t="paypal"===e.method&&!e.feature,n="ach"===e.method&&e.feature,a=r.includes(e.method);return!t&&!n&&!a})).map(((e,r)=>{const a=t.find((t=>t.apiName===e.method))||{};return a.isExpressMethod=(({method:e,feature:t})=>n.includes(e)||n.includes(null==t?void 0:t.name))(e),new rs({index:r,metadata:a,...e})}))}async function os(){return xo((async()=>{var e,t,n,r,a,o,i,s,l;if(!Ae.data.riskMetadata){const{riskMetadata:e}=await Vi();Ae.data.riskMetadata=e}const c={riskMetadata:Ae.data.riskMetadata};if(c.websiteId=(null==(e=Ae.options)?void 0:e.websiteId)||null,(null==(t=Ae.options)?void 0:t.items)&&(c.items=Oo(Ae.options.items)),((null==(n=Ae.options)?void 0:n.money)||(null==(r=Ae.data)?void 0:r.invoice)||(null==(a=Ae.data)?void 0:a.transaction))&&(null==(o=Ae.data)?void 0:o.amountAndCurrency)){const{amount:e,currency:t}=Ae.data.amountAndCurrency;c.amount=e,c.currency=t}(null==(s=null==(i=Ae.data)?void 0:i.account)?void 0:s.address)&&(c.billingAddress=Ae.data.account.address),(null==(l=Ae.data)?void 0:l.deposit)&&(c.amount=Ae.data.deposit.amount,c.currency=Ae.data.deposit.currency);const{fields:u}=await Ae.storefront.purchase.readyToPay({data:c});return as(Object.values(u))}))}function is(e){const t=[...Zi],n=["Google Pay","Apple Pay","paypal"],r=["echeck","Khelocard","Klarna"];return e.filter((e=>{const t="paypal"===e.method&&!e.feature,n="ach"===e.method&&e.feature,a=r.includes(e.method);return!t&&!n&&!a})).map(((e,r)=>{const a=t.find((t=>t.apiName===e.method))||{};return a.isExpressMethod=(({method:e,feature:t})=>n.includes(e)||n.includes(null==t?void 0:t.name))(e),new rs({index:r,metadata:a,...e})})).filter((({metadata:e})=>e.storefrontEnabled))}async function ss(){return xo((async()=>{var e,t,n;if(xe(Ae.options),function(e){if(null==e)throw new Error("Could not access data instance")}(Ae.data),Pe(Ae.storefront),!(null==(e=null==Ae?void 0:Ae.data)?void 0:e.riskMetadata)){const{riskMetadata:e}=await Vi();Ae.data.riskMetadata=e}const r={riskMetadata:Ae.data.riskMetadata,websiteId:Ae.options.websiteId||null};(null==(n=null==(t=null==Ae?void 0:Ae.data)?void 0:t.account)?void 0:n.address)&&(r.billingAddress=Ae.data.account.address),Ae.data.payout&&(r.amount=Ae.data.payout.amount,r.currency=Ae.data.payout.currency);const{fields:a}=await Ae.storefront.readyToPayout.readyToPayout({data:r});return is(Object.values(a))}))}const ls=class e extends Xn{get isPaid(){return this.status===e.Status.paid}get isVoid(){return this.status===e.Status.voided}get isRefunded(){return this.status===e.Status.refunded}get isAbandoned(){return this.status===e.Status.abandoned}};ls.Status={draft:"draft",unpaid:"unpaid",paid:"paid",partiallyPaid:"partially-paid",pastDue:"past-due",abandoned:"abandoned",voided:"voided",partiallyRefunded:"partially-refunded",refunded:"refunded",disputed:"disputed"};let cs=ls;async function us({data:e=null}){return xo((async()=>{var t;Pe(Ae.storefront),xe(Ae.options),Ae.storefront.setSessionToken(Ae.options.jwt);const{fields:n}=await Ae.storefront.invoices.get({...e,expand:"items.*.product"});return{products:null==(t=n.items)?void 0:t.filter((e=>e._embedded)).map((e=>{var t;return new Ki(null==(t=e._embedded)?void 0:t.product)})),invoice:new cs(n)}}))}const ds=class e extends Xn{constructor({invoiceIds:e=[],...t}){super(t),this.invoiceIds=e||[]}get invoiceId(){return this.invoiceIds[0]||null}get hasInvoice(){return Boolean(this.invoiceId)}get transactionIsCompleted(){return this.status===e.Status.completed}};ds.Status={completed:"completed"};let ps=ds;async function ms({data:e=null}){return xo((async()=>{if(Pe(Ae.storefront),xe(Ae.options),null==e)throw new Error("Invalid payload.");Ae.storefront.setSessionToken(Ae.options.jwt);const{fields:t}=await Ae.storefront.transactions.get(e);return new ps(t)}))}class fs{constructor({firstName:e=null,lastName:t=null,organization:n=null,address:r=null,address2:a=null,city:o=null,region:i=null,country:s=null,postalCode:l=null,emails:c=[],phoneNumbers:u=[]}={}){var d,p;this.firstName=e,this.lastName=t,this.organization=n,this.address=r,this.address2=a,this.city=o,this.region=i,this.country=s,this.postalCode=l,this.email=(null==(d=c.find((e=>e.primary)))?void 0:d.value)||null,this.phoneNumber=(null==(p=u.find((e=>e.primary)))?void 0:p.value)||null}}class hs extends Xn{constructor({primaryAddress:e={},...t}={}){super(t),this.address=new fs({...e})}}class ys extends Xn{}async function gs(){return xo((async()=>{var e;Pe(Ae.storefront),xe(Ae.options),Ae.storefront.setSessionToken(Ae.options.jwt);const{fields:t}=await Ae.storefront.account.get({expand:"website"});return{website:new ys(null==(e=t._embedded)?void 0:e.website),account:new hs(t)}}))}async function bs(){return xo((async()=>{Pe(Ae.storefront);const{items:e}=await Ae.storefront.paymentInstruments.getAll({filter:"status:active,inactive,verification-needed"});return e.map((({fields:e})=>e))}))}class vs extends Xn{constructor(e){super(e),this.amount=Array.isArray(e.amounts)?e.amounts[0]:e.amount,e.buttons?this.buttons=e.buttons:e.amounts?this.buttons=[...e.amounts]:this.buttons=[],this.editable="boolean"==typeof e.editable?e.editable:Boolean(e.customAmount),this.customAmount=ke({minimum:1,maximum:1e12,multipleOf:1},e.customAmount||{})}}async function ws({data:e=null}){return xo((async()=>{if(Pe(Ae.storefront),xe(Ae.options),null==e)throw new Error("Invalid payload.");Ae.storefront.setSessionToken(Ae.options.jwt);const{fields:t}=await Ae.storefront.depositRequests.get(e);return new vs(t)}))}const ks=class e extends Xn{constructor(e={}){super(e)}get isPending(){return this.status===e.Status.pending}};ks.Status={pending:"pending",instrumentSelected:"instrument-selected",partiallyFulfilled:"partially-fulfilled",fulfilled:"fulfilled",canceled:"canceled"};let $s=ks;async function Es(e){return xo((async()=>{Pe(Ae.storefront),xe(Ae.options);const{fields:t}=await Ae.storefront.payoutRequests.get(e);return new $s(t)}))}function _s(e){return null!=e&&"depositRequestId"in e&&"string"==typeof e.depositRequestId}const Ss={type:"object",oneOf:[{type:"object",properties:{depositRequestId:{type:"string"}},required:["depositRequestId"]},{type:"object",properties:{currency:{type:"string",minLength:3,maxLength:3},amount:{type:"number"},buttons:{type:"array",items:{type:"number"}},editable:{type:"boolean"},customAmount:{type:"object",properties:{minimum:{type:"number"},maximum:{type:"number"},multipleOf:{type:"number"}},required:[]}},anyOf:[{required:["amount"]},{required:["buttons"]}],required:["currency"]}]},Ps=["utm_source","utm_medium","utm_campaign","utm_term","utm_content","affiliate","subAffiliate","clickId","salesAgent"],xs=/utm_/g,As=()=>{const{href:e,origin:t,pathname:n,search:r}=window.location,a={path:e.length<=255?e:`${t}${n}`};return r.replace("?","").split("&").map((e=>e.split("="))).filter((e=>{const[t]=e;return Ps.indexOf(t)>-1})).reduce(((e,t)=>{const[n,r=null]=t,a=n.replace(xs,"");return a&&(e[a]=r),e}),a)};class Is{constructor({...e}={}){var t;Object.entries({...Ae.data||{},...e}).forEach((([e,t])=>{this[e]=t})),this.money=(null==(t=Ae.options)?void 0:t.money)||null,this.couponIds=[],this.addons=[],this.acceptBumpOffer=!1}get amountAndCurrency(){let e,t,n;this.previewPurchase?(e=this.previewPurchase.currency,t=this.previewPurchase.total):this.invoice?(e=this.invoice.currency,t=this.invoice.amount,n=this.invoice.amountDue):this.transaction?(e=this.transaction.currency,t=this.transaction.amount):this.money&&(e=this.money.currency,t=this.money.amount);const r={amount:t,currency:e};return n&&(r.amountDue=n),r}get isPayment(){return Boolean(this.invoice||this.transaction||this.money)}get isDepositTransaction(){var e;return Boolean(null==(e=this.transaction)?void 0:e.depositRequestId)}get isInvoice(){return Boolean(this.invoice)}get isPurchase(){return Boolean(this.previewPurchase)}get hasAmountDue(){return!(!this.amountAndCurrency.amountDue||this.amountAndCurrency.amountDue===this.amountAndCurrency.amount)}get summaryItems(){const{discountsAmount:e=null,shippingAmount:t=null,subtotalAmount:n=null,taxAmount:r=null}=this.previewPurchase||this.invoice||{};return{discountsAmount:e,shippingAmount:t,subtotalAmount:n,taxAmount:r}}get summaryLineItems(){let e=[];return this.invoice?({items:e=[]}=this.invoice):({lineItems:e=[]}=this.previewPurchase||{}),e}get isShippingRequired(){return(this.products||[]).some((e=>e.requiresShipping))}toPostmatesModel(){return JSON.parse(JSON.stringify({...this,amountAndCurrency:this.amountAndCurrency,isPayment:this.isPayment,isInvoice:this.isInvoice,isPurchase:this.isPurchase,isDepositTransaction:this.isDepositTransaction,hasAmountDue:this.hasAmountDue,summaryItems:this.summaryItems,summaryLineItems:this.summaryLineItems,isShippingRequired:this.isShippingRequired,leadSource:As()}))}}async function Rs({riskMetadata:e=null,fetchInvoiceAndProducts:t=us,fetchTransaction:n=ms,fetchAccountAndWebsite:r=gs,fetchInstruments:a=bs,fetchDepositRequest:o=ws,fetchPayoutRequest:i=Es}={}){var s,l,c,u,d,p,m,f,h,y,g,b,v,w;try{if(Ae.data=new Is,Ae.storefront&&(null==(s=Ae.options)?void 0:s.jwt)&&Ae.storefront.setSessionToken(Ae.options.jwt),e)Ae.data.riskMetadata=e;else{const{riskMetadata:e}=await Vi();Ae.data.riskMetadata=e}let k;(null==(l=Ae.options)?void 0:l.deposit)&&(_s(Ae.options.deposit)?Ae.data.deposit=await o({data:{id:Ae.options.deposit.depositRequestId}}):Ae.data.deposit=new vs(Ae.options.deposit)),(null==(c=Ae.options)?void 0:c.payout)&&(Ae.data.payout=await i({id:Ae.options.payout.payoutRequestId})),(null==(u=Ae.options)?void 0:u.transactionId)&&(Ae.data.transaction=await n({data:{id:Ae.options.transactionId}}));const $=(null==(d=Ae.options)?void 0:d.invoiceId)||(null==(m=null==(p=Ae.data)?void 0:p.transaction)?void 0:m.invoiceId);if($){const{invoice:e,products:n}=await t({data:{id:$}});k=Promise.resolve(n),Ae.data.invoice=e}let E=Promise.resolve(null),_=Promise.resolve(null),S=Promise.resolve(),P=null;(null==(f=Ae.options)?void 0:f.jwt)?(S=r().then((({account:e,website:t})=>{if(null==Ae.data)throw new Error("Invalid data instance");Ae.data.account=e,Ae.data.website=t})),(null==(h=Ae.options)?void 0:h.payout)?_=S.then((()=>ss())):E=S.then((()=>os())),P=a()):(null==(y=Ae.options)?void 0:y.payout)?_=ss():E=os();const x=(null==(g=Ae.options)?void 0:g.items)?Lo():null;(null==(b=Ae.options)?void 0:b.jwt)||(k=async function(){return xo((async()=>{var e,t,n,r;let a;a=(null==(e=Ae.data)?void 0:e.summaryLineItems)&&Ae.data.summaryLineItems.length>0?Ae.data.summaryLineItems:(null==(t=Ae.options)?void 0:t.items)??[];const o={filter:"",expand:"product"};if(a.length){let e=a.map((e=>e.planId));(null==(n=Ae.options)?void 0:n.addons)&&(e=e.concat(Ae.options.addons.map((e=>e.planId)))),(null==(r=Ae.options)?void 0:r.bumpOffer)&&(e=e.concat(Ae.options.bumpOffer.map((e=>e.planId)))),o.filter=`id:${Array.from(new Set(e)).join(",")}`}if(o.filter.length)try{Pe(Ae.storefront);const{items:e}=await Ae.storefront.plans.getAll(o),t=[];return e.map((({fields:e})=>{var t;return new Ki(null==(t=e._embedded)?void 0:t.product)})).forEach((e=>{t.every((t=>t.id!==e.id))&&t.push(e)})),t}catch(i){}return[]}))}());let A=new Promise((e=>{e([])}));((null==(v=Ae.options)?void 0:v.addons)||(null==(w=Ae.options)?void 0:w.bumpOffer))&&(A=async function(){return xo((async()=>{var e,t;let n=[];if((null==(e=Ae.options)?void 0:e.addons)&&(n=n.concat(Ae.options.addons.map((e=>e.planId)))),(null==(t=Ae.options)?void 0:t.bumpOffer)&&(n=n.concat(Ae.options.bumpOffer.map((e=>e.planId)))),n.length>0){Pe(Ae.storefront);const{items:e}=await Ae.storefront.plans.getAll({filter:`id:${n.join(",")}`});return e.map((({fields:e})=>new Yi(e).toPayload()))}return[]}))}());const[I,R,T,C,O,N]=await Promise.all([_,E,x,k,A,P]);return new Is({readyToPayout:I,readyToPay:R,previewPurchase:T,products:C,plans:O,availableInstruments:N})}catch(k){}return new Is({})}function Ts({state:e,id:t}){const{Framepay:n}=window,r=e.form.querySelector(`.rebilly-instruments-${t}-method`);function a(){if(!r.children.length){const r={"google-pay":"googlePay","pay-pal-billing-agreement":"paypal","apple-pay":"applePay"},a=e.form.querySelector(`.rebilly-instruments-${t}-method`);r[t]?(n[r[t]].mount(a),"apple-pay"===t&&function(){const t=e.form.querySelector("#rebilly-apple-pay-button"),{applePayDisplayOptions:{buttonHeight:n}}=e.options.digitalWallet.applePay;t.style.margin="0px",t.style.width="100%",t.style.height=n,t.style.cursor="pointer"}()):console.warn(`method '${t}' is not supported`)}}null==n||n.on("ready",(()=>{a()})),null==n||n.on("error",(e=>{console.error(e)}))}const Cs=e=>{var t,n;return{METHOD_ID:Ln((null==(t=e.feature)?void 0:t.name)||e.method),METHOD_TYPE:Vt((null==(n=e.feature)?void 0:n.name)||e.method).replace("-","")}},Os=()=>window.ApplePaySession;async function Ns({methods:e,container:t}){const n=e.map((e=>{const{METHOD_ID:t}=Cs(e);return t})),{Framepay:r}=window;(null==r?void 0:r.initialized)||await(null==r?void 0:r.initialize(function({methodIds:e}={}){var t,n;const{options:r,data:a}=Ae,o={style:r.themeFramepay,locale:(null==r?void 0:r.locale)||"auto",organizationId:r.organizationId,websiteId:r.websiteId,methods:r.payout?a.readyToPayout:a.readyToPay};return e.includes("pay-pal-billing-agreement")&&(o.transactionData=ke("object"==typeof o.transactionData?o.transactionData:{},a.amountAndCurrency),o.paypal=r.paymentInstruments.paypal),e.includes("google-pay")&&(o.transactionData=ke("object"==typeof o.transactionData?o.transactionData:{},null==(t=r.digitalWallet.googlePay)?void 0:t.transactionData),o.googlePay=r.digitalWallet.googlePay.googlePayDisplayOptions),e.includes("apple-pay")&&(o.transactionData=ke("object"==typeof o.transactionData?o.transactionData:{},null==(n=r.digitalWallet.applePay)?void 0:n.transactionData),o.applePay=r.digitalWallet.applePay.applePayDisplayOptions),r.publishableKey&&(o.publishableKey=r.publishableKey),r.jwt&&(o.jwt=r.jwt,o.sandbox="sandbox"===r.apiMode),a.riskMetadata&&(o.riskMetadata=a.riskMetadata),o}({methodIds:n}))),e.forEach((e=>{const{METHOD_ID:n}=Cs(e);("apple-pay"!==n||Os())&&(t.innerHTML+=`\n <div class="rebilly-instruments-${n}-method" style="height: ${function(e){var t,n;let r;const a=e.optionsPaymentInstrumentsKey;if(!a)return"48px";const{buttonHeight:o,displayOptions:i}=(null==(n=null==(t=Ae.options)?void 0:t.paymentInstruments)?void 0:n[a])||{};return r=i?i.buttonHeight:o,"number"==typeof r&&(r=`${o}px`),r}(e)}"></div>\n `,Ts({state:Ae,id:n}))}));const a="sandbox"===Ae.options.apiMode?"https://forms-sandbox.secure-payments.app/approval-url?close=true":"https://forms.secure-payments.app/approval-url?close=true";null==r||r.on("token-ready",(e=>{var t,n,r;const o={websiteId:Ae.options.websiteId,billingAddress:e.billingAddress,redirectUrl:a,_raw:e};if((null==(t=Ae.data)?void 0:t.isShippingRequired)&&(e.shippingAddress?o.deliveryAddress=e.shippingAddress:o.deliveryAddress=o.billingAddress),Array.isArray(null==(n=o.billingAddress)?void 0:n.emails)){const e=o.billingAddress.emails.find((e=>"main"===e.label));(null==e?void 0:e.value)&&(o.billingAddress.email=e.value)}if(Array.isArray(null==(r=o.deliveryAddress)?void 0:r.emails)){const e=o.deliveryAddress.emails.find((e=>"main"===e.label));(null==e?void 0:e.value)&&(o.deliveryAddress.email=e.value)}Mn.instrumentReady.dispatch(o)}))}function Ls({offer:e}){const t=Ae.data.plans.find((t=>t.id===e.planId)),n=Ae.data.products.find((e=>e.id===t.productId)),r=(e,t)=>e?t:"";const a={...e,quantity:t.pricing.isBracket?null:e.quantity,name:n.name,description:t.name,unitPrice:function(){const e=function(e,t="USD"){const n=Number(e);return Number.isNaN(n)||null==e?"-":new Intl.NumberFormat("en-US",{style:"currency",currency:t}).format(n)}(t.pricing.isBracket?t.pricing.brackets[0].price:t.pricing.price,t.currency);return t.pricing.isBracket?Ae.translate.getTranslation("form.bumpOffer.startingAt").replace("{basePrice}",e):e}()};return`\n <div class="rebilly-instruments-bump-offer-line-item">\n ${o=a,r(o.thumbnail,`\n <figure class="rebilly-instruments-bump-offer-line-item-figure">\n <img src="${o.thumbnail}" :alt="${o.name}"/>\n </figure>\n `)}\n ${(e=>`\n <div class="rebilly-instruments-bump-offer-line-item-synopsis">\n <p class="rebilly-instruments-bump-offer-line-item-synopsis-title">\n ${e.name}\n </p>\n ${r(e.description,`\n <p class="rebilly-instruments-bump-offer-line-item-synopsis-description">\n ${e.description}\n </p>\n `)}\n </div>\n `)(a)}\n ${(e=>`\n <div class="rebilly-instruments-bump-offer-line-item-price-breakdown">\n ${r(e.quantity,`\n <p class="rebilly-instruments-bump-offer-line-item-price-breakdown-quantity">\n ${e.quantity}\n </p>\n <svg class="rebilly-instruments-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">\n <path d="M12 10.5858l2.8284-2.8284c.3906-.3906 1.0237-.3906 1.4142 0 .3906.3905.3906 1.0236 0 1.4142L13.4142 12l2.8284 2.8284c.3906.3906.3906 1.0237 0 1.4142-.3905.3906-1.0236.3906-1.4142 0L12 13.4142l-2.8284 2.8284c-.3906.3906-1.0237.3906-1.4142 0-.3906-.3905-.3906-1.0236 0-1.4142L10.5858 12 7.7574 9.1716c-.3906-.3906-.3906-1.0237 0-1.4142.3905-.3906 1.0236-.3906 1.4142 0L12 10.5858z" fill-rule="nonzero"/>\n </svg>\n `)}\n <p class="rebilly-instruments-bump-offer-line-item-price-breakdown-unit-price">\n ${e.unitPrice}\n </p>\n <div>\n `)(a)}\n </div>\n `;var o}async function js(){var e,t,n;Ae.data.money&&(Ae.data.money.amount=null,Ae.data.money.currency=null,Ae.updateModel());const r=Se.form;r||await zs();const a=Ae.toModel(),o={options:a.options,data:a.data};null==(e=r.component)||e.call("route",{name:"amount-selector"}),null==(t=r.component)||t.call("update",o),null==(n=null==r?void 0:r.component)||n.on("confirm-amount",(async e=>{const{amount:t,currency:n}=e;Ae.data.money={amount:t,currency:n};const r=await os();Ae.data.readyToPay=r,Ae.updateModel(),qs()}))}function Fs(e,t=Ae.form){return t.querySelector(`[data-rebilly-instruments="${e}"]`)}const Ms=()=>{const e=document.createElement("div");return e.classList.add("rebilly-instruments-bump-offers"),e.setAttribute("data-rebilly-instruments","bump-offer"),e};function Hs(){var e,t,n;const{expressMethods:r}=Wi();if(null==(e=Ae.options)?void 0:e.deposit){const e=Fs("deposit-back");e&&(e.style.height="0px",e.style.overflow="hidden")}if(r.length){const e=Fs("express-methods");e&&(e.style.height="0px",e.style.overflow="hidden")}if(null==(n=null==(t=Ae.options)?void 0:t.bumpOffer)?void 0:n.length){const e=Fs("bump-offer");e&&(e.style.height="0px",e.style.overflow="hidden",e.style.marginBottom="0px")}}const Bs=()=>{const e=document.createElement("div");e.setAttribute("data-rebilly-instruments","deposit-back"),e.innerHTML+='\n <div class="rebilly-instruments-confirmation-go-back-link" style="display: inline-block;margin-bottom: var(--rebilly-spacingM);margin-left: calc(var(--rebilly-spacingXs) * -1);">\n <a\n class="rebilly-instruments-link has-icon-left"\n style="display: inline-flex;color: var(--rebilly-colorPrimary);cursor: pointer;"\n >\n <svg\n class="rebilly-instruments-icon"\n style="margin-right: var(--rebilly-spacingXs);fill: var(--rebilly-colorPrimary)"\n viewBox="0 0 24 24"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M6.2929 11.2929l5-5c.3905-.3905 1.0237-.3905 1.4142 0 .3905.3905.3905 1.0237 0 1.4142L9.4142 11H17c.5523 0 1 .4477 1 1s-.4477 1-1 1H9.4142l3.293 3.2929c.3904.3905.3904 1.0237 0 1.4142-.3906.3905-1.0238.3905-1.4143 0l-5-5A.9969.9969 0 016 12c0-.2761.112-.5261.2929-.7071z"\n fill-rule="nonzero"\n />\n </svg>\n <span data-rebilly-i18n="deposit.goBack"></span>\n </a>\n </div>\n ';return e.querySelector(".rebilly-instruments-link").addEventListener("click",(()=>{Hs(),js()})),e},Ds=({expressMethods:e})=>{const t=document.createElement("div");t.classList.add("rebilly-instruments-method-selector"),t.setAttribute("data-rebilly-instruments","express-methods"),t.innerHTML='\n <div class="rebilly-instruments-express-methods ">\n <span data-rebilly-i18n="form.expressCheckout" class="rebilly-instruments-express-methods-label">Express checkout</span>\n <div class="rebilly-instruments-express-methods-container" data-rebilly-instruments="express-methods-container"></div>\n </div>\n <div data-rebilly-instruments="divider" class="rebilly-instruments-divider">\n <span class="rebilly-instruments-divider-label" data-rebilly-i18n="form.or">Or</span>\n </div>\n ';const n=Fs("express-methods-container",t);return Ae.options.paymentInstruments.compactExpressInstruments&&e.length&&(t.classList.add("has-express-compact"),n.classList.add("is-compact")),t};async function qs(){var e,t,n,r,a,o,i,s;const l=Fs("content"),c=Fs("form"),{expressMethods:u,methods:d}=Wi();if(null==(e=Ae.options)?void 0:e.deposit){const e=Fs("deposit-back");e?e.style.height="auto":l.insertBefore(Bs(),c)}if(u.length){const e=Fs("express-methods");if(e)e.style.height="auto";else{l.insertBefore(Ds({expressMethods:u}),c),Ae.options.digitalWallet=function({expressMethods:e=[]}){var t;const n={},{paymentInstruments:r}=Ae.options,a={countryCode:Ae.options.countryCode,label:Ae.options.websiteId};if(null==(t=Ae.data)?void 0:t.amountAndCurrency){const{amount:e,currency:t}=Ae.data.amountAndCurrency;a.amount=e,a.currency=t}return e.forEach((e=>{var t,o,i,s;const{METHOD_TYPE:l}=Cs(e);"Google Pay"===(null==(t=e.feature)?void 0:t.name)&&(n[l]={transactionData:a,merchantConfig:{merchantName:e.feature.merchantName,merchantOrigin:e.feature.merchantOrigin},googlePayDisplayOptions:r.googlePay.displayOptions}),"Apple Pay"===(null==(o=e.feature)?void 0:o.name)&&(n[l]={transactionData:a,merchantConfig:{merchantName:null==(s=null==(i=r.applePay)?void 0:i.merchantConfig)?void 0:s.merchantName,merchantOrigin:window.location.hostname},applePayDisplayOptions:r.applePay.displayOptions})})),n}({expressMethods:u});Ns({methods:u,container:Ae.form.querySelector('[data-rebilly-instruments="express-methods-container"]')})}}if(null==(n=null==(t=Ae.options)?void 0:t.bumpOffer)?void 0:n.length){const e=Fs("bump-offer");if(e)e.style.height="auto",e.style.marginBottom="calc(var(--rebilly-spacingM) + var(--rebilly-fontSizeS))";else{l.insertBefore(Ms(),c);!function({container:e}){e.insertAdjacentHTML("beforeEnd",`\n <label for="rebilly-instruments-bump-offer" class="rebilly-instruments-form-field-checkbox">\n <div class="rebilly-instruments-bump-offer-label" data-rebilly-i18n="form.bumpOffer.title">\n ${Ae.translate.getTranslation("form.bumpOffer.title")}\n </div>\n <input\n type="checkbox"\n id="rebilly-instruments-bump-offer"\n />\n <span></span>\n </label>\n `);const t=document.getElementById("rebilly-instruments-bump-offer");t.addEventListener("click",(async()=>{Ae.data.acceptBumpOffer=t.checked,await Lo(),Ae.updateModel()})),t.checked=Ae.data.acceptBumpOffer,Ae.options.bumpOffer.forEach((t=>{const n=document.createElement("div");n.classList.add("rebilly-instruments-bump-offer"),n.insertAdjacentHTML("beforeEnd",Ls({offer:t})),e.appendChild(n)}))}({container:Fs("bump-offer")})}}if(d.length){const e=Se.form;e||await zs();const t=Ae.toModel(),n={options:t.options,data:t.data};null==(r=null==e?void 0:e.component)||r.call("route",{name:"method-switch"}),null==(a=null==e?void 0:e.component)||a.call("update",n),(null==(i=null==(o=null==e?void 0:e.component)?void 0:o.events)?void 0:i["restart-payment-flow"])||null==(s=null==e?void 0:e.component)||s.on("restart-payment-flow",(async e=>{if(null==e?void 0:e.createNewDeposit){const t=await async function({data:e}){return xo((async()=>{if(Pe(Ae.storefront),xe(Ae.options),null==e)throw new Error("Invalid payload.");Ae.storefront.setSessionToken(Ae.options.jwt);const{fields:t}=await Ae.storefront.deposit.create({data:e});return new ps(t)}))}({data:{depositRequestId:e.depositRequestId,amount:e.amount}});if(t.approvalUrl)return void window.location.assign(t.approvalUrl)}Ae.data.isPurchase&&Mo(),qs()}))}else Ae.loader.stopLoading({id:"rebilly-instruments-form"}),Ae.form.querySelector('[data-rebilly-instruments="form"]').style.display="none",document.querySelectorAll('[data-rebilly-instruments="divider"]').forEach((e=>{e.style.display="none"}));Ae.translate.translateItems()}const Us=()=>'\n<div data-rebilly-instruments="content" class="rebilly-instruments-content">\n <div data-rebilly-instruments="content-error" id="rebilly-instruments-error"></div>\n <div data-rebilly-instruments="form"></div>\n</div>\n';async function zs(){var e;Ae.form.innerHTML+=Us();const t=Ae.form.querySelector('[data-rebilly-instruments="form"]'),{paymentMethodsUrl:n}=(null==(e=null==Ae?void 0:Ae.options)?void 0:e._computed)||{},r="rebilly-instruments-form",a=Ae.toModel(),o={name:r,url:`${n}?name=${r}`,container:t,model:{options:a.options,data:a.data,mainStyleVars:a.mainStyleVars}},i=await new Wn(o);return i.bindEventListeners({loader:Ae.loader}),Se.form=i,Ae.loader.stopLoading({id:"rebilly-instruments-form"}),{then:e=>e()}}function Vs({element:e="div",attributes:t={},content:n=null,target:r="body",insertMethod:a="append"}={}){const o=document.createElement(e);Object.entries(t).forEach((([e,t])=>{o.setAttribute(e,t)})),n&&(o.innerHTML=n),r instanceof ShadowRoot?r.prepend(o):document[r][a](o)}const Ws=({element:e=""})=>{const{options:t}=Ae;if("form"!==e&&"summary"!==e)throw new Error('element must be "form", or "summary"');return function({prop:e,propName:t="Mounting",isRequired:n=!0}={}){let r;if(void 0===e)throw new Error('processPropertyDOMElement: Missing argument "prop"');if(he(e))r=e;else{if("string"!=typeof e||"string"!=typeof(a=e)||!a.match(/([.#][_a-z]+[_a-z0-9-:\\]*)/gi))throw new Error(`Please provide a valid CSS class, id or DOM element for "${t}" property`);r=document.querySelector(e)}var a;if(!r&&n)throw new Error(`Could not find DOM element with CSS class or id "${e}" to mount ${t}`);return r}({prop:null!=t&&t[e]?t[e]:"summary"===e?".rebilly-instruments-summary":".rebilly-instruments",propName:e,isRequired:["form"].includes(e)})},Ks=()=>{xe(Ae.options);const{publishableKey:e,organizationId:t,apiMode:n,_dev:r}=Ae.options,a={organizationId:t,mode:n||"live"};return e&&(a.publishableKey=e),r&&(a.liveUrl=r.liveUrl||"https://api.rebilly.com",a.sandboxUrl=r.sandboxUrl||"https://api-sandbox.rebilly.com"),((e={})=>new Ao(e))(a)};function Gs(e){this.message=e}Gs.prototype=new Error,Gs.prototype.name="InvalidCharacterError";var Js="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new Gs("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,r,a=0,o=0,i="";r=t.charAt(o++);~r&&(n=a%4?64*n+r:r,a++%4)?i+=String.fromCharCode(255&n>>(-2*a&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return i};function Xs(e){this.message=e}function Qs(e,t){if("string"!=typeof e)throw new Xs("Invalid token specified");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(function(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return decodeURIComponent(Js(t).replace(/(.)/g,(function(e,t){var n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}catch(n){return Js(t)}}(e.split(".")[n]))}catch(r){throw new Xs("Invalid token specified: "+r.message)}}Xs.prototype=new Error,Xs.prototype.name="InvalidTokenError";var Ys={exports:{}},Zs={},el={},tl={},nl={},rl={},al={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;class t{}e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class n extends t{constructor(t){if(super(),!e.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}e.Name=n;class r extends t{constructor(e){super(),this._items="string"==typeof e?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const e=this._items[0];return""===e||'""'===e}get str(){var e;return null!==(e=this._str)&&void 0!==e?e:this._str=this._items.reduce(((e,t)=>`${e}${t}`),"")}get names(){var e;return null!==(e=this._names)&&void 0!==e?e:this._names=this._items.reduce(((e,t)=>(t instanceof n&&(e[t.str]=(e[t.str]||0)+1),e)),{})}}function a(e,...t){const n=[e[0]];let a=0;for(;a<t.length;)s(n,t[a]),n.push(e[++a]);return new r(n)}e._Code=r,e.nil=new r(""),e._=a;const o=new r("+");function i(e,...t){const n=[c(e[0])];let a=0;for(;a<t.length;)n.push(o),s(n,t[a]),n.push(o,c(e[++a]));return function(e){let t=1;for(;t<e.length-1;){if(e[t]===o){const n=l(e[t-1],e[t+1]);if(void 0!==n){e.splice(t-1,3,n);continue}e[t++]="+"}t++}}(n),new r(n)}function s(e,t){var a;t instanceof r?e.push(...t._items):t instanceof n?e.push(t):e.push("number"==typeof(a=t)||"boolean"==typeof a||null===a?a:c(Array.isArray(a)?a.join(","):a))}function l(e,t){if('""'===t)return e;if('""'===e)return t;if("string"==typeof e){if(t instanceof n||'"'!==e[e.length-1])return;return"string"!=typeof t?`${e.slice(0,-1)}${t}"`:'"'===t[0]?e.slice(0,-1)+t.slice(1):void 0}return"string"!=typeof t||'"'!==t[0]||e instanceof n?void 0:`"${e}${t.slice(1)}`}function c(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}e.str=i,e.addCodeArg=s,e.strConcat=function(e,t){return t.emptyStr()?e:e.emptyStr()?t:i`${e}${t}`},e.stringify=function(e){return new r(c(e))},e.safeStringify=c,e.getProperty=function(t){return"string"==typeof t&&e.IDENTIFIER.test(t)?new r(`.${t}`):a`[${t}]`},e.getEsmExportName=function(t){if("string"==typeof t&&e.IDENTIFIER.test(t))return new r(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)},e.regexpCode=function(e){return new r(e.toString())}}(al);var ol={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;const t=al;class n extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}}var r,a;(a=r=e.UsedValueState||(e.UsedValueState={}))[a.Started=0]="Started",a[a.Completed=1]="Completed",e.varKinds={const:new t.Name("const"),let:new t.Name("let"),var:new t.Name("var")};class o{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof t.Name?e:this.name(e)}name(e){return new t.Name(this._newName(e))}_newName(e){return`${e}${(this._names[e]||this._nameGroup(e)).index++}`}_nameGroup(e){var t,n;if((null===(n=null===(t=this._parent)||void 0===t?void 0:t._prefixes)||void 0===n?void 0:n.has(e))||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}}e.Scope=o;class i extends t.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:n,itemIndex:r}){this.value=e,this.scopePath=t._`.${new t.Name(n)}[${r}]`}}e.ValueScopeName=i;const s=t._`\n`;e.ValueScope=class extends o{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?s:t.nil}}get(){return this._scope}name(e){return new i(e,this._newName(e))}value(e,t){var n;if(void 0===t.ref)throw new Error("CodeGen: ref must be passed in value");const r=this.toName(e),{prefix:a}=r,o=null!==(n=t.key)&&void 0!==n?n:t.ref;let i=this._values[a];if(i){const e=i.get(o);if(e)return e}else i=this._values[a]=new Map;i.set(o,r);const s=this._scope[a]||(this._scope[a]=[]),l=s.length;return s[l]=t.ref,r.setValue(t,{property:a,itemIndex:l}),r}getValue(e,t){const n=this._values[e];if(n)return n.get(t)}scopeRefs(e,n=this._values){return this._reduceValues(n,(n=>{if(void 0===n.scopePath)throw new Error(`CodeGen: name "${n}" has no value`);return t._`${e}${n.scopePath}`}))}scopeCode(e=this._values,t,n){return this._reduceValues(e,(e=>{if(void 0===e.value)throw new Error(`CodeGen: name "${e}" has no value`);return e.value.code}),t,n)}_reduceValues(a,o,i={},s){let l=t.nil;for(const c in a){const u=a[c];if(!u)continue;const d=i[c]=i[c]||new Map;u.forEach((a=>{if(d.has(a))return;d.set(a,r.Started);let i=o(a);if(i){const n=this.opts.es5?e.varKinds.var:e.varKinds.const;l=t._`${l}${n} ${a} = ${i};${this.opts._n}`}else{if(!(i=null==s?void 0:s(a)))throw new n(a);l=t._`${l}${i}${this.opts._n}`}d.set(a,r.Completed)}))}return l}}}(ol),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;const t=al,n=ol;var r=al;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(e,"strConcat",{enumerable:!0,get:function(){return r.strConcat}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(e,"getProperty",{enumerable:!0,get:function(){return r.getProperty}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(e,"regexpCode",{enumerable:!0,get:function(){return r.regexpCode}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return r.Name}});var a=ol;Object.defineProperty(e,"Scope",{enumerable:!0,get:function(){return a.Scope}}),Object.defineProperty(e,"ValueScope",{enumerable:!0,get:function(){return a.ValueScope}}),Object.defineProperty(e,"ValueScopeName",{enumerable:!0,get:function(){return a.ValueScopeName}}),Object.defineProperty(e,"varKinds",{enumerable:!0,get:function(){return a.varKinds}}),e.operators={GT:new t._Code(">"),GTE:new t._Code(">="),LT:new t._Code("<"),LTE:new t._Code("<="),EQ:new t._Code("==="),NEQ:new t._Code("!=="),NOT:new t._Code("!"),OR:new t._Code("||"),AND:new t._Code("&&"),ADD:new t._Code("+")};class o{optimizeNodes(){return this}optimizeNames(e,t){return this}}class i extends o{constructor(e,t,n){super(),this.varKind=e,this.name=t,this.rhs=n}render({es5:e,_n:t}){const r=e?n.varKinds.var:this.varKind,a=void 0===this.rhs?"":` = ${this.rhs}`;return`${r} ${this.name}${a};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&(this.rhs=I(this.rhs,e,t)),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}}class s extends o{constructor(e,t,n){super(),this.lhs=e,this.rhs=t,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,n){if(!(this.lhs instanceof t.Name)||e[this.lhs.str]||this.sideEffects)return this.rhs=I(this.rhs,e,n),this}get names(){return A(this.lhs instanceof t.Name?{}:{...this.lhs.names},this.rhs)}}class l extends s{constructor(e,t,n,r){super(e,n,r),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}}class c extends o{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}}class u extends o{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}}class d extends o{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}}class p extends o{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=I(this.code,e,t),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}}class m extends o{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce(((t,n)=>t+n.render(e)),"")}optimizeNodes(){const{nodes:e}=this;let t=e.length;for(;t--;){const n=e[t].optimizeNodes();Array.isArray(n)?e.splice(t,1,...n):n?e[t]=n:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){const{nodes:n}=this;let r=n.length;for(;r--;){const a=n[r];a.optimizeNames(e,t)||(R(e,a.names),n.splice(r,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce(((e,t)=>x(e,t.names)),{})}}class f extends m{render(e){return"{"+e._n+super.render(e)+"}"+e._n}}class h extends m{}class y extends f{}y.kind="else";class g extends f{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+="else "+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();const e=this.condition;if(!0===e)return this.nodes;let t=this.else;if(t){const e=t.optimizeNodes();t=this.else=Array.isArray(e)?new y(e):e}return t?!1===e?t instanceof g?t:t.nodes:this.nodes.length?this:new g(T(e),t instanceof g?[t]:t.nodes):!1!==e&&this.nodes.length?this:void 0}optimizeNames(e,t){var n;if(this.else=null===(n=this.else)||void 0===n?void 0:n.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=I(this.condition,e,t),this}get names(){const e=super.names;return A(e,this.condition),this.else&&x(e,this.else.names),e}}g.kind="if";class b extends f{}b.kind="for";class v extends b{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=I(this.iteration,e,t),this}get names(){return x(super.names,this.iteration.names)}}class w extends b{constructor(e,t,n,r){super(),this.varKind=e,this.name=t,this.from=n,this.to=r}render(e){const t=e.es5?n.varKinds.var:this.varKind,{name:r,from:a,to:o}=this;return`for(${t} ${r}=${a}; ${r}<${o}; ${r}++)`+super.render(e)}get names(){const e=A(super.names,this.from);return A(e,this.to)}}class k extends b{constructor(e,t,n,r){super(),this.loop=e,this.varKind=t,this.name=n,this.iterable=r}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=I(this.iterable,e,t),this}get names(){return x(super.names,this.iterable.names)}}class $ extends f{constructor(e,t,n){super(),this.name=e,this.args=t,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}}$.kind="func";class E extends m{render(e){return"return "+super.render(e)}}E.kind="return";class _ extends f{render(e){let t="try"+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),null===(e=this.catch)||void 0===e||e.optimizeNodes(),null===(t=this.finally)||void 0===t||t.optimizeNodes(),this}optimizeNames(e,t){var n,r;return super.optimizeNames(e,t),null===(n=this.catch)||void 0===n||n.optimizeNames(e,t),null===(r=this.finally)||void 0===r||r.optimizeNames(e,t),this}get names(){const e=super.names;return this.catch&&x(e,this.catch.names),this.finally&&x(e,this.finally.names),e}}class S extends f{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}}S.kind="catch";class P extends f{render(e){return"finally"+super.render(e)}}P.kind="finally";function x(e,t){for(const n in t)e[n]=(e[n]||0)+(t[n]||0);return e}function A(e,n){return n instanceof t._CodeOrName?x(e,n.names):e}function I(e,n,r){return e instanceof t.Name?o(e):(a=e)instanceof t._Code&&a._items.some((e=>e instanceof t.Name&&1===n[e.str]&&void 0!==r[e.str]))?new t._Code(e._items.reduce(((e,n)=>(n instanceof t.Name&&(n=o(n)),n instanceof t._Code?e.push(...n._items):e.push(n),e)),[])):e;var a;function o(e){const t=r[e.str];return void 0===t||1!==n[e.str]?e:(delete n[e.str],t)}}function R(e,t){for(const n in t)e[n]=(e[n]||0)-(t[n]||0)}function T(e){return"boolean"==typeof e||"number"==typeof e||null===e?!e:t._`!${L(e)}`}e.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?"\n":""},this._extScope=e,this._scope=new n.Scope({parent:e}),this._nodes=[new h]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){const n=this._extScope.value(e,t);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,n,r){const a=this._scope.toName(t);return void 0!==n&&r&&(this._constants[a.str]=n),this._leafNode(new i(e,a,n)),a}const(e,t,r){return this._def(n.varKinds.const,e,t,r)}let(e,t,r){return this._def(n.varKinds.let,e,t,r)}var(e,t,r){return this._def(n.varKinds.var,e,t,r)}assign(e,t,n){return this._leafNode(new s(e,t,n))}add(t,n){return this._leafNode(new l(t,e.operators.ADD,n))}code(e){return"function"==typeof e?e():e!==t.nil&&this._leafNode(new p(e)),this}object(...e){const n=["{"];for(const[r,a]of e)n.length>1&&n.push(","),n.push(r),(r!==a||this.opts.es5)&&(n.push(":"),(0,t.addCodeArg)(n,a));return n.push("}"),new t._Code(n)}if(e,t,n){if(this._blockNode(new g(e)),t&&n)this.code(t).else().code(n).endIf();else if(t)this.code(t).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new g(e))}else(){return this._elseNode(new y)}endIf(){return this._endBlockNode(g,y)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new v(e),t)}forRange(e,t,r,a,o=(this.opts.es5?n.varKinds.var:n.varKinds.let)){const i=this._scope.toName(e);return this._for(new w(o,i,t,r),(()=>a(i)))}forOf(e,r,a,o=n.varKinds.const){const i=this._scope.toName(e);if(this.opts.es5){const e=r instanceof t.Name?r:this.var("_arr",r);return this.forRange("_i",0,t._`${e}.length`,(n=>{this.var(i,t._`${e}[${n}]`),a(i)}))}return this._for(new k("of",o,i,r),(()=>a(i)))}forIn(e,r,a,o=(this.opts.es5?n.varKinds.var:n.varKinds.const)){if(this.opts.ownProperties)return this.forOf(e,t._`Object.keys(${r})`,a);const i=this._scope.toName(e);return this._for(new k("in",o,i,r),(()=>a(i)))}endFor(){return this._endBlockNode(b)}label(e){return this._leafNode(new c(e))}break(e){return this._leafNode(new u(e))}return(e){const t=new E;if(this._blockNode(t),this.code(e),1!==t.nodes.length)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(E)}try(e,t,n){if(!t&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');const r=new _;if(this._blockNode(r),this.code(e),t){const e=this.name("e");this._currNode=r.catch=new S(e),t(e)}return n&&(this._currNode=r.finally=new P,this.code(n)),this._endBlockNode(S,P)}throw(e){return this._leafNode(new d(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){const t=this._blockStarts.pop();if(void 0===t)throw new Error("CodeGen: not in self-balancing block");const n=this._nodes.length-t;if(n<0||void 0!==e&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=t,this}func(e,n=t.nil,r,a){return this._blockNode(new $(e,n,r)),a&&this.code(a).endFunc(),this}endFunc(){return this._endBlockNode($)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){const n=this._currNode;if(n instanceof e||t&&n instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){const t=this._currNode;if(!(t instanceof g))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){const e=this._nodes;return e[e.length-1]}set _currNode(e){const t=this._nodes;t[t.length-1]=e}},e.not=T;const C=N(e.operators.AND);e.and=function(...e){return e.reduce(C)};const O=N(e.operators.OR);function N(e){return(n,r)=>n===t.nil?r:r===t.nil?n:t._`${L(n)} ${e} ${L(r)}`}function L(e){return e instanceof t.Name?e:t._`(${e})`}e.or=function(...e){return e.reduce(O)}}(rl);var il={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.checkStrictMode=e.getErrorPath=e.Type=e.useFunc=e.setEvaluated=e.evaluatedPropsToName=e.mergeEvaluated=e.eachItem=e.unescapeJsonPointer=e.escapeJsonPointer=e.escapeFragment=e.unescapeFragment=e.schemaRefOrVal=e.schemaHasRulesButRef=e.schemaHasRules=e.checkUnknownRules=e.alwaysValidSchema=e.toHash=void 0;const t=rl,n=al;function r(e,t=e.schema){const{opts:n,self:r}=e;if(!n.strictSchema)return;if("boolean"==typeof t)return;const a=r.RULES.keywords;for(const o in t)a[o]||m(e,`unknown keyword: "${o}"`)}function a(e,t){if("boolean"==typeof e)return!e;for(const n in e)if(t[n])return!0;return!1}function o(e){return"number"==typeof e?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}function i(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function s({mergeNames:e,mergeToName:n,mergeValues:r,resultToName:a}){return(o,i,s,l)=>{const c=void 0===s?i:s instanceof t.Name?(i instanceof t.Name?e(o,i,s):n(o,i,s),s):i instanceof t.Name?(n(o,s,i),i):r(i,s);return l!==t.Name||c instanceof t.Name?c:a(o,c)}}function l(e,n){if(!0===n)return e.var("props",!0);const r=e.var("props",t._`{}`);return void 0!==n&&c(e,r,n),r}function c(e,n,r){Object.keys(r).forEach((r=>e.assign(t._`${n}${(0,t.getProperty)(r)}`,!0)))}e.toHash=function(e){const t={};for(const n of e)t[n]=!0;return t},e.alwaysValidSchema=function(e,t){return"boolean"==typeof t?t:0===Object.keys(t).length||(r(e,t),!a(t,e.self.RULES.all))},e.checkUnknownRules=r,e.schemaHasRules=a,e.schemaHasRulesButRef=function(e,t){if("boolean"==typeof e)return!e;for(const n in e)if("$ref"!==n&&t.all[n])return!0;return!1},e.schemaRefOrVal=function({topSchemaRef:e,schemaPath:n},r,a,o){if(!o){if("number"==typeof r||"boolean"==typeof r)return r;if("string"==typeof r)return t._`${r}`}return t._`${e}${n}${(0,t.getProperty)(a)}`},e.unescapeFragment=function(e){return i(decodeURIComponent(e))},e.escapeFragment=function(e){return encodeURIComponent(o(e))},e.escapeJsonPointer=o,e.unescapeJsonPointer=i,e.eachItem=function(e,t){if(Array.isArray(e))for(const n of e)t(n);else t(e)},e.mergeEvaluated={props:s({mergeNames:(e,n,r)=>e.if(t._`${r} !== true && ${n} !== undefined`,(()=>{e.if(t._`${n} === true`,(()=>e.assign(r,!0)),(()=>e.assign(r,t._`${r} || {}`).code(t._`Object.assign(${r}, ${n})`)))})),mergeToName:(e,n,r)=>e.if(t._`${r} !== true`,(()=>{!0===n?e.assign(r,!0):(e.assign(r,t._`${r} || {}`),c(e,r,n))})),mergeValues:(e,t)=>!0===e||{...e,...t},resultToName:l}),items:s({mergeNames:(e,n,r)=>e.if(t._`${r} !== true && ${n} !== undefined`,(()=>e.assign(r,t._`${n} === true ? true : ${r} > ${n} ? ${r} : ${n}`))),mergeToName:(e,n,r)=>e.if(t._`${r} !== true`,(()=>e.assign(r,!0===n||t._`${r} > ${n} ? ${r} : ${n}`))),mergeValues:(e,t)=>!0===e||Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})},e.evaluatedPropsToName=l,e.setEvaluated=c;const u={};var d,p;function m(e,t,n=e.opts.strictSchema){if(n){if(t=`strict mode: ${t}`,!0===n)throw new Error(t);e.self.logger.warn(t)}}e.useFunc=function(e,t){return e.scopeValue("func",{ref:t,code:u[t.code]||(u[t.code]=new n._Code(t.code))})},(p=d=e.Type||(e.Type={}))[p.Num=0]="Num",p[p.Str=1]="Str",e.getErrorPath=function(e,n,r){if(e instanceof t.Name){const a=n===d.Num;return r?a?t._`"[" + ${e} + "]"`:t._`"['" + ${e} + "']"`:a?t._`"/" + ${e}`:t._`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,t.getProperty)(e).toString():"/"+o(e)},e.checkStrictMode=m}(il);var sl={};Object.defineProperty(sl,"__esModule",{value:!0});const ll=rl,cl={data:new ll.Name("data"),valCxt:new ll.Name("valCxt"),instancePath:new ll.Name("instancePath"),parentData:new ll.Name("parentData"),parentDataProperty:new ll.Name("parentDataProperty"),rootData:new ll.Name("rootData"),dynamicAnchors:new ll.Name("dynamicAnchors"),vErrors:new ll.Name("vErrors"),errors:new ll.Name("errors"),this:new ll.Name("this"),self:new ll.Name("self"),scope:new ll.Name("scope"),json:new ll.Name("json"),jsonPos:new ll.Name("jsonPos"),jsonLen:new ll.Name("jsonLen"),jsonPart:new ll.Name("jsonPart")};sl.default=cl,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.extendErrors=e.resetErrorsCount=e.reportExtraError=e.reportError=e.keyword$DataError=e.keywordError=void 0;const t=rl,n=il,r=sl;function a(e,n){const a=e.const("err",n);e.if(t._`${r.default.vErrors} === null`,(()=>e.assign(r.default.vErrors,t._`[${a}]`)),t._`${r.default.vErrors}.push(${a})`),e.code(t._`${r.default.errors}++`)}function o(e,n){const{gen:r,validateName:a,schemaEnv:o}=e;o.$async?r.throw(t._`new ${e.ValidationError}(${n})`):(r.assign(t._`${a}.errors`,n),r.return(!1))}e.keywordError={message:({keyword:e})=>t.str`must pass "${e}" keyword validation`},e.keyword$DataError={message:({keyword:e,schemaType:n})=>n?t.str`"${e}" keyword must be ${n} ($data)`:t.str`"${e}" keyword is invalid ($data)`},e.reportError=function(n,r=e.keywordError,i,l){const{it:c}=n,{gen:u,compositeRule:d,allErrors:p}=c,m=s(n,r,i);(null!=l?l:d||p)?a(u,m):o(c,t._`[${m}]`)},e.reportExtraError=function(t,n=e.keywordError,i){const{it:l}=t,{gen:c,compositeRule:u,allErrors:d}=l;a(c,s(t,n,i)),u||d||o(l,r.default.vErrors)},e.resetErrorsCount=function(e,n){e.assign(r.default.errors,n),e.if(t._`${r.default.vErrors} !== null`,(()=>e.if(n,(()=>e.assign(t._`${r.default.vErrors}.length`,n)),(()=>e.assign(r.default.vErrors,null)))))},e.extendErrors=function({gen:e,keyword:n,schemaValue:a,data:o,errsCount:i,it:s}){if(void 0===i)throw new Error("ajv implementation error");const l=e.name("err");e.forRange("i",i,r.default.errors,(i=>{e.const(l,t._`${r.default.vErrors}[${i}]`),e.if(t._`${l}.instancePath === undefined`,(()=>e.assign(t._`${l}.instancePath`,(0,t.strConcat)(r.default.instancePath,s.errorPath)))),e.assign(t._`${l}.schemaPath`,t.str`${s.errSchemaPath}/${n}`),s.opts.verbose&&(e.assign(t._`${l}.schema`,a),e.assign(t._`${l}.data`,o))}))};const i={keyword:new t.Name("keyword"),schemaPath:new t.Name("schemaPath"),params:new t.Name("params"),propertyName:new t.Name("propertyName"),message:new t.Name("message"),schema:new t.Name("schema"),parentSchema:new t.Name("parentSchema")};function s(e,n,a){const{createErrors:o}=e.it;return!1===o?t._`{}`:function(e,n,a={}){const{gen:o,it:s}=e,u=[l(s,a),c(e,a)];return function(e,{params:n,message:a},o){const{keyword:s,data:l,schemaValue:c,it:u}=e,{opts:d,propertyName:p,topSchemaRef:m,schemaPath:f}=u;o.push([i.keyword,s],[i.params,"function"==typeof n?n(e):n||t._`{}`]),d.messages&&o.push([i.message,"function"==typeof a?a(e):a]);d.verbose&&o.push([i.schema,c],[i.parentSchema,t._`${m}${f}`],[r.default.data,l]);p&&o.push([i.propertyName,p])}(e,n,u),o.object(...u)}(e,n,a)}function l({errorPath:e},{instancePath:a}){const o=a?t.str`${e}${(0,n.getErrorPath)(a,n.Type.Str)}`:e;return[r.default.instancePath,(0,t.strConcat)(r.default.instancePath,o)]}function c({keyword:e,it:{errSchemaPath:r}},{schemaPath:a,parentSchema:o}){let s=o?r:t.str`${r}/${e}`;return a&&(s=t.str`${s}${(0,n.getErrorPath)(a,n.Type.Str)}`),[i.schemaPath,s]}}(nl),Object.defineProperty(tl,"__esModule",{value:!0}),tl.boolOrEmptySchema=tl.topBoolOrEmptySchema=void 0;const ul=nl,dl=rl,pl=sl,ml={message:"boolean schema is false"};function fl(e,t){const{gen:n,data:r}=e,a={gen:n,keyword:"false schema",data:r,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,ul.reportError)(a,ml,void 0,t)}tl.topBoolOrEmptySchema=function(e){const{gen:t,schema:n,validateName:r}=e;!1===n?fl(e,!1):"object"==typeof n&&!0===n.$async?t.return(pl.default.data):(t.assign(dl._`${r}.errors`,null),t.return(!0))},tl.boolOrEmptySchema=function(e,t){const{gen:n,schema:r}=e;!1===r?(n.var(t,!1),fl(e)):n.var(t,!0)};var hl={},yl={};Object.defineProperty(yl,"__esModule",{value:!0}),yl.getRules=yl.isJSONType=void 0;const gl=new Set(["string","number","integer","boolean","null","object","array"]);yl.isJSONType=function(e){return"string"==typeof e&&gl.has(e)},yl.getRules=function(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}};var bl={};function vl(e,t){return t.rules.some((t=>wl(e,t)))}function wl(e,t){var n;return void 0!==e[t.keyword]||(null===(n=t.definition.implements)||void 0===n?void 0:n.some((t=>void 0!==e[t])))}Object.defineProperty(bl,"__esModule",{value:!0}),bl.shouldUseRule=bl.shouldUseGroup=bl.schemaHasRulesForType=void 0,bl.schemaHasRulesForType=function({schema:e,self:t},n){const r=t.RULES.types[n];return r&&!0!==r&&vl(e,r)},bl.shouldUseGroup=vl,bl.shouldUseRule=wl,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.reportTypeError=e.checkDataTypes=e.checkDataType=e.coerceAndCheckDataType=e.getJSONTypes=e.getSchemaTypes=e.DataType=void 0;const t=yl,n=bl,r=nl,a=rl,o=il;var i,s;function l(e){const n=Array.isArray(e)?e:e?[e]:[];if(n.every(t.isJSONType))return n;throw new Error("type must be JSONType or JSONType[]: "+n.join(","))}(s=i=e.DataType||(e.DataType={}))[s.Correct=0]="Correct",s[s.Wrong=1]="Wrong",e.getSchemaTypes=function(e){const t=l(e.type);if(t.includes("null")){if(!1===e.nullable)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&void 0!==e.nullable)throw new Error('"nullable" cannot be used without "type"');!0===e.nullable&&t.push("null")}return t},e.getJSONTypes=l,e.coerceAndCheckDataType=function(e,t){const{gen:r,data:o,opts:s}=e,l=function(e,t){return t?e.filter((e=>c.has(e)||"array"===t&&"array"===e)):[]}(t,s.coerceTypes),u=t.length>0&&!(0===l.length&&1===t.length&&(0,n.schemaHasRulesForType)(e,t[0]));if(u){const n=d(t,o,s.strictNumbers,i.Wrong);r.if(n,(()=>{l.length?function(e,t,n){const{gen:r,data:o,opts:i}=e,s=r.let("dataType",a._`typeof ${o}`),l=r.let("coerced",a._`undefined`);"array"===i.coerceTypes&&r.if(a._`${s} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,(()=>r.assign(o,a._`${o}[0]`).assign(s,a._`typeof ${o}`).if(d(t,o,i.strictNumbers),(()=>r.assign(l,o)))));r.if(a._`${l} !== undefined`);for(const a of n)(c.has(a)||"array"===a&&"array"===i.coerceTypes)&&u(a);function u(e){switch(e){case"string":return void r.elseIf(a._`${s} == "number" || ${s} == "boolean"`).assign(l,a._`"" + ${o}`).elseIf(a._`${o} === null`).assign(l,a._`""`);case"number":return void r.elseIf(a._`${s} == "boolean" || ${o} === null
20
+ */function to(e){return!0===eo(e)&&"[object Object]"===Object.prototype.toString.call(e)}const no=function(e,t){switch(Za(e)){case"array":return e.slice();case"object":return Object.assign({},e);case"date":return new e.constructor(Number(e));case"map":return new Map(e);case"set":return new Set(e);case"buffer":return function(e){const t=e.length,n=Buffer.allocUnsafe?Buffer.allocUnsafe(t):Buffer.from(t);return e.copy(n),n}(e);case"symbol":return function(e){return Ya?Object(Ya.call(e)):{}}(e);case"arraybuffer":return function(e){const t=new e.constructor(e.byteLength);return new Uint8Array(t).set(new Uint8Array(e)),t}(e);case"float32array":case"float64array":case"int16array":case"int32array":case"int8array":case"uint16array":case"uint32array":case"uint8clampedarray":case"uint8array":return function(e,t){return new e.constructor(e.buffer,e.byteOffset,e.length)}(e);case"regexp":return function(e){const t=void 0!==e.flags?e.flags:/\w+$/.exec(e)||void 0,n=new e.constructor(e.source,t);return n.lastIndex=e.lastIndex,n}(e);case"error":return Object.create(e);default:return e}},ro=Xa,ao=function(e){var t,n;return!(!1===to(e)||(t=e.constructor,"function"!=typeof t)||(n=t.prototype,!1===to(n))||!1===n.hasOwnProperty("isPrototypeOf"))};function oo(e,t){switch(ro(e)){case"object":return function(e,t){if("function"==typeof t)return t(e);if(t||ao(e)){const n=new e.constructor;for(let r in e)n[r]=oo(e[r],t);return n}return e}(e,t);case"array":return function(e,t){const n=new e.constructor(e.length);for(let r=0;r<e.length;r++)n[r]=oo(e[r],t);return n}(e,t);default:return no(e)}}const io=Ga(oo),so="56.14.0";class lo{constructor({id:e=null,created:t=null}={}){this.id=e||((e=21)=>{let t="",n=e;for(;n--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t})(),this.created=t||(new Date).getTime(),this.cancelSource=Ma.CancelToken.source(),this.cancel=this.cancelSource.cancel,this.cancelToken=this.cancelSource.token,Da(this,{exclude:["cancelSource","cancelToken","cancel"]})}}class co{constructor(){if(co.instance)return co.instance;this.requests={},co.instance=this}getAll(){return Object.values(this.requests)}getById(e){return this.requests[e]}deleteById(e){this.requests[e]&&delete this.requests[e]}save(){const e=new lo;return this.requests[e.id]=e,{id:e.id,cancelToken:e.cancelToken}}}const uo=new co;let po=class{};Ba(po,"cancelById",((e,t)=>{try{uo.getById(e).cancel(t),uo.deleteById(e)}catch{}})),Ba(po,"cancelAll",(e=>uo.getAll().forEach((t=>{t.cancel(e),uo.deleteById(t.id)}))));const mo={cancelAll:(...e)=>po.cancelAll(...e)},fo={request:"request",response:"response"},ho=e=>{if(!Object.values(fo).includes(e))throw new Error(`There is no such interceptor type as "${e}"`);return!0};function yo({options:e}){const t=Ma.create({baseURL:n(),timeout:e.requestTimeout,headers:r()});function n(){let t=e.isSandbox?e.apiEndpoints.sandbox:e.apiEndpoints.live;return e.apiVersion&&(t=`${t}/${e.apiVersion}`),e.organizationId&&(t=`${t}/organizations/${e.organizationId}`),`${t}`}function r(){const t={"REB-API-CONSUMER":`RebillySDK/JS-SDK ${so}`};return e.apiKey&&(t["REB-APIKEY"]=e.apiKey),t}function a(){return io(t.defaults.headers)}function o(e,{thenDelegate:n,catchDelegate:r=(()=>{})}){return ho(e)&&t.interceptors[fo[e]].use(n,r)}function i(e,n){return ho(e)&&t.interceptors[fo[e]].eject(n)}function s({request:e,isCollection:t,config:n}){const r=u(n),{id:a,cancelToken:o}=uo.save();r.cancelToken=o;const i=async function(){try{return function({response:e,isCollection:t,config:n}){return t?new za(e,n):new qa(e,n)}({response:await e(r),isCollection:t,config:r})}catch(n){return l({error:n,config:r})}finally{uo.deleteById(a)}}();return i.cancel=e=>po.cancelById(a,e),i}function l({error:e}){if(Ma.isCancel(e))throw new Ka.RebillyCanceledError(e);if(e.response)switch(Number(e.response.status)){case 401:throw new Ka.RebillyForbiddenError(e);case 404:throw new Ka.RebillyNotFoundError(e);case 405:throw new Ka.RebillyMethodNotAllowedError(e);case 409:throw new Ka.RebillyConflictError(e);case 422:throw new Ka.RebillyValidationError(e);default:throw new Ka.RebillyRequestError(e)}throw"ECONNABORTED"===e.code?new Ka.RebillyTimeoutError(e):new Ka.RebillyRequestError(e)}function c(e){return void 0!==e.params&&(e.params=Object.keys(e.params).filter((t=>null!==e.params[t]&&""!==e.params[t])).reduce(((t,n)=>(t[n]=e.params[n],t)),{})),e}function u(e={}){return{...c(e)}}function d(e,n={}){return s({request:n=>t.get(e,n),config:{params:n}})}function p(e,n,r={}){let o={};return!1===r.authenticate&&(o={headers:a()},delete o.headers.common["REB-APIKEY"],delete o.headers.common.Authorization),r.params&&(o.params={...r.params}),s({request:r=>t.post(e,n,r),config:o})}function m(e,n,r={}){return s({request:r=>t.put(e,n,r),config:{params:r}})}return{getInstance:function(){return t},addRequestInterceptor:function({thenDelegate:e,catchDelegate:t=(()=>{})}){return o(fo.request,{thenDelegate:e,catchDelegate:t})},removeRequestInterceptor:function(e){i(fo.request,e)},addResponseInterceptor:function({thenDelegate:e,catchDelegate:t=(()=>{})}){return o(fo.response,{thenDelegate:e,catchDelegate:t})},removeResponseInterceptor:function(e){i(fo.response,e)},setTimeout:function(n){e.requestTimeout=Number(n),t.defaults.timeout=e.requestTimeout},setProxyAgent:function({host:e,port:n,auth:r}){t.defaults.proxy={host:e,port:n,auth:r}},setSessionToken:function(n=e.jwt){const r=a();e.apiKey=null,e.jwt=n,delete r.common["REB-APIKEY"],r.common.Authorization=`Bearer ${n}`,t.defaults.headers=r},setPublishableKey:function(n=e.publishableKey){const r=a();e.publishableKey=n,r.common.Authorization=`${n}`,t.defaults.headers=r},setEndpoints:function({live:r=null,sandbox:a=null}){r&&(e.apiEndpoints.live=r),a&&(e.apiEndpoints.sandbox=a),t.defaults.baseURL=n()},get:d,getAll:function(e,n){return s({request:n=>t.get(e,n),config:{params:n},isCollection:!0})},post:p,put:m,patch:function(e,n){return s({request:r=>t.patch(e,n,r),config:{}})},delete:function(e){return s({request:n=>t.delete(e,n),config:{}})},deleteAll:function(e,n){return s({request:n=>t.delete(e,n),config:{data:{...n}}})},create:async function(e,t,n,r={}){if(""===t)return p(e,n,{params:r});try{if(200===(await d(e)).response.status)throw new Ka.RebillyConflictError({message:"A resource already exists with this ID. Please use a different ID."})}catch(a){if("RebillyNotFoundError"===a.name)return m(e,n,r);throw a}},download:async function(e,n){const r=u(n);try{const n=await t.get(e,r);return new Va(n,r)}catch(a){return l({error:a,config:r})}}}}const go={Accept:"application/pdf"};class bo{constructor({apiHandler:e}){this.account=function({apiHandler:e}){return{forgotPassword:({data:t})=>e.post("forgot-password",t,{authenticate:!1})}}({apiHandler:e}),this.allowlists=function({apiHandler:e}){return{getAllowlistCollection({filter:t=null,sort:n=null,limit:r=null,offset:a=null}={}){const o={filter:t,sort:n,limit:r,offset:a};return e.getAll("allowlists",o)},storeAllowlist:({data:t})=>e.post("allowlists",t),getAllowlist:({id:t})=>e.get(`allowlists/${t}`),delete:({id:t})=>e.delete(`allowlists/${t}`)}}({apiHandler:e}),this.amlChecks=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("aml-checks",i)},get:({id:t})=>e.get(`aml-checks/${t}`),startReview:({id:t})=>e.post(`aml-checks/${t}/start-review`),stopReview:({id:t})=>e.post(`aml-checks/${t}/stop-review`),review:({id:t,data:n})=>e.post(`aml-checks/${t}/review`,n)}}({apiHandler:e}),this.amlSettings=function({apiHandler:e}){return{getAmlSettings:()=>e.get("aml-settings"),putAmlSettings:({data:t})=>e.put("aml-settings",t)}}({apiHandler:e}),this.apiKeys=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null}={}){const a={limit:t,offset:n,sort:r};return e.getAll("api-keys",a)},create:({id:t="",data:n})=>e.create(`api-keys/${t}`,t,n),get:({id:t})=>e.get(`api-keys/${t}`),update:({id:t,data:n})=>e.put(`api-keys/${t}`,n),delete:({id:t})=>e.delete(`api-keys/${t}`)}}({apiHandler:e}),this.applicationInstances=function({apiHandler:e}){return{get:({applicationId:t})=>e.get(`application-instances/${t}`),upsert:({applicationId:t,data:n})=>e.put(`application-instances/${t}`,n),delete:({applicationId:t})=>e.delete(`application-instances/${t}`),getConfiguration:({applicationId:t})=>e.get(`application-instances/${t}/configuration`),upsertConfiguration:({applicationId:t,data:n})=>e.put(`application-instances/${t}/configuration`,n)}}({apiHandler:e}),this.applications=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,q:a=null,expand:o=null,fields:i=null,sort:s=null}={}){const l={limit:t,offset:n,filter:r,q:a,expand:o,fields:i,sort:s};return e.getAll("applications",l)},create:({data:t})=>e.post("applications",t),get:({id:t})=>e.get(`applications/${t}`),getInstances({id:t,limit:n=null,offset:r=null}){const a={limit:n,offset:r};return e.getAll(`applications/${t}/instances`,a)},getInstance:({id:t,organizationId:n})=>e.get(`applications/${t}/instances/${n}`)}}({apiHandler:e}),this.balanceTransactions=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("balance-transactions",o)},get:({id:t})=>e.get(`balance-transactions/${t}`)}}({apiHandler:e}),this.billingPortals=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("billing-portals",i)},create:({id:t="",data:n})=>e.create(`billing-portals/${t}`,t,n),get:({id:t})=>e.get(`billing-portals/${t}`),update:({id:t,data:n})=>e.put(`billing-portals/${t}`,n),delete:({id:t})=>e.delete(`billing-portals/${t}`)}}({apiHandler:e}),this.blocklists=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("blocklists",i)},create:({id:t="",data:n})=>e.create(`blocklists/${t}`,t,n),get:({id:t})=>e.get(`blocklists/${t}`),delete:({id:t})=>e.delete(`blocklists/${t}`)}}({apiHandler:e}),this.broadcastMessages=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,filter:a=null}={}){const o={limit:t,offset:n,sort:r,filter:a};return e.getAll("broadcast-messages",o)},create:({data:t})=>e.post("broadcast-messages",t),get:({id:t})=>e.get(`broadcast-messages/${t}`),delete:({id:t})=>e.delete(`broadcast-messages/${t}`),update:({id:t,data:n})=>e.patch(`broadcast-messages/${t}`,n)}}({apiHandler:e}),this.checkoutForms=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("checkout-forms",i)},create:({id:t="",data:n})=>e.create(`checkout-forms/${t}`,t,n),get:({id:t})=>e.get(`checkout-forms/${t}`),update:({id:t,data:n})=>e.put(`checkout-forms/${t}`,n),delete:({id:t})=>e.delete(`checkout-forms/${t}`)}}({apiHandler:e}),this.coupons=function({apiHandler:e}){return{getAllRedemptions({limit:t=null,offset:n=null,filter:r=null,q:a=null,sort:o=null}={}){const i={limit:t,offset:n,filter:r,q:a,sort:o};return e.getAll("coupons-redemptions",i)},redeem:({data:t})=>e.post("coupons-redemptions",t),getRedemption:({id:t})=>e.get(`coupons-redemptions/${t}`),cancelRedemption:({id:t})=>e.post(`coupons-redemptions/${t}/cancel`),getAll({limit:t=null,offset:n=null,filter:r=null,q:a=null,sort:o=null}={}){const i={limit:t,offset:n,filter:r,q:a,sort:o};return e.getAll("coupons",i)},create:({id:t="",data:n})=>e.create(`coupons/${t}`,t,n),get:({id:t})=>e.get(`coupons/${t}`),update:({id:t,data:n})=>e.put(`coupons/${t}`,n),setExpiration:({id:t,data:n})=>e.post(`coupons/${t}/expiration`,n)}}({apiHandler:e}),this.creditMemos=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null}={}){const i={filter:t,sort:n,limit:r,offset:a,q:o};return e.getAll("credit-memos",i)},create:({id:t="",data:n})=>e.create(`credit-memos/${t}`,t,n),get:({id:t})=>e.get(`credit-memos/${t}`),update:({id:t,data:n})=>e.put(`credit-memos/${t}`,n),patch:({id:t,data:n})=>e.patch(`credit-memos/${t}`,n),void:({id:t})=>e.post(`credit-memos/${t}/void`),getAllTimelineMessages({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,q:i=null}){const s={limit:n,offset:r,filter:a,sort:o,q:i};return e.getAll(`credit-memos/${t}/timeline`,s)},createTimelineComment:({id:t,data:n})=>e.post(`credit-memos/${t}/timeline`,n),getTimelineMessage:({id:t,messageId:n})=>e.get(`credit-memos/${t}/timeline/${n}`),deleteTimelineMessage:({id:t,messageId:n})=>e.delete(`credit-memos/${t}/timeline/${n}`)}}({apiHandler:e}),this.customDomains=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("custom-domains",i)},create:({data:t})=>e.post("custom-domains",t),get:({domain:t})=>e.get(`custom-domains/${t}`),delete:({domain:t})=>e.delete(`custom-domains/${t}`)}}({apiHandler:e}),this.customFields=function({apiHandler:e}){return{getAll({resource:t,limit:n=null,offset:r=null}){const a={limit:n,offset:r};return e.getAll(`custom-fields/${t}`,a)},get:({resource:t,name:n})=>e.get(`custom-fields/${t}/${n}`),create:({resource:t,name:n,data:r})=>e.put(`custom-fields/${t}/${n}`,r),update:({resource:t,name:n,data:r})=>e.put(`custom-fields/${t}/${n}`,r)}}({apiHandler:e}),this.customerAuthentication=function({apiHandler:e}){return{getAuthOptions:()=>e.get("authentication-options"),updateAuthOptions:({data:t})=>e.put("authentication-options",t),getAllAuthTokens({limit:t=null,offset:n=null}={}){const r={limit:t,offset:n};return e.getAll("authentication-tokens",r)},login:({data:t})=>e.post("authentication-tokens",t),verify:({token:t})=>e.get(`authentication-tokens/${t}`),logout:({token:t})=>e.delete(`authentication-tokens/${t}`),exchangeToken:({token:t,data:n})=>e.post(`authentication-tokens/${t}/exchange`,n),getAllCredentials({limit:t=null,offset:n=null}={}){const r={limit:t,offset:n};return e.getAll("credentials",r)},createCredential:({id:t="",data:n})=>e.create(`credentials/${t}`,t,n),getCredential:({id:t})=>e.get(`credentials/${t}`),updateCredential:({id:t,data:n})=>e.put(`credentials/${t}`,n),deleteCredential:({id:t})=>e.delete(`credentials/${t}`),getAllResetPasswordTokens({limit:t=null,offset:n=null}={}){const r={limit:t,offset:n};return e.getAll("password-tokens",r)},createResetPasswordToken:({data:t})=>e.post("password-tokens",t),getResetPasswordToken:({id:t})=>e.get(`password-tokens/${t}`),deleteResetPasswordToken:({id:t})=>e.delete(`password-tokens/${t}`)}}({apiHandler:e}),this.customers=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,q:a=null,expand:o=null,fields:i=null,sort:s=null}={}){const l={limit:t,offset:n,filter:r,q:a,expand:o,fields:i,sort:s};return e.getAll("customers",l)},create({id:t="",data:n,expand:r=null}){const a={expand:r};return e.create(`customers/${t}`,t,n,a)},get({id:t,expand:n=null,fields:r=null}){const a={expand:n,fields:r};return e.get(`customers/${t}`,a)},update({id:t,data:n,expand:r=null}){const a={expand:r};return e.put(`customers/${t}`,n,a)},merge:({id:t,targetCustomerId:n})=>e.delete(`customers/${t}?targetCustomerId=${n}`),getLeadSource:({id:t})=>e.get(`customers/${t}/lead-source`),createLeadSource:({id:t,data:n})=>e.put(`customers/${t}/lead-source`,n),updateLeadSource:({id:t,data:n})=>e.put(`customers/${t}/lead-source`,n),deleteLeadSource:({id:t})=>e.delete(`customers/${t}/lead-source`),getAllTimelineMessages({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,q:i=null}){const s={limit:n,offset:r,filter:a,sort:o,q:i};return e.getAll(`customers/${t}/timeline`,s)},createTimelineComment:({id:t,data:n})=>e.post(`customers/${t}/timeline`,n),getTimelineMessage:({id:t,messageId:n})=>e.get(`customers/${t}/timeline/${n}`),deleteTimelineMessage:({id:t,messageId:n})=>e.delete(`customers/${t}/timeline/${n}`),getCustomerEddScore:({id:t})=>e.get(`customers/${t}/edd-score`),patchCustomerEddScore:({id:t,data:n})=>e.patch(`customers/${t}/edd-score`,n),getEddTimelineCollection({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,q:i=null}){const s={limit:n,offset:r,filter:a,sort:o,q:i};return e.getAll(`customers/${t}/edd-timeline`,s)},createEddTimelineComment:({id:t,data:n})=>e.post(`customers/${t}/edd-timeline`,n),getEddTimelineMessage:({id:t,messageId:n})=>e.get(`customers/${t}/edd-timeline/${n}`),deleteEddTimelineMessage:({id:t,messageId:n})=>e.delete(`customers/${t}/edd-timeline/${n}`),getAllEddSearchResults({id:t,limit:n=null,offset:r=null}){const a={limit:n,offset:r};return e.getAll(`customers/${t}/edd-search-results`,a)},getEddSearchResult:({id:t,searchResultId:n})=>e.get(`customers/${t}/edd-search-results/${n}`)}}({apiHandler:e}),this.depositCustomPropertySets=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("deposit-custom-property-sets",o)},create:({id:t="",data:n})=>e.create(`deposit-custom-property-sets/${t}`,t,n),get:({id:t})=>e.get(`deposit-custom-property-sets/${t}`),update:({id:t,data:n})=>e.put(`deposit-custom-property-sets/${t}`,n),delete:({id:t})=>e.delete(`deposit-custom-property-sets/${t}`)}}({apiHandler:e}),this.depositRequests=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("deposit-requests",o)},create:({data:t})=>e.post("deposit-requests",t),get({id:t,expand:n=null}){const r={expand:n};return e.get(`deposit-requests/${t}`,r)}}}({apiHandler:e}),this.depositStrategies=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("deposit-strategies",o)},create:({id:t="",data:n})=>e.create(`deposit-strategies/${t}`,t,n),get:({id:t})=>e.get(`deposit-strategies/${t}`),update:({id:t,data:n})=>e.put(`deposit-strategies/${t}`,n),delete:({id:t})=>e.delete(`deposit-strategies/${t}`)}}({apiHandler:e}),this.digitalWallets=function({apiHandler:e}){return{validate:({data:t})=>e.post("digital-wallets/validation",t),create:({data:t})=>e.post("digital-wallets/onboarding/apple-pay",t)}}({apiHandler:e}),this.disputes=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null,expand:i=null}={}){const s={filter:t,sort:n,limit:r,offset:a,q:o,expand:i};return e.getAll("disputes",s)},create({id:t="",data:n,expand:r=null}){const a={expand:r};return e.create(`disputes/${t}`,t,n,a)},get:({id:t})=>e.get(`disputes/${t}`),update({id:t,data:n,expand:r=null}){const a={expand:r};return e.put(`disputes/${t}`,n,a)}}}({apiHandler:e}),this.emailDeliverySettings=function({apiHandler:e}){return{verify:({token:t})=>e.put(`email-delivery-setting-verifications/${t}`),getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null,q:o=null}={}){const i={limit:t,offset:n,filter:r,sort:a,q:o};return e.getAll("email-delivery-settings",i)},create:({data:t})=>e.post("email-delivery-settings",t),get:({id:t})=>e.get(`email-delivery-settings/${t}`),delete:({id:t})=>e.delete(`email-delivery-settings/${t}`),update:({id:t,data:n})=>e.patch(`email-delivery-settings/${t}`,n),resendVerification:({id:t})=>e.post(`email-delivery-settings/${t}/resend-email-verification`)}}({apiHandler:e}),this.emailMessages=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,q:r=null,sort:a=null,filter:o=null}={}){const i={limit:t,offset:n,q:r,sort:a,filter:o};return e.getAll("email-messages",i)},create:({data:t})=>e.post("email-messages",t),get:({id:t})=>e.get(`email-messages/${t}`),delete:({id:t})=>e.delete(`email-messages/${t}`),send:({id:t,data:n={status:"outbox"}})=>e.patch(`email-messages/${t}`,n)}}({apiHandler:e}),this.emailNotifications=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null}={}){const r={limit:t,offset:n};return e.getAll("email-notifications",r)}}}({apiHandler:e}),this.events=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,q:a=null}={}){const o={limit:t,offset:n,filter:r,q:a};return e.getAll("events",o)},get:({eventType:t})=>e.get(`events/${t}`),getRules:({eventType:t})=>e.get(`events/${t}/rules`),createRules:({eventType:t,data:n})=>e.put(`events/${t}/rules`,n),updateRules:({eventType:t,data:n})=>e.put(`events/${t}/rules`,n),getAllTimelineMessages({eventType:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,q:i=null}){const s={limit:n,offset:r,filter:a,sort:o,q:i};return e.getAll(`events/${t}/timeline`,s)},createTimelineComment:({eventType:t,data:n})=>e.post(`events/${t}/timeline`,n),getTimelineMessage:({eventType:t,messageId:n})=>e.get(`events/${t}/timeline/${n}`),deleteTimelineMessage:({eventType:t,messageId:n})=>e.delete(`events/${t}/timeline/${n}`),getRulesHistory({eventType:t,limit:n=null,offset:r=null,filter:a=null,q:o=null,sort:i=null,fields:s=null}){const l={limit:n,offset:r,filter:a,q:o,sort:i,fields:s};return e.getAll(`events/${t}/rules/history`,l)},getRulesVersionNumber({eventType:t,version:n,fields:r=null}){const a={fields:r};return e.get(`events/${t}/rules/history/${n}`,a)},getRulesVersionDetail({eventType:t,version:n,fields:r=null}){const a={fields:r};return e.get(`events/${t}/rules/versions/${n}`,a)},getAllDraftRulesets({eventType:t,limit:n=null,offset:r=null,filter:a=null,q:o=null,sort:i=null,fields:s=null}){const l={limit:n,offset:r,filter:a,q:o,sort:i,fields:s};return e.getAll(`events/${t}/rules/drafts`,l)},createDraftRuleset:({eventType:t,data:n})=>e.post(`events/${t}/rules/drafts`,n),getDraftRuleset({eventType:t,id:n,fields:r=null}){const a={fields:r};return e.get(`events/${t}/rules/drafts/${n}`,a)},updateDraftRuleset:({eventType:t,id:n,data:r})=>e.put(`events/${t}/rules/drafts/${n}`,r),deleteDraftRuleset:({eventType:t,id:n})=>e.delete(`events/${t}/rules/drafts/${n}`)}}({apiHandler:e}),this.externalIdentifiers=function({apiHandler:e}){return{get:({resource:t,resourceId:n,service:r})=>e.get(`${t}/${n}/external-identifiers/${r}`),sync:({resource:t,resourceId:n,service:r})=>e.post(`${t}/${n}/external-identifiers/${r}`),update:({resource:t,resourceId:n,service:r,data:a})=>e.put(`${t}/${n}/external-identifiers/${r}`,a),delete:({resource:t,resourceId:n,service:r})=>e.delete(`${t}/${n}/external-identifiers/${r}`)}}({apiHandler:e}),this.externalServicesSettings=function({apiHandler:e}){return{getExternalServiceSettings:()=>e.get("external-services-settings"),updateExternalServiceSettings:({data:t})=>e.put("external-services-settings",t)}}({apiHandler:e}),this.fees=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("fees",o)},create:({id:t="",data:n})=>e.create(`fees/${t}`,t,n),get:({id:t})=>e.get(`fees/${t}`),upsert:({id:t,data:n})=>e.put(`fees/${t}`,n),delete:({id:t})=>e.delete(`fees/${t}`),patch:({id:t,data:n})=>e.patch(`fees/${t}`,n)}}({apiHandler:e}),this.files=function({apiHandler:e}){return{getAllAttachments({limit:t=null,offset:n=null,filter:r=null,q:a=null,expand:o=null,fields:i=null,sort:s=null}={}){const l={limit:t,offset:n,filter:r,q:a,expand:o,fields:i,sort:s};return e.getAll("attachments",l)},attach({id:t="",data:n,expand:r=null}){const a={expand:r};return e.create(`attachments/${t}`,t,n,a)},getAttachment:({id:t})=>e.get(`attachments/${t}`),updateAttachment({id:t,data:n,expand:r=null}){const a={expand:r};return e.put(`attachments/${t}`,n,a)},detach:({id:t})=>e.delete(`attachments/${t}`),getAll({limit:t=null,offset:n=null,filter:r=null,q:a=null,fields:o=null,sort:i=null}={}){const s={limit:t,offset:n,filter:r,q:a,fields:o,sort:i};return e.getAll("files",s)},upload:({fileObject:t})=>e.post("files",t),get:({id:t})=>e.get(`files/${t}`),update:({id:t,data:n})=>e.put(`files/${t}`,n),delete:({id:t})=>e.delete(`files/${t}`),download:({id:t})=>e.download(`files/${t}/download`,{responseType:"arraybuffer"}),detachAndDelete({id:t}){const n={filter:`fileId:${t}`};let r=[];const a=(async()=>{const a=this.getAllAttachments(n);r.push(a);const o=(await a).items.map((e=>this.detach({id:e.fields.id})));r=[...r,o],await Promise.all(o);const i=e.delete(`files/${t}`);return r.push(i),i})();return a.cancel=()=>{r.forEach((e=>e.cancel()))},a},uploadAndUpdate({fileObject:e,data:t={description:"",tags:[""]}}){const n=[],r=(async()=>{const r=this.upload({fileObject:e});n.push(r),await r;const a={name:r.name,extension:r.extension,description:t.description,tags:t.tags,url:""},o=this.update({id:r.fields.id,data:a});return n.push(o),o})();return r.cancel=()=>{n.forEach((e=>e.cancel()))},r}}}({apiHandler:e}),this.gatewayAccounts=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null,fields:i=null}={}){const s={limit:t,offset:n,sort:r,filter:a,q:o,fields:i};return e.getAll("gateway-accounts",s)},create:({id:t="",data:n})=>e.create(`gateway-accounts/${t}`,t,n),get:({id:t})=>e.get(`gateway-accounts/${t}`),upsert:({id:t,data:n})=>e.put(`gateway-accounts/${t}`,n),delete:({id:t})=>e.delete(`gateway-accounts/${t}`),update:({id:t,data:n})=>e.patch(`gateway-accounts/${t}`,n),close:({id:t})=>e.post(`gateway-accounts/${t}/close`),disable:({id:t})=>e.post(`gateway-accounts/${t}/disable`),getAllDowntimeSchedules({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null}){const i={limit:n,offset:r,filter:a,sort:o};return e.getAll(`gateway-accounts/${t}/downtime-schedules`,i)},createDowntimeSchedule:({id:t,data:n})=>e.post(`gateway-accounts/${t}/downtime-schedules`,n),getDowntimeSchedule:({id:t,downtimeId:n})=>e.get(`gateway-accounts/${t}/downtime-schedules/${n}`),updateDowntimeSchedule:({id:t,downtimeId:n,data:r})=>e.put(`gateway-accounts/${t}/downtime-schedules/${n}`,r),deleteDowntimeSchedule:({id:t,downtimeId:n})=>e.delete(`gateway-accounts/${t}/downtime-schedules/${n}`),enable:({id:t})=>e.post(`gateway-accounts/${t}/enable`),getAllVolumeLimits:({id:t})=>e.getAll(`gateway-accounts/${t}/limits`),getVolumeLimit:({id:t,limitId:n})=>e.get(`gateway-accounts/${t}/limits/${n}`),updateVolumeLimit:({id:t,limitId:n,data:r})=>e.put(`gateway-accounts/${t}/limits/${n}`,r),deleteVolumeLimit:({id:t,limitId:n})=>e.delete(`gateway-accounts/${t}/limits/${n}`),getAllTimelineMessages({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,q:i=null}){const s={limit:n,offset:r,filter:a,sort:o,q:i};return e.getAll(`gateway-accounts/${t}/timeline`,s)},createTimelineComment:({id:t,data:n})=>e.post(`gateway-accounts/${t}/timeline`,n),getTimelineMessage:({id:t,messageId:n})=>e.get(`gateway-accounts/${t}/timeline/${n}`),deleteTimelineMessage:({id:t,messageId:n})=>e.delete(`gateway-accounts/${t}/timeline/${n}`),checkCredentials:({id:t})=>e.post(`gateway-accounts/${t}/check-credentials`),getFinancialSettings:({id:t})=>e.get(`gateway-accounts/${t}/financial-settings`),setFinancialSettings:({id:t,data:n})=>e.put(`gateway-accounts/${t}/financial-settings`,n)}}({apiHandler:e}),this.integrations=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null}={}){const r={limit:t,offset:n};return e.getAll("integrations",r)},get:({label:t})=>e.get(`integrations/${t}`)}}({apiHandler:e}),this.invoices=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null,expand:i=null}={}){const s={filter:t,sort:n,limit:r,offset:a,q:o,expand:i};return e.getAll("invoices",s)},create:({id:t="",data:n})=>e.create(`invoices/${t}`,t,n),get({id:t,expand:n=null}){const r={expand:n};return e.get(`invoices/${t}`,r)},update:({id:t,data:n})=>e.put(`invoices/${t}`,n),getAllInvoiceItems({id:t,limit:n=null,offset:r=null,expand:a=null}){const o={limit:n,offset:r,expand:a};return e.getAll(`invoices/${t}/items`,o)},createInvoiceItem:({id:t,data:n})=>e.post(`invoices/${t}/items`,n),getInvoiceItem:({id:t,itemId:n})=>e.get(`invoices/${t}/items/${n}`),updateInvoiceItem:({id:t,itemId:n,data:r})=>e.put(`invoices/${t}/items/${n}`,r),deleteInvoiceItem:({id:t,itemId:n})=>e.delete(`invoices/${t}/items/${n}`),issue:({id:t,data:n})=>e.post(`invoices/${t}/issue`,n),abandon:({id:t})=>e.post(`invoices/${t}/abandon`),void:({id:t})=>e.post(`invoices/${t}/void`),recalculate:({id:t})=>e.post(`invoices/${t}/recalculate`),reissue:({id:t,data:n})=>e.post(`invoices/${t}/reissue`,n),getAllTransactionAllocations({id:t,limit:n=null,offset:r=null}){const a={limit:n,offset:r};return e.getAll(`invoices/${t}/transaction-allocations`,a)},applyTransaction:({id:t,data:n})=>e.post(`invoices/${t}/transaction`,n),getAllTimelineMessages({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,q:i=null}){const s={limit:n,offset:r,filter:a,sort:o,q:i};return e.getAll(`invoices/${t}/timeline`,s)},createTimelineComment:({id:t,data:n})=>e.post(`invoices/${t}/timeline`,n),getTimelineMessage:({id:t,messageId:n})=>e.get(`invoices/${t}/timeline/${n}`),deleteTimelineMessage:({id:t,messageId:n})=>e.delete(`invoices/${t}/timeline/${n}`),downloadPDF({id:t}){const n={headers:go,responseType:"arraybuffer"};return e.download(`invoices/${t}`,n)}}}({apiHandler:e}),this.journalAccounts=function({apiHandler:e}){return{getAllAccounts({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("journal-accounts",o)},createAccount:({id:t="",data:n})=>e.create(`journal-accounts/${t}`,t,n),getAccount:({id:t})=>e.get(`journal-accounts/${t}`),updateAccount:({id:t,data:n})=>e.put(`journal-accounts/${t}`,n)}}({apiHandler:e}),this.journalEntries=function({apiHandler:e}){return{getAllEntries({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("journal-entries",o)},createEntry:({id:t="",data:n})=>e.create(`journal-entries/${t}`,t,n),getEntry:({id:t})=>e.get(`journal-entries/${t}`),updateEntry:({id:t,data:n})=>e.put(`journal-entries/${t}`,n),getAllRecords({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,expand:i=null}){const s={limit:n,offset:r,filter:a,sort:o,expand:i};return e.getAll(`journal-entries/${t}/records`,s)},createRecord:({id:t,data:n})=>e.post(`journal-entries/${t}/records`,n),getRecord:({id:t,journalRecordId:n})=>e.get(`journal-entries/${t}/records/${n}`),updateRecord:({id:t,journalRecordId:n,data:r})=>e.put(`journal-entries/${t}/records/${n}`,r),deleteRecord:({id:t,journalRecordId:n})=>e.delete(`journal-entries/${t}/records/${n}`)}}({apiHandler:e}),this.kycDocuments=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null,expand:o=null}={}){const i={limit:t,offset:n,filter:r,sort:a,expand:o};return e.getAll("kyc-documents",i)},create:({id:t="",data:n})=>e.create(`kyc-documents/${t}`,t,n),get:({id:t})=>e.get(`kyc-documents/${t}`),update:({id:t,data:n})=>e.put(`kyc-documents/${t}`,n),accept:({id:t})=>e.post(`kyc-documents/${t}/acceptance`),matches:({id:t,data:n})=>e.post(`kyc-documents/${t}/matches`,n),reject:({id:t,data:n})=>e.post(`kyc-documents/${t}/rejection`,n),review:({id:t})=>e.post(`kyc-documents/${t}/review`),startReview:({id:t})=>e.post(`kyc-documents/${t}/start-review`),stopReview:({id:t})=>e.post(`kyc-documents/${t}/stop-review`)}}({apiHandler:e}),this.kycRequests=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("kyc-requests",o)},create:({data:t})=>e.post("kyc-requests",t),get:({id:t})=>e.get(`kyc-requests/${t}`),delete:({id:t})=>e.delete(`kyc-requests/${t}`),update:({id:t,data:n})=>e.patch(`kyc-requests/${t}`,n)}}({apiHandler:e}),this.kycSettings=function({apiHandler:e}){return{getKycSettings:()=>e.get("kyc-settings"),updateKycSettings:({data:t})=>e.put("kyc-settings",t)}}({apiHandler:e}),this.lists=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null,fields:o=null,q:i=null}={}){const s={limit:t,offset:n,filter:r,sort:a,fields:o,q:i};return e.getAll("lists",s)},create:({id:t="",data:n})=>e.create(`lists/${t}`,t,n),getLatestVersion:({id:t})=>e.get(`lists/${t}`),update:({id:t,data:n})=>e.put(`lists/${t}`,n),delete:({id:t})=>e.delete(`lists/${t}`),getByVersion:({id:t,version:n})=>e.get(`lists/${t}/${n}`)}}({apiHandler:e}),this.memberships=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("memberships",o)},get:({organizationId:t,userId:n})=>e.get(`memberships/${t}/${n}`),update:({organizationId:t,userId:n,data:r})=>e.put(`memberships/${t}/${n}`,r),delete:({organizationId:t,userId:n})=>e.delete(`memberships/${t}/${n}`)}}({apiHandler:e}),this.organizationExports=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,q:a=null,sort:o=null}={}){const i={limit:t,offset:n,filter:r,q:a,sort:o};return e.getAll("organization-exports",i)},create:({data:t})=>e.post("organization-exports",t),get:({id:t})=>e.get(`organization-exports/${t}`)}}({apiHandler:e}),this.organizations=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null,q:o=null}={}){const i={limit:t,offset:n,filter:r,sort:a,q:o};return e.getAll("organizations",i)},create:({data:t})=>e.post("organizations",t),get:({id:t})=>e.get(`organizations/${t}`),update:({id:t,data:n})=>e.patch(`organizations/${t}`,n)}}({apiHandler:e}),this.paymentCardsBankNames=function({apiHandler:e}){return{getAll({limit:t=null,q:n=null}={}){const r={limit:t,q:n};return e.getAll("payment-cards-bank-names",r)}}}({apiHandler:e}),this.paymentInstruments=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null,expand:i=null}={}){const s={filter:t,sort:n,limit:r,offset:a,q:o,expand:i};return e.getAll("payment-instruments",s)},create:({data:t})=>e.post("payment-instruments",t),get:({id:t})=>e.get(`payment-instruments/${t}`),update:({id:t,data:n})=>e.patch(`payment-instruments/${t}`,n),deactivate:({id:t})=>e.post(`payment-instruments/${t}/deactivation`)}}({apiHandler:e}),this.paymentMethods=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null}={}){const r={limit:t,offset:n};return e.getAll("payment-methods",r)},get:({apiName:t})=>e.get(`payment-methods/${t}`)}}({apiHandler:e}),this.paymentTokens=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null}={}){const r={limit:t,offset:n};return e.getAll("tokens",r)},create:({data:t})=>e.post("tokens",t),get:({token:t})=>e.get(`tokens/${t}`)}}({apiHandler:e}),this.payoutRequests=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("payout-requests",o)},create:({id:t="",data:n})=>e.create(`payout-requests/${t}`,t,n),get:({id:t})=>e.get(`payout-requests/${t}`),update:({id:t,data:n})=>e.put(`payout-requests/${t}`,n),cancel:({id:t,data:n})=>e.post(`payout-requests/${t}/cancel`,n),getPaymentInstruments:({id:t})=>e.get(`payout-requests/${t}/payment-instruments`)}}({apiHandler:e}),this.payouts=function({apiHandler:e}){return{create:({data:t})=>e.post("payouts",t)}}({apiHandler:e}),this.plans=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null}={}){const i={filter:t,sort:n,limit:r,offset:a,q:o};return e.getAll("plans",i)},create:({id:t="",data:n})=>e.create(`plans/${t}`,t,n),get:({id:t})=>e.get(`plans/${t}`),update:({id:t,data:n})=>e.put(`plans/${t}`,n),delete:({id:t})=>e.delete(`plans/${t}`)}}({apiHandler:e}),this.previews=function({apiHandler:e}){return{order:({data:t})=>e.post("previews/orders",t),sendEmailRuleAction:({data:t})=>e.post("previews/rule-actions/send-email",t),webhook:({data:t})=>e.post("previews/webhooks",t)}}({apiHandler:e}),this.products=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null}={}){const i={filter:t,sort:n,limit:r,offset:a,q:o};return e.getAll("products",i)},create:({id:t="",data:n})=>e.create(`products/${t}`,t,n),get:({id:t})=>e.get(`products/${t}`),update:({id:t,data:n})=>e.put(`products/${t}`,n),delete:({id:t})=>e.delete(`products/${t}`)}}({apiHandler:e}),this.profile=function({apiHandler:e}){return{startPermissionsEmulation:({data:t})=>e.post("permissions-emulation",t),stopPermissionsEmulation:()=>e.delete("permissions-emulation"),get:()=>e.get("profile"),update:({data:t})=>e.put("profile",t),getMfa:()=>e.get("profile/mfa"),updateMfa:()=>e.post("profile/mfa"),deleteMfa:()=>e.delete("profile/mfa")}}({apiHandler:e}),this.purchase=function({apiHandler:e}){return{readyToPay:({data:t})=>e.post("ready-to-pay",t)}}({apiHandler:e}),this.quotes=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,expand:o=null}={}){const i={filter:t,sort:n,limit:r,offset:a,expand:o};return e.getAll("quotes",i)},create:({id:t="",data:n})=>e.create(`quotes/${t}`,t,n),get({id:t,expand:n=null}){const r={expand:n};return e.get(`quotes/${t}`,r)},update:({id:t,data:n})=>e.put(`quotes/${t}`,n),patch:({id:t,data:n})=>e.patch(`quotes/${t}`,n),accept:({id:t})=>e.post(`quotes/${t}/accept`),cancel:({id:t})=>e.post(`quotes/${t}/cancel`),issue:({id:t})=>e.post(`quotes/${t}/issue`),recall:({id:t})=>e.post(`quotes/${t}/recall`),reject:({id:t})=>e.post(`quotes/${t}/reject`),getAllTimelineMessages({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,q:i=null}){const s={limit:n,offset:r,filter:a,sort:o,q:i};return e.getAll(`quotes/${t}/timeline`,s)},createTimelineComment:({id:t,data:n})=>e.post(`quotes/${t}/timeline`,n),getTimelineMessage:({id:t,messageId:n})=>e.get(`quotes/${t}/timeline/${n}`),deleteTimelineMessage:({id:t,messageId:n})=>e.delete(`quotes/${t}/timeline/${n}`),downloadPDF({id:t}){const n={headers:go,responseType:"arraybuffer"};return e.download(`quotes/${t}`,n)}}}({apiHandler:e}),this.resource=function({apiHandler:e}){return{get:({resource:t,resourceId:n,service:r})=>e.get(`${t}/${n}/external-identifiers/${r}`),sync:({resource:t,resourceId:n,service:r})=>e.post(`${t}/${n}/external-identifiers/${r}`),update:({resource:t,resourceId:n,service:r,data:a})=>e.put(`${t}/${n}/external-identifiers/${r}`,a),delete:({resource:t,resourceId:n,service:r})=>e.delete(`${t}/${n}/external-identifiers/${r}`)}}({apiHandler:e}),this.riskScoreRules=function({apiHandler:e}){return{getAll:()=>e.get("risk-score-rules"),updateRiskScoreRules:({data:t})=>e.put("risk-score-rules",t),getAllBlocklistRules:()=>e.get("risk-score-rules/blocklists"),updateRiskScoreBlocklistRules:({data:t})=>e.put("risk-score-rules/blocklists",t)}}({apiHandler:e}),this.roles=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null,q:o=null,expand:i=null}={}){const s={limit:t,offset:n,filter:r,sort:a,q:o,expand:i};return e.getAll("roles",s)},create:({id:t="",data:n})=>e.create(`roles/${t}`,t,n),get({id:t,expand:n=null}){const r={expand:n};return e.get(`roles/${t}`,r)},update:({id:t,data:n})=>e.put(`roles/${t}`,n),delete:({id:t})=>e.delete(`roles/${t}`)}}({apiHandler:e}),this.search=function({apiHandler:e}){return{get({sort:t=null,limit:n=null,offset:r=null,q:a=null}){const o={sort:t,limit:n,offset:r,q:a};return e.get("search",o)}}}({apiHandler:e}),this.segments=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("grid-segments",i)},create:({id:t="",data:n})=>e.create(`grid-segments/${t}`,t,n),get:({id:t})=>e.get(`grid-segments/${t}`),update:({id:t,data:n})=>e.put(`grid-segments/${t}`,n),delete:({id:t})=>e.delete(`grid-segments/${t}`)}}({apiHandler:e}),this.sendThroughAttribution=function({apiHandler:e}){return{getAll:({eventType:t})=>e.getAll(`send-through-attribution/${t}`)}}({apiHandler:e}),this.serviceCredentials=function({apiHandler:e}){return{getAll({type:t,filter:n=null,limit:r=null,offset:a=null,sort:o=null,q:i=null}){const s={filter:n,limit:r,offset:a,sort:o,q:i};return e.getAll(`service-credentials/${t}`,s)},create:({type:t,data:n})=>e.post(`service-credentials/${t}`,n),get:({type:t,id:n})=>e.get(`service-credentials/${t}/${n}`),update:({type:t,id:n,data:r})=>e.patch(`service-credentials/${t}/${n}`,r),getItems({type:t,id:n,limit:r=null,offset:a=null,filter:o=null,q:i=null,fields:s=null,sort:l=null}){const c={limit:r,offset:a,filter:o,q:i,fields:s,sort:l};return e.getAll(`service-credentials/${t}/${n}/items`,c)}}}({apiHandler:e}),this.shippingRates=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null,q:o=null}={}){const i={limit:t,offset:n,filter:r,sort:a,q:o};return e.getAll("shipping-rates",i)},create:({id:t="",data:n})=>e.create(`shipping-rates/${t}`,t,n),get:({id:t})=>e.get(`shipping-rates/${t}`),update:({id:t,data:n})=>e.put(`shipping-rates/${t}`,n),delete:({id:t})=>e.delete(`shipping-rates/${t}`)}}({apiHandler:e}),this.status=function({apiHandler:e}){return{get:()=>e.get("status")}}({apiHandler:e}),this.subscriptionCancellations=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("subscription-cancellations",o)},create:({id:t="",data:n})=>e.create(`subscription-cancellations/${t}`,t,n),get:({id:t})=>e.get(`subscription-cancellations/${t}`),delete:({id:t})=>e.delete(`subscription-cancellations/${t}`),patch:({id:t,data:n})=>e.patch(`subscription-cancellations/${t}`,n)}}({apiHandler:e}),this.subscriptionPauses=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("subscription-pauses",o)},pause:({id:t="",data:n})=>e.create(`subscription-pauses/${t}`,t,n),get:({id:t})=>e.get(`subscription-pauses/${t}`),update:({id:t,data:n})=>e.put(`subscription-pauses/${t}`,n),delete:({id:t})=>e.delete(`subscription-pauses/${t}`)}}({apiHandler:e}),this.subscriptionReactivations=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,sort:a=null}={}){const o={limit:t,offset:n,filter:r,sort:a};return e.getAll("subscription-reactivations",o)},reactivate:({data:t})=>e.post("subscription-reactivations",t),get:({id:t})=>e.get(`subscription-reactivations/${t}`)}}({apiHandler:e}),this.subscriptions=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null,expand:i=null}={}){const s={filter:t,sort:n,limit:r,offset:a,q:o,expand:i};return e.getAll("subscriptions",s)},create({id:t="",data:n,expand:r=null}){const a={expand:r};return e.create(`subscriptions/${t}`,t,n,a)},get({id:t,expand:n=null}){const r={expand:n};return e.get(`subscriptions/${t}`,r)},update({id:t,data:n,expand:r=null}){const a={expand:r};return e.put(`subscriptions/${t}`,n,a)},delete:({id:t})=>e.delete(`subscriptions/${t}`),void:({id:t})=>e.post(`subscriptions/${t}/void`),changeItems({id:t,data:n,expand:r=null}){const a={expand:r};return e.post(`subscriptions/${t}/change-items`,n,a)},updateItem:({id:t,itemId:n,data:r})=>e.patch(`subscriptions/${t}/items/${n}`,r),createInterimInvoice:({id:t,data:n})=>e.post(`subscriptions/${t}/interim-invoice`,n),getAllUpcomingInvoices({id:t,expand:n=null}){const r={expand:n};return e.getAll(`subscriptions/${t}/upcoming-invoices`,r)},getUpcomingInvoice({id:t,expand:n=null}){const r={expand:n};return e.get(`subscriptions/${t}/upcoming-invoice`,r)},issueEarlyUpcomingInvoice:({id:t,data:n})=>e.post(`subscriptions/${t}/upcoming-invoice/issue`,n),issueUpcomingInvoice:({id:t,invoiceId:n,data:r})=>e.post(`subscriptions/${t}/upcoming-invoices/${n}/issue`,r),getAllTimelineMessages({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,q:i=null}){const s={limit:n,offset:r,filter:a,sort:o,q:i};return e.getAll(`subscriptions/${t}/timeline`,s)},createTimelineComment:({id:t,data:n})=>e.post(`subscriptions/${t}/timeline`,n),getTimelineMessage:({id:t,messageId:n})=>e.get(`subscriptions/${t}/timeline/${n}`),deleteTimelineMessage:({id:t,messageId:n})=>e.delete(`subscriptions/${t}/timeline/${n}`)}}({apiHandler:e}),this.tags=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,q:a=null,sort:o=null}={}){const i={limit:t,offset:n,filter:r,q:a,sort:o};return e.getAll("tags",i)},create:({data:t})=>e.post("tags",t),get:({tag:t})=>e.get(`tags/${t}`),delete:({tag:t})=>e.delete(`tags/${t}`),update:({tag:t,data:n})=>e.patch(`tags/${t}`,n),tagCustomers:({tag:t,data:n})=>e.post(`tags/${t}/customers`,n),untagCustomers:({tag:t,data:n})=>e.delete(`tags/${t}/customers`,n),tagCustomer:({tag:t,customerId:n})=>e.post(`tags/${t}/customers/${n}`),untagCustomer:({tag:t,customerId:n})=>e.delete(`tags/${t}/customers/${n}`),tagKycDocuments:({tag:t,data:n})=>e.post(`tags/${t}/kyc-documents`,n),untagKycDocuments:({tag:t,data:n})=>e.delete(`tags/${t}/kyc-documents`,n),tagKycDocument:({tag:t,kycDocumentId:n})=>e.post(`tags/${t}/kyc-documents/${n}`),untagKycDocument:({tag:t,kycDocumentId:n})=>e.delete(`tags/${t}/kyc-documents/${n}`),tagAmlChecks:({tag:t,data:n})=>e.post(`tags/${t}/aml-checks`,n),untagAmlChecks:({tag:t,data:n})=>e.delete(`tags/${t}/aml-checks`,n),tagAmlCheck:({tag:t,amlCheckId:n})=>e.post(`tags/${t}/aml-checks/${n}`),untagAmlCheck:({tag:t,amlCheckId:n})=>e.delete(`tags/${t}/aml-checks/${n}`)}}({apiHandler:e}),this.tagsRules=function({apiHandler:e}){return{getAllTagsRules({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("tags-rules",i)},createTagsRule:({id:t="",data:n})=>e.create(`tags-rules/${t}`,t,n),getTagsRule:({id:t})=>e.get(`tags-rules/${t}`),updateTagsRule:({id:t,data:n})=>e.put(`tags-rules/${t}`,n),deleteTagsRule:({id:t})=>e.delete(`tags-rules/${t}`)}}({apiHandler:e}),this.tracking=function({apiHandler:e}){return{getAllApiLogs({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null,expand:i=null}={}){const s={limit:t,offset:n,sort:r,filter:a,q:o,expand:i};return e.getAll("tracking/api",s)},getApiLog:({id:t})=>e.get(`tracking/api/${t}`),getAllTaxTrackingLogs({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("tracking/taxes",i)},getTaxTrackingLog:({id:t})=>e.get(`tracking/taxes/${t}`),getAllListsChangesHistory({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("tracking/lists",i)},getAllWebhookTrackingLogs({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("tracking/webhooks",i)},getWebhookTrackingLog:({id:t})=>e.get(`tracking/webhooks/${t}`),resendWebhook:({id:t})=>e.post(`tracking/webhooks/${t}/resend`)}}({apiHandler:e}),this.transactions=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,q:a=null,sort:o=null,expand:i=null}={}){const s={limit:t,offset:n,filter:r,q:a,sort:o,expand:i};return e.getAll("transactions",s)},create({data:t,expand:n=null}){const r={expand:n};return e.post("transactions",t,r)},get({id:t,expand:n=null}){const r={expand:n};return e.get(`transactions/${t}`,r)},patch:({id:t,data:n})=>e.patch(`transactions/${t}`,n),query:({id:t})=>e.post(`transactions/${t}/query`),update:({id:t,data:n})=>e.post(`transactions/${t}/update`,n),refund:({id:t,data:n})=>e.post(`transactions/${t}/refund`,n),getAllTimelineMessages({id:t,limit:n=null,offset:r=null,filter:a=null,sort:o=null,q:i=null}){const s={limit:n,offset:r,filter:a,sort:o,q:i};return e.getAll(`transactions/${t}/timeline`,s)},createTimelineComment:({id:t,data:n})=>e.post(`transactions/${t}/timeline`,n),getTimelineMessage:({id:t,messageId:n})=>e.get(`transactions/${t}/timeline/${n}`),deleteTimelineMessage:({id:t,messageId:n})=>e.delete(`transactions/${t}/timeline/${n}`)}}({apiHandler:e}),this.usages=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null}={}){const i={filter:t,sort:n,limit:r,offset:a,q:o};return e.getAll("usages",i)},create:({id:t="",data:n})=>e.create(`usages/${t}`,t,n),get:({id:t})=>e.get(`usages/${t}`),update:({id:t,data:n})=>e.put(`usages/${t}`,n),delete:({id:t})=>e.delete(`usages/${t}`)}}({apiHandler:e}),this.users=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,filter:a=null,q:o=null}={}){const i={limit:t,offset:n,sort:r,filter:a,q:o};return e.getAll("users",i)},create:({id:t="",data:n})=>e.create(`users/${t}`,t,n),get:({id:t})=>e.get(`users/${t}`),update:({id:t,data:n})=>e.put(`users/${t}`,n),getMfa:({id:t})=>e.get(`users/${t}/mfa`)}}({apiHandler:e}),this.webhooks=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null}={}){const a={limit:t,offset:n,filter:r};return e.getAll("webhooks",a)},create:({id:t="",data:n})=>e.create(`webhooks/${t}`,t,n),get:({id:t})=>e.get(`webhooks/${t}`),update:({id:t,data:n})=>e.put(`webhooks/${t}`,n)}}({apiHandler:e}),this.websites=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,q:r=null,filter:a=null,sort:o=null}={}){const i={limit:t,offset:n,q:r,filter:a,sort:o};return e.getAll("websites",i)},create:({id:t="",data:n})=>e.create(`websites/${t}`,t,n),get:({id:t})=>e.get(`websites/${t}`),update:({id:t,data:n})=>e.put(`websites/${t}`,n),delete:({id:t})=>e.delete(`websites/${t}`)}}({apiHandler:e}),this.addRequestInterceptor=e.addRequestInterceptor,this.removeRequestInterceptor=e.removeRequestInterceptor,this.addResponseInterceptor=e.addResponseInterceptor,this.removeResponseInterceptor=e.removeResponseInterceptor,this.setTimeout=e.setTimeout,this.setProxyAgent=e.setProxyAgent,this.setSessionToken=e.setSessionToken,this.setPublishableKey=e.setPublishableKey,this.setEndpoints=e.setEndpoints,this.getCancellationToken=e.getCancellationToken,this.generateSignature=e.generateSignature}}const vo={CustomersResource:function({apiHandler:e}){return{getCustomerLifetimeSummaryMetrics:({customerId:t})=>e.get(`customers/${t}/summary-metrics`)}},DataExportsResource:function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,sort:r=null,expand:a=null,filter:o=null,q:i=null,criteria:s=null}={}){const l={limit:t,offset:n,sort:r,expand:a,filter:o,q:i,criteria:s};return e.getAll("data-exports",l)},queue({id:t="",data:n,expand:r=null}){const a={expand:r};return e.create(`data-exports/${t}`,t,n,a)},get({id:t,expand:n=null}){const r={expand:n};return e.get(`data-exports/${t}`,r)},update({id:t,data:n,expand:r=null}){const a={expand:r};return e.put(`data-exports/${t}`,n,a)},delete:({id:t})=>e.delete(`data-exports/${t}`)}},HistogramsResource:function({apiHandler:e}){return{getTransactionHistogramReport({periodStart:t,periodEnd:n,aggregationPeriod:r,metric:a,filter:o=null}){const i={periodStart:t,periodEnd:n,aggregationPeriod:r,metric:a,filter:o};return e.get("histograms/transactions",i)}}},ReportsResource:function({apiHandler:e}){return{getApiLogSummary({periodStart:t,periodEnd:n,limit:r=null,offset:a=null}){const o={periodStart:t,periodEnd:n,limit:r,offset:a};return e.get("reports/api-log-summary",o)},getCumulativeSubscriptions({aggregationField:t,periodStart:n,periodEnd:r,limit:a=null,offset:o=null,filter:i=null}){const s={aggregationField:t,periodStart:n,periodEnd:r,limit:a,offset:o,filter:i};return e.get("reports/cumulative-subscriptions",s)},getDashboardMetrics({periodStart:t,periodEnd:n,metrics:r=null,segments:a=null}){const o={periodStart:t,periodEnd:n,metrics:r,segments:a};return e.get("reports/dashboard",o)},getDccMarkup({aggregationField:t,periodStart:n,periodEnd:r,limit:a=null,offset:o=null,filter:i=null}){const s={aggregationField:t,periodStart:n,periodEnd:r,limit:a,offset:o,filter:i};return e.get("reports/dcc-markup",s)},getDeclinedTransactions({aggregationField:t,periodStart:n,periodEnd:r,limit:a=null,offset:o=null,filter:i=null}){const s={aggregationField:t,periodStart:n,periodEnd:r,limit:a,offset:o,filter:i};return e.get("reports/declined-transactions",s)},getDisputes({aggregationField:t,periodMonth:n,limit:r=null,offset:a=null,filter:o=null}){const i={aggregationField:t,periodMonth:n,limit:r,offset:a,filter:o};return e.get("reports/disputes",i)},getEventsTriggeredSummary({periodStart:t,periodEnd:n,limit:r=null,offset:a=null}){const o={periodStart:t,periodEnd:n,limit:r,offset:a};return e.get("reports/events-triggered",o)},getTriggeredEventRuleReport({eventType:t,periodStart:n,periodEnd:r,limit:a=null,offset:o=null}){const i={periodStart:n,periodEnd:r,limit:a,offset:o};return e.get(`reports/events-triggered/${t}/rules`,i)},getFutureRenewals({periodStart:t,periodEnd:n,limit:r=null,offset:a=null}){const o={periodStart:t,periodEnd:n,limit:r,offset:a};return e.get("reports/future-renewals",o)},getJournal({currency:t,bookedFrom:n=null,bookedTo:r=null,recognizedAt:a,aggregationField:o,limit:i=null,offset:s=null,filter:l=null}){const c={currency:t,bookedFrom:n,bookedTo:r,recognizedAt:a,aggregationField:o,limit:i,offset:s,filter:l};return e.get("reports/journal",c)},getKycAcceptanceSummary({periodStart:t,periodEnd:n}){const r={periodStart:t,periodEnd:n};return e.get("reports/kyc-acceptance-summary",r)},getKycRejectionSummary({periodStart:t,periodEnd:n}){const r={periodStart:t,periodEnd:n};return e.get("reports/kyc-rejection-summary",r)},getKycRequestSummary({periodStart:t,periodEnd:n}){const r={periodStart:t,periodEnd:n};return e.get("reports/kyc-request-summary",r)},getMonthlyRecurringRevenue({currency:t,periodStart:n,periodEnd:r,limit:a=null,offset:o=null}){const i={currency:t,periodStart:n,periodEnd:r,limit:a,offset:o};return e.get("reports/monthly-recurring-revenue",i)},getRenewalSales({periodStart:t,periodEnd:n,limit:r=null,offset:a=null}){const o={periodStart:t,periodEnd:n,limit:r,offset:a};return e.get("reports/renewal-sales",o)},getRetentionPercentage({aggregationField:t,aggregationPeriod:n,includeSwitchedSubscriptions:r=null,periodStart:a,periodEnd:o,limit:i=null,offset:s=null,filter:l=null,criteria:c=null}){const u={aggregationField:t,aggregationPeriod:n,includeSwitchedSubscriptions:r,periodStart:a,periodEnd:o,limit:i,offset:s,filter:l,criteria:c};return e.get("reports/retention-percentage",u)},getRetentionValue({aggregationField:t,aggregationPeriod:n,includeRefunds:r=null,includeDisputes:a=null,periodStart:o,periodEnd:i,limit:s=null,offset:l=null,filter:c=null,sort:u=null,criteria:d=null}){const p={aggregationField:t,aggregationPeriod:n,includeRefunds:r,includeDisputes:a,periodStart:o,periodEnd:i,limit:s,offset:l,filter:c,sort:u,criteria:d};return e.get("reports/retention-value",p)},getRevenueWaterfall({currency:t,issuedFrom:n,issuedTo:r,recognizedTo:a}){const o={currency:t,issuedFrom:n,issuedTo:r,recognizedTo:a};return e.get("reports/revenue-waterfall",o)},getRevenueAudit({filter:t=null,sort:n=null,limit:r=null,offset:a=null}){const o={filter:t,sort:n,limit:r,offset:a};return e.get("reports/revenue-audit",o)},getSubscriptionCancellation({periodStart:t,periodEnd:n,aggregationField:r,limit:a=null,offset:o=null,filter:i=null}){const s={periodStart:t,periodEnd:n,aggregationField:r,limit:a,offset:o,filter:i};return e.get("reports/subscription-cancellation",s)},getSubscriptionRenewal({periodStart:t,periodEnd:n,limit:r=null,offset:a=null}){const o={periodStart:t,periodEnd:n,limit:r,offset:a};return e.get("reports/subscription-renewal",o)},getTax({periodStart:t,periodEnd:n,accountingMethod:r,limit:a=null,offset:o=null}){const i={periodStart:t,periodEnd:n,accountingMethod:r,limit:a,offset:o};return e.get("reports/tax",i)},getTimeSeriesTransaction({type:t,subaggregate:n,periodStart:r,periodEnd:a,limit:o=null,offset:i=null}){const s={type:t,subaggregate:n,periodStart:r,periodEnd:a,limit:o,offset:i};return e.get("reports/time-series-transaction",s)},getTransactionsTimeDispute({aggregationField:t,periodStart:n,periodEnd:r,limit:a=null,offset:o=null,filter:i=null}){const s={aggregationField:t,periodStart:n,periodEnd:r,limit:a,offset:o,filter:i};return e.get("reports/transactions-time-dispute",s)},getTransactions({periodStart:t,periodEnd:n,aggregationField:r,limit:a=null,offset:o=null,filter:i=null}){const s={periodStart:t,periodEnd:n,aggregationField:r,limit:a,offset:o,filter:i};return e.get("reports/transactions",s)}}},SubscriptionsResource:function({apiHandler:e}){return{getSubscriptionSummaryMetrics:({subscriptionId:t})=>e.get(`subscriptions/${t}/summary-metrics`)}},TimelinesResource:function({apiHandler:e}){return{getActivityFeed({eventTypes:t=null,limit:n=1e3,offset:r=0}){const a={eventTypes:t,limit:n,offset:r};return e.getAll("activity-feed",a)},getTransaction({id:t="",eventTypes:n=null,limit:r=1e3,offset:a=0}){const o={eventTypes:n,limit:r,offset:a};return e.getAll(`transactions/${t}/timeline`,o)},getCustomer({id:t="",eventTypes:n=null,limit:r=1e3,offset:a=0}){const o={eventTypes:n,limit:r,offset:a};return e.getAll(`customers/${t}/timeline`,o)}}},LocationResource:function({apiHandler:e}){return{query:()=>e.get("location")}}};class wo{constructor({apiHandler:e}){this.customers=vo.CustomersResource({apiHandler:e}),this.dataExports=vo.DataExportsResource({apiHandler:e}),this.histograms=vo.HistogramsResource({apiHandler:e}),this.reports=vo.ReportsResource({apiHandler:e}),this.subscriptions=vo.SubscriptionsResource({apiHandler:e}),this.timelines=vo.TimelinesResource({apiHandler:e}),this.location=vo.LocationResource({apiHandler:e}),this.addRequestInterceptor=e.addRequestInterceptor,this.removeRequestInterceptor=e.removeRequestInterceptor,this.addResponseInterceptor=e.addResponseInterceptor,this.removeResponseInterceptor=e.removeResponseInterceptor,this.setTimeout=e.setTimeout,this.setProxyAgent=e.setProxyAgent,this.setSessionToken=e.setSessionToken,this.setEndpoints=e.setEndpoints,this.getCancellationToken=e.getCancellationToken}}class ko{constructor({apiHandler:e}){this.account=function({apiHandler:e}){return{get({expand:t=null}={}){const n={expand:t};return e.get("account",n)},update:({data:t})=>e.patch("account",t),requestPasswordReset:({data:t})=>e.post("account/forgot-password",t),changePassword:({data:t})=>e.patch("account/password",t),resendEmailVerification:({data:t})=>e.post("account/resend-verification",t),confirmPasswordReset:({token:t,data:n})=>e.post(`account/reset-password/${t}`,n),verifyEmail:({token:t})=>e.post(`account/verification/${t}`),register:({data:t})=>e.post("register",t)}}({apiHandler:e}),this.authorization=function({apiHandler:e}){return{login:({data:t})=>e.post("login",t),logout:()=>e.post("logout")}}({apiHandler:e}),this.billingPortals=function({apiHandler:e}){return{get:({slug:t})=>e.get(`billing-portals/${t}`)}}({apiHandler:e}),this.checkoutForms=function({apiHandler:e}){return{get:({id:t})=>e.get(`checkout-forms/${t}`)}}({apiHandler:e}),this.customFields=function({apiHandler:e}){return{getAll({resource:t,limit:n=null,offset:r=null}){const a={limit:n,offset:r};return e.getAll(`custom-fields/${t}`,a)}}}({apiHandler:e}),this.depositRequests=function({apiHandler:e}){return{get({id:t,expand:n=null}){const r={expand:n};return e.get(`deposit-requests/${t}`,r)}}}({apiHandler:e}),this.deposit=function({apiHandler:e}){return{create:({data:t})=>e.post("deposit",t)}}({apiHandler:e}),this.depositStrategies=function({apiHandler:e}){return{get:({id:t})=>e.get(`deposit-strategies/${t}`)}}({apiHandler:e}),this.experimental=function({apiHandler:e}){return{get:({slug:t})=>e.get(`experimental/billing-portals/${t}`)}}({apiHandler:e}),this.invoices=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null,expand:i=null}={}){const s={filter:t,sort:n,limit:r,offset:a,q:o,expand:i};return e.getAll("invoices",s)},get:({id:t})=>e.get(`invoices/${t}`),downloadPDF({id:t}){const n={headers:go,responseType:"arraybuffer"};return e.download(`invoices/${t}`,n)}}}({apiHandler:e}),this.kycDocuments=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null}={}){const r={limit:t,offset:n};return e.getAll("kyc-documents",r)},create:({data:t})=>e.post("kyc-documents",t),get:({id:t})=>e.get(`kyc-documents/${t}`),update:({id:t,data:n})=>e.patch(`kyc-documents/${t}`,n)}}({apiHandler:e}),this.kycLivenessSessions=function({apiHandler:e}){return{create:({data:t})=>e.post("kyc-liveness-sessions",t),get:({id:t})=>e.get(`kyc-liveness-sessions/${t}`),finish:({id:t})=>e.post(`kyc-liveness-sessions/${t}/finish`)}}({apiHandler:e}),this.kycRequests=function({apiHandler:e}){return{get({id:t,expand:n=null}){const r={expand:n};return e.get(`kyc-requests/${t}`,r)}}}({apiHandler:e}),this.orders=function({apiHandler:e}){return{getUpcomingInvoice:({id:t})=>e.get(`orders/${t}/upcoming-invoice`),getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null,expand:i=null}={}){const s={filter:t,sort:n,limit:r,offset:a,q:o,expand:i};return e.getAll("orders",s)},get({id:t,expand:n=null}){const r={expand:n};return e.get(`orders/${t}`,r)},update:({id:t,data:n})=>e.patch(`orders/${t}`,n),cancel:({id:t,data:n})=>e.post(`orders/${t}/cancellation`,n),pause:({id:t,data:n})=>e.post(`orders/${t}/pause`,n)}}({apiHandler:e}),this.paymentInstruments=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null}={}){const i={filter:t,sort:n,limit:r,offset:a,q:o};return e.getAll("payment-instruments",i)},create:({data:t})=>e.post("payment-instruments",t),get({id:t,limit:n=null,offset:r=null}){const a={limit:n,offset:r};return e.get(`payment-instruments/${t}`,a)},update:({id:t,data:n})=>e.patch(`payment-instruments/${t}`,n),deactivate:({id:t})=>e.post(`payment-instruments/${t}/deactivation`),getSetupTransaction:({id:t})=>e.get(`payment-instruments/${t}/setup`),setup:({id:t,data:n})=>e.post(`payment-instruments/${t}/setup`,n)}}({apiHandler:e}),this.payoutRequests=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null}={}){const i={filter:t,sort:n,limit:r,offset:a,q:o};return e.getAll("payout-requests",i)},get:({id:t})=>e.get(`payout-requests/${t}`),update:({id:t,data:n})=>e.patch(`payout-requests/${t}`,n)}}({apiHandler:e}),this.plans=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null,expand:i=null}={}){const s={filter:t,sort:n,limit:r,offset:a,q:o,expand:i};return e.getAll("plans",s)},get({id:t,expand:n=null}){const r={expand:n};return e.get(`plans/${t}`,r)}}}({apiHandler:e}),this.products=function({apiHandler:e}){return{getAll({filter:t=null,sort:n=null,limit:r=null,offset:a=null,q:o=null}={}){const i={filter:t,sort:n,limit:r,offset:a,q:o};return e.getAll("products",i)},get:({id:t})=>e.get(`products/${t}`)}}({apiHandler:e}),this.purchase=function({apiHandler:e}){return{payment:({data:t})=>e.post("payment",t),purchase:({data:t})=>e.post("purchase",t),preview:({data:t})=>e.post("preview-purchase",t),readyToPay:({data:t})=>e.post("ready-to-pay",t)}}({apiHandler:e}),this.quotes=function({apiHandler:e}){return{get({id:t,expand:n=null}){const r={expand:n};return e.get(`quotes/${t}`,r)},accept:({id:t})=>e.post(`quotes/${t}/accept`),reject:({id:t})=>e.post(`quotes/${t}/reject`),downloadPDF({id:t}){const n={headers:go,responseType:"arraybuffer"};return e.download(`quotes/${t}`,n)}}}({apiHandler:e}),this.readyToPayout=function({apiHandler:e}){return{readyToPayout:({data:t})=>e.post("ready-to-payout",t)}}({apiHandler:e}),this.subscriptionReactivations=function({apiHandler:e}){return{reactivation:({data:t})=>e.post("subscription-reactivations",t)}}({apiHandler:e}),this.subscriptions=function({apiHandler:e}){return{changeItems:({id:t,data:n})=>e.post(`subscriptions/${t}/change-items`,n),create:({data:t})=>e.post("subscriptions",t)}}({apiHandler:e}),this.transactions=function({apiHandler:e}){return{getAll({limit:t=null,offset:n=null,filter:r=null,q:a=null,sort:o=null}={}){const i={limit:t,offset:n,filter:r,q:a,sort:o};return e.getAll("transactions",i)},get:({id:t})=>e.get(`transactions/${t}`),finishKyc:({id:t,token:n})=>e.post(`transactions/${t}/${n}/continue`),skipKyc:({id:t,token:n})=>e.post(`transactions/${t}/${n}/bypass`),update:({id:t,data:n})=>e.patch(`transactions/${t}`,n)}}({apiHandler:e}),this.websites=function({apiHandler:e}){return{get:({id:t})=>e.get(`websites/${t}`)}}({apiHandler:e}),this.checkoutForm=this.checkoutForms,this.billingPortal=this.billingPortals,this.addRequestInterceptor=e.addRequestInterceptor,this.removeRequestInterceptor=e.removeRequestInterceptor,this.addResponseInterceptor=e.addResponseInterceptor,this.removeResponseInterceptor=e.removeResponseInterceptor,this.setTimeout=e.setTimeout,this.setProxyAgent=e.setProxyAgent,this.setSessionToken=e.setSessionToken,this.setPublishableKey=e.setPublishableKey,this.setEndpoints=e.setEndpoints,this.getCancellationToken=e.getCancellationToken,this.generateSignature=e.generateSignature}}const $o={live:"https://api.rebilly.com",sandbox:"https://api-sandbox.rebilly.com"},Eo=6e3;function _o({apiKey:e=null,sandbox:t=!1,timeout:n=Eo,organizationId:r=null,urls:a=$o}={}){if(!a.live||!a.sandbox)throw new Error("RebillyAPI urls config must include a key for both `live` and `sandbox`");if("string"!=typeof a.live||"string"!=typeof a.sandbox)throw new Error("RebillyAPI urls config `live` and `sandbox` must be strings");return function({apiHandler:e}){return new bo({apiHandler:e})}({apiHandler:yo({options:{apiEndpoints:a,apiKey:e,apiVersion:"",isSandbox:t,requestTimeout:n,jwt:null,organizationId:r}})})}function So({apiKey:e=null,sandbox:t=!1,timeout:n=Eo,organizationId:r=null,urls:a=$o}={}){if(!a.live||!a.sandbox)throw new Error("RebillyAPI urls config must include a key for both `live` and `sandbox`");if("string"!=typeof a.live||"string"!=typeof a.sandbox)throw new Error("RebillyAPI urls config `live` and `sandbox` must be strings");return function({apiHandler:e}){return new wo({apiHandler:e})}({apiHandler:yo({options:{apiEndpoints:a,apiKey:e,apiVersion:"experimental",isSandbox:t,requestTimeout:n,jwt:null,organizationId:r}})})}function Po({publishableKey:e=null,jwt:t=null,sandbox:n=!1,timeout:r=Eo,organizationId:a=null,urls:o=$o}={}){if(!o.live||!o.sandbox)throw new Error("RebillyAPI urls config must include a key for both `live` and `sandbox`");if("string"!=typeof o.live||"string"!=typeof o.sandbox)throw new Error("RebillyAPI urls config `live` and `sandbox` must be strings");const i={apiEndpoints:o,publishableKey:e,jwt:t,apiVersion:"storefront",isSandbox:n,requestTimeout:r,organizationId:a},s=yo({options:i});return s.setSessionToken(i.jwt),function({apiHandler:e}){return new ko({apiHandler:e})}({apiHandler:s})}async function xo(e){try{return Pe(Ae.storefront),xe(Ae.options),await e()}catch(t){throw Un(t),t}}class Ao{constructor({publishableKey:e=null,jwt:t=null,organizationId:n=null,mode:r="live",timeout:a=6e4,liveUrl:o=null,sandboxUrl:i=null}={}){const s={live:o||"https://api.rebilly.com",sandbox:i||"https://api-sandbox.rebilly.com"},l="string"==typeof a?parseInt(a,10):a,c={organizationId:n||void 0,sandbox:"sandbox"===r,timeout:Number.isNaN(l)?6e4:l,urls:s},u=Po(c),d="function"==typeof _o.default?_o.default(c):_o(c),p=So(c);return u.setSessionToken(e||t),d.setSessionToken(e||t),p.setSessionToken(e||t),this.api=u,this.api.rebilly=d,this.api.rebilly&&(this.api.rebilly.experimental=p),this.api}}const Io=e=>null!=e&&"object"==typeof e,Ro={default:1,minimum:1,maximum:Number.MAX_SAFE_INTEGER,multipleOf:1};function To({quantity:e}){return Io(e)?{...Ro,...e}:e}function Co(e){return Io(e)?e.default:e}function Oo(e){return e.map((({planId:e,quantity:t})=>({planId:e,quantity:t&&Co(t)})))}function No(e){return e.reduce(((e,t)=>t.planId&&t.quantity?(e.set(t.planId,de(t.quantity)),e):e),new Map)}async function Lo({data:e=null}={}){return xo((async()=>{var t,n,r,a,o,i,s,l,c,u,d,p,m,f,h,y,g,b,v,w,k,$,E,_,S,P;const x=null==(t=Ae.options)?void 0:t.items,A=(null==(n=Ae.options)?void 0:n.websiteId)||null,I=(null==(a=null==(r=Ae.options)?void 0:r.bumpOffer)?void 0:a.map((({planId:e})=>e)))||[],R={data:{websiteId:A??void 0}};var T,C;(null==(C=null==(T=Ae.data)?void 0:T.summaryLineItems)?void 0:C.every((e=>null!=e.planId&&I.includes(e.planId))))||(null==(o=Ae.data)?void 0:o.acceptBumpOffer)||!(null==(i=Ae.data)?void 0:i.summaryLineItems)?x?(null==(l=Ae.data)?void 0:l.acceptBumpOffer)?R.data.items=null==(c=Ae.options)?void 0:c.bumpOffer:R.data.items=Oo(x??[]):((null==(u=Ae.data)?void 0:u.summaryLineItems)&&(R.data.items=Oo(Ae.data.summaryLineItems)),!(null==(d=Ae.data)?void 0:d.acceptBumpOffer)&&(null==(f=null==(m=null==(p=Ae.data)?void 0:p.previewPurchase)?void 0:m.addonLineItems)?void 0:f.length)>0&&(R.data.items=null==(y=null==(h=R.data)?void 0:h.items)?void 0:y.concat(Ae.data.previewPurchase.addonLineItems))):R.data.items=Oo(null==(s=Ae.data)?void 0:s.summaryLineItems),!(null==(g=Ae.data)?void 0:g.acceptBumpOffer)&&(null==(w=null==(v=null==(b=Ae.data)?void 0:b.previewPurchase)?void 0:v.addonLineItems)?void 0:w.length)>0&&(R.data.items=null==(k=R.data.items)?void 0:k.concat(Ae.data.previewPurchase.addonLineItems)),(null==($=Ae.data)?void 0:$.amountAndCurrency)&&(R.data={...R.data,...Ae.data.amountAndCurrency}),(null==e?void 0:e.billingAddress)&&(R.data.billingAddress=e.billingAddress),(null==e?void 0:e.deliveryAddress)&&(R.data.deliveryAddress=e.deliveryAddress),(null==(E=Ae.data)?void 0:E.couponIds)&&(R.data.couponIds=Ae.data.couponIds),Pe(Ae.storefront);const{fields:O}=await Ae.storefront.purchase.preview(R);let N=O;if(!(null==(_=Ae.data)?void 0:_.acceptBumpOffer)){const e=No(x??[]);if(N=Jn(O),N.lineItems){if(null==(P=null==(S=Ae.data)?void 0:S.previewPurchase)?void 0:P.addonLineItems){const e=Ae.data.previewPurchase.addonLineItems.reduce(((e,t)=>(e.set(t.planId,t),e)),new Map);N.lineItems=N.lineItems.filter((t=>!e.has(t.planId))),N.addonLineItems=Ae.data.previewPurchase.addonLineItems}N.lineItems.forEach(function(e){return function(t){if(!t.planId)return;const n=e.get(t.planId)||t.quantity;t.quantity&&Io(n)&&(n.default=Co(t.quantity),t.quantity=n)}}(e))}}return Ae.data&&(Ae.data.previewPurchase=N),new er(N)}))}let jo=!1;async function Fo(){var e,t;const n=Ae.toModel(),r={options:n.options,data:n.data,mainStyleVars:n.mainStyleVars},a=null==(t=null==(e=Ae.options)?void 0:e._computed)?void 0:t.paymentMethodsUrl,o="rebilly-instruments-summary",i=await new Wn({name:o,url:`${a}?name=${o}`,container:Ae.summary,model:r,route:{name:"summary"}});return i.bindEventListeners({loader:Ae.loader}),Se.summary=i,async function(e){e.component.on(`${e.name}-update-items`,(async e=>{try{if(jo)return;jo=!0;const t=No(e);Ae.data.summaryLineItems.forEach((e=>{const n=Co(t.get(e.planId));Io(e.quantity)?e.quantity.default=n:e.quantity=n})),await Lo(),Ae.updateModel(),jo=!1}catch(t){console.error(t),jo=!1}}))}(i),{then:e=>e()}}async function Mo({instrument:e}={}){await Lo({data:e}),Ae.updateModel()}var Ho={NODE_ENV:"production"},Bo=function(){return Bo=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},Bo.apply(this,arguments)};function Do(e,t,n,r){return new(n||(n=Promise))((function(a,o){function i(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){e.done?a(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(i,s)}l((r=r.apply(e,t||[])).next())}))}var qo={default:"endpoint"},Uo={default:"tlsEndpoint"};function zo(e){for(var t="",n=0;n<e.length;++n)if(n>0){var r=e[n].toLowerCase();r!==e[n]?t+=" ".concat(r):t+=e[n]}else t+=e[n].toUpperCase();return t}var Vo="Client timeout",Wo="Network connection error",Ko="Network request aborted",Go="Response cannot be parsed",Jo="Blocked by CSP",Xo="The endpoint parameter is not a valid URL",Qo=zo("WrongRegion"),Yo=zo("SubscriptionNotActive"),Zo=zo("UnsupportedVersion"),ei=zo("InstallationMethodRestricted"),ti=zo("HostnameRestricted"),ni=zo("IntegrationFailed"),ri="API key required",ai="API key not found",oi="API key expired",ii="Request cannot be parsed",si="Request failed",li="Request failed to process",ci="Too many requests, rate limit exceeded",ui="Not available for this origin",di="Not available with restricted header",pi=ri,mi=ai,fi=oi,hi="Failed to load the JS script of the agent",yi="9319";function gi(e,t){var n,r,a,o,i,s=[],l=(i=function(e,t,n){if(n||2===arguments.length)for(var r,a=0,o=t.length;a<o;a++)(r||!(a in t))&&(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))}([],e,!0),n={current:function(){return i[0]},postpone:function(){var e=i.shift();void 0!==e&&i.push(e)},exclude:function(){i.shift()}},100,3e3,o=0,r=function(){return Math.random()*Math.min(3e3,100*Math.pow(2,o++))},a=new Set,[n.current(),function(e,t){var o,i=t instanceof Error?t.message:"";if(i===Jo||i===Xo)n.exclude(),o=0;else if(i===yi)n.exclude();else if(i===hi){var s=Date.now()-e.getTime()<50,l=n.current();l&&s&&!a.has(l)&&(a.add(l),o=0),n.postpone()}else n.postpone();var c=n.current();return void 0===c?void 0:[c,o??e.getTime()+r()-Date.now()]}]),c=l[0],u=l[1];if(void 0===c)return Promise.reject(new TypeError("The list of script URL patterns is empty"));var d=function(e){var n=new Date,r=function(t){return s.push({url:e,startedAt:n,finishedAt:new Date,error:t})},a=t(e);return a.then((function(){return r()}),r),a.catch((function(e){if(s.length>=5)throw e;var t=u(n,e);if(!t)throw e;var r,a=t[0],o=t[1];return(r=o,new Promise((function(e){return setTimeout(e,r)}))).then((function(){return d(a)}))}))};return d(c).then((function(e){return[e,s]}))}var bi="https://fpnpmcdn.net/v<version>/<apiKey>/loader_v<loaderVersion>.js",vi=bi;function wi(e){var t;e.scriptUrlPattern;var n,r,a,o,i,s,l,c=e.token,u=e.apiKey,d=void 0===u?c:u,p=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n}(e,["scriptUrlPattern","token","apiKey"]),m=null!==(t=function(e,t){return n=e,r=t,Object.prototype.hasOwnProperty.call(n,r)?e[t]:void 0;var n,r}(e,"scriptUrlPattern"))&&void 0!==t?t:bi,f=(i=[],s=function(){i.push({time:new Date,state:document.visibilityState})},n=document,r="visibilitychange",a=s,n.addEventListener(r,a,o),l=function(){return n.removeEventListener(r,a,o)},s(),[i,l]),h=f[0],y=f[1];return Promise.resolve().then((function(){if(!d||"string"!=typeof d)throw new Error(ri);var e=function(e,t){return(Array.isArray(e)?e:[e]).map((function(e){return function(e,t){var n=encodeURIComponent;return e.replace(/<[^<>]+>/g,(function(e){return"<version>"===e?"3":"<apiKey>"===e?n(t):"<loaderVersion>"===e?n("3.9.2"):e}))}(String(e),t)}))}(m,d);return gi(e,ki)})).catch((function(e){throw y(),function(e){return e instanceof Error&&e.message===yi?new Error(hi):e}(e)})).then((function(e){var t=e[0],n=e[1];return y(),t.load(Bo(Bo({},p),{ldi:{attempts:n,visibilityStates:h}}))}))}function ki(e){return function(t,n,r,a){var o,i=document,s="securitypolicyviolation",l=function(e){var n=new URL(t,location.href),r=e.blockedURI;r!==n.href&&r!==n.protocol.slice(0,-1)&&r!==n.origin||(o=e,c())};i.addEventListener(s,l);var c=function(){return i.removeEventListener(s,l)};return Promise.resolve().then((function(){return function(e){return new Promise((function(t,n){if(function(e){if(URL.prototype)try{return new URL(e,location.href),!1}catch(l){if(l instanceof Error&&"TypeError"===l.name)return!0;throw l}}(e))throw new Error(Xo);var r=document.createElement("script"),a=function(){var e;return null===(e=r.parentNode)||void 0===e?void 0:e.removeChild(r)},o=document.head||document.getElementsByTagName("head")[0];r.onload=function(){a(),t()},r.onerror=function(){a(),n(new Error(hi))},r.async=!0,r.src=e,o.appendChild(r)}))}(e)})).then((function(e){return c(),e}),(function(e){return new Promise((function(e){return setTimeout(e)})).then((function(){if(c(),o)return function(){throw new Error(Jo)}();throw e}))}))}(e).then($i)}function $i(){var e,t,n,r,a=window,o="__fpjs_p_l_b",i=a[o];if(e=a,t=o,null!=(r=null===(n=Object.getOwnPropertyDescriptor)||void 0===n?void 0:n.call(Object,e,t))&&r.configurable?delete e[t]:r&&!r.writable||(e[t]=void 0),"function"!=typeof(null==i?void 0:i.load))throw new Error(yi);return i}var Ei={load:wi,defaultScriptUrlPattern:vi,ERROR_SCRIPT_LOAD_FAIL:hi,ERROR_API_KEY_EXPIRED:oi,ERROR_API_KEY_INVALID:ai,ERROR_API_KEY_MISSING:ri,ERROR_BAD_REQUEST_FORMAT:ii,ERROR_BAD_RESPONSE_FORMAT:Go,ERROR_CLIENT_TIMEOUT:Vo,ERROR_CSP_BLOCK:Jo,ERROR_FORBIDDEN_ENDPOINT:ti,ERROR_FORBIDDEN_HEADER:di,ERROR_FORBIDDEN_ORIGIN:ui,ERROR_GENERAL_SERVER_FAILURE:si,ERROR_INSTALLATION_METHOD_RESTRICTED:ei,ERROR_INTEGRATION_FAILURE:ni,ERROR_INVALID_ENDPOINT:Xo,ERROR_NETWORK_ABORT:Ko,ERROR_NETWORK_CONNECTION:Wo,ERROR_RATE_LIMIT:ci,ERROR_SERVER_TIMEOUT:li,ERROR_SUBSCRIPTION_NOT_ACTIVE:Yo,ERROR_TOKEN_EXPIRED:fi,ERROR_TOKEN_INVALID:mi,ERROR_TOKEN_MISSING:pi,ERROR_UNSUPPORTED_VERSION:Zo,ERROR_WRONG_REGION:Qo,defaultEndpoint:qo,defaultTlsEndpoint:Uo};const _i=Object.freeze(Object.defineProperty({__proto__:null,ERROR_API_KEY_EXPIRED:oi,ERROR_API_KEY_INVALID:ai,ERROR_API_KEY_MISSING:ri,ERROR_BAD_REQUEST_FORMAT:ii,ERROR_BAD_RESPONSE_FORMAT:Go,ERROR_CLIENT_TIMEOUT:Vo,ERROR_CSP_BLOCK:Jo,ERROR_FORBIDDEN_ENDPOINT:ti,ERROR_FORBIDDEN_HEADER:di,ERROR_FORBIDDEN_ORIGIN:ui,ERROR_GENERAL_SERVER_FAILURE:si,ERROR_INSTALLATION_METHOD_RESTRICTED:ei,ERROR_INTEGRATION_FAILURE:ni,ERROR_INVALID_ENDPOINT:Xo,ERROR_NETWORK_ABORT:Ko,ERROR_NETWORK_CONNECTION:Wo,ERROR_RATE_LIMIT:ci,ERROR_SCRIPT_LOAD_FAIL:hi,ERROR_SERVER_TIMEOUT:li,ERROR_SUBSCRIPTION_NOT_ACTIVE:Yo,ERROR_TOKEN_EXPIRED:fi,ERROR_TOKEN_INVALID:mi,ERROR_TOKEN_MISSING:pi,ERROR_UNSUPPORTED_VERSION:Zo,ERROR_WRONG_REGION:Qo,default:Ei,defaultEndpoint:qo,defaultScriptUrlPattern:vi,defaultTlsEndpoint:Uo,load:wi},Symbol.toStringTag,{value:"Module"})),Si="@fpjs@client@",Pi=()=>Date.now();class xi{constructor(e){var t;this.tag=e.tag||null,this.linkedId=e.linkedId||null,this.extendedResult=null!==(t=e.extendedResult)&&void 0!==t&&t}toKey(){return`${JSON.stringify(this.tag)}__${JSON.stringify(this.linkedId)}__${this.extendedResult}`}}function Ai(e,t){return`${t}__${e}`}function Ii(e,t){return e.replace(`${t}__`,"")}class Ri{constructor(e=Si){this.prefix=e}set(e,t){window.localStorage.setItem(Ai(e,this.prefix),JSON.stringify(t))}get(e){const t=window.localStorage.getItem(Ai(e,this.prefix));if(t)try{return JSON.parse(t)}catch{return}}remove(e){window.localStorage.removeItem(Ai(e,this.prefix))}allKeys(){return Object.keys(window.localStorage).filter((e=>e.startsWith(this.prefix))).map((e=>Ii(e,this.prefix)))}}class Ti{constructor(e=Si){this.prefix=e}set(e,t){window.sessionStorage.setItem(Ai(e,this.prefix),JSON.stringify(t))}get(e){const t=window.sessionStorage.getItem(Ai(e,this.prefix));if(t)try{return JSON.parse(t)}catch{return}}remove(e){window.sessionStorage.removeItem(Ai(e,this.prefix))}allKeys(){return Object.keys(window.sessionStorage).filter((e=>e.startsWith(this.prefix))).map((e=>Ii(e,this.prefix)))}}class Ci{constructor(e,t=3600,n){this.cache=e,this.cacheTime=t,this.nowProvider=n||Pi}get(e){return Do(this,void 0,void 0,(function*(){const t=yield this.cache.get(e.toKey());if(!t)return;const n=yield this.nowProvider(),r=Math.floor(n/1e3);if(!(t.expiresAt<r))return t.body;yield this.cache.remove(e.toKey())}))}set(e,t){return Do(this,void 0,void 0,(function*(){const n=yield this.wrapCacheEntry(t);yield this.cache.set(e.toKey(),n)}))}clearCache(){return Do(this,void 0,void 0,(function*(){const e=yield this.cache.allKeys();yield Promise.all(e.map((e=>this.cache.remove(e))))}))}wrapCacheEntry(e){return Do(this,void 0,void 0,(function*(){const t=yield this.nowProvider(),n=Math.floor(t/1e3)+this.cacheTime;return{body:e,expiresAt:n}}))}}class Oi{constructor(){this.enclosedCache=function(){const e={};return{set(t,n){e[t]=n},get(t){const n=e[t];if(n)return n},remove(t){delete e[t]},allKeys:()=>Object.keys(e)}}()}}class Ni{set(){}get(){}remove(){}allKeys(){return[]}}var Li,ji;(ji=Li||(Li={})).Memory="memory",ji.LocalStorage="localstorage",ji.SessionStorage="sessionstorage",ji.NoCache="nocache";const Fi={[Li.Memory]:()=>(new Oi).enclosedCache,[Li.LocalStorage]:e=>new Ri(e),[Li.SessionStorage]:e=>new Ti(e),[Li.NoCache]:()=>new Ni},Mi=e=>Fi[e];class Hi{constructor(e){var t;let n;if(this.inFlightRequests=new Map,this.agentPromise=null,this.customAgent=null==e?void 0:e.customAgent,this.agent={get:()=>{throw new Error("FPJSAgent hasn't loaded yet. Make sure to call the init() method first.")}},this.loadOptions=null==e?void 0:e.loadOptions,null!=e&&e.cache&&null!=e&&e.cacheLocation&&console.warn("Both `cache` and `cacheLocation` options have been specified in the FpjsClient configuration; ignoring `cacheLocation` and using `cache`."),null!=e&&e.cache)n=e.cache;else{if(this.cacheLocation=(null==e?void 0:e.cacheLocation)||Li.SessionStorage,!Mi(this.cacheLocation))throw new Error(`Invalid cache location "${this.cacheLocation}"`);(e=>{switch(e){case Li.SessionStorage:try{window.sessionStorage.getItem("item")}catch{return!1}return!0;case Li.LocalStorage:try{window.localStorage.getItem("item")}catch{return!1}return!0;default:return!0}})(this.cacheLocation)||(this.cacheLocation=Li.Memory),n=Mi(this.cacheLocation)(null==e?void 0:e.cachePrefix)}if(null!=e&&e.cacheTimeInSeconds&&e.cacheTimeInSeconds>86400)throw new Error("Cache time cannot exceed 86400 seconds (24 hours)");const r=null!==(t=null==e?void 0:e.cacheTimeInSeconds)&&void 0!==t?t:3600;this.cacheManager=new Ci(n,r)}init(e){return Do(this,void 0,void 0,(function*(){var t,n;if(!this.loadOptions&&!e)throw new TypeError("No load options provided");const r=Object.assign(Object.assign(Object.assign({},this.loadOptions),e),{integrationInfo:[...(null===(t=this.loadOptions)||void 0===t?void 0:t.integrationInfo)||[],...(null==e?void 0:e.integrationInfo)||[],"fingerprintjs-pro-spa/1.3.1"]});if(!this.agentPromise){const e=null!==(n=this.customAgent)&&void 0!==n?n:_i;this.agentPromise=e.load(r).then((e=>(this.agent=e,e))).catch((e=>{throw this.agentPromise=null,e}))}return this.agentPromise}))}getVisitorData(){return Do(this,arguments,void 0,(function*(e={},t=!1){const n=Hi.makeCacheKey(e).toKey();if(!this.inFlightRequests.has(n)){const r=this._identify(e,t).finally((()=>{this.inFlightRequests.delete(n)}));this.inFlightRequests.set(n,r)}return yield this.inFlightRequests.get(n)}))}getVisitorDataFromCache(){return Do(this,arguments,void 0,(function*(e={}){const t=Hi.makeCacheKey(e),n=yield this.cacheManager.get(t);return n?Object.assign(Object.assign({},n),{cacheHit:!0}):void 0}))}isInCache(){return Do(this,arguments,void 0,(function*(e={}){return!!(yield this.getVisitorDataFromCache(e))}))}clearCache(){return Do(this,void 0,void 0,(function*(){yield this.cacheManager.clearCache()}))}static makeCacheKey(e){return new xi(e)}_identify(e){return Do(this,arguments,void 0,(function*(e,t=!1){const n=Hi.makeCacheKey(e);if(!t){const e=yield this.cacheManager.get(n);if(e)return Object.assign(Object.assign({},e),{cacheHit:!0})}const r=yield this.agent.get(e);return yield this.cacheManager.set(n,r),Object.assign(Object.assign({},r),{cacheHit:!1})}))}}async function Bi(){try{const e="object"==typeof Cypress,t="object"==typeof process&&"test"===Ho.NODE_ENV;if(e||t)return{visitorId:"a-mock-visitor-id",requestId:null};const n="https://d2hwnq6cq5q3pi.cloudfront.net",r="wyr92st0i7",a=new Hi({loadOptions:{apiKey:"hpFVJecm7Ni7AjSfvBIW",endpoint:[`${n}/${r}/${"ia1t65gn6i"}`,qo],scriptUrlPattern:[`${n}/${r}/${"db4fuswrza"}?apiKey=<apiKey>&version=<version>&loaderVersion=<loaderVersion>`,vi]}});await a.init();const o=await a.getVisitorData();return{visitorId:o.visitorId,requestId:o.requestId}}catch(ji){return console.log(ji),{}}}async function Di(){return new Promise((e=>{window.requestIdleCallback?requestIdleCallback((async()=>{const t=await Bi();e(t)})):setTimeout((async()=>{const t=await Bi();e(t)}),500)}))}const qi=({env:e,kountAccountId:t,kountSessionId:n})=>{const r=(e=>"production"===e)(e)?"https://ssl.kaptcha.com":"https://tst.kaptcha.com",a=new URL(`${r}/collect/sdk`);a.searchParams.append("m",t),n&&a.searchParams.append("m",n);const o=document.createElement("script");return o.setAttribute("class","kaxsdc"),o.setAttribute("data-event","load"),o.setAttribute("type","text/javascript"),o.setAttribute("src",a.href),document.body.append(o),o};async function Ui({env:e,kountAccountId:t,kountSessionId:n}){return new Promise(((r,a)=>{const o=qi({env:e,kountAccountId:t,kountSessionId:n});o.onload=()=>{const e=new ka.ClientSDK;e.setupCallback({"collect-begin":e=>{const{MercSessId:t}=e;r(t)}}),e.autoLoadEvents()},o.onerror=()=>{a(new Error("Error attempting to mount Kount script"))}}))}const zi=()=>{const e=document.createElement("script");return e.src="https://cdn.rebilly.com/risk-data-collector/@latest/google-adsense.js",new Promise((t=>{e.onload=()=>{t(null===document.getElementById("fj2xFkdsoQIQna"))},e.onerror=()=>t(!0),document.head.appendChild(e)})).catch((()=>!0))};async function Vi({env:e=null,kountAccountId:t=null,kountSessionId:n=null}={}){return async function({env:e=null,screen:t,navigator:n,kountAccountId:r=null,kountSessionId:a=null,getFingerprint:o,getFraudSessionId:i}){const{colorDepth:s,height:l,width:c}=t||{},{javaEnabled:u,language:d}=n||{};let p,m,f;try{[f,p,m]=await Promise.all([zi(),null==o?void 0:o(),r?i({env:e,kountAccountId:r,kountSessionId:a}):void 0])}catch(h){console.error(h)}return{riskMetadata:{fingerprint:(null==p?void 0:p.visitorId)||null,extraData:{kountFraudSessionId:m||null,fingerprintJsRequestId:(null==p?void 0:p.requestId)||null},browserData:{colorDepth:s||null,isJavaEnabled:u?u.call(n):null,language:d||null,screenHeight:l||null,screenWidth:c||null,timeZoneOffset:(new Date).getTimezoneOffset(),isAdBlockEnabled:f}}}}({env:e,screen:screen,navigator:navigator,kountAccountId:t,kountSessionId:n,getFingerprint:Di,getFraudSessionId:Ui})}function Wi(){var e;const t={expressMethods:[],methods:[]};let n=Ae.data.readyToPay;return(null==(e=Ae.options)?void 0:e.payout)&&(n=Ae.data.readyToPayout),null==n||n.forEach((e=>{e.metadata.isExpressMethod?t.expressMethods.push(e):t.methods.push(e)})),window.ApplePaySession||(t.expressMethods=t.expressMethods.filter((e=>{var t;return"Apple Pay"!==(null==(t=null==e?void 0:e.feature)?void 0:t.name)})),Ae.loader.stopLoading({id:"applePay-express"})),t}class Ki extends Xn{}function Gi(e){return null==e?null:"string"==typeof e?Number.isNaN(parseFloat(e))?null:parseFloat(e):e}class Ji{constructor({maxQuantity:e=null,price:t=null}={}){this.maxQuantity=e||Number.MAX_SAFE_INTEGER,this.price=Gi(t)}}const Xi=class e{constructor(t={}){switch(this.formula=t.formula??e.Formulas.fixedFee,t.formula){case e.Formulas.stairstep:case e.Formulas.tiered:case e.Formulas.volume:if(null==t.brackets)throw new Error("Invalid brackets.");this.brackets=t.brackets.map((e=>new Ji(e)));break;case e.Formulas.flatRate:this.price=Gi(t.price)??0,this.maxQuantity=t.maxQuantity??null;break;case e.Formulas.fixedFee:default:this.price=Gi(t.price)??0}}get isSimple(){return Object.values(e.SimpleFormulas).includes(this.formula)}get isBracket(){return Object.values(e.BracketFormulas).includes(this.formula)}toPayload(){return{...this,isSimple:this.isSimple,isBracket:this.isBracket}}};Xi.SimpleFormulas={fixedFee:"fixed-fee",flatRate:"flat-rate"},Xi.BracketFormulas={stairstep:"stairstep",tiered:"tiered",volume:"volume"},Xi.Formulas={...Xi.SimpleFormulas,...Xi.BracketFormulas};let Qi=Xi;class Yi extends Xn{constructor(e={}){super(e),this.pricing=new Qi(e.pricing||{})}toPayload(){return{...this,pricing:this.pricing.toPayload()}}}const Zi=[{apiName:"ach",name:"ACH",landscapeLogo:null,portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/BankAccount.svg",summary:"ACH is a network used for processing transactions across the United States.",description:"ACH is a network used for processing transactions across the United States.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/ach"}]},{apiName:"AdvCash",name:"AdvCash",landscapeLogo:null,portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/AdvCash.svg",summary:"AdvCash is an online payment system offering prepaid cards for individuals and\nonline businesses.\n",description:"AdvCash is an online payment system offering prepaid cards for individuals and\nonline businesses.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/AdvCash"}]},{apiName:"Aircash",name:"Aircash",landscapeLogo:null,portraitLogo:null,summary:"Aircash is a mobile payment wallet that allows customers to pay for goods and services using their mobile phone.\n",description:"Aircash is a mobile payment wallet that allows customers to pay for goods and services using their mobile phone.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Aircash"}]},{apiName:"Airpay",name:"Airpay",landscapeLogo:null,portraitLogo:null,summary:"Airpay is an e-wallet that elevates you to an easier and more convenient\nlifestyle with all in one services.\n",description:"Airpay is an e-wallet that elevates you to an easier and more convenient\nlifestyle with all in one services.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Airpay"}]},{apiName:"Alfa-click",name:"Alfa-click",landscapeLogo:null,portraitLogo:null,summary:"Alfa-click combines digital and physical payment experiences and is among the\nhighest ranking Russian private banks.\n",description:"Alfa-click combines digital and physical payment experiences and is among the\nhighest ranking Russian private banks.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Alfa-click"}]},{apiName:"Alipay",name:"Alipay",landscapeLogo:null,portraitLogo:null,summary:"Alipay is the most popular e-wallet and payment platform in Asia. Millions of\ntransactions are processed each day in China.\n",description:"Alipay is the most popular e-wallet and payment platform in Asia. Millions of\ntransactions are processed each day in China.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Alipay"}]},{apiName:"AmazonPay",name:"AmazonPay",landscapeLogo:null,portraitLogo:null,summary:"The AmazonPay method.",description:"The AmazonPay method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/AmazonPay"}]},{apiName:"Apple Pay",name:"Apple Pay",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Applepay.svg",portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/Applepay.svg",summary:"Apple Pay is a digital wallet that also allows users to make payments in\nperson using a one-step payment process.\n",description:"Apple Pay is a digital wallet that also allows users to make payments in\nperson using a one-step payment process.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!1,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Apple%20Pay"}]},{apiName:"AstroPay Card",name:"AstroPay Card",landscapeLogo:null,portraitLogo:null,summary:"AstroPay Card allows consumers to purchase online at international websites,\nusing the most effective local payment methods in local currency.\n",description:"AstroPay Card allows consumers to purchase online at international websites,\nusing the most effective local payment methods in local currency.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/AstroPay%20Card"}]},{apiName:"AstroPay-GO",name:"AstroPay Go",landscapeLogo:null,portraitLogo:null,summary:"AstroPay allows consumers to purchase online at international websites, using\nthe most effective local payment methods in local currency.\n",description:"AstroPay allows consumers to purchase online at international websites, using\nthe most effective local payment methods in local currency.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/AstroPay-GO"}]},{apiName:"Baloto",name:"Baloto",landscapeLogo:null,portraitLogo:null,summary:"Baloto is Colombia's largest lottery and payment service and is used by 80% of\nthe Colombian population.\n",description:"Baloto is Colombia's largest lottery and payment service and is used by 80% of\nthe Colombian population.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Baloto"}]},{apiName:"Bancontact-mobile",name:"Bancontact-mobile",landscapeLogo:null,portraitLogo:null,summary:"Bancontact mobile allows the shopper to complete a payment with the mobile\napp. installed on their device.\n",description:"Bancontact mobile allows the shopper to complete a payment with the mobile\napp. installed on their device.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Bancontact-mobile"}]},{apiName:"Bancontact",name:"Bancontact",landscapeLogo:null,portraitLogo:null,summary:"Bancontact is a payment system offered by more than 80% of online Belgian\nbusinesses and functions like a regular card payment.\n",description:"Bancontact is a payment system offered by more than 80% of online Belgian\nbusinesses and functions like a regular card payment.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Bancontact"}]},{apiName:"BankReferenced",name:"BankReferenced",landscapeLogo:null,portraitLogo:null,summary:"The BankReferenced method.",description:"The BankReferenced method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/BankReferenced"}]},{apiName:"BankSEND",name:"BankSEND",landscapeLogo:null,portraitLogo:null,summary:"With the BankSEND platform, customers pay with their online banking data using direct bank transfer.\n",description:"With the BankSEND platform, customers pay with their online banking data using direct bank transfer.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/BankSEND"}]},{apiName:"bank-transfer",name:"Bank Transfer",landscapeLogo:null,portraitLogo:null,summary:"A bank transfer is the direct, electronic transfer of funds from one bank\naccount to another.\n",description:"A bank transfer is the direct, electronic transfer of funds from one bank\naccount to another.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/bank-transfer"}]},{apiName:"Beeline",name:"Beeline",landscapeLogo:null,portraitLogo:null,summary:"Beeline offers a universal payment card and a mobile prepaid network system\nthat allows money transfers between Beeline subscribers.\n",description:"Beeline offers a universal payment card and a mobile prepaid network system\nthat allows money transfers between Beeline subscribers.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Beeline"}]},{apiName:"Belfius-direct-net",name:"Belfius Direct Net",landscapeLogo:null,portraitLogo:null,summary:"Belfius is one of the leading online private banks in Belgium. They are used\nby 1 in 3 Belgians and have over 3.6 million customers.\n",description:"Belfius is one of the leading online private banks in Belgium. They are used\nby 1 in 3 Belgians and have over 3.6 million customers.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Belfius-direct-net"}]},{apiName:"bitcoin",name:"Bitcoin",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Bitcoin.svg",portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/Bitcoin.svg",summary:"Bitcoin payment method provides a borderless payment network and a seamless\ntransfer of bitcoins from anywhere in the world through any online devices.\n",description:"Bitcoin payment method provides a borderless payment network and a seamless\ntransfer of bitcoins from anywhere in the world through any online devices.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/bitcoin"}]},{apiName:"Bizum",name:"Bizum",landscapeLogo:null,portraitLogo:null,summary:"Bizum is the immediate, fast, convenient and universal mobile payment solution promoted by Spanish banks.",description:"Bizum is the immediate, fast, convenient and universal mobile payment solution promoted by Spanish banks.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Bizum"}]},{apiName:"Blik",name:"Blik",landscapeLogo:null,portraitLogo:null,summary:"Blik is a Polish payment system that allows users to make instant payments and\nwithdraw cash using a mobile banking app.\n",description:"Blik is a Polish payment system that allows users to make instant payments and\nwithdraw cash using a mobile banking app.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Blik"}]},{apiName:"Boleto",name:"Boleto",landscapeLogo:null,portraitLogo:null,summary:"Boleto is Brazil's most popular cash-based payment method. It's the only\npayment option available for 35% of Brazillian consumers without a bank\naccount.\n",description:"Boleto is Brazil's most popular cash-based payment method. It's the only\npayment option available for 35% of Brazillian consumers without a bank\naccount.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Boleto"}]},{apiName:"CASHlib",name:"CASHlib",landscapeLogo:null,portraitLogo:null,summary:"CASHlib is a voucher based payment method that allows you to make online\npayments without the need of a credit or debit card.\n",description:"CASHlib is a voucher based payment method that allows you to make online\npayments without the need of a credit or debit card.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/CASHlib"}]},{apiName:"CCAvenue",name:"CCAvenue",landscapeLogo:"https://app.rebilly.com/static/payment-methods/portrait/PaymentCard.svg",portraitLogo:null,summary:"CCAvenue Checkout offers a smooth, fast and frictionless buying experience.\n",description:"CCAvenue Checkout offers a smooth, fast and frictionless buying experience.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/CCAvenue"}]},{apiName:"CODVoucher",name:"CODVoucher",landscapeLogo:null,portraitLogo:null,summary:"CODVoucher offers a digital voucher that the customer can scan at an\nauthorized location and pay with cash.\n",description:"CODVoucher offers a digital voucher that the customer can scan at an\nauthorized location and pay with cash.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/CODVoucher"}]},{apiName:"cash",name:"Cash",landscapeLogo:null,portraitLogo:null,summary:"Cash is money in a physical form like coins or notes.",description:"Cash is money in a physical form like coins or notes.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/cash"}]},{apiName:"cash-deposit",name:"Cash Deposit",landscapeLogo:null,portraitLogo:null,summary:"A cash deposit is money put into a bank account in the form of cash, checks,\nor bank transfers.\n",description:"A cash deposit is money put into a bank account in the form of cash, checks,\nor bank transfers.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/cash-deposit"}]},{apiName:"CashToCode",name:"CashToCode",landscapeLogo:null,portraitLogo:null,summary:"CashToCode is an instant cash payment service that does not require a bank\naccount or credit card.\n",description:"CashToCode is an instant cash payment service that does not require a bank\naccount or credit card.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/CashToCode"}]},{apiName:"Cashterminal",name:"Cash Terminal",landscapeLogo:null,portraitLogo:null,summary:"A Bulgarian based service, which provides the ability to pay in cash and in real time.\n",description:"A Bulgarian based service, which provides the ability to pay in cash and in real time.\n",countries:{mode:"subset",values:["BG"]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Cashterminal"}]},{apiName:"check",name:"Check",landscapeLogo:null,portraitLogo:null,summary:"Checks are physical documents that direct a bank to pay a specific amount of\nmoney to the recipient of the check.\n",description:"Checks are physical documents that direct a bank to pay a specific amount of\nmoney to the recipient of the check.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/check"}]},{apiName:"China UnionPay",name:"China UnionPay",landscapeLogo:null,portraitLogo:null,summary:"China UnionPay is the largest card scheme in China while also offering mobile\nand online payments. China UnionPay has over 7 billion cards in use and is\nconnected to all the ATMs across the country.\n",description:"China UnionPay is the largest card scheme in China while also offering mobile\nand online payments. China UnionPay has over 7 billion cards in use and is\nconnected to all the ATMs across the country.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!1,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/China%20UnionPay"}]},{apiName:"Conekta-oxxo",name:"Conekta OXXO",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/ConektaOxxo.svg",portraitLogo:null,summary:"Conekta OXXO Pay allows customers to purchase online or instore with a\ncash-based voucher. 30% of transactions in Mexico are with OXXO and they offer\nreal-time payment confirmation.\n",description:"Conekta OXXO Pay allows customers to purchase online or instore with a\ncash-based voucher. 30% of transactions in Mexico are with OXXO and they offer\nreal-time payment confirmation.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Conekta-oxxo"}]},{apiName:"Conekta-spei",name:"Conekta SPEI",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/ConektaOxxo.svg",portraitLogo:null,summary:"Conekta SPEI allows its customers to send and receive interbank electronic\ntransfers and obtain real-time payment confirmation in seconds.\n",description:"Conekta SPEI allows its customers to send and receive interbank electronic\ntransfers and obtain real-time payment confirmation in seconds.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Conekta-spei"}]},{apiName:"cryptocurrency",name:"Cryptocurrency",landscapeLogo:null,portraitLogo:null,summary:"Cryptocurrency is a decentralized, digital currency based on blockchain\ntechnology which makes it nearly impossible to counterfeit or double-spend.\n",description:"Cryptocurrency is a decentralized, digital currency based on blockchain\ntechnology which makes it nearly impossible to counterfeit or double-spend.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/cryptocurrency"}]},{apiName:"Cupon-de-pagos",name:"Cupon de Pagos",landscapeLogo:null,portraitLogo:null,summary:"The Cupon de Pagos method.",description:"The Cupon de Pagos method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Cupon-de-pagos"}]},{apiName:"CyberSource",name:"CyberSource",landscapeLogo:null,portraitLogo:null,summary:"CyberSource ia an e-commerce credit card payment system that allows customers\nto process online payments.\n",description:"CyberSource ia an e-commerce credit card payment system that allows customers\nto process online payments.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/CyberSource"}]},{apiName:"Dimoco-pay-smart",name:"Dimoco pay smart",landscapeLogo:null,portraitLogo:null,summary:"The Dimoco pay smart method.\n",description:"The Dimoco pay smart method.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Dimoco-pay-smart"}]},{apiName:"Directa24Card",name:"Directa24Card",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Directa24Card.svg",portraitLogo:null,summary:"Directa24 was formerly known as Astropay and specialized in Latin American local payment methods. They have expanded to include other emerging markets.\n",description:"Directa24 was formerly known as Astropay and specialized in Latin American local payment methods. They have expanded to include other emerging markets.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Directa24Card"}]},{apiName:"domestic-cards",name:"Domestic Cards",landscapeLogo:null,portraitLogo:null,summary:"The Domestic Cards method.",description:"The Domestic Cards method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/domestic-cards"}]},{apiName:"EPS",name:"EPS",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/EPS.svg",portraitLogo:null,summary:"EPS is an online transfer payment method accepted by 80% of all online\nbusinesses in Austria.\n",description:"EPS is an online transfer payment method accepted by 80% of all online\nbusinesses in Austria.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/EPS"}]},{apiName:"e-wallet",name:"eWallet",landscapeLogo:null,portraitLogo:null,summary:"An e-Wallet is an electronic system that securely stores payment information\nthat allows for quick and easy digital transactions.\n",description:"An e-Wallet is an electronic system that securely stores payment information\nthat allows for quick and easy digital transactions.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/e-wallet"}]},{apiName:"eZeeWallet",name:"eZeeWallet",landscapeLogo:null,portraitLogo:null,summary:"eZeeWallet is a digital wallet that offers secure, customer-focused payment services that make paying\nand getting paid simple and hassle-free.\n",description:"eZeeWallet is a digital wallet that offers secure, customer-focused payment services that make paying\nand getting paid simple and hassle-free.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/eZeeWallet"}]},{apiName:"echeck",name:"eCheck",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Echeck.svg",portraitLogo:null,summary:"An eCheck is a digital version of a traditional paper check.",description:"An eCheck is a digital version of a traditional paper check.",countries:{mode:"unknown",values:[]},storefrontEnabled:!1,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/echeck"}]},{apiName:"ecoPayz",name:"ecoPayz",landscapeLogo:null,portraitLogo:null,summary:"ecoPAYZ is one of the oldest e-wallets and allows its customers to receive,\nsend, and spend money worldwide all from one online account.\n",description:"ecoPAYZ is one of the oldest e-wallets and allows its customers to receive,\nsend, and spend money worldwide all from one online account.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/ecoPayz"}]},{apiName:"ecoVoucher",name:"ecoVoucher",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Ecovoucher.svg",portraitLogo:null,summary:"ecoVoucher is offered by ecoPayz and is a prepaid payment method that allows\ncustomers to pay online securely.\n",description:"ecoVoucher is offered by ecoPayz and is a prepaid payment method that allows\ncustomers to pay online securely.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/ecoVoucher"}]},{apiName:"Efecty",name:"Efecty",landscapeLogo:null,portraitLogo:null,summary:"Efecty is a Colombian-based offline cash payment voucher option. It is one of\nthe most popular payment methods in Colombia to pay utility bills and online\npurchases.\n",description:"Efecty is a Colombian-based offline cash payment voucher option. It is one of\nthe most popular payment methods in Colombia to pay utility bills and online\npurchases.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Efecty"}]},{apiName:"Ethereum",name:"Ethereum",landscapeLogo:null,portraitLogo:null,summary:"Ethereum is a decentralizaed blockchain platform that offers open access to\ndigital money and data-friendly services. It is the second largest\ncryptocurrency in the market after Bitcoin.\n",description:"Ethereum is a decentralizaed blockchain platform that offers open access to\ndigital money and data-friendly services. It is the second largest\ncryptocurrency in the market after Bitcoin.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Ethereum"}]},{apiName:"FasterPay",name:"FasterPay",landscapeLogo:null,portraitLogo:null,summary:"The FasterPay method\n",description:"The FasterPay method\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/FasterPay"}]},{apiName:"Flexepin",name:"Flexepin",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Flexepin.svg",portraitLogo:null,summary:"Flexepin is owned and operated by FlexeWallet and their vouchers are issued\nunder an Australian Financial Services License.\n",description:"Flexepin is owned and operated by FlexeWallet and their vouchers are issued\nunder an Australian Financial Services License.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Flexepin"}]},{apiName:"Giropay",name:"Giropay",landscapeLogo:null,portraitLogo:null,summary:"Giropay is an online payment method offered by more than 1,500 banks in\nGermany. Giropay uses real-time bank transfers and thier payments are 100%\nguaranteed.\n",description:"Giropay is an online payment method offered by more than 1,500 banks in\nGermany. Giropay uses real-time bank transfers and thier payments are 100%\nguaranteed.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Giropay"}]},{apiName:"Google Pay",name:"Google Pay",landscapeLogo:null,portraitLogo:null,summary:"Google Pay enables customers to pay with any payment method that is saved to\ntheir Google account.\n",description:"Google Pay enables customers to pay with any payment method that is saved to\ntheir Google account.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!1,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Google%20Pay"}]},{apiName:"Gpaysafe",name:"Gpaysafe",landscapeLogo:null,portraitLogo:null,summary:"Gpaysafe allows merchants to do business globally with a single API solution.",description:"Gpaysafe allows merchants to do business globally with a single API solution.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Gpaysafe"}]},{apiName:"iDEAL",name:"iDEAL",landscapeLogo:null,portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/iDEAL.svg",summary:"iDEAL allows customers to complete transactions online using their bank\ncredentials. It is the most popular payment method in the Netherlands with a\nuse of nearly 55%.\n",description:"iDEAL allows customers to complete transactions online using their bank\ncredentials. It is the most popular payment method in the Netherlands with a\nuse of nearly 55%.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/iDEAL"}]},{apiName:"iDebit",name:"iDebit",landscapeLogo:null,portraitLogo:null,summary:"iDebit is an online banking based payment method made available to consumers\nin Canada, connecting them to secure, real-time payments without a credit\ncard.\n",description:"iDebit is an online banking based payment method made available to consumers\nin Canada, connecting them to secure, real-time payments without a credit\ncard.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/iDebit"}]},{apiName:"ING-homepay",name:"ING Homepay",landscapeLogo:null,portraitLogo:null,summary:"ING Homepay is an online payment method that allows payments over online\nbanking with the Belgian ING branch.\n",description:"ING Homepay is an online payment method that allows payments over online\nbanking with the Belgian ING branch.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/ING-homepay"}]},{apiName:"INOVAPAY-pin",name:"INOVAPAY Pin",landscapeLogo:null,portraitLogo:null,summary:"The INOVAPAY Pin method.",description:"The INOVAPAY Pin method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/INOVAPAY-pin"}]},{apiName:"INOVAPAY-wallet",name:"INOVAPAY Wallet",landscapeLogo:null,portraitLogo:null,summary:"INOVAPAY Wallet is an international e-money transfer service used to transfer\nmoney to and from merchants.\n",description:"INOVAPAY Wallet is an international e-money transfer service used to transfer\nmoney to and from merchants.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/INOVAPAY-wallet"}]},{apiName:"InstaDebit",name:"InsataDebit",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Instadebit.svg",portraitLogo:null,summary:"The InstaDebit method.\n",description:"The InstaDebit method.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/InstaDebit"}]},{apiName:"instant-bank-transfer",name:"Instant Bank Transfer",landscapeLogo:null,portraitLogo:null,summary:"Instant bank transfers allow consumers to make payments instantly. Both\nconsumers and merchants can receive and send funds immediately.\n",description:"Instant bank transfers allow consumers to make payments instantly. Both\nconsumers and merchants can receive and send funds immediately.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/instant-bank-transfer"}]},{apiName:"Instant Banking",name:"Instant Banking",landscapeLogo:null,portraitLogo:null,summary:"Instant Banking enables consumers to make payments to merchants using funds from their bank account.\n",description:"Instant Banking enables consumers to make payments to merchants using funds from their bank account.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Instant%20Banking"}]},{apiName:"InstantPayments",name:"Instant Payments",landscapeLogo:null,portraitLogo:null,summary:"Instant Payments enables consumers to make payments to merchants using funds from their bank account.\n",description:"Instant Payments enables consumers to make payments to merchants using funds from their bank account.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/InstantPayments"}]},{apiName:"Interac",name:"Interac",landscapeLogo:null,portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/Interac.svg",summary:"Interac is a Canadian debit card system that allows funds to be sent via its\ne-Transfer service.\n",description:"Interac is a Canadian debit card system that allows funds to be sent via its\ne-Transfer service.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Interac"}]},{apiName:"Interac-eTransfer",name:"Interac eTransfer",landscapeLogo:null,portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/Interac.svg",summary:"Interac eTransfer is a Canadian interbank network that allows merchants,\nfinancial institutions, and consumers to exchange electronic funds.\n",description:"Interac eTransfer is a Canadian interbank network that allows merchants,\nfinancial institutions, and consumers to exchange electronic funds.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Interac-eTransfer"}]},{apiName:"Interac-express-connect",name:"Interac Express Connect",landscapeLogo:null,portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/Interac.svg",summary:"Interac Express Connect is an e-wallet that allows payments via multiple\nchannels including paypal, Interac e-transfer, and credit cards.\n",description:"Interac Express Connect is an e-wallet that allows payments via multiple\nchannels including paypal, Interac e-transfer, and credit cards.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Interac-express-connect"}]},{apiName:"Interac-online",name:"Interac Online",landscapeLogo:null,portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/Interac.svg",summary:"Interac Online is a payment option that enables consumers to shop online and\npay for goods through the RBC online banking account.\n",description:"Interac Online is a payment option that enables consumers to shop online and\npay for goods through the RBC online banking account.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Interac-online"}]},{apiName:"invoice",name:"Invoice",landscapeLogo:null,portraitLogo:null,summary:"An invoice is a document issued by a merchant to a consumer relating to a sale\ntransaction and can inform products, prices, quantities, or services.\n",description:"An invoice is a document issued by a merchant to a consumer relating to a sale\ntransaction and can inform products, prices, quantities, or services.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/invoice"}]},{apiName:"Jeton",name:"Jeton",landscapeLogo:null,portraitLogo:null,summary:"Jeton is a digital wallet that allows users to exchange money, make secure\nmoney transfers and purchases online.\n",description:"Jeton is a digital wallet that allows users to exchange money, make secure\nmoney transfers and purchases online.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Jeton"}]},{apiName:"jpay",name:"Jpay",landscapeLogo:null,portraitLogo:null,summary:"The Jpay method.",description:"The Jpay method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/jpay"}]},{apiName:"KNET",name:"KNET",landscapeLogo:null,portraitLogo:null,summary:"The KNET method.\n",description:"The KNET method.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/KNET"}]},{apiName:"KakaoPay",name:"KakaoPay",landscapeLogo:null,portraitLogo:null,summary:"KakaoPay is a mobile payment and digital wallet service by Kakao and based in South Korea. It enables users make mobile payments and online transactions.\n",description:"KakaoPay is a mobile payment and digital wallet service by Kakao and based in South Korea. It enables users make mobile payments and online transactions.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!1,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/KakaoPay"}]},{apiName:"Khelocard",name:"Khelocard",landscapeLogo:null,portraitLogo:null,summary:"Khelo Card is a virtual prepaid card that allows for deposits and withdrawals\nand is accepted at partnered online sites around the world.\n",description:"Khelo Card is a virtual prepaid card that allows for deposits and withdrawals\nand is accepted at partnered online sites around the world.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Khelocard"}]},{apiName:"Klarna",name:"Klarna",landscapeLogo:null,portraitLogo:null,summary:"Klarna offers flexible payment plans that provides payment solutions for 85\nmillion customers and over 200,000 merchants across 19 markets.\n",description:"Klarna offers flexible payment plans that provides payment solutions for 85\nmillion customers and over 200,000 merchants across 19 markets.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Klarna"}]},{apiName:"LPG-online",name:"LPG Online",landscapeLogo:null,portraitLogo:null,summary:"Latam Payment Group (LPG Online) specializes in the development of\ntechnological solutions for the operation of eCommerce in the Latin American\nmarket.\n",description:"Latam Payment Group (LPG Online) specializes in the development of\ntechnological solutions for the operation of eCommerce in the Latin American\nmarket.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/LPG-online"}]},{apiName:"LPG-payment-card",name:"LPG Payment Card",landscapeLogo:null,portraitLogo:null,summary:"The LPG Payment Card method.",description:"The LPG Payment Card method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/LPG-payment-card"}]},{apiName:"Litecoin",name:"Litecoin",landscapeLogo:null,portraitLogo:null,summary:"Litecoin is a peer-to-peer cryptocurrency and open-source software project.",description:"Litecoin is a peer-to-peer cryptocurrency and open-source software project.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Litecoin"}]},{apiName:"MTS",name:"MTS",landscapeLogo:null,portraitLogo:null,summary:"MTS allows users to make payments and money transfers from their e-wallet\nthrough a smartphone or MTS website.\n",description:"MTS allows users to make payments and money transfers from their e-wallet\nthrough a smartphone or MTS website.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/MTS"}]},{apiName:"Matrix",name:"Matrix",landscapeLogo:null,portraitLogo:null,summary:"The Matrix method.",description:"The Matrix method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Matrix"}]},{apiName:"MaxiCash",name:"MaxiCash",landscapeLogo:null,portraitLogo:null,summary:"The MaxiCash method.",description:"The MaxiCash method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/MaxiCash"}]},{apiName:"Megafon",name:"Megafon",landscapeLogo:null,portraitLogo:null,summary:"Megafon can be used to pay like a normal bank card online and in person at\nphysical locations.\n",description:"Megafon can be used to pay like a normal bank card online and in person at\nphysical locations.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Megafon"}]},{apiName:"MercadoPago",name:"MercadoPago",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/MercadoPago.svg",portraitLogo:null,summary:"Mercado hosts the largest online commerce and payments ecosystem in Latin America. They are present in 18 countries including: Argentina, Brazil, Mexico, Colombia, Chile, Venezuela and Peru. [www.mercadopago.com](https://www.mercadopago.com/)\n",description:"Mercado hosts the largest online commerce and payments ecosystem in Latin America. They are present in 18 countries including: Argentina, Brazil, Mexico, Colombia, Chile, Venezuela and Peru. [www.mercadopago.com](https://www.mercadopago.com/)\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/MercadoPago"}]},{apiName:"MiFinity-eWallet",name:"MiFinity-eWallet",landscapeLogo:null,portraitLogo:null,summary:"MiFinity eWallet allows users to send money from their account directly to a\nrecipient's bank account.\n",description:"MiFinity eWallet allows users to send money from their account directly to a\nrecipient's bank account.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/MiFinity-eWallet"}]},{apiName:"miscellaneous",name:"Miscellaneous",landscapeLogo:null,portraitLogo:null,summary:"The miscellaneous method.\n",description:"The miscellaneous method.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/miscellaneous"}]},{apiName:"MobilePay",name:"MobilePay",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/MobilePay.svg",portraitLogo:null,summary:"Fast, easy payments are handled with a simple swipe, and all that’s needed to make them is a phone number.\n",description:"Fast, easy payments are handled with a simple swipe, and all that’s needed to make them is a phone number.\n",countries:{mode:"subset",values:["DK"]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/MobilePay"}]},{apiName:"MuchBetter",name:"MuchBetter",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Muchbetter.svg",portraitLogo:null,summary:"MuchBetter is a payment application with free transfers and multiple contact\npayment devices.\n",description:"MuchBetter is a payment application with free transfers and multiple contact\npayment devices.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/MuchBetter"}]},{apiName:"Multibanco",name:"Multibanco",landscapeLogo:null,portraitLogo:null,summary:"The Multibanco method.\n",description:"The Multibanco method.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Multibanco"}]},{apiName:"MyFatoorah",name:"MyFatoorah",landscapeLogo:null,portraitLogo:null,summary:"The MyFatoorah method.",description:"The MyFatoorah method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/MyFatoorah"}]},{apiName:"Neosurf",name:"Neosurf",landscapeLogo:null,portraitLogo:null,summary:"Neosurf vouchers make online payments possible for thoe without bank accounts\nor credit cards.\n",description:"Neosurf vouchers make online payments possible for thoe without bank accounts\nor credit cards.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Neosurf"}]},{apiName:"Netbanking",name:"Netbanking",landscapeLogo:null,portraitLogo:null,summary:"Netbanking allows merchants to accept UPI transactions in India.",description:"Netbanking allows merchants to accept UPI transactions in India.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Netbanking"}]},{apiName:"Neteller",name:"Neteller",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Neteller.svg",portraitLogo:null,summary:"Neteller offers payments or withdrawals via bank transfer, member wires, money\ntransfers, and merchant sites.\n",description:"Neteller offers payments or withdrawals via bank transfer, member wires, money\ntransfers, and merchant sites.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Neteller"}]},{apiName:"Nordea-Solo",name:"Nordea Solo",landscapeLogo:null,portraitLogo:null,summary:"The Nordea Solo method.",description:"The Nordea Solo method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Nordea-Solo"}]},{apiName:"NordikCoin",name:"NordikCoin",landscapeLogo:null,portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/NordikCoin.svg",summary:"NordikCoin customers can buy Bitcoin in under 5 minutes.",description:"NordikCoin is a crypto currency exchange that specializes in Bitcoin.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/NordikCoin"}]},{apiName:"OXXO",name:"OXXO",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/OXXO.svg",portraitLogo:null,summary:"OXXO is a Mexican convenience store chain with thousands of locations across\nLatin America. OXXO enables customers to pay bills and online purchases with\ncash.\n",description:"OXXO is a Mexican convenience store chain with thousands of locations across\nLatin America. OXXO enables customers to pay bills and online purchases with\ncash.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/OXXO"}]},{apiName:"OchaPay",name:"OchaPay",landscapeLogo:null,portraitLogo:null,summary:"The OchaPay method.",description:"The OchaPay method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/OchaPay"}]},{apiName:"online-bank-transfer",name:"Online Bank Transfer",landscapeLogo:null,portraitLogo:null,summary:"An online bank transfer is an electronic funds transfer of money from one bank\naccount to another.\n",description:"An online bank transfer is an electronic funds transfer of money from one bank\naccount to another.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/online-bank-transfer"}]},{apiName:"Onlineueberweisen",name:"OnlineUeberweisen",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Onlineueberweisen.svg",portraitLogo:null,summary:"OnlineUeberweisen is an online banking ePayment company located in Munich,\nGermany.\n",description:"OnlineUeberweisen is an online banking ePayment company located in Munich,\nGermany.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Onlineueberweisen"}]},{apiName:"oriental-wallet",name:"Oriental Wallet",landscapeLogo:null,portraitLogo:null,summary:"The Oriental Wallet method.",description:"The Oriental Wallet method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/oriental-wallet"}]},{apiName:"P24",name:"P24",landscapeLogo:null,portraitLogo:null,summary:"Przelewy24 (P24) is a payment method in Poland that allows the transfer of funds\nbetween more than 90,000 businesses and Polish banks.\n",description:"Przelewy24 (P24) is a payment method in Poland that allows the transfer of funds\nbetween more than 90,000 businesses and Polish banks.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/P24"}]},{apiName:"PIX",name:"PIX",landscapeLogo:null,portraitLogo:null,summary:"PIX is a new payment method in Brazil for instant bank transfers and is\noperated by Brazilian banks, digital accounts, and wallets.\n",description:"PIX is a new payment method in Brazil for instant bank transfers and is\noperated by Brazilian banks, digital accounts, and wallets.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PIX"}]},{apiName:"POLi",name:"POLi",landscapeLogo:null,portraitLogo:null,summary:"The POLi method.",description:"The POLi method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/POLi"}]},{apiName:"Pagadito",name:"Pagadito",landscapeLogo:null,portraitLogo:null,summary:"The Pagadito method.",description:"The Pagadito method.",countries:{mode:"subset",values:["BZ","CR","DO","GT","HN","NI","PA","PR","SV","US"]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Pagadito"}]},{apiName:"PagoEffectivo",name:"PagoEffectivo",landscapeLogo:null,portraitLogo:null,summary:"The PagoEffectivo method.",description:"The PagoEffectivo method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PagoEffectivo"}]},{apiName:"Pagsmile-deposit-express",name:"Pagsmile Deposit Express",landscapeLogo:null,portraitLogo:null,summary:"Pagsmile Deposit Express is a money transfer system. After an online purchase,\nthe client can pay at a bank, ATM, or via internet banking.\n",description:"Pagsmile Deposit Express is a money transfer system. After an online purchase,\nthe client can pay at a bank, ATM, or via internet banking.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Pagsmile-deposit-express"}]},{apiName:"Pagsmile-lottery",name:"Pagsmile Lottery",landscapeLogo:null,portraitLogo:null,summary:"Pagsmile Lottery offers betting services as well as banking services such as\nwithdrawals, deposits, and bank checking.\n",description:"Pagsmile Lottery offers betting services as well as banking services such as\nwithdrawals, deposits, and bank checking.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Pagsmile-lottery"}]},{apiName:"Pay4Fun",name:"Pay4Fun",landscapeLogo:null,portraitLogo:null,summary:"Pay4Fun is a prepaid e-wallet that is connected to a bank account and can be\nused for deposits and withdrawls.\n",description:"Pay4Fun is a prepaid e-wallet that is connected to a bank account and can be\nused for deposits and withdrawls.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Pay4Fun"}]},{apiName:"PayCash",name:"PayCash",landscapeLogo:null,portraitLogo:null,summary:"PayCash is an electronic payment platformfor making anonymous internet\npurchases with cash via kiosks.\n",description:"PayCash is an electronic payment platformfor making anonymous internet\npurchases with cash via kiosks.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PayCash"}]},{apiName:"PayRedeem",name:"PayRedeem",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/PayRedeem.svg",portraitLogo:null,summary:"PayRedeem eCards can be purchased online with credit/debit card, wire transfer, cryptocurrency, and over 200 alternative payment methods.\n",description:"PayRedeem eCards can be purchased online with credit/debit card, wire transfer, cryptocurrency, and over 200 alternative payment methods.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PayRedeem"}]},{apiName:"PayTabs",name:"PayTabs",landscapeLogo:null,portraitLogo:null,summary:"The PayTabs method.",description:"The PayTabs method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PayTabs"}]},{apiName:"PayU",name:"PayU",landscapeLogo:null,portraitLogo:null,summary:"The PayU method.",description:"The PayU method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PayU"}]},{apiName:"PayULatam",name:"PayULatam",landscapeLogo:null,portraitLogo:null,summary:"The PayULatam method.",description:"The PayULatam method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PayULatam"}]},{apiName:"Payco",name:"Payco",landscapeLogo:null,portraitLogo:null,summary:"Payco is one of the most popular forms of payment in South Korea and offers your shoppers convenience and familiarity when shopping online.\n",description:"Payco is one of the most popular forms of payment in South Korea and offers your shoppers convenience and familiarity when shopping online.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!1,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Payco"}]},{apiName:"Payeer",name:"Payeer",landscapeLogo:null,portraitLogo:null,summary:"Payeer is an e-wallet designed to manage cryptocurrencies and fiat currencies\nwith a built-in payment exchange for systems such as MasterCard, VISA, or\nPaypal.\n",description:"Payeer is an e-wallet designed to manage cryptocurrencies and fiat currencies\nwith a built-in payment exchange for systems such as MasterCard, VISA, or\nPaypal.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Payeer"}]},{apiName:"PaymentAsia-crypto",name:"PaymentAsia-crypto",landscapeLogo:null,portraitLogo:null,summary:"The PaymentAsia-crypto method.",description:"The PaymentAsia-crypto method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PaymentAsia-crypto"}]},{apiName:"payment-card",name:"Payment Card",landscapeLogo:null,portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/PaymentCard.svg",summary:"Payment cards are physical cards used for cashless payments and are issued by\nfinancial institiutions, such as banks, to a customer.\n",description:"Payment cards are physical cards used for cashless payments and are issued by\nfinancial institiutions, such as banks, to a customer.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/payment-card"}]},{apiName:"Paymero-QR",name:"Paymero-QR",landscapeLogo:null,portraitLogo:null,summary:"Paymero-QR helps online merchants to accept alternative methods such as\ncontactless payments through a QR code.\n",description:"Paymero-QR helps online merchants to accept alternative methods such as\ncontactless payments through a QR code.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Paymero-QR"}]},{apiName:"Paymero",name:"Paymero",landscapeLogo:null,portraitLogo:null,summary:"Paymero is an instant bank transfer that allows customers to make UnionPay\nbank transfers to merchants.\n",description:"Paymero is an instant bank transfer that allows customers to make UnionPay\nbank transfers to merchants.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Paymero"}]},{apiName:"paypal",name:"Paypal",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Paypal.svg",portraitLogo:"https://app.rebilly.com/static/payment-methods/portrait/Paypal.svg",summary:"Paypal is currently one of the most popular online payment processors, with\nover 300 million account holders.\n",description:"Paypal is currently one of the most popular online payment processors, with\nover 300 million account holders.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/paypal"}]},{apiName:"Paysafecard",name:"Paysafecard",landscapeLogo:null,portraitLogo:null,summary:"Paysafecard is a closed loop gift card that allows users to pay safely online.",description:"Paysafecard is a closed loop gift card that allows users to pay safely online.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Paysafecard"}]},{apiName:"Paysafecash",name:"Paysafecash",landscapeLogo:null,portraitLogo:null,summary:"Paysafecash is an online payment method that allows users to make secure digital payments using cash.",description:"Paysafecash is an online payment method that allows users to make secure digital payments using cash.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Paysafecash"}]},{apiName:"Perfect-money",name:"Perfect Money",landscapeLogo:null,portraitLogo:null,summary:"Perfect oney allows users to make instant payments and money transfers\nsecurely online through an online portal.\n",description:"Perfect oney allows users to make instant payments and money transfers\nsecurely online through an online portal.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Perfect-money"}]},{apiName:"phone",name:"Phone",landscapeLogo:null,portraitLogo:null,summary:"A phone is a telecommunications device that allows users to conduct a\nconversation.\n",description:"A phone is a telecommunications device that allows users to conduct a\nconversation.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/phone"}]},{apiName:"PhonePe",name:"PhonePe",landscapeLogo:null,portraitLogo:null,summary:"PhonePe is a digital wallet and online payments application that allows users\nto make instant money transfers with UPI.\n",description:"PhonePe is a digital wallet and online payments application that allows users\nto make instant money transfers with UPI.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PhonePe"}]},{apiName:"Piastrix",name:"Piastrix",landscapeLogo:null,portraitLogo:null,summary:"Piastrix is a Russian payment method that allows merchants to accept credit\ncard purchases via e-wallet.\n",description:"Piastrix is a Russian payment method that allows merchants to accept credit\ncard purchases via e-wallet.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Piastrix"}]},{apiName:"PinPay",name:"PinPay",landscapeLogo:null,portraitLogo:null,summary:"The PinPay method.",description:"The PinPay method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/PinPay"}]},{apiName:"QIWI",name:"QIWI",landscapeLogo:null,portraitLogo:null,summary:"QIWI is an e-wallet that allows users to transfer money, receive payments, and\nhas over 149,000 kiosks and terminals.\n",description:"QIWI is an e-wallet that allows users to transfer money, receive payments, and\nhas over 149,000 kiosks and terminals.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/QIWI"}]},{apiName:"QPay",name:"QPay",landscapeLogo:null,portraitLogo:null,summary:"The QPay method.\n",description:"The QPay method.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/QPay"}]},{apiName:"QQPay",name:"QQPay",landscapeLogo:null,portraitLogo:null,summary:"QQPay is an e-wallet that allows users to pay for online services quickly an\nsecurely.\n",description:"QQPay is an e-wallet that allows users to pay for online services quickly an\nsecurely.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/QQPay"}]},{apiName:"rapyd-checkout",name:"Rapyd Checkout",landscapeLogo:null,portraitLogo:null,summary:"Rapyd Checkout is a platform that allows businesses to accept payment in the\nform of instant UPI payments from bank accounts, e-wallets, and credit cards.\n",description:"Rapyd Checkout is a platform that allows businesses to accept payment in the\nform of instant UPI payments from bank accounts, e-wallets, and credit cards.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/rapyd-checkout"}]},{apiName:"Resurs",name:"Resurs",landscapeLogo:null,portraitLogo:null,summary:"The Resurs method.",description:"The Resurs method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Resurs"}]},{apiName:"SEPA",name:"SEPA",landscapeLogo:null,portraitLogo:null,summary:"SEPA simplifies payments within the European Union and facilitates the direct\ndebiting of every Euro-denominated bank account.\n",description:"SEPA simplifies payments within the European Union and facilitates the direct\ndebiting of every Euro-denominated bank account.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/SEPA"}]},{apiName:"SMSVoucher",name:"SMSVoucher",landscapeLogo:null,portraitLogo:null,summary:"SMS Voucher is a mobile voucher that can be used to transfer funds via a\nmobile phone.\n",description:"SMS Voucher is a mobile voucher that can be used to transfer funds via a\nmobile phone.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/SMSVoucher"}]},{apiName:"SPEI",name:"SPEI",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/spei.svg",portraitLogo:null,summary:"SPEI allows its customers to send and receive interbank electronic\ntransfers and obtain real-time payment confirmation in seconds.\n",description:"SPEI allows its customers to send and receive interbank electronic\ntransfers and obtain real-time payment confirmation in seconds.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/SPEI"}]},{apiName:"SafetyPay",name:"SafetyPay",landscapeLogo:null,portraitLogo:null,summary:"SafetyPay operates the largest network of banks and cash collection points in Latin America, the result of 10+ years effort, with presence in 16 countries consolidated with 380 bank partners and 180,000 collection points.\n",description:"SafetyPay operates the largest network of banks and cash collection points in Latin America, the result of 10+ years effort, with presence in 16 countries consolidated with 380 bank partners and 180,000 collection points.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/SafetyPay"}]},{apiName:"Samsung Pay",name:"Samsung Pay",landscapeLogo:null,portraitLogo:null,summary:"Samsung Pay is a mobile payment and digital wallet service by Samsung Electronics that enables users to make payments using\ncompatible phones and other Samsung-produced devices.\n",description:"Samsung Pay is a mobile payment and digital wallet service by Samsung Electronics that enables users to make payments using\ncompatible phones and other Samsung-produced devices.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!1,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Samsung%20Pay"}]},{apiName:"Siirto",name:"Siirto",landscapeLogo:null,portraitLogo:null,summary:"Siirto allows users to transfer money easily to other Siirto users by using\ntheir phone numbers.\n",description:"Siirto allows users to transfer money easily to other Siirto users by using\ntheir phone numbers.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Siirto"}]},{apiName:"Skrill",name:"Skrill",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Skrill.svg",portraitLogo:null,summary:"Skrill is a digital wallet for money transfers and online payments that offers\na safe way to pay across different platforms.\n",description:"Skrill is a digital wallet for money transfers and online payments that offers\na safe way to pay across different platforms.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Skrill"}]},{apiName:"Skrill Rapid Transfer",name:"Skrill Rapid Transfer",landscapeLogo:null,portraitLogo:null,summary:"Skrill Rapid Transfer allows users to deposit money into their Skrill wallet\nor to pay online directly.\n",description:"Skrill Rapid Transfer allows users to deposit money into their Skrill wallet\nor to pay online directly.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Skrill%20Rapid%20Transfer"}]},{apiName:"Sofort",name:"Sofort",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Sofort.svg",portraitLogo:null,summary:"Sofort is a payment method acquired by Klarna that redirects customers to\ninitiate a transfer with their bank.\n",description:"Sofort is a payment method acquired by Klarna that redirects customers to\ninitiate a transfer with their bank.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Sofort"}]},{apiName:"SparkPay",name:"SparkPay",landscapeLogo:null,portraitLogo:null,summary:"The SparkPay method.",description:"The SparkPay method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/SparkPay"}]},{apiName:"swift-dbt",name:"SWIFT Debit",landscapeLogo:null,portraitLogo:null,summary:"The SWIFT Debit method.",description:"The SWIFT Debit method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/swift-dbt"}]},{apiName:"TWINT",name:"TWINT",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/TWINT.svg",portraitLogo:null,summary:"TWINT allows customers to make convenient and secure payments via a smartpone.",description:"TWINT allows customers to make convenient and secure payments via a smartpone.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/TWINT"}]},{apiName:"Tele2",name:"Tele2",landscapeLogo:null,portraitLogo:null,summary:"Tele2 is an intergrated e-wallet that allows users to instantly receive\ndigital payments frmi TalkBank.\n",description:"Tele2 is an intergrated e-wallet that allows users to instantly receive\ndigital payments frmi TalkBank.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Tele2"}]},{apiName:"Telr",name:"Telr",landscapeLogo:null,portraitLogo:null,summary:"The Telr method.",description:"The Telr method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Telr"}]},{apiName:"Terminaly-RF",name:"Terminaly RF",landscapeLogo:null,portraitLogo:null,summary:"The Terminaly RF method.",description:"The Terminaly RF method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Terminaly-RF"}]},{apiName:"Tether",name:"Tether",landscapeLogo:null,portraitLogo:null,summary:"Tether is a cryptocurrency with tokens issued by Tether Limited.",description:"Tether is a cryptocurrency with tokens issued by Tether Limited.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Tether"}]},{apiName:"ToditoCash-card",name:"ToditoCash Card",landscapeLogo:null,portraitLogo:null,summary:"ToditoCash Card is a prepaid card service used in Mexico that allows customers\nto use the card for purchasing goods and services online.\n",description:"ToditoCash Card is a prepaid card service used in Mexico that allows customers\nto use the card for purchasing goods and services online.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/ToditoCash-card"}]},{apiName:"Trustly",name:"Trustly",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Trustly.svg",portraitLogo:null,summary:"Trustly an open banking payment method that allows customers to shop and pay\nfrom their online bank account, without the use of a card or app.\n",description:"Trustly an open banking payment method that allows customers to shop and pay\nfrom their online bank account, without the use of a card or app.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Trustly"}]},{apiName:"Tupay",name:"Tupay",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Tupay.svg",portraitLogo:null,summary:"Tupay is a one-stop-shop payment platform. It enables you to make everyday purchases in an easy, convenient, and secure manner through your favorite wallets.\nPay seamlessly, in-app, from anywhere your money is. Whether it is mobile money, a card, or bank without the need to transfer to various wallets.\n",description:"Tupay is a one-stop-shop payment platform. It enables you to make everyday purchases in an easy, convenient, and secure manner through your favorite wallets.\nPay seamlessly, in-app, from anywhere your money is. Whether it is mobile money, a card, or bank without the need to transfer to various wallets.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Tupay"}]},{apiName:"UPI",name:"UPI",landscapeLogo:null,portraitLogo:null,summary:"Unified Payments Interface (UPI) is a payment system that powers multiple bank\naccounts into a single mobile application.\n",description:"Unified Payments Interface (UPI) is a payment system that powers multiple bank\naccounts into a single mobile application.\n",countries:{mode:"subset",values:["IN"]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/UPI"}]},{apiName:"UPayCard",name:"UPayCard",landscapeLogo:null,portraitLogo:null,summary:"The UPayCard method.",description:"The UPayCard method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/UPayCard"}]},{apiName:"USD-coin",name:"USD coin",landscapeLogo:null,portraitLogo:null,summary:"The USD coin (USDC ERC20) method.\n",description:"The USD coin (USDC ERC20) method.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/USD-coin"}]},{apiName:"UniCrypt",name:"UniCrypt",landscapeLogo:null,portraitLogo:null,summary:"The UniCrypt method.",description:"The UniCrypt method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/UniCrypt"}]},{apiName:"VCreditos",name:"VCreditos",landscapeLogo:null,portraitLogo:null,summary:"VCreditos is an e-wallet for online transfers and withdrawals. The customer\ncan acquire exclusive advantages, points, and benefits.\n",description:"VCreditos is an e-wallet for online transfers and withdrawals. The customer\ncan acquire exclusive advantages, points, and benefits.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/VCreditos"}]},{apiName:"VegaWallet",name:"VegaWallet",landscapeLogo:null,portraitLogo:null,summary:"VegaWallet is an e-wallet that allows users to purchase, receive, send, and convert funds (points) between users and merchants.\n",description:"VegaWallet is an e-wallet that allows users to purchase, receive, send, and convert funds (points) between users and merchants.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/VegaWallet"}]},{apiName:"VenusPoint",name:"VenusPoint",landscapeLogo:null,portraitLogo:null,summary:"The VenusPoint method.",description:"The VenusPoint method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/VenusPoint"}]},{apiName:"voucher",name:"Voucher",landscapeLogo:null,portraitLogo:null,summary:"The voucher method.\n",description:"The voucher method.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/voucher"}]},{apiName:"Wallet88",name:"Wallet88",landscapeLogo:null,portraitLogo:null,summary:"Wallet88 payment method.",description:"Wallet88 payment method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Wallet88"}]},{apiName:"WeChat Pay",name:"WeChat Pay",landscapeLogo:null,portraitLogo:null,summary:"WeChat Pay is an e-Wallet within the Chinese social media app WeChat.",description:"WeChat Pay is an e-Wallet within the Chinese social media app WeChat.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/WeChat%20Pay"}]},{apiName:"Webmoney",name:"Webmoney",landscapeLogo:"https://app.rebilly.com/static/payment-methods/landscape/Webmoney.svg",portraitLogo:null,summary:"The Webmoney method.",description:"The Webmoney method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Webmoney"}]},{apiName:"Webpay",name:"Webpay",landscapeLogo:null,portraitLogo:null,summary:"The Webpay method.",description:"The Webpay method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Webpay"}]},{apiName:"Webpay Card",name:"Webpay Card",landscapeLogo:null,portraitLogo:null,summary:"Webpay Card allows consumers in Chile to securely use their debit and credit\ncards online.\n",description:"Webpay Card allows consumers in Chile to securely use their debit and credit\ncards online.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Webpay%20Card"}]},{apiName:"XPay-P2P",name:"XPay-P2P",landscapeLogo:null,portraitLogo:null,summary:"XPAY-P2P is a payment service provider with online merchant services & payment\ngateway integration for retailers.\n",description:"XPAY-P2P is a payment service provider with online merchant services & payment\ngateway integration for retailers.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/XPay-P2P"}]},{apiName:"XPay-QR",name:"XPay-QR",landscapeLogo:null,portraitLogo:null,summary:"XPay-QR is a contactless payment method where payments are completed by\nscannign a QR code from a mobile app.\n",description:"XPay-QR is a contactless payment method where payments are completed by\nscannign a QR code from a mobile app.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/XPay-QR"}]},{apiName:"Yandex-money",name:"Yandex Money",landscapeLogo:null,portraitLogo:null,summary:"Yandex Money serves both merchants and individual users as the largest\nelectronic payment service in Russia.\n",description:"Yandex Money serves both merchants and individual users as the largest\nelectronic payment service in Russia.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Yandex-money"}]},{apiName:"Zimpler",name:"Zimpler",landscapeLogo:null,portraitLogo:null,summary:"The Zimpler method.",description:"The Zimpler method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Zimpler"}]},{apiName:"Zotapay",name:"Zotapay",landscapeLogo:null,portraitLogo:null,summary:"Zotapay is a global payment service provider that facilitates online payment\nprocessing solutions for emerging markets worldwide.\n",description:"Zotapay is a global payment service provider that facilitates online payment\nprocessing solutions for emerging markets worldwide.\n",countries:{mode:"all",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/Zotapay"}]},{apiName:"ePay.bg",name:"ePay.bg",landscapeLogo:null,portraitLogo:null,summary:"ePay.bg is a free mobile application allowing customers to pay and receive\nmoney quickly and safely.\n",description:"ePay.bg is a free mobile application allowing customers to pay and receive\nmoney quickly and safely.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/ePay.bg"}]},{apiName:"ePayCard",name:"ePayCard",landscapeLogo:null,portraitLogo:null,summary:"ePay is a free mobile application that provides a quick and safe way to pay and receive money.\n",description:"ePay is a free mobile application that provides a quick and safe way to pay and receive money.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/ePayCard"}]},{apiName:"ezyEFT",name:"ezyEFT",landscapeLogo:null,portraitLogo:null,summary:"ezyEFT is an easy to use software application that offers customers the option\nof paying by direct debit.\n",description:"ezyEFT is an easy to use software application that offers customers the option\nof paying by direct debit.\n",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/ezyEFT"}]},{apiName:"loonie",name:"loonie",landscapeLogo:null,portraitLogo:null,summary:"The loonie method.",description:"The loonie method.",countries:{mode:"unknown",values:[]},storefrontEnabled:!0,_links:[{rel:"self",href:"https://api.rebilly.com/payment-methods/loonie"}]}];class es extends Xn{get logo(){return this.landscapeLogo||this.portraitLogo}}const ts=class{constructor({name:e="",expirationTime:t="",displayName:n="",country:r="",merchantName:a="",merchantOrigin:o="",paypalMerchantId:i="",billingAgreementToken:s="",paypalClientId:l="",linkToken:c=""}={}){this.name=e,this.expirationTime=t,this.displayName=n,this.country=r,this.merchantName=a,this.merchantOrigin=o,this.paypalMerchantId=i,this.billingAgreementToken=s,this.paypalClientId=l,this.linkToken=c}};ts.FeatureName={paypalBillingAgreement:"PayPal billing agreement",googlePay:"Google Pay",applePay:"Apple Pay"};let ns=ts;class rs{constructor({index:e=null,method:t="",feature:n=null,brands:r=[],filters:a=[],metadata:o=null}={}){this.index=e,this.method=t,this.feature=n?new ns(n):null,this.brands=r,this.filters=a,this.metadata=o?new es(o):null}get optionsPaymentInstrumentsKey(){var e;switch(null==(e=this.feature)?void 0:e.name){case ns.FeatureName.paypalBillingAgreement:return"paypal";case ns.FeatureName.googlePay:return"googlePay";case ns.FeatureName.applePay:return"applePay";default:return}}}function as(e){const t=[...Zi],n=["Google Pay","Apple Pay","paypal"],r=["echeck","Khelocard","Klarna","Apple Pay","China UnionPay","Google Pay","KakaoPay","Payco","Samsung Pay"];return e.filter((e=>{const t="paypal"===e.method&&!e.feature,n="ach"===e.method&&e.feature,a=r.includes(e.method);return!t&&!n&&!a})).map(((e,r)=>{const a=t.find((t=>t.apiName===e.method))||{};return a.isExpressMethod=(({method:e,feature:t})=>n.includes(e)||n.includes(null==t?void 0:t.name))(e),new rs({index:r,metadata:a,...e})}))}async function os(){return xo((async()=>{var e,t,n,r,a,o,i,s,l;if(!Ae.data.riskMetadata){const{riskMetadata:e}=await Vi();Ae.data.riskMetadata=e}const c={riskMetadata:Ae.data.riskMetadata};if(c.websiteId=(null==(e=Ae.options)?void 0:e.websiteId)||null,(null==(t=Ae.options)?void 0:t.items)&&(c.items=Oo(Ae.options.items)),((null==(n=Ae.options)?void 0:n.money)||(null==(r=Ae.data)?void 0:r.invoice)||(null==(a=Ae.data)?void 0:a.transaction))&&(null==(o=Ae.data)?void 0:o.amountAndCurrency)){const{amount:e,currency:t}=Ae.data.amountAndCurrency;c.amount=e,c.currency=t}(null==(s=null==(i=Ae.data)?void 0:i.account)?void 0:s.address)&&(c.billingAddress=Ae.data.account.address),(null==(l=Ae.data)?void 0:l.deposit)&&(c.amount=Ae.data.deposit.amount,c.currency=Ae.data.deposit.currency);const{fields:u}=await Ae.storefront.purchase.readyToPay({data:c});return as(Object.values(u))}))}function is(e){const t=[...Zi],n=["Google Pay","Apple Pay","paypal"],r=["echeck","Khelocard","Klarna"];return e.filter((e=>{const t="paypal"===e.method&&!e.feature,n="ach"===e.method&&e.feature,a=r.includes(e.method);return!t&&!n&&!a})).map(((e,r)=>{const a=t.find((t=>t.apiName===e.method))||{};return a.isExpressMethod=(({method:e,feature:t})=>n.includes(e)||n.includes(null==t?void 0:t.name))(e),new rs({index:r,metadata:a,...e})})).filter((({metadata:e})=>e.storefrontEnabled))}async function ss(){return xo((async()=>{var e,t,n;if(xe(Ae.options),function(e){if(null==e)throw new Error("Could not access data instance")}(Ae.data),Pe(Ae.storefront),!(null==(e=null==Ae?void 0:Ae.data)?void 0:e.riskMetadata)){const{riskMetadata:e}=await Vi();Ae.data.riskMetadata=e}const r={riskMetadata:Ae.data.riskMetadata,websiteId:Ae.options.websiteId||null};(null==(n=null==(t=null==Ae?void 0:Ae.data)?void 0:t.account)?void 0:n.address)&&(r.billingAddress=Ae.data.account.address),Ae.data.payout&&(r.amount=Ae.data.payout.amount,r.currency=Ae.data.payout.currency);const{fields:a}=await Ae.storefront.readyToPayout.readyToPayout({data:r});return is(Object.values(a))}))}const ls=class e extends Xn{get isPaid(){return this.status===e.Status.paid}get isVoid(){return this.status===e.Status.voided}get isRefunded(){return this.status===e.Status.refunded}get isAbandoned(){return this.status===e.Status.abandoned}};ls.Status={draft:"draft",unpaid:"unpaid",paid:"paid",partiallyPaid:"partially-paid",pastDue:"past-due",abandoned:"abandoned",voided:"voided",partiallyRefunded:"partially-refunded",refunded:"refunded",disputed:"disputed"};let cs=ls;async function us({data:e=null}){return xo((async()=>{var t;Pe(Ae.storefront),xe(Ae.options),Ae.storefront.setSessionToken(Ae.options.jwt);const{fields:n}=await Ae.storefront.invoices.get({...e,expand:"items.*.product"});return{products:null==(t=n.items)?void 0:t.filter((e=>e._embedded)).map((e=>{var t;return new Ki(null==(t=e._embedded)?void 0:t.product)})),invoice:new cs(n)}}))}const ds=class e extends Xn{constructor({invoiceIds:e=[],...t}){super(t),this.invoiceIds=e||[]}get invoiceId(){return this.invoiceIds[0]||null}get hasInvoice(){return Boolean(this.invoiceId)}get transactionIsCompleted(){return this.status===e.Status.completed}};ds.Status={completed:"completed"};let ps=ds;async function ms({data:e=null}){return xo((async()=>{if(Pe(Ae.storefront),xe(Ae.options),null==e)throw new Error("Invalid payload.");Ae.storefront.setSessionToken(Ae.options.jwt);const{fields:t}=await Ae.storefront.transactions.get(e);return new ps(t)}))}class fs{constructor({firstName:e=null,lastName:t=null,organization:n=null,address:r=null,address2:a=null,city:o=null,region:i=null,country:s=null,postalCode:l=null,emails:c=[],phoneNumbers:u=[]}={}){var d,p;this.firstName=e,this.lastName=t,this.organization=n,this.address=r,this.address2=a,this.city=o,this.region=i,this.country=s,this.postalCode=l,this.email=(null==(d=c.find((e=>e.primary)))?void 0:d.value)||null,this.phoneNumber=(null==(p=u.find((e=>e.primary)))?void 0:p.value)||null}}class hs extends Xn{constructor({primaryAddress:e={},...t}={}){super(t),this.address=new fs({...e})}}class ys extends Xn{}async function gs(){return xo((async()=>{var e;Pe(Ae.storefront),xe(Ae.options),Ae.storefront.setSessionToken(Ae.options.jwt);const{fields:t}=await Ae.storefront.account.get({expand:"website"});return{website:new ys(null==(e=t._embedded)?void 0:e.website),account:new hs(t)}}))}async function bs(){return xo((async()=>{Pe(Ae.storefront);const{items:e}=await Ae.storefront.paymentInstruments.getAll({filter:"status:active,inactive,verification-needed"});return e.map((({fields:e})=>e))}))}class vs extends Xn{constructor(e){super(e),this.amount=Array.isArray(e.amounts)?e.amounts[0]:e.amount,e.buttons?this.buttons=e.buttons:e.amounts?this.buttons=[...e.amounts]:this.buttons=[],this.editable="boolean"==typeof e.editable?e.editable:Boolean(e.customAmount),this.customAmount=ke({minimum:1,maximum:1e12,multipleOf:1},e.customAmount||{})}}async function ws({data:e=null}){return xo((async()=>{if(Pe(Ae.storefront),xe(Ae.options),null==e)throw new Error("Invalid payload.");Ae.storefront.setSessionToken(Ae.options.jwt);const{fields:t}=await Ae.storefront.depositRequests.get(e);return new vs(t)}))}const ks=class e extends Xn{constructor(e={}){super(e)}get isPending(){return this.status===e.Status.pending}};ks.Status={pending:"pending",instrumentSelected:"instrument-selected",partiallyFulfilled:"partially-fulfilled",fulfilled:"fulfilled",canceled:"canceled"};let $s=ks;async function Es(e){return xo((async()=>{Pe(Ae.storefront),xe(Ae.options);const{fields:t}=await Ae.storefront.payoutRequests.get(e);return new $s(t)}))}function _s(e){return null!=e&&"depositRequestId"in e&&"string"==typeof e.depositRequestId}const Ss={type:"object",oneOf:[{type:"object",properties:{depositRequestId:{type:"string"}},required:["depositRequestId"]},{type:"object",properties:{currency:{type:"string",minLength:3,maxLength:3},amount:{type:"number"},buttons:{type:"array",items:{type:"number"}},editable:{type:"boolean"},customAmount:{type:"object",properties:{minimum:{type:"number"},maximum:{type:"number"},multipleOf:{type:"number"}},required:[]}},anyOf:[{required:["amount"]},{required:["buttons"]}],required:["currency"]}]},Ps=["utm_source","utm_medium","utm_campaign","utm_term","utm_content","affiliate","subAffiliate","clickId","salesAgent"],xs=/utm_/g,As=()=>{const{href:e,origin:t,pathname:n,search:r}=window.location,a={path:e.length<=255?e:`${t}${n}`};return r.replace("?","").split("&").map((e=>e.split("="))).filter((e=>{const[t]=e;return Ps.indexOf(t)>-1})).reduce(((e,t)=>{const[n,r=null]=t,a=n.replace(xs,"");return a&&(e[a]=r),e}),a)};class Is{constructor({...e}={}){var t;Object.entries({...Ae.data||{},...e}).forEach((([e,t])=>{this[e]=t})),this.money=(null==(t=Ae.options)?void 0:t.money)||null,this.couponIds=[],this.addons=[],this.acceptBumpOffer=!1}get amountAndCurrency(){let e,t,n;this.previewPurchase?(e=this.previewPurchase.currency,t=this.previewPurchase.total):this.invoice?(e=this.invoice.currency,t=this.invoice.amount,n=this.invoice.amountDue):this.transaction?(e=this.transaction.currency,t=this.transaction.amount):this.money&&(e=this.money.currency,t=this.money.amount);const r={amount:t,currency:e};return n&&(r.amountDue=n),r}get isPayment(){return Boolean(this.invoice||this.transaction||this.money)}get isDepositTransaction(){var e;return Boolean(null==(e=this.transaction)?void 0:e.depositRequestId)}get isInvoice(){return Boolean(this.invoice)}get isPurchase(){return Boolean(this.previewPurchase)}get hasAmountDue(){return!(!this.amountAndCurrency.amountDue||this.amountAndCurrency.amountDue===this.amountAndCurrency.amount)}get summaryItems(){const{discountsAmount:e=null,shippingAmount:t=null,subtotalAmount:n=null,taxAmount:r=null}=this.previewPurchase||this.invoice||{};return{discountsAmount:e,shippingAmount:t,subtotalAmount:n,taxAmount:r}}get summaryLineItems(){let e=[];return this.invoice?({items:e=[]}=this.invoice):({lineItems:e=[]}=this.previewPurchase||{}),e}get isShippingRequired(){return(this.products||[]).some((e=>e.requiresShipping))}toPostmatesModel(){return JSON.parse(JSON.stringify({...this,amountAndCurrency:this.amountAndCurrency,isPayment:this.isPayment,isInvoice:this.isInvoice,isPurchase:this.isPurchase,isDepositTransaction:this.isDepositTransaction,hasAmountDue:this.hasAmountDue,summaryItems:this.summaryItems,summaryLineItems:this.summaryLineItems,isShippingRequired:this.isShippingRequired,leadSource:As()}))}}async function Rs({riskMetadata:e=null,fetchInvoiceAndProducts:t=us,fetchTransaction:n=ms,fetchAccountAndWebsite:r=gs,fetchInstruments:a=bs,fetchDepositRequest:o=ws,fetchPayoutRequest:i=Es}={}){var s,l,c,u,d,p,m,f,h,y,g,b,v,w;try{if(Ae.data=new Is,Ae.storefront&&(null==(s=Ae.options)?void 0:s.jwt)&&Ae.storefront.setSessionToken(Ae.options.jwt),e)Ae.data.riskMetadata=e;else{const{riskMetadata:e}=await Vi();Ae.data.riskMetadata=e}let k;(null==(l=Ae.options)?void 0:l.deposit)&&(_s(Ae.options.deposit)?Ae.data.deposit=await o({data:{id:Ae.options.deposit.depositRequestId}}):Ae.data.deposit=new vs(Ae.options.deposit)),(null==(c=Ae.options)?void 0:c.payout)&&(Ae.data.payout=await i({id:Ae.options.payout.payoutRequestId})),(null==(u=Ae.options)?void 0:u.transactionId)&&(Ae.data.transaction=await n({data:{id:Ae.options.transactionId}}));const $=(null==(d=Ae.options)?void 0:d.invoiceId)||(null==(m=null==(p=Ae.data)?void 0:p.transaction)?void 0:m.invoiceId);if($){const{invoice:e,products:n}=await t({data:{id:$}});k=Promise.resolve(n),Ae.data.invoice=e}let E=Promise.resolve(null),_=Promise.resolve(null),S=Promise.resolve(),P=null;(null==(f=Ae.options)?void 0:f.jwt)?(S=r().then((({account:e,website:t})=>{if(null==Ae.data)throw new Error("Invalid data instance");Ae.data.account=e,Ae.data.website=t})),(null==(h=Ae.options)?void 0:h.payout)?_=S.then((()=>ss())):E=S.then((()=>os())),P=a()):(null==(y=Ae.options)?void 0:y.payout)?_=ss():E=os();const x=(null==(g=Ae.options)?void 0:g.items)?Lo():null;(null==(b=Ae.options)?void 0:b.jwt)||(k=async function(){return xo((async()=>{var e,t,n,r;let a;a=(null==(e=Ae.data)?void 0:e.summaryLineItems)&&Ae.data.summaryLineItems.length>0?Ae.data.summaryLineItems:(null==(t=Ae.options)?void 0:t.items)??[];const o={filter:"",expand:"product"};if(a.length){let e=a.map((e=>e.planId));(null==(n=Ae.options)?void 0:n.addons)&&(e=e.concat(Ae.options.addons.map((e=>e.planId)))),(null==(r=Ae.options)?void 0:r.bumpOffer)&&(e=e.concat(Ae.options.bumpOffer.map((e=>e.planId)))),o.filter=`id:${Array.from(new Set(e)).join(",")}`}if(o.filter.length)try{Pe(Ae.storefront);const{items:e}=await Ae.storefront.plans.getAll(o),t=[];return e.map((({fields:e})=>{var t;return new Ki(null==(t=e._embedded)?void 0:t.product)})).forEach((e=>{t.every((t=>t.id!==e.id))&&t.push(e)})),t}catch(i){}return[]}))}());let A=new Promise((e=>{e([])}));((null==(v=Ae.options)?void 0:v.addons)||(null==(w=Ae.options)?void 0:w.bumpOffer))&&(A=async function(){return xo((async()=>{var e,t;let n=[];if((null==(e=Ae.options)?void 0:e.addons)&&(n=n.concat(Ae.options.addons.map((e=>e.planId)))),(null==(t=Ae.options)?void 0:t.bumpOffer)&&(n=n.concat(Ae.options.bumpOffer.map((e=>e.planId)))),n.length>0){Pe(Ae.storefront);const{items:e}=await Ae.storefront.plans.getAll({filter:`id:${n.join(",")}`});return e.map((({fields:e})=>new Yi(e).toPayload()))}return[]}))}());const[I,R,T,C,O,N]=await Promise.all([_,E,x,k,A,P]);return new Is({readyToPayout:I,readyToPay:R,previewPurchase:T,products:C,plans:O,availableInstruments:N})}catch(k){}return new Is({})}function Ts({state:e,id:t}){const{Framepay:n}=window,r=e.form.querySelector(`.rebilly-instruments-${t}-method`);function a(){if(!r.children.length){const r={"google-pay":"googlePay","pay-pal-billing-agreement":"paypal","apple-pay":"applePay"},a=e.form.querySelector(`.rebilly-instruments-${t}-method`);r[t]?(n[r[t]].mount(a),"apple-pay"===t&&function(){const t=e.form.querySelector("#rebilly-apple-pay-button"),{applePayDisplayOptions:{buttonHeight:n}}=e.options.digitalWallet.applePay;t.style.margin="0px",t.style.width="100%",t.style.height=n,t.style.cursor="pointer"}()):console.warn(`method '${t}' is not supported`)}}null==n||n.on("ready",(()=>{a()})),null==n||n.on("error",(e=>{console.error(e)}))}const Cs=e=>{var t,n;return{METHOD_ID:Ln((null==(t=e.feature)?void 0:t.name)||e.method),METHOD_TYPE:Vt((null==(n=e.feature)?void 0:n.name)||e.method).replace("-","")}},Os=()=>window.ApplePaySession;async function Ns({methods:e,container:t}){const n=e.map((e=>{const{METHOD_ID:t}=Cs(e);return t})),{Framepay:r}=window;(null==r?void 0:r.initialized)||await(null==r?void 0:r.initialize(function({methodIds:e}={}){var t,n;const{options:r,data:a}=Ae,o={style:r.themeFramepay,locale:(null==r?void 0:r.locale)||"auto",organizationId:r.organizationId,websiteId:r.websiteId,methods:r.payout?a.readyToPayout:a.readyToPay};return e.includes("pay-pal-billing-agreement")&&(o.transactionData=ke("object"==typeof o.transactionData?o.transactionData:{},a.amountAndCurrency),o.paypal=r.paymentInstruments.paypal),e.includes("google-pay")&&(o.transactionData=ke("object"==typeof o.transactionData?o.transactionData:{},null==(t=r.digitalWallet.googlePay)?void 0:t.transactionData),o.googlePay=r.digitalWallet.googlePay.googlePayDisplayOptions),e.includes("apple-pay")&&(o.transactionData=ke("object"==typeof o.transactionData?o.transactionData:{},null==(n=r.digitalWallet.applePay)?void 0:n.transactionData),o.applePay=r.digitalWallet.applePay.applePayDisplayOptions),r.publishableKey&&(o.publishableKey=r.publishableKey),r.jwt&&(o.jwt=r.jwt,o.sandbox="sandbox"===r.apiMode),a.riskMetadata&&(o.riskMetadata=a.riskMetadata),o}({methodIds:n}))),e.forEach((e=>{const{METHOD_ID:n}=Cs(e);("apple-pay"!==n||Os())&&(t.innerHTML+=`\n <div class="rebilly-instruments-${n}-method" style="height: ${function(e){var t,n;let r;const a=e.optionsPaymentInstrumentsKey;if(!a)return"48px";const{buttonHeight:o,displayOptions:i}=(null==(n=null==(t=Ae.options)?void 0:t.paymentInstruments)?void 0:n[a])||{};return r=i?i.buttonHeight:o,"number"==typeof r&&(r=`${o}px`),r}(e)}"></div>\n `,Ts({state:Ae,id:n}))}));const a="sandbox"===Ae.options.apiMode?"https://forms-sandbox.secure-payments.app/approval-url?close=true":"https://forms.secure-payments.app/approval-url?close=true";null==r||r.on("token-ready",(e=>{var t,n,r;const o={websiteId:Ae.options.websiteId,billingAddress:e.billingAddress,redirectUrl:a,_raw:e};if((null==(t=Ae.data)?void 0:t.isShippingRequired)&&(e.shippingAddress?o.deliveryAddress=e.shippingAddress:o.deliveryAddress=o.billingAddress),Array.isArray(null==(n=o.billingAddress)?void 0:n.emails)){const e=o.billingAddress.emails.find((e=>"main"===e.label));(null==e?void 0:e.value)&&(o.billingAddress.email=e.value)}if(Array.isArray(null==(r=o.deliveryAddress)?void 0:r.emails)){const e=o.deliveryAddress.emails.find((e=>"main"===e.label));(null==e?void 0:e.value)&&(o.deliveryAddress.email=e.value)}Mn.instrumentReady.dispatch(o)}))}function Ls({offer:e}){const t=Ae.data.plans.find((t=>t.id===e.planId)),n=Ae.data.products.find((e=>e.id===t.productId)),r=(e,t)=>e?t:"";const a={...e,quantity:t.pricing.isBracket?null:e.quantity,name:n.name,description:t.name,unitPrice:function(){const e=function(e,t="USD"){const n=Number(e);return Number.isNaN(n)||null==e?"-":new Intl.NumberFormat("en-US",{style:"currency",currency:t}).format(n)}(t.pricing.isBracket?t.pricing.brackets[0].price:t.pricing.price,t.currency);return t.pricing.isBracket?Ae.translate.getTranslation("form.bumpOffer.startingAt").replace("{basePrice}",e):e}()};return`\n <div class="rebilly-instruments-bump-offer-line-item">\n ${o=a,r(o.thumbnail,`\n <figure class="rebilly-instruments-bump-offer-line-item-figure">\n <img src="${o.thumbnail}" :alt="${o.name}"/>\n </figure>\n `)}\n ${(e=>`\n <div class="rebilly-instruments-bump-offer-line-item-synopsis">\n <p class="rebilly-instruments-bump-offer-line-item-synopsis-title">\n ${e.name}\n </p>\n ${r(e.description,`\n <p class="rebilly-instruments-bump-offer-line-item-synopsis-description">\n ${e.description}\n </p>\n `)}\n </div>\n `)(a)}\n ${(e=>`\n <div class="rebilly-instruments-bump-offer-line-item-price-breakdown">\n ${r(e.quantity,`\n <p class="rebilly-instruments-bump-offer-line-item-price-breakdown-quantity">\n ${e.quantity}\n </p>\n <svg class="rebilly-instruments-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">\n <path d="M12 10.5858l2.8284-2.8284c.3906-.3906 1.0237-.3906 1.4142 0 .3906.3905.3906 1.0236 0 1.4142L13.4142 12l2.8284 2.8284c.3906.3906.3906 1.0237 0 1.4142-.3905.3906-1.0236.3906-1.4142 0L12 13.4142l-2.8284 2.8284c-.3906.3906-1.0237.3906-1.4142 0-.3906-.3905-.3906-1.0236 0-1.4142L10.5858 12 7.7574 9.1716c-.3906-.3906-.3906-1.0237 0-1.4142.3905-.3906 1.0236-.3906 1.4142 0L12 10.5858z" fill-rule="nonzero"/>\n </svg>\n `)}\n <p class="rebilly-instruments-bump-offer-line-item-price-breakdown-unit-price">\n ${e.unitPrice}\n </p>\n <div>\n `)(a)}\n </div>\n `;var o}async function js(){var e,t,n;Ae.data.money&&(Ae.data.money.amount=null,Ae.data.money.currency=null,Ae.updateModel());const r=Se.form;r||await zs();const a=Ae.toModel(),o={options:a.options,data:a.data};null==(e=r.component)||e.call("route",{name:"amount-selector"}),null==(t=r.component)||t.call("update",o),null==(n=null==r?void 0:r.component)||n.on("confirm-amount",(async e=>{const{amount:t,currency:n}=e;Ae.data.money={amount:t,currency:n};const r=await os();Ae.data.readyToPay=r,Ae.updateModel(),qs()}))}function Fs(e,t=Ae.form){return t.querySelector(`[data-rebilly-instruments="${e}"]`)}const Ms=()=>{const e=document.createElement("div");return e.classList.add("rebilly-instruments-bump-offers"),e.setAttribute("data-rebilly-instruments","bump-offer"),e};function Hs(){var e,t,n;const{expressMethods:r}=Wi();if(null==(e=Ae.options)?void 0:e.deposit){const e=Fs("deposit-back");e&&(e.style.height="0px",e.style.overflow="hidden")}if(r.length){const e=Fs("express-methods");e&&(e.style.height="0px",e.style.overflow="hidden")}if(null==(n=null==(t=Ae.options)?void 0:t.bumpOffer)?void 0:n.length){const e=Fs("bump-offer");e&&(e.style.height="0px",e.style.overflow="hidden",e.style.marginBottom="0px")}}const Bs=()=>{const e=document.createElement("div");e.setAttribute("data-rebilly-instruments","deposit-back"),e.innerHTML+='\n <div class="rebilly-instruments-confirmation-go-back-link" style="display: inline-block;margin-bottom: var(--rebilly-spacingM);margin-left: calc(var(--rebilly-spacingXs) * -1);">\n <a\n class="rebilly-instruments-link has-icon-left"\n style="display: inline-flex;color: var(--rebilly-colorPrimary);cursor: pointer;"\n >\n <svg\n class="rebilly-instruments-icon"\n style="margin-right: var(--rebilly-spacingXs);fill: var(--rebilly-colorPrimary)"\n viewBox="0 0 24 24"\n xmlns="http://www.w3.org/2000/svg"\n >\n <path\n d="M6.2929 11.2929l5-5c.3905-.3905 1.0237-.3905 1.4142 0 .3905.3905.3905 1.0237 0 1.4142L9.4142 11H17c.5523 0 1 .4477 1 1s-.4477 1-1 1H9.4142l3.293 3.2929c.3904.3905.3904 1.0237 0 1.4142-.3906.3905-1.0238.3905-1.4143 0l-5-5A.9969.9969 0 016 12c0-.2761.112-.5261.2929-.7071z"\n fill-rule="nonzero"\n />\n </svg>\n <span data-rebilly-i18n="deposit.goBack"></span>\n </a>\n </div>\n ';return e.querySelector(".rebilly-instruments-link").addEventListener("click",(()=>{Hs(),js()})),e},Ds=({expressMethods:e})=>{const t=document.createElement("div");t.classList.add("rebilly-instruments-method-selector"),t.setAttribute("data-rebilly-instruments","express-methods"),t.innerHTML='\n <div class="rebilly-instruments-express-methods ">\n <span data-rebilly-i18n="form.expressCheckout" class="rebilly-instruments-express-methods-label">Express checkout</span>\n <div class="rebilly-instruments-express-methods-container" data-rebilly-instruments="express-methods-container"></div>\n </div>\n <div data-rebilly-instruments="divider" class="rebilly-instruments-divider">\n <span class="rebilly-instruments-divider-label" data-rebilly-i18n="form.or">Or</span>\n </div>\n ';const n=Fs("express-methods-container",t);return Ae.options.paymentInstruments.compactExpressInstruments&&e.length&&(t.classList.add("has-express-compact"),n.classList.add("is-compact")),t};async function qs(){var e,t,n,r,a,o,i,s;const l=Fs("content"),c=Fs("form"),{expressMethods:u,methods:d}=Wi();if(null==(e=Ae.options)?void 0:e.deposit){const e=Fs("deposit-back");e?e.style.height="auto":l.insertBefore(Bs(),c)}if(u.length){const e=Fs("express-methods");if(e)e.style.height="auto";else{l.insertBefore(Ds({expressMethods:u}),c),Ae.options.digitalWallet=function({expressMethods:e=[]}){var t;const n={},{paymentInstruments:r}=Ae.options,a={countryCode:Ae.options.countryCode,label:Ae.options.websiteId};if(null==(t=Ae.data)?void 0:t.amountAndCurrency){const{amount:e,currency:t}=Ae.data.amountAndCurrency;a.amount=e,a.currency=t}return e.forEach((e=>{var t,o,i,s;const{METHOD_TYPE:l}=Cs(e);"Google Pay"===(null==(t=e.feature)?void 0:t.name)&&(n[l]={transactionData:a,merchantConfig:{merchantName:e.feature.merchantName,merchantOrigin:e.feature.merchantOrigin},googlePayDisplayOptions:r.googlePay.displayOptions}),"Apple Pay"===(null==(o=e.feature)?void 0:o.name)&&(n[l]={transactionData:a,merchantConfig:{merchantName:null==(s=null==(i=r.applePay)?void 0:i.merchantConfig)?void 0:s.merchantName,merchantOrigin:window.location.hostname},applePayDisplayOptions:r.applePay.displayOptions})})),n}({expressMethods:u});Ns({methods:u,container:Ae.form.querySelector('[data-rebilly-instruments="express-methods-container"]')})}}if(null==(n=null==(t=Ae.options)?void 0:t.bumpOffer)?void 0:n.length){const e=Fs("bump-offer");if(e)e.style.height="auto",e.style.marginBottom="calc(var(--rebilly-spacingM) + var(--rebilly-fontSizeS))";else{l.insertBefore(Ms(),c);!function({container:e}){e.insertAdjacentHTML("beforeEnd",`\n <label for="rebilly-instruments-bump-offer" class="rebilly-instruments-form-field-checkbox">\n <div class="rebilly-instruments-bump-offer-label" data-rebilly-i18n="form.bumpOffer.title">\n ${Ae.translate.getTranslation("form.bumpOffer.title")}\n </div>\n <input\n type="checkbox"\n id="rebilly-instruments-bump-offer"\n />\n <span></span>\n </label>\n `);const t=document.getElementById("rebilly-instruments-bump-offer");t.addEventListener("click",(async()=>{Ae.data.acceptBumpOffer=t.checked,await Lo(),Ae.updateModel()})),t.checked=Ae.data.acceptBumpOffer,Ae.options.bumpOffer.forEach((t=>{const n=document.createElement("div");n.classList.add("rebilly-instruments-bump-offer"),n.insertAdjacentHTML("beforeEnd",Ls({offer:t})),e.appendChild(n)}))}({container:Fs("bump-offer")})}}if(d.length){const e=Se.form;e||await zs();const t=Ae.toModel(),n={options:t.options,data:t.data};null==(r=null==e?void 0:e.component)||r.call("route",{name:"method-switch"}),null==(a=null==e?void 0:e.component)||a.call("update",n),(null==(i=null==(o=null==e?void 0:e.component)?void 0:o.events)?void 0:i["restart-payment-flow"])||null==(s=null==e?void 0:e.component)||s.on("restart-payment-flow",(async e=>{if(null==e?void 0:e.createNewDeposit){const t=await async function({data:e}){return xo((async()=>{if(Pe(Ae.storefront),xe(Ae.options),null==e)throw new Error("Invalid payload.");Ae.storefront.setSessionToken(Ae.options.jwt);const{fields:t}=await Ae.storefront.deposit.create({data:e});return new ps(t)}))}({data:{depositRequestId:e.depositRequestId,amount:e.amount}});if(t.approvalUrl)return void window.location.assign(t.approvalUrl)}Ae.data.isPurchase&&Mo(),qs()}))}else Ae.loader.stopLoading({id:"rebilly-instruments-form"}),Ae.form.querySelector('[data-rebilly-instruments="form"]').style.display="none",document.querySelectorAll('[data-rebilly-instruments="divider"]').forEach((e=>{e.style.display="none"}));Ae.translate.translateItems()}const Us=()=>'\n<div data-rebilly-instruments="content" class="rebilly-instruments-content">\n <div data-rebilly-instruments="content-error" id="rebilly-instruments-error"></div>\n <div data-rebilly-instruments="form"></div>\n</div>\n';async function zs(){var e;Ae.form.innerHTML+=Us();const t=Ae.form.querySelector('[data-rebilly-instruments="form"]'),{paymentMethodsUrl:n}=(null==(e=null==Ae?void 0:Ae.options)?void 0:e._computed)||{},r="rebilly-instruments-form",a=Ae.toModel(),o={name:r,url:`${n}?name=${r}`,container:t,model:{options:a.options,data:a.data,mainStyleVars:a.mainStyleVars}},i=await new Wn(o);return i.bindEventListeners({loader:Ae.loader}),Se.form=i,Ae.loader.stopLoading({id:"rebilly-instruments-form"}),{then:e=>e()}}function Vs({element:e="div",attributes:t={},content:n=null,target:r="body",insertMethod:a="append"}={}){const o=document.createElement(e);Object.entries(t).forEach((([e,t])=>{o.setAttribute(e,t)})),n&&(o.innerHTML=n),r instanceof ShadowRoot?r.prepend(o):document[r][a](o)}const Ws=({element:e=""})=>{const{options:t}=Ae;if("form"!==e&&"summary"!==e)throw new Error('element must be "form", or "summary"');return function({prop:e,propName:t="Mounting",isRequired:n=!0}={}){let r;if(void 0===e)throw new Error('processPropertyDOMElement: Missing argument "prop"');if(he(e))r=e;else{if("string"!=typeof e||"string"!=typeof(a=e)||!a.match(/([.#][_a-z]+[_a-z0-9-:\\]*)/gi))throw new Error(`Please provide a valid CSS class, id or DOM element for "${t}" property`);r=document.querySelector(e)}var a;if(!r&&n)throw new Error(`Could not find DOM element with CSS class or id "${e}" to mount ${t}`);return r}({prop:null!=t&&t[e]?t[e]:"summary"===e?".rebilly-instruments-summary":".rebilly-instruments",propName:e,isRequired:["form"].includes(e)})},Ks=()=>{xe(Ae.options);const{publishableKey:e,organizationId:t,apiMode:n,_dev:r}=Ae.options,a={organizationId:t,mode:n||"live"};return e&&(a.publishableKey=e),r&&(a.liveUrl=r.liveUrl||"https://api.rebilly.com",a.sandboxUrl=r.sandboxUrl||"https://api-sandbox.rebilly.com"),((e={})=>new Ao(e))(a)};function Gs(e){this.message=e}Gs.prototype=new Error,Gs.prototype.name="InvalidCharacterError";var Js="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,"");if(t.length%4==1)throw new Gs("'atob' failed: The string to be decoded is not correctly encoded.");for(var n,r,a=0,o=0,i="";r=t.charAt(o++);~r&&(n=a%4?64*n+r:r,a++%4)?i+=String.fromCharCode(255&n>>(-2*a&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return i};function Xs(e){this.message=e}function Qs(e,t){if("string"!=typeof e)throw new Xs("Invalid token specified");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(function(e){var t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw"Illegal base64url string!"}try{return decodeURIComponent(Js(t).replace(/(.)/g,(function(e,t){var n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n})))}catch(n){return Js(t)}}(e.split(".")[n]))}catch(r){throw new Xs("Invalid token specified: "+r.message)}}Xs.prototype=new Error,Xs.prototype.name="InvalidTokenError";var Ys={exports:{}},Zs={},el={},tl={},nl={},rl={},al={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;class t{}e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class n extends t{constructor(t){if(super(),!e.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}e.Name=n;class r extends t{constructor(e){super(),this._items="string"==typeof e?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const e=this._items[0];return""===e||'""'===e}get str(){var e;return null!==(e=this._str)&&void 0!==e?e:this._str=this._items.reduce(((e,t)=>`${e}${t}`),"")}get names(){var e;return null!==(e=this._names)&&void 0!==e?e:this._names=this._items.reduce(((e,t)=>(t instanceof n&&(e[t.str]=(e[t.str]||0)+1),e)),{})}}function a(e,...t){const n=[e[0]];let a=0;for(;a<t.length;)s(n,t[a]),n.push(e[++a]);return new r(n)}e._Code=r,e.nil=new r(""),e._=a;const o=new r("+");function i(e,...t){const n=[c(e[0])];let a=0;for(;a<t.length;)n.push(o),s(n,t[a]),n.push(o,c(e[++a]));return function(e){let t=1;for(;t<e.length-1;){if(e[t]===o){const n=l(e[t-1],e[t+1]);if(void 0!==n){e.splice(t-1,3,n);continue}e[t++]="+"}t++}}(n),new r(n)}function s(e,t){var a;t instanceof r?e.push(...t._items):t instanceof n?e.push(t):e.push("number"==typeof(a=t)||"boolean"==typeof a||null===a?a:c(Array.isArray(a)?a.join(","):a))}function l(e,t){if('""'===t)return e;if('""'===e)return t;if("string"==typeof e){if(t instanceof n||'"'!==e[e.length-1])return;return"string"!=typeof t?`${e.slice(0,-1)}${t}"`:'"'===t[0]?e.slice(0,-1)+t.slice(1):void 0}return"string"!=typeof t||'"'!==t[0]||e instanceof n?void 0:`"${e}${t.slice(1)}`}function c(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}e.str=i,e.addCodeArg=s,e.strConcat=function(e,t){return t.emptyStr()?e:e.emptyStr()?t:i`${e}${t}`},e.stringify=function(e){return new r(c(e))},e.safeStringify=c,e.getProperty=function(t){return"string"==typeof t&&e.IDENTIFIER.test(t)?new r(`.${t}`):a`[${t}]`},e.getEsmExportName=function(t){if("string"==typeof t&&e.IDENTIFIER.test(t))return new r(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)},e.regexpCode=function(e){return new r(e.toString())}}(al);var ol={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;const t=al;class n extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}}var r,a;(a=r=e.UsedValueState||(e.UsedValueState={}))[a.Started=0]="Started",a[a.Completed=1]="Completed",e.varKinds={const:new t.Name("const"),let:new t.Name("let"),var:new t.Name("var")};class o{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof t.Name?e:this.name(e)}name(e){return new t.Name(this._newName(e))}_newName(e){return`${e}${(this._names[e]||this._nameGroup(e)).index++}`}_nameGroup(e){var t,n;if((null===(n=null===(t=this._parent)||void 0===t?void 0:t._prefixes)||void 0===n?void 0:n.has(e))||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}}e.Scope=o;class i extends t.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:n,itemIndex:r}){this.value=e,this.scopePath=t._`.${new t.Name(n)}[${r}]`}}e.ValueScopeName=i;const s=t._`\n`;e.ValueScope=class extends o{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?s:t.nil}}get(){return this._scope}name(e){return new i(e,this._newName(e))}value(e,t){var n;if(void 0===t.ref)throw new Error("CodeGen: ref must be passed in value");const r=this.toName(e),{prefix:a}=r,o=null!==(n=t.key)&&void 0!==n?n:t.ref;let i=this._values[a];if(i){const e=i.get(o);if(e)return e}else i=this._values[a]=new Map;i.set(o,r);const s=this._scope[a]||(this._scope[a]=[]),l=s.length;return s[l]=t.ref,r.setValue(t,{property:a,itemIndex:l}),r}getValue(e,t){const n=this._values[e];if(n)return n.get(t)}scopeRefs(e,n=this._values){return this._reduceValues(n,(n=>{if(void 0===n.scopePath)throw new Error(`CodeGen: name "${n}" has no value`);return t._`${e}${n.scopePath}`}))}scopeCode(e=this._values,t,n){return this._reduceValues(e,(e=>{if(void 0===e.value)throw new Error(`CodeGen: name "${e}" has no value`);return e.value.code}),t,n)}_reduceValues(a,o,i={},s){let l=t.nil;for(const c in a){const u=a[c];if(!u)continue;const d=i[c]=i[c]||new Map;u.forEach((a=>{if(d.has(a))return;d.set(a,r.Started);let i=o(a);if(i){const n=this.opts.es5?e.varKinds.var:e.varKinds.const;l=t._`${l}${n} ${a} = ${i};${this.opts._n}`}else{if(!(i=null==s?void 0:s(a)))throw new n(a);l=t._`${l}${i}${this.opts._n}`}d.set(a,r.Completed)}))}return l}}}(ol),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;const t=al,n=ol;var r=al;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(e,"strConcat",{enumerable:!0,get:function(){return r.strConcat}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(e,"getProperty",{enumerable:!0,get:function(){return r.getProperty}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(e,"regexpCode",{enumerable:!0,get:function(){return r.regexpCode}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return r.Name}});var a=ol;Object.defineProperty(e,"Scope",{enumerable:!0,get:function(){return a.Scope}}),Object.defineProperty(e,"ValueScope",{enumerable:!0,get:function(){return a.ValueScope}}),Object.defineProperty(e,"ValueScopeName",{enumerable:!0,get:function(){return a.ValueScopeName}}),Object.defineProperty(e,"varKinds",{enumerable:!0,get:function(){return a.varKinds}}),e.operators={GT:new t._Code(">"),GTE:new t._Code(">="),LT:new t._Code("<"),LTE:new t._Code("<="),EQ:new t._Code("==="),NEQ:new t._Code("!=="),NOT:new t._Code("!"),OR:new t._Code("||"),AND:new t._Code("&&"),ADD:new t._Code("+")};class o{optimizeNodes(){return this}optimizeNames(e,t){return this}}class i extends o{constructor(e,t,n){super(),this.varKind=e,this.name=t,this.rhs=n}render({es5:e,_n:t}){const r=e?n.varKinds.var:this.varKind,a=void 0===this.rhs?"":` = ${this.rhs}`;return`${r} ${this.name}${a};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&(this.rhs=I(this.rhs,e,t)),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}}class s extends o{constructor(e,t,n){super(),this.lhs=e,this.rhs=t,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,n){if(!(this.lhs instanceof t.Name)||e[this.lhs.str]||this.sideEffects)return this.rhs=I(this.rhs,e,n),this}get names(){return A(this.lhs instanceof t.Name?{}:{...this.lhs.names},this.rhs)}}class l extends s{constructor(e,t,n,r){super(e,n,r),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}}class c extends o{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}}class u extends o{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}}class d extends o{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}}class p extends o{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=I(this.code,e,t),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}}class m extends o{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce(((t,n)=>t+n.render(e)),"")}optimizeNodes(){const{nodes:e}=this;let t=e.length;for(;t--;){const n=e[t].optimizeNodes();Array.isArray(n)?e.splice(t,1,...n):n?e[t]=n:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){const{nodes:n}=this;let r=n.length;for(;r--;){const a=n[r];a.optimizeNames(e,t)||(R(e,a.names),n.splice(r,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce(((e,t)=>x(e,t.names)),{})}}class f extends m{render(e){return"{"+e._n+super.render(e)+"}"+e._n}}class h extends m{}class y extends f{}y.kind="else";class g extends f{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+="else "+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();const e=this.condition;if(!0===e)return this.nodes;let t=this.else;if(t){const e=t.optimizeNodes();t=this.else=Array.isArray(e)?new y(e):e}return t?!1===e?t instanceof g?t:t.nodes:this.nodes.length?this:new g(T(e),t instanceof g?[t]:t.nodes):!1!==e&&this.nodes.length?this:void 0}optimizeNames(e,t){var n;if(this.else=null===(n=this.else)||void 0===n?void 0:n.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=I(this.condition,e,t),this}get names(){const e=super.names;return A(e,this.condition),this.else&&x(e,this.else.names),e}}g.kind="if";class b extends f{}b.kind="for";class v extends b{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=I(this.iteration,e,t),this}get names(){return x(super.names,this.iteration.names)}}class w extends b{constructor(e,t,n,r){super(),this.varKind=e,this.name=t,this.from=n,this.to=r}render(e){const t=e.es5?n.varKinds.var:this.varKind,{name:r,from:a,to:o}=this;return`for(${t} ${r}=${a}; ${r}<${o}; ${r}++)`+super.render(e)}get names(){const e=A(super.names,this.from);return A(e,this.to)}}class k extends b{constructor(e,t,n,r){super(),this.loop=e,this.varKind=t,this.name=n,this.iterable=r}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=I(this.iterable,e,t),this}get names(){return x(super.names,this.iterable.names)}}class $ extends f{constructor(e,t,n){super(),this.name=e,this.args=t,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}}$.kind="func";class E extends m{render(e){return"return "+super.render(e)}}E.kind="return";class _ extends f{render(e){let t="try"+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),null===(e=this.catch)||void 0===e||e.optimizeNodes(),null===(t=this.finally)||void 0===t||t.optimizeNodes(),this}optimizeNames(e,t){var n,r;return super.optimizeNames(e,t),null===(n=this.catch)||void 0===n||n.optimizeNames(e,t),null===(r=this.finally)||void 0===r||r.optimizeNames(e,t),this}get names(){const e=super.names;return this.catch&&x(e,this.catch.names),this.finally&&x(e,this.finally.names),e}}class S extends f{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}}S.kind="catch";class P extends f{render(e){return"finally"+super.render(e)}}P.kind="finally";function x(e,t){for(const n in t)e[n]=(e[n]||0)+(t[n]||0);return e}function A(e,n){return n instanceof t._CodeOrName?x(e,n.names):e}function I(e,n,r){return e instanceof t.Name?o(e):(a=e)instanceof t._Code&&a._items.some((e=>e instanceof t.Name&&1===n[e.str]&&void 0!==r[e.str]))?new t._Code(e._items.reduce(((e,n)=>(n instanceof t.Name&&(n=o(n)),n instanceof t._Code?e.push(...n._items):e.push(n),e)),[])):e;var a;function o(e){const t=r[e.str];return void 0===t||1!==n[e.str]?e:(delete n[e.str],t)}}function R(e,t){for(const n in t)e[n]=(e[n]||0)-(t[n]||0)}function T(e){return"boolean"==typeof e||"number"==typeof e||null===e?!e:t._`!${L(e)}`}e.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?"\n":""},this._extScope=e,this._scope=new n.Scope({parent:e}),this._nodes=[new h]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){const n=this._extScope.value(e,t);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,n,r){const a=this._scope.toName(t);return void 0!==n&&r&&(this._constants[a.str]=n),this._leafNode(new i(e,a,n)),a}const(e,t,r){return this._def(n.varKinds.const,e,t,r)}let(e,t,r){return this._def(n.varKinds.let,e,t,r)}var(e,t,r){return this._def(n.varKinds.var,e,t,r)}assign(e,t,n){return this._leafNode(new s(e,t,n))}add(t,n){return this._leafNode(new l(t,e.operators.ADD,n))}code(e){return"function"==typeof e?e():e!==t.nil&&this._leafNode(new p(e)),this}object(...e){const n=["{"];for(const[r,a]of e)n.length>1&&n.push(","),n.push(r),(r!==a||this.opts.es5)&&(n.push(":"),(0,t.addCodeArg)(n,a));return n.push("}"),new t._Code(n)}if(e,t,n){if(this._blockNode(new g(e)),t&&n)this.code(t).else().code(n).endIf();else if(t)this.code(t).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new g(e))}else(){return this._elseNode(new y)}endIf(){return this._endBlockNode(g,y)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new v(e),t)}forRange(e,t,r,a,o=(this.opts.es5?n.varKinds.var:n.varKinds.let)){const i=this._scope.toName(e);return this._for(new w(o,i,t,r),(()=>a(i)))}forOf(e,r,a,o=n.varKinds.const){const i=this._scope.toName(e);if(this.opts.es5){const e=r instanceof t.Name?r:this.var("_arr",r);return this.forRange("_i",0,t._`${e}.length`,(n=>{this.var(i,t._`${e}[${n}]`),a(i)}))}return this._for(new k("of",o,i,r),(()=>a(i)))}forIn(e,r,a,o=(this.opts.es5?n.varKinds.var:n.varKinds.const)){if(this.opts.ownProperties)return this.forOf(e,t._`Object.keys(${r})`,a);const i=this._scope.toName(e);return this._for(new k("in",o,i,r),(()=>a(i)))}endFor(){return this._endBlockNode(b)}label(e){return this._leafNode(new c(e))}break(e){return this._leafNode(new u(e))}return(e){const t=new E;if(this._blockNode(t),this.code(e),1!==t.nodes.length)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(E)}try(e,t,n){if(!t&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');const r=new _;if(this._blockNode(r),this.code(e),t){const e=this.name("e");this._currNode=r.catch=new S(e),t(e)}return n&&(this._currNode=r.finally=new P,this.code(n)),this._endBlockNode(S,P)}throw(e){return this._leafNode(new d(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){const t=this._blockStarts.pop();if(void 0===t)throw new Error("CodeGen: not in self-balancing block");const n=this._nodes.length-t;if(n<0||void 0!==e&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=t,this}func(e,n=t.nil,r,a){return this._blockNode(new $(e,n,r)),a&&this.code(a).endFunc(),this}endFunc(){return this._endBlockNode($)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){const n=this._currNode;if(n instanceof e||t&&n instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){const t=this._currNode;if(!(t instanceof g))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){const e=this._nodes;return e[e.length-1]}set _currNode(e){const t=this._nodes;t[t.length-1]=e}},e.not=T;const C=N(e.operators.AND);e.and=function(...e){return e.reduce(C)};const O=N(e.operators.OR);function N(e){return(n,r)=>n===t.nil?r:r===t.nil?n:t._`${L(n)} ${e} ${L(r)}`}function L(e){return e instanceof t.Name?e:t._`(${e})`}e.or=function(...e){return e.reduce(O)}}(rl);var il={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.checkStrictMode=e.getErrorPath=e.Type=e.useFunc=e.setEvaluated=e.evaluatedPropsToName=e.mergeEvaluated=e.eachItem=e.unescapeJsonPointer=e.escapeJsonPointer=e.escapeFragment=e.unescapeFragment=e.schemaRefOrVal=e.schemaHasRulesButRef=e.schemaHasRules=e.checkUnknownRules=e.alwaysValidSchema=e.toHash=void 0;const t=rl,n=al;function r(e,t=e.schema){const{opts:n,self:r}=e;if(!n.strictSchema)return;if("boolean"==typeof t)return;const a=r.RULES.keywords;for(const o in t)a[o]||m(e,`unknown keyword: "${o}"`)}function a(e,t){if("boolean"==typeof e)return!e;for(const n in e)if(t[n])return!0;return!1}function o(e){return"number"==typeof e?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}function i(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function s({mergeNames:e,mergeToName:n,mergeValues:r,resultToName:a}){return(o,i,s,l)=>{const c=void 0===s?i:s instanceof t.Name?(i instanceof t.Name?e(o,i,s):n(o,i,s),s):i instanceof t.Name?(n(o,s,i),i):r(i,s);return l!==t.Name||c instanceof t.Name?c:a(o,c)}}function l(e,n){if(!0===n)return e.var("props",!0);const r=e.var("props",t._`{}`);return void 0!==n&&c(e,r,n),r}function c(e,n,r){Object.keys(r).forEach((r=>e.assign(t._`${n}${(0,t.getProperty)(r)}`,!0)))}e.toHash=function(e){const t={};for(const n of e)t[n]=!0;return t},e.alwaysValidSchema=function(e,t){return"boolean"==typeof t?t:0===Object.keys(t).length||(r(e,t),!a(t,e.self.RULES.all))},e.checkUnknownRules=r,e.schemaHasRules=a,e.schemaHasRulesButRef=function(e,t){if("boolean"==typeof e)return!e;for(const n in e)if("$ref"!==n&&t.all[n])return!0;return!1},e.schemaRefOrVal=function({topSchemaRef:e,schemaPath:n},r,a,o){if(!o){if("number"==typeof r||"boolean"==typeof r)return r;if("string"==typeof r)return t._`${r}`}return t._`${e}${n}${(0,t.getProperty)(a)}`},e.unescapeFragment=function(e){return i(decodeURIComponent(e))},e.escapeFragment=function(e){return encodeURIComponent(o(e))},e.escapeJsonPointer=o,e.unescapeJsonPointer=i,e.eachItem=function(e,t){if(Array.isArray(e))for(const n of e)t(n);else t(e)},e.mergeEvaluated={props:s({mergeNames:(e,n,r)=>e.if(t._`${r} !== true && ${n} !== undefined`,(()=>{e.if(t._`${n} === true`,(()=>e.assign(r,!0)),(()=>e.assign(r,t._`${r} || {}`).code(t._`Object.assign(${r}, ${n})`)))})),mergeToName:(e,n,r)=>e.if(t._`${r} !== true`,(()=>{!0===n?e.assign(r,!0):(e.assign(r,t._`${r} || {}`),c(e,r,n))})),mergeValues:(e,t)=>!0===e||{...e,...t},resultToName:l}),items:s({mergeNames:(e,n,r)=>e.if(t._`${r} !== true && ${n} !== undefined`,(()=>e.assign(r,t._`${n} === true ? true : ${r} > ${n} ? ${r} : ${n}`))),mergeToName:(e,n,r)=>e.if(t._`${r} !== true`,(()=>e.assign(r,!0===n||t._`${r} > ${n} ? ${r} : ${n}`))),mergeValues:(e,t)=>!0===e||Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})},e.evaluatedPropsToName=l,e.setEvaluated=c;const u={};var d,p;function m(e,t,n=e.opts.strictSchema){if(n){if(t=`strict mode: ${t}`,!0===n)throw new Error(t);e.self.logger.warn(t)}}e.useFunc=function(e,t){return e.scopeValue("func",{ref:t,code:u[t.code]||(u[t.code]=new n._Code(t.code))})},(p=d=e.Type||(e.Type={}))[p.Num=0]="Num",p[p.Str=1]="Str",e.getErrorPath=function(e,n,r){if(e instanceof t.Name){const a=n===d.Num;return r?a?t._`"[" + ${e} + "]"`:t._`"['" + ${e} + "']"`:a?t._`"/" + ${e}`:t._`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,t.getProperty)(e).toString():"/"+o(e)},e.checkStrictMode=m}(il);var sl={};Object.defineProperty(sl,"__esModule",{value:!0});const ll=rl,cl={data:new ll.Name("data"),valCxt:new ll.Name("valCxt"),instancePath:new ll.Name("instancePath"),parentData:new ll.Name("parentData"),parentDataProperty:new ll.Name("parentDataProperty"),rootData:new ll.Name("rootData"),dynamicAnchors:new ll.Name("dynamicAnchors"),vErrors:new ll.Name("vErrors"),errors:new ll.Name("errors"),this:new ll.Name("this"),self:new ll.Name("self"),scope:new ll.Name("scope"),json:new ll.Name("json"),jsonPos:new ll.Name("jsonPos"),jsonLen:new ll.Name("jsonLen"),jsonPart:new ll.Name("jsonPart")};sl.default=cl,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.extendErrors=e.resetErrorsCount=e.reportExtraError=e.reportError=e.keyword$DataError=e.keywordError=void 0;const t=rl,n=il,r=sl;function a(e,n){const a=e.const("err",n);e.if(t._`${r.default.vErrors} === null`,(()=>e.assign(r.default.vErrors,t._`[${a}]`)),t._`${r.default.vErrors}.push(${a})`),e.code(t._`${r.default.errors}++`)}function o(e,n){const{gen:r,validateName:a,schemaEnv:o}=e;o.$async?r.throw(t._`new ${e.ValidationError}(${n})`):(r.assign(t._`${a}.errors`,n),r.return(!1))}e.keywordError={message:({keyword:e})=>t.str`must pass "${e}" keyword validation`},e.keyword$DataError={message:({keyword:e,schemaType:n})=>n?t.str`"${e}" keyword must be ${n} ($data)`:t.str`"${e}" keyword is invalid ($data)`},e.reportError=function(n,r=e.keywordError,i,l){const{it:c}=n,{gen:u,compositeRule:d,allErrors:p}=c,m=s(n,r,i);(null!=l?l:d||p)?a(u,m):o(c,t._`[${m}]`)},e.reportExtraError=function(t,n=e.keywordError,i){const{it:l}=t,{gen:c,compositeRule:u,allErrors:d}=l;a(c,s(t,n,i)),u||d||o(l,r.default.vErrors)},e.resetErrorsCount=function(e,n){e.assign(r.default.errors,n),e.if(t._`${r.default.vErrors} !== null`,(()=>e.if(n,(()=>e.assign(t._`${r.default.vErrors}.length`,n)),(()=>e.assign(r.default.vErrors,null)))))},e.extendErrors=function({gen:e,keyword:n,schemaValue:a,data:o,errsCount:i,it:s}){if(void 0===i)throw new Error("ajv implementation error");const l=e.name("err");e.forRange("i",i,r.default.errors,(i=>{e.const(l,t._`${r.default.vErrors}[${i}]`),e.if(t._`${l}.instancePath === undefined`,(()=>e.assign(t._`${l}.instancePath`,(0,t.strConcat)(r.default.instancePath,s.errorPath)))),e.assign(t._`${l}.schemaPath`,t.str`${s.errSchemaPath}/${n}`),s.opts.verbose&&(e.assign(t._`${l}.schema`,a),e.assign(t._`${l}.data`,o))}))};const i={keyword:new t.Name("keyword"),schemaPath:new t.Name("schemaPath"),params:new t.Name("params"),propertyName:new t.Name("propertyName"),message:new t.Name("message"),schema:new t.Name("schema"),parentSchema:new t.Name("parentSchema")};function s(e,n,a){const{createErrors:o}=e.it;return!1===o?t._`{}`:function(e,n,a={}){const{gen:o,it:s}=e,u=[l(s,a),c(e,a)];return function(e,{params:n,message:a},o){const{keyword:s,data:l,schemaValue:c,it:u}=e,{opts:d,propertyName:p,topSchemaRef:m,schemaPath:f}=u;o.push([i.keyword,s],[i.params,"function"==typeof n?n(e):n||t._`{}`]),d.messages&&o.push([i.message,"function"==typeof a?a(e):a]);d.verbose&&o.push([i.schema,c],[i.parentSchema,t._`${m}${f}`],[r.default.data,l]);p&&o.push([i.propertyName,p])}(e,n,u),o.object(...u)}(e,n,a)}function l({errorPath:e},{instancePath:a}){const o=a?t.str`${e}${(0,n.getErrorPath)(a,n.Type.Str)}`:e;return[r.default.instancePath,(0,t.strConcat)(r.default.instancePath,o)]}function c({keyword:e,it:{errSchemaPath:r}},{schemaPath:a,parentSchema:o}){let s=o?r:t.str`${r}/${e}`;return a&&(s=t.str`${s}${(0,n.getErrorPath)(a,n.Type.Str)}`),[i.schemaPath,s]}}(nl),Object.defineProperty(tl,"__esModule",{value:!0}),tl.boolOrEmptySchema=tl.topBoolOrEmptySchema=void 0;const ul=nl,dl=rl,pl=sl,ml={message:"boolean schema is false"};function fl(e,t){const{gen:n,data:r}=e,a={gen:n,keyword:"false schema",data:r,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,ul.reportError)(a,ml,void 0,t)}tl.topBoolOrEmptySchema=function(e){const{gen:t,schema:n,validateName:r}=e;!1===n?fl(e,!1):"object"==typeof n&&!0===n.$async?t.return(pl.default.data):(t.assign(dl._`${r}.errors`,null),t.return(!0))},tl.boolOrEmptySchema=function(e,t){const{gen:n,schema:r}=e;!1===r?(n.var(t,!1),fl(e)):n.var(t,!0)};var hl={},yl={};Object.defineProperty(yl,"__esModule",{value:!0}),yl.getRules=yl.isJSONType=void 0;const gl=new Set(["string","number","integer","boolean","null","object","array"]);yl.isJSONType=function(e){return"string"==typeof e&&gl.has(e)},yl.getRules=function(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}};var bl={};function vl(e,t){return t.rules.some((t=>wl(e,t)))}function wl(e,t){var n;return void 0!==e[t.keyword]||(null===(n=t.definition.implements)||void 0===n?void 0:n.some((t=>void 0!==e[t])))}Object.defineProperty(bl,"__esModule",{value:!0}),bl.shouldUseRule=bl.shouldUseGroup=bl.schemaHasRulesForType=void 0,bl.schemaHasRulesForType=function({schema:e,self:t},n){const r=t.RULES.types[n];return r&&!0!==r&&vl(e,r)},bl.shouldUseGroup=vl,bl.shouldUseRule=wl,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.reportTypeError=e.checkDataTypes=e.checkDataType=e.coerceAndCheckDataType=e.getJSONTypes=e.getSchemaTypes=e.DataType=void 0;const t=yl,n=bl,r=nl,a=rl,o=il;var i,s;function l(e){const n=Array.isArray(e)?e:e?[e]:[];if(n.every(t.isJSONType))return n;throw new Error("type must be JSONType or JSONType[]: "+n.join(","))}(s=i=e.DataType||(e.DataType={}))[s.Correct=0]="Correct",s[s.Wrong=1]="Wrong",e.getSchemaTypes=function(e){const t=l(e.type);if(t.includes("null")){if(!1===e.nullable)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&void 0!==e.nullable)throw new Error('"nullable" cannot be used without "type"');!0===e.nullable&&t.push("null")}return t},e.getJSONTypes=l,e.coerceAndCheckDataType=function(e,t){const{gen:r,data:o,opts:s}=e,l=function(e,t){return t?e.filter((e=>c.has(e)||"array"===t&&"array"===e)):[]}(t,s.coerceTypes),u=t.length>0&&!(0===l.length&&1===t.length&&(0,n.schemaHasRulesForType)(e,t[0]));if(u){const n=d(t,o,s.strictNumbers,i.Wrong);r.if(n,(()=>{l.length?function(e,t,n){const{gen:r,data:o,opts:i}=e,s=r.let("dataType",a._`typeof ${o}`),l=r.let("coerced",a._`undefined`);"array"===i.coerceTypes&&r.if(a._`${s} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,(()=>r.assign(o,a._`${o}[0]`).assign(s,a._`typeof ${o}`).if(d(t,o,i.strictNumbers),(()=>r.assign(l,o)))));r.if(a._`${l} !== undefined`);for(const a of n)(c.has(a)||"array"===a&&"array"===i.coerceTypes)&&u(a);function u(e){switch(e){case"string":return void r.elseIf(a._`${s} == "number" || ${s} == "boolean"`).assign(l,a._`"" + ${o}`).elseIf(a._`${o} === null`).assign(l,a._`""`);case"number":return void r.elseIf(a._`${s} == "boolean" || ${o} === null
21
21
  || (${s} == "string" && ${o} && ${o} == +${o})`).assign(l,a._`+${o}`);case"integer":return void r.elseIf(a._`${s} === "boolean" || ${o} === null
22
22
  || (${s} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(l,a._`+${o}`);case"boolean":return void r.elseIf(a._`${o} === "false" || ${o} === 0 || ${o} === null`).assign(l,!1).elseIf(a._`${o} === "true" || ${o} === 1`).assign(l,!0);case"null":return r.elseIf(a._`${o} === "" || ${o} === 0 || ${o} === false`),void r.assign(l,null);case"array":r.elseIf(a._`${s} === "string" || ${s} === "number"
23
23
  || ${s} === "boolean" || ${o} === null`).assign(l,a._`[${o}]`)}}r.else(),m(e),r.endIf(),r.if(a._`${l} !== undefined`,(()=>{r.assign(o,l),function({gen:e,parentData:t,parentDataProperty:n},r){e.if(a._`${t} !== undefined`,(()=>e.assign(a._`${t}[${n}]`,r)))}(e,l)}))}(e,t,l):m(e)}))}return u};const c=new Set(["string","number","integer","boolean","null"]);function u(e,t,n,r=i.Correct){const o=r===i.Correct?a.operators.EQ:a.operators.NEQ;let s;switch(e){case"null":return a._`${t} ${o} null`;case"array":s=a._`Array.isArray(${t})`;break;case"object":s=a._`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=l(a._`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=l();break;default:return a._`typeof ${t} ${o} ${e}`}return r===i.Correct?s:(0,a.not)(s);function l(e=a.nil){return(0,a.and)(a._`typeof ${t} == "number"`,e,n?a._`isFinite(${t})`:a.nil)}}function d(e,t,n,r){if(1===e.length)return u(e[0],t,n,r);let i;const s=(0,o.toHash)(e);if(s.array&&s.object){const e=a._`typeof ${t} != "object"`;i=s.null?e:a._`!${t} || ${e}`,delete s.null,delete s.array,delete s.object}else i=a.nil;s.number&&delete s.integer;for(const o in s)i=(0,a.and)(i,u(o,t,n,r));return i}e.checkDataType=u,e.checkDataTypes=d;const p={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>"string"==typeof e?a._`{type: ${e}}`:a._`{type: ${t}}`};function m(e){const t=function(e){const{gen:t,data:n,schema:r}=e,a=(0,o.schemaRefOrVal)(e,r,"type");return{gen:t,keyword:"type",data:n,schema:r.type,schemaCode:a,schemaValue:a,parentSchema:r,params:{},it:e}}(e);(0,r.reportError)(t,p)}e.reportTypeError=m}(hl);var kl={};Object.defineProperty(kl,"__esModule",{value:!0}),kl.assignDefaults=void 0;const $l=rl,El=il;function _l(e,t,n){const{gen:r,compositeRule:a,data:o,opts:i}=e;if(void 0===n)return;const s=$l._`${o}${(0,$l.getProperty)(t)}`;if(a)return void(0,El.checkStrictMode)(e,`default is ignored for: ${s}`);let l=$l._`${s} === undefined`;"empty"===i.useDefaults&&(l=$l._`${l} || ${s} === null || ${s} === ""`),r.if(l,$l._`${s} = ${(0,$l.stringify)(n)}`)}kl.assignDefaults=function(e,t){const{properties:n,items:r}=e.schema;if("object"===t&&n)for(const a in n)_l(e,a,n[a].default);else"array"===t&&Array.isArray(r)&&r.forEach(((t,n)=>_l(e,n,t.default)))};var Sl={},Pl={};Object.defineProperty(Pl,"__esModule",{value:!0}),Pl.validateUnion=Pl.validateArray=Pl.usePattern=Pl.callValidateCode=Pl.schemaProperties=Pl.allSchemaProperties=Pl.noPropertyInData=Pl.propertyInData=Pl.isOwnProperty=Pl.hasPropFunc=Pl.reportMissingProp=Pl.checkMissingProp=Pl.checkReportMissingProp=void 0;const xl=rl,Al=il,Il=sl,Rl=il;function Tl(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:xl._`Object.prototype.hasOwnProperty`})}function Cl(e,t,n){return xl._`${Tl(e)}.call(${t}, ${n})`}function Ol(e,t,n,r){const a=xl._`${t}${(0,xl.getProperty)(n)} === undefined`;return r?(0,xl.or)(a,(0,xl.not)(Cl(e,t,n))):a}function Nl(e){return e?Object.keys(e).filter((e=>"__proto__"!==e)):[]}Pl.checkReportMissingProp=function(e,t){const{gen:n,data:r,it:a}=e;n.if(Ol(n,r,t,a.opts.ownProperties),(()=>{e.setParams({missingProperty:xl._`${t}`},!0),e.error()}))},Pl.checkMissingProp=function({gen:e,data:t,it:{opts:n}},r,a){return(0,xl.or)(...r.map((r=>(0,xl.and)(Ol(e,t,r,n.ownProperties),xl._`${a} = ${r}`))))},Pl.reportMissingProp=function(e,t){e.setParams({missingProperty:t},!0),e.error()},Pl.hasPropFunc=Tl,Pl.isOwnProperty=Cl,Pl.propertyInData=function(e,t,n,r){const a=xl._`${t}${(0,xl.getProperty)(n)} !== undefined`;return r?xl._`${a} && ${Cl(e,t,n)}`:a},Pl.noPropertyInData=Ol,Pl.allSchemaProperties=Nl,Pl.schemaProperties=function(e,t){return Nl(t).filter((n=>!(0,Al.alwaysValidSchema)(e,t[n])))},Pl.callValidateCode=function({schemaCode:e,data:t,it:{gen:n,topSchemaRef:r,schemaPath:a,errorPath:o},it:i},s,l,c){const u=c?xl._`${e}, ${t}, ${r}${a}`:t,d=[[Il.default.instancePath,(0,xl.strConcat)(Il.default.instancePath,o)],[Il.default.parentData,i.parentData],[Il.default.parentDataProperty,i.parentDataProperty],[Il.default.rootData,Il.default.rootData]];i.opts.dynamicRef&&d.push([Il.default.dynamicAnchors,Il.default.dynamicAnchors]);const p=xl._`${u}, ${n.object(...d)}`;return l!==xl.nil?xl._`${s}.call(${l}, ${p})`:xl._`${s}(${p})`};const Ll=xl._`new RegExp`;Pl.usePattern=function({gen:e,it:{opts:t}},n){const r=t.unicodeRegExp?"u":"",{regExp:a}=t.code,o=a(n,r);return e.scopeValue("pattern",{key:o.toString(),ref:o,code:xl._`${"new RegExp"===a.code?Ll:(0,Rl.useFunc)(e,a)}(${n}, ${r})`})},Pl.validateArray=function(e){const{gen:t,data:n,keyword:r,it:a}=e,o=t.name("valid");if(a.allErrors){const e=t.let("valid",!0);return i((()=>t.assign(e,!1))),e}return t.var(o,!0),i((()=>t.break())),o;function i(a){const i=t.const("len",xl._`${n}.length`);t.forRange("i",0,i,(n=>{e.subschema({keyword:r,dataProp:n,dataPropType:Al.Type.Num},o),t.if((0,xl.not)(o),a)}))}},Pl.validateUnion=function(e){const{gen:t,schema:n,keyword:r,it:a}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");if(n.some((e=>(0,Al.alwaysValidSchema)(a,e)))&&!a.opts.unevaluated)return;const o=t.let("valid",!1),i=t.name("_valid");t.block((()=>n.forEach(((n,a)=>{const s=e.subschema({keyword:r,schemaProp:a,compositeRule:!0},i);t.assign(o,xl._`${o} || ${i}`);e.mergeValidEvaluated(s,i)||t.if((0,xl.not)(o))})))),e.result(o,(()=>e.reset()),(()=>e.error(!0)))},Object.defineProperty(Sl,"__esModule",{value:!0}),Sl.validateKeywordUsage=Sl.validSchemaType=Sl.funcKeywordCode=Sl.macroKeywordCode=void 0;const jl=rl,Fl=sl,Ml=Pl,Hl=nl;function Bl(e){const{gen:t,data:n,it:r}=e;t.if(r.parentData,(()=>t.assign(n,jl._`${r.parentData}[${r.parentDataProperty}]`)))}function Dl(e,t,n){if(void 0===n)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword","function"==typeof n?{ref:n}:{ref:n,code:(0,jl.stringify)(n)})}Sl.macroKeywordCode=function(e,t){const{gen:n,keyword:r,schema:a,parentSchema:o,it:i}=e,s=t.macro.call(i.self,a,o,i),l=Dl(n,r,s);!1!==i.opts.validateSchema&&i.self.validateSchema(s,!0);const c=n.name("valid");e.subschema({schema:s,schemaPath:jl.nil,errSchemaPath:`${i.errSchemaPath}/${r}`,topSchemaRef:l,compositeRule:!0},c),e.pass(c,(()=>e.error(!0)))},Sl.funcKeywordCode=function(e,t){var n;const{gen:r,keyword:a,schema:o,parentSchema:i,$data:s,it:l}=e;!function({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}(l,t);const c=!s&&t.compile?t.compile.call(l.self,o,i,l):t.validate,u=Dl(r,a,c),d=r.let("valid");function p(n=(t.async?jl._`await `:jl.nil)){const a=l.opts.passContext?Fl.default.this:Fl.default.self,o=!("compile"in t&&!s||!1===t.schema);r.assign(d,jl._`${n}${(0,Ml.callValidateCode)(e,u,a,o)}`,t.modifying)}function m(e){var n;r.if((0,jl.not)(null!==(n=t.valid)&&void 0!==n?n:d),e)}e.block$data(d,(function(){if(!1===t.errors)p(),t.modifying&&Bl(e),m((()=>e.error()));else{const n=t.async?function(){const e=r.let("ruleErrs",null);return r.try((()=>p(jl._`await `)),(t=>r.assign(d,!1).if(jl._`${t} instanceof ${l.ValidationError}`,(()=>r.assign(e,jl._`${t}.errors`)),(()=>r.throw(t))))),e}():function(){const e=jl._`${u}.errors`;return r.assign(e,null),p(jl.nil),e}();t.modifying&&Bl(e),m((()=>function(e,t){const{gen:n}=e;n.if(jl._`Array.isArray(${t})`,(()=>{n.assign(Fl.default.vErrors,jl._`${Fl.default.vErrors} === null ? ${t} : ${Fl.default.vErrors}.concat(${t})`).assign(Fl.default.errors,jl._`${Fl.default.vErrors}.length`),(0,Hl.extendErrors)(e)}),(()=>e.error()))}(e,n)))}})),e.ok(null!==(n=t.valid)&&void 0!==n?n:d)},Sl.validSchemaType=function(e,t,n=!1){return!t.length||t.some((t=>"array"===t?Array.isArray(e):"object"===t?e&&"object"==typeof e&&!Array.isArray(e):typeof e==t||n&&void 0===e))},Sl.validateKeywordUsage=function({schema:e,opts:t,self:n,errSchemaPath:r},a,o){if(Array.isArray(a.keyword)?!a.keyword.includes(o):a.keyword!==o)throw new Error("ajv implementation error");const i=a.dependencies;if(null==i?void 0:i.some((t=>!Object.prototype.hasOwnProperty.call(e,t))))throw new Error(`parent schema must have dependencies of ${o}: ${i.join(",")}`);if(a.validateSchema){if(!a.validateSchema(e[o])){const e=`keyword "${o}" value is invalid at path "${r}": `+n.errorsText(a.validateSchema.errors);if("log"!==t.validateSchema)throw new Error(e);n.logger.error(e)}}};var ql={};Object.defineProperty(ql,"__esModule",{value:!0}),ql.extendSubschemaMode=ql.extendSubschemaData=ql.getSubschema=void 0;const Ul=rl,zl=il;ql.getSubschema=function(e,{keyword:t,schemaProp:n,schema:r,schemaPath:a,errSchemaPath:o,topSchemaRef:i}){if(void 0!==t&&void 0!==r)throw new Error('both "keyword" and "schema" passed, only one allowed');if(void 0!==t){const r=e.schema[t];return void 0===n?{schema:r,schemaPath:Ul._`${e.schemaPath}${(0,Ul.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:r[n],schemaPath:Ul._`${e.schemaPath}${(0,Ul.getProperty)(t)}${(0,Ul.getProperty)(n)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,zl.escapeFragment)(n)}`}}if(void 0!==r){if(void 0===a||void 0===o||void 0===i)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:r,schemaPath:a,topSchemaRef:i,errSchemaPath:o}}throw new Error('either "keyword" or "schema" must be passed')},ql.extendSubschemaData=function(e,t,{dataProp:n,dataPropType:r,data:a,dataTypes:o,propertyName:i}){if(void 0!==a&&void 0!==n)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:s}=t;if(void 0!==n){const{errorPath:a,dataPathArr:o,opts:i}=t;l(s.let("data",Ul._`${t.data}${(0,Ul.getProperty)(n)}`,!0)),e.errorPath=Ul.str`${a}${(0,zl.getErrorPath)(n,r,i.jsPropertySyntax)}`,e.parentDataProperty=Ul._`${n}`,e.dataPathArr=[...o,e.parentDataProperty]}if(void 0!==a){l(a instanceof Ul.Name?a:s.let("data",a,!0)),void 0!==i&&(e.propertyName=i)}function l(n){e.data=n,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,n]}o&&(e.dataTypes=o)},ql.extendSubschemaMode=function(e,{jtdDiscriminator:t,jtdMetadata:n,compositeRule:r,createErrors:a,allErrors:o}){void 0!==r&&(e.compositeRule=r),void 0!==a&&(e.createErrors=a),void 0!==o&&(e.allErrors=o),e.jtdDiscriminator=t,e.jtdMetadata=n};var Vl={},Wl=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var r,a,o;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(a=r;0!=a--;)if(!e(t[a],n[a]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(o=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(a=r;0!=a--;)if(!Object.prototype.hasOwnProperty.call(n,o[a]))return!1;for(a=r;0!=a--;){var i=o[a];if(!e(t[i],n[i]))return!1}return!0}return t!=t&&n!=n},Kl={exports:{}},Gl=Kl.exports=function(e,t,n){"function"==typeof t&&(n=t,t={}),Jl(t,"function"==typeof(n=t.cb||n)?n:n.pre||function(){},n.post||function(){},e,"",e)};function Jl(e,t,n,r,a,o,i,s,l,c){if(r&&"object"==typeof r&&!Array.isArray(r)){for(var u in t(r,a,o,i,s,l,c),r){var d=r[u];if(Array.isArray(d)){if(u in Gl.arrayKeywords)for(var p=0;p<d.length;p++)Jl(e,t,n,d[p],a+"/"+u+"/"+p,o,a,u,r,p)}else if(u in Gl.propsKeywords){if(d&&"object"==typeof d)for(var m in d)Jl(e,t,n,d[m],a+"/"+u+"/"+m.replace(/~/g,"~0").replace(/\//g,"~1"),o,a,u,r,m)}else(u in Gl.keywords||e.allKeys&&!(u in Gl.skipKeywords))&&Jl(e,t,n,d,a+"/"+u,o,a,u,r)}n(r,a,o,i,s,l,c)}}Gl.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},Gl.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},Gl.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},Gl.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};var Xl=Kl.exports;Object.defineProperty(Vl,"__esModule",{value:!0}),Vl.getSchemaRefs=Vl.resolveUrl=Vl.normalizeId=Vl._getFullPath=Vl.getFullPath=Vl.inlineRef=void 0;const Ql=il,Yl=Wl,Zl=Xl,ec=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);Vl.inlineRef=function(e,t=!0){return"boolean"==typeof e||(!0===t?!nc(e):!!t&&rc(e)<=t)};const tc=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function nc(e){for(const t in e){if(tc.has(t))return!0;const n=e[t];if(Array.isArray(n)&&n.some(nc))return!0;if("object"==typeof n&&nc(n))return!0}return!1}function rc(e){let t=0;for(const n in e){if("$ref"===n)return 1/0;if(t++,!ec.has(n)&&("object"==typeof e[n]&&(0,Ql.eachItem)(e[n],(e=>t+=rc(e))),t===1/0))return 1/0}return t}function ac(e,t="",n){!1!==n&&(t=sc(t));const r=e.parse(t);return oc(e,r)}function oc(e,t){return e.serialize(t).split("#")[0]+"#"}Vl.getFullPath=ac,Vl._getFullPath=oc;const ic=/#\/?$/;function sc(e){return e?e.replace(ic,""):""}Vl.normalizeId=sc,Vl.resolveUrl=function(e,t,n){return n=sc(n),e.resolve(t,n)};const lc=/^[a-z_][-a-z0-9._]*$/i;Vl.getSchemaRefs=function(e,t){if("boolean"==typeof e)return{};const{schemaId:n,uriResolver:r}=this.opts,a=sc(e[n]||t),o={"":a},i=ac(r,a,!1),s={},l=new Set;return Zl(e,{allKeys:!0},((e,t,r,a)=>{if(void 0===a)return;const d=i+t;let p=o[a];function m(t){const n=this.opts.uriResolver.resolve;if(t=sc(p?n(p,t):t),l.has(t))throw u(t);l.add(t);let r=this.refs[t];return"string"==typeof r&&(r=this.refs[r]),"object"==typeof r?c(e,r.schema,t):t!==sc(d)&&("#"===t[0]?(c(e,s[t],t),s[t]=e):this.refs[t]=d),t}function f(e){if("string"==typeof e){if(!lc.test(e))throw new Error(`invalid anchor "${e}"`);m.call(this,`#${e}`)}}"string"==typeof e[n]&&(p=m.call(this,e[n])),f.call(this,e.$anchor),f.call(this,e.$dynamicAnchor),o[t]=p})),s;function c(e,t,n){if(void 0!==t&&!Yl(e,t))throw u(n)}function u(e){return new Error(`reference "${e}" resolves to more than one schema`)}},Object.defineProperty(el,"__esModule",{value:!0}),el.getData=el.KeywordCxt=el.validateFunctionCode=void 0;const cc=tl,uc=hl,dc=bl,pc=hl,mc=kl,fc=Sl,hc=ql,yc=rl,gc=sl,bc=Vl,vc=il,wc=nl;function kc({gen:e,validateName:t,schema:n,schemaEnv:r,opts:a},o){a.code.es5?e.func(t,yc._`${gc.default.data}, ${gc.default.valCxt}`,r.$async,(()=>{e.code(yc._`"use strict"; ${$c(n,a)}`),function(e,t){e.if(gc.default.valCxt,(()=>{e.var(gc.default.instancePath,yc._`${gc.default.valCxt}.${gc.default.instancePath}`),e.var(gc.default.parentData,yc._`${gc.default.valCxt}.${gc.default.parentData}`),e.var(gc.default.parentDataProperty,yc._`${gc.default.valCxt}.${gc.default.parentDataProperty}`),e.var(gc.default.rootData,yc._`${gc.default.valCxt}.${gc.default.rootData}`),t.dynamicRef&&e.var(gc.default.dynamicAnchors,yc._`${gc.default.valCxt}.${gc.default.dynamicAnchors}`)}),(()=>{e.var(gc.default.instancePath,yc._`""`),e.var(gc.default.parentData,yc._`undefined`),e.var(gc.default.parentDataProperty,yc._`undefined`),e.var(gc.default.rootData,gc.default.data),t.dynamicRef&&e.var(gc.default.dynamicAnchors,yc._`{}`)}))}(e,a),e.code(o)})):e.func(t,yc._`${gc.default.data}, ${function(e){return yc._`{${gc.default.instancePath}="", ${gc.default.parentData}, ${gc.default.parentDataProperty}, ${gc.default.rootData}=${gc.default.data}${e.dynamicRef?yc._`, ${gc.default.dynamicAnchors}={}`:yc.nil}}={}`}(a)}`,r.$async,(()=>e.code($c(n,a)).code(o)))}function $c(e,t){const n="object"==typeof e&&e[t.schemaId];return n&&(t.code.source||t.code.process)?yc._`/*# sourceURL=${n} */`:yc.nil}function Ec(e,t){Sc(e)&&(Pc(e),_c(e))?function(e,t){const{schema:n,gen:r,opts:a}=e;a.$comment&&n.$comment&&Ac(e);(function(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,bc.resolveUrl)(e.opts.uriResolver,e.baseId,t))})(e),function(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}(e);const o=r.const("_errs",gc.default.errors);xc(e,o),r.var(t,yc._`${o} === ${gc.default.errors}`)}(e,t):(0,cc.boolOrEmptySchema)(e,t)}function _c({schema:e,self:t}){if("boolean"==typeof e)return!e;for(const n in e)if(t.RULES.all[n])return!0;return!1}function Sc(e){return"boolean"!=typeof e.schema}function Pc(e){(0,vc.checkUnknownRules)(e),function(e){const{schema:t,errSchemaPath:n,opts:r,self:a}=e;t.$ref&&r.ignoreKeywordsWithRef&&(0,vc.schemaHasRulesButRef)(t,a.RULES)&&a.logger.warn(`$ref: keywords ignored in schema at path "${n}"`)}(e)}function xc(e,t){if(e.opts.jtd)return Ic(e,[],!1,t);const n=(0,uc.getSchemaTypes)(e.schema);Ic(e,n,!(0,uc.coerceAndCheckDataType)(e,n),t)}function Ac({gen:e,schemaEnv:t,schema:n,errSchemaPath:r,opts:a}){const o=n.$comment;if(!0===a.$comment)e.code(yc._`${gc.default.self}.logger.log(${o})`);else if("function"==typeof a.$comment){const n=yc.str`${r}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code(yc._`${gc.default.self}.opts.$comment(${o}, ${n}, ${a}.schema)`)}}function Ic(e,t,n,r){const{gen:a,schema:o,data:i,allErrors:s,opts:l,self:c}=e,{RULES:u}=c;function d(c){(0,dc.shouldUseGroup)(o,c)&&(c.type?(a.if((0,pc.checkDataType)(c.type,i,l.strictNumbers)),Rc(e,c),1===t.length&&t[0]===c.type&&n&&(a.else(),(0,pc.reportTypeError)(e)),a.endIf()):Rc(e,c),s||a.if(yc._`${gc.default.errors} === ${r||0}`))}!o.$ref||!l.ignoreKeywordsWithRef&&(0,vc.schemaHasRulesButRef)(o,u)?(l.jtd||function(e,t){if(e.schemaEnv.meta||!e.opts.strictTypes)return;(function(e,t){if(!t.length)return;if(!e.dataTypes.length)return void(e.dataTypes=t);t.forEach((t=>{Cc(e.dataTypes,t)||Oc(e,`type "${t}" not allowed by context "${e.dataTypes.join(",")}"`)})),function(e,t){const n=[];for(const r of e.dataTypes)Cc(t,r)?n.push(r):t.includes("integer")&&"number"===r&&n.push("integer");e.dataTypes=n}(e,t)})(e,t),e.opts.allowUnionTypes||function(e,t){t.length>1&&(2!==t.length||!t.includes("null"))&&Oc(e,"use allowUnionTypes to allow union type keyword")}(e,t);!function(e,t){const n=e.self.RULES.all;for(const r in n){const a=n[r];if("object"==typeof a&&(0,dc.shouldUseRule)(e.schema,a)){const{type:n}=a.definition;n.length&&!n.some((e=>Tc(t,e)))&&Oc(e,`missing type "${n.join(",")}" for keyword "${r}"`)}}}(e,e.dataTypes)}(e,t),a.block((()=>{for(const e of u.rules)d(e);d(u.post)}))):a.block((()=>Lc(e,"$ref",u.all.$ref.definition)))}function Rc(e,t){const{gen:n,schema:r,opts:{useDefaults:a}}=e;a&&(0,mc.assignDefaults)(e,t.type),n.block((()=>{for(const n of t.rules)(0,dc.shouldUseRule)(r,n)&&Lc(e,n.keyword,n.definition,t.type)}))}function Tc(e,t){return e.includes(t)||"number"===t&&e.includes("integer")}function Cc(e,t){return e.includes(t)||"integer"===t&&e.includes("number")}function Oc(e,t){t+=` at "${e.schemaEnv.baseId+e.errSchemaPath}" (strictTypes)`,(0,vc.checkStrictMode)(e,t,e.opts.strictTypes)}el.validateFunctionCode=function(e){Sc(e)&&(Pc(e),_c(e))?function(e){const{schema:t,opts:n,gen:r}=e;kc(e,(()=>{n.$comment&&t.$comment&&Ac(e),function(e){const{schema:t,opts:n}=e;void 0!==t.default&&n.useDefaults&&n.strictSchema&&(0,vc.checkStrictMode)(e,"default is ignored in the schema root")}(e),r.let(gc.default.vErrors,null),r.let(gc.default.errors,0),n.unevaluated&&function(e){const{gen:t,validateName:n}=e;e.evaluated=t.const("evaluated",yc._`${n}.evaluated`),t.if(yc._`${e.evaluated}.dynamicProps`,(()=>t.assign(yc._`${e.evaluated}.props`,yc._`undefined`))),t.if(yc._`${e.evaluated}.dynamicItems`,(()=>t.assign(yc._`${e.evaluated}.items`,yc._`undefined`)))}(e),xc(e),function(e){const{gen:t,schemaEnv:n,validateName:r,ValidationError:a,opts:o}=e;n.$async?t.if(yc._`${gc.default.errors} === 0`,(()=>t.return(gc.default.data)),(()=>t.throw(yc._`new ${a}(${gc.default.vErrors})`))):(t.assign(yc._`${r}.errors`,gc.default.vErrors),o.unevaluated&&function({gen:e,evaluated:t,props:n,items:r}){n instanceof yc.Name&&e.assign(yc._`${t}.props`,n);r instanceof yc.Name&&e.assign(yc._`${t}.items`,r)}(e),t.return(yc._`${gc.default.errors} === 0`))}(e)}))}(e):kc(e,(()=>(0,cc.topBoolOrEmptySchema)(e)))};class Nc{constructor(e,t,n){if((0,fc.validateKeywordUsage)(e,t,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,vc.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",Mc(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,fc.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:!1!==t.errors)&&(this.errsCount=e.gen.const("_errs",gc.default.errors))}result(e,t,n){this.failResult((0,yc.not)(e),t,n)}failResult(e,t,n){this.gen.if(e),n?n():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,yc.not)(e),void 0,t)}fail(e){if(void 0===e)return this.error(),void(this.allErrors||this.gen.if(!1));this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail(yc._`${t} !== undefined && (${(0,yc.or)(this.invalid$data(),e)})`)}error(e,t,n){if(t)return this.setParams(t),this._error(e,n),void this.setParams({});this._error(e,n)}_error(e,t){(e?wc.reportExtraError:wc.reportError)(this,this.def.error,t)}$dataError(){(0,wc.reportError)(this,this.def.$dataError||wc.keyword$DataError)}reset(){if(void 0===this.errsCount)throw new Error('add "trackErrors" to keyword definition');(0,wc.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,n=yc.nil){this.gen.block((()=>{this.check$data(e,n),t()}))}check$data(e=yc.nil,t=yc.nil){if(!this.$data)return;const{gen:n,schemaCode:r,schemaType:a,def:o}=this;n.if((0,yc.or)(yc._`${r} === undefined`,t)),e!==yc.nil&&n.assign(e,!0),(a.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==yc.nil&&n.assign(e,!1)),n.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:n,def:r,it:a}=this;return(0,yc.or)(function(){if(n.length){if(!(t instanceof yc.Name))throw new Error("ajv implementation error");const e=Array.isArray(n)?n:[n];return yc._`${(0,pc.checkDataTypes)(e,t,a.opts.strictNumbers,pc.DataType.Wrong)}`}return yc.nil}(),function(){if(r.validateSchema){const n=e.scopeValue("validate$data",{ref:r.validateSchema});return yc._`!${n}(${t})`}return yc.nil}())}subschema(e,t){const n=(0,hc.getSubschema)(this.it,e);(0,hc.extendSubschemaData)(n,this.it,e),(0,hc.extendSubschemaMode)(n,e);const r={...this.it,...n,items:void 0,props:void 0};return Ec(r,t),r}mergeEvaluated(e,t){const{it:n,gen:r}=this;n.opts.unevaluated&&(!0!==n.props&&void 0!==e.props&&(n.props=vc.mergeEvaluated.props(r,e.props,n.props,t)),!0!==n.items&&void 0!==e.items&&(n.items=vc.mergeEvaluated.items(r,e.items,n.items,t)))}mergeValidEvaluated(e,t){const{it:n,gen:r}=this;if(n.opts.unevaluated&&(!0!==n.props||!0!==n.items))return r.if(t,(()=>this.mergeEvaluated(e,yc.Name))),!0}}function Lc(e,t,n,r){const a=new Nc(e,n,t);"code"in n?n.code(a,r):a.$data&&n.validate?(0,fc.funcKeywordCode)(a,n):"macro"in n?(0,fc.macroKeywordCode)(a,n):(n.compile||n.validate)&&(0,fc.funcKeywordCode)(a,n)}el.KeywordCxt=Nc;const jc=/^\/(?:[^~]|~0|~1)*$/,Fc=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Mc(e,{dataLevel:t,dataNames:n,dataPathArr:r}){let a,o;if(""===e)return gc.default.rootData;if("/"===e[0]){if(!jc.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);a=e,o=gc.default.rootData}else{const i=Fc.exec(e);if(!i)throw new Error(`Invalid JSON-pointer: ${e}`);const s=+i[1];if(a=i[2],"#"===a){if(s>=t)throw new Error(l("property/index",s));return r[t-s]}if(s>t)throw new Error(l("data",s));if(o=n[t-s],!a)return o}let i=o;const s=a.split("/");for(const c of s)c&&(o=yc._`${o}${(0,yc.getProperty)((0,vc.unescapeJsonPointer)(c))}`,i=yc._`${i} && ${o}`);return i;function l(e,n){return`Cannot access ${e} ${n} levels up, current level is ${t}`}}el.getData=Mc;var Hc={};Object.defineProperty(Hc,"__esModule",{value:!0});class Bc extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}Hc.default=Bc;var Dc={};Object.defineProperty(Dc,"__esModule",{value:!0});const qc=Vl;class Uc extends Error{constructor(e,t,n,r){super(r||`can't resolve reference ${n} from id ${t}`),this.missingRef=(0,qc.resolveUrl)(e,t,n),this.missingSchema=(0,qc.normalizeId)((0,qc.getFullPath)(e,this.missingRef))}}Dc.default=Uc;var zc={};Object.defineProperty(zc,"__esModule",{value:!0}),zc.resolveSchema=zc.getCompilingSchema=zc.resolveRef=zc.compileSchema=zc.SchemaEnv=void 0;const Vc=rl,Wc=Hc,Kc=sl,Gc=Vl,Jc=il,Xc=el;class Qc{constructor(e){var t;let n;this.refs={},this.dynamicAnchors={},"object"==typeof e.schema&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=null!==(t=e.baseId)&&void 0!==t?t:(0,Gc.normalizeId)(null==n?void 0:n[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=null==n?void 0:n.$async,this.refs={}}}function Yc(e){const t=eu.call(this,e);if(t)return t;const n=(0,Gc.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:r,lines:a}=this.opts.code,{ownProperties:o}=this.opts,i=new Vc.CodeGen(this.scope,{es5:r,lines:a,ownProperties:o});let s;e.$async&&(s=i.scopeValue("Error",{ref:Wc.default,code:Vc._`require("ajv/dist/runtime/validation_error").default`}));const l=i.scopeName("validate");e.validateName=l;const c={gen:i,allErrors:this.opts.allErrors,data:Kc.default.data,parentData:Kc.default.parentData,parentDataProperty:Kc.default.parentDataProperty,dataNames:[Kc.default.data],dataPathArr:[Vc.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",!0===this.opts.code.source?{ref:e.schema,code:(0,Vc.stringify)(e.schema)}:{ref:e.schema}),validateName:l,ValidationError:s,schema:e.schema,schemaEnv:e,rootId:n,baseId:e.baseId||n,schemaPath:Vc.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:Vc._`""`,opts:this.opts,self:this};let u;try{this._compilations.add(e),(0,Xc.validateFunctionCode)(c),i.optimize(this.opts.code.optimize);const t=i.toString();u=`${i.scopeRefs(Kc.default.scope)}return ${t}`,this.opts.code.process&&(u=this.opts.code.process(u,e));const n=new Function(`${Kc.default.self}`,`${Kc.default.scope}`,u)(this,this.scope.get());if(this.scope.value(l,{ref:n}),n.errors=null,n.schema=e.schema,n.schemaEnv=e,e.$async&&(n.$async=!0),!0===this.opts.code.source&&(n.source={validateName:l,validateCode:t,scopeValues:i._values}),this.opts.unevaluated){const{props:e,items:t}=c;n.evaluated={props:e instanceof Vc.Name?void 0:e,items:t instanceof Vc.Name?void 0:t,dynamicProps:e instanceof Vc.Name,dynamicItems:t instanceof Vc.Name},n.source&&(n.source.evaluated=(0,Vc.stringify)(n.evaluated))}return e.validate=n,e}catch(d){throw delete e.validate,delete e.validateName,u&&this.logger.error("Error compiling schema, function code:",u),d}finally{this._compilations.delete(e)}}function Zc(e){return(0,Gc.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:Yc.call(this,e)}function eu(e){for(const r of this._compilations)if(n=e,(t=r).schema===n.schema&&t.root===n.root&&t.baseId===n.baseId)return r;var t,n}function tu(e,t){let n;for(;"string"==typeof(n=this.refs[t]);)t=n;return n||this.schemas[t]||nu.call(this,e,t)}function nu(e,t){const n=this.opts.uriResolver.parse(t),r=(0,Gc._getFullPath)(this.opts.uriResolver,n);let a=(0,Gc.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&r===a)return au.call(this,n,e);const o=(0,Gc.normalizeId)(r),i=this.refs[o]||this.schemas[o];if("string"==typeof i){const t=nu.call(this,e,i);if("object"!=typeof(null==t?void 0:t.schema))return;return au.call(this,n,t)}if("object"==typeof(null==i?void 0:i.schema)){if(i.validate||Yc.call(this,i),o===(0,Gc.normalizeId)(t)){const{schema:t}=i,{schemaId:n}=this.opts,r=t[n];return r&&(a=(0,Gc.resolveUrl)(this.opts.uriResolver,a,r)),new Qc({schema:t,schemaId:n,root:e,baseId:a})}return au.call(this,n,i)}}zc.SchemaEnv=Qc,zc.compileSchema=Yc,zc.resolveRef=function(e,t,n){var r;n=(0,Gc.resolveUrl)(this.opts.uriResolver,t,n);const a=e.refs[n];if(a)return a;let o=tu.call(this,e,n);if(void 0===o){const a=null===(r=e.localRefs)||void 0===r?void 0:r[n],{schemaId:i}=this.opts;a&&(o=new Qc({schema:a,schemaId:i,root:e,baseId:t}))}return void 0!==o?e.refs[n]=Zc.call(this,o):void 0},zc.getCompilingSchema=eu,zc.resolveSchema=nu;const ru=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function au(e,{baseId:t,schema:n,root:r}){var a;if("/"!==(null===(a=e.fragment)||void 0===a?void 0:a[0]))return;for(const s of e.fragment.slice(1).split("/")){if("boolean"==typeof n)return;const e=n[(0,Jc.unescapeFragment)(s)];if(void 0===e)return;const r="object"==typeof(n=e)&&n[this.opts.schemaId];!ru.has(s)&&r&&(t=(0,Gc.resolveUrl)(this.opts.uriResolver,t,r))}let o;if("boolean"!=typeof n&&n.$ref&&!(0,Jc.schemaHasRulesButRef)(n,this.RULES)){const e=(0,Gc.resolveUrl)(this.opts.uriResolver,t,n.$ref);o=nu.call(this,r,e)}const{schemaId:i}=this.opts;return o=o||new Qc({schema:n,schemaId:i,root:r,baseId:t}),o.schema!==o.root.schema?o:void 0}const ou={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1};var iu={},su={exports:{}};(function(e){function t(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];if(t.length>1){t[0]=t[0].slice(0,-1);for(var r=t.length-1,a=1;a<r;++a)t[a]=t[a].slice(1,-1);return t[r]=t[r].slice(1),t.join("")}return t[0]}function n(e){return"(?:"+e+")"}function r(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function a(e){return e.toUpperCase()}function o(e){return null!=e?e instanceof Array?e:"number"!=typeof e.length||e.split||e.setInterval||e.call?[e]:Array.prototype.slice.call(e):[]}function i(e,t){var n=e;if(t)for(var r in t)n[r]=t[r];return n}function s(e){var r="[A-Za-z]",a="[0-9]",o=t(a,"[A-Fa-f]"),i=n(n("%[EFef]"+o+"%"+o+o+"%"+o+o)+"|"+n("%[89A-Fa-f]"+o+"%"+o+o)+"|"+n("%"+o+o)),s="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",l=t("[\\:\\/\\?\\#\\[\\]\\@]",s),c=e?"[\\uE000-\\uF8FF]":"[]",u=t(r,a,"[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]");n(r+t(r,a,"[\\+\\-\\.]")+"*"),n(n(i+"|"+t(u,s,"[\\:]"))+"*");var d=n(n("25[0-5]")+"|"+n("2[0-4]"+a)+"|"+n("1"+a+a)+"|"+n("0?[1-9]"+a)+"|0?0?"+a),p=n(d+"\\."+d+"\\."+d+"\\."+d),m=n(o+"{1,4}"),f=n(n(m+"\\:"+m)+"|"+p),h=n(n(m+"\\:")+"{6}"+f),y=n("\\:\\:"+n(m+"\\:")+"{5}"+f),g=n(n(m)+"?\\:\\:"+n(m+"\\:")+"{4}"+f),b=n(n(n(m+"\\:")+"{0,1}"+m)+"?\\:\\:"+n(m+"\\:")+"{3}"+f),v=n(n(n(m+"\\:")+"{0,2}"+m)+"?\\:\\:"+n(m+"\\:")+"{2}"+f),w=n(n(n(m+"\\:")+"{0,3}"+m)+"?\\:\\:"+m+"\\:"+f),k=n(n(n(m+"\\:")+"{0,4}"+m)+"?\\:\\:"+f),$=n(n(n(m+"\\:")+"{0,5}"+m)+"?\\:\\:"+m),E=n(n(n(m+"\\:")+"{0,6}"+m)+"?\\:\\:"),_=n([h,y,g,b,v,w,k,$,E].join("|")),S=n(n(u+"|"+i)+"+");n("[vV]"+o+"+\\."+t(u,s,"[\\:]")+"+"),n(n(i+"|"+t(u,s))+"*");var P=n(i+"|"+t(u,s,"[\\:\\@]"));return n(n(i+"|"+t(u,s,"[\\@]"))+"+"),n(n(P+"|"+t("[\\/\\?]",c))+"*"),{NOT_SCHEME:new RegExp(t("[^]",r,a,"[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(t("[^\\%\\:]",u,s),"g"),NOT_HOST:new RegExp(t("[^\\%\\[\\]\\:]",u,s),"g"),NOT_PATH:new RegExp(t("[^\\%\\/\\:\\@]",u,s),"g"),NOT_PATH_NOSCHEME:new RegExp(t("[^\\%\\/\\@]",u,s),"g"),NOT_QUERY:new RegExp(t("[^\\%]",u,s,"[\\:\\@\\/\\?]",c),"g"),NOT_FRAGMENT:new RegExp(t("[^\\%]",u,s,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(t("[^]",u,s),"g"),UNRESERVED:new RegExp(u,"g"),OTHER_CHARS:new RegExp(t("[^\\%]",u,l),"g"),PCT_ENCODED:new RegExp(i,"g"),IPV4ADDRESS:new RegExp("^("+p+")$"),IPV6ADDRESS:new RegExp("^\\[?("+_+")"+n(n("\\%25|\\%(?!"+o+"{2})")+"("+S+")")+"?\\]?$")}}var l=s(!1),c=s(!0),u=function(){function e(e,t){var n=[],r=!0,a=!1,o=void 0;try{for(var i,s=e[Symbol.iterator]();!(r=(i=s.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(l){a=!0,o=l}finally{try{!r&&s.return&&s.return()}finally{if(a)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),d=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)},p=2147483647,m=36,f=1,h=26,y=38,g=700,b=72,v=128,w="-",k=/^xn--/,$=/[^\0-\x7E]/,E=/[\x2E\u3002\uFF0E\uFF61]/g,_={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},S=m-f,P=Math.floor,x=String.fromCharCode;function A(e){throw new RangeError(_[e])}function I(e,t){for(var n=[],r=e.length;r--;)n[r]=t(e[r]);return n}function R(e,t){var n=e.split("@"),r="";return n.length>1&&(r=n[0]+"@",e=n[1]),r+I((e=e.replace(E,".")).split("."),t).join(".")}function T(e){for(var t=[],n=0,r=e.length;n<r;){var a=e.charCodeAt(n++);if(a>=55296&&a<=56319&&n<r){var o=e.charCodeAt(n++);56320==(64512&o)?t.push(((1023&a)<<10)+(1023&o)+65536):(t.push(a),n--)}else t.push(a)}return t}var C=function(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:m},O=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},N=function(e,t,n){var r=0;for(e=n?P(e/g):e>>1,e+=P(e/t);e>S*h>>1;r+=m)e=P(e/S);return P(r+(S+1)*e/(e+y))},L=function(e){var t=[],n=e.length,r=0,a=v,o=b,i=e.lastIndexOf(w);i<0&&(i=0);for(var s=0;s<i;++s)e.charCodeAt(s)>=128&&A("not-basic"),t.push(e.charCodeAt(s));for(var l=i>0?i+1:0;l<n;){for(var c=r,u=1,d=m;;d+=m){l>=n&&A("invalid-input");var y=C(e.charCodeAt(l++));(y>=m||y>P((p-r)/u))&&A("overflow"),r+=y*u;var g=d<=o?f:d>=o+h?h:d-o;if(y<g)break;var k=m-g;u>P(p/k)&&A("overflow"),u*=k}var $=t.length+1;o=N(r-c,$,0==c),P(r/$)>p-a&&A("overflow"),a+=P(r/$),r%=$,t.splice(r++,0,a)}return String.fromCodePoint.apply(String,t)},j=function(e){var t=[],n=(e=T(e)).length,r=v,a=0,o=b,i=!0,s=!1,l=void 0;try{for(var c,u=e[Symbol.iterator]();!(i=(c=u.next()).done);i=!0){var d=c.value;d<128&&t.push(x(d))}}catch(W){s=!0,l=W}finally{try{!i&&u.return&&u.return()}finally{if(s)throw l}}var y=t.length,g=y;for(y&&t.push(w);g<n;){var k=p,$=!0,E=!1,_=void 0;try{for(var S,I=e[Symbol.iterator]();!($=(S=I.next()).done);$=!0){var R=S.value;R>=r&&R<k&&(k=R)}}catch(W){E=!0,_=W}finally{try{!$&&I.return&&I.return()}finally{if(E)throw _}}var C=g+1;k-r>P((p-a)/C)&&A("overflow"),a+=(k-r)*C,r=k;var L=!0,j=!1,F=void 0;try{for(var M,H=e[Symbol.iterator]();!(L=(M=H.next()).done);L=!0){var B=M.value;if(B<r&&++a>p&&A("overflow"),B==r){for(var D=a,q=m;;q+=m){var U=q<=o?f:q>=o+h?h:q-o;if(D<U)break;var z=D-U,V=m-U;t.push(x(O(U+z%V,0))),D=P(z/V)}t.push(x(O(D,0))),o=N(a,C,g==y),a=0,++g}}}catch(W){j=!0,F=W}finally{try{!L&&H.return&&H.return()}finally{if(j)throw F}}++a,++r}return t.join("")},F=function(e){return R(e,(function(e){return k.test(e)?L(e.slice(4).toLowerCase()):e}))},M=function(e){return R(e,(function(e){return $.test(e)?"xn--"+j(e):e}))},H={version:"2.1.0",ucs2:{decode:T,encode:function(e){return String.fromCodePoint.apply(String,d(e))}},decode:L,encode:j,toASCII:M,toUnicode:F},B={};function D(e){var t=e.charCodeAt(0);return t<16?"%0"+t.toString(16).toUpperCase():t<128?"%"+t.toString(16).toUpperCase():t<2048?"%"+(t>>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function q(e){for(var t="",n=0,r=e.length;n<r;){var a=parseInt(e.substr(n+1,2),16);if(a<128)t+=String.fromCharCode(a),n+=3;else if(a>=194&&a<224){if(r-n>=6){var o=parseInt(e.substr(n+4,2),16);t+=String.fromCharCode((31&a)<<6|63&o)}else t+=e.substr(n,6);n+=6}else if(a>=224){if(r-n>=9){var i=parseInt(e.substr(n+4,2),16),s=parseInt(e.substr(n+7,2),16);t+=String.fromCharCode((15&a)<<12|(63&i)<<6|63&s)}else t+=e.substr(n,9);n+=9}else t+=e.substr(n,3),n+=3}return t}function U(e,t){function n(e){var n=q(e);return n.match(t.UNRESERVED)?n:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,n).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,n).replace(t.NOT_USERINFO,D).replace(t.PCT_ENCODED,a)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,n).toLowerCase().replace(t.NOT_HOST,D).replace(t.PCT_ENCODED,a)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,n).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,D).replace(t.PCT_ENCODED,a)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,n).replace(t.NOT_QUERY,D).replace(t.PCT_ENCODED,a)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,n).replace(t.NOT_FRAGMENT,D).replace(t.PCT_ENCODED,a)),e}function z(e){return e.replace(/^0*(.*)/,"$1")||"0"}function V(e,t){var n=e.match(t.IPV4ADDRESS)||[],r=u(n,2)[1];return r?r.split(".").map(z).join("."):e}function W(e,t){var n=e.match(t.IPV6ADDRESS)||[],r=u(n,3),a=r[1],o=r[2];if(a){for(var i=a.toLowerCase().split("::").reverse(),s=u(i,2),l=s[0],c=s[1],d=c?c.split(":").map(z):[],p=l.split(":").map(z),m=t.IPV4ADDRESS.test(p[p.length-1]),f=m?7:8,h=p.length-f,y=Array(f),g=0;g<f;++g)y[g]=d[g]||p[h+g]||"";m&&(y[f-1]=V(y[f-1],t));var b=y.reduce((function(e,t,n){if(!t||"0"===t){var r=e[e.length-1];r&&r.index+r.length===n?r.length++:e.push({index:n,length:1})}return e}),[]).sort((function(e,t){return t.length-e.length}))[0],v=void 0;if(b&&b.length>1){var w=y.slice(0,b.index),k=y.slice(b.index+b.length);v=w.join(":")+"::"+k.join(":")}else v=y.join(":");return o&&(v+="%"+o),v}return e}var K=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,G=void 0==="".match(/(){0}/)[1];function J(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={},r=!1!==t.iri?c:l;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var a=e.match(K);if(a){G?(n.scheme=a[1],n.userinfo=a[3],n.host=a[4],n.port=parseInt(a[5],10),n.path=a[6]||"",n.query=a[7],n.fragment=a[8],isNaN(n.port)&&(n.port=a[5])):(n.scheme=a[1]||void 0,n.userinfo=-1!==e.indexOf("@")?a[3]:void 0,n.host=-1!==e.indexOf("//")?a[4]:void 0,n.port=parseInt(a[5],10),n.path=a[6]||"",n.query=-1!==e.indexOf("?")?a[7]:void 0,n.fragment=-1!==e.indexOf("#")?a[8]:void 0,isNaN(n.port)&&(n.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?a[4]:void 0)),n.host&&(n.host=W(V(n.host,r),r)),void 0!==n.scheme||void 0!==n.userinfo||void 0!==n.host||void 0!==n.port||n.path||void 0!==n.query?void 0===n.scheme?n.reference="relative":void 0===n.fragment?n.reference="absolute":n.reference="uri":n.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==n.reference&&(n.error=n.error||"URI is not a "+t.reference+" reference.");var o=B[(t.scheme||n.scheme||"").toLowerCase()];if(t.unicodeSupport||o&&o.unicodeSupport)U(n,r);else{if(n.host&&(t.domainHost||o&&o.domainHost))try{n.host=H.toASCII(n.host.replace(r.PCT_ENCODED,q).toLowerCase())}catch(i){n.error=n.error||"Host's domain name can not be converted to ASCII via punycode: "+i}U(n,l)}o&&o.parse&&o.parse(n,t)}else n.error=n.error||"URI can not be parsed.";return n}function X(e,t){var n=!1!==t.iri?c:l,r=[];return void 0!==e.userinfo&&(r.push(e.userinfo),r.push("@")),void 0!==e.host&&r.push(W(V(String(e.host),n),n).replace(n.IPV6ADDRESS,(function(e,t,n){return"["+t+(n?"%25"+n:"")+"]"}))),"number"!=typeof e.port&&"string"!=typeof e.port||(r.push(":"),r.push(String(e.port))),r.length?r.join(""):void 0}var Q=/^\.\.?\//,Y=/^\/\.(\/|$)/,Z=/^\/\.\.(\/|$)/,ee=/^\/?(?:.|\n)*?(?=\/|$)/;function te(e){for(var t=[];e.length;)if(e.match(Q))e=e.replace(Q,"");else if(e.match(Y))e=e.replace(Y,"/");else if(e.match(Z))e=e.replace(Z,"/"),t.pop();else if("."===e||".."===e)e="";else{var n=e.match(ee);if(!n)throw new Error("Unexpected dot segment condition");var r=n[0];e=e.slice(r.length),t.push(r)}return t.join("")}function ne(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.iri?c:l,r=[],a=B[(t.scheme||e.scheme||"").toLowerCase()];if(a&&a.serialize&&a.serialize(e,t),e.host)if(n.IPV6ADDRESS.test(e.host));else if(t.domainHost||a&&a.domainHost)try{e.host=t.iri?H.toUnicode(e.host):H.toASCII(e.host.replace(n.PCT_ENCODED,q).toLowerCase())}catch(s){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+s}U(e,n),"suffix"!==t.reference&&e.scheme&&(r.push(e.scheme),r.push(":"));var o=X(e,t);if(void 0!==o&&("suffix"!==t.reference&&r.push("//"),r.push(o),e.path&&"/"!==e.path.charAt(0)&&r.push("/")),void 0!==e.path){var i=e.path;t.absolutePath||a&&a.absolutePath||(i=te(i)),void 0===o&&(i=i.replace(/^\/\//,"/%2F")),r.push(i)}return void 0!==e.query&&(r.push("?"),r.push(e.query)),void 0!==e.fragment&&(r.push("#"),r.push(e.fragment)),r.join("")}function re(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r={};return arguments[3]||(e=J(ne(e,n),n),t=J(ne(t,n),n)),!(n=n||{}).tolerant&&t.scheme?(r.scheme=t.scheme,r.userinfo=t.userinfo,r.host=t.host,r.port=t.port,r.path=te(t.path||""),r.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(r.userinfo=t.userinfo,r.host=t.host,r.port=t.port,r.path=te(t.path||""),r.query=t.query):(t.path?("/"===t.path.charAt(0)?r.path=te(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?r.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:r.path=t.path:r.path="/"+t.path,r.path=te(r.path)),r.query=t.query):(r.path=e.path,void 0!==t.query?r.query=t.query:r.query=e.query),r.userinfo=e.userinfo,r.host=e.host,r.port=e.port),r.scheme=e.scheme),r.fragment=t.fragment,r}function ae(e,t,n){var r=i({scheme:"null"},n);return ne(re(J(e,r),J(t,r),r,!0),r)}function oe(e,t){return"string"==typeof e?e=ne(J(e,t),t):"object"===r(e)&&(e=J(ne(e,t),t)),e}function ie(e,t,n){return"string"==typeof e?e=ne(J(e,n),n):"object"===r(e)&&(e=ne(e,n)),"string"==typeof t?t=ne(J(t,n),n):"object"===r(t)&&(t=ne(t,n)),e===t}function se(e,t){return e&&e.toString().replace(t&&t.iri?c.ESCAPE:l.ESCAPE,D)}function le(e,t){return e&&e.toString().replace(t&&t.iri?c.PCT_ENCODED:l.PCT_ENCODED,q)}var ce={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){var n="https"===String(e.scheme).toLowerCase();return e.port!==(n?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},ue={scheme:"https",domainHost:ce.domainHost,parse:ce.parse,serialize:ce.serialize};function de(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var pe={scheme:"ws",domainHost:!0,parse:function(e,t){var n=e;return n.secure=de(n),n.resourceName=(n.path||"/")+(n.query?"?"+n.query:""),n.path=void 0,n.query=void 0,n},serialize:function(e,t){if(e.port!==(de(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var n=e.resourceName.split("?"),r=u(n,2),a=r[0],o=r[1];e.path=a&&"/"!==a?a:void 0,e.query=o,e.resourceName=void 0}return e.fragment=void 0,e}},me={scheme:"wss",domainHost:pe.domainHost,parse:pe.parse,serialize:pe.serialize},fe={},he="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",ye="[0-9A-Fa-f]",ge=n(n("%[EFef]"+ye+"%"+ye+ye+"%"+ye+ye)+"|"+n("%[89A-Fa-f]"+ye+"%"+ye+ye)+"|"+n("%"+ye+ye)),be="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",ve=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),we="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",ke=new RegExp(he,"g"),$e=new RegExp(ge,"g"),Ee=new RegExp(t("[^]",be,"[\\.]",'[\\"]',ve),"g"),_e=new RegExp(t("[^]",he,we),"g"),Se=_e;function Pe(e){var t=q(e);return t.match(ke)?t:e}var xe={scheme:"mailto",parse:function(e,t){var n=e,r=n.to=n.path?n.path.split(","):[];if(n.path=void 0,n.query){for(var a=!1,o={},i=n.query.split("&"),s=0,l=i.length;s<l;++s){var c=i[s].split("=");switch(c[0]){case"to":for(var u=c[1].split(","),d=0,p=u.length;d<p;++d)r.push(u[d]);break;case"subject":n.subject=le(c[1],t);break;case"body":n.body=le(c[1],t);break;default:a=!0,o[le(c[0],t)]=le(c[1],t)}}a&&(n.headers=o)}n.query=void 0;for(var m=0,f=r.length;m<f;++m){var h=r[m].split("@");if(h[0]=le(h[0]),t.unicodeSupport)h[1]=le(h[1],t).toLowerCase();else try{h[1]=H.toASCII(le(h[1],t).toLowerCase())}catch(y){n.error=n.error||"Email address's domain name can not be converted to ASCII via punycode: "+y}r[m]=h.join("@")}return n},serialize:function(e,t){var n=e,r=o(e.to);if(r){for(var i=0,s=r.length;i<s;++i){var l=String(r[i]),c=l.lastIndexOf("@"),u=l.slice(0,c).replace($e,Pe).replace($e,a).replace(Ee,D),d=l.slice(c+1);try{d=t.iri?H.toUnicode(d):H.toASCII(le(d,t).toLowerCase())}catch(h){n.error=n.error||"Email address's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+h}r[i]=u+"@"+d}n.path=r.join(",")}var p=e.headers=e.headers||{};e.subject&&(p.subject=e.subject),e.body&&(p.body=e.body);var m=[];for(var f in p)p[f]!==fe[f]&&m.push(f.replace($e,Pe).replace($e,a).replace(_e,D)+"="+p[f].replace($e,Pe).replace($e,a).replace(Se,D));return m.length&&(n.query=m.join("&")),n}},Ae=/^([^\:]+)\:(.*)/,Ie={scheme:"urn",parse:function(e,t){var n=e.path&&e.path.match(Ae),r=e;if(n){var a=t.scheme||r.scheme||"urn",o=n[1].toLowerCase(),i=n[2],s=a+":"+(t.nid||o),l=B[s];r.nid=o,r.nss=i,r.path=void 0,l&&(r=l.parse(r,t))}else r.error=r.error||"URN can not be parsed.";return r},serialize:function(e,t){var n=t.scheme||e.scheme||"urn",r=e.nid,a=n+":"+(t.nid||r),o=B[a];o&&(e=o.serialize(e,t));var i=e,s=e.nss;return i.path=(r||t.nid)+":"+s,i}},Re=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,Te={scheme:"urn:uuid",parse:function(e,t){var n=e;return n.uuid=n.nss,n.nss=void 0,t.tolerant||n.uuid&&n.uuid.match(Re)||(n.error=n.error||"UUID is not valid."),n},serialize:function(e,t){var n=e;return n.nss=(e.uuid||"").toLowerCase(),n}};B[ce.scheme]=ce,B[ue.scheme]=ue,B[pe.scheme]=pe,B[me.scheme]=me,B[xe.scheme]=xe,B[Ie.scheme]=Ie,B[Te.scheme]=Te,e.SCHEMES=B,e.pctEncChar=D,e.pctDecChars=q,e.parse=J,e.removeDotSegments=te,e.serialize=ne,e.resolveComponents=re,e.resolve=ae,e.normalize=oe,e.equal=ie,e.escapeComponent=se,e.unescapeComponent=le,Object.defineProperty(e,"__esModule",{value:!0})})(su.exports);var lu=su.exports;Object.defineProperty(iu,"__esModule",{value:!0});const cu=lu;cu.code='require("ajv/dist/runtime/uri").default',iu.default=cu,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=void 0;var t=el;Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return t.KeywordCxt}});var n=rl;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return n._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return n.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return n.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return n.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return n.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return n.CodeGen}});const r=Hc,a=Dc,o=yl,i=zc,s=rl,l=Vl,c=hl,u=il,d=ou,p=iu,m=(e,t)=>new RegExp(e,t);m.code="new RegExp";const f=["removeAdditional","useDefaults","coerceTypes"],h=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),y={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},g={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'};function b(e){var t,n,r,a,o,i,s,l,c,u,d,f,h,y,g,b,v,w,k,$,E,_,S,P,x;const A=e.strict,I=null===(t=e.code)||void 0===t?void 0:t.optimize,R=!0===I||void 0===I?1:I||0,T=null!==(r=null===(n=e.code)||void 0===n?void 0:n.regExp)&&void 0!==r?r:m,C=null!==(a=e.uriResolver)&&void 0!==a?a:p.default;return{strictSchema:null===(i=null!==(o=e.strictSchema)&&void 0!==o?o:A)||void 0===i||i,strictNumbers:null===(l=null!==(s=e.strictNumbers)&&void 0!==s?s:A)||void 0===l||l,strictTypes:null!==(u=null!==(c=e.strictTypes)&&void 0!==c?c:A)&&void 0!==u?u:"log",strictTuples:null!==(f=null!==(d=e.strictTuples)&&void 0!==d?d:A)&&void 0!==f?f:"log",strictRequired:null!==(y=null!==(h=e.strictRequired)&&void 0!==h?h:A)&&void 0!==y&&y,code:e.code?{...e.code,optimize:R,regExp:T}:{optimize:R,regExp:T},loopRequired:null!==(g=e.loopRequired)&&void 0!==g?g:200,loopEnum:null!==(b=e.loopEnum)&&void 0!==b?b:200,meta:null===(v=e.meta)||void 0===v||v,messages:null===(w=e.messages)||void 0===w||w,inlineRefs:null===(k=e.inlineRefs)||void 0===k||k,schemaId:null!==($=e.schemaId)&&void 0!==$?$:"$id",addUsedSchema:null===(E=e.addUsedSchema)||void 0===E||E,validateSchema:null===(_=e.validateSchema)||void 0===_||_,validateFormats:null===(S=e.validateFormats)||void 0===S||S,unicodeRegExp:null===(P=e.unicodeRegExp)||void 0===P||P,int32range:null===(x=e.int32range)||void 0===x||x,uriResolver:C}}class v{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...b(e)};const{es5:t,lines:n}=this.opts.code;this.scope=new s.ValueScope({scope:{},prefixes:h,es5:t,lines:n}),this.logger=function(e){if(!1===e)return P;if(void 0===e)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}(e.logger);const r=e.validateFormats;e.validateFormats=!1,this.RULES=(0,o.getRules)(),w.call(this,y,e,"NOT SUPPORTED"),w.call(this,g,e,"DEPRECATED","warn"),this._metaOpts=S.call(this),e.formats&&E.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&_.call(this,e.keywords),"object"==typeof e.meta&&this.addMetaSchema(e.meta),$.call(this),e.validateFormats=r}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:e,meta:t,schemaId:n}=this.opts;let r=d;"id"===n&&(r={...d},r.id=r.$id,delete r.$id),t&&e&&this.addMetaSchema(r,r[n],!1)}defaultMeta(){const{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta="object"==typeof e?e[t]||e:void 0}validate(e,t){let n;if("string"==typeof e){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);const r=n(t);return"$async"in n||(this.errors=n.errors),r}compile(e,t){const n=this._addSchema(e,t);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,t){if("function"!=typeof this.opts.loadSchema)throw new Error("options.loadSchema should be a function");const{loadSchema:n}=this.opts;return r.call(this,e,t);async function r(e,t){await o.call(this,e.$schema);const n=this._addSchema(e,t);return n.validate||i.call(this,n)}async function o(e){e&&!this.getSchema(e)&&await r.call(this,{$ref:e},!0)}async function i(e){try{return this._compileSchemaEnv(e)}catch(t){if(!(t instanceof a.default))throw t;return s.call(this,t),await l.call(this,t.missingSchema),i.call(this,e)}}function s({missingSchema:e,missingRef:t}){if(this.refs[e])throw new Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}async function l(e){const n=await c.call(this,e);this.refs[e]||await o.call(this,n.$schema),this.refs[e]||this.addSchema(n,e,t)}async function c(e){const t=this._loading[e];if(t)return t;try{return await(this._loading[e]=n(e))}finally{delete this._loading[e]}}}addSchema(e,t,n,r=this.opts.validateSchema){if(Array.isArray(e)){for(const t of e)this.addSchema(t,void 0,n,r);return this}let a;if("object"==typeof e){const{schemaId:t}=this.opts;if(a=e[t],void 0!==a&&"string"!=typeof a)throw new Error(`schema ${t} must be string`)}return t=(0,l.normalizeId)(t||a),this._checkUnique(t),this.schemas[t]=this._addSchema(e,n,t,r,!0),this}addMetaSchema(e,t,n=this.opts.validateSchema){return this.addSchema(e,t,!0,n),this}validateSchema(e,t){if("boolean"==typeof e)return!0;let n;if(n=e.$schema,void 0!==n&&"string"!=typeof n)throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const r=this.validate(n,e);if(!r&&t){const e="schema is invalid: "+this.errorsText();if("log"!==this.opts.validateSchema)throw new Error(e);this.logger.error(e)}return r}getSchema(e){let t;for(;"string"==typeof(t=k.call(this,e));)e=t;if(void 0===t){const{schemaId:n}=this.opts,r=new i.SchemaEnv({schema:{},schemaId:n});if(t=i.resolveSchema.call(this,r,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const t=k.call(this,e);return"object"==typeof t&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{const t=e;this._cache.delete(t);let n=e[this.opts.schemaId];return n&&(n=(0,l.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(const t of e)this.addKeyword(t);return this}addKeyword(e,t){let n;if("string"==typeof e)n=e,"object"==typeof t&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=n);else{if("object"!=typeof e||void 0!==t)throw new Error("invalid addKeywords parameters");if(n=(t=e).keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}if(A.call(this,n,t),!t)return(0,u.eachItem)(n,(e=>I.call(this,e))),this;T.call(this,t);const r={...t,type:(0,c.getJSONTypes)(t.type),schemaType:(0,c.getJSONTypes)(t.schemaType)};return(0,u.eachItem)(n,0===r.type.length?e=>I.call(this,e,r):e=>r.type.forEach((t=>I.call(this,e,r,t)))),this}getKeyword(e){const t=this.RULES.all[e];return"object"==typeof t?t.definition:!!t}removeKeyword(e){const{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(const n of t.rules){const t=n.rules.findIndex((t=>t.keyword===e));t>=0&&n.rules.splice(t,1)}return this}addFormat(e,t){return"string"==typeof t&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:n="data"}={}){return e&&0!==e.length?e.map((e=>`${n}${e.instancePath} ${e.message}`)).reduce(((e,n)=>e+t+n)):"No errors"}$dataMetaSchema(e,t){const n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(const r of t){const t=r.split("/").slice(1);let a=e;for(const e of t)a=a[e];for(const e in n){const t=n[e];if("object"!=typeof t)continue;const{$data:r}=t.definition,o=a[e];r&&o&&(a[e]=O(o))}}return e}_removeAllSchemas(e,t){for(const n in e){const r=e[n];t&&!t.test(n)||("string"==typeof r?delete e[n]:r&&!r.meta&&(this._cache.delete(r.schema),delete e[n]))}}_addSchema(e,t,n,r=this.opts.validateSchema,a=this.opts.addUsedSchema){let o;const{schemaId:s}=this.opts;if("object"==typeof e)o=e[s];else{if(this.opts.jtd)throw new Error("schema must be object");if("boolean"!=typeof e)throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(void 0!==c)return c;n=(0,l.normalizeId)(o||n);const u=l.getSchemaRefs.call(this,e,n);return c=new i.SchemaEnv({schema:e,schemaId:s,meta:t,baseId:n,localRefs:u}),this._cache.set(c.schema,c),a&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),r&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):i.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){const t=this.opts;this.opts=this._metaOpts;try{i.compileSchema.call(this,e)}finally{this.opts=t}}}function w(e,t,n,r="error"){for(const a in e){const o=a;o in t&&this.logger[r](`${n}: option ${a}. ${e[o]}`)}}function k(e){return e=(0,l.normalizeId)(e),this.schemas[e]||this.refs[e]}function $(){const e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(const t in e)this.addSchema(e[t],t)}function E(){for(const e in this.opts.formats){const t=this.opts.formats[e];t&&this.addFormat(e,t)}}function _(e){if(Array.isArray(e))this.addVocabulary(e);else{this.logger.warn("keywords option as map is deprecated, pass array");for(const t in e){const n=e[t];n.keyword||(n.keyword=t),this.addKeyword(n)}}}function S(){const e={...this.opts};for(const t of f)delete e[t];return e}e.default=v,v.ValidationError=r.default,v.MissingRefError=a.default;const P={log(){},warn(){},error(){}};const x=/^[a-z_$][a-z0-9_$:-]*$/i;function A(e,t){const{RULES:n}=this;if((0,u.eachItem)(e,(e=>{if(n.keywords[e])throw new Error(`Keyword ${e} is already defined`);if(!x.test(e))throw new Error(`Keyword ${e} has invalid name`)})),t&&t.$data&&!("code"in t)&&!("validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function I(e,t,n){var r;const a=null==t?void 0:t.post;if(n&&a)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:o}=this;let i=a?o.post:o.rules.find((({type:e})=>e===n));if(i||(i={type:n,rules:[]},o.rules.push(i)),o.keywords[e]=!0,!t)return;const s={keyword:e,definition:{...t,type:(0,c.getJSONTypes)(t.type),schemaType:(0,c.getJSONTypes)(t.schemaType)}};t.before?R.call(this,i,s,t.before):i.rules.push(s),o.all[e]=s,null===(r=t.implements)||void 0===r||r.forEach((e=>this.addKeyword(e)))}function R(e,t,n){const r=e.rules.findIndex((e=>e.keyword===n));r>=0?e.rules.splice(r,0,t):(e.rules.push(t),this.logger.warn(`rule ${n} is not defined`))}function T(e){let{metaSchema:t}=e;void 0!==t&&(e.$data&&this.opts.$data&&(t=O(t)),e.validateSchema=this.compile(t,!0))}const C={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function O(e){return{anyOf:[e,C]}}}(Zs);var uu={},du={},pu={};Object.defineProperty(pu,"__esModule",{value:!0});const mu={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};pu.default=mu;var fu={};Object.defineProperty(fu,"__esModule",{value:!0}),fu.callRef=fu.getValidate=void 0;const hu=Dc,yu=Pl,gu=rl,bu=sl,vu=zc,wu=il,ku={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:n,it:r}=e,{baseId:a,schemaEnv:o,validateName:i,opts:s,self:l}=r,{root:c}=o;if(("#"===n||"#/"===n)&&a===c.baseId)return function(){if(o===c)return Eu(e,i,o,o.$async);const n=t.scopeValue("root",{ref:c});return Eu(e,gu._`${n}.validate`,c,c.$async)}();const u=vu.resolveRef.call(l,c,a,n);if(void 0===u)throw new hu.default(r.opts.uriResolver,a,n);return u instanceof vu.SchemaEnv?function(t){const n=$u(e,t);Eu(e,n,t,t.$async)}(u):function(r){const a=t.scopeValue("schema",!0===s.code.source?{ref:r,code:(0,gu.stringify)(r)}:{ref:r}),o=t.name("valid"),i=e.subschema({schema:r,dataTypes:[],schemaPath:gu.nil,topSchemaRef:a,errSchemaPath:n},o);e.mergeEvaluated(i),e.ok(o)}(u)}};function $u(e,t){const{gen:n}=e;return t.validate?n.scopeValue("validate",{ref:t.validate}):gu._`${n.scopeValue("wrapper",{ref:t})}.validate`}function Eu(e,t,n,r){const{gen:a,it:o}=e,{allErrors:i,schemaEnv:s,opts:l}=o,c=l.passContext?bu.default.this:gu.nil;function u(e){const t=gu._`${e}.errors`;a.assign(bu.default.vErrors,gu._`${bu.default.vErrors} === null ? ${t} : ${bu.default.vErrors}.concat(${t})`),a.assign(bu.default.errors,gu._`${bu.default.vErrors}.length`)}function d(e){var t;if(!o.opts.unevaluated)return;const r=null===(t=null==n?void 0:n.validate)||void 0===t?void 0:t.evaluated;if(!0!==o.props)if(r&&!r.dynamicProps)void 0!==r.props&&(o.props=wu.mergeEvaluated.props(a,r.props,o.props));else{const t=a.var("props",gu._`${e}.evaluated.props`);o.props=wu.mergeEvaluated.props(a,t,o.props,gu.Name)}if(!0!==o.items)if(r&&!r.dynamicItems)void 0!==r.items&&(o.items=wu.mergeEvaluated.items(a,r.items,o.items));else{const t=a.var("items",gu._`${e}.evaluated.items`);o.items=wu.mergeEvaluated.items(a,t,o.items,gu.Name)}}r?function(){if(!s.$async)throw new Error("async schema referenced by sync schema");const n=a.let("valid");a.try((()=>{a.code(gu._`await ${(0,yu.callValidateCode)(e,t,c)}`),d(t),i||a.assign(n,!0)}),(e=>{a.if(gu._`!(${e} instanceof ${o.ValidationError})`,(()=>a.throw(e))),u(e),i||a.assign(n,!1)})),e.ok(n)}():e.result((0,yu.callValidateCode)(e,t,c),(()=>d(t)),(()=>u(t)))}fu.getValidate=$u,fu.callRef=Eu,fu.default=ku,Object.defineProperty(du,"__esModule",{value:!0});const _u=fu,Su=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",pu.default,_u.default];du.default=Su;var Pu={},xu={};Object.defineProperty(xu,"__esModule",{value:!0});const Au=rl,Iu=Au.operators,Ru={maximum:{okStr:"<=",ok:Iu.LTE,fail:Iu.GT},minimum:{okStr:">=",ok:Iu.GTE,fail:Iu.LT},exclusiveMaximum:{okStr:"<",ok:Iu.LT,fail:Iu.GTE},exclusiveMinimum:{okStr:">",ok:Iu.GT,fail:Iu.LTE}},Tu={message:({keyword:e,schemaCode:t})=>Au.str`must be ${Ru[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>Au._`{comparison: ${Ru[e].okStr}, limit: ${t}}`},Cu={keyword:Object.keys(Ru),type:"number",schemaType:"number",$data:!0,error:Tu,code(e){const{keyword:t,data:n,schemaCode:r}=e;e.fail$data(Au._`${n} ${Ru[t].fail} ${r} || isNaN(${n})`)}};xu.default=Cu;var Ou={};Object.defineProperty(Ou,"__esModule",{value:!0});const Nu=rl,Lu={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:{message:({schemaCode:e})=>Nu.str`must be multiple of ${e}`,params:({schemaCode:e})=>Nu._`{multipleOf: ${e}}`},code(e){const{gen:t,data:n,schemaCode:r,it:a}=e,o=a.opts.multipleOfPrecision,i=t.let("res"),s=o?Nu._`Math.abs(Math.round(${i}) - ${i}) > 1e-${o}`:Nu._`${i} !== parseInt(${i})`;e.fail$data(Nu._`(${r} === 0 || (${i} = ${n}/${r}, ${s}))`)}};Ou.default=Lu;var ju={},Fu={};function Mu(e){const t=e.length;let n,r=0,a=0;for(;a<t;)r++,n=e.charCodeAt(a++),n>=55296&&n<=56319&&a<t&&(n=e.charCodeAt(a),56320==(64512&n)&&a++);return r}Object.defineProperty(Fu,"__esModule",{value:!0}),Fu.default=Mu,Mu.code='require("ajv/dist/runtime/ucs2length").default',Object.defineProperty(ju,"__esModule",{value:!0});const Hu=rl,Bu=il,Du=Fu,qu={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:{message:({keyword:e,schemaCode:t})=>Hu.str`must NOT have ${"maxLength"===e?"more":"fewer"} than ${t} characters`,params:({schemaCode:e})=>Hu._`{limit: ${e}}`},code(e){const{keyword:t,data:n,schemaCode:r,it:a}=e,o="maxLength"===t?Hu.operators.GT:Hu.operators.LT,i=!1===a.opts.unicode?Hu._`${n}.length`:Hu._`${(0,Bu.useFunc)(e.gen,Du.default)}(${n})`;e.fail$data(Hu._`${i} ${o} ${r}`)}};ju.default=qu;var Uu={};Object.defineProperty(Uu,"__esModule",{value:!0});const zu=Pl,Vu=rl,Wu={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>Vu.str`must match pattern "${e}"`,params:({schemaCode:e})=>Vu._`{pattern: ${e}}`},code(e){const{data:t,$data:n,schema:r,schemaCode:a,it:o}=e,i=o.opts.unicodeRegExp?"u":"",s=n?Vu._`(new RegExp(${a}, ${i}))`:(0,zu.usePattern)(e,r);e.fail$data(Vu._`!${s}.test(${t})`)}};Uu.default=Wu;var Ku={};Object.defineProperty(Ku,"__esModule",{value:!0});const Gu=rl,Ju={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:{message:({keyword:e,schemaCode:t})=>Gu.str`must NOT have ${"maxProperties"===e?"more":"fewer"} than ${t} properties`,params:({schemaCode:e})=>Gu._`{limit: ${e}}`},code(e){const{keyword:t,data:n,schemaCode:r}=e,a="maxProperties"===t?Gu.operators.GT:Gu.operators.LT;e.fail$data(Gu._`Object.keys(${n}).length ${a} ${r}`)}};Ku.default=Ju;var Xu={};Object.defineProperty(Xu,"__esModule",{value:!0});const Qu=Pl,Yu=rl,Zu=il,ed={keyword:"required",type:"object",schemaType:"array",$data:!0,error:{message:({params:{missingProperty:e}})=>Yu.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>Yu._`{missingProperty: ${e}}`},code(e){const{gen:t,schema:n,schemaCode:r,data:a,$data:o,it:i}=e,{opts:s}=i;if(!o&&0===n.length)return;const l=n.length>=s.loopRequired;if(i.allErrors?function(){if(l||o)e.block$data(Yu.nil,c);else for(const t of n)(0,Qu.checkReportMissingProp)(e,t)}():function(){const i=t.let("missing");if(l||o){const n=t.let("valid",!0);e.block$data(n,(()=>function(n,o){e.setParams({missingProperty:n}),t.forOf(n,r,(()=>{t.assign(o,(0,Qu.propertyInData)(t,a,n,s.ownProperties)),t.if((0,Yu.not)(o),(()=>{e.error(),t.break()}))}),Yu.nil)}(i,n))),e.ok(n)}else t.if((0,Qu.checkMissingProp)(e,n,i)),(0,Qu.reportMissingProp)(e,i),t.else()}(),s.strictRequired){const t=e.parentSchema.properties,{definedProperties:r}=e.it;for(const e of n)if(void 0===(null==t?void 0:t[e])&&!r.has(e)){const t=i.schemaEnv.baseId+i.errSchemaPath;(0,Zu.checkStrictMode)(i,`required property "${e}" is not defined at "${t}" (strictRequired)`,i.opts.strictRequired)}}function c(){t.forOf("prop",r,(n=>{e.setParams({missingProperty:n}),t.if((0,Qu.noPropertyInData)(t,a,n,s.ownProperties),(()=>e.error()))}))}}};Xu.default=ed;var td={};Object.defineProperty(td,"__esModule",{value:!0});const nd=rl,rd={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:{message:({keyword:e,schemaCode:t})=>nd.str`must NOT have ${"maxItems"===e?"more":"fewer"} than ${t} items`,params:({schemaCode:e})=>nd._`{limit: ${e}}`},code(e){const{keyword:t,data:n,schemaCode:r}=e,a="maxItems"===t?nd.operators.GT:nd.operators.LT;e.fail$data(nd._`${n}.length ${a} ${r}`)}};td.default=rd;var ad={},od={};Object.defineProperty(od,"__esModule",{value:!0});const id=Wl;id.code='require("ajv/dist/runtime/equal").default',od.default=id,Object.defineProperty(ad,"__esModule",{value:!0});const sd=hl,ld=rl,cd=il,ud=od,dd={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:{message:({params:{i:e,j:t}})=>ld.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>ld._`{i: ${e}, j: ${t}}`},code(e){const{gen:t,data:n,$data:r,schema:a,parentSchema:o,schemaCode:i,it:s}=e;if(!r&&!a)return;const l=t.let("valid"),c=o.items?(0,sd.getSchemaTypes)(o.items):[];function u(r,a){const o=t.name("item"),i=(0,sd.checkDataTypes)(c,o,s.opts.strictNumbers,sd.DataType.Wrong),u=t.const("indices",ld._`{}`);t.for(ld._`;${r}--;`,(()=>{t.let(o,ld._`${n}[${r}]`),t.if(i,ld._`continue`),c.length>1&&t.if(ld._`typeof ${o} == "string"`,ld._`${o} += "_"`),t.if(ld._`typeof ${u}[${o}] == "number"`,(()=>{t.assign(a,ld._`${u}[${o}]`),e.error(),t.assign(l,!1).break()})).code(ld._`${u}[${o}] = ${r}`)}))}function d(r,a){const o=(0,cd.useFunc)(t,ud.default),i=t.name("outer");t.label(i).for(ld._`;${r}--;`,(()=>t.for(ld._`${a} = ${r}; ${a}--;`,(()=>t.if(ld._`${o}(${n}[${r}], ${n}[${a}])`,(()=>{e.error(),t.assign(l,!1).break(i)}))))))}e.block$data(l,(function(){const r=t.let("i",ld._`${n}.length`),a=t.let("j");e.setParams({i:r,j:a}),t.assign(l,!0),t.if(ld._`${r} > 1`,(()=>(c.length>0&&!c.some((e=>"object"===e||"array"===e))?u:d)(r,a)))}),ld._`${i} === false`),e.ok(l)}};ad.default=dd;var pd={};Object.defineProperty(pd,"__esModule",{value:!0});const md=rl,fd=il,hd=od,yd={keyword:"const",$data:!0,error:{message:"must be equal to constant",params:({schemaCode:e})=>md._`{allowedValue: ${e}}`},code(e){const{gen:t,data:n,$data:r,schemaCode:a,schema:o}=e;r||o&&"object"==typeof o?e.fail$data(md._`!${(0,fd.useFunc)(t,hd.default)}(${n}, ${a})`):e.fail(md._`${o} !== ${n}`)}};pd.default=yd;var gd={};Object.defineProperty(gd,"__esModule",{value:!0});const bd=rl,vd=il,wd=od,kd={keyword:"enum",schemaType:"array",$data:!0,error:{message:"must be equal to one of the allowed values",params:({schemaCode:e})=>bd._`{allowedValues: ${e}}`},code(e){const{gen:t,data:n,$data:r,schema:a,schemaCode:o,it:i}=e;if(!r&&0===a.length)throw new Error("enum must have non-empty array");const s=a.length>=i.opts.loopEnum;let l;const c=()=>null!=l?l:l=(0,vd.useFunc)(t,wd.default);let u;if(s||r)u=t.let("valid"),e.block$data(u,(function(){t.assign(u,!1),t.forOf("v",o,(e=>t.if(bd._`${c()}(${n}, ${e})`,(()=>t.assign(u,!0).break()))))}));else{if(!Array.isArray(a))throw new Error("ajv implementation error");const e=t.const("vSchema",o);u=(0,bd.or)(...a.map(((t,r)=>function(e,t){const r=a[t];return"object"==typeof r&&null!==r?bd._`${c()}(${n}, ${e}[${t}])`:bd._`${n} === ${r}`}(e,r))))}e.pass(u)}};gd.default=kd,Object.defineProperty(Pu,"__esModule",{value:!0});const $d=Ou,Ed=ju,_d=Uu,Sd=Ku,Pd=Xu,xd=td,Ad=ad,Id=pd,Rd=gd,Td=[xu.default,$d.default,Ed.default,_d.default,Sd.default,Pd.default,xd.default,Ad.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Id.default,Rd.default];Pu.default=Td;var Cd={},Od={};Object.defineProperty(Od,"__esModule",{value:!0}),Od.validateAdditionalItems=void 0;const Nd=rl,Ld=il,jd={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:{message:({params:{len:e}})=>Nd.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>Nd._`{limit: ${e}}`},code(e){const{parentSchema:t,it:n}=e,{items:r}=t;Array.isArray(r)?Fd(e,r):(0,Ld.checkStrictMode)(n,'"additionalItems" is ignored when "items" is not an array of schemas')}};function Fd(e,t){const{gen:n,schema:r,data:a,keyword:o,it:i}=e;i.items=!0;const s=n.const("len",Nd._`${a}.length`);if(!1===r)e.setParams({len:t.length}),e.pass(Nd._`${s} <= ${t.length}`);else if("object"==typeof r&&!(0,Ld.alwaysValidSchema)(i,r)){const r=n.var("valid",Nd._`${s} <= ${t.length}`);n.if((0,Nd.not)(r),(()=>function(r){n.forRange("i",t.length,s,(t=>{e.subschema({keyword:o,dataProp:t,dataPropType:Ld.Type.Num},r),i.allErrors||n.if((0,Nd.not)(r),(()=>n.break()))}))}(r))),e.ok(r)}}Od.validateAdditionalItems=Fd,Od.default=jd;var Md={},Hd={};Object.defineProperty(Hd,"__esModule",{value:!0}),Hd.validateTuple=void 0;const Bd=rl,Dd=il,qd=Pl,Ud={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:n}=e;if(Array.isArray(t))return zd(e,"additionalItems",t);n.items=!0,(0,Dd.alwaysValidSchema)(n,t)||e.ok((0,qd.validateArray)(e))}};function zd(e,t,n=e.schema){const{gen:r,parentSchema:a,data:o,keyword:i,it:s}=e;!function(e){const{opts:r,errSchemaPath:a}=s,o=n.length,l=o===e.minItems&&(o===e.maxItems||!1===e[t]);if(r.strictTuples&&!l){const e=`"${i}" is ${o}-tuple, but minItems or maxItems/${t} are not specified or different at path "${a}"`;(0,Dd.checkStrictMode)(s,e,r.strictTuples)}}(a),s.opts.unevaluated&&n.length&&!0!==s.items&&(s.items=Dd.mergeEvaluated.items(r,n.length,s.items));const l=r.name("valid"),c=r.const("len",Bd._`${o}.length`);n.forEach(((t,n)=>{(0,Dd.alwaysValidSchema)(s,t)||(r.if(Bd._`${c} > ${n}`,(()=>e.subschema({keyword:i,schemaProp:n,dataProp:n},l))),e.ok(l))}))}Hd.validateTuple=zd,Hd.default=Ud,Object.defineProperty(Md,"__esModule",{value:!0});const Vd=Hd,Wd={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,Vd.validateTuple)(e,"items")};Md.default=Wd;var Kd={};Object.defineProperty(Kd,"__esModule",{value:!0});const Gd=rl,Jd=il,Xd=Pl,Qd=Od,Yd={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:{message:({params:{len:e}})=>Gd.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>Gd._`{limit: ${e}}`},code(e){const{schema:t,parentSchema:n,it:r}=e,{prefixItems:a}=n;r.items=!0,(0,Jd.alwaysValidSchema)(r,t)||(a?(0,Qd.validateAdditionalItems)(e,a):e.ok((0,Xd.validateArray)(e)))}};Kd.default=Yd;var Zd={};Object.defineProperty(Zd,"__esModule",{value:!0});const ep=rl,tp=il,np={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:{message:({params:{min:e,max:t}})=>void 0===t?ep.str`must contain at least ${e} valid item(s)`:ep.str`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>void 0===t?ep._`{minContains: ${e}}`:ep._`{minContains: ${e}, maxContains: ${t}}`},code(e){const{gen:t,schema:n,parentSchema:r,data:a,it:o}=e;let i,s;const{minContains:l,maxContains:c}=r;o.opts.next?(i=void 0===l?1:l,s=c):i=1;const u=t.const("len",ep._`${a}.length`);if(e.setParams({min:i,max:s}),void 0===s&&0===i)return void(0,tp.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');if(void 0!==s&&i>s)return(0,tp.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),void e.fail();if((0,tp.alwaysValidSchema)(o,n)){let t=ep._`${u} >= ${i}`;return void 0!==s&&(t=ep._`${t} && ${u} <= ${s}`),void e.pass(t)}o.items=!0;const d=t.name("valid");function p(){const e=t.name("_valid"),n=t.let("count",0);m(e,(()=>t.if(e,(()=>function(e){t.code(ep._`${e}++`),void 0===s?t.if(ep._`${e} >= ${i}`,(()=>t.assign(d,!0).break())):(t.if(ep._`${e} > ${s}`,(()=>t.assign(d,!1).break())),1===i?t.assign(d,!0):t.if(ep._`${e} >= ${i}`,(()=>t.assign(d,!0))))}(n)))))}function m(n,r){t.forRange("i",0,u,(t=>{e.subschema({keyword:"contains",dataProp:t,dataPropType:tp.Type.Num,compositeRule:!0},n),r()}))}void 0===s&&1===i?m(d,(()=>t.if(d,(()=>t.break())))):0===i?(t.let(d,!0),void 0!==s&&t.if(ep._`${a}.length > 0`,p)):(t.let(d,!1),p()),e.result(d,(()=>e.reset()))}};Zd.default=np;var rp={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.validateSchemaDeps=e.validatePropertyDeps=e.error=void 0;const t=rl,n=il,r=Pl;e.error={message:({params:{property:e,depsCount:n,deps:r}})=>t.str`must have ${1===n?"property":"properties"} ${r} when property ${e} is present`,params:({params:{property:e,depsCount:n,deps:r,missingProperty:a}})=>t._`{property: ${e},
24
24
  missingProperty: ${a},
25
25
  depsCount: ${n},
26
- deps: ${r}}`};const a={keyword:"dependencies",type:"object",schemaType:"object",error:e.error,code(e){const[t,n]=function({schema:e}){const t={},n={};for(const r in e){if("__proto__"===r)continue;(Array.isArray(e[r])?t:n)[r]=e[r]}return[t,n]}(e);o(e,t),i(e,n)}};function o(e,n=e.schema){const{gen:a,data:o,it:i}=e;if(0===Object.keys(n).length)return;const s=a.let("missing");for(const l in n){const c=n[l];if(0===c.length)continue;const u=(0,r.propertyInData)(a,o,l,i.opts.ownProperties);e.setParams({property:l,depsCount:c.length,deps:c.join(", ")}),i.allErrors?a.if(u,(()=>{for(const t of c)(0,r.checkReportMissingProp)(e,t)})):(a.if(t._`${u} && (${(0,r.checkMissingProp)(e,c,s)})`),(0,r.reportMissingProp)(e,s),a.else())}}function i(e,t=e.schema){const{gen:a,data:o,keyword:i,it:s}=e,l=a.name("valid");for(const c in t)(0,n.alwaysValidSchema)(s,t[c])||(a.if((0,r.propertyInData)(a,o,c,s.opts.ownProperties),(()=>{const t=e.subschema({keyword:i,schemaProp:c},l);e.mergeValidEvaluated(t,l)}),(()=>a.var(l,!0))),e.ok(l))}e.validatePropertyDeps=o,e.validateSchemaDeps=i,e.default=a}(rp);var ap={};Object.defineProperty(ap,"__esModule",{value:!0});const op=rl,ip=il,sp={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:e})=>op._`{propertyName: ${e.propertyName}}`},code(e){const{gen:t,schema:n,data:r,it:a}=e;if((0,ip.alwaysValidSchema)(a,n))return;const o=t.name("valid");t.forIn("key",r,(n=>{e.setParams({propertyName:n}),e.subschema({keyword:"propertyNames",data:n,dataTypes:["string"],propertyName:n,compositeRule:!0},o),t.if((0,op.not)(o),(()=>{e.error(!0),a.allErrors||t.break()}))})),e.ok(o)}};ap.default=sp;var lp={};Object.defineProperty(lp,"__esModule",{value:!0});const cp=Pl,up=rl,dp=sl,pp=il,mp={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have additional properties",params:({params:e})=>up._`{additionalProperty: ${e.additionalProperty}}`},code(e){const{gen:t,schema:n,parentSchema:r,data:a,errsCount:o,it:i}=e;if(!o)throw new Error("ajv implementation error");const{allErrors:s,opts:l}=i;if(i.props=!0,"all"!==l.removeAdditional&&(0,pp.alwaysValidSchema)(i,n))return;const c=(0,cp.allSchemaProperties)(r.properties),u=(0,cp.allSchemaProperties)(r.patternProperties);function d(e){t.code(up._`delete ${a}[${e}]`)}function p(r){if("all"===l.removeAdditional||l.removeAdditional&&!1===n)d(r);else{if(!1===n)return e.setParams({additionalProperty:r}),e.error(),void(s||t.break());if("object"==typeof n&&!(0,pp.alwaysValidSchema)(i,n)){const n=t.name("valid");"failing"===l.removeAdditional?(m(r,n,!1),t.if((0,up.not)(n),(()=>{e.reset(),d(r)}))):(m(r,n),s||t.if((0,up.not)(n),(()=>t.break())))}}}function m(t,n,r){const a={keyword:"additionalProperties",dataProp:t,dataPropType:pp.Type.Str};!1===r&&Object.assign(a,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(a,n)}t.forIn("key",a,(n=>{c.length||u.length?t.if(function(n){let a;if(c.length>8){const e=(0,pp.schemaRefOrVal)(i,r.properties,"properties");a=(0,cp.isOwnProperty)(t,e,n)}else a=c.length?(0,up.or)(...c.map((e=>up._`${n} === ${e}`))):up.nil;return u.length&&(a=(0,up.or)(a,...u.map((t=>up._`${(0,cp.usePattern)(e,t)}.test(${n})`)))),(0,up.not)(a)}(n),(()=>p(n))):p(n)})),e.ok(up._`${o} === ${dp.default.errors}`)}};lp.default=mp;var fp={};Object.defineProperty(fp,"__esModule",{value:!0});const hp=el,yp=Pl,gp=il,bp=lp,vp={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:n,parentSchema:r,data:a,it:o}=e;"all"===o.opts.removeAdditional&&void 0===r.additionalProperties&&bp.default.code(new hp.KeywordCxt(o,bp.default,"additionalProperties"));const i=(0,yp.allSchemaProperties)(n);for(const d of i)o.definedProperties.add(d);o.opts.unevaluated&&i.length&&!0!==o.props&&(o.props=gp.mergeEvaluated.props(t,(0,gp.toHash)(i),o.props));const s=i.filter((e=>!(0,gp.alwaysValidSchema)(o,n[e])));if(0===s.length)return;const l=t.name("valid");for(const d of s)c(d)?u(d):(t.if((0,yp.propertyInData)(t,a,d,o.opts.ownProperties)),u(d),o.allErrors||t.else().var(l,!0),t.endIf()),e.it.definedProperties.add(d),e.ok(l);function c(e){return o.opts.useDefaults&&!o.compositeRule&&void 0!==n[e].default}function u(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},l)}}};fp.default=vp;var wp={};Object.defineProperty(wp,"__esModule",{value:!0});const kp=Pl,$p=rl,Ep=il,_p=il,Sp={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:n,data:r,parentSchema:a,it:o}=e,{opts:i}=o,s=(0,kp.allSchemaProperties)(n),l=s.filter((e=>(0,Ep.alwaysValidSchema)(o,n[e])));if(0===s.length||l.length===s.length&&(!o.opts.unevaluated||!0===o.props))return;const c=i.strictSchema&&!i.allowMatchingProperties&&a.properties,u=t.name("valid");!0===o.props||o.props instanceof $p.Name||(o.props=(0,_p.evaluatedPropsToName)(t,o.props));const{props:d}=o;function p(e){for(const t in c)new RegExp(e).test(t)&&(0,Ep.checkStrictMode)(o,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function m(n){t.forIn("key",r,(r=>{t.if($p._`${(0,kp.usePattern)(e,n)}.test(${r})`,(()=>{const a=l.includes(n);a||e.subschema({keyword:"patternProperties",schemaProp:n,dataProp:r,dataPropType:_p.Type.Str},u),o.opts.unevaluated&&!0!==d?t.assign($p._`${d}[${r}]`,!0):a||o.allErrors||t.if((0,$p.not)(u),(()=>t.break()))}))}))}!function(){for(const e of s)c&&p(e),o.allErrors?m(e):(t.var(u,!0),m(e),t.if(u))}()}};wp.default=Sp;var Pp={};Object.defineProperty(Pp,"__esModule",{value:!0});const xp=il,Ap={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:n,it:r}=e;if((0,xp.alwaysValidSchema)(r,n))return void e.fail();const a=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},a),e.failResult(a,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};Pp.default=Ap;var Ip={};Object.defineProperty(Ip,"__esModule",{value:!0});const Rp={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Pl.validateUnion,error:{message:"must match a schema in anyOf"}};Ip.default=Rp;var Tp={};Object.defineProperty(Tp,"__esModule",{value:!0});const Cp=rl,Op=il,Np={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:e})=>Cp._`{passingSchemas: ${e.passing}}`},code(e){const{gen:t,schema:n,parentSchema:r,it:a}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");if(a.opts.discriminator&&r.discriminator)return;const o=n,i=t.let("valid",!1),s=t.let("passing",null),l=t.name("_valid");e.setParams({passing:s}),t.block((function(){o.forEach(((n,r)=>{let o;(0,Op.alwaysValidSchema)(a,n)?t.var(l,!0):o=e.subschema({keyword:"oneOf",schemaProp:r,compositeRule:!0},l),r>0&&t.if(Cp._`${l} && ${i}`).assign(i,!1).assign(s,Cp._`[${s}, ${r}]`).else(),t.if(l,(()=>{t.assign(i,!0),t.assign(s,r),o&&e.mergeEvaluated(o,Cp.Name)}))}))})),e.result(i,(()=>e.reset()),(()=>e.error(!0)))}};Tp.default=Np;var Lp={};Object.defineProperty(Lp,"__esModule",{value:!0});const jp=il,Fp={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:n,it:r}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");const a=t.name("valid");n.forEach(((t,n)=>{if((0,jp.alwaysValidSchema)(r,t))return;const o=e.subschema({keyword:"allOf",schemaProp:n},a);e.ok(a),e.mergeEvaluated(o)}))}};Lp.default=Fp;var Mp={};Object.defineProperty(Mp,"__esModule",{value:!0});const Hp=rl,Bp=il,Dp={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:e})=>Hp.str`must match "${e.ifClause}" schema`,params:({params:e})=>Hp._`{failingKeyword: ${e.ifClause}}`},code(e){const{gen:t,parentSchema:n,it:r}=e;void 0===n.then&&void 0===n.else&&(0,Bp.checkStrictMode)(r,'"if" without "then" and "else" is ignored');const a=qp(r,"then"),o=qp(r,"else");if(!a&&!o)return;const i=t.let("valid",!0),s=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);e.mergeEvaluated(t)}(),e.reset(),a&&o){const n=t.let("ifClause");e.setParams({ifClause:n}),t.if(s,l("then",n),l("else",n))}else a?t.if(s,l("then")):t.if((0,Hp.not)(s),l("else"));function l(n,r){return()=>{const a=e.subschema({keyword:n},s);t.assign(i,s),e.mergeValidEvaluated(a,i),r?t.assign(r,Hp._`${n}`):e.setParams({ifClause:n})}}e.pass(i,(()=>e.error(!0)))}};function qp(e,t){const n=e.schema[t];return void 0!==n&&!(0,Bp.alwaysValidSchema)(e,n)}Mp.default=Dp;var Up={};Object.defineProperty(Up,"__esModule",{value:!0});const zp=il,Vp={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:n}){void 0===t.if&&(0,zp.checkStrictMode)(n,`"${e}" without "if" is ignored`)}};Up.default=Vp,Object.defineProperty(Cd,"__esModule",{value:!0});const Wp=Od,Kp=Md,Gp=Hd,Jp=Kd,Xp=Zd,Qp=rp,Yp=ap,Zp=lp,em=fp,tm=wp,nm=Pp,rm=Ip,am=Tp,om=Lp,im=Mp,sm=Up;Cd.default=function(e=!1){const t=[nm.default,rm.default,am.default,om.default,im.default,sm.default,Yp.default,Zp.default,Qp.default,em.default,tm.default];return e?t.push(Kp.default,Jp.default):t.push(Wp.default,Gp.default),t.push(Xp.default),t};var lm={},cm={};Object.defineProperty(cm,"__esModule",{value:!0});const um=rl,dm={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>um.str`must match format "${e}"`,params:({schemaCode:e})=>um._`{format: ${e}}`},code(e,t){const{gen:n,data:r,$data:a,schema:o,schemaCode:i,it:s}=e,{opts:l,errSchemaPath:c,schemaEnv:u,self:d}=s;l.validateFormats&&(a?function(){const a=n.scopeValue("formats",{ref:d.formats,code:l.code.formats}),o=n.const("fDef",um._`${a}[${i}]`),s=n.let("fType"),c=n.let("format");n.if(um._`typeof ${o} == "object" && !(${o} instanceof RegExp)`,(()=>n.assign(s,um._`${o}.type || "string"`).assign(c,um._`${o}.validate`)),(()=>n.assign(s,um._`"string"`).assign(c,o))),e.fail$data((0,um.or)(!1===l.strictSchema?um.nil:um._`${i} && !${c}`,function(){const e=u.$async?um._`(${o}.async ? await ${c}(${r}) : ${c}(${r}))`:um._`${c}(${r})`,n=um._`(typeof ${c} == "function" ? ${e} : ${c}.test(${r}))`;return um._`${c} && ${c} !== true && ${s} === ${t} && !${n}`}()))}():function(){const a=d.formats[o];if(!a)return void function(){if(!1===l.strictSchema)return void d.logger.warn(e());throw new Error(e());function e(){return`unknown format "${o}" ignored in schema at path "${c}"`}}();if(!0===a)return;const[i,s,p]=function(e){const t=e instanceof RegExp?(0,um.regexpCode)(e):l.code.formats?um._`${l.code.formats}${(0,um.getProperty)(o)}`:void 0,r=n.scopeValue("formats",{key:o,ref:e,code:t});if("object"==typeof e&&!(e instanceof RegExp))return[e.type||"string",e.validate,um._`${r}.validate`];return["string",e,r]}(a);i===t&&e.pass(function(){if("object"==typeof a&&!(a instanceof RegExp)&&a.async){if(!u.$async)throw new Error("async format in sync schema");return um._`await ${p}(${r})`}return"function"==typeof s?um._`${p}(${r})`:um._`${p}.test(${r})`}())}())}};cm.default=dm,Object.defineProperty(lm,"__esModule",{value:!0});const pm=[cm.default];lm.default=pm;var mm={};Object.defineProperty(mm,"__esModule",{value:!0}),mm.contentVocabulary=mm.metadataVocabulary=void 0,mm.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],mm.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"],Object.defineProperty(uu,"__esModule",{value:!0});const fm=Pu,hm=Cd,ym=lm,gm=mm,bm=[du.default,fm.default,(0,hm.default)(),ym.default,gm.metadataVocabulary,gm.contentVocabulary];uu.default=bm;var vm={},wm={};Object.defineProperty(wm,"__esModule",{value:!0}),wm.dynamicAnchor=void 0;const km=rl,$m=sl,Em=zc,_m=fu,Sm={keyword:"$dynamicAnchor",schemaType:"string",code:e=>Pm(e,e.schema)};function Pm(e,t){const{gen:n,it:r}=e;r.schemaEnv.root.dynamicAnchors[t]=!0;const a=km._`${$m.default.dynamicAnchors}${(0,km.getProperty)(t)}`,o="#"===r.errSchemaPath?r.validateName:function(e){const{schemaEnv:t,schema:n,self:r}=e.it,{root:a,baseId:o,localRefs:i,meta:s}=t.root,{schemaId:l}=r.opts,c=new Em.SchemaEnv({schema:n,schemaId:l,root:a,baseId:o,localRefs:i,meta:s});return Em.compileSchema.call(r,c),(0,_m.getValidate)(e,c)}(e);n.if(km._`!${a}`,(()=>n.assign(a,o)))}wm.dynamicAnchor=Pm,wm.default=Sm;var xm={};Object.defineProperty(xm,"__esModule",{value:!0}),xm.dynamicRef=void 0;const Am=rl,Im=sl,Rm=fu,Tm={keyword:"$dynamicRef",schemaType:"string",code:e=>Cm(e,e.schema)};function Cm(e,t){const{gen:n,keyword:r,it:a}=e;if("#"!==t[0])throw new Error(`"${r}" only supports hash fragment reference`);const o=t.slice(1);if(a.allErrors)i();else{const t=n.let("valid",!1);i(t),e.ok(t)}function i(e){if(a.schemaEnv.root.dynamicAnchors[o]){const t=n.let("_v",Am._`${Im.default.dynamicAnchors}${(0,Am.getProperty)(o)}`);n.if(t,s(t,e),s(a.validateName,e))}else s(a.validateName,e)()}function s(t,r){return r?()=>n.block((()=>{(0,Rm.callRef)(e,t),n.let(r,!0)})):()=>(0,Rm.callRef)(e,t)}}xm.dynamicRef=Cm,xm.default=Tm;var Om={};Object.defineProperty(Om,"__esModule",{value:!0});const Nm=wm,Lm=il,jm={keyword:"$recursiveAnchor",schemaType:"boolean",code(e){e.schema?(0,Nm.dynamicAnchor)(e,""):(0,Lm.checkStrictMode)(e.it,"$recursiveAnchor: false is ignored")}};Om.default=jm;var Fm={};Object.defineProperty(Fm,"__esModule",{value:!0});const Mm=xm,Hm={keyword:"$recursiveRef",schemaType:"string",code:e=>(0,Mm.dynamicRef)(e,e.schema)};Fm.default=Hm,Object.defineProperty(vm,"__esModule",{value:!0});const Bm=xm,Dm=Om,qm=Fm,Um=[wm.default,Bm.default,Dm.default,qm.default];vm.default=Um;var zm={},Vm={};Object.defineProperty(Vm,"__esModule",{value:!0});const Wm=rp,Km={keyword:"dependentRequired",type:"object",schemaType:"object",error:Wm.error,code:e=>(0,Wm.validatePropertyDeps)(e)};Vm.default=Km;var Gm={};Object.defineProperty(Gm,"__esModule",{value:!0});const Jm=rp,Xm={keyword:"dependentSchemas",type:"object",schemaType:"object",code:e=>(0,Jm.validateSchemaDeps)(e)};Gm.default=Xm;var Qm={};Object.defineProperty(Qm,"__esModule",{value:!0});const Ym=il,Zm={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:e,parentSchema:t,it:n}){void 0===t.contains&&(0,Ym.checkStrictMode)(n,`"${e}" without "contains" is ignored`)}};Qm.default=Zm,Object.defineProperty(zm,"__esModule",{value:!0});const ef=Gm,tf=Qm,nf=[Vm.default,ef.default,tf.default];zm.default=nf;var rf={},af={};Object.defineProperty(af,"__esModule",{value:!0});const of=rl,sf=il,lf=sl,cf={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:{message:"must NOT have unevaluated properties",params:({params:e})=>of._`{unevaluatedProperty: ${e.unevaluatedProperty}}`},code(e){const{gen:t,schema:n,data:r,errsCount:a,it:o}=e;if(!a)throw new Error("ajv implementation error");const{allErrors:i,props:s}=o;function l(r){if(!1===n)return e.setParams({unevaluatedProperty:r}),e.error(),void(i||t.break());if(!(0,sf.alwaysValidSchema)(o,n)){const n=t.name("valid");e.subschema({keyword:"unevaluatedProperties",dataProp:r,dataPropType:sf.Type.Str},n),i||t.if((0,of.not)(n),(()=>t.break()))}}s instanceof of.Name?t.if(of._`${s} !== true`,(()=>t.forIn("key",r,(e=>t.if(function(e,t){return of._`!${e} || !${e}[${t}]`}(s,e),(()=>l(e))))))):!0!==s&&t.forIn("key",r,(e=>void 0===s?l(e):t.if(function(e,t){const n=[];for(const r in e)!0===e[r]&&n.push(of._`${t} !== ${r}`);return(0,of.and)(...n)}(s,e),(()=>l(e))))),o.props=!0,e.ok(of._`${a} === ${lf.default.errors}`)}};af.default=cf;var uf={};Object.defineProperty(uf,"__esModule",{value:!0});const df=rl,pf=il,mf={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:{message:({params:{len:e}})=>df.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>df._`{limit: ${e}}`},code(e){const{gen:t,schema:n,data:r,it:a}=e,o=a.items||0;if(!0===o)return;const i=t.const("len",df._`${r}.length`);if(!1===n)e.setParams({len:o}),e.fail(df._`${i} > ${o}`);else if("object"==typeof n&&!(0,pf.alwaysValidSchema)(a,n)){const n=t.var("valid",df._`${i} <= ${o}`);t.if((0,df.not)(n),(()=>function(n,r){t.forRange("i",r,i,(r=>{e.subschema({keyword:"unevaluatedItems",dataProp:r,dataPropType:pf.Type.Num},n),a.allErrors||t.if((0,df.not)(n),(()=>t.break()))}))}(n,o))),e.ok(n)}a.items=!0}};uf.default=mf,Object.defineProperty(rf,"__esModule",{value:!0});const ff=uf,hf=[af.default,ff.default];rf.default=hf;var yf={},gf={};!function(e){var t;Object.defineProperty(e,"__esModule",{value:!0}),e.DiscrError=void 0,(t=e.DiscrError||(e.DiscrError={})).Tag="tag",t.Mapping="mapping"}(gf),Object.defineProperty(yf,"__esModule",{value:!0});const bf=rl,vf=gf,wf=zc,kf=il,$f={keyword:"discriminator",type:"object",schemaType:"object",error:{message:({params:{discrError:e,tagName:t}})=>e===vf.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:n}})=>bf._`{error: ${e}, tag: ${n}, tagValue: ${t}}`},code(e){const{gen:t,data:n,schema:r,parentSchema:a,it:o}=e,{oneOf:i}=a;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");const s=r.propertyName;if("string"!=typeof s)throw new Error("discriminator: requires propertyName");if(r.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");const l=t.let("valid",!1),c=t.const("tag",bf._`${n}${(0,bf.getProperty)(s)}`);function u(n){const r=t.name("valid"),a=e.subschema({keyword:"oneOf",schemaProp:n},r);return e.mergeEvaluated(a,bf.Name),r}t.if(bf._`typeof ${c} == "string"`,(()=>function(){const n=function(){var e;const t={},n=l(a);let r=!0;for(let a=0;a<i.length;a++){let t=i[a];(null==t?void 0:t.$ref)&&!(0,kf.schemaHasRulesButRef)(t,o.self.RULES)&&(t=wf.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,null==t?void 0:t.$ref),t instanceof wf.SchemaEnv&&(t=t.schema));const u=null===(e=null==t?void 0:t.properties)||void 0===e?void 0:e[s];if("object"!=typeof u)throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);r=r&&(n||l(t)),c(u,a)}if(!r)throw new Error(`discriminator: "${s}" must be required`);return t;function l({required:e}){return Array.isArray(e)&&e.includes(s)}function c(e,t){if(e.const)u(e.const,t);else{if(!e.enum)throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`);for(const n of e.enum)u(n,t)}}function u(e,n){if("string"!=typeof e||e in t)throw new Error(`discriminator: "${s}" values must be unique strings`);t[e]=n}}();t.if(!1);for(const e in n)t.elseIf(bf._`${c} === ${e}`),t.assign(l,u(n[e]));t.else(),e.error(!1,{discrError:vf.DiscrError.Mapping,tag:c,tagName:s}),t.endIf()}()),(()=>e.error(!1,{discrError:vf.DiscrError.Tag,tag:c,tagName:s}))),e.ok(l)}};yf.default=$f;var Ef={};const _f={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/schema",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0,"https://json-schema.org/draft/2019-09/vocab/applicator":!0,"https://json-schema.org/draft/2019-09/vocab/validation":!0,"https://json-schema.org/draft/2019-09/vocab/meta-data":!0,"https://json-schema.org/draft/2019-09/vocab/format":!1,"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format"},{$ref:"meta/content"}],type:["object","boolean"],properties:{definitions:{$comment:"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.",type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},dependencies:{$comment:'"dependencies" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to "dependentSchemas" and "dependentRequired"',type:"object",additionalProperties:{anyOf:[{$recursiveRef:"#"},{$ref:"meta/validation#/$defs/stringArray"}]}}}},Sf={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/applicator":!0},$recursiveAnchor:!0,title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{additionalItems:{$recursiveRef:"#"},unevaluatedItems:{$recursiveRef:"#"},items:{anyOf:[{$recursiveRef:"#"},{$ref:"#/$defs/schemaArray"}]},contains:{$recursiveRef:"#"},additionalProperties:{$recursiveRef:"#"},unevaluatedProperties:{$recursiveRef:"#"},properties:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$recursiveRef:"#"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$recursiveRef:"#"}},propertyNames:{$recursiveRef:"#"},if:{$recursiveRef:"#"},then:{$recursiveRef:"#"},else:{$recursiveRef:"#"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$recursiveRef:"#"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$recursiveRef:"#"}}}},Pf={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/content",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentMediaType:{type:"string"},contentEncoding:{type:"string"},contentSchema:{$recursiveRef:"#"}}},xf={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/core",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0},$recursiveAnchor:!0,title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{type:"string",format:"uri"},$anchor:{type:"string",pattern:"^[A-Za-z][-A-Za-z0-9.:_]*$"},$ref:{type:"string",format:"uri-reference"},$recursiveRef:{type:"string",format:"uri-reference"},$recursiveAnchor:{type:"boolean",default:!1},$vocabulary:{type:"object",propertyNames:{type:"string",format:"uri"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}}}},Af={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/format",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/format":!0},$recursiveAnchor:!0,title:"Format vocabulary meta-schema",type:["object","boolean"],properties:{format:{type:"string"}}},If={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/meta-data":!0},$recursiveAnchor:!0,title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}}},Rf={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/validation",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/validation":!0},$recursiveAnchor:!0,title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}},const:!0,enum:{type:"array",items:!0},type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}}};Object.defineProperty(Ef,"__esModule",{value:!0});const Tf=_f,Cf=Sf,Of=Pf,Nf=xf,Lf=Af,jf=If,Ff=Rf,Mf=["/properties"];Ef.default=function(e){return[Tf,Cf,Of,Nf,t(this,Lf),jf,t(this,Ff)].forEach((e=>this.addMetaSchema(e,void 0,!1))),this;function t(t,n){return e?t.$dataMetaSchema(n,Mf):n}},function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const n=Zs,r=uu,a=vm,o=zm,i=rf,s=yf,l=Ef,c="https://json-schema.org/draft/2019-09/schema";class u extends n.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(a.default),r.default.forEach((e=>this.addVocabulary(e))),this.addVocabulary(o.default),this.addVocabulary(i.default),this.opts.discriminator&&this.addKeyword(s.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();const{$data:e,meta:t}=this.opts;t&&(l.default.call(this,e),this.refs["http://json-schema.org/schema"]=c)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(c)?c:void 0)}}e.exports=t=u,Object.defineProperty(t,"__esModule",{value:!0}),t.default=u;var d=el;Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return d.KeywordCxt}});var p=rl;Object.defineProperty(t,"_",{enumerable:!0,get:function(){return p._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return p.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return p.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return p.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return p.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return p.CodeGen}});var m=Hc;Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return m.default}});var f=Dc;Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return f.default}})}(Ys,Ys.exports);const Hf=ve(Ys.exports),Bf={type:"array",items:{type:"object",properties:{planId:{type:"string"},quantity:{type:"number"},thumbnail:{type:"string"}},required:["planId","quantity"]},default:[]},Df={type:"object",patternProperties:{"^[a-z]{2}(-[A-Z]{2})?$":{type:"object",properties:{summary:{type:"object"},form:{type:"object"},confirmation:{type:"object"},result:{type:"object"},validations:{type:"object"},paymentMethods:{type:"object"}},required:[]}},required:[]},qf={type:"object",properties:{colorPrimary:{type:"string",default:"#0044d4"},colorBackground:{type:"string",default:"#FFFFFF"},colorText:{type:"string",default:"#0D2B3E"},colorDanger:{type:"string",default:"#CD5C5C"},borderRadius:{type:"string",default:"4px"},labels:{type:"string",enum:["stacked","floating"],default:"stacked"},fontFamily:{type:"string",default:"-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial sans-serif"},fontSizeBase:{type:"string",default:"16px"},fontWeightBase:{type:"string",default:"400"},fontLineHeightBase:{type:"string",default:"24px"},fontSmooth:{type:"string",enum:["auto","never","always"],default:"auto"},headingFontFamily:{type:"string"},headingFontWeight:{type:"string",default:"500"},headingColorText:{type:"string"},buttonColorBackground:{type:"string"},buttonColorText:{type:"string",default:"#FFFFFF"},buttonFontFamily:{type:"string"},buttonFontSize:{type:"string"},buttonFontLineHeight:{type:"string"},buttonFontWeight:{type:"string"},buttonBorder:{type:"string",default:"1px solid transparent"},buttonBorderColor:{type:"string"},buttonBorderWidth:{type:"string"},buttonBorderType:{type:"string"},buttonBorderRadius:{type:"string"},buttonBoxShadow:{type:"string",default:"none"},buttonSecondaryColorText:{type:"string"},buttonSecondaryFontFamily:{type:"string"},buttonSecondaryFontSize:{type:"string"},buttonSecondaryFontLineHeight:{type:"string"},buttonSecondaryFontWeight:{type:"string"},buttonSecondaryBorder:{type:"string"},buttonSecondaryBorderColor:{type:"string"},buttonSecondaryBorderWidth:{type:"string"},buttonSecondaryBorderType:{type:"string"},buttonSecondaryBorderRadius:{type:"string"},buttonSecondaryBoxShadow:{type:"string",default:"none"},buttonHoverColorBackground:{type:"string"},buttonHoverColorText:{type:"string"},buttonHoverFontFamily:{type:"string"},buttonHoverFontSize:{type:"string"},buttonHoverFontLineHeight:{type:"string"},buttonHoverFontWeight:{type:"string"},buttonHoverBorder:{type:"string"},buttonHoverBorderColor:{type:"string"},buttonHoverBorderWidth:{type:"string"},buttonHoverBorderType:{type:"string"},buttonHoverBorderRadius:{type:"string"},buttonHoverBoxShadow:{type:"string",default:"none"},buttonSecondaryHoverColorBackground:{type:"string"},buttonSecondaryHoverColorText:{type:"string"},buttonSecondaryHoverFontFamily:{type:"string"},buttonSecondaryHoverFontSize:{type:"string"},buttonSecondaryHoverFontLineHeight:{type:"string"},buttonSecondaryHoverFontWeight:{type:"string"},buttonSecondaryHoverBorder:{type:"string"},buttonSecondaryHoverBorderColor:{type:"string"},buttonSecondaryHoverBorderWidth:{type:"string"},buttonSecondaryHoverBorderType:{type:"string"},buttonSecondaryHoverBorderRadius:{type:"string"},buttonSecondaryHoverBoxShadow:{type:"string",default:"none"},buttonActiveColorBackground:{type:"string"},buttonActiveColorText:{type:"string"},buttonActiveFontFamily:{type:"string"},buttonActiveFontSize:{type:"string"},buttonActiveFontLineHeight:{type:"string"},buttonActiveFontWeight:{type:"string"},buttonActiveBorder:{type:"string"},buttonActiveBorderColor:{type:"string"},buttonActiveBorderWidth:{type:"string"},buttonActiveBorderType:{type:"string"},buttonActiveBorderRadius:{type:"string"},buttonActiveBoxShadow:{type:"string",default:"none"},buttonSecondaryActiveColorBackground:{type:"string"},buttonSecondaryActiveColorText:{type:"string"},buttonSecondaryActiveFontFamily:{type:"string"},buttonSecondaryActiveFontSize:{type:"string"},buttonSecondaryActiveFontLineHeight:{type:"string"},buttonSecondaryActiveFontWeight:{type:"string"},buttonSecondaryActiveBorder:{type:"string"},buttonSecondaryActiveBorderColor:{type:"string"},buttonSecondaryActiveBorderWidth:{type:"string"},buttonSecondaryActiveBorderType:{type:"string"},buttonSecondaryActiveBorderRadius:{type:"string"},buttonSecondaryActiveBoxShadow:{type:"string",default:"none"},inputColorBackground:{type:"string"},inputColorText:{type:"string"},inputFontFamily:{type:"string"},inputFontSize:{type:"string"},inputFontLineHeight:{type:"string"},inputFontWeight:{type:"string"},inputBorder:{type:"string"},inputBorderRadius:{type:"string"},inputBoxShadow:{type:"string"},inputHoverColorBackground:{type:"string"},inputHoverColorText:{type:"string"},inputHoverFontFamily:{type:"string"},inputHoverFontSize:{type:"string"},inputHoverFontLineHeight:{type:"string"},inputHoverFontWeight:{type:"string"},inputHoverBorder:{type:"string"},inputHoverBorderRadius:{type:"string"},inputHoverBoxShadow:{type:"string"},inputFocusColorBackground:{type:"string"},inputFocusColorText:{type:"string"},inputFocusFontFamily:{type:"string"},inputFocusFontSize:{type:"string"},inputFocusFontLineHeight:{type:"string"},inputFocusFontWeight:{type:"string"},inputFocusBorder:{type:"string"},inputFocusBorderRadius:{type:"string"},inputFocusBoxShadow:{type:"string"},inputPlaceholderColorText:{type:"string"},inputPlaceholderFontFamily:{type:"string"},inputPlaceholderFontSize:{type:"string"},inputPlaceholderFontLineHeight:{type:"string"},inputPlaceholderFontWeight:{type:"string"},inputSelectionColorText:{type:"string"},inputSelectionColorBackground:{type:"string"},inputErrorColorBackground:{type:"string"},inputErrorColorText:{type:"string"},inputErrorFontFamily:{type:"string"},inputErrorFontSize:{type:"string"},inputErrorFontLineHeight:{type:"string"},inputErrorFontWeight:{type:"string"},inputErrorBorder:{type:"string"},inputErrorBorderRadius:{type:"string"},inputErrorBoxShadow:{type:"string"},inputErrorHoverColorBackground:{type:"string"},inputErrorHoverColorText:{type:"string"},inputErrorHoverFontFamily:{type:"string"},inputErrorHoverFontSize:{type:"string"},inputErrorHoverFontLineHeight:{type:"string"},inputErrorHoverFontWeight:{type:"string"},inputErrorHoverBorder:{type:"string"},inputErrorHoverBorderRadius:{type:"string"},inputErrorHoverBoxShadow:{type:"string"},inputErrorFocusColorBackground:{type:"string"},inputErrorFocusColorText:{type:"string"},inputErrorFocusFontFamily:{type:"string"},inputErrorFocusFontSize:{type:"string"},inputErrorFocusFontLineHeight:{type:"string"},inputErrorFocusFontWeight:{type:"string"},inputErrorFocusBorder:{type:"string"},inputErrorFocusBorderRadius:{type:"string"},inputErrorFocusBoxShadow:{type:"string"},inputErrorPlaceholderColorText:{type:"string"},inputErrorPlaceholderFontFamily:{type:"string"},inputErrorPlaceholderFontSize:{type:"string"},inputErrorPlaceholderFontLineHeight:{type:"string"},inputErrorPlaceholderFontWeight:{type:"string"},inputErrorSelectionColorText:{type:"string"},inputErrorSelectionColorBackground:{type:"string"}},default:{},required:[]},Uf=["email","organization","phoneNumber","city","country","region","postalCode","address","address2"],zf=["poNumber"],Vf={type:"object",properties:{displayOptions:{type:"object",properties:{buttonColor:{type:"string",default:"black"},buttonHeight:{type:"string",pattern:"^[0-9]+px$",default:"48px"},buttonType:{type:"string",default:"plain"}},default:{}}},default:{},required:[]},Wf={type:"object",properties:{compactExpressInstruments:{type:"boolean",default:!1},address:{type:"object",properties:{name:{type:"string",enum:["default","combined","stacked"],default:"default"},region:{type:"string",enum:["default","split","stacked"],default:"default"},show:{type:"array",default:[],items:{type:"string",enum:["all",...Uf]}},hide:{type:"array",default:[],items:{type:"string",enum:["all",...Uf]}},require:{type:"array",default:[],items:{type:"string",enum:Uf}}},default:{},required:[]},paypal:{type:"object",properties:{buttonHeight:{type:"number",default:48}},default:{},required:[]},googlePay:Vf,applePay:Vf,additionalFields:{type:"object",properties:{show:{type:"array",default:[],items:{type:"string",enum:[...zf]}},require:{type:"array",default:[],items:{type:"string",enum:[...zf]}}}}},default:{},required:[]},Kf=["items","transactionId","invoiceId","money","deposit","payout"],Gf={title:"Mount Options Schema",type:"object",properties:{organizationId:{type:"string"},publishableKey:{type:"string"},websiteId:{type:"string"},items:{type:"array",items:{type:"object",oneOf:[{properties:{planId:{type:"string"},thumbnail:{type:"string"},quantity:{type:"number"}}},{properties:{planId:{type:"string"},thumbnail:{type:"string"},quantity:{type:"object",properties:{default:{type:"number"},minimum:{type:"number"},maximum:{type:"number"},multipleOf:{type:"number"}}}}}],required:["planId","quantity"]},minItems:1},money:{type:"object",properties:{amount:{type:"number"},currency:{type:"string",minLength:3,maxLength:3}},required:["amount","currency"]},invoiceId:{type:"string"},transactionId:{type:"string"},deposit:Ss,payout:{type:"object",properties:{payoutRequestId:{type:"string"}},required:["payoutRequestId"]},jwt:{type:"string"},addons:Bf,bumpOffer:Bf,form:{default:".rebilly-instruments",type:["string","object"],oneOf:[{type:"string"},{type:"object",properties:{id:{type:"string"}}}]},summary:{default:".rebilly-instruments-summary",type:["string","object"],oneOf:[{type:"string"},{type:"object",properties:{id:{type:"string"}}}]},apiMode:{type:"string",enum:["sandbox","live"]},transactionType:{type:"string",enum:["purchase","setup"],default:"purchase"},css:{type:"string"},theme:qf,i18n:Df,countryCode:{type:"string",default:"US"},locale:{type:"string",default:"auto"},paymentInstruments:Wf,features:{type:"object",properties:{enableTelemetry:{type:"boolean",default:!0},hideConfirmation:{type:"boolean",default:!1},hideResult:{type:"boolean",default:!1},fullPageRedirect:{type:"boolean",default:!1},showCoupons:{type:"array",items:{type:"string",enum:["summary","confirmation"]}}},default:{}},_dev:{type:"object",properties:{paymentMethodsUrl:{type:"string",default:"https://forms.local.rebilly.dev:3000"},liveUrl:{type:"string"},sandboxUrl:{type:"string"},framePayScriptLink:{type:"string"},framePayStyleLink:{type:"string"}}}},required:["apiMode"],dependentRequired:{...["invoiceId","transactionId","deposit","payout"].reduce(((e,t)=>({...e,[`${t}`]:["jwt"]})),{})},anyOf:[...Kf.map((e=>{const t=Kf.filter((t=>t!==e));return{if:{required:[e]},then:{properties:{...t.reduce(((e,t)=>({...e,[t]:!1})),{})}},else:!1}})),{required:["jwt"]}]};class Jf extends Error{constructor(e){super(e),this.name="Rebilly Instruments Configuration Error"}trimStack(){return Error.captureStackTrace(this,Jf),this}}const Xf=new Hf({allErrors:!0,removeAdditional:!0,useDefaults:!0}).compile(Gf);function Qf(e){const t=function(e){return Object.assign(JSON.parse(JSON.stringify(e)),{form:e.form,summary:e.summary})}(e);return Xf(t)?t:(Xf.errors.forEach((t=>{let n,r,a,o="",i=t.instancePath.substring(1).replace(/\//gi,".");switch(i=i.replace(/\.\d+/gi,(e=>`[${e.replace(".","")}]`)),i.length||(i="options"),t.keyword){case"if":case"false schema":break;case"required":if(t.schemaPath.match(/(oneOf|anyOf)/))break;o=`${i} ${t.message}`;break;case"oneOf":case"anyOf":console.error(new Jf(`${i} ${t.message}, see schemas below.`).trimStack()),r=t.schemaPath.replace("#/","").split("/"),n=Gf,r.forEach((e=>{n=n[e]})),n.forEach((e=>{const n=JSON.stringify(e,null,2);console.error(`${i} ${t.keyword} schema.\n${n}`)}));break;case"enum":a=i.split(".").reduce(((e,t)=>e[t]),e),o=`${i} ${t.message}: ${t.params.allowedValues}. received: ${a}`;break;case"dependentRequired":case"maxLength":case"minItems":case"pattern":o=`${i} ${t.message}`;break;default:o=`Error with ${i} - See error message`,console.error(t)}o&&console.error(new Jf(o).trimStack())})),console.error(new Jf("Configuration is invalid").trimStack()),null)}const Yf=({options:e={}}={})=>{let t=Qf(e);return t&&(t=function(e){if(e.jwt&&!e.publishableKey){const{merchant:t,claims:{transactionId:n,invoiceId:r,websiteId:a,cashierRequestId:o}}=Qs(e.jwt);Object.entries({organizationId:t,transactionId:n,invoiceId:r,websiteId:a}).forEach((([t,n])=>{n&&(e[t]=n)})),o&&!e.deposit&&(e.deposit=Object.assign({},{depositRequestId:o}))}return e}(t),t=function(e){var t;return!_s(e.deposit)&&(null==(t=e.deposit)?void 0:t.currency)?(e.deposit=ke({editable:!0,buttons:[],customAmount:{minimum:1,maximum:1e12,multipleOf:1}},e.deposit||{}),Number.isNaN(e.deposit.amount)&&e.deposit.buttons&&e.deposit.buttons.length>0&&([e.deposit.amount]=e.deposit.buttons)):_s(e.deposit)&&(e.deposit=ke({customAmount:{minimum:1,maximum:1e12,multipleOf:1}},e.deposit||{})),e.items&&(e.items=e.items.map((e=>({...e,quantity:To(e)})))),e}(t),t=function(e){var t;return Object.assign({},e,{_computed:{version:"9.30.0",paymentMethodsUrl:(null==(t=e._dev)?void 0:t.paymentMethodsUrl)??"https://forms.secure-payments.app"}})}(t)),t};async function Zf(){const{_dev:e}=Ae.options||{},t={script:(null==e?void 0:e.framePayScriptLink)||"https://framepay.rebilly.com/framepay.js",style:(null==e?void 0:e.framePayStyleLink)||"https://framepay.rebilly.com/framepay.css"};return new Promise((e=>{const n=document.createElement("link");n.setAttribute("href",t.style),n.setAttribute("rel","stylesheet"),document.head.prepend(n);const r=document.createElement("script");r.setAttribute("src",t.script),r.onload=()=>e(),document.head.append(r)}))}const eh=ve({aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),th="a-f\\d",nh=`#?[${th}]{3}[${th}]?`,rh=`#?[${th}]{6}([${th}]{2})?`,ah=new RegExp(`[^#${th}]`,"gi"),oh=new RegExp(`^${nh}$|^${rh}$`,"i");const ih=ve(((e,t={})=>{if("string"!=typeof e||ah.test(e)||!oh.test(e))throw new TypeError("Expected a valid hex string");let n=1;8===(e=e.replace(/^#/,"")).length&&(n=Number.parseInt(e.slice(6,8),16)/255,e=e.slice(0,6)),4===e.length&&(n=Number.parseInt(e.slice(3,4).repeat(2),16)/255,e=e.slice(0,3)),3===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);const r=Number.parseInt(e,16),a=r>>16,o=r>>8&255,i=255&r,s="number"==typeof t.alpha?t.alpha:n;if("array"===t.format)return[a,o,i,s];if("css"===t.format){return`rgb(${a} ${o} ${i}${1===s?"":` / ${Number((100*s).toFixed(2))}%`})`}return{red:a,green:o,blue:i,alpha:s}}));var sh=new RegExp(/^#([a-f0-9]{3,4}|[a-f0-9]{4}(?:[a-f0-9]{2}){1,2})\b$/,"i");const lh="-?\\d*(?:\\.\\d+)",ch=`(${lh}?)`,uh=`(${lh}?%)`,dh=`(${lh}?%?)`,ph=`^\n hsla?\\(\n \\s*(-?\\d*(?:\\.\\d+)?(?:deg|rad|turn)?)\\s*,\n \\s*${uh}\\s*,\n \\s*${uh}\\s*\n (?:,\\s*${dh}\\s*)?\n \\)\n $\n`.replace(/\n|\s/g,"");var mh=new RegExp(ph);const fh=`^\n hsla?\\(\n \\s*(-?\\d*(?:\\.\\d+)?(?:deg|rad|turn)?)\\s*\n \\s+${uh}\n \\s+${uh}\n \\s*(?:\\s*\\/\\s*${dh}\\s*)?\n \\)\n $\n`.replace(/\n|\s/g,"");var hh=new RegExp(fh);const yh=`^\n rgba?\\(\n \\s*${ch}\\s*,\n \\s*${ch}\\s*,\n \\s*${ch}\\s*\n (?:,\\s*${dh}\\s*)?\n \\)\n $\n`.replace(/\n|\s/g,"");var gh=new RegExp(yh);const bh=`^\n rgba?\\(\n \\s*${uh}\\s*,\n \\s*${uh}\\s*,\n \\s*${uh}\\s*\n (?:,\\s*${dh}\\s*)?\n \\)\n $\n`.replace(/\n|\s/g,"");var vh=new RegExp(bh);const wh=`^\n rgba?\\(\n \\s*${ch}\n \\s+${ch}\n \\s+${ch}\n \\s*(?:\\s*\\/\\s*${dh}\\s*)?\n \\)\n$\n`.replace(/\n|\s/g,"");var kh=new RegExp(wh);const $h=`^\n rgba?\\(\n \\s*${uh}\n \\s+${uh}\n \\s+${uh}\n \\s*(?:\\s*\\/\\s*${dh}\\s*)?\n \\)\n$\n`.replace(/\n|\s/g,"");var Eh=new RegExp($h);var _h=new RegExp(/^transparent$/,"i");const Sh=(e,t,n)=>Math.min(Math.max(t,e),n),Ph=e=>{let t=e;return"number"!=typeof t&&(t=t.endsWith("%")?255*parseFloat(t)/100:parseFloat(t)),Sh(Math.round(t),0,255)},xh=e=>Sh(parseFloat(e),0,100);function Ah(e){let t=e;return"number"!=typeof t&&(t=t.endsWith("%")?parseFloat(t)/100:parseFloat(t)),Sh(t,0,1)}function Ih([,e,t,n,r=1]){return{type:"rgb",values:[e,t,n].map(Ph),alpha:Ah(null===r?1:r)}}
26
+ deps: ${r}}`};const a={keyword:"dependencies",type:"object",schemaType:"object",error:e.error,code(e){const[t,n]=function({schema:e}){const t={},n={};for(const r in e){if("__proto__"===r)continue;(Array.isArray(e[r])?t:n)[r]=e[r]}return[t,n]}(e);o(e,t),i(e,n)}};function o(e,n=e.schema){const{gen:a,data:o,it:i}=e;if(0===Object.keys(n).length)return;const s=a.let("missing");for(const l in n){const c=n[l];if(0===c.length)continue;const u=(0,r.propertyInData)(a,o,l,i.opts.ownProperties);e.setParams({property:l,depsCount:c.length,deps:c.join(", ")}),i.allErrors?a.if(u,(()=>{for(const t of c)(0,r.checkReportMissingProp)(e,t)})):(a.if(t._`${u} && (${(0,r.checkMissingProp)(e,c,s)})`),(0,r.reportMissingProp)(e,s),a.else())}}function i(e,t=e.schema){const{gen:a,data:o,keyword:i,it:s}=e,l=a.name("valid");for(const c in t)(0,n.alwaysValidSchema)(s,t[c])||(a.if((0,r.propertyInData)(a,o,c,s.opts.ownProperties),(()=>{const t=e.subschema({keyword:i,schemaProp:c},l);e.mergeValidEvaluated(t,l)}),(()=>a.var(l,!0))),e.ok(l))}e.validatePropertyDeps=o,e.validateSchemaDeps=i,e.default=a}(rp);var ap={};Object.defineProperty(ap,"__esModule",{value:!0});const op=rl,ip=il,sp={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:{message:"property name must be valid",params:({params:e})=>op._`{propertyName: ${e.propertyName}}`},code(e){const{gen:t,schema:n,data:r,it:a}=e;if((0,ip.alwaysValidSchema)(a,n))return;const o=t.name("valid");t.forIn("key",r,(n=>{e.setParams({propertyName:n}),e.subschema({keyword:"propertyNames",data:n,dataTypes:["string"],propertyName:n,compositeRule:!0},o),t.if((0,op.not)(o),(()=>{e.error(!0),a.allErrors||t.break()}))})),e.ok(o)}};ap.default=sp;var lp={};Object.defineProperty(lp,"__esModule",{value:!0});const cp=Pl,up=rl,dp=sl,pp=il,mp={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:{message:"must NOT have additional properties",params:({params:e})=>up._`{additionalProperty: ${e.additionalProperty}}`},code(e){const{gen:t,schema:n,parentSchema:r,data:a,errsCount:o,it:i}=e;if(!o)throw new Error("ajv implementation error");const{allErrors:s,opts:l}=i;if(i.props=!0,"all"!==l.removeAdditional&&(0,pp.alwaysValidSchema)(i,n))return;const c=(0,cp.allSchemaProperties)(r.properties),u=(0,cp.allSchemaProperties)(r.patternProperties);function d(e){t.code(up._`delete ${a}[${e}]`)}function p(r){if("all"===l.removeAdditional||l.removeAdditional&&!1===n)d(r);else{if(!1===n)return e.setParams({additionalProperty:r}),e.error(),void(s||t.break());if("object"==typeof n&&!(0,pp.alwaysValidSchema)(i,n)){const n=t.name("valid");"failing"===l.removeAdditional?(m(r,n,!1),t.if((0,up.not)(n),(()=>{e.reset(),d(r)}))):(m(r,n),s||t.if((0,up.not)(n),(()=>t.break())))}}}function m(t,n,r){const a={keyword:"additionalProperties",dataProp:t,dataPropType:pp.Type.Str};!1===r&&Object.assign(a,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(a,n)}t.forIn("key",a,(n=>{c.length||u.length?t.if(function(n){let a;if(c.length>8){const e=(0,pp.schemaRefOrVal)(i,r.properties,"properties");a=(0,cp.isOwnProperty)(t,e,n)}else a=c.length?(0,up.or)(...c.map((e=>up._`${n} === ${e}`))):up.nil;return u.length&&(a=(0,up.or)(a,...u.map((t=>up._`${(0,cp.usePattern)(e,t)}.test(${n})`)))),(0,up.not)(a)}(n),(()=>p(n))):p(n)})),e.ok(up._`${o} === ${dp.default.errors}`)}};lp.default=mp;var fp={};Object.defineProperty(fp,"__esModule",{value:!0});const hp=el,yp=Pl,gp=il,bp=lp,vp={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:n,parentSchema:r,data:a,it:o}=e;"all"===o.opts.removeAdditional&&void 0===r.additionalProperties&&bp.default.code(new hp.KeywordCxt(o,bp.default,"additionalProperties"));const i=(0,yp.allSchemaProperties)(n);for(const d of i)o.definedProperties.add(d);o.opts.unevaluated&&i.length&&!0!==o.props&&(o.props=gp.mergeEvaluated.props(t,(0,gp.toHash)(i),o.props));const s=i.filter((e=>!(0,gp.alwaysValidSchema)(o,n[e])));if(0===s.length)return;const l=t.name("valid");for(const d of s)c(d)?u(d):(t.if((0,yp.propertyInData)(t,a,d,o.opts.ownProperties)),u(d),o.allErrors||t.else().var(l,!0),t.endIf()),e.it.definedProperties.add(d),e.ok(l);function c(e){return o.opts.useDefaults&&!o.compositeRule&&void 0!==n[e].default}function u(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},l)}}};fp.default=vp;var wp={};Object.defineProperty(wp,"__esModule",{value:!0});const kp=Pl,$p=rl,Ep=il,_p=il,Sp={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:n,data:r,parentSchema:a,it:o}=e,{opts:i}=o,s=(0,kp.allSchemaProperties)(n),l=s.filter((e=>(0,Ep.alwaysValidSchema)(o,n[e])));if(0===s.length||l.length===s.length&&(!o.opts.unevaluated||!0===o.props))return;const c=i.strictSchema&&!i.allowMatchingProperties&&a.properties,u=t.name("valid");!0===o.props||o.props instanceof $p.Name||(o.props=(0,_p.evaluatedPropsToName)(t,o.props));const{props:d}=o;function p(e){for(const t in c)new RegExp(e).test(t)&&(0,Ep.checkStrictMode)(o,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function m(n){t.forIn("key",r,(r=>{t.if($p._`${(0,kp.usePattern)(e,n)}.test(${r})`,(()=>{const a=l.includes(n);a||e.subschema({keyword:"patternProperties",schemaProp:n,dataProp:r,dataPropType:_p.Type.Str},u),o.opts.unevaluated&&!0!==d?t.assign($p._`${d}[${r}]`,!0):a||o.allErrors||t.if((0,$p.not)(u),(()=>t.break()))}))}))}!function(){for(const e of s)c&&p(e),o.allErrors?m(e):(t.var(u,!0),m(e),t.if(u))}()}};wp.default=Sp;var Pp={};Object.defineProperty(Pp,"__esModule",{value:!0});const xp=il,Ap={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:n,it:r}=e;if((0,xp.alwaysValidSchema)(r,n))return void e.fail();const a=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},a),e.failResult(a,(()=>e.reset()),(()=>e.error()))},error:{message:"must NOT be valid"}};Pp.default=Ap;var Ip={};Object.defineProperty(Ip,"__esModule",{value:!0});const Rp={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Pl.validateUnion,error:{message:"must match a schema in anyOf"}};Ip.default=Rp;var Tp={};Object.defineProperty(Tp,"__esModule",{value:!0});const Cp=rl,Op=il,Np={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:{message:"must match exactly one schema in oneOf",params:({params:e})=>Cp._`{passingSchemas: ${e.passing}}`},code(e){const{gen:t,schema:n,parentSchema:r,it:a}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");if(a.opts.discriminator&&r.discriminator)return;const o=n,i=t.let("valid",!1),s=t.let("passing",null),l=t.name("_valid");e.setParams({passing:s}),t.block((function(){o.forEach(((n,r)=>{let o;(0,Op.alwaysValidSchema)(a,n)?t.var(l,!0):o=e.subschema({keyword:"oneOf",schemaProp:r,compositeRule:!0},l),r>0&&t.if(Cp._`${l} && ${i}`).assign(i,!1).assign(s,Cp._`[${s}, ${r}]`).else(),t.if(l,(()=>{t.assign(i,!0),t.assign(s,r),o&&e.mergeEvaluated(o,Cp.Name)}))}))})),e.result(i,(()=>e.reset()),(()=>e.error(!0)))}};Tp.default=Np;var Lp={};Object.defineProperty(Lp,"__esModule",{value:!0});const jp=il,Fp={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:n,it:r}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");const a=t.name("valid");n.forEach(((t,n)=>{if((0,jp.alwaysValidSchema)(r,t))return;const o=e.subschema({keyword:"allOf",schemaProp:n},a);e.ok(a),e.mergeEvaluated(o)}))}};Lp.default=Fp;var Mp={};Object.defineProperty(Mp,"__esModule",{value:!0});const Hp=rl,Bp=il,Dp={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:{message:({params:e})=>Hp.str`must match "${e.ifClause}" schema`,params:({params:e})=>Hp._`{failingKeyword: ${e.ifClause}}`},code(e){const{gen:t,parentSchema:n,it:r}=e;void 0===n.then&&void 0===n.else&&(0,Bp.checkStrictMode)(r,'"if" without "then" and "else" is ignored');const a=qp(r,"then"),o=qp(r,"else");if(!a&&!o)return;const i=t.let("valid",!0),s=t.name("_valid");if(function(){const t=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);e.mergeEvaluated(t)}(),e.reset(),a&&o){const n=t.let("ifClause");e.setParams({ifClause:n}),t.if(s,l("then",n),l("else",n))}else a?t.if(s,l("then")):t.if((0,Hp.not)(s),l("else"));function l(n,r){return()=>{const a=e.subschema({keyword:n},s);t.assign(i,s),e.mergeValidEvaluated(a,i),r?t.assign(r,Hp._`${n}`):e.setParams({ifClause:n})}}e.pass(i,(()=>e.error(!0)))}};function qp(e,t){const n=e.schema[t];return void 0!==n&&!(0,Bp.alwaysValidSchema)(e,n)}Mp.default=Dp;var Up={};Object.defineProperty(Up,"__esModule",{value:!0});const zp=il,Vp={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:n}){void 0===t.if&&(0,zp.checkStrictMode)(n,`"${e}" without "if" is ignored`)}};Up.default=Vp,Object.defineProperty(Cd,"__esModule",{value:!0});const Wp=Od,Kp=Md,Gp=Hd,Jp=Kd,Xp=Zd,Qp=rp,Yp=ap,Zp=lp,em=fp,tm=wp,nm=Pp,rm=Ip,am=Tp,om=Lp,im=Mp,sm=Up;Cd.default=function(e=!1){const t=[nm.default,rm.default,am.default,om.default,im.default,sm.default,Yp.default,Zp.default,Qp.default,em.default,tm.default];return e?t.push(Kp.default,Jp.default):t.push(Wp.default,Gp.default),t.push(Xp.default),t};var lm={},cm={};Object.defineProperty(cm,"__esModule",{value:!0});const um=rl,dm={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:{message:({schemaCode:e})=>um.str`must match format "${e}"`,params:({schemaCode:e})=>um._`{format: ${e}}`},code(e,t){const{gen:n,data:r,$data:a,schema:o,schemaCode:i,it:s}=e,{opts:l,errSchemaPath:c,schemaEnv:u,self:d}=s;l.validateFormats&&(a?function(){const a=n.scopeValue("formats",{ref:d.formats,code:l.code.formats}),o=n.const("fDef",um._`${a}[${i}]`),s=n.let("fType"),c=n.let("format");n.if(um._`typeof ${o} == "object" && !(${o} instanceof RegExp)`,(()=>n.assign(s,um._`${o}.type || "string"`).assign(c,um._`${o}.validate`)),(()=>n.assign(s,um._`"string"`).assign(c,o))),e.fail$data((0,um.or)(!1===l.strictSchema?um.nil:um._`${i} && !${c}`,function(){const e=u.$async?um._`(${o}.async ? await ${c}(${r}) : ${c}(${r}))`:um._`${c}(${r})`,n=um._`(typeof ${c} == "function" ? ${e} : ${c}.test(${r}))`;return um._`${c} && ${c} !== true && ${s} === ${t} && !${n}`}()))}():function(){const a=d.formats[o];if(!a)return void function(){if(!1===l.strictSchema)return void d.logger.warn(e());throw new Error(e());function e(){return`unknown format "${o}" ignored in schema at path "${c}"`}}();if(!0===a)return;const[i,s,p]=function(e){const t=e instanceof RegExp?(0,um.regexpCode)(e):l.code.formats?um._`${l.code.formats}${(0,um.getProperty)(o)}`:void 0,r=n.scopeValue("formats",{key:o,ref:e,code:t});if("object"==typeof e&&!(e instanceof RegExp))return[e.type||"string",e.validate,um._`${r}.validate`];return["string",e,r]}(a);i===t&&e.pass(function(){if("object"==typeof a&&!(a instanceof RegExp)&&a.async){if(!u.$async)throw new Error("async format in sync schema");return um._`await ${p}(${r})`}return"function"==typeof s?um._`${p}(${r})`:um._`${p}.test(${r})`}())}())}};cm.default=dm,Object.defineProperty(lm,"__esModule",{value:!0});const pm=[cm.default];lm.default=pm;var mm={};Object.defineProperty(mm,"__esModule",{value:!0}),mm.contentVocabulary=mm.metadataVocabulary=void 0,mm.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"],mm.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"],Object.defineProperty(uu,"__esModule",{value:!0});const fm=Pu,hm=Cd,ym=lm,gm=mm,bm=[du.default,fm.default,(0,hm.default)(),ym.default,gm.metadataVocabulary,gm.contentVocabulary];uu.default=bm;var vm={},wm={};Object.defineProperty(wm,"__esModule",{value:!0}),wm.dynamicAnchor=void 0;const km=rl,$m=sl,Em=zc,_m=fu,Sm={keyword:"$dynamicAnchor",schemaType:"string",code:e=>Pm(e,e.schema)};function Pm(e,t){const{gen:n,it:r}=e;r.schemaEnv.root.dynamicAnchors[t]=!0;const a=km._`${$m.default.dynamicAnchors}${(0,km.getProperty)(t)}`,o="#"===r.errSchemaPath?r.validateName:function(e){const{schemaEnv:t,schema:n,self:r}=e.it,{root:a,baseId:o,localRefs:i,meta:s}=t.root,{schemaId:l}=r.opts,c=new Em.SchemaEnv({schema:n,schemaId:l,root:a,baseId:o,localRefs:i,meta:s});return Em.compileSchema.call(r,c),(0,_m.getValidate)(e,c)}(e);n.if(km._`!${a}`,(()=>n.assign(a,o)))}wm.dynamicAnchor=Pm,wm.default=Sm;var xm={};Object.defineProperty(xm,"__esModule",{value:!0}),xm.dynamicRef=void 0;const Am=rl,Im=sl,Rm=fu,Tm={keyword:"$dynamicRef",schemaType:"string",code:e=>Cm(e,e.schema)};function Cm(e,t){const{gen:n,keyword:r,it:a}=e;if("#"!==t[0])throw new Error(`"${r}" only supports hash fragment reference`);const o=t.slice(1);if(a.allErrors)i();else{const t=n.let("valid",!1);i(t),e.ok(t)}function i(e){if(a.schemaEnv.root.dynamicAnchors[o]){const t=n.let("_v",Am._`${Im.default.dynamicAnchors}${(0,Am.getProperty)(o)}`);n.if(t,s(t,e),s(a.validateName,e))}else s(a.validateName,e)()}function s(t,r){return r?()=>n.block((()=>{(0,Rm.callRef)(e,t),n.let(r,!0)})):()=>(0,Rm.callRef)(e,t)}}xm.dynamicRef=Cm,xm.default=Tm;var Om={};Object.defineProperty(Om,"__esModule",{value:!0});const Nm=wm,Lm=il,jm={keyword:"$recursiveAnchor",schemaType:"boolean",code(e){e.schema?(0,Nm.dynamicAnchor)(e,""):(0,Lm.checkStrictMode)(e.it,"$recursiveAnchor: false is ignored")}};Om.default=jm;var Fm={};Object.defineProperty(Fm,"__esModule",{value:!0});const Mm=xm,Hm={keyword:"$recursiveRef",schemaType:"string",code:e=>(0,Mm.dynamicRef)(e,e.schema)};Fm.default=Hm,Object.defineProperty(vm,"__esModule",{value:!0});const Bm=xm,Dm=Om,qm=Fm,Um=[wm.default,Bm.default,Dm.default,qm.default];vm.default=Um;var zm={},Vm={};Object.defineProperty(Vm,"__esModule",{value:!0});const Wm=rp,Km={keyword:"dependentRequired",type:"object",schemaType:"object",error:Wm.error,code:e=>(0,Wm.validatePropertyDeps)(e)};Vm.default=Km;var Gm={};Object.defineProperty(Gm,"__esModule",{value:!0});const Jm=rp,Xm={keyword:"dependentSchemas",type:"object",schemaType:"object",code:e=>(0,Jm.validateSchemaDeps)(e)};Gm.default=Xm;var Qm={};Object.defineProperty(Qm,"__esModule",{value:!0});const Ym=il,Zm={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:e,parentSchema:t,it:n}){void 0===t.contains&&(0,Ym.checkStrictMode)(n,`"${e}" without "contains" is ignored`)}};Qm.default=Zm,Object.defineProperty(zm,"__esModule",{value:!0});const ef=Gm,tf=Qm,nf=[Vm.default,ef.default,tf.default];zm.default=nf;var rf={},af={};Object.defineProperty(af,"__esModule",{value:!0});const of=rl,sf=il,lf=sl,cf={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:{message:"must NOT have unevaluated properties",params:({params:e})=>of._`{unevaluatedProperty: ${e.unevaluatedProperty}}`},code(e){const{gen:t,schema:n,data:r,errsCount:a,it:o}=e;if(!a)throw new Error("ajv implementation error");const{allErrors:i,props:s}=o;function l(r){if(!1===n)return e.setParams({unevaluatedProperty:r}),e.error(),void(i||t.break());if(!(0,sf.alwaysValidSchema)(o,n)){const n=t.name("valid");e.subschema({keyword:"unevaluatedProperties",dataProp:r,dataPropType:sf.Type.Str},n),i||t.if((0,of.not)(n),(()=>t.break()))}}s instanceof of.Name?t.if(of._`${s} !== true`,(()=>t.forIn("key",r,(e=>t.if(function(e,t){return of._`!${e} || !${e}[${t}]`}(s,e),(()=>l(e))))))):!0!==s&&t.forIn("key",r,(e=>void 0===s?l(e):t.if(function(e,t){const n=[];for(const r in e)!0===e[r]&&n.push(of._`${t} !== ${r}`);return(0,of.and)(...n)}(s,e),(()=>l(e))))),o.props=!0,e.ok(of._`${a} === ${lf.default.errors}`)}};af.default=cf;var uf={};Object.defineProperty(uf,"__esModule",{value:!0});const df=rl,pf=il,mf={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:{message:({params:{len:e}})=>df.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>df._`{limit: ${e}}`},code(e){const{gen:t,schema:n,data:r,it:a}=e,o=a.items||0;if(!0===o)return;const i=t.const("len",df._`${r}.length`);if(!1===n)e.setParams({len:o}),e.fail(df._`${i} > ${o}`);else if("object"==typeof n&&!(0,pf.alwaysValidSchema)(a,n)){const n=t.var("valid",df._`${i} <= ${o}`);t.if((0,df.not)(n),(()=>function(n,r){t.forRange("i",r,i,(r=>{e.subschema({keyword:"unevaluatedItems",dataProp:r,dataPropType:pf.Type.Num},n),a.allErrors||t.if((0,df.not)(n),(()=>t.break()))}))}(n,o))),e.ok(n)}a.items=!0}};uf.default=mf,Object.defineProperty(rf,"__esModule",{value:!0});const ff=uf,hf=[af.default,ff.default];rf.default=hf;var yf={},gf={};!function(e){var t;Object.defineProperty(e,"__esModule",{value:!0}),e.DiscrError=void 0,(t=e.DiscrError||(e.DiscrError={})).Tag="tag",t.Mapping="mapping"}(gf),Object.defineProperty(yf,"__esModule",{value:!0});const bf=rl,vf=gf,wf=zc,kf=il,$f={keyword:"discriminator",type:"object",schemaType:"object",error:{message:({params:{discrError:e,tagName:t}})=>e===vf.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:n}})=>bf._`{error: ${e}, tag: ${n}, tagValue: ${t}}`},code(e){const{gen:t,data:n,schema:r,parentSchema:a,it:o}=e,{oneOf:i}=a;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");const s=r.propertyName;if("string"!=typeof s)throw new Error("discriminator: requires propertyName");if(r.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");const l=t.let("valid",!1),c=t.const("tag",bf._`${n}${(0,bf.getProperty)(s)}`);function u(n){const r=t.name("valid"),a=e.subschema({keyword:"oneOf",schemaProp:n},r);return e.mergeEvaluated(a,bf.Name),r}t.if(bf._`typeof ${c} == "string"`,(()=>function(){const n=function(){var e;const t={},n=l(a);let r=!0;for(let a=0;a<i.length;a++){let t=i[a];(null==t?void 0:t.$ref)&&!(0,kf.schemaHasRulesButRef)(t,o.self.RULES)&&(t=wf.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,null==t?void 0:t.$ref),t instanceof wf.SchemaEnv&&(t=t.schema));const u=null===(e=null==t?void 0:t.properties)||void 0===e?void 0:e[s];if("object"!=typeof u)throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);r=r&&(n||l(t)),c(u,a)}if(!r)throw new Error(`discriminator: "${s}" must be required`);return t;function l({required:e}){return Array.isArray(e)&&e.includes(s)}function c(e,t){if(e.const)u(e.const,t);else{if(!e.enum)throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`);for(const n of e.enum)u(n,t)}}function u(e,n){if("string"!=typeof e||e in t)throw new Error(`discriminator: "${s}" values must be unique strings`);t[e]=n}}();t.if(!1);for(const e in n)t.elseIf(bf._`${c} === ${e}`),t.assign(l,u(n[e]));t.else(),e.error(!1,{discrError:vf.DiscrError.Mapping,tag:c,tagName:s}),t.endIf()}()),(()=>e.error(!1,{discrError:vf.DiscrError.Tag,tag:c,tagName:s}))),e.ok(l)}};yf.default=$f;var Ef={};const _f={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/schema",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0,"https://json-schema.org/draft/2019-09/vocab/applicator":!0,"https://json-schema.org/draft/2019-09/vocab/validation":!0,"https://json-schema.org/draft/2019-09/vocab/meta-data":!0,"https://json-schema.org/draft/2019-09/vocab/format":!1,"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format"},{$ref:"meta/content"}],type:["object","boolean"],properties:{definitions:{$comment:"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.",type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},dependencies:{$comment:'"dependencies" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to "dependentSchemas" and "dependentRequired"',type:"object",additionalProperties:{anyOf:[{$recursiveRef:"#"},{$ref:"meta/validation#/$defs/stringArray"}]}}}},Sf={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/applicator":!0},$recursiveAnchor:!0,title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{additionalItems:{$recursiveRef:"#"},unevaluatedItems:{$recursiveRef:"#"},items:{anyOf:[{$recursiveRef:"#"},{$ref:"#/$defs/schemaArray"}]},contains:{$recursiveRef:"#"},additionalProperties:{$recursiveRef:"#"},unevaluatedProperties:{$recursiveRef:"#"},properties:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$recursiveRef:"#"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$recursiveRef:"#"}},propertyNames:{$recursiveRef:"#"},if:{$recursiveRef:"#"},then:{$recursiveRef:"#"},else:{$recursiveRef:"#"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$recursiveRef:"#"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$recursiveRef:"#"}}}},Pf={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/content",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentMediaType:{type:"string"},contentEncoding:{type:"string"},contentSchema:{$recursiveRef:"#"}}},xf={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/core",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0},$recursiveAnchor:!0,title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{type:"string",format:"uri"},$anchor:{type:"string",pattern:"^[A-Za-z][-A-Za-z0-9.:_]*$"},$ref:{type:"string",format:"uri-reference"},$recursiveRef:{type:"string",format:"uri-reference"},$recursiveAnchor:{type:"boolean",default:!1},$vocabulary:{type:"object",propertyNames:{type:"string",format:"uri"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}}}},Af={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/format",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/format":!0},$recursiveAnchor:!0,title:"Format vocabulary meta-schema",type:["object","boolean"],properties:{format:{type:"string"}}},If={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/meta-data":!0},$recursiveAnchor:!0,title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}}},Rf={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/validation",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/validation":!0},$recursiveAnchor:!0,title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}},const:!0,enum:{type:"array",items:!0},type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}}};Object.defineProperty(Ef,"__esModule",{value:!0});const Tf=_f,Cf=Sf,Of=Pf,Nf=xf,Lf=Af,jf=If,Ff=Rf,Mf=["/properties"];Ef.default=function(e){return[Tf,Cf,Of,Nf,t(this,Lf),jf,t(this,Ff)].forEach((e=>this.addMetaSchema(e,void 0,!1))),this;function t(t,n){return e?t.$dataMetaSchema(n,Mf):n}},function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;const n=Zs,r=uu,a=vm,o=zm,i=rf,s=yf,l=Ef,c="https://json-schema.org/draft/2019-09/schema";class u extends n.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(a.default),r.default.forEach((e=>this.addVocabulary(e))),this.addVocabulary(o.default),this.addVocabulary(i.default),this.opts.discriminator&&this.addKeyword(s.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();const{$data:e,meta:t}=this.opts;t&&(l.default.call(this,e),this.refs["http://json-schema.org/schema"]=c)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(c)?c:void 0)}}e.exports=t=u,Object.defineProperty(t,"__esModule",{value:!0}),t.default=u;var d=el;Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return d.KeywordCxt}});var p=rl;Object.defineProperty(t,"_",{enumerable:!0,get:function(){return p._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return p.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return p.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return p.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return p.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return p.CodeGen}});var m=Hc;Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return m.default}});var f=Dc;Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return f.default}})}(Ys,Ys.exports);const Hf=ve(Ys.exports),Bf={type:"array",items:{type:"object",properties:{planId:{type:"string"},quantity:{type:"number"},thumbnail:{type:"string"}},required:["planId","quantity"]},default:[]},Df={type:"object",patternProperties:{"^[a-z]{2}(-[A-Z]{2})?$":{type:"object",properties:{summary:{type:"object"},form:{type:"object"},confirmation:{type:"object"},result:{type:"object"},validations:{type:"object"},paymentMethods:{type:"object"}},required:[]}},required:[]},qf={type:"object",properties:{colorPrimary:{type:"string",default:"#0044d4"},colorBackground:{type:"string",default:"#FFFFFF"},colorText:{type:"string",default:"#0D2B3E"},colorDanger:{type:"string",default:"#CD5C5C"},borderRadius:{type:"string",default:"4px"},labels:{type:"string",enum:["stacked","floating"],default:"stacked"},fontFamily:{type:"string",default:"-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial sans-serif"},fontSizeBase:{type:"string",default:"16px"},fontWeightBase:{type:"string",default:"400"},fontLineHeightBase:{type:"string",default:"24px"},fontSmooth:{type:"string",enum:["auto","never","always"],default:"auto"},headingFontFamily:{type:"string"},headingFontWeight:{type:"string",default:"500"},headingColorText:{type:"string"},buttonColorBackground:{type:"string"},buttonColorText:{type:"string",default:"#FFFFFF"},buttonFontFamily:{type:"string"},buttonFontSize:{type:"string"},buttonFontLineHeight:{type:"string"},buttonFontWeight:{type:"string"},buttonBorder:{type:"string",default:"1px solid transparent"},buttonBorderColor:{type:"string"},buttonBorderWidth:{type:"string"},buttonBorderType:{type:"string"},buttonBorderRadius:{type:"string"},buttonBoxShadow:{type:"string",default:"none"},buttonSecondaryColorText:{type:"string"},buttonSecondaryFontFamily:{type:"string"},buttonSecondaryFontSize:{type:"string"},buttonSecondaryFontLineHeight:{type:"string"},buttonSecondaryFontWeight:{type:"string"},buttonSecondaryBorder:{type:"string"},buttonSecondaryBorderColor:{type:"string"},buttonSecondaryBorderWidth:{type:"string"},buttonSecondaryBorderType:{type:"string"},buttonSecondaryBorderRadius:{type:"string"},buttonSecondaryBoxShadow:{type:"string",default:"none"},buttonHoverColorBackground:{type:"string"},buttonHoverColorText:{type:"string"},buttonHoverFontFamily:{type:"string"},buttonHoverFontSize:{type:"string"},buttonHoverFontLineHeight:{type:"string"},buttonHoverFontWeight:{type:"string"},buttonHoverBorder:{type:"string"},buttonHoverBorderColor:{type:"string"},buttonHoverBorderWidth:{type:"string"},buttonHoverBorderType:{type:"string"},buttonHoverBorderRadius:{type:"string"},buttonHoverBoxShadow:{type:"string",default:"none"},buttonSecondaryHoverColorBackground:{type:"string"},buttonSecondaryHoverColorText:{type:"string"},buttonSecondaryHoverFontFamily:{type:"string"},buttonSecondaryHoverFontSize:{type:"string"},buttonSecondaryHoverFontLineHeight:{type:"string"},buttonSecondaryHoverFontWeight:{type:"string"},buttonSecondaryHoverBorder:{type:"string"},buttonSecondaryHoverBorderColor:{type:"string"},buttonSecondaryHoverBorderWidth:{type:"string"},buttonSecondaryHoverBorderType:{type:"string"},buttonSecondaryHoverBorderRadius:{type:"string"},buttonSecondaryHoverBoxShadow:{type:"string",default:"none"},buttonActiveColorBackground:{type:"string"},buttonActiveColorText:{type:"string"},buttonActiveFontFamily:{type:"string"},buttonActiveFontSize:{type:"string"},buttonActiveFontLineHeight:{type:"string"},buttonActiveFontWeight:{type:"string"},buttonActiveBorder:{type:"string"},buttonActiveBorderColor:{type:"string"},buttonActiveBorderWidth:{type:"string"},buttonActiveBorderType:{type:"string"},buttonActiveBorderRadius:{type:"string"},buttonActiveBoxShadow:{type:"string",default:"none"},buttonSecondaryActiveColorBackground:{type:"string"},buttonSecondaryActiveColorText:{type:"string"},buttonSecondaryActiveFontFamily:{type:"string"},buttonSecondaryActiveFontSize:{type:"string"},buttonSecondaryActiveFontLineHeight:{type:"string"},buttonSecondaryActiveFontWeight:{type:"string"},buttonSecondaryActiveBorder:{type:"string"},buttonSecondaryActiveBorderColor:{type:"string"},buttonSecondaryActiveBorderWidth:{type:"string"},buttonSecondaryActiveBorderType:{type:"string"},buttonSecondaryActiveBorderRadius:{type:"string"},buttonSecondaryActiveBoxShadow:{type:"string",default:"none"},inputColorBackground:{type:"string"},inputColorText:{type:"string"},inputFontFamily:{type:"string"},inputFontSize:{type:"string"},inputFontLineHeight:{type:"string"},inputFontWeight:{type:"string"},inputBorder:{type:"string"},inputBorderRadius:{type:"string"},inputBoxShadow:{type:"string"},inputHoverColorBackground:{type:"string"},inputHoverColorText:{type:"string"},inputHoverFontFamily:{type:"string"},inputHoverFontSize:{type:"string"},inputHoverFontLineHeight:{type:"string"},inputHoverFontWeight:{type:"string"},inputHoverBorder:{type:"string"},inputHoverBorderRadius:{type:"string"},inputHoverBoxShadow:{type:"string"},inputFocusColorBackground:{type:"string"},inputFocusColorText:{type:"string"},inputFocusFontFamily:{type:"string"},inputFocusFontSize:{type:"string"},inputFocusFontLineHeight:{type:"string"},inputFocusFontWeight:{type:"string"},inputFocusBorder:{type:"string"},inputFocusBorderRadius:{type:"string"},inputFocusBoxShadow:{type:"string"},inputPlaceholderColorText:{type:"string"},inputPlaceholderFontFamily:{type:"string"},inputPlaceholderFontSize:{type:"string"},inputPlaceholderFontLineHeight:{type:"string"},inputPlaceholderFontWeight:{type:"string"},inputSelectionColorText:{type:"string"},inputSelectionColorBackground:{type:"string"},inputErrorColorBackground:{type:"string"},inputErrorColorText:{type:"string"},inputErrorFontFamily:{type:"string"},inputErrorFontSize:{type:"string"},inputErrorFontLineHeight:{type:"string"},inputErrorFontWeight:{type:"string"},inputErrorBorder:{type:"string"},inputErrorBorderRadius:{type:"string"},inputErrorBoxShadow:{type:"string"},inputErrorHoverColorBackground:{type:"string"},inputErrorHoverColorText:{type:"string"},inputErrorHoverFontFamily:{type:"string"},inputErrorHoverFontSize:{type:"string"},inputErrorHoverFontLineHeight:{type:"string"},inputErrorHoverFontWeight:{type:"string"},inputErrorHoverBorder:{type:"string"},inputErrorHoverBorderRadius:{type:"string"},inputErrorHoverBoxShadow:{type:"string"},inputErrorFocusColorBackground:{type:"string"},inputErrorFocusColorText:{type:"string"},inputErrorFocusFontFamily:{type:"string"},inputErrorFocusFontSize:{type:"string"},inputErrorFocusFontLineHeight:{type:"string"},inputErrorFocusFontWeight:{type:"string"},inputErrorFocusBorder:{type:"string"},inputErrorFocusBorderRadius:{type:"string"},inputErrorFocusBoxShadow:{type:"string"},inputErrorPlaceholderColorText:{type:"string"},inputErrorPlaceholderFontFamily:{type:"string"},inputErrorPlaceholderFontSize:{type:"string"},inputErrorPlaceholderFontLineHeight:{type:"string"},inputErrorPlaceholderFontWeight:{type:"string"},inputErrorSelectionColorText:{type:"string"},inputErrorSelectionColorBackground:{type:"string"}},default:{},required:[]},Uf=["email","organization","phoneNumber","city","country","region","postalCode","address","address2"],zf=["poNumber"],Vf={type:"object",properties:{displayOptions:{type:"object",properties:{buttonColor:{type:"string",default:"black"},buttonHeight:{type:"string",pattern:"^[0-9]+px$",default:"48px"},buttonType:{type:"string",default:"plain"}},default:{}}},default:{},required:[]},Wf={type:"object",properties:{compactExpressInstruments:{type:"boolean",default:!1},address:{type:"object",properties:{name:{type:"string",enum:["default","combined","stacked"],default:"default"},region:{type:"string",enum:["default","split","stacked"],default:"default"},show:{type:"array",default:[],items:{type:"string",enum:["all",...Uf]}},hide:{type:"array",default:[],items:{type:"string",enum:["all",...Uf]}},require:{type:"array",default:[],items:{type:"string",enum:Uf}}},default:{},required:[]},paypal:{type:"object",properties:{buttonHeight:{type:"number",default:48}},default:{},required:[]},googlePay:Vf,applePay:Vf,additionalFields:{type:"object",properties:{show:{type:"array",default:[],items:{type:"string",enum:[...zf]}},require:{type:"array",default:[],items:{type:"string",enum:[...zf]}}}}},default:{},required:[]},Kf=["items","transactionId","invoiceId","money","deposit","payout"],Gf={title:"Mount Options Schema",type:"object",properties:{organizationId:{type:"string"},publishableKey:{type:"string"},websiteId:{type:"string"},items:{type:"array",items:{type:"object",oneOf:[{properties:{planId:{type:"string"},thumbnail:{type:"string"},quantity:{type:"number"}}},{properties:{planId:{type:"string"},thumbnail:{type:"string"},quantity:{type:"object",properties:{default:{type:"number"},minimum:{type:"number"},maximum:{type:"number"},multipleOf:{type:"number"}}}}}],required:["planId","quantity"]},minItems:1},money:{type:"object",properties:{amount:{type:"number"},currency:{type:"string",minLength:3,maxLength:3}},required:["amount","currency"]},invoiceId:{type:"string"},transactionId:{type:"string"},deposit:Ss,payout:{type:"object",properties:{payoutRequestId:{type:"string"}},required:["payoutRequestId"]},jwt:{type:"string"},addons:Bf,bumpOffer:Bf,form:{default:".rebilly-instruments",type:["string","object"],oneOf:[{type:"string"},{type:"object",properties:{id:{type:"string"}}}]},summary:{default:".rebilly-instruments-summary",type:["string","object"],oneOf:[{type:"string"},{type:"object",properties:{id:{type:"string"}}}]},apiMode:{type:"string",enum:["sandbox","live"]},transactionType:{type:"string",enum:["purchase","setup"],default:"purchase"},css:{type:"string"},theme:qf,i18n:Df,countryCode:{type:"string",default:"US"},locale:{type:"string",default:"auto"},paymentInstruments:Wf,features:{type:"object",properties:{enableTelemetry:{type:"boolean",default:!0},hideConfirmation:{type:"boolean",default:!1},hideResult:{type:"boolean",default:!1},fullPageRedirect:{type:"boolean",default:!1},showCoupons:{type:"array",items:{type:"string",enum:["summary","confirmation"]}}},default:{}},_dev:{type:"object",properties:{paymentMethodsUrl:{type:"string",default:"https://forms.local.rebilly.dev:3000"},liveUrl:{type:"string"},sandboxUrl:{type:"string"},framePayScriptLink:{type:"string"},framePayStyleLink:{type:"string"}}}},required:["apiMode"],dependentRequired:{...["invoiceId","transactionId","deposit","payout"].reduce(((e,t)=>({...e,[`${t}`]:["jwt"]})),{})},anyOf:[...Kf.map((e=>{const t=Kf.filter((t=>t!==e));return{if:{required:[e]},then:{properties:{...t.reduce(((e,t)=>({...e,[t]:!1})),{})}},else:!1}})),{required:["jwt"]}]};class Jf extends Error{constructor(e){super(e),this.name="Rebilly Instruments Configuration Error"}trimStack(){return Error.captureStackTrace(this,Jf),this}}const Xf=new Hf({allErrors:!0,removeAdditional:!0,useDefaults:!0}).compile(Gf);function Qf(e){const t=function(e){return Object.assign(JSON.parse(JSON.stringify(e)),{form:e.form,summary:e.summary})}(e);return Xf(t)?t:(Xf.errors.forEach((t=>{let n,r,a,o="",i=t.instancePath.substring(1).replace(/\//gi,".");switch(i=i.replace(/\.\d+/gi,(e=>`[${e.replace(".","")}]`)),i.length||(i="options"),t.keyword){case"if":case"false schema":break;case"required":if(t.schemaPath.match(/(oneOf|anyOf)/))break;o=`${i} ${t.message}`;break;case"oneOf":case"anyOf":console.error(new Jf(`${i} ${t.message}, see schemas below.`).trimStack()),r=t.schemaPath.replace("#/","").split("/"),n=Gf,r.forEach((e=>{n=n[e]})),n.forEach((e=>{const n=JSON.stringify(e,null,2);console.error(`${i} ${t.keyword} schema.\n${n}`)}));break;case"enum":a=i.split(".").reduce(((e,t)=>e[t]),e),o=`${i} ${t.message}: ${t.params.allowedValues}. received: ${a}`;break;case"dependentRequired":case"maxLength":case"minItems":case"pattern":o=`${i} ${t.message}`;break;default:o=`Error with ${i} - See error message`,console.error(t)}o&&console.error(new Jf(o).trimStack())})),console.error(new Jf("Configuration is invalid").trimStack()),null)}const Yf=({options:e={}}={})=>{let t=Qf(e);return t&&(t=function(e){if(e.jwt&&!e.publishableKey){const{merchant:t,claims:{transactionId:n,invoiceId:r,websiteId:a,cashierRequestId:o}}=Qs(e.jwt);Object.entries({organizationId:t,transactionId:n,invoiceId:r,websiteId:a}).forEach((([t,n])=>{n&&(e[t]=n)})),o&&!e.deposit&&(e.deposit=Object.assign({},{depositRequestId:o}))}return e}(t),t=function(e){var t;return!_s(e.deposit)&&(null==(t=e.deposit)?void 0:t.currency)?(e.deposit=ke({editable:!0,buttons:[],customAmount:{minimum:1,maximum:1e12,multipleOf:1}},e.deposit||{}),Number.isNaN(e.deposit.amount)&&e.deposit.buttons&&e.deposit.buttons.length>0&&([e.deposit.amount]=e.deposit.buttons)):_s(e.deposit)&&(e.deposit=ke({customAmount:{minimum:1,maximum:1e12,multipleOf:1}},e.deposit||{})),e.items&&(e.items=e.items.map((e=>({...e,quantity:To(e)})))),e}(t),t=function(e){var t;return Object.assign({},e,{_computed:{version:"9.31.0",paymentMethodsUrl:(null==(t=e._dev)?void 0:t.paymentMethodsUrl)??"https://forms.secure-payments.app"}})}(t)),t};async function Zf(){const{_dev:e}=Ae.options||{},t={script:(null==e?void 0:e.framePayScriptLink)||"https://framepay.rebilly.com/framepay.js",style:(null==e?void 0:e.framePayStyleLink)||"https://framepay.rebilly.com/framepay.css"};return new Promise((e=>{const n=document.createElement("link");n.setAttribute("href",t.style),n.setAttribute("rel","stylesheet"),document.head.prepend(n);const r=document.createElement("script");r.setAttribute("src",t.script),r.onload=()=>e(),document.head.append(r)}))}const eh=ve({aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),th="a-f\\d",nh=`#?[${th}]{3}[${th}]?`,rh=`#?[${th}]{6}([${th}]{2})?`,ah=new RegExp(`[^#${th}]`,"gi"),oh=new RegExp(`^${nh}$|^${rh}$`,"i");const ih=ve(((e,t={})=>{if("string"!=typeof e||ah.test(e)||!oh.test(e))throw new TypeError("Expected a valid hex string");let n=1;8===(e=e.replace(/^#/,"")).length&&(n=Number.parseInt(e.slice(6,8),16)/255,e=e.slice(0,6)),4===e.length&&(n=Number.parseInt(e.slice(3,4).repeat(2),16)/255,e=e.slice(0,3)),3===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);const r=Number.parseInt(e,16),a=r>>16,o=r>>8&255,i=255&r,s="number"==typeof t.alpha?t.alpha:n;if("array"===t.format)return[a,o,i,s];if("css"===t.format){return`rgb(${a} ${o} ${i}${1===s?"":` / ${Number((100*s).toFixed(2))}%`})`}return{red:a,green:o,blue:i,alpha:s}}));var sh=new RegExp(/^#([a-f0-9]{3,4}|[a-f0-9]{4}(?:[a-f0-9]{2}){1,2})\b$/,"i");const lh="-?\\d*(?:\\.\\d+)",ch=`(${lh}?)`,uh=`(${lh}?%)`,dh=`(${lh}?%?)`,ph=`^\n hsla?\\(\n \\s*(-?\\d*(?:\\.\\d+)?(?:deg|rad|turn)?)\\s*,\n \\s*${uh}\\s*,\n \\s*${uh}\\s*\n (?:,\\s*${dh}\\s*)?\n \\)\n $\n`.replace(/\n|\s/g,"");var mh=new RegExp(ph);const fh=`^\n hsla?\\(\n \\s*(-?\\d*(?:\\.\\d+)?(?:deg|rad|turn)?)\\s*\n \\s+${uh}\n \\s+${uh}\n \\s*(?:\\s*\\/\\s*${dh}\\s*)?\n \\)\n $\n`.replace(/\n|\s/g,"");var hh=new RegExp(fh);const yh=`^\n rgba?\\(\n \\s*${ch}\\s*,\n \\s*${ch}\\s*,\n \\s*${ch}\\s*\n (?:,\\s*${dh}\\s*)?\n \\)\n $\n`.replace(/\n|\s/g,"");var gh=new RegExp(yh);const bh=`^\n rgba?\\(\n \\s*${uh}\\s*,\n \\s*${uh}\\s*,\n \\s*${uh}\\s*\n (?:,\\s*${dh}\\s*)?\n \\)\n $\n`.replace(/\n|\s/g,"");var vh=new RegExp(bh);const wh=`^\n rgba?\\(\n \\s*${ch}\n \\s+${ch}\n \\s+${ch}\n \\s*(?:\\s*\\/\\s*${dh}\\s*)?\n \\)\n$\n`.replace(/\n|\s/g,"");var kh=new RegExp(wh);const $h=`^\n rgba?\\(\n \\s*${uh}\n \\s+${uh}\n \\s+${uh}\n \\s*(?:\\s*\\/\\s*${dh}\\s*)?\n \\)\n$\n`.replace(/\n|\s/g,"");var Eh=new RegExp($h);var _h=new RegExp(/^transparent$/,"i");const Sh=(e,t,n)=>Math.min(Math.max(t,e),n),Ph=e=>{let t=e;return"number"!=typeof t&&(t=t.endsWith("%")?255*parseFloat(t)/100:parseFloat(t)),Sh(Math.round(t),0,255)},xh=e=>Sh(parseFloat(e),0,100);function Ah(e){let t=e;return"number"!=typeof t&&(t=t.endsWith("%")?parseFloat(t)/100:parseFloat(t)),Sh(t,0,1)}function Ih([,e,t,n,r=1]){return{type:"rgb",values:[e,t,n].map(Ph),alpha:Ah(null===r?1:r)}}
27
27
  /**
28
28
  * parse-css-color
29
29
  * @version v0.1.2
@@ -47,4 +47,4 @@ var RebillyInstruments=function(){"use strict";function e(e,t){const n=Object.cr
47
47
  * @version v2.1.1
48
48
  * @link http://noeldelgado.github.io/values.js/
49
49
  * @license MIT
50
- */class uy{constructor(e="#000",t="base",n=0){[this.rgb,this.alpha,this.type,this.weight]=[[0,0,0],1,t,n];const r=null===e?"#000":e;if("string"!=typeof r)throw new TypeError(`Input should be a string: ${r}`);const a=ly(r);if(!a)throw new Error(`Unable to parse color from string: ${r}`);return this[`_setFrom${a.type.toUpperCase()}`]([...a.values,a.alpha])}get hex(){return this.hexString().replace(/^#/,"")}setColor(e){const t=ly(e);return t?this[`_setFrom${t.type.toUpperCase()}`]([...t.values,t.alpha]):null}tint(e,t=cy(e,50)){return new uy(`rgb(${Mh("#fff",this.rgbString(),t).rgba})`,"tint",t)}shade(e,t=cy(e,50)){return new uy(`rgb(${Mh("#000",this.rgbString(),t).rgba})`,"shade",t)}tints(e,t=cy(e,10)){return Array.from({length:100/t},((e,n)=>this.tint((n+1)*t)))}shades(e,t=cy(e,10)){return Array.from({length:100/t},((e,n)=>this.shade((n+1)*t)))}all(e=10){return[...this.tints(e).reverse(),Object.assign(this),...this.shades(e)]}hexString(){return Nh(this.alpha>=1?this.rgb:[...this.rgb,this.alpha])}rgbString(){const e=(this.alpha>=1?this.rgb:[...this.rgb,this.alpha]).join(", ");return`${this.alpha>=1?"rgb":"rgba"}(${e})`}getBrightness(){return Math.round(this.rgb.reduce(((e,t)=>e+t))/765*100)}_setFromRGB([e,t,n,r]){return[this.rgb,this.alpha]=[[e,t,n],r],this}_setFromHSL([e,t,n,r]){return[this.rgb,this.alpha]=[Th([e,t,n]).map(Math.round),r],this}}uy.VERSION="v2.1.1";const dy=e=>new uy(e);function py(e,t=1){if(null===e)return e;const n=dy(e);return n.alpha=t,n.rgbString()}const my=e=>py(e,.5),fy=(e,t)=>{if(null===e)return e;return dy(e).shade(t).hexString()};class hy{constructor(e){this.allStyles=["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset","initial","inherit"],this.str=e||"";const t=this.allStyles.find((e=>this.str.includes(e)));if(null==t)throw new Error("Invalid border style.");const n=this.str.split(t).map((e=>e.trim()));this.border=[n[0],t,n[1]]}get stylePosition(){let e=0;return 3===this.border.length?e=1:2===this.border.length&&(e=this.allStyles.includes(this.border[0])?0:1),e}updateColor(e){return this.border[this.stylePosition+1]=e,this}get value(){return this.border.join(" ")}}const yy=new Proxy({colorPrimary:{fallback:{type:"static",value:"#0044D4"}},colorBackground:{fallback:{type:"static",value:"#FFFFFF"}},colorText:{fallback:{type:"static",value:"#0D2B3E"}},colorMutedText:{fallback:{type:"func",value:e=>my(e.colorText)}},colorMutedBorder:{fallback:{type:"func",value:e=>e.colorTextProvided?py(e.colorText,.25):"#DCE3EA"}},colorDanger:{fallback:{type:"static",value:"#CD5C5C"}},fontFamily:{fallback:{type:"static",value:"-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial sans-serif"}},fontSizeBase:{fallback:{type:"static",value:"16px"}},fontWeightBase:{fallback:{type:"static",value:"500"}},fontLineHeightBase:{fallback:{type:"func",value:e=>`calc(${e.fontSizeBase} * 1.5)`}},fontSmooth:{fallback:{type:"static",value:"auto"}},borderRadius:{fallback:{type:"static",value:"6px"}},headingFontFamily:{fallback:{type:"variable",value:"fontFamily"}},headingFontWeight:{fallback:{type:"static",value:"600"}},headingColorText:{fallback:{type:"variable",value:"colorText"}},buttonColorBackground:{fallback:{type:"variable",value:"colorPrimary"}},buttonColorText:{fallback:{type:"static",value:"#FFFFFF"}},buttonFontFamily:{fallback:{type:"variable",value:"fontFamily"}},buttonFontSize:{fallback:{type:"variable",value:"fontSizeBase"}},buttonFontLineHeight:{fallback:{type:"variable",value:"fontLineHeightBase"}},buttonFontWeight:{fallback:{type:"variable",value:"fontWeightBase"}},buttonBorder:{fallback:{type:"static",value:"1px solid transparent"}},buttonBorderColor:{fallback:{type:"variable",value:"colorPrimary"}},buttonBorderWidth:{fallback:{type:"static",value:"1px"}},buttonBorderType:{fallback:{type:"static",value:"solid"}},buttonBorderRadius:{fallback:{type:"variable",value:"borderRadius"}},buttonBoxShadow:{fallback:{type:"static",value:"none"}},buttonSecondaryColorBackground:{fallback:{type:"variable",value:"colorBackground"}},buttonSecondaryColorText:{fallback:{type:"variable",value:"colorText"}},buttonSecondaryFontFamily:{fallback:{type:"variable",value:"fontFamily"}},buttonSecondaryFontSize:{fallback:{type:"variable",value:"fontSizeBase"}},buttonSecondaryFontLineHeight:{fallback:{type:"variable",value:"fontLineHeightBase"}},buttonSecondaryFontWeight:{fallback:{type:"variable",value:"fontWeightBase"}},buttonSecondaryBorder:{fallback:{type:"func",value:e=>`1px solid ${e.colorMutedBorder}`}},buttonSecondaryBorderColor:{fallback:{type:"variable",value:"colorMutedBorder"}},buttonSecondaryBorderWidth:{fallback:{type:"static",value:"1px"}},buttonSecondaryBorderType:{fallback:{type:"static",value:"solid"}},buttonSecondaryBorderRadius:{fallback:{type:"variable",value:"borderRadius"}},buttonSecondaryBoxShadow:{fallback:{type:"static",value:"none"}},buttonHoverColorBackground:{fallback:{type:"func",value:e=>e.buttonColorBackgroundProvided?fy(e.buttonColorBackground,20):fy(e.colorPrimary,20)}},buttonHoverColorText:{fallback:{type:"variable",value:"buttonColorText"}},buttonHoverFontFamily:{fallback:{type:"variable",value:"buttonFontFamily"}},buttonHoverFontSize:{fallback:{type:"variable",value:"buttonFontSize"}},buttonHoverFontLineHeight:{fallback:{type:"variable",value:"buttonFontLineHeight"}},buttonHoverFontWeight:{fallback:{type:"variable",value:"buttonFontWeight"}},buttonHoverBorder:{fallback:{type:"func",value:e=>{if(e.buttonBorderProvided)return e.buttonBorder;return new hy(e.buttonBorder).updateColor(e.buttonHoverColorBackground).value}}},buttonHoverBorderColor:{fallback:{type:"variable",value:"colorPrimary"}},buttonHoverBorderWidth:{fallback:{type:"variable",value:"buttonBorderWidth"}},buttonHoverBorderType:{fallback:{type:"variable",value:"buttonBorderType"}},buttonHoverBorderRadius:{fallback:{type:"variable",value:"buttonBorderRadius"}},buttonHoverBoxShadow:{fallback:{type:"variable",value:"buttonBoxShadow"}},buttonSecondaryHoverColorBackground:{fallback:{type:"func",value:e=>(e.colorBackgroundProvided,fy(e.colorBackground,3))}},buttonSecondaryHoverColorText:{fallback:{type:"variable",value:"colorText"}},buttonSecondaryHoverFontFamily:{fallback:{type:"variable",value:"buttonSecondaryFontFamily"}},buttonSecondaryHoverFontSize:{fallback:{type:"variable",value:"buttonSecondaryFontSize"}},buttonSecondaryHoverFontLineHeight:{fallback:{type:"variable",value:"buttonSecondaryFontLineHeight"}},buttonSecondaryHoverFontWeight:{fallback:{type:"variable",value:"buttonSecondaryFontWeight"}},buttonSecondaryHoverBorder:{fallback:{type:"variable",value:"buttonSecondaryBorder"}},buttonSecondaryHoverBorderColor:{fallback:{type:"variable",value:"buttonSecondaryBorderColor"}},buttonSecondaryHoverBorderWidth:{fallback:{type:"variable",value:"buttonSecondaryBorderWidth"}},buttonSecondaryHoverBorderType:{fallback:{type:"variable",value:"buttonSecondaryBorderType"}},buttonSecondaryHoverBorderRadius:{fallback:{type:"variable",value:"buttonSecondaryBorderRadius"}},buttonSecondaryHoverBoxShadow:{fallback:{type:"variable",value:"buttonSecondaryBoxShadow"}},buttonActiveColorBackground:{fallback:{type:"variable",value:"buttonHoverColorBackground"}},buttonActiveColorText:{fallback:{type:"variable",value:"buttonHoverColorText"}},buttonActiveFontFamily:{fallback:{type:"variable",value:"buttonHoverFontFamily"}},buttonActiveFontSize:{fallback:{type:"variable",value:"buttonHoverFontSize"}},buttonActiveFontLineHeight:{fallback:{type:"variable",value:"buttonHoverFontLineHeight"}},buttonActiveFontWeight:{fallback:{type:"variable",value:"buttonHoverFontWeight"}},buttonActiveBorder:{fallback:{type:"variable",value:"buttonHoverBorder"}},buttonActiveBorderColor:{fallback:{type:"variable",value:"buttonHoverBorderColor"}},buttonActiveBorderWidth:{fallback:{type:"variable",value:"buttonHoverBorderWidth"}},buttonActiveBorderType:{fallback:{type:"variable",value:"buttonHoverBorderType"}},buttonActiveBorderRadius:{fallback:{type:"variable",value:"buttonHoverBorderRadius"}},buttonActiveBoxShadow:{fallback:{type:"variable",value:"buttonHoverBoxShadow"}},buttonSecondaryActiveColorBackground:{fallback:{type:"variable",value:"buttonSecondaryHoverColorBackground"}},buttonSecondaryActiveColorText:{fallback:{type:"variable",value:"buttonSecondaryHoverColorText"}},buttonSecondaryActiveFontFamily:{fallback:{type:"variable",value:"buttonSecondaryHoverFontFamily"}},buttonSecondaryActiveFontSize:{fallback:{type:"variable",value:"buttonSecondaryHoverFontSize"}},buttonSecondaryActiveFontLineHeight:{fallback:{type:"variable",value:"buttonSecondaryHoverFontLineHeight"}},buttonSecondaryActiveFontWeight:{fallback:{type:"variable",value:"buttonSecondaryHoverFontWeight"}},buttonSecondaryActiveBorder:{fallback:{type:"variable",value:"buttonSecondaryHoverBorder"}},buttonSecondaryActiveBorderColor:{fallback:{type:"variable",value:"buttonSecondaryHoverBorderColor"}},buttonSecondaryActiveBorderWidth:{fallback:{type:"variable",value:"buttonSecondaryHoverBorderWidth"}},buttonSecondaryActiveBorderType:{fallback:{type:"variable",value:"buttonSecondaryHoverBorderType"}},buttonSecondaryActiveBorderRadius:{fallback:{type:"variable",value:"buttonSecondaryHoverBorderRadius"}},buttonSecondaryActiveBoxShadow:{fallback:{type:"variable",value:"buttonSecondaryHoverBoxShadow"}},inputColorBackground:{fallback:{type:"static",value:"transparent"}},inputColorText:{fallback:{type:"variable",value:"colorText"}},inputFontFamily:{fallback:{type:"variable",value:"fontFamily"}},inputFontSize:{fallback:{type:"variable",value:"fontSizeBase"}},inputFontLineHeight:{fallback:{type:"variable",value:"fontLineHeightBase"}},inputFontWeight:{fallback:{type:"variable",value:"fontWeightBase"}},inputBorder:{fallback:{type:"func",value:e=>`1px solid ${fy(e.colorMutedBorder,4)}`}},inputBorderRadius:{fallback:{type:"variable",value:"borderRadius"}},inputBoxShadow:{fallback:{type:"static",value:"none"}},inputHoverColorBackground:{fallback:{type:"variable",value:"inputColorBackground"}},inputHoverColorText:{fallback:{type:"variable",value:"inputColorText"}},inputHoverFontFamily:{fallback:{type:"variable",value:"inputFontFamily"}},inputHoverFontSize:{fallback:{type:"variable",value:"inputFontSize"}},inputHoverFontLineHeight:{fallback:{type:"variable",value:"inputFontLineHeight"}},inputHoverFontWeight:{fallback:{type:"variable",value:"inputFontWeight"}},inputHoverBorder:{fallback:{type:"variable",value:"inputBorder"}},inputHoverBorderRadius:{fallback:{type:"variable",value:"inputBorderRadius"}},inputHoverBoxShadow:{fallback:{type:"variable",value:"inputBoxShadow"}},inputFocusColorBackground:{fallback:{type:"variable",value:"inputHoverColorBackground"}},inputFocusColorText:{fallback:{type:"variable",value:"inputHoverColorText"}},inputFocusFontFamily:{fallback:{type:"variable",value:"inputHoverFontFamily"}},inputFocusFontSize:{fallback:{type:"variable",value:"inputHoverFontSize"}},inputFocusFontLineHeight:{fallback:{type:"variable",value:"inputHoverFontLineHeight"}},inputFocusFontWeight:{fallback:{type:"variable",value:"inputHoverFontWeight"}},inputFocusBorder:{fallback:{type:"func",value:e=>{if(e.inputHoverBorderProvided)return e.inputHoverBorder;return new hy(e.inputBorder).updateColor(e.colorPrimary).value}}},inputFocusBorderRadius:{fallback:{type:"variable",value:"inputHoverBorderRadius"}},inputFocusBoxShadow:{fallback:{type:"func",value:e=>`0 0 0 1px ${e.colorPrimary}`}},inputPlaceholderColorText:{fallback:{type:"func",value:e=>e.inputColorTextProvided?my(e.inputColorText):e.colorMutedText}},inputPlaceholderFontFamily:{fallback:{type:"variable",value:"inputFontFamily"}},inputPlaceholderFontSize:{fallback:{type:"variable",value:"inputFontSize"}},inputPlaceholderFontLineHeight:{fallback:{type:"variable",value:"inputFontLineHeight"}},inputPlaceholderFontWeight:{fallback:{type:"variable",value:"inputFontWeight"}},inputSelectionColorText:{fallback:{type:"static",value:"initial"}},inputSelectionColorBackground:{fallback:{type:"static",value:"highlight"}},inputErrorColorBackground:{fallback:{type:"variable",value:"inputColorBackground"}},inputErrorColorText:{fallback:{type:"variable",value:"colorDanger"}},inputErrorFontFamily:{fallback:{type:"variable",value:"inputFontFamily"}},inputErrorFontSize:{fallback:{type:"variable",value:"inputFontSize"}},inputErrorFontLineHeight:{fallback:{type:"variable",value:"inputFontLineHeight"}},inputErrorFontWeight:{fallback:{type:"variable",value:"inputFontWeight"}},inputErrorBorder:{fallback:{type:"func",value:e=>{if(e.inputBorderProvided){return new hy(e.inputBorder).updateColor(e.colorDanger).value}return`1px solid ${e.colorDanger}`}}},inputErrorBorderRadius:{fallback:{type:"variable",value:"inputBorderRadius"}},inputErrorBoxShadow:{fallback:{type:"variable",value:"inputBoxShadow"}},inputErrorHoverColorBackground:{fallback:{type:"variable",value:"inputErrorColorBackground"}},inputErrorHoverColorText:{fallback:{type:"variable",value:"inputErrorColorText"}},inputErrorHoverFontFamily:{fallback:{type:"variable",value:"inputErrorFontFamily"}},inputErrorHoverFontSize:{fallback:{type:"variable",value:"inputErrorFontSize"}},inputErrorHoverFontLineHeight:{fallback:{type:"variable",value:"inputErrorFontLineHeight"}},inputErrorHoverFontWeight:{fallback:{type:"variable",value:"inputErrorFontWeight"}},inputErrorHoverBorder:{fallback:{type:"variable",value:"inputErrorBorder"}},inputErrorHoverBorderRadius:{fallback:{type:"variable",value:"inputErrorBorderRadius"}},inputErrorHoverBoxShadow:{fallback:{type:"variable",value:"inputErrorBoxShadow"}},inputErrorFocusColorBackground:{fallback:{type:"variable",value:"inputErrorHoverColorBackground"}},inputErrorFocusColorText:{fallback:{type:"variable",value:"inputErrorHoverColorText"}},inputErrorFocusFontFamily:{fallback:{type:"variable",value:"inputErrorHoverFontFamily"}},inputErrorFocusFontSize:{fallback:{type:"variable",value:"inputErrorHoverFontSize"}},inputErrorFocusFontLineHeight:{fallback:{type:"variable",value:"inputErrorHoverFontLineHeight"}},inputErrorFocusFontWeight:{fallback:{type:"variable",value:"inputErrorHoverFontWeight"}},inputErrorFocusBorder:{fallback:{type:"variable",value:"inputErrorHoverBorder"}},inputErrorFocusBorderRadius:{fallback:{type:"variable",value:"inputErrorHoverBorderRadius"}},inputErrorFocusBoxShadow:{fallback:{type:"variable",value:"inputErrorHoverBoxShadow"}},inputErrorPlaceholderColorText:{fallback:{type:"func",value:e=>e.inputErrorColorTextProvided?my(e.inputErrorColorText):my(e.colorDanger)}},inputErrorPlaceholderFontFamily:{fallback:{type:"variable",value:"inputPlaceholderFontFamily"}},inputErrorPlaceholderFontSize:{fallback:{type:"variable",value:"inputPlaceholderFontSize"}},inputErrorPlaceholderFontLineHeight:{fallback:{type:"variable",value:"inputPlaceholderFontLineHeight"}},inputErrorPlaceholderFontWeight:{fallback:{type:"variable",value:"inputPlaceholderFontWeight"}},inputErrorSelectionColorText:{fallback:{type:"variable",value:"inputSelectionColorText"}},inputErrorSelectionColorBackground:{fallback:{type:"variable",value:"inputSelectionColorBackground"}},labels:{fallback:{type:"static",value:"floating"}}},{get(e,t,n){if(t in e){if(e[t].value)return e[t].value;const{type:r,value:a}=e[t].fallback;if("static"===r)return a;if("variable"===r)return`var(--rebilly-${a})`;if("func"===r&&"function"==typeof a)return a(n)}if(t.endsWith("Provided")){const n=t.replace("Provided","");if(n in e)return e[n].isProvided}},set:(e,t,n)=>{if(!(t in e)||!n)throw new Error(`Invalid theme option provided: ${t}`);return e[t].value=n,e[t].isProvided=!0,!0}}),gy=class e{constructor(e={}){this.overrides=e,this.theme=yy}overrideTheme(){Object.keys(this.overrides).forEach((e=>{this.theme[e]=this.overrides[e]}))}get cssVars(){return Object.keys(this.theme).filter((t=>!e.nonCssProperties.includes(t))).map(((e,t)=>`${t?" ":""}--rebilly-${e}: ${this.theme[e]};`)).join("\n")}build(){return this.overrideTheme(),{cssVars:this.cssVars}}};gy.nonCssProperties=["labels"];let by=gy;function vy(e){let t=e;return t=t.replace(/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/g,""),t=t.replace(/\s{2,}/g," "),t=t.replace(/\s([{:}])\s/g,"$1"),t=t.replace(/([;,])\s/g,"$1"),t=t.replace(/\s!/g,"!"),t}const wy=()=>{xe(Ae.options);const{theme:e={},css:t}=Ae.options,n=(e=>{const t=new by(e).build();var n;return`\n ${n=t,`\n/* Instruments 'global' variables\n------------------------------------------------------------ */\n:root, :host {\n ${n.cssVars}\n\n --rebilly-fontWeight400: 400;\n --rebilly-fontWeight500: 500;\n --rebilly-fontWeight600: 600;\n --rebilly-fontScaleFactor: 1.5;\n --rebilly-fontScaleFactorS: 0.875;\n --rebilly-fontSizeS: calc(var(--rebilly-fontSizeBase) * var(--rebilly-fontScaleFactorS));\n --rebilly-fontLineHeightS: calc(var(--rebilly-fontSizeS) * 1);\n\n --rebilly-fontSizeL: calc(var(--rebilly-fontSizeBase) * var(--rebilly-fontScaleFactor));\n --rebilly-fontLineHeightL: calc(var(--rebilly-fontLineHeightBase) * 2);\n --rebilly-fontMarginTopL: 0;\n --rebilly-fontMarginBottomL: var(--rebilly-fontLineHeightBase);\n\n --rebilly-spacing2xs: calc(var(--rebilly-fontLineHeightBase) / 6);\n --rebilly-spacingXs: calc(var(--rebilly-fontLineHeightBase) / 4);\n --rebilly-spacingS: calc(var(--rebilly-fontLineHeightBase) / 2);\n --rebilly-spacingM: var(--rebilly-fontLineHeightBase);\n --rebilly-spacingL: calc(var(--rebilly-fontLineHeightBase) * 2);\n --rebilly-spacingXl: calc(var(--rebilly-fontLineHeightBase) * 4);\n\n --rebilly-spacingFormElementMinHeight: calc(var(--rebilly-spacingM) * 1.83333);\n\n --rebilly-summaryLoaderMinHeight: var(--rebilly-fontLineHeightBase);\n --rebilly-methodLoaderMinHeight: calc((4 * var(--rebilly-spacingFormElementMinHeight)) + (2 * var(--rebilly-fontLineHeightBase)) + (2 * var(--rebilly-spacingM)) + var(--rebilly-spacing2xs) + var(--rebilly-fontSizeS) + calc(2 * (var(--rebilly-spacingXs) + var(--rebilly-spacingS))) + var(--rebilly-spacingL));\n}\n\n/* Base, Typography\n------------------------------------------------------------ */\n/* Base setup for top level elements */\n.rebilly-instruments-content {\n color: var(--rebilly-colorText);\n background: var(--rebilly-colorBackground);\n font-size: var(--rebilly-fontSizeBase);\n font-weight: var(--rebilly-fontWeightBase);\n line-height: var(--rebilly-fontLineHeightBase);\n font-family: var(--rebilly-fontFamily);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-align: left;\n transition: all 200ms;\n font-smooth: var(--rebilly-fontSmooth);\n padding: 2px;\n font-display: swap;\n}\n\n/* Views. Method Selector\n------------------------------------------------------------ */\n.rebilly-instruments-method-selector.has-express-compact {\n padding-top: var(--rebilly-spacingS);\n}\n\n.rebilly-instruments-amount-selector {\n padding: 2px;\n}\n\n/* Express Methods\n------------------------------------------------------------ */\n@-webkit-keyframes rebillyExpressShine {\n to {\n background-position-x: -200%;\n }\n}\n\n@keyframes rebillyExpressShine {\n to {\n background-position-x: -200%;\n }\n}\n\n.rebilly-instruments-express-methods { padding: 2px; }\n\n.rebilly-instruments-express-methods.is-compact {\n border: 1px solid var(--rebilly-colorMutedBorder);\n padding: var(--rebilly-spacingS);\n padding-top: calc(var(--rebilly-spacingXs) + var(--rebilly-spacingS));\n padding-top: calc(var(--rebilly-fontSizeBase) + var(--rebilly-spacing2xs));\n border-radius: var(--rebilly-borderRadius);\n position: relative;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-iframe {\n display: block;\n margin-bottom: 0;\n height: var(--rebilly-spacingFormElementMinHeight);\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-express-methods-container > * {\n border-radius: 6px;\n margin-bottom: var(--rebilly-spacingS);\n background: linear-gradient(110deg, var(--rebilly-colorMutedBorder) 0%, var(--rebilly-colorBackground) 25%, var(--rebilly-colorMutedBorder) 50%);\n background-size: 200% 100%;\n -webkit-animation: 1.5s rebillyExpressShine linear infinite;\n animation: 1.5s rebillyExpressShine linear infinite;\n min-height: 48px;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-express-methods-container > *:last-child {\n margin: 0;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > * {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 0px;\n flex: 1 1 0px;\n max-width: 260px;\n margin: 0 var(--rebilly-spacingXs);\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > *:first-child {\n margin-left: 0;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > *:last-child {\n margin-right: 0;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-express-methods-label {\n display: none;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-label {\n position: absolute;\n font-family: var(--rebilly-fontFamily);\n top: 0; left: 50%;\n -webkit-transform: translateX(-50%) translateY(-50%);\n transform: translateX(-50%) translateY(-50%);\n color: var(--rebilly-colorText);\n padding: var(--rebilly-spacing2xs) var(--rebilly-spacingM);\n line-height: 1;\n background: var(--rebilly-colorBackground);\n display: inline-block;\n font-weight: var(--rebilly-fontWeightBase);\n min-height: auto;\n margin: 0;\n white-space: nowrap;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-google-pay-method {\n border-radius: 100px;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-google-pay-method iframe {\n width: 100%;\n height: 100%;\n border: none;\n}\n\n@media (max-width: 600px) {\n .rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n }\n\n .rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > * {\n max-width: 100%;\n margin: 0 0 var(--rebilly-spacingS);\n }\n \n .rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > *:last-child {\n margin: 0;\n }\n}\n\n/* Components. Divider\n------------------------------------------------------------ */\n.rebilly-instruments-divider {\n line-height: var(--rebilly-fontLineHeightBase);\n padding: var(--rebilly-spacingM) 0;\n margin: 0;\n position: relative;\n outline: 0;\n border: 0;\n text-align: center;\n font-family: var(--rebilly-fontFamily);\n}\n\n.rebilly-instruments-divider-s { padding: var(--rebilly-spacingS) 0; }\n.rebilly-instruments-divider-xs { padding: var(--rebilly-spacingXs) 0; }\n\n.rebilly-instruments-divider::before {\n background: var(--rebilly-colorMutedBorder);\n content: '';\n position: absolute;\n left: 0;\n top: 50%;\n width: 100%;\n height: 1px;\n}\n\n.rebilly-instruments-divider .rebilly-instruments-divider-label {\n color: var(--rebilly-colorMutedText);\n font-weight: var(--rebilly-fontWeightBase);\n padding: 0 var(--rebilly-spacingM);\n line-height: var(--rebilly-fontLineHeightS);\n background-color: var(--rebilly-colorBackground);\n font-size: var(--rebilly-fontSizeS);\n position: relative;\n display: inline-block;\n}\n\n/* Components. Icons\n------------------------------------------------------------ */\n.rebilly-instruments-icon {\n width: var(--rebilly-fontLineHeightBase);\n height: var(--rebilly-fontLineHeightBase);\n fill: var(--rebilly-colorText);\n}\n\n/* Components. Forms. Checkboxes\n------------------------------------------------------------ */\n.rebilly-instruments-form-field-checkbox {\n position: relative;\n opacity: 1;\n align-items: center;\n display: flex;\n flex-direction: row-reverse;\n justify-content: flex-start;\n cursor: pointer;\n transform: none;\n}\n\n.rebilly-instruments-form-field-checkbox > * {\n cursor: pointer;\n}\n\n.rebilly-instruments-form-field-checkbox input[type="checkbox"] {\n position: absolute;\n opacity: 0;\n cursor: pointer;\n height: 0;\n width: 0;\n}\n\n.rebilly-instruments-form-field-checkbox span {\n position: relative;\n top: 0;\n left: 0;\n width: calc(var(--rebilly-spacingM) - var(--rebilly-spacing2xs));\n height: calc(var(--rebilly-spacingM) - var(--rebilly-spacing2xs));\n min-width: calc(var(--rebilly-spacingM) - var(--rebilly-spacing2xs));\n border-radius: 4px;\n box-shadow: inset 0 0 0 2px var(--rebilly-colorMutedBorder);\n margin-right: var(--rebilly-spacingS);\n background-color: transparent;\n transition: all 200ms;\n}\n\n.rebilly-instruments-form-field-checkbox span:after {\n content: '';\n position: absolute;\n border: solid var(--rebilly-colorPrimary);\n width: calc(var(--rebilly-spacingXs) + var(--rebilly-spacing2xs));\n height: calc(var(--rebilly-spacingXs) - var(--rebilly-spacing2xs) + 2px);\n border-width: 2px 2px 0 0;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n opacity: 0;\n transform: translateY(-60%) translateX(-50%) rotate(135deg);\n transition: all 0.2s ease;\n}\n\n.rebilly-instruments-form-field-checkbox input[type="checkbox"]:focus ~ span {\n box-shadow: inset 0 0 0 2px var(--rebilly-colorPrimary);\n}\n\n.rebilly-instruments-form-field-checkbox input[type="checkbox"]:checked ~ span {\n box-shadow: inset 0 0 0 2px var(--rebilly-colorPrimary);\n}\n\n.rebilly-instruments-form-field-checkbox input[type="checkbox"]:checked ~ span:after {\n opacity: 1;\n}\n\n.rebilly-instruments-form-field-checkbox input[type="checkbox"]:disabled ~ span {\n opacity: 0.6;\n}\n\n/* Vendor, Postmate\n------------------------------------------------------------ */\n.rebilly-instruments-iframe {\n border: none;\n width: 100%;\n height: 0;\n padding: 0;\n}\n\n.rebilly-instruments-iframe-overlay {\n top: -2px;\n left: -2px;\n width: calc(100vw + 2px);\n height: 100vh;\n min-height: calc(100vh + 4px);\n position: fixed;\n z-index: 99999999999999;\n}\n\n/* Views. Modal\n------------------------------------------------------------ */\n.rebilly-instruments-modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n overflow-x: hidden;\n overflow-y: auto;\n z-index: 1055;\n padding: 30px;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n -webkit-transition: all 0.12s ease-in-out;\n transition: all 0.12s ease-in-out;\n background-color: rgba(0,0,0,0.7);\n opacity: 0\n}\n\n.rebilly-instruments-modal-overlay.is-visible {\n opacity: 1;\n}\n\n.rebilly-instruments-modal-container {\n -webkit-transition: all .24s ease-in-out;\n transition: all .24s ease-in-out;\n position: relative;\n max-width: 750px;\n background: var(--rebilly-colorBackground);\n margin: 50px auto 20px;\n -webkit-box-shadow: 0 19px 38px rgba(0,0,0,0.20), 0 15px 12px rgba(0,0,0,0.12);\n box-shadow: 0 19px 38px rgba(0,0,0,0.20), 0 15px 12px rgba(0,0,0,0.12);\n border-radius: 4px;\n -webkit-transform: translateY(-50px);\n transform: translateY(-50px);\n opacity: 0;\n}\n\n.rebilly-instruments-modal-container.is-visible {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n}\n\n.rebilly-instruments-modal-container.is-redirect {\n max-width: 60vw;\n width: auto;\n}\n\n.rebilly-instruments-modal-content {\n -webkit-transition: all .15s;\n transition: all .15s;\n padding: 20px;\n overflow: hidden;\n background-color: var(--rebilly-colorBackground);\n text-align: center;\n border-radius: 4px;\n}\n\n.rebilly-instruments-modal-content .rebilly-instruments-iframe {\n -webkit-transition: all .15s;\n transition: all .15s;\n height: auto;\n min-height: 360px;\n}\n\n.rebilly-instruments-modal-container.is-redirect .rebilly-instruments-modal-content {\n padding: 0;\n}\n\n.rebilly-instruments-modal-close {\n position: absolute;\n width: 30px;\n height: 30px;\n top: -40px;\n right: 0;\n fill: #FFF;\n cursor: pointer;\n}\n\n.rebilly-instruments-modal-close:hover{\n color: #000;\n}\n\n@media screen and (max-width: 480px) {\n .rebilly-instruments-modal-container.is-redirect {\n max-width: 96vw;\n margin: 20px auto 20px;\n }\n}\n\n/* Components. Loader\n------------------------------------------------------------ */\n.rebilly-instruments-loader {\n text-align: left;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: none;\n background-color: var(--rebilly-colorBackground);\n z-index: 1000;\n -webkit-transition: all 200ms;\n transition: all 200ms;\n border-radius: var(--rebilly-borderRadius);\n}\n\n.rebilly-instruments-loader.is-active {\n display: block;\n}\n\n/* Type */\n.rebilly-instruments-loader p {\n color: var(--rebilly-colorText);\n display: inline-block;\n margin: 0;\n font-weight: var(--rebilly-fontWeightBase);\n font-size: var(--rebilly-fontSizeBase);\n line-height: var(--rebilly-fontLineHeightBase);\n}\n\n.rebilly-instruments-loader small {\n color: var(--rebilly-colorText);\n display: inline-block;\n margin: 0;\n font-size: var(--rebilly-fontSizeS);\n line-height: 1;\n}\n\n/* Summary */\n.rebilly-instruments-summary-loader-total p.total {\n font-family: var(--rebilly-fontFamily);\n font-size: var(--rebilly-fontSizeL);\n font-weight: var(--rebilly-headingFontWeight);\n}\n\n/* Methods */\n.rebilly-instruments-methods-loader-card-icon {\n width: calc(var(--rebilly-fontLineHeightBase) + 10px);\n height: var(--rebilly-fontLineHeightBase);\n margin-left: var(--rebilly-spacing2xs);\n margin-bottom: var(--rebilly-spacing2xs);\n}\n\n.rebilly-instruments-methods-loader-form-fields { margin: calc(var(--rebilly-spacingXs) + var(--rebilly-spacingS)) 0; }\n\n/* Spinner */\n.rebilly-instruments-loader-spinner {\n top: 50%;\n left: 50%;\n position: absolute;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n border: 2px solid transparent;\n border-top: 2px solid var(--rebilly-colorPrimary);\n border-radius: 50%;\n width: var(--rebilly-fontLineHeightBase);\n height: var(--rebilly-fontLineHeightBase);\n margin-top: calc(-1 * var(--rebilly-fontLineHeightBase) / 2);\n margin-left: calc(-1 * var(--rebilly-fontLineHeightBase) / 2);\n -webkit-animation: spin 0.5s ease infinite;\n animation: spin 0.5s ease infinite;\n}\n\n@-webkit-keyframes spin {\n 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }\n 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }\n}\n\n@keyframes spin {\n 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }\n 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }\n}\n\n/* Utils */\n.rebilly-instruments-loader-display-flex { display: -webkit-box; display: -ms-flexbox; display: flex; }\n.rebilly-instruments-loader-align-center { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }\n.rebilly-instruments-loader-justify-space-between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }\n.rebilly-instruments-loader-justify-end { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }\n\n.is-el-loading {\n position: relative;\n color: transparent!important;\n}\n\n.is-el-loading::before {\n position: absolute;\n content: '';\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: linear-gradient(110deg, var(--rebilly-colorMutedBorder) 0%, var(--rebilly-colorBackground) 25%, var(--rebilly-colorMutedBorder) 50%);\n background-size: 200% 100%;\n -webkit-animation: 1.5s rebillyExpressShine linear infinite;\n animation: 1.5s rebillyExpressShine linear infinite;\n border-radius: var(--rebilly-borderRadius);\n}\n\n.rebilly-instruments-loader-form-el {\n width: 100%;\n min-height: var(--rebilly-spacingFormElementMinHeight);\n}\n\n.rebilly-instruments-loader-form-label {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n margin-bottom: var(--rebilly-spacing2xs);\n}\n\n.rebilly-instruments-loader-form-el.is-button {\n margin-top: var(--rebilly-spacingL);\n text-align: center;\n font-size: var(--rebilly-buttonFontSize);\n font-family: var(--rebilly-buttonFontFamily);\n line-height: var(--rebilly-buttonFontLineHeight);\n padding: var(--rebilly-spacingS);\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n background: var(--rebilly-buttonColorBackground);\n color: transparent;\n border-radius: var(--rebilly-buttonBorderRadius);\n font-weight: var(--rebilly-buttonFontWeight);\n border: var(--rebilly-buttonBorder);\n -webkit-box-shadow: var(--rebilly-buttonBoxShadow);\n box-shadow: var(--rebilly-buttonBoxShadow);\n outline: none;\n cursor: not-allowed;\n opacity: 0.6; \n}\n\n.rebilly-instruments-methods-loader-card-icon.is-el-loading::before {\n border-radius: calc(var(--rebilly-borderRadius) / 2);\n}\n\n/* Error\n------------------------------------------------------------ */\n.rebilly-instruments-error-card {\n border: 1px solid var(--rebilly-colorDanger);\n border-radius: var(--rebilly-borderRadius);\n text-align: left;\n padding: var(--rebilly-spacingS);\n margin-bottom: var(--rebilly-spacingL);\n}\n.rebilly-instruments-error-card.not-closeable {\n margin-bottom: 0;\n}\n\n.rebilly-instruments-error-card-header {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n width: 100%;\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n.rebilly-instruments-error-card-title {\n font-weight: var(--rebilly-fontWeightBase);\n font-size: var(--rebilly-fontSizeBase);\n line-height: var(--rebilly-fontLineHeightBase);\n font-family: var(--rebilly-headingFontFamily);\n margin: 0 0 var(--rebilly-spacingS);\n color: var(--rebilly-colorDanger);\n}\n\n.rebilly-instruments-error-card-close-button {\n cursor: pointer;\n background: transparent;\n border: none;\n padding: 0;\n}\n\n.rebilly-instruments-error-card-close-button svg {\n width: var(--rebilly-fontLineHeightBase);\n height: var(--rebilly-fontLineHeightBase);\n fill: var(--rebilly-colorText);\n}\n\n.rebilly-instruments-error-card-details {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n.rebilly-instruments-error-card-details li,\n.rebilly-instruments-error-card-message {\n color: var(--rebilly-colorText);\n margin: 0;\n font-weight: var(--rebilly-fontWeightBase);\n font-size: var(--rebilly-fontSizeBase);\n line-height: var(--rebilly-fontLineHeightBase);\n}\n\n\n/* Bump offer\n------------------------------------------------------------ */\n.rebilly-instruments-bump-offers {\n text-align: left;\n margin-bottom: calc(var(--rebilly-spacingM) + var(--rebilly-fontSizeS));\n}\n\n.rebilly-instruments-bump-offers .rebilly-instruments-form-field-checkbox {\n margin-bottom: var(--rebilly-spacingS);\n}\n\n.rebilly-instruments-bump-offers .rebilly-instruments-bump-offer-label {\n width: 100%;\n font-weight: var(--rebilly-fontWeightBase);\n}\n\n.rebilly-instruments-bump-offer-line-item {\n border-bottom: 1px solid var(--rebilly-colorMutedBorder);\n padding: var(--rebilly-spacingS) 0;\n display: flex;\n align-items: center;\n position: relative;\n}\n\n.rebilly-instruments-bump-offer-line-item:first-child {\n padding-top: 0;\n}\n\n.rebilly-instruments-bump-offer-line-item-figure {\n margin: 0 var(--rebilly-spacingS) 0 0;\n flex: 0 0 auto;\n width: 48px;\n height: 48px;\n border-radius: var(--rebilly-borderRadius);\n border: 1px solid var(--rebilly-colorMutedBorder);\n overflow: hidden;\n}\n\n.rebilly-instruments-bump-offer-line-item-figure img {\n width: 100%;\n}\n\n.rebilly-instruments-bump-offer-line-item-synopsis {\n flex: 1 2 auto;\n font-weight: var(--rebilly-fontWeightBase);\n}\n\n.rebilly-instruments-bump-offer-line-item-synopsis-title {\n margin: 0;\n}\n\n.rebilly-instruments-bump-offer-line-item-synopsis-description {\n color: var(--rebilly-colorMutedText);\n margin: 0;\n font-size: var(--rebilly-fontSizeS);\n line-height: var(--rebilly-fontLineHeightS);\n}\n\n.rebilly-instruments-bump-offer-line-item-price-breakdown {\n display: flex;\n justify-content: center;\n align-items: center;\n color: var(--rebilly-colorMutedText);\n margin: 0 0 0 var(--rebilly-spacingS);\n font-weight: var(--rebilly-fontWeightBase);\n}\n\n.rebilly-instruments-bump-offer-line-item-price-breakdown .rebilly-instruments-icon {\n fill: var(--rebilly-colorMutedText);\n}\n\n.rebilly-instruments-bump-offer-line-item-price-breakdown-unit-price {\n color: var(--rebilly-colorText);\n}\n`}\n `})(e||{});return Vs({element:"style",attributes:{type:"text/css"},content:vy(n),target:Ae.shadowRoot||"head"}),t&&Vs({element:"style",attributes:{type:"text/css"},content:vy(t),target:Ae.shadowRoot||"head"}),n},ky=()=>{Ae.translate.init(Ae.options.locale,Ae.options.i18n),Ae.translate.translateItems()},$y=()=>{var e,t;if("auto"===Ae.options.locale&&(null==(t=null==(e=Ae.data.riskMetadata)?void 0:e.browserData)?void 0:t.language)){const{browserData:{language:e}}=Ae.data.riskMetadata;Ae.options.locale=e}return Ae.translate.init(Ae.options.locale,Ae.options.i18n),ky};function Ey(e){const t={};return function(e){const t={};function n(e){const r=e.match(/var\((.+?)\)/g);if(r){let a=e;return r.forEach((n=>{const r=n.match(/\((.*)\)/i);r&&(a=e.replace(n,t[r[1]]))})),n(a)}return e}return Array.from(e.matchAll(/(--rebilly.*(?=:))[:\s](.*(?=;))/g)).forEach((e=>{t[e[1]]=e[2].trim()})),Object.entries(t).map((([e,t])=>[e,n(t)]))}(e).forEach((([e,n])=>{t[e]=n})),t}const _y=(e,t="")=>({color:e[`--rebilly-${t}ColorText`],fontFamily:e[`--rebilly-${t}FontFamily`],fontSize:e[`--rebilly-${t}FontSize`],fontWeight:e[`--rebilly-${t}FontWeight`],lineHeight:e[`--rebilly-${t}FontLineHeight`],background:e[`--rebilly-${t}ColorBackground`],boxShadow:e[`--rebilly-${t}BoxShadow`],borderColor:e[`--rebilly-${t}BorderColor`],borderWidth:e[`--rebilly-${t}BorderWidth`],borderType:e[`--rebilly-${t}BorderType`]}),Sy=()=>{var e;const t=Ey(`\n ${Ae.mainStyleVars}\n ${(null==(e=Ae.options)?void 0:e.css)||""}\n `);return{base:{..._y(t,"input"),":hover":_y(t,"inputHover"),":focus":_y(t,"inputFocus"),"::placeholder":_y(t,"inputPlaceholder"),"::selection":_y(t,"inputSelection")},invalid:{..._y(t,"inputError"),":hover":_y(t,"inputErrorHover"),":focus":_y(t,"inputErrorFocus"),"::placeholder":_y(t,"inputErrorPlaceholder"),"::selection":_y(t,"inputErrorSelection")},buttons:{base:{..._y(t,"buttonSecondary"),":hover":_y(t,"buttonSecondaryHover"),":focus":_y(t,"buttonSecondaryActive")},focus:{..._y(t,"buttonSecondary")},active:{..._y(t,"button"),":hover":_y(t,"buttonHover"),":focus":_y(t,"buttonActive")}}}};function Py({eventName:e,callback:t}){if(!Hn.includes(e))throw new Error(`${e} is not a supported event`);const n=Vt(e);Mn[n].addEventListener(t)}const xy=(e,t)=>`\n <div class="rebilly-instruments-modal-overlay">\n <div class="rebilly-instruments-modal-container ${t?`rebilly-instruments-${t}`:""} ${e?"is-redirect":""}">\n ${e?"":'\n <svg class="rebilly-instruments-modal-close" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg">\n <path d="m15 13.5858 7.2929-7.293c.3905-.3904 1.0237-.3904 1.4142 0 .3905.3906.3905 1.0238 0 1.4143L16.4142 15l7.293 7.2929c.3904.3905.3904 1.0237 0 1.4142-.3906.3905-1.0238.3905-1.4143 0L15 16.4142l-7.2929 7.293c-.3905.3904-1.0237.3904-1.4142 0-.3905-.3906-.3905-1.0238 0-1.4143L13.5858 15l-7.293-7.2929c-.3904-.3905-.3904-1.0237 0-1.4142.3906-.3905 1.0238-.3905 1.4143 0L15 13.5858Z" fill-rule="nonzero"/>\n </svg>\n '}\n <div class="rebilly-instruments-modal-content"></div>\n </div>\n </div>\n`;async function Ay({name:e="",url:t="",model:n={},classListArray:r=[],close:a=(()=>{})}={}){var o,i;const s=null==(o=null==n?void 0:n.method)?void 0:o.method,l="rebilly-instruments-approval-url"===e;Ae.form.insertAdjacentHTML("beforeend",xy(l,s));const c=Ae.form.querySelector(".rebilly-instruments-modal-overlay"),u=Ae.form.querySelector(".rebilly-instruments-modal-container"),d=Ae.form.querySelector(".rebilly-instruments-modal-close"),p=Ae.form.querySelector(".rebilly-instruments-modal-content");document.body.style.overflow="hidden",setTimeout((()=>{c.classList.add("is-visible"),u.classList.add("is-visible")}),240),Ae.loader.addDOMElement({section:"modal",el:p}),Ae.loader.startLoading({section:"modal",id:e});const m={options:Ae.toModel().options,...n},f=await new Kn({name:e,url:t,model:m,classListArray:r,container:p}),h=(...e)=>{u.classList.remove("is-visible"),c.classList.remove("is-visible"),setTimeout((()=>{document.body.style.overflow="auto";const t=c.children;for(let e=0;e<t.length;e+=1)t[e].remove();c.remove(),a(...e),f.destroy()}),300)};return f.bindEventListeners({close:h,loader:Ae.loader}),l||d.addEventListener("click",h),null==(i=f.component)||i.call("route",{name:"approval-url"}),f}async function Iy({payload:e}){let t={websiteId:Ae.options.websiteId,paymentInstruction:{token:e._raw.id},...e};Ae.data.acceptBumpOffer?t.items=Ae.options.bumpOffer:t.items=Oo(Ae.options.items),Ae.data.couponIds&&Array.isArray(Ae.data.couponIds)&&(t.couponIds=Ae.data.couponIds),Ae.options.addons&&Ae.data.addons&&Array.isArray(Ae.data.addons)&&Ae.options.addons.forEach((e=>{Ae.data.addons.includes(e.planId)&&t.items.push(e)})),t.additionalFields&&(t={...t,...t.additionalFields});const{fields:n}=await async function({data:e}){return xo((async()=>{Pe(Ae.storefront);const t=["websiteId","paymentInstruction","items","billingAddress","deliveryAddress","shippingRateId","couponIds","password","redirectUrl","poNumber"];return Object.keys(e).forEach((n=>{t.includes(n)||delete e[n]})),Ae.storefront.purchase.purchase({data:e})}))}({data:t});return n}async function Ry({payload:e}){var t,n,r,a,o,i;const{_raw:{id:s},isExistingInstrument:l}=e;delete e.isExistingInstrument,delete e._raw;const c={...e};l?c.paymentInstrumentId=s:c.token=s,(null==(t=Ae.options)?void 0:t.invoiceId)&&(c.invoiceId=Ae.options.invoiceId),(null==(n=Ae.options)?void 0:n.transactionId)&&(c.transactionId=Ae.options.transactionId),(null==(r=Ae.options)?void 0:r.money)&&(c.websiteId=Ae.options.websiteId,c.amount=Ae.options.money.amount,c.currency=Ae.options.money.currency),(null==(a=Ae.options)?void 0:a.deposit)&&(c.websiteId=Ae.options.websiteId,c.amount=Ae.data.amountAndCurrency.amount,c.currency=Ae.data.amountAndCurrency.currency),(null==(o=Ae.data)?void 0:o.couponIds)&&Array.isArray(Ae.data.couponIds)&&(c.couponIds=Ae.data.couponIds),(null==(i=Ae.data)?void 0:i.riskMetadata)&&(c.riskMetadata=Ae.data.riskMetadata);let{fields:u}=await async function({data:e}){return xo((async()=>{Pe(Ae.storefront);const{token:t,transactionId:n,invoiceId:r,websiteId:a,paymentInstrumentId:o}=e,i=["riskMetadata","redirectUrl"];return t&&i.push("token"),o&&i.push("paymentInstrumentId"),n&&i.push("transactionId"),r&&i.push("invoiceId"),a&&i.push("amount","currency","websiteId"),Object.keys(e).forEach((t=>{i.includes(t)||delete e[t]})),Ae.storefront.purchase.payment({data:e})}))}({data:c});return u={transaction:u,token:u.token||Ae.options.jwt},Ae.data.invoice&&(u.invoice=Ae.data.invoice),u}async function Ty({payload:{isExistingInstrument:e,_raw:{id:t}}}){if(!e){const{id:e}=await async function({data:e}){return xo((async()=>{Pe(Ae.storefront);const{fields:t}=await Ae.storefront.paymentInstruments.create({data:e});return t}))}({data:{token:t}});t=e}return await async function(e){return xo((async()=>{Pe(Ae.storefront);const{fields:t}=await Ae.storefront.payoutRequests.update(e);return new $s(t)}))}({id:Ae.data.payout.id,data:{paymentInstrumentId:t}})}async function Cy({payload:e}){var t,n;Object.keys(e).forEach((t=>{null===e[t]&&delete e[t]}));try{let r,a,o;Ae.options.payout?(r=await Ty({payload:e}),a=Mn.payoutCompleted,o="payout"):Ae.data.isPayment?(r=await Ry({payload:e}),a=Mn.purchaseCompleted,o="payment"):(r=await Iy({payload:e}),a=Mn.purchaseCompleted,o="purchase"),(null==(t=r.transaction)?void 0:t.approvalUrl)&&"unknown"===(null==(n=r.transaction)?void 0:n.result)?Ae.options.features.fullPageRedirect?window.location=r.transaction.approvalUrl:function({fields:e,payload:t}){var n,r,a,o,i;if(Ae.options.features.fullPageRedirect&&(t.redirectUrl||(null==(n=e.transaction)?void 0:n.approvalUrl)))window.location=t.redirectUrl||(null==(r=e.transaction)?void 0:r.approvalUrl);else if(t.redirectUrl||!(null==(a=e.transaction)?void 0:a.approvalUrl)){const{paymentMethodsUrl:t}=Ae.options._computed,n=JSON.parse(JSON.stringify(e)),r={};Ae.data.isPayment?r.payment=n:r.purchase=n,Ae.data=new Is({...e});const a="rebilly-instruments-approval-url";Ay({name:a,url:`${t}?name=${a}`,model:r,close:e=>{Mn.purchaseCompleted.dispatch(e)}})}else(null==(o=e.transaction)?void 0:o.approvalUrl)&&(window.location=null==(i=e.transaction)?void 0:i.approvalUrl)}({fields:r,payload:e}):"payout"!==o&&r.selectedPaymentInstrumentRedirectUrl?window.location=r.selectedPaymentInstrumentRedirectUrl:a.dispatch(r)}catch(r){return Un(r),r}}async function Oy({payload:e}){var t;try{const{_raw:{id:n},isExistingInstrument:r}=e;delete e.isExistingInstrument,delete e._raw;const a={...e};r?a.paymentInstrumentId=n:a.token=n;const{instrument:o,transaction:i}=await async function({data:e}){return xo((async()=>{var t,n,r;Pe(Ae.storefront),xe(Ae.options);const{fields:a}=await Ae.storefront.paymentInstruments.create({data:e});Ae.storefront.setSessionToken(a.token||Ae.options.jwt);const o={id:a.id,data:{websiteId:Ae.options.websiteId,...e}};(null==(t=Ae.data)?void 0:t.amountAndCurrency)&&(o.data={...o.data,...Ae.data.amountAndCurrency}),(null==(r=null==(n=Ae.data)?void 0:n.transaction)?void 0:r.redirectUrl)&&(o.data.redirectUrl=`${o.data.redirectUrl}&originalRedirectUrl=${Ae.data.transaction.redirectUrl}`);const{fields:i}=await Ae.storefront.paymentInstruments.setup(o);return{instrument:a,transaction:i}}))}({data:{websiteId:null==(t=Ae.options)?void 0:t.websiteId,...a}});if(Ae.data=new Is({instrument:o,transaction:i}),i.approvalUrl&&"unknown"===i.result)if(Ae.options.features.fullPageRedirect)window.location=i.approvalUrl;else{const{paymentMethodsUrl:e}=Ae.options._computed;Ay({name:"rebilly-instruments-approval-url",url:`${e}/approval-url`,model:{setup:{transaction:i}},close:({transaction:e=i})=>{Mn.setupCompleted.dispatch({instrument:o,transaction:e})}})}else Mn.setupCompleted.dispatch({instrument:o,transaction:i});return{instrument:o,transaction:i}}catch(n){return Un(n,!1),n}}async function Ny({componentName:e,payload:t}){switch(e){case"result":Hs(),async function({payload:e}){var t,n;const r=Se.form;r||await zs();const a=Ae.toModel(),o={data:a.data,options:a.options};Ae.data.payout?o.payoutRequest=e:o[Ae.options.transactionType]=e,null==(t=null==r?void 0:r.component)||t.call("route",{name:"result"}),null==(n=null==r?void 0:r.component)||n.call("update",o)}({payload:t});break;case"confirmation":Hs(),async function({payload:e}){var t,n,r,a,o,i,s,l;e.billingAddress&&Ae.summary&&Ae.data.isPurchase&&Mo({instrument:e});const c=Se.form;c||await zs();const u=Ae.toModel(),d={options:u.options,data:u.data,instrument:e};null==(t=null==c?void 0:c.component)||t.call("update",d),null==(n=null==c?void 0:c.component)||n.call("route",{name:"confirmation"}),(null==(a=null==(r=null==c?void 0:c.component)?void 0:r.events)?void 0:a[`${c.name}-confirm-purchase`])||null==(o=null==c?void 0:c.component)||o.on(`${c.name}-confirm-purchase`,(e=>{Cy({payload:e})})),(null==(s=null==(i=null==c?void 0:c.component)?void 0:i.events)?void 0:s[`${c.name}-confirm-setup`])||null==(l=null==c?void 0:c.component)||l.on(`${c.name}-confirm-setup`,(e=>{Oy({payload:e})}))}({payload:t});break;default:throw new Error(`'${e}' not a supported component`)}}function Ly({payload:e}){Ny({componentName:"result",payload:e})}const jy=({state:e={}})=>{var t,n,r,a;(null==(n=null==(t=null==e?void 0:e.options)?void 0:t.features)?void 0:n.hideConfirmation)||Py({eventName:"instrument-ready",callback:t=>{var n,r,a,o;if("paypal"===(null==(n=t._raw)?void 0:n.method)&&!(null==(r=e.data)?void 0:r.isShippingRequired))return"setup"===(null==(a=e.options)?void 0:a.transactionType)?Oy({payload:t}):Cy({payload:t}),void(null==(o=e.loader)||o.startLoading({id:"express-purchase"}));Ny({componentName:"confirmation",payload:t})}}),(null==(a=null==(r=null==e?void 0:e.options)?void 0:r.features)?void 0:a.hideResult)||(Py({eventName:"payout-completed",callback:e=>{Ly({payload:e=JSON.parse(JSON.stringify(e))})}}),Py({eventName:"purchase-completed",callback:e=>{Ly({payload:e=JSON.parse(JSON.stringify(e))})}}),Py({eventName:"setup-completed",callback:e=>{Ly({payload:e=JSON.parse(JSON.stringify(e))})}}))};async function Fy({setupFramepay:e=Zf,...t}={}){var n,r,a,o,i,s,l,c,u,d,p,m,f,h,y,g,b,v,w,k,$;try{Ae.data={},Ae.options={},Ae.options=Yf({options:t}),Ae.form=Ws({element:"form"}),Ae.summary=Ws({element:"summary"}),Ae.shadowRoot=($=Ae.form).getRootNode()instanceof ShadowRoot?$.getRootNode():null,Ae.form&&(Ae.form.style.maxWidth="750px"),Ae.summary&&(Ae.summary.style.maxWidth="750px"),Ae.storefront=Ks(),Ae.mainStyleVars=wy(),Ae.options&&(Ae.options.themeFramepay=Sy()),Ae.loader.addDOMElement({el:Ae.form}),Ae.loader.addDOMElement({section:"summary",el:Ae.summary}),Ae.loader.startLoading({section:"summary",id:"rebilly-instruments-summary"}),Ae.loader.startLoading({id:"rebilly-instruments-form"});const[E]=await Promise.all([Rs(),e()]);Ae.data=E,Mn.dataReady.dispatch(Ae.data),Ae.i18n=$y(),Ae.options&&!Ae.options.websiteId&&(null==(n=Ae.data.transaction)?void 0:n.websiteId)?Ae.options.websiteId=Ae.data.transaction.websiteId:Ae.options&&!Ae.options.websiteId&&(null==(r=Ae.data.invoice)?void 0:r.websiteId)&&(Ae.options.websiteId=Ae.data.invoice.websiteId),Ae.options&&Ae.data.transaction&&"setup"===(null==(a=Ae.data.transaction)?void 0:a.type)&&(Ae.options.transactionType="setup"),Ae.form&&zs().then((()=>function(){var e;(null==(e=Ae.options)?void 0:e.deposit)?js():qs()}())),Ae.summary&&Fo(),Ae.i18n(),Ae.hasMounted=!0;const _=e=>{Ae.loader.stopLoading({id:"rebilly-instruments-form"}),Ae.form.querySelector('[data-rebilly-instruments="form"]').remove(),Un(Ae.translate.getTranslation(e),!1)},S=(null==(o=Ae.options)?void 0:o.invoiceId)||(null==(s=null==(i=Ae.data)?void 0:i.transaction)?void 0:s.invoiceId);S&&(null==(l=Ae.data.invoice)?void 0:l.isPaid)?_("form.error.invoiceIsPaid"):S&&(null==(c=Ae.data.invoice)?void 0:c.isAbandoned)?_("form.error.invoiceIsAbandoned"):S&&(null==(u=Ae.data.invoice)?void 0:u.isVoid)?_("form.error.invoiceIsVoid"):S&&(null==(d=Ae.data.invoice)?void 0:d.isRefunded)&&_("form.error.invoiceIsRefunded");((null==(p=Ae.options)?void 0:p.transactionId)||(null==(f=null==(m=Ae.data)?void 0:m.transaction)?void 0:f.id))&&(null==(y=null==(h=Ae.data)?void 0:h.transaction)?void 0:y.transactionIsCompleted)&&_("form.error.transactionIsCompleted"),(null==(b=null==(g=Ae.options)?void 0:g.payout)?void 0:b.payoutRequestId)&&!(null==(v=Ae.data.payout)?void 0:v.isPending)&&_("form.error.payoutNotPending");let P=!1;P=E.payout?!(null==(w=E.readyToPayout)?void 0:w.length):!(null==(k=E.readyToPay)?void 0:k.length),P&&(Ae.loader.stopLoading({id:"rebilly-instruments-form"}),Un(Ae.translate.getTranslation("form.error.noPaymentMethods"),!1))}catch(E){throw Un(E,!1),E}jy({state:Ae})}async function My(){var e;await(e=1e3,new Promise((t=>{setTimeout(t,e)}))),Object.keys(Se).forEach((e=>{Se.hasFrame(e)&&(Se[e].destroy(),Se[e]=null)})),jn.removeAll(document),Ae.hasMounted=!1,Ae.summary&&(Ae.summary.textContent=""),Ae.form.textContent="",mo.cancelAll(),Ae.loader.clearAll()}const Hy=new class{constructor(){this.state=Ae,this.iframes=Se}async mount(e){await Fy(e)}async destroy(){await My()}async update(e){await async function({newOptions:e={}}={}){if(!Ae.hasMounted)throw Error("Update method cannot be called before mounting instruments");const t=ke({...Ae.options},e);await My(),Fy({form:Ae.form,summary:Ae.summary,...t})}({newOptions:e})}async purchase(e){await Cy({payload:e})}async setup(e){await Oy({payload:e})}async show(e,t){await Ny({componentName:e,payload:t})}get version(){return"RebillyInstruments Ver.9.30.0"}on(e,t){Py({eventName:e,callback:t})}};return Hy}();
50
+ */class uy{constructor(e="#000",t="base",n=0){[this.rgb,this.alpha,this.type,this.weight]=[[0,0,0],1,t,n];const r=null===e?"#000":e;if("string"!=typeof r)throw new TypeError(`Input should be a string: ${r}`);const a=ly(r);if(!a)throw new Error(`Unable to parse color from string: ${r}`);return this[`_setFrom${a.type.toUpperCase()}`]([...a.values,a.alpha])}get hex(){return this.hexString().replace(/^#/,"")}setColor(e){const t=ly(e);return t?this[`_setFrom${t.type.toUpperCase()}`]([...t.values,t.alpha]):null}tint(e,t=cy(e,50)){return new uy(`rgb(${Mh("#fff",this.rgbString(),t).rgba})`,"tint",t)}shade(e,t=cy(e,50)){return new uy(`rgb(${Mh("#000",this.rgbString(),t).rgba})`,"shade",t)}tints(e,t=cy(e,10)){return Array.from({length:100/t},((e,n)=>this.tint((n+1)*t)))}shades(e,t=cy(e,10)){return Array.from({length:100/t},((e,n)=>this.shade((n+1)*t)))}all(e=10){return[...this.tints(e).reverse(),Object.assign(this),...this.shades(e)]}hexString(){return Nh(this.alpha>=1?this.rgb:[...this.rgb,this.alpha])}rgbString(){const e=(this.alpha>=1?this.rgb:[...this.rgb,this.alpha]).join(", ");return`${this.alpha>=1?"rgb":"rgba"}(${e})`}getBrightness(){return Math.round(this.rgb.reduce(((e,t)=>e+t))/765*100)}_setFromRGB([e,t,n,r]){return[this.rgb,this.alpha]=[[e,t,n],r],this}_setFromHSL([e,t,n,r]){return[this.rgb,this.alpha]=[Th([e,t,n]).map(Math.round),r],this}}uy.VERSION="v2.1.1";const dy=e=>new uy(e);function py(e,t=1){if(null===e)return e;const n=dy(e);return n.alpha=t,n.rgbString()}const my=e=>py(e,.5),fy=(e,t)=>{if(null===e)return e;return dy(e).shade(t).hexString()};class hy{constructor(e){this.allStyles=["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset","initial","inherit"],this.str=e||"";const t=this.allStyles.find((e=>this.str.includes(e)));if(null==t)throw new Error("Invalid border style.");const n=this.str.split(t).map((e=>e.trim()));this.border=[n[0],t,n[1]]}get stylePosition(){let e=0;return 3===this.border.length?e=1:2===this.border.length&&(e=this.allStyles.includes(this.border[0])?0:1),e}updateColor(e){return this.border[this.stylePosition+1]=e,this}get value(){return this.border.join(" ")}}const yy=new Proxy({colorPrimary:{fallback:{type:"static",value:"#0044D4"}},colorBackground:{fallback:{type:"static",value:"#FFFFFF"}},colorText:{fallback:{type:"static",value:"#0D2B3E"}},colorMutedText:{fallback:{type:"func",value:e=>my(e.colorText)}},colorMutedBorder:{fallback:{type:"func",value:e=>e.colorTextProvided?py(e.colorText,.25):"#DCE3EA"}},colorDanger:{fallback:{type:"static",value:"#CD5C5C"}},fontFamily:{fallback:{type:"static",value:"-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial sans-serif"}},fontSizeBase:{fallback:{type:"static",value:"16px"}},fontWeightBase:{fallback:{type:"static",value:"500"}},fontLineHeightBase:{fallback:{type:"func",value:e=>`calc(${e.fontSizeBase} * 1.5)`}},fontSmooth:{fallback:{type:"static",value:"auto"}},borderRadius:{fallback:{type:"static",value:"6px"}},headingFontFamily:{fallback:{type:"variable",value:"fontFamily"}},headingFontWeight:{fallback:{type:"static",value:"600"}},headingColorText:{fallback:{type:"variable",value:"colorText"}},buttonColorBackground:{fallback:{type:"variable",value:"colorPrimary"}},buttonColorText:{fallback:{type:"static",value:"#FFFFFF"}},buttonFontFamily:{fallback:{type:"variable",value:"fontFamily"}},buttonFontSize:{fallback:{type:"variable",value:"fontSizeBase"}},buttonFontLineHeight:{fallback:{type:"variable",value:"fontLineHeightBase"}},buttonFontWeight:{fallback:{type:"variable",value:"fontWeightBase"}},buttonBorder:{fallback:{type:"static",value:"1px solid transparent"}},buttonBorderColor:{fallback:{type:"variable",value:"colorPrimary"}},buttonBorderWidth:{fallback:{type:"static",value:"1px"}},buttonBorderType:{fallback:{type:"static",value:"solid"}},buttonBorderRadius:{fallback:{type:"variable",value:"borderRadius"}},buttonBoxShadow:{fallback:{type:"static",value:"none"}},buttonSecondaryColorBackground:{fallback:{type:"variable",value:"colorBackground"}},buttonSecondaryColorText:{fallback:{type:"variable",value:"colorText"}},buttonSecondaryFontFamily:{fallback:{type:"variable",value:"fontFamily"}},buttonSecondaryFontSize:{fallback:{type:"variable",value:"fontSizeBase"}},buttonSecondaryFontLineHeight:{fallback:{type:"variable",value:"fontLineHeightBase"}},buttonSecondaryFontWeight:{fallback:{type:"variable",value:"fontWeightBase"}},buttonSecondaryBorder:{fallback:{type:"func",value:e=>`1px solid ${e.colorMutedBorder}`}},buttonSecondaryBorderColor:{fallback:{type:"variable",value:"colorMutedBorder"}},buttonSecondaryBorderWidth:{fallback:{type:"static",value:"1px"}},buttonSecondaryBorderType:{fallback:{type:"static",value:"solid"}},buttonSecondaryBorderRadius:{fallback:{type:"variable",value:"borderRadius"}},buttonSecondaryBoxShadow:{fallback:{type:"static",value:"none"}},buttonHoverColorBackground:{fallback:{type:"func",value:e=>e.buttonColorBackgroundProvided?fy(e.buttonColorBackground,20):fy(e.colorPrimary,20)}},buttonHoverColorText:{fallback:{type:"variable",value:"buttonColorText"}},buttonHoverFontFamily:{fallback:{type:"variable",value:"buttonFontFamily"}},buttonHoverFontSize:{fallback:{type:"variable",value:"buttonFontSize"}},buttonHoverFontLineHeight:{fallback:{type:"variable",value:"buttonFontLineHeight"}},buttonHoverFontWeight:{fallback:{type:"variable",value:"buttonFontWeight"}},buttonHoverBorder:{fallback:{type:"func",value:e=>{if(e.buttonBorderProvided)return e.buttonBorder;return new hy(e.buttonBorder).updateColor(e.buttonHoverColorBackground).value}}},buttonHoverBorderColor:{fallback:{type:"variable",value:"colorPrimary"}},buttonHoverBorderWidth:{fallback:{type:"variable",value:"buttonBorderWidth"}},buttonHoverBorderType:{fallback:{type:"variable",value:"buttonBorderType"}},buttonHoverBorderRadius:{fallback:{type:"variable",value:"buttonBorderRadius"}},buttonHoverBoxShadow:{fallback:{type:"variable",value:"buttonBoxShadow"}},buttonSecondaryHoverColorBackground:{fallback:{type:"func",value:e=>(e.colorBackgroundProvided,fy(e.colorBackground,3))}},buttonSecondaryHoverColorText:{fallback:{type:"variable",value:"colorText"}},buttonSecondaryHoverFontFamily:{fallback:{type:"variable",value:"buttonSecondaryFontFamily"}},buttonSecondaryHoverFontSize:{fallback:{type:"variable",value:"buttonSecondaryFontSize"}},buttonSecondaryHoverFontLineHeight:{fallback:{type:"variable",value:"buttonSecondaryFontLineHeight"}},buttonSecondaryHoverFontWeight:{fallback:{type:"variable",value:"buttonSecondaryFontWeight"}},buttonSecondaryHoverBorder:{fallback:{type:"variable",value:"buttonSecondaryBorder"}},buttonSecondaryHoverBorderColor:{fallback:{type:"variable",value:"buttonSecondaryBorderColor"}},buttonSecondaryHoverBorderWidth:{fallback:{type:"variable",value:"buttonSecondaryBorderWidth"}},buttonSecondaryHoverBorderType:{fallback:{type:"variable",value:"buttonSecondaryBorderType"}},buttonSecondaryHoverBorderRadius:{fallback:{type:"variable",value:"buttonSecondaryBorderRadius"}},buttonSecondaryHoverBoxShadow:{fallback:{type:"variable",value:"buttonSecondaryBoxShadow"}},buttonActiveColorBackground:{fallback:{type:"variable",value:"buttonHoverColorBackground"}},buttonActiveColorText:{fallback:{type:"variable",value:"buttonHoverColorText"}},buttonActiveFontFamily:{fallback:{type:"variable",value:"buttonHoverFontFamily"}},buttonActiveFontSize:{fallback:{type:"variable",value:"buttonHoverFontSize"}},buttonActiveFontLineHeight:{fallback:{type:"variable",value:"buttonHoverFontLineHeight"}},buttonActiveFontWeight:{fallback:{type:"variable",value:"buttonHoverFontWeight"}},buttonActiveBorder:{fallback:{type:"variable",value:"buttonHoverBorder"}},buttonActiveBorderColor:{fallback:{type:"variable",value:"buttonHoverBorderColor"}},buttonActiveBorderWidth:{fallback:{type:"variable",value:"buttonHoverBorderWidth"}},buttonActiveBorderType:{fallback:{type:"variable",value:"buttonHoverBorderType"}},buttonActiveBorderRadius:{fallback:{type:"variable",value:"buttonHoverBorderRadius"}},buttonActiveBoxShadow:{fallback:{type:"variable",value:"buttonHoverBoxShadow"}},buttonSecondaryActiveColorBackground:{fallback:{type:"variable",value:"buttonSecondaryHoverColorBackground"}},buttonSecondaryActiveColorText:{fallback:{type:"variable",value:"buttonSecondaryHoverColorText"}},buttonSecondaryActiveFontFamily:{fallback:{type:"variable",value:"buttonSecondaryHoverFontFamily"}},buttonSecondaryActiveFontSize:{fallback:{type:"variable",value:"buttonSecondaryHoverFontSize"}},buttonSecondaryActiveFontLineHeight:{fallback:{type:"variable",value:"buttonSecondaryHoverFontLineHeight"}},buttonSecondaryActiveFontWeight:{fallback:{type:"variable",value:"buttonSecondaryHoverFontWeight"}},buttonSecondaryActiveBorder:{fallback:{type:"variable",value:"buttonSecondaryHoverBorder"}},buttonSecondaryActiveBorderColor:{fallback:{type:"variable",value:"buttonSecondaryHoverBorderColor"}},buttonSecondaryActiveBorderWidth:{fallback:{type:"variable",value:"buttonSecondaryHoverBorderWidth"}},buttonSecondaryActiveBorderType:{fallback:{type:"variable",value:"buttonSecondaryHoverBorderType"}},buttonSecondaryActiveBorderRadius:{fallback:{type:"variable",value:"buttonSecondaryHoverBorderRadius"}},buttonSecondaryActiveBoxShadow:{fallback:{type:"variable",value:"buttonSecondaryHoverBoxShadow"}},inputColorBackground:{fallback:{type:"static",value:"transparent"}},inputColorText:{fallback:{type:"variable",value:"colorText"}},inputFontFamily:{fallback:{type:"variable",value:"fontFamily"}},inputFontSize:{fallback:{type:"variable",value:"fontSizeBase"}},inputFontLineHeight:{fallback:{type:"variable",value:"fontLineHeightBase"}},inputFontWeight:{fallback:{type:"variable",value:"fontWeightBase"}},inputBorder:{fallback:{type:"func",value:e=>`1px solid ${fy(e.colorMutedBorder,4)}`}},inputBorderRadius:{fallback:{type:"variable",value:"borderRadius"}},inputBoxShadow:{fallback:{type:"static",value:"none"}},inputHoverColorBackground:{fallback:{type:"variable",value:"inputColorBackground"}},inputHoverColorText:{fallback:{type:"variable",value:"inputColorText"}},inputHoverFontFamily:{fallback:{type:"variable",value:"inputFontFamily"}},inputHoverFontSize:{fallback:{type:"variable",value:"inputFontSize"}},inputHoverFontLineHeight:{fallback:{type:"variable",value:"inputFontLineHeight"}},inputHoverFontWeight:{fallback:{type:"variable",value:"inputFontWeight"}},inputHoverBorder:{fallback:{type:"variable",value:"inputBorder"}},inputHoverBorderRadius:{fallback:{type:"variable",value:"inputBorderRadius"}},inputHoverBoxShadow:{fallback:{type:"variable",value:"inputBoxShadow"}},inputFocusColorBackground:{fallback:{type:"variable",value:"inputHoverColorBackground"}},inputFocusColorText:{fallback:{type:"variable",value:"inputHoverColorText"}},inputFocusFontFamily:{fallback:{type:"variable",value:"inputHoverFontFamily"}},inputFocusFontSize:{fallback:{type:"variable",value:"inputHoverFontSize"}},inputFocusFontLineHeight:{fallback:{type:"variable",value:"inputHoverFontLineHeight"}},inputFocusFontWeight:{fallback:{type:"variable",value:"inputHoverFontWeight"}},inputFocusBorder:{fallback:{type:"func",value:e=>{if(e.inputHoverBorderProvided)return e.inputHoverBorder;return new hy(e.inputBorder).updateColor(e.colorPrimary).value}}},inputFocusBorderRadius:{fallback:{type:"variable",value:"inputHoverBorderRadius"}},inputFocusBoxShadow:{fallback:{type:"func",value:e=>`0 0 0 1px ${e.colorPrimary}`}},inputPlaceholderColorText:{fallback:{type:"func",value:e=>e.inputColorTextProvided?my(e.inputColorText):e.colorMutedText}},inputPlaceholderFontFamily:{fallback:{type:"variable",value:"inputFontFamily"}},inputPlaceholderFontSize:{fallback:{type:"variable",value:"inputFontSize"}},inputPlaceholderFontLineHeight:{fallback:{type:"variable",value:"inputFontLineHeight"}},inputPlaceholderFontWeight:{fallback:{type:"variable",value:"inputFontWeight"}},inputSelectionColorText:{fallback:{type:"static",value:"initial"}},inputSelectionColorBackground:{fallback:{type:"static",value:"highlight"}},inputErrorColorBackground:{fallback:{type:"variable",value:"inputColorBackground"}},inputErrorColorText:{fallback:{type:"variable",value:"colorDanger"}},inputErrorFontFamily:{fallback:{type:"variable",value:"inputFontFamily"}},inputErrorFontSize:{fallback:{type:"variable",value:"inputFontSize"}},inputErrorFontLineHeight:{fallback:{type:"variable",value:"inputFontLineHeight"}},inputErrorFontWeight:{fallback:{type:"variable",value:"inputFontWeight"}},inputErrorBorder:{fallback:{type:"func",value:e=>{if(e.inputBorderProvided){return new hy(e.inputBorder).updateColor(e.colorDanger).value}return`1px solid ${e.colorDanger}`}}},inputErrorBorderRadius:{fallback:{type:"variable",value:"inputBorderRadius"}},inputErrorBoxShadow:{fallback:{type:"variable",value:"inputBoxShadow"}},inputErrorHoverColorBackground:{fallback:{type:"variable",value:"inputErrorColorBackground"}},inputErrorHoverColorText:{fallback:{type:"variable",value:"inputErrorColorText"}},inputErrorHoverFontFamily:{fallback:{type:"variable",value:"inputErrorFontFamily"}},inputErrorHoverFontSize:{fallback:{type:"variable",value:"inputErrorFontSize"}},inputErrorHoverFontLineHeight:{fallback:{type:"variable",value:"inputErrorFontLineHeight"}},inputErrorHoverFontWeight:{fallback:{type:"variable",value:"inputErrorFontWeight"}},inputErrorHoverBorder:{fallback:{type:"variable",value:"inputErrorBorder"}},inputErrorHoverBorderRadius:{fallback:{type:"variable",value:"inputErrorBorderRadius"}},inputErrorHoverBoxShadow:{fallback:{type:"variable",value:"inputErrorBoxShadow"}},inputErrorFocusColorBackground:{fallback:{type:"variable",value:"inputErrorHoverColorBackground"}},inputErrorFocusColorText:{fallback:{type:"variable",value:"inputErrorHoverColorText"}},inputErrorFocusFontFamily:{fallback:{type:"variable",value:"inputErrorHoverFontFamily"}},inputErrorFocusFontSize:{fallback:{type:"variable",value:"inputErrorHoverFontSize"}},inputErrorFocusFontLineHeight:{fallback:{type:"variable",value:"inputErrorHoverFontLineHeight"}},inputErrorFocusFontWeight:{fallback:{type:"variable",value:"inputErrorHoverFontWeight"}},inputErrorFocusBorder:{fallback:{type:"variable",value:"inputErrorHoverBorder"}},inputErrorFocusBorderRadius:{fallback:{type:"variable",value:"inputErrorHoverBorderRadius"}},inputErrorFocusBoxShadow:{fallback:{type:"variable",value:"inputErrorHoverBoxShadow"}},inputErrorPlaceholderColorText:{fallback:{type:"func",value:e=>e.inputErrorColorTextProvided?my(e.inputErrorColorText):my(e.colorDanger)}},inputErrorPlaceholderFontFamily:{fallback:{type:"variable",value:"inputPlaceholderFontFamily"}},inputErrorPlaceholderFontSize:{fallback:{type:"variable",value:"inputPlaceholderFontSize"}},inputErrorPlaceholderFontLineHeight:{fallback:{type:"variable",value:"inputPlaceholderFontLineHeight"}},inputErrorPlaceholderFontWeight:{fallback:{type:"variable",value:"inputPlaceholderFontWeight"}},inputErrorSelectionColorText:{fallback:{type:"variable",value:"inputSelectionColorText"}},inputErrorSelectionColorBackground:{fallback:{type:"variable",value:"inputSelectionColorBackground"}},labels:{fallback:{type:"static",value:"floating"}}},{get(e,t,n){if(t in e){if(e[t].value)return e[t].value;const{type:r,value:a}=e[t].fallback;if("static"===r)return a;if("variable"===r)return`var(--rebilly-${a})`;if("func"===r&&"function"==typeof a)return a(n)}if(t.endsWith("Provided")){const n=t.replace("Provided","");if(n in e)return e[n].isProvided}},set:(e,t,n)=>{if(!(t in e)||!n)throw new Error(`Invalid theme option provided: ${t}`);return e[t].value=n,e[t].isProvided=!0,!0}}),gy=class e{constructor(e={}){this.overrides=e,this.theme=yy}overrideTheme(){Object.keys(this.overrides).forEach((e=>{this.theme[e]=this.overrides[e]}))}get cssVars(){return Object.keys(this.theme).filter((t=>!e.nonCssProperties.includes(t))).map(((e,t)=>`${t?" ":""}--rebilly-${e}: ${this.theme[e]};`)).join("\n")}build(){return this.overrideTheme(),{cssVars:this.cssVars}}};gy.nonCssProperties=["labels"];let by=gy;function vy(e){let t=e;return t=t.replace(/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/g,""),t=t.replace(/\s{2,}/g," "),t=t.replace(/\s([{:}])\s/g,"$1"),t=t.replace(/([;,])\s/g,"$1"),t=t.replace(/\s!/g,"!"),t}const wy=()=>{xe(Ae.options);const{theme:e={},css:t}=Ae.options,n=(e=>{const t=new by(e).build();var n;return`\n ${n=t,`\n/* Instruments 'global' variables\n------------------------------------------------------------ */\n:root, :host {\n ${n.cssVars}\n\n --rebilly-fontWeight400: 400;\n --rebilly-fontWeight500: 500;\n --rebilly-fontWeight600: 600;\n --rebilly-fontScaleFactor: 1.5;\n --rebilly-fontScaleFactorS: 0.875;\n --rebilly-fontSizeS: calc(var(--rebilly-fontSizeBase) * var(--rebilly-fontScaleFactorS));\n --rebilly-fontLineHeightS: calc(var(--rebilly-fontSizeS) * 1);\n\n --rebilly-fontSizeL: calc(var(--rebilly-fontSizeBase) * var(--rebilly-fontScaleFactor));\n --rebilly-fontLineHeightL: calc(var(--rebilly-fontLineHeightBase) * 2);\n --rebilly-fontMarginTopL: 0;\n --rebilly-fontMarginBottomL: var(--rebilly-fontLineHeightBase);\n\n --rebilly-spacing2xs: calc(var(--rebilly-fontLineHeightBase) / 6);\n --rebilly-spacingXs: calc(var(--rebilly-fontLineHeightBase) / 4);\n --rebilly-spacingS: calc(var(--rebilly-fontLineHeightBase) / 2);\n --rebilly-spacingM: var(--rebilly-fontLineHeightBase);\n --rebilly-spacingL: calc(var(--rebilly-fontLineHeightBase) * 2);\n --rebilly-spacingXl: calc(var(--rebilly-fontLineHeightBase) * 4);\n\n --rebilly-spacingFormElementMinHeight: calc(var(--rebilly-spacingM) * 1.83333);\n\n --rebilly-summaryLoaderMinHeight: var(--rebilly-fontLineHeightBase);\n --rebilly-methodLoaderMinHeight: calc((4 * var(--rebilly-spacingFormElementMinHeight)) + (2 * var(--rebilly-fontLineHeightBase)) + (2 * var(--rebilly-spacingM)) + var(--rebilly-spacing2xs) + var(--rebilly-fontSizeS) + calc(2 * (var(--rebilly-spacingXs) + var(--rebilly-spacingS))) + var(--rebilly-spacingL));\n}\n\n/* Base, Typography\n------------------------------------------------------------ */\n/* Base setup for top level elements */\n.rebilly-instruments-content {\n color: var(--rebilly-colorText);\n background: var(--rebilly-colorBackground);\n font-size: var(--rebilly-fontSizeBase);\n font-weight: var(--rebilly-fontWeightBase);\n line-height: var(--rebilly-fontLineHeightBase);\n font-family: var(--rebilly-fontFamily);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-align: left;\n transition: all 200ms;\n font-smooth: var(--rebilly-fontSmooth);\n padding: 2px;\n font-display: swap;\n}\n\n/* Views. Method Selector\n------------------------------------------------------------ */\n.rebilly-instruments-method-selector.has-express-compact {\n padding-top: var(--rebilly-spacingS);\n}\n\n.rebilly-instruments-amount-selector {\n padding: 2px;\n}\n\n/* Express Methods\n------------------------------------------------------------ */\n@-webkit-keyframes rebillyExpressShine {\n to {\n background-position-x: -200%;\n }\n}\n\n@keyframes rebillyExpressShine {\n to {\n background-position-x: -200%;\n }\n}\n\n.rebilly-instruments-express-methods { padding: 2px; }\n\n.rebilly-instruments-express-methods.is-compact {\n border: 1px solid var(--rebilly-colorMutedBorder);\n padding: var(--rebilly-spacingS);\n padding-top: calc(var(--rebilly-spacingXs) + var(--rebilly-spacingS));\n padding-top: calc(var(--rebilly-fontSizeBase) + var(--rebilly-spacing2xs));\n border-radius: var(--rebilly-borderRadius);\n position: relative;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-iframe {\n display: block;\n margin-bottom: 0;\n height: var(--rebilly-spacingFormElementMinHeight);\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-express-methods-container > * {\n border-radius: 6px;\n margin-bottom: var(--rebilly-spacingS);\n background: linear-gradient(110deg, var(--rebilly-colorMutedBorder) 0%, var(--rebilly-colorBackground) 25%, var(--rebilly-colorMutedBorder) 50%);\n background-size: 200% 100%;\n -webkit-animation: 1.5s rebillyExpressShine linear infinite;\n animation: 1.5s rebillyExpressShine linear infinite;\n min-height: 48px;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-express-methods-container > *:last-child {\n margin: 0;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > * {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 0px;\n flex: 1 1 0px;\n max-width: 260px;\n margin: 0 var(--rebilly-spacingXs);\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > *:first-child {\n margin-left: 0;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > *:last-child {\n margin-right: 0;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-express-methods-label {\n display: none;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-label {\n position: absolute;\n font-family: var(--rebilly-fontFamily);\n top: 0; left: 50%;\n -webkit-transform: translateX(-50%) translateY(-50%);\n transform: translateX(-50%) translateY(-50%);\n color: var(--rebilly-colorText);\n padding: var(--rebilly-spacing2xs) var(--rebilly-spacingM);\n line-height: 1;\n background: var(--rebilly-colorBackground);\n display: inline-block;\n font-weight: var(--rebilly-fontWeightBase);\n min-height: auto;\n margin: 0;\n white-space: nowrap;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-google-pay-method {\n border-radius: 100px;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-google-pay-method iframe {\n width: 100%;\n height: 100%;\n border: none;\n}\n\n@media (max-width: 600px) {\n .rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n }\n\n .rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > * {\n max-width: 100%;\n margin: 0 0 var(--rebilly-spacingS);\n }\n \n .rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > *:last-child {\n margin: 0;\n }\n}\n\n/* Components. Divider\n------------------------------------------------------------ */\n.rebilly-instruments-divider {\n line-height: var(--rebilly-fontLineHeightBase);\n padding: var(--rebilly-spacingM) 0;\n margin: 0;\n position: relative;\n outline: 0;\n border: 0;\n text-align: center;\n font-family: var(--rebilly-fontFamily);\n}\n\n.rebilly-instruments-divider-s { padding: var(--rebilly-spacingS) 0; }\n.rebilly-instruments-divider-xs { padding: var(--rebilly-spacingXs) 0; }\n\n.rebilly-instruments-divider::before {\n background: var(--rebilly-colorMutedBorder);\n content: '';\n position: absolute;\n left: 0;\n top: 50%;\n width: 100%;\n height: 1px;\n}\n\n.rebilly-instruments-divider .rebilly-instruments-divider-label {\n color: var(--rebilly-colorMutedText);\n font-weight: var(--rebilly-fontWeightBase);\n padding: 0 var(--rebilly-spacingM);\n line-height: var(--rebilly-fontLineHeightS);\n background-color: var(--rebilly-colorBackground);\n font-size: var(--rebilly-fontSizeS);\n position: relative;\n display: inline-block;\n}\n\n/* Components. Icons\n------------------------------------------------------------ */\n.rebilly-instruments-icon {\n width: var(--rebilly-fontLineHeightBase);\n height: var(--rebilly-fontLineHeightBase);\n fill: var(--rebilly-colorText);\n}\n\n/* Components. Forms. Checkboxes\n------------------------------------------------------------ */\n.rebilly-instruments-form-field-checkbox {\n position: relative;\n opacity: 1;\n align-items: center;\n display: flex;\n flex-direction: row-reverse;\n justify-content: flex-start;\n cursor: pointer;\n transform: none;\n}\n\n.rebilly-instruments-form-field-checkbox > * {\n cursor: pointer;\n}\n\n.rebilly-instruments-form-field-checkbox input[type="checkbox"] {\n position: absolute;\n opacity: 0;\n cursor: pointer;\n height: 0;\n width: 0;\n}\n\n.rebilly-instruments-form-field-checkbox span {\n position: relative;\n top: 0;\n left: 0;\n width: calc(var(--rebilly-spacingM) - var(--rebilly-spacing2xs));\n height: calc(var(--rebilly-spacingM) - var(--rebilly-spacing2xs));\n min-width: calc(var(--rebilly-spacingM) - var(--rebilly-spacing2xs));\n border-radius: 4px;\n box-shadow: inset 0 0 0 2px var(--rebilly-colorMutedBorder);\n margin-right: var(--rebilly-spacingS);\n background-color: transparent;\n transition: all 200ms;\n}\n\n.rebilly-instruments-form-field-checkbox span:after {\n content: '';\n position: absolute;\n border: solid var(--rebilly-colorPrimary);\n width: calc(var(--rebilly-spacingXs) + var(--rebilly-spacing2xs));\n height: calc(var(--rebilly-spacingXs) - var(--rebilly-spacing2xs) + 2px);\n border-width: 2px 2px 0 0;\n border-radius: 2px;\n top: 50%;\n left: 50%;\n opacity: 0;\n transform: translateY(-60%) translateX(-50%) rotate(135deg);\n transition: all 0.2s ease;\n}\n\n.rebilly-instruments-form-field-checkbox input[type="checkbox"]:focus ~ span {\n box-shadow: inset 0 0 0 2px var(--rebilly-colorPrimary);\n}\n\n.rebilly-instruments-form-field-checkbox input[type="checkbox"]:checked ~ span {\n box-shadow: inset 0 0 0 2px var(--rebilly-colorPrimary);\n}\n\n.rebilly-instruments-form-field-checkbox input[type="checkbox"]:checked ~ span:after {\n opacity: 1;\n}\n\n.rebilly-instruments-form-field-checkbox input[type="checkbox"]:disabled ~ span {\n opacity: 0.6;\n}\n\n/* Vendor, Postmate\n------------------------------------------------------------ */\n.rebilly-instruments-iframe {\n border: none;\n width: 100%;\n height: 0;\n padding: 0;\n}\n\n.rebilly-instruments-iframe-overlay {\n top: -2px;\n left: -2px;\n width: calc(100vw + 2px);\n height: 100vh;\n min-height: calc(100vh + 4px);\n position: fixed;\n z-index: 99999999999999;\n}\n\n/* Views. Modal\n------------------------------------------------------------ */\n.rebilly-instruments-modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n overflow-x: hidden;\n overflow-y: auto;\n z-index: 1055;\n padding: 30px;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n -webkit-transition: all 0.12s ease-in-out;\n transition: all 0.12s ease-in-out;\n background-color: rgba(0,0,0,0.7);\n opacity: 0\n}\n\n.rebilly-instruments-modal-overlay.is-visible {\n opacity: 1;\n}\n\n.rebilly-instruments-modal-container {\n -webkit-transition: all .24s ease-in-out;\n transition: all .24s ease-in-out;\n position: relative;\n max-width: 750px;\n background: var(--rebilly-colorBackground);\n margin: 50px auto 20px;\n -webkit-box-shadow: 0 19px 38px rgba(0,0,0,0.20), 0 15px 12px rgba(0,0,0,0.12);\n box-shadow: 0 19px 38px rgba(0,0,0,0.20), 0 15px 12px rgba(0,0,0,0.12);\n border-radius: 4px;\n -webkit-transform: translateY(-50px);\n transform: translateY(-50px);\n opacity: 0;\n}\n\n.rebilly-instruments-modal-container.is-visible {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n}\n\n.rebilly-instruments-modal-container.is-redirect {\n max-width: 60vw;\n width: auto;\n}\n\n.rebilly-instruments-modal-content {\n -webkit-transition: all .15s;\n transition: all .15s;\n padding: 20px;\n overflow: hidden;\n background-color: var(--rebilly-colorBackground);\n text-align: center;\n border-radius: 4px;\n}\n\n.rebilly-instruments-modal-content .rebilly-instruments-iframe {\n -webkit-transition: all .15s;\n transition: all .15s;\n height: auto;\n min-height: 360px;\n}\n\n.rebilly-instruments-modal-container.is-redirect .rebilly-instruments-modal-content {\n padding: 0;\n}\n\n.rebilly-instruments-modal-close {\n position: absolute;\n width: 30px;\n height: 30px;\n top: -40px;\n right: 0;\n fill: #FFF;\n cursor: pointer;\n}\n\n.rebilly-instruments-modal-close:hover{\n color: #000;\n}\n\n@media screen and (max-width: 480px) {\n .rebilly-instruments-modal-container.is-redirect {\n max-width: 96vw;\n margin: 20px auto 20px;\n }\n}\n\n/* Components. Loader\n------------------------------------------------------------ */\n.rebilly-instruments-loader {\n text-align: left;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: none;\n background-color: var(--rebilly-colorBackground);\n z-index: 1000;\n -webkit-transition: all 200ms;\n transition: all 200ms;\n border-radius: var(--rebilly-borderRadius);\n}\n\n.rebilly-instruments-loader.is-active {\n display: block;\n}\n\n/* Type */\n.rebilly-instruments-loader p {\n color: var(--rebilly-colorText);\n display: inline-block;\n margin: 0;\n font-weight: var(--rebilly-fontWeightBase);\n font-size: var(--rebilly-fontSizeBase);\n line-height: var(--rebilly-fontLineHeightBase);\n}\n\n.rebilly-instruments-loader small {\n color: var(--rebilly-colorText);\n display: inline-block;\n margin: 0;\n font-size: var(--rebilly-fontSizeS);\n line-height: 1;\n}\n\n/* Summary */\n.rebilly-instruments-summary-loader-total p.total {\n font-family: var(--rebilly-fontFamily);\n font-size: var(--rebilly-fontSizeL);\n font-weight: var(--rebilly-headingFontWeight);\n}\n\n/* Methods */\n.rebilly-instruments-methods-loader-card-icon {\n width: calc(var(--rebilly-fontLineHeightBase) + 10px);\n height: var(--rebilly-fontLineHeightBase);\n margin-left: var(--rebilly-spacing2xs);\n margin-bottom: var(--rebilly-spacing2xs);\n}\n\n.rebilly-instruments-methods-loader-form-fields { margin: calc(var(--rebilly-spacingXs) + var(--rebilly-spacingS)) 0; }\n\n/* Spinner */\n.rebilly-instruments-loader-spinner {\n top: 50%;\n left: 50%;\n position: absolute;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n border: 2px solid transparent;\n border-top: 2px solid var(--rebilly-colorPrimary);\n border-radius: 50%;\n width: var(--rebilly-fontLineHeightBase);\n height: var(--rebilly-fontLineHeightBase);\n margin-top: calc(-1 * var(--rebilly-fontLineHeightBase) / 2);\n margin-left: calc(-1 * var(--rebilly-fontLineHeightBase) / 2);\n -webkit-animation: spin 0.5s ease infinite;\n animation: spin 0.5s ease infinite;\n}\n\n@-webkit-keyframes spin {\n 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }\n 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }\n}\n\n@keyframes spin {\n 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }\n 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }\n}\n\n/* Utils */\n.rebilly-instruments-loader-display-flex { display: -webkit-box; display: -ms-flexbox; display: flex; }\n.rebilly-instruments-loader-align-center { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }\n.rebilly-instruments-loader-justify-space-between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }\n.rebilly-instruments-loader-justify-end { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }\n\n.is-el-loading {\n position: relative;\n color: transparent!important;\n}\n\n.is-el-loading::before {\n position: absolute;\n content: '';\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: linear-gradient(110deg, var(--rebilly-colorMutedBorder) 0%, var(--rebilly-colorBackground) 25%, var(--rebilly-colorMutedBorder) 50%);\n background-size: 200% 100%;\n -webkit-animation: 1.5s rebillyExpressShine linear infinite;\n animation: 1.5s rebillyExpressShine linear infinite;\n border-radius: var(--rebilly-borderRadius);\n}\n\n.rebilly-instruments-loader-form-el {\n width: 100%;\n min-height: var(--rebilly-spacingFormElementMinHeight);\n}\n\n.rebilly-instruments-loader-form-label {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n margin-bottom: var(--rebilly-spacing2xs);\n}\n\n.rebilly-instruments-loader-form-el.is-button {\n margin-top: var(--rebilly-spacingL);\n text-align: center;\n font-size: var(--rebilly-buttonFontSize);\n font-family: var(--rebilly-buttonFontFamily);\n line-height: var(--rebilly-buttonFontLineHeight);\n padding: var(--rebilly-spacingS);\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n background: var(--rebilly-buttonColorBackground);\n color: transparent;\n border-radius: var(--rebilly-buttonBorderRadius);\n font-weight: var(--rebilly-buttonFontWeight);\n border: var(--rebilly-buttonBorder);\n -webkit-box-shadow: var(--rebilly-buttonBoxShadow);\n box-shadow: var(--rebilly-buttonBoxShadow);\n outline: none;\n cursor: not-allowed;\n opacity: 0.6; \n}\n\n.rebilly-instruments-methods-loader-card-icon.is-el-loading::before {\n border-radius: calc(var(--rebilly-borderRadius) / 2);\n}\n\n/* Error\n------------------------------------------------------------ */\n.rebilly-instruments-error-card {\n border: 1px solid var(--rebilly-colorDanger);\n border-radius: var(--rebilly-borderRadius);\n text-align: left;\n padding: var(--rebilly-spacingS);\n margin-bottom: var(--rebilly-spacingL);\n}\n.rebilly-instruments-error-card.not-closeable {\n margin-bottom: 0;\n}\n\n.rebilly-instruments-error-card-header {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n width: 100%;\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n.rebilly-instruments-error-card-title {\n font-weight: var(--rebilly-fontWeightBase);\n font-size: var(--rebilly-fontSizeBase);\n line-height: var(--rebilly-fontLineHeightBase);\n font-family: var(--rebilly-headingFontFamily);\n margin: 0 0 var(--rebilly-spacingS);\n color: var(--rebilly-colorDanger);\n}\n\n.rebilly-instruments-error-card-close-button {\n cursor: pointer;\n background: transparent;\n border: none;\n padding: 0;\n}\n\n.rebilly-instruments-error-card-close-button svg {\n width: var(--rebilly-fontLineHeightBase);\n height: var(--rebilly-fontLineHeightBase);\n fill: var(--rebilly-colorText);\n}\n\n.rebilly-instruments-error-card-details {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n.rebilly-instruments-error-card-details li,\n.rebilly-instruments-error-card-message {\n color: var(--rebilly-colorText);\n margin: 0;\n font-weight: var(--rebilly-fontWeightBase);\n font-size: var(--rebilly-fontSizeBase);\n line-height: var(--rebilly-fontLineHeightBase);\n}\n\n\n/* Bump offer\n------------------------------------------------------------ */\n.rebilly-instruments-bump-offers {\n text-align: left;\n margin-bottom: calc(var(--rebilly-spacingM) + var(--rebilly-fontSizeS));\n}\n\n.rebilly-instruments-bump-offers .rebilly-instruments-form-field-checkbox {\n margin-bottom: var(--rebilly-spacingS);\n}\n\n.rebilly-instruments-bump-offers .rebilly-instruments-bump-offer-label {\n width: 100%;\n font-weight: var(--rebilly-fontWeightBase);\n}\n\n.rebilly-instruments-bump-offer-line-item {\n border-bottom: 1px solid var(--rebilly-colorMutedBorder);\n padding: var(--rebilly-spacingS) 0;\n display: flex;\n align-items: center;\n position: relative;\n}\n\n.rebilly-instruments-bump-offer-line-item:first-child {\n padding-top: 0;\n}\n\n.rebilly-instruments-bump-offer-line-item-figure {\n margin: 0 var(--rebilly-spacingS) 0 0;\n flex: 0 0 auto;\n width: 48px;\n height: 48px;\n border-radius: var(--rebilly-borderRadius);\n border: 1px solid var(--rebilly-colorMutedBorder);\n overflow: hidden;\n}\n\n.rebilly-instruments-bump-offer-line-item-figure img {\n width: 100%;\n}\n\n.rebilly-instruments-bump-offer-line-item-synopsis {\n flex: 1 2 auto;\n font-weight: var(--rebilly-fontWeightBase);\n}\n\n.rebilly-instruments-bump-offer-line-item-synopsis-title {\n margin: 0;\n}\n\n.rebilly-instruments-bump-offer-line-item-synopsis-description {\n color: var(--rebilly-colorMutedText);\n margin: 0;\n font-size: var(--rebilly-fontSizeS);\n line-height: var(--rebilly-fontLineHeightS);\n}\n\n.rebilly-instruments-bump-offer-line-item-price-breakdown {\n display: flex;\n justify-content: center;\n align-items: center;\n color: var(--rebilly-colorMutedText);\n margin: 0 0 0 var(--rebilly-spacingS);\n font-weight: var(--rebilly-fontWeightBase);\n}\n\n.rebilly-instruments-bump-offer-line-item-price-breakdown .rebilly-instruments-icon {\n fill: var(--rebilly-colorMutedText);\n}\n\n.rebilly-instruments-bump-offer-line-item-price-breakdown-unit-price {\n color: var(--rebilly-colorText);\n}\n`}\n `})(e||{});return Vs({element:"style",attributes:{type:"text/css"},content:vy(n),target:Ae.shadowRoot||"head"}),t&&Vs({element:"style",attributes:{type:"text/css"},content:vy(t),target:Ae.shadowRoot||"head"}),n},ky=()=>{Ae.translate.init(Ae.options.locale,Ae.options.i18n),Ae.translate.translateItems()},$y=()=>{var e,t;if("auto"===Ae.options.locale&&(null==(t=null==(e=Ae.data.riskMetadata)?void 0:e.browserData)?void 0:t.language)){const{browserData:{language:e}}=Ae.data.riskMetadata;Ae.options.locale=e}return Ae.translate.init(Ae.options.locale,Ae.options.i18n),ky};function Ey(e){const t={};return function(e){const t={};function n(e){const r=e.match(/var\((.+?)\)/g);if(r){let a=e;return r.forEach((n=>{const r=n.match(/\((.*)\)/i);r&&(a=e.replace(n,t[r[1]]))})),n(a)}return e}return Array.from(e.matchAll(/(--rebilly.*(?=:))[:\s](.*(?=;))/g)).forEach((e=>{t[e[1]]=e[2].trim()})),Object.entries(t).map((([e,t])=>[e,n(t)]))}(e).forEach((([e,n])=>{t[e]=n})),t}const _y=(e,t="")=>({color:e[`--rebilly-${t}ColorText`],fontFamily:e[`--rebilly-${t}FontFamily`],fontSize:e[`--rebilly-${t}FontSize`],fontWeight:e[`--rebilly-${t}FontWeight`],lineHeight:e[`--rebilly-${t}FontLineHeight`],background:e[`--rebilly-${t}ColorBackground`],boxShadow:e[`--rebilly-${t}BoxShadow`],borderColor:e[`--rebilly-${t}BorderColor`],borderWidth:e[`--rebilly-${t}BorderWidth`],borderType:e[`--rebilly-${t}BorderType`]}),Sy=()=>{var e;const t=Ey(`\n ${Ae.mainStyleVars}\n ${(null==(e=Ae.options)?void 0:e.css)||""}\n `);return{base:{..._y(t,"input"),":hover":_y(t,"inputHover"),":focus":_y(t,"inputFocus"),"::placeholder":_y(t,"inputPlaceholder"),"::selection":_y(t,"inputSelection")},invalid:{..._y(t,"inputError"),":hover":_y(t,"inputErrorHover"),":focus":_y(t,"inputErrorFocus"),"::placeholder":_y(t,"inputErrorPlaceholder"),"::selection":_y(t,"inputErrorSelection")},buttons:{base:{..._y(t,"buttonSecondary"),":hover":_y(t,"buttonSecondaryHover"),":focus":_y(t,"buttonSecondaryActive")},focus:{..._y(t,"buttonSecondary")},active:{..._y(t,"button"),":hover":_y(t,"buttonHover"),":focus":_y(t,"buttonActive")}}}};function Py({eventName:e,callback:t}){if(!Hn.includes(e))throw new Error(`${e} is not a supported event`);const n=Vt(e);Mn[n].addEventListener(t)}const xy=(e,t)=>`\n <div class="rebilly-instruments-modal-overlay">\n <div class="rebilly-instruments-modal-container ${t?`rebilly-instruments-${t}`:""} ${e?"is-redirect":""}">\n ${e?"":'\n <svg class="rebilly-instruments-modal-close" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg">\n <path d="m15 13.5858 7.2929-7.293c.3905-.3904 1.0237-.3904 1.4142 0 .3905.3906.3905 1.0238 0 1.4143L16.4142 15l7.293 7.2929c.3904.3905.3904 1.0237 0 1.4142-.3906.3905-1.0238.3905-1.4143 0L15 16.4142l-7.2929 7.293c-.3905.3904-1.0237.3904-1.4142 0-.3905-.3906-.3905-1.0238 0-1.4143L13.5858 15l-7.293-7.2929c-.3904-.3905-.3904-1.0237 0-1.4142.3906-.3905 1.0238-.3905 1.4143 0L15 13.5858Z" fill-rule="nonzero"/>\n </svg>\n '}\n <div class="rebilly-instruments-modal-content"></div>\n </div>\n </div>\n`;async function Ay({name:e="",url:t="",model:n={},classListArray:r=[],close:a=(()=>{})}={}){var o,i;const s=null==(o=null==n?void 0:n.method)?void 0:o.method,l="rebilly-instruments-approval-url"===e;Ae.form.insertAdjacentHTML("beforeend",xy(l,s));const c=Ae.form.querySelector(".rebilly-instruments-modal-overlay"),u=Ae.form.querySelector(".rebilly-instruments-modal-container"),d=Ae.form.querySelector(".rebilly-instruments-modal-close"),p=Ae.form.querySelector(".rebilly-instruments-modal-content");document.body.style.overflow="hidden",setTimeout((()=>{c.classList.add("is-visible"),u.classList.add("is-visible")}),240),Ae.loader.addDOMElement({section:"modal",el:p}),Ae.loader.startLoading({section:"modal",id:e});const m={options:Ae.toModel().options,...n},f=await new Kn({name:e,url:t,model:m,classListArray:r,container:p}),h=(...e)=>{u.classList.remove("is-visible"),c.classList.remove("is-visible"),setTimeout((()=>{document.body.style.overflow="auto";const t=c.children;for(let e=0;e<t.length;e+=1)t[e].remove();c.remove(),a(...e),f.destroy()}),300)};return f.bindEventListeners({close:h,loader:Ae.loader}),l||d.addEventListener("click",h),null==(i=f.component)||i.call("route",{name:"approval-url"}),f}async function Iy({payload:e}){let t={websiteId:Ae.options.websiteId,paymentInstruction:{token:e._raw.id},...e};Ae.data.acceptBumpOffer?t.items=Ae.options.bumpOffer:t.items=Oo(Ae.options.items),Ae.data.couponIds&&Array.isArray(Ae.data.couponIds)&&(t.couponIds=Ae.data.couponIds),Ae.options.addons&&Ae.data.addons&&Array.isArray(Ae.data.addons)&&Ae.options.addons.forEach((e=>{Ae.data.addons.includes(e.planId)&&t.items.push(e)})),t.additionalFields&&(t={...t,...t.additionalFields});const{fields:n}=await async function({data:e}){return xo((async()=>{Pe(Ae.storefront);const t=["websiteId","paymentInstruction","items","billingAddress","deliveryAddress","shippingRateId","couponIds","password","redirectUrl","poNumber"];return Object.keys(e).forEach((n=>{t.includes(n)||delete e[n]})),Ae.storefront.purchase.purchase({data:e})}))}({data:t});return n}async function Ry({payload:e}){var t,n,r,a,o,i;const{_raw:{id:s},isExistingInstrument:l}=e;delete e.isExistingInstrument,delete e._raw;const c={...e};l?c.paymentInstrumentId=s:c.token=s,(null==(t=Ae.options)?void 0:t.invoiceId)&&(c.invoiceId=Ae.options.invoiceId),(null==(n=Ae.options)?void 0:n.transactionId)&&(c.transactionId=Ae.options.transactionId),(null==(r=Ae.options)?void 0:r.money)&&(c.websiteId=Ae.options.websiteId,c.amount=Ae.options.money.amount,c.currency=Ae.options.money.currency),(null==(a=Ae.options)?void 0:a.deposit)&&(c.websiteId=Ae.options.websiteId,c.amount=Ae.data.amountAndCurrency.amount,c.currency=Ae.data.amountAndCurrency.currency),(null==(o=Ae.data)?void 0:o.couponIds)&&Array.isArray(Ae.data.couponIds)&&(c.couponIds=Ae.data.couponIds),(null==(i=Ae.data)?void 0:i.riskMetadata)&&(c.riskMetadata=Ae.data.riskMetadata);let{fields:u}=await async function({data:e}){return xo((async()=>{Pe(Ae.storefront);const{token:t,transactionId:n,invoiceId:r,websiteId:a,paymentInstrumentId:o}=e,i=["riskMetadata","redirectUrl"];return t&&i.push("token"),o&&i.push("paymentInstrumentId"),n&&i.push("transactionId"),r&&i.push("invoiceId"),a&&i.push("amount","currency","websiteId"),Object.keys(e).forEach((t=>{i.includes(t)||delete e[t]})),Ae.storefront.purchase.payment({data:e})}))}({data:c});return u={transaction:u,token:u.token||Ae.options.jwt},Ae.data.invoice&&(u.invoice=Ae.data.invoice),u}async function Ty({payload:{isExistingInstrument:e,_raw:{id:t}}}){if(!e){const{id:e}=await async function({data:e}){return xo((async()=>{Pe(Ae.storefront);const{fields:t}=await Ae.storefront.paymentInstruments.create({data:e});return t}))}({data:{token:t}});t=e}return await async function(e){return xo((async()=>{Pe(Ae.storefront);const{fields:t}=await Ae.storefront.payoutRequests.update(e);return new $s(t)}))}({id:Ae.data.payout.id,data:{paymentInstrumentId:t}})}async function Cy({payload:e}){var t,n;Object.keys(e).forEach((t=>{null===e[t]&&delete e[t]}));try{let r,a,o;Ae.options.payout?(r=await Ty({payload:e}),a=Mn.payoutCompleted,o="payout"):Ae.data.isPayment?(r=await Ry({payload:e}),a=Mn.purchaseCompleted,o="payment"):(r=await Iy({payload:e}),a=Mn.purchaseCompleted,o="purchase"),(null==(t=r.transaction)?void 0:t.approvalUrl)&&"unknown"===(null==(n=r.transaction)?void 0:n.result)?Ae.options.features.fullPageRedirect?window.location=r.transaction.approvalUrl:function({fields:e,payload:t}){var n,r,a,o,i;if(Ae.options.features.fullPageRedirect&&(t.redirectUrl||(null==(n=e.transaction)?void 0:n.approvalUrl)))window.location=t.redirectUrl||(null==(r=e.transaction)?void 0:r.approvalUrl);else if(t.redirectUrl||!(null==(a=e.transaction)?void 0:a.approvalUrl)){const{paymentMethodsUrl:t}=Ae.options._computed,n=JSON.parse(JSON.stringify(e)),r={};Ae.data.isPayment?r.payment=n:r.purchase=n,Ae.data=new Is({...e});const a="rebilly-instruments-approval-url";Ay({name:a,url:`${t}?name=${a}`,model:r,close:e=>{Mn.purchaseCompleted.dispatch(e)}})}else(null==(o=e.transaction)?void 0:o.approvalUrl)&&(window.location=null==(i=e.transaction)?void 0:i.approvalUrl)}({fields:r,payload:e}):"payout"!==o&&r.selectedPaymentInstrumentRedirectUrl?window.location=r.selectedPaymentInstrumentRedirectUrl:a.dispatch(r)}catch(r){return Un(r),r}}async function Oy({payload:e}){var t;try{const{_raw:{id:n},isExistingInstrument:r}=e;delete e.isExistingInstrument,delete e._raw;const a={...e};r?a.paymentInstrumentId=n:a.token=n;const{instrument:o,transaction:i}=await async function({data:e}){return xo((async()=>{var t,n,r;Pe(Ae.storefront),xe(Ae.options);const{fields:a}=await Ae.storefront.paymentInstruments.create({data:e});Ae.storefront.setSessionToken(a.token||Ae.options.jwt);const o={id:a.id,data:{websiteId:Ae.options.websiteId,...e}};(null==(t=Ae.data)?void 0:t.amountAndCurrency)&&(o.data={...o.data,...Ae.data.amountAndCurrency}),(null==(r=null==(n=Ae.data)?void 0:n.transaction)?void 0:r.redirectUrl)&&(o.data.redirectUrl=`${o.data.redirectUrl}&originalRedirectUrl=${Ae.data.transaction.redirectUrl}`);const{fields:i}=await Ae.storefront.paymentInstruments.setup(o);return{instrument:a,transaction:i}}))}({data:{websiteId:null==(t=Ae.options)?void 0:t.websiteId,...a}});if(Ae.data=new Is({instrument:o,transaction:i}),i.approvalUrl&&"unknown"===i.result)if(Ae.options.features.fullPageRedirect)window.location=i.approvalUrl;else{const{paymentMethodsUrl:e}=Ae.options._computed;Ay({name:"rebilly-instruments-approval-url",url:`${e}/approval-url`,model:{setup:{transaction:i}},close:({transaction:e=i})=>{Mn.setupCompleted.dispatch({instrument:o,transaction:e})}})}else Mn.setupCompleted.dispatch({instrument:o,transaction:i});return{instrument:o,transaction:i}}catch(n){return Un(n,!1),n}}async function Ny({componentName:e,payload:t}){switch(e){case"result":Hs(),async function({payload:e}){var t,n;const r=Se.form;r||await zs();const a=Ae.toModel(),o={data:a.data,options:a.options};Ae.data.payout?o.payoutRequest=e:o[Ae.options.transactionType]=e,null==(t=null==r?void 0:r.component)||t.call("route",{name:"result"}),null==(n=null==r?void 0:r.component)||n.call("update",o)}({payload:t});break;case"confirmation":Hs(),async function({payload:e}){var t,n,r,a,o,i,s,l;e.billingAddress&&Ae.summary&&Ae.data.isPurchase&&Mo({instrument:e});const c=Se.form;c||await zs();const u=Ae.toModel(),d={options:u.options,data:u.data,instrument:e};null==(t=null==c?void 0:c.component)||t.call("update",d),null==(n=null==c?void 0:c.component)||n.call("route",{name:"confirmation"}),(null==(a=null==(r=null==c?void 0:c.component)?void 0:r.events)?void 0:a[`${c.name}-confirm-purchase`])||null==(o=null==c?void 0:c.component)||o.on(`${c.name}-confirm-purchase`,(e=>{Cy({payload:e})})),(null==(s=null==(i=null==c?void 0:c.component)?void 0:i.events)?void 0:s[`${c.name}-confirm-setup`])||null==(l=null==c?void 0:c.component)||l.on(`${c.name}-confirm-setup`,(e=>{Oy({payload:e})}))}({payload:t});break;default:throw new Error(`'${e}' not a supported component`)}}function Ly({payload:e}){Ny({componentName:"result",payload:e})}const jy=({state:e={}})=>{var t,n,r,a;(null==(n=null==(t=null==e?void 0:e.options)?void 0:t.features)?void 0:n.hideConfirmation)||Py({eventName:"instrument-ready",callback:t=>{var n,r,a,o;if("paypal"===(null==(n=t._raw)?void 0:n.method)&&!(null==(r=e.data)?void 0:r.isShippingRequired))return"setup"===(null==(a=e.options)?void 0:a.transactionType)?Oy({payload:t}):Cy({payload:t}),void(null==(o=e.loader)||o.startLoading({id:"express-purchase"}));Ny({componentName:"confirmation",payload:t})}}),(null==(a=null==(r=null==e?void 0:e.options)?void 0:r.features)?void 0:a.hideResult)||(Py({eventName:"payout-completed",callback:e=>{Ly({payload:e=JSON.parse(JSON.stringify(e))})}}),Py({eventName:"purchase-completed",callback:e=>{Ly({payload:e=JSON.parse(JSON.stringify(e))})}}),Py({eventName:"setup-completed",callback:e=>{Ly({payload:e=JSON.parse(JSON.stringify(e))})}}))};async function Fy({setupFramepay:e=Zf,...t}={}){var n,r,a,o,i,s,l,c,u,d,p,m,f,h,y,g,b,v,w,k,$;try{Ae.data={},Ae.options={},Ae.options=Yf({options:t}),Ae.form=Ws({element:"form"}),Ae.summary=Ws({element:"summary"}),Ae.shadowRoot=($=Ae.form).getRootNode()instanceof ShadowRoot?$.getRootNode():null,Ae.form&&(Ae.form.style.maxWidth="750px"),Ae.summary&&(Ae.summary.style.maxWidth="750px"),Ae.storefront=Ks(),Ae.mainStyleVars=wy(),Ae.options&&(Ae.options.themeFramepay=Sy()),Ae.loader.addDOMElement({el:Ae.form}),Ae.loader.addDOMElement({section:"summary",el:Ae.summary}),Ae.loader.startLoading({section:"summary",id:"rebilly-instruments-summary"}),Ae.loader.startLoading({id:"rebilly-instruments-form"});const[E]=await Promise.all([Rs(),e()]);Ae.data=E,Mn.dataReady.dispatch(Ae.data),Ae.i18n=$y(),Ae.options&&!Ae.options.websiteId&&(null==(n=Ae.data.transaction)?void 0:n.websiteId)?Ae.options.websiteId=Ae.data.transaction.websiteId:Ae.options&&!Ae.options.websiteId&&(null==(r=Ae.data.invoice)?void 0:r.websiteId)&&(Ae.options.websiteId=Ae.data.invoice.websiteId),Ae.options&&Ae.data.transaction&&"setup"===(null==(a=Ae.data.transaction)?void 0:a.type)&&(Ae.options.transactionType="setup"),Ae.form&&zs().then((()=>function(){var e;(null==(e=Ae.options)?void 0:e.deposit)?js():qs()}())),Ae.summary&&Fo(),Ae.i18n(),Ae.hasMounted=!0;const _=e=>{Ae.loader.stopLoading({id:"rebilly-instruments-form"}),Ae.form.querySelector('[data-rebilly-instruments="form"]').remove(),Un(Ae.translate.getTranslation(e),!1)},S=(null==(o=Ae.options)?void 0:o.invoiceId)||(null==(s=null==(i=Ae.data)?void 0:i.transaction)?void 0:s.invoiceId);S&&(null==(l=Ae.data.invoice)?void 0:l.isPaid)?_("form.error.invoiceIsPaid"):S&&(null==(c=Ae.data.invoice)?void 0:c.isAbandoned)?_("form.error.invoiceIsAbandoned"):S&&(null==(u=Ae.data.invoice)?void 0:u.isVoid)?_("form.error.invoiceIsVoid"):S&&(null==(d=Ae.data.invoice)?void 0:d.isRefunded)&&_("form.error.invoiceIsRefunded");((null==(p=Ae.options)?void 0:p.transactionId)||(null==(f=null==(m=Ae.data)?void 0:m.transaction)?void 0:f.id))&&(null==(y=null==(h=Ae.data)?void 0:h.transaction)?void 0:y.transactionIsCompleted)&&_("form.error.transactionIsCompleted"),(null==(b=null==(g=Ae.options)?void 0:g.payout)?void 0:b.payoutRequestId)&&!(null==(v=Ae.data.payout)?void 0:v.isPending)&&_("form.error.payoutNotPending");let P=!1;P=E.payout?!(null==(w=E.readyToPayout)?void 0:w.length):!(null==(k=E.readyToPay)?void 0:k.length),P&&(Ae.loader.stopLoading({id:"rebilly-instruments-form"}),Un(Ae.translate.getTranslation("form.error.noPaymentMethods"),!1))}catch(E){throw Un(E,!1),E}jy({state:Ae})}async function My(){var e;await(e=1e3,new Promise((t=>{setTimeout(t,e)}))),Object.keys(Se).forEach((e=>{Se.hasFrame(e)&&(Se[e].destroy(),Se[e]=null)})),jn.removeAll(document),Ae.hasMounted=!1,Ae.summary&&(Ae.summary.textContent=""),Ae.form.textContent="",mo.cancelAll(),Ae.loader.clearAll()}const Hy=new class{constructor(){this.state=Ae,this.iframes=Se}async mount(e){await Fy(e)}async destroy(){await My()}async update(e){await async function({newOptions:e={}}={}){if(!Ae.hasMounted)throw Error("Update method cannot be called before mounting instruments");const t=ke({...Ae.options},e);await My(),Fy({form:Ae.form,summary:Ae.summary,...t})}({newOptions:e})}async purchase(e){await Cy({payload:e})}async setup(e){await Oy({payload:e})}async show(e,t){await Ny({componentName:e,payload:t})}get version(){return"RebillyInstruments Ver.9.31.0"}on(e,t){Py({eventName:e,callback:t})}};return Hy}();