@coinflowlabs/angular 0.3.5 → 1.0.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.
@@ -1,5 +1,6 @@
1
1
  import { web3, base58 } from './SolanaPeerDeps';
2
2
  import LZString from 'lz-string';
3
+ import { Currency } from './Subtotal';
3
4
  export class CoinflowUtils {
4
5
  constructor(env) {
5
6
  this.env = env ?? 'prod';
@@ -33,7 +34,7 @@ export class CoinflowUtils {
33
34
  return 'http://localhost:5000';
34
35
  return `https://api-${env}.coinflow.cash`;
35
36
  }
36
- static getCoinflowUrl({ walletPubkey, sessionKey, route, routePrefix, env, amount, transaction, blockchain = 'solana', webhookInfo, email, loaderBackground, handleHeightChange, bankAccountLinkRedirect, additionalWallets, nearDeposit, chargebackProtectionData, merchantCss, color, rent, lockDefaultToken, token, tokens, planCode, disableApplePay, disableGooglePay, customerInfo, settlementType, lockAmount, nativeSolToConvert, theme, usePermit, transactionSigner, authOnly, deviceId, jwtToken, origins, threeDsChallengePreference, supportEmail, destinationAuthKey, }) {
37
+ static getCoinflowUrl({ walletPubkey, sessionKey, route, routePrefix, env, subtotal, transaction, blockchain = 'solana', webhookInfo, email, loaderBackground, handleHeightChange, bankAccountLinkRedirect, additionalWallets, nearDeposit, chargebackProtectionData, merchantCss, color, rent, lockDefaultToken, tokens, planCode, disableApplePay, disableGooglePay, customerInfo, settlementType, lockAmount, nativeSolToConvert, theme, usePermit, transactionSigner, authOnly, deviceId, jwtToken, origins, threeDsChallengePreference, supportEmail, destinationAuthKey, }) {
37
38
  const prefix = routePrefix
38
39
  ? `/${routePrefix}/${blockchain}`
39
40
  : `/${blockchain}`;
@@ -45,8 +46,20 @@ export class CoinflowUtils {
45
46
  if (transaction) {
46
47
  url.searchParams.append('transaction', transaction);
47
48
  }
48
- if (amount) {
49
- url.searchParams.append('amount', amount.toString());
49
+ if (subtotal) {
50
+ if ('cents' in subtotal) {
51
+ url.searchParams.append('cents', subtotal.cents.toString());
52
+ if ('currency' in subtotal) {
53
+ url.searchParams.append('currency', subtotal.currency.toString());
54
+ }
55
+ else {
56
+ url.searchParams.append('currency', Currency.USD);
57
+ }
58
+ }
59
+ else {
60
+ url.searchParams.append('token', subtotal.address.toString());
61
+ url.searchParams.append('amount', subtotal.amount.toString());
62
+ }
50
63
  }
51
64
  if (webhookInfo) {
52
65
  url.searchParams.append('webhookInfo', LZString.compressToEncodedURIComponent(JSON.stringify(webhookInfo)));
@@ -62,9 +75,6 @@ export class CoinflowUtils {
62
75
  }
63
76
  if (supportEmail)
64
77
  url.searchParams.append('supportEmail', supportEmail);
65
- if (token) {
66
- url.searchParams.append('token', token.toString());
67
- }
68
78
  if (tokens) {
69
79
  url.searchParams.append('tokens', tokens.toString());
70
80
  }
@@ -206,4 +216,4 @@ export class CoinflowUtils {
206
216
  }
207
217
  }
208
218
  }
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9Db2luZmxvd1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBR2pDLE1BQU0sT0FBTyxhQUFhO0lBSXhCLFlBQVksR0FBa0I7UUFDNUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxNQUFNO1lBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRywyQkFBMkIsQ0FBQzthQUMzRCxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssT0FBTztZQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsdUJBQXVCLENBQUM7O1lBQzdELElBQUksQ0FBQyxHQUFHLEdBQUcsZUFBZSxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztJQUMxRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFVBQWtCO1FBQ3hDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsa0JBQWtCLFVBQVUsRUFBRSxDQUFDO2FBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNqQyxJQUFJLENBQ0gsQ0FBQyxJQUdBLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQ2hFO2FBQ0EsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDLENBQUMs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QUFHLEtBQUssQ0FBQztnQkFDdkIsT0FBTyxRQUFRLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLENBQUM7WUFDRCxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNULE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUM7U0FDRixDQUFDLEVBQUUsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUNqQixVQUE4QixFQUM5QixJQVFDO1FBRUQsUUFBUSxVQUFVLEVBQUUsQ0FBQztZQUNuQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3JCLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDbkIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUN0QixLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ2xCLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDbkIsS0FBSyxVQUFVO2dCQUNiLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUN2QixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ25CO2dCQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29pbmZsb3dCbG9ja2NoYWluLFxuICBDb2luZmxvd0VudnMsXG4gIENvaW5mbG93SUZyYW1lUHJvcHMsXG4gIENvaW5mbG93UHVyY2hhc2VQcm9wcyxcbn0gZnJvbSAnLi9Db2luZmxvd1R5cGVzJztcbmltcG9ydCB7d2ViMywgYmFzZTU4fSBmcm9tICcuL1NvbGFuYVBlZXJEZXBzJztcbmltcG9ydCBMWlN0cmluZyBmcm9tICdsei1zdHJpbmcnO1xuaW1wb3J0IHR5cGUge1RyYW5zYWN0aW9uLCBWZXJzaW9uZWRUcmFuc2FjdGlvbn0gZnJvbSAnQHNvbGFuYS93ZWIzLmpzJztcblxuZXhwb3J0IGNsYXNzIENvaW5mbG93VXRpbHMge1xuICBlbnY6IENvaW5mbG93RW52cztcbiAgdXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoZW52PzogQ29pbmZsb3dFbnZzKSB7XG4gICAgdGhpcy5lbnYgPSBlbnYgPz8gJ3Byb2QnO1xuICAgIGlmICh0aGlzLmVudiA9PT0gJ3Byb2QnKSB0aGlzLnVybCA9ICdodHRwczovL2FwaS5jb2luZmxvdy5jYXNoJztcbiAgICBlbHNlIGlmICh0aGlzLmVudiA9PT0gJ2xvY2FsJykgdGhpcy51cmwgPSAnaHR0cDovL2xvY2FsaG9zdDo1MDAwJztcbiAgICBlbHNlIHRoaXMudXJsID0gYGh0dHBzOi8vYXBpLSR7dGhpcy5lbnZ9LmNvaW5mbG93LmNhc2hgO1xuICB9XG5cbiAgYXN5bmMgZ2V0TlN1cmVQYXJ0bmVySWQobWVyY2hhbnRJZDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gZmV0Y2godGhpcy51cmwgKyBgL21lcmNoYW50L3ZpZXcvJHttZXJjaGFudElkfWApXG4gICAgICAudGhlbihyZXNwb25zZSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAudGhlbihcbiAgICAgICAgKGpzb246IHtcbiAgICAgICAgICBuU3VyZVBhcnRuZXJJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICAgIG5TdXJlU2V0dGluZ3M6IHtuU3VyZVBhcnRuZXJJZDogc3RyaW5nIHwgdW5kZWZpbmVkfTtcbiAgICAgICAgfSkgPT4ganNvbi5uU3VyZVNldHRpbmdzPy5uU3VyZVBhcnRuZXJJZCB8fCBqc29uLm5TdXJlUGFydG5lcklkXG4gICAgICApXG4gICAgICAuY2F0Y2goZSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRDb2luZmxvd0Jhc2VVcmwoZW52PzogQ29pbmZsb3dFbnZzKTogc3RyaW5nIHtcbiAgICBpZiAoIWVudiB8fCBlbnYgPT09ICdwcm9kJykgcmV0dXJuICdodHRwczovL2NvaW5mbG93LmNhc2gnO1xuICAgIGlmIChlbnYgPT09ICdsb2NhbCcpIHJldHVybiAnaHR0cDovL2xvY2FsaG9zdDozMDAwJztcblxuICAgIHJldHVybiBgaHR0cHM6Ly8ke2Vudn0uY29pbmZsb3cuY2FzaGA7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29pbmZsb3dBcGlVcmwoZW52PzogQ29pbmZsb3dFbnZzKTogc3RyaW5nIHtcbiAgICBpZiAoIWVudiB8fCBlbnYgPT09ICdwcm9kJykgcmV0dXJuICdodHRwczovL2FwaS5jb2luZmxvdy5jYXNoJztcbiAgICBpZiAoZW52ID09PSAnbG9jYWwnKSByZXR1cm4gJ2h0dHA6Ly9sb2NhbGhvc3Q6NTAwMCc7XG5cbiAgICByZXR1cm4gYGh0dHBzOi8vYXBpLSR7ZW52fS5jb2luZmxvdy5jYXNoYDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRDb2luZmxvd1VybCh7XG4gICAgd2FsbGV0UHVia2V5LFxuICAgIHNlc3Npb25LZXksXG4gICAgcm91dGUsXG4gICAgcm91dGVQcmVmaXgsXG4gICAgZW52LFxuICAgIGFtb3VudCxcbiAgICB0cmFuc2FjdGlvbixcbiAgICBibG9ja2NoYWluID0gJ3NvbGFuYScsXG4gICAgd2ViaG9va0luZm8sXG4gICAgZW1haWwsXG4gICAgbG9hZGVyQmFja2dyb3VuZCxcbiAgICBoYW5kbGVIZWlnaHRDaGFuZ2UsXG4gICAgYmFua0FjY291bnRMaW5rUmVkaXJlY3QsXG4gICAgYWRkaXRpb25hbFdhbGxldHMsXG4gICAgbmVhckRlcG9zaXQsXG4gICAgY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhLFxuICAgIG1lcmNoYW50Q3NzLFxuICAgIGNvbG9yLFxuICAgIHJlbnQsXG4gICAgbG9ja0RlZmF1bHRUb2tlbixcbiAgICB0b2tlbixcbiAgICB0b2tlbnMsXG4gICAgcGxhbkNvZGUsXG4gICAgZGlzYWJsZUFwcGxlUGF5LFxuICAgIGRpc2FibGVHb29nbGVQYXksXG4gICAgY3VzdG9tZXJJbmZvLFxuICAgIHNldHRsZW1lbnRUeXBlLFxuICAgIGxvY2tBbW91bnQsXG4gICAgbmF0aXZlU29sVG9Db252ZXJ0LFxuICAgIHRoZW1lLFxuICAgIHVzZVBlcm1pdCxcbiAgICB0cmFuc2FjdGlvblNpZ25lcixcbiAgICBhdXRoT25seSxcbiAgICBkZXZpY2VJZCxcbiAgICBqd3RUb2tlbixcbiAgICBvcmlnaW5zLFxuICAgIHRocmVlRHNDaGFsbGVuZ2VQcmVmZXJlbmNlLFxuICAgIHN1cHBvcnRFbWFpbCxcbiAgICBkZXN0aW5hdGlvbkF1dGhLZXksXG4gIH06IENvaW5mbG93SUZyYW1lUHJvcHMpOiBzdHJpbmcge1xuICAgIGNvbnN0IHByZWZpeCA9IHJvdXRlUHJlZml4XG4gICAgICA/IGAvJHtyb3V0ZVByZWZpeH0vJHtibG9ja2NoYWlufWBcbiAgICAgIDogYC8ke2Jsb2NrY2hhaW59YDtcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHByZWZpeCArIHJvdXRlLCBDb2luZmxvd1V0aWxzLmdldENvaW5mbG93QmFzZVVybChlbnYpKTtcblxuICAgIGlmICh3YWxsZXRQdWJrZXkpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdwdWJrZXknLCB3YWxsZXRQdWJrZXkpO1xuICAgIGlmIChzZXNzaW9uS2V5KSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnc2Vzc2lvbktleScsIHNlc3Npb25LZXkpO1xuXG4gICAgaWYgKHRyYW5zYWN0aW9uKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndHJhbnNhY3Rpb24nLCB0cmFuc2FjdGlvbik7XG4gICAgfVxuICAgIGlmIChhbW91bnQpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhbW91bnQnLCBhbW91bnQudG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgaWYgKHdlYmhvb2tJbmZvKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ3dlYmhvb2tJbmZvJyxcbiAgICAgICAgTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkod2ViaG9va0luZm8pKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhlbWUpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAndGhlbWUnLFxuICAgICAgICBMWlN0cmluZy5jb21wcmVzc1RvRW5jb2RlZFVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeSh0aGVtZSkpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChjdXN0b21lckluZm8pIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAnY3VzdG9tZXJJbmZvJyxcbiAgICAgICAgTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoY3VzdG9tZXJJbmZvKSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGVtYWlsKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnZW1haWwnLCBlbWFpbCk7XG4gICAgfVxuICAgIGlmIChzdXBwb3J0RW1haWwpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdzdXBwb3J0RW1haWwnLCBzdXBwb3J0RW1haWwpO1xuXG4gICAgaWYgKHRva2VuKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndG9rZW4nLCB0b2tlbi50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICBpZiAodG9rZW5zKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndG9rZW5zJywgdG9rZW5zLnRvU3RyaW5nKCkpO1xuICAgIH1cblxuICAgIGlmIChsb2FkZXJCYWNrZ3JvdW5kKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbG9hZGVyQmFja2dyb3VuZCcsIGxvYWRlckJhY2tncm91bmQpO1xuICAgIH1cblxuICAgIGlmIChoYW5kbGVIZWlnaHRDaGFuZ2UpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCd1c2VIZWlnaHRDaGFuZ2UnLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIGlmIChiYW5rQWNjb3VudExpbmtSZWRpcmVjdCkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICdiYW5rQWNjb3VudExpbmtSZWRpcmVjdCcsXG4gICAgICAgIGJhbmtBY2NvdW50TGlua1JlZGlyZWN0XG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChhZGRpdGlvbmFsV2FsbGV0cylcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAnYWRkaXRpb25hbFdhbGxldHMnLFxuICAgICAgICBMWlN0cmluZy5jb21wcmVzc1RvRW5jb2RlZFVSSUNvbXBvbmVudChcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShhZGRpdGlvbmFsV2FsbGV0cylcbiAgICAgICAgKVxuICAgICAgKTtcblxuICAgIGlmIChuZWFyRGVwb3NpdCkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ25lYXJEZXBvc2l0JywgbmVhckRlcG9zaXQpO1xuXG4gICAgaWYgKGNoYXJnZWJhY2tQcm90ZWN0aW9uRGF0YSlcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAnY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhJyxcbiAgICAgICAgTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhKVxuICAgICAgICApXG4gICAgICApO1xuICAgIGlmIChkZXZpY2VJZCkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2RldmljZUlkJywgZGV2aWNlSWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGRldmljZUlkID0gd2luZG93Py5uU3VyZVNESz8uZ2V0RGV2aWNlSWQoKTtcbiAgICAgICAgaWYgKGRldmljZUlkKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnZGV2aWNlSWQnLCBkZXZpY2VJZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG1lcmNoYW50Q3NzKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbWVyY2hhbnRDc3MnLCBtZXJjaGFudENzcyk7XG4gICAgaWYgKGNvbG9yKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnY29sb3InLCBjb2xvcik7XG4gICAgaWYgKHJlbnQpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdyZW50JywgcmVudC5sYW1wb3J0cy50b1N0cmluZygpKTtcbiAgICBpZiAobmF0aXZlU29sVG9Db252ZXJ0KVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICduYXRpdmVTb2xUb0NvbnZlcnQnLFxuICAgICAgICBuYXRpdmVTb2xUb0NvbnZlcnQubGFtcG9ydHMudG9TdHJpbmcoKVxuICAgICAgKTtcbiAgICBpZiAobG9ja0RlZmF1bHRUb2tlbikgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2xvY2tEZWZhdWx0VG9rZW4nLCAndHJ1ZScpO1xuICAgIGlmIChwbGFuQ29kZSkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3BsYW5Db2RlJywgcGxhbkNvZGUpO1xuXG4gICAgaWYgKGRpc2FibGVBcHBsZVBheSkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2Rpc2FibGVBcHBsZVBheScsICd0cnVlJyk7XG4gICAgaWYgKGRpc2FibGVHb29nbGVQYXkpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdkaXNhYmxlR29vZ2xlUGF5JywgJ3RydWUnKTtcbiAgICBpZiAoc2V0dGxlbWVudFR5cGUpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnc2V0dGxlbWVudFR5cGUnLCBzZXR0bGVtZW50VHlwZSk7XG5cbiAgICBpZiAobG9ja0Ftb3VudCkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2xvY2tBbW91bnQnLCAndHJ1ZScpO1xuXG4gICAgaWYgKHVzZVBlcm1pdCA9PT0gZmFsc2UpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCd1c2VQZXJtaXQnLCAnZmFsc2UnKTtcbiAgICBpZiAodHJhbnNhY3Rpb25TaWduZXIpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndHJhbnNhY3Rpb25TaWduZXInLCB0cmFuc2FjdGlvblNpZ25lcik7XG4gICAgaWYgKGF1dGhPbmx5ID09PSB0cnVlKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYXV0aE9ubHknLCAndHJ1ZScpO1xuICAgIGlmIChqd3RUb2tlbikgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2p3dFRva2VuJywgand0VG9rZW4pO1xuICAgIGlmIChvcmlnaW5zKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICdvcmlnaW5zJyxcbiAgICAgICAgTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkob3JpZ2lucykpXG4gICAgICApO1xuXG4gICAgaWYgKHRocmVlRHNDaGFsbGVuZ2VQcmVmZXJlbmNlKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICd0aHJlZURzQ2hhbGxlbmdlUHJlZmVyZW5jZScsXG4gICAgICAgIHRocmVlRHNDaGFsbGVuZ2VQcmVmZXJlbmNlXG4gICAgICApO1xuXG4gICAgaWYgKGRlc3RpbmF0aW9uQXV0aEtleSlcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdkZXN0aW5hdGlvbkF1dGhLZXknLCBkZXN0aW5hdGlvbkF1dGhLZXkpO1xuXG4gICAgcmV0dXJuIHVybC50b1N0cmluZygpO1xuICB9XG5cbiAgc3RhdGljIGdldFRyYW5zYWN0aW9uKHByb3BzOiBDb2luZmxvd1B1cmNoYXNlUHJvcHMpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghcHJvcHMuYmxvY2tjaGFpbikgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB0aGlzLmJ5QmxvY2tjaGFpbjwoKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQ+KHByb3BzLmJsb2NrY2hhaW4sIHtcbiAgICAgIHNvbGFuYTogKCkgPT4ge1xuICAgICAgICBpZiAoISgndHJhbnNhY3Rpb24nIGluIHByb3BzKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qge3RyYW5zYWN0aW9ufSA9IHByb3BzO1xuICAgICAgICBpZiAoIXdlYjMpXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdAc29sYW5hL3dlYjMuanMgZGVwZW5kZW5jeSBpcyByZXF1aXJlZCBmb3IgU29sYW5hJyk7XG4gICAgICAgIGlmICghYmFzZTU4KSB0aHJvdyBuZXcgRXJyb3IoJ2JzNTggZGVwZW5kZW5jeSBpcyByZXF1aXJlZCBmb3IgU29sYW5hJyk7XG4gICAgICAgIGlmICghdHJhbnNhY3Rpb24pIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybiBiYXNlNTguZW5jb2RlKFxuICAgICAgICAgICh0cmFuc2FjdGlvbiBhcyBWZXJzaW9uZWRUcmFuc2FjdGlvbiB8IFRyYW5zYWN0aW9uKS5zZXJpYWxpemUoe1xuICAgICAgICAgICAgcmVxdWlyZUFsbFNpZ25hdHVyZXM6IGZhbHNlLFxuICAgICAgICAgICAgdmVyaWZ5U2lnbmF0dXJlczogZmFsc2UsXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICBwb2x5Z29uOiAoKSA9PiB7XG4gICAgICAgIGlmICghKCd0cmFuc2FjdGlvbicgaW4gcHJvcHMpKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB7dHJhbnNhY3Rpb259ID0gcHJvcHM7XG4gICAgICAgIHJldHVybiBMWlN0cmluZy5jb21wcmVzc1RvRW5jb2RlZFVSSUNvbXBvbmVudChcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeSh0cmFuc2FjdGlvbilcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICBldGg6ICgpID0+IHtcbiAgICAgICAgaWYgKCEoJ3RyYW5zYWN0aW9uJyBpbiBwcm9wcykpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHt0cmFuc2FjdGlvbn0gPSBwcm9wcztcbiAgICAgICAgcmV0dXJuIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRyYW5zYWN0aW9uKVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIGJhc2U6ICgpID0+IHtcbiAgICAgICAgaWYgKCEoJ3RyYW5zYWN0aW9uJyBpbiBwcm9wcykpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHt0cmFuc2FjdGlvbn0gPSBwcm9wcztcbiAgICAgICAgcmV0dXJuIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRyYW5zYWN0aW9uKVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIGFyYml0cnVtOiAoKSA9PiB7XG4gICAgICAgIGlmICghKCd0cmFuc2FjdGlvbicgaW4gcHJvcHMpKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB7dHJhbnNhY3Rpb259ID0gcHJvcHM7XG4gICAgICAgIHJldHVybiBMWlN0cmluZy5jb21wcmVzc1RvRW5jb2RlZFVSSUNvbXBvbmVudChcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeSh0cmFuc2FjdGlvbilcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICBuZWFyOiAoKSA9PiB7XG4gICAgICAgIGlmICghKCdhY3Rpb24nIGluIHByb3BzKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qge2FjdGlvbn0gPSBwcm9wcztcbiAgICAgICAgcmV0dXJuIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGFjdGlvbikpO1xuICAgICAgfSxcbiAgICAgIHVzZXI6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH0sXG4gICAgfSkoKTtcbiAgfVxuXG4gIHN0YXRpYyBieUJsb2NrY2hhaW48VD4oXG4gICAgYmxvY2tjaGFpbjogQ29pbmZsb3dCbG9ja2NoYWluLFxuICAgIGFyZ3M6IHtcbiAgICAgIHNvbGFuYTogVDtcbiAgICAgIG5lYXI6IFQ7XG4gICAgICBldGg6IFQ7XG4gICAgICBwb2x5Z29uOiBUO1xuICAgICAgYmFzZTogVDtcbiAgICAgIGFyYml0cnVtOiBUO1xuICAgICAgdXNlcjogVDtcbiAgICB9XG4gICk6IFQge1xuICAgIHN3aXRjaCAoYmxvY2tjaGFpbikge1xuICAgICAgY2FzZSAnc29sYW5hJzpcbiAgICAgICAgcmV0dXJuIGFyZ3Muc29sYW5hO1xuICAgICAgY2FzZSAnbmVhcic6XG4gICAgICAgIHJldHVybiBhcmdzLm5lYXI7XG4gICAgICBjYXNlICdwb2x5Z29uJzpcbiAgICAgICAgcmV0dXJuIGFyZ3MucG9seWdvbjtcbiAgICAgIGNhc2UgJ2V0aCc6XG4gICAgICAgIHJldHVybiBhcmdzLmV0aDtcbiAgICAgIGNhc2UgJ2Jhc2UnOlxuICAgICAgICByZXR1cm4gYXJncy5iYXNlO1xuICAgICAgY2FzZSAnYXJiaXRydW0nOlxuICAgICAgICByZXR1cm4gYXJncy5hcmJpdHJ1bTtcbiAgICAgIGNhc2UgJ3VzZXInOlxuICAgICAgICByZXR1cm4gYXJncy51c2VyO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdibG9ja2NoYWluIG5vdCBzdXBwb3J0ZWQhJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9Db2luZmxvd1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBRWpDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFFcEMsTUFBTSxPQUFPLGFBQWE7SUFJeEIsWUFBWSxHQUFrQjtRQUM1QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLE1BQU07WUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLDJCQUEyQixDQUFDO2FBQzNELElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxPQUFPO1lBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQzs7WUFDN0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxlQUFlLElBQUksQ0FBQyxHQUFHLGdCQUFnQixDQUFDO0lBQzFELENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsVUFBa0I7UUFDeEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxrQkFBa0IsVUFBVSxFQUFFLENBQUM7YUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2pDLElBQUksQ0FDSCxDQUFDLElBR0EsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FDaEU7YUFDQSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxD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LFVBQVU7Z0JBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3ZCLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDbkI7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb2luZmxvd0Jsb2NrY2hhaW4sXG4gIENvaW5mbG93RW52cyxcbiAgQ29pbmZsb3dJRnJhbWVQcm9wcyxcbiAgQ29pbmZsb3dQdXJjaGFzZVByb3BzLFxufSBmcm9tICcuL0NvaW5mbG93VHlwZXMnO1xuaW1wb3J0IHt3ZWIzLCBiYXNlNTh9IGZyb20gJy4vU29sYW5hUGVlckRlcHMnO1xuaW1wb3J0IExaU3RyaW5nIGZyb20gJ2x6LXN0cmluZyc7XG5pbXBvcnQgdHlwZSB7VHJhbnNhY3Rpb24sIFZlcnNpb25lZFRyYW5zYWN0aW9ufSBmcm9tICdAc29sYW5hL3dlYjMuanMnO1xuaW1wb3J0IHtDdXJyZW5jeX0gZnJvbSAnLi9TdWJ0b3RhbCc7XG5cbmV4cG9ydCBjbGFzcyBDb2luZmxvd1V0aWxzIHtcbiAgZW52OiBDb2luZmxvd0VudnM7XG4gIHVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGVudj86IENvaW5mbG93RW52cykge1xuICAgIHRoaXMuZW52ID0gZW52ID8/ICdwcm9kJztcbiAgICBpZiAodGhpcy5lbnYgPT09ICdwcm9kJykgdGhpcy51cmwgPSAnaHR0cHM6Ly9hcGkuY29pbmZsb3cuY2FzaCc7XG4gICAgZWxzZSBpZiAodGhpcy5lbnYgPT09ICdsb2NhbCcpIHRoaXMudXJsID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6NTAwMCc7XG4gICAgZWxzZSB0aGlzLnVybCA9IGBodHRwczovL2FwaS0ke3RoaXMuZW52fS5jb2luZmxvdy5jYXNoYDtcbiAgfVxuXG4gIGFzeW5jIGdldE5TdXJlUGFydG5lcklkKG1lcmNoYW50SWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGZldGNoKHRoaXMudXJsICsgYC9tZXJjaGFudC92aWV3LyR7bWVyY2hhbnRJZH1gKVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuanNvbigpKVxuICAgICAgLnRoZW4oXG4gICAgICAgIChqc29uOiB7XG4gICAgICAgICAgblN1cmVQYXJ0bmVySWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgICBuU3VyZVNldHRpbmdzOiB7blN1cmVQYXJ0bmVySWQ6IHN0cmluZyB8IHVuZGVmaW5lZH07XG4gICAgICAgIH0pID0+IGpzb24ublN1cmVTZXR0aW5ncz8ublN1cmVQYXJ0bmVySWQgfHwganNvbi5uU3VyZVBhcnRuZXJJZFxuICAgICAgKVxuICAgICAgLmNhdGNoKGUgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29pbmZsb3dCYXNlVXJsKGVudj86IENvaW5mbG93RW52cyk6IHN0cmluZyB7XG4gICAgaWYgKCFlbnYgfHwgZW52ID09PSAncHJvZCcpIHJldHVybiAnaHR0cHM6Ly9jb2luZmxvdy5jYXNoJztcbiAgICBpZiAoZW52ID09PSAnbG9jYWwnKSByZXR1cm4gJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMCc7XG5cbiAgICByZXR1cm4gYGh0dHBzOi8vJHtlbnZ9LmNvaW5mbG93LmNhc2hgO1xuICB9XG5cbiAgc3RhdGljIGdldENvaW5mbG93QXBpVXJsKGVudj86IENvaW5mbG93RW52cyk6IHN0cmluZyB7XG4gICAgaWYgKCFlbnYgfHwgZW52ID09PSAncHJvZCcpIHJldHVybiAnaHR0cHM6Ly9hcGkuY29pbmZsb3cuY2FzaCc7XG4gICAgaWYgKGVudiA9PT0gJ2xvY2FsJykgcmV0dXJuICdodHRwOi8vbG9jYWxob3N0OjUwMDAnO1xuXG4gICAgcmV0dXJuIGBodHRwczovL2FwaS0ke2Vudn0uY29pbmZsb3cuY2FzaGA7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29pbmZsb3dVcmwoe1xuICAgIHdhbGxldFB1YmtleSxcbiAgICBzZXNzaW9uS2V5LFxuICAgIHJvdXRlLFxuICAgIHJvdXRlUHJlZml4LFxuICAgIGVudixcbiAgICBzdWJ0b3RhbCxcbiAgICB0cmFuc2FjdGlvbixcbiAgICBibG9ja2NoYWluID0gJ3NvbGFuYScsXG4gICAgd2ViaG9va0luZm8sXG4gICAgZW1haWwsXG4gICAgbG9hZGVyQmFja2dyb3VuZCxcbiAgICBoYW5kbGVIZWlnaHRDaGFuZ2UsXG4gICAgYmFua0FjY291bnRMaW5rUmVkaXJlY3QsXG4gICAgYWRkaXRpb25hbFdhbGxldHMsXG4gICAgbmVhckRlcG9zaXQsXG4gICAgY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhLFxuICAgIG1lcmNoYW50Q3NzLFxuICAgIGNvbG9yLFxuICAgIHJlbnQsXG4gICAgbG9ja0RlZmF1bHRUb2tlbixcbiAgICB0b2tlbnMsXG4gICAgcGxhbkNvZGUsXG4gICAgZGlzYWJsZUFwcGxlUGF5LFxuICAgIGRpc2FibGVHb29nbGVQYXksXG4gICAgY3VzdG9tZXJJbmZvLFxuICAgIHNldHRsZW1lbnRUeXBlLFxuICAgIGxvY2tBbW91bnQsXG4gICAgbmF0aXZlU29sVG9Db252ZXJ0LFxuICAgIHRoZW1lLFxuICAgIHVzZVBlcm1pdCxcbiAgICB0cmFuc2FjdGlvblNpZ25lcixcbiAgICBhdXRoT25seSxcbiAgICBkZXZpY2VJZCxcbiAgICBqd3RUb2tlbixcbiAgICBvcmlnaW5zLFxuICAgIHRocmVlRHNDaGFsbGVuZ2VQcmVmZXJlbmNlLFxuICAgIHN1cHBvcnRFbWFpbCxcbiAgICBkZXN0aW5hdGlvbkF1dGhLZXksXG4gIH06IENvaW5mbG93SUZyYW1lUHJvcHMpOiBzdHJpbmcge1xuICAgIGNvbnN0IHByZWZpeCA9IHJvdXRlUHJlZml4XG4gICAgICA/IGAvJHtyb3V0ZVByZWZpeH0vJHtibG9ja2NoYWlufWBcbiAgICAgIDogYC8ke2Jsb2NrY2hhaW59YDtcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHByZWZpeCArIHJvdXRlLCBDb2luZmxvd1V0aWxzLmdldENvaW5mbG93QmFzZVVybChlbnYpKTtcblxuICAgIGlmICh3YWxsZXRQdWJrZXkpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdwdWJrZXknLCB3YWxsZXRQdWJrZXkpO1xuICAgIGlmIChzZXNzaW9uS2V5KSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnc2Vzc2lvbktleScsIHNlc3Npb25LZXkpO1xuXG4gICAgaWYgKHRyYW5zYWN0aW9uKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndHJhbnNhY3Rpb24nLCB0cmFuc2FjdGlvbik7XG4gICAgfVxuXG4gICAgaWYgKHN1YnRvdGFsKSB7XG4gICAgICBpZiAoJ2NlbnRzJyBpbiBzdWJ0b3RhbCkge1xuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnY2VudHMnLCBzdWJ0b3RhbC5jZW50cy50b1N0cmluZygpKTtcbiAgICAgICAgaWYgKCdjdXJyZW5jeScgaW4gc3VidG90YWwpIHtcbiAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnY3VycmVuY3knLCBzdWJ0b3RhbC5jdXJyZW5jeS50b1N0cmluZygpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnY3VycmVuY3knLCBDdXJyZW5jeS5VU0QpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndG9rZW4nLCBzdWJ0b3RhbC5hZGRyZXNzLnRvU3RyaW5nKCkpO1xuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYW1vdW50Jywgc3VidG90YWwuYW1vdW50LnRvU3RyaW5nKCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh3ZWJob29rSW5mbykge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICd3ZWJob29rSW5mbycsXG4gICAgICAgIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHdlYmhvb2tJbmZvKSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoZW1lKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ3RoZW1lJyxcbiAgICAgICAgTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkodGhlbWUpKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoY3VzdG9tZXJJbmZvKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ2N1c3RvbWVySW5mbycsXG4gICAgICAgIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGN1c3RvbWVySW5mbykpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChlbWFpbCkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2VtYWlsJywgZW1haWwpO1xuICAgIH1cbiAgICBpZiAoc3VwcG9ydEVtYWlsKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnc3VwcG9ydEVtYWlsJywgc3VwcG9ydEVtYWlsKTtcblxuICAgIGlmICh0b2tlbnMpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCd0b2tlbnMnLCB0b2tlbnMudG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgaWYgKGxvYWRlckJhY2tncm91bmQpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdsb2FkZXJCYWNrZ3JvdW5kJywgbG9hZGVyQmFja2dyb3VuZCk7XG4gICAgfVxuXG4gICAgaWYgKGhhbmRsZUhlaWdodENoYW5nZSkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3VzZUhlaWdodENoYW5nZScsICd0cnVlJyk7XG4gICAgfVxuXG4gICAgaWYgKGJhbmtBY2NvdW50TGlua1JlZGlyZWN0KSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ2JhbmtBY2NvdW50TGlua1JlZGlyZWN0JyxcbiAgICAgICAgYmFua0FjY291bnRMaW5rUmVkaXJlY3RcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGFkZGl0aW9uYWxXYWxsZXRzKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICdhZGRpdGlvbmFsV2FsbGV0cycsXG4gICAgICAgIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGFkZGl0aW9uYWxXYWxsZXRzKVxuICAgICAgICApXG4gICAgICApO1xuXG4gICAgaWYgKG5lYXJEZXBvc2l0KSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbmVhckRlcG9zaXQnLCBuZWFyRGVwb3NpdCk7XG5cbiAgICBpZiAoY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICdjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEnLFxuICAgICAgICBMWlN0cmluZy5jb21wcmVzc1RvRW5jb2RlZFVSSUNvbXBvbmVudChcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgaWYgKGRldmljZUlkKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnZGV2aWNlSWQnLCBkZXZpY2VJZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgZGV2aWNlSWQgPSB3aW5kb3c/Lm5TdXJlU0RLPy5nZXREZXZpY2VJZCgpO1xuICAgICAgICBpZiAoZGV2aWNlSWQpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdkZXZpY2VJZCcsIGRldmljZUlkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobWVyY2hhbnRDc3MpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdtZXJjaGFudENzcycsIG1lcmNoYW50Q3NzKTtcbiAgICBpZiAoY29sb3IpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdjb2xvcicsIGNvbG9yKTtcbiAgICBpZiAocmVudCkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3JlbnQnLCByZW50LmxhbXBvcnRzLnRvU3RyaW5nKCkpO1xuICAgIGlmIChuYXRpdmVTb2xUb0NvbnZlcnQpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ25hdGl2ZVNvbFRvQ29udmVydCcsXG4gICAgICAgIG5hdGl2ZVNvbFRvQ29udmVydC5sYW1wb3J0cy50b1N0cmluZygpXG4gICAgICApO1xuICAgIGlmIChsb2NrRGVmYXVsdFRva2VuKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbG9ja0RlZmF1bHRUb2tlbicsICd0cnVlJyk7XG4gICAgaWYgKHBsYW5Db2RlKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgncGxhbkNvZGUnLCBwbGFuQ29kZSk7XG5cbiAgICBpZiAoZGlzYWJsZUFwcGxlUGF5KSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnZGlzYWJsZUFwcGxlUGF5JywgJ3RydWUnKTtcbiAgICBpZiAoZGlzYWJsZUdvb2dsZVBheSkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2Rpc2FibGVHb29nbGVQYXknLCAndHJ1ZScpO1xuICAgIGlmIChzZXR0bGVtZW50VHlwZSlcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdzZXR0bGVtZW50VHlwZScsIHNldHRsZW1lbnRUeXBlKTtcblxuICAgIGlmIChsb2NrQW1vdW50KSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbG9ja0Ftb3VudCcsICd0cnVlJyk7XG5cbiAgICBpZiAodXNlUGVybWl0ID09PSBmYWxzZSkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3VzZVBlcm1pdCcsICdmYWxzZScpO1xuICAgIGlmICh0cmFuc2FjdGlvblNpZ25lcilcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCd0cmFuc2FjdGlvblNpZ25lcicsIHRyYW5zYWN0aW9uU2lnbmVyKTtcbiAgICBpZiAoYXV0aE9ubHkgPT09IHRydWUpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhdXRoT25seScsICd0cnVlJyk7XG4gICAgaWYgKGp3dFRva2VuKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnand0VG9rZW4nLCBqd3RUb2tlbik7XG4gICAgaWYgKG9yaWdpbnMpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ29yaWdpbnMnLFxuICAgICAgICBMWlN0cmluZy5jb21wcmVzc1RvRW5jb2RlZFVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShvcmlnaW5zKSlcbiAgICAgICk7XG5cbiAgICBpZiAodGhyZWVEc0NoYWxsZW5nZVByZWZlcmVuY2UpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ3RocmVlRHNDaGFsbGVuZ2VQcmVmZXJlbmNlJyxcbiAgICAgICAgdGhyZWVEc0NoYWxsZW5nZVByZWZlcmVuY2VcbiAgICAgICk7XG5cbiAgICBpZiAoZGVzdGluYXRpb25BdXRoS2V5KVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2Rlc3RpbmF0aW9uQXV0aEtleScsIGRlc3RpbmF0aW9uQXV0aEtleSk7XG5cbiAgICByZXR1cm4gdXJsLnRvU3RyaW5nKCk7XG4gIH1cblxuICBzdGF0aWMgZ2V0VHJhbnNhY3Rpb24ocHJvcHM6IENvaW5mbG93UHVyY2hhc2VQcm9wcyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFwcm9wcy5ibG9ja2NoYWluKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHRoaXMuYnlCbG9ja2NoYWluPCgpID0+IHN0cmluZyB8IHVuZGVmaW5lZD4ocHJvcHMuYmxvY2tjaGFpbiwge1xuICAgICAgc29sYW5hOiAoKSA9PiB7XG4gICAgICAgIGlmICghKCd0cmFuc2FjdGlvbicgaW4gcHJvcHMpKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB7dHJhbnNhY3Rpb259ID0gcHJvcHM7XG4gICAgICAgIGlmICghd2ViMylcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Bzb2xhbmEvd2ViMy5qcyBkZXBlbmRlbmN5IGlzIHJlcXVpcmVkIGZvciBTb2xhbmEnKTtcbiAgICAgICAgaWYgKCFiYXNlNTgpIHRocm93IG5ldyBFcnJvcignYnM1OCBkZXBlbmRlbmN5IGlzIHJlcXVpcmVkIGZvciBTb2xhbmEnKTtcbiAgICAgICAgaWYgKCF0cmFuc2FjdGlvbikgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIGJhc2U1OC5lbmNvZGUoXG4gICAgICAgICAgKHRyYW5zYWN0aW9uIGFzIFZlcnNpb25lZFRyYW5zYWN0aW9uIHwgVHJhbnNhY3Rpb24pLnNlcmlhbGl6ZSh7XG4gICAgICAgICAgICByZXF1aXJlQWxsU2lnbmF0dXJlczogZmFsc2UsXG4gICAgICAgICAgICB2ZXJpZnlTaWduYXR1cmVzOiBmYWxzZSxcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIHBvbHlnb246ICgpID0+IHtcbiAgICAgICAgaWYgKCEoJ3RyYW5zYWN0aW9uJyBpbiBwcm9wcykpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHt0cmFuc2FjdGlvbn0gPSBwcm9wcztcbiAgICAgICAgcmV0dXJuIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRyYW5zYWN0aW9uKVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIGV0aDogKCkgPT4ge1xuICAgICAgICBpZiAoISgndHJhbnNhY3Rpb24nIGluIHByb3BzKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qge3RyYW5zYWN0aW9ufSA9IHByb3BzO1xuICAgICAgICByZXR1cm4gTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkodHJhbnNhY3Rpb24pXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgYmFzZTogKCkgPT4ge1xuICAgICAgICBpZiAoISgndHJhbnNhY3Rpb24nIGluIHByb3BzKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qge3RyYW5zYWN0aW9ufSA9IHByb3BzO1xuICAgICAgICByZXR1cm4gTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkodHJhbnNhY3Rpb24pXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgYXJiaXRydW06ICgpID0+IHtcbiAgICAgICAgaWYgKCEoJ3RyYW5zYWN0aW9uJyBpbiBwcm9wcykpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHt0cmFuc2FjdGlvbn0gPSBwcm9wcztcbiAgICAgICAgcmV0dXJuIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRyYW5zYWN0aW9uKVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIG5lYXI6ICgpID0+IHtcbiAgICAgICAgaWYgKCEoJ2FjdGlvbicgaW4gcHJvcHMpKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB7YWN0aW9ufSA9IHByb3BzO1xuICAgICAgICByZXR1cm4gTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoYWN0aW9uKSk7XG4gICAgICB9LFxuICAgICAgdXNlcjogKCkgPT4ge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfSxcbiAgICB9KSgpO1xuICB9XG5cbiAgc3RhdGljIGJ5QmxvY2tjaGFpbjxUPihcbiAgICBibG9ja2NoYWluOiBDb2luZmxvd0Jsb2NrY2hhaW4sXG4gICAgYXJnczoge1xuICAgICAgc29sYW5hOiBUO1xuICAgICAgbmVhcjogVDtcbiAgICAgIGV0aDogVDtcbiAgICAgIHBvbHlnb246IFQ7XG4gICAgICBiYXNlOiBUO1xuICAgICAgYXJiaXRydW06IFQ7XG4gICAgICB1c2VyOiBUO1xuICAgIH1cbiAgKTogVCB7XG4gICAgc3dpdGNoIChibG9ja2NoYWluKSB7XG4gICAgICBjYXNlICdzb2xhbmEnOlxuICAgICAgICByZXR1cm4gYXJncy5zb2xhbmE7XG4gICAgICBjYXNlICduZWFyJzpcbiAgICAgICAgcmV0dXJuIGFyZ3MubmVhcjtcbiAgICAgIGNhc2UgJ3BvbHlnb24nOlxuICAgICAgICByZXR1cm4gYXJncy5wb2x5Z29uO1xuICAgICAgY2FzZSAnZXRoJzpcbiAgICAgICAgcmV0dXJuIGFyZ3MuZXRoO1xuICAgICAgY2FzZSAnYmFzZSc6XG4gICAgICAgIHJldHVybiBhcmdzLmJhc2U7XG4gICAgICBjYXNlICdhcmJpdHJ1bSc6XG4gICAgICAgIHJldHVybiBhcmdzLmFyYml0cnVtO1xuICAgICAgY2FzZSAndXNlcic6XG4gICAgICAgIHJldHVybiBhcmdzLnVzZXI7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Jsb2NrY2hhaW4gbm90IHN1cHBvcnRlZCEnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ export var Currency;
2
+ (function (Currency) {
3
+ Currency["USD"] = "USD";
4
+ Currency["EUR"] = "EUR";
5
+ Currency["GBP"] = "GBP";
6
+ Currency["BRL"] = "BRL";
7
+ })(Currency || (Currency = {}));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VidG90YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2xpYi9jb21tb24vU3VidG90YWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksUUFLWDtBQUxELFdBQVksUUFBUTtJQUNsQix1QkFBVyxDQUFBO0lBQ1gsdUJBQVcsQ0FBQTtJQUNYLHVCQUFXLENBQUE7SUFDWCx1QkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUxXLFFBQVEsS0FBUixRQUFRLFFBS25CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ3VycmVuY3kge1xuICBVU0QgPSAnVVNEJyxcbiAgRVVSID0gJ0VVUicsXG4gIEdCUCA9ICdHQlAnLFxuICBCUkwgPSAnQlJMJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZW50cyB7XG4gIC8qKlxuICAgKiBAaXNJbnQgQ2VudHMgbXVzdCBiZSBhbiBpbnRlZ2VyXG4gICAqIEBtaW5pbXVtIDAgTWluaW11bSBDZW50cyBpcyAwXG4gICAqL1xuICBjZW50czogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1cnJlbmN5Q2VudHMgZXh0ZW5kcyBDZW50cyB7XG4gIGN1cnJlbmN5OiBDdXJyZW5jeTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlblN1YnRvdGFsIHtcbiAgLyoqXG4gICAqIFRoZSB0b2tlbnMgYWRkcmVzc1xuICAgKlxuICAgKiBTb2xhbmEgLSBUb2tlbiBNaW50IEFkZHJlc3NcbiAgICogRXZtIC0gVG9rZW4gQ29udHJhY3QgQWRkcmVzc1xuICAgKi9cbiAgYWRkcmVzczogc3RyaW5nO1xuICAvKipcbiAgICogTnVtYmVyIG9mIHRva2Vuc1xuICAgKi9cbiAgYW1vdW50OiBudW1iZXIgfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgZGVjaW1hbHMgZm9yIHRoZSB0b2tlblxuICAgKi9cbiAgZGVjaW1hbHM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFN1YnRvdGFsID0gQ3VycmVuY3lDZW50cyB8IENlbnRzIHwgVG9rZW5TdWJ0b3RhbDtcblxuZXhwb3J0IGludGVyZmFjZSBOZWFyRGVwb3NpdCB7XG4gIHlvY3RvOiBzdHJpbmc7XG59XG4iXX0=
@@ -8,4 +8,4 @@ export const CARD_TYPE_MAPPING = {
8
8
  [CardType.AMEX]: 'americanExpress',
9
9
  [CardType.DISCOVER]: 'discover',
10
10
  };
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9rZW5FeC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9jYXJkLWZvcm0vVG9rZW5FeC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFFbEQsT0FBTyxFQUFDLFFBQVEsRUFBZSxNQUFNLGtCQUFrQixDQUFDO0FBR3hELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLG1CQUFtQixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLGdCQUFnQixDQUFDO0FBS3RELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUE2QjtJQUN6RCxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNO0lBQ3ZCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFlBQVk7SUFDbkMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsaUJBQWlCO0lBQ2xDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFVBQVU7Q0FDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFR5cGUgZGVmaW5pdGlvbnMgZm9yIFRva2VuRXggaWZyYW1lIGludGVncmF0aW9uXG5cbmltcG9ydCB7Q2FyZFR5cGUsIENvaW5mbG93RW52c30gZnJvbSAnLi4vQ29pbmZsb3dUeXBlcyc7XG5pbXBvcnQge0NTU1Byb3BlcnRpZXN9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGNvbnN0IFRva2VuRXhDYXJkTnVtYmVySWZyYW1lSWQgPSAndG9rZW5FeENhcmROdW1iZXInO1xuZXhwb3J0IGNvbnN0IFRva2VuRXhDdnZDb250YWluZXJJRCA9ICd0b2tlbkV4Q2FyZEN2dic7XG5leHBvcnQgaW50ZXJmYWNlIFRva2VuRXhJZnJhbWUgZXh0ZW5kcyBSZXR1cm5UeXBlPHR5cGVvZiBUb2tlbkV4LklmcmFtZT4ge1xuICB0b2tlbml6ZTogKCkgPT4gUHJvbWlzZTxUb2tlbml6YXRpb25SZXNwb25zZT47XG59XG5cbmV4cG9ydCBjb25zdCBDQVJEX1RZUEVfTUFQUElORzogUmVjb3JkPENhcmRUeXBlLCBzdHJpbmc+ID0ge1xuICBbQ2FyZFR5cGUuVklTQV06ICd2aXNhJyxcbiAgW0NhcmRUeXBlLk1BU1RFUkNBUkRdOiAnbWFzdGVyQ2FyZCcsXG4gIFtDYXJkVHlwZS5BTUVYXTogJ2FtZXJpY2FuRXhwcmVzcycsXG4gIFtDYXJkVHlwZS5ESVNDT1ZFUl06ICdkaXNjb3ZlcicsXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRva2VuRXhJRnJhbWVDb25maWd1cmF0aW9uIHtcbiAgb3JpZ2luOiBzdHJpbmc7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xuICB0b2tlbkV4SUQ6IHN0cmluZztcbiAgdG9rZW5TY2hlbWU6IHN0cmluZztcbiAgYXV0aGVudGljYXRpb25LZXk6IHN0cmluZztcbiAgcGNpOiB0cnVlO1xuICB0b2tlbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXJkRm9ybUlucHV0U3R5bGVzIHtcbiAgYmFzZTogQ1NTUHJvcGVydGllcyB8IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBDU1NQcm9wZXJ0aWVzIHwgc3RyaW5nO1xuICBmb2N1cz86IENTU1Byb3BlcnRpZXMgfCBzdHJpbmc7XG4gIGVycm9yPzogQ1NTUHJvcGVydGllcyB8IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQ29pbmZsb3dDYXJkVG9rZW5SZXNwb25zZSA9IHtcbiAgdG9rZW46IHN0cmluZztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dDYXJkTnVtYmVySW5wdXRQcm9wcyB7XG4gIGVudjogQ29pbmZsb3dFbnZzO1xuICBjc3M6IENhcmRGb3JtSW5wdXRTdHlsZXMgJiB7Y3Z2OiBDYXJkRm9ybUlucHV0U3R5bGVzfTtcbiAgZGVidWc/OiBib29sZWFuO1xuICBvcmlnaW5zPzogc3RyaW5nW107XG4gIGZvbnQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dDdnZPbmx5SW5wdXRQcm9wcyB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGNhcmRUeXBlOiBDYXJkVHlwZTtcbiAgZW52OiBDb2luZmxvd0VudnM7XG4gIGNzczogQ2FyZEZvcm1JbnB1dFN0eWxlcyAmIHtjdnY6IENhcmRGb3JtSW5wdXRTdHlsZXN9O1xuICBkZWJ1Zz86IGJvb2xlYW47XG4gIG9yaWdpbnM/OiBzdHJpbmdbXTtcbiAgZm9udD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbml6YXRpb25SZXNwb25zZSB7XG4gIGNhcmRUeXBlOiBzdHJpbmc7XG4gIGN2dkluY2x1ZGVkOiB0cnVlO1xuICBmaXJzdFNpeDogc3RyaW5nO1xuICBsYXN0Rm91cjogc3RyaW5nO1xuICByZWZlcmVuY2VOdW1iZXI6IHN0cmluZztcbiAgdG9rZW46IHN0cmluZztcbiAgdG9rZW5ITUFDOiBzdHJpbmc7XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2VcbiAgbmFtZXNwYWNlIFRva2VuRXgge1xuICAgIGludGVyZmFjZSBGcmF1ZFNlcnZpY2VzQ29uZmlnIHtcbiAgICAgIHVzZUtvdW50PzogYm9vbGVhbjtcbiAgICAgIGtvdW50Pzoge1xuICAgICAgICBtZXJjaGFudElkPzogc3RyaW5nO1xuICAgICAgICBtb2RlPzogc3RyaW5nO1xuICAgICAgICBhbklkPzogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBpbnRlcmZhY2UgQ29uZmlnIHtcbiAgICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICAgIGVuYWJsZVByZXR0eUZvcm1hdD86IGJvb2xlYW47XG4gICAgICBtYXNrSW5wdXQ/OiBib29sZWFuO1xuICAgICAgZW5hYmxlVmFsaWRhdGVPbkJsdXI/OiBib29sZWFuO1xuICAgICAgZW5hYmxlQXJpYVJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICAgIHBjaT86IGJvb2xlYW47XG4gICAgICBjdnZPbmx5PzogYm9vbGVhbjtcbiAgICAgIGFsbG93VW5rbm93bkNhcmRUeXBlcz86IGJvb2xlYW47XG4gICAgICBlbmFibGVBdXRvQ29tcGxldGU/OiBib29sZWFuO1xuICAgICAgcmV0dXJuQXV0b0NvbXBsZXRlVmFsdWVzPzogYm9vbGVhbjtcbiAgICAgIHJldHVybktoYXNoPzogYm9vbGVhbjtcbiAgICAgIHJldHVybldoYXNoPzogYm9vbGVhbjtcbiAgICAgIGVuZm9yY2VMdWhuQ29tcGxpYW5jZT86IGJvb2xlYW47XG4gICAgICB1c2UzRFM/OiBib29sZWFuO1xuICAgICAgZW5hYmxlVmFsaWRhdGVPbktleVVwPzogYm9vbGVhbjtcbiAgICAgIGVuYWJsZVZhbGlkYXRlT25DdnZLZXlVcD86IGJvb2xlYW47XG4gICAgICBleHBpcmVzSW5TZWNvbmRzPzogbnVtYmVyO1xuICAgICAgdXNlRXh0ZW5kZWRCSU4/OiBib29sZWFuO1xuICAgICAgaW5saW5lSWZyYW1lSmF2YVNjcmlwdD86IGJvb2xlYW47XG4gICAgICBpZnJhbWVWZXJzaW9uPzogbnVtYmVyO1xuICAgICAgYXV0aGVudGljYXRpb25LZXk/OiBzdHJpbmc7XG4gICAgICBvcmlnaW4/OiBzdHJpbmc7XG4gICAgICB0b2tlbkV4SUQ/OiBzdHJpbmc7XG4gICAgICB0aW1lc3RhbXA/OiBzdHJpbmc7XG4gICAgICB0b2tlblNjaGVtZT86IHN0cmluZztcbiAgICAgIHRva2VuPzogc3RyaW5nO1xuICAgICAgY3VzdG9tRGF0YUxhYmVsPzogc3RyaW5nO1xuICAgICAgY3VzdG9tQ3Z2RGF0YUxhYmVsPzogc3RyaW5nO1xuICAgICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgICBjdnZUaXRsZT86IHN0cmluZztcbiAgICAgIGlucHV0VGl0bGU/OiBzdHJpbmc7XG4gICAgICBjdnZJbnB1dFRpdGxlPzogc3RyaW5nO1xuICAgICAgY2FyZE1heExlbmd0aHM/OiB7XG4gICAgICAgIHZpc2E/OiBudW1iZXI7XG4gICAgICAgIG1hc3RlcmNhcmQ/OiBudW1iZXI7XG4gICAgICAgIGFtZXJpY2FuRXhwcmVzcz86IG51bWJlcjtcbiAgICAgICAgZGlzY292ZXI/OiBudW1iZXI7XG4gICAgICAgIGpjYj86IG51bWJlcjtcbiAgICAgICAgZGluZXJzPzogbnVtYmVyO1xuICAgICAgfTtcbiAgICAgIGZyYXVkU2VydmljZXM/OiBGcmF1ZFNlcnZpY2VzQ29uZmlnO1xuICAgICAgdGhyZWVEU01ldGhvZE5vdGlmaWNhdGlvblVybD86IHN0cmluZztcbiAgICAgIGN1c3RvbURhdGFUeXBlcz86IHN0cmluZyB8IG9iamVjdDtcbiAgICAgIGN2dkNvbnRhaW5lcklEPzogc3RyaW5nO1xuICAgICAgY3Z2UGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgICBjYXJkVHlwZT86IHN0cmluZztcbiAgICAgIGZvcnRlclNpdGVJZD86IHN0cmluZztcbiAgICAgIGZvcnRlclVzZXJuYW1lPzogc3RyaW5nO1xuICAgICAgY3VzdG9tUmVnRXg/OiBzdHJpbmc7XG4gICAgICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICAgIGlucHV0VHlwZT86IHN0cmluZztcbiAgICAgIGlucHV0TW9kZT86IHN0cmluZztcbiAgICAgIGZvbnQ/OiBzdHJpbmc7XG4gICAgICBjdnY/OiBib29sZWFuO1xuICAgICAgc3R5bGVzOiB7XG4gICAgICAgIGJhc2U6IHN0cmluZztcbiAgICAgICAgZm9jdXM6IHN0cmluZztcbiAgICAgICAgZXJyb3I6IHN0cmluZztcbiAgICAgICAgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICAgICAgY3Z2OiB7YmFzZTogc3RyaW5nOyBmb2N1czogc3RyaW5nOyBwbGFjZWhvbGRlcjogc3RyaW5nOyBlcnJvcjogc3RyaW5nfTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaW50ZXJmYWNlIElmcmFtZUFQSSB7XG4gICAgICBsb2FkKCk6IHZvaWQ7XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICBvbjogKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiAoZGF0YT86IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcblxuICAgICAgdG9rZW5pemUoKTogdm9pZDtcblxuICAgICAgdmFsaWRhdGUoKTogdm9pZDtcblxuICAgICAgcmVzZXQoKTogdm9pZDtcblxuICAgICAgYmx1cigpOiB2b2lkO1xuXG4gICAgICBjdnZCbHVyKCk6IHZvaWQ7XG5cbiAgICAgIGZvY3VzKCk6IHZvaWQ7XG5cbiAgICAgIGN2dkZvY3VzKCk6IHZvaWQ7XG5cbiAgICAgIHJlbW92ZSgpOiB2b2lkO1xuXG4gICAgICB0b2dnbGVNYXNrKCk6IHZvaWQ7XG5cbiAgICAgIHRvZ2dsZUN2dk1hc2soKTogdm9pZDtcblxuICAgICAgc2V0UEFOKHBhbjogc3RyaW5nKTogdm9pZDtcblxuICAgICAgYmluTG9va3VwKCk6IHZvaWQ7XG5cbiAgICAgIHZhbGlkYXRlQ29uZmlnKCk6IHZvaWQ7XG5cbiAgICAgIHNldEZyYXVkU2VydmljZXNSZXF1ZXN0RGV0YWlscyhkYXRhOiBzdHJpbmcpOiB2b2lkO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIElmcmFtZShjb250YWluZXJJRDogc3RyaW5nLCBjb25maWd1cmF0aW9uOiBDb25maWcpOiBJZnJhbWVBUEk7XG4gIH1cbn1cbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9rZW5FeC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9jYXJkLWZvcm0vVG9rZW5FeC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFFbEQsT0FBTyxFQUFDLFFBQVEsRUFBZSxNQUFNLGtCQUFrQixDQUFDO0FBR3hELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLG1CQUFtQixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLGdCQUFnQixDQUFDO0FBS3RELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUE2QjtJQUN6RCxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNO0lBQ3ZCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFlBQVk7SUFDbkMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsaUJBQWlCO0lBQ2xDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFVBQVU7Q0FDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFR5cGUgZGVmaW5pdGlvbnMgZm9yIFRva2VuRXggaWZyYW1lIGludGVncmF0aW9uXG5cbmltcG9ydCB7Q2FyZFR5cGUsIENvaW5mbG93RW52c30gZnJvbSAnLi4vQ29pbmZsb3dUeXBlcyc7XG5pbXBvcnQge0NTU1Byb3BlcnRpZXN9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGNvbnN0IFRva2VuRXhDYXJkTnVtYmVySWZyYW1lSWQgPSAndG9rZW5FeENhcmROdW1iZXInO1xuZXhwb3J0IGNvbnN0IFRva2VuRXhDdnZDb250YWluZXJJRCA9ICd0b2tlbkV4Q2FyZEN2dic7XG5leHBvcnQgaW50ZXJmYWNlIFRva2VuRXhJZnJhbWUgZXh0ZW5kcyBSZXR1cm5UeXBlPHR5cGVvZiBUb2tlbkV4LklmcmFtZT4ge1xuICB0b2tlbml6ZTogKCkgPT4gUHJvbWlzZTxUb2tlbml6YXRpb25SZXNwb25zZT47XG59XG5cbmV4cG9ydCBjb25zdCBDQVJEX1RZUEVfTUFQUElORzogUmVjb3JkPENhcmRUeXBlLCBzdHJpbmc+ID0ge1xuICBbQ2FyZFR5cGUuVklTQV06ICd2aXNhJyxcbiAgW0NhcmRUeXBlLk1BU1RFUkNBUkRdOiAnbWFzdGVyQ2FyZCcsXG4gIFtDYXJkVHlwZS5BTUVYXTogJ2FtZXJpY2FuRXhwcmVzcycsXG4gIFtDYXJkVHlwZS5ESVNDT1ZFUl06ICdkaXNjb3ZlcicsXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRva2VuRXhJRnJhbWVDb25maWd1cmF0aW9uIHtcbiAgb3JpZ2luOiBzdHJpbmc7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xuICB0b2tlbkV4SUQ6IHN0cmluZztcbiAgdG9rZW5TY2hlbWU6IHN0cmluZztcbiAgYXV0aGVudGljYXRpb25LZXk6IHN0cmluZztcbiAgcGNpOiB0cnVlO1xuICB0b2tlbj86IHN0cmluZztcbiAgdXNlM0RTPzogYm9vbGVhbjtcbiAgdGhyZWVEU01ldGhvZE5vdGlmaWNhdGlvblVybD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXJkRm9ybUlucHV0U3R5bGVzIHtcbiAgYmFzZTogQ1NTUHJvcGVydGllcyB8IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBDU1NQcm9wZXJ0aWVzIHwgc3RyaW5nO1xuICBmb2N1cz86IENTU1Byb3BlcnRpZXMgfCBzdHJpbmc7XG4gIGVycm9yPzogQ1NTUHJvcGVydGllcyB8IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQ29pbmZsb3dDYXJkVG9rZW5SZXNwb25zZSA9IHtcbiAgdG9rZW46IHN0cmluZztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dDYXJkTnVtYmVySW5wdXRQcm9wcyB7XG4gIGVudjogQ29pbmZsb3dFbnZzO1xuICBjc3M6IENhcmRGb3JtSW5wdXRTdHlsZXMgJiB7Y3Z2OiBDYXJkRm9ybUlucHV0U3R5bGVzfTtcbiAgZGVidWc/OiBib29sZWFuO1xuICBvcmlnaW5zOiBzdHJpbmdbXTtcbiAgZm9udD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0N2dk9ubHlJbnB1dFByb3BzIHtcbiAgdG9rZW46IHN0cmluZztcbiAgY2FyZFR5cGU6IENhcmRUeXBlO1xuICBlbnY6IENvaW5mbG93RW52cztcbiAgY3NzOiBDYXJkRm9ybUlucHV0U3R5bGVzICYge2N2djogQ2FyZEZvcm1JbnB1dFN0eWxlc307XG4gIGRlYnVnPzogYm9vbGVhbjtcbiAgb3JpZ2luczogc3RyaW5nW107XG4gIGZvbnQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyc2lvbkRldGFpbCB7XG4gIHRocmVlRFNNZXRob2RVUkw6IHN0cmluZztcbiAgYWNzU3RhcnRQcm90b2NvbFZlcnNpb246IHN0cmluZztcbiAgYWNzRW5kUHJvdG9jb2xWZXJzaW9uOiBzdHJpbmc7XG4gIHRocmVlRFNTZXJ2ZXJTdGFydFZlcnNpb246IHN0cmluZztcbiAgdGhyZWVEU1NlcnZlckVuZFZlcnNpb24/OiBzdHJpbmc7XG4gIGFjc0luZm9JbmQ6IFtzdHJpbmddO1xuICBkaXJlY3RvcnlTZXJ2ZXJJRDogc3RyaW5nO1xuICBkc1N0YXJ0UHJvdG9jb2xWZXJzaW9uOiBzdHJpbmc7XG4gIGRzRW5kUHJvdG9jb2xWZXJzaW9uOiBzdHJpbmc7XG4gIGRzSWRlbnRpZmllcjogc3RyaW5nO1xuICB0aHJlZURTU2VydmVyVHJhbnNJRDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRva2VuaXphdGlvblJlc3BvbnNlIHtcbiAgY2FyZFR5cGU6IHN0cmluZztcbiAgY3Z2SW5jbHVkZWQ6IHRydWU7XG4gIGZpcnN0U2l4OiBzdHJpbmc7XG4gIGxhc3RGb3VyOiBzdHJpbmc7XG4gIHJlZmVyZW5jZU51bWJlcjogc3RyaW5nO1xuICB0b2tlbjogc3RyaW5nO1xuICB0b2tlbkhNQUM6IHN0cmluZztcbiAgcmVjb21tZW5kZWQzZHNWZXJzaW9uPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgdGhyZWVEU2VjdXJlUmVzcG9uc2U/OiBWZXJzaW9uRGV0YWlsW107XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2VcbiAgbmFtZXNwYWNlIFRva2VuRXgge1xuICAgIGludGVyZmFjZSBGcmF1ZFNlcnZpY2VzQ29uZmlnIHtcbiAgICAgIHVzZUtvdW50PzogYm9vbGVhbjtcbiAgICAgIGtvdW50Pzoge1xuICAgICAgICBtZXJjaGFudElkPzogc3RyaW5nO1xuICAgICAgICBtb2RlPzogc3RyaW5nO1xuICAgICAgICBhbklkPzogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBpbnRlcmZhY2UgQ29uZmlnIHtcbiAgICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICAgIGVuYWJsZVByZXR0eUZvcm1hdD86IGJvb2xlYW47XG4gICAgICBtYXNrSW5wdXQ/OiBib29sZWFuO1xuICAgICAgZW5hYmxlVmFsaWRhdGVPbkJsdXI/OiBib29sZWFuO1xuICAgICAgZW5hYmxlQXJpYVJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICAgIHBjaT86IGJvb2xlYW47XG4gICAgICBjdnZPbmx5PzogYm9vbGVhbjtcbiAgICAgIGFsbG93VW5rbm93bkNhcmRUeXBlcz86IGJvb2xlYW47XG4gICAgICBlbmFibGVBdXRvQ29tcGxldGU/OiBib29sZWFuO1xuICAgICAgcmV0dXJuQXV0b0NvbXBsZXRlVmFsdWVzPzogYm9vbGVhbjtcbiAgICAgIHJldHVybktoYXNoPzogYm9vbGVhbjtcbiAgICAgIHJldHVybldoYXNoPzogYm9vbGVhbjtcbiAgICAgIGVuZm9yY2VMdWhuQ29tcGxpYW5jZT86IGJvb2xlYW47XG4gICAgICB1c2UzRFM/OiBib29sZWFuO1xuICAgICAgZW5hYmxlVmFsaWRhdGVPbktleVVwPzogYm9vbGVhbjtcbiAgICAgIGVuYWJsZVZhbGlkYXRlT25DdnZLZXlVcD86IGJvb2xlYW47XG4gICAgICBleHBpcmVzSW5TZWNvbmRzPzogbnVtYmVyO1xuICAgICAgdXNlRXh0ZW5kZWRCSU4/OiBib29sZWFuO1xuICAgICAgaW5saW5lSWZyYW1lSmF2YVNjcmlwdD86IGJvb2xlYW47XG4gICAgICBpZnJhbWVWZXJzaW9uPzogbnVtYmVyO1xuICAgICAgYXV0aGVudGljYXRpb25LZXk/OiBzdHJpbmc7XG4gICAgICBvcmlnaW4/OiBzdHJpbmc7XG4gICAgICB0b2tlbkV4SUQ/OiBzdHJpbmc7XG4gICAgICB0aW1lc3RhbXA/OiBzdHJpbmc7XG4gICAgICB0b2tlblNjaGVtZT86IHN0cmluZztcbiAgICAgIHRva2VuPzogc3RyaW5nO1xuICAgICAgY3VzdG9tRGF0YUxhYmVsPzogc3RyaW5nO1xuICAgICAgY3VzdG9tQ3Z2RGF0YUxhYmVsPzogc3RyaW5nO1xuICAgICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgICBjdnZUaXRsZT86IHN0cmluZztcbiAgICAgIGlucHV0VGl0bGU/OiBzdHJpbmc7XG4gICAgICBjdnZJbnB1dFRpdGxlPzogc3RyaW5nO1xuICAgICAgY2FyZE1heExlbmd0aHM/OiB7XG4gICAgICAgIHZpc2E/OiBudW1iZXI7XG4gICAgICAgIG1hc3RlcmNhcmQ/OiBudW1iZXI7XG4gICAgICAgIGFtZXJpY2FuRXhwcmVzcz86IG51bWJlcjtcbiAgICAgICAgZGlzY292ZXI/OiBudW1iZXI7XG4gICAgICAgIGpjYj86IG51bWJlcjtcbiAgICAgICAgZGluZXJzPzogbnVtYmVyO1xuICAgICAgfTtcbiAgICAgIGZyYXVkU2VydmljZXM/OiBGcmF1ZFNlcnZpY2VzQ29uZmlnO1xuICAgICAgdGhyZWVEU01ldGhvZE5vdGlmaWNhdGlvblVybD86IHN0cmluZztcbiAgICAgIGN1c3RvbURhdGFUeXBlcz86IHN0cmluZyB8IG9iamVjdDtcbiAgICAgIGN2dkNvbnRhaW5lcklEPzogc3RyaW5nO1xuICAgICAgY3Z2UGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgICBjYXJkVHlwZT86IHN0cmluZztcbiAgICAgIGZvcnRlclNpdGVJZD86IHN0cmluZztcbiAgICAgIGZvcnRlclVzZXJuYW1lPzogc3RyaW5nO1xuICAgICAgY3VzdG9tUmVnRXg/OiBzdHJpbmc7XG4gICAgICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICAgIGlucHV0VHlwZT86IHN0cmluZztcbiAgICAgIGlucHV0TW9kZT86IHN0cmluZztcbiAgICAgIGZvbnQ/OiBzdHJpbmc7XG4gICAgICBjdnY/OiBib29sZWFuO1xuICAgICAgc3R5bGVzOiB7XG4gICAgICAgIGJhc2U6IHN0cmluZztcbiAgICAgICAgZm9jdXM6IHN0cmluZztcbiAgICAgICAgZXJyb3I6IHN0cmluZztcbiAgICAgICAgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICAgICAgY3Z2OiB7YmFzZTogc3RyaW5nOyBmb2N1czogc3RyaW5nOyBwbGFjZWhvbGRlcjogc3RyaW5nOyBlcnJvcjogc3RyaW5nfTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaW50ZXJmYWNlIElmcmFtZUFQSSB7XG4gICAgICBsb2FkKCk6IHZvaWQ7XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICBvbjogKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiAoZGF0YT86IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcblxuICAgICAgdG9rZW5pemUoKTogdm9pZDtcblxuICAgICAgdmFsaWRhdGUoKTogdm9pZDtcblxuICAgICAgcmVzZXQoKTogdm9pZDtcblxuICAgICAgYmx1cigpOiB2b2lkO1xuXG4gICAgICBjdnZCbHVyKCk6IHZvaWQ7XG5cbiAgICAgIGZvY3VzKCk6IHZvaWQ7XG5cbiAgICAgIGN2dkZvY3VzKCk6IHZvaWQ7XG5cbiAgICAgIHJlbW92ZSgpOiB2b2lkO1xuXG4gICAgICB0b2dnbGVNYXNrKCk6IHZvaWQ7XG5cbiAgICAgIHRvZ2dsZUN2dk1hc2soKTogdm9pZDtcblxuICAgICAgc2V0UEFOKHBhbjogc3RyaW5nKTogdm9pZDtcblxuICAgICAgYmluTG9va3VwKCk6IHZvaWQ7XG5cbiAgICAgIHZhbGlkYXRlQ29uZmlnKCk6IHZvaWQ7XG5cbiAgICAgIHNldEZyYXVkU2VydmljZXNSZXF1ZXN0RGV0YWlscyhkYXRhOiBzdHJpbmcpOiB2b2lkO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIElmcmFtZShjb250YWluZXJJRDogc3RyaW5nLCBjb25maWd1cmF0aW9uOiBDb25maWcpOiBJZnJhbWVBUEk7XG4gIH1cbn1cbiJdfQ==
@@ -1,15 +1,18 @@
1
1
  import { TokenExCvvContainerID, CARD_TYPE_MAPPING, TokenExCardNumberIframeId, } from './TokenEx';
2
2
  import { CoinflowUtils } from '../CoinflowUtils';
3
- export async function getIframeConfig({ token, origins, env, }) {
3
+ export async function getIframeConfig(args) {
4
+ const { token, origins, env } = args;
4
5
  return new Promise((resolve, reject) => {
5
- fetch(new CoinflowUtils(env).url + '/api/checkout/authentication-key', {
6
+ fetch(new CoinflowUtils(env).url + '/api/checkout/v2/authentication-key', {
6
7
  method: 'POST',
7
8
  headers: {
8
9
  'Content-Type': 'application/json',
9
10
  },
10
11
  body: JSON.stringify({
11
- origins: [...(origins ?? []), window.location.origin],
12
+ origins,
12
13
  token,
14
+ merchantId: 'merchantId' in args ? args.merchantId : undefined,
15
+ checkoutJwt: 'checkoutJwt' in args ? args.checkoutJwt : undefined,
13
16
  }),
14
17
  })
15
18
  .then(async (res) => {
@@ -92,15 +95,15 @@ export async function doInitializeTokenExIframe(args) {
92
95
  export async function doInitializeTokenExCardOnlyIframe(args) {
93
96
  return await doInitialize(TokenExCardNumberIframeId, args, { cvv: false });
94
97
  }
95
- async function doInitialize(id, { tokenExScriptLoaded, origins, env, css, debug, font, setCachedToken, setLoaded, }, configOverrides) {
98
+ async function doInitialize(id, args, configOverrides) {
99
+ const { tokenExScriptLoaded, css, debug, font, setCachedToken, setLoaded } = args;
96
100
  if (!tokenExScriptLoaded && typeof TokenEx === 'undefined') {
97
101
  console.warn('Warning Unable to load TokenEx on first attempt waiting for load event from document.head.script#tokenex-script');
98
102
  return;
99
103
  }
100
104
  const iframeConfig = await getIframeConfig({
105
+ ...args,
101
106
  token: configOverrides.token,
102
- origins,
103
- env,
104
107
  });
105
108
  const { styles } = getStyles(css);
106
109
  const config = {
@@ -151,4 +154,4 @@ function CSSPropertiesToComponent(dict) {
151
154
  }
152
155
  return str;
153
156
  }
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5leEhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2xpYi9jb21tb24vY2FyZC1mb3JtL3Rva2VuZXhIZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFFTCxxQkFBcUIsRUFHckIsaUJBQWlCLEVBQ2pCLHlCQUF5QixHQUMxQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFvQi9DLE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZSxDQUFDLEVBQ3BDLEtBQUssRUFDTCxPQUFPLEVBQ1AsR0FBRyxHQUtKO0lBQ0MsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNyQyxLQUFLLENBQUMsSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLGtDQUFrQyxFQUFFO1lBQ3JFLE1BQU0sRUFBRSxNQUFNO1lBQ2QsT0FBTyxFQUFFO2dCQUNQLGNBQWMsRUFBRSxrQkFBa0I7YUFDbkM7WUFDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDbkIsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDckQsS0FBSzthQUNOLENBQUM7U0FDSCxDQUFDO2FBQ0MsSUFBSSxDQUFDLEtBQUssRUFBQyxHQUFHLEVBQUMsRUFBRTtZQUNoQixPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBK0IsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUMsQ0FB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O0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q1NTUHJvcGVydGllc30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtcbiAgVG9rZW5pemF0aW9uUmVzcG9uc2UsXG4gIFRva2VuRXhDdnZDb250YWluZXJJRCxcbiAgVG9rZW5FeElmcmFtZSxcbiAgVG9rZW5FeElGcmFtZUNvbmZpZ3VyYXRpb24sXG4gIENBUkRfVFlQRV9NQVBQSU5HLFxuICBUb2tlbkV4Q2FyZE51bWJlcklmcmFtZUlkLFxufSBmcm9tICcuL1Rva2VuRXgnO1xuaW1wb3J0IHtDb2luZmxvd1V0aWxzfSBmcm9tICcuLi9Db2luZmxvd1V0aWxzJztcbmltcG9ydCB7Q2FyZFR5cGUsIENvaW5mbG93RW52c30gZnJvbSAnLi4vQ29pbmZsb3dUeXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9Jbml0aWFsaXplVG9rZW5FeElmcmFtZUFyZ3Mge1xuICBjc3M6IHN0cmluZztcbiAgZGVidWc/OiBib29sZWFuO1xuICBmb250Pzogc3RyaW5nO1xuICBvcmlnaW5zOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgdG9rZW5FeFNjcmlwdExvYWRlZDogYm9vbGVhbjtcbiAgZW52OiBDb2luZmxvd0VudnM7XG4gIHNldENhY2hlZFRva2VuOiAoczogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiB2b2lkO1xuICBzZXRMb2FkZWQ6IChiOiBib29sZWFuKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvSW5pdGlhbGl6ZUN2dk9ubHlUb2tlbkV4SWZyYW1lQXJnc1xuICBleHRlbmRzIERvSW5pdGlhbGl6ZVRva2VuRXhJZnJhbWVBcmdzIHtcbiAgdG9rZW46IHN0cmluZztcbiAgY2FyZFR5cGU6IENhcmRUeXBlO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0SWZyYW1lQ29uZmlnKHtcbiAgdG9rZW4sXG4gIG9yaWdpbnMsXG4gIGVudixcbn06IHtcbiAgdG9rZW4/OiBzdHJpbmc7XG4gIG9yaWdpbnM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICBlbnY6IENvaW5mbG93RW52cztcbn0pOiBQcm9taXNlPFRva2VuRXhJRnJhbWVDb25maWd1cmF0aW9uPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgZmV0Y2gobmV3IENvaW5mbG93VXRpbHMoZW52KS51cmwgKyAnL2FwaS9jaGVja291dC9hdXRoZW50aWNhdGlvbi1rZXknLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIG9yaWdpbnM6IFsuLi4ob3JpZ2lucyA/PyBbXSksIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW5dLFxuICAgICAgICB0b2tlbixcbiAgICAgIH0pLFxuICAgIH0pXG4gICAgICAudGhlbihhc3luYyByZXMgPT4ge1xuICAgICAgICByZXNvbHZlKChhd2FpdCByZXMuanNvbigpKSBhcyBUb2tlbkV4SUZyYW1lQ29uZmlndXJhdGlvbik7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGUgPT4gcmVqZWN0KGUpKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRUb2tlbkV4U2NyaXB0VGFnKHtcbiAgZW52LFxuICBzZXRUb2tlbkV4U2NyaXB0TG9hZGVkLFxufToge1xuICBlbnY6IENvaW5mbG93RW52cztcbiAgc2V0VG9rZW5FeFNjcmlwdExvYWRlZDogKGI6IGJvb2xlYW4pID0+IHZvaWQ7XG59KSB7XG4gIGNvbnN0IHNjcmlwdFRhZ0lkID0gJ3Rva2VuZXgtc2NyaXB0JztcbiAgaWYgKGRvY3VtZW50LmhlYWQucXVlcnlTZWxlY3RvcihgIyR7c2NyaXB0VGFnSWR9YCkpIHtcbiAgICBzZXRUb2tlbkV4U2NyaXB0TG9hZGVkKHRydWUpO1xuICB9XG5cbiAgY29uc3Qgc2RrU2NyaXB0VGFnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gIHNka1NjcmlwdFRhZy5zcmMgPVxuICAgIGVudiA9PT0gJ3Byb2QnXG4gICAgICA/ICdodHRwczovL2h0cC50b2tlbmV4LmNvbS9pZnJhbWUvaWZyYW1lLXYzLm1pbi5qcydcbiAgICAgIDogJ2h0dHBzOi8vdGVzdC1odHAudG9rZW5leC5jb20vaWZyYW1lL2lmcmFtZS12My5taW4uanMnO1xuICBzZGtTY3JpcHRUYWcuaWQgPSBzY3JpcHRUYWdJZDtcblxuICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNka1NjcmlwdFRhZyk7XG5cbiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2NyaXB0VGFnSWQpIS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKCdTZXR0aW5nIHRva2VuRXhTY3JpcHRMb2FkZWQgdG8gdHJ1ZSEnKTtcbiAgICBzZXRUb2tlbkV4U2NyaXB0TG9hZGVkKHRydWUpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gbG9hZElmcmFtZSh7XG4gIGlmcmFtZSxcbiAgc2V0Q2FjaGVkVG9rZW4sXG4gIHNldExvYWRlZCxcbn06IHtcbiAgc2V0Q2FjaGVkVG9rZW46IChzOiBzdHJpbmcgfCB1bmRlZmluZWQpID0+IHZvaWQ7XG4gIHNldExvYWRlZDogKGI6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIGlmcmFtZTogUmV0dXJuVHlwZTx0eXBlb2YgVG9rZW5FeC5JZnJhbWU+O1xufSk6IFRva2VuRXhJZnJhbWUge1xuICBjb25zdCB0b2tlbml6ZSA9IGFzeW5jICgpOiBQcm9taXNlPFRva2VuaXphdGlvblJlc3BvbnNlPiA9PiB7XG4gICAgaWZyYW1lLnRva2VuaXplKCk7XG4gICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlPFRva2VuaXphdGlvblJlc3BvbnNlPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZnJhbWUub24oJ3Rva2VuaXplJywgKGRhdGE6IFRva2VuaXphdGlvblJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHNldENhY2hlZFRva2VuKGRhdGEudG9rZW4pO1xuICAgICAgICByZXNvbHZlKGRhdGEpO1xuICAgICAgfSk7XG4gICAgICBpZnJhbWUub24oJ3ZhbGlkYXRlJywgKGRhdGE6IHtpc1ZhbGlkOiBib29sZWFuOyBpc0N2dlZhbGlkOiBib29sZWFufSkgPT4ge1xuICAgICAgICAvLyBub2luc3BlY3Rpb24gUG9pbnRsZXNzQm9vbGVhbkV4cHJlc3Npb25KU1xuICAgICAgICBjb25zdCBpc0ludmFsaWQgPSAhZGF0YS5pc1ZhbGlkIHx8IGRhdGEuaXNDdnZWYWxpZCA9PT0gZmFsc2U7XG4gICAgICAgIGlmIChpc0ludmFsaWQpIHJlamVjdChkYXRhKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xuXG4gIGlmcmFtZS5vbignY2hhbmdlJywgKCkgPT4gc2V0Q2FjaGVkVG9rZW4odW5kZWZpbmVkKSk7XG4gIGlmcmFtZS5vbignY3Z2Q2hhbmdlJywgKCkgPT4gc2V0Q2FjaGVkVG9rZW4odW5kZWZpbmVkKSk7XG5cbiAgaWZyYW1lLm9uKCdsb2FkJywgKCkgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gc2V0TG9hZGVkKHRydWUpLCAzNTApO1xuICAgIGNvbnN0IGVsOiBIVE1MSUZyYW1lRWxlbWVudCB8IG51bGwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgJyN0eF9pZnJhbWVfdG9rZW5FeENhcmROdW1iZXInXG4gICAgKTtcbiAgICBpZiAoZWwpIHtcbiAgICAgIC8vIG5vaW5zcGVjdGlvbiBKU0RlcHJlY2F0ZWRTeW1ib2xzXG4gICAgICBlbC5zY3JvbGxpbmcgPSAnbm8nO1xuICAgIH1cbiAgfSk7XG5cbiAgaWZyYW1lLm9uKCdmb2N1cycsICgpID0+IHtcbiAgICBpZnJhbWUuZm9jdXMoKTtcbiAgfSk7XG4gIGlmcmFtZS5vbignY3Z2Rm9jdXMnLCAoKSA9PiB7XG4gICAgaWZyYW1lLmN2dkZvY3VzKCk7XG4gIH0pO1xuXG4gIHNldExvYWRlZChmYWxzZSk7XG4gIGlmcmFtZS5sb2FkKCk7XG5cbiAgcmV0dXJuIHsuLi5pZnJhbWUsIHRva2VuaXplfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRvSW5pdGlhbGl6ZUN2dk9ubHlUb2tlbkV4SWZyYW1lKFxuICBhcmdzOiBEb0luaXRpYWxpemVDdnZPbmx5VG9rZW5FeElmcmFtZUFyZ3Ncbikge1xuICBjb25zdCB7dG9rZW4sIGNhcmRUeXBlfSA9IGFyZ3M7XG4gIHJldHVybiBhd2FpdCBkb0luaXRpYWxpemUoVG9rZW5FeEN2dkNvbnRhaW5lcklELCBhcmdzLCB7XG4gICAgY3Z2T25seTogdHJ1ZSxcbiAgICBjdnY6IHRydWUsXG4gICAgY3Z2Q29udGFpbmVySUQ6IFRva2VuRXhDdnZDb250YWluZXJJRCxcbiAgICBwbGFjZWhvbGRlcjogJ0NWVicsXG4gICAgdG9rZW4sXG4gICAgY2FyZFR5cGU6IENBUkRfVFlQRV9NQVBQSU5HW2NhcmRUeXBlXSxcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb0luaXRpYWxpemVUb2tlbkV4SWZyYW1lKFxuICBhcmdzOiBEb0luaXRpYWxpemVUb2tlbkV4SWZyYW1lQXJnc1xuKSB7XG4gIHJldHVybiBhd2FpdCBkb0luaXRpYWxpemUoVG9rZW5FeENhcmROdW1iZXJJZnJhbWVJZCwgYXJncywge1xuICAgIGN2djogdHJ1ZSxcbiAgICBjdnZDb250YWluZXJJRDogVG9rZW5FeEN2dkNvbnRhaW5lcklELFxuICAgIGN2dlBsYWNlaG9sZGVyOiAnQ1ZWJyxcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb0luaXRpYWxpemVUb2tlbkV4Q2FyZE9ubHlJZnJhbWUoXG4gIGFyZ3M6IERvSW5pdGlhbGl6ZVRva2VuRXhJZnJhbWVBcmdzXG4pIHtcbiAgcmV0dXJuIGF3YWl0IGRvSW5pdGlhbGl6ZShUb2tlbkV4Q2FyZE51bWJlcklmcmFtZUlkLCBhcmdzLCB7Y3Z2OiBmYWxzZX0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBkb0luaXRpYWxpemUoXG4gIGlkOiBzdHJpbmcsXG4gIHtcbiAgICB0b2tlbkV4U2NyaXB0TG9hZGVkLFxuICAgIG9yaWdpbnMsXG4gICAgZW52LFxuICAgIGNzcyxcbiAgICBkZWJ1ZyxcbiAgICBmb250LFxuICAgIHNldENhY2hlZFRva2VuLFxuICAgIHNldExvYWRlZCxcbiAgfTogRG9Jbml0aWFsaXplVG9rZW5FeElmcmFtZUFyZ3MsXG4gIGNvbmZpZ092ZXJyaWRlczogUGFydGlhbDxUb2tlbkV4LkNvbmZpZz5cbikge1xuICBpZiAoIXRva2VuRXhTY3JpcHRMb2FkZWQgJiYgdHlwZW9mIFRva2VuRXggPT09ICd1bmRlZmluZWQnKSB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgJ1dhcm5pbmcgVW5hYmxlIHRvIGxvYWQgVG9rZW5FeCBvbiBmaXJzdCBhdHRlbXB0IHdhaXRpbmcgZm9yIGxvYWQgZXZlbnQgZnJvbSBkb2N1bWVudC5oZWFkLnNjcmlwdCN0b2tlbmV4LXNjcmlwdCdcbiAgICApO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBpZnJhbWVDb25maWcgPSBhd2FpdCBnZXRJZnJhbWVDb25maWcoe1xuICAgIHRva2VuOiBjb25maWdPdmVycmlkZXMudG9rZW4sXG4gICAgb3JpZ2lucyxcbiAgICBlbnYsXG4gIH0pO1xuICBjb25zdCB7c3R5bGVzfSA9IGdldFN0eWxlcyhjc3MpO1xuICBjb25zdCBjb25maWcgPSB7XG4gICAgLi4uaWZyYW1lQ29uZmlnLFxuICAgIHBsYWNlaG9sZGVyOiAnMDAwMCAwMDAwIDAwMDAgMDAwMCcsXG4gICAgZW5hYmxlUHJldHR5Rm9ybWF0OiB0cnVlLFxuICAgIHN0eWxlcyxcbiAgICBmb250LFxuICAgIGRlYnVnOiBkZWJ1ZyA/PyBmYWxzZSxcbiAgICAuLi5jb25maWdPdmVycmlkZXMsXG4gIH07XG4gIGNvbnN0IGlmcmFtZTogUmV0dXJuVHlwZTx0eXBlb2YgVG9rZW5FeC5JZnJhbWU+ID0gVG9rZW5FeC5JZnJhbWUoaWQsIGNvbmZpZyk7XG5cbiAgcmV0dXJuIGxvYWRJZnJhbWUoe2lmcmFtZSwgc2V0Q2FjaGVkVG9rZW4sIHNldExvYWRlZH0pO1xufVxuXG5mdW5jdGlvbiBnZXRTdHlsZXMoczogc3RyaW5nKSB7XG4gIGNvbnN0IGNzcyA9IEpTT04ucGFyc2Uocyk7XG4gIGNvbnN0IHN0eWxlcyA9IHtcbiAgICBiYXNlOiBDU1NQcm9wZXJ0aWVzVG9Db21wb25lbnQoY3NzLmJhc2UpLFxuICAgIGZvY3VzOiBDU1NQcm9wZXJ0aWVzVG9Db21wb25lbnQoY3NzLmZvY3VzKSxcbiAgICBlcnJvcjogQ1NTUHJvcGVydGllc1RvQ29tcG9uZW50KGNzcy5lcnJvciksXG4gICAgcGxhY2Vob2xkZXI6IENTU1Byb3BlcnRpZXNUb0NvbXBvbmVudChjc3MucGxhY2Vob2xkZXIpLFxuICAgIGN2djoge1xuICAgICAgYmFzZTogQ1NTUHJvcGVydGllc1RvQ29tcG9uZW50KGNzcy5jdnY/LmJhc2UpLFxuICAgICAgZm9jdXM6IENTU1Byb3BlcnRpZXNUb0NvbXBvbmVudChjc3MuY3Z2Py5mb2N1cyksXG4gICAgICBlcnJvcjogQ1NTUHJvcGVydGllc1RvQ29tcG9uZW50KGNzcy5jdnY/LmVycm9yKSxcbiAgICAgIHBsYWNlaG9sZGVyOiBDU1NQcm9wZXJ0aWVzVG9Db21wb25lbnQoY3NzPy5wbGFjZWhvbGRlciksXG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4ge3N0eWxlc307XG59XG5cbmZ1bmN0aW9uIENTU1Byb3BlcnRpZXNUb0NvbXBvbmVudChcbiAgZGljdDogQ1NTUHJvcGVydGllcyB8IHN0cmluZyB8IHVuZGVmaW5lZFxuKTogc3RyaW5nIHtcbiAgaWYgKCFkaWN0KSByZXR1cm4gJyc7XG4gIGlmICh0eXBlb2YgZGljdCA9PT0gJ3N0cmluZycpIHJldHVybiBkaWN0O1xuXG4gIGxldCBzdHIgPSAnJztcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZGljdCkpIHtcbiAgICBsZXQgY2xvID0gJyc7XG4gICAga2V5LnNwbGl0KCcnKS5mb3JFYWNoKGx0ID0+IHtcbiAgICAgIGlmIChsdC50b1VwcGVyQ2FzZSgpID09PSBsdCkge1xuICAgICAgICBjbG8gKz0gJy0nICsgbHQudG9Mb3dlckNhc2UoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsbyArPSBsdDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBzdHIgKz0gY2xvICsgJzonICsgdmFsdWUgKyAnOyc7XG4gIH1cbiAgcmV0dXJuIHN0cjtcbn1cbiJdfQ==
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5leEhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2xpYi9jb21tb24vY2FyZC1mb3JtL3Rva2VuZXhIZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFFTCxxQkFBcUIsRUFHckIsaUJBQWlCLEVBQ2pCLHlCQUF5QixHQUMxQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFpQy9DLE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZSxDQUNuQyxJQUF5QjtJQUV6QixNQUFNLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUMsR0FBRyxJQUFJLENBQUM7SUFDbkMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNyQyxLQUFLLENBQUMsSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLHFDQUFxQyxFQUFFO1lBQ3hFLE1BQU0sRUFBRSxNQUFNO1lBQ2QsT0FBTyxFQUFFO2dCQUNQLGNBQWMsRUFBRSxrQkFBa0I7YUFDbkM7WUFDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDbkIsT0FBTztnQkFDUCxLQUFLO2dCQUNMLFVBQVUsRUFBRSxZQUFZLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUM5RCxXQUFXLEVBQUUsYUFBYSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUzthQUNsRSxDQUFDO1NBQ0gsQ0FBQzthQUNDLElBQUksQ0FBQyxLQUFLLEVBQUMsR0FBRyxFQUFDLEVBQUU7WUFDaEIsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQStCLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsRUFDbEMsR0FBRyxFQUNILHNCQUFzQixHQUl2QjtJQUNDLE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDO0lBQ3JDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDbkQsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEQsWUFBWSxDQUFDLEdBQUc7UUFDZCxHQUFHLEtBQUssTUFBTTtZQUNaLENBQUMsQ0FBQyxpREFBaUQ7WUFDbkQsQ0FBQyxDQUFDLHNEQUFzRCxDQUFDO0lBQzdELFlBQVksQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDO0lBRTlCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRXhDLFFBQVEsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFFLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtRQUNsRSxPQUFPLENBQUMsR0FBRyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7UUFDcEQsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsRUFDbEIsTUFBTSxFQUNOLGNBQWMsRUFDZCxTQUFTLEdBS1Y7SUFDQyxNQUFNLFFBQVEsR0FBRyxLQUFLLElBQW1DLEVBQUU7UUFDekQsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sTUFBTSxJQUFJLE9BQU8sQ0FBdUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDakUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUEwQixFQUFFLEVBQUU7Z0JBQ25ELGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQixDQUFDLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBNkMsRUFBRSxFQUFFO2dCQUN0RSw0Q0FBNEM7Z0JBQzVDLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FBQztnQkFDN0QsSUFBSSxTQUFTO29CQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRUYsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDckQsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFFeEQsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1FBQ3JCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdkMsTUFBTSxFQUFFLEdBQTZCLFFBQVEsQ0FBQyxhQUFhLENBQ3pELDhCQUE4QixDQUMvQixDQUFDO1FBQ0YsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNQLG1DQUFtQztZQUNuQyxFQUFFLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDdEIsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFO1FBQ3pCLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQztJQUVILFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQixNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFZCxPQUFPLEVBQUMsR0FBRyxNQUFNLEVBQUUsUUFBUSxFQUFDLENBQUM7QUFDL0IsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsZ0NBQWdDLENBQ3BELElBQTBDO0lBRTFDLE1BQU0sRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFDLEdBQUcsSUFBSSxDQUFDO0lBQy9CLE9BQU8sTUFBTSxZQUFZLENBQUMscUJBQXFCLEVBQUUsSUFBSSxFQUFFO1FBQ3JELE9BQU8sRUFBRSxJQUFJO1FBQ2IsR0FBRyxFQUFFLElBQUk7UUFDVCxjQUFjLEVBQUUscUJBQXFCO1FBQ3JDLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLEtBQUs7UUFDTCxRQUFRLEVBQUUsaUJBQWlCLENBQUMsUUFBUSxDQUFDO0tBQ3RDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHlCQUF5QixDQUM3QyxJQUFtQztJQUVuQyxPQUFPLE1BQU0sWUFBWSxDQUFDLHlCQUF5QixFQUFFLElBQUksRUFBRTtRQUN6RCxHQUFHLEVBQUUsSUFBSTtRQUNULGNBQWMsRUFBRSxxQkFBcUI7UUFDckMsY0FBYyxFQUFFLEtBQUs7S0FDdEIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsaUNBQWlDLENBQ3JELElBQW1DO0lBRW5DLE9BQU8sTUFBTSxZQUFZLENBQUMseUJBQXlCLEVBQUUsSUFBSSxFQUFFLEVBQUMsR0FBRyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7QUFDM0UsQ0FBQztBQUVELEtBQUssVUFBVSxZQUFZLENBQ3pCLEVBQVUsRUFDVixJQUFtQyxFQUNuQyxlQUF3QztJQUV4QyxNQUFNLEVBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBQyxHQUN0RSxJQUFJLENBQUM7SUFDUCxJQUFJLENBQUMsbUJBQW1CLElBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDM0QsT0FBTyxDQUFDLElBQUksQ0FDVixpSEFBaUgsQ0FDbEgsQ0FBQztRQUNGLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxZQUFZLEdBQUcsTUFBTSxlQUFlLENBQUM7UUFDekMsR0FBRyxJQUFJO1FBQ1AsS0FBSyxFQUFFLGVBQWUsQ0FBQyxLQUFLO0tBQzdCLENBQUMsQ0FBQztJQUNILE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsTUFBTSxNQUFNLEdBQUc7UUFDYixHQUFHLFlBQVk7UUFDZixXQUFXLEVBQUUscUJBQXFCO1FBQ2xDLGtCQUFrQixFQUFFLElBQUk7UUFDeEIsTUFBTTtRQUNOLElBQUk7UUFDSixLQUFLLEVBQUUsS0FBSyxJQUFJLEtBQUs7UUFDckIsR0FBRyxlQUFlO0tBQ25CLENBQUM7SUFDRixNQUFNLE1BQU0sR0FBc0MsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFN0UsT0FBTyxVQUFVLENBQUMsRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQUVELFNBQVMsU0FBUyxDQUFDLENBQVM7SUFDMUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQixNQUFNLE1BQU0sR0FBRztRQUNiLElBQUksRUFBRSx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ3hDLEtBQUssRUFBRSx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQzFDLEtBQUssRUFBRSx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQzFDLFdBQVcsRUFBRSx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDO1FBQ3RELEdBQUcsRUFBRTtZQUNILElBQUksRUFBRSx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQztZQUM3QyxLQUFLLEVBQUUsd0JBQXdCLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUM7WUFDL0MsS0FBSyxFQUFFLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDO1lBQy9DLFdBQVcsRUFBRSx3QkFBd0IsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDO1NBQ3hEO0tBQ0YsQ0FBQztJQUVGLE9BQU8sRUFBQyxNQUFNLEVBQUMsQ0FBQztBQUNsQixDQUFDO0FBRUQsU0FBUyx3QkFBd0IsQ0FDL0IsSUFBd0M7SUFFeEMsSUFBSSxDQUFDLElBQUk7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNyQixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVE7UUFBRSxPQUFPLElBQUksQ0FBQztJQUUxQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDYixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2hELElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNiLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ3pCLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUM1QixHQUFHLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUNaLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDakMsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtDU1NQcm9wZXJ0aWVzfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1xuICBUb2tlbml6YXRpb25SZXNwb25zZSxcbiAgVG9rZW5FeEN2dkNvbnRhaW5lcklELFxuICBUb2tlbkV4SWZyYW1lLFxuICBUb2tlbkV4SUZyYW1lQ29uZmlndXJhdGlvbixcbiAgQ0FSRF9UWVBFX01BUFBJTkcsXG4gIFRva2VuRXhDYXJkTnVtYmVySWZyYW1lSWQsXG59IGZyb20gJy4vVG9rZW5FeCc7XG5pbXBvcnQge0NvaW5mbG93VXRpbHN9IGZyb20gJy4uL0NvaW5mbG93VXRpbHMnO1xuaW1wb3J0IHtDYXJkVHlwZSwgQ29pbmZsb3dFbnZzfSBmcm9tICcuLi9Db2luZmxvd1R5cGVzJztcblxuZXhwb3J0IHR5cGUgTWVyY2hhbnRJZE9yQ2hlY2tvdXRKd3QgPVxuICB8IHtjaGVja291dEp3dDogc3RyaW5nfVxuICB8IHttZXJjaGFudElkOiBzdHJpbmd9O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbW1vbkRvSW5pdGlhbGl6ZVRva2VuRXhJZnJhbWVBcmdzIHtcbiAgY3NzOiBzdHJpbmc7XG4gIGRlYnVnPzogYm9vbGVhbjtcbiAgZm9udD86IHN0cmluZztcbiAgb3JpZ2luczogc3RyaW5nW107XG4gIHRva2VuRXhTY3JpcHRMb2FkZWQ6IGJvb2xlYW47XG4gIGVudjogQ29pbmZsb3dFbnZzO1xuICBzZXRDYWNoZWRUb2tlbjogKHM6IHN0cmluZyB8IHVuZGVmaW5lZCkgPT4gdm9pZDtcbiAgc2V0TG9hZGVkOiAoYjogYm9vbGVhbikgPT4gdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgRG9Jbml0aWFsaXplVG9rZW5FeElmcmFtZUFyZ3MgPVxuICBDb21tb25Eb0luaXRpYWxpemVUb2tlbkV4SWZyYW1lQXJncyAmIE1lcmNoYW50SWRPckNoZWNrb3V0Snd0O1xuXG5leHBvcnQgdHlwZSBEb0luaXRpYWxpemVDdnZPbmx5VG9rZW5FeElmcmFtZUFyZ3MgPVxuICBEb0luaXRpYWxpemVUb2tlbkV4SWZyYW1lQXJncyAmIHtcbiAgICB0b2tlbjogc3RyaW5nO1xuICAgIGNhcmRUeXBlOiBDYXJkVHlwZTtcbiAgfTtcblxuZXhwb3J0IHR5cGUgR2V0SUZyYW1lQ29uZmlnQXJncyA9IHtcbiAgdG9rZW4/OiBzdHJpbmc7XG4gIG9yaWdpbnM6IHN0cmluZ1tdO1xuICBlbnY6IENvaW5mbG93RW52cztcbn0gJiBNZXJjaGFudElkT3JDaGVja291dEp3dDtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldElmcmFtZUNvbmZpZyhcbiAgYXJnczogR2V0SUZyYW1lQ29uZmlnQXJnc1xuKTogUHJvbWlzZTxUb2tlbkV4SUZyYW1lQ29uZmlndXJhdGlvbj4ge1xuICBjb25zdCB7dG9rZW4sIG9yaWdpbnMsIGVudn0gPSBhcmdzO1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGZldGNoKG5ldyBDb2luZmxvd1V0aWxzKGVudikudXJsICsgJy9hcGkvY2hlY2tvdXQvdjIvYXV0aGVudGljYXRpb24ta2V5Jywge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICB9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBvcmlnaW5zLFxuICAgICAgICB0b2tlbixcbiAgICAgICAgbWVyY2hhbnRJZDogJ21lcmNoYW50SWQnIGluIGFyZ3MgPyBhcmdzLm1lcmNoYW50SWQgOiB1bmRlZmluZWQsXG4gICAgICAgIGNoZWNrb3V0Snd0OiAnY2hlY2tvdXRKd3QnIGluIGFyZ3MgPyBhcmdzLmNoZWNrb3V0Snd0IDogdW5kZWZpbmVkLFxuICAgICAgfSksXG4gICAgfSlcbiAgICAgIC50aGVuKGFzeW5jIHJlcyA9PiB7XG4gICAgICAgIHJlc29sdmUoKGF3YWl0IHJlcy5qc29uKCkpIGFzIFRva2VuRXhJRnJhbWVDb25maWd1cmF0aW9uKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZSA9PiByZWplY3QoZSkpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFRva2VuRXhTY3JpcHRUYWcoe1xuICBlbnYsXG4gIHNldFRva2VuRXhTY3JpcHRMb2FkZWQsXG59OiB7XG4gIGVudjogQ29pbmZsb3dFbnZzO1xuICBzZXRUb2tlbkV4U2NyaXB0TG9hZGVkOiAoYjogYm9vbGVhbikgPT4gdm9pZDtcbn0pIHtcbiAgY29uc3Qgc2NyaXB0VGFnSWQgPSAndG9rZW5leC1zY3JpcHQnO1xuICBpZiAoZG9jdW1lbnQuaGVhZC5xdWVyeVNlbGVjdG9yKGAjJHtzY3JpcHRUYWdJZH1gKSkge1xuICAgIHNldFRva2VuRXhTY3JpcHRMb2FkZWQodHJ1ZSk7XG4gIH1cblxuICBjb25zdCBzZGtTY3JpcHRUYWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgc2RrU2NyaXB0VGFnLnNyYyA9XG4gICAgZW52ID09PSAncHJvZCdcbiAgICAgID8gJ2h0dHBzOi8vaHRwLnRva2VuZXguY29tL2lmcmFtZS9pZnJhbWUtdjMubWluLmpzJ1xuICAgICAgOiAnaHR0cHM6Ly90ZXN0LWh0cC50b2tlbmV4LmNvbS9pZnJhbWUvaWZyYW1lLXYzLm1pbi5qcyc7XG4gIHNka1NjcmlwdFRhZy5pZCA9IHNjcmlwdFRhZ0lkO1xuXG4gIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2RrU2NyaXB0VGFnKTtcblxuICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzY3JpcHRUYWdJZCkhLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7XG4gICAgY29uc29sZS5sb2coJ1NldHRpbmcgdG9rZW5FeFNjcmlwdExvYWRlZCB0byB0cnVlIScpO1xuICAgIHNldFRva2VuRXhTY3JpcHRMb2FkZWQodHJ1ZSk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBsb2FkSWZyYW1lKHtcbiAgaWZyYW1lLFxuICBzZXRDYWNoZWRUb2tlbixcbiAgc2V0TG9hZGVkLFxufToge1xuICBzZXRDYWNoZWRUb2tlbjogKHM6IHN0cmluZyB8IHVuZGVmaW5lZCkgPT4gdm9pZDtcbiAgc2V0TG9hZGVkOiAoYjogYm9vbGVhbikgPT4gdm9pZDtcbiAgaWZyYW1lOiBSZXR1cm5UeXBlPHR5cGVvZiBUb2tlbkV4LklmcmFtZT47XG59KTogVG9rZW5FeElmcmFtZSB7XG4gIGNvbnN0IHRva2VuaXplID0gYXN5bmMgKCk6IFByb21pc2U8VG9rZW5pemF0aW9uUmVzcG9uc2U+ID0+IHtcbiAgICBpZnJhbWUudG9rZW5pemUoKTtcbiAgICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2U8VG9rZW5pemF0aW9uUmVzcG9uc2U+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGlmcmFtZS5vbigndG9rZW5pemUnLCAoZGF0YTogVG9rZW5pemF0aW9uUmVzcG9uc2UpID0+IHtcbiAgICAgICAgc2V0Q2FjaGVkVG9rZW4oZGF0YS50b2tlbik7XG4gICAgICAgIHJlc29sdmUoZGF0YSk7XG4gICAgICB9KTtcbiAgICAgIGlmcmFtZS5vbigndmFsaWRhdGUnLCAoZGF0YToge2lzVmFsaWQ6IGJvb2xlYW47IGlzQ3Z2VmFsaWQ6IGJvb2xlYW59KSA9PiB7XG4gICAgICAgIC8vIG5vaW5zcGVjdGlvbiBQb2ludGxlc3NCb29sZWFuRXhwcmVzc2lvbkpTXG4gICAgICAgIGNvbnN0IGlzSW52YWxpZCA9ICFkYXRhLmlzVmFsaWQgfHwgZGF0YS5pc0N2dlZhbGlkID09PSBmYWxzZTtcbiAgICAgICAgaWYgKGlzSW52YWxpZCkgcmVqZWN0KGRhdGEpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG5cbiAgaWZyYW1lLm9uKCdjaGFuZ2UnLCAoKSA9PiBzZXRDYWNoZWRUb2tlbih1bmRlZmluZWQpKTtcbiAgaWZyYW1lLm9uKCdjdnZDaGFuZ2UnLCAoKSA9PiBzZXRDYWNoZWRUb2tlbih1bmRlZmluZWQpKTtcblxuICBpZnJhbWUub24oJ2xvYWQnLCAoKSA9PiB7XG4gICAgc2V0VGltZW91dCgoKSA9PiBzZXRMb2FkZWQodHJ1ZSksIDM1MCk7XG4gICAgY29uc3QgZWw6IEhUTUxJRnJhbWVFbGVtZW50IHwgbnVsbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnI3R4X2lmcmFtZV90b2tlbkV4Q2FyZE51bWJlcidcbiAgICApO1xuICAgIGlmIChlbCkge1xuICAgICAgLy8gbm9pbnNwZWN0aW9uIEpTRGVwcmVjYXRlZFN5bWJvbHNcbiAgICAgIGVsLnNjcm9sbGluZyA9ICdubyc7XG4gICAgfVxuICB9KTtcblxuICBpZnJhbWUub24oJ2ZvY3VzJywgKCkgPT4ge1xuICAgIGlmcmFtZS5mb2N1cygpO1xuICB9KTtcbiAgaWZyYW1lLm9uKCdjdnZGb2N1cycsICgpID0+IHtcbiAgICBpZnJhbWUuY3Z2Rm9jdXMoKTtcbiAgfSk7XG5cbiAgc2V0TG9hZGVkKGZhbHNlKTtcbiAgaWZyYW1lLmxvYWQoKTtcblxuICByZXR1cm4gey4uLmlmcmFtZSwgdG9rZW5pemV9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG9Jbml0aWFsaXplQ3Z2T25seVRva2VuRXhJZnJhbWUoXG4gIGFyZ3M6IERvSW5pdGlhbGl6ZUN2dk9ubHlUb2tlbkV4SWZyYW1lQXJnc1xuKSB7XG4gIGNvbnN0IHt0b2tlbiwgY2FyZFR5cGV9ID0gYXJncztcbiAgcmV0dXJuIGF3YWl0IGRvSW5pdGlhbGl6ZShUb2tlbkV4Q3Z2Q29udGFpbmVySUQsIGFyZ3MsIHtcbiAgICBjdnZPbmx5OiB0cnVlLFxuICAgIGN2djogdHJ1ZSxcbiAgICBjdnZDb250YWluZXJJRDogVG9rZW5FeEN2dkNvbnRhaW5lcklELFxuICAgIHBsYWNlaG9sZGVyOiAnQ1ZWJyxcbiAgICB0b2tlbixcbiAgICBjYXJkVHlwZTogQ0FSRF9UWVBFX01BUFBJTkdbY2FyZFR5cGVdLFxuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRvSW5pdGlhbGl6ZVRva2VuRXhJZnJhbWUoXG4gIGFyZ3M6IERvSW5pdGlhbGl6ZVRva2VuRXhJZnJhbWVBcmdzXG4pIHtcbiAgcmV0dXJuIGF3YWl0IGRvSW5pdGlhbGl6ZShUb2tlbkV4Q2FyZE51bWJlcklmcmFtZUlkLCBhcmdzLCB7XG4gICAgY3Z2OiB0cnVlLFxuICAgIGN2dkNvbnRhaW5lcklEOiBUb2tlbkV4Q3Z2Q29udGFpbmVySUQsXG4gICAgY3Z2UGxhY2Vob2xkZXI6ICdDVlYnLFxuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRvSW5pdGlhbGl6ZVRva2VuRXhDYXJkT25seUlmcmFtZShcbiAgYXJnczogRG9Jbml0aWFsaXplVG9rZW5FeElmcmFtZUFyZ3Ncbikge1xuICByZXR1cm4gYXdhaXQgZG9Jbml0aWFsaXplKFRva2VuRXhDYXJkTnVtYmVySWZyYW1lSWQsIGFyZ3MsIHtjdnY6IGZhbHNlfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGRvSW5pdGlhbGl6ZShcbiAgaWQ6IHN0cmluZyxcbiAgYXJnczogRG9Jbml0aWFsaXplVG9rZW5FeElmcmFtZUFyZ3MsXG4gIGNvbmZpZ092ZXJyaWRlczogUGFydGlhbDxUb2tlbkV4LkNvbmZpZz5cbikge1xuICBjb25zdCB7dG9rZW5FeFNjcmlwdExvYWRlZCwgY3NzLCBkZWJ1ZywgZm9udCwgc2V0Q2FjaGVkVG9rZW4sIHNldExvYWRlZH0gPVxuICAgIGFyZ3M7XG4gIGlmICghdG9rZW5FeFNjcmlwdExvYWRlZCAmJiB0eXBlb2YgVG9rZW5FeCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBjb25zb2xlLndhcm4oXG4gICAgICAnV2FybmluZyBVbmFibGUgdG8gbG9hZCBUb2tlbkV4IG9uIGZpcnN0IGF0dGVtcHQgd2FpdGluZyBmb3IgbG9hZCBldmVudCBmcm9tIGRvY3VtZW50LmhlYWQuc2NyaXB0I3Rva2VuZXgtc2NyaXB0J1xuICAgICk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGlmcmFtZUNvbmZpZyA9IGF3YWl0IGdldElmcmFtZUNvbmZpZyh7XG4gICAgLi4uYXJncyxcbiAgICB0b2tlbjogY29uZmlnT3ZlcnJpZGVzLnRva2VuLFxuICB9KTtcbiAgY29uc3Qge3N0eWxlc30gPSBnZXRTdHlsZXMoY3NzKTtcbiAgY29uc3QgY29uZmlnID0ge1xuICAgIC4uLmlmcmFtZUNvbmZpZyxcbiAgICBwbGFjZWhvbGRlcjogJzAwMDAgMDAwMCAwMDAwIDAwMDAnLFxuICAgIGVuYWJsZVByZXR0eUZvcm1hdDogdHJ1ZSxcbiAgICBzdHlsZXMsXG4gICAgZm9udCxcbiAgICBkZWJ1ZzogZGVidWcgPz8gZmFsc2UsXG4gICAgLi4uY29uZmlnT3ZlcnJpZGVzLFxuICB9O1xuICBjb25zdCBpZnJhbWU6IFJldHVyblR5cGU8dHlwZW9mIFRva2VuRXguSWZyYW1lPiA9IFRva2VuRXguSWZyYW1lKGlkLCBjb25maWcpO1xuXG4gIHJldHVybiBsb2FkSWZyYW1lKHtpZnJhbWUsIHNldENhY2hlZFRva2VuLCBzZXRMb2FkZWR9KTtcbn1cblxuZnVuY3Rpb24gZ2V0U3R5bGVzKHM6IHN0cmluZykge1xuICBjb25zdCBjc3MgPSBKU09OLnBhcnNlKHMpO1xuICBjb25zdCBzdHlsZXMgPSB7XG4gICAgYmFzZTogQ1NTUHJvcGVydGllc1RvQ29tcG9uZW50KGNzcy5iYXNlKSxcbiAgICBmb2N1czogQ1NTUHJvcGVydGllc1RvQ29tcG9uZW50KGNzcy5mb2N1cyksXG4gICAgZXJyb3I6IENTU1Byb3BlcnRpZXNUb0NvbXBvbmVudChjc3MuZXJyb3IpLFxuICAgIHBsYWNlaG9sZGVyOiBDU1NQcm9wZXJ0aWVzVG9Db21wb25lbnQoY3NzLnBsYWNlaG9sZGVyKSxcbiAgICBjdnY6IHtcbiAgICAgIGJhc2U6IENTU1Byb3BlcnRpZXNUb0NvbXBvbmVudChjc3MuY3Z2Py5iYXNlKSxcbiAgICAgIGZvY3VzOiBDU1NQcm9wZXJ0aWVzVG9Db21wb25lbnQoY3NzLmN2dj8uZm9jdXMpLFxuICAgICAgZXJyb3I6IENTU1Byb3BlcnRpZXNUb0NvbXBvbmVudChjc3MuY3Z2Py5lcnJvciksXG4gICAgICBwbGFjZWhvbGRlcjogQ1NTUHJvcGVydGllc1RvQ29tcG9uZW50KGNzcz8ucGxhY2Vob2xkZXIpLFxuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIHtzdHlsZXN9O1xufVxuXG5mdW5jdGlvbiBDU1NQcm9wZXJ0aWVzVG9Db21wb25lbnQoXG4gIGRpY3Q6IENTU1Byb3BlcnRpZXMgfCBzdHJpbmcgfCB1bmRlZmluZWRcbik6IHN0cmluZyB7XG4gIGlmICghZGljdCkgcmV0dXJuICcnO1xuICBpZiAodHlwZW9mIGRpY3QgPT09ICdzdHJpbmcnKSByZXR1cm4gZGljdDtcblxuICBsZXQgc3RyID0gJyc7XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGRpY3QpKSB7XG4gICAgbGV0IGNsbyA9ICcnO1xuICAgIGtleS5zcGxpdCgnJykuZm9yRWFjaChsdCA9PiB7XG4gICAgICBpZiAobHQudG9VcHBlckNhc2UoKSA9PT0gbHQpIHtcbiAgICAgICAgY2xvICs9ICctJyArIGx0LnRvTG93ZXJDYXNlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbG8gKz0gbHQ7XG4gICAgICB9XG4gICAgfSk7XG4gICAgc3RyICs9IGNsbyArICc6JyArIHZhbHVlICsgJzsnO1xuICB9XG4gIHJldHVybiBzdHI7XG59XG4iXX0=
@@ -3,4 +3,5 @@ export * from './CoinflowUtils';
3
3
  export * from './CoinflowLibMessageHandlers';
4
4
  export * from './card-form/TokenEx';
5
5
  export * from './card-form/tokenexHelpers';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2xpYi9jb21tb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9Db2luZmxvd1R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29pbmZsb3dVdGlscyc7XG5leHBvcnQgKiBmcm9tICcuL0NvaW5mbG93TGliTWVzc2FnZUhhbmRsZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vY2FyZC1mb3JtL1Rva2VuRXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkLWZvcm0vdG9rZW5leEhlbHBlcnMnO1xuIl19
6
+ export * from './Subtotal';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2xpYi9jb21tb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9Db2luZmxvd1R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29pbmZsb3dVdGlscyc7XG5leHBvcnQgKiBmcm9tICcuL0NvaW5mbG93TGliTWVzc2FnZUhhbmRsZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vY2FyZC1mb3JtL1Rva2VuRXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkLWZvcm0vdG9rZW5leEhlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9TdWJ0b3RhbCc7XG4iXX0=
@@ -45,6 +45,14 @@ var CardType;
45
45
  const web3 = SolanaWeb3Js;
46
46
  const base58 = base58Imported;
47
47
 
48
+ var Currency;
49
+ (function (Currency) {
50
+ Currency["USD"] = "USD";
51
+ Currency["EUR"] = "EUR";
52
+ Currency["GBP"] = "GBP";
53
+ Currency["BRL"] = "BRL";
54
+ })(Currency || (Currency = {}));
55
+
48
56
  class CoinflowUtils {
49
57
  constructor(env) {
50
58
  this.env = env ?? 'prod';
@@ -78,7 +86,7 @@ class CoinflowUtils {
78
86
  return 'http://localhost:5000';
79
87
  return `https://api-${env}.coinflow.cash`;
80
88
  }
81
- static getCoinflowUrl({ walletPubkey, sessionKey, route, routePrefix, env, amount, transaction, blockchain = 'solana', webhookInfo, email, loaderBackground, handleHeightChange, bankAccountLinkRedirect, additionalWallets, nearDeposit, chargebackProtectionData, merchantCss, color, rent, lockDefaultToken, token, tokens, planCode, disableApplePay, disableGooglePay, customerInfo, settlementType, lockAmount, nativeSolToConvert, theme, usePermit, transactionSigner, authOnly, deviceId, jwtToken, origins, threeDsChallengePreference, supportEmail, destinationAuthKey, }) {
89
+ static getCoinflowUrl({ walletPubkey, sessionKey, route, routePrefix, env, subtotal, transaction, blockchain = 'solana', webhookInfo, email, loaderBackground, handleHeightChange, bankAccountLinkRedirect, additionalWallets, nearDeposit, chargebackProtectionData, merchantCss, color, rent, lockDefaultToken, tokens, planCode, disableApplePay, disableGooglePay, customerInfo, settlementType, lockAmount, nativeSolToConvert, theme, usePermit, transactionSigner, authOnly, deviceId, jwtToken, origins, threeDsChallengePreference, supportEmail, destinationAuthKey, }) {
82
90
  const prefix = routePrefix
83
91
  ? `/${routePrefix}/${blockchain}`
84
92
  : `/${blockchain}`;
@@ -90,8 +98,20 @@ class CoinflowUtils {
90
98
  if (transaction) {
91
99
  url.searchParams.append('transaction', transaction);
92
100
  }
93
- if (amount) {
94
- url.searchParams.append('amount', amount.toString());
101
+ if (subtotal) {
102
+ if ('cents' in subtotal) {
103
+ url.searchParams.append('cents', subtotal.cents.toString());
104
+ if ('currency' in subtotal) {
105
+ url.searchParams.append('currency', subtotal.currency.toString());
106
+ }
107
+ else {
108
+ url.searchParams.append('currency', Currency.USD);
109
+ }
110
+ }
111
+ else {
112
+ url.searchParams.append('token', subtotal.address.toString());
113
+ url.searchParams.append('amount', subtotal.amount.toString());
114
+ }
95
115
  }
96
116
  if (webhookInfo) {
97
117
  url.searchParams.append('webhookInfo', LZString.compressToEncodedURIComponent(JSON.stringify(webhookInfo)));
@@ -107,9 +127,6 @@ class CoinflowUtils {
107
127
  }
108
128
  if (supportEmail)
109
129
  url.searchParams.append('supportEmail', supportEmail);
110
- if (token) {
111
- url.searchParams.append('token', token.toString());
112
- }
113
130
  if (tokens) {
114
131
  url.searchParams.append('tokens', tokens.toString());
115
132
  }
@@ -467,16 +484,19 @@ const CARD_TYPE_MAPPING = {
467
484
  [CardType.DISCOVER]: 'discover',
468
485
  };
469
486
 
470
- async function getIframeConfig({ token, origins, env, }) {
487
+ async function getIframeConfig(args) {
488
+ const { token, origins, env } = args;
471
489
  return new Promise((resolve, reject) => {
472
- fetch(new CoinflowUtils(env).url + '/api/checkout/authentication-key', {
490
+ fetch(new CoinflowUtils(env).url + '/api/checkout/v2/authentication-key', {
473
491
  method: 'POST',
474
492
  headers: {
475
493
  'Content-Type': 'application/json',
476
494
  },
477
495
  body: JSON.stringify({
478
- origins: [...(origins ?? []), window.location.origin],
496
+ origins,
479
497
  token,
498
+ merchantId: 'merchantId' in args ? args.merchantId : undefined,
499
+ checkoutJwt: 'checkoutJwt' in args ? args.checkoutJwt : undefined,
480
500
  }),
481
501
  })
482
502
  .then(async (res) => {
@@ -559,15 +579,15 @@ async function doInitializeTokenExIframe(args) {
559
579
  async function doInitializeTokenExCardOnlyIframe(args) {
560
580
  return await doInitialize(TokenExCardNumberIframeId, args, { cvv: false });
561
581
  }
562
- async function doInitialize(id, { tokenExScriptLoaded, origins, env, css, debug, font, setCachedToken, setLoaded, }, configOverrides) {
582
+ async function doInitialize(id, args, configOverrides) {
583
+ const { tokenExScriptLoaded, css, debug, font, setCachedToken, setLoaded } = args;
563
584
  if (!tokenExScriptLoaded && typeof TokenEx === 'undefined') {
564
585
  console.warn('Warning Unable to load TokenEx on first attempt waiting for load event from document.head.script#tokenex-script');
565
586
  return;
566
587
  }
567
588
  const iframeConfig = await getIframeConfig({
589
+ ...args,
568
590
  token: configOverrides.token,
569
- origins,
570
- env,
571
591
  });
572
592
  const { styles } = getStyles(css);
573
593
  const config = {
@@ -651,7 +671,7 @@ class CoinflowIFrameComponent {
651
671
  height="100%"
652
672
  #iframe
653
673
  scrolling="{{ iframeProps?.handleHeightChange ? 'no' : 'yes' }}"
654
- allow="payment;camera"
674
+ allow="payment;camera;clipboard-write"
655
675
  title="withdraw"
656
676
  frameBorder="0"
657
677
  [src]="dynamicUrl"
@@ -668,7 +688,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
668
688
  height="100%"
669
689
  #iframe
670
690
  scrolling="{{ iframeProps?.handleHeightChange ? 'no' : 'yes' }}"
671
- allow="payment;camera"
691
+ allow="payment;camera;clipboard-write"
672
692
  title="withdraw"
673
693
  frameBorder="0"
674
694
  [src]="dynamicUrl"
@@ -798,11 +818,10 @@ class CardFormService {
798
818
  setLoaded(input) {
799
819
  this.loaded = input;
800
820
  }
801
- async initializeCvvOnlyTokenExIframe(env, args) {
821
+ async initializeCvvOnlyTokenExIframe(args) {
802
822
  const iframe = await doInitializeCvvOnlyTokenExIframe({
803
823
  ...args,
804
824
  tokenExScriptLoaded: true,
805
- env,
806
825
  setCachedToken: this.setCachedToken.bind(this),
807
826
  setLoaded: this.setLoaded.bind(this),
808
827
  });
@@ -811,12 +830,11 @@ class CardFormService {
811
830
  iframe.load();
812
831
  return iframe;
813
832
  }
814
- async initializeTokenExIframe(env, args) {
833
+ async initializeTokenExIframe(args) {
815
834
  console.log('initializeTokenExIframe');
816
835
  const iframe = await doInitializeTokenExIframe({
817
836
  ...args,
818
837
  tokenExScriptLoaded: true,
819
- env,
820
838
  setCachedToken: this.setCachedToken.bind(this),
821
839
  setLoaded: this.setLoaded.bind(this),
822
840
  });
@@ -827,11 +845,10 @@ class CardFormService {
827
845
  console.log('LOADED');
828
846
  return iframe;
829
847
  }
830
- async initializeTokenExCardOnlyIframe(env, args) {
848
+ async initializeTokenExCardOnlyIframe(args) {
831
849
  const iframe = await doInitializeTokenExCardOnlyIframe({
832
850
  ...args,
833
851
  tokenExScriptLoaded: true,
834
- env,
835
852
  setCachedToken: this.setCachedToken.bind(this),
836
853
  setLoaded: this.setLoaded.bind(this),
837
854
  });
@@ -858,11 +875,9 @@ class CoinflowCardNumberInput {
858
875
  }
859
876
  onScriptLoaded() {
860
877
  this.cardFormService
861
- .initializeTokenExIframe(this.args.env, {
878
+ .initializeTokenExIframe({
879
+ ...this.args,
862
880
  css: JSON.stringify(this.args.css),
863
- debug: this.args.debug,
864
- origins: this.args.origins,
865
- font: this.args.font,
866
881
  })
867
882
  .then(iframe => (this.iframe = iframe))
868
883
  .catch(e => console.error(e));
@@ -909,11 +924,9 @@ class CoinflowCardNumberOnlyInput {
909
924
  }
910
925
  onScriptLoaded() {
911
926
  this.cardFormService
912
- .initializeTokenExCardOnlyIframe(this.args.env, {
927
+ .initializeTokenExCardOnlyIframe({
928
+ ...this.args,
913
929
  css: JSON.stringify(this.args.css),
914
- debug: this.args.debug,
915
- origins: this.args.origins,
916
- font: this.args.font,
917
930
  })
918
931
  .then(iframe => (this.iframe = iframe))
919
932
  .catch(e => console.error(e));
@@ -977,13 +990,9 @@ class CoinflowCvvOnlyInputComponent {
977
990
  }
978
991
  onScriptLoaded() {
979
992
  this.cardFormService
980
- .initializeCvvOnlyTokenExIframe(this.args.env, {
993
+ .initializeCvvOnlyTokenExIframe({
994
+ ...this.args,
981
995
  css: JSON.stringify(this.args.css),
982
- debug: this.args.debug,
983
- origins: this.args.origins,
984
- font: this.args.font,
985
- token: this.args.token,
986
- cardType: this.args.cardType,
987
996
  })
988
997
  .then(iframe => {
989
998
  this.iframe = iframe;