@infrab4a/connect-angular 3.4.3-beta.0 → 3.4.3-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/infrab4a-connect-angular.umd.js +76 -11
- package/bundles/infrab4a-connect-angular.umd.js.map +1 -1
- package/esm2015/angular-connect.module.js +5 -5
- package/esm2015/angular-hasura-graphql.module.js +74 -8
- package/esm2015/services/shipping.service.js +7 -8
- package/fesm2015/infrab4a-connect-angular.js +81 -16
- package/fesm2015/infrab4a-connect-angular.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infrab4a-connect-angular.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/connect-angular/src/services/auth.service.ts","../../../projects/connect-angular/src/consts/backend-url.const.ts","../../../projects/connect-angular/src/consts/default-shop.const.ts","../../../projects/connect-angular/src/consts/es-config.const.ts","../../../projects/connect-angular/src/consts/hasura-options.const.ts","../../../projects/connect-angular/src/services/errors/invalid-coupon.error.ts","../../../projects/connect-angular/src/services/errors/group-invalid-coupon.error.ts","../../../projects/connect-angular/src/services/coupon.service.ts","../../../projects/connect-angular/src/services/checkout.service.ts","../../../projects/connect-angular/src/services/cart.service.ts","../../../projects/connect-angular/src/services/checkout-subscription.service.ts","../../../projects/connect-angular/src/services/home-shop.service.ts","../../../projects/connect-angular/src/services/order.service.ts","../../../projects/connect-angular/src/services/shipping.service.ts","../../../projects/connect-angular/src/angular-firebase-auth.module.ts","../../../projects/connect-angular/src/angular-elastic-search.module.ts","../../../projects/connect-angular/src/angular-firestore.module.ts","../../../projects/connect-angular/src/angular-hasura-graphql.module.ts","../../../projects/connect-angular/src/angular-connect.module.ts","../../../projects/connect-angular/src/infrab4a-connect-angular.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\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 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(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 (g && (g = 0, op[0] && (_ = 0)), _) 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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") 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 throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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: false } : 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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { Injectable, Inject } from '@angular/core'\r\nimport { AngularFireAuth } from '@angular/fire/auth'\r\nimport { User, UserRepository } from '@infrab4a/connect'\r\nimport { combineLatest, Observable, of } from 'rxjs'\r\nimport { catchError, map, mergeMap } from 'rxjs/operators'\r\nimport firebase from 'firebase/app'\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n constructor(\r\n private readonly angularFireAuth: AngularFireAuth,\r\n @Inject('UserRepository') private readonly userRepository: UserRepository,\r\n ) {}\r\n\r\n getAuthstate(): Observable<{ user: User; isAnonymous: boolean }> {\r\n const observables: [Observable<firebase.User>, Observable<User>] = [\r\n this.angularFireAuth.authState.pipe(catchError(() => of(null))),\r\n this.getUser().pipe(catchError(() => of(null))),\r\n ]\r\n\r\n return combineLatest(observables).pipe(\r\n map(([fireUser, user]) => {\r\n return {\r\n user,\r\n isAnonymous: fireUser?.isAnonymous,\r\n } as { user: User; isAnonymous: boolean }\r\n }),\r\n )\r\n }\r\n\r\n getUser(): Observable<User> {\r\n return this.getFireUser().pipe(\r\n map((user) => user?.uid),\r\n mergeMap((id) => (id ? this.userRepository.get({ id }) : of(null))),\r\n )\r\n }\r\n\r\n getTokenId(): Observable<string> {\r\n return this.angularFireAuth.idToken\r\n }\r\n\r\n getFireUser(): Observable<firebase.User> {\r\n return this.angularFireAuth.user.pipe(catchError(() => of(null)))\r\n }\r\n}\r\n","export const BACKEND_URL = 'BACKEND_URL'","export const DEFAULT_SHOP = 'DEFAULT_SHOP'\r\n","export const ES_CONFIG = 'ES_CONFIG'\r\n","export const HASURA_OPTIONS = 'HASURA_OPTIONS'\r\n","import { CustomError } from 'ts-custom-error'\r\n\r\nexport class InvalidCouponError extends CustomError {\r\n constructor(readonly message) {\r\n super(message)\r\n }\r\n}\r\n","import { CustomError } from 'ts-custom-error'\r\n\r\nimport { InvalidCouponError } from './invalid-coupon.error'\r\n\r\nexport class GroupInvalidCouponError extends CustomError {\r\n constructor(readonly errors: InvalidCouponError[]) {\r\n super('Many coupon errors throw')\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport {\r\n Category,\r\n CategoryRepository,\r\n Checkout,\r\n CheckoutSubscription,\r\n CheckoutTypes,\r\n Coupon,\r\n CouponRepository,\r\n CouponTypes,\r\n Exclusivities,\r\n LineItem,\r\n OrderRepository,\r\n Shops,\r\n Status,\r\n SubscriptionRepository,\r\n Where\r\n} from '@infrab4a/connect'\r\nimport { from, Observable, of, throwError } from 'rxjs'\r\nimport { concatMap, map } from 'rxjs/operators'\r\n\r\nimport { DEFAULT_SHOP } from '../consts'\r\n\r\nimport { InvalidCouponError } from './errors'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CouponService {\r\n constructor(\r\n @Inject('CouponRepository') private readonly couponRepository: CouponRepository,\r\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\r\n @Inject('OrderRepository') private readonly orderRepository: OrderRepository,\r\n @Inject('SubscriptionRepository') private readonly subscriptionRepository: SubscriptionRepository,\r\n @Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository,\r\n ) {}\r\n\r\n checkCoupon(\r\n nickname: string,\r\n userEmail: string,\r\n checkoutType: CheckoutTypes,\r\n plan?: string,\r\n checkout?: Partial<Checkout>,\r\n isSubscription?: boolean,\r\n ): Observable<Coupon> {\r\n return from(\r\n this.couponRepository.find({\r\n filters: {\r\n nickname: { operator: Where.EQUALS, value: nickname },\r\n active: { operator: Where.EQUALS, value: true },\r\n },\r\n }),\r\n ).pipe(\r\n concatMap((coupons) => this.checkCouponRules(coupons, checkoutType, plan, checkout, isSubscription)),\r\n concatMap((coupon: Coupon) => this.checkCouponUseAndLimit(coupon, userEmail, checkout)),\r\n map((coupon: Coupon) => this.isValidCoupon(coupon, userEmail)),\r\n map((coupon: Coupon) => coupon),\r\n )\r\n }\r\n\r\n private emailIsFromCollaborator = (userEmail: string): boolean => !!userEmail?.match(/@b4a.com.br/g)\r\n\r\n private checkCouponRules(\r\n coupons,\r\n checkoutType: CheckoutTypes,\r\n plan?: string,\r\n checkout?: Partial<Checkout>,\r\n isSubscription?: boolean,\r\n ) {\r\n // Caso não ache nenhum cupom, retorna erro\r\n if (coupons.count < 1) {\r\n return throwError('Cupom inválido.')\r\n }\r\n\r\n // Get Primeiro Cupom (o find do repository retorna um array)\r\n const coupon: Coupon = coupons.data.shift()\r\n // Verifica se o cupom é aplicavel na loja\r\n const isInShop = coupon.shopAvailability === Shops.ALL || coupon.shopAvailability === this.defaultShop\r\n\r\n // Cupon não aplicavel a loja retorna erro\r\n if (!isInShop) return throwError('Cupom inválido para loja.')\r\n\r\n // Verifica se o coupon é aplicado no checkout que está sendo realizado\r\n const isCheckoutType = coupon.checkoutType === CheckoutTypes.ALL || coupon.checkoutType === checkoutType\r\n\r\n // Cupon não aplicavel ao checkout retorna erro\r\n if (!isCheckoutType) return throwError('Cupom inválido. Erro de checkout.')\r\n\r\n // Verifica se o cupom é ou pode ser aplicado para subscription\r\n if (checkoutType === CheckoutTypes.ALL || checkoutType === CheckoutTypes.SUBSCRIPTION) {\r\n // Se o cupom tiver um plano associado, verifica se é o mesmo plano do checkout da assinatura\r\n if (coupon.plan && coupon.plan.toUpperCase() !== plan.toUpperCase())\r\n return throwError('Cupom inválido para sua assinatura.')\r\n }\r\n\r\n if (isSubscription) return of(coupon)\r\n\r\n // Verifica se possui o valor minimo de compra para utilização do cupom\r\n const hasMinSubTotal = this.hasMinSubTotal(coupon, checkout)\r\n\r\n // Se não tem valor mínimo atingido, retorna erro\r\n if (!hasMinSubTotal) return throwError('Valor mínimo não atingido')\r\n\r\n return of(coupon)\r\n }\r\n\r\n private isValidCoupon(coupon: Coupon, userEmail: string): Coupon {\r\n // Verifica a data de inicio de validade do cupom\r\n if (coupon?.beginAt > new Date()) throw new InvalidCouponError('Cupom ainda não liberado.')\r\n\r\n // Verifica a data de validade do cupom\r\n if (coupon?.expiresIn < new Date()) throw new InvalidCouponError('Cupom expirado.')\r\n\r\n return coupon\r\n }\r\n\r\n private async checkCouponUseAndLimit(coupon: Coupon, userEmail: string, checkout) {\r\n const orders = await this.orderRepository.find({\r\n filters: {\r\n coupon: { id: coupon.id },\r\n payment: { status: 'paid' },\r\n },\r\n })\r\n\r\n // orders que usuario ja fez com o cupom\r\n const ordersUserCoupon = orders.data.filter((o) => o.user.email == userEmail)\r\n\r\n // Verifica o limite de uso de cupom por usuario\r\n if (coupon.useLimitPerUser && ordersUserCoupon.length)\r\n throw new InvalidCouponError('Limite de uso por usuário atingido.')\r\n\r\n // Verifica o limite de uso geral por usuario\r\n if (coupon.useLimit && orders.data.length >= coupon.useLimit)\r\n throw new InvalidCouponError('Limite de uso atingido.')\r\n\r\n const validUser = await this.userValidationAndSubscriptionStatus(coupon, userEmail)\r\n if (!validUser) throw new InvalidCouponError('Usuário não elegível.')\r\n\r\n const hasProductCategories = await this.hasProductCategories(coupon, checkout)\r\n\r\n if (!hasProductCategories) throw 'Seu carrinho não possui produtos elegíveis para desconto.'\r\n \r\n return coupon\r\n }\r\n\r\n public calcDiscountSubscription(coupon: Coupon, checkout: Partial<CheckoutSubscription>): Observable<number> {\r\n //\r\n let discount = 0\r\n\r\n if (coupon.type === CouponTypes.ABSOLUTE) discount = coupon.discount\r\n else if (coupon.type === CouponTypes.PERCENTAGE)\r\n discount = checkout.subscriptionPlan.recurrencePrice * (coupon.discount / 100)\r\n\r\n return of(discount)\r\n }\r\n\r\n public async calcDiscountShopping(coupon: Coupon, checkout: Partial<Checkout>): Promise<number> {\r\n let discount = 0\r\n\r\n switch (coupon.type) {\r\n case CouponTypes.ABSOLUTE: {\r\n discount = coupon.discount\r\n break\r\n }\r\n case CouponTypes.PERCENTAGE: {\r\n discount = await this.calcShoppingPercentageDiscount(coupon, checkout)\r\n break\r\n }\r\n }\r\n\r\n return discount\r\n }\r\n\r\n private async calcShoppingPercentageDiscount(coupon: Coupon, checkout: Partial<Checkout>): Promise<number> {\r\n let discount = 0\r\n const shop = checkout.shop\r\n let lineItensDiscount = []\r\n const couponCategories = await this.getCouponCategoriesId(coupon)\r\n\r\n if (coupon.productsCategories && coupon.productsCategories.length) {\r\n lineItensDiscount = checkout.lineItems?.filter((i) => {\r\n if (i.categories?.length) {\r\n return i.categories.some((c) => couponCategories.some(cat => (cat.id == c || cat.firestoreId == c)))\r\n }\r\n return true\r\n })\r\n } else {\r\n lineItensDiscount = checkout.lineItems\r\n }\r\n\r\n const subTotal =\r\n lineItensDiscount.reduce(\r\n (acc, curr: LineItem) =>\r\n checkout.user?.isSubscriber && curr.price[shop]?.subscriberPrice\r\n ? acc + curr.price[shop]?.subscriberPrice * curr.quantity\r\n : acc + curr.pricePaid * curr.quantity,\r\n 0,\r\n ) || 0\r\n\r\n discount = subTotal * (coupon.discount / 100)\r\n\r\n return discount\r\n }\r\n\r\n private hasMinSubTotal(coupon: Coupon, checkout: Partial<Checkout>): boolean {\r\n if (!coupon.minSubTotalValue) return true\r\n\r\n const shop = checkout.shop\r\n\r\n let subTotal =\r\n checkout.lineItems?.reduce(\r\n (acc, curr) =>\r\n checkout.user?.isSubscriber && curr.price[shop]?.subscriberPrice\r\n ? acc + curr.price[shop]?.subscriberPrice * curr.quantity\r\n : acc + curr.pricePaid * curr.quantity,\r\n 0,\r\n ) || 0\r\n\r\n if (coupon.minSubTotalValue <= subTotal) return true\r\n return false\r\n }\r\n\r\n private async hasProductCategories(coupon: Coupon, checkout: Partial<Checkout>): Promise<boolean> {\r\n if (!coupon.productsCategories || !coupon.productsCategories.length) {\r\n return true\r\n }\r\n\r\n const couponCategories = await this.getCouponCategoriesId(coupon)\r\n \r\n const hasCategories = checkout.lineItems?.filter(i => {\r\n if (!i.categories || !i.categories?.length) return true\r\n return i.categories.some((c) => couponCategories.some(cat => (cat.id == c || cat.firestoreId == c)))\r\n })\r\n\r\n return hasCategories.length ? true : false\r\n }\r\n\r\n private async userValidationAndSubscriptionStatus(coupon: Coupon, userEmail: string): Promise<boolean> {\r\n // Verifica se o email do usuário é coorporativo\r\n if (!this.emailIsFromCollaborator(userEmail) && coupon.exclusivityType === Exclusivities.COLLABORATORS)\r\n throw new InvalidCouponError('Você não é colaborador.')\r\n\r\n // Verifica se o email do usuário é associado ao cupom de uso por usuario\r\n if (coupon.exclusivityType === Exclusivities.SPECIFIC_USER && coupon.userExclusiveEmail !== userEmail)\r\n throw new InvalidCouponError('Cupom não é válido para este usuário.')\r\n\r\n const couponRuleSubscription =\r\n coupon.exclusivityType === Exclusivities.ACTIVE_SUBSCRIBER ||\r\n coupon.exclusivityType === Exclusivities.INACTIVE_SUBSCRIBER ||\r\n coupon.exclusivityType === Exclusivities.NON_SUBSCRIBER\r\n\r\n if (couponRuleSubscription && userEmail) {\r\n const sub = await this.subscriptionRepository\r\n .find({\r\n filters: {\r\n user: {\r\n email: { operator: Where.EQUALS, value: userEmail },\r\n },\r\n },\r\n })\r\n .then((sub) => sub.data)\r\n\r\n const activeSubs = sub?.filter((s) => s.status === Status.ACTIVE)\r\n\r\n switch (coupon.exclusivityType) {\r\n case Exclusivities.ACTIVE_SUBSCRIBER:\r\n return activeSubs.length > 0\r\n case Exclusivities.INACTIVE_SUBSCRIBER:\r\n return activeSubs.length === 0\r\n case Exclusivities.NON_SUBSCRIBER:\r\n return sub.length === 0\r\n default:\r\n return false\r\n }\r\n }\r\n\r\n return true\r\n }\r\n\r\n private async getCouponCategoriesId(coupon: Coupon) {\r\n let couponCategories: { id: string, firestoreId: string }[] = []\r\n\r\n for (let index = 0; index < coupon.productsCategories.length; index++) {\r\n let c: Category & { firestoreId?: string } = await this.categoryRepository.get({ id: coupon.productsCategories[index] }) \r\n couponCategories.push({ id: c.id, firestoreId: c.firestoreId})\r\n }\r\n \r\n return couponCategories\r\n }\r\n\r\n private separateValidCoupons = (\r\n coupons: Coupon[],\r\n userEmail: string,\r\n ): { valids: Coupon[]; invalids: InvalidCouponError[] } =>\r\n coupons\r\n .map((coupon) => {\r\n try {\r\n if (!(coupon instanceof Coupon)) throw new InvalidCouponError('Cupom inválido.')\r\n if (this.isValidCoupon(coupon, userEmail)) return coupon\r\n } catch (error) {\r\n return error as InvalidCouponError\r\n }\r\n })\r\n .reduce(\r\n (current, coupon) => ({\r\n ...current,\r\n ...(coupon instanceof Coupon\r\n ? { valids: [...current.valids, coupon] }\r\n : { invalids: [...current.invalids, coupon] }),\r\n }),\r\n {\r\n valids: [] as Coupon[],\r\n invalids: [] as InvalidCouponError[],\r\n },\r\n )\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport {\r\n Checkout,\r\n CheckoutRepository,\r\n CheckoutTypes,\r\n Coupon,\r\n isNil,\r\n NotFoundError,\r\n OrderRepository,\r\n pick,\r\n Shops,\r\n User,\r\n UserRepository\r\n} from '@infrab4a/connect'\r\nimport cookie from 'js-cookie'\r\nimport { from, Observable, of, throwError } from 'rxjs'\r\nimport { concatMap } from 'rxjs/operators'\r\n\r\nimport { DEFAULT_SHOP } from '../consts'\r\n\r\nimport { CouponService } from './coupon.service'\r\nimport { RequiredCheckoutData } from './types'\r\n\r\n@Injectable()\r\nexport class CheckoutService {\r\n constructor(\r\n private readonly couponService: CouponService,\r\n @Inject('CheckoutRepository') private readonly checkoutRepository: CheckoutRepository,\r\n @Inject('OrderRepository') private readonly orderRepository: OrderRepository,\r\n @Inject('UserRepository') private readonly userRepository: UserRepository,\r\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\r\n ) {}\r\n\r\n getCheckout(checkoutData?: RequiredCheckoutData): Observable<Checkout> {\r\n const checkoutId = cookie.get('checkoutId')\r\n\r\n if (!isNil(checkoutId)) return from(this.checkoutRepository.get({ id: checkoutId }))\r\n\r\n return from(this.createCheckout(checkoutData))\r\n }\r\n\r\n getUserByCheckout(checkoutId: string): Observable<User> {\r\n return from(this.checkoutRepository.get({ id: checkoutId })).pipe(\r\n concatMap((checkout) =>\r\n checkout?.user?.id ? of(checkout.user) : from(this.userRepository.get({ id: checkout.user.id })),\r\n ),\r\n concatMap((user) => of(user) || throwError(() => new NotFoundError('User is not found'))),\r\n )\r\n }\r\n\r\n updateCheckoutLineItems(checkout: Partial<Checkout>): Observable<Checkout> {\r\n return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, lineItems: checkout.lineItems })))\r\n }\r\n\r\n updateCheckoutUser(checkout: Partial<Checkout>): Observable<Checkout> {\r\n return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, user: checkout.user })))\r\n }\r\n\r\n clearCheckoutFromSession(): Observable<void> {\r\n cookie.remove('checkoutId')\r\n\r\n return of()\r\n }\r\n\r\n calcDiscount(coupon: Coupon) {\r\n return this.getCheckout().pipe(\r\n concatMap(async (checkout) => await this.couponService.calcDiscountShopping(coupon, checkout)),\r\n )\r\n }\r\n\r\n checkCoupon(nickname: string, checkoutType: CheckoutTypes): Observable<Coupon> {\r\n return this.getCheckout().pipe(\r\n concatMap((checkout) =>\r\n this.couponService\r\n .checkCoupon(\r\n nickname,\r\n checkout.user?.email,\r\n CheckoutTypes.ECOMMERCE,\r\n checkout.user.subscriptionPlan,\r\n checkout,\r\n false\r\n )\r\n .pipe(),\r\n ),\r\n )\r\n }\r\n\r\n private async createCheckout(checkoutData?: RequiredCheckoutData): Promise<Checkout> {\r\n const checkout = await this.checkoutRepository.create({\r\n createdAt: new Date(),\r\n ...Checkout.toInstance(pick(checkoutData, ['user', 'shop'])).toPlain(),\r\n shop: checkoutData?.shop || this.defaultShop,\r\n })\r\n\r\n cookie.set('checkoutId', checkout.id)\r\n\r\n return checkout\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Checkout, isNil, LineItem, ProductRepository, Shops, User } from '@infrab4a/connect'\r\nimport { from, iif, Observable, of, Subject } from 'rxjs'\r\nimport { catchError, concatMap, map, mergeMap, tap } from 'rxjs/operators'\r\n\r\nimport { DEFAULT_SHOP } from '../consts'\r\n\r\nimport { AuthService } from './auth.service'\r\nimport { CheckoutService } from './checkout.service'\r\nimport { RequiredCheckoutData } from './types'\r\n\r\nexport type Cart = {\r\n [id: string]: LineItem\r\n}\r\n\r\n@Injectable()\r\nexport class CartService {\r\n private cartSubject: Subject<Cart> = new Subject()\r\n\r\n constructor(\r\n private readonly authService: AuthService,\r\n private readonly checkoutService: CheckoutService,\r\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\r\n @Inject('ProductRepository') private readonly productRepository: ProductRepository,\r\n ) {}\r\n\r\n addItem(item: LineItem, quantity: number = 1): Observable<Cart> {\r\n return from(this.checkoutService.getCheckout()).pipe(\r\n concatMap(async (checkout) => await this.buildLineItem({ checkout, item, quantity: quantity || 1 })),\r\n mergeMap(({ checkout, lineItem }) => this.updateLineItemInCart(lineItem, quantity || 1, checkout as Checkout)),\r\n tap((cart) => this.cartSubject.next(cart)),\r\n )\r\n }\r\n\r\n decreaseItem(item: LineItem): Observable<Cart> {\r\n return this.checkoutService.getCheckout().pipe(\r\n map((checkout) => {\r\n const checkoutItem = checkout.lineItems?.find((lineItem) => lineItem.sku === item.sku)\r\n\r\n if (!isNil(checkoutItem)) checkoutItem.quantity -= checkoutItem.quantity > 1 ? 1 : 0\r\n\r\n return checkout\r\n }),\r\n concatMap((checkout) => this.checkoutService.updateCheckoutLineItems(checkout)),\r\n map((checkout) => this.generateCartObject(checkout.lineItems)),\r\n tap((cart) => this.cartSubject.next(cart)),\r\n )\r\n }\r\n\r\n getCart(checkout?: RequiredCheckoutData): Observable<Cart> {\r\n this.buildCartFromCheckout(checkout).subscribe((cart) => this.cartSubject.next(cart))\r\n\r\n return this.cartSubject\r\n }\r\n\r\n /**\r\n * @deprecated The method should not be used\r\n */\r\n getVariantPriceDiscount(item: LineItem): Observable<number> {\r\n return this.authService.getUser().pipe(\r\n concatMap((user) =>\r\n iif(\r\n () => user.isSubscriber && !!item.price.subscriberPrice,\r\n of(item.price.subscriberPrice),\r\n of(item.price.price),\r\n ),\r\n ),\r\n catchError(() => of(item.price.price)),\r\n )\r\n }\r\n\r\n removeItem(item: LineItem): Observable<Cart> {\r\n return this.checkoutService.getCheckout().pipe(\r\n map((checkout) => {\r\n const index = checkout.lineItems.findIndex((lineItem) => lineItem.sku === item.sku)\r\n\r\n if (index >= 0) checkout.lineItems.splice(index, 1)\r\n\r\n return checkout\r\n }),\r\n concatMap((checkout) => this.checkoutService.updateCheckoutLineItems(checkout)),\r\n map((checkout) => this.generateCartObject(checkout.lineItems)),\r\n tap((cart) => this.cartSubject.next(cart)),\r\n )\r\n }\r\n\r\n updateUserCart(user: User): Observable<Cart> {\r\n return this.checkoutService.getCheckout().pipe(\r\n concatMap((checkout) =>\r\n this.checkoutService.updateCheckoutUser(Checkout.toInstance({ ...checkout.toPlain(), user })),\r\n ),\r\n concatMap(async (checkout) => this.checkoutService.updateCheckoutLineItems(\r\n Checkout.toInstance({\r\n ...checkout.toPlain(),\r\n lineItems: checkout.lineItems?.length ? await Promise.all(\r\n checkout.lineItems?.map(async (item) => (await this.buildLineItem({ checkout, item })).lineItem)\r\n ) : [],\r\n }),\r\n ).toPromise()\r\n ),\r\n map(checkout => this.generateCartObject(checkout.lineItems)),\r\n tap((cart) => this.cartSubject.next(cart))\r\n )\r\n }\r\n\r\n clearCart(): Observable<Cart> {\r\n return this.checkoutService.getCheckout().pipe(\r\n map((checkout) => {\r\n this.checkoutService.clearCheckoutFromSession()\r\n return checkout\r\n }),\r\n concatMap((oldCheckout) => this.buildCartFromCheckout(oldCheckout)),\r\n tap((cart) => this.cartSubject.next(cart)),\r\n )\r\n }\r\n\r\n private buildCartFromCheckout(checkoutData?: RequiredCheckoutData): Observable<Cart> {\r\n return this.checkoutService.getCheckout(checkoutData).pipe(\r\n map((checkout) => checkout.lineItems),\r\n concatMap((lineItems) => of(this.generateCartObject(lineItems))),\r\n )\r\n }\r\n\r\n private updateLineItemInCart = (lineItem: LineItem, quantity: number, checkout?: Checkout): Observable<Cart> =>\r\n (isNil(checkout) ? this.checkoutService.getCheckout() : of(checkout)).pipe(\r\n concatMap((checkoutLoaded) => {\r\n const items: LineItem[] = []\r\n const index = checkoutLoaded.lineItems?.map((checkoutItem) => checkoutItem.sku).indexOf(lineItem.sku)\r\n\r\n if (index > -1) {\r\n checkoutLoaded.lineItems[index].quantity += quantity\r\n checkoutLoaded.lineItems[index].pricePaid = lineItem.pricePaid\r\n } else\r\n checkoutLoaded.lineItems = items.concat(\r\n checkoutLoaded.lineItems ? checkoutLoaded.lineItems.concat([lineItem]) : [lineItem],\r\n )\r\n\r\n return this.checkoutService\r\n .updateCheckoutLineItems(checkoutLoaded)\r\n .pipe(map((updatedCheckout) => this.generateCartObject(updatedCheckout.lineItems)))\r\n }),\r\n )\r\n\r\n private generateCartObject = (items: LineItem[]): Cart => {\r\n const cart: Cart = {}\r\n\r\n items?.forEach(\r\n (item) =>\r\n (cart[item.sku] = LineItem.toInstance({\r\n ...(cart[item.sku] || item),\r\n quantity: (cart[item.sku]?.quantity || 0) + (item.quantity ? item.quantity : 1),\r\n })),\r\n )\r\n\r\n return cart\r\n }\r\n\r\n private buildLineItem = async ({\r\n checkout,\r\n item,\r\n quantity,\r\n }: {\r\n checkout: RequiredCheckoutData\r\n item: LineItem\r\n quantity?: number\r\n }): Promise<{checkout: Partial<Checkout>, lineItem: LineItem}> => {\r\n \r\n const product = await this.productRepository.get({ id: item.id })\r\n\r\n item.quantity = item?.quantity || checkout?.lineItems?.find((lineItem) => lineItem.sku === item.sku)?.quantity || 0\r\n\r\n if (this.checkMaxStock(item, quantity || 0))\r\n throw new Error('Desculpe! Temos apenas ' + item.stock?.quantity + ' em estoque.')\r\n\r\n const image = item.image || item.images?.shift()\r\n const { id, name, EAN, brand, slug, stock, price, weight, categories, sku, type } = item\r\n const isGift = item.isGift || null\r\n const pricePaid = this.getProductPrice({\r\n product: item,\r\n shop: checkout.shop || this.defaultShop,\r\n isSubscriber: checkout.user?.isSubscriber,\r\n })\r\n\r\n return {\r\n checkout,\r\n lineItem: LineItem.toInstance({\r\n id,\r\n name: name ?? product.name,\r\n EAN: EAN ?? product.EAN,\r\n brand: product.brand,\r\n slug: slug ?? product.slug,\r\n sku: sku ?? product.sku,\r\n stock,\r\n price,\r\n image,\r\n weight: weight ?? product.weight,\r\n quantity: (item.quantity || 0) + (quantity || 0),\r\n pricePaid,\r\n categories: product.categories ?? [],\r\n isGift: isGift ?? null,\r\n costPrice: product.costPrice ?? 0,\r\n type,\r\n }),\r\n }\r\n }\r\n\r\n private getProductPrice = ({\r\n product,\r\n isSubscriber,\r\n }: {\r\n product: LineItem\r\n shop: Shops\r\n isSubscriber: boolean\r\n }): number => {\r\n const info = product.price\r\n\r\n if (product.isGift) return 0\r\n\r\n return isSubscriber && info.subscriberPrice > 0 ? info.subscriberPrice : info.price\r\n }\r\n\r\n private checkMaxStock = (item: LineItem, quantity: number) => {\r\n const maxStock = item.stock?.quantity || 0\r\n const currentItemAmount = item.quantity || 0\r\n\r\n return currentItemAmount + quantity > maxStock\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport {\r\n CheckoutSubscription,\r\n CheckoutSubscriptionRepository,\r\n CheckoutTypes,\r\n Coupon,\r\n isNil,\r\n pick,\r\n SubscriptionRepository\r\n} from '@infrab4a/connect'\r\nimport cookie from 'js-cookie'\r\nimport { from, Observable, of } from 'rxjs'\r\nimport { concatMap } from 'rxjs/operators'\r\nimport { RequiredCheckoutSubscriptionData } from './types'\r\n\r\nimport { CouponService } from './coupon.service'\r\n\r\n@Injectable()\r\nexport class CheckoutSubscriptionService {\r\n constructor(\r\n @Inject('CheckoutSubscriptionRepository')\r\n private readonly checkoutSubscriptionRepository: CheckoutSubscriptionRepository,\r\n @Inject('SubscriptionRepository') private readonly subscriptionRepository: SubscriptionRepository,\r\n private readonly couponService: CouponService,\r\n ) { }\r\n\r\n getCheckoutSubscription(checkoutData?: RequiredCheckoutSubscriptionData): Observable<CheckoutSubscription> {\r\n const checkoutId = cookie.get('checkoutSubscriptionId')\r\n\r\n if (!isNil(checkoutId)) return from(this.checkoutSubscriptionRepository.get({ id: checkoutId }))\r\n\r\n return from(this.createCheckoutSubscription(checkoutData))\r\n }\r\n\r\n private async createCheckoutSubscription(\r\n checkoutData?: RequiredCheckoutSubscriptionData,\r\n ): Promise<CheckoutSubscription> {\r\n const checkout = await this.checkoutSubscriptionRepository.create({\r\n createdAt: new Date(),\r\n ...CheckoutSubscription.toInstance(pick(checkoutData, ['user', 'shop'])).toPlain(),\r\n })\r\n\r\n cookie.set('checkoutSubscriptionId', checkout.id)\r\n\r\n return checkout\r\n }\r\n\r\n clearCheckoutSubscriptionFromSession(): Observable<void> {\r\n cookie.remove('checkoutSubscriptionId')\r\n\r\n return of()\r\n }\r\n\r\n checkCoupon(nickname: string, userEmail: string): Observable<Coupon> {\r\n return this.getCheckoutSubscription().pipe(\r\n concatMap((checkout) =>\r\n this.couponService.checkCoupon(nickname, userEmail, CheckoutTypes.SUBSCRIPTION, checkout.subscriptionPlan.name, null, true).pipe()\r\n ),\r\n )\r\n }\r\n\r\n calcDiscountSubscription(coupon: Coupon) {\r\n return this.getCheckoutSubscription().pipe(\r\n concatMap((checkout) =>\r\n this.couponService.calcDiscountSubscription(coupon, checkout).pipe(),\r\n ),\r\n )\r\n }\r\n\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport {\r\n add,\r\n Banner,\r\n Category,\r\n CategoryRepository,\r\n Home,\r\n HomeCategoryGroup,\r\n HomeData,\r\n HomeRepository,\r\n pick,\r\n Product,\r\n ProductRepository,\r\n RequiredArgumentError,\r\n Shops,\r\n Where,\r\n} from '@infrab4a/connect'\r\nimport { forkJoin, from, Observable, of, throwError } from 'rxjs'\r\nimport { concatMap, map, tap } from 'rxjs/operators'\r\n\r\nimport { DEFAULT_SHOP } from '../consts'\r\n\r\ntype HomeConfigurationId = 'glamshop' | 'mens_market'\r\ntype BannerType = 'brand' | 'buyToWin' | 'block' | 'blog'\r\n\r\n@Injectable()\r\nexport class HomeShopService {\r\n private homeConfiguration: Home\r\n\r\n private get homeId(): HomeConfigurationId {\r\n if (this.defaultShop === Shops.GLAMSHOP) return 'glamshop'\r\n if (this.defaultShop === Shops.MENSMARKET) return 'mens_market'\r\n\r\n return null\r\n }\r\n\r\n constructor(\r\n @Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository,\r\n @Inject('HomeRepository') private readonly homeRepository: HomeRepository,\r\n @Inject('ProductRepository') private readonly productRepository: ProductRepository,\r\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\r\n ) {}\r\n\r\n getHomeData(): Observable<Home> {\r\n return this.getHomeConfiguration().pipe(\r\n map((home) => (home?.data?.expiresAt > new Date() ? home : null)),\r\n concatMap((home) =>\r\n home\r\n ? of(home)\r\n : forkJoin([this.getDiscoverProducts(), this.getFeaturedProducts(), this.getVerticalProducts()]).pipe(\r\n map(([discoverProducts, featuredProducts, verticalProducts]) => ({\r\n discoverProducts,\r\n featuredProducts,\r\n verticalProducts,\r\n })),\r\n concatMap((data) => this.saveHomeData(data)),\r\n ),\r\n ),\r\n )\r\n }\r\n\r\n getBanners(type: BannerType): Observable<Banner[]> {\r\n return this.getHomeConfiguration().pipe(\r\n map((home) => {\r\n if (type === 'brand') return home.brandsCarousel\r\n if (type === 'buyToWin') return [home.buyToWinBanner]\r\n if (type === 'block') return home.blockBanners\r\n if (type === 'blog') return [home.blogBanner]\r\n }),\r\n )\r\n }\r\n\r\n getMinValueForFreeShipping(): Observable<number> {\r\n return this.getHomeConfiguration().pipe(map((home) => home.minValueForFreeShipping))\r\n }\r\n\r\n private getDiscoverProducts(): Observable<{ category: Category; products: Product[] }[]> {\r\n return this.getHomeConfiguration().pipe(\r\n concatMap((home) =>\r\n from(this.categoryRepository.getCategoriesForHome(home.discoverCategories)).pipe(\r\n map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)),\r\n ),\r\n ),\r\n )\r\n }\r\n\r\n private getFeaturedProducts(): Observable<{ category: Category; products: Product[] }[]> {\r\n return this.getHomeConfiguration().pipe(\r\n concatMap((home) =>\r\n from(this.categoryRepository.getCategoriesForHome(home.featuredCategories)).pipe(\r\n map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)),\r\n ),\r\n ),\r\n )\r\n }\r\n\r\n private getVerticalProducts(): Observable<{ category: Category; products: Product[] }[]> {\r\n return this.getHomeConfiguration().pipe(\r\n concatMap((home) =>\r\n forkJoin(\r\n home.verticalCarousels.filter(Boolean).map((id) =>\r\n from(this.categoryRepository.get({ id })).pipe(\r\n concatMap((category) =>\r\n from(\r\n this.productRepository.find({\r\n filters: { categories: { operator: Where.IN, value: [category.id] } },\r\n limits: { limit: 12 },\r\n }),\r\n ).pipe(map((products) => ({ category, products }))),\r\n ),\r\n map(({ category, products }) => ({ category, products: products.data })),\r\n map(this.buildCategoryGroupWithRequiredData),\r\n ),\r\n ),\r\n ),\r\n ),\r\n )\r\n }\r\n\r\n private getHomeConfiguration(): Observable<Home> {\r\n return of(this.homeConfiguration).pipe(\r\n concatMap((home) =>\r\n home\r\n ? of(home)\r\n : !this.homeId\r\n ? throwError(new RequiredArgumentError(['homeId']))\r\n : from(this.homeRepository.get({ id: this.homeId })).pipe(\r\n tap((homeLoaded) => (this.homeConfiguration = homeLoaded)),\r\n ),\r\n ),\r\n )\r\n }\r\n\r\n private saveHomeData(homeData: HomeData): Observable<Home> {\r\n const data = {\r\n createdAt: new Date(),\r\n expiresAt: add(new Date(), { hours: 1 }),\r\n data: homeData,\r\n }\r\n\r\n return from(\r\n this.homeRepository.update({\r\n id: this.homeId,\r\n data,\r\n }),\r\n ).pipe(\r\n tap(() => (this.homeConfiguration.data = data)),\r\n map(() => this.homeConfiguration),\r\n )\r\n }\r\n\r\n private buildCategoryGroupWithRequiredData = (group: HomeCategoryGroup): HomeCategoryGroup => ({\r\n category: Category.toInstance(pick(group?.category?.toPlain() || {}, ['id', 'name', 'slug', 'conditions'])),\r\n products:\r\n group?.products?.map((product) =>\r\n Product.toInstance(\r\n pick(product?.toPlain() || {}, [\r\n 'id',\r\n 'price',\r\n 'reviews',\r\n 'hasVariants',\r\n 'slug',\r\n 'sku',\r\n 'stock',\r\n 'costPrice',\r\n 'images',\r\n 'miniatures',\r\n 'name',\r\n 'weight',\r\n 'rate',\r\n 'type',\r\n ]),\r\n ),\r\n ) || [],\r\n })\r\n}\r\n","import { Injectable, Inject } from '@angular/core'\r\nimport { AngularFirestore, QueryDocumentSnapshot } from '@angular/fire/firestore'\r\nimport { Order, OrderFirestoreRepository } from '@infrab4a/connect'\r\nimport { from, Observable, Subject } from 'rxjs'\r\nimport { map, mergeMap, tap } from 'rxjs/operators'\r\n\r\n@Injectable()\r\nexport class OrderService {\r\n orderSubject = new Subject<Order>()\r\n\r\n constructor(\r\n private readonly angularFirestore: AngularFirestore,\r\n @Inject('OrderRepository') private readonly orderRepository: OrderFirestoreRepository,\r\n ) {}\r\n\r\n getOrder(id: string): Subject<Order> {\r\n this.angularFirestore\r\n .doc<QueryDocumentSnapshot<Order>>(`${this.orderRepository.collectionName}/${id}`)\r\n .valueChanges()\r\n .pipe(map((doc) => Order.toInstance(doc)))\r\n .subscribe((doc) => this.orderSubject.next(doc))\r\n\r\n return this.orderSubject\r\n }\r\n}\r\n","\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Home, Shops } from '@infrab4a/connect';\r\nimport { combineLatest, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { BACKEND_URL } from '../consts';\r\nimport { HomeShopService } from './home-shop.service';\r\nimport { ShippingMethodResponse } from './types/shipping-methods.type';\r\n\r\n@Injectable()\r\nexport class ShippingService {\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject(BACKEND_URL) private apiUrl: string,\r\n private homeService: HomeShopService,\r\n ) {}\r\n\r\n public getShippingMethods(\r\n shop: string,\r\n zip: string,\r\n weightGrams: number,\r\n totalPrice: number,\r\n personId: string,\r\n subscriptionPlan?: string\r\n ): Observable<Array<ShippingMethodResponse & { ShippingCompanyName?: string }>> {\r\n\r\n return combineLatest([\r\n this.homeService.getHomeData(),\r\n this.http.get(`${this.apiUrl}open/checkshippingcompany?personId=${personId}&postalCode=${zip}&weightGrams=${weightGrams}`)\r\n ])\r\n .pipe(\r\n map( ([datas, shippingMethodsResponse]: [Home & {sameDayNotAvaliable}, any])=> {\r\n let shippingMethods = shippingMethodsResponse.result as (ShippingMethodResponse & { ShippingCompanyName?: string })[]\r\n\r\n if (!shippingMethods.length) return []\r\n \r\n shippingMethods = shippingMethods.map(s => {\r\n if (s.ShippingCompanyName == 'Same Day EG') s.ShippingCompanyName = 'Same Day'\r\n else return s\r\n })\r\n\r\n const datasSameDayNotAvaliable = datas.sameDayNotAvaliable\r\n\r\n if (this.isHolidays(datasSameDayNotAvaliable)) {\r\n shippingMethods = shippingMethods.filter(\r\n (method) => method.ShippingCompanyName !== 'Same Day'\r\n );\r\n }\r\n\r\n if (totalPrice >= 200) {\r\n shippingMethods = shippingMethods.map(s => {\r\n if (s.serviceName !== 'Same Day') return { ...s, totalPrice: 0 }\r\n else return s\r\n })\r\n }\r\n\r\n if (shop == Shops.GLAMSHOP) return shippingMethods\r\n\r\n if (this.isFreeShippingBySubscription(shop, subscriptionPlan)) {\r\n shippingMethods = shippingMethods.map(s => {\r\n if (s.serviceName == 'Same Day') return { ...s, totalPrice: s.totalPrice/2 }\r\n else return { ...s, totalPrice: 0 }\r\n })\r\n }\r\n\r\n if (this.isHalfShippingBySubscription(shop, subscriptionPlan)) {\r\n shippingMethods = shippingMethods.map(s => {\r\n return { ...s, totalPrice: s.totalPrice/2 }\r\n })\r\n }\r\n\r\n return shippingMethods\r\n })\r\n )\r\n \r\n }\r\n\r\n private isFreeShippingBySubscription(shop: string, subscriptionPlan: string): boolean {\r\n if(!subscriptionPlan) return false\r\n\r\n if (shop == Shops.MENSMARKET && subscriptionPlan == 'SELECT') {\r\n return true\r\n }\r\n \r\n return false\r\n }\r\n\r\n private isHalfShippingBySubscription(shop: string, subscriptionPlan: string) {\r\n if(!subscriptionPlan) return false\r\n\r\n if (shop == Shops.MENSMARKET && subscriptionPlan == 'PRIME') {\r\n return true\r\n }\r\n \r\n return false\r\n }\r\n\r\n private isHolidays(datas: any): boolean {\r\n const today = new Date()\r\n\r\n for (const key in datas) {\r\n let start = new Date(`${today.getFullYear()}-${datas[key].beginDate}`)\r\n let end = new Date(`${today.getFullYear()}-${datas[key].endDate}`)\r\n\r\n if (start > end)\r\n end = new Date(`${today.getFullYear() + 1}-${datas[key].endDate}`)\r\n\r\n if (today >= start && today <= end)\r\n return true\r\n }\r\n\r\n return false\r\n }\r\n\r\n}","import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport {\r\n AngularFireModule,\r\n FIREBASE_APP_NAME,\r\n FIREBASE_OPTIONS,\r\n FirebaseAppConfig,\r\n FirebaseOptions,\r\n} from '@angular/fire'\r\nimport { AngularFireAuth } from '@angular/fire/auth'\r\nimport {\r\n Authentication,\r\n AuthenticationFirebaseAuthService,\r\n AuthenticationService,\r\n Register,\r\n RegisterService,\r\n RegisterFirebaseAuthService,\r\n SignOut,\r\n UserRepository,\r\n RecoveryPassword,\r\n} from '@infrab4a/connect'\r\n\r\n@NgModule({\r\n imports: [AngularFireModule],\r\n providers: [\r\n {\r\n provide: 'Authentication',\r\n useFactory: (authenticationService: AuthenticationService, userRepository: UserRepository): Authentication => {\r\n return new Authentication(authenticationService, userRepository)\r\n },\r\n deps: ['AuthenticationService', 'UserRepository'],\r\n },\r\n {\r\n provide: 'AuthenticationService',\r\n useFactory: (angularFireAuth: AngularFireAuth): AuthenticationService => {\r\n return new AuthenticationFirebaseAuthService(angularFireAuth as any)\r\n },\r\n deps: [AngularFireAuth],\r\n },\r\n {\r\n provide: 'Register',\r\n useFactory: (registerService: RegisterService, userRepository: UserRepository): Register => {\r\n return new Register(registerService, userRepository)\r\n },\r\n deps: ['RegisterService', 'UserRepository'],\r\n },\r\n {\r\n provide: 'RegisterService',\r\n useFactory: (angularFireAuth: AngularFireAuth): RegisterService => {\r\n return new RegisterFirebaseAuthService(angularFireAuth as any)\r\n },\r\n deps: [AngularFireAuth],\r\n },\r\n {\r\n provide: 'SignOut',\r\n useFactory: (authenticationService: AuthenticationService): SignOut => {\r\n return new SignOut(authenticationService)\r\n },\r\n deps: ['AuthenticationService'],\r\n },\r\n {\r\n provide: 'RecoveryPassword',\r\n useFactory: (authenticationService: AuthenticationService): RecoveryPassword => {\r\n return new RecoveryPassword(authenticationService)\r\n },\r\n deps: ['AuthenticationService'],\r\n },\r\n ],\r\n})\r\nexport class AngularFirebaseAuthModule {\r\n static initializeApp(\r\n options: FirebaseOptions,\r\n nameOrConfig?: string | FirebaseAppConfig,\r\n ): ModuleWithProviders<AngularFireModule> {\r\n return {\r\n ngModule: AngularFirebaseAuthModule,\r\n providers: [\r\n { provide: FIREBASE_OPTIONS, useValue: options },\r\n { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },\r\n ],\r\n }\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport { AxiosElasticSearchConfig, AxiosAdapter, ProductsIndex } from '@infrab4a/connect'\r\n\r\nimport { ES_CONFIG } from './consts/es-config.const'\r\n\r\n@NgModule({\r\n providers: [\r\n {\r\n provide: ProductsIndex,\r\n useFactory: (configuration: AxiosElasticSearchConfig): ProductsIndex => {\r\n return new ProductsIndex(new AxiosAdapter(configuration))\r\n },\r\n deps: [ES_CONFIG],\r\n },\r\n ],\r\n})\r\nexport class AngularElasticSeachModule {\r\n static initializeApp(options: AxiosElasticSearchConfig): ModuleWithProviders<AngularElasticSeachModule> {\r\n return {\r\n ngModule: AngularElasticSeachModule,\r\n providers: [{ provide: ES_CONFIG, useValue: options }],\r\n }\r\n }\r\n}\r\n","import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core'\r\nimport {\r\n AngularFireModule,\r\n FirebaseAppConfig,\r\n FirebaseOptions,\r\n FIREBASE_APP_NAME,\r\n FIREBASE_OPTIONS\r\n} from '@angular/fire'\r\nimport { AngularFirestore } from '@angular/fire/firestore'\r\nimport {\r\n AxiosElasticSearchConfig,\r\n BeautyProfileRepository,\r\n Buy2WinFirestoreRepository,\r\n Buy2WinRepository,\r\n CampaignDashboardFirestoreRepository,\r\n CampaignDashboardRepository,\r\n CampaignHashtagFirestoreRepository,\r\n CampaignHashtagRepository,\r\n CategoryFirestoreRepository,\r\n CategoryRepository,\r\n CheckoutFirestoreRepository,\r\n CheckoutRepository,\r\n CheckoutSubscriptionFirestoreRepository,\r\n CheckoutSubscriptionRepository,\r\n CouponFirestoreRepository,\r\n CouponRepository,\r\n EditionRepository,\r\n HomeFirestoreRepository,\r\n HomeRepository,\r\n LeadFirestoreRepository,\r\n LeadRepository,\r\n LegacyOrderFirestoreRepository,\r\n LegacyOrderRepository,\r\n OrderFirestoreRepository,\r\n OrderRepository,\r\n PaymentFirestoreRepository,\r\n PaymentRepository,\r\n ProductFirestoreRepository,\r\n ProductRepository,\r\n ProductVariantFirestoreRepository,\r\n ShopMenuFirestoreRepository,\r\n ShopMenuRepository,\r\n SubscriptionEditionFirestoreRepository,\r\n SubscriptionFirestoreRepository,\r\n SubscriptionPaymentFirestoreRepository,\r\n SubscriptionPaymentRepository,\r\n SubscriptionPlanFirestoreRepository,\r\n SubscriptionPlanRepository,\r\n SubscriptionProductFirestoreRepository,\r\n SubscriptionProductRepository,\r\n SubscriptionRepository,\r\n UserAddressFirestoreRepository,\r\n UserAddressRepository,\r\n UserBeautyProfileFirestoreRepository,\r\n UserFirestoreRepository,\r\n UserPaymentMethodFirestoreRepository,\r\n UserPaymentMethodRepository,\r\n UserRepository,\r\n VariantRepository\r\n} from '@infrab4a/connect'\r\n\r\nimport { AngularElasticSeachModule } from './angular-elastic-search.module'\r\nimport { ES_CONFIG } from './consts/es-config.const'\r\n\r\n@NgModule({\r\n imports: [AngularFireModule, AngularElasticSeachModule],\r\n providers: [\r\n {\r\n provide: 'BeautyProfileRepository',\r\n useFactory: (firestore: AngularFirestore, userRepository: UserFirestoreRepository): BeautyProfileRepository => {\r\n return new UserBeautyProfileFirestoreRepository(firestore.firestore, userRepository)\r\n },\r\n deps: [AngularFirestore, 'UserRepository'],\r\n },\r\n {\r\n provide: 'Buy2WinRepository',\r\n useFactory: (firestore: AngularFirestore): Buy2WinRepository => {\r\n return new Buy2WinFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: CategoryFirestoreRepository,\r\n useFactory: (firestore: AngularFirestore): CategoryRepository => {\r\n return new CategoryFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'CheckoutRepository',\r\n useFactory: (firestore: AngularFirestore): CheckoutRepository => {\r\n return new CheckoutFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'CheckoutSubscriptionRepository',\r\n useFactory: (firestore: AngularFirestore): CheckoutSubscriptionRepository => {\r\n return new CheckoutSubscriptionFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'CouponRepository',\r\n useFactory: (firestore: AngularFirestore): CouponRepository => {\r\n return new CouponFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'CampaignHashtagRepository',\r\n useFactory: (firestore: AngularFirestore): CampaignHashtagRepository => {\r\n return new CampaignHashtagFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'CampaignDashboardRepository',\r\n useFactory: (firestore: AngularFirestore): CampaignDashboardRepository => {\r\n return new CampaignDashboardFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'EditionRepository',\r\n useFactory: (\r\n firestore: AngularFirestore,\r\n subscriptionRepository: SubscriptionFirestoreRepository,\r\n ): EditionRepository => {\r\n return new SubscriptionEditionFirestoreRepository(firestore.firestore, subscriptionRepository)\r\n },\r\n deps: [AngularFirestore, 'SubscriptionRepository'],\r\n },\r\n {\r\n provide: 'HomeRepository',\r\n useFactory: (firestore: AngularFirestore): HomeRepository => {\r\n return new HomeFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'LeadRepository',\r\n useFactory: (firestore: AngularFirestore): LeadRepository => {\r\n return new LeadFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'LegacyOrderRepository',\r\n useFactory: (firestore: AngularFirestore): LegacyOrderRepository => {\r\n return new LegacyOrderFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'ShopMenuRepository',\r\n useFactory: (firestore: AngularFirestore): ShopMenuRepository => {\r\n return new ShopMenuFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'OrderRepository',\r\n useFactory: (firestore: AngularFirestore): OrderRepository => {\r\n return new OrderFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'PaymentRepository',\r\n useFactory: (firestore: AngularFirestore): PaymentRepository => {\r\n return new PaymentFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: ProductFirestoreRepository,\r\n useFactory: (firestore: AngularFirestore): ProductRepository => {\r\n return new ProductFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'SubscriptionPaymentRepository',\r\n useFactory: (\r\n firestore: AngularFirestore,\r\n subscriptionRepository: SubscriptionFirestoreRepository,\r\n ): SubscriptionPaymentRepository => {\r\n return new SubscriptionPaymentFirestoreRepository(firestore.firestore, subscriptionRepository)\r\n },\r\n deps: [AngularFirestore, 'SubscriptionRepository'],\r\n },\r\n {\r\n provide: 'SubscriptionPlanRepository',\r\n useFactory: (firestore: AngularFirestore): SubscriptionPlanRepository => {\r\n return new SubscriptionPlanFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'SubscriptionProductRepository',\r\n useFactory: (firestore: AngularFirestore): SubscriptionProductRepository => {\r\n return new SubscriptionProductFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'SubscriptionRepository',\r\n useFactory: (firestore: AngularFirestore): SubscriptionRepository => {\r\n return new SubscriptionFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'UserRepository',\r\n useFactory: (firestore: AngularFirestore): UserRepository => {\r\n return new UserFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'UserAddressRepository',\r\n useFactory: (firestore: AngularFirestore, userRepository: UserFirestoreRepository): UserAddressRepository => {\r\n return new UserAddressFirestoreRepository(firestore.firestore, userRepository)\r\n },\r\n deps: [AngularFirestore, 'UserRepository'],\r\n },\r\n {\r\n provide: 'UserPaymentMethodRepository',\r\n useFactory: (\r\n firestore: AngularFirestore,\r\n userRepository: UserFirestoreRepository,\r\n ): UserPaymentMethodRepository => {\r\n return new UserPaymentMethodFirestoreRepository(firestore.firestore, userRepository)\r\n },\r\n deps: [AngularFirestore, 'UserRepository'],\r\n },\r\n {\r\n provide: ProductVariantFirestoreRepository,\r\n useFactory: (firestore: AngularFirestore, productRepository: ProductFirestoreRepository): VariantRepository => {\r\n return new ProductVariantFirestoreRepository(firestore.firestore, productRepository)\r\n },\r\n deps: [AngularFirestore, ProductFirestoreRepository],\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: (firestore: AngularFirestore) => () =>\r\n firestore.firestore.settings({ ignoreUndefinedProperties: true }),\r\n deps: [AngularFirestore],\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class AngularFirestoreModule {\r\n static initializeApp(\r\n options: {\r\n firebase: FirebaseOptions\r\n elasticSearch: AxiosElasticSearchConfig\r\n },\r\n nameOrConfig?: string | FirebaseAppConfig,\r\n ): ModuleWithProviders<AngularFireModule> {\r\n return {\r\n ngModule: AngularFirestoreModule,\r\n providers: [\r\n { provide: FIREBASE_OPTIONS, useValue: options.firebase },\r\n { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },\r\n { provide: ES_CONFIG, useValue: options.elasticSearch },\r\n ],\r\n }\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport {\r\n CategoryHasuraGraphQLRepository,\r\n CategoryRepository,\r\n HasuraGraphQLAuthOptions,\r\n ProductHasuraGraphQLRepository,\r\n ProductRepository,\r\n VariantHasuraGraphQLRepository,\r\n VariantRepository,\r\n} from '@infrab4a/connect'\r\n\r\nimport { HASURA_OPTIONS } from './consts'\r\n\r\nexport type HasuraGraphQLOptions = { endpoint: string; credentials: HasuraGraphQLAuthOptions }\r\n\r\n@NgModule({\r\n providers: [\r\n {\r\n provide: 'CategoryRepository',\r\n useExisting: CategoryHasuraGraphQLRepository,\r\n },\r\n {\r\n provide: CategoryHasuraGraphQLRepository,\r\n useFactory: (\r\n options: HasuraGraphQLOptions,\r\n productRepository: ProductHasuraGraphQLRepository,\r\n ): CategoryRepository => {\r\n return new CategoryHasuraGraphQLRepository(options.endpoint, options.credentials, productRepository)\r\n },\r\n deps: [HASURA_OPTIONS, ProductHasuraGraphQLRepository],\r\n },\r\n {\r\n provide: 'ProductRepository',\r\n useExisting: ProductHasuraGraphQLRepository,\r\n },\r\n {\r\n provide: ProductHasuraGraphQLRepository,\r\n useFactory: (options: HasuraGraphQLOptions): ProductRepository => {\r\n return new ProductHasuraGraphQLRepository(options.endpoint, options.credentials)\r\n },\r\n deps: [HASURA_OPTIONS],\r\n },\r\n {\r\n provide: 'VariantRepository',\r\n useExisting: VariantHasuraGraphQLRepository,\r\n },\r\n {\r\n provide: VariantHasuraGraphQLRepository,\r\n useFactory: (options: HasuraGraphQLOptions): VariantRepository => {\r\n return new VariantHasuraGraphQLRepository(options.endpoint, options.credentials)\r\n },\r\n deps: [HASURA_OPTIONS],\r\n },\r\n ],\r\n})\r\nexport class AngularHasuraGraphQLModule {\r\n static initializeApp(options: {\r\n endpoint: string\r\n credentials: HasuraGraphQLAuthOptions\r\n }): ModuleWithProviders<AngularHasuraGraphQLModule> {\r\n return {\r\n ngModule: AngularHasuraGraphQLModule,\r\n providers: [{ provide: HASURA_OPTIONS, useValue: options }],\r\n }\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport {\r\n AngularFireModule, FirebaseAppConfig,\r\n FirebaseOptions, FIREBASE_APP_NAME,\r\n FIREBASE_OPTIONS\r\n} from '@angular/fire'\r\nimport { AxiosElasticSearchConfig, isNil, Shops } from '@infrab4a/connect'\r\n\r\nimport { AngularFirestoreModule } from './angular-firestore.module'\r\nimport { AngularHasuraGraphQLModule, HasuraGraphQLOptions } from './angular-hasura-graphql.module'\r\nimport { BACKEND_URL, DEFAULT_SHOP, ES_CONFIG, HASURA_OPTIONS } from './consts'\r\nimport {\r\n AuthService,\r\n CartService,\r\n CheckoutService,\r\n CheckoutSubscriptionService,\r\n CouponService,\r\n HomeShopService,\r\n OrderService,\r\n ShippingService\r\n} from './services'\r\n\r\n@NgModule({\r\n imports: [AngularFireModule, AngularFirestoreModule, AngularHasuraGraphQLModule],\r\n providers: [\r\n AuthService,\r\n CartService,\r\n CheckoutService,\r\n CheckoutSubscriptionService,\r\n CouponService,\r\n HomeShopService,\r\n OrderService,\r\n ShippingService\r\n ],\r\n})\r\nexport class AngularConnectModule {\r\n static initializeApp(\r\n defaultShop: Shops,\r\n options: { firebase: FirebaseOptions; elasticSearch: AxiosElasticSearchConfig; hasura: HasuraGraphQLOptions, backendUrl: string },\r\n nameOrConfig?: string | FirebaseAppConfig,\r\n ): ModuleWithProviders<AngularFireModule> {\r\n return {\r\n ngModule: AngularConnectModule,\r\n providers: [\r\n ...(isNil(defaultShop) ? [] : [{ provide: DEFAULT_SHOP, useValue: defaultShop }]),\r\n ...(isNil(options?.firebase) ? [] : [{ provide: FIREBASE_OPTIONS, useValue: options?.firebase }]),\r\n ...(isNil(options?.firebase) ? [] : [{ provide: FIREBASE_APP_NAME, useValue: nameOrConfig }]),\r\n ...(isNil(options?.elasticSearch) ? [] : [{ provide: ES_CONFIG, useValue: options.elasticSearch }]),\r\n ...(isNil(options?.hasura) ? [] : [{ provide: HASURA_OPTIONS, useValue: options.hasura }]),\r\n ...(isNil(options?.backendUrl) ? [] : [{ provide: BACKEND_URL, useValue: options.backendUrl }]),\r\n ],\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["catchError","of","combineLatest","map","mergeMap","i0","Injectable","Inject","CustomError","Coupon","from","Where","concatMap","throwError","Shops","CheckoutTypes","CouponTypes","Exclusivities","Status","cookie","isNil","NotFoundError","Checkout","pick","Subject","LineItem","tap","iif","i1.AuthService","i2.CheckoutService","CheckoutSubscription","i1.CouponService","Category","Product","forkJoin","RequiredArgumentError","add","Order","i2.HomeShopService","FIREBASE_OPTIONS","FIREBASE_APP_NAME","AngularFireModule","Authentication","AuthenticationFirebaseAuthService","AngularFireAuth","Register","RegisterFirebaseAuthService","SignOut","RecoveryPassword","NgModule","ProductsIndex","AxiosAdapter","UserBeautyProfileFirestoreRepository","AngularFirestore","Buy2WinFirestoreRepository","CategoryFirestoreRepository","CheckoutFirestoreRepository","CheckoutSubscriptionFirestoreRepository","CouponFirestoreRepository","CampaignHashtagFirestoreRepository","CampaignDashboardFirestoreRepository","SubscriptionEditionFirestoreRepository","HomeFirestoreRepository","LeadFirestoreRepository","LegacyOrderFirestoreRepository","ShopMenuFirestoreRepository","OrderFirestoreRepository","PaymentFirestoreRepository","ProductFirestoreRepository","SubscriptionPaymentFirestoreRepository","SubscriptionPlanFirestoreRepository","SubscriptionProductFirestoreRepository","SubscriptionFirestoreRepository","UserFirestoreRepository","UserAddressFirestoreRepository","UserPaymentMethodFirestoreRepository","ProductVariantFirestoreRepository","APP_INITIALIZER","CategoryHasuraGraphQLRepository","ProductHasuraGraphQLRepository","VariantHasuraGraphQLRepository"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"infrab4a-connect-angular.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/connect-angular/src/services/auth.service.ts","../../../projects/connect-angular/src/consts/backend-url.const.ts","../../../projects/connect-angular/src/consts/default-shop.const.ts","../../../projects/connect-angular/src/consts/es-config.const.ts","../../../projects/connect-angular/src/consts/hasura-options.const.ts","../../../projects/connect-angular/src/services/errors/invalid-coupon.error.ts","../../../projects/connect-angular/src/services/errors/group-invalid-coupon.error.ts","../../../projects/connect-angular/src/services/coupon.service.ts","../../../projects/connect-angular/src/services/checkout.service.ts","../../../projects/connect-angular/src/services/cart.service.ts","../../../projects/connect-angular/src/services/checkout-subscription.service.ts","../../../projects/connect-angular/src/services/home-shop.service.ts","../../../projects/connect-angular/src/services/order.service.ts","../../../projects/connect-angular/src/services/shipping.service.ts","../../../projects/connect-angular/src/angular-firebase-auth.module.ts","../../../projects/connect-angular/src/angular-elastic-search.module.ts","../../../projects/connect-angular/src/angular-firestore.module.ts","../../../projects/connect-angular/src/angular-hasura-graphql.module.ts","../../../projects/connect-angular/src/angular-connect.module.ts","../../../projects/connect-angular/src/infrab4a-connect-angular.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\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 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(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 (g && (g = 0, op[0] && (_ = 0)), _) 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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") 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 throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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: false } : 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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { Injectable, Inject } from '@angular/core'\r\nimport { AngularFireAuth } from '@angular/fire/auth'\r\nimport { User, UserRepository } from '@infrab4a/connect'\r\nimport { combineLatest, Observable, of } from 'rxjs'\r\nimport { catchError, map, mergeMap } from 'rxjs/operators'\r\nimport firebase from 'firebase/app'\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n constructor(\r\n private readonly angularFireAuth: AngularFireAuth,\r\n @Inject('UserRepository') private readonly userRepository: UserRepository,\r\n ) {}\r\n\r\n getAuthstate(): Observable<{ user: User; isAnonymous: boolean }> {\r\n const observables: [Observable<firebase.User>, Observable<User>] = [\r\n this.angularFireAuth.authState.pipe(catchError(() => of(null))),\r\n this.getUser().pipe(catchError(() => of(null))),\r\n ]\r\n\r\n return combineLatest(observables).pipe(\r\n map(([fireUser, user]) => {\r\n return {\r\n user,\r\n isAnonymous: fireUser?.isAnonymous,\r\n } as { user: User; isAnonymous: boolean }\r\n }),\r\n )\r\n }\r\n\r\n getUser(): Observable<User> {\r\n return this.getFireUser().pipe(\r\n map((user) => user?.uid),\r\n mergeMap((id) => (id ? this.userRepository.get({ id }) : of(null))),\r\n )\r\n }\r\n\r\n getTokenId(): Observable<string> {\r\n return this.angularFireAuth.idToken\r\n }\r\n\r\n getFireUser(): Observable<firebase.User> {\r\n return this.angularFireAuth.user.pipe(catchError(() => of(null)))\r\n }\r\n}\r\n","export const BACKEND_URL = 'BACKEND_URL'","export const DEFAULT_SHOP = 'DEFAULT_SHOP'\r\n","export const ES_CONFIG = 'ES_CONFIG'\r\n","export const HASURA_OPTIONS = 'HASURA_OPTIONS'\r\n","import { CustomError } from 'ts-custom-error'\r\n\r\nexport class InvalidCouponError extends CustomError {\r\n constructor(readonly message) {\r\n super(message)\r\n }\r\n}\r\n","import { CustomError } from 'ts-custom-error'\r\n\r\nimport { InvalidCouponError } from './invalid-coupon.error'\r\n\r\nexport class GroupInvalidCouponError extends CustomError {\r\n constructor(readonly errors: InvalidCouponError[]) {\r\n super('Many coupon errors throw')\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport {\r\n Category,\r\n CategoryRepository,\r\n Checkout,\r\n CheckoutSubscription,\r\n CheckoutTypes,\r\n Coupon,\r\n CouponRepository,\r\n CouponTypes,\r\n Exclusivities,\r\n LineItem,\r\n OrderRepository,\r\n Shops,\r\n Status,\r\n SubscriptionRepository,\r\n Where\r\n} from '@infrab4a/connect'\r\nimport { from, Observable, of, throwError } from 'rxjs'\r\nimport { concatMap, map } from 'rxjs/operators'\r\n\r\nimport { DEFAULT_SHOP } from '../consts'\r\n\r\nimport { InvalidCouponError } from './errors'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CouponService {\r\n constructor(\r\n @Inject('CouponRepository') private readonly couponRepository: CouponRepository,\r\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\r\n @Inject('OrderRepository') private readonly orderRepository: OrderRepository,\r\n @Inject('SubscriptionRepository') private readonly subscriptionRepository: SubscriptionRepository,\r\n @Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository,\r\n ) {}\r\n\r\n checkCoupon(\r\n nickname: string,\r\n userEmail: string,\r\n checkoutType: CheckoutTypes,\r\n plan?: string,\r\n checkout?: Partial<Checkout>,\r\n isSubscription?: boolean,\r\n ): Observable<Coupon> {\r\n return from(\r\n this.couponRepository.find({\r\n filters: {\r\n nickname: { operator: Where.EQUALS, value: nickname },\r\n active: { operator: Where.EQUALS, value: true },\r\n },\r\n }),\r\n ).pipe(\r\n concatMap((coupons) => this.checkCouponRules(coupons, checkoutType, plan, checkout, isSubscription)),\r\n concatMap((coupon: Coupon) => this.checkCouponUseAndLimit(coupon, userEmail, checkout)),\r\n map((coupon: Coupon) => this.isValidCoupon(coupon, userEmail)),\r\n map((coupon: Coupon) => coupon),\r\n )\r\n }\r\n\r\n private emailIsFromCollaborator = (userEmail: string): boolean => !!userEmail?.match(/@b4a.com.br/g)\r\n\r\n private checkCouponRules(\r\n coupons,\r\n checkoutType: CheckoutTypes,\r\n plan?: string,\r\n checkout?: Partial<Checkout>,\r\n isSubscription?: boolean,\r\n ) {\r\n // Caso não ache nenhum cupom, retorna erro\r\n if (coupons.count < 1) {\r\n return throwError('Cupom inválido.')\r\n }\r\n\r\n // Get Primeiro Cupom (o find do repository retorna um array)\r\n const coupon: Coupon = coupons.data.shift()\r\n // Verifica se o cupom é aplicavel na loja\r\n const isInShop = coupon.shopAvailability === Shops.ALL || coupon.shopAvailability === this.defaultShop\r\n\r\n // Cupon não aplicavel a loja retorna erro\r\n if (!isInShop) return throwError('Cupom inválido para loja.')\r\n\r\n // Verifica se o coupon é aplicado no checkout que está sendo realizado\r\n const isCheckoutType = coupon.checkoutType === CheckoutTypes.ALL || coupon.checkoutType === checkoutType\r\n\r\n // Cupon não aplicavel ao checkout retorna erro\r\n if (!isCheckoutType) return throwError('Cupom inválido. Erro de checkout.')\r\n\r\n // Verifica se o cupom é ou pode ser aplicado para subscription\r\n if (checkoutType === CheckoutTypes.ALL || checkoutType === CheckoutTypes.SUBSCRIPTION) {\r\n // Se o cupom tiver um plano associado, verifica se é o mesmo plano do checkout da assinatura\r\n if (coupon.plan && coupon.plan.toUpperCase() !== plan.toUpperCase())\r\n return throwError('Cupom inválido para sua assinatura.')\r\n }\r\n\r\n if (isSubscription) return of(coupon)\r\n\r\n // Verifica se possui o valor minimo de compra para utilização do cupom\r\n const hasMinSubTotal = this.hasMinSubTotal(coupon, checkout)\r\n\r\n // Se não tem valor mínimo atingido, retorna erro\r\n if (!hasMinSubTotal) return throwError('Valor mínimo não atingido')\r\n\r\n return of(coupon)\r\n }\r\n\r\n private isValidCoupon(coupon: Coupon, userEmail: string): Coupon {\r\n // Verifica a data de inicio de validade do cupom\r\n if (coupon?.beginAt > new Date()) throw new InvalidCouponError('Cupom ainda não liberado.')\r\n\r\n // Verifica a data de validade do cupom\r\n if (coupon?.expiresIn < new Date()) throw new InvalidCouponError('Cupom expirado.')\r\n\r\n return coupon\r\n }\r\n\r\n private async checkCouponUseAndLimit(coupon: Coupon, userEmail: string, checkout) {\r\n const orders = await this.orderRepository.find({\r\n filters: {\r\n coupon: { id: coupon.id },\r\n payment: { status: 'paid' },\r\n },\r\n })\r\n\r\n // orders que usuario ja fez com o cupom\r\n const ordersUserCoupon = orders.data.filter((o) => o.user.email == userEmail)\r\n\r\n // Verifica o limite de uso de cupom por usuario\r\n if (coupon.useLimitPerUser && ordersUserCoupon.length)\r\n throw new InvalidCouponError('Limite de uso por usuário atingido.')\r\n\r\n // Verifica o limite de uso geral por usuario\r\n if (coupon.useLimit && orders.data.length >= coupon.useLimit)\r\n throw new InvalidCouponError('Limite de uso atingido.')\r\n\r\n const validUser = await this.userValidationAndSubscriptionStatus(coupon, userEmail)\r\n if (!validUser) throw new InvalidCouponError('Usuário não elegível.')\r\n\r\n const hasProductCategories = await this.hasProductCategories(coupon, checkout)\r\n\r\n if (!hasProductCategories) throw 'Seu carrinho não possui produtos elegíveis para desconto.'\r\n \r\n return coupon\r\n }\r\n\r\n public calcDiscountSubscription(coupon: Coupon, checkout: Partial<CheckoutSubscription>): Observable<number> {\r\n //\r\n let discount = 0\r\n\r\n if (coupon.type === CouponTypes.ABSOLUTE) discount = coupon.discount\r\n else if (coupon.type === CouponTypes.PERCENTAGE)\r\n discount = checkout.subscriptionPlan.recurrencePrice * (coupon.discount / 100)\r\n\r\n return of(discount)\r\n }\r\n\r\n public async calcDiscountShopping(coupon: Coupon, checkout: Partial<Checkout>): Promise<number> {\r\n let discount = 0\r\n\r\n switch (coupon.type) {\r\n case CouponTypes.ABSOLUTE: {\r\n discount = coupon.discount\r\n break\r\n }\r\n case CouponTypes.PERCENTAGE: {\r\n discount = await this.calcShoppingPercentageDiscount(coupon, checkout)\r\n break\r\n }\r\n }\r\n\r\n return discount\r\n }\r\n\r\n private async calcShoppingPercentageDiscount(coupon: Coupon, checkout: Partial<Checkout>): Promise<number> {\r\n let discount = 0\r\n const shop = checkout.shop\r\n let lineItensDiscount = []\r\n const couponCategories = await this.getCouponCategoriesId(coupon)\r\n\r\n if (coupon.productsCategories && coupon.productsCategories.length) {\r\n lineItensDiscount = checkout.lineItems?.filter((i) => {\r\n if (i.categories?.length) {\r\n return i.categories.some((c) => couponCategories.some(cat => (cat.id == c || cat.firestoreId == c)))\r\n }\r\n return true\r\n })\r\n } else {\r\n lineItensDiscount = checkout.lineItems\r\n }\r\n\r\n const subTotal =\r\n lineItensDiscount.reduce(\r\n (acc, curr: LineItem) =>\r\n checkout.user?.isSubscriber && curr.price[shop]?.subscriberPrice\r\n ? acc + curr.price[shop]?.subscriberPrice * curr.quantity\r\n : acc + curr.pricePaid * curr.quantity,\r\n 0,\r\n ) || 0\r\n\r\n discount = subTotal * (coupon.discount / 100)\r\n\r\n return discount\r\n }\r\n\r\n private hasMinSubTotal(coupon: Coupon, checkout: Partial<Checkout>): boolean {\r\n if (!coupon.minSubTotalValue) return true\r\n\r\n const shop = checkout.shop\r\n\r\n let subTotal =\r\n checkout.lineItems?.reduce(\r\n (acc, curr) =>\r\n checkout.user?.isSubscriber && curr.price[shop]?.subscriberPrice\r\n ? acc + curr.price[shop]?.subscriberPrice * curr.quantity\r\n : acc + curr.pricePaid * curr.quantity,\r\n 0,\r\n ) || 0\r\n\r\n if (coupon.minSubTotalValue <= subTotal) return true\r\n return false\r\n }\r\n\r\n private async hasProductCategories(coupon: Coupon, checkout: Partial<Checkout>): Promise<boolean> {\r\n if (!coupon.productsCategories || !coupon.productsCategories.length) {\r\n return true\r\n }\r\n\r\n const couponCategories = await this.getCouponCategoriesId(coupon)\r\n \r\n const hasCategories = checkout.lineItems?.filter(i => {\r\n if (!i.categories || !i.categories?.length) return true\r\n return i.categories.some((c) => couponCategories.some(cat => (cat.id == c || cat.firestoreId == c)))\r\n })\r\n\r\n return hasCategories.length ? true : false\r\n }\r\n\r\n private async userValidationAndSubscriptionStatus(coupon: Coupon, userEmail: string): Promise<boolean> {\r\n // Verifica se o email do usuário é coorporativo\r\n if (!this.emailIsFromCollaborator(userEmail) && coupon.exclusivityType === Exclusivities.COLLABORATORS)\r\n throw new InvalidCouponError('Você não é colaborador.')\r\n\r\n // Verifica se o email do usuário é associado ao cupom de uso por usuario\r\n if (coupon.exclusivityType === Exclusivities.SPECIFIC_USER && coupon.userExclusiveEmail !== userEmail)\r\n throw new InvalidCouponError('Cupom não é válido para este usuário.')\r\n\r\n const couponRuleSubscription =\r\n coupon.exclusivityType === Exclusivities.ACTIVE_SUBSCRIBER ||\r\n coupon.exclusivityType === Exclusivities.INACTIVE_SUBSCRIBER ||\r\n coupon.exclusivityType === Exclusivities.NON_SUBSCRIBER\r\n\r\n if (couponRuleSubscription && userEmail) {\r\n const sub = await this.subscriptionRepository\r\n .find({\r\n filters: {\r\n user: {\r\n email: { operator: Where.EQUALS, value: userEmail },\r\n },\r\n },\r\n })\r\n .then((sub) => sub.data)\r\n\r\n const activeSubs = sub?.filter((s) => s.status === Status.ACTIVE)\r\n\r\n switch (coupon.exclusivityType) {\r\n case Exclusivities.ACTIVE_SUBSCRIBER:\r\n return activeSubs.length > 0\r\n case Exclusivities.INACTIVE_SUBSCRIBER:\r\n return activeSubs.length === 0\r\n case Exclusivities.NON_SUBSCRIBER:\r\n return sub.length === 0\r\n default:\r\n return false\r\n }\r\n }\r\n\r\n return true\r\n }\r\n\r\n private async getCouponCategoriesId(coupon: Coupon) {\r\n let couponCategories: { id: string, firestoreId: string }[] = []\r\n\r\n for (let index = 0; index < coupon.productsCategories.length; index++) {\r\n let c: Category & { firestoreId?: string } = await this.categoryRepository.get({ id: coupon.productsCategories[index] }) \r\n couponCategories.push({ id: c.id, firestoreId: c.firestoreId})\r\n }\r\n \r\n return couponCategories\r\n }\r\n\r\n private separateValidCoupons = (\r\n coupons: Coupon[],\r\n userEmail: string,\r\n ): { valids: Coupon[]; invalids: InvalidCouponError[] } =>\r\n coupons\r\n .map((coupon) => {\r\n try {\r\n if (!(coupon instanceof Coupon)) throw new InvalidCouponError('Cupom inválido.')\r\n if (this.isValidCoupon(coupon, userEmail)) return coupon\r\n } catch (error) {\r\n return error as InvalidCouponError\r\n }\r\n })\r\n .reduce(\r\n (current, coupon) => ({\r\n ...current,\r\n ...(coupon instanceof Coupon\r\n ? { valids: [...current.valids, coupon] }\r\n : { invalids: [...current.invalids, coupon] }),\r\n }),\r\n {\r\n valids: [] as Coupon[],\r\n invalids: [] as InvalidCouponError[],\r\n },\r\n )\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport {\r\n Checkout,\r\n CheckoutRepository,\r\n CheckoutTypes,\r\n Coupon,\r\n isNil,\r\n NotFoundError,\r\n OrderRepository,\r\n pick,\r\n Shops,\r\n User,\r\n UserRepository\r\n} from '@infrab4a/connect'\r\nimport cookie from 'js-cookie'\r\nimport { from, Observable, of, throwError } from 'rxjs'\r\nimport { concatMap } from 'rxjs/operators'\r\n\r\nimport { DEFAULT_SHOP } from '../consts'\r\n\r\nimport { CouponService } from './coupon.service'\r\nimport { RequiredCheckoutData } from './types'\r\n\r\n@Injectable()\r\nexport class CheckoutService {\r\n constructor(\r\n private readonly couponService: CouponService,\r\n @Inject('CheckoutRepository') private readonly checkoutRepository: CheckoutRepository,\r\n @Inject('OrderRepository') private readonly orderRepository: OrderRepository,\r\n @Inject('UserRepository') private readonly userRepository: UserRepository,\r\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\r\n ) {}\r\n\r\n getCheckout(checkoutData?: RequiredCheckoutData): Observable<Checkout> {\r\n const checkoutId = cookie.get('checkoutId')\r\n\r\n if (!isNil(checkoutId)) return from(this.checkoutRepository.get({ id: checkoutId }))\r\n\r\n return from(this.createCheckout(checkoutData))\r\n }\r\n\r\n getUserByCheckout(checkoutId: string): Observable<User> {\r\n return from(this.checkoutRepository.get({ id: checkoutId })).pipe(\r\n concatMap((checkout) =>\r\n checkout?.user?.id ? of(checkout.user) : from(this.userRepository.get({ id: checkout.user.id })),\r\n ),\r\n concatMap((user) => of(user) || throwError(() => new NotFoundError('User is not found'))),\r\n )\r\n }\r\n\r\n updateCheckoutLineItems(checkout: Partial<Checkout>): Observable<Checkout> {\r\n return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, lineItems: checkout.lineItems })))\r\n }\r\n\r\n updateCheckoutUser(checkout: Partial<Checkout>): Observable<Checkout> {\r\n return from(this.checkoutRepository.update(Checkout.toInstance({ id: checkout.id, user: checkout.user })))\r\n }\r\n\r\n clearCheckoutFromSession(): Observable<void> {\r\n cookie.remove('checkoutId')\r\n\r\n return of()\r\n }\r\n\r\n calcDiscount(coupon: Coupon) {\r\n return this.getCheckout().pipe(\r\n concatMap(async (checkout) => await this.couponService.calcDiscountShopping(coupon, checkout)),\r\n )\r\n }\r\n\r\n checkCoupon(nickname: string, checkoutType: CheckoutTypes): Observable<Coupon> {\r\n return this.getCheckout().pipe(\r\n concatMap((checkout) =>\r\n this.couponService\r\n .checkCoupon(\r\n nickname,\r\n checkout.user?.email,\r\n CheckoutTypes.ECOMMERCE,\r\n checkout.user.subscriptionPlan,\r\n checkout,\r\n false\r\n )\r\n .pipe(),\r\n ),\r\n )\r\n }\r\n\r\n private async createCheckout(checkoutData?: RequiredCheckoutData): Promise<Checkout> {\r\n const checkout = await this.checkoutRepository.create({\r\n createdAt: new Date(),\r\n ...Checkout.toInstance(pick(checkoutData, ['user', 'shop'])).toPlain(),\r\n shop: checkoutData?.shop || this.defaultShop,\r\n })\r\n\r\n cookie.set('checkoutId', checkout.id)\r\n\r\n return checkout\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Checkout, isNil, LineItem, ProductRepository, Shops, User } from '@infrab4a/connect'\r\nimport { from, iif, Observable, of, Subject } from 'rxjs'\r\nimport { catchError, concatMap, map, mergeMap, tap } from 'rxjs/operators'\r\n\r\nimport { DEFAULT_SHOP } from '../consts'\r\n\r\nimport { AuthService } from './auth.service'\r\nimport { CheckoutService } from './checkout.service'\r\nimport { RequiredCheckoutData } from './types'\r\n\r\nexport type Cart = {\r\n [id: string]: LineItem\r\n}\r\n\r\n@Injectable()\r\nexport class CartService {\r\n private cartSubject: Subject<Cart> = new Subject()\r\n\r\n constructor(\r\n private readonly authService: AuthService,\r\n private readonly checkoutService: CheckoutService,\r\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\r\n @Inject('ProductRepository') private readonly productRepository: ProductRepository,\r\n ) {}\r\n\r\n addItem(item: LineItem, quantity: number = 1): Observable<Cart> {\r\n return from(this.checkoutService.getCheckout()).pipe(\r\n concatMap(async (checkout) => await this.buildLineItem({ checkout, item, quantity: quantity || 1 })),\r\n mergeMap(({ checkout, lineItem }) => this.updateLineItemInCart(lineItem, quantity || 1, checkout as Checkout)),\r\n tap((cart) => this.cartSubject.next(cart)),\r\n )\r\n }\r\n\r\n decreaseItem(item: LineItem): Observable<Cart> {\r\n return this.checkoutService.getCheckout().pipe(\r\n map((checkout) => {\r\n const checkoutItem = checkout.lineItems?.find((lineItem) => lineItem.sku === item.sku)\r\n\r\n if (!isNil(checkoutItem)) checkoutItem.quantity -= checkoutItem.quantity > 1 ? 1 : 0\r\n\r\n return checkout\r\n }),\r\n concatMap((checkout) => this.checkoutService.updateCheckoutLineItems(checkout)),\r\n map((checkout) => this.generateCartObject(checkout.lineItems)),\r\n tap((cart) => this.cartSubject.next(cart)),\r\n )\r\n }\r\n\r\n getCart(checkout?: RequiredCheckoutData): Observable<Cart> {\r\n this.buildCartFromCheckout(checkout).subscribe((cart) => this.cartSubject.next(cart))\r\n\r\n return this.cartSubject\r\n }\r\n\r\n /**\r\n * @deprecated The method should not be used\r\n */\r\n getVariantPriceDiscount(item: LineItem): Observable<number> {\r\n return this.authService.getUser().pipe(\r\n concatMap((user) =>\r\n iif(\r\n () => user.isSubscriber && !!item.price.subscriberPrice,\r\n of(item.price.subscriberPrice),\r\n of(item.price.price),\r\n ),\r\n ),\r\n catchError(() => of(item.price.price)),\r\n )\r\n }\r\n\r\n removeItem(item: LineItem): Observable<Cart> {\r\n return this.checkoutService.getCheckout().pipe(\r\n map((checkout) => {\r\n const index = checkout.lineItems.findIndex((lineItem) => lineItem.sku === item.sku)\r\n\r\n if (index >= 0) checkout.lineItems.splice(index, 1)\r\n\r\n return checkout\r\n }),\r\n concatMap((checkout) => this.checkoutService.updateCheckoutLineItems(checkout)),\r\n map((checkout) => this.generateCartObject(checkout.lineItems)),\r\n tap((cart) => this.cartSubject.next(cart)),\r\n )\r\n }\r\n\r\n updateUserCart(user: User): Observable<Cart> {\r\n return this.checkoutService.getCheckout().pipe(\r\n concatMap((checkout) =>\r\n this.checkoutService.updateCheckoutUser(Checkout.toInstance({ ...checkout.toPlain(), user })),\r\n ),\r\n concatMap(async (checkout) => this.checkoutService.updateCheckoutLineItems(\r\n Checkout.toInstance({\r\n ...checkout.toPlain(),\r\n lineItems: checkout.lineItems?.length ? await Promise.all(\r\n checkout.lineItems?.map(async (item) => (await this.buildLineItem({ checkout, item })).lineItem)\r\n ) : [],\r\n }),\r\n ).toPromise()\r\n ),\r\n map(checkout => this.generateCartObject(checkout.lineItems)),\r\n tap((cart) => this.cartSubject.next(cart))\r\n )\r\n }\r\n\r\n clearCart(): Observable<Cart> {\r\n return this.checkoutService.getCheckout().pipe(\r\n map((checkout) => {\r\n this.checkoutService.clearCheckoutFromSession()\r\n return checkout\r\n }),\r\n concatMap((oldCheckout) => this.buildCartFromCheckout(oldCheckout)),\r\n tap((cart) => this.cartSubject.next(cart)),\r\n )\r\n }\r\n\r\n private buildCartFromCheckout(checkoutData?: RequiredCheckoutData): Observable<Cart> {\r\n return this.checkoutService.getCheckout(checkoutData).pipe(\r\n map((checkout) => checkout.lineItems),\r\n concatMap((lineItems) => of(this.generateCartObject(lineItems))),\r\n )\r\n }\r\n\r\n private updateLineItemInCart = (lineItem: LineItem, quantity: number, checkout?: Checkout): Observable<Cart> =>\r\n (isNil(checkout) ? this.checkoutService.getCheckout() : of(checkout)).pipe(\r\n concatMap((checkoutLoaded) => {\r\n const items: LineItem[] = []\r\n const index = checkoutLoaded.lineItems?.map((checkoutItem) => checkoutItem.sku).indexOf(lineItem.sku)\r\n\r\n if (index > -1) {\r\n checkoutLoaded.lineItems[index].quantity += quantity\r\n checkoutLoaded.lineItems[index].pricePaid = lineItem.pricePaid\r\n } else\r\n checkoutLoaded.lineItems = items.concat(\r\n checkoutLoaded.lineItems ? checkoutLoaded.lineItems.concat([lineItem]) : [lineItem],\r\n )\r\n\r\n return this.checkoutService\r\n .updateCheckoutLineItems(checkoutLoaded)\r\n .pipe(map((updatedCheckout) => this.generateCartObject(updatedCheckout.lineItems)))\r\n }),\r\n )\r\n\r\n private generateCartObject = (items: LineItem[]): Cart => {\r\n const cart: Cart = {}\r\n\r\n items?.forEach(\r\n (item) =>\r\n (cart[item.sku] = LineItem.toInstance({\r\n ...(cart[item.sku] || item),\r\n quantity: (cart[item.sku]?.quantity || 0) + (item.quantity ? item.quantity : 1),\r\n })),\r\n )\r\n\r\n return cart\r\n }\r\n\r\n private buildLineItem = async ({\r\n checkout,\r\n item,\r\n quantity,\r\n }: {\r\n checkout: RequiredCheckoutData\r\n item: LineItem\r\n quantity?: number\r\n }): Promise<{checkout: Partial<Checkout>, lineItem: LineItem}> => {\r\n \r\n const product = await this.productRepository.get({ id: item.id })\r\n\r\n item.quantity = item?.quantity || checkout?.lineItems?.find((lineItem) => lineItem.sku === item.sku)?.quantity || 0\r\n\r\n if (this.checkMaxStock(item, quantity || 0))\r\n throw new Error('Desculpe! Temos apenas ' + item.stock?.quantity + ' em estoque.')\r\n\r\n const image = item.image || item.images?.shift()\r\n const { id, name, EAN, brand, slug, stock, price, weight, categories, sku, type } = item\r\n const isGift = item.isGift || null\r\n const pricePaid = this.getProductPrice({\r\n product: item,\r\n shop: checkout.shop || this.defaultShop,\r\n isSubscriber: checkout.user?.isSubscriber,\r\n })\r\n\r\n return {\r\n checkout,\r\n lineItem: LineItem.toInstance({\r\n id,\r\n name: name ?? product.name,\r\n EAN: EAN ?? product.EAN,\r\n brand: product.brand,\r\n slug: slug ?? product.slug,\r\n sku: sku ?? product.sku,\r\n stock,\r\n price,\r\n image,\r\n weight: weight ?? product.weight,\r\n quantity: (item.quantity || 0) + (quantity || 0),\r\n pricePaid,\r\n categories: product.categories ?? [],\r\n isGift: isGift ?? null,\r\n costPrice: product.costPrice ?? 0,\r\n type,\r\n }),\r\n }\r\n }\r\n\r\n private getProductPrice = ({\r\n product,\r\n isSubscriber,\r\n }: {\r\n product: LineItem\r\n shop: Shops\r\n isSubscriber: boolean\r\n }): number => {\r\n const info = product.price\r\n\r\n if (product.isGift) return 0\r\n\r\n return isSubscriber && info.subscriberPrice > 0 ? info.subscriberPrice : info.price\r\n }\r\n\r\n private checkMaxStock = (item: LineItem, quantity: number) => {\r\n const maxStock = item.stock?.quantity || 0\r\n const currentItemAmount = item.quantity || 0\r\n\r\n return currentItemAmount + quantity > maxStock\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport {\r\n CheckoutSubscription,\r\n CheckoutSubscriptionRepository,\r\n CheckoutTypes,\r\n Coupon,\r\n isNil,\r\n pick,\r\n SubscriptionRepository\r\n} from '@infrab4a/connect'\r\nimport cookie from 'js-cookie'\r\nimport { from, Observable, of } from 'rxjs'\r\nimport { concatMap } from 'rxjs/operators'\r\nimport { RequiredCheckoutSubscriptionData } from './types'\r\n\r\nimport { CouponService } from './coupon.service'\r\n\r\n@Injectable()\r\nexport class CheckoutSubscriptionService {\r\n constructor(\r\n @Inject('CheckoutSubscriptionRepository')\r\n private readonly checkoutSubscriptionRepository: CheckoutSubscriptionRepository,\r\n @Inject('SubscriptionRepository') private readonly subscriptionRepository: SubscriptionRepository,\r\n private readonly couponService: CouponService,\r\n ) { }\r\n\r\n getCheckoutSubscription(checkoutData?: RequiredCheckoutSubscriptionData): Observable<CheckoutSubscription> {\r\n const checkoutId = cookie.get('checkoutSubscriptionId')\r\n\r\n if (!isNil(checkoutId)) return from(this.checkoutSubscriptionRepository.get({ id: checkoutId }))\r\n\r\n return from(this.createCheckoutSubscription(checkoutData))\r\n }\r\n\r\n private async createCheckoutSubscription(\r\n checkoutData?: RequiredCheckoutSubscriptionData,\r\n ): Promise<CheckoutSubscription> {\r\n const checkout = await this.checkoutSubscriptionRepository.create({\r\n createdAt: new Date(),\r\n ...CheckoutSubscription.toInstance(pick(checkoutData, ['user', 'shop'])).toPlain(),\r\n })\r\n\r\n cookie.set('checkoutSubscriptionId', checkout.id)\r\n\r\n return checkout\r\n }\r\n\r\n clearCheckoutSubscriptionFromSession(): Observable<void> {\r\n cookie.remove('checkoutSubscriptionId')\r\n\r\n return of()\r\n }\r\n\r\n checkCoupon(nickname: string, userEmail: string): Observable<Coupon> {\r\n return this.getCheckoutSubscription().pipe(\r\n concatMap((checkout) =>\r\n this.couponService.checkCoupon(nickname, userEmail, CheckoutTypes.SUBSCRIPTION, checkout.subscriptionPlan.name, null, true).pipe()\r\n ),\r\n )\r\n }\r\n\r\n calcDiscountSubscription(coupon: Coupon) {\r\n return this.getCheckoutSubscription().pipe(\r\n concatMap((checkout) =>\r\n this.couponService.calcDiscountSubscription(coupon, checkout).pipe(),\r\n ),\r\n )\r\n }\r\n\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport {\r\n add,\r\n Banner,\r\n Category,\r\n CategoryRepository,\r\n Home,\r\n HomeCategoryGroup,\r\n HomeData,\r\n HomeRepository,\r\n pick,\r\n Product,\r\n ProductRepository,\r\n RequiredArgumentError,\r\n Shops,\r\n Where,\r\n} from '@infrab4a/connect'\r\nimport { forkJoin, from, Observable, of, throwError } from 'rxjs'\r\nimport { concatMap, map, tap } from 'rxjs/operators'\r\n\r\nimport { DEFAULT_SHOP } from '../consts'\r\n\r\ntype HomeConfigurationId = 'glamshop' | 'mens_market'\r\ntype BannerType = 'brand' | 'buyToWin' | 'block' | 'blog'\r\n\r\n@Injectable()\r\nexport class HomeShopService {\r\n private homeConfiguration: Home\r\n\r\n private get homeId(): HomeConfigurationId {\r\n if (this.defaultShop === Shops.GLAMSHOP) return 'glamshop'\r\n if (this.defaultShop === Shops.MENSMARKET) return 'mens_market'\r\n\r\n return null\r\n }\r\n\r\n constructor(\r\n @Inject('CategoryRepository') private readonly categoryRepository: CategoryRepository,\r\n @Inject('HomeRepository') private readonly homeRepository: HomeRepository,\r\n @Inject('ProductRepository') private readonly productRepository: ProductRepository,\r\n @Inject(DEFAULT_SHOP) private readonly defaultShop: Shops,\r\n ) {}\r\n\r\n getHomeData(): Observable<Home> {\r\n return this.getHomeConfiguration().pipe(\r\n map((home) => (home?.data?.expiresAt > new Date() ? home : null)),\r\n concatMap((home) =>\r\n home\r\n ? of(home)\r\n : forkJoin([this.getDiscoverProducts(), this.getFeaturedProducts(), this.getVerticalProducts()]).pipe(\r\n map(([discoverProducts, featuredProducts, verticalProducts]) => ({\r\n discoverProducts,\r\n featuredProducts,\r\n verticalProducts,\r\n })),\r\n concatMap((data) => this.saveHomeData(data)),\r\n ),\r\n ),\r\n )\r\n }\r\n\r\n getBanners(type: BannerType): Observable<Banner[]> {\r\n return this.getHomeConfiguration().pipe(\r\n map((home) => {\r\n if (type === 'brand') return home.brandsCarousel\r\n if (type === 'buyToWin') return [home.buyToWinBanner]\r\n if (type === 'block') return home.blockBanners\r\n if (type === 'blog') return [home.blogBanner]\r\n }),\r\n )\r\n }\r\n\r\n getMinValueForFreeShipping(): Observable<number> {\r\n return this.getHomeConfiguration().pipe(map((home) => home.minValueForFreeShipping))\r\n }\r\n\r\n private getDiscoverProducts(): Observable<{ category: Category; products: Product[] }[]> {\r\n return this.getHomeConfiguration().pipe(\r\n concatMap((home) =>\r\n from(this.categoryRepository.getCategoriesForHome(home.discoverCategories)).pipe(\r\n map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)),\r\n ),\r\n ),\r\n )\r\n }\r\n\r\n private getFeaturedProducts(): Observable<{ category: Category; products: Product[] }[]> {\r\n return this.getHomeConfiguration().pipe(\r\n concatMap((home) =>\r\n from(this.categoryRepository.getCategoriesForHome(home.featuredCategories)).pipe(\r\n map((groups) => groups.map(this.buildCategoryGroupWithRequiredData)),\r\n ),\r\n ),\r\n )\r\n }\r\n\r\n private getVerticalProducts(): Observable<{ category: Category; products: Product[] }[]> {\r\n return this.getHomeConfiguration().pipe(\r\n concatMap((home) =>\r\n forkJoin(\r\n home.verticalCarousels.filter(Boolean).map((id) =>\r\n from(this.categoryRepository.get({ id })).pipe(\r\n concatMap((category) =>\r\n from(\r\n this.productRepository.find({\r\n filters: { categories: { operator: Where.IN, value: [category.id] } },\r\n limits: { limit: 12 },\r\n }),\r\n ).pipe(map((products) => ({ category, products }))),\r\n ),\r\n map(({ category, products }) => ({ category, products: products.data })),\r\n map(this.buildCategoryGroupWithRequiredData),\r\n ),\r\n ),\r\n ),\r\n ),\r\n )\r\n }\r\n\r\n private getHomeConfiguration(): Observable<Home> {\r\n return of(this.homeConfiguration).pipe(\r\n concatMap((home) =>\r\n home\r\n ? of(home)\r\n : !this.homeId\r\n ? throwError(new RequiredArgumentError(['homeId']))\r\n : from(this.homeRepository.get({ id: this.homeId })).pipe(\r\n tap((homeLoaded) => (this.homeConfiguration = homeLoaded)),\r\n ),\r\n ),\r\n )\r\n }\r\n\r\n private saveHomeData(homeData: HomeData): Observable<Home> {\r\n const data = {\r\n createdAt: new Date(),\r\n expiresAt: add(new Date(), { hours: 1 }),\r\n data: homeData,\r\n }\r\n\r\n return from(\r\n this.homeRepository.update({\r\n id: this.homeId,\r\n data,\r\n }),\r\n ).pipe(\r\n tap(() => (this.homeConfiguration.data = data)),\r\n map(() => this.homeConfiguration),\r\n )\r\n }\r\n\r\n private buildCategoryGroupWithRequiredData = (group: HomeCategoryGroup): HomeCategoryGroup => ({\r\n category: Category.toInstance(pick(group?.category?.toPlain() || {}, ['id', 'name', 'slug', 'conditions'])),\r\n products:\r\n group?.products?.map((product) =>\r\n Product.toInstance(\r\n pick(product?.toPlain() || {}, [\r\n 'id',\r\n 'price',\r\n 'reviews',\r\n 'hasVariants',\r\n 'slug',\r\n 'sku',\r\n 'stock',\r\n 'costPrice',\r\n 'images',\r\n 'miniatures',\r\n 'name',\r\n 'weight',\r\n 'rate',\r\n 'type',\r\n ]),\r\n ),\r\n ) || [],\r\n })\r\n}\r\n","import { Injectable, Inject } from '@angular/core'\r\nimport { AngularFirestore, QueryDocumentSnapshot } from '@angular/fire/firestore'\r\nimport { Order, OrderFirestoreRepository } from '@infrab4a/connect'\r\nimport { from, Observable, Subject } from 'rxjs'\r\nimport { map, mergeMap, tap } from 'rxjs/operators'\r\n\r\n@Injectable()\r\nexport class OrderService {\r\n orderSubject = new Subject<Order>()\r\n\r\n constructor(\r\n private readonly angularFirestore: AngularFirestore,\r\n @Inject('OrderRepository') private readonly orderRepository: OrderFirestoreRepository,\r\n ) {}\r\n\r\n getOrder(id: string): Subject<Order> {\r\n this.angularFirestore\r\n .doc<QueryDocumentSnapshot<Order>>(`${this.orderRepository.collectionName}/${id}`)\r\n .valueChanges()\r\n .pipe(map((doc) => Order.toInstance(doc)))\r\n .subscribe((doc) => this.orderSubject.next(doc))\r\n\r\n return this.orderSubject\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http'\r\nimport { Inject, Injectable } from '@angular/core'\r\nimport { Home, Shops } from '@infrab4a/connect'\r\nimport { combineLatest, Observable } from 'rxjs'\r\nimport { map } from 'rxjs/operators'\r\n\r\nimport { BACKEND_URL } from '../consts'\r\nimport { HomeShopService } from './home-shop.service'\r\nimport { ShippingMethodResponse } from './types/shipping-methods.type'\r\n\r\n@Injectable()\r\nexport class ShippingService {\r\n constructor(\r\n private http: HttpClient,\r\n @Inject(BACKEND_URL) private apiUrl: string,\r\n private homeService: HomeShopService,\r\n ) {}\r\n\r\n public getShippingMethods(\r\n shop: string,\r\n zip: string,\r\n weightGrams: number,\r\n totalPrice: number,\r\n personId: string,\r\n subscriptionPlan?: string,\r\n ): Observable<Array<ShippingMethodResponse & { ShippingCompanyName?: string }>> {\r\n return combineLatest([\r\n this.homeService.getHomeData(),\r\n this.http.get(\r\n `${this.apiUrl}open/checkshippingcompany?personId=${personId}&postalCode=${zip}&weightGrams=${weightGrams}`,\r\n ),\r\n ]).pipe(\r\n map(([datas, shippingMethodsResponse]: [Home & { sameDayNotAvaliable }, any]) => {\r\n let shippingMethods = shippingMethodsResponse.result as (ShippingMethodResponse & {\r\n ShippingCompanyName?: string\r\n })[]\r\n\r\n if (!shippingMethods.length) return []\r\n\r\n shippingMethods = shippingMethods.map((s) => {\r\n if (s.ShippingCompanyName == 'Same Day EG') s.ShippingCompanyName = 'Same Day'\r\n else return s\r\n })\r\n\r\n const datasSameDayNotAvaliable = datas.sameDayNotAvaliable\r\n\r\n if (this.isHolidays(datasSameDayNotAvaliable)) {\r\n shippingMethods = shippingMethods.filter((method) => method.ShippingCompanyName !== 'Same Day')\r\n }\r\n\r\n if (totalPrice >= 200) {\r\n shippingMethods = shippingMethods.map((s) => {\r\n if (s.serviceName !== 'Same Day') return { ...s, totalPrice: 0 }\r\n else return s\r\n })\r\n }\r\n\r\n if (shop == Shops.GLAMSHOP) return shippingMethods\r\n\r\n if (this.isFreeShippingBySubscription(shop, subscriptionPlan)) {\r\n shippingMethods = shippingMethods.map((s) => {\r\n if (s.serviceName == 'Same Day') return { ...s, totalPrice: s.totalPrice / 2 }\r\n else return { ...s, totalPrice: 0 }\r\n })\r\n }\r\n\r\n if (this.isHalfShippingBySubscription(shop, subscriptionPlan)) {\r\n shippingMethods = shippingMethods.map((s) => {\r\n return { ...s, totalPrice: s.totalPrice / 2 }\r\n })\r\n }\r\n\r\n return shippingMethods\r\n }),\r\n )\r\n }\r\n\r\n private isFreeShippingBySubscription(shop: string, subscriptionPlan: string): boolean {\r\n if (!subscriptionPlan) return false\r\n\r\n if (shop == Shops.MENSMARKET && subscriptionPlan == 'SELECT') {\r\n return true\r\n }\r\n\r\n return false\r\n }\r\n\r\n private isHalfShippingBySubscription(shop: string, subscriptionPlan: string) {\r\n if (!subscriptionPlan) return false\r\n\r\n if (shop == Shops.MENSMARKET && subscriptionPlan == 'PRIME') {\r\n return true\r\n }\r\n\r\n return false\r\n }\r\n\r\n private isHolidays(datas: any): boolean {\r\n const today = new Date()\r\n\r\n for (const key in datas) {\r\n let start = new Date(`${today.getFullYear()}-${datas[key].beginDate}`)\r\n let end = new Date(`${today.getFullYear()}-${datas[key].endDate}`)\r\n\r\n if (start > end) end = new Date(`${today.getFullYear() + 1}-${datas[key].endDate}`)\r\n\r\n if (today >= start && today <= end) return true\r\n }\r\n\r\n return false\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport {\r\n AngularFireModule,\r\n FIREBASE_APP_NAME,\r\n FIREBASE_OPTIONS,\r\n FirebaseAppConfig,\r\n FirebaseOptions,\r\n} from '@angular/fire'\r\nimport { AngularFireAuth } from '@angular/fire/auth'\r\nimport {\r\n Authentication,\r\n AuthenticationFirebaseAuthService,\r\n AuthenticationService,\r\n Register,\r\n RegisterService,\r\n RegisterFirebaseAuthService,\r\n SignOut,\r\n UserRepository,\r\n RecoveryPassword,\r\n} from '@infrab4a/connect'\r\n\r\n@NgModule({\r\n imports: [AngularFireModule],\r\n providers: [\r\n {\r\n provide: 'Authentication',\r\n useFactory: (authenticationService: AuthenticationService, userRepository: UserRepository): Authentication => {\r\n return new Authentication(authenticationService, userRepository)\r\n },\r\n deps: ['AuthenticationService', 'UserRepository'],\r\n },\r\n {\r\n provide: 'AuthenticationService',\r\n useFactory: (angularFireAuth: AngularFireAuth): AuthenticationService => {\r\n return new AuthenticationFirebaseAuthService(angularFireAuth as any)\r\n },\r\n deps: [AngularFireAuth],\r\n },\r\n {\r\n provide: 'Register',\r\n useFactory: (registerService: RegisterService, userRepository: UserRepository): Register => {\r\n return new Register(registerService, userRepository)\r\n },\r\n deps: ['RegisterService', 'UserRepository'],\r\n },\r\n {\r\n provide: 'RegisterService',\r\n useFactory: (angularFireAuth: AngularFireAuth): RegisterService => {\r\n return new RegisterFirebaseAuthService(angularFireAuth as any)\r\n },\r\n deps: [AngularFireAuth],\r\n },\r\n {\r\n provide: 'SignOut',\r\n useFactory: (authenticationService: AuthenticationService): SignOut => {\r\n return new SignOut(authenticationService)\r\n },\r\n deps: ['AuthenticationService'],\r\n },\r\n {\r\n provide: 'RecoveryPassword',\r\n useFactory: (authenticationService: AuthenticationService): RecoveryPassword => {\r\n return new RecoveryPassword(authenticationService)\r\n },\r\n deps: ['AuthenticationService'],\r\n },\r\n ],\r\n})\r\nexport class AngularFirebaseAuthModule {\r\n static initializeApp(\r\n options: FirebaseOptions,\r\n nameOrConfig?: string | FirebaseAppConfig,\r\n ): ModuleWithProviders<AngularFireModule> {\r\n return {\r\n ngModule: AngularFirebaseAuthModule,\r\n providers: [\r\n { provide: FIREBASE_OPTIONS, useValue: options },\r\n { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },\r\n ],\r\n }\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport { AxiosElasticSearchConfig, AxiosAdapter, ProductsIndex } from '@infrab4a/connect'\r\n\r\nimport { ES_CONFIG } from './consts/es-config.const'\r\n\r\n@NgModule({\r\n providers: [\r\n {\r\n provide: ProductsIndex,\r\n useFactory: (configuration: AxiosElasticSearchConfig): ProductsIndex => {\r\n return new ProductsIndex(new AxiosAdapter(configuration))\r\n },\r\n deps: [ES_CONFIG],\r\n },\r\n ],\r\n})\r\nexport class AngularElasticSeachModule {\r\n static initializeApp(options: AxiosElasticSearchConfig): ModuleWithProviders<AngularElasticSeachModule> {\r\n return {\r\n ngModule: AngularElasticSeachModule,\r\n providers: [{ provide: ES_CONFIG, useValue: options }],\r\n }\r\n }\r\n}\r\n","import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core'\r\nimport {\r\n AngularFireModule,\r\n FirebaseAppConfig,\r\n FirebaseOptions,\r\n FIREBASE_APP_NAME,\r\n FIREBASE_OPTIONS\r\n} from '@angular/fire'\r\nimport { AngularFirestore } from '@angular/fire/firestore'\r\nimport {\r\n AxiosElasticSearchConfig,\r\n BeautyProfileRepository,\r\n Buy2WinFirestoreRepository,\r\n Buy2WinRepository,\r\n CampaignDashboardFirestoreRepository,\r\n CampaignDashboardRepository,\r\n CampaignHashtagFirestoreRepository,\r\n CampaignHashtagRepository,\r\n CategoryFirestoreRepository,\r\n CategoryRepository,\r\n CheckoutFirestoreRepository,\r\n CheckoutRepository,\r\n CheckoutSubscriptionFirestoreRepository,\r\n CheckoutSubscriptionRepository,\r\n CouponFirestoreRepository,\r\n CouponRepository,\r\n EditionRepository,\r\n HomeFirestoreRepository,\r\n HomeRepository,\r\n LeadFirestoreRepository,\r\n LeadRepository,\r\n LegacyOrderFirestoreRepository,\r\n LegacyOrderRepository,\r\n OrderFirestoreRepository,\r\n OrderRepository,\r\n PaymentFirestoreRepository,\r\n PaymentRepository,\r\n ProductFirestoreRepository,\r\n ProductRepository,\r\n ProductVariantFirestoreRepository,\r\n ShopMenuFirestoreRepository,\r\n ShopMenuRepository,\r\n SubscriptionEditionFirestoreRepository,\r\n SubscriptionFirestoreRepository,\r\n SubscriptionPaymentFirestoreRepository,\r\n SubscriptionPaymentRepository,\r\n SubscriptionPlanFirestoreRepository,\r\n SubscriptionPlanRepository,\r\n SubscriptionProductFirestoreRepository,\r\n SubscriptionProductRepository,\r\n SubscriptionRepository,\r\n UserAddressFirestoreRepository,\r\n UserAddressRepository,\r\n UserBeautyProfileFirestoreRepository,\r\n UserFirestoreRepository,\r\n UserPaymentMethodFirestoreRepository,\r\n UserPaymentMethodRepository,\r\n UserRepository,\r\n VariantRepository\r\n} from '@infrab4a/connect'\r\n\r\nimport { AngularElasticSeachModule } from './angular-elastic-search.module'\r\nimport { ES_CONFIG } from './consts/es-config.const'\r\n\r\n@NgModule({\r\n imports: [AngularFireModule, AngularElasticSeachModule],\r\n providers: [\r\n {\r\n provide: 'BeautyProfileRepository',\r\n useFactory: (firestore: AngularFirestore, userRepository: UserFirestoreRepository): BeautyProfileRepository => {\r\n return new UserBeautyProfileFirestoreRepository(firestore.firestore, userRepository)\r\n },\r\n deps: [AngularFirestore, 'UserRepository'],\r\n },\r\n {\r\n provide: 'Buy2WinRepository',\r\n useFactory: (firestore: AngularFirestore): Buy2WinRepository => {\r\n return new Buy2WinFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: CategoryFirestoreRepository,\r\n useFactory: (firestore: AngularFirestore): CategoryRepository => {\r\n return new CategoryFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'CheckoutRepository',\r\n useFactory: (firestore: AngularFirestore): CheckoutRepository => {\r\n return new CheckoutFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'CheckoutSubscriptionRepository',\r\n useFactory: (firestore: AngularFirestore): CheckoutSubscriptionRepository => {\r\n return new CheckoutSubscriptionFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'CouponRepository',\r\n useFactory: (firestore: AngularFirestore): CouponRepository => {\r\n return new CouponFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'CampaignHashtagRepository',\r\n useFactory: (firestore: AngularFirestore): CampaignHashtagRepository => {\r\n return new CampaignHashtagFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'CampaignDashboardRepository',\r\n useFactory: (firestore: AngularFirestore): CampaignDashboardRepository => {\r\n return new CampaignDashboardFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'EditionRepository',\r\n useFactory: (\r\n firestore: AngularFirestore,\r\n subscriptionRepository: SubscriptionFirestoreRepository,\r\n ): EditionRepository => {\r\n return new SubscriptionEditionFirestoreRepository(firestore.firestore, subscriptionRepository)\r\n },\r\n deps: [AngularFirestore, 'SubscriptionRepository'],\r\n },\r\n {\r\n provide: 'HomeRepository',\r\n useFactory: (firestore: AngularFirestore): HomeRepository => {\r\n return new HomeFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'LeadRepository',\r\n useFactory: (firestore: AngularFirestore): LeadRepository => {\r\n return new LeadFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'LegacyOrderRepository',\r\n useFactory: (firestore: AngularFirestore): LegacyOrderRepository => {\r\n return new LegacyOrderFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'ShopMenuRepository',\r\n useFactory: (firestore: AngularFirestore): ShopMenuRepository => {\r\n return new ShopMenuFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'OrderRepository',\r\n useFactory: (firestore: AngularFirestore): OrderRepository => {\r\n return new OrderFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'PaymentRepository',\r\n useFactory: (firestore: AngularFirestore): PaymentRepository => {\r\n return new PaymentFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: ProductFirestoreRepository,\r\n useFactory: (firestore: AngularFirestore): ProductRepository => {\r\n return new ProductFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'SubscriptionPaymentRepository',\r\n useFactory: (\r\n firestore: AngularFirestore,\r\n subscriptionRepository: SubscriptionFirestoreRepository,\r\n ): SubscriptionPaymentRepository => {\r\n return new SubscriptionPaymentFirestoreRepository(firestore.firestore, subscriptionRepository)\r\n },\r\n deps: [AngularFirestore, 'SubscriptionRepository'],\r\n },\r\n {\r\n provide: 'SubscriptionPlanRepository',\r\n useFactory: (firestore: AngularFirestore): SubscriptionPlanRepository => {\r\n return new SubscriptionPlanFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'SubscriptionProductRepository',\r\n useFactory: (firestore: AngularFirestore): SubscriptionProductRepository => {\r\n return new SubscriptionProductFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'SubscriptionRepository',\r\n useFactory: (firestore: AngularFirestore): SubscriptionRepository => {\r\n return new SubscriptionFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'UserRepository',\r\n useFactory: (firestore: AngularFirestore): UserRepository => {\r\n return new UserFirestoreRepository(firestore.firestore)\r\n },\r\n deps: [AngularFirestore],\r\n },\r\n {\r\n provide: 'UserAddressRepository',\r\n useFactory: (firestore: AngularFirestore, userRepository: UserFirestoreRepository): UserAddressRepository => {\r\n return new UserAddressFirestoreRepository(firestore.firestore, userRepository)\r\n },\r\n deps: [AngularFirestore, 'UserRepository'],\r\n },\r\n {\r\n provide: 'UserPaymentMethodRepository',\r\n useFactory: (\r\n firestore: AngularFirestore,\r\n userRepository: UserFirestoreRepository,\r\n ): UserPaymentMethodRepository => {\r\n return new UserPaymentMethodFirestoreRepository(firestore.firestore, userRepository)\r\n },\r\n deps: [AngularFirestore, 'UserRepository'],\r\n },\r\n {\r\n provide: ProductVariantFirestoreRepository,\r\n useFactory: (firestore: AngularFirestore, productRepository: ProductFirestoreRepository): VariantRepository => {\r\n return new ProductVariantFirestoreRepository(firestore.firestore, productRepository)\r\n },\r\n deps: [AngularFirestore, ProductFirestoreRepository],\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: (firestore: AngularFirestore) => () =>\r\n firestore.firestore.settings({ ignoreUndefinedProperties: true }),\r\n deps: [AngularFirestore],\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class AngularFirestoreModule {\r\n static initializeApp(\r\n options: {\r\n firebase: FirebaseOptions\r\n elasticSearch: AxiosElasticSearchConfig\r\n },\r\n nameOrConfig?: string | FirebaseAppConfig,\r\n ): ModuleWithProviders<AngularFireModule> {\r\n return {\r\n ngModule: AngularFirestoreModule,\r\n providers: [\r\n { provide: FIREBASE_OPTIONS, useValue: options.firebase },\r\n { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },\r\n { provide: ES_CONFIG, useValue: options.elasticSearch },\r\n ],\r\n }\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport {\r\n CategoryFilterHasuraGraphQLRepository,\r\n CategoryFilterRepository,\r\n CategoryHasuraGraphQLRepository,\r\n CategoryRepository,\r\n FilterHasuraGraphQLRepository,\r\n FilterOptionHasuraGraphQLRepository,\r\n FilterOptionRepository,\r\n FilterRepository,\r\n HasuraGraphQLAuthOptions,\r\n ProductHasuraGraphQLRepository,\r\n ProductRepository,\r\n VariantHasuraGraphQLRepository,\r\n VariantRepository,\r\n} from '@infrab4a/connect'\r\n\r\nimport { HASURA_OPTIONS } from './consts'\r\n\r\nexport type HasuraGraphQLOptions = { endpoint: string; credentials: HasuraGraphQLAuthOptions }\r\n\r\n@NgModule({\r\n providers: [\r\n {\r\n provide: 'CategoryRepository',\r\n useExisting: CategoryHasuraGraphQLRepository,\r\n },\r\n {\r\n provide: CategoryHasuraGraphQLRepository,\r\n useFactory: (\r\n options: HasuraGraphQLOptions,\r\n productRepository: ProductHasuraGraphQLRepository,\r\n categoryFilterRepository: CategoryFilterHasuraGraphQLRepository,\r\n ): CategoryRepository => {\r\n return new CategoryHasuraGraphQLRepository(\r\n options.endpoint,\r\n options.credentials,\r\n productRepository,\r\n categoryFilterRepository,\r\n )\r\n },\r\n deps: [HASURA_OPTIONS, ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],\r\n },\r\n {\r\n provide: 'ProductRepository',\r\n useExisting: ProductHasuraGraphQLRepository,\r\n },\r\n {\r\n provide: ProductHasuraGraphQLRepository,\r\n useFactory: (options: HasuraGraphQLOptions): ProductRepository => {\r\n return new ProductHasuraGraphQLRepository(options.endpoint, options.credentials)\r\n },\r\n deps: [HASURA_OPTIONS],\r\n },\r\n {\r\n provide: 'VariantRepository',\r\n useExisting: VariantHasuraGraphQLRepository,\r\n },\r\n {\r\n provide: VariantHasuraGraphQLRepository,\r\n useFactory: (options: HasuraGraphQLOptions): VariantRepository => {\r\n return new VariantHasuraGraphQLRepository(options.endpoint, options.credentials)\r\n },\r\n deps: [HASURA_OPTIONS],\r\n },\r\n\r\n {\r\n provide: 'CategoryFilterRepository',\r\n useExisting: CategoryFilterHasuraGraphQLRepository,\r\n },\r\n {\r\n provide: CategoryFilterHasuraGraphQLRepository,\r\n useFactory: (options: HasuraGraphQLOptions): CategoryFilterRepository => {\r\n return new CategoryFilterHasuraGraphQLRepository(options.endpoint, options.credentials)\r\n },\r\n deps: [HASURA_OPTIONS],\r\n },\r\n\r\n {\r\n provide: 'FilterOptionRepository',\r\n useExisting: FilterOptionHasuraGraphQLRepository,\r\n },\r\n {\r\n provide: FilterOptionHasuraGraphQLRepository,\r\n useFactory: (options: HasuraGraphQLOptions): FilterOptionRepository => {\r\n return new FilterOptionHasuraGraphQLRepository(options.endpoint, options.credentials)\r\n },\r\n deps: [HASURA_OPTIONS],\r\n },\r\n {\r\n provide: 'FilterRepository',\r\n useExisting: FilterHasuraGraphQLRepository,\r\n },\r\n {\r\n provide: FilterHasuraGraphQLRepository,\r\n useFactory: (\r\n options: HasuraGraphQLOptions,\r\n filterOptionRepository: FilterOptionHasuraGraphQLRepository,\r\n categoryFilterRepository: CategoryFilterHasuraGraphQLRepository,\r\n ): FilterRepository => {\r\n return new FilterHasuraGraphQLRepository(\r\n options.endpoint,\r\n options.credentials,\r\n filterOptionRepository,\r\n categoryFilterRepository,\r\n )\r\n },\r\n deps: [HASURA_OPTIONS, FilterOptionHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],\r\n },\r\n ],\r\n})\r\nexport class AngularHasuraGraphQLModule {\r\n static initializeApp(options: {\r\n endpoint: string\r\n credentials: HasuraGraphQLAuthOptions\r\n }): ModuleWithProviders<AngularHasuraGraphQLModule> {\r\n return {\r\n ngModule: AngularHasuraGraphQLModule,\r\n providers: [{ provide: HASURA_OPTIONS, useValue: options }],\r\n }\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core'\r\nimport {\r\n AngularFireModule,\r\n FirebaseAppConfig,\r\n FirebaseOptions,\r\n FIREBASE_APP_NAME,\r\n FIREBASE_OPTIONS,\r\n} from '@angular/fire'\r\nimport { AxiosElasticSearchConfig, isNil, Shops } from '@infrab4a/connect'\r\n\r\nimport { AngularFirestoreModule } from './angular-firestore.module'\r\nimport { AngularHasuraGraphQLModule, HasuraGraphQLOptions } from './angular-hasura-graphql.module'\r\nimport { BACKEND_URL, DEFAULT_SHOP, ES_CONFIG, HASURA_OPTIONS } from './consts'\r\nimport {\r\n AuthService,\r\n CartService,\r\n CheckoutService,\r\n CheckoutSubscriptionService,\r\n CouponService,\r\n HomeShopService,\r\n OrderService,\r\n ShippingService,\r\n} from './services'\r\n\r\n@NgModule({\r\n imports: [AngularFireModule, AngularFirestoreModule, AngularHasuraGraphQLModule],\r\n providers: [\r\n AuthService,\r\n CartService,\r\n CheckoutService,\r\n CheckoutSubscriptionService,\r\n CouponService,\r\n HomeShopService,\r\n OrderService,\r\n ShippingService,\r\n ],\r\n})\r\nexport class AngularConnectModule {\r\n static initializeApp(\r\n defaultShop: Shops,\r\n options: {\r\n firebase: FirebaseOptions\r\n elasticSearch: AxiosElasticSearchConfig\r\n hasura: HasuraGraphQLOptions\r\n backendUrl: string\r\n },\r\n nameOrConfig?: string | FirebaseAppConfig,\r\n ): ModuleWithProviders<AngularFireModule> {\r\n return {\r\n ngModule: AngularConnectModule,\r\n providers: [\r\n ...(isNil(defaultShop) ? [] : [{ provide: DEFAULT_SHOP, useValue: defaultShop }]),\r\n ...(isNil(options?.firebase) ? [] : [{ provide: FIREBASE_OPTIONS, useValue: options?.firebase }]),\r\n ...(isNil(options?.firebase) ? [] : [{ provide: FIREBASE_APP_NAME, useValue: nameOrConfig }]),\r\n ...(isNil(options?.elasticSearch) ? [] : [{ provide: ES_CONFIG, useValue: options.elasticSearch }]),\r\n ...(isNil(options?.hasura) ? [] : [{ provide: HASURA_OPTIONS, useValue: options.hasura }]),\r\n ...(isNil(options?.backendUrl) ? [] : [{ provide: BACKEND_URL, useValue: options.backendUrl }]),\r\n ],\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["catchError","of","combineLatest","map","mergeMap","i0","Injectable","Inject","CustomError","Coupon","from","Where","concatMap","throwError","Shops","CheckoutTypes","CouponTypes","Exclusivities","Status","cookie","isNil","NotFoundError","Checkout","pick","Subject","LineItem","tap","iif","i1.AuthService","i2.CheckoutService","CheckoutSubscription","i1.CouponService","Category","Product","forkJoin","RequiredArgumentError","add","Order","i2.HomeShopService","FIREBASE_OPTIONS","FIREBASE_APP_NAME","AngularFireModule","Authentication","AuthenticationFirebaseAuthService","AngularFireAuth","Register","RegisterFirebaseAuthService","SignOut","RecoveryPassword","NgModule","ProductsIndex","AxiosAdapter","UserBeautyProfileFirestoreRepository","AngularFirestore","Buy2WinFirestoreRepository","CategoryFirestoreRepository","CheckoutFirestoreRepository","CheckoutSubscriptionFirestoreRepository","CouponFirestoreRepository","CampaignHashtagFirestoreRepository","CampaignDashboardFirestoreRepository","SubscriptionEditionFirestoreRepository","HomeFirestoreRepository","LeadFirestoreRepository","LegacyOrderFirestoreRepository","ShopMenuFirestoreRepository","OrderFirestoreRepository","PaymentFirestoreRepository","ProductFirestoreRepository","SubscriptionPaymentFirestoreRepository","SubscriptionPlanFirestoreRepository","SubscriptionProductFirestoreRepository","SubscriptionFirestoreRepository","UserFirestoreRepository","UserAddressFirestoreRepository","UserPaymentMethodFirestoreRepository","ProductVariantFirestoreRepository","APP_INITIALIZER","CategoryHasuraGraphQLRepository","ProductHasuraGraphQLRepository","CategoryFilterHasuraGraphQLRepository","VariantHasuraGraphQLRepository","FilterOptionHasuraGraphQLRepository","FilterHasuraGraphQLRepository"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAA;;;;;;;;;;;;;IAagF;IAChF;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC,EAAA;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAA,EAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,EAAA,EAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtG,IAAA,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEc,SAAA,SAAS,CAAC,CAAC,EAAE,CAAC,EAAA;IAC1B,IAAA,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;IACrC,QAAA,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;IAC9F,IAAA,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IACvC,IAAA,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;IAEM,IAAI,QAAQ,GAAG,YAAA;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAA;IAC3C,QAAA,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IACjD,YAAA,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,SAAA;IACD,QAAA,OAAO,CAAC,CAAC;IACb,KAAC,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;IAEe,SAAA,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,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;IAC1E,gBAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,SAAA;IACL,IAAA,OAAO,CAAC,CAAC;IACb,CAAC;IAEK,SAAU,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAA;IACpD,IAAA,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;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;IAAE,QAAA,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;IAC1H,QAAA,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;IAAE,YAAA,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAAE,gBAAA,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;IAClJ,IAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IAEe,SAAA,OAAO,CAAC,UAAU,EAAE,SAAS,EAAA;IACzC,IAAA,OAAO,UAAU,MAAM,EAAE,GAAG,EAAA,EAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;IAEe,SAAA,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAA;IACnG,IAAA,SAAS,MAAM,CAAC,CAAC,EAAA,EAAI,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,UAAU;YAAE,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;IACvH,IAAA,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,KAAK,QAAQ,GAAG,KAAK,GAAG,IAAI,KAAK,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;QACjG,IAAI,MAAM,GAAG,CAAC,YAAY,IAAI,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxF,IAAI,UAAU,GAAG,YAAY,KAAK,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACzG,IAAA,IAAI,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;IACpB,IAAA,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,IAAI,SAAS;IAAE,YAAA,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACzE,QAAA,KAAK,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM;IAAE,YAAA,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxE,QAAA,OAAO,CAAC,cAAc,GAAG,UAAU,CAAC,EAAA,EAAI,IAAI,IAAI;gBAAE,MAAM,IAAI,SAAS,CAAC,wDAAwD,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9K,QAAA,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,UAAU,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;YAC/H,IAAI,IAAI,KAAK,UAAU,EAAE;gBACrB,IAAI,MAAM,KAAK,KAAK,CAAC;oBAAE,SAAS;IAChC,YAAA,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;IAAE,gBAAA,MAAM,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC1F,YAAA,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;IAAE,gBAAA,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/C,YAAA,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;IAAE,gBAAA,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/C,YAAA,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAAE,gBAAA,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrD,SAAA;IACI,aAAA,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE;gBACzB,IAAI,IAAI,KAAK,OAAO;IAAE,gBAAA,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;IACtC,gBAAA,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,SAAA;IACJ,KAAA;IACD,IAAA,IAAI,MAAM;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACtE,IAAI,GAAG,IAAI,CAAC;IAChB,CAAC;IAAA,CAAC;aAEc,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAA;IAC1D,IAAA,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAC1C,QAAA,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3F,KAAA;QACD,OAAO,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;IACrC,CAAC;IAAA,CAAC;IAEI,SAAU,SAAS,CAAC,CAAC,EAAA;IACvB,IAAA,OAAO,OAAO,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAAA,CAAC;aAEc,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAA;QAC7C,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAC/F,IAAA,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACzH,CAAC;IAAA,CAAC;IAEc,SAAA,UAAU,CAAC,WAAW,EAAE,aAAa,EAAA;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;IAEK,SAAU,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAA;IACvD,IAAA,SAAS,KAAK,CAAC,KAAK,EAAA,EAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAA,EAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC5G,IAAA,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAA;IACrD,QAAA,SAAS,SAAS,CAAC,KAAK,EAAA,EAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAAE,SAAA;IAAC,QAAA,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAAE,SAAA,EAAE;IAC3F,QAAA,SAAS,QAAQ,CAAC,KAAK,EAAA,EAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAAE,SAAA;IAAC,QAAA,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAAE,SAAA,EAAE;IAC9F,QAAA,SAAS,IAAI,CAAC,MAAM,EAAA,EAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;IAC9G,QAAA,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,KAAC,CAAC,CAAC;IACP,CAAC;IAEe,SAAA,WAAW,CAAC,OAAO,EAAE,IAAI,EAAA;IACrC,IAAA,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAA,EAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAAE,YAAA,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;QACjH,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,YAAA,EAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,EAAA,EAAI,OAAO,UAAU,CAAC,EAAI,EAAA,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE,EAAA;IACZ,QAAA,IAAI,CAAC;IAAE,YAAA,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IAC9D,QAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,IAAI;IAC1C,gBAAA,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;IAAE,oBAAA,OAAO,CAAC,CAAC;IAC7J,gBAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAAE,oBAAA,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACxC,gBAAA,QAAQ,EAAE,CAAC,CAAC,CAAC;IACT,oBAAA,KAAK,CAAC,CAAC;IAAC,oBAAA,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;IAC9B,oBAAA,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAAC,wBAAA,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxD,oBAAA,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAAC,wBAAA,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAAC,wBAAA,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;IACjD,oBAAA,KAAK,CAAC;IAAE,wBAAA,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAAC,wBAAA,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;IACjD,oBAAA;IACI,wBAAA,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;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;IAAE,yBAAA;IAC5G,wBAAA,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;IAAE,4BAAA,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;IAAE,yBAAA;IACtF,wBAAA,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;IAAE,4BAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;IAAE,yBAAA;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;IAAE,4BAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,4BAAA,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;IAAE,yBAAA;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;IAAE,4BAAA,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IACtB,wBAAA,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;IAC9B,iBAAA;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9B,aAAA;IAAC,YAAA,OAAO,CAAC,EAAE;IAAE,gBAAA,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;IAAE,aAAA;IAAS,oBAAA;IAAE,gBAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAAE,aAAA;IAC1D,QAAA,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAAE,YAAA,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAA;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,IAAI,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE;IAC/E,QAAA,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAA,EAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACjE,KAAA;QACD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAA;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAEa,SAAA,YAAY,CAAC,CAAC,EAAE,CAAC,EAAA;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;IAAE,QAAA,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAAE,YAAA,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;IAEK,SAAU,QAAQ,CAAC,CAAC,EAAA;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC9E,IAAA,IAAI,CAAC;IAAE,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,IAAA,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;IAC1C,YAAA,IAAI,EAAE,YAAA;IACF,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IACnC,gBAAA,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;IACF,IAAA,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;IAEe,SAAA,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA;IACvB,IAAA,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3D,IAAA,IAAI,CAAC,CAAC;IAAE,QAAA,OAAO,CAAC,CAAC;IACjB,IAAA,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;IAAE,YAAA,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9E,KAAA;IACD,IAAA,OAAO,KAAK,EAAE;IAAE,QAAA,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAAE,KAAA;IAC/B,YAAA;YACJ,IAAI;IACA,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAAE,gBAAA,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpD,SAAA;IACO,gBAAA;IAAE,YAAA,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;IAAE,SAAA;IACpC,KAAA;IACD,IAAA,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ,GAAA;IACpB,IAAA,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IAC9C,QAAA,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,IAAA,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc,GAAA;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IAAE,QAAA,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,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;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,IAAA,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAA;IACxC,IAAA,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;IAAE,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;IACpB,gBAAA,IAAI,CAAC,EAAE;IAAE,oBAAA,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,aAAA;IACJ,SAAA;IACD,IAAA,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEK,SAAU,OAAO,CAAC,CAAC,EAAA;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAA;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IACvF,IAAA,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAC9D,IAAA,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,YAAc,EAAA,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,EAAA,EAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAA,EAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAI,EAAA,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;IAC1I,IAAA,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAE,KAAA;IAAC,IAAA,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAAE,KAAA,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,EAAA,EAAI,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;IACxH,IAAA,SAAS,OAAO,CAAC,KAAK,EAAA,EAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IAClD,IAAA,SAAS,MAAM,CAAC,KAAK,EAAA,EAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IAClD,IAAA,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA,EAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;IAAE,QAAA,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;IAEK,SAAU,gBAAgB,CAAC,CAAC,EAAA;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,IAAA,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAA,EAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5I,IAAA,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAI,EAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAA,EAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IAC1I,CAAC;IAEK,SAAU,aAAa,CAAC,CAAC,EAAA;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACnC,IAAA,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,YAAA,EAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,EAAI,EAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAA,EAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAI,EAAA,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;IAChK,IAAA,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,EAAI,EAAA,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;IAEe,SAAA,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAA;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;IAAE,QAAA,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAAE,KAAA;IAAM,SAAA;IAAE,QAAA,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;IAAE,KAAA;IAC/G,IAAA,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAA;IACnD,IAAA,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC,EAAA;IACd,IAAA,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;IAEI,SAAU,YAAY,CAAC,GAAG,EAAA;IAC5B,IAAA,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;IAAE,QAAA,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;IAAE,YAAA,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAAE,gBAAA,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACzI,IAAA,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,IAAA,OAAO,MAAM,CAAC;IAClB,CAAC;IAEK,SAAU,eAAe,CAAC,GAAG,EAAA;IAC/B,IAAA,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;IAEK,SAAU,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAA;IAC3D,IAAA,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;IACnL,IAAA,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;IAEK,SAAU,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAA;QAClE,IAAI,IAAI,KAAK,GAAG;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;IACxE,IAAA,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;IAClL,IAAA,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G,CAAC;IAEe,SAAA,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAA;IACjD,IAAA,IAAI,QAAQ,KAAK,IAAI,KAAK,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,CAAC;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;IACzJ,IAAA,OAAO,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClF;;AC5RA,QAAA,WAAA,kBAAA,YAAA;QACE,SACmB,WAAA,CAAA,eAAgC,EACN,cAA8B,EAAA;IADxD,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;IACN,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;SACvE;IAEJ,IAAA,WAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,YAAA;IACE,QAAA,IAAM,WAAW,GAAkD;IACjE,YAAA,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAACA,oBAAU,CAAC,YAAM,EAAA,OAAAC,OAAE,CAAC,IAAI,CAAC,CAAR,EAAQ,CAAC,CAAC;IAC/D,YAAA,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAACD,oBAAU,CAAC,YAAM,EAAA,OAAAC,OAAE,CAAC,IAAI,CAAC,CAAR,EAAQ,CAAC,CAAC;aAChD,CAAA;YAED,OAAOC,kBAAa,CAAC,WAAW,CAAC,CAAC,IAAI,CACpCC,aAAG,CAAC,UAAC,EAAgB,EAAA;IAAhB,YAAA,IAAA,EAAA,GAAA,aAAgB,EAAf,QAAQ,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,IAAI,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;gBAClB,OAAO;IACL,gBAAA,IAAI,EAAA,IAAA;IACJ,gBAAA,WAAW,EAAE,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAE,WAAW;iBACK,CAAA;aAC1C,CAAC,CACH,CAAA;SACF,CAAA;IAED,IAAA,WAAA,CAAA,SAAA,CAAA,OAAO,GAAP,YAAA;YAAA,IAKC,KAAA,GAAA,IAAA,CAAA;IAJC,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAC5BA,aAAG,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,GAAG,GAAA,CAAC,EACxBC,kBAAQ,CAAC,UAAC,EAAE,EAAA,EAAK,QAAC,EAAE,GAAG,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,EAAA,EAAA,EAAE,CAAC,GAAGH,OAAE,CAAC,IAAI,CAAC,EAAC,EAAA,CAAC,CACpE,CAAA;SACF,CAAA;IAED,IAAA,WAAA,CAAA,SAAA,CAAA,UAAU,GAAV,YAAA;IACE,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAA;SACpC,CAAA;IAED,IAAA,WAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAACD,oBAAU,CAAC,cAAM,OAAAC,OAAE,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC,CAAA;SAClE,CAAA;;;IAnCU,WAAA,CAAA,IAAA,GAAAI,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,WAAW,4DAGZ,gBAAgB,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;uIAHf,WAAW,EAAA,CAAA,CAAA;sHAAX,WAAW,EAAA,UAAA,EAAA,CAAA;sBADvBC,aAAU;;;kCAINC,SAAM;mCAAC,gBAAgB,CAAA;;;;ICXrB,IAAM,WAAW,GAAG,aAAa;;ICAjC,IAAM,YAAY,GAAG,cAAc;;ICAnC,IAAM,SAAS,GAAG,WAAW;;ICA7B,IAAM,cAAc,GAAG,gBAAgB;;ICE9C,IAAA,kBAAA,kBAAA,UAAA,MAAA,EAAA;QAAwC,SAAW,CAAA,kBAAA,EAAA,MAAA,CAAA,CAAA;IACjD,IAAA,SAAA,kBAAA,CAAqB,OAAO,EAAA;YAA5B,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,OAAO,CAAC,IACf,IAAA,CAAA;IAFoB,QAAA,KAAO,CAAA,OAAA,GAAP,OAAO,CAAA;;SAE3B;QACF,OAAA,kBAAA,CAAA;IAAA,CAJD,CAAwCC,yBAAW,CAIlD,CAAA;;ICFD,IAAA,uBAAA,kBAAA,UAAA,MAAA,EAAA;QAA6C,SAAW,CAAA,uBAAA,EAAA,MAAA,CAAA,CAAA;IACtD,IAAA,SAAA,uBAAA,CAAqB,MAA4B,EAAA;YAAjD,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,0BAA0B,CAAC,IAClC,IAAA,CAAA;IAFoB,QAAA,KAAM,CAAA,MAAA,GAAN,MAAM,CAAsB;;SAEhD;QACF,OAAA,uBAAA,CAAA;IAAA,CAJD,CAA6CA,yBAAW,CAIvD,CAAA;;ACoBD,QAAA,aAAA,kBAAA,YAAA;QACE,SAC+C,aAAA,CAAA,gBAAkC,EACxC,WAAkB,EACb,eAAgC,EACzB,sBAA8C,EAClD,kBAAsC,EAAA;YALvF,IAMI,KAAA,GAAA,IAAA,CAAA;IAL2C,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;IACxC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAO;IACb,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;IACzB,QAAA,IAAsB,CAAA,sBAAA,GAAtB,sBAAsB,CAAwB;IAClD,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;IA0B/E,QAAA,IAAuB,CAAA,uBAAA,GAAG,UAAC,SAAiB,EAAc,EAAA,OAAA,CAAC,EAAC,SAAS,aAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,KAAK,CAAC,cAAc,CAAC,CAAA,CAAA,EAAA,CAAA;YAsO5F,IAAoB,CAAA,oBAAA,GAAG,UAC7B,OAAiB,EACjB,SAAiB,EAEjB,EAAA,OAAA,OAAO;iBACJ,GAAG,CAAC,UAAC,MAAM,EAAA;gBACV,IAAI;IACF,gBAAA,IAAI,EAAE,MAAM,YAAYC,WAAM,CAAC;IAAE,oBAAA,MAAM,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;IAChF,gBAAA,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;IAAE,oBAAA,OAAO,MAAM,CAAA;IACzD,aAAA;IAAC,YAAA,OAAO,KAAK,EAAE;IACd,gBAAA,OAAO,KAA2B,CAAA;IACnC,aAAA;IACH,SAAC,CAAC;iBACD,MAAM,CACL,UAAC,OAAO,EAAE,MAAM,IAAK,QAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAChB,OAAO,CAAA,GACN,MAAM,YAAYA,WAAM;kBACxB,EAAE,MAAM,EAAM,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,OAAO,CAAC,MAAM,CAAA,CAAA,EAAA,CAAE,MAAM,CAAA,CAAC,EAAE;IACzC,cAAE,EAAE,QAAQ,EAAM,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,OAAO,CAAC,QAAQ,CAAA,CAAA,EAAA,CAAE,MAAM,CAAA,CAAC,EAAE,IAC/C,EAAA,EACF;IACE,YAAA,MAAM,EAAE,EAAc;IACtB,YAAA,QAAQ,EAAE,EAA0B;aACrC,CACF,CAAA,EAAA,CAAA;SAvRD;IAEJ,IAAA,aAAA,CAAA,SAAA,CAAA,WAAW,GAAX,UACE,QAAgB,EAChB,SAAiB,EACjB,YAA2B,EAC3B,IAAa,EACb,QAA4B,EAC5B,cAAwB,EAAA;YAN1B,IAqBC,KAAA,GAAA,IAAA,CAAA;IAbC,QAAA,OAAOC,SAAI,CACT,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;IACzB,YAAA,OAAO,EAAE;oBACP,QAAQ,EAAE,EAAE,QAAQ,EAAEC,UAAK,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE;oBACrD,MAAM,EAAE,EAAE,QAAQ,EAAEA,UAAK,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;IAChD,aAAA;IACF,SAAA,CAAC,CACH,CAAC,IAAI,CACJC,mBAAS,CAAC,UAAC,OAAO,EAAK,EAAA,OAAA,KAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAA,EAAA,CAAC,EACpGA,mBAAS,CAAC,UAAC,MAAc,EAAA,EAAK,OAAA,KAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA,EAAA,CAAC,EACvFT,aAAG,CAAC,UAAC,MAAc,EAAA,EAAK,OAAA,KAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA,EAAA,CAAC,EAC9DA,aAAG,CAAC,UAAC,MAAc,IAAK,OAAA,MAAM,GAAA,CAAC,CAChC,CAAA;SACF,CAAA;QAIO,aAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,UACN,OAAO,EACP,YAA2B,EAC3B,IAAa,EACb,QAA4B,EAC5B,cAAwB,EAAA;;IAGxB,QAAA,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE;IACrB,YAAA,OAAOU,eAAU,CAAC,iBAAiB,CAAC,CAAA;IACrC,SAAA;;YAGD,IAAM,MAAM,GAAW,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;;IAE3C,QAAA,IAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,KAAKC,UAAK,CAAC,GAAG,IAAI,MAAM,CAAC,gBAAgB,KAAK,IAAI,CAAC,WAAW,CAAA;;IAGtG,QAAA,IAAI,CAAC,QAAQ;IAAE,YAAA,OAAOD,eAAU,CAAC,2BAA2B,CAAC,CAAA;;IAG7D,QAAA,IAAM,cAAc,GAAG,MAAM,CAAC,YAAY,KAAKE,kBAAa,CAAC,GAAG,IAAI,MAAM,CAAC,YAAY,KAAK,YAAY,CAAA;;IAGxG,QAAA,IAAI,CAAC,cAAc;IAAE,YAAA,OAAOF,eAAU,CAAC,mCAAmC,CAAC,CAAA;;YAG3E,IAAI,YAAY,KAAKE,kBAAa,CAAC,GAAG,IAAI,YAAY,KAAKA,kBAAa,CAAC,YAAY,EAAE;;IAErF,YAAA,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE;IACjE,gBAAA,OAAOF,eAAU,CAAC,qCAAqC,CAAC,CAAA;IAC3D,SAAA;IAED,QAAA,IAAI,cAAc;IAAE,YAAA,OAAOZ,OAAE,CAAC,MAAM,CAAC,CAAA;;YAGrC,IAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;;IAG5D,QAAA,IAAI,CAAC,cAAc;IAAE,YAAA,OAAOY,eAAU,CAAC,2BAA2B,CAAC,CAAA;IAEnE,QAAA,OAAOZ,OAAE,CAAC,MAAM,CAAC,CAAA;SAClB,CAAA;IAEO,IAAA,aAAA,CAAA,SAAA,CAAA,aAAa,GAAb,UAAc,MAAc,EAAE,SAAiB,EAAA;;YAErD,IAAI,CAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,OAAO,IAAG,IAAI,IAAI,EAAE;IAAE,YAAA,MAAM,IAAI,kBAAkB,CAAC,2BAA2B,CAAC,CAAA;;YAG3F,IAAI,CAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,SAAS,IAAG,IAAI,IAAI,EAAE;IAAE,YAAA,MAAM,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;IAEnF,QAAA,OAAO,MAAM,CAAA;SACd,CAAA;IAEa,IAAA,aAAA,CAAA,SAAA,CAAA,sBAAsB,GAAtB,UAAuB,MAAc,EAAE,SAAiB,EAAE,QAAQ,EAAA;;;;;IAC/D,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;IAC7C,4BAAA,OAAO,EAAE;IACP,gCAAA,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;IACzB,gCAAA,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IAC5B,6BAAA;IACF,yBAAA,CAAC,CAAA,CAAA;;IALI,wBAAA,MAAM,GAAG,EAKb,CAAA,IAAA,EAAA,CAAA;4BAGI,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,CAAA,EAAA,CAAC,CAAA;;IAG7E,wBAAA,IAAI,MAAM,CAAC,eAAe,IAAI,gBAAgB,CAAC,MAAM;IACnD,4BAAA,MAAM,IAAI,kBAAkB,CAAC,qCAAqC,CAAC,CAAA;;IAGrE,wBAAA,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ;IAC1D,4BAAA,MAAM,IAAI,kBAAkB,CAAC,yBAAyB,CAAC,CAAA;4BAEvC,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,mCAAmC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA,CAAA;;IAA7E,wBAAA,SAAS,GAAG,EAAiE,CAAA,IAAA,EAAA,CAAA;IACnF,wBAAA,IAAI,CAAC,SAAS;IAAE,4BAAA,MAAM,IAAI,kBAAkB,CAAC,uBAAuB,CAAC,CAAA;4BAExC,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA,CAAA;;IAAxE,wBAAA,oBAAoB,GAAG,EAAiD,CAAA,IAAA,EAAA,CAAA;IAE9E,wBAAA,IAAI,CAAC,oBAAoB;IAAE,4BAAA,MAAM,2DAA2D,CAAA;IAE5F,wBAAA,OAAA,CAAA,CAAA,aAAO,MAAM,CAAA,CAAA;;;IACd,SAAA,CAAA,CAAA;SAAA,CAAA;IAEM,IAAA,aAAA,CAAA,SAAA,CAAA,wBAAwB,GAAxB,UAAyB,MAAc,EAAE,QAAuC,EAAA;;YAErF,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,QAAA,IAAI,MAAM,CAAC,IAAI,KAAKe,gBAAW,CAAC,QAAQ;IAAE,YAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAC/D,aAAA,IAAI,MAAM,CAAC,IAAI,KAAKA,gBAAW,CAAC,UAAU;IAC7C,YAAA,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,eAAe,IAAI,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAA;IAEhF,QAAA,OAAOf,OAAE,CAAC,QAAQ,CAAC,CAAA;SACpB,CAAA;IAEY,IAAA,aAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,UAAqB,MAAc,EAAE,QAA2B,EAAA;;;;;;4BACvE,QAAQ,GAAG,CAAC,CAAA;4BAER,EAAA,GAAA,MAAM,CAAC,IAAI,CAAA;;IACZ,4BAAA,KAAAe,gBAAW,CAAC,QAAQ,EAApB,OAAoB,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;IAIpB,4BAAA,KAAAA,gBAAW,CAAC,UAAU,EAAtB,OAAsB,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;;;;IAJA,wBAAA;IACzB,4BAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;gCAC1B,OAAK,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;IACN,yBAAA;;gCAEY,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,8BAA8B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA,CAAA;;4BAAtE,QAAQ,GAAG,SAA2D,CAAA;4BACtE,OAAK,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;IAIT,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,QAAQ,CAAA,CAAA;;;IAChB,SAAA,CAAA,CAAA;SAAA,CAAA;IAEa,IAAA,aAAA,CAAA,SAAA,CAAA,8BAA8B,GAA9B,UAA+B,MAAc,EAAE,QAA2B,EAAA;;;;;;;4BAClF,QAAQ,GAAG,CAAC,CAAA;IACV,wBAAA,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;4BACtB,iBAAiB,GAAG,EAAE,CAAA;IACD,wBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA,CAAA;;IAA3D,wBAAA,gBAAgB,GAAG,EAAwC,CAAA,IAAA,EAAA,CAAA;4BAEjE,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACjE,4BAAA,iBAAiB,GAAG,CAAA,EAAA,GAAA,QAAQ,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAC,UAAC,CAAC,EAAA;;oCAC/C,IAAI,MAAA,CAAC,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,EAAE;IACxB,oCAAA,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,gBAAgB,CAAC,IAAI,CAAC,UAAA,GAAG,EAAI,EAAA,QAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,EAApC,EAAqC,CAAC,CAAnE,EAAmE,CAAC,CAAA;IACrG,iCAAA;IACD,gCAAA,OAAO,IAAI,CAAA;IACb,6BAAC,CAAC,CAAA;IACH,yBAAA;IAAM,6BAAA;IACL,4BAAA,iBAAiB,GAAG,QAAQ,CAAC,SAAS,CAAA;IACvC,yBAAA;4BAEK,QAAQ,GACZ,iBAAiB,CAAC,MAAM,CACtB,UAAC,GAAG,EAAE,IAAc,EAAA;;gCAClB,OAAA,CAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,IAAI,0CAAE,YAAY,MAAI,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,eAAe,CAAA;IAC9D,kCAAE,GAAG,GAAG,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,eAAe,IAAG,IAAI,CAAC,QAAQ;sCACvD,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAA;IAAA,yBAAA,EAC1C,CAAC,CACF,IAAI,CAAC,CAAA;4BAER,QAAQ,GAAG,QAAQ,IAAI,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAA;IAE7C,wBAAA,OAAA,CAAA,CAAA,aAAO,QAAQ,CAAA,CAAA;;;;SAChB,CAAA;IAEO,IAAA,aAAA,CAAA,SAAA,CAAA,cAAc,GAAd,UAAe,MAAc,EAAE,QAA2B,EAAA;;YAChE,IAAI,CAAC,MAAM,CAAC,gBAAgB;IAAE,YAAA,OAAO,IAAI,CAAA;IAEzC,QAAA,IAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;IAE1B,QAAA,IAAI,QAAQ,GACV,CAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CACxB,UAAC,GAAG,EAAE,IAAI,EAAA;;gBACR,OAAA,CAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,IAAI,0CAAE,YAAY,MAAI,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,eAAe,CAAA;IAC9D,kBAAE,GAAG,GAAG,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,eAAe,IAAG,IAAI,CAAC,QAAQ;sBACvD,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAA;IAAA,SAAA,EAC1C,CAAC,CACF,KAAI,CAAC,CAAA;IAER,QAAA,IAAI,MAAM,CAAC,gBAAgB,IAAI,QAAQ;IAAE,YAAA,OAAO,IAAI,CAAA;IACpD,QAAA,OAAO,KAAK,CAAA;SACb,CAAA;IAEa,IAAA,aAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,UAAqB,MAAc,EAAE,QAA2B,EAAA;;;;;;;4BAC5E,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACnE,4BAAA,OAAA,CAAA,CAAA,aAAO,IAAI,CAAA,CAAA;IACZ,yBAAA;IAEwB,wBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA,CAAA;;IAA3D,wBAAA,gBAAgB,GAAG,EAAwC,CAAA,IAAA,EAAA,CAAA;IAE3D,wBAAA,aAAa,GAAG,CAAA,EAAA,GAAA,QAAQ,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAC,UAAA,CAAC,EAAA;;IAChD,4BAAA,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,EAAC,CAAA,EAAA,GAAA,CAAC,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAA;IAAE,gCAAA,OAAO,IAAI,CAAA;IACvD,4BAAA,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,gBAAgB,CAAC,IAAI,CAAC,UAAA,GAAG,EAAI,EAAA,QAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,EAApC,EAAqC,CAAC,CAAnE,EAAmE,CAAC,CAAA;IACtG,yBAAC,CAAC,CAAA;4BAEF,OAAO,CAAA,CAAA,aAAA,aAAa,CAAC,MAAM,GAAG,IAAI,GAAG,KAAK,CAAA,CAAA;;;;SAC3C,CAAA;IAEa,IAAA,aAAA,CAAA,SAAA,CAAA,mCAAmC,GAAnC,UAAoC,MAAc,EAAE,SAAiB,EAAA;;;;;;;IAEjF,wBAAA,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,eAAe,KAAKC,kBAAa,CAAC,aAAa;IACpG,4BAAA,MAAM,IAAI,kBAAkB,CAAC,yBAAyB,CAAC,CAAA;;IAGzD,wBAAA,IAAI,MAAM,CAAC,eAAe,KAAKA,kBAAa,CAAC,aAAa,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS;IACnG,4BAAA,MAAM,IAAI,kBAAkB,CAAC,uCAAuC,CAAC,CAAA;IAEjE,wBAAA,sBAAsB,GAC1B,MAAM,CAAC,eAAe,KAAKA,kBAAa,CAAC,iBAAiB;IAC1D,4BAAA,MAAM,CAAC,eAAe,KAAKA,kBAAa,CAAC,mBAAmB;IAC5D,4BAAA,MAAM,CAAC,eAAe,KAAKA,kBAAa,CAAC,cAAc,CAAA;IAErD,wBAAA,IAAA,EAAA,sBAAsB,IAAI,SAAS,CAAA,EAAnC,OAAmC,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;4BACzB,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,sBAAsB;IAC1C,iCAAA,IAAI,CAAC;IACJ,gCAAA,OAAO,EAAE;IACP,oCAAA,IAAI,EAAE;4CACJ,KAAK,EAAE,EAAE,QAAQ,EAAEN,UAAK,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE;IACpD,qCAAA;IACF,iCAAA;iCACF,CAAC;qCACD,IAAI,CAAC,UAAC,GAAG,EAAK,EAAA,OAAA,GAAG,CAAC,IAAI,CAAA,EAAA,CAAC,CAAA,CAAA;;IARpB,wBAAA,GAAG,GAAG,EAQc,CAAA,IAAA,EAAA,CAAA;IAEpB,wBAAA,UAAU,GAAG,GAAG,KAAA,IAAA,IAAH,GAAG,KAAH,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAG,CAAE,MAAM,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,MAAM,KAAKO,WAAM,CAAC,MAAM,CAA1B,EAA0B,CAAC,CAAA;4BAEjE,QAAQ,MAAM,CAAC,eAAe;gCAC5B,KAAKD,kBAAa,CAAC,iBAAiB;IAClC,gCAAA,OAAA,CAAA,CAAA,aAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA,CAAA;gCAC9B,KAAKA,kBAAa,CAAC,mBAAmB;IACpC,gCAAA,OAAA,CAAA,CAAA,aAAO,UAAU,CAAC,MAAM,KAAK,CAAC,CAAA,CAAA;gCAChC,KAAKA,kBAAa,CAAC,cAAc;IAC/B,gCAAA,OAAA,CAAA,CAAA,aAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAA,CAAA;IACzB,4BAAA;IACE,gCAAA,OAAA,CAAA,CAAA,aAAO,KAAK,CAAA,CAAA;IACf,yBAAA;;IAGH,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,IAAI,CAAA,CAAA;;;IACZ,SAAA,CAAA,CAAA;SAAA,CAAA;QAEa,aAAqB,CAAA,SAAA,CAAA,qBAAA,GAArB,UAAsB,MAAc,EAAA;;;;;;4BAC3C,gBAAgB,GAA0C,EAAE,CAAA;IAEtD,wBAAA,KAAK,GAAG,CAAC,CAAA;;;IAAE,wBAAA,IAAA,EAAA,KAAK,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAA,EAAA,OAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;IACb,wBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA,CAAA;;IAApH,wBAAA,CAAC,GAAwC,EAA2E,CAAA,IAAA,EAAA,CAAA;IACxH,wBAAA,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAC,CAAC,CAAA;;;IAFF,wBAAA,KAAK,EAAE,CAAA;;IAKrE,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,gBAAgB,CAAA,CAAA;;;IAC1B,SAAA,CAAA,CAAA;SAAA,CAAA;;;qIApQU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAEd,kBAAkB,EAClB,EAAA,EAAA,KAAA,EAAA,YAAY,aACZ,iBAAiB,EAAA,EAAA,EAAA,KAAA,EACjB,wBAAwB,EAAA,EAAA,EAAA,KAAA,EACxB,oBAAoB,EAAA,CAAA,EAAA,MAAA,EAAAZ,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;IANnB,aAAA,CAAA,KAAA,GAAAA,aAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;sHAEP,aAAa,EAAA,UAAA,EAAA,CAAA;sBAHzBC,aAAU;IAAC,YAAA,IAAA,EAAA,CAAA;IACV,oBAAA,UAAU,EAAE,MAAM;qBACnB,CAAA;;;kCAGIC,SAAM;mCAAC,kBAAkB,CAAA;;kCACzBA,SAAM;mCAAC,YAAY,CAAA;;kCACnBA,SAAM;mCAAC,iBAAiB,CAAA;;kCACxBA,SAAM;mCAAC,wBAAwB,CAAA;;kCAC/BA,SAAM;mCAAC,oBAAoB,CAAA;;;;ACVhC,QAAA,eAAA,kBAAA,YAAA;QACE,SACmB,eAAA,CAAA,aAA4B,EACE,kBAAsC,EACzC,eAAgC,EACjC,cAA8B,EAClC,WAAkB,EAAA;IAJxC,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;IACE,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;IACzC,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;IACjC,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;IAClC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAO;SACvD;QAEJ,eAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,YAAmC,EAAA;YAC7C,IAAM,UAAU,GAAGY,0BAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAE3C,QAAA,IAAI,CAACC,UAAK,CAAC,UAAU,CAAC;IAAE,YAAA,OAAOV,SAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;YAEpF,OAAOA,SAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAA;SAC/C,CAAA;QAED,eAAiB,CAAA,SAAA,CAAA,iBAAA,GAAjB,UAAkB,UAAkB,EAAA;YAApC,IAOC,KAAA,GAAA,IAAA,CAAA;IANC,QAAA,OAAOA,SAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAC/DE,mBAAS,CAAC,UAAC,QAAQ,EAAA,EACjB,IAAA,EAAA,CAAA,CAAA,OAAA,CAAA,CAAA,EAAA,GAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,IAAI,0CAAE,EAAE,IAAGX,OAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAGS,SAAI,CAAC,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA,EAAA,CACjG,EACDE,mBAAS,CAAC,UAAC,IAAI,EAAK,EAAA,OAAAX,OAAE,CAAC,IAAI,CAAC,IAAIY,eAAU,CAAC,YAAM,EAAA,OAAA,IAAIQ,kBAAa,CAAC,mBAAmB,CAAC,CAAtC,EAAsC,CAAC,CAAA,EAAA,CAAC,CAC1F,CAAA;SACF,CAAA;QAED,eAAuB,CAAA,SAAA,CAAA,uBAAA,GAAvB,UAAwB,QAA2B,EAAA;IACjD,QAAA,OAAOX,SAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAACY,aAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;SACrH,CAAA;QAED,eAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,QAA2B,EAAA;IAC5C,QAAA,OAAOZ,SAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAACY,aAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;SAC3G,CAAA;IAED,IAAA,eAAA,CAAA,SAAA,CAAA,wBAAwB,GAAxB,YAAA;IACE,QAAAH,0BAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;YAE3B,OAAOlB,OAAE,EAAE,CAAA;SACZ,CAAA;QAED,eAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,MAAc,EAAA;YAA3B,IAIC,KAAA,GAAA,IAAA,CAAA;YAHC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAC5BW,mBAAS,CAAC,UAAO,QAAQ,IAAK,OAAA,SAAA,CAAA,KAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA,EAAA,OAAA,WAAA,CAAA,IAAA,EAAA,UAAA,EAAA,EAAA;;4BAAA,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA,CAAA;IAA/D,gBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAA,SAA+D,CAAA,CAAA;;IAAA,SAAA,CAAA,CAAA,EAAA,CAAA,CAA/D,EAA+D,CAAC,CAC/F,CAAA;SACF,CAAA;IAED,IAAA,eAAA,CAAA,SAAA,CAAA,WAAW,GAAX,UAAY,QAAgB,EAAE,YAA2B,EAAA;YAAzD,IAeC,KAAA,GAAA,IAAA,CAAA;YAdC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAC5BA,mBAAS,CAAC,UAAC,QAAQ,EAAA;;gBACjB,OAAA,KAAI,CAAC,aAAa;IACf,iBAAA,WAAW,CACV,QAAQ,EACR,CAAA,EAAA,GAAA,QAAQ,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,EACpBG,kBAAa,CAAC,SAAS,EACvB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAC9B,QAAQ,EACR,KAAK,CACN;IACA,iBAAA,IAAI,EAAE,CAAA;aAAA,CACV,CACF,CAAA;SACF,CAAA;QAEa,eAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,YAAmC,EAAA;;;;;IAC7C,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EACnD,SAAS,EAAE,IAAI,IAAI,EAAE,IAClBO,aAAQ,CAAC,UAAU,CAACC,SAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CACtE,EAAA,EAAA,IAAI,EAAE,CAAA,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAE,IAAI,KAAI,IAAI,CAAC,WAAW,EAAA,CAAA,CAC5C,CAAA,CAAA;;IAJI,wBAAA,QAAQ,GAAG,EAIf,CAAA,IAAA,EAAA,CAAA;4BAEFJ,0BAAM,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;IAErC,wBAAA,OAAA,CAAA,CAAA,aAAO,QAAQ,CAAA,CAAA;;;IAChB,SAAA,CAAA,CAAA;SAAA,CAAA;;;IAzEU,eAAA,CAAA,IAAA,GAAAd,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,eAAe,4CAGhB,oBAAoB,EAAA,EAAA,EAAA,KAAA,EACpB,iBAAiB,EACjB,EAAA,EAAA,KAAA,EAAA,gBAAgB,aAChB,YAAY,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;2IANX,eAAe,EAAA,CAAA,CAAA;sHAAf,eAAe,EAAA,UAAA,EAAA,CAAA;sBAD3BC,aAAU;;;kCAINC,SAAM;mCAAC,oBAAoB,CAAA;;kCAC3BA,SAAM;mCAAC,iBAAiB,CAAA;;kCACxBA,SAAM;mCAAC,gBAAgB,CAAA;;kCACvBA,SAAM;mCAAC,YAAY,CAAA;;;;ACdxB,QAAA,WAAA,kBAAA,YAAA;IAGE,IAAA,SAAA,WAAA,CACmB,WAAwB,EACxB,eAAgC,EACV,WAAkB,EACX,iBAAoC,EAAA;YAJpF,IAKI,KAAA,GAAA,IAAA,CAAA;IAJe,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;IACxB,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;IACV,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAO;IACX,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;IAN5E,QAAA,IAAA,CAAA,WAAW,GAAkB,IAAIiB,YAAO,EAAE,CAAA;IA0G1C,QAAA,IAAA,CAAA,oBAAoB,GAAG,UAAC,QAAkB,EAAE,QAAgB,EAAE,QAAmB,EAAA,EACvF,OAAA,CAACJ,UAAK,CAAC,QAAQ,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,WAAW,EAAE,GAAGnB,OAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,CACxEW,mBAAS,CAAC,UAAC,cAAc,EAAA;;gBACvB,IAAM,KAAK,GAAe,EAAE,CAAA;gBAC5B,IAAM,KAAK,GAAG,CAAA,EAAA,GAAA,cAAc,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,CAAC,UAAC,YAAY,EAAA,EAAK,OAAA,YAAY,CAAC,GAAG,CAAhB,EAAgB,CAAE,CAAA,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAErG,YAAA,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;oBACd,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAA;oBACpD,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;IAC/D,aAAA;;IACC,gBAAA,cAAc,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CACrC,cAAc,CAAC,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CACpF,CAAA;gBAEH,OAAO,KAAI,CAAC,eAAe;qBACxB,uBAAuB,CAAC,cAAc,CAAC;IACvC,iBAAA,IAAI,CAACT,aAAG,CAAC,UAAC,eAAe,EAAA,EAAK,OAAA,KAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,SAAS,CAAC,GAAA,CAAC,CAAC,CAAA;IACvF,SAAC,CAAC,CACH,CAjBD,EAiBC,CAAA;IAEK,QAAA,IAAA,CAAA,kBAAkB,GAAG,UAAC,KAAiB,EAAA;gBAC7C,IAAM,IAAI,GAAS,EAAE,CAAA;gBAErB,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,OAAO,CACZ,UAAC,IAAI,EAAA;;IACH,gBAAA,QAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAGsB,aAAQ,CAAC,UAAU,CAChC,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,GAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAC1B,EAAA,EAAA,QAAQ,EAAE,CAAC,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,KAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,EAC/E,CAAA,CAAA,EAAC;IAAA,aAAA,CACN,CAAA;IAED,YAAA,OAAO,IAAI,CAAA;IACb,SAAC,CAAA;IAEO,QAAA,IAAa,CAAA,aAAA,GAAG,UAAO,EAQ9B,EAAA;IAPC,YAAA,IAAA,QAAQ,cAAA,EACR,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA;gBAKuD,OAAA,SAAA,CAAA,KAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;;;IAE/C,wBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA,CAAA;;IAA3D,4BAAA,OAAO,GAAG,EAAiD,CAAA,IAAA,EAAA,CAAA;gCAEjE,IAAI,CAAC,QAAQ,GAAG,CAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,QAAQ,MAAI,MAAA,CAAA,EAAA,GAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,CAAC,UAAC,QAAQ,EAAA,EAAK,OAAA,QAAQ,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAzB,EAAyB,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAA,IAAI,CAAC,CAAA;gCAEnH,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,IAAI,CAAC,CAAC;IACzC,gCAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAG,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,0CAAE,QAAQ,CAAA,GAAG,cAAc,CAAC,CAAA;IAE9E,4BAAA,KAAK,GAAG,IAAI,CAAC,KAAK,KAAI,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,EAAE,CAAA,CAAA;gCACxC,EAAE,GAA0E,IAAI,CAAA,EAA9E,EAAE,IAAI,GAAoE,IAAI,CAAA,IAAxE,EAAE,GAAG,GAA+D,IAAI,IAAnE,EAAE,KAAK,GAAwD,IAAI,CAA5D,KAAA,EAAE,IAAI,GAAkD,IAAI,CAAtD,IAAA,EAAE,KAAK,GAA2C,IAAI,CAA/C,KAAA,EAAE,KAAK,GAAoC,IAAI,CAAA,KAAxC,EAAE,MAAM,GAA4B,IAAI,CAAA,MAAhC,EAAE,UAAU,GAAgB,IAAI,CAAA,UAApB,EAAE,GAAG,GAAW,IAAI,CAAf,GAAA,EAAE,IAAI,GAAK,IAAI,CAAA,IAAT,CAAS;IAClF,4BAAA,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAA;IAC5B,4BAAA,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;IACrC,gCAAA,OAAO,EAAE,IAAI;IACb,gCAAA,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW;oCACvC,YAAY,EAAE,CAAA,EAAA,GAAA,QAAQ,CAAC,IAAI,0CAAE,YAAY;IAC1C,6BAAA,CAAC,CAAA;gCAEF,OAAO,CAAA,CAAA,aAAA;IACL,oCAAA,QAAQ,EAAA,QAAA;IACR,oCAAA,QAAQ,EAAEA,aAAQ,CAAC,UAAU,CAAC;IAC5B,wCAAA,EAAE,EAAA,EAAA;IACF,wCAAA,IAAI,EAAE,IAAI,KAAJ,IAAA,IAAA,IAAI,cAAJ,IAAI,GAAI,OAAO,CAAC,IAAI;IAC1B,wCAAA,GAAG,EAAE,GAAG,KAAH,IAAA,IAAA,GAAG,cAAH,GAAG,GAAI,OAAO,CAAC,GAAG;4CACvB,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,wCAAA,IAAI,EAAE,IAAI,KAAJ,IAAA,IAAA,IAAI,cAAJ,IAAI,GAAI,OAAO,CAAC,IAAI;IAC1B,wCAAA,GAAG,EAAE,GAAG,KAAH,IAAA,IAAA,GAAG,cAAH,GAAG,GAAI,OAAO,CAAC,GAAG;IACvB,wCAAA,KAAK,EAAA,KAAA;IACL,wCAAA,KAAK,EAAA,KAAA;IACL,wCAAA,KAAK,EAAA,KAAA;IACL,wCAAA,MAAM,EAAE,MAAM,KAAN,IAAA,IAAA,MAAM,cAAN,MAAM,GAAI,OAAO,CAAC,MAAM;IAChC,wCAAA,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC;IAChD,wCAAA,SAAS,EAAA,SAAA;4CACT,UAAU,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,UAAU,mCAAI,EAAE;IACpC,wCAAA,MAAM,EAAE,MAAM,KAAA,IAAA,IAAN,MAAM,KAAN,KAAA,CAAA,GAAA,MAAM,GAAI,IAAI;4CACtB,SAAS,EAAE,CAAA,EAAA,GAAA,OAAO,CAAC,SAAS,mCAAI,CAAC;IACjC,wCAAA,IAAI,EAAA,IAAA;yCACL,CAAC;qCACH,CAAA,CAAA;;;iBACF,CAAA,CAAA;IAvCgE,SAuChE,CAAA;IAEO,QAAA,IAAe,CAAA,eAAA,GAAG,UAAC,EAO1B,EAAA;oBANC,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,YAAY,GAAA,EAAA,CAAA,YAAA,CAAA;IAMZ,YAAA,IAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAA;gBAE1B,IAAI,OAAO,CAAC,MAAM;IAAE,gBAAA,OAAO,CAAC,CAAA;IAE5B,YAAA,OAAO,YAAY,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAA;IACrF,SAAC,CAAA;IAEO,QAAA,IAAA,CAAA,aAAa,GAAG,UAAC,IAAc,EAAE,QAAgB,EAAA;;IACvD,YAAA,IAAM,QAAQ,GAAG,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,KAAI,CAAC,CAAA;IAC1C,YAAA,IAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAA;IAE5C,YAAA,OAAO,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAChD,SAAC,CAAA;SA1MG;IAEJ,IAAA,WAAA,CAAA,SAAA,CAAA,OAAO,GAAP,UAAQ,IAAc,EAAE,QAAoB,EAAA;YAA5C,IAMC,KAAA,GAAA,IAAA,CAAA;IANuB,QAAA,IAAA,QAAA,KAAA,KAAA,CAAA,EAAA,EAAA,QAAoB,GAAA,CAAA,CAAA,EAAA;YAC1C,OAAOf,SAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAClDE,mBAAS,CAAC,UAAO,QAAQ,EAAA,EAAI,OAAA,SAAA,CAAA,KAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA,EAAA,OAAA,WAAA,CAAA,IAAA,EAAA,UAAA,EAAA,EAAA;;IAAC,gBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,aAAa,CAAC,EAAE,QAAQ,UAAA,EAAE,IAAI,EAAA,IAAA,EAAE,QAAQ,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC,CAAA,CAAA;IAArE,gBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAA,SAAqE,CAAA,CAAA;;kBAAA,GAAA,CAAC,EACpGR,kBAAQ,CAAC,UAAC,EAAsB,EAAA;oBAApB,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA;gBAAO,OAAA,KAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,IAAI,CAAC,EAAE,QAAoB,CAAC,CAAA;aAAA,CAAC,EAC9GsB,aAAG,CAAC,UAAC,IAAI,EAAA,EAAK,OAAA,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAA,CAAC,CAC3C,CAAA;SACF,CAAA;QAED,WAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,IAAc,EAAA;YAA3B,IAaC,KAAA,GAAA,IAAA,CAAA;IAZC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,IAAI,CAC5CvB,aAAG,CAAC,UAAC,QAAQ,EAAA;;IACX,YAAA,IAAM,YAAY,GAAG,CAAA,EAAA,GAAA,QAAQ,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAAC,UAAC,QAAQ,EAAK,EAAA,OAAA,QAAQ,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAzB,EAAyB,CAAC,CAAA;IAEtF,YAAA,IAAI,CAACiB,UAAK,CAAC,YAAY,CAAC;IAAE,gBAAA,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAEpF,YAAA,OAAO,QAAQ,CAAA;aAChB,CAAC,EACFR,mBAAS,CAAC,UAAC,QAAQ,EAAA,EAAK,OAAA,KAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAtD,EAAsD,CAAC,EAC/ET,aAAG,CAAC,UAAC,QAAQ,EAAK,EAAA,OAAA,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA,EAAA,CAAC,EAC9DuB,aAAG,CAAC,UAAC,IAAI,EAAA,EAAK,OAAA,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAA3B,EAA2B,CAAC,CAC3C,CAAA;SACF,CAAA;QAED,WAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,QAA+B,EAAA;YAAvC,IAIC,KAAA,GAAA,IAAA,CAAA;YAHC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,UAAC,IAAI,EAAA,EAAK,OAAA,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,EAAA,CAAC,CAAA;YAErF,OAAO,IAAI,CAAC,WAAW,CAAA;SACxB,CAAA;IAED;;IAEG;QACH,WAAuB,CAAA,SAAA,CAAA,uBAAA,GAAvB,UAAwB,IAAc,EAAA;IACpC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,CACpCd,mBAAS,CAAC,UAAC,IAAI,IACb,OAAAe,QAAG,CACD,YAAA,EAAM,OAAA,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAjD,EAAiD,EACvD1B,OAAE,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAC9BA,OAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CACrB,GAAA,CACF,EACDD,oBAAU,CAAC,YAAA,EAAM,OAAAC,OAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA,EAAA,CAAC,CACvC,CAAA;SACF,CAAA;QAED,WAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,IAAc,EAAA;YAAzB,IAaC,KAAA,GAAA,IAAA,CAAA;IAZC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,IAAI,CAC5CE,aAAG,CAAC,UAAC,QAAQ,EAAA;gBACX,IAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,UAAC,QAAQ,EAAA,EAAK,OAAA,QAAQ,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAA,EAAA,CAAC,CAAA;gBAEnF,IAAI,KAAK,IAAI,CAAC;oBAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAEnD,YAAA,OAAO,QAAQ,CAAA;aAChB,CAAC,EACFS,mBAAS,CAAC,UAAC,QAAQ,EAAA,EAAK,OAAA,KAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAtD,EAAsD,CAAC,EAC/ET,aAAG,CAAC,UAAC,QAAQ,EAAK,EAAA,OAAA,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA,EAAA,CAAC,EAC9DuB,aAAG,CAAC,UAAC,IAAI,EAAA,EAAK,OAAA,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAA3B,EAA2B,CAAC,CAC3C,CAAA;SACF,CAAA;QAED,WAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,IAAU,EAAA;YAAzB,IAiBC,KAAA,GAAA,IAAA,CAAA;IAhBC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,IAAI,CAC5Cd,mBAAS,CAAC,UAAC,QAAQ,EACjB,EAAA,OAAA,KAAI,CAAC,eAAe,CAAC,kBAAkB,CAACU,aAAQ,CAAC,UAAU,iCAAM,QAAQ,CAAC,OAAO,EAAE,CAAA,EAAA,EAAE,IAAI,EAAA,IAAA,EAAG,CAAA,CAAA,CAAC,GAAA,CAC9F,EACDV,mBAAS,CAAC,UAAO,QAAQ,EAAA,EAAI,OAAA,SAAA,CAAA,KAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;gBAAA,IAOd,KAAA,GAAA,IAAA,CAAA;;;;4BAPe,EAAA,GAAA,CAAA,KAAA,IAAI,CAAC,eAAe,EAAC,uBAAuB,CAAA;IACtE,wBAAA,EAAA,GAAA,CAAA,EAAA,GAAAU,aAAQ,EAAC,UAAU,CAAA;;oDACd,QAAQ,CAAC,OAAO,EAAE;;kCACV,CAAA,EAAA,GAAA,QAAQ,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAC,EAA3B,OAA2B,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;IAAE,wBAAA,OAAA,CAAA,CAAA,YAAM,OAAO,CAAC,GAAG,CACvD,CAAA,EAAA,GAAA,QAAQ,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,CAAC,UAAO,IAAI,EAAA,EAAK,OAAA,SAAA,CAAA,KAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA,EAAA,OAAA,WAAA,CAAA,IAAA,EAAA,UAAA,EAAA,EAAA;;IAAC,oCAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAA,QAAA,EAAE,IAAI,EAAA,IAAA,EAAE,CAAC,CAAA,CAAA;IAA7C,oCAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAA,CAAC,EAAA,CAAA,IAAA,EAA4C,EAAE,QAAQ,CAAA,CAAA;;IAAA,6BAAA,CAAA,CAAA,EAAA,CAAA,CAAvD,EAAuD,CAAC,CAC/F,CAAA,CAAA;;IAFqC,wBAAA,EAAA,GAAA,SAErC,CAAA;;;IAAG,wBAAA,EAAA,GAAA,EAAE,CAAA;;gCALgB,OAAA,CAAA,CAAA,aAAA,EAAA,CAAA,KAAA,CAAA,EAAA,EAAA,CAC1B,uCAEE,EAAS,CAAA,SAAA,GAAA,EAED,EACR,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CACH,CAAA,CAAC,SAAS,EAAE,CAAA,CAAA;;;IAAA,SAAA,CAAA,GAAA,CACd,EACDnB,aAAG,CAAC,UAAA,QAAQ,EAAA,EAAI,OAAA,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAA3C,EAA2C,CAAC,EAC5DuB,aAAG,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAA,CAAC,CAC3C,CAAA;SACF,CAAA;IAED,IAAA,WAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;YAAA,IASC,KAAA,GAAA,IAAA,CAAA;IARC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,IAAI,CAC5CvB,aAAG,CAAC,UAAC,QAAQ,EAAA;IACX,YAAA,KAAI,CAAC,eAAe,CAAC,wBAAwB,EAAE,CAAA;IAC/C,YAAA,OAAO,QAAQ,CAAA;IACjB,SAAC,CAAC,EACFS,mBAAS,CAAC,UAAC,WAAW,EAAK,EAAA,OAAA,KAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAA,EAAA,CAAC,EACnEc,aAAG,CAAC,UAAC,IAAI,EAAA,EAAK,OAAA,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,EAAA,CAAC,CAC3C,CAAA;SACF,CAAA;QAEO,WAAqB,CAAA,SAAA,CAAA,qBAAA,GAArB,UAAsB,YAAmC,EAAA;YAAzD,IAKP,KAAA,GAAA,IAAA,CAAA;IAJC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,IAAI,CACxDvB,aAAG,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,SAAS,CAAA,EAAA,CAAC,EACrCS,mBAAS,CAAC,UAAC,SAAS,EAAK,EAAA,OAAAX,OAAE,CAAC,KAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAAA,CAAC,CACjE,CAAA;SACF,CAAA;;;mIAzGU,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA2B,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,eAAA,EAAA,EAAA,EAAA,KAAA,EAMZ,YAAY,EAAA,EAAA,EAAA,KAAA,EACZ,mBAAmB,EAAA,CAAA,EAAA,MAAA,EAAAxB,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;uIAPlB,WAAW,EAAA,CAAA,CAAA;sHAAX,WAAW,EAAA,UAAA,EAAA,CAAA;sBADvBC,aAAU;;;kCAONC,SAAM;mCAAC,YAAY,CAAA;;kCACnBA,SAAM;mCAAC,mBAAmB,CAAA;;;;ACL/B,QAAA,2BAAA,kBAAA,YAAA;IACE,IAAA,SAAA,2BAAA,CAEmB,8BAA8D,EAC5B,sBAA8C,EAChF,aAA4B,EAAA;IAF5B,QAAA,IAA8B,CAAA,8BAAA,GAA9B,8BAA8B,CAAgC;IAC5B,QAAA,IAAsB,CAAA,sBAAA,GAAtB,sBAAsB,CAAwB;IAChF,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;SAC1C;QAEL,2BAAuB,CAAA,SAAA,CAAA,uBAAA,GAAvB,UAAwB,YAA+C,EAAA;YACrE,IAAM,UAAU,GAAGY,0BAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;IAEvD,QAAA,IAAI,CAACC,UAAK,CAAC,UAAU,CAAC;IAAE,YAAA,OAAOV,SAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;YAEhG,OAAOA,SAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC,CAAA;SAC3D,CAAA;QAEa,2BAA0B,CAAA,SAAA,CAAA,0BAAA,GAA1B,UACZ,YAA+C,EAAA;;;;;IAE9B,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAA,MAAA,CAAA,MAAA,CAAA,EAC/D,SAAS,EAAE,IAAI,IAAI,EAAE,IAClBoB,yBAAoB,CAAC,UAAU,CAACP,SAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAClF,CAAA,CAAA;;IAHI,wBAAA,QAAQ,GAAG,EAGf,CAAA,IAAA,EAAA,CAAA;4BAEFJ,0BAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;IAEjD,wBAAA,OAAA,CAAA,CAAA,aAAO,QAAQ,CAAA,CAAA;;;IAChB,SAAA,CAAA,CAAA;SAAA,CAAA;IAED,IAAA,2BAAA,CAAA,SAAA,CAAA,oCAAoC,GAApC,YAAA;IACE,QAAAA,0BAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAA;YAEvC,OAAOlB,OAAE,EAAE,CAAA;SACZ,CAAA;IAED,IAAA,2BAAA,CAAA,SAAA,CAAA,WAAW,GAAX,UAAY,QAAgB,EAAE,SAAiB,EAAA;YAA/C,IAMC,KAAA,GAAA,IAAA,CAAA;YALC,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC,IAAI,CACxCW,mBAAS,CAAC,UAAC,QAAQ,EACjB,EAAA,OAAA,KAAI,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAEG,kBAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,GAAA,CACnI,CACF,CAAA;SACF,CAAA;QAED,2BAAwB,CAAA,SAAA,CAAA,wBAAA,GAAxB,UAAyB,MAAc,EAAA;YAAvC,IAMC,KAAA,GAAA,IAAA,CAAA;IALC,QAAA,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC,IAAI,CACxCH,mBAAS,CAAC,UAAC,QAAQ,EAAA,EACjB,OAAA,KAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAA,EAAA,CACrE,CACF,CAAA;SACF,CAAA;;;mJAjDU,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAE5B,gCAAgC,EAAA,EAAA,EAAA,KAAA,EAEhC,wBAAwB,EAAA,EAAA,EAAA,KAAA,EAAAmB,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA1B,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;uJAJvB,2BAA2B,EAAA,CAAA,CAAA;sHAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;sBADvCC,aAAU;;;kCAGNC,SAAM;mCAAC,gCAAgC,CAAA;;kCAEvCA,SAAM;mCAAC,wBAAwB,CAAA;;;;ACIpC,QAAA,eAAA,kBAAA,YAAA;IAUE,IAAA,SAAA,eAAA,CACiD,kBAAsC,EAC1C,cAA8B,EAC3B,iBAAoC,EAC3C,WAAkB,EAAA;IAHV,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;IAC1C,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;IAC3B,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;IAC3C,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAO;IA+GnD,QAAA,IAAA,CAAA,kCAAkC,GAAG,UAAC,KAAwB,EAAA;;IAAwB,YAAA,QAAC;IAC7F,gBAAA,QAAQ,EAAEyB,aAAQ,CAAC,UAAU,CAACT,SAAI,CAAC,CAAA,CAAA,EAAA,GAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE,KAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAC3G,gBAAA,QAAQ,EACN,CAAA,CAAA,EAAA,GAAA,KAAK,aAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,CAAC,UAAC,OAAO,IAC3B,OAAAU,YAAO,CAAC,UAAU,CAChBV,SAAI,CAAC,CAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,OAAO,EAAE,KAAI,EAAE,EAAE;wBAC7B,IAAI;wBACJ,OAAO;wBACP,SAAS;wBACT,aAAa;wBACb,MAAM;wBACN,KAAK;wBACL,OAAO;wBACP,WAAW;wBACX,QAAQ;wBACR,YAAY;wBACZ,MAAM;wBACN,QAAQ;wBACR,MAAM;wBACN,MAAM;IACP,iBAAA,CAAC,CACH,CAjBD,EAiBC,CACF,KAAI,EAAE;IACV,aAAA,EAAC;aAAA,CAAA;SArIE;IAZJ,IAAA,MAAA,CAAA,cAAA,CAAY,eAAM,CAAA,SAAA,EAAA,QAAA,EAAA;IAAlB,QAAA,GAAA,EAAA,YAAA;IACE,YAAA,IAAI,IAAI,CAAC,WAAW,KAAKT,UAAK,CAAC,QAAQ;IAAE,gBAAA,OAAO,UAAU,CAAA;IAC1D,YAAA,IAAI,IAAI,CAAC,WAAW,KAAKA,UAAK,CAAC,UAAU;IAAE,gBAAA,OAAO,aAAa,CAAA;IAE/D,YAAA,OAAO,IAAI,CAAA;aACZ;;;IAAA,KAAA,CAAA,CAAA;IASD,IAAA,eAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;YAAA,IAgBC,KAAA,GAAA,IAAA,CAAA;IAfC,QAAA,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,CACrCX,aAAG,CAAC,UAAC,IAAI,IAAI,IAAA,EAAA,CAAA,CAAC,QAAC,CAAA,CAAA,EAAA,GAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,IAAI,0CAAE,SAAS,IAAG,IAAI,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,EAAC,EAAA,CAAC,EACjES,mBAAS,CAAC,UAAC,IAAI,EAAA,EACb,OAAA,IAAI;IACF,cAAEX,OAAE,CAAC,IAAI,CAAC;kBACRiC,aAAQ,CAAC,CAAC,KAAI,CAAC,mBAAmB,EAAE,EAAE,KAAI,CAAC,mBAAmB,EAAE,EAAE,KAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,IAAI,CACjG/B,aAAG,CAAC,UAAC,EAAsD,EAAA;wBAAtD,EAAA,GAAA,MAAA,CAAA,EAAA,EAAA,CAAA,CAAsD,EAArD,gBAAgB,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,gBAAgB,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,gBAAgB,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;IAAM,gBAAA,QAAC;IAC/D,oBAAA,gBAAgB,EAAA,gBAAA;IAChB,oBAAA,gBAAgB,EAAA,gBAAA;IAChB,oBAAA,gBAAgB,EAAA,gBAAA;qBACjB,EAAC;iBAAA,CAAC,EACHS,mBAAS,CAAC,UAAC,IAAI,EAAA,EAAK,OAAA,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAA,CAAC,CAC7C,CATL,EASK,CACN,CACF,CAAA;SACF,CAAA;QAED,eAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,IAAgB,EAAA;YACzB,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,CACrCT,aAAG,CAAC,UAAC,IAAI,EAAA;gBACP,IAAI,IAAI,KAAK,OAAO;oBAAE,OAAO,IAAI,CAAC,cAAc,CAAA;gBAChD,IAAI,IAAI,KAAK,UAAU;IAAE,gBAAA,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;gBACrD,IAAI,IAAI,KAAK,OAAO;oBAAE,OAAO,IAAI,CAAC,YAAY,CAAA;gBAC9C,IAAI,IAAI,KAAK,MAAM;IAAE,gBAAA,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;aAC9C,CAAC,CACH,CAAA;SACF,CAAA;IAED,IAAA,eAAA,CAAA,SAAA,CAAA,0BAA0B,GAA1B,YAAA;YACE,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAACA,aAAG,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,CAAC,uBAAuB,GAAA,CAAC,CAAC,CAAA;SACrF,CAAA;IAEO,IAAA,eAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,YAAA;YAAA,IAQP,KAAA,GAAA,IAAA,CAAA;YAPC,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,CACrCS,mBAAS,CAAC,UAAC,IAAI,IACb,OAAAF,SAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAC9EP,aAAG,CAAC,UAAC,MAAM,EAAK,EAAA,OAAA,MAAM,CAAC,GAAG,CAAC,KAAI,CAAC,kCAAkC,CAAC,CAAA,EAAA,CAAC,CACrE,CAFD,EAEC,CACF,CACF,CAAA;SACF,CAAA;IAEO,IAAA,eAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,YAAA;YAAA,IAQP,KAAA,GAAA,IAAA,CAAA;YAPC,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,CACrCS,mBAAS,CAAC,UAAC,IAAI,IACb,OAAAF,SAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAC9EP,aAAG,CAAC,UAAC,MAAM,EAAK,EAAA,OAAA,MAAM,CAAC,GAAG,CAAC,KAAI,CAAC,kCAAkC,CAAC,CAAA,EAAA,CAAC,CACrE,CAFD,EAEC,CACF,CACF,CAAA;SACF,CAAA;IAEO,IAAA,eAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,YAAA;YAAA,IAqBP,KAAA,GAAA,IAAA,CAAA;IApBC,QAAA,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,CACrCS,mBAAS,CAAC,UAAC,IAAI,EAAA,EACb,OAAAsB,aAAQ,CACN,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAC,EAAE,EAC5C,EAAA,OAAAxB,SAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAA,EAAA,EAAE,CAAC,CAAC,CAAC,IAAI,CAC5CE,mBAAS,CAAC,UAAC,QAAQ,EAAA,EACjB,OAAAF,SAAI,CACF,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;IAC1B,YAAA,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAEC,UAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;IACrE,YAAA,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IACtB,SAAA,CAAC,CACH,CAAC,IAAI,CAACR,aAAG,CAAC,UAAC,QAAQ,EAAK,EAAA,QAAC,EAAE,QAAQ,EAAA,QAAA,EAAE,QAAQ,EAAA,QAAA,EAAE,EAAvB,EAAwB,CAAC,CAAC,CALnD,EAKmD,CACpD,EACDA,aAAG,CAAC,UAAC,EAAsB,EAAA;oBAApB,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA;gBAAO,QAAC,EAAE,QAAQ,EAAA,QAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAC;IAAvC,SAAuC,CAAC,EACxEA,aAAG,CAAC,KAAI,CAAC,kCAAkC,CAAC,CAC7C,CAAA,EAAA,CACF,CACF,GAAA,CACF,CACF,CAAA;SACF,CAAA;IAEO,IAAA,eAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,YAAA;YAAA,IAYP,KAAA,GAAA,IAAA,CAAA;IAXC,QAAA,OAAOF,OAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CACpCW,mBAAS,CAAC,UAAC,IAAI,EAAA,EACb,OAAA,IAAI;IACF,cAAEX,OAAE,CAAC,IAAI,CAAC;IACV,cAAE,CAAC,KAAI,CAAC,MAAM;sBACZY,eAAU,CAAC,IAAIsB,0BAAqB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,kBAAEzB,SAAI,CAAC,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CACrDgB,aAAG,CAAC,UAAC,UAAU,EAAA,EAAK,QAAC,KAAI,CAAC,iBAAiB,GAAG,UAAU,EAAC,EAAA,CAAC,CAC3D,GAAA,CACN,CACF,CAAA;SACF,CAAA;QAEO,eAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,QAAkB,EAAA;YAA/B,IAgBP,KAAA,GAAA,IAAA,CAAA;IAfC,QAAA,IAAM,IAAI,GAAG;gBACX,SAAS,EAAE,IAAI,IAAI,EAAE;IACrB,YAAA,SAAS,EAAEU,QAAG,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACxC,YAAA,IAAI,EAAE,QAAQ;aACf,CAAA;IAED,QAAA,OAAO1B,SAAI,CACT,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;gBACzB,EAAE,EAAE,IAAI,CAAC,MAAM;IACf,YAAA,IAAI,EAAA,IAAA;IACL,SAAA,CAAC,CACH,CAAC,IAAI,CACJgB,aAAG,CAAC,YAAA,EAAM,QAAC,KAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,EAAC,EAAA,CAAC,EAC/CvB,aAAG,CAAC,YAAM,EAAA,OAAA,KAAI,CAAC,iBAAiB,CAAA,EAAA,CAAC,CAClC,CAAA;SACF,CAAA;;;IA3HU,eAAA,CAAA,IAAA,GAAAE,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,eAAe,kBAWhB,oBAAoB,EAAA,EAAA,EAAA,KAAA,EACpB,gBAAgB,EAChB,EAAA,EAAA,KAAA,EAAA,mBAAmB,aACnB,YAAY,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;2IAdX,eAAe,EAAA,CAAA,CAAA;sHAAf,eAAe,EAAA,UAAA,EAAA,CAAA;sBAD3BC,aAAU;;;kCAYNC,SAAM;mCAAC,oBAAoB,CAAA;;kCAC3BA,SAAM;mCAAC,gBAAgB,CAAA;;kCACvBA,SAAM;mCAAC,mBAAmB,CAAA;;kCAC1BA,SAAM;mCAAC,YAAY,CAAA;;;;ACjCxB,QAAA,YAAA,kBAAA,YAAA;QAGE,SACmB,YAAA,CAAA,gBAAkC,EACP,eAAyC,EAAA;IADpE,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;IACP,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAA0B;IAJvF,QAAA,IAAA,CAAA,YAAY,GAAG,IAAIiB,YAAO,EAAS,CAAA;SAK/B;QAEJ,YAAQ,CAAA,SAAA,CAAA,QAAA,GAAR,UAAS,EAAU,EAAA;YAAnB,IAQC,KAAA,GAAA,IAAA,CAAA;IAPC,QAAA,IAAI,CAAC,gBAAgB;iBAClB,GAAG,CAAkC,IAAI,CAAC,eAAe,CAAC,cAAc,GAAA,GAAA,GAAI,EAAI,CAAC;IACjF,aAAA,YAAY,EAAE;IACd,aAAA,IAAI,CAACrB,aAAG,CAAC,UAAC,GAAG,IAAK,OAAAkC,UAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAArB,EAAqB,CAAC,CAAC;IACzC,aAAA,SAAS,CAAC,UAAC,GAAG,EAAK,EAAA,OAAA,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAA3B,EAA2B,CAAC,CAAA;YAElD,OAAO,IAAI,CAAC,YAAY,CAAA;SACzB,CAAA;;;IAhBU,YAAA,CAAA,IAAA,GAAAhC,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,YAAY,+DAKb,iBAAiB,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;wIALhB,YAAY,EAAA,CAAA,CAAA;sHAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;sBADxBC,aAAU;;;kCAMNC,SAAM;mCAAC,iBAAiB,CAAA;;;;ACD7B,QAAA,eAAA,kBAAA,YAAA;IACE,IAAA,SAAA,eAAA,CACU,IAAgB,EACK,MAAc,EACnC,WAA4B,EAAA;IAF5B,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;IACK,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;IACnC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiB;SAClC;IAEG,IAAA,eAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,UACL,IAAY,EACZ,GAAW,EACX,WAAmB,EACnB,UAAkB,EAClB,QAAgB,EAChB,gBAAyB,EAAA;YANpB,IAyDN,KAAA,GAAA,IAAA,CAAA;IAjDC,QAAA,OAAOL,kBAAa,CAAC;IACnB,YAAA,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;IAC9B,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CACR,IAAI,CAAC,MAAM,GAAA,qCAAA,GAAsC,QAAQ,GAAA,cAAA,GAAe,GAAG,GAAA,eAAA,GAAgB,WAAa,CAC5G;IACF,SAAA,CAAC,CAAC,IAAI,CACLC,aAAG,CAAC,UAAC,EAAuE,EAAA;IAAvE,YAAA,IAAA,EAAA,GAAA,aAAuE,EAAtE,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,uBAAuB,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;IAClC,YAAA,IAAI,eAAe,GAAG,uBAAuB,CAAC,MAE1C,CAAA;gBAEJ,IAAI,CAAC,eAAe,CAAC,MAAM;IAAE,gBAAA,OAAO,EAAE,CAAA;IAEtC,YAAA,eAAe,GAAG,eAAe,CAAC,GAAG,CAAC,UAAC,CAAC,EAAA;IACtC,gBAAA,IAAI,CAAC,CAAC,mBAAmB,IAAI,aAAa;IAAE,oBAAA,CAAC,CAAC,mBAAmB,GAAG,UAAU,CAAA;;IACzE,oBAAA,OAAO,CAAC,CAAA;IACf,aAAC,CAAC,CAAA;IAEF,YAAA,IAAM,wBAAwB,GAAG,KAAK,CAAC,mBAAmB,CAAA;IAE1D,YAAA,IAAI,KAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE;IAC7C,gBAAA,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,UAAC,MAAM,EAAA,EAAK,OAAA,MAAM,CAAC,mBAAmB,KAAK,UAAU,CAAzC,EAAyC,CAAC,CAAA;IAChG,aAAA;gBAED,IAAI,UAAU,IAAI,GAAG,EAAE;IACrB,gBAAA,eAAe,GAAG,eAAe,CAAC,GAAG,CAAC,UAAC,CAAC,EAAA;IACtC,oBAAA,IAAI,CAAC,CAAC,WAAW,KAAK,UAAU;IAAE,wBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAY,CAAC,CAAA,EAAA,EAAE,UAAU,EAAE,CAAC,EAAE,CAAA,CAAA;;IAC3D,wBAAA,OAAO,CAAC,CAAA;IACf,iBAAC,CAAC,CAAA;IACH,aAAA;IAED,YAAA,IAAI,IAAI,IAAIW,UAAK,CAAC,QAAQ;IAAE,gBAAA,OAAO,eAAe,CAAA;gBAElD,IAAI,KAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE;IAC7D,gBAAA,eAAe,GAAG,eAAe,CAAC,GAAG,CAAC,UAAC,CAAC,EAAA;IACtC,oBAAA,IAAI,CAAC,CAAC,WAAW,IAAI,UAAU;4BAAE,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAC,KAAE,UAAU,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC,EAAE,CAAA,CAAA;;IACzE,wBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAY,CAAC,CAAA,EAAA,EAAE,UAAU,EAAE,CAAC,EAAE,CAAA,CAAA;IACrC,iBAAC,CAAC,CAAA;IACH,aAAA;gBAED,IAAI,KAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE;IAC7D,gBAAA,eAAe,GAAG,eAAe,CAAC,GAAG,CAAC,UAAC,CAAC,EAAA;wBACtC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAC,KAAE,UAAU,EAAE,CAAC,CAAC,UAAU,GAAG,CAAC,EAAE,CAAA,CAAA;IAC/C,iBAAC,CAAC,CAAA;IACH,aAAA;IAED,YAAA,OAAO,eAAe,CAAA;aACvB,CAAC,CACH,CAAA;SACF,CAAA;IAEO,IAAA,eAAA,CAAA,SAAA,CAAA,4BAA4B,GAA5B,UAA6B,IAAY,EAAE,gBAAwB,EAAA;IACzE,QAAA,IAAI,CAAC,gBAAgB;IAAE,YAAA,OAAO,KAAK,CAAA;YAEnC,IAAI,IAAI,IAAIA,UAAK,CAAC,UAAU,IAAI,gBAAgB,IAAI,QAAQ,EAAE;IAC5D,YAAA,OAAO,IAAI,CAAA;IACZ,SAAA;IAED,QAAA,OAAO,KAAK,CAAA;SACb,CAAA;IAEO,IAAA,eAAA,CAAA,SAAA,CAAA,4BAA4B,GAA5B,UAA6B,IAAY,EAAE,gBAAwB,EAAA;IACzE,QAAA,IAAI,CAAC,gBAAgB;IAAE,YAAA,OAAO,KAAK,CAAA;YAEnC,IAAI,IAAI,IAAIA,UAAK,CAAC,UAAU,IAAI,gBAAgB,IAAI,OAAO,EAAE;IAC3D,YAAA,OAAO,IAAI,CAAA;IACZ,SAAA;IAED,QAAA,OAAO,KAAK,CAAA;SACb,CAAA;QAEO,eAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,KAAU,EAAA;IAC3B,QAAA,IAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAA;IAExB,QAAA,KAAK,IAAM,GAAG,IAAI,KAAK,EAAE;IACvB,YAAA,IAAI,KAAK,GAAG,IAAI,IAAI,CAAI,KAAK,CAAC,WAAW,EAAE,GAAA,GAAA,GAAI,KAAK,CAAC,GAAG,CAAC,CAAC,SAAW,CAAC,CAAA;IACtE,YAAA,IAAI,GAAG,GAAG,IAAI,IAAI,CAAI,KAAK,CAAC,WAAW,EAAE,GAAA,GAAA,GAAI,KAAK,CAAC,GAAG,CAAC,CAAC,OAAS,CAAC,CAAA;gBAElE,IAAI,KAAK,GAAG,GAAG;IAAE,gBAAA,GAAG,GAAG,IAAI,IAAI,CAAI,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,GAAA,GAAA,GAAI,KAAK,CAAC,GAAG,CAAC,CAAC,OAAS,CAAC,CAAA;IAEnF,YAAA,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,GAAG;IAAE,gBAAA,OAAO,IAAI,CAAA;IAChD,SAAA;IAED,QAAA,OAAO,KAAK,CAAA;SACb,CAAA;;;IAnGU,eAAA,CAAA,IAAA,GAAAT,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,eAAe,yDAGhB,WAAW,EAAA,EAAA,EAAA,KAAA,EAAAiC,eAAA,EAAA,CAAA,EAAA,MAAA,EAAAjC,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;2IAHV,eAAe,EAAA,CAAA,CAAA;sHAAf,eAAe,EAAA,UAAA,EAAA,CAAA;sBAD3BC,aAAU;;;kCAINC,SAAM;mCAAC,WAAW,CAAA;;;;ACsDvB,QAAA,yBAAA,kBAAA,YAAA;IAAA,IAAA,SAAA,yBAAA,GAAA;;IACS,IAAA,yBAAA,CAAA,aAAa,GAApB,UACE,OAAwB,EACxB,YAAyC,EAAA;YAEzC,OAAO;IACL,YAAA,QAAQ,EAAE,yBAAyB;IACnC,YAAA,SAAS,EAAE;IACT,gBAAA,EAAE,OAAO,EAAEgC,qBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE;IAChD,gBAAA,EAAE,OAAO,EAAEC,sBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE;IACvD,aAAA;aACF,CAAA;SACF,CAAA;;;iJAZU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAnC,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;IAAzB,yBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,yBAAyB,YA9C1BoC,sBAAiB,CAAA,EAAA,CAAA,CAAA;IA8ChB,yBAAA,CAAA,IAAA,GAAApC,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,yBAAyB,EA7CzB,SAAA,EAAA;IACT,QAAA;IACE,YAAA,OAAO,EAAE,gBAAgB;IACzB,YAAA,UAAU,EAAE,UAAC,qBAA4C,EAAE,cAA8B,EAAA;IACvF,gBAAA,OAAO,IAAIqC,mBAAc,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAA;iBACjE;IACD,YAAA,IAAI,EAAE,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;IAClD,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,uBAAuB;gBAChC,UAAU,EAAE,UAAC,eAAgC,EAAA;IAC3C,gBAAA,OAAO,IAAIC,sCAAiC,CAAC,eAAsB,CAAC,CAAA;iBACrE;gBACD,IAAI,EAAE,CAACC,kBAAe,CAAC;IACxB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,UAAU;IACnB,YAAA,UAAU,EAAE,UAAC,eAAgC,EAAE,cAA8B,EAAA;IAC3E,gBAAA,OAAO,IAAIC,aAAQ,CAAC,eAAe,EAAE,cAAc,CAAC,CAAA;iBACrD;IACD,YAAA,IAAI,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;IAC5C,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,iBAAiB;gBAC1B,UAAU,EAAE,UAAC,eAAgC,EAAA;IAC3C,gBAAA,OAAO,IAAIC,gCAA2B,CAAC,eAAsB,CAAC,CAAA;iBAC/D;gBACD,IAAI,EAAE,CAACF,kBAAe,CAAC;IACxB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,SAAS;gBAClB,UAAU,EAAE,UAAC,qBAA4C,EAAA;IACvD,gBAAA,OAAO,IAAIG,YAAO,CAAC,qBAAqB,CAAC,CAAA;iBAC1C;gBACD,IAAI,EAAE,CAAC,uBAAuB,CAAC;IAChC,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,kBAAkB;gBAC3B,UAAU,EAAE,UAAC,qBAA4C,EAAA;IACvD,gBAAA,OAAO,IAAIC,qBAAgB,CAAC,qBAAqB,CAAC,CAAA;iBACnD;gBACD,IAAI,EAAE,CAAC,uBAAuB,CAAC;IAChC,SAAA;SACF,EA5CQ,OAAA,EAAA,CAAA,CAACP,sBAAiB,CAAC,CAAA,EAAA,CAAA,CAAA;sHA8CjB,yBAAyB,EAAA,UAAA,EAAA,CAAA;sBA/CrCQ,WAAQ;IAAC,YAAA,IAAA,EAAA,CAAA;wBACR,OAAO,EAAE,CAACR,sBAAiB,CAAC;IAC5B,oBAAA,SAAS,EAAE;IACT,wBAAA;IACE,4BAAA,OAAO,EAAE,gBAAgB;IACzB,4BAAA,UAAU,EAAE,UAAC,qBAA4C,EAAE,cAA8B,EAAA;IACvF,gCAAA,OAAO,IAAIC,mBAAc,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAA;iCACjE;IACD,4BAAA,IAAI,EAAE,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;IAClD,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,uBAAuB;gCAChC,UAAU,EAAE,UAAC,eAAgC,EAAA;IAC3C,gCAAA,OAAO,IAAIC,sCAAiC,CAAC,eAAsB,CAAC,CAAA;iCACrE;gCACD,IAAI,EAAE,CAACC,kBAAe,CAAC;IACxB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,UAAU;IACnB,4BAAA,UAAU,EAAE,UAAC,eAAgC,EAAE,cAA8B,EAAA;IAC3E,gCAAA,OAAO,IAAIC,aAAQ,CAAC,eAAe,EAAE,cAAc,CAAC,CAAA;iCACrD;IACD,4BAAA,IAAI,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;IAC5C,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,iBAAiB;gCAC1B,UAAU,EAAE,UAAC,eAAgC,EAAA;IAC3C,gCAAA,OAAO,IAAIC,gCAA2B,CAAC,eAAsB,CAAC,CAAA;iCAC/D;gCACD,IAAI,EAAE,CAACF,kBAAe,CAAC;IACxB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,SAAS;gCAClB,UAAU,EAAE,UAAC,qBAA4C,EAAA;IACvD,gCAAA,OAAO,IAAIG,YAAO,CAAC,qBAAqB,CAAC,CAAA;iCAC1C;gCACD,IAAI,EAAE,CAAC,uBAAuB,CAAC;IAChC,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,kBAAkB;gCAC3B,UAAU,EAAE,UAAC,qBAA4C,EAAA;IACvD,gCAAA,OAAO,IAAIC,qBAAgB,CAAC,qBAAqB,CAAC,CAAA;iCACnD;gCACD,IAAI,EAAE,CAAC,uBAAuB,CAAC;IAChC,yBAAA;IACF,qBAAA;qBACF,CAAA;;;ICnDD,IAAA,yBAAA,kBAAA,YAAA;IAAA,IAAA,SAAA,yBAAA,GAAA;;QACS,yBAAa,CAAA,aAAA,GAApB,UAAqB,OAAiC,EAAA;YACpD,OAAO;IACL,YAAA,QAAQ,EAAE,yBAAyB;gBACnC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;aACvD,CAAA;SACF,CAAA;;;iJANU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA3C,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kJAAzB,yBAAyB,EAAA,CAAA,CAAA;IAAzB,yBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,yBAAyB,EAVzB,SAAA,EAAA;IACT,QAAA;IACE,YAAA,OAAO,EAAE6C,kBAAa;gBACtB,UAAU,EAAE,UAAC,aAAuC,EAAA;oBAClD,OAAO,IAAIA,kBAAa,CAAC,IAAIC,iBAAY,CAAC,aAAa,CAAC,CAAC,CAAA;iBAC1D;gBACD,IAAI,EAAE,CAAC,SAAS,CAAC;IAClB,SAAA;IACF,KAAA,EAAA,CAAA,CAAA;sHAEU,yBAAyB,EAAA,UAAA,EAAA,CAAA;sBAXrCF,WAAQ;IAAC,YAAA,IAAA,EAAA,CAAA;IACR,oBAAA,SAAS,EAAE;IACT,wBAAA;IACE,4BAAA,OAAO,EAAEC,kBAAa;gCACtB,UAAU,EAAE,UAAC,aAAuC,EAAA;oCAClD,OAAO,IAAIA,kBAAa,CAAC,IAAIC,iBAAY,CAAC,aAAa,CAAC,CAAC,CAAA;iCAC1D;gCACD,IAAI,EAAE,CAAC,SAAS,CAAC;IAClB,yBAAA;IACF,qBAAA;qBACF,CAAA;;;AC8OD,QAAA,sBAAA,kBAAA,YAAA;IAAA,IAAA,SAAA,sBAAA,GAAA;;IACS,IAAA,sBAAA,CAAA,aAAa,GAApB,UACE,OAGC,EACD,YAAyC,EAAA;YAEzC,OAAO;IACL,YAAA,QAAQ,EAAE,sBAAsB;IAChC,YAAA,SAAS,EAAE;oBACT,EAAE,OAAO,EAAEZ,qBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;IACzD,gBAAA,EAAE,OAAO,EAAEC,sBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE;oBACtD,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,aAAa,EAAE;IACxD,aAAA;aACF,CAAA;SACF,CAAA;;;8IAhBU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAnC,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+IAAtB,sBAAsB,EAAA,OAAA,EAAA,CA5LvBoC,sBAAiB,EAAE,yBAAyB,CAAA,EAAA,CAAA,CAAA;IA4L3C,sBAAA,CAAA,IAAA,GAAApC,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,sBAAsB,EA3LtB,SAAA,EAAA;IACT,QAAA;IACE,YAAA,OAAO,EAAE,yBAAyB;IAClC,YAAA,UAAU,EAAE,UAAC,SAA2B,EAAE,cAAuC,EAAA;oBAC/E,OAAO,IAAI+C,yCAAoC,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;iBACrF;IACD,YAAA,IAAI,EAAE,CAACC,qBAAgB,EAAE,gBAAgB,CAAC;IAC3C,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,mBAAmB;gBAC5B,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gBAAA,OAAO,IAAIC,+BAA0B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBAC3D;gBACD,IAAI,EAAE,CAACD,qBAAgB,CAAC;IACzB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAEE,gCAA2B;gBACpC,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gBAAA,OAAO,IAAIA,gCAA2B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBAC5D;gBACD,IAAI,EAAE,CAACF,qBAAgB,CAAC;IACzB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,oBAAoB;gBAC7B,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gBAAA,OAAO,IAAIG,gCAA2B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBAC5D;gBACD,IAAI,EAAE,CAACH,qBAAgB,CAAC;IACzB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,gCAAgC;gBACzC,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gBAAA,OAAO,IAAII,4CAAuC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBACxE;gBACD,IAAI,EAAE,CAACJ,qBAAgB,CAAC;IACzB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,kBAAkB;gBAC3B,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gBAAA,OAAO,IAAIK,8BAAyB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBAC1D;gBACD,IAAI,EAAE,CAACL,qBAAgB,CAAC;IACzB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,2BAA2B;gBACpC,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gBAAA,OAAO,IAAIM,uCAAkC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBACnE;gBACD,IAAI,EAAE,CAACN,qBAAgB,CAAC;IACzB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,6BAA6B;gBACtC,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gBAAA,OAAO,IAAIO,yCAAoC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBACrE;gBACD,IAAI,EAAE,CAACP,qBAAgB,CAAC;IACzB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,mBAAmB;IAC5B,YAAA,UAAU,EAAE,UACV,SAA2B,EAC3B,sBAAuD,EAAA;oBAEvD,OAAO,IAAIQ,2CAAsC,CAAC,SAAS,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAA;iBAC/F;IACD,YAAA,IAAI,EAAE,CAACR,qBAAgB,EAAE,wBAAwB,CAAC;IACnD,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,gBAAgB;gBACzB,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gBAAA,OAAO,IAAIS,4BAAuB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBACxD;gBACD,IAAI,EAAE,CAACT,qBAAgB,CAAC;IACzB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,gBAAgB;gBACzB,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gBAAA,OAAO,IAAIU,4BAAuB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBACxD;gBACD,IAAI,EAAE,CAACV,qBAAgB,CAAC;IACzB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,uBAAuB;gBAChC,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gBAAA,OAAO,IAAIW,mCAA8B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBAC/D;gBACD,IAAI,EAAE,CAACX,qBAAgB,CAAC;IACzB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,oBAAoB;gBAC7B,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gBAAA,OAAO,IAAIY,gCAA2B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBAC5D;gBACD,IAAI,EAAE,CAACZ,qBAAgB,CAAC;IACzB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,iBAAiB;gBAC1B,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gBAAA,OAAO,IAAIa,6BAAwB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBACzD;gBACD,IAAI,EAAE,CAACb,qBAAgB,CAAC;IACzB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,mBAAmB;gBAC5B,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gBAAA,OAAO,IAAIc,+BAA0B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBAC3D;gBACD,IAAI,EAAE,CAACd,qBAAgB,CAAC;IACzB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAEe,+BAA0B;gBACnC,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gBAAA,OAAO,IAAIA,+BAA0B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBAC3D;gBACD,IAAI,EAAE,CAACf,qBAAgB,CAAC;IACzB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,+BAA+B;IACxC,YAAA,UAAU,EAAE,UACV,SAA2B,EAC3B,sBAAuD,EAAA;oBAEvD,OAAO,IAAIgB,2CAAsC,CAAC,SAAS,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAA;iBAC/F;IACD,YAAA,IAAI,EAAE,CAAChB,qBAAgB,EAAE,wBAAwB,CAAC;IACnD,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,4BAA4B;gBACrC,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gBAAA,OAAO,IAAIiB,wCAAmC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBACpE;gBACD,IAAI,EAAE,CAACjB,qBAAgB,CAAC;IACzB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,+BAA+B;gBACxC,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gBAAA,OAAO,IAAIkB,2CAAsC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBACvE;gBACD,IAAI,EAAE,CAAClB,qBAAgB,CAAC;IACzB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,wBAAwB;gBACjC,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gBAAA,OAAO,IAAImB,oCAA+B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBAChE;gBACD,IAAI,EAAE,CAACnB,qBAAgB,CAAC;IACzB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,gBAAgB;gBACzB,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gBAAA,OAAO,IAAIoB,4BAAuB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBACxD;gBACD,IAAI,EAAE,CAACpB,qBAAgB,CAAC;IACzB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,uBAAuB;IAChC,YAAA,UAAU,EAAE,UAAC,SAA2B,EAAE,cAAuC,EAAA;oBAC/E,OAAO,IAAIqB,mCAA8B,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;iBAC/E;IACD,YAAA,IAAI,EAAE,CAACrB,qBAAgB,EAAE,gBAAgB,CAAC;IAC3C,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,6BAA6B;IACtC,YAAA,UAAU,EAAE,UACV,SAA2B,EAC3B,cAAuC,EAAA;oBAEvC,OAAO,IAAIsB,yCAAoC,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;iBACrF;IACD,YAAA,IAAI,EAAE,CAACtB,qBAAgB,EAAE,gBAAgB,CAAC;IAC3C,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAEuB,sCAAiC;IAC1C,YAAA,UAAU,EAAE,UAAC,SAA2B,EAAE,iBAA6C,EAAA;oBACrF,OAAO,IAAIA,sCAAiC,CAAC,SAAS,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;iBACrF;IACD,YAAA,IAAI,EAAE,CAACvB,qBAAgB,EAAEe,+BAA0B,CAAC;IACrD,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAES,kBAAe;gBACxB,UAAU,EAAE,UAAC,SAA2B,EAAA,EAAK,OAAA,YAC3C,EAAA,OAAA,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC,CAAA,EAAA,CAAA,EAAA;gBACnE,IAAI,EAAE,CAACxB,qBAAgB,CAAC;IACxB,YAAA,KAAK,EAAE,IAAI;IACZ,SAAA;SACF,EAAA,OAAA,EAAA,CA1LQ,CAACZ,sBAAiB,EAAE,yBAAyB,CAAC,CAAA,EAAA,CAAA,CAAA;sHA4L5C,sBAAsB,EAAA,UAAA,EAAA,CAAA;sBA7LlCQ,WAAQ;IAAC,YAAA,IAAA,EAAA,CAAA;IACR,oBAAA,OAAO,EAAE,CAACR,sBAAiB,EAAE,yBAAyB,CAAC;IACvD,oBAAA,SAAS,EAAE;IACT,wBAAA;IACE,4BAAA,OAAO,EAAE,yBAAyB;IAClC,4BAAA,UAAU,EAAE,UAAC,SAA2B,EAAE,cAAuC,EAAA;oCAC/E,OAAO,IAAIW,yCAAoC,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;iCACrF;IACD,4BAAA,IAAI,EAAE,CAACC,qBAAgB,EAAE,gBAAgB,CAAC;IAC3C,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,mBAAmB;gCAC5B,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gCAAA,OAAO,IAAIC,+BAA0B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iCAC3D;gCACD,IAAI,EAAE,CAACD,qBAAgB,CAAC;IACzB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAEE,gCAA2B;gCACpC,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gCAAA,OAAO,IAAIA,gCAA2B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iCAC5D;gCACD,IAAI,EAAE,CAACF,qBAAgB,CAAC;IACzB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,oBAAoB;gCAC7B,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gCAAA,OAAO,IAAIG,gCAA2B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iCAC5D;gCACD,IAAI,EAAE,CAACH,qBAAgB,CAAC;IACzB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,gCAAgC;gCACzC,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gCAAA,OAAO,IAAII,4CAAuC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iCACxE;gCACD,IAAI,EAAE,CAACJ,qBAAgB,CAAC;IACzB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,kBAAkB;gCAC3B,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gCAAA,OAAO,IAAIK,8BAAyB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iCAC1D;gCACD,IAAI,EAAE,CAACL,qBAAgB,CAAC;IACzB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,2BAA2B;gCACpC,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gCAAA,OAAO,IAAIM,uCAAkC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iCACnE;gCACD,IAAI,EAAE,CAACN,qBAAgB,CAAC;IACzB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,6BAA6B;gCACtC,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gCAAA,OAAO,IAAIO,yCAAoC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iCACrE;gCACD,IAAI,EAAE,CAACP,qBAAgB,CAAC;IACzB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,mBAAmB;IAC5B,4BAAA,UAAU,EAAE,UACV,SAA2B,EAC3B,sBAAuD,EAAA;oCAEvD,OAAO,IAAIQ,2CAAsC,CAAC,SAAS,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAA;iCAC/F;IACD,4BAAA,IAAI,EAAE,CAACR,qBAAgB,EAAE,wBAAwB,CAAC;IACnD,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,gBAAgB;gCACzB,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gCAAA,OAAO,IAAIS,4BAAuB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iCACxD;gCACD,IAAI,EAAE,CAACT,qBAAgB,CAAC;IACzB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,gBAAgB;gCACzB,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gCAAA,OAAO,IAAIU,4BAAuB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iCACxD;gCACD,IAAI,EAAE,CAACV,qBAAgB,CAAC;IACzB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,uBAAuB;gCAChC,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gCAAA,OAAO,IAAIW,mCAA8B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iCAC/D;gCACD,IAAI,EAAE,CAACX,qBAAgB,CAAC;IACzB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,oBAAoB;gCAC7B,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gCAAA,OAAO,IAAIY,gCAA2B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iCAC5D;gCACD,IAAI,EAAE,CAACZ,qBAAgB,CAAC;IACzB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,iBAAiB;gCAC1B,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gCAAA,OAAO,IAAIa,6BAAwB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iCACzD;gCACD,IAAI,EAAE,CAACb,qBAAgB,CAAC;IACzB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,mBAAmB;gCAC5B,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gCAAA,OAAO,IAAIc,+BAA0B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iCAC3D;gCACD,IAAI,EAAE,CAACd,qBAAgB,CAAC;IACzB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAEe,+BAA0B;gCACnC,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gCAAA,OAAO,IAAIA,+BAA0B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iCAC3D;gCACD,IAAI,EAAE,CAACf,qBAAgB,CAAC;IACzB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,+BAA+B;IACxC,4BAAA,UAAU,EAAE,UACV,SAA2B,EAC3B,sBAAuD,EAAA;oCAEvD,OAAO,IAAIgB,2CAAsC,CAAC,SAAS,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAA;iCAC/F;IACD,4BAAA,IAAI,EAAE,CAAChB,qBAAgB,EAAE,wBAAwB,CAAC;IACnD,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,4BAA4B;gCACrC,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gCAAA,OAAO,IAAIiB,wCAAmC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iCACpE;gCACD,IAAI,EAAE,CAACjB,qBAAgB,CAAC;IACzB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,+BAA+B;gCACxC,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gCAAA,OAAO,IAAIkB,2CAAsC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iCACvE;gCACD,IAAI,EAAE,CAAClB,qBAAgB,CAAC;IACzB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,wBAAwB;gCACjC,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gCAAA,OAAO,IAAImB,oCAA+B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iCAChE;gCACD,IAAI,EAAE,CAACnB,qBAAgB,CAAC;IACzB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,gBAAgB;gCACzB,UAAU,EAAE,UAAC,SAA2B,EAAA;IACtC,gCAAA,OAAO,IAAIoB,4BAAuB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iCACxD;gCACD,IAAI,EAAE,CAACpB,qBAAgB,CAAC;IACzB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,uBAAuB;IAChC,4BAAA,UAAU,EAAE,UAAC,SAA2B,EAAE,cAAuC,EAAA;oCAC/E,OAAO,IAAIqB,mCAA8B,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;iCAC/E;IACD,4BAAA,IAAI,EAAE,CAACrB,qBAAgB,EAAE,gBAAgB,CAAC;IAC3C,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,6BAA6B;IACtC,4BAAA,UAAU,EAAE,UACV,SAA2B,EAC3B,cAAuC,EAAA;oCAEvC,OAAO,IAAIsB,yCAAoC,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;iCACrF;IACD,4BAAA,IAAI,EAAE,CAACtB,qBAAgB,EAAE,gBAAgB,CAAC;IAC3C,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAEuB,sCAAiC;IAC1C,4BAAA,UAAU,EAAE,UAAC,SAA2B,EAAE,iBAA6C,EAAA;oCACrF,OAAO,IAAIA,sCAAiC,CAAC,SAAS,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;iCACrF;IACD,4BAAA,IAAI,EAAE,CAACvB,qBAAgB,EAAEe,+BAA0B,CAAC;IACrD,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAES,kBAAe;gCACxB,UAAU,EAAE,UAAC,SAA2B,EAAA,EAAK,OAAA,YAC3C,EAAA,OAAA,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC,CAAA,EAAA,CAAA,EAAA;gCACnE,IAAI,EAAE,CAACxB,qBAAgB,CAAC;IACxB,4BAAA,KAAK,EAAE,IAAI;IACZ,yBAAA;IACF,qBAAA;qBACF,CAAA;;;AC7ID,QAAA,0BAAA,kBAAA,YAAA;IAAA,IAAA,SAAA,0BAAA,GAAA;;QACS,0BAAa,CAAA,aAAA,GAApB,UAAqB,OAGpB,EAAA;YACC,OAAO;IACL,YAAA,QAAQ,EAAE,0BAA0B;gBACpC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;aAC5D,CAAA;SACF,CAAA;;;kJATU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAhD,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;mJAA1B,0BAA0B,EAAA,CAAA,CAAA;IAA1B,0BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,0BAA0B,EAzF1B,SAAA,EAAA;IACT,QAAA;IACE,YAAA,OAAO,EAAE,oBAAoB;IAC7B,YAAA,WAAW,EAAEyE,oCAA+B;IAC7C,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAEA,oCAA+B;IACxC,YAAA,UAAU,EAAE,UACV,OAA6B,EAC7B,iBAAiD,EACjD,wBAA+D,EAAA;IAE/D,gBAAA,OAAO,IAAIA,oCAA+B,CACxC,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,WAAW,EACnB,iBAAiB,EACjB,wBAAwB,CACzB,CAAA;iBACF;IACD,YAAA,IAAI,EAAE,CAAC,cAAc,EAAEC,mCAA8B,EAAEC,0CAAqC,CAAC;IAC9F,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,mBAAmB;IAC5B,YAAA,WAAW,EAAED,mCAA8B;IAC5C,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAEA,mCAA8B;gBACvC,UAAU,EAAE,UAAC,OAA6B,EAAA;oBACxC,OAAO,IAAIA,mCAA8B,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;iBACjF;gBACD,IAAI,EAAE,CAAC,cAAc,CAAC;IACvB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,mBAAmB;IAC5B,YAAA,WAAW,EAAEE,mCAA8B;IAC5C,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAEA,mCAA8B;gBACvC,UAAU,EAAE,UAAC,OAA6B,EAAA;oBACxC,OAAO,IAAIA,mCAA8B,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;iBACjF;gBACD,IAAI,EAAE,CAAC,cAAc,CAAC;IACvB,SAAA;IAED,QAAA;IACE,YAAA,OAAO,EAAE,0BAA0B;IACnC,YAAA,WAAW,EAAED,0CAAqC;IACnD,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAEA,0CAAqC;gBAC9C,UAAU,EAAE,UAAC,OAA6B,EAAA;oBACxC,OAAO,IAAIA,0CAAqC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;iBACxF;gBACD,IAAI,EAAE,CAAC,cAAc,CAAC;IACvB,SAAA;IAED,QAAA;IACE,YAAA,OAAO,EAAE,wBAAwB;IACjC,YAAA,WAAW,EAAEE,wCAAmC;IACjD,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAEA,wCAAmC;gBAC5C,UAAU,EAAE,UAAC,OAA6B,EAAA;oBACxC,OAAO,IAAIA,wCAAmC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;iBACtF;gBACD,IAAI,EAAE,CAAC,cAAc,CAAC;IACvB,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAE,kBAAkB;IAC3B,YAAA,WAAW,EAAEC,kCAA6B;IAC3C,SAAA;IACD,QAAA;IACE,YAAA,OAAO,EAAEA,kCAA6B;IACtC,YAAA,UAAU,EAAE,UACV,OAA6B,EAC7B,sBAA2D,EAC3D,wBAA+D,EAAA;IAE/D,gBAAA,OAAO,IAAIA,kCAA6B,CACtC,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,WAAW,EACnB,sBAAsB,EACtB,wBAAwB,CACzB,CAAA;iBACF;IACD,YAAA,IAAI,EAAE,CAAC,cAAc,EAAED,wCAAmC,EAAEF,0CAAqC,CAAC;IACnG,SAAA;IACF,KAAA,EAAA,CAAA,CAAA;sHAEU,0BAA0B,EAAA,UAAA,EAAA,CAAA;sBA1FtC/B,WAAQ;IAAC,YAAA,IAAA,EAAA,CAAA;IACR,oBAAA,SAAS,EAAE;IACT,wBAAA;IACE,4BAAA,OAAO,EAAE,oBAAoB;IAC7B,4BAAA,WAAW,EAAE6B,oCAA+B;IAC7C,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAEA,oCAA+B;IACxC,4BAAA,UAAU,EAAE,UACV,OAA6B,EAC7B,iBAAiD,EACjD,wBAA+D,EAAA;IAE/D,gCAAA,OAAO,IAAIA,oCAA+B,CACxC,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,WAAW,EACnB,iBAAiB,EACjB,wBAAwB,CACzB,CAAA;iCACF;IACD,4BAAA,IAAI,EAAE,CAAC,cAAc,EAAEC,mCAA8B,EAAEC,0CAAqC,CAAC;IAC9F,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,mBAAmB;IAC5B,4BAAA,WAAW,EAAED,mCAA8B;IAC5C,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAEA,mCAA8B;gCACvC,UAAU,EAAE,UAAC,OAA6B,EAAA;oCACxC,OAAO,IAAIA,mCAA8B,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;iCACjF;gCACD,IAAI,EAAE,CAAC,cAAc,CAAC;IACvB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,mBAAmB;IAC5B,4BAAA,WAAW,EAAEE,mCAA8B;IAC5C,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAEA,mCAA8B;gCACvC,UAAU,EAAE,UAAC,OAA6B,EAAA;oCACxC,OAAO,IAAIA,mCAA8B,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;iCACjF;gCACD,IAAI,EAAE,CAAC,cAAc,CAAC;IACvB,yBAAA;IAED,wBAAA;IACE,4BAAA,OAAO,EAAE,0BAA0B;IACnC,4BAAA,WAAW,EAAED,0CAAqC;IACnD,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAEA,0CAAqC;gCAC9C,UAAU,EAAE,UAAC,OAA6B,EAAA;oCACxC,OAAO,IAAIA,0CAAqC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;iCACxF;gCACD,IAAI,EAAE,CAAC,cAAc,CAAC;IACvB,yBAAA;IAED,wBAAA;IACE,4BAAA,OAAO,EAAE,wBAAwB;IACjC,4BAAA,WAAW,EAAEE,wCAAmC;IACjD,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAEA,wCAAmC;gCAC5C,UAAU,EAAE,UAAC,OAA6B,EAAA;oCACxC,OAAO,IAAIA,wCAAmC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;iCACtF;gCACD,IAAI,EAAE,CAAC,cAAc,CAAC;IACvB,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAE,kBAAkB;IAC3B,4BAAA,WAAW,EAAEC,kCAA6B;IAC3C,yBAAA;IACD,wBAAA;IACE,4BAAA,OAAO,EAAEA,kCAA6B;IACtC,4BAAA,UAAU,EAAE,UACV,OAA6B,EAC7B,sBAA2D,EAC3D,wBAA+D,EAAA;IAE/D,gCAAA,OAAO,IAAIA,kCAA6B,CACtC,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,WAAW,EACnB,sBAAsB,EACtB,wBAAwB,CACzB,CAAA;iCACF;IACD,4BAAA,IAAI,EAAE,CAAC,cAAc,EAAED,wCAAmC,EAAEF,0CAAqC,CAAC;IACnG,yBAAA;IACF,qBAAA;qBACF,CAAA;;;ACzED,QAAA,oBAAA,kBAAA,YAAA;IAAA,IAAA,SAAA,oBAAA,GAAA;;IACS,IAAA,oBAAA,CAAA,aAAa,GAApB,UACE,WAAkB,EAClB,OAKC,EACD,YAAyC,EAAA;YAEzC,OAAO;IACL,YAAA,QAAQ,EAAE,oBAAoB;IAC9B,YAAA,SAAS,EACJ,aAAA,CAAA,aAAA,CAAA,aAAA,CAAA,aAAA,CAAA,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,EAAC5D,UAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAC,CAAA,EAAA,MAAA,EAC7EA,UAAK,CAAC,OAAO,aAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAEmB,qBAAgB,EAAE,QAAQ,EAAE,OAAO,KAAP,IAAA,IAAA,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAE,CAAC,EAAC,CAAA,EAAA,MAAA,EAC7FnB,UAAK,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAEoB,sBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,aACxFpB,UAAK,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,EAAC,CAAA,EAAA,MAAA,EAC/FA,UAAK,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,EACtF,CAAA,EAAA,MAAA,EAACA,UAAK,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,EAC/F,CAAA;aACF,CAAA;SACF,CAAA;;;4IAtBU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAf,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;IAApB,oBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,oBAAoB,EAZrB,OAAA,EAAA,CAAAoC,sBAAiB,EAAE,sBAAsB,EAAE,0BAA0B,CAAA,EAAA,CAAA,CAAA;IAYpE,oBAAA,CAAA,IAAA,GAAApC,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,oBAAoB,EAXpB,SAAA,EAAA;YACT,WAAW;YACX,WAAW;YACX,eAAe;YACf,2BAA2B;YAC3B,aAAa;YACb,eAAe;YACf,YAAY;YACZ,eAAe;IAChB,KAAA,EAAA,OAAA,EAAA,CAVQ,CAACoC,sBAAiB,EAAE,sBAAsB,EAAE,0BAA0B,CAAC,CAAA,EAAA,CAAA,CAAA;sHAYrE,oBAAoB,EAAA,UAAA,EAAA,CAAA;sBAbhCQ,WAAQ;IAAC,YAAA,IAAA,EAAA,CAAA;IACR,oBAAA,OAAO,EAAE,CAACR,sBAAiB,EAAE,sBAAsB,EAAE,0BAA0B,CAAC;IAChF,oBAAA,SAAS,EAAE;4BACT,WAAW;4BACX,WAAW;4BACX,eAAe;4BACf,2BAA2B;4BAC3B,aAAa;4BACb,eAAe;4BACf,YAAY;4BACZ,eAAe;IAChB,qBAAA;qBACF,CAAA;;;ICpCD;;IAEG;;;;;;;;;;;;;;;;;;;;;"}
|