{"version":3,"file":"index.cjs","names":["params: Params","config: FieldsConfig[number] | undefined","result: Record<string, JsonValue>","lastEventId: string | undefined","retryDelay: number","requestInit: RequestInit","dataLines: Array<string>","eventName: string | undefined","data: unknown","joinedValues","values: string[]","style: ArraySeparatorStyle","search: string[]","buildUrl: Client[\"buildUrl\"]","entries: Array<[string, string]>","data: unknown","error: unknown","config","b: unknown","request","request: Client[\"request\"]","ofetchResponseType: OfetchResponseType | undefined","requestInit: ReqInit","optsForSse: any","url","z"],"sources":["../src/client/core/bodySerializer.gen.ts","../src/client/core/params.gen.ts","../src/client/core/queryKeySerializer.gen.ts","../src/client/core/serverSentEvents.gen.ts","../src/client/core/pathSerializer.gen.ts","../src/client/core/utils.gen.ts","../src/client/core/auth.gen.ts","../src/client/client/utils.gen.ts","../src/client/client/client.gen.ts","../src/client/client.gen.ts","../src/client/schemas.gen.ts","../package.json","../src/client/transformers.gen.ts","../src/client/zod.gen.ts","../src/client/sdk.gen.ts"],"sourcesContent":["// This file is auto-generated by @hey-api/openapi-ts\n\nimport type {\n  ArrayStyle,\n  ObjectStyle,\n  SerializerOptions,\n} from \"./pathSerializer.gen\";\n\nexport type QuerySerializer = (query: Record<string, unknown>) => string;\n\nexport type BodySerializer = (body: any) => any;\n\ntype QuerySerializerOptionsObject = {\n  allowReserved?: boolean;\n  array?: Partial<SerializerOptions<ArrayStyle>>;\n  object?: Partial<SerializerOptions<ObjectStyle>>;\n};\n\nexport type QuerySerializerOptions = QuerySerializerOptionsObject & {\n  /**\n   * Per-parameter serialization overrides. When provided, these settings\n   * override the global array/object settings for specific parameter names.\n   */\n  parameters?: Record<string, QuerySerializerOptionsObject>;\n};\n\nconst serializeFormDataPair = (\n  data: FormData,\n  key: string,\n  value: unknown,\n): void => {\n  if (typeof value === \"string\" || value instanceof Blob) {\n    data.append(key, value);\n  } else if (value instanceof Date) {\n    data.append(key, value.toISOString());\n  } else {\n    data.append(key, JSON.stringify(value));\n  }\n};\n\nconst serializeUrlSearchParamsPair = (\n  data: URLSearchParams,\n  key: string,\n  value: unknown,\n): void => {\n  if (typeof value === \"string\") {\n    data.append(key, value);\n  } else {\n    data.append(key, JSON.stringify(value));\n  }\n};\n\nexport const formDataBodySerializer = {\n  bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(\n    body: T,\n  ): FormData => {\n    const data = new FormData();\n\n    Object.entries(body).forEach(([key, value]) => {\n      if (value === undefined || value === null) {\n        return;\n      }\n      if (Array.isArray(value)) {\n        value.forEach((v) => serializeFormDataPair(data, key, v));\n      } else {\n        serializeFormDataPair(data, key, value);\n      }\n    });\n\n    return data;\n  },\n};\n\nexport const jsonBodySerializer = {\n  bodySerializer: <T>(body: T): string =>\n    JSON.stringify(body, (_key, value) =>\n      typeof value === \"bigint\" ? value.toString() : value,\n    ),\n};\n\nexport const urlSearchParamsBodySerializer = {\n  bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(\n    body: T,\n  ): string => {\n    const data = new URLSearchParams();\n\n    Object.entries(body).forEach(([key, value]) => {\n      if (value === undefined || value === null) {\n        return;\n      }\n      if (Array.isArray(value)) {\n        value.forEach((v) => serializeUrlSearchParamsPair(data, key, v));\n      } else {\n        serializeUrlSearchParamsPair(data, key, value);\n      }\n    });\n\n    return data.toString();\n  },\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\ntype Slot = \"body\" | \"headers\" | \"path\" | \"query\";\n\nexport type Field =\n  | {\n      in: Exclude<Slot, \"body\">;\n      /**\n       * Field name. This is the name we want the user to see and use.\n       */\n      key: string;\n      /**\n       * Field mapped name. This is the name we want to use in the request.\n       * If omitted, we use the same value as `key`.\n       */\n      map?: string;\n    }\n  | {\n      in: Extract<Slot, \"body\">;\n      /**\n       * Key isn't required for bodies.\n       */\n      key?: string;\n      map?: string;\n    }\n  | {\n      /**\n       * Field name. This is the name we want the user to see and use.\n       */\n      key: string;\n      /**\n       * Field mapped name. This is the name we want to use in the request.\n       * If `in` is omitted, `map` aliases `key` to the transport layer.\n       */\n      map: Slot;\n    };\n\nexport interface Fields {\n  allowExtra?: Partial<Record<Slot, boolean>>;\n  args?: ReadonlyArray<Field>;\n}\n\nexport type FieldsConfig = ReadonlyArray<Field | Fields>;\n\nconst extraPrefixesMap: Record<string, Slot> = {\n  $body_: \"body\",\n  $headers_: \"headers\",\n  $path_: \"path\",\n  $query_: \"query\",\n};\nconst extraPrefixes = Object.entries(extraPrefixesMap);\n\ntype KeyMap = Map<\n  string,\n  | {\n      in: Slot;\n      map?: string;\n    }\n  | {\n      in?: never;\n      map: Slot;\n    }\n>;\n\nconst buildKeyMap = (fields: FieldsConfig, map?: KeyMap): KeyMap => {\n  if (!map) {\n    map = new Map();\n  }\n\n  for (const config of fields) {\n    if (\"in\" in config) {\n      if (config.key) {\n        map.set(config.key, {\n          in: config.in,\n          map: config.map,\n        });\n      }\n    } else if (\"key\" in config) {\n      map.set(config.key, {\n        map: config.map,\n      });\n    } else if (config.args) {\n      buildKeyMap(config.args, map);\n    }\n  }\n\n  return map;\n};\n\ninterface Params {\n  body: unknown;\n  headers: Record<string, unknown>;\n  path: Record<string, unknown>;\n  query: Record<string, unknown>;\n}\n\nconst stripEmptySlots = (params: Params) => {\n  for (const [slot, value] of Object.entries(params)) {\n    if (value && typeof value === \"object\" && !Object.keys(value).length) {\n      delete params[slot as Slot];\n    }\n  }\n};\n\nexport const buildClientParams = (\n  args: ReadonlyArray<unknown>,\n  fields: FieldsConfig,\n) => {\n  const params: Params = {\n    body: {},\n    headers: {},\n    path: {},\n    query: {},\n  };\n\n  const map = buildKeyMap(fields);\n\n  let config: FieldsConfig[number] | undefined;\n\n  for (const [index, arg] of args.entries()) {\n    if (fields[index]) {\n      config = fields[index];\n    }\n\n    if (!config) {\n      continue;\n    }\n\n    if (\"in\" in config) {\n      if (config.key) {\n        const field = map.get(config.key)!;\n        const name = field.map || config.key;\n        if (field.in) {\n          (params[field.in] as Record<string, unknown>)[name] = arg;\n        }\n      } else {\n        params.body = arg;\n      }\n    } else {\n      for (const [key, value] of Object.entries(arg ?? {})) {\n        const field = map.get(key);\n\n        if (field) {\n          if (field.in) {\n            const name = field.map || key;\n            (params[field.in] as Record<string, unknown>)[name] = value;\n          } else {\n            params[field.map] = value;\n          }\n        } else {\n          const extra = extraPrefixes.find(([prefix]) =>\n            key.startsWith(prefix),\n          );\n\n          if (extra) {\n            const [prefix, slot] = extra;\n            (params[slot] as Record<string, unknown>)[\n              key.slice(prefix.length)\n            ] = value;\n          } else if (\"allowExtra\" in config && config.allowExtra) {\n            for (const [slot, allowed] of Object.entries(config.allowExtra)) {\n              if (allowed) {\n                (params[slot as Slot] as Record<string, unknown>)[key] = value;\n                break;\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n\n  stripEmptySlots(params);\n\n  return params;\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\n/**\n * JSON-friendly union that mirrors what Pinia Colada can hash.\n */\nexport type JsonValue =\n  | null\n  | string\n  | number\n  | boolean\n  | JsonValue[]\n  | { [key: string]: JsonValue };\n\n/**\n * Replacer that converts non-JSON values (bigint, Date, etc.) to safe substitutes.\n */\nexport const queryKeyJsonReplacer = (_key: string, value: unknown) => {\n  if (\n    value === undefined ||\n    typeof value === \"function\" ||\n    typeof value === \"symbol\"\n  ) {\n    return undefined;\n  }\n  if (typeof value === \"bigint\") {\n    return value.toString();\n  }\n  if (value instanceof Date) {\n    return value.toISOString();\n  }\n  return value;\n};\n\n/**\n * Safely stringifies a value and parses it back into a JsonValue.\n */\nexport const stringifyToJsonValue = (input: unknown): JsonValue | undefined => {\n  try {\n    const json = JSON.stringify(input, queryKeyJsonReplacer);\n    if (json === undefined) {\n      return undefined;\n    }\n    return JSON.parse(json) as JsonValue;\n  } catch {\n    return undefined;\n  }\n};\n\n/**\n * Detects plain objects (including objects with a null prototype).\n */\nconst isPlainObject = (value: unknown): value is Record<string, unknown> => {\n  if (value === null || typeof value !== \"object\") {\n    return false;\n  }\n  const prototype = Object.getPrototypeOf(value as object);\n  return prototype === Object.prototype || prototype === null;\n};\n\n/**\n * Turns URLSearchParams into a sorted JSON object for deterministic keys.\n */\nconst serializeSearchParams = (params: URLSearchParams): JsonValue => {\n  const entries = Array.from(params.entries()).sort(([a], [b]) =>\n    a.localeCompare(b),\n  );\n  const result: Record<string, JsonValue> = {};\n\n  for (const [key, value] of entries) {\n    const existing = result[key];\n    if (existing === undefined) {\n      result[key] = value;\n      continue;\n    }\n\n    if (Array.isArray(existing)) {\n      (existing as string[]).push(value);\n    } else {\n      result[key] = [existing, value];\n    }\n  }\n\n  return result;\n};\n\n/**\n * Normalizes any accepted value into a JSON-friendly shape for query keys.\n */\nexport const serializeQueryKeyValue = (\n  value: unknown,\n): JsonValue | undefined => {\n  if (value === null) {\n    return null;\n  }\n\n  if (\n    typeof value === \"string\" ||\n    typeof value === \"number\" ||\n    typeof value === \"boolean\"\n  ) {\n    return value;\n  }\n\n  if (\n    value === undefined ||\n    typeof value === \"function\" ||\n    typeof value === \"symbol\"\n  ) {\n    return undefined;\n  }\n\n  if (typeof value === \"bigint\") {\n    return value.toString();\n  }\n\n  if (value instanceof Date) {\n    return value.toISOString();\n  }\n\n  if (Array.isArray(value)) {\n    return stringifyToJsonValue(value);\n  }\n\n  if (\n    typeof URLSearchParams !== \"undefined\" &&\n    value instanceof URLSearchParams\n  ) {\n    return serializeSearchParams(value);\n  }\n\n  if (isPlainObject(value)) {\n    return stringifyToJsonValue(value);\n  }\n\n  return undefined;\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { Config } from \"./types.gen\";\n\nexport type ServerSentEventsOptions<TData = unknown> = Omit<\n  RequestInit,\n  \"method\"\n> &\n  Pick<Config, \"method\" | \"responseTransformer\" | \"responseValidator\"> & {\n    /**\n     * Fetch API implementation. You can use this option to provide a custom\n     * fetch instance.\n     *\n     * @default globalThis.fetch\n     */\n    fetch?: typeof fetch;\n    /**\n     * Implementing clients can call request interceptors inside this hook.\n     */\n    onRequest?: (url: string, init: RequestInit) => Promise<Request>;\n    /**\n     * Callback invoked when a network or parsing error occurs during streaming.\n     *\n     * This option applies only if the endpoint returns a stream of events.\n     *\n     * @param error The error that occurred.\n     */\n    onSseError?: (error: unknown) => void;\n    /**\n     * Callback invoked when an event is streamed from the server.\n     *\n     * This option applies only if the endpoint returns a stream of events.\n     *\n     * @param event Event streamed from the server.\n     * @returns Nothing (void).\n     */\n    onSseEvent?: (event: StreamEvent<TData>) => void;\n    serializedBody?: RequestInit[\"body\"];\n    /**\n     * Default retry delay in milliseconds.\n     *\n     * This option applies only if the endpoint returns a stream of events.\n     *\n     * @default 3000\n     */\n    sseDefaultRetryDelay?: number;\n    /**\n     * Maximum number of retry attempts before giving up.\n     */\n    sseMaxRetryAttempts?: number;\n    /**\n     * Maximum retry delay in milliseconds.\n     *\n     * Applies only when exponential backoff is used.\n     *\n     * This option applies only if the endpoint returns a stream of events.\n     *\n     * @default 30000\n     */\n    sseMaxRetryDelay?: number;\n    /**\n     * Optional sleep function for retry backoff.\n     *\n     * Defaults to using `setTimeout`.\n     */\n    sseSleepFn?: (ms: number) => Promise<void>;\n    url: string;\n  };\n\nexport interface StreamEvent<TData = unknown> {\n  data: TData;\n  event?: string;\n  id?: string;\n  retry?: number;\n}\n\nexport type ServerSentEventsResult<\n  TData = unknown,\n  TReturn = void,\n  TNext = unknown,\n> = {\n  stream: AsyncGenerator<\n    TData extends Record<string, unknown> ? TData[keyof TData] : TData,\n    TReturn,\n    TNext\n  >;\n};\n\nexport const createSseClient = <TData = unknown>({\n  onRequest,\n  onSseError,\n  onSseEvent,\n  responseTransformer,\n  responseValidator,\n  sseDefaultRetryDelay,\n  sseMaxRetryAttempts,\n  sseMaxRetryDelay,\n  sseSleepFn,\n  url,\n  ...options\n}: ServerSentEventsOptions): ServerSentEventsResult<TData> => {\n  let lastEventId: string | undefined;\n\n  const sleep =\n    sseSleepFn ??\n    ((ms: number) => new Promise((resolve) => setTimeout(resolve, ms)));\n\n  const createStream = async function* () {\n    let retryDelay: number = sseDefaultRetryDelay ?? 3000;\n    let attempt = 0;\n    const signal = options.signal ?? new AbortController().signal;\n\n    while (true) {\n      if (signal.aborted) break;\n\n      attempt++;\n\n      const headers =\n        options.headers instanceof Headers\n          ? options.headers\n          : new Headers(options.headers as Record<string, string> | undefined);\n\n      if (lastEventId !== undefined) {\n        headers.set(\"Last-Event-ID\", lastEventId);\n      }\n\n      try {\n        const requestInit: RequestInit = {\n          redirect: \"follow\",\n          ...options,\n          body: options.serializedBody,\n          headers,\n          signal,\n        };\n        let request = new Request(url, requestInit);\n        if (onRequest) {\n          request = await onRequest(url, requestInit);\n        }\n        // fetch must be assigned here, otherwise it would throw the error:\n        // TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation\n        const _fetch = options.fetch ?? globalThis.fetch;\n        const response = await _fetch(request);\n\n        if (!response.ok)\n          throw new Error(\n            `SSE failed: ${response.status} ${response.statusText}`,\n          );\n\n        if (!response.body) throw new Error(\"No body in SSE response\");\n\n        const reader = response.body\n          .pipeThrough(new TextDecoderStream())\n          .getReader();\n\n        let buffer = \"\";\n\n        const abortHandler = () => {\n          try {\n            reader.cancel();\n          } catch {\n            // noop\n          }\n        };\n\n        signal.addEventListener(\"abort\", abortHandler);\n\n        try {\n          while (true) {\n            const { done, value } = await reader.read();\n            if (done) break;\n            buffer += value;\n            // Normalize line endings: CRLF -> LF, then CR -> LF\n            buffer = buffer.replace(/\\r\\n/g, \"\\n\").replace(/\\r/g, \"\\n\");\n\n            const chunks = buffer.split(\"\\n\\n\");\n            buffer = chunks.pop() ?? \"\";\n\n            for (const chunk of chunks) {\n              const lines = chunk.split(\"\\n\");\n              const dataLines: Array<string> = [];\n              let eventName: string | undefined;\n\n              for (const line of lines) {\n                if (line.startsWith(\"data:\")) {\n                  dataLines.push(line.replace(/^data:\\s*/, \"\"));\n                } else if (line.startsWith(\"event:\")) {\n                  eventName = line.replace(/^event:\\s*/, \"\");\n                } else if (line.startsWith(\"id:\")) {\n                  lastEventId = line.replace(/^id:\\s*/, \"\");\n                } else if (line.startsWith(\"retry:\")) {\n                  const parsed = Number.parseInt(\n                    line.replace(/^retry:\\s*/, \"\"),\n                    10,\n                  );\n                  if (!Number.isNaN(parsed)) {\n                    retryDelay = parsed;\n                  }\n                }\n              }\n\n              let data: unknown;\n              let parsedJson = false;\n\n              if (dataLines.length) {\n                const rawData = dataLines.join(\"\\n\");\n                try {\n                  data = JSON.parse(rawData);\n                  parsedJson = true;\n                } catch {\n                  data = rawData;\n                }\n              }\n\n              if (parsedJson) {\n                if (responseValidator) {\n                  await responseValidator(data);\n                }\n\n                if (responseTransformer) {\n                  data = await responseTransformer(data);\n                }\n              }\n\n              onSseEvent?.({\n                data,\n                event: eventName,\n                id: lastEventId,\n                retry: retryDelay,\n              });\n\n              if (dataLines.length) {\n                yield data as any;\n              }\n            }\n          }\n        } finally {\n          signal.removeEventListener(\"abort\", abortHandler);\n          reader.releaseLock();\n        }\n\n        break; // exit loop on normal completion\n      } catch (error) {\n        // connection failed or aborted; retry after delay\n        onSseError?.(error);\n\n        if (\n          sseMaxRetryAttempts !== undefined &&\n          attempt >= sseMaxRetryAttempts\n        ) {\n          break; // stop after firing error\n        }\n\n        // exponential backoff: double retry each attempt, cap at 30s\n        const backoff = Math.min(\n          retryDelay * 2 ** (attempt - 1),\n          sseMaxRetryDelay ?? 30000,\n        );\n        await sleep(backoff);\n      }\n    }\n  };\n\n  const stream = createStream();\n\n  return { stream };\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\ninterface SerializeOptions<T>\n  extends SerializePrimitiveOptions,\n    SerializerOptions<T> {}\n\ninterface SerializePrimitiveOptions {\n  allowReserved?: boolean;\n  name: string;\n}\n\nexport interface SerializerOptions<T> {\n  /**\n   * @default true\n   */\n  explode: boolean;\n  style: T;\n}\n\nexport type ArrayStyle = \"form\" | \"spaceDelimited\" | \"pipeDelimited\";\nexport type ArraySeparatorStyle = ArrayStyle | MatrixStyle;\ntype MatrixStyle = \"label\" | \"matrix\" | \"simple\";\nexport type ObjectStyle = \"form\" | \"deepObject\";\ntype ObjectSeparatorStyle = ObjectStyle | MatrixStyle;\n\ninterface SerializePrimitiveParam extends SerializePrimitiveOptions {\n  value: string;\n}\n\nexport const separatorArrayExplode = (style: ArraySeparatorStyle) => {\n  switch (style) {\n    case \"label\":\n      return \".\";\n    case \"matrix\":\n      return \";\";\n    case \"simple\":\n      return \",\";\n    default:\n      return \"&\";\n  }\n};\n\nexport const separatorArrayNoExplode = (style: ArraySeparatorStyle) => {\n  switch (style) {\n    case \"form\":\n      return \",\";\n    case \"pipeDelimited\":\n      return \"|\";\n    case \"spaceDelimited\":\n      return \"%20\";\n    default:\n      return \",\";\n  }\n};\n\nexport const separatorObjectExplode = (style: ObjectSeparatorStyle) => {\n  switch (style) {\n    case \"label\":\n      return \".\";\n    case \"matrix\":\n      return \";\";\n    case \"simple\":\n      return \",\";\n    default:\n      return \"&\";\n  }\n};\n\nexport const serializeArrayParam = ({\n  allowReserved,\n  explode,\n  name,\n  style,\n  value,\n}: SerializeOptions<ArraySeparatorStyle> & {\n  value: unknown[];\n}) => {\n  if (!explode) {\n    const joinedValues = (\n      allowReserved ? value : value.map((v) => encodeURIComponent(v as string))\n    ).join(separatorArrayNoExplode(style));\n    switch (style) {\n      case \"label\":\n        return `.${joinedValues}`;\n      case \"matrix\":\n        return `;${name}=${joinedValues}`;\n      case \"simple\":\n        return joinedValues;\n      default:\n        return `${name}=${joinedValues}`;\n    }\n  }\n\n  const separator = separatorArrayExplode(style);\n  const joinedValues = value\n    .map((v) => {\n      if (style === \"label\" || style === \"simple\") {\n        return allowReserved ? v : encodeURIComponent(v as string);\n      }\n\n      return serializePrimitiveParam({\n        allowReserved,\n        name,\n        value: v as string,\n      });\n    })\n    .join(separator);\n  return style === \"label\" || style === \"matrix\"\n    ? separator + joinedValues\n    : joinedValues;\n};\n\nexport const serializePrimitiveParam = ({\n  allowReserved,\n  name,\n  value,\n}: SerializePrimitiveParam) => {\n  if (value === undefined || value === null) {\n    return \"\";\n  }\n\n  if (typeof value === \"object\") {\n    throw new Error(\n      \"Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.\",\n    );\n  }\n\n  return `${name}=${allowReserved ? value : encodeURIComponent(value)}`;\n};\n\nexport const serializeObjectParam = ({\n  allowReserved,\n  explode,\n  name,\n  style,\n  value,\n  valueOnly,\n}: SerializeOptions<ObjectSeparatorStyle> & {\n  value: Record<string, unknown> | Date;\n  valueOnly?: boolean;\n}) => {\n  if (value instanceof Date) {\n    return valueOnly ? value.toISOString() : `${name}=${value.toISOString()}`;\n  }\n\n  if (style !== \"deepObject\" && !explode) {\n    let values: string[] = [];\n    Object.entries(value).forEach(([key, v]) => {\n      values = [\n        ...values,\n        key,\n        allowReserved ? (v as string) : encodeURIComponent(v as string),\n      ];\n    });\n    const joinedValues = values.join(\",\");\n    switch (style) {\n      case \"form\":\n        return `${name}=${joinedValues}`;\n      case \"label\":\n        return `.${joinedValues}`;\n      case \"matrix\":\n        return `;${name}=${joinedValues}`;\n      default:\n        return joinedValues;\n    }\n  }\n\n  const separator = separatorObjectExplode(style);\n  const joinedValues = Object.entries(value)\n    .map(([key, v]) =>\n      serializePrimitiveParam({\n        allowReserved,\n        name: style === \"deepObject\" ? `${name}[${key}]` : key,\n        value: v as string,\n      }),\n    )\n    .join(separator);\n  return style === \"label\" || style === \"matrix\"\n    ? separator + joinedValues\n    : joinedValues;\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { BodySerializer, QuerySerializer } from \"./bodySerializer.gen\";\nimport {\n  type ArraySeparatorStyle,\n  serializeArrayParam,\n  serializeObjectParam,\n  serializePrimitiveParam,\n} from \"./pathSerializer.gen\";\n\nexport interface PathSerializer {\n  path: Record<string, unknown>;\n  url: string;\n}\n\nexport const PATH_PARAM_RE = /\\{[^{}]+\\}/g;\n\nexport const defaultPathSerializer = ({ path, url: _url }: PathSerializer) => {\n  let url = _url;\n  const matches = _url.match(PATH_PARAM_RE);\n  if (matches) {\n    for (const match of matches) {\n      let explode = false;\n      let name = match.substring(1, match.length - 1);\n      let style: ArraySeparatorStyle = \"simple\";\n\n      if (name.endsWith(\"*\")) {\n        explode = true;\n        name = name.substring(0, name.length - 1);\n      }\n\n      if (name.startsWith(\".\")) {\n        name = name.substring(1);\n        style = \"label\";\n      } else if (name.startsWith(\";\")) {\n        name = name.substring(1);\n        style = \"matrix\";\n      }\n\n      const value = path[name];\n\n      if (value === undefined || value === null) {\n        continue;\n      }\n\n      if (Array.isArray(value)) {\n        url = url.replace(\n          match,\n          serializeArrayParam({ explode, name, style, value }),\n        );\n        continue;\n      }\n\n      if (typeof value === \"object\") {\n        url = url.replace(\n          match,\n          serializeObjectParam({\n            explode,\n            name,\n            style,\n            value: value as Record<string, unknown>,\n            valueOnly: true,\n          }),\n        );\n        continue;\n      }\n\n      if (style === \"matrix\") {\n        url = url.replace(\n          match,\n          `;${serializePrimitiveParam({\n            name,\n            value: value as string,\n          })}`,\n        );\n        continue;\n      }\n\n      const replaceValue = encodeURIComponent(\n        style === \"label\" ? `.${value as string}` : (value as string),\n      );\n      url = url.replace(match, replaceValue);\n    }\n  }\n  return url;\n};\n\nexport const getUrl = ({\n  baseUrl,\n  path,\n  query,\n  querySerializer,\n  url: _url,\n}: {\n  baseUrl?: string;\n  path?: Record<string, unknown>;\n  query?: Record<string, unknown>;\n  querySerializer: QuerySerializer;\n  url: string;\n}) => {\n  const pathUrl = _url.startsWith(\"/\") ? _url : `/${_url}`;\n  let url = (baseUrl ?? \"\") + pathUrl;\n  if (path) {\n    url = defaultPathSerializer({ path, url });\n  }\n  let search = query ? querySerializer(query) : \"\";\n  if (search.startsWith(\"?\")) {\n    search = search.substring(1);\n  }\n  if (search) {\n    url += `?${search}`;\n  }\n  return url;\n};\n\nexport function getValidRequestBody(options: {\n  body?: unknown;\n  bodySerializer?: BodySerializer | null;\n  serializedBody?: unknown;\n}) {\n  const hasBody = options.body !== undefined;\n  const isSerializedBody = hasBody && options.bodySerializer;\n\n  if (isSerializedBody) {\n    if (\"serializedBody\" in options) {\n      const hasSerializedBody =\n        options.serializedBody !== undefined && options.serializedBody !== \"\";\n\n      return hasSerializedBody ? options.serializedBody : null;\n    }\n\n    // not all clients implement a serializedBody property (i.e. client-axios)\n    return options.body !== \"\" ? options.body : null;\n  }\n\n  // plain/text body\n  if (hasBody) {\n    return options.body;\n  }\n\n  // no body was provided\n  return undefined;\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nexport type AuthToken = string | undefined;\n\nexport interface Auth {\n  /**\n   * Which part of the request do we use to send the auth?\n   *\n   * @default 'header'\n   */\n  in?: \"header\" | \"query\" | \"cookie\";\n  /**\n   * Header or query parameter name.\n   *\n   * @default 'Authorization'\n   */\n  name?: string;\n  scheme?: \"basic\" | \"bearer\";\n  type: \"apiKey\" | \"http\";\n}\n\nexport const getAuthToken = async (\n  auth: Auth,\n  callback: ((auth: Auth) => Promise<AuthToken> | AuthToken) | AuthToken,\n): Promise<string | undefined> => {\n  const token =\n    typeof callback === \"function\" ? await callback(auth) : callback;\n\n  if (!token) {\n    return;\n  }\n\n  if (auth.scheme === \"bearer\") {\n    return `Bearer ${token}`;\n  }\n\n  if (auth.scheme === \"basic\") {\n    return `Basic ${btoa(token)}`;\n  }\n\n  return token;\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type {\n  FetchOptions as OfetchOptions,\n  ResponseType as OfetchResponseType,\n} from \"ofetch\";\n\nimport { getAuthToken } from \"../core/auth.gen\";\nimport type { QuerySerializerOptions } from \"../core/bodySerializer.gen\";\nimport { jsonBodySerializer } from \"../core/bodySerializer.gen\";\nimport {\n  serializeArrayParam,\n  serializeObjectParam,\n  serializePrimitiveParam,\n} from \"../core/pathSerializer.gen\";\nimport { getUrl } from \"../core/utils.gen\";\nimport type {\n  Client,\n  ClientOptions,\n  Config,\n  RequestOptions,\n  ResolvedRequestOptions,\n  ResponseStyle,\n} from \"./types.gen\";\n\nexport const createQuerySerializer = <T = unknown>({\n  parameters = {},\n  ...args\n}: QuerySerializerOptions = {}) => {\n  const querySerializer = (queryParams: T) => {\n    const search: string[] = [];\n    if (queryParams && typeof queryParams === \"object\") {\n      for (const name in queryParams) {\n        const value = queryParams[name];\n\n        if (value === undefined || value === null) {\n          continue;\n        }\n\n        const options = parameters[name] || args;\n\n        if (Array.isArray(value)) {\n          const serializedArray = serializeArrayParam({\n            allowReserved: options.allowReserved,\n            explode: true,\n            name,\n            style: \"form\",\n            value,\n            ...options.array,\n          });\n          if (serializedArray) search.push(serializedArray);\n        } else if (typeof value === \"object\") {\n          const serializedObject = serializeObjectParam({\n            allowReserved: options.allowReserved,\n            explode: true,\n            name,\n            style: \"deepObject\",\n            value: value as Record<string, unknown>,\n            ...options.object,\n          });\n          if (serializedObject) search.push(serializedObject);\n        } else {\n          const serializedPrimitive = serializePrimitiveParam({\n            allowReserved: options.allowReserved,\n            name,\n            value: value as string,\n          });\n          if (serializedPrimitive) search.push(serializedPrimitive);\n        }\n      }\n    }\n    return search.join(\"&\");\n  };\n  return querySerializer;\n};\n\n/**\n * Infers parseAs value from provided Content-Type header.\n */\nexport const getParseAs = (\n  contentType: string | null,\n): Exclude<Config[\"parseAs\"], \"auto\"> => {\n  if (!contentType) {\n    // If no Content-Type header is provided, the best we can do is return the raw response body,\n    // which is effectively the same as the 'stream' option.\n    return \"stream\";\n  }\n\n  const cleanContent = contentType.split(\";\")[0]?.trim();\n\n  if (!cleanContent) {\n    return;\n  }\n\n  if (\n    cleanContent.startsWith(\"application/json\") ||\n    cleanContent.endsWith(\"+json\")\n  ) {\n    return \"json\";\n  }\n\n  if (cleanContent === \"multipart/form-data\") {\n    return \"formData\";\n  }\n\n  if (\n    [\"application/\", \"audio/\", \"image/\", \"video/\"].some((type) =>\n      cleanContent.startsWith(type),\n    )\n  ) {\n    return \"blob\";\n  }\n\n  if (cleanContent.startsWith(\"text/\")) {\n    return \"text\";\n  }\n\n  return;\n};\n\n/**\n * Map our parseAs value to ofetch responseType when not explicitly provided.\n */\nexport const mapParseAsToResponseType = (\n  parseAs: Config[\"parseAs\"] | undefined,\n  explicit?: OfetchResponseType,\n): OfetchResponseType | undefined => {\n  if (explicit) return explicit;\n  switch (parseAs) {\n    case \"arrayBuffer\":\n    case \"blob\":\n    case \"json\":\n    case \"text\":\n    case \"stream\":\n      return parseAs;\n    case \"formData\":\n    case \"auto\":\n    default:\n      return undefined; // let ofetch auto-detect\n  }\n};\n\nconst checkForExistence = (\n  options: Pick<RequestOptions, \"auth\" | \"query\"> & {\n    headers: Headers;\n  },\n  name?: string,\n): boolean => {\n  if (!name) {\n    return false;\n  }\n  if (\n    options.headers.has(name) ||\n    options.query?.[name] ||\n    options.headers.get(\"Cookie\")?.includes(`${name}=`)\n  ) {\n    return true;\n  }\n  return false;\n};\n\nexport const setAuthParams = async ({\n  security,\n  ...options\n}: Pick<Required<RequestOptions>, \"security\"> &\n  Pick<RequestOptions, \"auth\" | \"query\"> & {\n    headers: Headers;\n  }) => {\n  for (const auth of security) {\n    if (checkForExistence(options, auth.name)) {\n      continue;\n    }\n\n    const token = await getAuthToken(auth, options.auth);\n\n    if (!token) {\n      continue;\n    }\n\n    const name = auth.name ?? \"Authorization\";\n\n    switch (auth.in) {\n      case \"query\":\n        if (!options.query) {\n          options.query = {};\n        }\n        options.query[name] = token;\n        break;\n      case \"cookie\":\n        options.headers.append(\"Cookie\", `${name}=${token}`);\n        break;\n      case \"header\":\n      default:\n        options.headers.set(name, token);\n        break;\n    }\n  }\n};\n\nexport const buildUrl: Client[\"buildUrl\"] = (options) =>\n  getUrl({\n    baseUrl: options.baseUrl as string,\n    path: options.path,\n    query: options.query,\n    querySerializer:\n      typeof options.querySerializer === \"function\"\n        ? options.querySerializer\n        : createQuerySerializer(options.querySerializer),\n    url: options.url,\n  });\n\nexport const mergeConfigs = (a: Config, b: Config): Config => {\n  const config = { ...a, ...b };\n  if (config.baseUrl?.endsWith(\"/\")) {\n    config.baseUrl = config.baseUrl.substring(0, config.baseUrl.length - 1);\n  }\n  config.headers = mergeHeaders(a.headers, b.headers);\n  return config;\n};\n\nconst headersEntries = (headers: Headers): Array<[string, string]> => {\n  const entries: Array<[string, string]> = [];\n  headers.forEach((value, key) => {\n    entries.push([key, value]);\n  });\n  return entries;\n};\n\nexport const mergeHeaders = (\n  ...headers: Array<Required<Config>[\"headers\"] | undefined>\n): Headers => {\n  const mergedHeaders = new Headers();\n  for (const header of headers) {\n    if (!header) {\n      continue;\n    }\n\n    const iterator =\n      header instanceof Headers\n        ? headersEntries(header)\n        : Object.entries(header);\n\n    for (const [key, value] of iterator) {\n      if (value === null) {\n        mergedHeaders.delete(key);\n      } else if (Array.isArray(value)) {\n        for (const v of value) {\n          mergedHeaders.append(key, v as string);\n        }\n      } else if (value !== undefined) {\n        // assume object headers are meant to be JSON stringified, i.e. their\n        // content value in OpenAPI specification is 'application/json'\n        mergedHeaders.set(\n          key,\n          typeof value === \"object\" ? JSON.stringify(value) : (value as string),\n        );\n      }\n    }\n  }\n  return mergedHeaders;\n};\n\n/**\n * Heuristic to detect whether a request body can be safely retried.\n */\nexport const isRepeatableBody = (body: unknown): boolean => {\n  if (body == null) return true; // undefined/null treated as no-body\n  if (typeof body === \"string\") return true;\n  if (typeof URLSearchParams !== \"undefined\" && body instanceof URLSearchParams)\n    return true;\n  if (typeof Uint8Array !== \"undefined\" && body instanceof Uint8Array)\n    return true;\n  if (typeof ArrayBuffer !== \"undefined\" && body instanceof ArrayBuffer)\n    return true;\n  if (typeof Blob !== \"undefined\" && body instanceof Blob) return true;\n  if (typeof FormData !== \"undefined\" && body instanceof FormData) return true;\n  // Streams are not repeatable\n  if (typeof ReadableStream !== \"undefined\" && body instanceof ReadableStream)\n    return false;\n  // Default: assume non-repeatable for unknown structured bodies\n  return false;\n};\n\n/**\n * Small helper to unify data vs fields return style.\n */\nexport const wrapDataReturn = <T>(\n  data: T,\n  result: { request: Request; response: Response },\n  responseStyle: ResponseStyle | undefined,\n):\n  | T\n  | ((T extends Record<string, unknown> ? { data: T } : { data: T }) &\n      typeof result) =>\n  (responseStyle ?? \"fields\") === \"data\"\n    ? (data as any)\n    : ({ data, ...result } as any);\n\n/**\n * Small helper to unify error vs fields return style.\n */\nexport const wrapErrorReturn = <E>(\n  error: E,\n  result: { request: Request; response: Response },\n  responseStyle: ResponseStyle | undefined,\n):\n  | undefined\n  | ((E extends Record<string, unknown> ? { error: E } : { error: E }) &\n      typeof result) =>\n  (responseStyle ?? \"fields\") === \"data\"\n    ? undefined\n    : ({ error, ...result } as any);\n\n/**\n * Build options for $ofetch.raw from our resolved opts and body.\n */\nexport const buildOfetchOptions = (\n  opts: ResolvedRequestOptions,\n  body: BodyInit | null | undefined,\n  responseType: OfetchResponseType | undefined,\n  retryOverride?: OfetchOptions[\"retry\"],\n): OfetchOptions =>\n  ({\n    agent: opts.agent as OfetchOptions[\"agent\"],\n    body,\n    credentials: opts.credentials as OfetchOptions[\"credentials\"],\n    dispatcher: opts.dispatcher as OfetchOptions[\"dispatcher\"],\n    headers: opts.headers as Headers,\n    ignoreResponseError:\n      (opts.ignoreResponseError as OfetchOptions[\"ignoreResponseError\"]) ??\n      true,\n    method: opts.method,\n    onRequest: opts.onRequest as OfetchOptions[\"onRequest\"],\n    onRequestError: opts.onRequestError as OfetchOptions[\"onRequestError\"],\n    onResponse: opts.onResponse as OfetchOptions[\"onResponse\"],\n    onResponseError: opts.onResponseError as OfetchOptions[\"onResponseError\"],\n    parseResponse: opts.parseResponse as OfetchOptions[\"parseResponse\"],\n    // URL already includes query\n    query: undefined,\n    responseType,\n    retry: retryOverride ?? (opts.retry as OfetchOptions[\"retry\"]),\n    retryDelay: opts.retryDelay as OfetchOptions[\"retryDelay\"],\n    retryStatusCodes:\n      opts.retryStatusCodes as OfetchOptions[\"retryStatusCodes\"],\n    signal: opts.signal,\n    timeout: opts.timeout as number | undefined,\n  }) as OfetchOptions;\n\n/**\n * Parse a successful response, handling empty bodies and stream cases.\n */\nexport const parseSuccess = async (\n  response: Response,\n  opts: ResolvedRequestOptions,\n  ofetchResponseType?: OfetchResponseType,\n): Promise<unknown> => {\n  // Stream requested: return stream body\n  if (ofetchResponseType === \"stream\") {\n    return response.body;\n  }\n\n  const inferredParseAs =\n    (opts.parseAs === \"auto\"\n      ? getParseAs(response.headers.get(\"Content-Type\"))\n      : opts.parseAs) ?? \"json\";\n\n  // Handle empty responses\n  if (\n    response.status === 204 ||\n    response.headers.get(\"Content-Length\") === \"0\"\n  ) {\n    switch (inferredParseAs) {\n      case \"arrayBuffer\":\n      case \"blob\":\n      case \"text\":\n        return await (response as any)[inferredParseAs]();\n      case \"formData\":\n        return new FormData();\n      case \"stream\":\n        return response.body;\n      default:\n        return {};\n    }\n  }\n\n  // Prefer ofetch-populated data unless we explicitly need raw `formData`\n  let data: unknown = (response as any)._data;\n  if (inferredParseAs === \"formData\" || typeof data === \"undefined\") {\n    switch (inferredParseAs) {\n      case \"arrayBuffer\":\n      case \"blob\":\n      case \"formData\":\n      case \"text\":\n        data = await (response as any)[inferredParseAs]();\n        break;\n      case \"json\": {\n        // Some servers return 200 with no Content-Length and empty body.\n        // response.json() would throw; detect empty via clone().text() first.\n        const txt = await response.clone().text();\n        if (!txt) {\n          data = {};\n        } else {\n          data = await (response as any).json();\n        }\n        break;\n      }\n      case \"stream\":\n        return response.body;\n    }\n  }\n\n  if (inferredParseAs === \"json\") {\n    if (opts.responseValidator) {\n      await opts.responseValidator(data);\n    }\n    if (opts.responseTransformer) {\n      data = await opts.responseTransformer(data);\n    }\n  }\n\n  return data;\n};\n\n/**\n * Parse an error response payload.\n */\nexport const parseError = async (response: Response): Promise<unknown> => {\n  let error: unknown = (response as any)._data;\n  if (typeof error === \"undefined\") {\n    const textError = await response.text();\n    try {\n      error = JSON.parse(textError);\n    } catch {\n      error = textError;\n    }\n  }\n  return error ?? ({} as string);\n};\n\ntype ErrInterceptor<Err, Res, Req, Options> = (\n  error: Err,\n  response: Res,\n  request: Req,\n  options: Options,\n) => Err | Promise<Err>;\n\ntype ReqInterceptor<Req, Options> = (\n  request: Req,\n  options: Options,\n) => Req | Promise<Req>;\n\ntype ResInterceptor<Res, Req, Options> = (\n  response: Res,\n  request: Req,\n  options: Options,\n) => Res | Promise<Res>;\n\nclass Interceptors<Interceptor> {\n  fns: Array<Interceptor | null> = [];\n\n  clear(): void {\n    this.fns = [];\n  }\n\n  eject(id: number | Interceptor): void {\n    const index = this.getInterceptorIndex(id);\n    if (this.fns[index]) {\n      this.fns[index] = null;\n    }\n  }\n\n  exists(id: number | Interceptor): boolean {\n    const index = this.getInterceptorIndex(id);\n    return Boolean(this.fns[index]);\n  }\n\n  getInterceptorIndex(id: number | Interceptor): number {\n    if (typeof id === \"number\") {\n      return this.fns[id] ? id : -1;\n    }\n    return this.fns.indexOf(id);\n  }\n\n  update(\n    id: number | Interceptor,\n    fn: Interceptor,\n  ): number | Interceptor | false {\n    const index = this.getInterceptorIndex(id);\n    if (this.fns[index]) {\n      this.fns[index] = fn;\n      return id;\n    }\n    return false;\n  }\n\n  use(fn: Interceptor): number {\n    this.fns.push(fn);\n    return this.fns.length - 1;\n  }\n}\n\nexport interface Middleware<Req, Res, Err, Options> {\n  error: Interceptors<ErrInterceptor<Err, Res, Req, Options>>;\n  request: Interceptors<ReqInterceptor<Req, Options>>;\n  response: Interceptors<ResInterceptor<Res, Req, Options>>;\n}\n\nexport const createInterceptors = <Req, Res, Err, Options>(): Middleware<\n  Req,\n  Res,\n  Err,\n  Options\n> => ({\n  error: new Interceptors<ErrInterceptor<Err, Res, Req, Options>>(),\n  request: new Interceptors<ReqInterceptor<Req, Options>>(),\n  response: new Interceptors<ResInterceptor<Res, Req, Options>>(),\n});\n\nconst defaultQuerySerializer = createQuerySerializer({\n  allowReserved: false,\n  array: {\n    explode: true,\n    style: \"form\",\n  },\n  object: {\n    explode: true,\n    style: \"deepObject\",\n  },\n});\n\nconst defaultHeaders = {\n  \"Content-Type\": \"application/json\",\n};\n\nexport const createConfig = <T extends ClientOptions = ClientOptions>(\n  override: Config<Omit<ClientOptions, keyof T> & T> = {},\n): Config<Omit<ClientOptions, keyof T> & T> => ({\n  ...jsonBodySerializer,\n  headers: defaultHeaders,\n  ignoreResponseError: true,\n  parseAs: \"auto\",\n  querySerializer: defaultQuerySerializer,\n  ...override,\n});\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { ofetch, type ResponseType as OfetchResponseType } from \"ofetch\";\n\nimport { createSseClient } from \"../core/serverSentEvents.gen\";\nimport type { HttpMethod } from \"../core/types.gen\";\nimport { getValidRequestBody } from \"../core/utils.gen\";\nimport type {\n  Client,\n  Config,\n  RequestOptions,\n  ResolvedRequestOptions,\n} from \"./types.gen\";\nimport {\n  buildOfetchOptions,\n  buildUrl,\n  createConfig,\n  createInterceptors,\n  isRepeatableBody,\n  mapParseAsToResponseType,\n  mergeConfigs,\n  mergeHeaders,\n  parseError,\n  parseSuccess,\n  setAuthParams,\n  wrapDataReturn,\n  wrapErrorReturn,\n} from \"./utils.gen\";\n\ntype ReqInit = Omit<RequestInit, \"body\" | \"headers\"> & {\n  body?: BodyInit | null | undefined;\n  headers: ReturnType<typeof mergeHeaders>;\n};\n\nexport const createClient = (config: Config = {}): Client => {\n  let _config = mergeConfigs(createConfig(), config);\n\n  const getConfig = (): Config => ({ ..._config });\n\n  const setConfig = (config: Config): Config => {\n    _config = mergeConfigs(_config, config);\n    return getConfig();\n  };\n\n  const interceptors = createInterceptors<\n    Request,\n    Response,\n    unknown,\n    ResolvedRequestOptions\n  >();\n\n  // precompute serialized / network body\n  const resolveOptions = async (options: RequestOptions) => {\n    const opts = {\n      ..._config,\n      ...options,\n      headers: mergeHeaders(_config.headers, options.headers),\n      serializedBody: undefined,\n    };\n\n    if (opts.security) {\n      await setAuthParams({\n        ...opts,\n        security: opts.security,\n      });\n    }\n\n    if (opts.requestValidator) {\n      await opts.requestValidator(opts);\n    }\n\n    if (opts.body !== undefined && opts.bodySerializer) {\n      opts.serializedBody = opts.bodySerializer(opts.body);\n    }\n\n    // remove Content-Type if body is empty to avoid invalid requests\n    if (opts.body === undefined || opts.serializedBody === \"\") {\n      opts.headers.delete(\"Content-Type\");\n    }\n\n    // if a raw body is provided (no serializer), adjust Content-Type only when it\n    // equals the default JSON value to better match the concrete body type\n    if (\n      opts.body !== undefined &&\n      opts.bodySerializer === null &&\n      (opts.headers.get(\"Content-Type\") || \"\").toLowerCase() ===\n        \"application/json\"\n    ) {\n      const b: unknown = opts.body;\n      if (typeof FormData !== \"undefined\" && b instanceof FormData) {\n        // let the runtime set the multipart boundary\n        opts.headers.delete(\"Content-Type\");\n      } else if (\n        typeof URLSearchParams !== \"undefined\" &&\n        b instanceof URLSearchParams\n      ) {\n        // standard urlencoded content type (+ charset)\n        opts.headers.set(\n          \"Content-Type\",\n          \"application/x-www-form-urlencoded;charset=UTF-8\",\n        );\n      } else if (typeof Blob !== \"undefined\" && b instanceof Blob) {\n        const t = b.type?.trim();\n        if (t) {\n          opts.headers.set(\"Content-Type\", t);\n        } else {\n          // unknown blob type: avoid sending a misleading JSON header\n          opts.headers.delete(\"Content-Type\");\n        }\n      }\n    }\n\n    // precompute network body (stability for retries and interceptors)\n    const networkBody = getValidRequestBody(opts) as\n      | RequestInit[\"body\"]\n      | null\n      | undefined;\n\n    const url = buildUrl(opts);\n\n    return { networkBody, opts, url };\n  };\n\n  // apply request interceptors and mirror header/method/signal back to opts\n  const applyRequestInterceptors = async (\n    request: Request,\n    opts: ResolvedRequestOptions,\n    body: BodyInit | null | undefined,\n  ) => {\n    for (const fn of interceptors.request.fns) {\n      if (fn) {\n        request = await fn(request, opts);\n      }\n    }\n    // reflect interceptor changes into opts used by the network layer\n    opts.headers = request.headers;\n    opts.method = request.method as Uppercase<HttpMethod>;\n    // ignore request.body changes to avoid turning serialized bodies into streams\n    // body comes only from getValidRequestBody(options)\n    // reflect signal if present\n    opts.signal = (request as any).signal as AbortSignal | undefined;\n\n    // When body is FormData, remove Content-Type header to avoid boundary mismatch.\n    // Note: We already delete Content-Type in resolveOptions for FormData, but the\n    // Request constructor (line 175) re-adds it with an auto-generated boundary.\n    // Since we pass the original FormData (not the Request's body) to ofetch, and\n    // ofetch will generate its own boundary, we must remove the Request's Content-Type\n    // to let ofetch set the correct one. Otherwise the boundary in the header won't\n    // match the boundary in the actual multipart body sent by ofetch.\n    if (typeof FormData !== \"undefined\" && body instanceof FormData) {\n      opts.headers.delete(\"Content-Type\");\n    }\n\n    return request;\n  };\n\n  // build ofetch options with stable retry logic based on body repeatability\n  const buildNetworkOptions = (\n    opts: ResolvedRequestOptions,\n    body: BodyInit | null | undefined,\n    responseType: OfetchResponseType | undefined,\n  ) => {\n    const effectiveRetry = isRepeatableBody(body)\n      ? (opts.retry as any)\n      : (0 as any);\n    return buildOfetchOptions(opts, body, responseType, effectiveRetry);\n  };\n\n  const request: Client[\"request\"] = async (options) => {\n    const {\n      networkBody: initialNetworkBody,\n      opts,\n      url,\n    } = await resolveOptions(options as any);\n    // map parseAs -> ofetch responseType once per request\n    const ofetchResponseType: OfetchResponseType | undefined =\n      mapParseAsToResponseType(opts.parseAs, opts.responseType);\n\n    const $ofetch = opts.ofetch ?? ofetch;\n\n    // create Request before network to run middleware consistently\n    const networkBody = initialNetworkBody;\n    const requestInit: ReqInit = {\n      body: networkBody,\n      headers: opts.headers as Headers,\n      method: opts.method,\n      redirect: \"follow\",\n      signal: opts.signal,\n    };\n    let request = new Request(url, requestInit);\n\n    request = await applyRequestInterceptors(request, opts, networkBody);\n    const finalUrl = request.url;\n\n    // build ofetch options and perform the request (.raw keeps the Response)\n    const responseOptions = buildNetworkOptions(\n      opts as ResolvedRequestOptions,\n      networkBody,\n      ofetchResponseType,\n    );\n\n    let response = await $ofetch.raw(finalUrl, responseOptions);\n\n    for (const fn of interceptors.response.fns) {\n      if (fn) {\n        response = await fn(response, request, opts);\n      }\n    }\n\n    const result = { request, response };\n\n    if (response.ok) {\n      const data = await parseSuccess(response, opts, ofetchResponseType);\n      return wrapDataReturn(data, result, opts.responseStyle);\n    }\n\n    let finalError = await parseError(response);\n\n    for (const fn of interceptors.error.fns) {\n      if (fn) {\n        finalError = await fn(finalError, response, request, opts);\n      }\n    }\n\n    // ensure error is never undefined after interceptors\n    finalError = (finalError as any) || ({} as string);\n\n    if (opts.throwOnError) {\n      throw finalError;\n    }\n\n    return wrapErrorReturn(finalError, result, opts.responseStyle) as any;\n  };\n\n  const makeMethodFn =\n    (method: Uppercase<HttpMethod>) => (options: RequestOptions) =>\n      request({ ...options, method } as any);\n\n  const makeSseFn =\n    (method: Uppercase<HttpMethod>) => async (options: RequestOptions) => {\n      const { networkBody, opts, url } = await resolveOptions(options);\n      const optsForSse: any = { ...opts };\n      delete optsForSse.body; // body is provided via serializedBody below\n      return createSseClient({\n        ...optsForSse,\n        fetch: opts.fetch,\n        headers: opts.headers as Headers,\n        method,\n        onRequest: async (url, init) => {\n          let request = new Request(url, init);\n          request = await applyRequestInterceptors(request, opts, networkBody);\n          return request;\n        },\n        serializedBody: networkBody as BodyInit | null | undefined,\n        signal: opts.signal,\n        url,\n      });\n    };\n\n  return {\n    buildUrl,\n    connect: makeMethodFn(\"CONNECT\"),\n    delete: makeMethodFn(\"DELETE\"),\n    get: makeMethodFn(\"GET\"),\n    getConfig,\n    head: makeMethodFn(\"HEAD\"),\n    interceptors,\n    options: makeMethodFn(\"OPTIONS\"),\n    patch: makeMethodFn(\"PATCH\"),\n    post: makeMethodFn(\"POST\"),\n    put: makeMethodFn(\"PUT\"),\n    request,\n    setConfig,\n    sse: {\n      connect: makeSseFn(\"CONNECT\"),\n      delete: makeSseFn(\"DELETE\"),\n      get: makeSseFn(\"GET\"),\n      head: makeSseFn(\"HEAD\"),\n      options: makeSseFn(\"OPTIONS\"),\n      patch: makeSseFn(\"PATCH\"),\n      post: makeSseFn(\"POST\"),\n      put: makeSseFn(\"PUT\"),\n      trace: makeSseFn(\"TRACE\"),\n    },\n    trace: makeMethodFn(\"TRACE\"),\n  } as Client;\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport {\n  type ClientOptions,\n  type Config,\n  createClient,\n  createConfig,\n} from \"./client\";\nimport type { ClientOptions as ClientOptions2 } from \"./types.gen\";\n\n/**\n * The `createClientConfig()` function will be called on client initialization\n * and the returned object will become the client's initial configuration.\n *\n * You may want to initialize your client this way instead of calling\n * `setConfig()`. This is useful for example if you're using Next.js\n * to ensure your client always has the correct values.\n */\nexport type CreateClientConfig<T extends ClientOptions = ClientOptions2> = (\n  override?: Config<ClientOptions & T>,\n) => Config<Required<ClientOptions> & T>;\n\nexport const client = createClient(\n  createConfig<ClientOptions2>({ baseUrl: \"https://api.farcaster.xyz\" }),\n);\n","// This file is auto-generated by @hey-api/openapi-ts\n\nexport const ProfilePictureSchema = {\n  type: \"object\",\n  properties: {\n    url: {\n      type: \"string\",\n      format: \"uri\",\n    },\n    verified: {\n      type: \"boolean\",\n    },\n  },\n} as const;\n\nexport const BioSchema = {\n  type: \"object\",\n  properties: {\n    text: {\n      type: \"string\",\n    },\n    mentions: {\n      type: \"array\",\n      items: {},\n    },\n    channelMentions: {\n      type: \"array\",\n      items: {},\n    },\n  },\n} as const;\n\nexport const LocationSchema = {\n  type: \"object\",\n  properties: {\n    placeId: {\n      type: \"string\",\n    },\n    description: {\n      type: \"string\",\n    },\n  },\n} as const;\n\nexport const ProfileSchema = {\n  type: \"object\",\n  properties: {\n    bio: {\n      $ref: \"#/components/schemas/Bio\",\n    },\n    location: {\n      $ref: \"#/components/schemas/Location\",\n    },\n  },\n} as const;\n\nexport const ViewerContextSchema = {\n  type: \"object\",\n  properties: {\n    following: {\n      type: \"boolean\",\n    },\n    followedBy: {\n      type: \"boolean\",\n    },\n    enableNotifications: {\n      type: \"boolean\",\n    },\n    canSendDirectCasts: {\n      type: \"boolean\",\n    },\n    hasUploadedInboxKeys: {\n      type: \"boolean\",\n    },\n  },\n} as const;\n\nexport const UserSchema = {\n  type: \"object\",\n  required: [\"fid\", \"displayName\", \"username\"],\n  properties: {\n    fid: {\n      type: \"integer\",\n    },\n    username: {\n      type: \"string\",\n    },\n    displayName: {\n      type: \"string\",\n    },\n    pfp: {\n      $ref: \"#/components/schemas/ProfilePicture\",\n    },\n    profile: {\n      $ref: \"#/components/schemas/Profile\",\n    },\n    followerCount: {\n      type: \"integer\",\n    },\n    followingCount: {\n      type: \"integer\",\n    },\n    viewerContext: {\n      $ref: \"#/components/schemas/ViewerContext\",\n    },\n  },\n} as const;\n\nexport const OnboardingStateSchema = {\n  type: \"object\",\n  properties: {\n    id: {\n      type: \"string\",\n      format: \"uuid\",\n    },\n    email: {\n      type: \"string\",\n      format: \"email\",\n    },\n    user: {\n      $ref: \"#/components/schemas/User\",\n    },\n    hasOnboarding: {\n      type: \"boolean\",\n    },\n    hasConfirmedEmail: {\n      type: \"boolean\",\n    },\n    handledConnectAddress: {\n      type: \"boolean\",\n    },\n    canRegisterUsername: {\n      type: \"boolean\",\n    },\n    needsRegistrationPayment: {\n      type: \"boolean\",\n    },\n    hasFid: {\n      type: \"boolean\",\n    },\n    hasFname: {\n      type: \"boolean\",\n    },\n    hasDelegatedSigner: {\n      type: \"boolean\",\n    },\n    hasSetupProfile: {\n      type: \"boolean\",\n    },\n    hasCompletedRegistration: {\n      type: \"boolean\",\n    },\n    hasStorage: {\n      type: \"boolean\",\n    },\n    handledPushNotificationsNudge: {\n      type: \"boolean\",\n    },\n    handledContactsNudge: {\n      type: \"boolean\",\n    },\n    handledInterestsNudge: {\n      type: \"boolean\",\n    },\n    hasValidPaidInvite: {\n      type: \"boolean\",\n    },\n    hasWarpcastWalletAddress: {\n      type: \"boolean\",\n    },\n    hasPhone: {\n      type: \"boolean\",\n    },\n    needsPhone: {\n      type: \"boolean\",\n    },\n    sponsoredRegisterEligible: {\n      type: \"boolean\",\n    },\n    geoRestricted: {\n      type: \"boolean\",\n    },\n  },\n} as const;\n\nexport const OnboardingStateResponseSchema = {\n  type: \"object\",\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        state: {\n          $ref: \"#/components/schemas/OnboardingState\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const GenericBadRequestErrorSchema = {\n  type: \"object\",\n  description: \"Generic 400 Bad Request error for simple error messages\",\n  properties: {\n    errors: {\n      type: \"array\",\n      items: {\n        type: \"object\",\n        properties: {\n          message: {\n            type: \"string\",\n            description: \"Error message describing the issue\",\n          },\n        },\n        required: [\"message\"],\n      },\n    },\n  },\n  required: [\"errors\"],\n} as const;\n\nexport const ErrorResponseSchema = {\n  type: \"object\",\n  properties: {\n    errors: {\n      type: \"array\",\n      items: {\n        type: \"object\",\n        properties: {\n          message: {\n            type: \"string\",\n            description: \"Error message describing the issue\",\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const UserWithExtrasSchema = {\n  allOf: [\n    {\n      $ref: \"#/components/schemas/User\",\n    },\n    {\n      type: \"object\",\n      properties: {\n        connectedAccounts: {\n          type: \"array\",\n          items: {},\n        },\n      },\n    },\n  ],\n} as const;\n\nexport const UserExtrasSchema = {\n  type: \"object\",\n  properties: {\n    fid: {\n      type: \"integer\",\n    },\n    custodyAddress: {\n      type: \"string\",\n    },\n    ethWallets: {\n      type: \"array\",\n      items: {\n        type: \"string\",\n      },\n    },\n    solanaWallets: {\n      type: \"array\",\n      items: {\n        type: \"string\",\n      },\n    },\n    walletLabels: {\n      type: \"array\",\n      items: {\n        type: \"object\",\n        properties: {\n          address: {\n            type: \"string\",\n          },\n          labels: {\n            type: \"array\",\n            items: {\n              type: \"string\",\n            },\n          },\n        },\n      },\n    },\n    v2: {\n      type: \"boolean\",\n    },\n    publicSpamLabel: {\n      type: \"string\",\n    },\n  },\n} as const;\n\nexport const UserByFidResponseSchema = {\n  type: \"object\",\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        user: {\n          $ref: \"#/components/schemas/UserWithExtras\",\n        },\n        collectionsOwned: {\n          type: \"array\",\n          items: {},\n        },\n        extras: {\n          $ref: \"#/components/schemas/UserExtras\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const ValidationErrorSchema = {\n  type: \"object\",\n  description: \"Represents a single validation error\",\n  properties: {\n    instancePath: {\n      type: \"string\",\n      description:\n        \"JSON Pointer to the part of the request that failed validation\",\n      example: \"/fid\",\n    },\n    schemaPath: {\n      type: \"string\",\n      description: \"JSON Schema path that was violated\",\n      example: \"ApiFid/type\",\n    },\n    keyword: {\n      type: \"string\",\n      description: \"The JSON Schema keyword that failed\",\n      example: \"type\",\n    },\n    params: {\n      type: \"object\",\n      description: \"Additional parameters describing the validation error\",\n      additionalProperties: true,\n      example: {\n        type: \"integer\",\n      },\n    },\n    message: {\n      type: \"string\",\n      description: \"Human-readable error description\",\n      example: \"must be integer\",\n    },\n  },\n  required: [\"instancePath\", \"schemaPath\", \"keyword\", \"message\"],\n} as const;\n\nexport const BadRequestErrorSchema = {\n  type: \"object\",\n  description: \"Standard 400 Bad Request error response\",\n  properties: {\n    errors: {\n      type: \"array\",\n      description: \"Array of validation errors\",\n      items: {\n        $ref: \"#/components/schemas/ValidationError\",\n      },\n    },\n  },\n  required: [\"errors\"],\n} as const;\n\nexport const DirectCastMessageReactionSchema = {\n  type: \"object\",\n  required: [\"reaction\", \"count\"],\n  properties: {\n    reaction: {\n      type: \"string\",\n      description: \"Emoji used for the reaction\",\n      example: \"🔥\",\n    },\n    count: {\n      type: \"integer\",\n      minimum: 1,\n      description: \"Number of users who reacted with this emoji\",\n      example: 3,\n    },\n    emoji: {\n      type: \"string\",\n      description: \"Emoji used for the reaction (legacy field)\",\n    },\n    userFids: {\n      type: \"array\",\n      items: {\n        type: \"integer\",\n      },\n      description: \"List of Farcaster IDs who reacted\",\n    },\n  },\n} as const;\n\nexport const DirectCastMessageViewerContextSchema = {\n  type: \"object\",\n  properties: {\n    isLastReadMessage: {\n      type: \"boolean\",\n      description: \"Whether this is the last read message\",\n      example: false,\n    },\n    focused: {\n      type: \"boolean\",\n      description: \"Whether the message is focused\",\n      example: false,\n    },\n    reactions: {\n      type: \"array\",\n      items: {\n        type: \"string\",\n      },\n      description: \"User's reactions to this message\",\n    },\n  },\n} as const;\n\nexport const DirectCastMessageSchema = {\n  type: \"object\",\n  required: [\n    \"conversationId\",\n    \"senderFid\",\n    \"messageId\",\n    \"serverTimestamp\",\n    \"type\",\n    \"message\",\n    \"hasMention\",\n    \"reactions\",\n    \"isPinned\",\n    \"isDeleted\",\n    \"senderContext\",\n  ],\n  properties: {\n    conversationId: {\n      type: \"string\",\n      description: \"ID of the conversation this message belongs to\",\n    },\n    senderFid: {\n      type: \"integer\",\n      description: \"Farcaster ID of the message sender\",\n    },\n    messageId: {\n      type: \"string\",\n      description: \"Unique identifier for the message\",\n    },\n    serverTimestamp: {\n      type: \"integer\",\n      format: \"int64\",\n      description: \"Server timestamp when message was sent (Unix milliseconds)\",\n      example: 1753112479748,\n    },\n    type: {\n      type: \"string\",\n      enum: [\n        \"text\",\n        \"image\",\n        \"reaction\",\n        \"link\",\n        \"group_membership_addition\",\n        \"pin_message\",\n        \"message_ttl_change\",\n      ],\n      description: \"Type of the message\",\n      example: \"text\",\n    },\n    message: {\n      type: \"string\",\n      description: \"Content of the message\",\n    },\n    hasMention: {\n      type: \"boolean\",\n      description: \"Whether the message contains mentions\",\n      example: false,\n    },\n    reactions: {\n      type: \"array\",\n      items: {\n        $ref: \"#/components/schemas/DirectCastMessageReaction\",\n      },\n      description: \"List of reactions to the message\",\n    },\n    isPinned: {\n      type: \"boolean\",\n      description: \"Whether the message is pinned\",\n      example: false,\n    },\n    isDeleted: {\n      type: \"boolean\",\n      description: \"Whether the message is deleted\",\n      example: false,\n    },\n    senderContext: {\n      $ref: \"#/components/schemas/User\",\n    },\n    viewerContext: {\n      $ref: \"#/components/schemas/DirectCastMessageViewerContext\",\n    },\n    inReplyTo: {\n      $ref: \"#/components/schemas/DirectCastMessage\",\n    },\n    metadata: {\n      $ref: \"#/components/schemas/DirectCastMessageMetadata\",\n    },\n    actionTargetUserContext: {\n      $ref: \"#/components/schemas/User\",\n    },\n    isProgrammatic: {\n      type: \"boolean\",\n      description: \"Whether the message was sent programmatically\",\n      example: false,\n    },\n    mentions: {\n      type: \"array\",\n      items: {\n        $ref: \"#/components/schemas/DirectCastMessageMention\",\n      },\n      description: \"List of mentions in the message\",\n    },\n  },\n} as const;\n\nexport const DirectCastMessageMetadataSchema = {\n  type: \"object\",\n  properties: {\n    casts: {\n      type: \"array\",\n      items: {\n        type: \"object\",\n        additionalProperties: true,\n      },\n      description: \"Cast metadata if message contains cast references\",\n    },\n    urls: {\n      type: \"array\",\n      items: {\n        type: \"object\",\n        additionalProperties: true,\n      },\n      description: \"URL metadata if message contains links\",\n    },\n    medias: {\n      type: \"array\",\n      items: {\n        type: \"object\",\n        additionalProperties: true,\n      },\n      description: \"Media metadata if message contains media\",\n    },\n  },\n} as const;\n\nexport const DirectCastMessageMentionSchema = {\n  type: \"object\",\n  required: [\"user\", \"textIndex\", \"length\"],\n  properties: {\n    user: {\n      $ref: \"#/components/schemas/User\",\n    },\n    textIndex: {\n      type: \"integer\",\n      description: \"Starting index of the mention in the message text\",\n      example: 19,\n    },\n    length: {\n      type: \"integer\",\n      description: \"Length of the mention text\",\n      example: 8,\n    },\n  },\n} as const;\n\nexport const DirectCastConversationViewerContextSchema = {\n  type: \"object\",\n  properties: {\n    access: {\n      type: \"string\",\n      enum: [\"read-write\", \"read-only\"],\n      description: \"Access level for the conversation\",\n      example: \"read-write\",\n    },\n    category: {\n      type: \"string\",\n      description: \"Category of the conversation\",\n      example: \"default\",\n    },\n    archived: {\n      type: \"boolean\",\n      description: \"Whether the conversation is archived\",\n      example: false,\n    },\n    lastReadAt: {\n      type: \"integer\",\n      format: \"int64\",\n      description: \"Timestamp of last read (Unix milliseconds)\",\n      example: 1753650746109,\n    },\n    muted: {\n      type: \"boolean\",\n      description: \"Whether the conversation is muted\",\n      example: false,\n    },\n    manuallyMarkedUnread: {\n      type: \"boolean\",\n      description: \"Whether the conversation is manually marked as unread\",\n      example: false,\n    },\n    pinned: {\n      type: \"boolean\",\n      description: \"Whether the conversation is pinned\",\n      example: false,\n    },\n    unreadCount: {\n      type: \"integer\",\n      minimum: 0,\n      description: \"Number of unread messages\",\n      example: 0,\n    },\n    unreadMentionsCount: {\n      type: \"integer\",\n      minimum: 0,\n      description: \"Number of unread mentions\",\n      example: 0,\n    },\n    counterParty: {\n      $ref: \"#/components/schemas/User\",\n      description: \"The other participant in a 1:1 conversation\",\n    },\n    tag: {\n      type: \"string\",\n      description: \"Tag associated with the conversation\",\n      example: \"automated\",\n    },\n  },\n} as const;\n\nexport const DirectCastConversationSchema = {\n  type: \"object\",\n  required: [\n    \"conversationId\",\n    \"isGroup\",\n    \"createdAt\",\n    \"viewerContext\",\n    \"adminFids\",\n    \"lastReadTime\",\n  ],\n  properties: {\n    conversationId: {\n      type: \"string\",\n      description: \"Unique identifier for the conversation\",\n    },\n    name: {\n      type: \"string\",\n      description: \"Name of the conversation (for group conversations)\",\n    },\n    description: {\n      type: \"string\",\n      description: \"Description of the conversation\",\n    },\n    photoUrl: {\n      type: \"string\",\n      format: \"uri\",\n      description: \"URL of the conversation photo\",\n    },\n    adminFids: {\n      type: \"array\",\n      items: {\n        type: \"integer\",\n      },\n      description: \"List of admin Farcaster IDs\",\n    },\n    removedFids: {\n      type: \"array\",\n      items: {\n        type: \"integer\",\n      },\n      description: \"List of removed Farcaster IDs\",\n    },\n    participants: {\n      type: \"array\",\n      items: {\n        $ref: \"#/components/schemas/User\",\n      },\n      description: \"List of conversation participants\",\n    },\n    lastReadTime: {\n      type: \"integer\",\n      format: \"int64\",\n      description: \"Timestamp of last read time (Unix milliseconds)\",\n      example: 1741871452933,\n    },\n    selfLastReadTime: {\n      type: \"integer\",\n      format: \"int64\",\n      description: \"Timestamp of viewer's last read time (Unix milliseconds)\",\n      example: 1753650746109,\n    },\n    pinnedMessages: {\n      type: \"array\",\n      items: {\n        $ref: \"#/components/schemas/DirectCastMessage\",\n      },\n      description: \"List of pinned messages in the conversation\",\n    },\n    hasPinnedMessages: {\n      type: \"boolean\",\n      description: \"Whether the conversation has pinned messages\",\n      example: false,\n    },\n    isGroup: {\n      type: \"boolean\",\n      description: \"Whether this is a group conversation\",\n      example: true,\n    },\n    isCollectionTokenGated: {\n      type: \"boolean\",\n      description: \"Whether the conversation is collection token gated\",\n      example: false,\n    },\n    activeParticipantsCount: {\n      type: \"integer\",\n      minimum: 0,\n      description: \"Number of active participants in the conversation\",\n      example: 2,\n    },\n    messageTTLDays: {\n      oneOf: [\n        {\n          type: \"integer\",\n          minimum: 0,\n          description: \"Number of days until message expires\",\n        },\n        {\n          type: \"string\",\n          enum: [\"Infinity\"],\n          description: \"Messages never expire\",\n        },\n      ],\n      description:\n        'Message time-to-live in days, or \"Infinity\" for no expiration',\n      examples: [365, \"Infinity\"],\n    },\n    createdAt: {\n      type: \"integer\",\n      format: \"int64\",\n      description:\n        \"Timestamp when conversation was created (Unix milliseconds)\",\n      example: 1709952982363,\n    },\n    unreadCount: {\n      type: \"integer\",\n      minimum: 0,\n      description: \"Number of unread messages\",\n      example: 0,\n    },\n    muted: {\n      type: \"boolean\",\n      description: \"Whether the conversation is muted\",\n      example: false,\n    },\n    hasMention: {\n      type: \"boolean\",\n      description: \"Whether the conversation has mentions\",\n      example: false,\n    },\n    lastMessage: {\n      $ref: \"#/components/schemas/DirectCastMessage\",\n    },\n    viewerContext: {\n      $ref: \"#/components/schemas/DirectCastConversationViewerContext\",\n    },\n  },\n} as const;\n\nexport const DirectCastInboxResultSchema = {\n  type: \"object\",\n  required: [\n    \"hasArchived\",\n    \"hasUnreadRequests\",\n    \"requestsCount\",\n    \"conversations\",\n  ],\n  properties: {\n    hasArchived: {\n      type: \"boolean\",\n      description: \"Whether user has archived conversations\",\n      example: false,\n    },\n    hasUnreadRequests: {\n      type: \"boolean\",\n      description: \"Whether user has unread conversation requests\",\n      example: false,\n    },\n    requestsCount: {\n      type: \"integer\",\n      minimum: 0,\n      description: \"Total number of conversation requests\",\n      example: 12,\n    },\n    conversations: {\n      type: \"array\",\n      items: {\n        $ref: \"#/components/schemas/DirectCastConversation\",\n      },\n    },\n  },\n} as const;\n\nexport const PaginationCursorSchema = {\n  type: \"object\",\n  properties: {\n    cursor: {\n      type: \"string\",\n      description: \"Base64 encoded cursor for pagination\",\n    },\n  },\n  additionalProperties: true,\n} as const;\n\nexport const DirectCastInboxResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      $ref: \"#/components/schemas/DirectCastInboxResult\",\n    },\n    next: {\n      $ref: \"#/components/schemas/PaginationCursor\",\n    },\n  },\n} as const;\n\nexport const CastActionSchema = {\n  type: \"object\",\n  properties: {\n    id: {\n      type: \"string\",\n    },\n    name: {\n      type: \"string\",\n    },\n    octicon: {\n      type: \"string\",\n    },\n    actionUrl: {\n      type: \"string\",\n    },\n    action: {\n      type: \"object\",\n      properties: {\n        actionType: {\n          type: \"string\",\n        },\n        postUrl: {\n          type: \"string\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const UserAppContextResponseSchema = {\n  type: \"object\",\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        context: {\n          type: \"object\",\n          properties: {\n            canAddLinks: {\n              type: \"boolean\",\n            },\n            showConnectedApps: {\n              type: \"boolean\",\n            },\n            signerRequestsEnabled: {\n              type: \"boolean\",\n            },\n            prompts: {\n              type: \"array\",\n              items: {},\n            },\n            adminForChannelKeys: {\n              type: \"array\",\n              items: {\n                type: \"string\",\n              },\n            },\n            modOfChannelKeys: {\n              type: \"array\",\n              items: {\n                type: \"string\",\n              },\n            },\n            memberOfChannelKeys: {\n              type: \"array\",\n              items: {\n                type: \"string\",\n              },\n            },\n            canEditAllChannels: {\n              type: \"boolean\",\n            },\n            canUploadVideo: {\n              type: \"boolean\",\n            },\n            statsigEnabled: {\n              type: \"boolean\",\n            },\n            shouldPromptForPushNotifications: {\n              type: \"boolean\",\n            },\n            shouldPromptForUserFollowsSyncContacts: {\n              type: \"boolean\",\n            },\n            castActions: {\n              type: \"array\",\n              items: {\n                $ref: \"#/components/schemas/CastAction\",\n              },\n            },\n            canAddCastAction: {\n              type: \"boolean\",\n            },\n            enabledCastAction: {\n              $ref: \"#/components/schemas/CastAction\",\n            },\n            notificationTabsV2: {\n              type: \"array\",\n              items: {\n                type: \"object\",\n                properties: {\n                  id: {\n                    type: \"string\",\n                  },\n                  name: {\n                    type: \"string\",\n                  },\n                },\n              },\n            },\n            enabledVideoAutoplay: {\n              type: \"boolean\",\n            },\n            regularCastByteLimit: {\n              type: \"integer\",\n            },\n            longCastByteLimit: {\n              type: \"integer\",\n            },\n            newUserStatus: {\n              type: \"object\",\n            },\n            country: {\n              type: \"string\",\n            },\n            higherClientEventSamplingRateEnabled: {\n              type: \"boolean\",\n            },\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const UserPreferencesResponseSchema = {\n  type: \"object\",\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        preferences: {\n          type: \"object\",\n          additionalProperties: true,\n        },\n      },\n    },\n  },\n} as const;\n\nexport const ChannelSchema = {\n  type: \"object\",\n  properties: {\n    type: {\n      type: \"string\",\n    },\n    key: {\n      type: \"string\",\n    },\n    name: {\n      type: \"string\",\n    },\n    imageUrl: {\n      type: \"string\",\n    },\n    fastImageUrl: {\n      type: \"string\",\n    },\n    feeds: {\n      type: \"array\",\n      items: {\n        type: \"object\",\n        properties: {\n          name: {\n            type: \"string\",\n          },\n          type: {\n            type: \"string\",\n          },\n        },\n      },\n    },\n    description: {\n      type: \"string\",\n    },\n    followerCount: {\n      type: \"integer\",\n    },\n    memberCount: {\n      type: \"integer\",\n    },\n    showCastSourceLabels: {\n      type: \"boolean\",\n    },\n    showCastTags: {\n      type: \"boolean\",\n    },\n    sectionRank: {\n      type: \"integer\",\n    },\n    subscribable: {\n      type: \"boolean\",\n    },\n    publicCasting: {\n      type: \"boolean\",\n    },\n    inviteCode: {\n      type: \"string\",\n    },\n    headerImageUrl: {\n      type: \"string\",\n    },\n    headerAction: {\n      type: \"object\",\n      properties: {\n        title: {\n          type: \"string\",\n        },\n        target: {\n          type: \"string\",\n        },\n      },\n    },\n    headerActionMetadata: {\n      type: \"object\",\n      additionalProperties: true,\n    },\n    viewerContext: {\n      type: \"object\",\n      properties: {\n        following: {\n          type: \"boolean\",\n        },\n        isMember: {\n          type: \"boolean\",\n        },\n        hasUnseenItems: {\n          type: \"boolean\",\n        },\n        favoritePosition: {\n          type: \"integer\",\n        },\n        activityRank: {\n          type: \"integer\",\n        },\n        canCast: {\n          type: \"boolean\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const HighlightedChannelsResponseSchema = {\n  type: \"object\",\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        channels: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/Channel\",\n          },\n        },\n        viewerContext: {\n          type: \"object\",\n          properties: {\n            defaultFeed: {\n              type: \"string\",\n            },\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const ImageEmbedSchema = {\n  type: \"object\",\n  properties: {\n    type: {\n      type: \"string\",\n      enum: [\"image\"],\n    },\n    url: {\n      type: \"string\",\n    },\n    sourceUrl: {\n      type: \"string\",\n    },\n    media: {\n      type: \"object\",\n      properties: {\n        version: {\n          type: \"string\",\n        },\n        width: {\n          type: \"integer\",\n        },\n        height: {\n          type: \"integer\",\n        },\n        staticRaster: {\n          type: \"string\",\n        },\n        mimeType: {\n          type: \"string\",\n        },\n      },\n    },\n    alt: {\n      type: \"string\",\n    },\n  },\n} as const;\n\nexport const UrlEmbedSchema = {\n  type: \"object\",\n  required: [\"type\", \"openGraph\"],\n  properties: {\n    type: {\n      type: \"string\",\n      enum: [\"url\"],\n    },\n    openGraph: {\n      type: \"object\",\n      required: [\"url\"],\n      properties: {\n        url: {\n          type: \"string\",\n        },\n        sourceUrl: {\n          type: \"string\",\n        },\n        title: {\n          type: \"string\",\n        },\n        description: {\n          type: \"string\",\n        },\n        domain: {\n          type: \"string\",\n        },\n        image: {\n          type: \"string\",\n        },\n        useLargeImage: {\n          type: \"boolean\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const VideoEmbedSchema = {\n  type: \"object\",\n  properties: {\n    type: {\n      type: \"string\",\n      enum: [\"video\"],\n    },\n  },\n} as const;\n\nexport const RecasterSchema = {\n  type: \"object\",\n  properties: {\n    fid: {\n      type: \"integer\",\n    },\n    username: {\n      type: \"string\",\n    },\n    displayName: {\n      type: \"string\",\n    },\n    recastHash: {\n      type: \"string\",\n    },\n  },\n} as const;\n\nexport const CastSchema = {\n  type: \"object\",\n  required: [\n    \"hash\",\n    \"author\",\n    \"text\",\n    \"timestamp\",\n    \"replies\",\n    \"reactions\",\n    \"recasts\",\n    \"watches\",\n  ],\n  properties: {\n    hash: {\n      type: \"string\",\n      description: \"Unique hash identifier for the cast\",\n    },\n    threadHash: {\n      type: \"string\",\n      description: \"Hash identifier for the thread this cast belongs to\",\n    },\n    parentHash: {\n      type: \"string\",\n      description: \"Hash identifier of the parent cast (if this is a reply)\",\n    },\n    parentSource: {\n      type: \"object\",\n      properties: {\n        type: {\n          type: \"string\",\n          enum: [\"url\"],\n        },\n        url: {\n          type: \"string\",\n        },\n      },\n    },\n    author: {\n      $ref: \"#/components/schemas/User\",\n    },\n    text: {\n      type: \"string\",\n      description: \"The text content of the cast\",\n    },\n    timestamp: {\n      type: \"integer\",\n      format: \"int64\",\n      description: \"Unix timestamp in milliseconds\",\n    },\n    mentions: {\n      type: \"array\",\n      items: {\n        $ref: \"#/components/schemas/User\",\n      },\n    },\n    embeds: {\n      type: \"object\",\n      properties: {\n        images: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/ImageEmbed\",\n          },\n        },\n        urls: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/UrlEmbed\",\n          },\n        },\n        videos: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/VideoEmbed\",\n          },\n        },\n        unknowns: {\n          type: \"array\",\n          items: {\n            type: \"object\",\n          },\n        },\n        processedCastText: {\n          type: \"string\",\n        },\n        groupInvites: {\n          type: \"array\",\n          items: {\n            type: \"object\",\n          },\n        },\n      },\n    },\n    replies: {\n      type: \"object\",\n      required: [\"count\"],\n      properties: {\n        count: {\n          type: \"integer\",\n        },\n      },\n    },\n    reactions: {\n      type: \"object\",\n      required: [\"count\"],\n      properties: {\n        count: {\n          type: \"integer\",\n        },\n      },\n    },\n    recasts: {\n      type: \"object\",\n      required: [\"count\"],\n      properties: {\n        count: {\n          type: \"integer\",\n        },\n        recasters: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/Recaster\",\n          },\n        },\n      },\n    },\n    watches: {\n      type: \"object\",\n      required: [\"count\"],\n      properties: {\n        count: {\n          type: \"integer\",\n        },\n      },\n    },\n    recast: {\n      type: \"boolean\",\n    },\n    tags: {\n      type: \"array\",\n      items: {\n        type: \"object\",\n        properties: {\n          type: {\n            type: \"string\",\n          },\n          id: {\n            type: \"string\",\n          },\n          name: {\n            type: \"string\",\n          },\n          imageUrl: {\n            type: \"string\",\n          },\n        },\n      },\n    },\n    quoteCount: {\n      type: \"integer\",\n    },\n    combinedRecastCount: {\n      type: \"integer\",\n    },\n    channel: {\n      type: \"object\",\n      properties: {\n        key: {\n          type: \"string\",\n        },\n        name: {\n          type: \"string\",\n        },\n        imageUrl: {\n          type: \"string\",\n        },\n        authorContext: {\n          type: \"object\",\n          properties: {\n            role: {\n              type: \"string\",\n            },\n            restricted: {\n              type: \"boolean\",\n            },\n            banned: {\n              type: \"boolean\",\n            },\n          },\n        },\n        authorRole: {\n          type: \"string\",\n        },\n      },\n    },\n    viewerContext: {\n      type: \"object\",\n      properties: {\n        reacted: {\n          type: \"boolean\",\n        },\n        recast: {\n          type: \"boolean\",\n        },\n        bookmarked: {\n          type: \"boolean\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const FeedItemsResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      required: [\"items\", \"replaceFeed\"],\n      properties: {\n        items: {\n          type: \"array\",\n          items: {\n            type: \"object\",\n            required: [\"id\", \"timestamp\", \"cast\"],\n            properties: {\n              id: {\n                type: \"string\",\n              },\n              timestamp: {\n                type: \"integer\",\n              },\n              cast: {\n                $ref: \"#/components/schemas/Cast\",\n              },\n              otherParticipants: {\n                type: \"array\",\n                items: {\n                  $ref: \"#/components/schemas/User\",\n                },\n              },\n            },\n          },\n        },\n        latestMainCastTimestamp: {\n          type: \"integer\",\n        },\n        feedTopSeenAtTimestamp: {\n          type: \"integer\",\n        },\n        replaceFeed: {\n          type: \"boolean\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const GenericResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      additionalProperties: true,\n    },\n  },\n} as const;\n\nexport const UserResponseSchema = {\n  allOf: [\n    {\n      $ref: \"#/components/schemas/GenericResponse\",\n    },\n    {\n      type: \"object\",\n      required: [\"result\"],\n      properties: {\n        result: {\n          type: \"object\",\n          properties: {\n            user: {\n              $ref: \"#/components/schemas/UserWithExtras\",\n            },\n            collectionsOwned: {\n              type: \"array\",\n              items: {\n                type: \"object\",\n              },\n            },\n            extras: {\n              $ref: \"#/components/schemas/UserExtras\",\n            },\n          },\n        },\n      },\n    },\n  ],\n} as const;\n\nexport const PaginatedResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      additionalProperties: true,\n    },\n    next: {\n      $ref: \"#/components/schemas/PaginationCursor\",\n    },\n  },\n} as const;\n\nexport const SuggestedUsersResponseSchema = {\n  allOf: [\n    {\n      $ref: \"#/components/schemas/PaginatedResponse\",\n    },\n    {\n      type: \"object\",\n      properties: {\n        result: {\n          type: \"object\",\n          properties: {\n            users: {\n              type: \"array\",\n              items: {\n                type: \"object\",\n                additionalProperties: true,\n              },\n            },\n          },\n        },\n      },\n    },\n  ],\n} as const;\n\nexport const FavoriteFramesResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      required: [\"frames\"],\n      properties: {\n        frames: {\n          type: \"array\",\n          items: {\n            type: \"object\",\n            additionalProperties: true,\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const ChannelStreaksResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      additionalProperties: true,\n    },\n  },\n} as const;\n\nexport const UnseenCountsResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        notificationsCount: {\n          type: \"integer\",\n        },\n        notificationTabs: {\n          type: \"array\",\n          items: {\n            type: \"object\",\n            required: [\"tab\", \"unseenCount\"],\n            properties: {\n              tab: {\n                type: \"string\",\n              },\n              unseenCount: {\n                type: \"integer\",\n              },\n            },\n          },\n        },\n        inboxCount: {\n          type: \"integer\",\n        },\n        channelFeeds: {\n          type: \"array\",\n          items: {\n            type: \"object\",\n            required: [\"channelKey\", \"feedType\", \"hasNewItems\"],\n            properties: {\n              channelKey: {\n                type: \"string\",\n              },\n              feedType: {\n                type: \"string\",\n              },\n              hasNewItems: {\n                type: \"boolean\",\n              },\n            },\n          },\n        },\n        warpTransactionCount: {\n          type: \"integer\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const UserThreadCastsResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      required: [\"casts\"],\n      properties: {\n        casts: {\n          type: \"array\",\n          items: {\n            type: \"object\",\n            additionalProperties: true,\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const ChannelFollowersYouKnowResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      required: [\"users\", \"totalCount\"],\n      properties: {\n        users: {\n          type: \"array\",\n          items: {\n            type: \"object\",\n            additionalProperties: true,\n          },\n        },\n        totalCount: {\n          type: \"integer\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const SuccessResponseSchema = {\n  allOf: [\n    {\n      $ref: \"#/components/schemas/GenericResponse\",\n    },\n    {\n      type: \"object\",\n      properties: {\n        result: {\n          type: \"object\",\n          required: [\"success\"],\n          properties: {\n            success: {\n              type: \"boolean\",\n              description: \"Whether the operation was successful\",\n            },\n          },\n        },\n      },\n    },\n  ],\n} as const;\n\nexport const NotificationsResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      required: [\"notifications\"],\n      properties: {\n        notifications: {\n          type: \"array\",\n          description: \"Notification items for the requested tab.\",\n          items: {\n            type: \"object\",\n            required: [\n              \"id\",\n              \"type\",\n              \"latestTimestamp\",\n              \"totalItemCount\",\n              \"previewItems\",\n              \"isUnread\",\n            ],\n            properties: {\n              id: {\n                type: \"string\",\n                description: \"Notification identifier.\",\n              },\n              type: {\n                type: \"string\",\n                description: \"Notification type.\",\n                enum: [\n                  \"channel-pinned-cast\",\n                  \"channel-role-invite\",\n                  \"new-cast-in-channel\",\n                  \"cast-mention\",\n                  \"cast-quote\",\n                  \"cast-reaction\",\n                  \"cast-reply\",\n                  \"dormant-user-new-cast\",\n                  \"follow\",\n                  \"mini-app\",\n                  \"new-article\",\n                  \"new-cast\",\n                  \"recast\",\n                ],\n              },\n              latestTimestamp: {\n                type: \"integer\",\n                format: \"int64\",\n                description: \"Latest activity timestamp (ms).\",\n              },\n              totalItemCount: {\n                type: \"integer\",\n                description:\n                  \"Number of items represented by this notification.\",\n              },\n              previewItems: {\n                type: \"array\",\n                description:\n                  \"Sample items for this notification; structure varies by type.\",\n                items: {\n                  type: \"object\",\n                  additionalProperties: true,\n                },\n              },\n              isUnread: {\n                type: \"boolean\",\n                description: \"Whether the notification is unread.\",\n              },\n              metadata: {\n                type: \"object\",\n                description: \"Additional notification-specific fields.\",\n                additionalProperties: true,\n              },\n            },\n            additionalProperties: false,\n          },\n        },\n        next: {\n          $ref: \"#/components/schemas/PaginationCursor\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const DirectCastConversationResponseSchema = {\n  allOf: [\n    {\n      $ref: \"#/components/schemas/GenericResponse\",\n    },\n    {\n      type: \"object\",\n      properties: {\n        result: {\n          type: \"object\",\n          required: [\"conversation\"],\n          properties: {\n            conversation: {\n              $ref: \"#/components/schemas/DirectCastConversation\",\n            },\n          },\n        },\n      },\n    },\n  ],\n} as const;\n\nexport const DirectCastConversationCategorizationRequestSchema = {\n  type: \"object\",\n  required: [\"conversationId\", \"category\"],\n  properties: {\n    conversationId: {\n      type: \"string\",\n      description: \"ID of the conversation to categorize\",\n      example: \"17838-20146\",\n    },\n    category: {\n      type: \"string\",\n      description: \"Category to assign to the conversation\",\n      example: \"archived\",\n    },\n  },\n} as const;\n\nexport const DirectCastConversationMessagesResponseSchema = {\n  allOf: [\n    {\n      $ref: \"#/components/schemas/PaginatedResponse\",\n    },\n    {\n      type: \"object\",\n      properties: {\n        result: {\n          type: \"object\",\n          required: [\"messages\"],\n          properties: {\n            messages: {\n              type: \"array\",\n              items: {\n                $ref: \"#/components/schemas/DirectCastMessage\",\n              },\n            },\n          },\n        },\n      },\n    },\n  ],\n} as const;\n\nexport const DirectCastConversationMessageTtlRequestSchema = {\n  type: \"object\",\n  required: [\"conversationId\", \"ttl\"],\n  properties: {\n    conversationId: {\n      type: \"string\",\n      description: \"ID of the conversation to set message TTL for\",\n      example: \"12590-20146\",\n    },\n    ttl: {\n      type: \"integer\",\n      description: \"Time to live for messages in days\",\n      example: 365,\n    },\n  },\n} as const;\n\nexport const DirectCastConversationNotificationsRequestSchema = {\n  type: \"object\",\n  required: [\"conversationId\", \"muted\"],\n  properties: {\n    conversationId: {\n      type: \"string\",\n      description: \"ID of the conversation to update notification settings for\",\n      example: \"17838-20146\",\n    },\n    muted: {\n      type: \"boolean\",\n      description: \"Whether to mute notifications for this conversation\",\n      example: false,\n    },\n  },\n} as const;\n\nexport const DirectCastSendRequestSchema = {\n  type: \"object\",\n  required: [\"conversationId\", \"recipientFids\", \"messageId\", \"type\", \"message\"],\n  properties: {\n    conversationId: {\n      type: \"string\",\n      description: \"ID of the conversation to send the message to\",\n    },\n    recipientFids: {\n      type: \"array\",\n      items: {\n        type: \"integer\",\n      },\n      description: \"Array of Farcaster IDs of message recipients\",\n      example: [17838, 861305],\n    },\n    messageId: {\n      type: \"string\",\n      description: \"Unique identifier for the message\",\n    },\n    type: {\n      type: \"string\",\n      enum: [\"text\", \"image\", \"reaction\", \"link\"],\n      description: \"Type of the message\",\n      example: \"text\",\n    },\n    message: {\n      type: \"string\",\n      description: \"Content of the message\",\n    },\n    inReplyToId: {\n      type: \"string\",\n      description: \"ID of the message this is replying to (optional)\",\n    },\n  },\n} as const;\n\nexport const DirectCastManuallyMarkUnreadRequestSchema = {\n  type: \"object\",\n  required: [\"conversationId\"],\n  properties: {\n    conversationId: {\n      type: \"string\",\n      description: \"ID of the conversation to mark as unread\",\n    },\n  },\n} as const;\n\nexport const DirectCastMessageReactionRequestSchema = {\n  type: \"object\",\n  required: [\"conversationId\", \"messageId\", \"reaction\"],\n  properties: {\n    conversationId: {\n      type: \"string\",\n      description: \"ID of the conversation containing the message\",\n      example: \"12590-20146\",\n    },\n    messageId: {\n      type: \"string\",\n      description: \"ID of the message to react to\",\n      example: \"17c7f0b459ff8f625fc35bba6a89c817\",\n    },\n    reaction: {\n      type: \"string\",\n      description: \"Emoji reaction to add or remove\",\n      example: \"👍\",\n    },\n  },\n} as const;\n\nexport const DirectCastPinConversationRequestSchema = {\n  type: \"object\",\n  required: [\"conversationId\"],\n  properties: {\n    conversationId: {\n      type: \"string\",\n      description: \"ID of the conversation to pin\",\n    },\n  },\n} as const;\n\nexport const DiscoverChannelsResponseSchema = {\n  allOf: [\n    {\n      $ref: \"#/components/schemas/GenericResponse\",\n    },\n    {\n      type: \"object\",\n      properties: {\n        result: {\n          type: \"object\",\n          properties: {\n            channels: {\n              type: \"array\",\n              items: {\n                type: \"object\",\n                additionalProperties: true,\n              },\n            },\n          },\n        },\n      },\n    },\n  ],\n} as const;\n\nexport const InvitesAvailableResponseSchema = {\n  allOf: [\n    {\n      $ref: \"#/components/schemas/GenericResponse\",\n    },\n    {\n      type: \"object\",\n      properties: {\n        result: {\n          type: \"object\",\n          required: [\"allocatedInvitesCount\", \"availableInvitesCount\"],\n          properties: {\n            allocatedInvitesCount: {\n              type: \"integer\",\n              description: \"Total number of invites allocated to the user\",\n            },\n            availableInvitesCount: {\n              type: \"integer\",\n              description: \"Number of invites currently available to send\",\n            },\n          },\n        },\n      },\n    },\n  ],\n} as const;\n\nexport const SponsoredInvitesResponseSchema = {\n  allOf: [\n    {\n      $ref: \"#/components/schemas/GenericResponse\",\n    },\n    {\n      type: \"object\",\n      properties: {\n        result: {\n          type: \"object\",\n          properties: {\n            invites: {\n              type: \"array\",\n              items: {\n                type: \"object\",\n              },\n            },\n          },\n        },\n      },\n      additionalProperties: true,\n    },\n  ],\n} as const;\n\nexport const RewardsLeaderboardResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      required: [\"leaderboard\"],\n      properties: {\n        leaderboard: {\n          type: \"object\",\n          required: [\"type\", \"users\"],\n          properties: {\n            type: {\n              type: \"string\",\n            },\n            users: {\n              type: \"array\",\n              items: {\n                type: \"object\",\n                properties: {\n                  user: {\n                    type: \"object\",\n                    additionalProperties: true,\n                  },\n                  score: {\n                    type: \"integer\",\n                  },\n                  rank: {\n                    type: \"integer\",\n                  },\n                },\n              },\n            },\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const RewardsScoresResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      required: [\"scores\"],\n      properties: {\n        scores: {\n          type: \"array\",\n          items: {\n            type: \"object\",\n            properties: {\n              type: {\n                type: \"string\",\n              },\n              user: {\n                type: \"object\",\n                additionalProperties: true,\n              },\n              allTimeScore: {\n                type: \"integer\",\n              },\n              currentPeriodScore: {\n                type: \"integer\",\n              },\n              previousPeriodScore: {\n                type: \"integer\",\n              },\n            },\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const RewardsMetadataResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        metadata: {\n          type: \"object\",\n          required: [\n            \"type\",\n            \"lastUpdateTimestamp\",\n            \"currentPeriodStartTimestamp\",\n            \"currentPeriodEndTimestamp\",\n          ],\n          properties: {\n            type: {\n              type: \"string\",\n            },\n            lastUpdateTimestamp: {\n              type: \"integer\",\n              format: \"int64\",\n            },\n            currentPeriodStartTimestamp: {\n              type: \"integer\",\n              format: \"int64\",\n            },\n            currentPeriodEndTimestamp: {\n              type: \"integer\",\n              format: \"int64\",\n            },\n            tiers: {\n              type: \"array\",\n              items: {\n                type: \"object\",\n                additionalProperties: true,\n              },\n            },\n            proportionalPayout: {\n              type: \"object\",\n              properties: {\n                numWinners: {\n                  type: \"integer\",\n                },\n                totalRewardCents: {\n                  type: \"integer\",\n                },\n              },\n            },\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const BookmarkedCastSchema = {\n  type: \"object\",\n  additionalProperties: true,\n} as const;\n\nexport const BookmarkedCastsResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        bookmarks: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/BookmarkedCast\",\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const StarterPackSchema = {\n  type: \"object\",\n  required: [\"id\"],\n  properties: {\n    id: {\n      type: \"string\",\n      description: \"Unique identifier for the starter pack\",\n    },\n    creator: {\n      $ref: \"#/components/schemas/User\",\n    },\n    name: {\n      type: \"string\",\n      description: \"Display name of the starter pack\",\n    },\n    description: {\n      type: \"string\",\n      description: \"Description of the starter pack\",\n    },\n    openGraphImageUrl: {\n      type: \"string\",\n      format: \"uri\",\n      description: \"URL for OG image preview\",\n    },\n    itemCount: {\n      type: \"integer\",\n      description: \"Number of items in the starter pack\",\n    },\n    items: {\n      type: \"array\",\n      items: {\n        type: \"object\",\n        additionalProperties: true,\n      },\n      description: \"Items contained in the starter pack\",\n    },\n    labels: {\n      type: \"array\",\n      items: {\n        type: \"string\",\n      },\n      description: \"Labels/tags for the starter pack\",\n    },\n  },\n  additionalProperties: true,\n} as const;\n\nexport const StarterPacksResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      required: [\"starterPacks\"],\n      properties: {\n        starterPacks: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/StarterPack\",\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const StarterPackResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      required: [\"starterPack\"],\n      properties: {\n        starterPack: {\n          $ref: \"#/components/schemas/StarterPack\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const StarterPackUpdateRequestSchema = {\n  type: \"object\",\n  required: [\"id\", \"name\", \"description\", \"fids\", \"labels\"],\n  properties: {\n    id: {\n      type: \"string\",\n      description: \"Unique identifier for the starter pack to update\",\n    },\n    name: {\n      type: \"string\",\n      description: \"Display name of the starter pack\",\n    },\n    description: {\n      type: \"string\",\n      description: \"Description of the starter pack\",\n    },\n    fids: {\n      type: \"array\",\n      description: \"List of FIDs included in the starter pack\",\n      items: {\n        type: \"integer\",\n      },\n    },\n    labels: {\n      type: \"array\",\n      description: \"Labels/tags for the starter pack\",\n      items: {\n        type: \"string\",\n      },\n    },\n  },\n} as const;\n\nexport const StarterPackUsersResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      required: [\"users\"],\n      properties: {\n        users: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/User\",\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const ChannelResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        channel: {\n          $ref: \"#/components/schemas/Channel\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const ChannelUsersResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        users: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/User\",\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const UsersResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      required: [\"users\"],\n      properties: {\n        users: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/User\",\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const UsersWithCountResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      required: [\"users\", \"totalCount\"],\n      properties: {\n        users: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/User\",\n          },\n        },\n        totalCount: {\n          type: \"integer\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const FrameAppSchema = {\n  type: \"object\",\n  additionalProperties: true,\n} as const;\n\nexport const FrameAppsResponseSchema = {\n  type: \"object\",\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        frames: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/FrameApp\",\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const mini_app_ViewerContextSchema = {\n  type: \"object\",\n  properties: {},\n  description: \"Context information for the viewer\",\n} as const;\n\nexport const MiniAppSchema = {\n  type: \"object\",\n  properties: {\n    domain: {\n      type: \"string\",\n      description: \"The domain of the mini app\",\n    },\n    name: {\n      type: \"string\",\n      description: \"The name of the mini app\",\n    },\n    iconUrl: {\n      type: \"string\",\n      description: \"URL to the mini app's icon\",\n    },\n    homeUrl: {\n      type: \"string\",\n      description: \"The home URL of the mini app\",\n    },\n    author: {\n      $ref: \"#/components/schemas/User\",\n    },\n    supportsNotifications: {\n      type: \"boolean\",\n      description: \"Whether the mini app supports notifications\",\n    },\n    id: {\n      type: \"string\",\n      description: \"Unique identifier for the mini app\",\n    },\n    shortId: {\n      type: \"string\",\n      description: \"Short identifier for the mini app\",\n    },\n    imageUrl: {\n      type: \"string\",\n      description: \"URL to the mini app's main image\",\n    },\n    buttonTitle: {\n      type: \"string\",\n      description: \"Title for the action button\",\n    },\n    splashImageUrl: {\n      type: \"string\",\n      description: \"URL to the splash screen image\",\n    },\n    splashBackgroundColor: {\n      type: \"string\",\n      description: \"Background color for the splash screen\",\n    },\n    castShareUrl: {\n      type: \"string\",\n      description: \"URL for sharing casts\",\n    },\n    subtitle: {\n      type: \"string\",\n      description: \"Subtitle of the mini app\",\n    },\n    description: {\n      type: \"string\",\n      description: \"Description of the mini app\",\n    },\n    tagline: {\n      type: \"string\",\n      description: \"Tagline of the mini app\",\n    },\n    heroImageUrl: {\n      type: \"string\",\n      description: \"URL to the hero image\",\n    },\n    primaryCategory: {\n      type: \"string\",\n      description: \"Primary category of the mini app\",\n    },\n    tags: {\n      type: \"array\",\n      items: {\n        type: \"string\",\n      },\n      description: \"Tags associated with the mini app\",\n    },\n    screenshotUrls: {\n      type: \"array\",\n      items: {\n        type: \"string\",\n      },\n      description: \"URLs to screenshot images\",\n    },\n    noindex: {\n      type: \"boolean\",\n      description: \"Whether the mini app should be indexed\",\n    },\n    ogTitle: {\n      type: \"string\",\n      description: \"Open Graph title\",\n    },\n    ogDescription: {\n      type: \"string\",\n      description: \"Open Graph description\",\n    },\n    ogImageUrl: {\n      type: \"string\",\n      description: \"Open Graph image URL\",\n    },\n    requiredCapabilities: {\n      type: \"array\",\n      items: {\n        type: \"string\",\n      },\n      description: \"Required capabilities for the mini app\",\n    },\n    requiredChains: {\n      type: \"array\",\n      items: {\n        type: \"string\",\n      },\n      description: \"Required blockchain chains\",\n    },\n    viewerContext: {\n      $ref: \"#/components/schemas/mini-app_ViewerContext\",\n    },\n  },\n} as const;\n\nexport const RankedMiniAppSchema = {\n  type: \"object\",\n  properties: {\n    rank: {\n      type: \"integer\",\n      description: \"Current rank of the mini app\",\n    },\n    miniApp: {\n      $ref: \"#/components/schemas/MiniApp\",\n    },\n    rank72hChange: {\n      type: \"integer\",\n      description: \"Change in rank over the last 72 hours\",\n    },\n  },\n} as const;\n\nexport const TopMiniAppsResponseSchema = {\n  type: \"object\",\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        miniApps: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/RankedMiniApp\",\n          },\n        },\n        next: {\n          $ref: \"#/components/schemas/PaginationCursor\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const VerifiedAddressSchema = {\n  type: \"object\",\n  properties: {\n    fid: {\n      type: \"integer\",\n    },\n    address: {\n      type: \"string\",\n    },\n    timestamp: {\n      type: \"integer\",\n    },\n    version: {\n      type: \"string\",\n    },\n    protocol: {\n      type: \"string\",\n    },\n    isPrimary: {\n      type: \"boolean\",\n    },\n    labels: {\n      type: \"array\",\n      items: {\n        type: \"string\",\n      },\n    },\n  },\n} as const;\n\nexport const MutedKeywordPropertiesSchema = {\n  type: \"object\",\n  properties: {\n    channels: {\n      type: \"boolean\",\n    },\n    frames: {\n      type: \"boolean\",\n    },\n    notifications: {\n      type: \"boolean\",\n    },\n  },\n} as const;\n\nexport const MutedKeywordSchema = {\n  type: \"object\",\n  required: [\"keyword\", \"properties\"],\n  properties: {\n    keyword: {\n      type: \"string\",\n    },\n    properties: {\n      $ref: \"#/components/schemas/MutedKeywordProperties\",\n    },\n  },\n} as const;\n\nexport const MutedKeywordsResponseSchema = {\n  type: \"object\",\n  required: [\"success\", \"result\"],\n  properties: {\n    success: {\n      type: \"boolean\",\n    },\n    result: {\n      type: \"object\",\n      required: [\"keywords\", \"mutedKeywords\"],\n      properties: {\n        keywords: {\n          type: \"array\",\n          items: {\n            type: \"string\",\n          },\n        },\n        mutedKeywords: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/MutedKeyword\",\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const CastHashResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        castHash: {\n          type: \"string\",\n          example: \"0x750a7269b4a3b70e28d3f450df33487047d4927f\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const AttachEmbedsResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      additionalProperties: true,\n    },\n  },\n} as const;\n\nexport const CastRecastersResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        users: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/User\",\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const CastQuoteSchema = {\n  type: \"object\",\n  properties: {\n    hash: {\n      type: \"string\",\n    },\n    threadHash: {\n      type: \"string\",\n    },\n    parentSource: {\n      type: \"object\",\n      properties: {\n        type: {\n          type: \"string\",\n        },\n        url: {\n          type: \"string\",\n        },\n      },\n    },\n    author: {\n      $ref: \"#/components/schemas/User\",\n    },\n    text: {\n      type: \"string\",\n    },\n    timestamp: {\n      type: \"integer\",\n    },\n  },\n} as const;\n\nexport const CastQuotesResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        quotes: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/CastQuote\",\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const user_response_UserResponseSchema = {\n  type: \"object\",\n  required: [\"result\"],\n  properties: {\n    result: {\n      type: \"object\",\n      required: [\"user\"],\n      properties: {\n        user: {\n          $ref: \"#/components/schemas/User\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const SearchChannelsResponseSchema = {\n  type: \"object\",\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        channels: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/Channel\",\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const DraftsResponseSchema = {\n  type: \"object\",\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        drafts: {\n          type: \"array\",\n          items: {},\n        },\n      },\n    },\n  },\n} as const;\n\nexport const DraftCastSchema = {\n  type: \"object\",\n  properties: {\n    text: {\n      type: \"string\",\n    },\n    embeds: {\n      type: \"array\",\n      items: {},\n    },\n  },\n} as const;\n\nexport const DraftSchema = {\n  type: \"object\",\n  properties: {\n    draftId: {\n      type: \"string\",\n    },\n    casts: {\n      type: \"array\",\n      items: {\n        $ref: \"#/components/schemas/DraftCast\",\n      },\n    },\n  },\n} as const;\n\nexport const DraftCreatedResponseSchema = {\n  type: \"object\",\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        draft: {\n          $ref: \"#/components/schemas/Draft\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const CastCreatedResponseSchema = {\n  type: \"object\",\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        cast: {\n          $ref: \"#/components/schemas/Cast\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const RawChannelSchema = {\n  type: \"object\",\n  properties: {\n    id: {\n      type: \"string\",\n    },\n    url: {\n      type: \"string\",\n    },\n    name: {\n      type: \"string\",\n    },\n    description: {\n      type: \"string\",\n    },\n    descriptionMentions: {\n      type: \"array\",\n      items: {\n        type: \"integer\",\n      },\n    },\n    descriptionMentionsPositions: {\n      type: \"array\",\n      items: {\n        type: \"integer\",\n      },\n    },\n    imageUrl: {\n      type: \"string\",\n    },\n    headerImageUrl: {\n      type: \"string\",\n    },\n    leadFid: {\n      type: \"integer\",\n    },\n    moderatorFids: {\n      type: \"array\",\n      items: {\n        type: \"integer\",\n      },\n    },\n    createdAt: {\n      type: \"integer\",\n    },\n    followerCount: {\n      type: \"integer\",\n    },\n    memberCount: {\n      type: \"integer\",\n    },\n    pinnedCastHash: {\n      type: \"string\",\n    },\n    publicCasting: {\n      type: \"boolean\",\n    },\n    externalLink: {\n      type: \"object\",\n      properties: {\n        title: {\n          type: \"string\",\n        },\n        url: {\n          type: \"string\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const ChannelListResponseSchema = {\n  type: \"object\",\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        channels: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/RawChannel\",\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const RawChannelResponseSchema = {\n  type: \"object\",\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        channel: {\n          $ref: \"#/components/schemas/RawChannel\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const ChannelFollowerSchema = {\n  type: \"object\",\n  properties: {\n    fid: {\n      type: \"integer\",\n    },\n    followedAt: {\n      type: \"integer\",\n    },\n  },\n} as const;\n\nexport const ChannelFollowersResponseSchema = {\n  allOf: [\n    {\n      $ref: \"#/components/schemas/PaginatedResponse\",\n    },\n    {\n      type: \"object\",\n      properties: {\n        result: {\n          type: \"object\",\n          properties: {\n            users: {\n              type: \"array\",\n              items: {\n                $ref: \"#/components/schemas/ChannelFollower\",\n              },\n            },\n          },\n        },\n      },\n    },\n  ],\n} as const;\n\nexport const ChannelFollowStatusSchema = {\n  type: \"object\",\n  properties: {\n    following: {\n      type: \"boolean\",\n    },\n    followedAt: {\n      type: \"integer\",\n    },\n  },\n} as const;\n\nexport const ChannelFollowStatusResponseSchema = {\n  type: \"object\",\n  properties: {\n    result: {\n      $ref: \"#/components/schemas/ChannelFollowStatus\",\n    },\n  },\n} as const;\n\nexport const ActionSchema = {\n  type: \"object\",\n  properties: {\n    name: {\n      type: \"string\",\n    },\n    icon: {\n      type: \"string\",\n    },\n    description: {\n      type: \"string\",\n    },\n    aboutUrl: {\n      type: \"string\",\n      format: \"uri\",\n    },\n    imageUrl: {\n      type: \"string\",\n      format: \"uri\",\n    },\n    actionUrl: {\n      type: \"string\",\n      format: \"uri\",\n    },\n    action: {\n      type: \"object\",\n      properties: {\n        actionType: {\n          type: \"string\",\n          enum: [\"post\", \"get\", \"put\", \"delete\"],\n        },\n        postUrl: {\n          type: \"string\",\n          format: \"uri\",\n        },\n      },\n    },\n  },\n} as const;\n\nexport const WinnerSchema = {\n  type: \"object\",\n  properties: {\n    fid: {\n      type: \"integer\",\n      description: \"The fid of the winner\",\n    },\n    domain: {\n      type: \"string\",\n      description: \"The domain of the winner\",\n    },\n    frameName: {\n      type: \"string\",\n      description: \"The name of the frame (mini app)\",\n    },\n    score: {\n      type: \"integer\",\n      description: \"The score of the winner\",\n    },\n    rank: {\n      type: \"integer\",\n      description: \"The rank of the winner\",\n    },\n    rewardCents: {\n      type: \"integer\",\n      description: \"The reward amount in cents\",\n    },\n    walletAddress: {\n      type: \"string\",\n      description: \"The wallet address of the winner (optional)\",\n    },\n  },\n} as const;\n\nexport const FrameSchema = {\n  type: \"object\",\n  properties: {\n    domain: {\n      type: \"string\",\n    },\n    name: {\n      type: \"string\",\n    },\n    iconUrl: {\n      type: \"string\",\n    },\n    homeUrl: {\n      type: \"string\",\n    },\n    splashImageUrl: {\n      type: \"string\",\n    },\n    splashBackgroundColor: {\n      type: \"string\",\n    },\n    buttonTitle: {\n      type: [\"string\", \"null\"],\n    },\n    imageUrl: {\n      type: [\"string\", \"null\"],\n    },\n    supportsNotifications: {\n      type: \"boolean\",\n    },\n    viewerContext: {\n      type: \"object\",\n      additionalProperties: true,\n    },\n    author: {\n      $ref: \"#/components/schemas/User\",\n    },\n  },\n} as const;\n\nexport const AppsByAuthorResponseSchema = {\n  type: \"object\",\n  properties: {\n    result: {\n      type: \"object\",\n      properties: {\n        frames: {\n          type: \"array\",\n          items: {\n            $ref: \"#/components/schemas/Frame\",\n          },\n        },\n      },\n    },\n  },\n} as const;\n\nexport const ApiKeySchema = {\n  type: \"object\",\n  required: [\"id\", \"createdAt\", \"expiresAt\", \"tag\", \"description\"],\n  properties: {\n    id: {\n      type: \"string\",\n      format: \"uuid\",\n      description: \"Unique identifier for the API key\",\n    },\n    createdAt: {\n      type: \"integer\",\n      format: \"int64\",\n      description:\n        \"Timestamp when the API key was created (in milliseconds since epoch)\",\n    },\n    expiresAt: {\n      type: \"integer\",\n      format: \"int64\",\n      description:\n        \"Timestamp when the API key expires (in milliseconds since epoch)\",\n    },\n    revokedAt: {\n      type: [\"string\", \"null\"],\n      format: \"int64\",\n      description:\n        \"Timestamp when the API key was revoked, if applicable (in milliseconds since epoch)\",\n    },\n    tag: {\n      type: \"string\",\n      description: \"Short identifier tag for the API key\",\n    },\n    description: {\n      type: \"string\",\n      description: \"User-provided description of the API key's purpose\",\n    },\n  },\n} as const;\n\nexport const DirectCastSendResponseSchema = {\n  $ref: \"#/components/schemas/SuccessResponse\",\n} as const;\n\nexport const DirectCastConversationCategorizationResponseSchema = {\n  $ref: \"#/components/schemas/SuccessResponse\",\n} as const;\n\nexport const DirectCastConversationNotificationsResponseSchema = {\n  $ref: \"#/components/schemas/SuccessResponse\",\n} as const;\n\nexport const DirectCastConversationMessageTtlResponseSchema = {\n  $ref: \"#/components/schemas/SuccessResponse\",\n} as const;\n\nexport const DirectCastMessageReactionResponseSchema = {\n  $ref: \"#/components/schemas/SuccessResponse\",\n} as const;\n","","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type {\n  CreateCastResponse,\n  GetApiKeysResponse,\n  GetCastsByFidResponse,\n  GetCreatorRewardWinnersResponse,\n  GetDirectCastConversationMessagesResponse,\n  GetDirectCastConversationRecentMessagesResponse,\n  GetDirectCastConversationResponse,\n  GetDirectCastInboxResponse,\n  GetFeedItemsResponse,\n  GetMiniAppAnalyticsRollupResponse,\n  GetNotificationsResponse,\n  GetProfileCastsResponse,\n  GetRewardsMetadataResponse,\n  GetStarterPackMembersResponse,\n  GetUserLikedCastsResponse,\n} from \"./types.gen\";\n\nconst directCastMessageSchemaResponseTransformer = (data: any) => {\n  data.serverTimestamp = BigInt(data.serverTimestamp.toString());\n  if (data.inReplyTo) {\n    data.inReplyTo = directCastMessageSchemaResponseTransformer(data.inReplyTo);\n  }\n  return data;\n};\n\nconst directCastConversationViewerContextSchemaResponseTransformer = (\n  data: any,\n) => {\n  if (data.lastReadAt) {\n    data.lastReadAt = BigInt(data.lastReadAt.toString());\n  }\n  return data;\n};\n\nconst directCastConversationSchemaResponseTransformer = (data: any) => {\n  data.lastReadTime = BigInt(data.lastReadTime.toString());\n  if (data.selfLastReadTime) {\n    data.selfLastReadTime = BigInt(data.selfLastReadTime.toString());\n  }\n  if (data.pinnedMessages) {\n    data.pinnedMessages = data.pinnedMessages.map((item: any) =>\n      directCastMessageSchemaResponseTransformer(item),\n    );\n  }\n  data.createdAt = BigInt(data.createdAt.toString());\n  if (data.lastMessage) {\n    data.lastMessage = directCastMessageSchemaResponseTransformer(\n      data.lastMessage,\n    );\n  }\n  data.viewerContext =\n    directCastConversationViewerContextSchemaResponseTransformer(\n      data.viewerContext,\n    );\n  return data;\n};\n\nconst directCastInboxResultSchemaResponseTransformer = (data: any) => {\n  data.conversations = data.conversations.map((item: any) =>\n    directCastConversationSchemaResponseTransformer(item),\n  );\n  return data;\n};\n\nconst directCastInboxResponseSchemaResponseTransformer = (data: any) => {\n  data.result = directCastInboxResultSchemaResponseTransformer(data.result);\n  return data;\n};\n\nexport const getDirectCastInboxResponseTransformer = async (\n  data: any,\n): Promise<GetDirectCastInboxResponse> => {\n  data = directCastInboxResponseSchemaResponseTransformer(data);\n  return data;\n};\n\nconst castSchemaResponseTransformer = (data: any) => {\n  data.timestamp = BigInt(data.timestamp.toString());\n  return data;\n};\n\nconst feedItemsResponseSchemaResponseTransformer = (data: any) => {\n  data.result.items = data.result.items.map((item: any) => {\n    item.cast = castSchemaResponseTransformer(item.cast);\n    return item;\n  });\n  return data;\n};\n\nexport const getFeedItemsResponseTransformer = async (\n  data: any,\n): Promise<GetFeedItemsResponse> => {\n  data = feedItemsResponseSchemaResponseTransformer(data);\n  return data;\n};\n\nconst notificationsResponseSchemaResponseTransformer = (data: any) => {\n  data.result.notifications = data.result.notifications.map((item: any) => {\n    item.latestTimestamp = BigInt(item.latestTimestamp.toString());\n    return item;\n  });\n  return data;\n};\n\nexport const getNotificationsResponseTransformer = async (\n  data: any,\n): Promise<GetNotificationsResponse> => {\n  data = notificationsResponseSchemaResponseTransformer(data);\n  return data;\n};\n\nconst directCastConversationResponseSchemaResponseTransformer = (data: any) => {\n  if (data.result) {\n    data.result.conversation = directCastConversationSchemaResponseTransformer(\n      data.result.conversation,\n    );\n  }\n  return data;\n};\n\nexport const getDirectCastConversationResponseTransformer = async (\n  data: any,\n): Promise<GetDirectCastConversationResponse> => {\n  data = directCastConversationResponseSchemaResponseTransformer(data);\n  return data;\n};\n\nconst directCastConversationMessagesResponseSchemaResponseTransformer = (\n  data: any,\n) => {\n  if (data.result) {\n    data.result.messages = data.result.messages.map((item: any) =>\n      directCastMessageSchemaResponseTransformer(item),\n    );\n  }\n  return data;\n};\n\nexport const getDirectCastConversationMessagesResponseTransformer = async (\n  data: any,\n): Promise<GetDirectCastConversationMessagesResponse> => {\n  data = directCastConversationMessagesResponseSchemaResponseTransformer(data);\n  return data;\n};\n\nexport const getDirectCastConversationRecentMessagesResponseTransformer =\n  async (\n    data: any,\n  ): Promise<GetDirectCastConversationRecentMessagesResponse> => {\n    data =\n      directCastConversationMessagesResponseSchemaResponseTransformer(data);\n    return data;\n  };\n\nconst rewardsMetadataResponseSchemaResponseTransformer = (data: any) => {\n  if (data.result.metadata) {\n    data.result.metadata.lastUpdateTimestamp = BigInt(\n      data.result.metadata.lastUpdateTimestamp.toString(),\n    );\n    data.result.metadata.currentPeriodStartTimestamp = BigInt(\n      data.result.metadata.currentPeriodStartTimestamp.toString(),\n    );\n    data.result.metadata.currentPeriodEndTimestamp = BigInt(\n      data.result.metadata.currentPeriodEndTimestamp.toString(),\n    );\n  }\n  return data;\n};\n\nexport const getRewardsMetadataResponseTransformer = async (\n  data: any,\n): Promise<GetRewardsMetadataResponse> => {\n  data = rewardsMetadataResponseSchemaResponseTransformer(data);\n  return data;\n};\n\nexport const getCastsByFidResponseTransformer = async (\n  data: any,\n): Promise<GetCastsByFidResponse> => {\n  if (data.result) {\n    if (data.result.casts) {\n      data.result.casts = data.result.casts.map((item: any) =>\n        castSchemaResponseTransformer(item),\n      );\n    }\n  }\n  return data;\n};\n\nconst castCreatedResponseSchemaResponseTransformer = (data: any) => {\n  if (data.result) {\n    if (data.result.cast) {\n      data.result.cast = castSchemaResponseTransformer(data.result.cast);\n    }\n  }\n  return data;\n};\n\nexport const createCastResponseTransformer = async (\n  data: any,\n): Promise<CreateCastResponse> => {\n  data = castCreatedResponseSchemaResponseTransformer(data);\n  return data;\n};\n\nexport const getCreatorRewardWinnersResponseTransformer = async (\n  data: any,\n): Promise<GetCreatorRewardWinnersResponse> => {\n  if (data.result) {\n    if (data.result.periodStartTimestamp) {\n      data.result.periodStartTimestamp = BigInt(\n        data.result.periodStartTimestamp.toString(),\n      );\n    }\n    if (data.result.periodEndTimestamp) {\n      data.result.periodEndTimestamp = BigInt(\n        data.result.periodEndTimestamp.toString(),\n      );\n    }\n  }\n  return data;\n};\n\nexport const getStarterPackMembersResponseTransformer = async (\n  data: any,\n): Promise<GetStarterPackMembersResponse> => {\n  if (data.result) {\n    if (data.result.members) {\n      data.result.members = data.result.members.map((item: any) => {\n        item.memberAt = BigInt(item.memberAt.toString());\n        return item;\n      });\n    }\n  }\n  return data;\n};\n\nconst apiKeySchemaResponseTransformer = (data: any) => {\n  data.createdAt = BigInt(data.createdAt.toString());\n  data.expiresAt = BigInt(data.expiresAt.toString());\n  return data;\n};\n\nexport const getApiKeysResponseTransformer = async (\n  data: any,\n): Promise<GetApiKeysResponse> => {\n  data.result.apiKeys = data.result.apiKeys.map((item: any) =>\n    apiKeySchemaResponseTransformer(item),\n  );\n  return data;\n};\n\nexport const getProfileCastsResponseTransformer = async (\n  data: any,\n): Promise<GetProfileCastsResponse> => {\n  data.result.casts = data.result.casts.map((item: any) =>\n    castSchemaResponseTransformer(item),\n  );\n  return data;\n};\n\nexport const getUserLikedCastsResponseTransformer = async (\n  data: any,\n): Promise<GetUserLikedCastsResponse> => {\n  if (data.result.casts) {\n    data.result.casts = data.result.casts.map((item: any) =>\n      castSchemaResponseTransformer(item),\n    );\n  }\n  return data;\n};\n\nexport const getMiniAppAnalyticsRollupResponseTransformer = async (\n  data: any,\n): Promise<GetMiniAppAnalyticsRollupResponse> => {\n  if (data.result) {\n    if (data.result.rollup) {\n      if (data.result.rollup.dateRange) {\n        if (data.result.rollup.dateRange.startDate) {\n          data.result.rollup.dateRange.startDate = new Date(\n            data.result.rollup.dateRange.startDate,\n          );\n        }\n        if (data.result.rollup.dateRange.endDate) {\n          data.result.rollup.dateRange.endDate = new Date(\n            data.result.rollup.dateRange.endDate,\n          );\n        }\n      }\n    }\n  }\n  return data;\n};\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport { z } from \"zod\";\n\nexport const zProfilePicture = z.object({\n  url: z.optional(z.url()),\n  verified: z.optional(z.boolean()),\n});\n\nexport const zBio = z.object({\n  text: z.optional(z.string()),\n  mentions: z.optional(z.array(z.unknown())),\n  channelMentions: z.optional(z.array(z.unknown())),\n});\n\nexport const zLocation = z.object({\n  placeId: z.optional(z.string()),\n  description: z.optional(z.string()),\n});\n\nexport const zProfile = z.object({\n  bio: z.optional(zBio),\n  location: z.optional(zLocation),\n});\n\nexport const zViewerContext = z.object({\n  following: z.optional(z.boolean()),\n  followedBy: z.optional(z.boolean()),\n  enableNotifications: z.optional(z.boolean()),\n  canSendDirectCasts: z.optional(z.boolean()),\n  hasUploadedInboxKeys: z.optional(z.boolean()),\n});\n\nexport const zUser = z.object({\n  fid: z.int(),\n  username: z.string(),\n  displayName: z.string(),\n  pfp: z.optional(zProfilePicture),\n  profile: z.optional(zProfile),\n  followerCount: z.optional(z.int()),\n  followingCount: z.optional(z.int()),\n  viewerContext: z.optional(zViewerContext),\n});\n\nexport const zOnboardingState = z.object({\n  id: z.optional(z.uuid()),\n  email: z.optional(z.email()),\n  user: z.optional(zUser),\n  hasOnboarding: z.optional(z.boolean()),\n  hasConfirmedEmail: z.optional(z.boolean()),\n  handledConnectAddress: z.optional(z.boolean()),\n  canRegisterUsername: z.optional(z.boolean()),\n  needsRegistrationPayment: z.optional(z.boolean()),\n  hasFid: z.optional(z.boolean()),\n  hasFname: z.optional(z.boolean()),\n  hasDelegatedSigner: z.optional(z.boolean()),\n  hasSetupProfile: z.optional(z.boolean()),\n  hasCompletedRegistration: z.optional(z.boolean()),\n  hasStorage: z.optional(z.boolean()),\n  handledPushNotificationsNudge: z.optional(z.boolean()),\n  handledContactsNudge: z.optional(z.boolean()),\n  handledInterestsNudge: z.optional(z.boolean()),\n  hasValidPaidInvite: z.optional(z.boolean()),\n  hasWarpcastWalletAddress: z.optional(z.boolean()),\n  hasPhone: z.optional(z.boolean()),\n  needsPhone: z.optional(z.boolean()),\n  sponsoredRegisterEligible: z.optional(z.boolean()),\n  geoRestricted: z.optional(z.boolean()),\n});\n\nexport const zOnboardingStateResponse = z.object({\n  result: z.optional(\n    z.object({\n      state: z.optional(zOnboardingState),\n    }),\n  ),\n});\n\n/**\n * Generic 400 Bad Request error for simple error messages\n */\nexport const zGenericBadRequestError = z\n  .object({\n    errors: z.array(\n      z.object({\n        message: z.string().register(z.globalRegistry, {\n          description: \"Error message describing the issue\",\n        }),\n      }),\n    ),\n  })\n  .register(z.globalRegistry, {\n    description: \"Generic 400 Bad Request error for simple error messages\",\n  });\n\nexport const zErrorResponse = z.object({\n  errors: z.optional(\n    z.array(\n      z.object({\n        message: z.optional(\n          z.string().register(z.globalRegistry, {\n            description: \"Error message describing the issue\",\n          }),\n        ),\n      }),\n    ),\n  ),\n});\n\nexport const zUserWithExtras = zUser.and(\n  z.object({\n    connectedAccounts: z.optional(z.array(z.unknown())),\n  }),\n);\n\nexport const zUserExtras = z.object({\n  fid: z.optional(z.int()),\n  custodyAddress: z.optional(z.string()),\n  ethWallets: z.optional(z.array(z.string())),\n  solanaWallets: z.optional(z.array(z.string())),\n  walletLabels: z.optional(\n    z.array(\n      z.object({\n        address: z.optional(z.string()),\n        labels: z.optional(z.array(z.string())),\n      }),\n    ),\n  ),\n  v2: z.optional(z.boolean()),\n  publicSpamLabel: z.optional(z.string()),\n});\n\nexport const zUserByFidResponse = z.object({\n  result: z.optional(\n    z.object({\n      user: z.optional(zUserWithExtras),\n      collectionsOwned: z.optional(z.array(z.unknown())),\n      extras: z.optional(zUserExtras),\n    }),\n  ),\n});\n\n/**\n * Represents a single validation error\n */\nexport const zValidationError = z\n  .object({\n    instancePath: z.string().register(z.globalRegistry, {\n      description:\n        \"JSON Pointer to the part of the request that failed validation\",\n    }),\n    schemaPath: z.string().register(z.globalRegistry, {\n      description: \"JSON Schema path that was violated\",\n    }),\n    keyword: z.string().register(z.globalRegistry, {\n      description: \"The JSON Schema keyword that failed\",\n    }),\n    params: z.optional(\n      z.record(z.string(), z.unknown()).register(z.globalRegistry, {\n        description: \"Additional parameters describing the validation error\",\n      }),\n    ),\n    message: z.string().register(z.globalRegistry, {\n      description: \"Human-readable error description\",\n    }),\n  })\n  .register(z.globalRegistry, {\n    description: \"Represents a single validation error\",\n  });\n\n/**\n * Standard 400 Bad Request error response\n */\nexport const zBadRequestError = z\n  .object({\n    errors: z.array(zValidationError).register(z.globalRegistry, {\n      description: \"Array of validation errors\",\n    }),\n  })\n  .register(z.globalRegistry, {\n    description: \"Standard 400 Bad Request error response\",\n  });\n\nexport const zDirectCastMessageReaction = z.object({\n  reaction: z.string().register(z.globalRegistry, {\n    description: \"Emoji used for the reaction\",\n  }),\n  count: z.int().gte(1).register(z.globalRegistry, {\n    description: \"Number of users who reacted with this emoji\",\n  }),\n  emoji: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Emoji used for the reaction (legacy field)\",\n    }),\n  ),\n  userFids: z.optional(\n    z.array(z.int()).register(z.globalRegistry, {\n      description: \"List of Farcaster IDs who reacted\",\n    }),\n  ),\n});\n\nexport const zDirectCastMessageViewerContext = z.object({\n  isLastReadMessage: z.optional(\n    z.boolean().register(z.globalRegistry, {\n      description: \"Whether this is the last read message\",\n    }),\n  ),\n  focused: z.optional(\n    z.boolean().register(z.globalRegistry, {\n      description: \"Whether the message is focused\",\n    }),\n  ),\n  reactions: z.optional(\n    z.array(z.string()).register(z.globalRegistry, {\n      description: \"User's reactions to this message\",\n    }),\n  ),\n});\n\nexport const zDirectCastMessageMetadata = z.object({\n  casts: z.optional(\n    z.array(z.record(z.string(), z.unknown())).register(z.globalRegistry, {\n      description: \"Cast metadata if message contains cast references\",\n    }),\n  ),\n  urls: z.optional(\n    z.array(z.record(z.string(), z.unknown())).register(z.globalRegistry, {\n      description: \"URL metadata if message contains links\",\n    }),\n  ),\n  medias: z.optional(\n    z.array(z.record(z.string(), z.unknown())).register(z.globalRegistry, {\n      description: \"Media metadata if message contains media\",\n    }),\n  ),\n});\n\nexport const zDirectCastMessageMention = z.object({\n  user: zUser,\n  textIndex: z.int().register(z.globalRegistry, {\n    description: \"Starting index of the mention in the message text\",\n  }),\n  length: z.int().register(z.globalRegistry, {\n    description: \"Length of the mention text\",\n  }),\n});\n\nexport const zDirectCastMessage = z.object({\n  conversationId: z.string().register(z.globalRegistry, {\n    description: \"ID of the conversation this message belongs to\",\n  }),\n  senderFid: z.int().register(z.globalRegistry, {\n    description: \"Farcaster ID of the message sender\",\n  }),\n  messageId: z.string().register(z.globalRegistry, {\n    description: \"Unique identifier for the message\",\n  }),\n  serverTimestamp: z.coerce.bigint().register(z.globalRegistry, {\n    description: \"Server timestamp when message was sent (Unix milliseconds)\",\n  }),\n  type: z\n    .enum([\n      \"text\",\n      \"image\",\n      \"reaction\",\n      \"link\",\n      \"group_membership_addition\",\n      \"pin_message\",\n      \"message_ttl_change\",\n    ])\n    .register(z.globalRegistry, {\n      description: \"Type of the message\",\n    }),\n  message: z.string().register(z.globalRegistry, {\n    description: \"Content of the message\",\n  }),\n  hasMention: z.boolean().register(z.globalRegistry, {\n    description: \"Whether the message contains mentions\",\n  }),\n  reactions: z.array(zDirectCastMessageReaction).register(z.globalRegistry, {\n    description: \"List of reactions to the message\",\n  }),\n  isPinned: z.boolean().register(z.globalRegistry, {\n    description: \"Whether the message is pinned\",\n  }),\n  isDeleted: z.boolean().register(z.globalRegistry, {\n    description: \"Whether the message is deleted\",\n  }),\n  senderContext: zUser,\n  viewerContext: z.optional(zDirectCastMessageViewerContext),\n  get inReplyTo() {\n    return z.optional(z.lazy((): any => zDirectCastMessage));\n  },\n  metadata: z.optional(zDirectCastMessageMetadata),\n  actionTargetUserContext: z.optional(zUser),\n  isProgrammatic: z.optional(\n    z.boolean().register(z.globalRegistry, {\n      description: \"Whether the message was sent programmatically\",\n    }),\n  ),\n  mentions: z.optional(\n    z.array(zDirectCastMessageMention).register(z.globalRegistry, {\n      description: \"List of mentions in the message\",\n    }),\n  ),\n});\n\nexport const zDirectCastConversationViewerContext = z.object({\n  access: z.optional(\n    z.enum([\"read-write\", \"read-only\"]).register(z.globalRegistry, {\n      description: \"Access level for the conversation\",\n    }),\n  ),\n  category: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Category of the conversation\",\n    }),\n  ),\n  archived: z.optional(\n    z.boolean().register(z.globalRegistry, {\n      description: \"Whether the conversation is archived\",\n    }),\n  ),\n  lastReadAt: z.optional(\n    z.coerce.bigint().register(z.globalRegistry, {\n      description: \"Timestamp of last read (Unix milliseconds)\",\n    }),\n  ),\n  muted: z.optional(\n    z.boolean().register(z.globalRegistry, {\n      description: \"Whether the conversation is muted\",\n    }),\n  ),\n  manuallyMarkedUnread: z.optional(\n    z.boolean().register(z.globalRegistry, {\n      description: \"Whether the conversation is manually marked as unread\",\n    }),\n  ),\n  pinned: z.optional(\n    z.boolean().register(z.globalRegistry, {\n      description: \"Whether the conversation is pinned\",\n    }),\n  ),\n  unreadCount: z.optional(\n    z.int().gte(0).register(z.globalRegistry, {\n      description: \"Number of unread messages\",\n    }),\n  ),\n  unreadMentionsCount: z.optional(\n    z.int().gte(0).register(z.globalRegistry, {\n      description: \"Number of unread mentions\",\n    }),\n  ),\n  counterParty: z.optional(zUser),\n  tag: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Tag associated with the conversation\",\n    }),\n  ),\n});\n\nexport const zDirectCastConversation = z.object({\n  conversationId: z.string().register(z.globalRegistry, {\n    description: \"Unique identifier for the conversation\",\n  }),\n  name: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Name of the conversation (for group conversations)\",\n    }),\n  ),\n  description: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Description of the conversation\",\n    }),\n  ),\n  photoUrl: z.optional(\n    z.url().register(z.globalRegistry, {\n      description: \"URL of the conversation photo\",\n    }),\n  ),\n  adminFids: z.array(z.int()).register(z.globalRegistry, {\n    description: \"List of admin Farcaster IDs\",\n  }),\n  removedFids: z.optional(\n    z.array(z.int()).register(z.globalRegistry, {\n      description: \"List of removed Farcaster IDs\",\n    }),\n  ),\n  participants: z.optional(\n    z.array(zUser).register(z.globalRegistry, {\n      description: \"List of conversation participants\",\n    }),\n  ),\n  lastReadTime: z.coerce.bigint().register(z.globalRegistry, {\n    description: \"Timestamp of last read time (Unix milliseconds)\",\n  }),\n  selfLastReadTime: z.optional(\n    z.coerce.bigint().register(z.globalRegistry, {\n      description: \"Timestamp of viewer's last read time (Unix milliseconds)\",\n    }),\n  ),\n  pinnedMessages: z.optional(\n    z.array(zDirectCastMessage).register(z.globalRegistry, {\n      description: \"List of pinned messages in the conversation\",\n    }),\n  ),\n  hasPinnedMessages: z.optional(\n    z.boolean().register(z.globalRegistry, {\n      description: \"Whether the conversation has pinned messages\",\n    }),\n  ),\n  isGroup: z.boolean().register(z.globalRegistry, {\n    description: \"Whether this is a group conversation\",\n  }),\n  isCollectionTokenGated: z.optional(\n    z.boolean().register(z.globalRegistry, {\n      description: \"Whether the conversation is collection token gated\",\n    }),\n  ),\n  activeParticipantsCount: z.optional(\n    z.int().gte(0).register(z.globalRegistry, {\n      description: \"Number of active participants in the conversation\",\n    }),\n  ),\n  messageTTLDays: z.optional(\n    z.union([\n      z.int().gte(0).register(z.globalRegistry, {\n        description: \"Number of days until message expires\",\n      }),\n      z.enum([\"Infinity\"]).register(z.globalRegistry, {\n        description: \"Messages never expire\",\n      }),\n    ]),\n  ),\n  createdAt: z.coerce.bigint().register(z.globalRegistry, {\n    description: \"Timestamp when conversation was created (Unix milliseconds)\",\n  }),\n  unreadCount: z.optional(\n    z.int().gte(0).register(z.globalRegistry, {\n      description: \"Number of unread messages\",\n    }),\n  ),\n  muted: z.optional(\n    z.boolean().register(z.globalRegistry, {\n      description: \"Whether the conversation is muted\",\n    }),\n  ),\n  hasMention: z.optional(\n    z.boolean().register(z.globalRegistry, {\n      description: \"Whether the conversation has mentions\",\n    }),\n  ),\n  lastMessage: z.optional(zDirectCastMessage),\n  viewerContext: zDirectCastConversationViewerContext,\n});\n\nexport const zDirectCastInboxResult = z.object({\n  hasArchived: z.boolean().register(z.globalRegistry, {\n    description: \"Whether user has archived conversations\",\n  }),\n  hasUnreadRequests: z.boolean().register(z.globalRegistry, {\n    description: \"Whether user has unread conversation requests\",\n  }),\n  requestsCount: z.int().gte(0).register(z.globalRegistry, {\n    description: \"Total number of conversation requests\",\n  }),\n  conversations: z.array(zDirectCastConversation),\n});\n\nexport const zPaginationCursor = z.object({\n  cursor: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Base64 encoded cursor for pagination\",\n    }),\n  ),\n});\n\nexport const zDirectCastInboxResponse = z.object({\n  result: zDirectCastInboxResult,\n  next: z.optional(zPaginationCursor),\n});\n\nexport const zCastAction = z.object({\n  id: z.optional(z.string()),\n  name: z.optional(z.string()),\n  octicon: z.optional(z.string()),\n  actionUrl: z.optional(z.string()),\n  action: z.optional(\n    z.object({\n      actionType: z.optional(z.string()),\n      postUrl: z.optional(z.string()),\n    }),\n  ),\n});\n\nexport const zUserAppContextResponse = z.object({\n  result: z.optional(\n    z.object({\n      context: z.optional(\n        z.object({\n          canAddLinks: z.optional(z.boolean()),\n          showConnectedApps: z.optional(z.boolean()),\n          signerRequestsEnabled: z.optional(z.boolean()),\n          prompts: z.optional(z.array(z.unknown())),\n          adminForChannelKeys: z.optional(z.array(z.string())),\n          modOfChannelKeys: z.optional(z.array(z.string())),\n          memberOfChannelKeys: z.optional(z.array(z.string())),\n          canEditAllChannels: z.optional(z.boolean()),\n          canUploadVideo: z.optional(z.boolean()),\n          statsigEnabled: z.optional(z.boolean()),\n          shouldPromptForPushNotifications: z.optional(z.boolean()),\n          shouldPromptForUserFollowsSyncContacts: z.optional(z.boolean()),\n          castActions: z.optional(z.array(zCastAction)),\n          canAddCastAction: z.optional(z.boolean()),\n          enabledCastAction: z.optional(zCastAction),\n          notificationTabsV2: z.optional(\n            z.array(\n              z.object({\n                id: z.optional(z.string()),\n                name: z.optional(z.string()),\n              }),\n            ),\n          ),\n          enabledVideoAutoplay: z.optional(z.boolean()),\n          regularCastByteLimit: z.optional(z.int()),\n          longCastByteLimit: z.optional(z.int()),\n          newUserStatus: z.optional(z.record(z.string(), z.unknown())),\n          country: z.optional(z.string()),\n          higherClientEventSamplingRateEnabled: z.optional(z.boolean()),\n        }),\n      ),\n    }),\n  ),\n});\n\nexport const zUserPreferencesResponse = z.object({\n  result: z.optional(\n    z.object({\n      preferences: z.optional(z.record(z.string(), z.unknown())),\n    }),\n  ),\n});\n\nexport const zChannel = z.object({\n  type: z.optional(z.string()),\n  key: z.optional(z.string()),\n  name: z.optional(z.string()),\n  imageUrl: z.optional(z.string()),\n  fastImageUrl: z.optional(z.string()),\n  feeds: z.optional(\n    z.array(\n      z.object({\n        name: z.optional(z.string()),\n        type: z.optional(z.string()),\n      }),\n    ),\n  ),\n  description: z.optional(z.string()),\n  followerCount: z.optional(z.int()),\n  memberCount: z.optional(z.int()),\n  showCastSourceLabels: z.optional(z.boolean()),\n  showCastTags: z.optional(z.boolean()),\n  sectionRank: z.optional(z.int()),\n  subscribable: z.optional(z.boolean()),\n  publicCasting: z.optional(z.boolean()),\n  inviteCode: z.optional(z.string()),\n  headerImageUrl: z.optional(z.string()),\n  headerAction: z.optional(\n    z.object({\n      title: z.optional(z.string()),\n      target: z.optional(z.string()),\n    }),\n  ),\n  headerActionMetadata: z.optional(z.record(z.string(), z.unknown())),\n  viewerContext: z.optional(\n    z.object({\n      following: z.optional(z.boolean()),\n      isMember: z.optional(z.boolean()),\n      hasUnseenItems: z.optional(z.boolean()),\n      favoritePosition: z.optional(z.int()),\n      activityRank: z.optional(z.int()),\n      canCast: z.optional(z.boolean()),\n    }),\n  ),\n});\n\nexport const zHighlightedChannelsResponse = z.object({\n  result: z.optional(\n    z.object({\n      channels: z.optional(z.array(zChannel)),\n      viewerContext: z.optional(\n        z.object({\n          defaultFeed: z.optional(z.string()),\n        }),\n      ),\n    }),\n  ),\n});\n\nexport const zImageEmbed = z.object({\n  type: z.optional(z.enum([\"image\"])),\n  url: z.optional(z.string()),\n  sourceUrl: z.optional(z.string()),\n  media: z.optional(\n    z.object({\n      version: z.optional(z.string()),\n      width: z.optional(z.int()),\n      height: z.optional(z.int()),\n      staticRaster: z.optional(z.string()),\n      mimeType: z.optional(z.string()),\n    }),\n  ),\n  alt: z.optional(z.string()),\n});\n\nexport const zUrlEmbed = z.object({\n  type: z.enum([\"url\"]),\n  openGraph: z.object({\n    url: z.string(),\n    sourceUrl: z.optional(z.string()),\n    title: z.optional(z.string()),\n    description: z.optional(z.string()),\n    domain: z.optional(z.string()),\n    image: z.optional(z.string()),\n    useLargeImage: z.optional(z.boolean()),\n  }),\n});\n\nexport const zVideoEmbed = z.object({\n  type: z.optional(z.enum([\"video\"])),\n});\n\nexport const zRecaster = z.object({\n  fid: z.optional(z.int()),\n  username: z.optional(z.string()),\n  displayName: z.optional(z.string()),\n  recastHash: z.optional(z.string()),\n});\n\nexport const zCast = z.object({\n  hash: z.string().register(z.globalRegistry, {\n    description: \"Unique hash identifier for the cast\",\n  }),\n  threadHash: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Hash identifier for the thread this cast belongs to\",\n    }),\n  ),\n  parentHash: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Hash identifier of the parent cast (if this is a reply)\",\n    }),\n  ),\n  parentSource: z.optional(\n    z.object({\n      type: z.optional(z.enum([\"url\"])),\n      url: z.optional(z.string()),\n    }),\n  ),\n  author: zUser,\n  text: z.string().register(z.globalRegistry, {\n    description: \"The text content of the cast\",\n  }),\n  timestamp: z.coerce.bigint().register(z.globalRegistry, {\n    description: \"Unix timestamp in milliseconds\",\n  }),\n  mentions: z.optional(z.array(zUser)),\n  embeds: z.optional(\n    z.object({\n      images: z.optional(z.array(zImageEmbed)),\n      urls: z.optional(z.array(zUrlEmbed)),\n      videos: z.optional(z.array(zVideoEmbed)),\n      unknowns: z.optional(z.array(z.record(z.string(), z.unknown()))),\n      processedCastText: z.optional(z.string()),\n      groupInvites: z.optional(z.array(z.record(z.string(), z.unknown()))),\n    }),\n  ),\n  replies: z.object({\n    count: z.int(),\n  }),\n  reactions: z.object({\n    count: z.int(),\n  }),\n  recasts: z.object({\n    count: z.int(),\n    recasters: z.optional(z.array(zRecaster)),\n  }),\n  watches: z.object({\n    count: z.int(),\n  }),\n  recast: z.optional(z.boolean()),\n  tags: z.optional(\n    z.array(\n      z.object({\n        type: z.optional(z.string()),\n        id: z.optional(z.string()),\n        name: z.optional(z.string()),\n        imageUrl: z.optional(z.string()),\n      }),\n    ),\n  ),\n  quoteCount: z.optional(z.int()),\n  combinedRecastCount: z.optional(z.int()),\n  channel: z.optional(\n    z.object({\n      key: z.optional(z.string()),\n      name: z.optional(z.string()),\n      imageUrl: z.optional(z.string()),\n      authorContext: z.optional(\n        z.object({\n          role: z.optional(z.string()),\n          restricted: z.optional(z.boolean()),\n          banned: z.optional(z.boolean()),\n        }),\n      ),\n      authorRole: z.optional(z.string()),\n    }),\n  ),\n  viewerContext: z.optional(\n    z.object({\n      reacted: z.optional(z.boolean()),\n      recast: z.optional(z.boolean()),\n      bookmarked: z.optional(z.boolean()),\n    }),\n  ),\n});\n\nexport const zFeedItemsResponse = z.object({\n  result: z.object({\n    items: z.array(\n      z.object({\n        id: z.string(),\n        timestamp: z.int(),\n        cast: zCast,\n        otherParticipants: z.optional(z.array(zUser)),\n      }),\n    ),\n    latestMainCastTimestamp: z.optional(z.int()),\n    feedTopSeenAtTimestamp: z.optional(z.int()),\n    replaceFeed: z.boolean(),\n  }),\n});\n\nexport const zGenericResponse = z.object({\n  result: z.record(z.string(), z.unknown()),\n});\n\nexport const zUserResponse = zGenericResponse.and(\n  z.object({\n    result: z.object({\n      user: z.optional(zUserWithExtras),\n      collectionsOwned: z.optional(z.array(z.record(z.string(), z.unknown()))),\n      extras: z.optional(zUserExtras),\n    }),\n  }),\n);\n\nexport const zPaginatedResponse = z.object({\n  result: z.record(z.string(), z.unknown()),\n  next: z.optional(zPaginationCursor),\n});\n\nexport const zSuggestedUsersResponse = zPaginatedResponse.and(\n  z.object({\n    result: z.optional(\n      z.object({\n        users: z.optional(z.array(z.record(z.string(), z.unknown()))),\n      }),\n    ),\n  }),\n);\n\nexport const zFavoriteFramesResponse = z.object({\n  result: z.object({\n    frames: z.array(z.record(z.string(), z.unknown())),\n  }),\n});\n\nexport const zChannelStreaksResponse = z.object({\n  result: z.record(z.string(), z.unknown()),\n});\n\nexport const zUnseenCountsResponse = z.object({\n  result: z.object({\n    notificationsCount: z.optional(z.int()),\n    notificationTabs: z.optional(\n      z.array(\n        z.object({\n          tab: z.string(),\n          unseenCount: z.int(),\n        }),\n      ),\n    ),\n    inboxCount: z.optional(z.int()),\n    channelFeeds: z.optional(\n      z.array(\n        z.object({\n          channelKey: z.string(),\n          feedType: z.string(),\n          hasNewItems: z.boolean(),\n        }),\n      ),\n    ),\n    warpTransactionCount: z.optional(z.int()),\n  }),\n});\n\nexport const zUserThreadCastsResponse = z.object({\n  result: z.object({\n    casts: z.array(z.record(z.string(), z.unknown())),\n  }),\n});\n\nexport const zChannelFollowersYouKnowResponse = z.object({\n  result: z.object({\n    users: z.array(z.record(z.string(), z.unknown())),\n    totalCount: z.int(),\n  }),\n});\n\nexport const zSuccessResponse = zGenericResponse.and(\n  z.object({\n    result: z.optional(\n      z.object({\n        success: z.boolean().register(z.globalRegistry, {\n          description: \"Whether the operation was successful\",\n        }),\n      }),\n    ),\n  }),\n);\n\nexport const zNotificationsResponse = z.object({\n  result: z.object({\n    notifications: z\n      .array(\n        z.object({\n          id: z.string().register(z.globalRegistry, {\n            description: \"Notification identifier.\",\n          }),\n          type: z\n            .enum([\n              \"channel-pinned-cast\",\n              \"channel-role-invite\",\n              \"new-cast-in-channel\",\n              \"cast-mention\",\n              \"cast-quote\",\n              \"cast-reaction\",\n              \"cast-reply\",\n              \"dormant-user-new-cast\",\n              \"follow\",\n              \"mini-app\",\n              \"new-article\",\n              \"new-cast\",\n              \"recast\",\n            ])\n            .register(z.globalRegistry, {\n              description: \"Notification type.\",\n            }),\n          latestTimestamp: z.coerce.bigint().register(z.globalRegistry, {\n            description: \"Latest activity timestamp (ms).\",\n          }),\n          totalItemCount: z.int().register(z.globalRegistry, {\n            description: \"Number of items represented by this notification.\",\n          }),\n          previewItems: z\n            .array(z.record(z.string(), z.unknown()))\n            .register(z.globalRegistry, {\n              description:\n                \"Sample items for this notification; structure varies by type.\",\n            }),\n          isUnread: z.boolean().register(z.globalRegistry, {\n            description: \"Whether the notification is unread.\",\n          }),\n          metadata: z.optional(\n            z.record(z.string(), z.unknown()).register(z.globalRegistry, {\n              description: \"Additional notification-specific fields.\",\n            }),\n          ),\n        }),\n      )\n      .register(z.globalRegistry, {\n        description: \"Notification items for the requested tab.\",\n      }),\n    next: z.optional(zPaginationCursor),\n  }),\n});\n\nexport const zDirectCastConversationResponse = zGenericResponse.and(\n  z.object({\n    result: z.optional(\n      z.object({\n        conversation: zDirectCastConversation,\n      }),\n    ),\n  }),\n);\n\nexport const zDirectCastConversationCategorizationRequest = z.object({\n  conversationId: z.string().register(z.globalRegistry, {\n    description: \"ID of the conversation to categorize\",\n  }),\n  category: z.string().register(z.globalRegistry, {\n    description: \"Category to assign to the conversation\",\n  }),\n});\n\nexport const zDirectCastConversationMessagesResponse = zPaginatedResponse.and(\n  z.object({\n    result: z.optional(\n      z.object({\n        messages: z.array(zDirectCastMessage),\n      }),\n    ),\n  }),\n);\n\nexport const zDirectCastConversationMessageTtlRequest = z.object({\n  conversationId: z.string().register(z.globalRegistry, {\n    description: \"ID of the conversation to set message TTL for\",\n  }),\n  ttl: z.int().register(z.globalRegistry, {\n    description: \"Time to live for messages in days\",\n  }),\n});\n\nexport const zDirectCastConversationNotificationsRequest = z.object({\n  conversationId: z.string().register(z.globalRegistry, {\n    description: \"ID of the conversation to update notification settings for\",\n  }),\n  muted: z.boolean().register(z.globalRegistry, {\n    description: \"Whether to mute notifications for this conversation\",\n  }),\n});\n\nexport const zDirectCastSendRequest = z.object({\n  conversationId: z.string().register(z.globalRegistry, {\n    description: \"ID of the conversation to send the message to\",\n  }),\n  recipientFids: z.array(z.int()).register(z.globalRegistry, {\n    description: \"Array of Farcaster IDs of message recipients\",\n  }),\n  messageId: z.string().register(z.globalRegistry, {\n    description: \"Unique identifier for the message\",\n  }),\n  type: z\n    .enum([\"text\", \"image\", \"reaction\", \"link\"])\n    .register(z.globalRegistry, {\n      description: \"Type of the message\",\n    }),\n  message: z.string().register(z.globalRegistry, {\n    description: \"Content of the message\",\n  }),\n  inReplyToId: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"ID of the message this is replying to (optional)\",\n    }),\n  ),\n});\n\nexport const zDirectCastManuallyMarkUnreadRequest = z.object({\n  conversationId: z.string().register(z.globalRegistry, {\n    description: \"ID of the conversation to mark as unread\",\n  }),\n});\n\nexport const zDirectCastMessageReactionRequest = z.object({\n  conversationId: z.string().register(z.globalRegistry, {\n    description: \"ID of the conversation containing the message\",\n  }),\n  messageId: z.string().register(z.globalRegistry, {\n    description: \"ID of the message to react to\",\n  }),\n  reaction: z.string().register(z.globalRegistry, {\n    description: \"Emoji reaction to add or remove\",\n  }),\n});\n\nexport const zDirectCastPinConversationRequest = z.object({\n  conversationId: z.string().register(z.globalRegistry, {\n    description: \"ID of the conversation to pin\",\n  }),\n});\n\nexport const zDiscoverChannelsResponse = zGenericResponse.and(\n  z.object({\n    result: z.optional(\n      z.object({\n        channels: z.optional(z.array(z.record(z.string(), z.unknown()))),\n      }),\n    ),\n  }),\n);\n\nexport const zInvitesAvailableResponse = zGenericResponse.and(\n  z.object({\n    result: z.optional(\n      z.object({\n        allocatedInvitesCount: z.int().register(z.globalRegistry, {\n          description: \"Total number of invites allocated to the user\",\n        }),\n        availableInvitesCount: z.int().register(z.globalRegistry, {\n          description: \"Number of invites currently available to send\",\n        }),\n      }),\n    ),\n  }),\n);\n\nexport const zSponsoredInvitesResponse = zGenericResponse.and(\n  z.object({\n    result: z.optional(\n      z.object({\n        invites: z.optional(z.array(z.record(z.string(), z.unknown()))),\n      }),\n    ),\n  }),\n);\n\nexport const zRewardsLeaderboardResponse = z.object({\n  result: z.object({\n    leaderboard: z.object({\n      type: z.string(),\n      users: z.array(\n        z.object({\n          user: z.optional(z.record(z.string(), z.unknown())),\n          score: z.optional(z.int()),\n          rank: z.optional(z.int()),\n        }),\n      ),\n    }),\n  }),\n});\n\nexport const zRewardsScoresResponse = z.object({\n  result: z.object({\n    scores: z.array(\n      z.object({\n        type: z.optional(z.string()),\n        user: z.optional(z.record(z.string(), z.unknown())),\n        allTimeScore: z.optional(z.int()),\n        currentPeriodScore: z.optional(z.int()),\n        previousPeriodScore: z.optional(z.int()),\n      }),\n    ),\n  }),\n});\n\nexport const zRewardsMetadataResponse = z.object({\n  result: z.object({\n    metadata: z.optional(\n      z.object({\n        type: z.string(),\n        lastUpdateTimestamp: z.coerce.bigint(),\n        currentPeriodStartTimestamp: z.coerce.bigint(),\n        currentPeriodEndTimestamp: z.coerce.bigint(),\n        tiers: z.optional(z.array(z.record(z.string(), z.unknown()))),\n        proportionalPayout: z.optional(\n          z.object({\n            numWinners: z.optional(z.int()),\n            totalRewardCents: z.optional(z.int()),\n          }),\n        ),\n      }),\n    ),\n  }),\n});\n\nexport const zBookmarkedCast = z.record(z.string(), z.unknown());\n\nexport const zBookmarkedCastsResponse = z.object({\n  result: z.object({\n    bookmarks: z.optional(z.array(zBookmarkedCast)),\n  }),\n});\n\nexport const zStarterPack = z.object({\n  id: z.string().register(z.globalRegistry, {\n    description: \"Unique identifier for the starter pack\",\n  }),\n  creator: z.optional(zUser),\n  name: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Display name of the starter pack\",\n    }),\n  ),\n  description: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Description of the starter pack\",\n    }),\n  ),\n  openGraphImageUrl: z.optional(\n    z.url().register(z.globalRegistry, {\n      description: \"URL for OG image preview\",\n    }),\n  ),\n  itemCount: z.optional(\n    z.int().register(z.globalRegistry, {\n      description: \"Number of items in the starter pack\",\n    }),\n  ),\n  items: z.optional(\n    z.array(z.record(z.string(), z.unknown())).register(z.globalRegistry, {\n      description: \"Items contained in the starter pack\",\n    }),\n  ),\n  labels: z.optional(\n    z.array(z.string()).register(z.globalRegistry, {\n      description: \"Labels/tags for the starter pack\",\n    }),\n  ),\n});\n\nexport const zStarterPacksResponse = z.object({\n  result: z.object({\n    starterPacks: z.array(zStarterPack),\n  }),\n});\n\nexport const zStarterPackResponse = z.object({\n  result: z.object({\n    starterPack: zStarterPack,\n  }),\n});\n\nexport const zStarterPackUpdateRequest = z.object({\n  id: z.string().register(z.globalRegistry, {\n    description: \"Unique identifier for the starter pack to update\",\n  }),\n  name: z.string().register(z.globalRegistry, {\n    description: \"Display name of the starter pack\",\n  }),\n  description: z.string().register(z.globalRegistry, {\n    description: \"Description of the starter pack\",\n  }),\n  fids: z.array(z.int()).register(z.globalRegistry, {\n    description: \"List of FIDs included in the starter pack\",\n  }),\n  labels: z.array(z.string()).register(z.globalRegistry, {\n    description: \"Labels/tags for the starter pack\",\n  }),\n});\n\nexport const zStarterPackUsersResponse = z.object({\n  result: z.object({\n    users: z.array(zUser),\n  }),\n});\n\nexport const zChannelResponse = z.object({\n  result: z.object({\n    channel: z.optional(zChannel),\n  }),\n});\n\nexport const zChannelUsersResponse = z.object({\n  result: z.object({\n    users: z.optional(z.array(zUser)),\n  }),\n});\n\nexport const zUsersResponse = z.object({\n  result: z.object({\n    users: z.array(zUser),\n  }),\n});\n\nexport const zUsersWithCountResponse = z.object({\n  result: z.object({\n    users: z.array(zUser),\n    totalCount: z.int(),\n  }),\n});\n\nexport const zFrameApp = z.record(z.string(), z.unknown());\n\nexport const zFrameAppsResponse = z.object({\n  result: z.optional(\n    z.object({\n      frames: z.optional(z.array(zFrameApp)),\n    }),\n  ),\n});\n\n/**\n * Context information for the viewer\n */\nexport const zMiniAppViewerContext = z\n  .record(z.string(), z.unknown())\n  .register(z.globalRegistry, {\n    description: \"Context information for the viewer\",\n  });\n\nexport const zMiniApp = z.object({\n  domain: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"The domain of the mini app\",\n    }),\n  ),\n  name: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"The name of the mini app\",\n    }),\n  ),\n  iconUrl: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"URL to the mini app's icon\",\n    }),\n  ),\n  homeUrl: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"The home URL of the mini app\",\n    }),\n  ),\n  author: z.optional(zUser),\n  supportsNotifications: z.optional(\n    z.boolean().register(z.globalRegistry, {\n      description: \"Whether the mini app supports notifications\",\n    }),\n  ),\n  id: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Unique identifier for the mini app\",\n    }),\n  ),\n  shortId: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Short identifier for the mini app\",\n    }),\n  ),\n  imageUrl: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"URL to the mini app's main image\",\n    }),\n  ),\n  buttonTitle: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Title for the action button\",\n    }),\n  ),\n  splashImageUrl: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"URL to the splash screen image\",\n    }),\n  ),\n  splashBackgroundColor: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Background color for the splash screen\",\n    }),\n  ),\n  castShareUrl: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"URL for sharing casts\",\n    }),\n  ),\n  subtitle: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Subtitle of the mini app\",\n    }),\n  ),\n  description: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Description of the mini app\",\n    }),\n  ),\n  tagline: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Tagline of the mini app\",\n    }),\n  ),\n  heroImageUrl: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"URL to the hero image\",\n    }),\n  ),\n  primaryCategory: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Primary category of the mini app\",\n    }),\n  ),\n  tags: z.optional(\n    z.array(z.string()).register(z.globalRegistry, {\n      description: \"Tags associated with the mini app\",\n    }),\n  ),\n  screenshotUrls: z.optional(\n    z.array(z.string()).register(z.globalRegistry, {\n      description: \"URLs to screenshot images\",\n    }),\n  ),\n  noindex: z.optional(\n    z.boolean().register(z.globalRegistry, {\n      description: \"Whether the mini app should be indexed\",\n    }),\n  ),\n  ogTitle: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Open Graph title\",\n    }),\n  ),\n  ogDescription: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Open Graph description\",\n    }),\n  ),\n  ogImageUrl: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"Open Graph image URL\",\n    }),\n  ),\n  requiredCapabilities: z.optional(\n    z.array(z.string()).register(z.globalRegistry, {\n      description: \"Required capabilities for the mini app\",\n    }),\n  ),\n  requiredChains: z.optional(\n    z.array(z.string()).register(z.globalRegistry, {\n      description: \"Required blockchain chains\",\n    }),\n  ),\n  viewerContext: z.optional(zMiniAppViewerContext),\n});\n\nexport const zRankedMiniApp = z.object({\n  rank: z.optional(\n    z.int().register(z.globalRegistry, {\n      description: \"Current rank of the mini app\",\n    }),\n  ),\n  miniApp: z.optional(zMiniApp),\n  rank72hChange: z.optional(\n    z.int().register(z.globalRegistry, {\n      description: \"Change in rank over the last 72 hours\",\n    }),\n  ),\n});\n\nexport const zTopMiniAppsResponse = z.object({\n  result: z.optional(\n    z.object({\n      miniApps: z.optional(z.array(zRankedMiniApp)),\n      next: z.optional(zPaginationCursor),\n    }),\n  ),\n});\n\nexport const zVerifiedAddress = z.object({\n  fid: z.optional(z.int()),\n  address: z.optional(z.string()),\n  timestamp: z.optional(z.int()),\n  version: z.optional(z.string()),\n  protocol: z.optional(z.string()),\n  isPrimary: z.optional(z.boolean()),\n  labels: z.optional(z.array(z.string())),\n});\n\nexport const zMutedKeywordProperties = z.object({\n  channels: z.optional(z.boolean()),\n  frames: z.optional(z.boolean()),\n  notifications: z.optional(z.boolean()),\n});\n\nexport const zMutedKeyword = z.object({\n  keyword: z.string(),\n  properties: zMutedKeywordProperties,\n});\n\nexport const zMutedKeywordsResponse = z.object({\n  success: z.boolean(),\n  result: z.object({\n    keywords: z.array(z.string()),\n    mutedKeywords: z.array(zMutedKeyword),\n  }),\n});\n\nexport const zCastHashResponse = z.object({\n  result: z.object({\n    castHash: z.optional(z.string()),\n  }),\n});\n\nexport const zAttachEmbedsResponse = z.object({\n  result: z.record(z.string(), z.unknown()),\n});\n\nexport const zCastRecastersResponse = z.object({\n  result: z.object({\n    users: z.optional(z.array(zUser)),\n  }),\n});\n\nexport const zCastQuote = z.object({\n  hash: z.optional(z.string()),\n  threadHash: z.optional(z.string()),\n  parentSource: z.optional(\n    z.object({\n      type: z.optional(z.string()),\n      url: z.optional(z.string()),\n    }),\n  ),\n  author: z.optional(zUser),\n  text: z.optional(z.string()),\n  timestamp: z.optional(z.int()),\n});\n\nexport const zCastQuotesResponse = z.object({\n  result: z.object({\n    quotes: z.optional(z.array(zCastQuote)),\n  }),\n});\n\nexport const zUserResponseUserResponse = z.object({\n  result: z.object({\n    user: zUser,\n  }),\n});\n\nexport const zSearchChannelsResponse = z.object({\n  result: z.optional(\n    z.object({\n      channels: z.optional(z.array(zChannel)),\n    }),\n  ),\n});\n\nexport const zDraftsResponse = z.object({\n  result: z.optional(\n    z.object({\n      drafts: z.optional(z.array(z.unknown())),\n    }),\n  ),\n});\n\nexport const zDraftCast = z.object({\n  text: z.optional(z.string()),\n  embeds: z.optional(z.array(z.unknown())),\n});\n\nexport const zDraft = z.object({\n  draftId: z.optional(z.string()),\n  casts: z.optional(z.array(zDraftCast)),\n});\n\nexport const zDraftCreatedResponse = z.object({\n  result: z.optional(\n    z.object({\n      draft: z.optional(zDraft),\n    }),\n  ),\n});\n\nexport const zCastCreatedResponse = z.object({\n  result: z.optional(\n    z.object({\n      cast: z.optional(zCast),\n    }),\n  ),\n});\n\nexport const zRawChannel = z.object({\n  id: z.optional(z.string()),\n  url: z.optional(z.string()),\n  name: z.optional(z.string()),\n  description: z.optional(z.string()),\n  descriptionMentions: z.optional(z.array(z.int())),\n  descriptionMentionsPositions: z.optional(z.array(z.int())),\n  imageUrl: z.optional(z.string()),\n  headerImageUrl: z.optional(z.string()),\n  leadFid: z.optional(z.int()),\n  moderatorFids: z.optional(z.array(z.int())),\n  createdAt: z.optional(z.int()),\n  followerCount: z.optional(z.int()),\n  memberCount: z.optional(z.int()),\n  pinnedCastHash: z.optional(z.string()),\n  publicCasting: z.optional(z.boolean()),\n  externalLink: z.optional(\n    z.object({\n      title: z.optional(z.string()),\n      url: z.optional(z.string()),\n    }),\n  ),\n});\n\nexport const zChannelListResponse = z.object({\n  result: z.optional(\n    z.object({\n      channels: z.optional(z.array(zRawChannel)),\n    }),\n  ),\n});\n\nexport const zRawChannelResponse = z.object({\n  result: z.optional(\n    z.object({\n      channel: z.optional(zRawChannel),\n    }),\n  ),\n});\n\nexport const zChannelFollower = z.object({\n  fid: z.optional(z.int()),\n  followedAt: z.optional(z.int()),\n});\n\nexport const zChannelFollowersResponse = zPaginatedResponse.and(\n  z.object({\n    result: z.optional(\n      z.object({\n        users: z.optional(z.array(zChannelFollower)),\n      }),\n    ),\n  }),\n);\n\nexport const zChannelFollowStatus = z.object({\n  following: z.optional(z.boolean()),\n  followedAt: z.optional(z.int()),\n});\n\nexport const zChannelFollowStatusResponse = z.object({\n  result: z.optional(zChannelFollowStatus),\n});\n\nexport const zAction = z.object({\n  name: z.optional(z.string()),\n  icon: z.optional(z.string()),\n  description: z.optional(z.string()),\n  aboutUrl: z.optional(z.url()),\n  imageUrl: z.optional(z.url()),\n  actionUrl: z.optional(z.url()),\n  action: z.optional(\n    z.object({\n      actionType: z.optional(z.enum([\"post\", \"get\", \"put\", \"delete\"])),\n      postUrl: z.optional(z.url()),\n    }),\n  ),\n});\n\nexport const zWinner = z.object({\n  fid: z.optional(\n    z.int().register(z.globalRegistry, {\n      description: \"The fid of the winner\",\n    }),\n  ),\n  domain: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"The domain of the winner\",\n    }),\n  ),\n  frameName: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"The name of the frame (mini app)\",\n    }),\n  ),\n  score: z.optional(\n    z.int().register(z.globalRegistry, {\n      description: \"The score of the winner\",\n    }),\n  ),\n  rank: z.optional(\n    z.int().register(z.globalRegistry, {\n      description: \"The rank of the winner\",\n    }),\n  ),\n  rewardCents: z.optional(\n    z.int().register(z.globalRegistry, {\n      description: \"The reward amount in cents\",\n    }),\n  ),\n  walletAddress: z.optional(\n    z.string().register(z.globalRegistry, {\n      description: \"The wallet address of the winner (optional)\",\n    }),\n  ),\n});\n\nexport const zFrame = z.object({\n  domain: z.optional(z.string()),\n  name: z.optional(z.string()),\n  iconUrl: z.optional(z.string()),\n  homeUrl: z.optional(z.string()),\n  splashImageUrl: z.optional(z.string()),\n  splashBackgroundColor: z.optional(z.string()),\n  buttonTitle: z.optional(z.union([z.string(), z.null()])),\n  imageUrl: z.optional(z.union([z.string(), z.null()])),\n  supportsNotifications: z.optional(z.boolean()),\n  viewerContext: z.optional(z.record(z.string(), z.unknown())),\n  author: z.optional(zUser),\n});\n\nexport const zAppsByAuthorResponse = z.object({\n  result: z.optional(\n    z.object({\n      frames: z.optional(z.array(zFrame)),\n    }),\n  ),\n});\n\nexport const zApiKey = z.object({\n  id: z.uuid().register(z.globalRegistry, {\n    description: \"Unique identifier for the API key\",\n  }),\n  createdAt: z.coerce.bigint().register(z.globalRegistry, {\n    description:\n      \"Timestamp when the API key was created (in milliseconds since epoch)\",\n  }),\n  expiresAt: z.coerce.bigint().register(z.globalRegistry, {\n    description:\n      \"Timestamp when the API key expires (in milliseconds since epoch)\",\n  }),\n  revokedAt: z.optional(z.union([z.string(), z.null()])),\n  tag: z.string().register(z.globalRegistry, {\n    description: \"Short identifier tag for the API key\",\n  }),\n  description: z.string().register(z.globalRegistry, {\n    description: \"User-provided description of the API key's purpose\",\n  }),\n});\n\nexport const zDirectCastSendResponse = zSuccessResponse;\n\nexport const zDirectCastConversationCategorizationResponse = zSuccessResponse;\n\nexport const zDirectCastConversationNotificationsResponse = zSuccessResponse;\n\nexport const zDirectCastConversationMessageTtlResponse = zSuccessResponse;\n\nexport const zDirectCastMessageReactionResponse = zSuccessResponse;\n\n/**\n * The user's FID (Farcaster ID)\n */\nexport const zFidParam = z.int().register(z.globalRegistry, {\n  description: \"The user's FID (Farcaster ID)\",\n});\n\n/**\n * Maximum number of items to return\n */\nexport const zLimitParam = z\n  .int()\n  .gte(1)\n  .lte(100)\n  .register(z.globalRegistry, {\n    description: \"Maximum number of items to return\",\n  })\n  .default(50);\n\n/**\n * Base64 encoded cursor for pagination\n */\nexport const zCursorParam = z.string().register(z.globalRegistry, {\n  description: \"Base64 encoded cursor for pagination\",\n});\n\nexport const zGetUserOnboardingStateData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetUserByFidData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    fid: z.int().register(z.globalRegistry, {\n      description: \"The user's FID (Farcaster ID)\",\n    }),\n  }),\n});\n\nexport const zGetDirectCastInboxData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(\n    z.object({\n      limit: z\n        .optional(\n          z.int().gte(1).lte(100).register(z.globalRegistry, {\n            description: \"Maximum number of items to return\",\n          }),\n        )\n        .default(50),\n      category: z.optional(\n        z.enum([\"default\", \"requests\", \"spam\"]).register(z.globalRegistry, {\n          description: \"Category of conversations to retrieve\",\n        }),\n      ),\n      filter: z.optional(\n        z.enum([\"unread\", \"group\", \"1-1\"]).register(z.globalRegistry, {\n          description: \"Filter for conversations (e.g., unread, all)\",\n        }),\n      ),\n      cursor: z.optional(\n        z.string().register(z.globalRegistry, {\n          description: \"Base64 encoded cursor for pagination\",\n        }),\n      ),\n    }),\n  ),\n});\n\nexport const zGetUserAppContextData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetUserPreferencesData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetHighlightedChannelsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetFeedItemsData = z.object({\n  body: z.object({\n    feedKey: z.string().register(z.globalRegistry, {\n      description: \"Identifier for the specific feed\",\n    }),\n    feedType: z.string().register(z.globalRegistry, {\n      description: \"Type of feed to retrieve\",\n    }),\n    olderThan: z.optional(\n      z.coerce.bigint().register(z.globalRegistry, {\n        description: \"Only return items older than this timestamp (ms)\",\n      }),\n    ),\n    latestMainCastTimestamp: z.optional(\n      z.coerce.bigint().register(z.globalRegistry, {\n        description: \"Latest main cast timestamp used for pagination (ms)\",\n      }),\n    ),\n    excludeItemIdPrefixes: z.optional(\n      z.array(z.string()).register(z.globalRegistry, {\n        description: \"List of item ID prefixes to exclude from the response\",\n      }),\n    ),\n    castViewEvents: z.optional(\n      z\n        .array(\n          z.object({\n            ts: z.optional(\n              z.coerce.bigint().register(z.globalRegistry, {\n                description: \"Event timestamp in ms\",\n              }),\n            ),\n            hash: z.optional(\n              z.string().register(z.globalRegistry, {\n                description: \"Cast hash\",\n              }),\n            ),\n            on: z.optional(\n              z.string().register(z.globalRegistry, {\n                description: \"Context of the view event\",\n              }),\n            ),\n            channel: z.optional(\n              z.string().register(z.globalRegistry, {\n                description: \"Channel key\",\n              }),\n            ),\n            feed: z.optional(\n              z.string().register(z.globalRegistry, {\n                description: \"Feed type where event occurred\",\n              }),\n            ),\n          }),\n        )\n        .register(z.globalRegistry, {\n          description: \"View events for casts (can be empty array)\",\n        }),\n    ),\n    updateState: z.optional(\n      z.boolean().register(z.globalRegistry, {\n        description: \"Whether to update the feed state\",\n      }),\n    ),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetUserData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    fid: z.int().register(z.globalRegistry, {\n      description: \"The user's FID (Farcaster ID)\",\n    }),\n  }),\n});\n\nexport const zGetUserFollowingChannelsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(\n    z.object({\n      forComposer: z.optional(\n        z.boolean().register(z.globalRegistry, {\n          description:\n            \"Whether results are intended for the composer interface\",\n        }),\n      ),\n      limit: z\n        .optional(\n          z.int().gte(1).lte(100).register(z.globalRegistry, {\n            description: \"Maximum number of items to return\",\n          }),\n        )\n        .default(50),\n    }),\n  ),\n});\n\nexport const zGetSuggestedUsersData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(\n    z.object({\n      limit: z\n        .optional(\n          z.int().gte(1).lte(100).register(z.globalRegistry, {\n            description: \"Maximum number of items to return\",\n          }),\n        )\n        .default(50),\n      randomized: z\n        .optional(\n          z.boolean().register(z.globalRegistry, {\n            description: \"Whether to randomize the suggested users\",\n          }),\n        )\n        .default(false),\n    }),\n  ),\n});\n\nexport const zGetUserFavoriteFramesData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(\n    z.object({\n      limit: z\n        .optional(\n          z.int().gte(1).lte(100).register(z.globalRegistry, {\n            description: \"Maximum number of items to return\",\n          }),\n        )\n        .default(50),\n    }),\n  ),\n});\n\nexport const zGetUserByUsernameData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    username: z.string().min(1).max(16).register(z.globalRegistry, {\n      description: \"The username to look up\",\n    }),\n  }),\n});\n\nexport const zGetChannelStreaksForUserData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    fid: z.int(),\n  }),\n});\n\nexport const zGetUnseenCountsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetUserThreadCastsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    limit: z\n      .optional(\n        z.int().gte(1).lte(100).register(z.globalRegistry, {\n          description: \"Maximum number of items to return\",\n        }),\n      )\n      .default(50),\n    castHashPrefix: z.string().register(z.globalRegistry, {\n      description: \"The hash prefix of the cast\",\n    }),\n    username: z.string().register(z.globalRegistry, {\n      description: \"The username of the user\",\n    }),\n  }),\n});\n\nexport const zGetChannelFollowersYouKnowData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    channelKey: z.string(),\n    limit: z.optional(z.int()),\n  }),\n});\n\nexport const zMarkAllNotificationsReadData = z.object({\n  body: z.record(z.string(), z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetNotificationsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    tab: z\n      .enum([\"all\", \"follows\", \"mentions\", \"moderate\"])\n      .register(z.globalRegistry, {\n        description: \"Notification tab type\",\n      }),\n    limit: z\n      .optional(\n        z.int().gte(1).lte(100).register(z.globalRegistry, {\n          description: \"Number of notifications to return\",\n        }),\n      )\n      .default(25),\n    cursor: z.optional(\n      z.string().register(z.globalRegistry, {\n        description: \"Pagination cursor returned by a previous call\",\n      }),\n    ),\n  }),\n});\n\nexport const zSetLastCheckedTimestampData = z.object({\n  body: z.record(z.string(), z.unknown()).register(z.globalRegistry, {\n    description: \"Empty object for now\",\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetDirectCastConversationData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    conversationId: z.string().register(z.globalRegistry, {\n      description:\n        'Conversation ID. Format depends on conversation type:\\n- 1:1 conversations: \"fid1-fid2\" (e.g., \"123-456\")\\n- Group conversations: Hash format (e.g., \"a1b2c3d4e5f6...\")\\n',\n    }),\n  }),\n});\n\nexport const zCategorizeDirectCastConversationData = z.object({\n  body: zDirectCastConversationCategorizationRequest,\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetDirectCastConversationMessagesData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    conversationId: z.string().register(z.globalRegistry, {\n      description:\n        'Conversation ID. Format depends on conversation type:\\n- 1:1 conversations: \"fid1-fid2\" (e.g., \"123-456\")\\n- Group conversations: Hash format (e.g., \"c9e139dcbc9423cf\")\\n',\n    }),\n    limit: z\n      .optional(\n        z.int().gte(1).lte(100).register(z.globalRegistry, {\n          description: \"Maximum number of messages to return\",\n        }),\n      )\n      .default(50),\n  }),\n});\n\nexport const zSetDirectCastConversationMessageTtlData = z.object({\n  body: zDirectCastConversationMessageTtlRequest,\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zUpdateDirectCastConversationNotificationsData = z.object({\n  body: zDirectCastConversationNotificationsRequest,\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetDirectCastConversationRecentMessagesData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    conversationId: z.string().register(z.globalRegistry, {\n      description:\n        'Conversation ID. Format depends on conversation type:\\n- 1:1 conversations: \"fid1-fid2\" (e.g., \"123-456\")\\n- Group conversations: Hash format (e.g., \"c9e139dcbc9423cf\")\\n',\n    }),\n  }),\n});\n\nexport const zSendDirectCastMessageData = z.object({\n  body: zDirectCastSendRequest,\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zDirectCastManuallyMarkUnreadData = z.object({\n  body: zDirectCastManuallyMarkUnreadRequest,\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zRemoveDirectCastMessageReactionData = z.object({\n  body: zDirectCastMessageReactionRequest,\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zAddDirectCastMessageReactionData = z.object({\n  body: zDirectCastMessageReactionRequest,\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zUnpinDirectCastConversationData = z.object({\n  body: zDirectCastPinConversationRequest,\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zPinDirectCastConversationData = z.object({\n  body: zDirectCastPinConversationRequest,\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zDiscoverChannelsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(\n    z.object({\n      limit: z\n        .optional(\n          z.int().gte(1).lte(100).register(z.globalRegistry, {\n            description: \"Maximum number of items to return\",\n          }),\n        )\n        .default(50),\n    }),\n  ),\n});\n\nexport const zGetAvailableInvitesData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetSponsoredInvitesData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetOrCreateReferralCodeData = z.object({\n  body: z.record(z.string(), z.never()).register(z.globalRegistry, {\n    description: \"Empty request body\",\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetRewardsLeaderboardData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    limit: z\n      .optional(\n        z.int().gte(1).lte(100).register(z.globalRegistry, {\n          description: \"Maximum number of items to return\",\n        }),\n      )\n      .default(50),\n    rewardsType: z.enum([\"invite\"]).register(z.globalRegistry, {\n      description: \"Type of rewards to retrieve\",\n    }),\n    cursor: z.optional(\n      z.string().register(z.globalRegistry, {\n        description: \"Base64 encoded cursor for pagination\",\n      }),\n    ),\n  }),\n});\n\nexport const zGetUserRewardsScoresData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    fid: z.int().register(z.globalRegistry, {\n      description: \"The user's FID (Farcaster ID)\",\n    }),\n    rewardsType: z.enum([\"invite\"]),\n  }),\n});\n\nexport const zGetRewardsMetadataData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    rewardsType: z.enum([\"invite\"]),\n  }),\n});\n\nexport const zGetXpRewardsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(\n    z.object({\n      limit: z\n        .optional(\n          z.int().gte(1).lte(100).register(z.globalRegistry, {\n            description: \"Maximum number of rewards to return\",\n          }),\n        )\n        .default(50),\n    }),\n  ),\n});\n\nexport const zGetXpClaimableSummaryData = z.object({\n  body: z.record(z.string(), z.never()).register(z.globalRegistry, {\n    description: \"Empty request body\",\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetBookmarkedCastsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(\n    z.object({\n      limit: z\n        .optional(\n          z.int().gte(1).lte(100).register(z.globalRegistry, {\n            description: \"Maximum number of items to return\",\n          }),\n        )\n        .default(50),\n    }),\n  ),\n});\n\nexport const zGetUserStarterPacksData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    fid: z.int().register(z.globalRegistry, {\n      description: \"The user's FID (Farcaster ID)\",\n    }),\n    limit: z\n      .optional(\n        z.int().gte(1).lte(100).register(z.globalRegistry, {\n          description: \"Maximum number of items to return\",\n        }),\n      )\n      .default(50),\n  }),\n});\n\nexport const zGetSuggestedStarterPacksData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(\n    z.object({\n      limit: z.optional(z.int()).default(15),\n    }),\n  ),\n});\n\nexport const zGetStarterPackData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    id: z.uuid().register(z.globalRegistry, {\n      description: \"The unique identifier of the starter pack\",\n    }),\n  }),\n});\n\nexport const zUpdateStarterPackData = z.object({\n  body: zStarterPackUpdateRequest,\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n  headers: z.optional(\n    z.object({\n      \"Idempotency-Key\": z.optional(\n        z.uuid().register(z.globalRegistry, {\n          description:\n            \"Idempotency key to safely retry the request without performing the operation multiple times.\",\n        }),\n      ),\n    }),\n  ),\n});\n\nexport const zGetStarterPackUsersData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    limit: z\n      .optional(\n        z.int().gte(1).lte(100).register(z.globalRegistry, {\n          description: \"Maximum number of items to return\",\n        }),\n      )\n      .default(50),\n    id: z.string(),\n  }),\n});\n\nexport const zGetChannelData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    key: z.string().register(z.globalRegistry, {\n      description: \"The unique key identifier for the channel\",\n    }),\n  }),\n});\n\nexport const zGetChannelUsersData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    limit: z\n      .optional(\n        z.int().gte(1).lte(100).register(z.globalRegistry, {\n          description: \"Maximum number of items to return\",\n        }),\n      )\n      .default(50),\n    channelKey: z.string(),\n    filterToMembers: z.optional(z.boolean()),\n    query: z.optional(z.string()),\n  }),\n});\n\nexport const zGetFollowingData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    fid: z.int().register(z.globalRegistry, {\n      description: \"The user's FID (Farcaster ID)\",\n    }),\n    limit: z\n      .optional(\n        z.int().gte(1).lte(100).register(z.globalRegistry, {\n          description: \"Maximum number of items to return\",\n        }),\n      )\n      .default(50),\n  }),\n});\n\nexport const zGetFollowersData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    fid: z.int().register(z.globalRegistry, {\n      description: \"The user's FID (Farcaster ID)\",\n    }),\n    limit: z\n      .optional(\n        z.int().gte(1).lte(100).register(z.globalRegistry, {\n          description: \"Maximum number of items to return\",\n        }),\n      )\n      .default(50),\n  }),\n});\n\nexport const zGetMutualFollowersData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    fid: z.int(),\n    limit: z.optional(z.int()),\n  }),\n});\n\nexport const zGetTopFrameAppsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(\n    z.object({\n      limit: z\n        .optional(\n          z.int().gte(1).lte(100).register(z.globalRegistry, {\n            description: \"Maximum number of items to return\",\n          }),\n        )\n        .default(50),\n      cursor: z.optional(z.string()),\n    }),\n  ),\n});\n\nexport const zGetTopMiniAppsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(\n    z.object({\n      limit: z\n        .optional(\n          z.int().gte(1).lte(100).register(z.globalRegistry, {\n            description: \"Maximum number of items to return\",\n          }),\n        )\n        .default(50),\n      cursor: z.optional(\n        z.string().register(z.globalRegistry, {\n          description: \"Base64 encoded cursor for pagination\",\n        }),\n      ),\n    }),\n  ),\n});\n\nexport const zGetVerificationsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    fid: z.int().register(z.globalRegistry, {\n      description: \"The user's FID (Farcaster ID)\",\n    }),\n    limit: z\n      .optional(\n        z.int().gte(1).lte(100).register(z.globalRegistry, {\n          description: \"Maximum number of items to return\",\n        }),\n      )\n      .default(50),\n  }),\n});\n\nexport const zGetMutedKeywordsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zMuteKeywordData = z.object({\n  body: z.object({\n    keyword: z.optional(z.string()),\n    properties: z.optional(zMutedKeywordProperties),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zUnmuteKeywordData = z.object({\n  body: z.object({\n    keyword: z.optional(z.string()),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zUnlikeCastData = z.object({\n  body: z.object({\n    castHash: z.string(),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetCastLikesData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    castHash: z.string(),\n    limit: z.optional(z.int()).default(15),\n  }),\n});\n\nexport const zLikeCastData = z.object({\n  body: z.object({\n    castHash: z.string(),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zUndoRecastData = z.object({\n  body: z.object({\n    castHash: z.string(),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zRecastCastData = z.object({\n  body: z.object({\n    castHash: z.string(),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zAttachEmbedsData = z.object({\n  body: z.object({\n    text: z.optional(z.string()),\n    embeds: z.optional(z.array(z.url())),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetCastRecastersData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    limit: z\n      .optional(\n        z.int().gte(1).lte(100).register(z.globalRegistry, {\n          description: \"Maximum number of items to return\",\n        }),\n      )\n      .default(50),\n    castHash: z.string(),\n  }),\n});\n\nexport const zGetCastQuotesData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    castHash: z.string(),\n    limit: z.optional(z.int()).default(15),\n  }),\n});\n\nexport const zGetCurrentUserData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zSearchChannelsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(\n    z.object({\n      limit: z\n        .optional(\n          z.int().gte(1).lte(100).register(z.globalRegistry, {\n            description: \"Maximum number of items to return\",\n          }),\n        )\n        .default(50),\n      q: z.optional(\n        z.string().min(1).register(z.globalRegistry, {\n          description: \"Search query string\",\n        }),\n      ),\n      prioritizeFollowed: z\n        .optional(\n          z.boolean().register(z.globalRegistry, {\n            description: \"Whether to prioritize channels the user follows\",\n          }),\n        )\n        .default(true),\n      forComposer: z\n        .optional(\n          z.boolean().register(z.globalRegistry, {\n            description: \"Whether the search is for the composer context\",\n          }),\n        )\n        .default(false),\n    }),\n  ),\n});\n\nexport const zGetDraftCastsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(\n    z.object({\n      limit: z.optional(z.int()).default(15),\n    }),\n  ),\n});\n\nexport const zCreateDraftCastsData = z.object({\n  body: z.object({\n    caststorm: z.optional(\n      z.object({\n        casts: z.optional(z.array(zDraftCast)),\n      }),\n    ),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n  headers: z.object({\n    \"idempotency-key\": z.uuid(),\n  }),\n});\n\nexport const zDeleteDraftCastData = z.object({\n  body: z.object({\n    draftId: z.optional(z.string()),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zDeleteCastData = z.object({\n  body: z.object({\n    castHash: z\n      .string()\n      .regex(/^0x[a-fA-F0-9]{40}$/)\n      .register(z.globalRegistry, {\n        description: \"The hash of the cast to delete\",\n      }),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetCastsByFidData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    fid: z.int().register(z.globalRegistry, {\n      description: \"The user's FID (Farcaster ID)\",\n    }),\n    limit: z\n      .optional(\n        z.int().gte(1).lte(100).register(z.globalRegistry, {\n          description: \"Maximum number of items to return\",\n        }),\n      )\n      .default(50),\n  }),\n});\n\nexport const zCreateCastData = z.object({\n  body: z.object({\n    text: z.string().min(1).max(320).register(z.globalRegistry, {\n      description: \"The text content of the cast\",\n    }),\n    embeds: z.optional(\n      z\n        .array(\n          z.union([\n            z.string().register(z.globalRegistry, {\n              description: \"Embed URL\",\n            }),\n            z.record(z.string(), z.unknown()).register(z.globalRegistry, {\n              description: \"Embed object\",\n            }),\n          ]),\n        )\n        .register(z.globalRegistry, {\n          description: \"Optional array of embeds (URLs, images, etc.)\",\n        }),\n    ),\n    channelKey: z.optional(\n      z.string().register(z.globalRegistry, {\n        description: \"Optional channel to post the cast to\",\n      }),\n    ),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetAllChannelsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetChannelDetailsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    channelId: z.string(),\n  }),\n});\n\nexport const zGetChannelFollowersData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    channelId: z.string(),\n    cursor: z.optional(z.string()),\n  }),\n});\n\nexport const zGetUserFollowedChannelsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    fid: z.int().register(z.globalRegistry, {\n      description: \"The user's FID (Farcaster ID)\",\n    }),\n  }),\n});\n\nexport const zCheckUserChannelFollowStatusData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    fid: z.int().register(z.globalRegistry, {\n      description: \"The user's FID (Farcaster ID)\",\n    }),\n    channelId: z.string(),\n  }),\n});\n\nexport const zGetChannelMembersData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    channelId: z.string(),\n  }),\n});\n\nexport const zRemoveChannelInviteData = z.object({\n  body: z.object({\n    channelId: z.string().register(z.globalRegistry, {\n      description:\n        \"ID of the channel from which the user's invite is being removed\",\n    }),\n    removeFid: z.int().register(z.globalRegistry, {\n      description: \"Farcaster ID of the user whose invite is being removed\",\n    }),\n    role: z.enum([\"member\", \"admin\"]).register(z.globalRegistry, {\n      description: \"Role associated with the invite being removed\",\n    }),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetChannelInvitesData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    channelId: z.string(),\n  }),\n});\n\nexport const zAcceptChannelInviteData = z.object({\n  body: z.object({\n    channelId: z.string().register(z.globalRegistry, {\n      description: \"ID of the channel for which the invite is being accepted\",\n    }),\n    role: z.enum([\"member\", \"admin\"]).register(z.globalRegistry, {\n      description: \"Role that the user will have in the channel\",\n    }),\n    accept: z.boolean().register(z.globalRegistry, {\n      description: \"Flag indicating whether to accept the invite\",\n    }),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zInviteUserToChannelData = z.object({\n  body: z.object({\n    channelId: z.string().register(z.globalRegistry, {\n      description: \"ID of the channel to invite the user to\",\n    }),\n    inviteFid: z.int().register(z.globalRegistry, {\n      description: \"Farcaster ID of the user being invited\",\n    }),\n    role: z.enum([\"member\", \"admin\"]).register(z.globalRegistry, {\n      description: \"Role of the invited user within the channel\",\n    }),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetChannelModeratedCastsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    channelId: z.string().register(z.globalRegistry, {\n      description: \"ID of the channel to get moderation actions for\",\n    }),\n  }),\n});\n\nexport const zGetChannelRestrictedUsersData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    channelId: z.string().register(z.globalRegistry, {\n      description: \"ID of the channel to get restricted users for\",\n    }),\n  }),\n});\n\nexport const zUnbanUserFromChannelData = z.object({\n  body: z.object({\n    channelId: z.string().register(z.globalRegistry, {\n      description: \"ID of the channel from which to unban the user\",\n    }),\n    banFid: z.int().register(z.globalRegistry, {\n      description: \"Farcaster ID of the user to unban\",\n    }),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetChannelBannedUsersData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    channelId: z.string().register(z.globalRegistry, {\n      description: \"ID of the channel to get banned users for\",\n    }),\n  }),\n});\n\nexport const zBanUserFromChannelData = z.object({\n  body: z.object({\n    channelId: z.string().register(z.globalRegistry, {\n      description: \"ID of the channel from which to ban the user\",\n    }),\n    banFid: z.int().register(z.globalRegistry, {\n      description: \"Farcaster ID of the user to ban\",\n    }),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zUnfollowChannelData = z.object({\n  body: z.object({\n    channelId: z.string().register(z.globalRegistry, {\n      description: \"ID of the channel to unfollow\",\n    }),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zFollowChannelData = z.object({\n  body: z.object({\n    channelId: z.string().register(z.globalRegistry, {\n      description: \"ID of the channel to follow\",\n    }),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zModerateCastData = z.object({\n  body: z.object({\n    castHash: z.string().register(z.globalRegistry, {\n      description: \"Hash of the cast to moderate\",\n    }),\n    action: z.enum([\"hide\"]).register(z.globalRegistry, {\n      description: \"Type of moderation action to apply\",\n    }),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zUnpinCastFromChannelData = z.object({\n  body: z.object({\n    channelId: z.string().register(z.globalRegistry, {\n      description: \"ID of the channel from which to unpin a cast\",\n    }),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zPinCastToChannelData = z.object({\n  body: z.object({\n    castHash: z.string().register(z.globalRegistry, {\n      description: \"Hash of the cast to pin\",\n    }),\n    notifyChannelFollowers: z.optional(\n      z.boolean().register(z.globalRegistry, {\n        description: \"Whether to notify followers of the channel about the pin\",\n      }),\n    ),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetDiscoverableActionsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    list: z.string(),\n    limit: z.optional(z.int()),\n  }),\n});\n\nexport const zGetDiscoverableComposerActionsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    list: z.string(),\n    limit: z.optional(z.int()),\n  }),\n});\n\nexport const zUnblockUserData = z.object({\n  body: z.object({\n    unblockFid: z.int().register(z.globalRegistry, {\n      description: \"Farcaster ID of the user to unblock\",\n    }),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetBlockedUsersData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zBlockUserData = z.object({\n  body: z.object({\n    blockFid: z.int().register(z.globalRegistry, {\n      description: \"Farcaster ID of the user to block\",\n    }),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetAccountVerificationsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    fid: z.int().register(z.globalRegistry, {\n      description: \"The user's FID (Farcaster ID)\",\n    }),\n  }),\n});\n\nexport const zGetCreatorRewardWinnersData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(\n    z.object({\n      periodsAgo: z.optional(\n        z.int().register(z.globalRegistry, {\n          description:\n            \"How many periods ago to fetch the results for. 0 or undefined returns results for the most recent period.\",\n        }),\n      ),\n    }),\n  ),\n});\n\nexport const zGetUserPrimaryAddressData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    fid: z.int().register(z.globalRegistry, {\n      description: \"The user's FID (Farcaster ID)\",\n    }),\n    protocol: z.enum([\"ethereum\", \"solana\"]).register(z.globalRegistry, {\n      description: \"The protocol of the address to fetch.\",\n    }),\n  }),\n});\n\nexport const zGetUserPrimaryAddressesData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    fids: z.string().register(z.globalRegistry, {\n      description:\n        \"Comma-separated list of FIDs to fetch primary addresses for.\",\n    }),\n    protocol: z.enum([\"ethereum\", \"solana\"]).register(z.globalRegistry, {\n      description: \"The protocol of the addresses to fetch.\",\n    }),\n  }),\n});\n\nexport const zGetStarterPackMembersData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    id: z.string().register(z.globalRegistry, {\n      description:\n        \"Starter pack ID, as found in the public Warpcast pack URL or in the non-authed public API of starter pack metadata.\\n\",\n    }),\n  }),\n});\n\nexport const zSendDirectCastData = z.object({\n  body: z.object({\n    recipientFid: z.int().register(z.globalRegistry, {\n      description: \"The Farcaster ID of the recipient.\",\n    }),\n    message: z.string().register(z.globalRegistry, {\n      description: \"The direct cast message.\",\n    }),\n    idempotencyKey: z.uuid().register(z.globalRegistry, {\n      description: \"A unique key to ensure idempotency.\",\n    }),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetUserByVerificationAddressData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    address: z.string().register(z.globalRegistry, {\n      description: \"Ethereum address used for user verification\",\n    }),\n  }),\n});\n\nexport const zGetDeveloperRewardWinnersData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(\n    z.object({\n      periodsAgo: z.optional(\n        z.int().register(z.globalRegistry, {\n          description:\n            \"How many periods ago to fetch the results for. 0 or undefined returns results for the most recent period.\",\n        }),\n      ),\n    }),\n  ),\n});\n\nexport const zGetAppsByAuthorData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    fid: z.int().register(z.globalRegistry, {\n      description: \"The user's FID (Farcaster ID)\",\n    }),\n    limit: z\n      .optional(\n        z.int().gte(1).lte(100).register(z.globalRegistry, {\n          description: \"Maximum number of items to return\",\n        }),\n      )\n      .default(50),\n  }),\n});\n\nexport const zGetDomainManifestData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    domain: z.string().register(z.globalRegistry, {\n      description: \"The domain to retrieve manifest information for\",\n    }),\n  }),\n});\n\nexport const zGetTrendingTopicsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetMetaTagsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    url: z.url().register(z.globalRegistry, {\n      description: \"The URL to fetch metadata from\",\n    }),\n  }),\n});\n\nexport const zGetFarcasterJsonData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    domain: z.string().register(z.globalRegistry, {\n      description: \"The domain to fetch Farcaster JSON data from\",\n    }),\n  }),\n});\n\nexport const zGetOwnedDomainsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetManagedAppsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(\n    z.object({\n      limit: z\n        .optional(\n          z.int().gte(1).lte(100).register(z.globalRegistry, {\n            description: \"Maximum number of apps to return\",\n          }),\n        )\n        .default(25),\n    }),\n  ),\n});\n\nexport const zGetApiKeysData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zCreateApiKeyData = z.object({\n  body: z.object({\n    description: z.string().register(z.globalRegistry, {\n      description: \"User-provided description of the API key's purpose\",\n    }),\n    expiresAt: z.coerce.bigint().register(z.globalRegistry, {\n      description:\n        \"Timestamp when the API key should expire (in milliseconds since epoch)\",\n    }),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n  headers: z.optional(\n    z.object({\n      \"idempotency-key\": z.optional(\n        z.uuid().register(z.globalRegistry, {\n          description: \"A unique key to ensure idempotency of the request\",\n        }),\n      ),\n    }),\n  ),\n});\n\nexport const zRevokeApiKeyData = z.object({\n  body: z.object({\n    id: z.uuid().register(z.globalRegistry, {\n      description: \"ID of the API key to revoke\",\n    }),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n  headers: z.optional(\n    z.object({\n      \"idempotency-key\": z.optional(\n        z.uuid().register(z.globalRegistry, {\n          description: \"A unique key to ensure idempotency of the request\",\n        }),\n      ),\n    }),\n  ),\n});\n\nexport const zGetConnectedAccountsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.optional(\n    z.object({\n      limit: z\n        .optional(\n          z.int().register(z.globalRegistry, {\n            description: \"Maximum number of connected accounts to return\",\n          }),\n        )\n        .default(15),\n    }),\n  ),\n});\n\nexport const zGetProfileCastsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    fid: z.int().register(z.globalRegistry, {\n      description: \"Farcaster ID of the user\",\n    }),\n    limit: z\n      .optional(\n        z.int().register(z.globalRegistry, {\n          description: \"Maximum number of casts to return\",\n        }),\n      )\n      .default(15),\n    cursor: z.optional(\n      z.string().register(z.globalRegistry, {\n        description: \"Cursor for pagination\",\n      }),\n    ),\n  }),\n});\n\nexport const zGetUserLikedCastsData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    fid: z.int().register(z.globalRegistry, {\n      description:\n        \"The user's fid (user id) whose liked casts are to be retrieved.\",\n    }),\n    limit: z\n      .optional(\n        z.int().register(z.globalRegistry, {\n          description: \"Number of results to limit per request.\",\n        }),\n      )\n      .default(15),\n  }),\n});\n\nexport const zSubmitAnalyticsEventsData = z.object({\n  body: z.object({\n    events: z\n      .array(\n        z.object({\n          type: z.string().register(z.globalRegistry, {\n            description: \"Type of the analytics event\",\n          }),\n          data: z.record(z.string(), z.unknown()).register(z.globalRegistry, {\n            description: \"Event-specific data\",\n          }),\n          ts: z.coerce.bigint().register(z.globalRegistry, {\n            description:\n              \"Unix timestamp in milliseconds when the event occurred\",\n          }),\n        }),\n      )\n      .register(z.globalRegistry, {\n        description: \"Array of analytics events to submit\",\n      }),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zGetMiniAppAnalyticsRollupData = z.object({\n  body: z.object({\n    dateRange: z.object({\n      startDate: z.string().register(z.globalRegistry, {\n        description:\n          \"Start date in format 'YYYY-MM-DD' or relative like '28daysago'\",\n      }),\n      endDate: z.string().register(z.globalRegistry, {\n        description: \"End date in format 'YYYY-MM-DD' or relative like 'today'\",\n      }),\n    }),\n    measures: z\n      .array(\n        z.enum([\n          \"miniapp_opens\",\n          \"miniapp_transactions\",\n          \"miniapp_users_w_transaction\",\n          \"miniapp_users_w_open\",\n          \"miniapp_users_w_notifications_enabled\",\n          \"miniapp_users_w_notifications_disabled\",\n          \"miniapp_users_w_app_favorited\",\n          \"miniapp_users_w_app_unfavorited\",\n        ]),\n      )\n      .register(z.globalRegistry, {\n        description: \"Analytics metrics to retrieve\",\n      }),\n    restrictions: z\n      .array(\n        z.object({\n          dimension: z.string().register(z.globalRegistry, {\n            description: \"Dimension to filter on\",\n          }),\n          values: z.array(z.string()).register(z.globalRegistry, {\n            description: \"Values to filter the dimension by\",\n          }),\n        }),\n      )\n      .register(z.globalRegistry, {\n        description: \"Filtering restrictions for the data\",\n      }),\n    breakdownSettings: z.optional(\n      z\n        .object({\n          dimensions: z.optional(\n            z.array(z.string()).register(z.globalRegistry, {\n              description: \"Dimensions to break down the data by\",\n            }),\n          ),\n          order: z.optional(\n            z.enum([\"asc\", \"desc\"]).register(z.globalRegistry, {\n              description: \"Sort order for the breakdown results\",\n            }),\n          ),\n        })\n        .register(z.globalRegistry, {\n          description: \"Configuration for data breakdown\",\n        }),\n    ),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n\nexport const zInspectMiniAppUrlData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    url: z.url().register(z.globalRegistry, {\n      description: \"The URL of the Mini App to inspect\",\n    }),\n  }),\n});\n\nexport const zInspectImageUrlData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    url: z.url().register(z.globalRegistry, {\n      description: \"The URL of the image to inspect\",\n    }),\n  }),\n});\n\nexport const zExportMiniAppUserDataData = z.object({\n  body: z.optional(z.never()),\n  path: z.optional(z.never()),\n  query: z.object({\n    domain: z.string().register(z.globalRegistry, {\n      description: \"The domain name of the mini app to export user data for\",\n    }),\n  }),\n});\n\nexport const zRegisterStatsigEventsData = z.object({\n  body: z.object({\n    events: z\n      .array(\n        z.object({\n          eventName: z.string().register(z.globalRegistry, {\n            description: \"Name of the event\",\n          }),\n          user: z\n            .object({\n              userID: z.optional(\n                z.int().register(z.globalRegistry, {\n                  description: \"User ID\",\n                }),\n              ),\n              appVersion: z.optional(\n                z.string().register(z.globalRegistry, {\n                  description: \"Application version\",\n                }),\n              ),\n              statsigEnvironment: z.optional(\n                z.object({\n                  tier: z.optional(\n                    z.string().register(z.globalRegistry, {\n                      description: \"Environment tier\",\n                    }),\n                  ),\n                }),\n              ),\n            })\n            .register(z.globalRegistry, {\n              description: \"User information\",\n            }),\n          value: z.optional(z.union([z.string(), z.null()])),\n          metadata: z.optional(\n            z.record(z.string(), z.unknown()).register(z.globalRegistry, {\n              description: \"Event metadata\",\n            }),\n          ),\n          time: z.coerce.bigint().register(z.globalRegistry, {\n            description:\n              \"Unix timestamp in milliseconds when the event occurred\",\n          }),\n          statsigMetadata: z.optional(\n            z.record(z.string(), z.unknown()).register(z.globalRegistry, {\n              description: \"Additional Statsig metadata\",\n            }),\n          ),\n          secondaryExposures: z.optional(\n            z\n              .array(z.record(z.string(), z.unknown()))\n              .register(z.globalRegistry, {\n                description: \"Secondary exposures\",\n              }),\n          ),\n        }),\n      )\n      .register(z.globalRegistry, {\n        description: \"Array of Statsig events to submit\",\n      }),\n    statsigMetadata: z.optional(\n      z\n        .object({\n          sdkType: z.optional(\n            z.string().register(z.globalRegistry, {\n              description: \"Type of SDK\",\n            }),\n          ),\n          sdkVersion: z.optional(\n            z.string().register(z.globalRegistry, {\n              description: \"Version of SDK\",\n            }),\n          ),\n          stableID: z.optional(\n            z.string().register(z.globalRegistry, {\n              description: \"Stable ID for the client\",\n            }),\n          ),\n        })\n        .register(z.globalRegistry, {\n          description: \"SDK metadata\",\n        }),\n    ),\n  }),\n  path: z.optional(z.never()),\n  query: z.optional(z.never()),\n});\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { Client, Options as Options2, TDataShape } from \"./client\";\nimport { client } from \"./client.gen\";\nimport {\n  createCastResponseTransformer,\n  getApiKeysResponseTransformer,\n  getCastsByFidResponseTransformer,\n  getCreatorRewardWinnersResponseTransformer,\n  getDirectCastConversationMessagesResponseTransformer,\n  getDirectCastConversationRecentMessagesResponseTransformer,\n  getDirectCastConversationResponseTransformer,\n  getDirectCastInboxResponseTransformer,\n  getFeedItemsResponseTransformer,\n  getMiniAppAnalyticsRollupResponseTransformer,\n  getNotificationsResponseTransformer,\n  getProfileCastsResponseTransformer,\n  getRewardsMetadataResponseTransformer,\n  getStarterPackMembersResponseTransformer,\n  getUserLikedCastsResponseTransformer,\n} from \"./transformers.gen\";\nimport type {\n  AcceptChannelInviteData,\n  AcceptChannelInviteErrors,\n  AcceptChannelInviteResponses,\n  AddDirectCastMessageReactionData,\n  AddDirectCastMessageReactionErrors,\n  AddDirectCastMessageReactionResponses,\n  AttachEmbedsData,\n  AttachEmbedsErrors,\n  AttachEmbedsResponses,\n  BanUserFromChannelData,\n  BanUserFromChannelErrors,\n  BanUserFromChannelResponses,\n  BlockUserData,\n  BlockUserErrors,\n  BlockUserResponses,\n  CategorizeDirectCastConversationData,\n  CategorizeDirectCastConversationErrors,\n  CategorizeDirectCastConversationResponses,\n  CheckUserChannelFollowStatusData,\n  CheckUserChannelFollowStatusErrors,\n  CheckUserChannelFollowStatusResponses,\n  CreateApiKeyData,\n  CreateApiKeyErrors,\n  CreateApiKeyResponses,\n  CreateCastData,\n  CreateCastErrors,\n  CreateCastResponses,\n  CreateDraftCastsData,\n  CreateDraftCastsErrors,\n  CreateDraftCastsResponses,\n  DeleteCastData,\n  DeleteCastErrors,\n  DeleteCastResponses,\n  DeleteDraftCastData,\n  DeleteDraftCastErrors,\n  DeleteDraftCastResponses,\n  DirectCastManuallyMarkUnreadData,\n  DirectCastManuallyMarkUnreadErrors,\n  DirectCastManuallyMarkUnreadResponses,\n  DiscoverChannelsData,\n  DiscoverChannelsErrors,\n  DiscoverChannelsResponses,\n  ExportMiniAppUserDataData,\n  ExportMiniAppUserDataErrors,\n  ExportMiniAppUserDataResponses,\n  FollowChannelData,\n  FollowChannelErrors,\n  FollowChannelResponses,\n  GetAccountVerificationsData,\n  GetAccountVerificationsErrors,\n  GetAccountVerificationsResponses,\n  GetAllChannelsData,\n  GetAllChannelsErrors,\n  GetAllChannelsResponses,\n  GetApiKeysData,\n  GetApiKeysErrors,\n  GetApiKeysResponses,\n  GetAppsByAuthorData,\n  GetAppsByAuthorErrors,\n  GetAppsByAuthorResponses,\n  GetAvailableInvitesData,\n  GetAvailableInvitesErrors,\n  GetAvailableInvitesResponses,\n  GetBlockedUsersData,\n  GetBlockedUsersErrors,\n  GetBlockedUsersResponses,\n  GetBookmarkedCastsData,\n  GetBookmarkedCastsErrors,\n  GetBookmarkedCastsResponses,\n  GetCastLikesData,\n  GetCastLikesErrors,\n  GetCastLikesResponses,\n  GetCastQuotesData,\n  GetCastQuotesErrors,\n  GetCastQuotesResponses,\n  GetCastRecastersData,\n  GetCastRecastersErrors,\n  GetCastRecastersResponses,\n  GetCastsByFidData,\n  GetCastsByFidErrors,\n  GetCastsByFidResponses,\n  GetChannelBannedUsersData,\n  GetChannelBannedUsersErrors,\n  GetChannelBannedUsersResponses,\n  GetChannelData,\n  GetChannelDetailsData,\n  GetChannelDetailsErrors,\n  GetChannelDetailsResponses,\n  GetChannelErrors,\n  GetChannelFollowersData,\n  GetChannelFollowersErrors,\n  GetChannelFollowersResponses,\n  GetChannelFollowersYouKnowData,\n  GetChannelFollowersYouKnowErrors,\n  GetChannelFollowersYouKnowResponses,\n  GetChannelInvitesData,\n  GetChannelInvitesErrors,\n  GetChannelInvitesResponses,\n  GetChannelMembersData,\n  GetChannelMembersErrors,\n  GetChannelMembersResponses,\n  GetChannelModeratedCastsData,\n  GetChannelModeratedCastsErrors,\n  GetChannelModeratedCastsResponses,\n  GetChannelResponses,\n  GetChannelRestrictedUsersData,\n  GetChannelRestrictedUsersErrors,\n  GetChannelRestrictedUsersResponses,\n  GetChannelStreaksForUserData,\n  GetChannelStreaksForUserErrors,\n  GetChannelStreaksForUserResponses,\n  GetChannelUsersData,\n  GetChannelUsersErrors,\n  GetChannelUsersResponses,\n  GetConnectedAccountsData,\n  GetConnectedAccountsErrors,\n  GetConnectedAccountsResponses,\n  GetCreatorRewardWinnersData,\n  GetCreatorRewardWinnersErrors,\n  GetCreatorRewardWinnersResponses,\n  GetCurrentUserData,\n  GetCurrentUserErrors,\n  GetCurrentUserResponses,\n  GetDeveloperRewardWinnersData,\n  GetDeveloperRewardWinnersErrors,\n  GetDeveloperRewardWinnersResponses,\n  GetDirectCastConversationData,\n  GetDirectCastConversationErrors,\n  GetDirectCastConversationMessagesData,\n  GetDirectCastConversationMessagesErrors,\n  GetDirectCastConversationMessagesResponses,\n  GetDirectCastConversationRecentMessagesData,\n  GetDirectCastConversationRecentMessagesErrors,\n  GetDirectCastConversationRecentMessagesResponses,\n  GetDirectCastConversationResponses,\n  GetDirectCastInboxData,\n  GetDirectCastInboxErrors,\n  GetDirectCastInboxResponses,\n  GetDiscoverableActionsData,\n  GetDiscoverableActionsErrors,\n  GetDiscoverableActionsResponses,\n  GetDiscoverableComposerActionsData,\n  GetDiscoverableComposerActionsErrors,\n  GetDiscoverableComposerActionsResponses,\n  GetDomainManifestData,\n  GetDomainManifestErrors,\n  GetDomainManifestResponses,\n  GetDraftCastsData,\n  GetDraftCastsErrors,\n  GetDraftCastsResponses,\n  GetFarcasterJsonData,\n  GetFarcasterJsonErrors,\n  GetFarcasterJsonResponses,\n  GetFeedItemsData,\n  GetFeedItemsErrors,\n  GetFeedItemsResponses,\n  GetFollowersData,\n  GetFollowersErrors,\n  GetFollowersResponses,\n  GetFollowingData,\n  GetFollowingErrors,\n  GetFollowingResponses,\n  GetHighlightedChannelsData,\n  GetHighlightedChannelsErrors,\n  GetHighlightedChannelsResponses,\n  GetManagedAppsData,\n  GetManagedAppsErrors,\n  GetManagedAppsResponses,\n  GetMetaTagsData,\n  GetMetaTagsErrors,\n  GetMetaTagsResponses,\n  GetMiniAppAnalyticsRollupData,\n  GetMiniAppAnalyticsRollupErrors,\n  GetMiniAppAnalyticsRollupResponses,\n  GetMutedKeywordsData,\n  GetMutedKeywordsErrors,\n  GetMutedKeywordsResponses,\n  GetMutualFollowersData,\n  GetMutualFollowersErrors,\n  GetMutualFollowersResponses,\n  GetNotificationsData,\n  GetNotificationsErrors,\n  GetNotificationsResponses,\n  GetOrCreateReferralCodeData,\n  GetOrCreateReferralCodeErrors,\n  GetOrCreateReferralCodeResponses,\n  GetOwnedDomainsData,\n  GetOwnedDomainsErrors,\n  GetOwnedDomainsResponses,\n  GetProfileCastsData,\n  GetProfileCastsErrors,\n  GetProfileCastsResponses,\n  GetRewardsLeaderboardData,\n  GetRewardsLeaderboardErrors,\n  GetRewardsLeaderboardResponses,\n  GetRewardsMetadataData,\n  GetRewardsMetadataErrors,\n  GetRewardsMetadataResponses,\n  GetSponsoredInvitesData,\n  GetSponsoredInvitesErrors,\n  GetSponsoredInvitesResponses,\n  GetStarterPackData,\n  GetStarterPackErrors,\n  GetStarterPackMembersData,\n  GetStarterPackMembersErrors,\n  GetStarterPackMembersResponses,\n  GetStarterPackResponses,\n  GetStarterPackUsersData,\n  GetStarterPackUsersErrors,\n  GetStarterPackUsersResponses,\n  GetSuggestedStarterPacksData,\n  GetSuggestedStarterPacksErrors,\n  GetSuggestedStarterPacksResponses,\n  GetSuggestedUsersData,\n  GetSuggestedUsersErrors,\n  GetSuggestedUsersResponses,\n  GetTopFrameAppsData,\n  GetTopFrameAppsErrors,\n  GetTopFrameAppsResponses,\n  GetTopMiniAppsData,\n  GetTopMiniAppsErrors,\n  GetTopMiniAppsResponses,\n  GetTrendingTopicsData,\n  GetTrendingTopicsErrors,\n  GetTrendingTopicsResponses,\n  GetUnseenCountsData,\n  GetUnseenCountsErrors,\n  GetUnseenCountsResponses,\n  GetUserAppContextData,\n  GetUserAppContextErrors,\n  GetUserAppContextResponses,\n  GetUserByFidData,\n  GetUserByFidErrors,\n  GetUserByFidResponses,\n  GetUserByUsernameData,\n  GetUserByUsernameErrors,\n  GetUserByUsernameResponses,\n  GetUserByVerificationAddressData,\n  GetUserByVerificationAddressErrors,\n  GetUserByVerificationAddressResponses,\n  GetUserData,\n  GetUserErrors,\n  GetUserFavoriteFramesData,\n  GetUserFavoriteFramesErrors,\n  GetUserFavoriteFramesResponses,\n  GetUserFollowedChannelsData,\n  GetUserFollowedChannelsErrors,\n  GetUserFollowedChannelsResponses,\n  GetUserFollowingChannelsData,\n  GetUserFollowingChannelsErrors,\n  GetUserFollowingChannelsResponses,\n  GetUserLikedCastsData,\n  GetUserLikedCastsErrors,\n  GetUserLikedCastsResponses,\n  GetUserOnboardingStateData,\n  GetUserOnboardingStateErrors,\n  GetUserOnboardingStateResponses,\n  GetUserPreferencesData,\n  GetUserPreferencesErrors,\n  GetUserPreferencesResponses,\n  GetUserPrimaryAddressData,\n  GetUserPrimaryAddressErrors,\n  GetUserPrimaryAddressesData,\n  GetUserPrimaryAddressesErrors,\n  GetUserPrimaryAddressesResponses,\n  GetUserPrimaryAddressResponses,\n  GetUserResponses,\n  GetUserRewardsScoresData,\n  GetUserRewardsScoresErrors,\n  GetUserRewardsScoresResponses,\n  GetUserStarterPacksData,\n  GetUserStarterPacksErrors,\n  GetUserStarterPacksResponses,\n  GetUserThreadCastsData,\n  GetUserThreadCastsErrors,\n  GetUserThreadCastsResponses,\n  GetVerificationsData,\n  GetVerificationsErrors,\n  GetVerificationsResponses,\n  GetXpClaimableSummaryData,\n  GetXpClaimableSummaryErrors,\n  GetXpClaimableSummaryResponses,\n  GetXpRewardsData,\n  GetXpRewardsErrors,\n  GetXpRewardsResponses,\n  InspectImageUrlData,\n  InspectImageUrlErrors,\n  InspectImageUrlResponses,\n  InspectMiniAppUrlData,\n  InspectMiniAppUrlErrors,\n  InspectMiniAppUrlResponses,\n  InviteUserToChannelData,\n  InviteUserToChannelErrors,\n  InviteUserToChannelResponses,\n  LikeCastData,\n  LikeCastErrors,\n  LikeCastResponses,\n  MarkAllNotificationsReadData,\n  MarkAllNotificationsReadErrors,\n  MarkAllNotificationsReadResponses,\n  ModerateCastData,\n  ModerateCastErrors,\n  ModerateCastResponses,\n  MuteKeywordData,\n  MuteKeywordErrors,\n  MuteKeywordResponses,\n  PinCastToChannelData,\n  PinCastToChannelErrors,\n  PinCastToChannelResponses,\n  PinDirectCastConversationData,\n  PinDirectCastConversationErrors,\n  PinDirectCastConversationResponses,\n  RecastCastData,\n  RecastCastErrors,\n  RecastCastResponses,\n  RegisterStatsigEventsData,\n  RegisterStatsigEventsErrors,\n  RegisterStatsigEventsResponses,\n  RemoveChannelInviteData,\n  RemoveChannelInviteErrors,\n  RemoveChannelInviteResponses,\n  RemoveDirectCastMessageReactionData,\n  RemoveDirectCastMessageReactionErrors,\n  RemoveDirectCastMessageReactionResponses,\n  RevokeApiKeyData,\n  RevokeApiKeyErrors,\n  RevokeApiKeyResponses,\n  SearchChannelsData,\n  SearchChannelsErrors,\n  SearchChannelsResponses,\n  SendDirectCastData,\n  SendDirectCastErrors,\n  SendDirectCastMessageData,\n  SendDirectCastMessageErrors,\n  SendDirectCastMessageResponses,\n  SendDirectCastResponses,\n  SetDirectCastConversationMessageTtlData,\n  SetDirectCastConversationMessageTtlErrors,\n  SetDirectCastConversationMessageTtlResponses,\n  SetLastCheckedTimestampData,\n  SetLastCheckedTimestampErrors,\n  SetLastCheckedTimestampResponses,\n  SubmitAnalyticsEventsData,\n  SubmitAnalyticsEventsErrors,\n  SubmitAnalyticsEventsResponses,\n  UnbanUserFromChannelData,\n  UnbanUserFromChannelErrors,\n  UnbanUserFromChannelResponses,\n  UnblockUserData,\n  UnblockUserErrors,\n  UnblockUserResponses,\n  UndoRecastData,\n  UndoRecastErrors,\n  UndoRecastResponses,\n  UnfollowChannelData,\n  UnfollowChannelErrors,\n  UnfollowChannelResponses,\n  UnlikeCastData,\n  UnlikeCastErrors,\n  UnlikeCastResponses,\n  UnmuteKeywordData,\n  UnmuteKeywordErrors,\n  UnmuteKeywordResponses,\n  UnpinCastFromChannelData,\n  UnpinCastFromChannelErrors,\n  UnpinCastFromChannelResponses,\n  UnpinDirectCastConversationData,\n  UnpinDirectCastConversationErrors,\n  UnpinDirectCastConversationResponses,\n  UpdateDirectCastConversationNotificationsData,\n  UpdateDirectCastConversationNotificationsErrors,\n  UpdateDirectCastConversationNotificationsResponses,\n  UpdateStarterPackData,\n  UpdateStarterPackErrors,\n  UpdateStarterPackResponses,\n} from \"./types.gen\";\nimport {\n  zAcceptChannelInviteData,\n  zAddDirectCastMessageReactionData,\n  zAttachEmbedsData,\n  zBanUserFromChannelData,\n  zBlockUserData,\n  zCategorizeDirectCastConversationData,\n  zCheckUserChannelFollowStatusData,\n  zCreateApiKeyData,\n  zCreateCastData,\n  zCreateDraftCastsData,\n  zDeleteCastData,\n  zDeleteDraftCastData,\n  zDirectCastManuallyMarkUnreadData,\n  zDiscoverChannelsData,\n  zExportMiniAppUserDataData,\n  zFollowChannelData,\n  zGetAccountVerificationsData,\n  zGetAllChannelsData,\n  zGetApiKeysData,\n  zGetAppsByAuthorData,\n  zGetAvailableInvitesData,\n  zGetBlockedUsersData,\n  zGetBookmarkedCastsData,\n  zGetCastLikesData,\n  zGetCastQuotesData,\n  zGetCastRecastersData,\n  zGetCastsByFidData,\n  zGetChannelBannedUsersData,\n  zGetChannelData,\n  zGetChannelDetailsData,\n  zGetChannelFollowersData,\n  zGetChannelFollowersYouKnowData,\n  zGetChannelInvitesData,\n  zGetChannelMembersData,\n  zGetChannelModeratedCastsData,\n  zGetChannelRestrictedUsersData,\n  zGetChannelStreaksForUserData,\n  zGetChannelUsersData,\n  zGetConnectedAccountsData,\n  zGetCreatorRewardWinnersData,\n  zGetCurrentUserData,\n  zGetDeveloperRewardWinnersData,\n  zGetDirectCastConversationData,\n  zGetDirectCastConversationMessagesData,\n  zGetDirectCastConversationRecentMessagesData,\n  zGetDirectCastInboxData,\n  zGetDiscoverableActionsData,\n  zGetDiscoverableComposerActionsData,\n  zGetDomainManifestData,\n  zGetDraftCastsData,\n  zGetFarcasterJsonData,\n  zGetFeedItemsData,\n  zGetFollowersData,\n  zGetFollowingData,\n  zGetHighlightedChannelsData,\n  zGetManagedAppsData,\n  zGetMetaTagsData,\n  zGetMiniAppAnalyticsRollupData,\n  zGetMutedKeywordsData,\n  zGetMutualFollowersData,\n  zGetNotificationsData,\n  zGetOrCreateReferralCodeData,\n  zGetOwnedDomainsData,\n  zGetProfileCastsData,\n  zGetRewardsLeaderboardData,\n  zGetRewardsMetadataData,\n  zGetSponsoredInvitesData,\n  zGetStarterPackData,\n  zGetStarterPackMembersData,\n  zGetStarterPackUsersData,\n  zGetSuggestedStarterPacksData,\n  zGetSuggestedUsersData,\n  zGetTopFrameAppsData,\n  zGetTopMiniAppsData,\n  zGetTrendingTopicsData,\n  zGetUnseenCountsData,\n  zGetUserAppContextData,\n  zGetUserByFidData,\n  zGetUserByUsernameData,\n  zGetUserByVerificationAddressData,\n  zGetUserData,\n  zGetUserFavoriteFramesData,\n  zGetUserFollowedChannelsData,\n  zGetUserFollowingChannelsData,\n  zGetUserLikedCastsData,\n  zGetUserOnboardingStateData,\n  zGetUserPreferencesData,\n  zGetUserPrimaryAddressData,\n  zGetUserPrimaryAddressesData,\n  zGetUserRewardsScoresData,\n  zGetUserStarterPacksData,\n  zGetUserThreadCastsData,\n  zGetVerificationsData,\n  zGetXpClaimableSummaryData,\n  zGetXpRewardsData,\n  zInspectImageUrlData,\n  zInspectMiniAppUrlData,\n  zInviteUserToChannelData,\n  zLikeCastData,\n  zMarkAllNotificationsReadData,\n  zModerateCastData,\n  zMuteKeywordData,\n  zPinCastToChannelData,\n  zPinDirectCastConversationData,\n  zRecastCastData,\n  zRegisterStatsigEventsData,\n  zRemoveChannelInviteData,\n  zRemoveDirectCastMessageReactionData,\n  zRevokeApiKeyData,\n  zSearchChannelsData,\n  zSendDirectCastData,\n  zSendDirectCastMessageData,\n  zSetDirectCastConversationMessageTtlData,\n  zSetLastCheckedTimestampData,\n  zSubmitAnalyticsEventsData,\n  zUnbanUserFromChannelData,\n  zUnblockUserData,\n  zUndoRecastData,\n  zUnfollowChannelData,\n  zUnlikeCastData,\n  zUnmuteKeywordData,\n  zUnpinCastFromChannelData,\n  zUnpinDirectCastConversationData,\n  zUpdateDirectCastConversationNotificationsData,\n  zUpdateStarterPackData,\n} from \"./zod.gen\";\n\nexport type Options<\n  TData extends TDataShape = TDataShape,\n  ThrowOnError extends boolean = boolean,\n> = Options2<TData, ThrowOnError> & {\n  /**\n   * You can provide a client instance returned by `createClient()` instead of\n   * individual options. This might be also useful if you want to implement a\n   * custom client.\n   */\n  client?: Client;\n  /**\n   * You can pass arbitrary values through the `meta` object. This can be\n   * used to access values that aren't defined as part of the SDK function.\n   */\n  meta?: Record<string, unknown>;\n};\n\n/**\n * Get onboarding state\n *\n * Retrieves the current onboarding state for the authenticated user\n */\nexport const getUserOnboardingState = <ThrowOnError extends boolean = false>(\n  options?: Options<GetUserOnboardingStateData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetUserOnboardingStateResponses,\n    GetUserOnboardingStateErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetUserOnboardingStateData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/onboarding-state\",\n    ...options,\n  });\n\n/**\n * Get user by fid\n *\n * Retrieves user information based on FID\n */\nexport const getUserByFid = <ThrowOnError extends boolean = false>(\n  options: Options<GetUserByFidData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetUserByFidResponses,\n    GetUserByFidErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zGetUserByFidData.parseAsync(data),\n    url: \"/v2/user-by-fid\",\n    ...options,\n  });\n\n/**\n * Get user's direct cast inbox\n *\n * Retrieves direct casts sent to the authenticated user\n */\nexport const getDirectCastInbox = <ThrowOnError extends boolean = false>(\n  options?: Options<GetDirectCastInboxData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetDirectCastInboxResponses,\n    GetDirectCastInboxErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetDirectCastInboxData.parseAsync(data),\n    responseTransformer: getDirectCastInboxResponseTransformer,\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/direct-cast-inbox\",\n    ...options,\n  });\n\n/**\n * Get user app context\n *\n * Retrieves application context information for the authenticated user\n */\nexport const getUserAppContext = <ThrowOnError extends boolean = false>(\n  options?: Options<GetUserAppContextData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetUserAppContextResponses,\n    GetUserAppContextErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetUserAppContextData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/user-app-context\",\n    ...options,\n  });\n\n/**\n * Get user preferences\n *\n * Retrieves preference settings for the authenticated user\n */\nexport const getUserPreferences = <ThrowOnError extends boolean = false>(\n  options?: Options<GetUserPreferencesData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetUserPreferencesResponses,\n    GetUserPreferencesErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetUserPreferencesData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/user-preferences\",\n    ...options,\n  });\n\n/**\n * Get highlighted channels\n *\n * Retrieves a list of featured or recommended channels\n */\nexport const getHighlightedChannels = <ThrowOnError extends boolean = false>(\n  options?: Options<GetHighlightedChannelsData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetHighlightedChannelsResponses,\n    GetHighlightedChannelsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetHighlightedChannelsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/highlighted-channels\",\n    ...options,\n  });\n\n/**\n * Get feed items\n *\n * Retrieves feed content based on provided filters and parameters\n */\nexport const getFeedItems = <ThrowOnError extends boolean = false>(\n  options: Options<GetFeedItemsData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    GetFeedItemsResponses,\n    GetFeedItemsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zGetFeedItemsData.parseAsync(data),\n    responseTransformer: getFeedItemsResponseTransformer,\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/feed-items\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get user information\n *\n * Retrieves detailed user information based on FID\n */\nexport const getUser = <ThrowOnError extends boolean = false>(\n  options: Options<GetUserData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<GetUserResponses, GetUserErrors, ThrowOnError>(\n    {\n      requestValidator: async (data) => await zGetUserData.parseAsync(data),\n      url: \"/v2/user\",\n      ...options,\n    },\n  );\n\n/**\n * Get user following channels\n *\n * Retrieves channels that the authenticated user is following\n */\nexport const getUserFollowingChannels = <ThrowOnError extends boolean = false>(\n  options?: Options<GetUserFollowingChannelsData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetUserFollowingChannelsResponses,\n    GetUserFollowingChannelsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetUserFollowingChannelsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/user-following-channels\",\n    ...options,\n  });\n\n/**\n * Get suggested users\n */\nexport const getSuggestedUsers = <ThrowOnError extends boolean = false>(\n  options?: Options<GetSuggestedUsersData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetSuggestedUsersResponses,\n    GetSuggestedUsersErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetSuggestedUsersData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/suggested-users\",\n    ...options,\n  });\n\n/**\n * Get user's favorite frames\n */\nexport const getUserFavoriteFrames = <ThrowOnError extends boolean = false>(\n  options?: Options<GetUserFavoriteFramesData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetUserFavoriteFramesResponses,\n    GetUserFavoriteFramesErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetUserFavoriteFramesData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/favorite-frames\",\n    ...options,\n  });\n\n/**\n * Get user by username\n *\n * Retrieves user information based on username\n */\nexport const getUserByUsername = <ThrowOnError extends boolean = false>(\n  options: Options<GetUserByUsernameData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetUserByUsernameResponses,\n    GetUserByUsernameErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetUserByUsernameData.parseAsync(data),\n    url: \"/v2/user-by-username\",\n    ...options,\n  });\n\n/**\n * Get channel streaks for user\n */\nexport const getChannelStreaksForUser = <ThrowOnError extends boolean = false>(\n  options: Options<GetChannelStreaksForUserData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetChannelStreaksForUserResponses,\n    GetChannelStreaksForUserErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetChannelStreaksForUserData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/channel-streaks\",\n    ...options,\n  });\n\n/**\n * Get unseen counts and feed state\n */\nexport const getUnseenCounts = <ThrowOnError extends boolean = false>(\n  options?: Options<GetUnseenCountsData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetUnseenCountsResponses,\n    GetUnseenCountsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetUnseenCountsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/unseen\",\n    ...options,\n  });\n\n/**\n * Get casts from a user thread\n *\n * Retrieves casts from a specific thread by a user\n */\nexport const getUserThreadCasts = <ThrowOnError extends boolean = false>(\n  options: Options<GetUserThreadCastsData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetUserThreadCastsResponses,\n    GetUserThreadCastsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetUserThreadCastsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/user-thread-casts\",\n    ...options,\n  });\n\n/**\n * Get mutual followers in a channel\n */\nexport const getChannelFollowersYouKnow = <\n  ThrowOnError extends boolean = false,\n>(\n  options: Options<GetChannelFollowersYouKnowData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetChannelFollowersYouKnowResponses,\n    GetChannelFollowersYouKnowErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetChannelFollowersYouKnowData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/channel-followers-you-know\",\n    ...options,\n  });\n\n/**\n * Mark all notifications as read\n */\nexport const markAllNotificationsRead = <ThrowOnError extends boolean = false>(\n  options: Options<MarkAllNotificationsReadData, ThrowOnError>,\n) =>\n  (options.client ?? client).put<\n    MarkAllNotificationsReadResponses,\n    MarkAllNotificationsReadErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zMarkAllNotificationsReadData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/mark-all-notifications-read\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get notifications for a specific tab\n *\n * Returns a list of notifications for the specified tab.\n */\nexport const getNotifications = <ThrowOnError extends boolean = false>(\n  options: Options<GetNotificationsData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetNotificationsResponses,\n    GetNotificationsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetNotificationsData.parseAsync(data),\n    responseTransformer: getNotificationsResponseTransformer,\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/notifications-for-tab\",\n    ...options,\n  });\n\n/**\n * Set last checked timestamp\n *\n * Updates the last checked timestamp for notifications.\n */\nexport const setLastCheckedTimestamp = <ThrowOnError extends boolean = false>(\n  options: Options<SetLastCheckedTimestampData, ThrowOnError>,\n) =>\n  (options.client ?? client).put<\n    SetLastCheckedTimestampResponses,\n    SetLastCheckedTimestampErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zSetLastCheckedTimestampData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/set-last-checked-timestamp\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get direct cast conversation\n *\n * Fetches a direct cast conversation by conversationId.\n */\nexport const getDirectCastConversation = <ThrowOnError extends boolean = false>(\n  options: Options<GetDirectCastConversationData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetDirectCastConversationResponses,\n    GetDirectCastConversationErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetDirectCastConversationData.parseAsync(data),\n    responseTransformer: getDirectCastConversationResponseTransformer,\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/direct-cast-conversation\",\n    ...options,\n  });\n\n/**\n * Categorize direct cast conversation\n *\n * Categorizes a direct cast conversation by setting its category (e.g., archived).\n */\nexport const categorizeDirectCastConversation = <\n  ThrowOnError extends boolean = false,\n>(\n  options: Options<CategorizeDirectCastConversationData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    CategorizeDirectCastConversationResponses,\n    CategorizeDirectCastConversationErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zCategorizeDirectCastConversationData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/direct-cast-conversation-categorization\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get direct cast conversation messages\n *\n * Fetches messages from a direct cast conversation by conversationId with pagination support.\n */\nexport const getDirectCastConversationMessages = <\n  ThrowOnError extends boolean = false,\n>(\n  options: Options<GetDirectCastConversationMessagesData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetDirectCastConversationMessagesResponses,\n    GetDirectCastConversationMessagesErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetDirectCastConversationMessagesData.parseAsync(data),\n    responseTransformer: getDirectCastConversationMessagesResponseTransformer,\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/direct-cast-conversation-messages\",\n    ...options,\n  });\n\n/**\n * Set direct cast conversation message TTL\n *\n * Sets the time-to-live (TTL) for messages in a direct cast conversation.\n */\nexport const setDirectCastConversationMessageTtl = <\n  ThrowOnError extends boolean = false,\n>(\n  options: Options<SetDirectCastConversationMessageTtlData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    SetDirectCastConversationMessageTtlResponses,\n    SetDirectCastConversationMessageTtlErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zSetDirectCastConversationMessageTtlData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/direct-cast-conversation-message-ttl\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Update direct cast conversation notifications\n *\n * Updates notification settings for a direct cast conversation.\n */\nexport const updateDirectCastConversationNotifications = <\n  ThrowOnError extends boolean = false,\n>(\n  options: Options<UpdateDirectCastConversationNotificationsData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    UpdateDirectCastConversationNotificationsResponses,\n    UpdateDirectCastConversationNotificationsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zUpdateDirectCastConversationNotificationsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/direct-cast-conversation-notifications\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get recent messages from direct cast conversation\n *\n * Fetches recent messages from a direct cast conversation by conversationId.\n */\nexport const getDirectCastConversationRecentMessages = <\n  ThrowOnError extends boolean = false,\n>(\n  options: Options<GetDirectCastConversationRecentMessagesData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetDirectCastConversationRecentMessagesResponses,\n    GetDirectCastConversationRecentMessagesErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetDirectCastConversationRecentMessagesData.parseAsync(data),\n    responseTransformer:\n      getDirectCastConversationRecentMessagesResponseTransformer,\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/direct-cast-conversation-recent-messages\",\n    ...options,\n  });\n\n/**\n * Send direct cast message\n *\n * Sends a direct cast message to specified recipients in a conversation.\n */\nexport const sendDirectCastMessage = <ThrowOnError extends boolean = false>(\n  options: Options<SendDirectCastMessageData, ThrowOnError>,\n) =>\n  (options.client ?? client).put<\n    SendDirectCastMessageResponses,\n    SendDirectCastMessageErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zSendDirectCastMessageData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/direct-cast-send\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Manually mark direct cast conversation as unread\n *\n * Marks a direct cast conversation as unread for the authenticated user.\n */\nexport const directCastManuallyMarkUnread = <\n  ThrowOnError extends boolean = false,\n>(\n  options: Options<DirectCastManuallyMarkUnreadData, ThrowOnError>,\n) =>\n  (options.client ?? client).put<\n    DirectCastManuallyMarkUnreadResponses,\n    DirectCastManuallyMarkUnreadErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zDirectCastManuallyMarkUnreadData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/direct-cast-manually-mark-unread\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Remove reaction from direct cast message\n *\n * Removes an emoji reaction from a specific message in a direct cast conversation.\n */\nexport const removeDirectCastMessageReaction = <\n  ThrowOnError extends boolean = false,\n>(\n  options: Options<RemoveDirectCastMessageReactionData, ThrowOnError>,\n) =>\n  (options.client ?? client).delete<\n    RemoveDirectCastMessageReactionResponses,\n    RemoveDirectCastMessageReactionErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zRemoveDirectCastMessageReactionData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/direct-cast-message-reaction\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Add reaction to direct cast message\n *\n * Adds an emoji reaction to a specific message in a direct cast conversation.\n */\nexport const addDirectCastMessageReaction = <\n  ThrowOnError extends boolean = false,\n>(\n  options: Options<AddDirectCastMessageReactionData, ThrowOnError>,\n) =>\n  (options.client ?? client).put<\n    AddDirectCastMessageReactionResponses,\n    AddDirectCastMessageReactionErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zAddDirectCastMessageReactionData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/direct-cast-message-reaction\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Unpin direct cast conversation\n *\n * Unpins a direct cast conversation by conversationId.\n */\nexport const unpinDirectCastConversation = <\n  ThrowOnError extends boolean = false,\n>(\n  options: Options<UnpinDirectCastConversationData, ThrowOnError>,\n) =>\n  (options.client ?? client).delete<\n    UnpinDirectCastConversationResponses,\n    UnpinDirectCastConversationErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zUnpinDirectCastConversationData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/direct-cast-pin-conversation\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Pin direct cast conversation\n *\n * Pins a direct cast conversation by conversationId.\n */\nexport const pinDirectCastConversation = <ThrowOnError extends boolean = false>(\n  options: Options<PinDirectCastConversationData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    PinDirectCastConversationResponses,\n    PinDirectCastConversationErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zPinDirectCastConversationData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/direct-cast-pin-conversation\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Discover channels\n *\n * Retrieves a list of discoverable channels with optional limit.\n */\nexport const discoverChannels = <ThrowOnError extends boolean = false>(\n  options?: Options<DiscoverChannelsData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    DiscoverChannelsResponses,\n    DiscoverChannelsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zDiscoverChannelsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/discover-channels\",\n    ...options,\n  });\n\n/**\n * Check available invites\n *\n * Returns the number of allocated and currently available invites.\n */\nexport const getAvailableInvites = <ThrowOnError extends boolean = false>(\n  options?: Options<GetAvailableInvitesData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetAvailableInvitesResponses,\n    GetAvailableInvitesErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetAvailableInvitesData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/invites-available\",\n    ...options,\n  });\n\n/**\n * Get sponsored invites\n *\n * Returns a list of Warpcast-sponsored invites available to the user.\n */\nexport const getSponsoredInvites = <ThrowOnError extends boolean = false>(\n  options?: Options<GetSponsoredInvitesData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetSponsoredInvitesResponses,\n    GetSponsoredInvitesErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetSponsoredInvitesData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/warpcast-sponsored-invites\",\n    ...options,\n  });\n\n/**\n * Get or create referral code\n *\n * Gets an existing referral code or creates a new one for the authenticated user.\n */\nexport const getOrCreateReferralCode = <ThrowOnError extends boolean = false>(\n  options: Options<GetOrCreateReferralCodeData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    GetOrCreateReferralCodeResponses,\n    GetOrCreateReferralCodeErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetOrCreateReferralCodeData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/get-or-create-referral-code\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get rewards leaderboard\n *\n * Returns a list of users in the rewards leaderboard based on invite activity.\n */\nexport const getRewardsLeaderboard = <ThrowOnError extends boolean = false>(\n  options: Options<GetRewardsLeaderboardData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetRewardsLeaderboardResponses,\n    GetRewardsLeaderboardErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetRewardsLeaderboardData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/rewards-leaderboard\",\n    ...options,\n  });\n\n/**\n * Get invite rewards scores for a user\n *\n * Returns current, previous, and all-time invite rewards scores for the specified user.\n */\nexport const getUserRewardsScores = <ThrowOnError extends boolean = false>(\n  options: Options<GetUserRewardsScoresData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetUserRewardsScoresResponses,\n    GetUserRewardsScoresErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetUserRewardsScoresData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/rewards-scores-for-user\",\n    ...options,\n  });\n\n/**\n * Get invite rewards metadata\n *\n * Returns metadata for the invite rewards program including the reward period and reward distribution details.\n */\nexport const getRewardsMetadata = <ThrowOnError extends boolean = false>(\n  options: Options<GetRewardsMetadataData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetRewardsMetadataResponses,\n    GetRewardsMetadataErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetRewardsMetadataData.parseAsync(data),\n    responseTransformer: getRewardsMetadataResponseTransformer,\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/rewards-metadata\",\n    ...options,\n  });\n\n/**\n * Get XP rewards\n *\n * Retrieves the user's XP rewards, including total USDC earned and referral count.\n */\nexport const getXpRewards = <ThrowOnError extends boolean = false>(\n  options?: Options<GetXpRewardsData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetXpRewardsResponses,\n    GetXpRewardsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zGetXpRewardsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/xp-rewards\",\n    ...options,\n  });\n\n/**\n * Get XP claimable summary\n *\n * Retrieves a summary of claimable XP rewards for the authenticated user.\n */\nexport const getXpClaimableSummary = <ThrowOnError extends boolean = false>(\n  options: Options<GetXpClaimableSummaryData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    GetXpClaimableSummaryResponses,\n    GetXpClaimableSummaryErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetXpClaimableSummaryData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/xp-claimable-summary\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get bookmarked casts\n *\n * Returns the most recent casts bookmarked by the user.\n */\nexport const getBookmarkedCasts = <ThrowOnError extends boolean = false>(\n  options?: Options<GetBookmarkedCastsData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetBookmarkedCastsResponses,\n    GetBookmarkedCastsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetBookmarkedCastsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/bookmarked-casts\",\n    ...options,\n  });\n\n/**\n * Get starter packs\n *\n * Returns starter packs created by a specific user.\n */\nexport const getUserStarterPacks = <ThrowOnError extends boolean = false>(\n  options: Options<GetUserStarterPacksData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetUserStarterPacksResponses,\n    GetUserStarterPacksErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetUserStarterPacksData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/starter-packs\",\n    ...options,\n  });\n\n/**\n * Get suggested starter packs\n *\n * Returns a list of suggested starter packs.\n */\nexport const getSuggestedStarterPacks = <ThrowOnError extends boolean = false>(\n  options?: Options<GetSuggestedStarterPacksData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetSuggestedStarterPacksResponses,\n    GetSuggestedStarterPacksErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetSuggestedStarterPacksData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/starter-packs/suggested\",\n    ...options,\n  });\n\n/**\n * Get a specific starter pack by ID\n *\n * Returns a specific starter pack.\n */\nexport const getStarterPack = <ThrowOnError extends boolean = false>(\n  options: Options<GetStarterPackData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetStarterPackResponses,\n    GetStarterPackErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetStarterPackData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/starter-pack\",\n    ...options,\n  });\n\n/**\n * Update a starter pack\n *\n * Updates the specified starter pack.\n */\nexport const updateStarterPack = <ThrowOnError extends boolean = false>(\n  options: Options<UpdateStarterPackData, ThrowOnError>,\n) =>\n  (options.client ?? client).patch<\n    UpdateStarterPackResponses,\n    UpdateStarterPackErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zUpdateStarterPackData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/starter-pack\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get users in a specific starter pack\n *\n * Returns a list of users associated with a given starter pack.\n */\nexport const getStarterPackUsers = <ThrowOnError extends boolean = false>(\n  options: Options<GetStarterPackUsersData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetStarterPackUsersResponses,\n    GetStarterPackUsersErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetStarterPackUsersData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/starter-pack-users\",\n    ...options,\n  });\n\n/**\n * Get channel details\n *\n * Returns metadata about a channel.\n */\nexport const getChannel = <ThrowOnError extends boolean = false>(\n  options: Options<GetChannelData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetChannelResponses,\n    GetChannelErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zGetChannelData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/channel\",\n    ...options,\n  });\n\n/**\n * Get members of a specific channel\n *\n * Returns users who are members of a specific channel.\n */\nexport const getChannelUsers = <ThrowOnError extends boolean = false>(\n  options: Options<GetChannelUsersData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetChannelUsersResponses,\n    GetChannelUsersErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetChannelUsersData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/channel-users\",\n    ...options,\n  });\n\n/**\n * Get users a given user is following\n *\n * Returns a list of users followed by a specified FID.\n */\nexport const getFollowing = <ThrowOnError extends boolean = false>(\n  options: Options<GetFollowingData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetFollowingResponses,\n    GetFollowingErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zGetFollowingData.parseAsync(data),\n    url: \"/v2/following\",\n    ...options,\n  });\n\n/**\n * Get users following a given user\n *\n * Returns a list of users who follow the specified FID.\n */\nexport const getFollowers = <ThrowOnError extends boolean = false>(\n  options: Options<GetFollowersData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetFollowersResponses,\n    GetFollowersErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zGetFollowersData.parseAsync(data),\n    url: \"/v2/followers\",\n    ...options,\n  });\n\n/**\n * Get mutual followers of a given user\n *\n * Returns a list of users who follow the given FID and are followed by the viewer.\n */\nexport const getMutualFollowers = <ThrowOnError extends boolean = false>(\n  options: Options<GetMutualFollowersData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetMutualFollowersResponses,\n    GetMutualFollowersErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetMutualFollowersData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/followers-you-know\",\n    ...options,\n  });\n\n/**\n * Get top FrameApps\n *\n * Returns a list of top FrameApps with optional pagination.\n */\nexport const getTopFrameApps = <ThrowOnError extends boolean = false>(\n  options?: Options<GetTopFrameAppsData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetTopFrameAppsResponses,\n    GetTopFrameAppsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetTopFrameAppsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/top-frameapps\",\n    ...options,\n  });\n\n/**\n * Get top mini apps\n *\n * Returns a list of top mini apps with optional pagination.\n */\nexport const getTopMiniApps = <ThrowOnError extends boolean = false>(\n  options?: Options<GetTopMiniAppsData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetTopMiniAppsResponses,\n    GetTopMiniAppsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetTopMiniAppsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/top-mini-apps\",\n    ...options,\n  });\n\n/**\n * Get verified addresses for an FID\n *\n * Returns verified Ethereum addresses associated with a specific FID.\n */\nexport const getVerifications = <ThrowOnError extends boolean = false>(\n  options: Options<GetVerificationsData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetVerificationsResponses,\n    GetVerificationsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetVerificationsData.parseAsync(data),\n    url: \"/v2/verifications\",\n    ...options,\n  });\n\n/**\n * Get muted keywords\n *\n * Returns a list of muted keywords for the authenticated user.\n */\nexport const getMutedKeywords = <ThrowOnError extends boolean = false>(\n  options?: Options<GetMutedKeywordsData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetMutedKeywordsResponses,\n    GetMutedKeywordsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetMutedKeywordsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/get-muted-keywords\",\n    ...options,\n  });\n\n/**\n * Mute a keyword\n *\n * Mutes a keyword for the authenticated user with specified properties.\n */\nexport const muteKeyword = <ThrowOnError extends boolean = false>(\n  options: Options<MuteKeywordData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    MuteKeywordResponses,\n    MuteKeywordErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zMuteKeywordData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/mute-keyword\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Unmute a keyword\n */\nexport const unmuteKeyword = <ThrowOnError extends boolean = false>(\n  options: Options<UnmuteKeywordData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    UnmuteKeywordResponses,\n    UnmuteKeywordErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zUnmuteKeywordData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/unmute-keyword\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Unlike a cast\n */\nexport const unlikeCast = <ThrowOnError extends boolean = false>(\n  options: Options<UnlikeCastData, ThrowOnError>,\n) =>\n  (options.client ?? client).delete<\n    UnlikeCastResponses,\n    UnlikeCastErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zUnlikeCastData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/cast-likes\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get cast likes\n */\nexport const getCastLikes = <ThrowOnError extends boolean = false>(\n  options: Options<GetCastLikesData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetCastLikesResponses,\n    GetCastLikesErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zGetCastLikesData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/cast-likes\",\n    ...options,\n  });\n\n/**\n * Like a cast\n */\nexport const likeCast = <ThrowOnError extends boolean = false>(\n  options: Options<LikeCastData, ThrowOnError>,\n) =>\n  (options.client ?? client).put<\n    LikeCastResponses,\n    LikeCastErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zLikeCastData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/cast-likes\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Undo recast\n */\nexport const undoRecast = <ThrowOnError extends boolean = false>(\n  options: Options<UndoRecastData, ThrowOnError>,\n) =>\n  (options.client ?? client).delete<\n    UndoRecastResponses,\n    UndoRecastErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zUndoRecastData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/recasts\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Recast a cast\n */\nexport const recastCast = <ThrowOnError extends boolean = false>(\n  options: Options<RecastCastData, ThrowOnError>,\n) =>\n  (options.client ?? client).put<\n    RecastCastResponses,\n    RecastCastErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zRecastCastData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/recasts\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Attach embeds to a cast\n */\nexport const attachEmbeds = <ThrowOnError extends boolean = false>(\n  options: Options<AttachEmbedsData, ThrowOnError>,\n) =>\n  (options.client ?? client).put<\n    AttachEmbedsResponses,\n    AttachEmbedsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zAttachEmbedsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/cast-attachments\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get cast recasters\n */\nexport const getCastRecasters = <ThrowOnError extends boolean = false>(\n  options: Options<GetCastRecastersData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetCastRecastersResponses,\n    GetCastRecastersErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetCastRecastersData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/cast-recasters\",\n    ...options,\n  });\n\n/**\n * Get quotes of a cast\n */\nexport const getCastQuotes = <ThrowOnError extends boolean = false>(\n  options: Options<GetCastQuotesData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetCastQuotesResponses,\n    GetCastQuotesErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zGetCastQuotesData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/cast-quotes\",\n    ...options,\n  });\n\n/**\n * Get current user\n */\nexport const getCurrentUser = <ThrowOnError extends boolean = false>(\n  options?: Options<GetCurrentUserData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetCurrentUserResponses,\n    GetCurrentUserErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetCurrentUserData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/me\",\n    ...options,\n  });\n\n/**\n * Search for channels\n */\nexport const searchChannels = <ThrowOnError extends boolean = false>(\n  options?: Options<SearchChannelsData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    SearchChannelsResponses,\n    SearchChannelsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zSearchChannelsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/search-channels\",\n    ...options,\n  });\n\n/**\n * Get draft cast storms\n */\nexport const getDraftCasts = <ThrowOnError extends boolean = false>(\n  options?: Options<GetDraftCastsData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetDraftCastsResponses,\n    GetDraftCastsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zGetDraftCastsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/draft-caststorms\",\n    ...options,\n  });\n\n/**\n * Create a new draft casts\n */\nexport const createDraftCasts = <ThrowOnError extends boolean = false>(\n  options: Options<CreateDraftCastsData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    CreateDraftCastsResponses,\n    CreateDraftCastsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zCreateDraftCastsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/draft-caststorms\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Delete a draft cast\n */\nexport const deleteDraftCast = <ThrowOnError extends boolean = false>(\n  options: Options<DeleteDraftCastData, ThrowOnError>,\n) =>\n  (options.client ?? client).delete<\n    DeleteDraftCastResponses,\n    DeleteDraftCastErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zDeleteDraftCastData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/draft-casts\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Delete a cast\n */\nexport const deleteCast = <ThrowOnError extends boolean = false>(\n  options: Options<DeleteCastData, ThrowOnError>,\n) =>\n  (options.client ?? client).delete<\n    DeleteCastResponses,\n    DeleteCastErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zDeleteCastData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/casts\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Retrieve casts for a specific user\n */\nexport const getCastsByFid = <ThrowOnError extends boolean = false>(\n  options: Options<GetCastsByFidData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetCastsByFidResponses,\n    GetCastsByFidErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zGetCastsByFidData.parseAsync(data),\n    responseTransformer: getCastsByFidResponseTransformer,\n    url: \"/v2/casts\",\n    ...options,\n  });\n\n/**\n * Create a new cast\n */\nexport const createCast = <ThrowOnError extends boolean = false>(\n  options: Options<CreateCastData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    CreateCastResponses,\n    CreateCastErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zCreateCastData.parseAsync(data),\n    responseTransformer: createCastResponseTransformer,\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/casts\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get all channels\n *\n * Returns a list of all channels on Warpcast\n */\nexport const getAllChannels = <ThrowOnError extends boolean = false>(\n  options?: Options<GetAllChannelsData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetAllChannelsResponses,\n    GetAllChannelsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetAllChannelsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/all-channels\",\n    ...options,\n  });\n\n/**\n * Get details of a specific channel\n */\nexport const getChannelDetails = <ThrowOnError extends boolean = false>(\n  options: Options<GetChannelDetailsData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetChannelDetailsResponses,\n    GetChannelDetailsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetChannelDetailsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/channel\",\n    ...options,\n  });\n\n/**\n * Get followers of a channel\n */\nexport const getChannelFollowers = <ThrowOnError extends boolean = false>(\n  options: Options<GetChannelFollowersData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetChannelFollowersResponses,\n    GetChannelFollowersErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetChannelFollowersData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/channel-followers\",\n    ...options,\n  });\n\n/**\n * Get list of channels followed by a user\n */\nexport const getUserFollowedChannels = <ThrowOnError extends boolean = false>(\n  options: Options<GetUserFollowedChannelsData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetUserFollowedChannelsResponses,\n    GetUserFollowedChannelsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetUserFollowedChannelsData.parseAsync(data),\n    url: \"/v1/user-following-channels\",\n    ...options,\n  });\n\n/**\n * Check if a user is following a channel\n */\nexport const checkUserChannelFollowStatus = <\n  ThrowOnError extends boolean = false,\n>(\n  options: Options<CheckUserChannelFollowStatusData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    CheckUserChannelFollowStatusResponses,\n    CheckUserChannelFollowStatusErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zCheckUserChannelFollowStatusData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/user-channel\",\n    ...options,\n  });\n\n/**\n * Get members of a channel\n */\nexport const getChannelMembers = <ThrowOnError extends boolean = false>(\n  options: Options<GetChannelMembersData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetChannelMembersResponses,\n    GetChannelMembersErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetChannelMembersData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/channel-members\",\n    ...options,\n  });\n\n/**\n * Remove a user's invite from a channel\n */\nexport const removeChannelInvite = <ThrowOnError extends boolean = false>(\n  options: Options<RemoveChannelInviteData, ThrowOnError>,\n) =>\n  (options.client ?? client).delete<\n    RemoveChannelInviteResponses,\n    RemoveChannelInviteErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zRemoveChannelInviteData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/channel-invites\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get channel invites\n */\nexport const getChannelInvites = <ThrowOnError extends boolean = false>(\n  options: Options<GetChannelInvitesData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetChannelInvitesResponses,\n    GetChannelInvitesErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetChannelInvitesData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/channel-invites\",\n    ...options,\n  });\n\n/**\n * Accept a channel invite\n */\nexport const acceptChannelInvite = <ThrowOnError extends boolean = false>(\n  options: Options<AcceptChannelInviteData, ThrowOnError>,\n) =>\n  (options.client ?? client).patch<\n    AcceptChannelInviteResponses,\n    AcceptChannelInviteErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zAcceptChannelInviteData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/channel-invites\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Invite a user to a channel\n */\nexport const inviteUserToChannel = <ThrowOnError extends boolean = false>(\n  options: Options<InviteUserToChannelData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    InviteUserToChannelResponses,\n    InviteUserToChannelErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zInviteUserToChannelData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/channel-invites\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get moderated casts for a channel\n */\nexport const getChannelModeratedCasts = <ThrowOnError extends boolean = false>(\n  options: Options<GetChannelModeratedCastsData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetChannelModeratedCastsResponses,\n    GetChannelModeratedCastsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetChannelModeratedCastsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/moderated-casts\",\n    ...options,\n  });\n\n/**\n * Get restricted users in a channel\n */\nexport const getChannelRestrictedUsers = <ThrowOnError extends boolean = false>(\n  options: Options<GetChannelRestrictedUsersData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetChannelRestrictedUsersResponses,\n    GetChannelRestrictedUsersErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetChannelRestrictedUsersData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/channel-restricted-users\",\n    ...options,\n  });\n\n/**\n * Unban a user from a channel\n */\nexport const unbanUserFromChannel = <ThrowOnError extends boolean = false>(\n  options: Options<UnbanUserFromChannelData, ThrowOnError>,\n) =>\n  (options.client ?? client).delete<\n    UnbanUserFromChannelResponses,\n    UnbanUserFromChannelErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zUnbanUserFromChannelData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/channel-bans\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get banned users in a channel\n */\nexport const getChannelBannedUsers = <ThrowOnError extends boolean = false>(\n  options: Options<GetChannelBannedUsersData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetChannelBannedUsersResponses,\n    GetChannelBannedUsersErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetChannelBannedUsersData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/channel-bans\",\n    ...options,\n  });\n\n/**\n * Ban a user from a channel\n */\nexport const banUserFromChannel = <ThrowOnError extends boolean = false>(\n  options: Options<BanUserFromChannelData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    BanUserFromChannelResponses,\n    BanUserFromChannelErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zBanUserFromChannelData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/channel-bans\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Unfollow a channel\n */\nexport const unfollowChannel = <ThrowOnError extends boolean = false>(\n  options: Options<UnfollowChannelData, ThrowOnError>,\n) =>\n  (options.client ?? client).delete<\n    UnfollowChannelResponses,\n    UnfollowChannelErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zUnfollowChannelData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/channel-follows\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Follow a channel\n */\nexport const followChannel = <ThrowOnError extends boolean = false>(\n  options: Options<FollowChannelData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    FollowChannelResponses,\n    FollowChannelErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zFollowChannelData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/channel-follows\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Moderate a cast (e.g., hide it)\n */\nexport const moderateCast = <ThrowOnError extends boolean = false>(\n  options: Options<ModerateCastData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    ModerateCastResponses,\n    ModerateCastErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zModerateCastData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/moderate-cast\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Unpin a cast from a channel\n */\nexport const unpinCastFromChannel = <ThrowOnError extends boolean = false>(\n  options: Options<UnpinCastFromChannelData, ThrowOnError>,\n) =>\n  (options.client ?? client).delete<\n    UnpinCastFromChannelResponses,\n    UnpinCastFromChannelErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zUnpinCastFromChannelData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/pinned-casts\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Pin a cast to a channel\n */\nexport const pinCastToChannel = <ThrowOnError extends boolean = false>(\n  options: Options<PinCastToChannelData, ThrowOnError>,\n) =>\n  (options.client ?? client).put<\n    PinCastToChannelResponses,\n    PinCastToChannelErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zPinCastToChannelData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/pinned-casts\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get discoverable actions\n */\nexport const getDiscoverableActions = <ThrowOnError extends boolean = false>(\n  options: Options<GetDiscoverableActionsData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetDiscoverableActionsResponses,\n    GetDiscoverableActionsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetDiscoverableActionsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/discover-actions\",\n    ...options,\n  });\n\n/**\n * Get top discoverable composer actions\n */\nexport const getDiscoverableComposerActions = <\n  ThrowOnError extends boolean = false,\n>(\n  options: Options<GetDiscoverableComposerActionsData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetDiscoverableComposerActionsResponses,\n    GetDiscoverableComposerActionsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetDiscoverableComposerActionsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/discover-composer-actions\",\n    ...options,\n  });\n\n/**\n * Unblock a user\n */\nexport const unblockUser = <ThrowOnError extends boolean = false>(\n  options: Options<UnblockUserData, ThrowOnError>,\n) =>\n  (options.client ?? client).delete<\n    UnblockUserResponses,\n    UnblockUserErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zUnblockUserData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/blocked-users\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get list of blocked users\n */\nexport const getBlockedUsers = <ThrowOnError extends boolean = false>(\n  options?: Options<GetBlockedUsersData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetBlockedUsersResponses,\n    GetBlockedUsersErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetBlockedUsersData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/blocked-users\",\n    ...options,\n  });\n\n/**\n * Block a user\n */\nexport const blockUser = <ThrowOnError extends boolean = false>(\n  options: Options<BlockUserData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    BlockUserResponses,\n    BlockUserErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zBlockUserData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/blocked-users\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get account verifications\n */\nexport const getAccountVerifications = <ThrowOnError extends boolean = false>(\n  options: Options<GetAccountVerificationsData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetAccountVerificationsResponses,\n    GetAccountVerificationsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetAccountVerificationsData.parseAsync(data),\n    url: \"/fc/account-verifications\",\n    ...options,\n  });\n\n/**\n * Get creator reward winners\n */\nexport const getCreatorRewardWinners = <ThrowOnError extends boolean = false>(\n  options?: Options<GetCreatorRewardWinnersData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetCreatorRewardWinnersResponses,\n    GetCreatorRewardWinnersErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetCreatorRewardWinnersData.parseAsync(data),\n    responseTransformer: getCreatorRewardWinnersResponseTransformer,\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/creator-rewards-winner-history\",\n    ...options,\n  });\n\n/**\n * Get User Primary Address\n */\nexport const getUserPrimaryAddress = <ThrowOnError extends boolean = false>(\n  options: Options<GetUserPrimaryAddressData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetUserPrimaryAddressResponses,\n    GetUserPrimaryAddressErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetUserPrimaryAddressData.parseAsync(data),\n    url: \"/fc/primary-address\",\n    ...options,\n  });\n\n/**\n * Get Multiple User Primary Addresses\n */\nexport const getUserPrimaryAddresses = <ThrowOnError extends boolean = false>(\n  options: Options<GetUserPrimaryAddressesData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetUserPrimaryAddressesResponses,\n    GetUserPrimaryAddressesErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetUserPrimaryAddressesData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/primary-addresses\",\n    ...options,\n  });\n\n/**\n * Get Starter Pack Members\n */\nexport const getStarterPackMembers = <ThrowOnError extends boolean = false>(\n  options: Options<GetStarterPackMembersData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetStarterPackMembersResponses,\n    GetStarterPackMembersErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetStarterPackMembersData.parseAsync(data),\n    responseTransformer: getStarterPackMembersResponseTransformer,\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/fc/starter-pack-members\",\n    ...options,\n  });\n\n/**\n * Send a Direct Cast via External API\n *\n * Send a programmatic Direct Cast to a recipient. The request must include a unique idempotency key.\n *\n */\nexport const sendDirectCast = <ThrowOnError extends boolean = false>(\n  options: Options<SendDirectCastData, ThrowOnError>,\n) =>\n  (options.client ?? client).put<\n    SendDirectCastResponses,\n    SendDirectCastErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zSendDirectCastData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/ext-send-direct-cast\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get user by verification address\n *\n * Retrieves user information associated with the provided Ethereum verification address\n */\nexport const getUserByVerificationAddress = <\n  ThrowOnError extends boolean = false,\n>(\n  options: Options<GetUserByVerificationAddressData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetUserByVerificationAddressResponses,\n    GetUserByVerificationAddressErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetUserByVerificationAddressData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/user-by-verification\",\n    ...options,\n  });\n\n/**\n * Get developer reward winners\n *\n * Provides access to all winners for a given period (week). Paginated, with the list of winners in rank order. Not authenticated.\n */\nexport const getDeveloperRewardWinners = <ThrowOnError extends boolean = false>(\n  options?: Options<GetDeveloperRewardWinnersData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetDeveloperRewardWinnersResponses,\n    GetDeveloperRewardWinnersErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetDeveloperRewardWinnersData.parseAsync(data),\n    url: \"/v1/developer-rewards-winner-history\",\n    ...options,\n  });\n\n/**\n * Get apps (frames) by author\n *\n * Retrieves a list of apps (aka \"frames\") created by a specific author on Warpcast, using their FID (Farcaster ID).\n * The response includes metadata for each app, including icons, URLs, and author profile details.\n *\n */\nexport const getAppsByAuthor = <ThrowOnError extends boolean = false>(\n  options: Options<GetAppsByAuthorData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetAppsByAuthorResponses,\n    GetAppsByAuthorErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetAppsByAuthorData.parseAsync(data),\n    url: \"/v1/apps-by-author\",\n    ...options,\n  });\n\n/**\n * Retrieve domain manifest information\n *\n * Fetches verification and manifest information for a Farcaster domain\n */\nexport const getDomainManifest = <ThrowOnError extends boolean = false>(\n  options: Options<GetDomainManifestData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetDomainManifestResponses,\n    GetDomainManifestErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetDomainManifestData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/domain-manifest\",\n    ...options,\n  });\n\n/**\n * Get trending topics\n *\n * Retrieves a list of currently trending topics on the platform.\n */\nexport const getTrendingTopics = <ThrowOnError extends boolean = false>(\n  options?: Options<GetTrendingTopicsData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetTrendingTopicsResponses,\n    GetTrendingTopicsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetTrendingTopicsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/get-trending-topics\",\n    ...options,\n  });\n\n/**\n * Fetch meta tags from a URL\n *\n * Retrieves metadata and Open Graph information from a specified URL\n */\nexport const getMetaTags = <ThrowOnError extends boolean = false>(\n  options: Options<GetMetaTagsData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetMetaTagsResponses,\n    GetMetaTagsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zGetMetaTagsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/dev-tools/meta-tags\",\n    ...options,\n  });\n\n/**\n * Fetch Farcaster JSON data from a domain\n *\n * Retrieves Farcaster account association and frame information for a specified domain\n */\nexport const getFarcasterJson = <ThrowOnError extends boolean = false>(\n  options: Options<GetFarcasterJsonData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetFarcasterJsonResponses,\n    GetFarcasterJsonErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetFarcasterJsonData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/dev-tools/farcaster-json\",\n    ...options,\n  });\n\n/**\n * Retrieve domains owned by the authenticated user\n *\n * Returns a list of domains that are owned by the currently authenticated user.\n */\nexport const getOwnedDomains = <ThrowOnError extends boolean = false>(\n  options?: Options<GetOwnedDomainsData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetOwnedDomainsResponses,\n    GetOwnedDomainsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetOwnedDomainsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/dev-tools/domains-owned\",\n    ...options,\n  });\n\n/**\n * Get managed apps\n *\n * Retrieves a list of apps managed by the authenticated user.\n */\nexport const getManagedApps = <ThrowOnError extends boolean = false>(\n  options?: Options<GetManagedAppsData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetManagedAppsResponses,\n    GetManagedAppsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetManagedAppsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/dev-tools/managed-apps\",\n    ...options,\n  });\n\n/**\n * Retrieve API keys for the authenticated user\n *\n * Returns a list of API keys associated with the user's account, including active and revoked keys\n */\nexport const getApiKeys = <ThrowOnError extends boolean = false>(\n  options?: Options<GetApiKeysData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetApiKeysResponses,\n    GetApiKeysErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zGetApiKeysData.parseAsync(data),\n    responseTransformer: getApiKeysResponseTransformer,\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/api-keys\",\n    ...options,\n  });\n\n/**\n * Create a new API key\n *\n * Creates a new API key with the specified description and expiration date\n */\nexport const createApiKey = <ThrowOnError extends boolean = false>(\n  options: Options<CreateApiKeyData, ThrowOnError>,\n) =>\n  (options.client ?? client).put<\n    CreateApiKeyResponses,\n    CreateApiKeyErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zCreateApiKeyData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/api-keys\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Revoke an API key\n *\n * Revokes an existing API key making it no longer valid for authentication\n */\nexport const revokeApiKey = <ThrowOnError extends boolean = false>(\n  options: Options<RevokeApiKeyData, ThrowOnError>,\n) =>\n  (options.client ?? client).patch<\n    RevokeApiKeyResponses,\n    RevokeApiKeyErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) => await zRevokeApiKeyData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/revoke-api-key\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get connected social accounts\n *\n * Retrieves a list of external social accounts connected to the user's Warpcast profile\n */\nexport const getConnectedAccounts = <ThrowOnError extends boolean = false>(\n  options?: Options<GetConnectedAccountsData, ThrowOnError>,\n) =>\n  (options?.client ?? client).get<\n    GetConnectedAccountsResponses,\n    GetConnectedAccountsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetConnectedAccountsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/connected-accounts\",\n    ...options,\n  });\n\n/**\n * Get casts from a user's profile\n *\n * Retrieves a list of casts published by a specific user identified by their Farcaster ID (FID).\n */\nexport const getProfileCasts = <ThrowOnError extends boolean = false>(\n  options: Options<GetProfileCastsData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetProfileCastsResponses,\n    GetProfileCastsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetProfileCastsData.parseAsync(data),\n    responseTransformer: getProfileCastsResponseTransformer,\n    url: \"/v2/profile-casts\",\n    ...options,\n  });\n\n/**\n * Retrieve liked casts by user FID\n */\nexport const getUserLikedCasts = <ThrowOnError extends boolean = false>(\n  options: Options<GetUserLikedCastsData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    GetUserLikedCastsResponses,\n    GetUserLikedCastsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetUserLikedCastsData.parseAsync(data),\n    responseTransformer: getUserLikedCastsResponseTransformer,\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v2/user-liked-casts\",\n    ...options,\n  });\n\n/**\n * Submit analytics events\n *\n * Submit one or more analytics events for tracking user activity.\n */\nexport const submitAnalyticsEvents = <ThrowOnError extends boolean = false>(\n  options: Options<SubmitAnalyticsEventsData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    SubmitAnalyticsEventsResponses,\n    SubmitAnalyticsEventsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zSubmitAnalyticsEventsData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/analytics-events\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Get analytics rollup for miniapps\n *\n * Retrieves analytics data for miniapps over a specified date range,\n * providing various metrics broken down by configured dimensions.\n *\n */\nexport const getMiniAppAnalyticsRollup = <ThrowOnError extends boolean = false>(\n  options: Options<GetMiniAppAnalyticsRollupData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    GetMiniAppAnalyticsRollupResponses,\n    GetMiniAppAnalyticsRollupErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zGetMiniAppAnalyticsRollupData.parseAsync(data),\n    responseTransformer: getMiniAppAnalyticsRollupResponseTransformer,\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/analytics/miniapps/rollup\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n\n/**\n * Inspect Mini App URL\n *\n * Validates a Mini App URL by checking for proper embedding code and manifest,\n * returning information about its compatibility with the Warpcast platform.\n *\n */\nexport const inspectMiniAppUrl = <ThrowOnError extends boolean = false>(\n  options: Options<InspectMiniAppUrlData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    InspectMiniAppUrlResponses,\n    InspectMiniAppUrlErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zInspectMiniAppUrlData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/dev-tools/inspect-miniapp-url\",\n    ...options,\n  });\n\n/**\n * Inspect an image URL\n *\n * Retrieves metadata and information about an image at a specified URL, including size, cache settings, and loading time.\n */\nexport const inspectImageUrl = <ThrowOnError extends boolean = false>(\n  options: Options<InspectImageUrlData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    InspectImageUrlResponses,\n    InspectImageUrlErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zInspectImageUrlData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/dev-tools/inspect-image-url\",\n    ...options,\n  });\n\n/**\n * Export user data for a specific mini app domain\n *\n * Retrieves a list of users who have interacted with a specified mini app domain, including their Farcaster IDs and notification tokens.\n */\nexport const exportMiniAppUserData = <ThrowOnError extends boolean = false>(\n  options: Options<ExportMiniAppUserDataData, ThrowOnError>,\n) =>\n  (options.client ?? client).get<\n    ExportMiniAppUserDataResponses,\n    ExportMiniAppUserDataErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zExportMiniAppUserDataData.parseAsync(data),\n    security: [{ scheme: \"bearer\", type: \"http\" }],\n    url: \"/v1/dev-tools/export/miniapp-user-data\",\n    ...options,\n  });\n\n/**\n * Register Statsig events\n *\n * Submits Statsig analytics events including gate exposures and other tracking events.\n */\nexport const registerStatsigEvents = <ThrowOnError extends boolean = false>(\n  options: Options<RegisterStatsigEventsData, ThrowOnError>,\n) =>\n  (options.client ?? client).post<\n    RegisterStatsigEventsResponses,\n    RegisterStatsigEventsErrors,\n    ThrowOnError\n  >({\n    requestValidator: async (data) =>\n      await zRegisterStatsigEventsData.parseAsync(data),\n    url: \"/v2/ss/v1/rgstr\",\n    ...options,\n    headers: {\n      \"Content-Type\": \"application/json\",\n      ...options.headers,\n    },\n  });\n"],"mappings":"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EAAO;EAAe;EAAW;CAC5C,YAAY;EACV,KAAK,EACH,MAAM,WACP;EACD,UAAU,EACR,MAAM,UACP;EACD,aAAa,EACX,MAAM,UACP;EACD,KAAK,EACH,MAAM,uCACP;EACD,SAAS,EACP,MAAM,gCACP;EACD,eAAe,EACb,MAAM,WACP;EACD,gBAAgB,EACd,MAAM,WACP;EACD,eAAe,EACb,MAAM,sCACP;EACF;CACF;AAED,MAAa,wBAAwB;CACnC,MAAM;CACN,YAAY;EACV,IAAI;GACF,MAAM;GACN,QAAQ;GACT;EACD,OAAO;GACL,MAAM;GACN,QAAQ;GACT;EACD,MAAM,EACJ,MAAM,6BACP;EACD,eAAe,EACb,MAAM,WACP;EACD,mBAAmB,EACjB,MAAM,WACP;EACD,uBAAuB,EACrB,MAAM,WACP;EACD,qBAAqB,EACnB,MAAM,WACP;EACD,0BAA0B,EACxB,MAAM,WACP;EACD,QAAQ,EACN,MAAM,WACP;EACD,UAAU,EACR,MAAM,WACP;EACD,oBAAoB,EAClB,MAAM,WACP;EACD,iBAAiB,EACf,MAAM,WACP;EACD,0BAA0B,EACxB,MAAM,WACP;EACD,YAAY,EACV,MAAM,WACP;EACD,+BAA+B,EAC7B,MAAM,WACP;EACD,sBAAsB,EACpB,MAAM,WACP;EACD,uBAAuB,EACrB,MAAM,WACP;EACD,oBAAoB,EAClB,MAAM,WACP;EACD,0BAA0B,EACxB,MAAM,WACP;EACD,UAAU,EACR,MAAM,WACP;EACD,YAAY,EACV,MAAM,WACP;EACD,2BAA2B,EACzB,MAAM,WACP;EACD,eAAe,EACb,MAAM,WACP;EACF;CACF;AAED,MAAa,gCAAgC;CAC3C,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,OAAO,EACL,MAAM,wCACP,EACF;EACF,EACF;CACF;AAED,MAAa,+BAA+B;CAC1C,MAAM;CACN,aAAa;CACb,YAAY,EACV,QAAQ;EACN,MAAM;EACN,OAAO;GACL,MAAM;GACN,YAAY,EACV,SAAS;IACP,MAAM;IACN,aAAa;IACd,EACF;GACD,UAAU,CAAC,UAAU;GACtB;EACF,EACF;CACD,UAAU,CAAC,SAAS;CACrB;AAED,MAAa,sBAAsB;CACjC,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,OAAO;GACL,MAAM;GACN,YAAY,EACV,SAAS;IACP,MAAM;IACN,aAAa;IACd,EACF;GACF;EACF,EACF;CACF;AAED,MAAa,uBAAuB,EAClC,OAAO,CACL,EACE,MAAM,6BACP,EACD;CACE,MAAM;CACN,YAAY,EACV,mBAAmB;EACjB,MAAM;EACN,OAAO,EAAE;EACV,EACF;CACF,CACF,EACF;AAED,MAAa,mBAAmB;CAC9B,MAAM;CACN,YAAY;EACV,KAAK,EACH,MAAM,WACP;EACD,gBAAgB,EACd,MAAM,UACP;EACD,YAAY;GACV,MAAM;GACN,OAAO,EACL,MAAM,UACP;GACF;EACD,eAAe;GACb,MAAM;GACN,OAAO,EACL,MAAM,UACP;GACF;EACD,cAAc;GACZ,MAAM;GACN,OAAO;IACL,MAAM;IACN,YAAY;KACV,SAAS,EACP,MAAM,UACP;KACD,QAAQ;MACN,MAAM;MACN,OAAO,EACL,MAAM,UACP;MACF;KACF;IACF;GACF;EACD,IAAI,EACF,MAAM,WACP;EACD,iBAAiB,EACf,MAAM,UACP;EACF;CACF;AAED,MAAa,0BAA0B;CACrC,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY;GACV,MAAM,EACJ,MAAM,uCACP;GACD,kBAAkB;IAChB,MAAM;IACN,OAAO,EAAE;IACV;GACD,QAAQ,EACN,MAAM,mCACP;GACF;EACF,EACF;CACF;AAED,MAAa,wBAAwB;CACnC,MAAM;CACN,aAAa;CACb,YAAY;EACV,cAAc;GACZ,MAAM;GACN,aACE;GACF,SAAS;GACV;EACD,YAAY;GACV,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,SAAS;GACP,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,QAAQ;GACN,MAAM;GACN,aAAa;GACb,sBAAsB;GACtB,SAAS,EACP,MAAM,WACP;GACF;EACD,SAAS;GACP,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACF;CACD,UAAU;EAAC;EAAgB;EAAc;EAAW;EAAU;CAC/D;AAED,MAAa,wBAAwB;CACnC,MAAM;CACN,aAAa;CACb,YAAY,EACV,QAAQ;EACN,MAAM;EACN,aAAa;EACb,OAAO,EACL,MAAM,wCACP;EACF,EACF;CACD,UAAU,CAAC,SAAS;CACrB;AAED,MAAa,kCAAkC;CAC7C,MAAM;CACN,UAAU,CAAC,YAAY,QAAQ;CAC/B,YAAY;EACV,UAAU;GACR,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,OAAO;GACL,MAAM;GACN,SAAS;GACT,aAAa;GACb,SAAS;GACV;EACD,OAAO;GACL,MAAM;GACN,aAAa;GACd;EACD,UAAU;GACR,MAAM;GACN,OAAO,EACL,MAAM,WACP;GACD,aAAa;GACd;EACF;CACF;AAED,MAAa,uCAAuC;CAClD,MAAM;CACN,YAAY;EACV,mBAAmB;GACjB,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,SAAS;GACP,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,WAAW;GACT,MAAM;GACN,OAAO,EACL,MAAM,UACP;GACD,aAAa;GACd;EACF;CACF;AAED,MAAa,0BAA0B;CACrC,MAAM;CACN,UAAU;EACR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;CACD,YAAY;EACV,gBAAgB;GACd,MAAM;GACN,aAAa;GACd;EACD,WAAW;GACT,MAAM;GACN,aAAa;GACd;EACD,WAAW;GACT,MAAM;GACN,aAAa;GACd;EACD,iBAAiB;GACf,MAAM;GACN,QAAQ;GACR,aAAa;GACb,SAAS;GACV;EACD,MAAM;GACJ,MAAM;GACN,MAAM;IACJ;IACA;IACA;IACA;IACA;IACA;IACA;IACD;GACD,aAAa;GACb,SAAS;GACV;EACD,SAAS;GACP,MAAM;GACN,aAAa;GACd;EACD,YAAY;GACV,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,WAAW;GACT,MAAM;GACN,OAAO,EACL,MAAM,kDACP;GACD,aAAa;GACd;EACD,UAAU;GACR,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,WAAW;GACT,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,eAAe,EACb,MAAM,6BACP;EACD,eAAe,EACb,MAAM,uDACP;EACD,WAAW,EACT,MAAM,0CACP;EACD,UAAU,EACR,MAAM,kDACP;EACD,yBAAyB,EACvB,MAAM,6BACP;EACD,gBAAgB;GACd,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,UAAU;GACR,MAAM;GACN,OAAO,EACL,MAAM,iDACP;GACD,aAAa;GACd;EACF;CACF;AAED,MAAa,kCAAkC;CAC7C,MAAM;CACN,YAAY;EACV,OAAO;GACL,MAAM;GACN,OAAO;IACL,MAAM;IACN,sBAAsB;IACvB;GACD,aAAa;GACd;EACD,MAAM;GACJ,MAAM;GACN,OAAO;IACL,MAAM;IACN,sBAAsB;IACvB;GACD,aAAa;GACd;EACD,QAAQ;GACN,MAAM;GACN,OAAO;IACL,MAAM;IACN,sBAAsB;IACvB;GACD,aAAa;GACd;EACF;CACF;AAED,MAAa,iCAAiC;CAC5C,MAAM;CACN,UAAU;EAAC;EAAQ;EAAa;EAAS;CACzC,YAAY;EACV,MAAM,EACJ,MAAM,6BACP;EACD,WAAW;GACT,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,QAAQ;GACN,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACF;CACF;AAED,MAAa,4CAA4C;CACvD,MAAM;CACN,YAAY;EACV,QAAQ;GACN,MAAM;GACN,MAAM,CAAC,cAAc,YAAY;GACjC,aAAa;GACb,SAAS;GACV;EACD,UAAU;GACR,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,UAAU;GACR,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,YAAY;GACV,MAAM;GACN,QAAQ;GACR,aAAa;GACb,SAAS;GACV;EACD,OAAO;GACL,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,sBAAsB;GACpB,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,QAAQ;GACN,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,aAAa;GACX,MAAM;GACN,SAAS;GACT,aAAa;GACb,SAAS;GACV;EACD,qBAAqB;GACnB,MAAM;GACN,SAAS;GACT,aAAa;GACb,SAAS;GACV;EACD,cAAc;GACZ,MAAM;GACN,aAAa;GACd;EACD,KAAK;GACH,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACF;CACF;AAED,MAAa,+BAA+B;CAC1C,MAAM;CACN,UAAU;EACR;EACA;EACA;EACA;EACA;EACA;EACD;CACD,YAAY;EACV,gBAAgB;GACd,MAAM;GACN,aAAa;GACd;EACD,MAAM;GACJ,MAAM;GACN,aAAa;GACd;EACD,aAAa;GACX,MAAM;GACN,aAAa;GACd;EACD,UAAU;GACR,MAAM;GACN,QAAQ;GACR,aAAa;GACd;EACD,WAAW;GACT,MAAM;GACN,OAAO,EACL,MAAM,WACP;GACD,aAAa;GACd;EACD,aAAa;GACX,MAAM;GACN,OAAO,EACL,MAAM,WACP;GACD,aAAa;GACd;EACD,cAAc;GACZ,MAAM;GACN,OAAO,EACL,MAAM,6BACP;GACD,aAAa;GACd;EACD,cAAc;GACZ,MAAM;GACN,QAAQ;GACR,aAAa;GACb,SAAS;GACV;EACD,kBAAkB;GAChB,MAAM;GACN,QAAQ;GACR,aAAa;GACb,SAAS;GACV;EACD,gBAAgB;GACd,MAAM;GACN,OAAO,EACL,MAAM,0CACP;GACD,aAAa;GACd;EACD,mBAAmB;GACjB,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,SAAS;GACP,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,wBAAwB;GACtB,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,yBAAyB;GACvB,MAAM;GACN,SAAS;GACT,aAAa;GACb,SAAS;GACV;EACD,gBAAgB;GACd,OAAO,CACL;IACE,MAAM;IACN,SAAS;IACT,aAAa;IACd,EACD;IACE,MAAM;IACN,MAAM,CAAC,WAAW;IAClB,aAAa;IACd,CACF;GACD,aACE;GACF,UAAU,CAAC,KAAK,WAAW;GAC5B;EACD,WAAW;GACT,MAAM;GACN,QAAQ;GACR,aACE;GACF,SAAS;GACV;EACD,aAAa;GACX,MAAM;GACN,SAAS;GACT,aAAa;GACb,SAAS;GACV;EACD,OAAO;GACL,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,YAAY;GACV,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,aAAa,EACX,MAAM,0CACP;EACD,eAAe,EACb,MAAM,4DACP;EACF;CACF;AAED,MAAa,8BAA8B;CACzC,MAAM;CACN,UAAU;EACR;EACA;EACA;EACA;EACD;CACD,YAAY;EACV,aAAa;GACX,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,mBAAmB;GACjB,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,eAAe;GACb,MAAM;GACN,SAAS;GACT,aAAa;GACb,SAAS;GACV;EACD,eAAe;GACb,MAAM;GACN,OAAO,EACL,MAAM,+CACP;GACF;EACF;CACF;AAED,MAAa,yBAAyB;CACpC,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,aAAa;EACd,EACF;CACD,sBAAsB;CACvB;AAED,MAAa,gCAAgC;CAC3C,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY;EACV,QAAQ,EACN,MAAM,8CACP;EACD,MAAM,EACJ,MAAM,yCACP;EACF;CACF;AAED,MAAa,mBAAmB;CAC9B,MAAM;CACN,YAAY;EACV,IAAI,EACF,MAAM,UACP;EACD,MAAM,EACJ,MAAM,UACP;EACD,SAAS,EACP,MAAM,UACP;EACD,WAAW,EACT,MAAM,UACP;EACD,QAAQ;GACN,MAAM;GACN,YAAY;IACV,YAAY,EACV,MAAM,UACP;IACD,SAAS,EACP,MAAM,UACP;IACF;GACF;EACF;CACF;AAED,MAAa,+BAA+B;CAC1C,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,SAAS;GACP,MAAM;GACN,YAAY;IACV,aAAa,EACX,MAAM,WACP;IACD,mBAAmB,EACjB,MAAM,WACP;IACD,uBAAuB,EACrB,MAAM,WACP;IACD,SAAS;KACP,MAAM;KACN,OAAO,EAAE;KACV;IACD,qBAAqB;KACnB,MAAM;KACN,OAAO,EACL,MAAM,UACP;KACF;IACD,kBAAkB;KAChB,MAAM;KACN,OAAO,EACL,MAAM,UACP;KACF;IACD,qBAAqB;KACnB,MAAM;KACN,OAAO,EACL,MAAM,UACP;KACF;IACD,oBAAoB,EAClB,MAAM,WACP;IACD,gBAAgB,EACd,MAAM,WACP;IACD,gBAAgB,EACd,MAAM,WACP;IACD,kCAAkC,EAChC,MAAM,WACP;IACD,wCAAwC,EACtC,MAAM,WACP;IACD,aAAa;KACX,MAAM;KACN,OAAO,EACL,MAAM,mCACP;KACF;IACD,kBAAkB,EAChB,MAAM,WACP;IACD,mBAAmB,EACjB,MAAM,mCACP;IACD,oBAAoB;KAClB,MAAM;KACN,OAAO;MACL,MAAM;MACN,YAAY;OACV,IAAI,EACF,MAAM,UACP;OACD,MAAM,EACJ,MAAM,UACP;OACF;MACF;KACF;IACD,sBAAsB,EACpB,MAAM,WACP;IACD,sBAAsB,EACpB,MAAM,WACP;IACD,mBAAmB,EACjB,MAAM,WACP;IACD,eAAe,EACb,MAAM,UACP;IACD,SAAS,EACP,MAAM,UACP;IACD,sCAAsC,EACpC,MAAM,WACP;IACF;GACF,EACF;EACF,EACF;CACF;AAED,MAAa,gCAAgC;CAC3C,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,aAAa;GACX,MAAM;GACN,sBAAsB;GACvB,EACF;EACF,EACF;CACF;AAED,MAAa,gBAAgB;CAC3B,MAAM;CACN,YAAY;EACV,MAAM,EACJ,MAAM,UACP;EACD,KAAK,EACH,MAAM,UACP;EACD,MAAM,EACJ,MAAM,UACP;EACD,UAAU,EACR,MAAM,UACP;EACD,cAAc,EACZ,MAAM,UACP;EACD,OAAO;GACL,MAAM;GACN,OAAO;IACL,MAAM;IACN,YAAY;KACV,MAAM,EACJ,MAAM,UACP;KACD,MAAM,EACJ,MAAM,UACP;KACF;IACF;GACF;EACD,aAAa,EACX,MAAM,UACP;EACD,eAAe,EACb,MAAM,WACP;EACD,aAAa,EACX,MAAM,WACP;EACD,sBAAsB,EACpB,MAAM,WACP;EACD,cAAc,EACZ,MAAM,WACP;EACD,aAAa,EACX,MAAM,WACP;EACD,cAAc,EACZ,MAAM,WACP;EACD,eAAe,EACb,MAAM,WACP;EACD,YAAY,EACV,MAAM,UACP;EACD,gBAAgB,EACd,MAAM,UACP;EACD,cAAc;GACZ,MAAM;GACN,YAAY;IACV,OAAO,EACL,MAAM,UACP;IACD,QAAQ,EACN,MAAM,UACP;IACF;GACF;EACD,sBAAsB;GACpB,MAAM;GACN,sBAAsB;GACvB;EACD,eAAe;GACb,MAAM;GACN,YAAY;IACV,WAAW,EACT,MAAM,WACP;IACD,UAAU,EACR,MAAM,WACP;IACD,gBAAgB,EACd,MAAM,WACP;IACD,kBAAkB,EAChB,MAAM,WACP;IACD,cAAc,EACZ,MAAM,WACP;IACD,SAAS,EACP,MAAM,WACP;IACF;GACF;EACF;CACF;AAED,MAAa,oCAAoC;CAC/C,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY;GACV,UAAU;IACR,MAAM;IACN,OAAO,EACL,MAAM,gCACP;IACF;GACD,eAAe;IACb,MAAM;IACN,YAAY,EACV,aAAa,EACX,MAAM,UACP,EACF;IACF;GACF;EACF,EACF;CACF;AAED,MAAa,mBAAmB;CAC9B,MAAM;CACN,YAAY;EACV,MAAM;GACJ,MAAM;GACN,MAAM,CAAC,QAAQ;GAChB;EACD,KAAK,EACH,MAAM,UACP;EACD,WAAW,EACT,MAAM,UACP;EACD,OAAO;GACL,MAAM;GACN,YAAY;IACV,SAAS,EACP,MAAM,UACP;IACD,OAAO,EACL,MAAM,WACP;IACD,QAAQ,EACN,MAAM,WACP;IACD,cAAc,EACZ,MAAM,UACP;IACD,UAAU,EACR,MAAM,UACP;IACF;GACF;EACD,KAAK,EACH,MAAM,UACP;EACF;CACF;AAED,MAAa,iBAAiB;CAC5B,MAAM;CACN,UAAU,CAAC,QAAQ,YAAY;CAC/B,YAAY;EACV,MAAM;GACJ,MAAM;GACN,MAAM,CAAC,MAAM;GACd;EACD,WAAW;GACT,MAAM;GACN,UAAU,CAAC,MAAM;GACjB,YAAY;IACV,KAAK,EACH,MAAM,UACP;IACD,WAAW,EACT,MAAM,UACP;IACD,OAAO,EACL,MAAM,UACP;IACD,aAAa,EACX,MAAM,UACP;IACD,QAAQ,EACN,MAAM,UACP;IACD,OAAO,EACL,MAAM,UACP;IACD,eAAe,EACb,MAAM,WACP;IACF;GACF;EACF;CACF;AAED,MAAa,mBAAmB;CAC9B,MAAM;CACN,YAAY,EACV,MAAM;EACJ,MAAM;EACN,MAAM,CAAC,QAAQ;EAChB,EACF;CACF;AAED,MAAa,iBAAiB;CAC5B,MAAM;CACN,YAAY;EACV,KAAK,EACH,MAAM,WACP;EACD,UAAU,EACR,MAAM,UACP;EACD,aAAa,EACX,MAAM,UACP;EACD,YAAY,EACV,MAAM,UACP;EACF;CACF;AAED,MAAa,aAAa;CACxB,MAAM;CACN,UAAU;EACR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;CACD,YAAY;EACV,MAAM;GACJ,MAAM;GACN,aAAa;GACd;EACD,YAAY;GACV,MAAM;GACN,aAAa;GACd;EACD,YAAY;GACV,MAAM;GACN,aAAa;GACd;EACD,cAAc;GACZ,MAAM;GACN,YAAY;IACV,MAAM;KACJ,MAAM;KACN,MAAM,CAAC,MAAM;KACd;IACD,KAAK,EACH,MAAM,UACP;IACF;GACF;EACD,QAAQ,EACN,MAAM,6BACP;EACD,MAAM;GACJ,MAAM;GACN,aAAa;GACd;EACD,WAAW;GACT,MAAM;GACN,QAAQ;GACR,aAAa;GACd;EACD,UAAU;GACR,MAAM;GACN,OAAO,EACL,MAAM,6BACP;GACF;EACD,QAAQ;GACN,MAAM;GACN,YAAY;IACV,QAAQ;KACN,MAAM;KACN,OAAO,EACL,MAAM,mCACP;KACF;IACD,MAAM;KACJ,MAAM;KACN,OAAO,EACL,MAAM,iCACP;KACF;IACD,QAAQ;KACN,MAAM;KACN,OAAO,EACL,MAAM,mCACP;KACF;IACD,UAAU;KACR,MAAM;KACN,OAAO,EACL,MAAM,UACP;KACF;IACD,mBAAmB,EACjB,MAAM,UACP;IACD,cAAc;KACZ,MAAM;KACN,OAAO,EACL,MAAM,UACP;KACF;IACF;GACF;EACD,SAAS;GACP,MAAM;GACN,UAAU,CAAC,QAAQ;GACnB,YAAY,EACV,OAAO,EACL,MAAM,WACP,EACF;GACF;EACD,WAAW;GACT,MAAM;GACN,UAAU,CAAC,QAAQ;GACnB,YAAY,EACV,OAAO,EACL,MAAM,WACP,EACF;GACF;EACD,SAAS;GACP,MAAM;GACN,UAAU,CAAC,QAAQ;GACnB,YAAY;IACV,OAAO,EACL,MAAM,WACP;IACD,WAAW;KACT,MAAM;KACN,OAAO,EACL,MAAM,iCACP;KACF;IACF;GACF;EACD,SAAS;GACP,MAAM;GACN,UAAU,CAAC,QAAQ;GACnB,YAAY,EACV,OAAO,EACL,MAAM,WACP,EACF;GACF;EACD,QAAQ,EACN,MAAM,WACP;EACD,MAAM;GACJ,MAAM;GACN,OAAO;IACL,MAAM;IACN,YAAY;KACV,MAAM,EACJ,MAAM,UACP;KACD,IAAI,EACF,MAAM,UACP;KACD,MAAM,EACJ,MAAM,UACP;KACD,UAAU,EACR,MAAM,UACP;KACF;IACF;GACF;EACD,YAAY,EACV,MAAM,WACP;EACD,qBAAqB,EACnB,MAAM,WACP;EACD,SAAS;GACP,MAAM;GACN,YAAY;IACV,KAAK,EACH,MAAM,UACP;IACD,MAAM,EACJ,MAAM,UACP;IACD,UAAU,EACR,MAAM,UACP;IACD,eAAe;KACb,MAAM;KACN,YAAY;MACV,MAAM,EACJ,MAAM,UACP;MACD,YAAY,EACV,MAAM,WACP;MACD,QAAQ,EACN,MAAM,WACP;MACF;KACF;IACD,YAAY,EACV,MAAM,UACP;IACF;GACF;EACD,eAAe;GACb,MAAM;GACN,YAAY;IACV,SAAS,EACP,MAAM,WACP;IACD,QAAQ,EACN,MAAM,WACP;IACD,YAAY,EACV,MAAM,WACP;IACF;GACF;EACF;CACF;AAED,MAAa,0BAA0B;CACrC,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,UAAU,CAAC,SAAS,cAAc;EAClC,YAAY;GACV,OAAO;IACL,MAAM;IACN,OAAO;KACL,MAAM;KACN,UAAU;MAAC;MAAM;MAAa;MAAO;KACrC,YAAY;MACV,IAAI,EACF,MAAM,UACP;MACD,WAAW,EACT,MAAM,WACP;MACD,MAAM,EACJ,MAAM,6BACP;MACD,mBAAmB;OACjB,MAAM;OACN,OAAO,EACL,MAAM,6BACP;OACF;MACF;KACF;IACF;GACD,yBAAyB,EACvB,MAAM,WACP;GACD,wBAAwB,EACtB,MAAM,WACP;GACD,aAAa,EACX,MAAM,WACP;GACF;EACF,EACF;CACF;AAED,MAAa,wBAAwB;CACnC,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,sBAAsB;EACvB,EACF;CACF;AAED,MAAa,qBAAqB,EAChC,OAAO,CACL,EACE,MAAM,wCACP,EACD;CACE,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY;GACV,MAAM,EACJ,MAAM,uCACP;GACD,kBAAkB;IAChB,MAAM;IACN,OAAO,EACL,MAAM,UACP;IACF;GACD,QAAQ,EACN,MAAM,mCACP;GACF;EACF,EACF;CACF,CACF,EACF;AAED,MAAa,0BAA0B;CACrC,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY;EACV,QAAQ;GACN,MAAM;GACN,sBAAsB;GACvB;EACD,MAAM,EACJ,MAAM,yCACP;EACF;CACF;AAED,MAAa,+BAA+B,EAC1C,OAAO,CACL,EACE,MAAM,0CACP,EACD;CACE,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,OAAO;GACL,MAAM;GACN,OAAO;IACL,MAAM;IACN,sBAAsB;IACvB;GACF,EACF;EACF,EACF;CACF,CACF,EACF;AAED,MAAa,+BAA+B;CAC1C,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,UAAU,CAAC,SAAS;EACpB,YAAY,EACV,QAAQ;GACN,MAAM;GACN,OAAO;IACL,MAAM;IACN,sBAAsB;IACvB;GACF,EACF;EACF,EACF;CACF;AAED,MAAa,+BAA+B;CAC1C,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,sBAAsB;EACvB,EACF;CACF;AAED,MAAa,6BAA6B;CACxC,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY;GACV,oBAAoB,EAClB,MAAM,WACP;GACD,kBAAkB;IAChB,MAAM;IACN,OAAO;KACL,MAAM;KACN,UAAU,CAAC,OAAO,cAAc;KAChC,YAAY;MACV,KAAK,EACH,MAAM,UACP;MACD,aAAa,EACX,MAAM,WACP;MACF;KACF;IACF;GACD,YAAY,EACV,MAAM,WACP;GACD,cAAc;IACZ,MAAM;IACN,OAAO;KACL,MAAM;KACN,UAAU;MAAC;MAAc;MAAY;MAAc;KACnD,YAAY;MACV,YAAY,EACV,MAAM,UACP;MACD,UAAU,EACR,MAAM,UACP;MACD,aAAa,EACX,MAAM,WACP;MACF;KACF;IACF;GACD,sBAAsB,EACpB,MAAM,WACP;GACF;EACF,EACF;CACF;AAED,MAAa,gCAAgC;CAC3C,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,UAAU,CAAC,QAAQ;EACnB,YAAY,EACV,OAAO;GACL,MAAM;GACN,OAAO;IACL,MAAM;IACN,sBAAsB;IACvB;GACF,EACF;EACF,EACF;CACF;AAED,MAAa,wCAAwC;CACnD,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,UAAU,CAAC,SAAS,aAAa;EACjC,YAAY;GACV,OAAO;IACL,MAAM;IACN,OAAO;KACL,MAAM;KACN,sBAAsB;KACvB;IACF;GACD,YAAY,EACV,MAAM,WACP;GACF;EACF,EACF;CACF;AAED,MAAa,wBAAwB,EACnC,OAAO,CACL,EACE,MAAM,wCACP,EACD;CACE,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,UAAU,CAAC,UAAU;EACrB,YAAY,EACV,SAAS;GACP,MAAM;GACN,aAAa;GACd,EACF;EACF,EACF;CACF,CACF,EACF;AAED,MAAa,8BAA8B;CACzC,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,UAAU,CAAC,gBAAgB;EAC3B,YAAY;GACV,eAAe;IACb,MAAM;IACN,aAAa;IACb,OAAO;KACL,MAAM;KACN,UAAU;MACR;MACA;MACA;MACA;MACA;MACA;MACD;KACD,YAAY;MACV,IAAI;OACF,MAAM;OACN,aAAa;OACd;MACD,MAAM;OACJ,MAAM;OACN,aAAa;OACb,MAAM;QACJ;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACD;OACF;MACD,iBAAiB;OACf,MAAM;OACN,QAAQ;OACR,aAAa;OACd;MACD,gBAAgB;OACd,MAAM;OACN,aACE;OACH;MACD,cAAc;OACZ,MAAM;OACN,aACE;OACF,OAAO;QACL,MAAM;QACN,sBAAsB;QACvB;OACF;MACD,UAAU;OACR,MAAM;OACN,aAAa;OACd;MACD,UAAU;OACR,MAAM;OACN,aAAa;OACb,sBAAsB;OACvB;MACF;KACD,sBAAsB;KACvB;IACF;GACD,MAAM,EACJ,MAAM,yCACP;GACF;EACF,EACF;CACF;AAED,MAAa,uCAAuC,EAClD,OAAO,CACL,EACE,MAAM,wCACP,EACD;CACE,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,UAAU,CAAC,eAAe;EAC1B,YAAY,EACV,cAAc,EACZ,MAAM,+CACP,EACF;EACF,EACF;CACF,CACF,EACF;AAED,MAAa,oDAAoD;CAC/D,MAAM;CACN,UAAU,CAAC,kBAAkB,WAAW;CACxC,YAAY;EACV,gBAAgB;GACd,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,UAAU;GACR,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACF;CACF;AAED,MAAa,+CAA+C,EAC1D,OAAO,CACL,EACE,MAAM,0CACP,EACD;CACE,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,UAAU,CAAC,WAAW;EACtB,YAAY,EACV,UAAU;GACR,MAAM;GACN,OAAO,EACL,MAAM,0CACP;GACF,EACF;EACF,EACF;CACF,CACF,EACF;AAED,MAAa,gDAAgD;CAC3D,MAAM;CACN,UAAU,CAAC,kBAAkB,MAAM;CACnC,YAAY;EACV,gBAAgB;GACd,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,KAAK;GACH,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACF;CACF;AAED,MAAa,mDAAmD;CAC9D,MAAM;CACN,UAAU,CAAC,kBAAkB,QAAQ;CACrC,YAAY;EACV,gBAAgB;GACd,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,OAAO;GACL,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACF;CACF;AAED,MAAa,8BAA8B;CACzC,MAAM;CACN,UAAU;EAAC;EAAkB;EAAiB;EAAa;EAAQ;EAAU;CAC7E,YAAY;EACV,gBAAgB;GACd,MAAM;GACN,aAAa;GACd;EACD,eAAe;GACb,MAAM;GACN,OAAO,EACL,MAAM,WACP;GACD,aAAa;GACb,SAAS,CAAC,OAAO,OAAO;GACzB;EACD,WAAW;GACT,MAAM;GACN,aAAa;GACd;EACD,MAAM;GACJ,MAAM;GACN,MAAM;IAAC;IAAQ;IAAS;IAAY;IAAO;GAC3C,aAAa;GACb,SAAS;GACV;EACD,SAAS;GACP,MAAM;GACN,aAAa;GACd;EACD,aAAa;GACX,MAAM;GACN,aAAa;GACd;EACF;CACF;AAED,MAAa,4CAA4C;CACvD,MAAM;CACN,UAAU,CAAC,iBAAiB;CAC5B,YAAY,EACV,gBAAgB;EACd,MAAM;EACN,aAAa;EACd,EACF;CACF;AAED,MAAa,yCAAyC;CACpD,MAAM;CACN,UAAU;EAAC;EAAkB;EAAa;EAAW;CACrD,YAAY;EACV,gBAAgB;GACd,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,WAAW;GACT,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACD,UAAU;GACR,MAAM;GACN,aAAa;GACb,SAAS;GACV;EACF;CACF;AAED,MAAa,yCAAyC;CACpD,MAAM;CACN,UAAU,CAAC,iBAAiB;CAC5B,YAAY,EACV,gBAAgB;EACd,MAAM;EACN,aAAa;EACd,EACF;CACF;AAED,MAAa,iCAAiC,EAC5C,OAAO,CACL,EACE,MAAM,wCACP,EACD;CACE,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,UAAU;GACR,MAAM;GACN,OAAO;IACL,MAAM;IACN,sBAAsB;IACvB;GACF,EACF;EACF,EACF;CACF,CACF,EACF;AAED,MAAa,iCAAiC,EAC5C,OAAO,CACL,EACE,MAAM,wCACP,EACD;CACE,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,UAAU,CAAC,yBAAyB,wBAAwB;EAC5D,YAAY;GACV,uBAAuB;IACrB,MAAM;IACN,aAAa;IACd;GACD,uBAAuB;IACrB,MAAM;IACN,aAAa;IACd;GACF;EACF,EACF;CACF,CACF,EACF;AAED,MAAa,iCAAiC,EAC5C,OAAO,CACL,EACE,MAAM,wCACP,EACD;CACE,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,SAAS;GACP,MAAM;GACN,OAAO,EACL,MAAM,UACP;GACF,EACF;EACF,EACF;CACD,sBAAsB;CACvB,CACF,EACF;AAED,MAAa,mCAAmC;CAC9C,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,UAAU,CAAC,cAAc;EACzB,YAAY,EACV,aAAa;GACX,MAAM;GACN,UAAU,CAAC,QAAQ,QAAQ;GAC3B,YAAY;IACV,MAAM,EACJ,MAAM,UACP;IACD,OAAO;KACL,MAAM;KACN,OAAO;MACL,MAAM;MACN,YAAY;OACV,MAAM;QACJ,MAAM;QACN,sBAAsB;QACvB;OACD,OAAO,EACL,MAAM,WACP;OACD,MAAM,EACJ,MAAM,WACP;OACF;MACF;KACF;IACF;GACF,EACF;EACF,EACF;CACF;AAED,MAAa,8BAA8B;CACzC,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,UAAU,CAAC,SAAS;EACpB,YAAY,EACV,QAAQ;GACN,MAAM;GACN,OAAO;IACL,MAAM;IACN,YAAY;KACV,MAAM,EACJ,MAAM,UACP;KACD,MAAM;MACJ,MAAM;MACN,sBAAsB;MACvB;KACD,cAAc,EACZ,MAAM,WACP;KACD,oBAAoB,EAClB,MAAM,WACP;KACD,qBAAqB,EACnB,MAAM,WACP;KACF;IACF;GACF,EACF;EACF,EACF;CACF;AAED,MAAa,gCAAgC;CAC3C,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,UAAU;GACR,MAAM;GACN,UAAU;IACR;IACA;IACA;IACA;IACD;GACD,YAAY;IACV,MAAM,EACJ,MAAM,UACP;IACD,qBAAqB;KACnB,MAAM;KACN,QAAQ;KACT;IACD,6BAA6B;KAC3B,MAAM;KACN,QAAQ;KACT;IACD,2BAA2B;KACzB,MAAM;KACN,QAAQ;KACT;IACD,OAAO;KACL,MAAM;KACN,OAAO;MACL,MAAM;MACN,sBAAsB;MACvB;KACF;IACD,oBAAoB;KAClB,MAAM;KACN,YAAY;MACV,YAAY,EACV,MAAM,WACP;MACD,kBAAkB,EAChB,MAAM,WACP;MACF;KACF;IACF;GACF,EACF;EACF,EACF;CACF;AAED,MAAa,uBAAuB;CAClC,MAAM;CACN,sBAAsB;CACvB;AAED,MAAa,gCAAgC;CAC3C,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,WAAW;GACT,MAAM;GACN,OAAO,EACL,MAAM,uCACP;GACF,EACF;EACF,EACF;CACF;AAED,MAAa,oBAAoB;CAC/B,MAAM;CACN,UAAU,CAAC,KAAK;CAChB,YAAY;EACV,IAAI;GACF,MAAM;GACN,aAAa;GACd;EACD,SAAS,EACP,MAAM,6BACP;EACD,MAAM;GACJ,MAAM;GACN,aAAa;GACd;EACD,aAAa;GACX,MAAM;GACN,aAAa;GACd;EACD,mBAAmB;GACjB,MAAM;GACN,QAAQ;GACR,aAAa;GACd;EACD,WAAW;GACT,MAAM;GACN,aAAa;GACd;EACD,OAAO;GACL,MAAM;GACN,OAAO;IACL,MAAM;IACN,sBAAsB;IACvB;GACD,aAAa;GACd;EACD,QAAQ;GACN,MAAM;GACN,OAAO,EACL,MAAM,UACP;GACD,aAAa;GACd;EACF;CACD,sBAAsB;CACvB;AAED,MAAa,6BAA6B;CACxC,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,UAAU,CAAC,eAAe;EAC1B,YAAY,EACV,cAAc;GACZ,MAAM;GACN,OAAO,EACL,MAAM,oCACP;GACF,EACF;EACF,EACF;CACF;AAED,MAAa,4BAA4B;CACvC,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,UAAU,CAAC,cAAc;EACzB,YAAY,EACV,aAAa,EACX,MAAM,oCACP,EACF;EACF,EACF;CACF;AAED,MAAa,iCAAiC;CAC5C,MAAM;CACN,UAAU;EAAC;EAAM;EAAQ;EAAe;EAAQ;EAAS;CACzD,YAAY;EACV,IAAI;GACF,MAAM;GACN,aAAa;GACd;EACD,MAAM;GACJ,MAAM;GACN,aAAa;GACd;EACD,aAAa;GACX,MAAM;GACN,aAAa;GACd;EACD,MAAM;GACJ,MAAM;GACN,aAAa;GACb,OAAO,EACL,MAAM,WACP;GACF;EACD,QAAQ;GACN,MAAM;GACN,aAAa;GACb,OAAO,EACL,MAAM,UACP;GACF;EACF;CACF;AAED,MAAa,iCAAiC;CAC5C,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,UAAU,CAAC,QAAQ;EACnB,YAAY,EACV,OAAO;GACL,MAAM;GACN,OAAO,EACL,MAAM,6BACP;GACF,EACF;EACF,EACF;CACF;AAED,MAAa,wBAAwB;CACnC,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,SAAS,EACP,MAAM,gCACP,EACF;EACF,EACF;CACF;AAED,MAAa,6BAA6B;CACxC,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,OAAO;GACL,MAAM;GACN,OAAO,EACL,MAAM,6BACP;GACF,EACF;EACF,EACF;CACF;AAED,MAAa,sBAAsB;CACjC,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,UAAU,CAAC,QAAQ;EACnB,YAAY,EACV,OAAO;GACL,MAAM;GACN,OAAO,EACL,MAAM,6BACP;GACF,EACF;EACF,EACF;CACF;AAED,MAAa,+BAA+B;CAC1C,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,UAAU,CAAC,SAAS,aAAa;EACjC,YAAY;GACV,OAAO;IACL,MAAM;IACN,OAAO,EACL,MAAM,6BACP;IACF;GACD,YAAY,EACV,MAAM,WACP;GACF;EACF,EACF;CACF;AAED,MAAa,iBAAiB;CAC5B,MAAM;CACN,sBAAsB;CACvB;AAED,MAAa,0BAA0B;CACrC,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,QAAQ;GACN,MAAM;GACN,OAAO,EACL,MAAM,iCACP;GACF,EACF;EACF,EACF;CACF;AAED,MAAa,+BAA+B;CAC1C,MAAM;CACN,YAAY,EAAE;CACd,aAAa;CACd;AAED,MAAa,gBAAgB;CAC3B,MAAM;CACN,YAAY;EACV,QAAQ;GACN,MAAM;GACN,aAAa;GACd;EACD,MAAM;GACJ,MAAM;GACN,aAAa;GACd;EACD,SAAS;GACP,MAAM;GACN,aAAa;GACd;EACD,SAAS;GACP,MAAM;GACN,aAAa;GACd;EACD,QAAQ,EACN,MAAM,6BACP;EACD,uBAAuB;GACrB,MAAM;GACN,aAAa;GACd;EACD,IAAI;GACF,MAAM;GACN,aAAa;GACd;EACD,SAAS;GACP,MAAM;GACN,aAAa;GACd;EACD,UAAU;GACR,MAAM;GACN,aAAa;GACd;EACD,aAAa;GACX,MAAM;GACN,aAAa;GACd;EACD,gBAAgB;GACd,MAAM;GACN,aAAa;GACd;EACD,uBAAuB;GACrB,MAAM;GACN,aAAa;GACd;EACD,cAAc;GACZ,MAAM;GACN,aAAa;GACd;EACD,UAAU;GACR,MAAM;GACN,aAAa;GACd;EACD,aAAa;GACX,MAAM;GACN,aAAa;GACd;EACD,SAAS;GACP,MAAM;GACN,aAAa;GACd;EACD,cAAc;GACZ,MAAM;GACN,aAAa;GACd;EACD,iBAAiB;GACf,MAAM;GACN,aAAa;GACd;EACD,MAAM;GACJ,MAAM;GACN,OAAO,EACL,MAAM,UACP;GACD,aAAa;GACd;EACD,gBAAgB;GACd,MAAM;GACN,OAAO,EACL,MAAM,UACP;GACD,aAAa;GACd;EACD,SAAS;GACP,MAAM;GACN,aAAa;GACd;EACD,SAAS;GACP,MAAM;GACN,aAAa;GACd;EACD,eAAe;GACb,MAAM;GACN,aAAa;GACd;EACD,YAAY;GACV,MAAM;GACN,aAAa;GACd;EACD,sBAAsB;GACpB,MAAM;GACN,OAAO,EACL,MAAM,UACP;GACD,aAAa;GACd;EACD,gBAAgB;GACd,MAAM;GACN,OAAO,EACL,MAAM,UACP;GACD,aAAa;GACd;EACD,eAAe,EACb,MAAM,+CACP;EACF;CACF;AAED,MAAa,sBAAsB;CACjC,MAAM;CACN,YAAY;EACV,MAAM;GACJ,MAAM;GACN,aAAa;GACd;EACD,SAAS,EACP,MAAM,gCACP;EACD,eAAe;GACb,MAAM;GACN,aAAa;GACd;EACF;CACF;AAED,MAAa,4BAA4B;CACvC,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY;GACV,UAAU;IACR,MAAM;IACN,OAAO,EACL,MAAM,sCACP;IACF;GACD,MAAM,EACJ,MAAM,yCACP;GACF;EACF,EACF;CACF;AAED,MAAa,wBAAwB;CACnC,MAAM;CACN,YAAY;EACV,KAAK,EACH,MAAM,WACP;EACD,SAAS,EACP,MAAM,UACP;EACD,WAAW,EACT,MAAM,WACP;EACD,SAAS,EACP,MAAM,UACP;EACD,UAAU,EACR,MAAM,UACP;EACD,WAAW,EACT,MAAM,WACP;EACD,QAAQ;GACN,MAAM;GACN,OAAO,EACL,MAAM,UACP;GACF;EACF;CACF;AAED,MAAa,+BAA+B;CAC1C,MAAM;CACN,YAAY;EACV,UAAU,EACR,MAAM,WACP;EACD,QAAQ,EACN,MAAM,WACP;EACD,eAAe,EACb,MAAM,WACP;EACF;CACF;AAED,MAAa,qBAAqB;CAChC,MAAM;CACN,UAAU,CAAC,WAAW,aAAa;CACnC,YAAY;EACV,SAAS,EACP,MAAM,UACP;EACD,YAAY,EACV,MAAM,+CACP;EACF;CACF;AAED,MAAa,8BAA8B;CACzC,MAAM;CACN,UAAU,CAAC,WAAW,SAAS;CAC/B,YAAY;EACV,SAAS,EACP,MAAM,WACP;EACD,QAAQ;GACN,MAAM;GACN,UAAU,CAAC,YAAY,gBAAgB;GACvC,YAAY;IACV,UAAU;KACR,MAAM;KACN,OAAO,EACL,MAAM,UACP;KACF;IACD,eAAe;KACb,MAAM;KACN,OAAO,EACL,MAAM,qCACP;KACF;IACF;GACF;EACF;CACF;AAED,MAAa,yBAAyB;CACpC,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,UAAU;GACR,MAAM;GACN,SAAS;GACV,EACF;EACF,EACF;CACF;AAED,MAAa,6BAA6B;CACxC,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,sBAAsB;EACvB,EACF;CACF;AAED,MAAa,8BAA8B;CACzC,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,OAAO;GACL,MAAM;GACN,OAAO,EACL,MAAM,6BACP;GACF,EACF;EACF,EACF;CACF;AAED,MAAa,kBAAkB;CAC7B,MAAM;CACN,YAAY;EACV,MAAM,EACJ,MAAM,UACP;EACD,YAAY,EACV,MAAM,UACP;EACD,cAAc;GACZ,MAAM;GACN,YAAY;IACV,MAAM,EACJ,MAAM,UACP;IACD,KAAK,EACH,MAAM,UACP;IACF;GACF;EACD,QAAQ,EACN,MAAM,6BACP;EACD,MAAM,EACJ,MAAM,UACP;EACD,WAAW,EACT,MAAM,WACP;EACF;CACF;AAED,MAAa,2BAA2B;CACtC,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,QAAQ;GACN,MAAM;GACN,OAAO,EACL,MAAM,kCACP;GACF,EACF;EACF,EACF;CACF;AAED,MAAa,mCAAmC;CAC9C,MAAM;CACN,UAAU,CAAC,SAAS;CACpB,YAAY,EACV,QAAQ;EACN,MAAM;EACN,UAAU,CAAC,OAAO;EAClB,YAAY,EACV,MAAM,EACJ,MAAM,6BACP,EACF;EACF,EACF;CACF;AAED,MAAa,+BAA+B;CAC1C,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,UAAU;GACR,MAAM;GACN,OAAO,EACL,MAAM,gCACP;GACF,EACF;EACF,EACF;CACF;AAED,MAAa,uBAAuB;CAClC,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,QAAQ;GACN,MAAM;GACN,OAAO,EAAE;GACV,EACF;EACF,EACF;CACF;AAED,MAAa,kBAAkB;CAC7B,MAAM;CACN,YAAY;EACV,MAAM,EACJ,MAAM,UACP;EACD,QAAQ;GACN,MAAM;GACN,OAAO,EAAE;GACV;EACF;CACF;AAED,MAAa,cAAc;CACzB,MAAM;CACN,YAAY;EACV,SAAS,EACP,MAAM,UACP;EACD,OAAO;GACL,MAAM;GACN,OAAO,EACL,MAAM,kCACP;GACF;EACF;CACF;AAED,MAAa,6BAA6B;CACxC,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,OAAO,EACL,MAAM,8BACP,EACF;EACF,EACF;CACF;AAED,MAAa,4BAA4B;CACvC,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,MAAM,EACJ,MAAM,6BACP,EACF;EACF,EACF;CACF;AAED,MAAa,mBAAmB;CAC9B,MAAM;CACN,YAAY;EACV,IAAI,EACF,MAAM,UACP;EACD,KAAK,EACH,MAAM,UACP;EACD,MAAM,EACJ,MAAM,UACP;EACD,aAAa,EACX,MAAM,UACP;EACD,qBAAqB;GACnB,MAAM;GACN,OAAO,EACL,MAAM,WACP;GACF;EACD,8BAA8B;GAC5B,MAAM;GACN,OAAO,EACL,MAAM,WACP;GACF;EACD,UAAU,EACR,MAAM,UACP;EACD,gBAAgB,EACd,MAAM,UACP;EACD,SAAS,EACP,MAAM,WACP;EACD,eAAe;GACb,MAAM;GACN,OAAO,EACL,MAAM,WACP;GACF;EACD,WAAW,EACT,MAAM,WACP;EACD,eAAe,EACb,MAAM,WACP;EACD,aAAa,EACX,MAAM,WACP;EACD,gBAAgB,EACd,MAAM,UACP;EACD,eAAe,EACb,MAAM,WACP;EACD,cAAc;GACZ,MAAM;GACN,YAAY;IACV,OAAO,EACL,MAAM,UACP;IACD,KAAK,EACH,MAAM,UACP;IACF;GACF;EACF;CACF;AAED,MAAa,4BAA4B;CACvC,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,UAAU;GACR,MAAM;GACN,OAAO,EACL,MAAM,mCACP;GACF,EACF;EACF,EACF;CACF;AAED,MAAa,2BAA2B;CACtC,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,SAAS,EACP,MAAM,mCACP,EACF;EACF,EACF;CACF;AAED,MAAa,wBAAwB;CACnC,MAAM;CACN,YAAY;EACV,KAAK,EACH,MAAM,WACP;EACD,YAAY,EACV,MAAM,WACP;EACF;CACF;AAED,MAAa,iCAAiC,EAC5C,OAAO,CACL,EACE,MAAM,0CACP,EACD;CACE,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,OAAO;GACL,MAAM;GACN,OAAO,EACL,MAAM,wCACP;GACF,EACF;EACF,EACF;CACF,CACF,EACF;AAED,MAAa,4BAA4B;CACvC,MAAM;CACN,YAAY;EACV,WAAW,EACT,MAAM,WACP;EACD,YAAY,EACV,MAAM,WACP;EACF;CACF;AAED,MAAa,oCAAoC;CAC/C,MAAM;CACN,YAAY,EACV,QAAQ,EACN,MAAM,4CACP,EACF;CACF;AAED,MAAa,eAAe;CAC1B,MAAM;CACN,YAAY;EACV,MAAM,EACJ,MAAM,UACP;EACD,MAAM,EACJ,MAAM,UACP;EACD,aAAa,EACX,MAAM,UACP;EACD,UAAU;GACR,MAAM;GACN,QAAQ;GACT;EACD,UAAU;GACR,MAAM;GACN,QAAQ;GACT;EACD,WAAW;GACT,MAAM;GACN,QAAQ;GACT;EACD,QAAQ;GACN,MAAM;GACN,YAAY;IACV,YAAY;KACV,MAAM;KACN,MAAM;MAAC;MAAQ;MAAO;MAAO;MAAS;KACvC;IACD,SAAS;KACP,MAAM;KACN,QAAQ;KACT;IACF;GACF;EACF;CACF;AAED,MAAa,eAAe;CAC1B,MAAM;CACN,YAAY;EACV,KAAK;GACH,MAAM;GACN,aAAa;GACd;EACD,QAAQ;GACN,MAAM;GACN,aAAa;GACd;EACD,WAAW;GACT,MAAM;GACN,aAAa;GACd;EACD,OAAO;GACL,MAAM;GACN,aAAa;GACd;EACD,MAAM;GACJ,MAAM;GACN,aAAa;GACd;EACD,aAAa;GACX,MAAM;GACN,aAAa;GACd;EACD,eAAe;GACb,MAAM;GACN,aAAa;GACd;EACF;CACF;AAED,MAAa,cAAc;CACzB,MAAM;CACN,YAAY;EACV,QAAQ,EACN,MAAM,UACP;EACD,MAAM,EACJ,MAAM,UACP;EACD,SAAS,EACP,MAAM,UACP;EACD,SAAS,EACP,MAAM,UACP;EACD,gBAAgB,EACd,MAAM,UACP;EACD,uBAAuB,EACrB,MAAM,UACP;EACD,aAAa,EACX,MAAM,CAAC,UAAU,OAAO,EACzB;EACD,UAAU,EACR,MAAM,CAAC,UAAU,OAAO,EACzB;EACD,uBAAuB,EACrB,MAAM,WACP;EACD,eAAe;GACb,MAAM;GACN,sBAAsB;GACvB;EACD,QAAQ,EACN,MAAM,6BACP;EACF;CACF;AAED,MAAa,6BAA6B;CACxC,MAAM;CACN,YAAY,EACV,QAAQ;EACN,MAAM;EACN,YAAY,EACV,QAAQ;GACN,MAAM;GACN,OAAO,EACL,MAAM,8BACP;GACF,EACF;EACF,EACF;CACF;AAED,MAAa,eAAe;CAC1B,MAAM;CACN,UAAU;EAAC;EAAM;EAAa;EAAa;EAAO;EAAc;CAChE,YAAY;EACV,IAAI;GACF,MAAM;GACN,QAAQ;GACR,aAAa;GACd;EACD,WAAW;GACT,MAAM;GACN,QAAQ;GACR,aACE;GACH;EACD,WAAW;GACT,MAAM;GACN,QAAQ;GACR,aACE;GACH;EACD,WAAW;GACT,MAAM,CAAC,UAAU,OAAO;GACxB,QAAQ;GACR,aACE;GACH;EACD,KAAK;G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"}