vk-payments 0.0.13 → 0.0.14

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,10 +1,9 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('@angular/router'), require('@angular/common/http'), require('sha1'), require('sha256')) :
3
- typeof define === 'function' && define.amd ? define('vk-payments', ['exports', '@angular/core', '@angular/common', '@angular/forms', '@angular/router', '@angular/common/http', 'sha1', 'sha256'], factory) :
4
- (global = global || self, factory(global['vk-payments'] = {}, global.ng.core, global.ng.common, global.ng.forms, global.ng.router, global.ng.common.http, global.sha1, global.sha256));
5
- }(this, function (exports, core, common, forms, router, http, sha1, sha256) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('@angular/router'), require('@angular/common/http'), require('sha256')) :
3
+ typeof define === 'function' && define.amd ? define('vk-payments', ['exports', '@angular/core', '@angular/common', '@angular/forms', '@angular/router', '@angular/common/http', 'sha256'], factory) :
4
+ (global = global || self, factory(global['vk-payments'] = {}, global.ng.core, global.ng.common, global.ng.forms, global.ng.router, global.ng.common.http, global.sha256));
5
+ }(this, function (exports, core, common, forms, router, http, sha256) { 'use strict';
6
6
 
7
- sha1 = sha1 && sha1.hasOwnProperty('default') ? sha1['default'] : sha1;
8
7
  sha256 = sha256 && sha256.hasOwnProperty('default') ? sha256['default'] : sha256;
9
8
 
10
9
  /*! *****************************************************************************
@@ -460,7 +459,6 @@
460
459
  for (var i = 0; i < iterations; i++) {
461
460
  hashedtext = sha256(hashedtext);
462
461
  }
463
- hashedtext = sha1(hashedtext);
464
462
  return hashedtext;
465
463
  };
466
464
  /**
@@ -1852,7 +1850,6 @@
1852
1850
  for (var i = 0; i < iterations; i++) {
1853
1851
  hashedtext = sha256(hashedtext);
1854
1852
  }
1855
- hashedtext = sha1(hashedtext);
1856
1853
  return hashedtext;
1857
1854
  };
1858
1855
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"vk-payments.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://vk-payments/lib/mercadopago/services/mercadopago.api.service.ts","ng://vk-payments/lib/mercadopago/components/mercadopago.component.ts","ng://vk-payments/lib/mercadopago/components/promotion-bank.component.ts","ng://vk-payments/lib/mercadopago/mercadopago.module.ts","ng://vk-payments/lib/paypal/components/paypal-new.component.ts","ng://vk-payments/lib/paypal/paypal.module.ts","ng://vk-payments/lib/sps-decidir/services/sps-decidir.api.service.ts","ng://vk-payments/lib/sps-decidir/components/sps-decidir.component.ts","ng://vk-payments/lib/sps-decidir/sps-decidir.module.ts","ng://vk-payments/lib/vk-payments.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { CardPayment } from '../models/mercadopago.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MercadopagoApiService {\r\n private authHeaders: HttpHeaders;\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n makePayment(cardPayment: CardPayment, access_token: string, url: string): Observable<any> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.post(this.normalizeUrl(url) + '/Payment', cardPayment, { headers: this.authHeaders });\r\n }\r\n\r\n getMercadoPagoPromotions(url: string): Observable<any> {\r\n return this.httpClient.get(url);\r\n }\r\n\r\n normalizeUrl(url: string): string {\r\n if (url.length > 0 && url.charAt(url.length - 1) == '/') {\r\n url = url.substr(0, url.length - 1);\r\n }\r\n return url;\r\n }\r\n\r\n private _setAuthHeaders(access_token: string) {\r\n const userToken = 'Bearer ' + access_token;\r\n this.authHeaders = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': userToken });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { Router } from '@angular/router';\n\nimport { CardPayment, CreateTokenResponse, PaymentResult, ResponseInstallment } from '../models/mercadopago.model';\nimport { MercadopagoApiService } from '../services/mercadopago.api.service';\nimport sha1 from 'sha1';\nimport sha256 from 'sha256';\n\n\ndeclare var Mercadopago: any;\n\n@Component({\n selector: 'mp-form-pay',\n templateUrl: './mercadopago.component.html',\n styleUrls: ['./mercadopago.component.scss']\n})\nexport class MercadoPagoComponent implements OnInit, OnChanges {\n\n totalAmount: number;\n totalFinancedAmount: number;\n currentBin: string;\n recommendedLabel: string;\n currentTEA: string;\n currentCFT: string;\n ticket: string;\n defaultName: string;\n defaultDocType: string;\n issuerId: string;\n currentPaymentMethod: any;\n currentIssuers: any[];\n currentInstallments: any[];\n cardPayment: CardPayment;\n\n // input bind\n yearText: string;\n monthText: string;\n dniText: string;\n cvcText: string;\n cardText: string;\n errorMessage: string;\n\n paymentState = 'unsubmitted';\n tokenId = '';\n disabled = false;\n addScript = false;\n requiredIssuer = false;\n submitted = false;\n\n paymentResult: PaymentResult = { success: false, paymentId: '', integrator: 'MP' };\n\n @Input() paymentAmount: number;\n @Input() payerName: string;\n @Input() payerEmail: string;\n @Input() accessToken: string;\n @Input() vkUrlApi: string;\n @Input() description: string;\n @Input() publishableKey: string;\n @Input() successUrl: string;\n @Input() failureUrl: string;\n @Input() imgCreditCards: string;\n @Input() imgMercadoPago: string;\n @Input() iconExpandMore: string;\n @Input() debugLog: boolean;\n @Input() storeId: string;\n @Input() idVen: number;\n @Input() data: string;\n @Output() statusPay = new EventEmitter<PaymentResult>();\n\n @ViewChild('f', { static: false }) checkOutForm: NgForm;\n\n constructor(private router: Router, private mercadopagoApiService: MercadopagoApiService) { }\n\n ngOnInit() {\n this.initMercadoPago();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!changes.paymentAmount.isFirstChange()) {\n this.disabled = false;\n this.checkOutForm.reset();\n }\n }\n\n private initMercadoPago() {\n this.addMercadopagoScript()\n .then(() => {\n Mercadopago.setPublishableKey(this.publishableKey);\n Mercadopago.getIdentificationTypes();\n\n this.totalAmount = this.paymentAmount;\n this.defaultName = this.payerName;\n this.defaultDocType = 'DNI';\n });\n }\n\n private addMercadopagoScript() {\n this.addScript = true;\n return new Promise((resolve, reject) => {\n const scripttagElement = document.createElement('script');\n scripttagElement.src = 'https://secure.mlstatic.com/sdk/javascript/v1/mercadopago.js?2345';\n scripttagElement.onload = resolve;\n document.body.appendChild(scripttagElement);\n });\n }\n\n private createToken(sendForm: any) {\n this.paymentState = 'processing';\n Mercadopago.createToken(sendForm, (status, response: any) => {\n \n if (status !== 200 && status !== 201) {\n this.paymentState = 'error';\n this.statusPay.emit(this.paymentResult);\n this.errorMessage = 'Revisa los datos del formulario.';\n // const causes: Cause[] = (response as ErrorTokenResponse).cause;\n // if (causes !== null && causes.length > 0) {\n // causes.forEach((item) => {\n // this.errorMessage += this.getErrorMessage(item.code) + '\\n';\n // });\n // }\n } else {\n this.tokenId = (response as CreateTokenResponse).id;\n this.makePayment();\n }\n });\n }\n\n private makePayment() {\n const hashedCard = this.hashText(this.cardText,100000);\n this.cardPayment = {\n tokenId: this.tokenId,\n transactionAmount: this.totalAmount,\n description: this.description,\n installments: Number(this.checkOutForm.value.installments),\n issuerId: this.checkOutForm.value.issuer,\n paymentMethodId: this.currentPaymentMethod[0].id,\n codCP: this.idVen,\n docNumber: this.checkOutForm.value.docNumber,\n additionalData: this.data,\n storeId: this.storeId,\n hash: hashedCard\n };\n this.mercadoPagoPayment();\n }\n\n private hashText(text: string, iterations:number): string{\n let hashedtext = text;\n for (let i = 0; i < iterations; i++) {\n hashedtext = sha256(hashedtext);\n }\n hashedtext = sha1(hashedtext);\n return hashedtext\n }\n\n private paymentResponseHandler(response: any) {\n if (response.success) {\n this.paymentState = response.data.statusDetails;\n this.ticket = response.data.transactionId;\n this.paymentResult = { success: true, paymentId: this.ticket, integrator: 'MP' };\n this.statusPay.emit(this.paymentResult);\n this.disabled = true;\n\n this.logger('paymentResponseHandler:', response);\n if (this.successUrl && this.successUrl.length > 0) {\n this.router.navigate([`${this.successUrl}`]);\n }\n } else {\n this.paymentState = 'apiError';\n this.statusPay.emit(this.paymentResult);\n if (this.successUrl && this.failureUrl.length > 0) {\n this.router.navigate([`${this.failureUrl}`]).then();\n }\n }\n }\n\n checkPaymentMethod() {\n if (this.checkOutForm.value.cardNumber != null) {\n this.currentInstallments = null;\n this.currentIssuers = null;\n if (this.checkOutForm.value.cardNumber.toString().length >= 6) {\n this.currentBin = this.checkOutForm.value.cardNumber.toString().substring(0, 6);\n const self = this;\n Mercadopago.getPaymentMethod(\n {\n 'bin': this.checkOutForm.value.cardNumber.toString()\n }, function (respCode, respBody) {\n if (respCode === 200) {\n self.setCurrentMethod(respBody);\n }\n });\n }\n if (this.checkOutForm.value.cardNumber.toString().length < 6) {\n this.requiredIssuer = false;\n }\n }\n }\n\n setCurrentMethod(res: any) {\n if (res) {\n this.logger('setCurrentMethod:', res);\n\n const additionalInfo: String[] = res[0].additional_info_needed;\n const issuerIdKey = 'issuer_id';\n\n if (additionalInfo.find(x => x == issuerIdKey) == undefined) {\n this.requiredIssuer = false;\n }\n else {\n this.requiredIssuer = true;\n }\n \n this.logger('requiredIssuer:', this.requiredIssuer);\n\n this.currentPaymentMethod = res;\n const self = this;\n Mercadopago.getIssuers(res[0].id, function (respCode, respBody) {\n if (respCode === 200) {\n self.setIssuers(respBody);\n }\n });\n\n self.checkInstallments(this.requiredIssuer);\n }\n }\n\n checkInstallments(requiredIssuer: boolean) {\n if (this.currentBin == undefined || this.currentBin.length < 6) {\n return;\n }\n const self = this;\n self.currentInstallments = null;\n\n let requestObject:any\n \n if (requiredIssuer) {\n requestObject = {\n 'bin': this.currentBin,\n 'amount': this.totalAmount,\n 'issuer_id': this.issuerId\n } \n }\n else {\n requestObject = {\n 'bin': this.currentBin,\n 'amount': this.totalAmount\n } \n }\n\n Mercadopago.getInstallments(requestObject, function (respCode, respBody) {\n if (respCode === 200) {\n self.setInstallments(respBody);\n } else {\n self.currentInstallments = null;\n }\n });\n }\n\n setInstallments(res: ResponseInstallment[]) {\n //this.logger('setInstallments:', res);\n\n if (res.length > 0) {\n if (this.issuerId != undefined && res.length > 1 && this.currentPaymentMethod.length > 0) {\n const result = res.filter(card => card.issuer.id === this.issuerId && card.payment_method_id === this.currentPaymentMethod[0].id);\n this.currentInstallments = result[0].payer_costs;\n this.issuerId = result[0].issuer.id;\n }\n else {\n this.currentInstallments = res[0].payer_costs;\n this.issuerId = res[0].issuer.id;\n }\n }\n }\n\n setIssuers(res: any) {\n //this.logger('setIssuers res', res);\n this.currentIssuers = res;\n }\n\n onDuesSelection(res: any) {\n for (const ins of this.currentInstallments) {\n if (ins.installments === Number(res.value.installments)) {\n this.totalFinancedAmount = ins.total_amount;\n for (const label of ins.labels) {\n if (label.includes('CFT')) {\n this.recommendedLabel = label.replace(/_/g, ': ').split('|', 2);\n this.currentTEA = this.recommendedLabel[1];\n this.currentCFT = this.recommendedLabel[0];\n }\n }\n }\n }\n }\n\n onSubmit(form: NgForm) {\n this.submitted = true;\n this.paymentResult = { success: false, paymentId: '', integrator: 'MP' };\n if (this.checkOutForm.valid) {\n const sendForm = {\n cardNumber: this.cardText,\n securityCode: this.cvcText,\n cardExpirationMonth: this.monthText,\n cardExpirationYear: this.yearText,\n cardholderName: this.defaultName,\n docType: this.defaultDocType,\n docNumber: this.dniText\n };\n\n if (this.debugLog) {\n console.log('sendForm', sendForm);\n }\n\n if (this.tokenId !== '') {\n Mercadopago.clearSession();\n }\n\n this.createToken(sendForm);\n }\n }\n\n // Input controls\n onYearChange() {\n if (isNaN(+this.yearText)) {\n setTimeout(() => {\n this.yearText = '';\n });\n }\n }\n\n onMonthLostFocus() {\n if (+this.monthText > 0 && !isNaN(+this.monthText)) {\n if (this.monthText == '1') {\n this.monthText = '01';\n }\n }\n }\n\n onMonthChange() {\n if (+this.monthText >= 0 && +this.monthText < 13 && !isNaN(+this.monthText)) {\n switch (this.monthText) {\n case '2': {\n this.monthText = '02';\n break;\n }\n case '3': {\n this.monthText = '03';\n break;\n }\n case '4': {\n this.monthText = '04';\n break;\n }\n case '5': {\n this.monthText = '05';\n break;\n }\n case '6': {\n this.monthText = '06';\n break;\n }\n case '7': {\n this.monthText = '07';\n break;\n }\n case '8': {\n this.monthText = '08';\n break;\n }\n case '9': {\n this.monthText = '09';\n break;\n }\n }\n } else {\n setTimeout(() => {\n this.monthText = '';\n });\n }\n }\n\n onCodeChange() {\n if (isNaN(+this.cvcText)) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n }\n onDniChange() {\n if (isNaN(+this.dniText)) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n }\n\n onPayerNameChange() {\n if (!isNaN(+this.defaultName)) {\n setTimeout(() => {\n this.defaultName = '';\n });\n }\n }\n\n onCardChange() {\n if (isNaN(+this.cardText)) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n }\n\n onPaste(): boolean {\n return false;\n }\n\n logger(message: string, data: any): void {\n if (this.debugLog) {\n console.log(message, JSON.stringify(data));\n }\n }\n\n mercadoPagoPayment(){\n this.mercadopagoApiService.makePayment(this.cardPayment, this.accessToken, this.vkUrlApi)\n .subscribe(res => {\n this.paymentResponseHandler(res);\n }, error => {\n this.statusPay.emit(this.paymentResult);\n this.paymentState = 'apiError';\n console.log(error);\n });\n }\n\n resetForm() {\n this.disabled = false;\n this.totalAmount\n this.totalFinancedAmount = undefined;\n this.currentBin = undefined;\n this.recommendedLabel = undefined;\n this.currentTEA = undefined;\n this.currentCFT = undefined;\n this.ticket = undefined;\n this.defaultName = undefined;\n this.defaultDocType = undefined;\n this.issuerId = undefined;\n this.currentPaymentMethod = undefined;\n this.currentIssuers = null;\n this.currentInstallments = null;\n this.cardPayment = undefined;\n\n this.paymentResult = { success: false, paymentId: '', integrator: 'MP' };\n \n // Form bind\n this.monthText = undefined;\n this.yearText = undefined;\n this.cvcText = undefined;\n this.dniText = undefined;\n this.cardText = undefined;\n this.requiredIssuer = false;\n this.submitted = false;\n this.addScript = false;\n this.paymentState = 'unsubmitted';\n this.payerName = undefined;\n this.tokenId = '';\n this.errorMessage = undefined;\n\n this.checkOutForm.reset()\n\n this.initMercadoPago();\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { MercadopagoApiService } from '../services/mercadopago.api.service';\r\n\r\n\r\n@Component({\r\n selector: 'mp-promotion',\r\n templateUrl: './promotion-bank.component.html',\r\n styleUrls: ['./promotion-bank.component.scss']\r\n})\r\nexport class PromotionBankComponent implements OnInit {\r\n @Input() url: string;\r\n @Input() contentSource: string;\r\n\r\n cardPromotions: any;\r\n\r\n constructor(private mercadoPagoService: MercadopagoApiService) { }\r\n\r\n ngOnInit() {\r\n this.mercadoPagoService\r\n .getMercadoPagoPromotions(this.url)\r\n .subscribe(res => this.cardPromotions = res);\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { MercadoPagoComponent } from './components/mercadopago.component';\nimport { PromotionBankComponent } from './components/promotion-bank.component';\n\nconst COMPONENTS = [\n MercadoPagoComponent,\n PromotionBankComponent\n];\n\n@NgModule({\n declarations: COMPONENTS,\n exports: COMPONENTS,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule\n ]\n})\nexport class MercadopagoModule { }\n","import { AfterViewChecked, Component, Input, OnInit } from '@angular/core';\n\nimport { PaypalResponse } from '../models/response-paypal.model';\n\ndeclare let paypal: any;\n\n@Component({\n selector: 'paypal-new-form-pay',\n templateUrl: './paypal-new.component.html',\n styleUrls: ['./paypal-new.component.scss']\n})\nexport class PayPalNewComponent implements OnInit, AfterViewChecked {\n @Input() accessToken: string;\n @Input() clientId: string;\n @Input() vkUrlApi: string;\n @Input() storeId: string;\n @Input() userId: string;\n @Input() transactionId: string;\n @Input() amount: string;\n @Input() currency: string;\n @Input() cancelUrl: string;\n @Input() successUrl: string;\n @Input() data: string;\n @Input() urlSignout: string;\n\n private addScript = false;\n\n errorsMessage: any;\n\n showError = false;\n loading = true;\n status = '';\n linkToPay = '';\n linkExecutePay = '';\n\n constructor() {\n // if (this.urlSignout === '') {\n // const wnd = window.open(this.urlSignout, 'myWindow', 'width=100,height=100');\n // setTimeout(function () { wnd.close(); }, 1000);\n // }\n }\n\n ngOnInit(): void {\n\n }\n\n ngAfterViewChecked(): void {\n if (!this.addScript) {\n this.addPaypalScript().then(() => {\n\n const paypalConfig = {\n style: {\n color: 'blue',\n shape: 'pill',\n label: 'pay',\n height: 40\n },\n commit: true,\n createOrder: function (data, actions) {\n return actions.order.create({\n purchase_units: [{\n amount: { value: (<HTMLInputElement>document.getElementById('amount')).value },\n reference_id: '\\'' + (<HTMLInputElement>document.getElementById('transactionId')).value + '\\'',\n custom_id: '\\'' + (<HTMLInputElement>document.getElementById('storeId')).value + '\\''\n }],\n application_context: {\n shipping_preference: 'NO_SHIPPING'\n }\n });\n },\n\n // Finalize the transaction\n onApprove: function (data, actions) {\n return actions.order.capture().then(function (details: PaypalResponse) {\n details.data = (<HTMLInputElement>document.getElementById('data')).value;\n details.userid = (<HTMLInputElement>document.getElementById('userId')).value;\n\n fetch((<HTMLInputElement>document.getElementById('vkUrlApi')).value, {\n method: 'post',\n headers: {\n 'content-type': 'application/json',\n 'Authorization': 'Bearer ' + (<HTMLInputElement>document.getElementById('accessToken')).value\n },\n body: JSON.stringify({ details })\n }).then((response) => {\n console.log('response-> api', response);\n }).then(() => {\n window.location.href = (<HTMLInputElement>document.getElementById('successUrl')).value;\n });\n });\n },\n onError: function (error) {\n window.location.reload();\n },\n onCancel: (data, actions) => {\n window.location.href = (<HTMLInputElement>document.getElementById('cancelUrl')).value;\n }\n };\n\n paypal.Buttons(paypalConfig).render('#paypal-button-container');\n this.loading = false;\n });\n }\n }\n\n private addPaypalScript() {\n this.addScript = true;\n return new Promise((resolve, reject) => {\n const scripttagElement = document.createElement('script');\n scripttagElement.src = `https://www.paypal.com/sdk/js?client-id=${this.clientId}&currency=${this.currency}`;\n scripttagElement.onload = resolve;\n document.body.appendChild(scripttagElement);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { PayPalNewComponent } from './components/paypal-new.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n HttpClientModule,\n RouterModule\n ],\n declarations: [\n PayPalNewComponent\n ],\n exports: [\n PayPalNewComponent\n ]\n})\nexport class PaypalModule { }\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { CreditCard, CreditCardPlans, Payment, ResponseApi } from '../models/payment.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SpsDecidirApiService {\r\n private authHeaders: HttpHeaders;\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n public makePayment(payment: Payment, access_token: string, url: string): Observable<any> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.post(this.normalizeUrl(url) + '/Payment', payment, { headers: this.authHeaders });\r\n }\r\n\r\n public normalizeUrl(url: string): string {\r\n if (url.length > 0 && url.charAt(url.length - 1) == '/') {\r\n url = url.substr(0, url.length - 1);\r\n }\r\n return url;\r\n }\r\n\r\n public getCreditCards(access_token: string, url: string, domainId: number): Observable<ResponseApi> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.get<ResponseApi>(this.normalizeUrl(url) + '/GetCreditCardsEnable?domainId='+ domainId, { headers: this.authHeaders });\r\n }\r\n\r\n public getPlansByCreditCardId(access_token: string, url: string, amount: string, creditCardId: number, domainId: number): Observable<ResponseApi> {\r\n this._setAuthHeaders(access_token);\r\n const body = { amount: amount, creditCardId: creditCardId, domainId: domainId};\r\n return this.httpClient.post<ResponseApi>(this.normalizeUrl(url) + '/CalculateAmountInInstallments', body, { headers: this.authHeaders });\r\n }\r\n\r\n private _setAuthHeaders(access_token: string) {\r\n const userToken = 'Bearer ' + access_token;\r\n this.authHeaders = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': userToken });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport sha1 from 'sha1';\nimport sha256 from 'sha256';\n\nimport {\n CreditCard,\n CreditCardPlans,\n ErrorToken,\n Payment,\n PaymentResponseInfo,\n PaymentResult,\n ResponseApi,\n SpsResponsePayment,\n} from '../models/payment.model';\nimport { SpsDecidirApiService } from '../services/sps-decidir.api.service';\n\ndeclare var Decidir: any;\n\n@Component({\n selector: 'sps-form-pay',\n templateUrl: './sps-decidir.component.html',\n styleUrls: ['./sps-decidir.component.scss']\n})\nexport class SpsDecidirComponent implements OnInit, OnChanges {\n\n @ViewChild('f', { static: false }) checkOutForm: NgForm;\n @Input() accessToken: string;\n @Input() spsUrlApi: string;\n @Input() vkUrlApi: string;\n @Input() paymentAmount: string;\n @Input() logoSps: string;\n @Input() currency: string;\n @Input() publishableKey: string;\n @Input() successUrl: string;\n @Input() failureUrl: string;\n @Input() useCybersource: boolean;\n @Input() debugLog: boolean;\n @Input() storeId: string;\n @Input() domainId: number;\n @Input() idVen: number;\n @Input() data: string;\n @Input() labelButton: string;\n @Input() language = 'es';\n @Output() statusPay = new EventEmitter<PaymentResult>();\n\n disabled = false;\n totalAmount: string;\n totalFinancedAmount: string;\n currentTEA: string;\n currentCFT: string;\n\n creditCards: CreditCard[];\n selectCreditCardPlan: CreditCardPlans = null;\n creditCardPlans: CreditCardPlans[];\n paymentResult: PaymentResult = { success: false, paymentId: '', integrator: 'DECIDIR' };\n\n // Form bind\n monthText: string;\n yearText: string;\n cvcText: string;\n dniText: string;\n payerNameText: string;\n cardText: string;\n submitPressed = false;\n invalidDate = false;\n\n private decidir: any;\n addScript = true;\n\n paymentState = 'unsubmitted';\n payerName: string;\n issuer?: number = null;\n payment: Payment;\n paymentSuccessInfo: PaymentResponseInfo;\n errorMessage: string;\n\n constructor(private router: Router, public spsDecidirApiService: SpsDecidirApiService) { }\n\n ngOnInit() {\n this.initDecidir();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!changes.paymentAmount.isFirstChange()) {\n this.checkOutForm.reset();\n this.disabled = false;\n }\n }\n\n private initDecidir() {\n this.addDecidirScript()\n .then(() => {\n this.getCreditCards();\n this.initializeSpsDecidir();\n });\n }\n\n addDecidirScript() {\n this.addScript = true;\n return new Promise((resolve) => {\n const scripttagElement = document.createElement('script');\n scripttagElement.src = 'https://live.decidir.com/static/v2.4/decidir.js';\n scripttagElement.onload = resolve;\n document.body.appendChild(scripttagElement);\n });\n }\n\n private getCreditCards() {\n this.spsDecidirApiService.getCreditCards(this.accessToken, this.vkUrlApi, this.domainId)\n .subscribe((res: ResponseApi) => {\n this.creditCards = res.data as CreditCard[];\n this.logger('getCreditCards', this.creditCards);\n }, _ => this.paymentState = 'apiError');\n }\n\n private getPlansByCreditCardId(amount: string, creditCardId: number, domainId: number) {\n this.spsDecidirApiService.getPlansByCreditCardId(this.accessToken, this.vkUrlApi, amount, creditCardId, domainId)\n .subscribe((res: ResponseApi) => {\n this.creditCardPlans = res.data as CreditCardPlans[];\n this.logger('getPlansByCreditCardId', this.creditCardPlans);\n }, _ => this.paymentState = 'apiError');\n }\n\n private initializeSpsDecidir() {\n this.decidir = new Decidir(this.spsDecidirApiService.normalizeUrl(this.spsUrlApi), !this.useCybersource);\n this.decidir.setTimeout(15000);\n this.decidir.setPublishableKey(this.publishableKey);\n }\n\n private logger(message: string, data: any): void {\n if (!this.debugLog) { return; }\n console.log(message, data);\n }\n\n public selectedCreditCard() {\n if (!this.issuer) { return; }\n\n this.selectCreditCardPlan = null;\n if (this.currency === 'ARS') {\n this.getPlansByCreditCardId(this.paymentAmount, this.issuer, this.domainId);\n return;\n }\n\n if (this.currency === 'USD') {\n this.totalAmount = this.totalFinancedAmount = this.paymentAmount;\n }\n }\n\n selectedCreditCardPlan() {\n if (this.selectCreditCardPlan === null) { return; }\n\n this.totalFinancedAmount = this.selectCreditCardPlan.totalAmount;\n this.totalAmount = this.paymentAmount;\n this.currentTEA = this.selectCreditCardPlan.tna;\n this.currentCFT = this.selectCreditCardPlan.cft;\n }\n\n onSubmit(event) {\n event.preventDefault();\n this.submitPressed = true;\n this.paymentResult = { success: false, paymentId: '', integrator: 'DECIDIR' };\n\n if (!this.checkOutForm.valid) { return; }\n\n this.paymentState = 'processing';\n const form = document.querySelector('#formulario');\n this.decidir.createToken(form, (status: number, response: SpsResponsePayment) => {\n if (status !== 200 && status !== 201) {\n this.paymentState = 'error';\n this.statusPay.emit(this.paymentResult);\n this.processErrorToken(response);\n } else {\n this.makePayment(form, response);\n }\n });\n }\n\n makePayment(form: any, paymentResponse: SpsResponsePayment): void {\n this.logger('makePayment:', JSON.stringify(paymentResponse));\n const hashedCard = this.hashText(this.cardText,100000);\n this.payment = {\n token: paymentResponse.id,\n amount: this.totalAmount,\n totalFinancedAmount: this.totalFinancedAmount,\n bin: paymentResponse.bin,\n currency: 'ARS',\n documentNumber: this.currency === 'USD' ? '0' : paymentResponse.cardholder.identification.number,\n idVen: this.idVen,\n paymentType: 'single',\n installments: this.currency === 'USD' ? 1 : this.selectCreditCardPlan.installments,\n creditCardPlanId: this.currency === 'USD' ? 0 : this.selectCreditCardPlan.id,\n paymentMethodId: this.issuer,\n cardholder: this.payerNameText,\n storeId: this.storeId,\n data: this.data,\n subPayments: [],\n creditCardHash: hashedCard\n };\n \n\n this.logger('payment:', JSON.stringify(this.payment));\n this.spsDecidirApiService.makePayment(this.payment, this.accessToken, this.vkUrlApi)\n .subscribe((res: ResponseApi) => {\n this.paymentResponseHandler(res);\n }, error => {\n this.statusPay.emit(this.paymentResult);\n this.paymentState = 'apiError';\n console.error(error);\n });\n }\n\n private hashText(text: string, iterations:number): string{\n let hashedtext = text;\n for (let i = 0; i < iterations; i++) {\n hashedtext = sha256(hashedtext);\n }\n hashedtext = sha1(hashedtext);\n return hashedtext\n }\n\n paymentResponseHandler(response: ResponseApi) {\n this.logger('paymentResponseHandler:', JSON.stringify(response));\n\n if (response.success) {\n this.paymentState = 'success';\n this.paymentSuccessInfo = response.data as PaymentResponseInfo;\n this.paymentResult = { success: true, paymentId: this.paymentSuccessInfo.payment_id, integrator: 'DECIDIR' };\n this.statusPay.emit(this.paymentResult);\n this.disabled = true;\n\n if (this.successUrl && this.successUrl.length > 0) {\n this.router.navigate([`${this.successUrl}`]).then();\n return;\n }\n } else {\n this.paymentState = 'error';\n this.statusPay.emit(this.paymentResult);\n this.processErrorMessage(response.data);\n\n if (this.failureUrl && this.failureUrl.length > 0) {\n this.router.navigate([`${this.failureUrl}`]).then()\n return;\n }\n }\n }\n\n processErrorToken(response: any): void {\n this.disabled = true;\n\n const error: ErrorToken = response as ErrorToken;\n\n // obtenemos mensajes de error\n error.error.forEach((x) => {\n if (x.error.type === 'invalid_expiry_date') {\n this.errorMessage = 'Revisá la fecha de vencimiento.';\n } else {\n this.errorMessage = JSON.stringify(error);\n }\n });\n }\n\n // diferentes tipos de error nos devuelve decidir\n processErrorMessage(responseError: PaymentResponseInfo): void {\n this.disabled = true;\n\n if (responseError.error) {\n this.errorMessage = responseError.error.reason.description;\n\n if (responseError.error.reason.additional_description) {\n this.errorMessage = this.errorMessage + ' - ' + responseError.error.reason.additional_description;\n }\n\n if (this.errorMessage == '' || this.errorMessage == undefined) {\n this.errorMessage = JSON.stringify(responseError);\n }\n }\n else if (responseError.error_type) {\n switch (responseError.error_type) {\n case 'invalid_request_error':\n if (responseError.validation_errors.length > 0) {\n if (responseError.validation_errors[0].code === 'invalid_param') {\n switch (responseError.validation_errors[0].param) {\n case 'card_number':\n this.errorMessage = 'Tarjeta inválida';\n break;\n case 'bin':\n this.errorMessage = 'Tarjeta inválida';\n break;\n default:\n this.errorMessage = responseError.error.reason.description;\n if (this.errorMessage == '' || this.errorMessage == undefined) {\n this.errorMessage = JSON.stringify(responseError);\n }\n break;\n }\n }\n }\n break;\n case 'not_found_error':\n this.errorMessage = 'Datos no encontrados (404).';\n break;\n case 'authentication_error':\n this.errorMessage = 'Error (401).';\n break;\n case 'malformed_request_error':\n this.errorMessage = 'Error al enviar los datos (400).';\n break;\n case 'api_error':\n this.errorMessage = 'Error interno (409).';\n break;\n default:\n this.errorMessage = JSON.stringify(responseError);\n break;\n }\n }\n }\n\n compareDate(year: number, month: number, day: number): number {\n const d1: Date = new Date(year, month, day);\n const d2: Date = new Date();\n\n const same = d1.getTime() === d2.getTime();\n if (same) { return 0; }\n if (d1 > d2) { return 1; }\n if (d1 < d2) { return -1; }\n }\n\n // Input controls\n onYearChange() {\n if (Number.isNaN(+this.yearText)) {\n setTimeout(() => {\n this.yearText = '';\n });\n }\n }\n\n onYearBlur(element: any) {\n if (this.compareDate(\n Number(`20${this.yearText}`),\n Number(this.monthText),\n new Date().getDate()) < 0) {\n setTimeout(() => {\n this.yearText = '';\n this.invalidDate = true;\n element.target.focus();\n });\n } else {\n this.invalidDate = false;\n }\n\n }\n\n onMonthLostFocus() {\n if (+this.monthText > 0 && !isNaN(+this.monthText)) {\n if (this.monthText === '1') {\n this.monthText = '01';\n }\n }\n }\n\n onMonthChange() {\n if (+this.monthText >= 0 && +this.monthText < 13 && !isNaN(+this.monthText)) {\n switch (this.monthText) {\n case '2': {\n this.monthText = '02';\n break;\n }\n case '3': {\n this.monthText = '03';\n break;\n }\n case '4': {\n this.monthText = '04';\n break;\n }\n case '5': {\n this.monthText = '05';\n break;\n }\n case '6': {\n this.monthText = '06';\n break;\n }\n case '7': {\n this.monthText = '07';\n break;\n }\n case '8': {\n this.monthText = '08';\n break;\n }\n case '9': {\n this.monthText = '09';\n break;\n }\n }\n } else {\n setTimeout(() => {\n this.monthText = '';\n });\n }\n }\n\n onCodeChange() {\n if (Number.isNaN(+this.cvcText)) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n\n if (this.cvcText.search(' ') > -1) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n }\n\n onDniChange() {\n if (Number.isNaN(+this.dniText)) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n\n if (this.dniText.search(' ') > -1) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n }\n\n onPayerNameChange() {\n if (!isNaN(+this.payerNameText)) {\n setTimeout(() => {\n this.payerNameText = '';\n });\n }\n }\n\n onCardChange() {\n if (Number.isNaN(+this.cardText)) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n\n if (this.cardText.search(' ') > -1) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n\n // setea tarjeta\n this.setCreditType(this.cardText);\n }\n\n setCreditType(bin: string): void {\n if (bin.length < 6) {\n this.issuer = null;\n return;\n }\n\n if (bin.length === 6) {\n this.issuer = null;\n\n // visa debito\n if (bin.substring(0, 4) === '4770' ||\n bin.substring(0, 6) === '442548' ||\n bin.substring(0, 6) === '406809' ||\n bin.substring(0, 6) === '408738' ||\n bin.substring(0, 6) === '411521' ||\n bin.substring(0, 6) === '411663' ||\n bin.substring(0, 6) === '426359' ||\n bin.substring(0, 6) === '429780' ||\n bin.substring(0, 6) === '438267' ||\n bin.substring(0, 6) === '461187' ||\n bin.substring(0, 6) === '500334' ||\n bin.substring(0, 6) === '509413' ||\n bin.substring(0, 6) === '512285' ||\n bin.substring(0, 6) === '512881' ||\n bin.substring(0, 6) === '518635' ||\n bin.substring(0, 6) === '538449' ||\n bin.substring(0, 6) === '550553' ||\n bin.substring(0, 6) === '566057' ||\n bin.substring(0, 6) === '567933' ||\n bin.substring(0, 6) === '572140' ||\n bin.substring(0, 6) === '584257' ||\n bin.substring(0, 6) === '598718' ||\n bin.substring(0, 6) === '605801' ||\n bin.substring(0, 6) === '606120' ||\n bin.substring(0, 6) === '631057' ||\n bin.substring(0, 6) === '676215' ||\n bin.substring(0, 6) === '713274' ||\n bin.substring(0, 6) === '713284' ||\n bin.substring(0, 6) === '717515' ||\n bin.substring(0, 6) === '748761' ||\n bin.substring(0, 6) === '753371' ||\n bin.substring(0, 6) === '753600' ||\n bin.substring(0, 6) === '912394' ||\n bin.substring(0, 6) === '916148' ||\n bin.substring(0, 6) === '916773' ||\n bin.substring(0, 6) === '923405' ||\n bin.substring(0, 6) === '930965' ||\n bin.substring(0, 6) === '934091' ||\n bin.substring(0, 6) === '935761' ||\n bin.substring(0, 6) === '943313' ||\n bin.substring(0, 6) === '945721' ||\n bin.substring(0, 6) === '948809' ||\n bin.substring(0, 6) === '960644' ||\n bin.substring(0, 6) === '969085' ||\n bin.substring(0, 6) === '970167' ||\n bin.substring(0, 6) === '978061' ||\n bin.substring(0, 8) === '40267919' ||\n bin.substring(0, 8) === '40327176' ||\n bin.substring(0, 8) === '40416004' ||\n bin.substring(0, 8) === '40421933' ||\n bin.substring(0, 8) === '40451556' ||\n bin.substring(0, 8) === '40541010' ||\n bin.substring(0, 8) === '40623835' ||\n bin.substring(0, 8) === '40733469' ||\n bin.substring(0, 8) === '40733586' ||\n bin.substring(0, 8) === '40872498' ||\n bin.substring(0, 8) === '45007789' ||\n bin.substring(0, 8) === '45024822' ||\n bin.substring(0, 8) === '45034751' ||\n bin.substring(0, 8) === '45046987' ||\n bin.substring(0, 8) === '45060549' ||\n bin.substring(0, 8) === '45062482' ||\n bin.substring(0, 8) === '45070071' ||\n bin.substring(0, 8) === '45084708' ||\n bin.substring(0, 8) === '45091433' ||\n bin.substring(0, 8) === '45100902' ||\n bin.substring(0, 8) === '45103869' ||\n bin.substring(0, 8) === '45131047' ||\n bin.substring(0, 8) === '45168884' ||\n bin.substring(0, 8) === '45174306' ||\n bin.substring(0, 8) === '45184611' ||\n bin.substring(0, 8) === '45191921' ||\n bin.substring(0, 8) === '45201881' ||\n bin.substring(0, 8) === '45206401' ||\n bin.substring(0, 8) === '45245294' ||\n bin.substring(0, 8) === '45314944' ||\n bin.substring(0, 8) === '45317847' ||\n bin.substring(0, 8) === '45357409' ||\n bin.substring(0, 8) === '45374587' ||\n bin.substring(0, 8) === '45394705' ||\n bin.substring(0, 8) === '45456584' ||\n bin.substring(0, 8) === '45541924' ||\n bin.substring(0, 8) === '45545795' ||\n bin.substring(0, 8) === '45567746' ||\n bin.substring(0, 8) === '45583759' ||\n bin.substring(0, 8) === '45648838' ||\n bin.substring(0, 8) === '45672506' ||\n bin.substring(0, 8) === '45678421' ||\n bin.substring(0, 8) === '45710756' ||\n bin.substring(0, 8) === '45716006' ||\n bin.substring(0, 8) === '45725029' ||\n bin.substring(0, 8) === '45732113' ||\n bin.substring(0, 8) === '45732698' ||\n bin.substring(0, 8) === '45793917' ||\n bin.substring(0, 8) === '45841185' ||\n bin.substring(0, 8) === '45862021' ||\n bin.substring(0, 8) === '45915336' ||\n bin.substring(0, 8) === '45971496') {\n this.issuer = 31;\n }\n // mastercard\n else if (bin.substring(0, 2) === '51' ||\n bin.substring(0, 2) === '52' ||\n bin.substring(0, 2) === '53' ||\n bin.substring(0, 2) === '54' ||\n bin.substring(0, 2) === '55') {\n this.issuer = 15;\n }\n // tarjeta naranja\n else if (bin.substring(0, 6) === '589562') {\n this.issuer = 24;\n }\n // visa credito\n else if (bin.substring(0, 1) === '4') {\n this.issuer = 1;\n }\n\n this.selectedCreditCard();\n }\n }\n\n onPaste(): boolean {\n return false;\n }\n\n resetForm() {\n this.disabled = false;\n this.totalAmount\n this.totalFinancedAmount = undefined;\n this.currentTEA = undefined;\n this.currentCFT = undefined;\n // creditCards: CreditCard[];\n this.creditCards = undefined;\n this.selectCreditCardPlan = null;\n // creditCardPlans: CreditCardPlans[];\n this.creditCardPlans = undefined;\n this.paymentResult = { success: false, paymentId: '', integrator: 'DECIDIR' };\n \n // Form bind\n this.monthText = undefined;\n this.yearText = undefined;\n this.cvcText = undefined;\n this.dniText = undefined;\n this.payerNameText = undefined;\n this.cardText = undefined;\n this.submitPressed = false;\n this.invalidDate = false;\n \n this.decidir = undefined;\n this.addScript = true;\n \n this.paymentState = 'unsubmitted';\n this.payerName = undefined;\n this.issuer = null;\n this.payment = undefined;\n this.paymentSuccessInfo = undefined;\n this.errorMessage = undefined;\n\n this.initDecidir();\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { SpsDecidirComponent } from './components/sps-decidir.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n HttpClientModule,\n RouterModule\n ],\n declarations: [\n SpsDecidirComponent\n ],\n exports: [\n SpsDecidirComponent\n ]\n})\nexport class SpsDecidirModule { }\n","import { NgModule } from '@angular/core';\n\nimport { MercadopagoModule } from './mercadopago/mercadopago.module';\nimport { PaypalModule } from './paypal/paypal.module';\nimport { SpsDecidirModule } from './sps-decidir/sps-decidir.module';\n\nconst LIB_MODULES = [\n MercadopagoModule,\n SpsDecidirModule,\n PaypalModule\n];\n\n@NgModule({\n imports: LIB_MODULES,\n exports: LIB_MODULES\n})\nexport class VkPaymentsModule { }\n"],"names":["HttpHeaders","Injectable","HttpClient","EventEmitter","tslib_1.__values","Component","Router","Input","Output","ViewChild","NgModule","CommonModule","FormsModule","ReactiveFormsModule","RouterModule","HttpClientModule"],"mappings":";;;;;;;;;IAAA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;;IAEA,IAAI,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE;IACnC,IAAI,aAAa,GAAG,MAAM,CAAC,cAAc;IACzC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IACpF,QAAQ,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;;AAEF,IAAO,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;IAChC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IAC3C,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;;AAED,IAAO,IAAI,QAAQ,GAAG,WAAW;IACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;IACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS;IACT,QAAQ,OAAO,CAAC,CAAC;IACjB,MAAK;IACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,EAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;IACvE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAChF,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,SAAS;IACT,IAAI,OAAO,CAAC,CAAC;IACb,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC1D,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACjI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnI,SAAS,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACtJ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;;AAED,IAAO,SAAS,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE;IAC/C,IAAI,OAAO,UAAU,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE;IACzE,CAAC;;AAED,IAAO,SAAS,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE;IACvD,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;;AAED,IAAO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;IAC7D,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;IAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;IACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IACvJ,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,CAAC;IACP,CAAC;;AAED,IAAO,SAAS,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7J,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACtE,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE;IACtB,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACtE,QAAQ,OAAO,CAAC,EAAE,IAAI;IACtB,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzK,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzB,gBAAgB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM;IAC9C,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxE,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IACjE,gBAAgB,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IACjE,gBAAgB;IAChB,oBAAoB,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE;IAChI,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;IAC1G,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACzF,oBAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;IACvF,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC1C,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS;IAC3C,aAAa;IACb,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzF,KAAK;IACL,CAAC;;AAED,IAAO,SAAS,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;;AAED,IAAO,SAAS,QAAQ,CAAC,CAAC,EAAE;IAC5B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,OAAO;IACX,QAAQ,IAAI,EAAE,YAAY;IAC1B,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/C,YAAY,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACpD,SAAS;IACT,KAAK,CAAC;IACN,CAAC;;AAED,IAAO,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,IAAI;IACR,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACnF,KAAK;IACL,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;IAC3C,YAAY;IACZ,QAAQ,IAAI;IACZ,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,SAAS;IACT,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;IACzC,KAAK;IACL,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,QAAQ,GAAG;IAC3B,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;IACd,CAAC;;AAED,IAAO,SAAS,cAAc,GAAG;IACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;IACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;;AAEF,IAAO,SAAS,OAAO,CAAC,CAAC,EAAE;IAC3B,IAAI,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE;IACjE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAC9I,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;IACtF,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC5H,IAAI,SAAS,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IACtD,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;;AAED,IAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE;IACpC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChJ,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;;AAED,IAAO,SAAS,aAAa,CAAC,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrN,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IACpK,IAAI,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;;AAED,IAAO,SAAS,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE;IAClD,IAAI,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE;IACnH,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;;AAEF,IAAO,SAAS,YAAY,CAAC,GAAG,EAAE;IAClC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;IACzB,IAAI,OAAO,MAAM,CAAC;IAClB,CAAC;;AAED,IAAO,SAAS,eAAe,CAAC,GAAG,EAAE;IACrC,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;;;;;;;ACnMD;QAYE,+BAAoB,UAAsB;YAAtB,eAAU,GAAV,UAAU,CAAY;SAAK;;;;;;;QAE/C,2CAAW;;;;;;QAAX,UAAY,WAAwB,EAAE,YAAoB,EAAE,GAAW;YACrE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,UAAU,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAC9G;;;;;QAED,wDAAwB;;;;QAAxB,UAAyB,GAAW;YAClC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACjC;;;;;QAED,4CAAY;;;;QAAZ,UAAa,GAAW;YACtB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE;gBACvD,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aACrC;YACD,OAAO,GAAG,CAAC;SACZ;;;;;;QAEO,+CAAe;;;;;QAAvB,UAAwB,YAAoB;;gBACpC,SAAS,GAAG,SAAS,GAAG,YAAY;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAIA,gBAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC;SACxG;;oBA3BFC,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBARQC,eAAU;;;oCAAnB;KAMA,IA4BC;;;;;;QAxBC,4CAAiC;;;;;QAErB,2CAA8B;;;;;;;;;QC2D1C,8BAAoB,MAAc,EAAU,qBAA4C;YAApE,WAAM,GAAN,MAAM,CAAQ;YAAU,0BAAqB,GAArB,qBAAqB,CAAuB;YA7BxF,iBAAY,GAAG,aAAa,CAAC;YAC7B,YAAO,GAAG,EAAE,CAAC;YACb,aAAQ,GAAG,KAAK,CAAC;YACjB,cAAS,GAAG,KAAK,CAAC;YAClB,mBAAc,GAAG,KAAK,CAAC;YACvB,cAAS,GAAG,KAAK,CAAC;YAElB,kBAAa,GAAkB,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YAkBzE,cAAS,GAAG,IAAIC,iBAAY,EAAiB,CAAC;SAIqC;;;;QAE7F,uCAAQ;;;QAAR;YACE,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;;;;;QAED,0CAAW;;;;QAAX,UAAY,OAAsB;YAChC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE;gBAC1C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;aAC3B;SACF;;;;;QAEO,8CAAe;;;;QAAvB;YAAA,iBAUC;YATC,IAAI,CAAC,oBAAoB,EAAE;iBACxB,IAAI;;;YAAC;gBACJ,WAAW,CAAC,iBAAiB,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC;gBACnD,WAAW,CAAC,sBAAsB,EAAE,CAAC;gBAErC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,aAAa,CAAC;gBACtC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,SAAS,CAAC;gBAClC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC7B,EAAC,CAAC;SACN;;;;;QAEO,mDAAoB;;;;QAA5B;YACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,OAAO,IAAI,OAAO;;;;;YAAC,UAAC,OAAO,EAAE,MAAM;;oBAC3B,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;gBACzD,gBAAgB,CAAC,GAAG,GAAG,mEAAmE,CAAC;gBAC3F,gBAAgB,CAAC,MAAM,GAAG,OAAO,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;aAC7C,EAAC,CAAC;SACJ;;;;;;QAEO,0CAAW;;;;;QAAnB,UAAoB,QAAa;YAAjC,iBAmBC;YAlBC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,WAAW,CAAC,WAAW,CAAC,QAAQ;;;;;YAAE,UAAC,MAAM,EAAE,QAAa;gBAEtD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;oBACpC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;oBAC5B,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;oBACxC,KAAI,CAAC,YAAY,GAAG,kCAAkC,CAAC;;;;;;;iBAOxD;qBAAM;oBACL,KAAI,CAAC,OAAO,GAAG,oBAAC,QAAQ,IAAyB,EAAE,CAAC;oBACpD,KAAI,CAAC,WAAW,EAAE,CAAC;iBACpB;aACF,EAAC,CAAC;SACJ;;;;;QAEO,0CAAW;;;;QAAnB;;gBACQ,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAC,MAAM,CAAC;YACtD,IAAI,CAAC,WAAW,GAAG;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,iBAAiB,EAAE,IAAI,CAAC,WAAW;gBACnC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC1D,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM;gBACxC,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE;gBAChD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS;gBAC5C,cAAc,EAAE,IAAI,CAAC,IAAI;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,UAAU;aACjB,CAAC;YACF,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;;;;;;;QAEO,uCAAQ;;;;;;QAAhB,UAAiB,IAAY,EAAE,UAAiB;;gBAC1C,UAAU,GAAG,IAAI;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;gBACnC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;aACjC;YACD,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9B,OAAO,UAAU,CAAA;SAClB;;;;;;QAEO,qDAAsB;;;;;QAA9B,UAA+B,QAAa;YAC1C,IAAI,QAAQ,CAAC,OAAO,EAAE;gBACpB,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;gBAChD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;gBAC1C,IAAI,CAAC,aAAa,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;gBACjF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAErB,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;gBACjD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAG,IAAI,CAAC,UAAY,CAAC,CAAC,CAAC;iBAC9C;aACF;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACxC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAG,IAAI,CAAC,UAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACrD;aACF;SACF;;;;QAED,iDAAkB;;;QAAlB;YACE,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,EAAE;gBAC9C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE;oBAC7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;wBAC1E,MAAI,GAAG,IAAI;oBACjB,WAAW,CAAC,gBAAgB,CAC1B;wBACE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE;qBACrD;;;;;oBAAE,UAAU,QAAQ,EAAE,QAAQ;wBAC7B,IAAI,QAAQ,KAAK,GAAG,EAAE;4BACpB,MAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;yBACjC;qBACF,EAAC,CAAC;iBACN;gBACD,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC5D,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;iBAC7B;aACF;SACF;;;;;QAED,+CAAgB;;;;QAAhB,UAAiB,GAAQ;YACvB,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;;oBAEhC,cAAc,GAAa,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB;;oBACxD,aAAW,GAAG,WAAW;gBAE/B,IAAI,cAAc,CAAC,IAAI;;;;gBAAC,UAAA,CAAC,IAAI,OAAA,CAAC,IAAI,aAAW,GAAA,EAAC,IAAI,SAAS,EAAE;oBAC3D,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;iBAC7B;qBACI;oBACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;iBAC5B;gBAED,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;gBAEpD,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC;;oBAC1B,MAAI,GAAG,IAAI;gBACjB,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;;;;;gBAAE,UAAU,QAAQ,EAAE,QAAQ;oBAC5D,IAAI,QAAQ,KAAK,GAAG,EAAE;wBACpB,MAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;qBAC3B;iBACF,EAAC,CAAC;gBAEH,MAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAC7C;SACF;;;;;QAED,gDAAiB;;;;QAAjB,UAAkB,cAAuB;YACvC,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9D,OAAO;aACR;;gBACK,IAAI,GAAG,IAAI;YACjB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;;gBAE5B,aAAiB;YAErB,IAAI,cAAc,EAAE;gBAClB,aAAa,GAAG;oBACd,KAAK,EAAE,IAAI,CAAC,UAAU;oBACtB,QAAQ,EAAE,IAAI,CAAC,WAAW;oBAC1B,WAAW,EAAE,IAAI,CAAC,QAAQ;iBAC3B,CAAA;aACF;iBACI;gBACH,aAAa,GAAG;oBACd,KAAK,EAAE,IAAI,CAAC,UAAU;oBACtB,QAAQ,EAAE,IAAI,CAAC,WAAW;iBAC3B,CAAA;aACF;YAED,WAAW,CAAC,eAAe,CAAC,aAAa;;;;;YAAE,UAAU,QAAQ,EAAE,QAAQ;gBACrE,IAAI,QAAQ,KAAK,GAAG,EAAE;oBACpB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;iBAChC;qBAAM;oBACL,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;iBACjC;aACF,EAAC,CAAC;SACJ;;;;;QAED,8CAAe;;;;QAAf,UAAgB,GAA0B;;YAA1C,iBAcC;YAXC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClB,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;;wBAClF,MAAM,GAAG,GAAG,CAAC,MAAM;;;;oBAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,KAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,KAAK,KAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,GAAA,EAAC;oBACjI,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBACjD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;iBACrC;qBACI;oBACH,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBAC9C,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;iBAClC;aACF;SACF;;;;;QAED,yCAAU;;;;QAAV,UAAW,GAAQ;;YAEjB,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;SAC3B;;;;;QAED,8CAAe;;;;QAAf,UAAgB,GAAQ;;;gBACtB,KAAkB,IAAA,KAAAC,SAAA,IAAI,CAAC,mBAAmB,CAAA,gBAAA,4BAAE;oBAAvC,IAAM,GAAG,WAAA;oBACZ,IAAI,GAAG,CAAC,YAAY,KAAK,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;wBACvD,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC,YAAY,CAAC;;4BAC5C,KAAoB,IAAA,oBAAAA,SAAA,GAAG,CAAC,MAAM,CAAA,CAAA,gBAAA,4BAAE;gCAA3B,IAAM,KAAK,WAAA;gCACd,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oCACzB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oCAChE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;oCAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;iCAC5C;6BACF;;;;;;;;;qBACF;iBACF;;;;;;;;;SACF;;;;;QAED,uCAAQ;;;;QAAR,UAAS,IAAY;YACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YACzE,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;;oBACrB,QAAQ,GAAG;oBACf,UAAU,EAAE,IAAI,CAAC,QAAQ;oBACzB,YAAY,EAAE,IAAI,CAAC,OAAO;oBAC1B,mBAAmB,EAAE,IAAI,CAAC,SAAS;oBACnC,kBAAkB,EAAE,IAAI,CAAC,QAAQ;oBACjC,cAAc,EAAE,IAAI,CAAC,WAAW;oBAChC,OAAO,EAAE,IAAI,CAAC,cAAc;oBAC5B,SAAS,EAAE,IAAI,CAAC,OAAO;iBACxB;gBAED,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACjB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;iBACnC;gBAED,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,EAAE;oBACvB,WAAW,CAAC,YAAY,EAAE,CAAC;iBAC5B;gBAED,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;aAC5B;SACF;;;;;;QAGD,2CAAY;;;;;QAAZ;YAAA,iBAMC;YALC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACzB,UAAU;;;gBAAC;oBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;iBACpB,EAAC,CAAC;aACJ;SACF;;;;QAED,+CAAgB;;;QAAhB;YACE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAClD,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,EAAE;oBACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;iBACvB;aACF;SACF;;;;QAED,4CAAa;;;QAAb;YAAA,iBAyCC;YAxCC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC3E,QAAQ,IAAI,CAAC,SAAS;oBACpB,KAAK,GAAG,EAAE;wBACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,MAAM;qBACP;oBACD,KAAK,GAAG,EAAE;wBACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,MAAM;qBACP;oBACD,KAAK,GAAG,EAAE;wBACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,MAAM;qBACP;oBACD,KAAK,GAAG,EAAE;wBACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,MAAM;qBACP;oBACD,KAAK,GAAG,EAAE;wBACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,MAAM;qBACP;oBACD,KAAK,GAAG,EAAE;wBACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,MAAM;qBACP;oBACD,KAAK,GAAG,EAAE;wBACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,MAAM;qBACP;oBACD,KAAK,GAAG,EAAE;wBACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,MAAM;qBACP;iBACF;aACF;iBAAM;gBACL,UAAU;;;gBAAC;oBACT,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;iBACrB,EAAC,CAAC;aACJ;SACF;;;;QAED,2CAAY;;;QAAZ;YAAA,iBAMC;YALC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBACxB,UAAU;;;gBAAC;oBACT,KAAI,CAAC,OAAO,GAAG,EAAE,CAAC;iBACnB,EAAC,CAAC;aACJ;SACF;;;;QACD,0CAAW;;;QAAX;YAAA,iBAMC;YALC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBACxB,UAAU;;;gBAAC;oBACT,KAAI,CAAC,OAAO,GAAG,EAAE,CAAC;iBACnB,EAAC,CAAC;aACJ;SACF;;;;QAED,gDAAiB;;;QAAjB;YAAA,iBAMC;YALC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBAC7B,UAAU;;;gBAAC;oBACT,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;iBACvB,EAAC,CAAC;aACJ;SACF;;;;QAED,2CAAY;;;QAAZ;YAAA,iBAMC;YALC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACzB,UAAU;;;gBAAC;oBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;iBACpB,EAAC,CAAC;aACJ;SACF;;;;QAED,sCAAO;;;QAAP;YACE,OAAO,KAAK,CAAC;SACd;;;;;;QAED,qCAAM;;;;;QAAN,UAAO,OAAe,EAAE,IAAS;YAC/B,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;aAC5C;SACF;;;;QAED,iDAAkB;;;QAAlB;YAAA,iBASC;YARD,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC;iBACpF,SAAS;;;;YAAC,UAAA,GAAG;gBACZ,KAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;aAClC;;;;YAAE,UAAA,KAAK;gBACN,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;gBACxC,KAAI,CAAC,YAAY,GAAG,UAAU,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACpB,EAAC,CAAC;SACN;;;;QAED,wCAAS;;;QAAT;YACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,WAAW,CAAA;YAChB,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;YACtC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAE7B,IAAI,CAAC,aAAa,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;;YAGzE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAE9B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;YAEzB,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;;oBAvcFC,cAAS,SAAC;wBACT,QAAQ,EAAE,aAAa;wBACvB,i5ZAA2C;;qBAE5C;;;;oBAdQC,aAAM;oBAGN,qBAAqB;;;oCA8C3BC,UAAK;gCACLA,UAAK;iCACLA,UAAK;kCACLA,UAAK;+BACLA,UAAK;kCACLA,UAAK;qCACLA,UAAK;iCACLA,UAAK;iCACLA,UAAK;qCACLA,UAAK;qCACLA,UAAK;qCACLA,UAAK;+BACLA,UAAK;8BACLA,UAAK;4BACLA,UAAK;2BACLA,UAAK;gCACLC,WAAM;mCAENC,cAAS,SAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;QA+YnC,2BAAC;KAxcD,IAwcC;;;QAjcC,2CAAoB;;QACpB,mDAA4B;;QAC5B,0CAAmB;;QACnB,gDAAyB;;QACzB,0CAAmB;;QACnB,0CAAmB;;QACnB,sCAAe;;QACf,2CAAoB;;QACpB,8CAAuB;;QACvB,wCAAiB;;QACjB,oDAA0B;;QAC1B,8CAAsB;;QACtB,mDAA2B;;QAC3B,2CAAyB;;QAGzB,wCAAiB;;QACjB,yCAAkB;;QAClB,uCAAgB;;QAChB,uCAAgB;;QAChB,wCAAiB;;QACjB,4CAAqB;;QAErB,4CAA6B;;QAC7B,uCAAa;;QACb,wCAAiB;;QACjB,yCAAkB;;QAClB,8CAAuB;;QACvB,yCAAkB;;QAElB,6CAAmF;;QAEnF,6CAA+B;;QAC/B,yCAA2B;;QAC3B,0CAA4B;;QAC5B,2CAA6B;;QAC7B,wCAA0B;;QAC1B,2CAA6B;;QAC7B,8CAAgC;;QAChC,0CAA4B;;QAC5B,0CAA4B;;QAC5B,8CAAgC;;QAChC,8CAAgC;;QAChC,8CAAgC;;QAChC,wCAA2B;;QAC3B,uCAAyB;;QACzB,qCAAuB;;QACvB,oCAAsB;;QACtB,yCAAwD;;QAExD,4CAAwD;;;;;QAE5C,sCAAsB;;;;;QAAE,qDAAoD;;;;;;;;ACvE1F;QAgBE,gCAAoB,kBAAyC;YAAzC,uBAAkB,GAAlB,kBAAkB,CAAuB;SAAK;;;;QAElE,yCAAQ;;;QAAR;YAAA,iBAIC;YAHC,IAAI,CAAC,kBAAkB;iBACpB,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC;iBAClC,SAAS;;;;YAAC,UAAA,GAAG,IAAI,OAAA,KAAI,CAAC,cAAc,GAAG,GAAG,GAAA,EAAC,CAAC;SAChD;;oBAjBFJ,cAAS,SAAC;wBACT,QAAQ,EAAE,cAAc;wBACxB,o8BAA8C;;qBAE/C;;;;oBAPQ,qBAAqB;;;0BAS3BE,UAAK;oCACLA,UAAK;;QAYR,6BAAC;KAnBD,IAmBC;;;QAbC,qCAAqB;;QACrB,+CAA+B;;QAE/B,gDAAoB;;;;;QAER,oDAAiD;;;;;;;;IChB/D;QAQM,UAAU,GAAG;QACjB,oBAAoB;QACpB,sBAAsB;KACvB;AAED;QAAA;SAUkC;;oBAVjCG,aAAQ,SAAC;wBACR,YAAY,EAAE,UAAU;wBACxB,OAAO,EAAE,UAAU;wBACnB,OAAO,EAAE;4BACPC,mBAAY;4BACZC,iBAAW;4BACXC,yBAAmB;4BACnBC,mBAAY;yBACb;qBACF;;QACgC,wBAAC;KAVlC;;;;;;;ACbA;QAmCE;YAVQ,cAAS,GAAG,KAAK,CAAC;YAI1B,cAAS,GAAG,KAAK,CAAC;YAClB,YAAO,GAAG,IAAI,CAAC;YACf,WAAM,GAAG,EAAE,CAAC;YACZ,cAAS,GAAG,EAAE,CAAC;YACf,mBAAc,GAAG,EAAE,CAAC;;;;;SAOnB;;;;QAED,qCAAQ;;;QAAR;SAEC;;;;QAED,+CAAkB;;;QAAlB;YAAA,iBAyDC;YAxDC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI;;;gBAAC;;wBAEpB,YAAY,GAAG;wBACnB,KAAK,EAAE;4BACL,KAAK,EAAE,MAAM;4BACb,KAAK,EAAE,MAAM;4BACb,KAAK,EAAE,KAAK;4BACZ,MAAM,EAAE,EAAE;yBACX;wBACD,MAAM,EAAE,IAAI;wBACZ,WAAW;;;;;wBAAE,UAAU,IAAI,EAAE,OAAO;4BAClC,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;gCAC1B,cAAc,EAAE,CAAC;wCACf,MAAM,EAAE,EAAE,KAAK,EAAE,oBAAmB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAE,KAAK,EAAE;wCAC9E,YAAY,EAAE,IAAI,GAAG,oBAAmB,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,IAAE,KAAK,GAAG,IAAI;wCAC9F,SAAS,EAAE,IAAI,GAAG,oBAAmB,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,IAAE,KAAK,GAAG,IAAI;qCACtF,CAAC;gCACF,mBAAmB,EAAE;oCACnB,mBAAmB,EAAE,aAAa;iCACnC;6BACF,CAAC,CAAC;yBACJ,CAAA;;wBAGD,SAAS;;;;;wBAAE,UAAU,IAAI,EAAE,OAAO;4BAChC,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI;;;;4BAAC,UAAU,OAAuB;gCACnE,OAAO,CAAC,IAAI,GAAG,oBAAmB,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,IAAE,KAAK,CAAC;gCACzE,OAAO,CAAC,MAAM,GAAG,oBAAmB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAE,KAAK,CAAC;gCAE7E,KAAK,CAAC,oBAAmB,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,IAAE,KAAK,EAAE;oCACnE,MAAM,EAAE,MAAM;oCACd,OAAO,EAAE;wCACP,cAAc,EAAE,kBAAkB;wCAClC,eAAe,EAAE,SAAS,GAAG,oBAAmB,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,IAAE,KAAK;qCAC9F;oCACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,SAAA,EAAE,CAAC;iCAClC,CAAC,CAAC,IAAI;;;;gCAAC,UAAC,QAAQ;oCACf,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;iCACzC,EAAC,CAAC,IAAI;;;gCAAC;oCACN,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,oBAAmB,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,IAAE,KAAK,CAAC;iCACxF,EAAC,CAAC;6BACJ,EAAC,CAAC;yBACJ,CAAA;wBACD,OAAO;;;;wBAAE,UAAU,KAAK;4BACtB,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;yBAC1B,CAAA;wBACD,QAAQ;;;;;wBAAE,UAAC,IAAI,EAAE,OAAO;4BACtB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,oBAAmB,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,IAAE,KAAK,CAAC;yBACvF,CAAA;qBACF;oBAED,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;oBAChE,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;iBACtB,EAAC,CAAC;aACJ;SACF;;;;;QAEO,4CAAe;;;;QAAvB;YAAA,iBAQC;YAPC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,OAAO,IAAI,OAAO;;;;;YAAC,UAAC,OAAO,EAAE,MAAM;;oBAC3B,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;gBACzD,gBAAgB,CAAC,GAAG,GAAG,6CAA2C,KAAI,CAAC,QAAQ,kBAAa,KAAI,CAAC,QAAU,CAAC;gBAC5G,gBAAgB,CAAC,MAAM,GAAG,OAAO,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;aAC7C,EAAC,CAAC;SACJ;;oBA3GFT,cAAS,SAAC;wBACT,QAAQ,EAAE,qBAAqB;wBAC/B,6sBAA0C;;qBAE3C;;;;;kCAEEE,UAAK;+BACLA,UAAK;+BACLA,UAAK;8BACLA,UAAK;6BACLA,UAAK;oCACLA,UAAK;6BACLA,UAAK;+BACLA,UAAK;gCACLA,UAAK;iCACLA,UAAK;2BACLA,UAAK;iCACLA,UAAK;;QA2FR,yBAAC;KA5GD,IA4GC;;;QAtGC,yCAA6B;;QAC7B,sCAA0B;;QAC1B,sCAA0B;;QAC1B,qCAAyB;;QACzB,oCAAwB;;QACxB,2CAA+B;;QAC/B,oCAAwB;;QACxB,sCAA0B;;QAC1B,uCAA2B;;QAC3B,wCAA4B;;QAC5B,kCAAsB;;QACtB,wCAA4B;;;;;QAE5B,uCAA0B;;QAE1B,2CAAmB;;QAEnB,uCAAkB;;QAClB,qCAAe;;QACf,oCAAY;;QACZ,uCAAe;;QACf,4CAAoB;;;;;;;;ACjCtB;QAQA;SAc6B;;oBAd5BG,aAAQ,SAAC;wBACR,OAAO,EAAE;4BACPC,mBAAY;4BACZC,iBAAW;4BACXG,qBAAgB;4BAChBD,mBAAY;yBACb;wBACD,YAAY,EAAE;4BACZ,kBAAkB;yBACnB;wBACD,OAAO,EAAE;4BACP,kBAAkB;yBACnB;qBACF;;QAC2B,mBAAC;KAd7B;;;;;;;ACRA;QAYE,8BAAoB,UAAsB;YAAtB,eAAU,GAAV,UAAU,CAAY;SAAK;;;;;;;QAExC,0CAAW;;;;;;QAAlB,UAAmB,OAAgB,EAAE,YAAoB,EAAE,GAAW;YACpE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,UAAU,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAC1G;;;;;QAEM,2CAAY;;;;QAAnB,UAAoB,GAAW;YAC7B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE;gBACvD,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aACrC;YACD,OAAO,GAAG,CAAC;SACZ;;;;;;;QAEM,6CAAc;;;;;;QAArB,UAAsB,YAAoB,EAAE,GAAW,EAAE,QAAgB;YACvE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAc,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,iCAAiC,GAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAC9I;;;;;;;;;QAEM,qDAAsB;;;;;;;;QAA7B,UAA8B,YAAoB,EAAE,GAAW,EAAE,MAAc,EAAE,YAAoB,EAAE,QAAgB;YACrH,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;;gBAC7B,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAC;YAC9E,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAc,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,gCAAgC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAC1I;;;;;;QAEO,8CAAe;;;;;QAAvB,UAAwB,YAAoB;;gBACpC,SAAS,GAAG,SAAS,GAAG,YAAY;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAId,gBAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC;SACxG;;oBAlCFC,eAAU,SAAC;wBACV,UAAU,EAAE,MAAM;qBACnB;;;;oBARQC,eAAU;;;mCAAnB;KAMA,IAmCC;;;;;;QA/BC,2CAAiC;;;;;QAErB,0CAA8B;;;;;;;;ACZ5C;QA8EE,6BAAoB,MAAc,EAAS,oBAA0C;YAAjE,WAAM,GAAN,MAAM,CAAQ;YAAS,yBAAoB,GAApB,oBAAoB,CAAsB;YAlC5E,aAAQ,GAAG,IAAI,CAAC;YACf,cAAS,GAAG,IAAIC,iBAAY,EAAiB,CAAC;YAExD,aAAQ,GAAG,KAAK,CAAC;YAOjB,yBAAoB,GAAoB,IAAI,CAAC;YAE7C,kBAAa,GAAkB,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;YASxF,kBAAa,GAAG,KAAK,CAAC;YACtB,gBAAW,GAAG,KAAK,CAAC;YAGpB,cAAS,GAAG,IAAI,CAAC;YAEjB,iBAAY,GAAG,aAAa,CAAC;YAE7B,WAAM,GAAY,IAAI,CAAC;SAKmE;;;;QAE1F,sCAAQ;;;QAAR;YACE,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;;;;;QAED,yCAAW;;;;QAAX,UAAY,OAAsB;YAChC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE;gBAC1C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;SACF;;;;;QAEO,yCAAW;;;;QAAnB;YAAA,iBAMC;YALC,IAAI,CAAC,gBAAgB,EAAE;iBACpB,IAAI;;;YAAC;gBACJ,KAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,KAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B,EAAC,CAAC;SACN;;;;QAED,8CAAgB;;;QAAhB;YACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,OAAO,IAAI,OAAO;;;;YAAC,UAAC,OAAO;;oBACnB,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;gBACzD,gBAAgB,CAAC,GAAG,GAAG,iDAAiD,CAAC;gBACzE,gBAAgB,CAAC,MAAM,GAAG,OAAO,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;aAC7C,EAAC,CAAC;SACJ;;;;;QAEO,4CAAc;;;;QAAtB;YAAA,iBAMC;YALC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;iBACrF,SAAS;;;;YAAC,UAAC,GAAgB;gBAC1B,KAAI,CAAC,WAAW,sBAAG,GAAG,CAAC,IAAI,EAAgB,CAAC;gBAC5C,KAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;aACjD;;;;YAAE,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,YAAY,GAAG,UAAU,GAAA,EAAC,CAAC;SAC3C;;;;;;;;QAEO,oDAAsB;;;;;;;QAA9B,UAA+B,MAAc,EAAE,YAAoB,EAAE,QAAgB;YAArF,iBAMC;YALC,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;iBAC9G,SAAS;;;;YAAC,UAAC,GAAgB;gBAC1B,KAAI,CAAC,eAAe,sBAAG,GAAG,CAAC,IAAI,EAAqB,CAAC;gBACrD,KAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,KAAI,CAAC,eAAe,CAAC,CAAC;aAC7D;;;;YAAE,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,YAAY,GAAG,UAAU,GAAA,EAAC,CAAC;SAC3C;;;;;QAEO,kDAAoB;;;;QAA5B;YACE,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACzG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACrD;;;;;;;QAEO,oCAAM;;;;;;QAAd,UAAe,OAAe,EAAE,IAAS;YACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAAE,OAAO;aAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAC5B;;;;QAEM,gDAAkB;;;QAAzB;YACE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAAE,OAAO;aAAE;YAE7B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;gBAC3B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5E,OAAO;aACR;YAED,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;gBAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC;aAClE;SACF;;;;QAED,oDAAsB;;;QAAtB;YACE,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE;gBAAE,OAAO;aAAE;YAEnD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC;YACjE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;YAChD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;SACjD;;;;;QAED,sCAAQ;;;;QAAR,UAAS,KAAK;YAAd,iBAkBC;YAjBC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;YAE9E,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;gBAAE,OAAO;aAAE;YAEzC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;;gBAC3B,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC;YAClD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI;;;;;YAAE,UAAC,MAAc,EAAE,QAA4B;gBAC1E,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE;oBACpC,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;oBAC5B,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;oBACxC,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;iBAClC;qBAAM;oBACL,KAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;iBAClC;aACF,EAAC,CAAC;SACJ;;;;;;QAED,yCAAW;;;;;QAAX,UAAY,IAAS,EAAE,eAAmC;YAA1D,iBAgCC;YA/BC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;;gBACvD,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAC,MAAM,CAAC;YACtD,IAAI,CAAC,OAAO,GAAG;gBACb,KAAK,EAAE,eAAe,CAAC,EAAE;gBACzB,MAAM,EAAE,IAAI,CAAC,WAAW;gBACxB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,GAAG,EAAE,eAAe,CAAC,GAAG;gBACxB,QAAQ,EAAE,KAAK;gBACf,cAAc,EAAE,IAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,GAAG,GAAG,eAAe,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM;gBAChG,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,QAAQ;gBACrB,YAAY,EAAE,IAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY;gBAClF,gBAAgB,EAAE,IAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,EAAE;gBAC5E,eAAe,EAAE,IAAI,CAAC,MAAM;gBAC5B,UAAU,EAAE,IAAI,CAAC,aAAa;gBAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,EAAE;gBACf,cAAc,EAAE,UAAU;aAC3B,CAAC;YAGF,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC;iBACjF,SAAS;;;;YAAC,UAAC,GAAgB;gBAC1B,KAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;aAClC;;;;YAAE,UAAA,KAAK;gBACN,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;gBACxC,KAAI,CAAC,YAAY,GAAG,UAAU,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACtB,EAAC,CAAC;SACN;;;;;;;QAEO,sCAAQ;;;;;;QAAhB,UAAiB,IAAY,EAAE,UAAiB;;gBAC1C,UAAU,GAAG,IAAI;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;gBACnC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;aACjC;YACD,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9B,OAAO,UAAU,CAAA;SAClB;;;;;QAED,oDAAsB;;;;QAAtB,UAAuB,QAAqB;YAC1C,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEjE,IAAI,QAAQ,CAAC,OAAO,EAAE;gBACpB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBAC9B,IAAI,CAAC,kBAAkB,sBAAG,QAAQ,CAAC,IAAI,EAAuB,CAAC;gBAC/D,IAAI,CAAC,aAAa,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;gBAC7G,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAErB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAG,IAAI,CAAC,UAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACpD,OAAO;iBACR;aACF;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACxC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAExC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAG,IAAI,CAAC,UAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;oBACnD,OAAO;iBACR;aACF;SACF;;;;;QAED,+CAAiB;;;;QAAjB,UAAkB,QAAa;YAA/B,iBAaC;YAZC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;;gBAEf,KAAK,sBAAe,QAAQ,EAAc;;YAGhD,KAAK,CAAC,KAAK,CAAC,OAAO;;;;YAAC,UAAC,CAAC;gBACpB,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE;oBAC1C,KAAI,CAAC,YAAY,GAAG,iCAAiC,CAAC;iBACvD;qBAAM;oBACL,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBAC3C;aACF,EAAC,CAAC;SACJ;;;;;;;QAGD,iDAAmB;;;;;;QAAnB,UAAoB,aAAkC;YACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YAErB,IAAI,aAAa,CAAC,KAAK,EAAE;gBACvB,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;gBAE3D,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,EAAE;oBACrD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC;iBACnG;gBAED,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;oBAC7D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;iBACnD;aACF;iBACI,IAAI,aAAa,CAAC,UAAU,EAAE;gBACjC,QAAQ,aAAa,CAAC,UAAU;oBAC9B,KAAK,uBAAuB;wBAC1B,IAAI,aAAa,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC9C,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,EAAE;gCAC/D,QAAQ,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK;oCAC9C,KAAK,aAAa;wCAChB,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC;wCACvC,MAAM;oCACR,KAAK,KAAK;wCACR,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC;wCACvC,MAAM;oCACR;wCACE,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;wCAC3D,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;4CAC7D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;yCACnD;wCACD,MAAM;iCACT;6BACF;yBACF;wBACD,MAAM;oBACR,KAAK,iBAAiB;wBACpB,IAAI,CAAC,YAAY,GAAG,6BAA6B,CAAC;wBAClD,MAAM;oBACR,KAAK,sBAAsB;wBACzB,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;wBACnC,MAAM;oBACR,KAAK,yBAAyB;wBAC5B,IAAI,CAAC,YAAY,GAAG,mCAAmC,CAAC;wBACxD,MAAM;oBACR,KAAK,WAAW;wBACd,IAAI,CAAC,YAAY,GAAG,sBAAsB,CAAC;wBAC3C,MAAM;oBACR;wBACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;wBAClD,MAAM;iBACT;aACF;SACF;;;;;;;QAED,yCAAW;;;;;;QAAX,UAAY,IAAY,EAAE,KAAa,EAAE,GAAW;;gBAC5C,EAAE,GAAS,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC;;gBACrC,EAAE,GAAS,IAAI,IAAI,EAAE;;gBAErB,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE;YAC1C,IAAI,IAAI,EAAE;gBAAE,OAAO,CAAC,CAAC;aAAE;YACvB,IAAI,EAAE,GAAG,EAAE,EAAE;gBAAE,OAAO,CAAC,CAAC;aAAE;YAC1B,IAAI,EAAE,GAAG,EAAE,EAAE;gBAAE,OAAO,CAAC,CAAC,CAAC;aAAE;SAC5B;;;;;;QAGD,0CAAY;;;;;QAAZ;YAAA,iBAMC;YALC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAChC,UAAU;;;gBAAC;oBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;iBACpB,EAAC,CAAC;aACJ;SACF;;;;;QAED,wCAAU;;;;QAAV,UAAW,OAAY;YAAvB,iBAcC;YAbC,IAAI,IAAI,CAAC,WAAW,CAClB,MAAM,CAAC,OAAK,IAAI,CAAC,QAAU,CAAC,EAC5B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EACtB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE;gBAC3B,UAAU;;;gBAAC;oBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACnB,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;iBACxB,EAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;SAEF;;;;QAED,8CAAgB;;;QAAhB;YACE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAClD,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,EAAE;oBAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;iBACvB;aACF;SACF;;;;QAED,2CAAa;;;QAAb;YAAA,iBAyCC;YAxCC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC3E,QAAQ,IAAI,CAAC,SAAS;oBACpB,KAAK,GAAG,EAAE;wBACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,MAAM;qBACP;oBACD,KAAK,GAAG,EAAE;wBACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,MAAM;qBACP;oBACD,KAAK,GAAG,EAAE;wBACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,MAAM;qBACP;oBACD,KAAK,GAAG,EAAE;wBACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,MAAM;qBACP;oBACD,KAAK,GAAG,EAAE;wBACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,MAAM;qBACP;oBACD,KAAK,GAAG,EAAE;wBACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,MAAM;qBACP;oBACD,KAAK,GAAG,EAAE;wBACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,MAAM;qBACP;oBACD,KAAK,GAAG,EAAE;wBACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,MAAM;qBACP;iBACF;aACF;iBAAM;gBACL,UAAU;;;gBAAC;oBACT,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;iBACrB,EAAC,CAAC;aACJ;SACF;;;;QAED,0CAAY;;;QAAZ;YAAA,iBAYC;YAXC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC/B,UAAU;;;gBAAC;oBACT,KAAI,CAAC,OAAO,GAAG,EAAE,CAAC;iBACnB,EAAC,CAAC;aACJ;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gBACjC,UAAU;;;gBAAC;oBACT,KAAI,CAAC,OAAO,GAAG,EAAE,CAAC;iBACnB,EAAC,CAAC;aACJ;SACF;;;;QAED,yCAAW;;;QAAX;YAAA,iBAYC;YAXC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC/B,UAAU;;;gBAAC;oBACT,KAAI,CAAC,OAAO,GAAG,EAAE,CAAC;iBACnB,EAAC,CAAC;aACJ;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gBACjC,UAAU;;;gBAAC;oBACT,KAAI,CAAC,OAAO,GAAG,EAAE,CAAC;iBACnB,EAAC,CAAC;aACJ;SACF;;;;QAED,+CAAiB;;;QAAjB;YAAA,iBAMC;YALC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;gBAC/B,UAAU;;;gBAAC;oBACT,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;iBACzB,EAAC,CAAC;aACJ;SACF;;;;QAED,0CAAY;;;QAAZ;YAAA,iBAeC;YAdC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAChC,UAAU;;;gBAAC;oBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;iBACpB,EAAC,CAAC;aACJ;YAED,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gBAClC,UAAU;;;gBAAC;oBACT,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;iBACpB,EAAC,CAAC;aACJ;;YAGD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACnC;;;;;QAED,2CAAa;;;;QAAb,UAAc,GAAW;YACvB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,OAAO;aACR;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;;gBAGnB,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU,EAAE;oBACpC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;iBAClB;;qBAEI,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI;oBACnC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI;oBAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;oBAC9B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;iBAClB;;qBAEI,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE;oBACzC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;iBAClB;;qBAEI,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE;oBACpC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;iBACjB;gBAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B;SACF;;;;QAED,qCAAO;;;QAAP;YACE,OAAO,KAAK,CAAC;SACd;;;;QAED,uCAAS;;;QAAT;YACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,WAAW,CAAA;YAChB,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;;YAE5B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC7B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;;YAEjC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;;YAG9E,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAEzB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAE9B,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;;oBA/lBFE,cAAS,SAAC;wBACT,QAAQ,EAAE,cAAc;wBACxB,0ybAA2C;;qBAE5C;;;;oBAtBQC,aAAM;oBAcN,oBAAoB;;;mCAW1BG,cAAS,SAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;kCAChCF,UAAK;gCACLA,UAAK;+BACLA,UAAK;oCACLA,UAAK;8BACLA,UAAK;+BACLA,UAAK;qCACLA,UAAK;iCACLA,UAAK;iCACLA,UAAK;qCACLA,UAAK;+BACLA,UAAK;8BACLA,UAAK;+BACLA,UAAK;4BACLA,UAAK;2BACLA,UAAK;kCACLA,UAAK;+BACLA,UAAK;gCACLC,WAAM;;QAwkBT,0BAAC;KAjmBD,IAimBC;;;QA1lBC,2CAAwD;;QACxD,0CAA6B;;QAC7B,wCAA2B;;QAC3B,uCAA0B;;QAC1B,4CAA+B;;QAC/B,sCAAyB;;QACzB,uCAA0B;;QAC1B,6CAAgC;;QAChC,yCAA4B;;QAC5B,yCAA4B;;QAC5B,6CAAiC;;QACjC,uCAA2B;;QAC3B,sCAAyB;;QACzB,uCAA0B;;QAC1B,oCAAuB;;QACvB,mCAAsB;;QACtB,0CAA6B;;QAC7B,uCAAyB;;QACzB,wCAAwD;;QAExD,uCAAiB;;QACjB,0CAAoB;;QACpB,kDAA4B;;QAC5B,yCAAmB;;QACnB,yCAAmB;;QAEnB,0CAA0B;;QAC1B,mDAA6C;;QAC7C,8CAAmC;;QACnC,4CAAwF;;QAGxF,wCAAkB;;QAClB,uCAAiB;;QACjB,sCAAgB;;QAChB,sCAAgB;;QAChB,4CAAsB;;QACtB,uCAAiB;;QACjB,4CAAsB;;QACtB,0CAAoB;;;;;QAEpB,sCAAqB;;QACrB,wCAAiB;;QAEjB,2CAA6B;;QAC7B,wCAAkB;;QAClB,qCAAuB;;QACvB,sCAAiB;;QACjB,iDAAwC;;QACxC,2CAAqB;;;;;QAET,qCAAsB;;QAAE,mDAAiD;;;;;;;;AC9EvF;QAQA;SAciC;;oBAdhCE,aAAQ,SAAC;wBACR,OAAO,EAAE;4BACPC,mBAAY;4BACZC,iBAAW;4BACXG,qBAAgB;4BAChBD,mBAAY;yBACb;wBACD,YAAY,EAAE;4BACZ,mBAAmB;yBACpB;wBACD,OAAO,EAAE;4BACP,mBAAmB;yBACpB;qBACF;;QAC+B,uBAAC;KAdjC;;;;;;;ICRA;QAMM,WAAW,GAAG;QAClB,iBAAiB;QACjB,gBAAgB;QAChB,YAAY;KACb;AAED;QAAA;SAIiC;;oBAJhCJ,aAAQ,SAAC;wBACR,OAAO,EAAE,WAAW;wBACpB,OAAO,EAAE,WAAW;qBACrB;;QAC+B,uBAAC;KAJjC;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"vk-payments.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://vk-payments/lib/mercadopago/services/mercadopago.api.service.ts","ng://vk-payments/lib/mercadopago/components/mercadopago.component.ts","ng://vk-payments/lib/mercadopago/components/promotion-bank.component.ts","ng://vk-payments/lib/mercadopago/mercadopago.module.ts","ng://vk-payments/lib/paypal/components/paypal-new.component.ts","ng://vk-payments/lib/paypal/paypal.module.ts","ng://vk-payments/lib/sps-decidir/services/sps-decidir.api.service.ts","ng://vk-payments/lib/sps-decidir/components/sps-decidir.component.ts","ng://vk-payments/lib/sps-decidir/sps-decidir.module.ts","ng://vk-payments/lib/vk-payments.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { CardPayment } from '../models/mercadopago.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MercadopagoApiService {\r\n private authHeaders: HttpHeaders;\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n makePayment(cardPayment: CardPayment, access_token: string, url: string): Observable<any> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.post(this.normalizeUrl(url) + '/Payment', cardPayment, { headers: this.authHeaders });\r\n }\r\n\r\n getMercadoPagoPromotions(url: string): Observable<any> {\r\n return this.httpClient.get(url);\r\n }\r\n\r\n normalizeUrl(url: string): string {\r\n if (url.length > 0 && url.charAt(url.length - 1) == '/') {\r\n url = url.substr(0, url.length - 1);\r\n }\r\n return url;\r\n }\r\n\r\n private _setAuthHeaders(access_token: string) {\r\n const userToken = 'Bearer ' + access_token;\r\n this.authHeaders = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': userToken });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { Router } from '@angular/router';\n\nimport { CardPayment, CreateTokenResponse, PaymentResult, ResponseInstallment } from '../models/mercadopago.model';\nimport { MercadopagoApiService } from '../services/mercadopago.api.service';\nimport sha256 from 'sha256';\n\n\ndeclare var Mercadopago: any;\n\n@Component({\n selector: 'mp-form-pay',\n templateUrl: './mercadopago.component.html',\n styleUrls: ['./mercadopago.component.scss']\n})\nexport class MercadoPagoComponent implements OnInit, OnChanges {\n\n totalAmount: number;\n totalFinancedAmount: number;\n currentBin: string;\n recommendedLabel: string;\n currentTEA: string;\n currentCFT: string;\n ticket: string;\n defaultName: string;\n defaultDocType: string;\n issuerId: string;\n currentPaymentMethod: any;\n currentIssuers: any[];\n currentInstallments: any[];\n cardPayment: CardPayment;\n\n // input bind\n yearText: string;\n monthText: string;\n dniText: string;\n cvcText: string;\n cardText: string;\n errorMessage: string;\n\n paymentState = 'unsubmitted';\n tokenId = '';\n disabled = false;\n addScript = false;\n requiredIssuer = false;\n submitted = false;\n\n paymentResult: PaymentResult = { success: false, paymentId: '', integrator: 'MP' };\n\n @Input() paymentAmount: number;\n @Input() payerName: string;\n @Input() payerEmail: string;\n @Input() accessToken: string;\n @Input() vkUrlApi: string;\n @Input() description: string;\n @Input() publishableKey: string;\n @Input() successUrl: string;\n @Input() failureUrl: string;\n @Input() imgCreditCards: string;\n @Input() imgMercadoPago: string;\n @Input() iconExpandMore: string;\n @Input() debugLog: boolean;\n @Input() storeId: string;\n @Input() idVen: number;\n @Input() data: string;\n @Output() statusPay = new EventEmitter<PaymentResult>();\n\n @ViewChild('f', { static: false }) checkOutForm: NgForm;\n\n constructor(private router: Router, private mercadopagoApiService: MercadopagoApiService) { }\n\n ngOnInit() {\n this.initMercadoPago();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!changes.paymentAmount.isFirstChange()) {\n this.disabled = false;\n this.checkOutForm.reset();\n }\n }\n\n private initMercadoPago() {\n this.addMercadopagoScript()\n .then(() => {\n Mercadopago.setPublishableKey(this.publishableKey);\n Mercadopago.getIdentificationTypes();\n\n this.totalAmount = this.paymentAmount;\n this.defaultName = this.payerName;\n this.defaultDocType = 'DNI';\n });\n }\n\n private addMercadopagoScript() {\n this.addScript = true;\n return new Promise((resolve, reject) => {\n const scripttagElement = document.createElement('script');\n scripttagElement.src = 'https://secure.mlstatic.com/sdk/javascript/v1/mercadopago.js?2345';\n scripttagElement.onload = resolve;\n document.body.appendChild(scripttagElement);\n });\n }\n\n private createToken(sendForm: any) {\n this.paymentState = 'processing';\n Mercadopago.createToken(sendForm, (status, response: any) => {\n \n if (status !== 200 && status !== 201) {\n this.paymentState = 'error';\n this.statusPay.emit(this.paymentResult);\n this.errorMessage = 'Revisa los datos del formulario.';\n // const causes: Cause[] = (response as ErrorTokenResponse).cause;\n // if (causes !== null && causes.length > 0) {\n // causes.forEach((item) => {\n // this.errorMessage += this.getErrorMessage(item.code) + '\\n';\n // });\n // }\n } else {\n this.tokenId = (response as CreateTokenResponse).id;\n this.makePayment();\n }\n });\n }\n\n private makePayment() {\n const hashedCard = this.hashText(this.cardText,100000);\n this.cardPayment = {\n tokenId: this.tokenId,\n transactionAmount: this.totalAmount,\n description: this.description,\n installments: Number(this.checkOutForm.value.installments),\n issuerId: this.checkOutForm.value.issuer,\n paymentMethodId: this.currentPaymentMethod[0].id,\n codCP: this.idVen,\n docNumber: this.checkOutForm.value.docNumber,\n additionalData: this.data,\n storeId: this.storeId,\n hash: hashedCard\n };\n this.mercadoPagoPayment();\n }\n\n private hashText(text: string, iterations:number): string{\n let hashedtext = text;\n for (let i = 0; i < iterations; i++) {\n hashedtext = sha256(hashedtext);\n }\n return hashedtext\n }\n\n private paymentResponseHandler(response: any) {\n if (response.success) {\n this.paymentState = response.data.statusDetails;\n this.ticket = response.data.transactionId;\n this.paymentResult = { success: true, paymentId: this.ticket, integrator: 'MP' };\n this.statusPay.emit(this.paymentResult);\n this.disabled = true;\n\n this.logger('paymentResponseHandler:', response);\n if (this.successUrl && this.successUrl.length > 0) {\n this.router.navigate([`${this.successUrl}`]);\n }\n } else {\n this.paymentState = 'apiError';\n this.statusPay.emit(this.paymentResult);\n if (this.successUrl && this.failureUrl.length > 0) {\n this.router.navigate([`${this.failureUrl}`]).then();\n }\n }\n }\n\n checkPaymentMethod() {\n if (this.checkOutForm.value.cardNumber != null) {\n this.currentInstallments = null;\n this.currentIssuers = null;\n if (this.checkOutForm.value.cardNumber.toString().length >= 6) {\n this.currentBin = this.checkOutForm.value.cardNumber.toString().substring(0, 6);\n const self = this;\n Mercadopago.getPaymentMethod(\n {\n 'bin': this.checkOutForm.value.cardNumber.toString()\n }, function (respCode, respBody) {\n if (respCode === 200) {\n self.setCurrentMethod(respBody);\n }\n });\n }\n if (this.checkOutForm.value.cardNumber.toString().length < 6) {\n this.requiredIssuer = false;\n }\n }\n }\n\n setCurrentMethod(res: any) {\n if (res) {\n this.logger('setCurrentMethod:', res);\n\n const additionalInfo: String[] = res[0].additional_info_needed;\n const issuerIdKey = 'issuer_id';\n\n if (additionalInfo.find(x => x == issuerIdKey) == undefined) {\n this.requiredIssuer = false;\n }\n else {\n this.requiredIssuer = true;\n }\n \n this.logger('requiredIssuer:', this.requiredIssuer);\n\n this.currentPaymentMethod = res;\n const self = this;\n Mercadopago.getIssuers(res[0].id, function (respCode, respBody) {\n if (respCode === 200) {\n self.setIssuers(respBody);\n }\n });\n\n self.checkInstallments(this.requiredIssuer);\n }\n }\n\n checkInstallments(requiredIssuer: boolean) {\n if (this.currentBin == undefined || this.currentBin.length < 6) {\n return;\n }\n const self = this;\n self.currentInstallments = null;\n\n let requestObject:any\n \n if (requiredIssuer) {\n requestObject = {\n 'bin': this.currentBin,\n 'amount': this.totalAmount,\n 'issuer_id': this.issuerId\n } \n }\n else {\n requestObject = {\n 'bin': this.currentBin,\n 'amount': this.totalAmount\n } \n }\n\n Mercadopago.getInstallments(requestObject, function (respCode, respBody) {\n if (respCode === 200) {\n self.setInstallments(respBody);\n } else {\n self.currentInstallments = null;\n }\n });\n }\n\n setInstallments(res: ResponseInstallment[]) {\n //this.logger('setInstallments:', res);\n\n if (res.length > 0) {\n if (this.issuerId != undefined && res.length > 1 && this.currentPaymentMethod.length > 0) {\n const result = res.filter(card => card.issuer.id === this.issuerId && card.payment_method_id === this.currentPaymentMethod[0].id);\n this.currentInstallments = result[0].payer_costs;\n this.issuerId = result[0].issuer.id;\n }\n else {\n this.currentInstallments = res[0].payer_costs;\n this.issuerId = res[0].issuer.id;\n }\n }\n }\n\n setIssuers(res: any) {\n //this.logger('setIssuers res', res);\n this.currentIssuers = res;\n }\n\n onDuesSelection(res: any) {\n for (const ins of this.currentInstallments) {\n if (ins.installments === Number(res.value.installments)) {\n this.totalFinancedAmount = ins.total_amount;\n for (const label of ins.labels) {\n if (label.includes('CFT')) {\n this.recommendedLabel = label.replace(/_/g, ': ').split('|', 2);\n this.currentTEA = this.recommendedLabel[1];\n this.currentCFT = this.recommendedLabel[0];\n }\n }\n }\n }\n }\n\n onSubmit(form: NgForm) {\n this.submitted = true;\n this.paymentResult = { success: false, paymentId: '', integrator: 'MP' };\n if (this.checkOutForm.valid) {\n const sendForm = {\n cardNumber: this.cardText,\n securityCode: this.cvcText,\n cardExpirationMonth: this.monthText,\n cardExpirationYear: this.yearText,\n cardholderName: this.defaultName,\n docType: this.defaultDocType,\n docNumber: this.dniText\n };\n\n if (this.debugLog) {\n console.log('sendForm', sendForm);\n }\n\n if (this.tokenId !== '') {\n Mercadopago.clearSession();\n }\n\n this.createToken(sendForm);\n }\n }\n\n // Input controls\n onYearChange() {\n if (isNaN(+this.yearText)) {\n setTimeout(() => {\n this.yearText = '';\n });\n }\n }\n\n onMonthLostFocus() {\n if (+this.monthText > 0 && !isNaN(+this.monthText)) {\n if (this.monthText == '1') {\n this.monthText = '01';\n }\n }\n }\n\n onMonthChange() {\n if (+this.monthText >= 0 && +this.monthText < 13 && !isNaN(+this.monthText)) {\n switch (this.monthText) {\n case '2': {\n this.monthText = '02';\n break;\n }\n case '3': {\n this.monthText = '03';\n break;\n }\n case '4': {\n this.monthText = '04';\n break;\n }\n case '5': {\n this.monthText = '05';\n break;\n }\n case '6': {\n this.monthText = '06';\n break;\n }\n case '7': {\n this.monthText = '07';\n break;\n }\n case '8': {\n this.monthText = '08';\n break;\n }\n case '9': {\n this.monthText = '09';\n break;\n }\n }\n } else {\n setTimeout(() => {\n this.monthText = '';\n });\n }\n }\n\n onCodeChange() {\n if (isNaN(+this.cvcText)) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n }\n onDniChange() {\n if (isNaN(+this.dniText)) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n }\n\n onPayerNameChange() {\n if (!isNaN(+this.defaultName)) {\n setTimeout(() => {\n this.defaultName = '';\n });\n }\n }\n\n onCardChange() {\n if (isNaN(+this.cardText)) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n }\n\n onPaste(): boolean {\n return false;\n }\n\n logger(message: string, data: any): void {\n if (this.debugLog) {\n console.log(message, JSON.stringify(data));\n }\n }\n\n mercadoPagoPayment(){\n this.mercadopagoApiService.makePayment(this.cardPayment, this.accessToken, this.vkUrlApi)\n .subscribe(res => {\n this.paymentResponseHandler(res);\n }, error => {\n this.statusPay.emit(this.paymentResult);\n this.paymentState = 'apiError';\n console.log(error);\n });\n }\n\n resetForm() {\n this.disabled = false;\n this.totalAmount\n this.totalFinancedAmount = undefined;\n this.currentBin = undefined;\n this.recommendedLabel = undefined;\n this.currentTEA = undefined;\n this.currentCFT = undefined;\n this.ticket = undefined;\n this.defaultName = undefined;\n this.defaultDocType = undefined;\n this.issuerId = undefined;\n this.currentPaymentMethod = undefined;\n this.currentIssuers = null;\n this.currentInstallments = null;\n this.cardPayment = undefined;\n\n this.paymentResult = { success: false, paymentId: '', integrator: 'MP' };\n \n // Form bind\n this.monthText = undefined;\n this.yearText = undefined;\n this.cvcText = undefined;\n this.dniText = undefined;\n this.cardText = undefined;\n this.requiredIssuer = false;\n this.submitted = false;\n this.addScript = false;\n this.paymentState = 'unsubmitted';\n this.payerName = undefined;\n this.tokenId = '';\n this.errorMessage = undefined;\n\n this.checkOutForm.reset()\n\n this.initMercadoPago();\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { MercadopagoApiService } from '../services/mercadopago.api.service';\r\n\r\n\r\n@Component({\r\n selector: 'mp-promotion',\r\n templateUrl: './promotion-bank.component.html',\r\n styleUrls: ['./promotion-bank.component.scss']\r\n})\r\nexport class PromotionBankComponent implements OnInit {\r\n @Input() url: string;\r\n @Input() contentSource: string;\r\n\r\n cardPromotions: any;\r\n\r\n constructor(private mercadoPagoService: MercadopagoApiService) { }\r\n\r\n ngOnInit() {\r\n this.mercadoPagoService\r\n .getMercadoPagoPromotions(this.url)\r\n .subscribe(res => this.cardPromotions = res);\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { MercadoPagoComponent } from './components/mercadopago.component';\nimport { PromotionBankComponent } from './components/promotion-bank.component';\n\nconst COMPONENTS = [\n MercadoPagoComponent,\n PromotionBankComponent\n];\n\n@NgModule({\n declarations: COMPONENTS,\n exports: COMPONENTS,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule\n ]\n})\nexport class MercadopagoModule { }\n","import { AfterViewChecked, Component, Input, OnInit } from '@angular/core';\n\nimport { PaypalResponse } from '../models/response-paypal.model';\n\ndeclare let paypal: any;\n\n@Component({\n selector: 'paypal-new-form-pay',\n templateUrl: './paypal-new.component.html',\n styleUrls: ['./paypal-new.component.scss']\n})\nexport class PayPalNewComponent implements OnInit, AfterViewChecked {\n @Input() accessToken: string;\n @Input() clientId: string;\n @Input() vkUrlApi: string;\n @Input() storeId: string;\n @Input() userId: string;\n @Input() transactionId: string;\n @Input() amount: string;\n @Input() currency: string;\n @Input() cancelUrl: string;\n @Input() successUrl: string;\n @Input() data: string;\n @Input() urlSignout: string;\n\n private addScript = false;\n\n errorsMessage: any;\n\n showError = false;\n loading = true;\n status = '';\n linkToPay = '';\n linkExecutePay = '';\n\n constructor() {\n // if (this.urlSignout === '') {\n // const wnd = window.open(this.urlSignout, 'myWindow', 'width=100,height=100');\n // setTimeout(function () { wnd.close(); }, 1000);\n // }\n }\n\n ngOnInit(): void {\n\n }\n\n ngAfterViewChecked(): void {\n if (!this.addScript) {\n this.addPaypalScript().then(() => {\n\n const paypalConfig = {\n style: {\n color: 'blue',\n shape: 'pill',\n label: 'pay',\n height: 40\n },\n commit: true,\n createOrder: function (data, actions) {\n return actions.order.create({\n purchase_units: [{\n amount: { value: (<HTMLInputElement>document.getElementById('amount')).value },\n reference_id: '\\'' + (<HTMLInputElement>document.getElementById('transactionId')).value + '\\'',\n custom_id: '\\'' + (<HTMLInputElement>document.getElementById('storeId')).value + '\\''\n }],\n application_context: {\n shipping_preference: 'NO_SHIPPING'\n }\n });\n },\n\n // Finalize the transaction\n onApprove: function (data, actions) {\n return actions.order.capture().then(function (details: PaypalResponse) {\n details.data = (<HTMLInputElement>document.getElementById('data')).value;\n details.userid = (<HTMLInputElement>document.getElementById('userId')).value;\n\n fetch((<HTMLInputElement>document.getElementById('vkUrlApi')).value, {\n method: 'post',\n headers: {\n 'content-type': 'application/json',\n 'Authorization': 'Bearer ' + (<HTMLInputElement>document.getElementById('accessToken')).value\n },\n body: JSON.stringify({ details })\n }).then((response) => {\n console.log('response-> api', response);\n }).then(() => {\n window.location.href = (<HTMLInputElement>document.getElementById('successUrl')).value;\n });\n });\n },\n onError: function (error) {\n window.location.reload();\n },\n onCancel: (data, actions) => {\n window.location.href = (<HTMLInputElement>document.getElementById('cancelUrl')).value;\n }\n };\n\n paypal.Buttons(paypalConfig).render('#paypal-button-container');\n this.loading = false;\n });\n }\n }\n\n private addPaypalScript() {\n this.addScript = true;\n return new Promise((resolve, reject) => {\n const scripttagElement = document.createElement('script');\n scripttagElement.src = `https://www.paypal.com/sdk/js?client-id=${this.clientId}&currency=${this.currency}`;\n scripttagElement.onload = resolve;\n document.body.appendChild(scripttagElement);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { PayPalNewComponent } from './components/paypal-new.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n HttpClientModule,\n RouterModule\n ],\n declarations: [\n PayPalNewComponent\n ],\n exports: [\n PayPalNewComponent\n ]\n})\nexport class PaypalModule { }\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { CreditCard, CreditCardPlans, Payment, ResponseApi } from '../models/payment.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SpsDecidirApiService {\r\n private authHeaders: HttpHeaders;\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n public makePayment(payment: Payment, access_token: string, url: string): Observable<any> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.post(this.normalizeUrl(url) + '/Payment', payment, { headers: this.authHeaders });\r\n }\r\n\r\n public normalizeUrl(url: string): string {\r\n if (url.length > 0 && url.charAt(url.length - 1) == '/') {\r\n url = url.substr(0, url.length - 1);\r\n }\r\n return url;\r\n }\r\n\r\n public getCreditCards(access_token: string, url: string, domainId: number): Observable<ResponseApi> {\r\n this._setAuthHeaders(access_token);\r\n return this.httpClient.get<ResponseApi>(this.normalizeUrl(url) + '/GetCreditCardsEnable?domainId='+ domainId, { headers: this.authHeaders });\r\n }\r\n\r\n public getPlansByCreditCardId(access_token: string, url: string, amount: string, creditCardId: number, domainId: number): Observable<ResponseApi> {\r\n this._setAuthHeaders(access_token);\r\n const body = { amount: amount, creditCardId: creditCardId, domainId: domainId};\r\n return this.httpClient.post<ResponseApi>(this.normalizeUrl(url) + '/CalculateAmountInInstallments', body, { headers: this.authHeaders });\r\n }\r\n\r\n private _setAuthHeaders(access_token: string) {\r\n const userToken = 'Bearer ' + access_token;\r\n this.authHeaders = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': userToken });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport sha256 from 'sha256';\n\nimport {\n CreditCard,\n CreditCardPlans,\n ErrorToken,\n Payment,\n PaymentResponseInfo,\n PaymentResult,\n ResponseApi,\n SpsResponsePayment,\n} from '../models/payment.model';\nimport { SpsDecidirApiService } from '../services/sps-decidir.api.service';\n\ndeclare var Decidir: any;\n\n@Component({\n selector: 'sps-form-pay',\n templateUrl: './sps-decidir.component.html',\n styleUrls: ['./sps-decidir.component.scss']\n})\nexport class SpsDecidirComponent implements OnInit, OnChanges {\n\n @ViewChild('f', { static: false }) checkOutForm: NgForm;\n @Input() accessToken: string;\n @Input() spsUrlApi: string;\n @Input() vkUrlApi: string;\n @Input() paymentAmount: string;\n @Input() logoSps: string;\n @Input() currency: string;\n @Input() publishableKey: string;\n @Input() successUrl: string;\n @Input() failureUrl: string;\n @Input() useCybersource: boolean;\n @Input() debugLog: boolean;\n @Input() storeId: string;\n @Input() domainId: number;\n @Input() idVen: number;\n @Input() data: string;\n @Input() labelButton: string;\n @Input() language = 'es';\n @Output() statusPay = new EventEmitter<PaymentResult>();\n\n disabled = false;\n totalAmount: string;\n totalFinancedAmount: string;\n currentTEA: string;\n currentCFT: string;\n\n creditCards: CreditCard[];\n selectCreditCardPlan: CreditCardPlans = null;\n creditCardPlans: CreditCardPlans[];\n paymentResult: PaymentResult = { success: false, paymentId: '', integrator: 'DECIDIR' };\n\n // Form bind\n monthText: string;\n yearText: string;\n cvcText: string;\n dniText: string;\n payerNameText: string;\n cardText: string;\n submitPressed = false;\n invalidDate = false;\n\n private decidir: any;\n addScript = true;\n\n paymentState = 'unsubmitted';\n payerName: string;\n issuer?: number = null;\n payment: Payment;\n paymentSuccessInfo: PaymentResponseInfo;\n errorMessage: string;\n\n constructor(private router: Router, public spsDecidirApiService: SpsDecidirApiService) { }\n\n ngOnInit() {\n this.initDecidir();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!changes.paymentAmount.isFirstChange()) {\n this.checkOutForm.reset();\n this.disabled = false;\n }\n }\n\n private initDecidir() {\n this.addDecidirScript()\n .then(() => {\n this.getCreditCards();\n this.initializeSpsDecidir();\n });\n }\n\n addDecidirScript() {\n this.addScript = true;\n return new Promise((resolve) => {\n const scripttagElement = document.createElement('script');\n scripttagElement.src = 'https://live.decidir.com/static/v2.4/decidir.js';\n scripttagElement.onload = resolve;\n document.body.appendChild(scripttagElement);\n });\n }\n\n private getCreditCards() {\n this.spsDecidirApiService.getCreditCards(this.accessToken, this.vkUrlApi, this.domainId)\n .subscribe((res: ResponseApi) => {\n this.creditCards = res.data as CreditCard[];\n this.logger('getCreditCards', this.creditCards);\n }, _ => this.paymentState = 'apiError');\n }\n\n private getPlansByCreditCardId(amount: string, creditCardId: number, domainId: number) {\n this.spsDecidirApiService.getPlansByCreditCardId(this.accessToken, this.vkUrlApi, amount, creditCardId, domainId)\n .subscribe((res: ResponseApi) => {\n this.creditCardPlans = res.data as CreditCardPlans[];\n this.logger('getPlansByCreditCardId', this.creditCardPlans);\n }, _ => this.paymentState = 'apiError');\n }\n\n private initializeSpsDecidir() {\n this.decidir = new Decidir(this.spsDecidirApiService.normalizeUrl(this.spsUrlApi), !this.useCybersource);\n this.decidir.setTimeout(15000);\n this.decidir.setPublishableKey(this.publishableKey);\n }\n\n private logger(message: string, data: any): void {\n if (!this.debugLog) { return; }\n console.log(message, data);\n }\n\n public selectedCreditCard() {\n if (!this.issuer) { return; }\n\n this.selectCreditCardPlan = null;\n if (this.currency === 'ARS') {\n this.getPlansByCreditCardId(this.paymentAmount, this.issuer, this.domainId);\n return;\n }\n\n if (this.currency === 'USD') {\n this.totalAmount = this.totalFinancedAmount = this.paymentAmount;\n }\n }\n\n selectedCreditCardPlan() {\n if (this.selectCreditCardPlan === null) { return; }\n\n this.totalFinancedAmount = this.selectCreditCardPlan.totalAmount;\n this.totalAmount = this.paymentAmount;\n this.currentTEA = this.selectCreditCardPlan.tna;\n this.currentCFT = this.selectCreditCardPlan.cft;\n }\n\n onSubmit(event) {\n event.preventDefault();\n this.submitPressed = true;\n this.paymentResult = { success: false, paymentId: '', integrator: 'DECIDIR' };\n\n if (!this.checkOutForm.valid) { return; }\n\n this.paymentState = 'processing';\n const form = document.querySelector('#formulario');\n this.decidir.createToken(form, (status: number, response: SpsResponsePayment) => {\n if (status !== 200 && status !== 201) {\n this.paymentState = 'error';\n this.statusPay.emit(this.paymentResult);\n this.processErrorToken(response);\n } else {\n this.makePayment(form, response);\n }\n });\n }\n\n makePayment(form: any, paymentResponse: SpsResponsePayment): void {\n this.logger('makePayment:', JSON.stringify(paymentResponse));\n const hashedCard = this.hashText(this.cardText,100000);\n this.payment = {\n token: paymentResponse.id,\n amount: this.totalAmount,\n totalFinancedAmount: this.totalFinancedAmount,\n bin: paymentResponse.bin,\n currency: 'ARS',\n documentNumber: this.currency === 'USD' ? '0' : paymentResponse.cardholder.identification.number,\n idVen: this.idVen,\n paymentType: 'single',\n installments: this.currency === 'USD' ? 1 : this.selectCreditCardPlan.installments,\n creditCardPlanId: this.currency === 'USD' ? 0 : this.selectCreditCardPlan.id,\n paymentMethodId: this.issuer,\n cardholder: this.payerNameText,\n storeId: this.storeId,\n data: this.data,\n subPayments: [],\n creditCardHash: hashedCard\n };\n \n\n this.logger('payment:', JSON.stringify(this.payment));\n this.spsDecidirApiService.makePayment(this.payment, this.accessToken, this.vkUrlApi)\n .subscribe((res: ResponseApi) => {\n this.paymentResponseHandler(res);\n }, error => {\n this.statusPay.emit(this.paymentResult);\n this.paymentState = 'apiError';\n console.error(error);\n });\n }\n\n private hashText(text: string, iterations:number): string{\n let hashedtext = text;\n for (let i = 0; i < iterations; i++) {\n hashedtext = sha256(hashedtext);\n }\n return hashedtext\n }\n\n paymentResponseHandler(response: ResponseApi) {\n this.logger('paymentResponseHandler:', JSON.stringify(response));\n\n if (response.success) {\n this.paymentState = 'success';\n this.paymentSuccessInfo = response.data as PaymentResponseInfo;\n this.paymentResult = { success: true, paymentId: this.paymentSuccessInfo.payment_id, integrator: 'DECIDIR' };\n this.statusPay.emit(this.paymentResult);\n this.disabled = true;\n\n if (this.successUrl && this.successUrl.length > 0) {\n this.router.navigate([`${this.successUrl}`]).then();\n return;\n }\n } else {\n this.paymentState = 'error';\n this.statusPay.emit(this.paymentResult);\n this.processErrorMessage(response.data);\n\n if (this.failureUrl && this.failureUrl.length > 0) {\n this.router.navigate([`${this.failureUrl}`]).then()\n return;\n }\n }\n }\n\n processErrorToken(response: any): void {\n this.disabled = true;\n\n const error: ErrorToken = response as ErrorToken;\n\n // obtenemos mensajes de error\n error.error.forEach((x) => {\n if (x.error.type === 'invalid_expiry_date') {\n this.errorMessage = 'Revisá la fecha de vencimiento.';\n } else {\n this.errorMessage = JSON.stringify(error);\n }\n });\n }\n\n // diferentes tipos de error nos devuelve decidir\n processErrorMessage(responseError: PaymentResponseInfo): void {\n this.disabled = true;\n\n if (responseError.error) {\n this.errorMessage = responseError.error.reason.description;\n\n if (responseError.error.reason.additional_description) {\n this.errorMessage = this.errorMessage + ' - ' + responseError.error.reason.additional_description;\n }\n\n if (this.errorMessage == '' || this.errorMessage == undefined) {\n this.errorMessage = JSON.stringify(responseError);\n }\n }\n else if (responseError.error_type) {\n switch (responseError.error_type) {\n case 'invalid_request_error':\n if (responseError.validation_errors.length > 0) {\n if (responseError.validation_errors[0].code === 'invalid_param') {\n switch (responseError.validation_errors[0].param) {\n case 'card_number':\n this.errorMessage = 'Tarjeta inválida';\n break;\n case 'bin':\n this.errorMessage = 'Tarjeta inválida';\n break;\n default:\n this.errorMessage = responseError.error.reason.description;\n if (this.errorMessage == '' || this.errorMessage == undefined) {\n this.errorMessage = JSON.stringify(responseError);\n }\n break;\n }\n }\n }\n break;\n case 'not_found_error':\n this.errorMessage = 'Datos no encontrados (404).';\n break;\n case 'authentication_error':\n this.errorMessage = 'Error (401).';\n break;\n case 'malformed_request_error':\n this.errorMessage = 'Error al enviar los datos (400).';\n break;\n case 'api_error':\n this.errorMessage = 'Error interno (409).';\n break;\n default:\n this.errorMessage = JSON.stringify(responseError);\n break;\n }\n }\n }\n\n compareDate(year: number, month: number, day: number): number {\n const d1: Date = new Date(year, month, day);\n const d2: Date = new Date();\n\n const same = d1.getTime() === d2.getTime();\n if (same) { return 0; }\n if (d1 > d2) { return 1; }\n if (d1 < d2) { return -1; }\n }\n\n // Input controls\n onYearChange() {\n if (Number.isNaN(+this.yearText)) {\n setTimeout(() => {\n this.yearText = '';\n });\n }\n }\n\n onYearBlur(element: any) {\n if (this.compareDate(\n Number(`20${this.yearText}`),\n Number(this.monthText),\n new Date().getDate()) < 0) {\n setTimeout(() => {\n this.yearText = '';\n this.invalidDate = true;\n element.target.focus();\n });\n } else {\n this.invalidDate = false;\n }\n\n }\n\n onMonthLostFocus() {\n if (+this.monthText > 0 && !isNaN(+this.monthText)) {\n if (this.monthText === '1') {\n this.monthText = '01';\n }\n }\n }\n\n onMonthChange() {\n if (+this.monthText >= 0 && +this.monthText < 13 && !isNaN(+this.monthText)) {\n switch (this.monthText) {\n case '2': {\n this.monthText = '02';\n break;\n }\n case '3': {\n this.monthText = '03';\n break;\n }\n case '4': {\n this.monthText = '04';\n break;\n }\n case '5': {\n this.monthText = '05';\n break;\n }\n case '6': {\n this.monthText = '06';\n break;\n }\n case '7': {\n this.monthText = '07';\n break;\n }\n case '8': {\n this.monthText = '08';\n break;\n }\n case '9': {\n this.monthText = '09';\n break;\n }\n }\n } else {\n setTimeout(() => {\n this.monthText = '';\n });\n }\n }\n\n onCodeChange() {\n if (Number.isNaN(+this.cvcText)) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n\n if (this.cvcText.search(' ') > -1) {\n setTimeout(() => {\n this.cvcText = '';\n });\n }\n }\n\n onDniChange() {\n if (Number.isNaN(+this.dniText)) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n\n if (this.dniText.search(' ') > -1) {\n setTimeout(() => {\n this.dniText = '';\n });\n }\n }\n\n onPayerNameChange() {\n if (!isNaN(+this.payerNameText)) {\n setTimeout(() => {\n this.payerNameText = '';\n });\n }\n }\n\n onCardChange() {\n if (Number.isNaN(+this.cardText)) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n\n if (this.cardText.search(' ') > -1) {\n setTimeout(() => {\n this.cardText = '';\n });\n }\n\n // setea tarjeta\n this.setCreditType(this.cardText);\n }\n\n setCreditType(bin: string): void {\n if (bin.length < 6) {\n this.issuer = null;\n return;\n }\n\n if (bin.length === 6) {\n this.issuer = null;\n\n // visa debito\n if (bin.substring(0, 4) === '4770' ||\n bin.substring(0, 6) === '442548' ||\n bin.substring(0, 6) === '406809' ||\n bin.substring(0, 6) === '408738' ||\n bin.substring(0, 6) === '411521' ||\n bin.substring(0, 6) === '411663' ||\n bin.substring(0, 6) === '426359' ||\n bin.substring(0, 6) === '429780' ||\n bin.substring(0, 6) === '438267' ||\n bin.substring(0, 6) === '461187' ||\n bin.substring(0, 6) === '500334' ||\n bin.substring(0, 6) === '509413' ||\n bin.substring(0, 6) === '512285' ||\n bin.substring(0, 6) === '512881' ||\n bin.substring(0, 6) === '518635' ||\n bin.substring(0, 6) === '538449' ||\n bin.substring(0, 6) === '550553' ||\n bin.substring(0, 6) === '566057' ||\n bin.substring(0, 6) === '567933' ||\n bin.substring(0, 6) === '572140' ||\n bin.substring(0, 6) === '584257' ||\n bin.substring(0, 6) === '598718' ||\n bin.substring(0, 6) === '605801' ||\n bin.substring(0, 6) === '606120' ||\n bin.substring(0, 6) === '631057' ||\n bin.substring(0, 6) === '676215' ||\n bin.substring(0, 6) === '713274' ||\n bin.substring(0, 6) === '713284' ||\n bin.substring(0, 6) === '717515' ||\n bin.substring(0, 6) === '748761' ||\n bin.substring(0, 6) === '753371' ||\n bin.substring(0, 6) === '753600' ||\n bin.substring(0, 6) === '912394' ||\n bin.substring(0, 6) === '916148' ||\n bin.substring(0, 6) === '916773' ||\n bin.substring(0, 6) === '923405' ||\n bin.substring(0, 6) === '930965' ||\n bin.substring(0, 6) === '934091' ||\n bin.substring(0, 6) === '935761' ||\n bin.substring(0, 6) === '943313' ||\n bin.substring(0, 6) === '945721' ||\n bin.substring(0, 6) === '948809' ||\n bin.substring(0, 6) === '960644' ||\n bin.substring(0, 6) === '969085' ||\n bin.substring(0, 6) === '970167' ||\n bin.substring(0, 6) === '978061' ||\n bin.substring(0, 8) === '40267919' ||\n bin.substring(0, 8) === '40327176' ||\n bin.substring(0, 8) === '40416004' ||\n bin.substring(0, 8) === '40421933' ||\n bin.substring(0, 8) === '40451556' ||\n bin.substring(0, 8) === '40541010' ||\n bin.substring(0, 8) === '40623835' ||\n bin.substring(0, 8) === '40733469' ||\n bin.substring(0, 8) === '40733586' ||\n bin.substring(0, 8) === '40872498' ||\n bin.substring(0, 8) === '45007789' ||\n bin.substring(0, 8) === '45024822' ||\n bin.substring(0, 8) === '45034751' ||\n bin.substring(0, 8) === '45046987' ||\n bin.substring(0, 8) === '45060549' ||\n bin.substring(0, 8) === '45062482' ||\n bin.substring(0, 8) === '45070071' ||\n bin.substring(0, 8) === '45084708' ||\n bin.substring(0, 8) === '45091433' ||\n bin.substring(0, 8) === '45100902' ||\n bin.substring(0, 8) === '45103869' ||\n bin.substring(0, 8) === '45131047' ||\n bin.substring(0, 8) === '45168884' ||\n bin.substring(0, 8) === '45174306' ||\n bin.substring(0, 8) === '45184611' ||\n bin.substring(0, 8) === '45191921' ||\n bin.substring(0, 8) === '45201881' ||\n bin.substring(0, 8) === '45206401' ||\n bin.substring(0, 8) === '45245294' ||\n bin.substring(0, 8) === '45314944' ||\n bin.substring(0, 8) === '45317847' ||\n bin.substring(0, 8) === '45357409' ||\n bin.substring(0, 8) === '45374587' ||\n bin.substring(0, 8) === '45394705' ||\n bin.substring(0, 8) === '45456584' ||\n bin.substring(0, 8) === '45541924' ||\n bin.substring(0, 8) === '45545795' ||\n bin.substring(0, 8) === '45567746' ||\n bin.substring(0, 8) === '45583759' ||\n bin.substring(0, 8) === '45648838' ||\n bin.substring(0, 8) === '45672506' ||\n bin.substring(0, 8) === '45678421' ||\n bin.substring(0, 8) === '45710756' ||\n bin.substring(0, 8) === '45716006' ||\n bin.substring(0, 8) === '45725029' ||\n bin.substring(0, 8) === '45732113' ||\n bin.substring(0, 8) === '45732698' ||\n bin.substring(0, 8) === '45793917' ||\n bin.substring(0, 8) === '45841185' ||\n bin.substring(0, 8) === '45862021' ||\n bin.substring(0, 8) === '45915336' ||\n bin.substring(0, 8) === '45971496') {\n this.issuer = 31;\n }\n // mastercard\n else if (bin.substring(0, 2) === '51' ||\n bin.substring(0, 2) === '52' ||\n bin.substring(0, 2) === '53' ||\n bin.substring(0, 2) === '54' ||\n bin.substring(0, 2) === '55') {\n this.issuer = 15;\n }\n // tarjeta naranja\n else if (bin.substring(0, 6) === '589562') {\n this.issuer = 24;\n }\n // visa credito\n else if (bin.substring(0, 1) === '4') {\n this.issuer = 1;\n }\n\n this.selectedCreditCard();\n }\n }\n\n onPaste(): boolean {\n return false;\n }\n\n resetForm() {\n this.disabled = false;\n this.totalAmount\n this.totalFinancedAmount = undefined;\n this.currentTEA = undefined;\n this.currentCFT = undefined;\n // creditCards: CreditCard[];\n this.creditCards = undefined;\n this.selectCreditCardPlan = null;\n // creditCardPlans: CreditCardPlans[];\n this.creditCardPlans = undefined;\n this.paymentResult = { success: false, paymentId: '', integrator: 'DECIDIR' };\n \n // Form bind\n this.monthText = undefined;\n this.yearText = undefined;\n this.cvcText = undefined;\n this.dniText = undefined;\n this.payerNameText = undefined;\n this.cardText = undefined;\n this.submitPressed = false;\n this.invalidDate = false;\n \n this.decidir = undefined;\n this.addScript = true;\n \n this.paymentState = 'unsubmitted';\n this.payerName = undefined;\n this.issuer = null;\n this.payment = undefined;\n this.paymentSuccessInfo = undefined;\n this.errorMessage = undefined;\n\n this.initDecidir();\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { SpsDecidirComponent } from './components/sps-decidir.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n HttpClientModule,\n RouterModule\n ],\n declarations: [\n SpsDecidirComponent\n ],\n exports: [\n SpsDecidirComponent\n ]\n})\nexport class SpsDecidirModule { }\n","import { NgModule } from '@angular/core';\n\nimport { MercadopagoModule } from './mercadopago/mercadopago.module';\nimport { PaypalModule } from './paypal/paypal.module';\nimport { SpsDecidirModule } from './sps-decidir/sps-decidir.module';\n\nconst LIB_MODULES = [\n MercadopagoModule,\n SpsDecidirModule,\n PaypalModule\n];\n\n@NgModule({\n imports: LIB_MODULES,\n exports: LIB_MODULES\n})\nexport class VkPaymentsModule { }\n"],"names":["HttpHeaders","Injectable","HttpClient","EventEmitter","tslib_1.__values","Component","Router","Input","Output","ViewChild","NgModule","CommonModule","FormsModule","ReactiveFormsModule","RouterModule","HttpClientModule"],"mappings":"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GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ;oBAChC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oBAClC,GAAG,CAAC,SA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"}