{"version":3,"file":"useMutation.cjs","sources":["../../../../src/react/hooks/useMutation.ts"],"sourcesContent":["import type { TypedDocumentNode } from \"@graphql-typed-document-node/core\";\nimport { equal } from \"@wry/equality\";\nimport * as React from \"react\";\n\nimport type {\n  ApolloCache,\n  ApolloClient,\n  DefaultContext,\n  DocumentNode,\n  ErrorLike,\n  ErrorPolicy,\n  InternalRefetchQueriesInclude,\n  MaybeMasked,\n  MutationFetchPolicy,\n  MutationQueryReducersMap,\n  MutationUpdaterFunction,\n  NormalizedExecutionResult,\n  OnQueryUpdated,\n  OperationVariables,\n  Unmasked,\n} from \"@apollo/client\";\nimport type { IgnoreModifier } from \"@apollo/client/cache\";\nimport type {\n  LazyType,\n  NoInfer,\n  Prettify,\n  SignatureStyle,\n} from \"@apollo/client/utilities/internal\";\nimport {\n  mergeOptions,\n  preventUnhandledRejection,\n} from \"@apollo/client/utilities/internal\";\n\nimport { useIsomorphicLayoutEffect } from \"./internal/useIsomorphicLayoutEffect.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\n\ntype MakeRequiredVariablesOptional<\n  TVariables extends OperationVariables,\n  TConfiguredVariables extends Partial<TVariables>,\n> = Prettify<\n  {\n    [K in keyof TVariables as K extends keyof TConfiguredVariables ? K\n    : never]?: TVariables[K];\n  } & Omit<TVariables, keyof TConfiguredVariables>\n>;\n\n// Extract the `variables` value from an inferred `TOptions`. We use a keyof\n// guard (rather than `TOptions extends { variables: infer V }`) because\n// `variables` in the modern signature's constraint is declared optional, so\n// the `extends { variables: infer V }` form fails to match when the user\n// passes a complex options object that gets widened to include the optional\n// modifier. `TOptions[\"variables\"]` works for both required and optional\n// `variables` entries.\ntype ExtractConfiguredVariables<\n  TOptions,\n  TVariables extends OperationVariables,\n> = \"variables\" extends keyof TOptions ?\n  Exclude<TOptions[\"variables\"], undefined> extends infer V ?\n    [V] extends [never] ? {}\n    : V extends Partial<TVariables> ? V\n    : {}\n  : {}\n: {};\n\nexport declare namespace useMutation {\n  export interface Options<\n    TData = unknown,\n    TVariables extends OperationVariables = OperationVariables,\n    TCache extends ApolloCache = ApolloCache,\n    TConfiguredVariables extends Partial<TVariables> = Partial<TVariables>,\n  > {\n    /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#optimisticResponse:member} */\n    optimisticResponse?:\n      | Unmasked<NoInfer<TData>>\n      | ((\n          vars: TVariables,\n          { IGNORE }: { IGNORE: IgnoreModifier }\n        ) => Unmasked<NoInfer<TData>> | IgnoreModifier);\n\n    /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#updateQueries:member} */\n    updateQueries?: MutationQueryReducersMap<TData>;\n\n    /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#refetchQueries:member} */\n    refetchQueries?:\n      | ((\n          result: NormalizedExecutionResult<Unmasked<TData>>\n        ) => InternalRefetchQueriesInclude)\n      | InternalRefetchQueriesInclude;\n\n    /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#awaitRefetchQueries:member} */\n    awaitRefetchQueries?: boolean;\n\n    /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#update:member} */\n    update?: MutationUpdaterFunction<TData, TVariables, TCache>;\n\n    /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#onQueryUpdated:member} */\n    onQueryUpdated?: OnQueryUpdated<any>;\n\n    /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#errorPolicy:member} */\n    errorPolicy?: ErrorPolicy;\n\n    /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#variables:member} */\n    variables?: Partial<TVariables> & TConfiguredVariables;\n\n    /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#context:member} */\n    context?: DefaultContext;\n\n    /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#fetchPolicy:member} */\n    fetchPolicy?: MutationFetchPolicy;\n\n    /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#keepRootFields:member} */\n    keepRootFields?: boolean;\n\n    /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#client:member} */\n    client?: ApolloClient;\n\n    /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#notifyOnNetworkStatusChange:member} */\n    notifyOnNetworkStatusChange?: boolean;\n\n    /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#onCompleted:member} */\n    onCompleted?: (\n      data: MaybeMasked<TData>,\n      clientOptions?: Options<TData, TVariables, TCache>\n    ) => void;\n\n    /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#onError:member} */\n    onError?: (\n      error: ErrorLike,\n      clientOptions?: Options<TData, TVariables, TCache>\n    ) => void;\n  }\n\n  export namespace Base {\n    export interface Result {\n      /** {@inheritDoc @apollo/client!MutationResultDocumentation#loading:member} */\n      loading: boolean;\n\n      /** {@inheritDoc @apollo/client!MutationResultDocumentation#called:member} */\n      called: boolean;\n\n      /** {@inheritDoc @apollo/client!MutationResultDocumentation#client:member} */\n      client: ApolloClient;\n\n      /** {@inheritDoc @apollo/client!MutationResultDocumentation#reset:member} */\n      reset: () => void;\n    }\n  }\n\n  /**\n   * Maps `errorPolicy` to the shape of `data` and `error` as observable from\n   * the hook result state.\n   *\n   * The hook has additional states (before call, during loading) where `data`\n   * and `error` are `undefined`, so `data` remains nullable even on error\n   * policies that would otherwise guarantee it. Only `error` is narrowed away\n   * for `\"ignore\"`, since the underlying `client.mutate` promise never rejects\n   * and never resolves with an error for that policy.\n   */\n  export type ResultStateMap<TData = unknown> = {\n    none: {\n      /** {@inheritDoc @apollo/client!MutationResultDocumentation#data:member} */\n      data: MaybeMasked<TData> | null | undefined;\n\n      /** {@inheritDoc @apollo/client!MutationResultDocumentation#error:member} */\n      error: ErrorLike | undefined;\n    };\n    all: {\n      /** {@inheritDoc @apollo/client!MutationResultDocumentation#data:member} */\n      data: MaybeMasked<TData> | null | undefined;\n\n      /** {@inheritDoc @apollo/client!MutationResultDocumentation#error:member} */\n      error: ErrorLike | undefined;\n    };\n    ignore: {\n      /** {@inheritDoc @apollo/client!MutationResultDocumentation#data:member} */\n      data: MaybeMasked<TData> | null | undefined;\n\n      /** {@inheritDoc @apollo/client!MutationResultDocumentation#error:member} */\n      error: undefined;\n    };\n    undefined: {\n      /** {@inheritDoc @apollo/client!MutationResultDocumentation#data:member} */\n      data: MaybeMasked<TData> | null | undefined;\n\n      /** {@inheritDoc @apollo/client!MutationResultDocumentation#error:member} */\n      error: ErrorLike | undefined;\n    };\n  };\n\n  export type Result<\n    TData = unknown,\n    TErrorPolicy extends ErrorPolicy | undefined = undefined,\n  > = Base.Result & ResultStateMap<TData>[`${TErrorPolicy}`];\n\n  export namespace DocumentationTypes {\n    namespace useMutation {\n      export interface Result<TData = unknown> extends Base.Result {\n        /** {@inheritDoc @apollo/client!MutationResultDocumentation#data:member} */\n        data: MaybeMasked<TData> | null | undefined;\n\n        /** {@inheritDoc @apollo/client!MutationResultDocumentation#error:member} */\n        error: ErrorLike | undefined;\n      }\n    }\n  }\n\n  export type ResultTuple<\n    TData,\n    TVariables extends OperationVariables,\n    TCache extends ApolloCache = ApolloCache,\n    TErrorPolicy extends ErrorPolicy | undefined = undefined,\n  > = [\n    mutate: MutationFunction<TData, TVariables, TCache, TErrorPolicy>,\n    result: Result<TData, TErrorPolicy>,\n  ];\n\n  export type MutationFunction<\n    TData,\n    TVariables extends OperationVariables,\n    TCache extends ApolloCache = ApolloCache,\n    TErrorPolicy extends ErrorPolicy | undefined = undefined,\n  > = (\n    ...[options]: {} extends TVariables ?\n      [\n        options?: MutationFunctionOptions<TData, TVariables, TCache> & {\n          /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#variables:member} */\n          variables?: TVariables;\n        },\n      ]\n    : [\n        options: MutationFunctionOptions<TData, TVariables, TCache> & {\n          /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#variables:member} */\n          variables: TVariables;\n        },\n      ]\n  ) => Promise<ApolloClient.MutateResult<MaybeMasked<TData>, TErrorPolicy>>;\n\n  export type MutationFunctionOptions<\n    TData = unknown,\n    TVariables extends OperationVariables = OperationVariables,\n    TCache extends ApolloCache = ApolloCache,\n  > = Options<TData, TVariables, TCache> & {\n    /**\n     * {@inheritDoc @apollo/client!MutationOptionsDocumentation#context:member}\n     *\n     * @remarks\n     * When provided as a callback function, the function is called with the\n     * value of `context` provided to the `useMutation` hook.\n     */\n    context?:\n      | DefaultContext\n      | ((hookContext: DefaultContext | undefined) => DefaultContext);\n  };\n\n  export interface DefaultOptions\n    extends ApolloClient.DefaultOptions.Mutate.Calculated {}\n\n  export type ResultForOptions<\n    TData,\n    TVariables extends OperationVariables,\n    TCache extends ApolloCache,\n    TOptions extends Record<string, never> | Options<TData, TVariables, TCache>,\n    TErrorPolicy extends ErrorPolicy | undefined = undefined,\n  > = LazyType<\n    ResultTuple<\n      TData,\n      MakeRequiredVariablesOptional<\n        TVariables,\n        ExtractConfiguredVariables<TOptions, TVariables>\n      >,\n      TCache,\n      [TErrorPolicy] extends [undefined] ?\n        DefaultOptions extends { errorPolicy: infer D } ?\n          D\n        : undefined\n      : TErrorPolicy\n    >\n  >;\n\n  export namespace DocumentationTypes {\n    /**\n     * > Refer to the [Mutations](https://www.apollographql.com/docs/react/data/mutations/) section for a more in-depth overview of `useMutation`.\n     *\n     * @example\n     *\n     * ```jsx\n     * import { gql, useMutation } from \"@apollo/client\";\n     *\n     * const ADD_TODO = gql`\n     *   mutation AddTodo($type: String!) {\n     *     addTodo(type: $type) {\n     *       id\n     *       type\n     *     }\n     *   }\n     * `;\n     *\n     * function AddTodo() {\n     *   let input;\n     *   const [addTodo, { data }] = useMutation(ADD_TODO);\n     *\n     *   return (\n     *     <div>\n     *       <form\n     *         onSubmit={(e) => {\n     *           e.preventDefault();\n     *           addTodo({ variables: { type: input.value } });\n     *           input.value = \"\";\n     *         }}\n     *       >\n     *         <input\n     *           ref={(node) => {\n     *             input = node;\n     *           }}\n     *         />\n     *         <button type=\"submit\">Add Todo</button>\n     *       </form>\n     *     </div>\n     *   );\n     * }\n     * ```\n     *\n     * @param mutation - A GraphQL mutation document parsed into an AST by `gql`.\n     * @param options - Options to control how the mutation is executed.\n     * @returns A tuple in the form of `[mutate, result]`\n     */\n    export interface useMutation {\n      <\n        TData = unknown,\n        TVariables extends OperationVariables = OperationVariables,\n      >(\n        mutation: DocumentNode | TypedDocumentNode<TData, TVariables>,\n        options?: Options<TData, TVariables>\n      ): ResultTuple<TData, TVariables>;\n    }\n  }\n\n  export namespace Signatures {\n    /** {@inheritDoc @apollo/client/react!useMutation.DocumentationTypes.useMutation:call(1)} */\n    export interface Classic {\n      // _INFERENCE_ONLY_DO_NOT_SPECIFY is used to distinguish between inferred\n      // generics arguments and explicit generic arguments so that we can\n      // provide a `@deprecated` signature for explicit generic arguments. As\n      // soon as a user provides a generic arg (e.g. useMutation<TData>(mutation))`,\n      // the overload falls through to the overloads without\n      // _INFERENCE_ONLY_DO_NOT_SPECIFY.\n\n      /** {@inheritDoc @apollo/client/react!useMutation.DocumentationTypes.useMutation:call(1)} */\n      <\n        TData,\n        TVariables extends OperationVariables,\n        _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n        TConfiguredVariables extends Partial<TVariables> = {},\n        TErrorPolicy extends ErrorPolicy | undefined = undefined,\n      >(\n        mutation: DocumentNode | TypedDocumentNode<TData, TVariables>,\n        options?: useMutation.Options<\n          NoInfer<TData>,\n          NoInfer<TVariables>,\n          ApolloCache,\n          {\n            [K in keyof TConfiguredVariables]: K extends keyof TVariables ?\n              TConfiguredVariables[K]\n            : never;\n          }\n        > & {\n          /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#errorPolicy:member} */\n          errorPolicy?: TErrorPolicy;\n        }\n      ): useMutation.ResultTuple<\n        TData,\n        MakeRequiredVariablesOptional<TVariables, TConfiguredVariables>,\n        ApolloCache,\n        TErrorPolicy\n      >;\n\n      /**\n       * @deprecated Avoid manually specifying generics on `useMutation`.\n       * Instead, rely on TypeScript's type inference along with a correctly typed `TypedDocumentNode` to get accurate types for your mutation results.\n       *\n       * {@inheritDoc @apollo/client/react!useMutation.DocumentationTypes.useMutation:call(1)}\n       */\n      <\n        TData,\n        TVariables extends OperationVariables = OperationVariables,\n        TCache extends ApolloCache = ApolloCache,\n        TConfiguredVariables extends Partial<TVariables> = {},\n        TErrorPolicy extends ErrorPolicy | undefined = undefined,\n      >(\n        mutation: DocumentNode | TypedDocumentNode<TData, TVariables>,\n        options?: useMutation.Options<\n          NoInfer<TData>,\n          NoInfer<TVariables>,\n          TCache,\n          {\n            [K in keyof TConfiguredVariables]: K extends keyof TVariables ?\n              TConfiguredVariables[K]\n            : never;\n          }\n        > &\n          (TErrorPolicy extends undefined ? {}\n          : {\n              /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#errorPolicy:member} */\n              errorPolicy: TErrorPolicy;\n            })\n      ): useMutation.ResultTuple<\n        TData,\n        MakeRequiredVariablesOptional<TVariables, TConfiguredVariables>,\n        TCache,\n        TErrorPolicy\n      >;\n    }\n\n    /** {@inheritDoc @apollo/client/react!useMutation.DocumentationTypes.useMutation:call(1)} */\n    export interface Modern {\n      /** {@inheritDoc @apollo/client/react!useMutation.DocumentationTypes.useMutation:call(1)} */\n      <\n        TData,\n        TVariables extends OperationVariables,\n        TCache extends ApolloCache,\n        // this overload should never be manually defined, it should always be inferred\n        TOptions extends never,\n      >(\n        mutation: DocumentNode | TypedDocumentNode<TData, TVariables>\n      ): useMutation.ResultForOptions<\n        TData,\n        TVariables,\n        TCache,\n        Record<string, never>\n      >;\n\n      /** {@inheritDoc @apollo/client/react!useMutation.DocumentationTypes.useMutation:call(1)} */\n      <\n        TData,\n        TVariables extends OperationVariables,\n        TCache extends ApolloCache,\n        // this overload should never be manually defined, it should always be inferred\n        TOptions extends useMutation.Options<\n          NoInfer<TData>,\n          NoInfer<TVariables>,\n          TCache\n        > & {\n          variables?: {\n            [K in Exclude<\n              keyof TOptions[\"variables\"],\n              keyof TVariables\n            >]?: never;\n          };\n        },\n        TErrorPolicy extends ErrorPolicy | undefined = undefined,\n      >(\n        mutation: DocumentNode | TypedDocumentNode<TData, TVariables>,\n        options?: TOptions & {\n          /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#errorPolicy:member} */\n          errorPolicy?: TErrorPolicy;\n        }\n      ): useMutation.ResultForOptions<\n        TData,\n        TVariables,\n        TCache,\n        TOptions,\n        TErrorPolicy\n      >;\n    }\n\n    export type Evaluated = SignatureStyle extends \"classic\" ? Classic : Modern;\n  }\n\n  /** {@inheritDoc @apollo/client/react!useMutation.DocumentationTypes.useMutation:call(1)} */\n  export interface Signature extends Signatures.Evaluated {}\n}\n\n/** {@inheritDoc @apollo/client/react!useMutation.DocumentationTypes.useMutation:call(1)} */\nexport const useMutation: useMutation.Signature = function useMutation<\n  TData = unknown,\n  TVariables extends OperationVariables = OperationVariables,\n  TCache extends ApolloCache = ApolloCache,\n  TConfiguredVariables extends Partial<TVariables> = {},\n>(\n  mutation: DocumentNode | TypedDocumentNode<TData, TVariables>,\n  options?: useMutation.Options<\n    NoInfer<TData>,\n    NoInfer<TVariables>,\n    TCache,\n    {\n      [K in keyof TConfiguredVariables]: K extends keyof TVariables ?\n        TConfiguredVariables[K]\n      : never;\n    }\n  >\n): useMutation.ResultTuple<\n  TData,\n  MakeRequiredVariablesOptional<TVariables, TConfiguredVariables>,\n  TCache\n> {\n  const client = useApolloClient(options?.client);\n  const [result, setResult] = React.useState<\n    Omit<useMutation.Result<TData>, \"reset\">\n  >(() => createInitialResult(client));\n\n  const ref = React.useRef({\n    result,\n    mutationId: 0,\n    isMounted: true,\n    client,\n    mutation,\n    options,\n  });\n\n  useIsomorphicLayoutEffect(() => {\n    Object.assign(ref.current, { client, options, mutation });\n  });\n\n  const execute = React.useCallback(\n    (\n      executeOptions: useMutation.MutationFunctionOptions<\n        TData,\n        TVariables,\n        TCache\n      > = {} as useMutation.MutationFunctionOptions<TData, TVariables, TCache>\n    ) => {\n      const { options, mutation } = ref.current;\n      const baseOptions = { ...options, mutation };\n      const client = executeOptions.client || ref.current.client;\n      const context =\n        typeof executeOptions.context === \"function\" ?\n          executeOptions.context(options?.context)\n        : executeOptions.context;\n\n      if (!ref.current.result.loading && ref.current.isMounted) {\n        setResult(\n          (ref.current.result = {\n            loading: true,\n            error: undefined,\n            data: undefined,\n            called: true,\n            client,\n          })\n        );\n      }\n\n      const mutationId = ++ref.current.mutationId;\n      const clientOptions = mergeOptions(baseOptions, {\n        ...executeOptions,\n        context,\n      } as any);\n\n      return preventUnhandledRejection(\n        client\n          .mutate(\n            clientOptions as ApolloClient.MutateOptions<\n              TData,\n              OperationVariables\n            >\n          )\n          .then(\n            (response) => {\n              const { data, error } = response;\n\n              const onError =\n                executeOptions.onError || ref.current.options?.onError;\n\n              if (error && onError) {\n                onError(error, clientOptions);\n              }\n\n              if (mutationId === ref.current.mutationId) {\n                const result = {\n                  called: true,\n                  loading: false,\n                  data,\n                  error,\n                  client,\n                };\n\n                if (\n                  ref.current.isMounted &&\n                  !equal(ref.current.result, result)\n                ) {\n                  setResult((ref.current.result = result));\n                }\n              }\n\n              const onCompleted =\n                executeOptions.onCompleted || ref.current.options?.onCompleted;\n\n              if (!error) {\n                onCompleted?.(response.data!, clientOptions);\n              }\n\n              return response;\n            },\n            (error) => {\n              if (\n                mutationId === ref.current.mutationId &&\n                ref.current.isMounted\n              ) {\n                const result = {\n                  loading: false,\n                  error,\n                  data: void 0,\n                  called: true,\n                  client,\n                };\n\n                if (!equal(ref.current.result, result)) {\n                  setResult((ref.current.result = result));\n                }\n              }\n\n              const onError =\n                executeOptions.onError || ref.current.options?.onError;\n\n              if (onError) {\n                onError(error, clientOptions);\n              }\n\n              throw error;\n            }\n          )\n      );\n    },\n    []\n  );\n\n  const reset = React.useCallback(() => {\n    if (ref.current.isMounted) {\n      const result = createInitialResult(ref.current.client);\n      Object.assign(ref.current, { mutationId: 0, result });\n      setResult(result);\n    }\n  }, []);\n\n  React.useEffect(() => {\n    const current = ref.current;\n    current.isMounted = true;\n\n    return () => {\n      current.isMounted = false;\n    };\n  }, []);\n\n  return [execute as any, { reset, ...result }];\n} as any;\n\nfunction createInitialResult(client: ApolloClient) {\n  return {\n    data: undefined,\n    error: undefined,\n    called: false,\n    loading: false,\n    client,\n  };\n}\n"],"names":[],"mappings":";;;;AACA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AA0BA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAKA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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"}