{"version":3,"file":"index.cjs","sources":["../../../../src/modules/finances/index.ts"],"sourcesContent":["/**\n * Auto-generated module\n * Generated from: wildberries_api_doc/13-finances.yaml\n * DO NOT EDIT MANUALLY - Changes will be overwritten on next generation\n */\n\nimport { BaseClient } from '../../client/base-client';\nimport type {\n  AccountBalanceResponse,\n  DocumentsLocale,\n  GetCategories,\n  GetDoc,\n  GetDocs,\n  GetList,\n  RequestDownload,\n  SalesReportListRequest,\n  SalesReportListItem,\n  SalesReportDetailedRequest,\n  SalesReportDetailedByIdRequest,\n  SalesReportDetailedItem,\n  AcquiringReportListRequest,\n  AcquiringReportListItem,\n  AcquiringReportDetailedRequest,\n  AcquiringReportDetailedByIdRequest,\n  AcquiringReportDetailedItem,\n} from '../../types/finances.types';\n\nexport class FinancesModule {\n  constructor(private client: BaseClient) {}\n\n  /**\n   * Получить баланс продавца\n   *\n   * Метод возвращает данные виджета баланса на [главной странице](https://seller.wildberries.ru) портала продавцов. <br><br> <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 1 запрос | 1 минута | 1 запрос | </div>\n   *\n   * @returns Account balance data including currency, current balance, and available withdrawal amount\n   * @throws {AuthenticationError} When API key is invalid (401/403)\n   * @throws {RateLimitError} When rate limit exceeded (429)\n   * @throws {ValidationError} When request data is invalid (400/422)\n   * @throws {NetworkError} When network request fails or times out\n   * @see {@link https://dev.wildberries.ru/openapi/financial-reports-and-accounting#tag/Balans}\n   * @example\n   * ```typescript\n   * const result = await sdk.finances.getAccountBalance();\n   * console.log(result);\n   * ```\n   */\n  async getAccountBalance(): Promise<AccountBalanceResponse> {\n    return this.client.get<AccountBalanceResponse>(\n      'https://finance-api.wildberries.ru/api/v1/account/balance',\n      { rateLimitKey: 'finances.accountBalance' }\n    );\n  }\n\n  /**\n   * Категории документов\n   *\n   * Метод возвращает категории документов для получения [списка документов продавца](/openapi/financial-reports-and-accounting#tag/Dokumenty/paths/~1api~1v1~1documents~1list/get). <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 10 секунд | 1 запрос | 10 секунд | 5 запросов | </div>\n   *\n   * @param [options] - Query parameters\n   * @returns List of document categories available for the seller\n   * @throws {AuthenticationError} When API key is invalid (401/403)\n   * @throws {RateLimitError} When rate limit exceeded (429)\n   * @throws {ValidationError} When request data is invalid (400/422)\n   * @throws {NetworkError} When network request fails or times out\n   * @see {@link https://dev.wildberries.ru/openapi/financial-reports-and-accounting#tag/Dokumenty}\n   * @example\n   * ```typescript\n   * const result = await sdk.finances.getDocumentsCategories({ locale: 'ru' });\n   * console.log(result);\n   * ```\n   */\n  async getDocumentsCategories(options?: { locale?: DocumentsLocale }): Promise<GetCategories> {\n    return this.client.get<GetCategories>(\n      'https://documents-api.wildberries.ru/api/v1/documents/categories',\n      { params: options, rateLimitKey: 'finances.documentsCategories' }\n    );\n  }\n\n  /**\n   * Список документов\n   *\n   * Метод возвращает список документов продавца. Вы можете получить [один](/openapi/financial-reports-and-accounting#tag/Dokumenty/paths/~1api~1v1~1documents~1download/get) или [несколько](/openapi/financial-reports-and-accounting#tag/Dokumenty/paths/~1api~1v1~1documents~1download~1all/post) документов из полученного списка. <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 10 секунд | 1 запрос | 10 секунд | 5 запросов | </div>\n   *\n   * @param [options] - Query parameters\n   * @returns Paginated list of seller documents with metadata\n   * @throws {AuthenticationError} When API key is invalid (401/403)\n   * @throws {RateLimitError} When rate limit exceeded (429)\n   * @throws {ValidationError} When request data is invalid (400/422)\n   * @throws {NetworkError} When network request fails or times out\n   * @remarks The `sort` and `order` parameters work together — specifying `order` without `sort` has no effect. The `beginTime` and `endTime` parameters define a date range and should be used as a pair.\n   * @see {@link https://dev.wildberries.ru/openapi/financial-reports-and-accounting#tag/Dokumenty}\n   * @example\n   * ```typescript\n   * const result = await sdk.finances.getDocumentsList({\n   *   locale: 'ru',\n   *   sort: 'date',\n   *   order: 'desc',\n   * });\n   * console.log(result);\n   * ```\n   */\n  async getDocumentsList(options?: {\n    locale?: DocumentsLocale;\n    beginTime?: string;\n    endTime?: string;\n    sort?: 'date' | 'category';\n    order?: 'desc' | 'asc';\n    category?: string;\n    serviceName?: string;\n    limit?: number;\n    offset?: number;\n  }): Promise<GetList> {\n    return this.client.get<GetList>('https://documents-api.wildberries.ru/api/v1/documents/list', {\n      params: options,\n      rateLimitKey: 'finances.documentsList',\n    });\n  }\n\n  /**\n   * Получить документ\n   *\n   * Метод загружает один документ из [списка документов продавца](/openapi/financial-reports-and-accounting#tag/Dokumenty/paths/~1api~1v1~1documents~1list/get). <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 10 секунд | 1 запрос | 10 секунд | 5 запросов | </div>\n   *\n   * @param options - Query parameters including required serviceName and extension\n   * @returns Document file data for the requested document\n   * @throws {AuthenticationError} When API key is invalid (401/403)\n   * @throws {RateLimitError} When rate limit exceeded (429)\n   * @throws {ValidationError} When request data is invalid (400/422)\n   * @throws {NetworkError} When network request fails or times out\n   * @see {@link https://dev.wildberries.ru/openapi/financial-reports-and-accounting#tag/Dokumenty}\n   * @example\n   * ```typescript\n   * const result = await sdk.finances.getDocumentsDownload({\n   *   serviceName: 'act',\n   *   extension: 'pdf',\n   * });\n   * console.log(result);\n   * ```\n   */\n  async getDocumentsDownload(options: { serviceName: string; extension: string }): Promise<GetDoc> {\n    return this.client.get<GetDoc>(\n      'https://documents-api.wildberries.ru/api/v1/documents/download',\n      { params: options, rateLimitKey: 'finances.documentsDownload' }\n    );\n  }\n\n  /**\n   * Получить документы\n   *\n   * Метод загружает несколько документов из [списка документов продавца](/openapi/financial-reports-and-accounting#tag/Dokumenty/paths/~1api~1v1~1documents~1list/get). <div class=\"description_limit\"> <a href=\"/openapi/api-information#tag/Vvedenie/Limity-zaprosov\">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 5 минут | 1 запрос | 5 минут | 5 запросов | </div>\n   *\n   * @param [data] - Request body data\n   * @returns Download details for the requested batch of documents\n   * @throws {AuthenticationError} When API key is invalid (401/403)\n   * @throws {RateLimitError} When rate limit exceeded (429)\n   * @throws {ValidationError} When request data is invalid (400/422)\n   * @throws {NetworkError} When network request fails or times out\n   * @see {@link https://dev.wildberries.ru/openapi/financial-reports-and-accounting#tag/Dokumenty}\n   * @example\n   * ```typescript\n   * const result = await sdk.finances.createDownloadAll({\n   *   serviceNames: ['act', 'invoice'],\n   * });\n   * console.log(result);\n   * ```\n   */\n  async createDownloadAll(data?: RequestDownload): Promise<GetDocs> {\n    return this.client.post<GetDocs>(\n      'https://documents-api.wildberries.ru/api/v1/documents/download/all',\n      data,\n      { rateLimitKey: 'finances.createDownloadAll' }\n    );\n  }\n\n  // ==========================================================================\n  // v1 Sales Reports (since v3.7.0)\n  // Replaces deprecated GET /api/v5/supplier/reportDetailByPeriod (disabled 2026-07-15)\n  // All money amounts are string (not number) — use parseMoneyAmount() helper for math.\n  // ==========================================================================\n\n  /**\n   * Список отчётов реализации (v1)\n   *\n   * Returns list of sales reports by report format. Data available from 2025-01-01.\n   *\n   * **Available token types**: Personal, Service (NOT Basic or Test)\n   *\n   * Rate limit: 1 req/min, 1 minute interval, burst 1\n   *\n   * @param data - Request body with dateFrom, dateTo, limit, offset, period\n   * @returns Array of SalesReportListItem (money sums as string — use parseMoneyAmount helper)\n   * @throws {AuthenticationError} When token type is Basic or Test — this endpoint requires Personal or Service token (401/403)\n   * @throws {RateLimitError} When rate limit exceeded (429)\n   * @throws {ValidationError} When request data is invalid (400)\n   * @throws {NetworkError} When network request fails or times out\n   * @see {@link https://dev.wildberries.ru/docs/openapi/financial-reports-and-accounting#tag/Finansovye-otchyoty/operation/postV1SalesReportsList}\n   * @since v3.7.0\n   * @example\n   * ```typescript\n   * import { parseMoneyAmount } from 'daytona-wildberries-typescript-sdk';\n   *\n   * const reports = await sdk.finances.getSalesReportsList({\n   *   dateFrom: '2026-03-17',\n   *   dateTo: '2026-03-20',\n   *   period: 'weekly',\n   * });\n   * console.log(parseMoneyAmount(reports[0].forPaySum));\n   * ```\n   */\n  async getSalesReportsList(data: SalesReportListRequest): Promise<SalesReportListItem[]> {\n    return this.client.post<SalesReportListItem[]>(\n      'https://finance-api.wildberries.ru/api/finance/v1/sales-reports/list',\n      data,\n      { rateLimitKey: 'finances.salesReportsList' }\n    );\n  }\n\n  /**\n   * Детализации к отчётам реализации за период (v1)\n   *\n   * Returns detailed rows for sales reports within a date range. Replaces the deprecated v5 method.\n   * Data available from 2024-01-29. Supports selective field loading via `fields` parameter.\n   *\n   * **Available token types**: Personal, Service (NOT Basic or Test)\n   *\n   * Rate limit: 1 req/min, 1 minute interval, burst 1\n   *\n   * @param data - Request body with dateFrom, dateTo, limit, rrdId, period, fields\n   * @returns Array of SalesReportDetailedItem (~70 fields, money amounts as string — use parseMoneyAmount)\n   * @throws {AuthenticationError} When token type is Basic or Test — this endpoint requires Personal or Service token (401/403)\n   * @throws {RateLimitError} When rate limit exceeded (429)\n   * @throws {ValidationError} When request data is invalid (400)\n   * @throws {NetworkError} When network request fails or times out\n   * @see {@link https://dev.wildberries.ru/docs/openapi/financial-reports-and-accounting#tag/Finansovye-otchyoty/operation/postV1SalesReportsDetailed}\n   * @since v3.7.0\n   * @example\n   * ```typescript\n   * import { parseMoneyAmount } from 'daytona-wildberries-typescript-sdk';\n   *\n   * const rows = await sdk.finances.getSalesReportsDetailed({\n   *   dateFrom: '2026-03-17',\n   *   dateTo: '2026-03-20',\n   *   limit: 100000,\n   *   rrdId: 0,\n   *   fields: ['rrdId', 'nmId', 'forPay'],  // Optional: load only specific fields\n   * });\n   * const totalPayout = rows.reduce((sum, r) => sum + parseMoneyAmount(r.forPay), 0);\n   * ```\n   */\n  async getSalesReportsDetailed(\n    data: SalesReportDetailedRequest\n  ): Promise<SalesReportDetailedItem[]> {\n    return this.client.post<SalesReportDetailedItem[]>(\n      'https://finance-api.wildberries.ru/api/finance/v1/sales-reports/detailed',\n      data,\n      { rateLimitKey: 'finances.salesReportsDetailed' }\n    );\n  }\n\n  /**\n   * Детализации к отчётам реализации по ID отчёта (v1)\n   *\n   * Returns detailed rows for a specific report by its ID. Data available from 2025-01-01.\n   *\n   * **BigInt precision note**: For daily reports, `reportId` may exceed `Number.MAX_SAFE_INTEGER` (2^53).\n   * If you obtained the ID from `getSalesReportsList()` response (which returns `number`),\n   * standard JSON parsing may already have truncated precision. For precision-safe handling,\n   * fetch the ID via a custom BigInt-aware parser and pass it as `bigint` or `string`.\n   *\n   * **Available token types**: Personal, Service (NOT Basic or Test)\n   *\n   * Rate limit: 1 req/min, 1 minute interval, burst 1\n   *\n   * @param reportId - Report ID (number for typical use, bigint/string for BigInt precision on daily reports)\n   * @param data - Request body with optional limit, rrdId, fields\n   * @returns Array of SalesReportDetailedItem\n   * @throws {AuthenticationError} When token type is Basic or Test — this endpoint requires Personal or Service token (401/403)\n   * @throws {RateLimitError} When rate limit exceeded (429)\n   * @throws {ValidationError} When request data is invalid (400)\n   * @throws {NetworkError} When network request fails or times out\n   * @see {@link https://dev.wildberries.ru/docs/openapi/financial-reports-and-accounting#tag/Finansovye-otchyoty/operation/postV1SalesReportsDetailedReportId}\n   * @since v3.7.0\n   * @example\n   * ```typescript\n   * // Typical weekly report usage:\n   * const rows = await sdk.finances.getSalesReportsDetailedByReportId(307401554);\n   *\n   * // Daily report with BigInt precision:\n   * const rows = await sdk.finances.getSalesReportsDetailedByReportId('9007199254740993', {\n   *   fields: ['rrdId', 'nmId', 'retailAmount'],\n   * });\n   * ```\n   */\n  async getSalesReportsDetailedByReportId(\n    reportId: number | bigint | string,\n    data: SalesReportDetailedByIdRequest = {}\n  ): Promise<SalesReportDetailedItem[]> {\n    return this.client.post<SalesReportDetailedItem[]>(\n      `https://finance-api.wildberries.ru/api/finance/v1/sales-reports/detailed/${String(reportId)}`,\n      data,\n      { rateLimitKey: 'finances.salesReportsDetailedByReportId' }\n    );\n  }\n\n  // ==========================================================================\n  // v1 Acquiring Reports (since v3.7.0) — payment acquisition costs (эквайринг)\n  // Available ONLY for Russian sellers. Personal/Service tokens only.\n  // ==========================================================================\n\n  /**\n   * Список отчётов об издержках на приём платежей (v1)\n   *\n   * Returns list of acquiring reports. **Available only to Russian sellers.**\n   *\n   * **Available token types**: Personal, Service (NOT Basic or Test)\n   *\n   * Rate limit: 1 req/min, 1 minute interval, burst 1\n   *\n   * @param data - Request body with dateFrom, dateTo, limit, offset\n   * @returns Array of AcquiringReportListItem (money sums as string — use parseMoneyAmount helper)\n   * @throws {AuthenticationError} When token type is Basic or Test — this endpoint requires Personal or Service token\n   * @throws {RateLimitError} When rate limit exceeded (429)\n   * @throws {ValidationError} When request data is invalid (400)\n   * @throws {NetworkError} When network request fails or times out\n   * @see {@link https://dev.wildberries.ru/docs/openapi/financial-reports-and-accounting#tag/Finansovye-otchyoty/operation/postV1AcquiringList}\n   * @since v3.7.0\n   * @example\n   * ```typescript\n   * import { parseMoneyAmount } from 'daytona-wildberries-typescript-sdk';\n   *\n   * const reports = await sdk.finances.getAcquiringReportsList({\n   *   dateFrom: '2026-03-17',\n   *   dateTo: '2026-03-20',\n   * });\n   * const totalFees = reports.reduce(\n   *   (sum, r) => sum + parseMoneyAmount(r.acquiringFeeSum), 0\n   * );\n   * ```\n   */\n  async getAcquiringReportsList(\n    data: AcquiringReportListRequest\n  ): Promise<AcquiringReportListItem[]> {\n    return this.client.post<AcquiringReportListItem[]>(\n      'https://finance-api.wildberries.ru/api/finance/v1/acquiring/list',\n      data,\n      { rateLimitKey: 'finances.acquiringReportsList' }\n    );\n  }\n\n  /**\n   * Детализации к отчётам об издержках на приём платежей за период (v1)\n   *\n   * Returns detailed rows for acquiring reports within a date range.\n   * **Available only to Russian sellers.** Supports selective field loading via `fields` parameter.\n   *\n   * **Available token types**: Personal, Service (NOT Basic or Test)\n   *\n   * Rate limit: 1 req/min, 1 minute interval, burst 1\n   *\n   * @param data - Request body with dateFrom, dateTo, limit, rrdId, fields\n   * @returns Array of AcquiringReportDetailedItem (money amounts as string — use parseMoneyAmount)\n   * @throws {AuthenticationError} When token type is Basic or Test — this endpoint requires Personal or Service token\n   * @throws {RateLimitError} When rate limit exceeded (429)\n   * @throws {ValidationError} When request data is invalid (400)\n   * @throws {NetworkError} When network request fails or times out\n   * @see {@link https://dev.wildberries.ru/docs/openapi/financial-reports-and-accounting#tag/Finansovye-otchyoty/operation/postV1AcquiringDetailed}\n   * @since v3.7.0\n   * @example\n   * ```typescript\n   * import { parseMoneyAmount } from 'daytona-wildberries-typescript-sdk';\n   *\n   * const rows = await sdk.finances.getAcquiringReportsDetailed({\n   *   dateFrom: '2026-03-17',\n   *   dateTo: '2026-03-20',\n   *   limit: 100000,\n   *   rrdId: 0,\n   *   fields: ['rrdId', 'acquiringBank', 'acquiringFee'],\n   * });\n   * const totalFees = rows.reduce(\n   *   (sum, r) => sum + parseMoneyAmount(r.acquiringFee), 0\n   * );\n   * ```\n   */\n  async getAcquiringReportsDetailed(\n    data: AcquiringReportDetailedRequest\n  ): Promise<AcquiringReportDetailedItem[]> {\n    return this.client.post<AcquiringReportDetailedItem[]>(\n      'https://finance-api.wildberries.ru/api/finance/v1/acquiring/detailed',\n      data,\n      { rateLimitKey: 'finances.acquiringReportsDetailed' }\n    );\n  }\n\n  /**\n   * Детализации к отчётам об издержках на приём платежей по ID отчёта (v1)\n   *\n   * Returns detailed rows for a specific acquiring report by ID.\n   * **Available only to Russian sellers.**\n   *\n   * **BigInt precision note**: For daily reports, `reportId` may exceed `Number.MAX_SAFE_INTEGER`.\n   * Pass as `bigint` or `string` for precision-safe handling.\n   *\n   * **Available token types**: Personal, Service (NOT Basic or Test)\n   *\n   * Rate limit: 1 req/min, 1 minute interval, burst 1\n   *\n   * @param reportId - Report ID (number/bigint/string)\n   * @param data - Request body with optional limit, rrdId, fields\n   * @returns Array of AcquiringReportDetailedItem\n   * @throws {AuthenticationError} When token type is Basic or Test — this endpoint requires Personal or Service token\n   * @throws {RateLimitError} When rate limit exceeded (429)\n   * @throws {ValidationError} When request data is invalid (400)\n   * @throws {NetworkError} When network request fails or times out\n   * @see {@link https://dev.wildberries.ru/docs/openapi/financial-reports-and-accounting#tag/Finansovye-otchyoty/operation/postV1AcquiringDetailedReportId}\n   * @since v3.7.0\n   * @example\n   * ```typescript\n   * import { parseMoneyAmount } from 'daytona-wildberries-typescript-sdk';\n   *\n   * // Typical number reportId\n   * const rows = await sdk.finances.getAcquiringReportsDetailedByReportId(307401554);\n   *\n   * // BigInt precision for daily reports — pass as string or bigint\n   * const rows = await sdk.finances.getAcquiringReportsDetailedByReportId(\n   *   '9007199254740993',\n   *   { fields: ['rrdId', 'acquiringFee'] }\n   * );\n   * ```\n   */\n  async getAcquiringReportsDetailedByReportId(\n    reportId: number | bigint | string,\n    data: AcquiringReportDetailedByIdRequest = {}\n  ): Promise<AcquiringReportDetailedItem[]> {\n    return this.client.post<AcquiringReportDetailedItem[]>(\n      `https://finance-api.wildberries.ru/api/finance/v1/acquiring/detailed/${String(reportId)}`,\n      data,\n      { rateLimitKey: 'finances.acquiringReportsDetailedByReportId' }\n    );\n  }\n}\n\n// Re-export all finances types from the subpath import 'daytona-wildberries-typescript-sdk/finances'.\n// Without these, consumers can import the FinancesModule class but cannot access type definitions\n// like AccountBalanceResponse, etc. — caught by DX integration test for v3.6.0.\n// @since v3.6.1\nexport type {\n  AccountBalanceResponse,\n  DocumentsLocale,\n  RequestDownload,\n  GetCategories,\n  GetList,\n  GetDoc,\n  GetDocs,\n  // v1 Sales Reports types (since v3.7.0)\n  SalesReportListRequest,\n  SalesReportListItem,\n  SalesReportDetailedRequest,\n  SalesReportDetailedByIdRequest,\n  SalesReportDetailedItem,\n  // v1 Field union types for selective loading (since v3.8.0)\n  SalesReportDetailedField,\n  AcquiringReportDetailedField,\n  // v1 Acquiring Reports types (since v3.7.0)\n  AcquiringReportListRequest,\n  AcquiringReportListItem,\n  AcquiringReportDetailedRequest,\n  AcquiringReportDetailedByIdRequest,\n  AcquiringReportDetailedItem,\n} from '../../types/finances.types';\n"],"names":["FinancesModule","client","options","data","reportId"],"mappings":"gFA2BO,MAAMA,CAAe,CAC1B,YAAoBC,EAAoB,CAApB,KAAA,OAAAA,CAAqB,CAmBzC,MAAM,mBAAqD,CACzD,OAAO,KAAK,OAAO,IACjB,4DACA,CAAE,aAAc,yBAAA,CAA0B,CAE9C,CAoBA,MAAM,uBAAuBC,EAAgE,CAC3F,OAAO,KAAK,OAAO,IACjB,mEACA,CAAE,OAAQA,EAAS,aAAc,8BAAA,CAA+B,CAEpE,CAyBA,MAAM,iBAAiBA,EAUF,CACnB,OAAO,KAAK,OAAO,IAAa,6DAA8D,CAC5F,OAAQA,EACR,aAAc,wBAAA,CACf,CACH,CAuBA,MAAM,qBAAqBA,EAAsE,CAC/F,OAAO,KAAK,OAAO,IACjB,iEACA,CAAE,OAAQA,EAAS,aAAc,4BAAA,CAA6B,CAElE,CAsBA,MAAM,kBAAkBC,EAA0C,CAChE,OAAO,KAAK,OAAO,KACjB,qEACAA,EACA,CAAE,aAAc,4BAAA,CAA6B,CAEjD,CAqCA,MAAM,oBAAoBA,EAA8D,CACtF,OAAO,KAAK,OAAO,KACjB,uEACAA,EACA,CAAE,aAAc,2BAAA,CAA4B,CAEhD,CAkCA,MAAM,wBACJA,EACoC,CACpC,OAAO,KAAK,OAAO,KACjB,2EACAA,EACA,CAAE,aAAc,+BAAA,CAAgC,CAEpD,CAoCA,MAAM,kCACJC,EACAD,EAAuC,GACH,CACpC,OAAO,KAAK,OAAO,KACjB,4EAA4E,OAAOC,CAAQ,CAAC,GAC5FD,EACA,CAAE,aAAc,yCAAA,CAA0C,CAE9D,CAqCA,MAAM,wBACJA,EACoC,CACpC,OAAO,KAAK,OAAO,KACjB,mEACAA,EACA,CAAE,aAAc,+BAAA,CAAgC,CAEpD,CAoCA,MAAM,4BACJA,EACwC,CACxC,OAAO,KAAK,OAAO,KACjB,uEACAA,EACA,CAAE,aAAc,mCAAA,CAAoC,CAExD,CAsCA,MAAM,sCACJC,EACAD,EAA2C,GACH,CACxC,OAAO,KAAK,OAAO,KACjB,wEAAwE,OAAOC,CAAQ,CAAC,GACxFD,EACA,CAAE,aAAc,6CAAA,CAA8C,CAElE,CACF"}