UNPKG

@apollo-orbit/angular

Version:

A fully-featured GraphQL client for Angular with modular state management.

1 lines 37.7 kB
{"version":3,"file":"apollo-orbit.angular.core.mjs","sources":["../../core/src/cacheEx.ts","../../core/src/result.ts","../../core/src/queryObservable.ts","../../core/src/utils.ts","../../core/src/apollo.ts","../../core/src/clientFactory.ts","../../core/src/map.ts","../../core/src/tokens.ts","../../core/src/providers.ts","../../core/src/types.ts","../../core/src/apollo-orbit.angular.core.ts"],"sourcesContent":["import { ApolloCache, MissingFieldError, OperationVariables as Variables } from '@apollo/client/core';\r\nimport { Observable } from 'rxjs';\r\nimport { PureQueryOptions } from './types';\r\n\r\nexport interface CacheWatchQueryOptions<T, V> extends PureQueryOptions<T, V> {\r\n optimistic?: boolean;\r\n immediate?: boolean;\r\n /**\r\n * If set to true, the observable will emit the partial data that is available in the cache.\r\n * If set to false, the observable will throw an error if the complete data is not available in the cache.\r\n * @default false\r\n */\r\n returnPartialData?: boolean;\r\n}\r\n\r\nexport interface CacheWatchQueryResult<T> {\r\n data: T;\r\n complete?: boolean;\r\n missing?: Array<MissingFieldError>;\r\n fromOptimisticTransaction?: boolean;\r\n}\r\n\r\nexport interface ApolloCacheEx<TCacheShape> extends ApolloCache<TCacheShape> {\r\n /**\r\n * Watches the cache store for the query document provided.\r\n */\r\n watchQuery<T = any, V extends Variables = Variables>(options: CacheWatchQueryOptions<T, V> & { returnPartialData?: false }): Observable<CacheWatchQueryResult<T>>;\r\n watchQuery<T = any, V extends Variables = Variables>(options: CacheWatchQueryOptions<T, V> & { returnPartialData: true }): Observable<CacheWatchQueryResult<T | undefined>>;\r\n watchQuery<T = any, V extends Variables = Variables>(options: CacheWatchQueryOptions<T, V> & { returnPartialData: boolean }): Observable<CacheWatchQueryResult<T>>;\r\n}\r\n\r\nexport function extendCache<TCacheShape>(cache: ApolloCache<TCacheShape>): ApolloCacheEx<TCacheShape> {\r\n return Object.defineProperties(cache, {\r\n watchQuery: {\r\n value: watchQuery,\r\n writable: false,\r\n configurable: false\r\n }\r\n }) as ApolloCacheEx<TCacheShape>;\r\n}\r\n\r\nfunction watchQuery<T, V>(\r\n this: ApolloCache<any>,\r\n options: CacheWatchQueryOptions<T, V>\r\n): Observable<CacheWatchQueryResult<T | undefined>> {\r\n const { immediate = true, optimistic = true } = options;\r\n return new Observable<CacheWatchQueryResult<T | undefined>>(\r\n subscriber => this.watch<T, V>({\r\n ...options,\r\n optimistic,\r\n immediate,\r\n callback: ({ result, ...rest }) => subscriber.next({ ...rest, data: result })\r\n }));\r\n}\r\n","import { ApolloError, ApolloQueryResult, FetchResult } from '@apollo/client/core';\r\nimport { GraphQLFormattedError } from 'graphql';\r\nimport { MutationResult, QueryResult, SubscriptionResult } from './types';\r\n\r\nexport function toQueryResult<T>({ errors, ...result }: ApolloQueryResult<T>): QueryResult<T> {\r\n return {\r\n ...result,\r\n error: getApolloError(errors, result.error)\r\n };\r\n}\r\n\r\nexport function toMutationResult<T, C>(fetchResult: FetchResult<T, C> | undefined, apolloError?: ApolloError): MutationResult<T, C> {\r\n fetchResult ??= {};\r\n const { errors, data, extensions } = fetchResult;\r\n const context = 'context' in fetchResult ? fetchResult.context : undefined;\r\n return {\r\n data: data ?? undefined,\r\n error: getApolloError(errors, apolloError),\r\n context,\r\n extensions\r\n };\r\n}\r\n\r\nexport function toSubscriptionResult<T, C>(fetchResult: FetchResult<T, C>): SubscriptionResult<T, C> {\r\n return toMutationResult(fetchResult);\r\n}\r\n\r\nfunction getApolloError(graphQLErrors: ReadonlyArray<GraphQLFormattedError> | undefined, apolloError: ApolloError | undefined): ApolloError | undefined {\r\n return graphQLErrors && graphQLErrors.length > 0 ? new ApolloError({ graphQLErrors }) : apolloError;\r\n}\r\n","import { ApolloError, ApolloQueryResult, WatchQueryOptions as CoreWatchQueryOptions, FetchMoreQueryOptions, NetworkStatus, ObservableQuery, OperationVariables, TypedDocumentNode, OperationVariables as Variables } from '@apollo/client/core';\r\nimport { Concast, ObservableSubscription, Observer } from '@apollo/client/utilities';\r\nimport { Observable } from 'rxjs';\r\nimport { toQueryResult } from './result';\r\nimport { ExtraWatchQueryOptions, QueryResult, SubscribeToMoreOptions } from './types';\r\n\r\nexport class QueryObservable<TData = any, TVariables extends Variables = Variables> extends Observable<QueryResult<TData>> {\r\n private previousData: TData | undefined;\r\n\r\n public constructor(\r\n private readonly observableQuery: ObservableQuery<TData, TVariables>,\r\n { notifyOnLoading = true, throwError = false }: ExtraWatchQueryOptions\r\n ) {\r\n super(subscriber => {\r\n let subscription: ObservableSubscription | undefined;\r\n\r\n if (notifyOnLoading) {\r\n // on calling getCurrentResult apollo client sets lastResult based on fetchPolicy\r\n // when lastResult is present, apollo client emits value on subscription\r\n // otherwise, it is emitted here instead\r\n const currentResult = this.getCurrentResult();\r\n const lastResult = observableQuery.getLastResult();\r\n if (!lastResult) {\r\n const { previousData } = this;\r\n subscriber.next({ ...currentResult, previousData });\r\n this.previousData = currentResult.data ?? previousData;\r\n }\r\n }\r\n\r\n const observer: Observer<ApolloQueryResult<TData>> = {\r\n next: () => {\r\n const currentResult = this.getCurrentResult();\r\n const { previousData } = this;\r\n subscriber.next({ ...currentResult, previousData });\r\n this.previousData = currentResult.data ?? previousData;\r\n },\r\n error: error => {\r\n subscription = undefined;\r\n if (throwError) {\r\n subscriber.error(error);\r\n } else {\r\n const currentResult = this.getCurrentResult();\r\n const { previousData } = this;\r\n subscriber.next({ ...currentResult, previousData });\r\n this.previousData = currentResult.data ?? previousData;\r\n subscription = observableQuery.resubscribeAfterError(observer);\r\n }\r\n },\r\n complete: () => {\r\n subscription = undefined;\r\n subscriber.complete();\r\n }\r\n };\r\n\r\n subscription = observableQuery.subscribe(observer);\r\n\r\n return () => subscription?.unsubscribe();\r\n });\r\n }\r\n\r\n public get query(): TypedDocumentNode<TData, TVariables> {\r\n return this.observableQuery.query;\r\n }\r\n\r\n public get variables(): TVariables | undefined {\r\n return this.observableQuery.variables;\r\n }\r\n\r\n public get options(): CoreWatchQueryOptions<TVariables> {\r\n return this.observableQuery.options;\r\n }\r\n\r\n public get queryId(): string {\r\n return this.observableQuery.queryId;\r\n }\r\n\r\n public get queryName(): string | undefined {\r\n return this.observableQuery.queryName;\r\n }\r\n\r\n public result(): Promise<ApolloQueryResult<TData>> {\r\n return this.observableQuery.result();\r\n }\r\n\r\n public getCurrentResult(saveAsLastResult = true): QueryResult<TData> {\r\n return toQueryResult(this.observableQuery.getCurrentResult(saveAsLastResult));\r\n }\r\n\r\n // Compares newResult to the snapshot we took of this.lastResult when it was\r\n // first received.\r\n public isDifferentFromLastResult(newResult: ApolloQueryResult<TData>, variables?: TVariables): boolean | undefined {\r\n return this.observableQuery.isDifferentFromLastResult(newResult, variables);\r\n }\r\n\r\n public getLastResult(variablesMustMatch?: boolean): ApolloQueryResult<TData> | undefined {\r\n return this.observableQuery.getLastResult(variablesMustMatch);\r\n }\r\n\r\n public getLastError(variablesMustMatch?: boolean): ApolloError | undefined {\r\n return this.observableQuery.getLastError(variablesMustMatch);\r\n }\r\n\r\n public resetLastResults(): void {\r\n this.observableQuery.resetLastResults();\r\n }\r\n\r\n public resetQueryStoreErrors(): void {\r\n this.observableQuery.resetQueryStoreErrors();\r\n }\r\n\r\n /**\r\n * Update the variables of this observable query, and fetch the new results.\r\n * This method should be preferred over `setVariables` in most use cases.\r\n *\r\n * @param variables: The new set of variables. If there are missing variables,\r\n * the previous values of those variables will be used.\r\n */\r\n public refetch(variables?: Partial<TVariables>): Promise<ApolloQueryResult<TData>> {\r\n return this.observableQuery.refetch(variables);\r\n }\r\n\r\n public fetchMore<\r\n TFetchData = TData,\r\n TFetchVars extends OperationVariables = TVariables,\r\n >(\r\n fetchMoreOptions:\r\n & FetchMoreQueryOptions<TFetchVars, TFetchData>\r\n & {\r\n updateQuery?: (\r\n previousQueryResult: TData,\r\n options: {\r\n fetchMoreResult: TFetchData;\r\n variables: TFetchVars;\r\n }\r\n ) => TData;\r\n }\r\n ): Promise<ApolloQueryResult<TFetchData>> {\r\n return this.observableQuery.fetchMore(fetchMoreOptions);\r\n }\r\n\r\n public subscribeToMore<\r\n TSubscriptionData = TData,\r\n TSubscriptionVariables extends Variables = TVariables\r\n >(\r\n options: SubscribeToMoreOptions<\r\n TData,\r\n TSubscriptionVariables,\r\n TSubscriptionData\r\n >\r\n ): () => void {\r\n const { query: document, ...rest } = options;\r\n return this.observableQuery.subscribeToMore({ document, ...rest });\r\n }\r\n\r\n public setOptions(newOptions: Partial<CoreWatchQueryOptions<TVariables, TData>>): Promise<ApolloQueryResult<TData>> {\r\n return this.observableQuery.setOptions(newOptions);\r\n }\r\n\r\n public silentSetOptions(newOptions: Partial<CoreWatchQueryOptions<TVariables, TData>>): void {\r\n this.observableQuery.silentSetOptions(newOptions);\r\n }\r\n\r\n /**\r\n * Update the variables of this observable query, and fetch the new results\r\n * if they've changed. Most users should prefer `refetch` instead of\r\n * `setVariables` in order to to be properly notified of results even when\r\n * they come from the cache.\r\n *\r\n * Note: the `next` callback will *not* fire if the variables have not changed\r\n * or if the result is coming from cache.\r\n *\r\n * Note: the promise will return the old results immediately if the variables\r\n * have not changed.\r\n *\r\n * Note: the promise will return null immediately if the query is not active\r\n * (there are no subscribers).\r\n *\r\n * @private\r\n *\r\n * @param variables: The new set of variables. If there are missing variables,\r\n * the previous values of those variables will be used.\r\n */\r\n public setVariables(variables: TVariables): Promise<ApolloQueryResult<TData> | void> {\r\n return this.observableQuery.setVariables(variables);\r\n }\r\n\r\n public updateQuery<TVars extends Variables = TVariables>(\r\n mapFn: (\r\n previousQueryResult: TData,\r\n options: Pick<CoreWatchQueryOptions<TVars, TData>, 'variables'>\r\n ) => TData\r\n ): void {\r\n return this.observableQuery.updateQuery(mapFn);\r\n }\r\n\r\n public startPolling(pollInterval: number): void {\r\n this.observableQuery.startPolling(pollInterval);\r\n }\r\n\r\n public stopPolling(): void {\r\n return this.observableQuery.stopPolling();\r\n }\r\n\r\n public reobserveAsConcast(\r\n newOptions?: Partial<CoreWatchQueryOptions<TVariables, TData>>,\r\n newNetworkStatus?: NetworkStatus\r\n ): Concast<ApolloQueryResult<TData>> {\r\n return this.observableQuery.reobserveAsConcast(newOptions, newNetworkStatus);\r\n }\r\n\r\n public reobserve(\r\n newOptions?: Partial<CoreWatchQueryOptions<TVariables, TData>>,\r\n newNetworkStatus?: NetworkStatus\r\n ): Promise<ApolloQueryResult<TData>> {\r\n return this.observableQuery.reobserve(newOptions, newNetworkStatus);\r\n }\r\n\r\n public resubscribeAfterError(\r\n onNext: (value: ApolloQueryResult<TData>) => void,\r\n onError?: (error: any) => void,\r\n onComplete?: () => void\r\n ): ObservableSubscription;\r\n\r\n public resubscribeAfterError(\r\n observer: Observer<ApolloQueryResult<TData>>\r\n ): ObservableSubscription;\r\n\r\n public resubscribeAfterError(...args: [any, any?, any?]): ObservableSubscription {\r\n return this.observableQuery.resubscribeAfterError(...args);\r\n }\r\n\r\n public hasObservers(): boolean {\r\n return this.observableQuery.hasObservers();\r\n }\r\n}\r\n","import { Observable as ZenObservable } from '@apollo/client/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport const fromZenObservable = <T>(source: ZenObservable<T>): Observable<T> => new Observable(source.subscribe.bind(source));\r\n","/* eslint-disable max-len */\r\nimport { Injectable } from '@angular/core';\r\nimport { ApolloClient, ApolloError, MutationOptions, NetworkStatus, SubscriptionOptions, OperationVariables as Variables, WatchFragmentOptions, WatchFragmentResult } from '@apollo/client/core';\r\nimport { Observable, defer, of } from 'rxjs';\r\nimport { catchError, map, startWith } from 'rxjs/operators';\r\nimport { ApolloCacheEx, extendCache } from './cacheEx';\r\nimport { QueryObservable } from './queryObservable';\r\nimport { toMutationResult, toQueryResult, toSubscriptionResult } from './result';\r\nimport type { DefaultOptions, MutationResult, QueryOptions, QueryResult, SubscriptionResult, WatchQueryOptions } from './types';\r\nimport { fromZenObservable } from './utils';\r\n\r\n@Injectable()\r\nexport class Apollo<TCacheShape = any> {\r\n /**\r\n * Instance of ApolloClient\r\n */\r\n public readonly client: ApolloClient<TCacheShape>;\r\n\r\n private readonly defaultOptions?: DefaultOptions;\r\n private readonly _cache: ApolloCacheEx<TCacheShape>;\r\n\r\n public constructor(client: ApolloClient<TCacheShape>, defaultOptions?: DefaultOptions) {\r\n this.client = client;\r\n this.defaultOptions = defaultOptions;\r\n this._cache = extendCache<TCacheShape>(client.cache);\r\n }\r\n\r\n public query<T = any, V extends Variables = Variables>(options: QueryOptions<V, T>): Observable<QueryResult<T>> {\r\n const { notifyOnLoading = false, throwError = true } = { ...this.defaultOptions?.query, ...options };\r\n return defer(() => this.client.query<T, V>(options)).pipe(\r\n map(result => toQueryResult(result)),\r\n (source => notifyOnLoading\r\n ? source.pipe(startWith<QueryResult<T>>({ loading: true, networkStatus: NetworkStatus.loading }))\r\n : source),\r\n (source => !throwError\r\n ? source.pipe(catchError((error: ApolloError) => of<QueryResult<T>>({ error, loading: false, networkStatus: NetworkStatus.error })))\r\n : source)\r\n );\r\n }\r\n\r\n public watchQuery<T = any, V extends Variables = Variables>(options: WatchQueryOptions<V, T>): QueryObservable<T, V> {\r\n const { notifyOnLoading, throwError } = { ...this.defaultOptions?.watchQuery, ...options };\r\n return new QueryObservable(this.client.watchQuery<T, V>(options), { notifyOnLoading, throwError });\r\n }\r\n\r\n public watchFragment<T = any, V extends Variables = Variables>(options: WatchFragmentOptions<T, V>): Observable<WatchFragmentResult<T>> {\r\n return fromZenObservable(this.client.watchFragment(options));\r\n }\r\n\r\n public mutate<T = any, V extends Variables = Variables>(options: MutationOptions<T, V>): Observable<MutationResult<T>> {\r\n return defer(() => this.client.mutate<T, V>(options)).pipe(\r\n map(result => toMutationResult(result))\r\n );\r\n }\r\n\r\n public subscribe<T = any, V extends Variables = Variables>(options: SubscriptionOptions<V, T>): Observable<SubscriptionResult<T>> {\r\n return defer(() => fromZenObservable(this.client.subscribe<T, V>(options))).pipe(\r\n map(result => toSubscriptionResult(result))\r\n );\r\n }\r\n\r\n public get cache(): ApolloCacheEx<TCacheShape> {\r\n return this._cache;\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ApolloClient, ApolloClientOptions, NormalizedCacheObject } from '@apollo/client/core';\r\n\r\nexport type ApolloClientFactory = (options: ApolloClientOptions<NormalizedCacheObject>) => ApolloClient<NormalizedCacheObject>;\r\n\r\nexport const APOLLO_CLIENT_FACTORY = new InjectionToken<ApolloClientFactory>('[apollo-orbit] client factory');\r\n\r\nexport const apolloClientFactory: ApolloClientFactory = (options: ApolloClientOptions<NormalizedCacheObject>): ApolloClient<NormalizedCacheObject> => {\r\n return new ApolloClient<NormalizedCacheObject>(options);\r\n};\r\n","import { Observable, OperatorFunction } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { MutationResult, QueryResult, SubscriptionResult } from './types';\r\n\r\nexport function mapQuery<T, R>(fn: (data: T) => R | undefined): OperatorFunction<QueryResult<T>, QueryResult<R>> {\r\n return (observable: Observable<QueryResult<T>>) => observable.pipe(\r\n map((result: QueryResult<T>): QueryResult<R> => {\r\n const { data, previousData, ...rest } = result;\r\n return {\r\n ...rest,\r\n data: data !== undefined ? fn(data) : undefined,\r\n previousData: previousData !== undefined ? fn(previousData) : undefined\r\n };\r\n })\r\n );\r\n}\r\n\r\nexport function mapMutation<T, R>(fn: (data: T) => R | undefined): OperatorFunction<MutationResult<T>, MutationResult<R>> {\r\n return (observable: Observable<MutationResult<T>>) => observable.pipe(\r\n map((result: MutationResult<T>): MutationResult<R> => {\r\n const { data, ...rest } = result;\r\n return {\r\n ...rest,\r\n data: data !== undefined ? fn(data) : undefined\r\n };\r\n })\r\n );\r\n}\r\n\r\nexport function mapSubscription<T, R>(fn: (data: T) => R | undefined): OperatorFunction<SubscriptionResult<T>, SubscriptionResult<R>> {\r\n return (observable: Observable<SubscriptionResult<T>>) => observable.pipe(\r\n map((result: SubscriptionResult<T>): SubscriptionResult<R> => {\r\n const { data, ...rest } = result;\r\n return {\r\n ...rest,\r\n data: data !== undefined ? fn(data) : undefined\r\n };\r\n })\r\n );\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { ApolloInstanceFactory } from './instanceFactory';\r\n\r\nexport const APOLLO_PROVIDED = new InjectionToken('[apollo-orbit] apollo provided');\r\nexport const APOLLO_MULTI_ROOT = new InjectionToken<boolean>('[apollo-orbit] multi root');\r\nexport const APOLLO_INSTANCE_FACTORY = new InjectionToken<ApolloInstanceFactory>('[apollo-orbit] apollo instance factory');\r\n","import { ENVIRONMENT_INITIALIZER, EnvironmentProviders, inject, InjectionToken, makeEnvironmentProviders, Provider, Type } from '@angular/core';\r\nimport { ApolloClient } from '@apollo/client/core';\r\nimport { Apollo } from './apollo';\r\nimport { APOLLO_CLIENT_FACTORY, apolloClientFactory } from './clientFactory';\r\nimport { ApolloInstanceFactory } from './instanceFactory';\r\nimport { APOLLO_INSTANCE_FACTORY, APOLLO_MULTI_ROOT, APOLLO_PROVIDED } from './tokens';\r\nimport { ApolloOptions, DefaultOptions } from './types';\r\n\r\nexport interface ApolloOrbitFeature {\r\n kind: `APOLLO_ORBIT_${string}`;\r\n providers: Array<Provider>;\r\n}\r\n\r\nexport const APOLLO_ORBIT_PROVIDERS: Array<Provider> = [\r\n [\r\n { provide: Apollo, useFactory: () => apolloFactory(null) }, // guard\r\n { provide: APOLLO_PROVIDED, useValue: true },\r\n { provide: APOLLO_INSTANCE_FACTORY, useFactory: apolloInstanceFactory },\r\n { provide: APOLLO_CLIENT_FACTORY, useValue: apolloClientFactory }\r\n ]\r\n];\r\n\r\nexport function withApolloOptions(options: ApolloOptions): ApolloOrbitFeature;\r\nexport function withApolloOptions(optionsFactory: () => ApolloOptions): ApolloOrbitFeature;\r\nexport function withApolloOptions(options: ApolloOptions | (() => ApolloOptions)): ApolloOrbitFeature {\r\n return {\r\n kind: 'APOLLO_ORBIT_OPTIONS',\r\n providers: getApolloInstanceProviders(Apollo, options)\r\n };\r\n}\r\n\r\nexport function provideApolloOrbit(...features: Array<ApolloOrbitFeature>): EnvironmentProviders {\r\n return makeEnvironmentProviders([\r\n ...APOLLO_ORBIT_PROVIDERS,\r\n features.map(({ providers }) => providers),\r\n { provide: ENVIRONMENT_INITIALIZER, multi: true, useFactory: () => apolloOrbitRootGuard }\r\n ]);\r\n}\r\n\r\nexport function provideApolloInstance(token: Type<unknown> | InjectionToken<Apollo>, options: ApolloOptions | (() => ApolloOptions)): EnvironmentProviders {\r\n return makeEnvironmentProviders(getApolloInstanceProviders(token, options));\r\n}\r\n\r\nfunction getApolloInstanceProviders(token: Type<unknown> | InjectionToken<Apollo<any>>, options: ApolloOptions<any> | (() => ApolloOptions)): Array<Provider> {\r\n return [\r\n typeof options === 'function'\r\n ? {\r\n provide: token,\r\n useFactory: () => apolloFactory(options())\r\n }\r\n : {\r\n provide: token,\r\n useFactory: () => apolloFactory(options)\r\n }\r\n ];\r\n}\r\n\r\nfunction apolloInstanceFactory(): ApolloInstanceFactory {\r\n return (_clientId: string, client: ApolloClient<any>, defaultOptions?: DefaultOptions): Apollo => new Apollo(client, defaultOptions);\r\n}\r\n\r\nfunction apolloFactory(options: ApolloOptions | null): Apollo {\r\n if (!options) throw new Error('withApolloOptions feature must be passed to provideApolloOrbit() before injecting Apollo');\r\n const { id = 'default', cache, defaultOptions, ...rest } = options;\r\n const createClient = inject(APOLLO_CLIENT_FACTORY);\r\n const client = createClient({ cache, defaultOptions, ...rest });\r\n return inject(APOLLO_INSTANCE_FACTORY)(id, client, defaultOptions);\r\n}\r\n\r\nfunction apolloOrbitRootGuard(): void {\r\n const isProvided = inject<boolean>(APOLLO_PROVIDED, { optional: true, skipSelf: true });\r\n const multiRoot = inject<boolean>(APOLLO_MULTI_ROOT, { optional: true });\r\n if (isProvided && multiRoot !== true) {\r\n throw new Error('provideApolloOrbit() has been called more than once. Consider calling provideStates() instead. Otherwise, you may provide APOLLO_MULTI_ROOT token.');\r\n }\r\n}\r\n","import { ApolloClientOptions, ApolloError, DefaultOptions as CoreDefaultOptions, QueryOptions as CoreQueryOptions, SubscribeToMoreOptions as CoreSubscribeToMoreOptions, WatchQueryOptions as CoreWatchQueryOptions, DocumentNode, NetworkStatus, TypedDocumentNode, OperationVariables as Variables } from '@apollo/client/core';\r\n\r\nexport interface ApolloOptions<TCacheShape = any> extends ApolloClientOptions<TCacheShape> {\r\n /**\r\n * Client identifier in a multi-client setup\r\n */\r\n id?: string;\r\n defaultOptions?: DefaultOptions;\r\n}\r\n\r\nexport interface DefaultOptions extends CoreDefaultOptions {\r\n watchQuery?: Partial<WatchQueryOptions>;\r\n query?: Partial<QueryOptions>;\r\n}\r\n\r\nexport interface WatchQueryOptions<V extends Variables = Variables, T = any> extends CoreWatchQueryOptions<V, T>, ExtraWatchQueryOptions { }\r\nexport interface QueryOptions<V extends Variables = Variables, T = any> extends CoreQueryOptions<V, T>, ExtraQueryOptions { }\r\n\r\nexport interface ExtraWatchQueryOptions {\r\n /**\r\n * Whether or not observers should receive initial network loading status when subscribing to this observable.\r\n * @default true\r\n */\r\n notifyOnLoading?: boolean;\r\n\r\n /**\r\n * Throw errors on the observable's error stream instead of assigning them to the error property of the result object.\r\n * @default false\r\n */\r\n throwError?: boolean;\r\n}\r\n\r\nexport interface ExtraQueryOptions {\r\n /**\r\n * Whether or not observers should receive initial network loading status when subscribing to this observable.\r\n * @default false\r\n */\r\n notifyOnLoading?: boolean;\r\n\r\n /**\r\n * Throw errors on the observable's error stream instead of assigning them to the error property of the result object.\r\n * @default true\r\n */\r\n throwError?: boolean;\r\n}\r\n\r\nexport interface SubscribeToMoreOptions<\r\n TData = any,\r\n TSubscriptionVariables = Variables,\r\n TSubscriptionData = TData\r\n> extends Omit<CoreSubscribeToMoreOptions<TData, TSubscriptionVariables, TSubscriptionData>, 'document'> {\r\n query: DocumentNode | TypedDocumentNode<TSubscriptionData, TSubscriptionVariables>;\r\n}\r\n\r\nexport interface Context extends Record<string, any> { }\r\n\r\nexport class PureQueryOptions<T = any, V = Variables, C = Context> {\r\n public constructor(\r\n public readonly query: TypedDocumentNode<T, V>,\r\n public readonly variables?: V,\r\n public readonly context?: C\r\n ) { }\r\n}\r\n\r\nexport class PureMutationOptions<T = any, V = Variables, C = Context> {\r\n public constructor(\r\n public readonly mutation: TypedDocumentNode<T, V>,\r\n public readonly variables?: V,\r\n public readonly context?: C\r\n ) { }\r\n}\r\n\r\nexport class PureSubscriptionOptions<T = any, V = Variables> {\r\n public constructor(\r\n public readonly query: TypedDocumentNode<T, V>,\r\n public readonly variables?: V\r\n ) { }\r\n}\r\n\r\nexport interface QueryResult<T = any> {\r\n data?: T;\r\n error?: ApolloError;\r\n loading: boolean;\r\n networkStatus: NetworkStatus;\r\n partial?: boolean;\r\n previousData?: T;\r\n}\r\n\r\nexport interface MutationResult<T = any, C = Context> {\r\n data?: T;\r\n error?: ApolloError;\r\n context?: C;\r\n extensions?: Record<string, any>;\r\n}\r\n\r\nexport interface SubscriptionResult<T = any, C = Context> {\r\n data?: T;\r\n error?: ApolloError;\r\n context?: C;\r\n extensions?: Record<string, any>;\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AA+BM,SAAU,WAAW,CAAc,KAA+B,EAAA;AACtE,IAAA,OAAO,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE;AACpC,QAAA,UAAU,EAAE;AACV,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,KAAK;AACpB,SAAA;AACF,KAAA,CAA+B,CAAC;AACnC,CAAC;AAED,SAAS,UAAU,CAEjB,OAAqC,EAAA;IAErC,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACxD,OAAO,IAAI,UAAU,CACnB,UAAU,IAAI,IAAI,CAAC,KAAK,CAAO;AAC7B,QAAA,GAAG,OAAO;QACV,UAAU;QACV,SAAS;QACT,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,KAAK,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC9E,KAAA,CAAC,CAAC,CAAC;AACR;;ACjDM,SAAU,aAAa,CAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAwB,EAAA;IAC1E,OAAO;AACL,QAAA,GAAG,MAAM;QACT,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;KAC5C,CAAC;AACJ,CAAC;AAEe,SAAA,gBAAgB,CAAO,WAA0C,EAAE,WAAyB,EAAA;IAC1G,WAAW,KAAK,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;AACjD,IAAA,MAAM,OAAO,GAAG,SAAS,IAAI,WAAW,GAAG,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3E,OAAO;QACL,IAAI,EAAE,IAAI,IAAI,SAAS;AACvB,QAAA,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC;QAC1C,OAAO;QACP,UAAU;KACX,CAAC;AACJ,CAAC;AAEK,SAAU,oBAAoB,CAAO,WAA8B,EAAA;AACvE,IAAA,OAAO,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,cAAc,CAAC,aAA+D,EAAE,WAAoC,EAAA;IAC3H,OAAO,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC,GAAG,WAAW,CAAC;AACtG;;ACvBM,MAAO,eAAuE,SAAQ,UAA8B,CAAA;AAIrG,IAAA,eAAA,CAAA;AAHX,IAAA,YAAY,CAAoB;IAExC,WACmB,CAAA,eAAmD,EACpE,EAAE,eAAe,GAAG,IAAI,EAAE,UAAU,GAAG,KAAK,EAA0B,EAAA;QAEtE,KAAK,CAAC,UAAU,IAAG;AACjB,YAAA,IAAI,YAAgD,CAAC;YAErD,IAAI,eAAe,EAAE;;;;AAInB,gBAAA,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC9C,gBAAA,MAAM,UAAU,GAAG,eAAe,CAAC,aAAa,EAAE,CAAC;gBACnD,IAAI,CAAC,UAAU,EAAE;AACf,oBAAA,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;oBAC9B,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;oBACpD,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,IAAI,IAAI,YAAY,CAAC;iBACxD;aACF;AAED,YAAA,MAAM,QAAQ,GAAuC;gBACnD,IAAI,EAAE,MAAK;AACT,oBAAA,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC9C,oBAAA,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;oBAC9B,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;oBACpD,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,IAAI,IAAI,YAAY,CAAC;iBACxD;gBACD,KAAK,EAAE,KAAK,IAAG;oBACb,YAAY,GAAG,SAAS,CAAC;oBACzB,IAAI,UAAU,EAAE;AACd,wBAAA,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;qBACzB;yBAAM;AACL,wBAAA,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC9C,wBAAA,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;wBAC9B,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;wBACpD,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,IAAI,IAAI,YAAY,CAAC;AACvD,wBAAA,YAAY,GAAG,eAAe,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;qBAChE;iBACF;gBACD,QAAQ,EAAE,MAAK;oBACb,YAAY,GAAG,SAAS,CAAC;oBACzB,UAAU,CAAC,QAAQ,EAAE,CAAC;iBACvB;aACF,CAAC;AAEF,YAAA,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEnD,YAAA,OAAO,MAAM,YAAY,EAAE,WAAW,EAAE,CAAC;AAC3C,SAAC,CAAC,CAAC;QA/Cc,IAAe,CAAA,eAAA,GAAf,eAAe,CAAoC;KAgDrE;AAED,IAAA,IAAW,KAAK,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;KACnC;AAED,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;KACvC;AAED,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;KACrC;AAED,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;KACrC;AAED,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;KACvC;IAEM,MAAM,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;KACtC;IAEM,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,EAAA;QAC7C,OAAO,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC;KAC/E;;;IAIM,yBAAyB,CAAC,SAAmC,EAAE,SAAsB,EAAA;QAC1F,OAAO,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;KAC7E;AAEM,IAAA,aAAa,CAAC,kBAA4B,EAAA;QAC/C,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;KAC/D;AAEM,IAAA,YAAY,CAAC,kBAA4B,EAAA;QAC9C,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;KAC9D;IAEM,gBAAgB,GAAA;AACrB,QAAA,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;KACzC;IAEM,qBAAqB,GAAA;AAC1B,QAAA,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC;KAC9C;AAED;;;;;;AAMG;AACI,IAAA,OAAO,CAAC,SAA+B,EAAA;QAC5C,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KAChD;AAEM,IAAA,SAAS,CAId,gBAUG,EAAA;QAEH,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;KACzD;AAEM,IAAA,eAAe,CAIpB,OAIC,EAAA;QAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;AAC7C,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;KACpE;AAEM,IAAA,UAAU,CAAC,UAA6D,EAAA;QAC7E,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;KACpD;AAEM,IAAA,gBAAgB,CAAC,UAA6D,EAAA;AACnF,QAAA,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;KACnD;AAED;;;;;;;;;;;;;;;;;;;AAmBG;AACI,IAAA,YAAY,CAAC,SAAqB,EAAA;QACvC,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;KACrD;AAEM,IAAA,WAAW,CAChB,KAGU,EAAA;QAEV,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KAChD;AAEM,IAAA,YAAY,CAAC,YAAoB,EAAA;AACtC,QAAA,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;KACjD;IAEM,WAAW,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;KAC3C;IAEM,kBAAkB,CACvB,UAA8D,EAC9D,gBAAgC,EAAA;QAEhC,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;KAC9E;IAEM,SAAS,CACd,UAA8D,EAC9D,gBAAgC,EAAA;QAEhC,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;KACrE;IAYM,qBAAqB,CAAC,GAAG,IAAuB,EAAA;QACrD,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,CAAC;KAC5D;IAEM,YAAY,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KAC5C;AACF;;ACvOM,MAAM,iBAAiB,GAAG,CAAI,MAAwB,KAAoB,IAAI,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;ACH9H;MAYa,MAAM,CAAA;AACjB;;AAEG;AACa,IAAA,MAAM,CAA4B;AAEjC,IAAA,cAAc,CAAkB;AAChC,IAAA,MAAM,CAA6B;IAEpD,WAAmB,CAAA,MAAiC,EAAE,cAA+B,EAAA;AACnF,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACrB,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAc,MAAM,CAAC,KAAK,CAAC,CAAC;KACtD;AAEM,IAAA,KAAK,CAA2C,OAA2B,EAAA;QAChF,MAAM,EAAE,eAAe,GAAG,KAAK,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC;AACrG,QAAA,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CACvD,GAAG,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,GACnC,MAAM,IAAI,eAAe;AACxB,cAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAiB,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;cAC/F,MAAM,IACT,MAAM,IAAI,CAAC,UAAU;AACpB,cAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAkB,KAAK,EAAE,CAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACpI,cAAE,MAAM,EACX,CAAC;KACH;AAEM,IAAA,UAAU,CAA2C,OAAgC,EAAA;AAC1F,QAAA,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;AAC3F,QAAA,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAO,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;KACpG;AAEM,IAAA,aAAa,CAA2C,OAAmC,EAAA;QAChG,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;KAC9D;AAEM,IAAA,MAAM,CAA2C,OAA8B,EAAA;AACpF,QAAA,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CACxD,GAAG,CAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CACxC,CAAC;KACH;AAEM,IAAA,SAAS,CAA2C,OAAkC,EAAA;AAC3F,QAAA,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAO,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAC9E,GAAG,CAAC,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAC5C,CAAC;KACH;AAED,IAAA,IAAW,KAAK,GAAA;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;uGAnDU,MAAM,EAAA,IAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;2GAAN,MAAM,EAAA,CAAA,CAAA;;2FAAN,MAAM,EAAA,UAAA,EAAA,CAAA;kBADlB,UAAU;;;MCNE,qBAAqB,GAAG,IAAI,cAAc,CAAsB,+BAA+B,EAAE;AAEvG,MAAM,mBAAmB,GAAwB,CAAC,OAAmD,KAAyC;AACjJ,IAAA,OAAO,IAAI,YAAY,CAAwB,OAAO,CAAC,CAAC;AAC5D,CAAC;;ACLK,SAAU,QAAQ,CAAO,EAA8B,EAAA;AACzD,IAAA,OAAO,CAAC,UAAsC,KAAK,UAAU,CAAC,IAAI,CAC9D,GAAG,CAAC,CAAC,MAAsB,KAAoB;QAC3C,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAC/C,OAAO;AACH,YAAA,GAAG,IAAI;AACP,YAAA,IAAI,EAAE,IAAI,KAAK,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,SAAS;AAC/C,YAAA,YAAY,EAAE,YAAY,KAAK,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,SAAS;SAC1E,CAAC;KACL,CAAC,CACL,CAAC;AACN,CAAC;AAEK,SAAU,WAAW,CAAO,EAA8B,EAAA;AAC5D,IAAA,OAAO,CAAC,UAAyC,KAAK,UAAU,CAAC,IAAI,CACjE,GAAG,CAAC,CAAC,MAAyB,KAAuB;QACjD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACjC,OAAO;AACH,YAAA,GAAG,IAAI;AACP,YAAA,IAAI,EAAE,IAAI,KAAK,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,SAAS;SAClD,CAAC;KACL,CAAC,CACL,CAAC;AACN,CAAC;AAEK,SAAU,eAAe,CAAO,EAA8B,EAAA;AAChE,IAAA,OAAO,CAAC,UAA6C,KAAK,UAAU,CAAC,IAAI,CACrE,GAAG,CAAC,CAAC,MAA6B,KAA2B;QACzD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACjC,OAAO;AACH,YAAA,GAAG,IAAI;AACP,YAAA,IAAI,EAAE,IAAI,KAAK,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,SAAS;SAClD,CAAC;KACL,CAAC,CACL,CAAC;AACN;;ACpCO,MAAM,eAAe,GAAG,IAAI,cAAc,CAAC,gCAAgC,CAAC,CAAC;MACvE,iBAAiB,GAAG,IAAI,cAAc,CAAU,2BAA2B,EAAE;MAC7E,uBAAuB,GAAG,IAAI,cAAc,CAAwB,wCAAwC;;ACQlH,MAAM,sBAAsB,GAAoB;AACrD,IAAA;AACE,QAAA,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC,EAAE;AAC1D,QAAA,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;AAC5C,QAAA,EAAE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,qBAAqB,EAAE;AACvE,QAAA,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,mBAAmB,EAAE;AAClE,KAAA;CACF,CAAC;AAII,SAAU,iBAAiB,CAAC,OAA8C,EAAA;IAC9E,OAAO;AACL,QAAA,IAAI,EAAE,sBAAsB;AAC5B,QAAA,SAAS,EAAE,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC;KACvD,CAAC;AACJ,CAAC;AAEe,SAAA,kBAAkB,CAAC,GAAG,QAAmC,EAAA;AACvE,IAAA,OAAO,wBAAwB,CAAC;AAC9B,QAAA,GAAG,sBAAsB;QACzB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,SAAS,CAAC;AAC1C,QAAA,EAAE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,oBAAoB,EAAE;AAC1F,KAAA,CAAC,CAAC;AACL,CAAC;AAEe,SAAA,qBAAqB,CAAC,KAA6C,EAAE,OAA8C,EAAA;IACjI,OAAO,wBAAwB,CAAC,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAkD,EAAE,OAAmD,EAAA;IACzI,OAAO;QACL,OAAO,OAAO,KAAK,UAAU;AAC3B,cAAE;AACA,gBAAA,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;AAC3C,aAAA;AACD,cAAE;AACA,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,UAAU,EAAE,MAAM,aAAa,CAAC,OAAO,CAAC;AACzC,aAAA;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,GAAA;AAC5B,IAAA,OAAO,CAAC,SAAiB,EAAE,MAAyB,EAAE,cAA+B,KAAa,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AACvI,CAAC;AAED,SAAS,aAAa,CAAC,OAA6B,EAAA;AAClD,IAAA,IAAI,CAAC,OAAO;AAAE,QAAA,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;AAC1H,IAAA,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;AACnE,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACnD,IAAA,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC,uBAAuB,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,oBAAoB,GAAA;AAC3B,IAAA,MAAM,UAAU,GAAG,MAAM,CAAU,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACxF,IAAA,MAAM,SAAS,GAAG,MAAM,CAAU,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACzE,IAAA,IAAI,UAAU,IAAI,SAAS,KAAK,IAAI,EAAE;AACpC,QAAA,MAAM,IAAI,KAAK,CAAC,oJAAoJ,CAAC,CAAC;KACvK;AACH;;MCnBa,gBAAgB,CAAA;AAET,IAAA,KAAA,CAAA;AACA,IAAA,SAAA,CAAA;AACA,IAAA,OAAA,CAAA;AAHlB,IAAA,WAAA,CACkB,KAA8B,EAC9B,SAAa,EACb,OAAW,EAAA;QAFX,IAAK,CAAA,KAAA,GAAL,KAAK,CAAyB;QAC9B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAI;QACb,IAAO,CAAA,OAAA,GAAP,OAAO,CAAI;KACxB;AACN,CAAA;MAEY,mBAAmB,CAAA;AAEZ,IAAA,QAAA,CAAA;AACA,IAAA,SAAA,CAAA;AACA,IAAA,OAAA,CAAA;AAHlB,IAAA,WAAA,CACkB,QAAiC,EACjC,SAAa,EACb,OAAW,EAAA;QAFX,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAyB;QACjC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAI;QACb,IAAO,CAAA,OAAA,GAAP,OAAO,CAAI;KACxB;AACN,CAAA;MAEY,uBAAuB,CAAA;AAEhB,IAAA,KAAA,CAAA;AACA,IAAA,SAAA,CAAA;IAFlB,WACkB,CAAA,KAA8B,EAC9B,SAAa,EAAA;QADb,IAAK,CAAA,KAAA,GAAL,KAAK,CAAyB;QAC9B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAI;KAC1B;AACN;;AC7ED;;AAEG;;;;"}