@fat-zebra/sdk 1.5.8 → 1.5.10-beta.0

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.
Files changed (170) hide show
  1. package/.github/workflows/ci.yml +226 -0
  2. package/CHANGELOG.md +9 -0
  3. package/dist/react/VerifyExistingCard.js +4 -0
  4. package/dist/version.d.ts +1 -1
  5. package/dist/version.js +1 -1
  6. package/package.json +4 -4
  7. package/.idea/fatzebra-js.iml +0 -12
  8. package/.idea/modules.xml +0 -8
  9. package/.idea/prettier.xml +0 -6
  10. package/.idea/vcs.xml +0 -6
  11. package/dist/applepay/applepaymanager.d.ts +0 -28
  12. package/dist/applepay/applepaymanager.js +0 -115
  13. package/dist/local/fatzebra.css +0 -91
  14. package/dist/local/fatzebra.js +0 -20147
  15. package/dist/local/fatzebra.js.map +0 -1
  16. package/dist/local/index.html +0 -247
  17. package/dist/production/fatzebra.css +0 -91
  18. package/dist/production/fatzebra.js +0 -8
  19. package/dist/production/fatzebra.js.LICENSE.txt +0 -1
  20. package/dist/react/ApplePay.d.ts +0 -9
  21. package/dist/react/ApplePay.js +0 -11
  22. package/dist/react/applePayUrl.d.ts +0 -12
  23. package/dist/react/applePayUrl.js +0 -19
  24. package/dist/react/useNotification.d.ts +0 -11
  25. package/dist/react/useNotification.js +0 -26
  26. package/dist/sandbox/fatzebra.css +0 -91
  27. package/dist/sandbox/fatzebra.js +0 -8
  28. package/dist/sandbox/fatzebra.js.LICENSE.txt +0 -1
  29. package/dist/scripts/release-package.js +0 -324
  30. package/dist/scripts/release-package.js.map +0 -1
  31. package/dist/src/applepay/applepay.js +0 -198
  32. package/dist/src/applepay/applepay.js.map +0 -1
  33. package/dist/src/applepay/applepaymanager.js +0 -279
  34. package/dist/src/applepay/applepaymanager.js.map +0 -1
  35. package/dist/src/applepay/clients/apple-pay-client.js +0 -66
  36. package/dist/src/applepay/clients/apple-pay-client.js.map +0 -1
  37. package/dist/src/applepay/clients/paynow-client.js +0 -96
  38. package/dist/src/applepay/clients/paynow-client.js.map +0 -1
  39. package/dist/src/applepay/index.js +0 -6
  40. package/dist/src/applepay/index.js.map +0 -1
  41. package/dist/src/click_to_pay/clicktopay.test.js +0 -131
  42. package/dist/src/click_to_pay/clicktopay.test.js.map +0 -1
  43. package/dist/src/click_to_pay/index.js +0 -135
  44. package/dist/src/click_to_pay/index.js.map +0 -1
  45. package/dist/src/click_to_pay/types.js +0 -3
  46. package/dist/src/click_to_pay/types.js.map +0 -1
  47. package/dist/src/hpp/hpp.js +0 -230
  48. package/dist/src/hpp/hpp.js.map +0 -1
  49. package/dist/src/hpp/hpp.test.js +0 -137
  50. package/dist/src/hpp/hpp.test.js.map +0 -1
  51. package/dist/src/hpp/index.js +0 -6
  52. package/dist/src/hpp/index.js.map +0 -1
  53. package/dist/src/index.js +0 -15
  54. package/dist/src/index.js.map +0 -1
  55. package/dist/src/main.js +0 -229
  56. package/dist/src/main.js.map +0 -1
  57. package/dist/src/main.test.js +0 -236
  58. package/dist/src/main.test.js.map +0 -1
  59. package/dist/src/react/ApplePayButton.js +0 -56
  60. package/dist/src/react/ApplePayButton.js.map +0 -1
  61. package/dist/src/react/VerifyCard.js +0 -29
  62. package/dist/src/react/VerifyCard.js.map +0 -1
  63. package/dist/src/react/VerifyExistingCard.js +0 -30
  64. package/dist/src/react/VerifyExistingCard.js.map +0 -1
  65. package/dist/src/react/applePayUrl.js +0 -46
  66. package/dist/src/react/applePayUrl.js.map +0 -1
  67. package/dist/src/react/applePayUrl.test.js +0 -57
  68. package/dist/src/react/applePayUrl.test.js.map +0 -1
  69. package/dist/src/react/index.js +0 -13
  70. package/dist/src/react/index.js.map +0 -1
  71. package/dist/src/react/paymentUrl.js +0 -60
  72. package/dist/src/react/paymentUrl.js.map +0 -1
  73. package/dist/src/react/paymentUrl.test.js +0 -88
  74. package/dist/src/react/paymentUrl.test.js.map +0 -1
  75. package/dist/src/react/submitForm.js +0 -13
  76. package/dist/src/react/submitForm.js.map +0 -1
  77. package/dist/src/react/useFatZebra.js +0 -70
  78. package/dist/src/react/useFatZebra.js.map +0 -1
  79. package/dist/src/react/useMessage.js +0 -140
  80. package/dist/src/react/useMessage.js.map +0 -1
  81. package/dist/src/react/useMessage.test.js +0 -222
  82. package/dist/src/react/useMessage.test.js.map +0 -1
  83. package/dist/src/react/verifyUrl.js +0 -49
  84. package/dist/src/react/verifyUrl.js.map +0 -1
  85. package/dist/src/sca/cardinal.js +0 -145
  86. package/dist/src/sca/cardinal.js.map +0 -1
  87. package/dist/src/sca/cardinal.test.js +0 -77
  88. package/dist/src/sca/cardinal.test.js.map +0 -1
  89. package/dist/src/sca/eci-mappings.js +0 -63
  90. package/dist/src/sca/eci-mappings.js.map +0 -1
  91. package/dist/src/sca/eci-mappings.test.js +0 -31
  92. package/dist/src/sca/eci-mappings.test.js.map +0 -1
  93. package/dist/src/sca/index.js +0 -382
  94. package/dist/src/sca/index.js.map +0 -1
  95. package/dist/src/sca/index.test.js +0 -624
  96. package/dist/src/sca/index.test.js.map +0 -1
  97. package/dist/src/sca/scenarios/enrollment.js +0 -161
  98. package/dist/src/sca/scenarios/enrollment.js.map +0 -1
  99. package/dist/src/sca/scenarios/index.js +0 -8
  100. package/dist/src/sca/scenarios/index.js.map +0 -1
  101. package/dist/src/sca/scenarios/validation.js +0 -139
  102. package/dist/src/sca/scenarios/validation.js.map +0 -1
  103. package/dist/src/sca/types.js +0 -57
  104. package/dist/src/sca/types.js.map +0 -1
  105. package/dist/src/shared/api-gateway-client.js +0 -148
  106. package/dist/src/shared/api-gateway-client.js.map +0 -1
  107. package/dist/src/shared/bridge-client.js +0 -24
  108. package/dist/src/shared/bridge-client.js.map +0 -1
  109. package/dist/src/shared/constants.js +0 -19
  110. package/dist/src/shared/constants.js.map +0 -1
  111. package/dist/src/shared/env.development.js +0 -12
  112. package/dist/src/shared/env.development.js.map +0 -1
  113. package/dist/src/shared/env.js +0 -50
  114. package/dist/src/shared/env.js.map +0 -1
  115. package/dist/src/shared/envs/local.js +0 -12
  116. package/dist/src/shared/envs/local.js.map +0 -1
  117. package/dist/src/shared/envs/production.js +0 -12
  118. package/dist/src/shared/envs/production.js.map +0 -1
  119. package/dist/src/shared/envs/sandbox.js +0 -12
  120. package/dist/src/shared/envs/sandbox.js.map +0 -1
  121. package/dist/src/shared/envs/staging.js +0 -12
  122. package/dist/src/shared/envs/staging.js.map +0 -1
  123. package/dist/src/shared/event-manager.js +0 -24
  124. package/dist/src/shared/event-manager.js.map +0 -1
  125. package/dist/src/shared/post-message-client.js +0 -127
  126. package/dist/src/shared/post-message-client.js.map +0 -1
  127. package/dist/src/shared/post-message-client.test.js +0 -58
  128. package/dist/src/shared/post-message-client.test.js.map +0 -1
  129. package/dist/src/shared/types.js +0 -36
  130. package/dist/src/shared/types.js.map +0 -1
  131. package/dist/src/shared/types.test.js +0 -55
  132. package/dist/src/shared/types.test.js.map +0 -1
  133. package/dist/src/shared/util.js +0 -96
  134. package/dist/src/shared/util.js.map +0 -1
  135. package/dist/src/shared/util.test.js +0 -148
  136. package/dist/src/shared/util.test.js.map +0 -1
  137. package/dist/src/validation/index.js +0 -12
  138. package/dist/src/validation/index.js.map +0 -1
  139. package/dist/src/validation/schemas/click-to-pay/load-params.json +0 -34
  140. package/dist/src/validation/schemas/click-to-pay/options.json +0 -23
  141. package/dist/src/validation/schemas/click-to-pay/payment-intent.json +0 -42
  142. package/dist/src/validation/schemas/customer.json +0 -38
  143. package/dist/src/validation/schemas/hpp-load-params.json +0 -40
  144. package/dist/src/validation/schemas/hpp-options.json +0 -48
  145. package/dist/src/validation/schemas/payment-intent.json +0 -48
  146. package/dist/src/validation/schemas/payment-method.json +0 -83
  147. package/dist/src/validation/schemas/verify-card-options.json +0 -15
  148. package/dist/src/validation/schemas/verify-card-params.json +0 -24
  149. package/dist/src/validation/validation-helper.js +0 -10
  150. package/dist/src/validation/validation-helper.js.map +0 -1
  151. package/dist/src/validation/validation-helper.test.js +0 -34
  152. package/dist/src/validation/validation-helper.test.js.map +0 -1
  153. package/dist/src/validation/validators/apple-pay-load-params-button-validator.js +0 -19
  154. package/dist/src/validation/validators/apple-pay-load-params-button-validator.js.map +0 -1
  155. package/dist/src/validation/validators/click-to-pay-load-params-validator.js +0 -19
  156. package/dist/src/validation/validators/click-to-pay-load-params-validator.js.map +0 -1
  157. package/dist/src/validation/validators/hpp-load-params-validator.js +0 -21
  158. package/dist/src/validation/validators/hpp-load-params-validator.js.map +0 -1
  159. package/dist/src/validation/validators/hpp-load-params-validator.test.js +0 -56
  160. package/dist/src/validation/validators/hpp-load-params-validator.test.js.map +0 -1
  161. package/dist/src/validation/validators/verify-card-params-validator.js +0 -23
  162. package/dist/src/validation/validators/verify-card-params-validator.js.map +0 -1
  163. package/dist/src/version.js +0 -5
  164. package/dist/src/version.js.map +0 -1
  165. package/dist/staging/fatzebra.css +0 -91
  166. package/dist/staging/fatzebra.js +0 -20423
  167. package/dist/staging/fatzebra.js.map +0 -1
  168. package/dist/staging/index.html +0 -247
  169. package/dist/tests/helpers/api-gateway-mock.js +0 -37
  170. package/dist/tests/helpers/api-gateway-mock.js.map +0 -1
@@ -1,222 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __generator = (this && this.__generator) || function (thisArg, body) {
35
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
- function verb(n) { return function (v) { return step([n, v]); }; }
38
- function step(op) {
39
- if (f) throw new TypeError("Generator is already executing.");
40
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
- if (y = 0, t) op = [op[0] & 2, t.value];
43
- switch (op[0]) {
44
- case 0: case 1: t = op; break;
45
- case 4: _.label++; return { value: op[1], done: false };
46
- case 5: _.label++; y = op[1]; op = [0]; continue;
47
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
- default:
49
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
- if (t[2]) _.ops.pop();
54
- _.trys.pop(); continue;
55
- }
56
- op = body.call(thisArg, _);
57
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
- }
60
- };
61
- var __importDefault = (this && this.__importDefault) || function (mod) {
62
- return (mod && mod.__esModule) ? mod : { "default": mod };
63
- };
64
- Object.defineProperty(exports, "__esModule", { value: true });
65
- var react_1 = require("@testing-library/react");
66
- var FatZebra = __importStar(require("../shared/types"));
67
- var useMessage_1 = __importDefault(require("./useMessage"));
68
- var jsdom_1 = require("jsdom");
69
- var dom = new jsdom_1.JSDOM('<!doctype html><html><body></body></html>');
70
- describe('useMessage hook', function () {
71
- var _a;
72
- var options = { sca_enabled: false };
73
- var paymentIntent = {
74
- payment: {
75
- amount: 100,
76
- currency: 'AUD',
77
- reference: 'x1234',
78
- },
79
- };
80
- var handlers = (_a = {},
81
- _a[FatZebra.PublicEvent.TOKENIZATION_SUCCESS] = jest.fn(),
82
- _a[FatZebra.PublicEvent.TOKENIZATION_ERROR] = jest.fn(),
83
- _a[FatZebra.PublicEvent.FORM_VALIDATION_ERROR] = jest.fn(),
84
- _a[FatZebra.PublicEvent.FORM_VALIDATION_SUCCESS] = jest.fn(),
85
- _a);
86
- beforeAll(function () {
87
- global.window = dom.window;
88
- global.document = dom.window.document;
89
- });
90
- afterAll(function () {
91
- delete global.window;
92
- delete global.document;
93
- });
94
- it('should handle TOKENIZE_CARD_RESPONSE with success', function () { return __awaiter(void 0, void 0, void 0, function () {
95
- var data, _, customEvent;
96
- return __generator(this, function (_a) {
97
- switch (_a.label) {
98
- case 0:
99
- data = { token: 'card_token', bin: '123456' };
100
- _ = (0, react_1.renderHook)(function () { return (0, useMessage_1.default)({ paymentIntent: paymentIntent, options: options, handlers: handlers }); });
101
- customEvent = {
102
- channel: 'sca',
103
- subject: FatZebra.BridgeEvent.TOKENIZE_CARD_RESPONSE,
104
- data: data
105
- };
106
- (0, react_1.act)(function () {
107
- dom.window.postMessage(customEvent, '*');
108
- });
109
- // flush promises
110
- return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 0); })];
111
- case 1:
112
- // flush promises
113
- _a.sent();
114
- expect(handlers[FatZebra.PublicEvent.TOKENIZATION_SUCCESS]).toHaveBeenCalledWith(expect.objectContaining({
115
- detail: {
116
- data: {
117
- bin: "123456",
118
- token: "card_token",
119
- },
120
- message: "Card tokenization success.",
121
- }
122
- }));
123
- return [2 /*return*/];
124
- }
125
- });
126
- }); });
127
- it('should handle TOKENIZE_CARD_RESPONSE with failure', function () { return __awaiter(void 0, void 0, void 0, function () {
128
- var errors, data, _, customEvent;
129
- return __generator(this, function (_a) {
130
- switch (_a.label) {
131
- case 0:
132
- errors = ['Card with token card_token could not be found'];
133
- data = { token: 'card_token', bin: '123456', errors: errors };
134
- _ = (0, react_1.renderHook)(function () { return (0, useMessage_1.default)({ paymentIntent: paymentIntent, options: options, handlers: handlers }); });
135
- customEvent = {
136
- channel: 'sca',
137
- subject: FatZebra.BridgeEvent.TOKENIZE_CARD_RESPONSE,
138
- data: data
139
- };
140
- (0, react_1.act)(function () {
141
- dom.window.postMessage(customEvent, '*');
142
- });
143
- // flush promises
144
- return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 0); })];
145
- case 1:
146
- // flush promises
147
- _a.sent();
148
- expect(handlers[FatZebra.PublicEvent.TOKENIZATION_ERROR]).toHaveBeenCalledWith(expect.objectContaining({
149
- detail: {
150
- data: null,
151
- errors: errors,
152
- message: "Card tokenization failed.",
153
- }
154
- }));
155
- return [2 /*return*/];
156
- }
157
- });
158
- }); });
159
- it('should handle FORM_VALIDATION_ERROR', function () { return __awaiter(void 0, void 0, void 0, function () {
160
- var errors, data, _, customEvent;
161
- return __generator(this, function (_a) {
162
- switch (_a.label) {
163
- case 0:
164
- errors = ['Card number is invalid'];
165
- data = errors;
166
- _ = (0, react_1.renderHook)(function () { return (0, useMessage_1.default)({ paymentIntent: paymentIntent, options: options, handlers: handlers }); });
167
- customEvent = {
168
- channel: 'sca',
169
- subject: FatZebra.BridgeEvent.FORM_VALIDATION_ERROR,
170
- data: data
171
- };
172
- (0, react_1.act)(function () {
173
- dom.window.postMessage(customEvent, '*');
174
- });
175
- // flush promises
176
- return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 0); })];
177
- case 1:
178
- // flush promises
179
- _a.sent();
180
- expect(handlers[FatZebra.PublicEvent.FORM_VALIDATION_ERROR]).toHaveBeenCalledWith(expect.objectContaining({
181
- detail: {
182
- data: null,
183
- errors: errors,
184
- }
185
- }));
186
- return [2 /*return*/];
187
- }
188
- });
189
- }); });
190
- it('should handle FORM_VALIDATION_SUCCESS', function () { return __awaiter(void 0, void 0, void 0, function () {
191
- var errors, data, _, customEvent;
192
- return __generator(this, function (_a) {
193
- switch (_a.label) {
194
- case 0:
195
- errors = ['Card number is valid'];
196
- data = errors;
197
- _ = (0, react_1.renderHook)(function () { return (0, useMessage_1.default)({ paymentIntent: paymentIntent, options: options, handlers: handlers }); });
198
- customEvent = {
199
- channel: 'sca',
200
- subject: FatZebra.BridgeEvent.FORM_VALIDATION_SUCCESS,
201
- data: data
202
- };
203
- (0, react_1.act)(function () {
204
- dom.window.postMessage(customEvent, '*');
205
- });
206
- // flush promises
207
- return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 0); })];
208
- case 1:
209
- // flush promises
210
- _a.sent();
211
- expect(handlers[FatZebra.PublicEvent.FORM_VALIDATION_SUCCESS]).toHaveBeenCalledWith(expect.objectContaining({
212
- detail: {
213
- data: null,
214
- errors: errors,
215
- }
216
- }));
217
- return [2 /*return*/];
218
- }
219
- });
220
- }); });
221
- });
222
- //# sourceMappingURL=useMessage.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMessage.test.js","sourceRoot":"","sources":["../../../src/react/useMessage.test.ts"],"names":[],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.generateVerifyURL = void 0;
27
- var url_template_1 = require("url-template");
28
- var env_1 = __importStar(require("../shared/env"));
29
- var generateVerifyURL = function (values, environment) {
30
- var queryParts = [
31
- "hide_button",
32
- "iframe",
33
- "verification",
34
- "username",
35
- "cardToken"
36
- ];
37
- var environmentConfig = env_1.default[environment || env_1.Environment.sandbox];
38
- var urlTemplate = (0, url_template_1.parseTemplate)("".concat(environmentConfig.payNowUrl, "/sdk/v3/verify{?").concat(queryParts.join(","), "}"));
39
- var url = urlTemplate.expand({
40
- cardToken: values.token,
41
- verification: values.verification,
42
- username: values.merchant,
43
- iframe: true,
44
- hide_button: true
45
- });
46
- return url;
47
- };
48
- exports.generateVerifyURL = generateVerifyURL;
49
- //# sourceMappingURL=verifyUrl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verifyUrl.js","sourceRoot":"","sources":["../../../src/react/verifyUrl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA6C;AAC7C,mDAAiD;AAQjD,IAAM,iBAAiB,GAAG,UAAC,MAAyB,EAAE,WAAyB;IAC7E,IAAM,UAAU,GAAG;QACjB,aAAa;QACb,QAAQ;QACR,cAAc;QACd,UAAU;QACV,WAAW;KACZ,CAAA;IAED,IAAM,iBAAiB,GAAG,aAAG,CAAC,WAAW,IAAI,iBAAW,CAAC,OAAO,CAAC,CAAA;IAEjE,IAAM,WAAW,GAAG,IAAA,4BAAa,EAC/B,UAAG,iBAAiB,CAAC,SAAS,6BAAmB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAG,CACzE,CAAC;IAGF,IAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC,KAAK;QACvB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEO,8CAAiB"}
@@ -1,145 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.CardinalManager = exports.defaultConfig = void 0;
40
- var CardinalWorkflow;
41
- (function (CardinalWorkflow) {
42
- CardinalWorkflow["CCA"] = "cca";
43
- CardinalWorkflow["INIT"] = "init";
44
- })(CardinalWorkflow || (CardinalWorkflow = {}));
45
- var CardinalPaymentEvent;
46
- (function (CardinalPaymentEvent) {
47
- CardinalPaymentEvent["SETUP_COMPLETE"] = "payments.setupComplete";
48
- CardinalPaymentEvent["VALIDATED"] = "payments.validated";
49
- })(CardinalPaymentEvent || (CardinalPaymentEvent = {}));
50
- exports.defaultConfig = {
51
- timeout: 8000,
52
- maxRequestRetries: 3,
53
- logging: {
54
- level: 'on'
55
- }
56
- };
57
- var CardinalManager = /** @class */ (function () {
58
- function CardinalManager(retries) {
59
- this.retries = retries || [10, 100, 1000, 5000, 10000];
60
- }
61
- // https://www.bayanbennett.com/posts/retrying-and-exponential-backoff-with-promises/
62
- // Attempts 5 times to setup Cardinal.
63
- // 10ms, 100ms, 1s, 5s, 10s.
64
- // Cardinal may take a while to load, for example if the user is on a slow connection (train in a tunnel, for example)
65
- CardinalManager.prototype.configure = function (retryCount, lastError) {
66
- return __awaiter(this, void 0, void 0, function () {
67
- var delayMs, delay, error_1;
68
- return __generator(this, function (_a) {
69
- switch (_a.label) {
70
- case 0:
71
- retryCount || (retryCount = 1);
72
- delayMs = this.retries[retryCount - 1];
73
- delay = function (delayMs) { return new Promise(function (resolve) { return setTimeout(resolve, delayMs); }); };
74
- if (retryCount > 5)
75
- throw new Error(lastError);
76
- _a.label = 1;
77
- case 1:
78
- _a.trys.push([1, 2, , 5]);
79
- console.log("Attempting to load Cardinal", { retryCount: retryCount, delay: delayMs });
80
- window.Cardinal.configure(exports.defaultConfig);
81
- return [3 /*break*/, 5];
82
- case 2:
83
- error_1 = _a.sent();
84
- return [4 /*yield*/, delay(delayMs)];
85
- case 3:
86
- _a.sent();
87
- return [4 /*yield*/, this.configure(retryCount + 1, error_1)];
88
- case 4:
89
- _a.sent();
90
- return [3 /*break*/, 5];
91
- case 5: return [2 /*return*/];
92
- }
93
- });
94
- });
95
- };
96
- CardinalManager.prototype.setup = function (jwt) {
97
- window.Cardinal.setup(CardinalWorkflow.INIT, { jwt: jwt });
98
- };
99
- CardinalManager.prototype.onPaymentValidated = function (handler) {
100
- window.Cardinal.on('payments.validated', function (data, jwt) {
101
- window.Cardinal.off('payments.validated');
102
- if (data.ErrorDescription.toLowerCase() === 'success') {
103
- handler({
104
- processorTransactionId: data.Payment.ProcessorTransactionId,
105
- jwt: jwt
106
- }, null);
107
- }
108
- else {
109
- handler(null, data.ErrorDescription);
110
- }
111
- });
112
- };
113
- CardinalManager.prototype.onPaymentSetupComplete = function (callback) {
114
- window.Cardinal.on(CardinalPaymentEvent.SETUP_COMPLETE, function (data) {
115
- window.Cardinal.off(CardinalPaymentEvent.SETUP_COMPLETE);
116
- callback(data);
117
- });
118
- };
119
- CardinalManager.prototype.processBin = function (bin) {
120
- return __awaiter(this, void 0, void 0, function () {
121
- return __generator(this, function (_a) {
122
- switch (_a.label) {
123
- case 0: return [4 /*yield*/, window.Cardinal.trigger('bin.process', bin)];
124
- case 1:
125
- _a.sent();
126
- return [2 /*return*/];
127
- }
128
- });
129
- });
130
- };
131
- CardinalManager.prototype.continue = function (acsUrl, pareq, transactionId) {
132
- window.Cardinal.continue(CardinalWorkflow.CCA, {
133
- AcsUrl: acsUrl,
134
- Payload: pareq
135
- }, {
136
- OrderDetails: {
137
- TransactionId: transactionId
138
- }
139
- });
140
- };
141
- return CardinalManager;
142
- }());
143
- exports.CardinalManager = CardinalManager;
144
- exports.default = CardinalManager;
145
- //# sourceMappingURL=cardinal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cardinal.js","sourceRoot":"","sources":["../../../src/sca/cardinal.ts"],"names":[],"mappings":"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"}
@@ -1,77 +0,0 @@
1
- "use strict";
2
- /**
3
- * @jest-environment jsdom
4
- */
5
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
6
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7
- return new (P || (P = Promise))(function (resolve, reject) {
8
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
11
- step((generator = generator.apply(thisArg, _arguments || [])).next());
12
- });
13
- };
14
- var __generator = (this && this.__generator) || function (thisArg, body) {
15
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
16
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
17
- function verb(n) { return function (v) { return step([n, v]); }; }
18
- function step(op) {
19
- if (f) throw new TypeError("Generator is already executing.");
20
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
21
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
22
- if (y = 0, t) op = [op[0] & 2, t.value];
23
- switch (op[0]) {
24
- case 0: case 1: t = op; break;
25
- case 4: _.label++; return { value: op[1], done: false };
26
- case 5: _.label++; y = op[1]; op = [0]; continue;
27
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
28
- default:
29
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
30
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
31
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
32
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
33
- if (t[2]) _.ops.pop();
34
- _.trys.pop(); continue;
35
- }
36
- op = body.call(thisArg, _);
37
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
38
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
39
- }
40
- };
41
- var __importDefault = (this && this.__importDefault) || function (mod) {
42
- return (mod && mod.__esModule) ? mod : { "default": mod };
43
- };
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- var cardinal_1 = __importDefault(require("./cardinal"));
46
- describe("Cardinal", function () {
47
- describe("configure", function () {
48
- it('should retry with exponential backoff', function () { return __awaiter(void 0, void 0, void 0, function () {
49
- var retryCount, lastError, cardinalManager, configure, configureSpy;
50
- return __generator(this, function (_a) {
51
- switch (_a.label) {
52
- case 0:
53
- retryCount = 1;
54
- lastError = 'TypeError: Cannot read properties of undefined (reading \'configure\')';
55
- cardinalManager = new cardinal_1.default([1, 1, 1, 1, 1]);
56
- configure = jest.fn();
57
- configure
58
- .mockImplementationOnce(function () { throw new Error('Error 1'); })
59
- .mockImplementationOnce(function () { throw new Error('Error 2'); })
60
- .mockImplementationOnce(function () { throw new Error('Error 3'); });
61
- configure.mockReturnValue(true);
62
- window.Cardinal = {
63
- configure: configure
64
- };
65
- configureSpy = jest.spyOn(cardinalManager, 'configure');
66
- return [4 /*yield*/, cardinalManager.configure(retryCount, lastError)];
67
- case 1:
68
- _a.sent();
69
- // Expect that the delays were called with the correct values
70
- expect(configureSpy).toHaveBeenCalledTimes(4); // 4th attempt successful
71
- return [2 /*return*/];
72
- }
73
- });
74
- }); });
75
- });
76
- });
77
- //# sourceMappingURL=cardinal.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cardinal.test.js","sourceRoot":"","sources":["../../../src/sca/cardinal.test.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,wDAAyC;AAEzC,QAAQ,CAAC,UAAU,EAAE;IACnB,QAAQ,CAAC,WAAW,EAAE;QACpB,EAAE,CAAC,uCAAuC,EAAE;;;;;wBACpC,UAAU,GAAG,CAAC,CAAC;wBACf,SAAS,GAAG,wEAAwE,CAAC;wBACrF,eAAe,GAAG,IAAI,kBAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAEvD,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;wBAE5B,SAAS;6BACN,sBAAsB,CAAC,cAAQ,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;6BAC7D,sBAAsB,CAAC,cAAQ,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;6BAC7D,sBAAsB,CAAC,cAAQ,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;wBAEhE,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;wBAEhC,MAAM,CAAC,QAAQ,GAAG;4BAChB,SAAS,WAAA;yBACV,CAAC;wBAEI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,WAAW,CAAC,CAAA;wBAE7D,qBAAM,eAAe,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,EAAA;;wBAAtD,SAAsD,CAAC;wBAEvD,6DAA6D;wBAC7D,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB;;;;aACzE,CAAC,CAAC;IACL,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toFzSli = exports.eciMappings = void 0;
4
- // FatZebra only supports SLI 05, 06, 07 & 09.
5
- // https://docs.fatzebra.com/docs/3d-secure
6
- // Cardinal returns ECI(or SLI for MC) in the range of 01~07
7
- // https://cardinaldocs.atlassian.net/wiki/spaces/CCen/pages/903577725/EMV+3DS+2.0+Test+Cases
8
- var eciMappings = [
9
- {
10
- // Cards: Mastercard, CB Mastercard
11
- // Test Case 2: Failed Frictionless Authentication
12
- // Test Case 4: Unavailable Frictionless Authentication from the Issuer
13
- // Test Case 5: Rejected Frictionless Authentication by the Issuer
14
- // Test Case 6: Authentication Not Available on Lookup
15
- // Test Case 7: Error on Lookup
16
- // Test Case 9: Bypassed Authentication
17
- // Test Case 11: Failed Step Up Authentication
18
- // Test Case 12: Step Up Authentication is Unavailable
19
- // Test Case 13: Error on Authentication
20
- vendorEci: '00',
21
- // Non-authenticated transaction - issuer not support. CAVV not present.
22
- fatzebraSli: '07',
23
- },
24
- {
25
- // Cards: Mastercard, CB Mastercard
26
- // Test Case 3: Attempts Stand-In Frictionless Authentication
27
- vendorEci: '01',
28
- // Cards: Visa, American Express, Discover (Diners Club), CB Visa, ELO
29
- // Secure, Non-authenticated transaction (XID present, CAVV not present)
30
- fatzebraSli: '06',
31
- },
32
- {
33
- // Cards: Mastercard, CB Mastercard
34
- // Test Case 1: Successful Frictionless Authentication
35
- // Test Case 10: Successful Step Up Authentication
36
- vendorEci: '02',
37
- // Cards: Visa, American Express, Discover (Diners Club), CB Visa, ELO
38
- // Secure, Authenticated transaction with XID and CAVV present
39
- fatzebraSli: '05',
40
- },
41
- {
42
- vendorEci: '05',
43
- // Secure, Authenticated transaction with XID and CAVV present
44
- fatzebraSli: '05',
45
- },
46
- {
47
- vendorEci: '06',
48
- // Secure, Non-authenticated transaction (XID present, CAVV not present)
49
- fatzebraSli: '06',
50
- },
51
- {
52
- vendorEci: '07',
53
- // Secure, Non-authenticated transaction (XID and CAVV not present). This is the default value.
54
- fatzebraSli: '07',
55
- },
56
- ];
57
- exports.eciMappings = eciMappings;
58
- var toFzSli = function (vendorEci) {
59
- var matched = eciMappings.find(function (item) { return item.vendorEci == vendorEci; });
60
- return matched ? matched.fatzebraSli : vendorEci;
61
- };
62
- exports.toFzSli = toFzSli;
63
- //# sourceMappingURL=eci-mappings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eci-mappings.js","sourceRoot":"","sources":["../../../src/sca/eci-mappings.ts"],"names":[],"mappings":";;;AAAA,8CAA8C;AAC9C,2CAA2C;AAC3C,4DAA4D;AAC5D,6FAA6F;AAC7F,IAAM,WAAW,GAAiD;IAChE;QACE,mCAAmC;QACnC,kDAAkD;QAClD,uEAAuE;QACvE,kEAAkE;QAClE,sDAAsD;QACtD,+BAA+B;QAC/B,uCAAuC;QACvC,8CAA8C;QAC9C,sDAAsD;QACtD,wCAAwC;QACxC,SAAS,EAAE,IAAI;QACf,wEAAwE;QACxE,WAAW,EAAE,IAAI;KAClB;IACD;QACE,mCAAmC;QACnC,6DAA6D;QAC7D,SAAS,EAAE,IAAI;QACf,sEAAsE;QACtE,wEAAwE;QACxE,WAAW,EAAE,IAAI;KAClB;IACD;QACE,mCAAmC;QACnC,sDAAsD;QACtD,kDAAkD;QAClD,SAAS,EAAE,IAAI;QACf,sEAAsE;QACtE,8DAA8D;QAC9D,WAAW,EAAE,IAAI;KAClB;IACD;QACE,SAAS,EAAE,IAAI;QACf,8DAA8D;QAC9D,WAAW,EAAE,IAAI;KAClB;IACD;QACE,SAAS,EAAE,IAAI;QACf,wEAAwE;QACxE,WAAW,EAAE,IAAI;KAClB;IACD;QACE,SAAS,EAAE,IAAI;QACf,+FAA+F;QAC/F,WAAW,EAAE,IAAI;KAClB;CACF,CAAA;AAQC,kCAAW;AANb,IAAM,OAAO,GAAG,UAAC,SAAiB;IAChC,IAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,SAAS,IAAI,SAAS,EAA3B,CAA2B,CAAC,CAAA;IACvE,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;AAClD,CAAC,CAAA;AAIC,0BAAO"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var eci_mappings_1 = require("./eci-mappings");
4
- describe('toFzSli', function () {
5
- describe('ECI mapping exists', function () {
6
- it('sli mapping => cardinal: 00, fz: 07', function () {
7
- expect((0, eci_mappings_1.toFzSli)('00')).toEqual('07');
8
- });
9
- it('sli mapping => cardinal: 01, fz: 06', function () {
10
- expect((0, eci_mappings_1.toFzSli)('01')).toEqual('06');
11
- });
12
- it('sli mapping => cardinal: 02, fz: 05', function () {
13
- expect((0, eci_mappings_1.toFzSli)('02')).toEqual('05');
14
- });
15
- it('sli mapping => cardinal: 05, fz: 05', function () {
16
- expect((0, eci_mappings_1.toFzSli)('05')).toEqual('05');
17
- });
18
- it('sli mapping => cardinal: 06, fz: 06', function () {
19
- expect((0, eci_mappings_1.toFzSli)('06')).toEqual('06');
20
- });
21
- it('sli mapping => cardinal: 07, fz: 07', function () {
22
- expect((0, eci_mappings_1.toFzSli)('07')).toEqual('07');
23
- });
24
- });
25
- describe('ECI mapping does not exist', function () {
26
- it('sli mapping => cardinal: 09, fz: 09', function () {
27
- expect((0, eci_mappings_1.toFzSli)('09')).toEqual('09');
28
- });
29
- });
30
- });
31
- //# sourceMappingURL=eci-mappings.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eci-mappings.test.js","sourceRoot":"","sources":["../../../src/sca/eci-mappings.test.ts"],"names":[],"mappings":";;AAAA,+CAAqD;AAErD,QAAQ,CAAE,SAAS,EAAE;IACnB,QAAQ,CAAE,oBAAoB,EAAE;QAC9B,EAAE,CAAE,qCAAqC,EAAE;YACzC,MAAM,CAAC,IAAA,sBAAO,EAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAE,qCAAqC,EAAE;YACzC,MAAM,CAAC,IAAA,sBAAO,EAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAE,qCAAqC,EAAE;YACzC,MAAM,CAAC,IAAA,sBAAO,EAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAE,qCAAqC,EAAE;YACzC,MAAM,CAAC,IAAA,sBAAO,EAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAE,qCAAqC,EAAE;YACzC,MAAM,CAAC,IAAA,sBAAO,EAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAE,qCAAqC,EAAE;YACzC,MAAM,CAAC,IAAA,sBAAO,EAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAE,4BAA4B,EAAE;QACtC,EAAE,CAAE,qCAAqC,EAAE;YACzC,MAAM,CAAC,IAAA,sBAAO,EAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}